@remnic/core 9.69.52 → 9.69.54

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.
Files changed (146) hide show
  1. package/dist/access-admin-ops-surface.d.ts +1 -1
  2. package/dist/access-admin-ops-surface.js +4 -4
  3. package/dist/access-authorization-probe.d.ts +1 -1
  4. package/dist/access-authorization-probe.js +5 -5
  5. package/dist/access-boundary.d.ts +1 -1
  6. package/dist/access-boundary.js +4 -4
  7. package/dist/access-cli.js +23 -23
  8. package/dist/access-extraction-force-flush.d.ts +1 -1
  9. package/dist/access-extraction-force-flush.js +4 -4
  10. package/dist/access-http-briefing.d.ts +1 -1
  11. package/dist/access-http-briefing.js +5 -5
  12. package/dist/access-http-lcm-compaction.d.ts +1 -1
  13. package/dist/access-http-lifecycle-flush.d.ts +1 -1
  14. package/dist/access-http-offline-stream.d.ts +1 -1
  15. package/dist/access-http-query.js +4 -4
  16. package/dist/access-http.d.ts +2 -2
  17. package/dist/access-http.js +16 -16
  18. package/dist/access-identity-continuity-surface.js +4 -4
  19. package/dist/access-lcm-surface.d.ts +1 -1
  20. package/dist/access-lcm-surface.js +4 -4
  21. package/dist/access-mcp-shared-context-tools.d.ts +1 -1
  22. package/dist/access-mcp.d.ts +1 -1
  23. package/dist/access-mcp.js +11 -11
  24. package/dist/access-namespace-preflight.js +4 -4
  25. package/dist/access-observe-write-surface.d.ts +1 -1
  26. package/dist/access-observe-write-surface.js +4 -4
  27. package/dist/access-operations-batch.js +5 -5
  28. package/dist/access-operations.d.ts +1 -1
  29. package/dist/access-operations.js +10 -10
  30. package/dist/access-recall-concurrency.d.ts +1 -1
  31. package/dist/access-recall-concurrency.js +4 -4
  32. package/dist/access-recall-response.d.ts +1 -1
  33. package/dist/access-recall-response.js +4 -4
  34. package/dist/access-recall-surface.d.ts +1 -1
  35. package/dist/access-recall-surface.js +4 -4
  36. package/dist/access-schema.d.ts +113 -113
  37. package/dist/{access-service-CUNM5RfA.d.ts → access-service-H-qEdnSs.d.ts} +64 -64
  38. package/dist/access-service-helpers.d.ts +1 -1
  39. package/dist/access-service.d.ts +1 -1
  40. package/dist/access-service.js +4 -4
  41. package/dist/access-surface-catalog.d.ts +1 -1
  42. package/dist/access-surface-catalog.js +6 -6
  43. package/dist/active-recall.js +1 -1
  44. package/dist/{chunk-TEQQQTQS.js → chunk-2HJKAVAS.js} +2 -2
  45. package/dist/{chunk-SEQ6DWXD.js → chunk-5IKW2VP6.js} +2 -2
  46. package/dist/{chunk-HWT6KRGS.js → chunk-6UEM5EOB.js} +2 -2
  47. package/dist/{chunk-UCY4EHAG.js → chunk-A4TQFNRX.js} +3 -3
  48. package/dist/{chunk-72N2P44O.js → chunk-ARRKSBQU.js} +2 -2
  49. package/dist/{chunk-WBW34YCJ.js → chunk-BCXZ4BDS.js} +2 -2
  50. package/dist/{chunk-V5BU5PVE.js → chunk-CO7KBRPF.js} +2 -2
  51. package/dist/{chunk-HG42J2EX.js → chunk-EQNZC3BH.js} +2 -2
  52. package/dist/{chunk-35EH6KW4.js → chunk-EYK3UHAP.js} +2 -2
  53. package/dist/{chunk-DCRK7I5E.js → chunk-HUQMVI3A.js} +93 -4
  54. package/dist/chunk-HUQMVI3A.js.map +1 -0
  55. package/dist/{chunk-UVZBDIJX.js → chunk-KGY6F4VJ.js} +488 -48
  56. package/dist/chunk-KGY6F4VJ.js.map +1 -0
  57. package/dist/{chunk-U6CMLAP4.js → chunk-M7HFDWOS.js} +2 -2
  58. package/dist/{chunk-2UDAABV6.js → chunk-MTJUIIM4.js} +2 -2
  59. package/dist/{chunk-GRX6YH4E.js → chunk-MXTCV3B5.js} +2 -2
  60. package/dist/{chunk-MSTKJI5T.js → chunk-OKOG5MXF.js} +590 -684
  61. package/dist/chunk-OKOG5MXF.js.map +1 -0
  62. package/dist/{chunk-6KCQNFDQ.js → chunk-SOOWBRMH.js} +8 -8
  63. package/dist/{chunk-72AV2H3R.js → chunk-U3NBO4IX.js} +39 -3
  64. package/dist/chunk-U3NBO4IX.js.map +1 -0
  65. package/dist/{chunk-EW3Y73MN.js → chunk-UJBIWY5M.js} +2 -2
  66. package/dist/{chunk-SVUUOLKM.js → chunk-VMKAA5SU.js} +2 -2
  67. package/dist/{chunk-JE4H2QBO.js → chunk-WJ5KWJLK.js} +2 -2
  68. package/dist/{chunk-UQTXER7M.js → chunk-ZADYEZY4.js} +2 -2
  69. package/dist/{chunk-2INZSV27.js → chunk-ZANEMAEV.js} +2 -2
  70. package/dist/{chunk-SOFATSHJ.js → chunk-ZHV6FGVF.js} +8 -8
  71. package/dist/{cli-CCc34xV7.d.ts → cli-VGDSn2zY.d.ts} +1 -1
  72. package/dist/cli.d.ts +2 -2
  73. package/dist/cli.js +20 -20
  74. package/dist/config.js +1 -1
  75. package/dist/deep-recall-http-glue.d.ts +1 -1
  76. package/dist/deep-recall-mcp-tools.d.ts +1 -1
  77. package/dist/directory-sidecars.d.ts +30 -7
  78. package/dist/directory-sidecars.js +5 -1
  79. package/dist/external-wiki-access.d.ts +1 -1
  80. package/dist/external-wiki-access.js +5 -5
  81. package/dist/external-wiki-mcp-tools.d.ts +1 -1
  82. package/dist/index.d.ts +819 -721
  83. package/dist/index.js +35 -25
  84. package/dist/mcp-memory-inspector-app.d.ts +1 -1
  85. package/dist/memory-browse-http-glue.d.ts +1 -1
  86. package/dist/memory-browse-mcp-tools.d.ts +1 -1
  87. package/dist/memory-browse-operations.js +5 -5
  88. package/dist/memory-browse.js +3 -3
  89. package/dist/memory-subject-cli.d.ts +1 -1
  90. package/dist/memory-subject.d.ts +1 -1
  91. package/dist/operator-toolkit.js +2 -2
  92. package/dist/orchestrator.js +23 -23
  93. package/dist/{public-http-UWVcqMcb.d.ts → public-http-P0cnHzYB.d.ts} +1 -1
  94. package/dist/recall-navigation-http-glue.d.ts +1 -1
  95. package/dist/recall-navigation-mcp-tools.d.ts +1 -1
  96. package/dist/recall-navigation-operations.js +5 -5
  97. package/dist/recall-navigation.js +4 -4
  98. package/dist/recall-state-view-admission.js +3 -3
  99. package/dist/resume-bundles.js +2 -2
  100. package/dist/schemas.d.ts +160 -160
  101. package/dist/shared-context/manager.d.ts +8 -8
  102. package/dist/support-passport/index.d.ts +4 -4
  103. package/dist/support-passport/index.js +7 -7
  104. package/dist/transfer/types.d.ts +78 -78
  105. package/dist/who-knows-cli.d.ts +1 -1
  106. package/dist/who-knows.d.ts +1 -1
  107. package/package.json +2 -2
  108. package/src/activity/index.ts +2 -0
  109. package/src/activity/timeline/index.ts +1 -0
  110. package/src/activity/timeline/week-dashboard.test.ts +362 -0
  111. package/src/activity/timeline/week-dashboard.ts +273 -0
  112. package/src/activity/timeline/weekly.ts +2 -1
  113. package/src/directory-sidecars.test.ts +113 -0
  114. package/src/directory-sidecars.ts +70 -8
  115. package/src/experience/session-experience-mining.test.ts +186 -0
  116. package/src/experience/session-experience-mining.ts +90 -0
  117. package/src/lifecycle/seed-graduation.test.ts +209 -0
  118. package/src/lifecycle/seed-graduation.ts +94 -11
  119. package/src/orchestration/persistence-index.ts +50 -0
  120. package/src/orchestration/recall-recognition-index.test.ts +249 -0
  121. package/src/orchestration/recall-recognition-index.ts +169 -0
  122. package/src/procedural/procedure-miner.ts +8 -6
  123. package/src/testing/subjects/recall-recognition-index.test.ts +97 -0
  124. package/dist/chunk-72AV2H3R.js.map +0 -1
  125. package/dist/chunk-DCRK7I5E.js.map +0 -1
  126. package/dist/chunk-MSTKJI5T.js.map +0 -1
  127. package/dist/chunk-UVZBDIJX.js.map +0 -1
  128. /package/dist/{chunk-TEQQQTQS.js.map → chunk-2HJKAVAS.js.map} +0 -0
  129. /package/dist/{chunk-SEQ6DWXD.js.map → chunk-5IKW2VP6.js.map} +0 -0
  130. /package/dist/{chunk-HWT6KRGS.js.map → chunk-6UEM5EOB.js.map} +0 -0
  131. /package/dist/{chunk-UCY4EHAG.js.map → chunk-A4TQFNRX.js.map} +0 -0
  132. /package/dist/{chunk-72N2P44O.js.map → chunk-ARRKSBQU.js.map} +0 -0
  133. /package/dist/{chunk-WBW34YCJ.js.map → chunk-BCXZ4BDS.js.map} +0 -0
  134. /package/dist/{chunk-V5BU5PVE.js.map → chunk-CO7KBRPF.js.map} +0 -0
  135. /package/dist/{chunk-HG42J2EX.js.map → chunk-EQNZC3BH.js.map} +0 -0
  136. /package/dist/{chunk-35EH6KW4.js.map → chunk-EYK3UHAP.js.map} +0 -0
  137. /package/dist/{chunk-U6CMLAP4.js.map → chunk-M7HFDWOS.js.map} +0 -0
  138. /package/dist/{chunk-2UDAABV6.js.map → chunk-MTJUIIM4.js.map} +0 -0
  139. /package/dist/{chunk-GRX6YH4E.js.map → chunk-MXTCV3B5.js.map} +0 -0
  140. /package/dist/{chunk-6KCQNFDQ.js.map → chunk-SOOWBRMH.js.map} +0 -0
  141. /package/dist/{chunk-EW3Y73MN.js.map → chunk-UJBIWY5M.js.map} +0 -0
  142. /package/dist/{chunk-SVUUOLKM.js.map → chunk-VMKAA5SU.js.map} +0 -0
  143. /package/dist/{chunk-JE4H2QBO.js.map → chunk-WJ5KWJLK.js.map} +0 -0
  144. /package/dist/{chunk-UQTXER7M.js.map → chunk-ZADYEZY4.js.map} +0 -0
  145. /package/dist/{chunk-2INZSV27.js.map → chunk-ZANEMAEV.js.map} +0 -0
  146. /package/dist/{chunk-SOFATSHJ.js.map → chunk-ZHV6FGVF.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-DBB5JPSL.js";
4
4
  import {
5
5
  isGenericRecallExcludedPath
6
- } from "./chunk-TEQQQTQS.js";
6
+ } from "./chunk-2HJKAVAS.js";
7
7
  import {
8
8
  isChangeOrientedQuery
9
9
  } from "./chunk-EH3HNCAM.js";
