@remnic/core 9.3.714 → 9.3.715

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.
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { g as EngramAccessService } from './access-service-lddjZoRh.js';
2
+ import { g as EngramAccessService } from './access-service-GgnA--CE.js';
3
3
  import './catalog-CbR0CsUw.js';
4
4
  import './types-D9dwzU_x.js';
5
5
  import './types-gb_SNtjR.js';
@@ -21,7 +21,7 @@ import './memory-provenance.js';
21
21
  import './user-model.js';
22
22
  import './recall-audit-anomaly.js';
23
23
  import './recall-audit.js';
24
- import './orchestrator-iVZWi8aW.js';
24
+ import './orchestrator-BOaVstFG.js';
25
25
  import './briefing.js';
26
26
  import './buffer.js';
27
27
  import './extraction-faithfulness.js';
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Orchestrator
3
- } from "./chunk-FXZKXW7C.js";
3
+ } from "./chunk-YUJL27ET.js";
4
4
  import "./chunk-DGTDRIUO.js";
5
5
  import "./chunk-O62P2LFL.js";
6
6
  import "./chunk-7HYPN2GC.js";
@@ -1,5 +1,5 @@
1
1
  import { IncomingMessage } from 'node:http';
2
- import { g as EngramAccessService } from './access-service-lddjZoRh.js';
2
+ import { g as EngramAccessService } from './access-service-GgnA--CE.js';
3
3
  import { ResolvedIdentity } from './adapters/types.js';
4
4
  import { AdapterRegistry } from './adapters/registry.js';
5
5
  import './catalog-CbR0CsUw.js';
@@ -23,7 +23,7 @@ import './memory-provenance.js';
23
23
  import './user-model.js';
24
24
  import './recall-audit-anomaly.js';
25
25
  import './recall-audit.js';
26
- import './orchestrator-iVZWi8aW.js';
26
+ import './orchestrator-BOaVstFG.js';
27
27
  import './briefing.js';
28
28
  import './buffer.js';
29
29
  import './extraction-faithfulness.js';
@@ -1,5 +1,5 @@
1
1
  import { Readable, Writable } from 'node:stream';
2
- import { g as EngramAccessService } from './access-service-lddjZoRh.js';
2
+ import { g as EngramAccessService } from './access-service-GgnA--CE.js';
3
3
  import './catalog-CbR0CsUw.js';
4
4
  import './types-D9dwzU_x.js';
5
5
  import './types-gb_SNtjR.js';
@@ -21,7 +21,7 @@ import './memory-provenance.js';
21
21
  import './user-model.js';
22
22
  import './recall-audit-anomaly.js';
23
23
  import './recall-audit.js';
24
- import './orchestrator-iVZWi8aW.js';
24
+ import './orchestrator-BOaVstFG.js';
25
25
  import './briefing.js';
26
26
  import './buffer.js';
27
27
  import './extraction-faithfulness.js';
@@ -1,6 +1,6 @@
1
1
  import { OperationName, BoundOperation } from './access-boundary.js';
2
2
  import { MemoryStoreRequest } from './access-schema.js';
3
- import { A as ArchitectureSurfaceRequest, a as ArchitectureSurfaceResponse, D as DecisionSurfaceRequest, b as DecisionSurfaceResponse, c as DeltaSurfaceRequest, d as DeltaSurfaceResponse, E as EngramAccessMemoryResponse, e as EngramAccessWriteResponse, C as CodegraphSurfaceRequest, f as CodegraphSurfaceResponse } from './access-service-lddjZoRh.js';
3
+ import { A as ArchitectureSurfaceRequest, a as ArchitectureSurfaceResponse, D as DecisionSurfaceRequest, b as DecisionSurfaceResponse, c as DeltaSurfaceRequest, d as DeltaSurfaceResponse, E as EngramAccessMemoryResponse, e as EngramAccessWriteResponse, C as CodegraphSurfaceRequest, f as CodegraphSurfaceResponse } from './access-service-GgnA--CE.js';
4
4
  import 'zod';
5
5
  import './catalog-CbR0CsUw.js';
6
6
  import './types-D9dwzU_x.js';
@@ -23,7 +23,7 @@ import './memory-provenance.js';
23
23
  import './user-model.js';
24
24
  import './recall-audit-anomaly.js';