@@ -69,4 +69,4 @@ export {
69
69
  filterRecentScanMemoriesForStateView,
70
70
  indexStateViewAnnotatedResults
71
71
  };
72
- //# sourceMappingURL=chunk-72N2P44O.js.map
72
+ //# sourceMappingURL=chunk-ARRKSBQU.js.map
@@ -2,7 +2,7 @@ import {
2
2
  SupportPassportError,
3
3
  SupportPassportOwnerCreateGrantRequestSchema,
4
4
  getOperation
5
- } from "./chunk-DCRK7I5E.js";
5
+ } from "./chunk-HUQMVI3A.js";
6
6
 
7
7
  // src/support-passport/access-http.ts
8
8
  var OWNER_ROOT = "/engram/v1/support-passport";
@@ -137,4 +137,4 @@ export {
137
137
  SUPPORT_PASSPORT_OWNER_HTTP_ROUTES,
138
138
  handleSupportPassportOwnerHttp
139
139
  };
140
- //# sourceMappingURL=chunk-WBW34YCJ.js.map
140
+ //# sourceMappingURL=chunk-BCXZ4BDS.js.map
@@ -29,7 +29,7 @@ import {
29
29
  defineOperation,
30
30
  parseNamespacePreflightWriteOp,
31
31
  resolveAuthorizedNamespaceWritablePreflight
32
- } from "./chunk-DCRK7I5E.js";
32
+ } from "./chunk-HUQMVI3A.js";
33
33
  import {
34
34
  parseSharedWriteOutputControls
35
35
  } from "./chunk-IFBSZGW3.js";