25
25
  import './recall-audit.js';
26
- import './orchestrator-iVZWi8aW.js';
26
+ import './orchestrator-BOaVstFG.js';
27
27
  import './briefing.js';
28
28
  import './buffer.js';
29
29
  import './extraction-faithfulness.js';
@@ -4,7 +4,7 @@ import { StorageManager } from './storage.js';
4
4
  import { a as Peer, b as PeerProfile } from './types-B1VHaf2w.js';
5
5
  import { RecallExplainJsonPayload } from './recall-explain-renderer.js';
6
6
  import { AnomalyDetectorResult } from './recall-audit-anomaly.js';
7
- import { O as Orchestrator, I as IntentDebugSnapshot, G as GraphRecallSnapshot, P as PatternReinforcementResult, W as WearablesService } from './orchestrator-iVZWi8aW.js';
7
+ import { O as Orchestrator, I as IntentDebugSnapshot, G as GraphRecallSnapshot, P as PatternReinforcementResult, W as WearablesService } from './orchestrator-BOaVstFG.js';
8
8
  import { ExplicitCaptureInput } from './explicit-capture.js';
9
9
  import { BudgetDecision } from './cross-namespace-budget.js';
10
10
  import { readMemoryGovernanceRunArtifact } from './maintenance/memory-governance.js';
@@ -1,10 +1,10 @@
1
- export { o as CodingScopedWriteInput, p as ENGRAM_ACCESS_WRITE_SCHEMA_VERSION, q as EngramAccessActionConfidenceRequest, r as EngramAccessActionConfidenceResponse, s as EngramAccessBriefingRequest, t as EngramAccessBriefingResponse, u as EngramAccessCapsuleListResponse, v as EngramAccessDaySummaryRequest, w as EngramAccessEntityListResponse, x as EngramAccessEntityResponse, y as EngramAccessEntitySummary, z as EngramAccessHealthResponse, i as EngramAccessInputError, B as EngramAccessLcmCompactionFlushRequest, F as EngramAccessLcmCompactionFlushResponse, G as EngramAccessLcmCompactionRecordRequest, H as EngramAccessLcmCompactionRecordResponse, I as EngramAccessLcmSearchRequest, J as EngramAccessLcmSearchResponse, K as EngramAccessLcmStatusResponse, L as EngramAccessMaintenanceResponse, M as EngramAccessMemoryBrowseRequest, N as EngramAccessMemoryBrowseResponse, O as EngramAccessMemoryRecord, E as EngramAccessMemoryResponse, Q as EngramAccessMemoryStoreRequest, R as EngramAccessMemorySummary, S as EngramAccessObserveMessage, T as EngramAccessObserveRequest, U as EngramAccessObserveResponse, V as EngramAccessOfflineSyncApplyFileContentRequest, W as EngramAccessOfflineSyncApplyFileContentResponse, X as EngramAccessOfflineSyncApplyRequest, Y as EngramAccessOfflineSyncApplyResponse, Z as EngramAccessOfflineSyncFileContentRequest, _ as EngramAccessOfflineSyncFileContentResponse, $ as EngramAccessOfflineSyncFilesRequest, a0 as EngramAccessOfflineSyncFilesResponse, a1 as EngramAccessOfflineSyncSnapshotRequest, a2 as EngramAccessOfflineSyncSnapshotResponse, a3 as EngramAccessOfflineSyncSnapshotStreamResponse, a4 as EngramAccessQmdCollectionState, a5 as EngramAccessQmdHealthResponse, a6 as EngramAccessQualityResponse, a7 as EngramAccessRecallExplainRequest, a8 as EngramAccessRecallExplainResponse, a9 as EngramAccessRecallRequest, h as EngramAccessRecallResponse, aa as EngramAccessReviewDispositionRequest, ab as EngramAccessReviewDispositionResponse, ac as EngramAccessReviewQueueResponse, ad as EngramAccessScopeDebug, g as EngramAccessService, ae as EngramAccessSetCodingContextRequest, af as EngramAccessSuggestionSubmitRequest, ag as EngramAccessTimelineResponse, ah as EngramAccessTrustZoneBrowseRequest, ai as EngramAccessTrustZoneBrowseResponse, aj as EngramAccessTrustZoneDemoSeedRequest, ak as EngramAccessTrustZoneDemoSeedResponse, al as EngramAccessTrustZonePromoteRequest, am as EngramAccessTrustZonePromoteResponse, an as EngramAccessTrustZoneRecordSummary, ao as EngramAccessTrustZoneStatusResponse, ap as EngramAccessWriteEnvelope, e as EngramAccessWriteResponse, aq as MemoryScopePlan, ar as shapeMemorySummary } from './access-service-lddjZoRh.js';
1
+ export { o as CodingScopedWriteInput, p as ENGRAM_ACCESS_WRITE_SCHEMA_VERSION, q as EngramAccessActionConfidenceRequest, r as EngramAccessActionConfidenceResponse, s as EngramAccessBriefingRequest, t as EngramAccessBriefingResponse, u as EngramAccessCapsuleListResponse, v as EngramAccessDaySummaryRequest, w as EngramAccessEntityListResponse, x as EngramAccessEntityResponse, y as EngramAccessEntitySummary, z as EngramAccessHealthResponse, i as EngramAccessInputError, B as EngramAccessLcmCompactionFlushRequest, F as EngramAccessLcmCompactionFlushResponse, G as EngramAccessLcmCompactionRecordRequest, H as EngramAccessLcmCompactionRecordResponse, I as EngramAccessLcmSearchRequest, J as EngramAccessLcmSearchResponse, K as EngramAccessLcmStatusResponse, L as EngramAccessMaintenanceResponse, M as EngramAccessMemoryBrowseRequest, N as EngramAccessMemoryBrowseResponse, O as EngramAccessMemoryRecord, E as EngramAccessMemoryResponse, Q as EngramAccessMemoryStoreRequest, R as EngramAccessMemorySummary, S as EngramAccessObserveMessage, T as EngramAccessObserveRequest, U as EngramAccessObserveResponse, V as EngramAccessOfflineSyncApplyFileContentRequest, W as EngramAccessOfflineSyncApplyFileContentResponse, X as EngramAccessOfflineSyncApplyRequest, Y as EngramAccessOfflineSyncApplyResponse, Z as EngramAccessOfflineSyncFileContentRequest, _ as EngramAccessOfflineSyncFileContentResponse, $ as EngramAccessOfflineSyncFilesRequest, a0 as EngramAccessOfflineSyncFilesResponse, a1 as EngramAccessOfflineSyncSnapshotRequest, a2 as EngramAccessOfflineSyncSnapshotResponse, a3 as EngramAccessOfflineSyncSnapshotStreamResponse, a4 as EngramAccessQmdCollectionState, a5 as EngramAccessQmdHealthResponse, a6 as EngramAccessQualityResponse, a7 as EngramAccessRecallExplainRequest, a8 as EngramAccessRecallExplainResponse, a9 as EngramAccessRecallRequest, h as EngramAccessRecallResponse, aa as EngramAccessReviewDispositionRequest, ab as EngramAccessReviewDispositionResponse, ac as EngramAccessReviewQueueResponse, ad as EngramAccessScopeDebug, g as EngramAccessService, ae as EngramAccessSetCodingContextRequest, af as EngramAccessSuggestionSubmitRequest, ag as EngramAccessTimelineResponse, ah as EngramAccessTrustZoneBrowseRequest, ai as EngramAccessTrustZoneBrowseResponse, aj as EngramAccessTrustZoneDemoSeedRequest, ak as EngramAccessTrustZoneDemoSeedResponse, al as EngramAccessTrustZonePromoteRequest, am as EngramAccessTrustZonePromoteResponse, an as EngramAccessTrustZoneRecordSummary, ao as EngramAccessTrustZoneStatusResponse, ap as EngramAccessWriteEnvelope, e as EngramAccessWriteResponse, aq as MemoryScopePlan, ar as shapeMemorySummary } from './access-service-GgnA--CE.js';
2
2
  import './storage.js';
3
3
  import './types-B1VHaf2w.js';
4
4
  import './recall-explain-renderer.js';
5
5
  import './types-D9dwzU_x.js';
6
6
  import './recall-audit-anomaly.js';
7
- import './orchestrator-iVZWi8aW.js';
7
+ import './orchestrator-BOaVstFG.js';
8
8
  import './explicit-capture.js';
9
9
  import './cross-namespace-budget.js';
10
10
  import './maintenance/memory-governance.js';