@@ -594,4 +594,4 @@ defineOperation({ name: "graph_events", description: "SSE graph events.", schema
594
594
  defineOperation({ name: "chat_message", description: "Chat message.", schema: strictSchema({ message: S.str, chatSessionId: S.str }), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
595
595
  defineOperation({ name: "chat_events", description: "SSE chat events.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { stream: "sse" } }) });
596
596
  defineOperation({ name: "adapters_status", description: "Adapter registry metadata (issue #1850 round 5). Marker op: the HTTP transport builds the response from its own adapterRegistry, but the op still must be registered so it appears in listRegisteredOperations and enforceTokenOp can gate it for scoped tokens.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
597
- //# sourceMappingURL=chunk-V5BU5PVE.js.map
597
+ //# sourceMappingURL=chunk-CO7KBRPF.js.map
@@ -3,7 +3,7 @@ import {
3
3
  getOperation,
4
4
  operationRequiresAuthorizedNamespace,
5
5
  operationUsesPrincipalNamespace
6
- } from "./chunk-DCRK7I5E.js";
6
+ } from "./chunk-HUQMVI3A.js";
7
7
  import {
8
8
  assertOperationAuthorizationAllowed
9
9
  } from "./chunk-MZWSOLMT.js";
@@ -60,4 +60,4 @@ export {
60
60
  authorizationProbeNamespaces,
61
61
  authorizationProbeRequiresPrincipalNamespace
62
62
  };
63
- //# sourceMappingURL=chunk-HG42J2EX.js.map
63
+ //# sourceMappingURL=chunk-EQNZC3BH.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SUPPORT_PASSPORT_DRAFT_MAX_CONTENT_CHARACTERS,
3
3
  SUPPORT_PASSPORT_DRAFT_MAX_MEMORIES
4
- } from "./chunk-DCRK7I5E.js";
4
+ } from "./chunk-HUQMVI3A.js";
5
5
  import {
6
6
  SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH
7
7
  } from "./chunk-PWPIERBM.js";
@@ -343,4 +343,4 @@ export {
343
343
  parseSupportPassportModelJob,
344
344
  SupportPassportModelBridge
345
345
  };
346
- //# sourceMappingURL=chunk-35EH6KW4.js.map
346
+ //# sourceMappingURL=chunk-EYK3UHAP.js.map
@@ -112,10 +112,10 @@ import {
112
112
  } from "./chunk-UD7UNYRD.js";
113
113
  import {
114
114
  runMemoryBrowse
115
- } from "./chunk-EW3Y73MN.js";
115
+ } from "./chunk-UJBIWY5M.js";
116
116
  import {
117
117
  isSearchExcludedPath
118
- } from "./chunk-TEQQQTQS.js";
118
+ } from "./chunk-2HJKAVAS.js";
119
119
  import {
120
120
  coerceIncludedMemories
121
121
  } from "./chunk-2YA5N2BY.js";
@@ -3310,6 +3310,88 @@ import { createHash as createHash2 } from "crypto";
3310
3310
  import { mkdir as mkdir2, rm, stat } from "fs/promises";
3311
3311
  import path4 from "path";
3312
3312
 
3313
+ // src/experience/session-experience-recall.ts
3314
+ function tokenOverlapScore(prompt, memoryText) {
3315
+ const norm = (s) => s.toLowerCase().split(/[^a-z0-9]+/).filter((t) => t.length > 2);
3316
+ const promptTokens = new Set(norm(prompt));
3317
+ const memTokens = new Set(norm(memoryText));
3318
+ if (promptTokens.size === 0 || memTokens.size === 0) return 0;
3319
+ let inter = 0;
3320
+ for (const t of promptTokens) {
3321
+ if (memTokens.has(t)) inter++;
3322
+ }
3323
+ const union = /* @__PURE__ */ new Set([...promptTokens, ...memTokens]);
3324
+ return inter / Math.max(1, union.size);
3325
+ }
3326
+ function isSessionExperienceMemory(memory) {
3327
+ const hash = memory.frontmatter.structuredAttributes?.experience_session_hash;
3328
+ return typeof hash === "string" && hash.length > 0;
3329
+ }
3330
+ function scoreSessionExperienceForPrompt(memory, prompt) {
3331
+ if (!isSessionExperienceMemory(memory)) return null;
3332
+ const situation = memory.frontmatter.structuredAttributes?.experience_situation ?? "";
3333
+ const situationScore = tokenOverlapScore(prompt, situation);
3334
+ const bodyScore = tokenOverlapScore(prompt, memory.content);
3335
+ return Math.min(1, situationScore * 0.75 + bodyScore * 0.25);
3336
+ }
3337
+ function renderSessionExperiencePreview(memory) {
3338
+ if (!isSessionExperienceMemory(memory)) return null;
3339
+ const attrs = memory.frontmatter.structuredAttributes ?? {};
3340
+ const situation = (attrs.experience_situation ?? "").trim();
3341
+ const approach = (attrs.experience_approach ?? "").trim();
3342
+ const reflection = (attrs.experience_reflection ?? "").trim();
3343
+ if (situation.length === 0 && approach.length === 0 && reflection.length === 0) {
3344
+ return `Experience. ${memory.content.replace(/\s+/g, " ").trim()}`;
3345
+ }
3346
+ return `Experience. Situation: ${situation} Approach: ${approach} Reflection: ${reflection}`.replace(/\s+/g, " ").trim();
3347
+ }
3348
+
3349
+ // src/experience/session-experience-mining.ts
3350
+ function mapExperienceOutcome(raw) {
3351
+ if (raw === "success" || raw === "failure" || raw === "partial") return raw;
3352
+ return "unknown";
3353
+ }
3354
+ function experienceMemoryToMiningRecord(memory) {
3355
+ if (!isSessionExperienceMemory(memory)) return null;
3356
+ if (!isActiveMemoryStatus(memory.frontmatter.status)) return null;
3357
+ const attrs = memory.frontmatter.structuredAttributes ?? {};
3358
+ const situation = (attrs.experience_situation ?? "").trim();
3359
+ const hash = attrs.experience_session_hash;
3360
+ if (situation.length === 0 || typeof hash !== "string" || hash.length === 0) return null;
3361
+ const recordedAt = memory.frontmatter.created;
3362
+ if (!recordedAt || !Number.isFinite(Date.parse(recordedAt))) return null;
3363
+ const approach = (attrs.experience_approach ?? "").trim();
3364
+ const reflection = (attrs.experience_reflection ?? "").trim();
3365
+ const record = {
3366
+ schemaVersion: 1,
3367
+ trajectoryId: `experience:${hash}`,
3368
+ recordedAt,
3369
+ sessionKey: hash,
3370
+ goal: situation,
3371
+ actionSummary: approach,
3372
+ observationSummary: reflection,
3373
+ outcomeKind: mapExperienceOutcome(attrs.experience_outcome),
3374
+ outcomeSummary: reflection
3375
+ };
3376
+ if (typeof memory.frontmatter.entityRef === "string" && memory.frontmatter.entityRef.trim().length > 0) {
3377
+ record.entityRefs = [memory.frontmatter.entityRef.trim()];
3378
+ }
3379
+ return record;
3380
+ }
3381
+ async function collectExperienceMiningRecords(storage) {
3382
+ const memories = await storage.readAllMemories();
3383
+ const out = [];
3384
+ for (const memory of memories) {
3385
+ const record = experienceMemoryToMiningRecord(memory);
3386
+ if (record) out.push(record);
3387
+ }
3388
+ return out;
3389
+ }
3390
+ async function collectProcedureMiningRecords(options) {
3391
+ const source = options.experienceEnabled === true ? options.trajectories.concat(await collectExperienceMiningRecords(options.storage)) : options.trajectories;
3392
+ return filterTrajectoriesByLookbackDays(source, options.lookbackDays, options.nowMs);
3393
+ }
3394
+
3313
3395
  // src/procedural/reinforcement-core.ts
3314
3396
  function clusterByKey(items, keyFn) {
3315
3397
  const clusters = /* @__PURE__ */ new Map();
@@ -3470,7 +3552,12 @@ async function runProcedureMining(options) {
3470
3552
  memoryDir: options.memoryDir,
3471
3553
  causalTrajectoryStoreDir: trajectoryDir
3472
3554
  });
3473
- const recent = filterTrajectoriesByLookbackDays(trajectories, cfg.lookbackDays);
3555
+ const recent = await collectProcedureMiningRecords({
3556
+ trajectories,
3557
+ lookbackDays: cfg.lookbackDays,
3558
+ storage: options.storage,
3559
+ experienceEnabled: options.config.sessionExperience?.enabled === true
3560
+ });
3474
3561
  const clusters = clusterByKey(recent, clusterKey);
3475
3562
  let clustersProcessed = 0;
3476
3563
  let proceduresWritten = 0;
@@ -18323,6 +18410,8 @@ export {
18323
18410
  DELTA_SUBCOMMANDS,
18324
18411
  detectPassiveCorrections,
18325
18412
  capturePassiveCorrections,
18413
+ scoreSessionExperienceForPrompt,
18414
+ renderSessionExperiencePreview,
18326
18415
  clusterByKey,
18327
18416
  OPERATION_NAMES,
18328
18417
  coerceBooleanLike,
@@ -18412,4 +18501,4 @@ export {
18412
18501
  EngramAccessService,
18413
18502
  AccessAdminOpsSurface
18414
18503
  };
18415
- //# sourceMappingURL=chunk-DCRK7I5E.js.map
18504
+ //# sourceMappingURL=chunk-HUQMVI3A.js.map