@@ -1,6 +1,6 @@
1
1
  import { OperationName } from './access-boundary.js';
2
2
  import 'zod';
3
- import './access-service-lddjZoRh.js';
3
+ import './access-service-GgnA--CE.js';
4
4
  import './catalog-CbR0CsUw.js';
5
5
  import './types-D9dwzU_x.js';
6
6
  import './types-gb_SNtjR.js';
@@ -22,7 +22,7 @@ import './memory-provenance.js';
22
22
  import './user-model.js';
23
23
  import './recall-audit-anomaly.js';
24
24
  import './recall-audit.js';
25
- import './orchestrator-iVZWi8aW.js';
25
+ import './orchestrator-BOaVstFG.js';
26
26
  import './briefing.js';
27
27
  import './buffer.js';
28
28
  import './extraction-faithfulness.js';
@@ -1,5 +1,5 @@
1
1
  import { P as PluginConfig } from './types-D9dwzU_x.js';
2
- import { O as Orchestrator } from './orchestrator-iVZWi8aW.js';
2
+ import { O as Orchestrator } from './orchestrator-BOaVstFG.js';
3
3
  import './types-gb_SNtjR.js';
4
4
  import './message-parts/index.js';
5
5
  import './briefing.js';
@@ -2300,7 +2300,10 @@ function resolveRecentThreadMemoryPaths(options) {
2300
2300
  if (options.threadEpisodeIds.length === 0 || maxRecent === 0) return [];
2301
2301
  const pathById = options.pathById ?? buildMemoryPathById(options.allMemsForGraph, options.storageDir);
2302
2302
  if (pathById.size === 0) return [];
2303
- return options.threadEpisodeIds.filter((id) => id !== options.currentMemoryId).slice(-maxRecent).map((id) => pathById.get(id)).filter((p) => typeof p === "string" && p.length > 0);
2303
+ const pendingReviewIds = new Set(
2304
+ (options.allMemsForGraph ?? []).filter((m) => m.frontmatter.status === "pending_review" && m.frontmatter.id).map((m) => m.frontmatter.id)
2305
+ );
2306
+ return options.threadEpisodeIds.filter((id) => id !== options.currentMemoryId).filter((id) => !pendingReviewIds.has(id)).slice(-maxRecent).map((id) => pathById.get(id)).filter((p) => typeof p === "string" && p.length > 0);
2304
2307
  }
2305
2308
  function buildMemoryPathById(allMemsForGraph, storageDir) {
2306
2309
  const pathById = /* @__PURE__ */ new Map();
@@ -2393,6 +2396,11 @@ var Orchestrator = class _Orchestrator {
2393
2396
  * callers already destructure `persistedIds` by position.
2394
2397
  */
2395
2398
  lastPersistExtractionDeferredCount = 0;
2399
+ /**
2400
+ * Side-channel (#1635): pending_review persisted ids from the last
2401
+ * persistExtraction; runExtraction excludes them from the thread episode set.
2402
+ */
2403
+ lastPersistExtractionPendingReviewIds = [];
2396
2404
  _fastGatewayLlm;
2397
2405
  get fastGatewayLlm() {
2398
2406
  return this._fastGatewayLlm;
@@ -10917,17 +10925,10 @@ ${normalized}`).digest("hex");
10917
10925
  );
10918
10926
  }
10919
10927
  if (this.config.threadingEnabled && threadIdForExtraction && persistedIds.length > 0) {
10920
- try {
10921
- await this.threading.appendEpisodeIds(
10922
- threadIdForExtraction,
10923
- persistedIds
10924
- );
10925
- } catch (err) {
10926
- log.warn(
10927
- "[threading] appendEpisodeIds failed after persistence (non-fatal)",
10928
- err
10929
- );
10930
- }
10928
+ await this.appendPersistedThreadEpisodes(
10929
+ threadIdForExtraction,
10930
+ persistedIds
10931
+ );
10931
10932
  }
10932
10933
  if (this.config.threadingEnabled && threadIdForExtraction) {
10933
10934
  const conversationContent = turns.map((t) => t.content).join(" ");
@@ -11193,13 +11194,17 @@ ${normalized}`).digest("hex");
11193
11194
  };
11194
11195
  return attachCitation(content, citationContext, citationTemplate);
11195
11196
  };
11196
- const supersessionOrderingAt = (validAt) => validAt && validAt.length > 0 ? validAt : (/* @__PURE__ */ new Date()).toISOString();
11197
11197
  const persistedIds = [];
11198
+ const supersessionOrderingAt = (validAt) => validAt && validAt.length > 0 ? validAt : (/* @__PURE__ */ new Date()).toISOString();
11199
+ const pendingReviewPersistedIds = [];
11198
11200
  const persistedIdsByStorage = /* @__PURE__ */ new Map();
11199
11201
  const trackPersistedId = (targetStorage, id, options = {}) => {
11200
11202
  if (options.includeReturnedIds !== false) {
11201
11203
  persistedIds.push(id);
11202
11204
  }
11205
+ if (options.pendingReview) {
11206
+ pendingReviewPersistedIds.push(id);
11207
+ }
11203
11208
  const key = targetStorage.dir;
11204
11209
  const existing = persistedIdsByStorage.get(key);
11205
11210
  if (existing) {
@@ -12032,7 +12037,9 @@ ${normalized}`).digest("hex");
12032
12037
  log.debug(
12033
12038
  `chunked memory ${parentId} into ${chunkResult.chunks.length} chunks`
12034
12039
  );
12035
- trackPersistedId(targetStorage, parentId);
12040
+ trackPersistedId(targetStorage, parentId, {
12041
+ pendingReview: faithfulnessEnforceStatus === "pending_review"
12042
+ });
12036
12043
  if (faithfulnessEnforceStatus !== "pending_review" && threadEpisodeIdsForGraph && !threadEpisodeIdsForGraph.includes(parentId)) {
12037
12044
  threadEpisodeIdsForGraph.push(parentId);
12038
12045
  }
@@ -12230,7 +12237,9 @@ ${normalized}`).digest("hex");
12230
12237
  source: "extraction"
12231
12238
  })
12232
12239
  );
12233
- trackPersistedId(targetStorage, memoryId);
12240
+ trackPersistedId(targetStorage, memoryId, {
12241
+ pendingReview: faithfulnessEnforceStatus === "pending_review"
12242
+ });
12234
12243
  if (faithfulnessEnforceStatus !== "pending_review" && threadEpisodeIdsForGraph && !threadEpisodeIdsForGraph.includes(memoryId)) {
12235
12244
  threadEpisodeIdsForGraph.push(memoryId);
12236
12245
  }
@@ -12441,8 +12450,27 @@ ${normalized}`).digest("hex");
12441
12450
  })().catch(
12442
12451
  (err) => log.debug(`temporal-index update error (non-fatal): ${err}`)
12443
12452
  );
12453
+ this.lastPersistExtractionPendingReviewIds = pendingReviewPersistedIds;
12444
12454
  return persistedIds;
12445
12455
  }
12456
+ /**
12457
+ * Append persisted ids to the thread episode set, excluding pending_review
12458
+ * fact ids (#1635) so they don't re-seed predecessor edges. Fail-open like
12459
+ * the raw appendEpisodeIds call it replaces.
12460
+ */
12461
+ async appendPersistedThreadEpisodes(threadId, persistedIds) {
12462
+ const pendingReviewIds = this.lastPersistExtractionPendingReviewIds ?? [];
12463
+ const episodeIds = pendingReviewIds.length > 0 ? persistedIds.filter((id) => !pendingReviewIds.includes(id)) : persistedIds;
12464
+ if (episodeIds.length === 0) return;
12465
+ try {
12466
+ await this.threading.appendEpisodeIds(threadId, episodeIds);
12467
+ } catch (err) {
12468
+ log.warn(
12469
+ "[threading] appendEpisodeIds failed after persistence (non-fatal)",
12470
+ err
12471
+ );
12472
+ }
12473
+ }
12446
12474
  async indexPersistedMemory(storage, memoryId) {
12447
12475
  if (!this.config.embeddingFallbackEnabled) return;
12448
12476
  if (!await this.embeddingFallback.isAvailable()) return;
@@ -15409,4 +15437,4 @@ export {
15409
15437
  resolvePersistedMemoryRelativePath,
15410
15438
  Orchestrator
15411
15439
  };
15412
- //# sourceMappingURL=chunk-FXZKXW7C.js.map
15440
+ //# sourceMappingURL=chunk-YUJL27ET.js.map