@oharness/engine 0.11.0 → 0.14.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.
Files changed (81) hide show
  1. package/dist/agent/agent.d.ts +3 -0
  2. package/dist/agent/agent.js +32 -12
  3. package/dist/agent/agent.js.map +1 -1
  4. package/dist/agent/background-usage.d.ts +34 -0
  5. package/dist/agent/background-usage.js +53 -0
  6. package/dist/agent/background-usage.js.map +1 -0
  7. package/dist/agent/background.d.ts +2 -0
  8. package/dist/agent/background.js +11 -0
  9. package/dist/agent/background.js.map +1 -1
  10. package/dist/agent/memory-backup.d.ts +1 -1
  11. package/dist/agent/memory-backup.js +1 -1
  12. package/dist/agent/memory-backup.js.map +1 -1
  13. package/dist/agent/memory-digest.d.ts +107 -0
  14. package/dist/agent/memory-digest.js +208 -0
  15. package/dist/agent/memory-digest.js.map +1 -0
  16. package/dist/agent/memory-dream.d.ts +106 -0
  17. package/dist/agent/memory-dream.js +237 -0
  18. package/dist/agent/memory-dream.js.map +1 -0
  19. package/dist/agent/memory-ledger.d.ts +154 -0
  20. package/dist/agent/memory-ledger.js +179 -0
  21. package/dist/agent/memory-ledger.js.map +1 -0
  22. package/dist/agent/memory-provider.d.ts +12 -0
  23. package/dist/agent/memory-recall.d.ts +2 -0
  24. package/dist/agent/memory-recall.js +5 -2
  25. package/dist/agent/memory-recall.js.map +1 -1
  26. package/dist/agent/memory-usage.d.ts +20 -0
  27. package/dist/agent/memory-usage.js +16 -1
  28. package/dist/agent/memory-usage.js.map +1 -1
  29. package/dist/agent/memory.d.ts +3 -0
  30. package/dist/agent/memory.js +24 -4
  31. package/dist/agent/memory.js.map +1 -1
  32. package/dist/agent/skills.d.ts +16 -3
  33. package/dist/agent/skills.js +36 -2
  34. package/dist/agent/skills.js.map +1 -1
  35. package/dist/agent/store.d.ts +7 -0
  36. package/dist/agent/store.js +14 -1
  37. package/dist/agent/store.js.map +1 -1
  38. package/dist/agent/subagent.d.ts +15 -2
  39. package/dist/agent/subagent.js +70 -16
  40. package/dist/agent/subagent.js.map +1 -1
  41. package/dist/config-files.d.ts +6 -1
  42. package/dist/config-files.js +7 -2
  43. package/dist/config-files.js.map +1 -1
  44. package/dist/config.d.ts +9 -0
  45. package/dist/config.js +2 -0
  46. package/dist/config.js.map +1 -1
  47. package/dist/foreign.d.ts +81 -0
  48. package/dist/foreign.js +198 -0
  49. package/dist/foreign.js.map +1 -0
  50. package/dist/harness.d.ts +47 -0
  51. package/dist/harness.js +186 -13
  52. package/dist/harness.js.map +1 -1
  53. package/dist/mcp/registry.d.ts +2 -0
  54. package/dist/mcp/registry.js +1 -0
  55. package/dist/mcp/registry.js.map +1 -1
  56. package/dist/mcp/registry.json +394 -1
  57. package/dist/paths.d.ts +19 -0
  58. package/dist/paths.js +38 -0
  59. package/dist/paths.js.map +1 -1
  60. package/dist/plugin-market.d.ts +57 -0
  61. package/dist/plugin-market.js +229 -0
  62. package/dist/plugin-market.js.map +1 -0
  63. package/dist/plugin-market.json +1246 -0
  64. package/dist/plugins.d.ts +49 -2
  65. package/dist/plugins.js +252 -10
  66. package/dist/plugins.js.map +1 -1
  67. package/dist/runtime-plugins/builtin/dreaming-coordinator.d.ts +244 -0
  68. package/dist/runtime-plugins/builtin/dreaming-coordinator.js +548 -0
  69. package/dist/runtime-plugins/builtin/dreaming-coordinator.js.map +1 -0
  70. package/dist/runtime-plugins/builtin/dreaming.d.ts +30 -0
  71. package/dist/runtime-plugins/builtin/dreaming.js +231 -0
  72. package/dist/runtime-plugins/builtin/dreaming.js.map +1 -0
  73. package/dist/runtime-plugins/builtin/memory.d.ts +89 -2
  74. package/dist/runtime-plugins/builtin/memory.js +186 -5
  75. package/dist/runtime-plugins/builtin/memory.js.map +1 -1
  76. package/dist/runtime-plugins/host.js +2 -0
  77. package/dist/runtime-plugins/host.js.map +1 -1
  78. package/dist/util/toml.d.ts +22 -0
  79. package/dist/util/toml.js +305 -0
  80. package/dist/util/toml.js.map +1 -0
  81. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"background.js","sourceRoot":"","sources":["../../src/agent/background.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"background.js","sourceRoot":"","sources":["../../src/agent/background.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import type { MemoryNote, MemoryStore, MemoryStores } from "./memory.ts";
9
9
  * replacing a newer version. They live on this machine only, under
10
10
  * `memory-backups/` in the user directory.
11
11
  */
12
- export declare const BACKUP_REASONS: readonly ["delete", "forget", "conflict", "conflict-cloud", "auto-merge", "sync-update", "sync-delete", "extract-update", "consolidate", "restore"];
12
+ export declare const BACKUP_REASONS: readonly ["delete", "forget", "conflict", "conflict-cloud", "auto-merge", "sync-update", "sync-delete", "extract-update", "consolidate", "restore", "dream"];
13
13
  export type BackupReason = (typeof BACKUP_REASONS)[number];
14
14
  export interface MemoryBackup {
15
15
  /** File name inside the backups directory; what a restore names. */
@@ -14,7 +14,7 @@ import { memoryNote, noteHash, validateNote } from "./memory.js";
14
14
  * replacing a newer version. They live on this machine only, under
15
15
  * `memory-backups/` in the user directory.
16
16
  */
17
- export const BACKUP_REASONS = ["delete", "forget", "conflict", "conflict-cloud", "auto-merge", "sync-update", "sync-delete", "extract-update", "consolidate", "restore"];
17
+ export const BACKUP_REASONS = ["delete", "forget", "conflict", "conflict-cloud", "auto-merge", "sync-update", "sync-delete", "extract-update", "consolidate", "restore", "dream"];
18
18
  const DIRECTORY = "memory-backups";
19
19
  const FILE = /^[a-zA-Z0-9_-]{1,160}\.json$/;
20
20
  const MAX_FILE_BYTES = 2 * 1024 * 1024;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-backup.js","sourceRoot":"","sources":["../../src/agent/memory-backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGjE;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,CAAU,CAAC;AAiBlL,MAAM,SAAS,GAAG,gBAAgB,CAAC;AACnC,MAAM,IAAI,GAAG,8BAA8B,CAAC;AAC5C,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AACvC,MAAM,MAAM,GAAG,CAAC,CAAU,EAA4B,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3G,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAkB,EAAE,IAAgB,EAAE,MAAoB;IACzF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,KAAK,UAAU,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;IACtI,MAAM,aAAa,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,EAAE;QAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;QACtC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtI,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;KAC5D,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,KAAK,CAAC,IAAgB;IAC7B,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS;QACpG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,SAAS,KAAK,CAAC,IAAY,EAAE,GAAW,EAAE,OAAe;IACvD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAe,CAAC;IAC1D,IAAI,CAAC;QAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAC1F,OAAO;QACL,IAAI;QACJ,UAAU,EAAE,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACtG,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;QACjB,GAAG,CAAC,OAAO,IAAK,cAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7H,GAAG,CAAC,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,GAAG,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvF,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAK,GAAG,GAAG;IAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QAAC,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAClG,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACpG,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;IAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAA6C,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;YAAE,MAAM;QACnC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnF,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAoB,EAAE,IAAY;IACpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC;QACpE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QAClD,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAElH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;QACjF,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;YAC9D,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;gBACtD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IACnB,MAAM,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClF,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,IAAI,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACtH,IAAI,WAAW;QAAE,MAAM,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACpG,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"memory-backup.js","sourceRoot":"","sources":["../../src/agent/memory-backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGjE;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AAiB3L,MAAM,SAAS,GAAG,gBAAgB,CAAC;AACnC,MAAM,IAAI,GAAG,8BAA8B,CAAC;AAC5C,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AACvC,MAAM,MAAM,GAAG,CAAC,CAAU,EAA4B,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3G,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAkB,EAAE,IAAgB,EAAE,MAAoB;IACzF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,KAAK,UAAU,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;IACtI,MAAM,aAAa,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,EAAE;QAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;QACtC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtI,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;KAC5D,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,KAAK,CAAC,IAAgB;IAC7B,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS;QACpG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,SAAS,KAAK,CAAC,IAAY,EAAE,GAAW,EAAE,OAAe;IACvD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAe,CAAC;IAC1D,IAAI,CAAC;QAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAC1F,OAAO;QACL,IAAI;QACJ,UAAU,EAAE,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACtG,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;QACjB,GAAG,CAAC,OAAO,IAAK,cAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7H,GAAG,CAAC,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,GAAG,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvF,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAK,GAAG,GAAG;IAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QAAC,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAClG,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACpG,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;IAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAA6C,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;YAAE,MAAM;QACnC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnF,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAoB,EAAE,IAAY;IACpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC;QACpE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QAClD,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAElH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;QACjF,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;YAC9D,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;gBACtD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IACnB,MAAM,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClF,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,IAAI,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACtH,IAAI,WAAW;QAAE,MAAM,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACpG,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACpD,CAAC"}
@@ -0,0 +1,107 @@
1
+ import type { Message } from "../core/types.ts";
2
+ import type { MemoryScope } from "./memory-limits.ts";
3
+ /**
4
+ * The first half of dreaming: a quiet conversation, read once, written down as
5
+ * claims with the words that support them.
6
+ *
7
+ * A claim is not a note. Nothing recalls it and nothing shows it to the
8
+ * conversation model; it is evidence a later dream pass weighs against the
9
+ * notes that exist. What makes it evidence is decided here, by code, not by
10
+ * the model that proposed it: a claim must cite at least one message the user
11
+ * typed, so nothing the assistant said on its own, and nothing memory said
12
+ * back to it, can become a fact about the user.
13
+ */
14
+ export type ClaimKind = "stated" | "confirmed" | "inferred";
15
+ export interface DigestClaim {
16
+ /** Stable: the session, the cited messages and the text. */
17
+ id: string;
18
+ session: string;
19
+ scope: MemoryScope;
20
+ kind: ClaimKind;
21
+ /** One fact, in the user's terms. */
22
+ text: string;
23
+ /** The supporting words, short. */
24
+ quote?: string;
25
+ /** Keys of the cited messages (see `messageKey`). */
26
+ sources: string[];
27
+ /** Time of the newest cited message. */
28
+ at: number;
29
+ /** Only when the conversation gives one. */
30
+ validUntil?: number;
31
+ /** "Instead of X", when the user replaced something. */
32
+ supersedes?: string;
33
+ /**
34
+ * The user said it holds beyond this task: "from now on", "always",
35
+ * "remember", "our rule is". Only such a claim, or claims from more than one
36
+ * conversation, may create a note without asking.
37
+ */
38
+ lasting?: true;
39
+ /** Notes recalled into the conversation by the time this was said. */
40
+ inContext?: string[];
41
+ }
42
+ /** One message as the digest sees it. */
43
+ export interface DigestEntry {
44
+ key: string;
45
+ message: Message;
46
+ at: number;
47
+ }
48
+ /**
49
+ * A message's identity across compaction.
50
+ *
51
+ * Record ids do not survive one: compaction rewrites the log with new ids,
52
+ * new times and the compacting device. The message itself does, timestamp
53
+ * and all, both in the live transcript and in the archive. Messages written
54
+ * before timestamps were recorded have no key and are not digested.
55
+ */
56
+ export declare function messageKey(message: Message): string | undefined;
57
+ /**
58
+ * The messages of one session worth reading, oldest first: archived and live
59
+ * together, each once. A live message is taken only when this device wrote
60
+ * it, so a conversation continued on two machines is read once per message,
61
+ * by the machine it was typed on. Archived messages carry no device and are
62
+ * taken as they are.
63
+ */
64
+ export declare function digestEntries(live: ReadonlyArray<{
65
+ message: Message;
66
+ device: string;
67
+ }>, archived: readonly Message[], localDevice: string): DigestEntry[];
68
+ /** Typed by the user: not a tool result, not a summary, not something the harness injected. */
69
+ export declare function isUserTurn(message: Message): boolean;
70
+ /**
71
+ * The stretch to read, with a little of what came before it for context.
72
+ * Only the stretch may be cited. Cut from the front when too long, since the
73
+ * newest messages are the ones no pass has read.
74
+ */
75
+ export declare function renderDigest(pending: readonly DigestEntry[], context: readonly DigestEntry[], maxChars?: number): string;
76
+ export declare const DIGEST_PROMPT = "You read a conversation between a user and an assistant and write down what it tells us about the user and their work that should still matter in later conversations.\n\nWrite claims. A claim is one fact, preference, correction, decision or constraint, in the user's own terms. Each claim cites the messages that support it by the key in square brackets at the start of each message, for example \"m1a2b3c4d5e6f70\". Only cite messages inside <conversation>; <already-read> is context only.\n\nKinds:\n- \"stated\": the user said it.\n- \"confirmed\": the assistant proposed it and the user agreed in a later message. Cite both.\n- \"inferred\": your generalisation from what the user said or did. Cite the user messages it rests on.\n\nNever write a claim that rests only on what the assistant said. Leave out anything the code or git history already records, small talk, and credentials or secrets of any kind.\n\nMost of a conversation is instructions for the task at hand: what to build, which columns or fields, the steps, the format, what to do next. Those are not claims, however specific, unless the user says they hold beyond this task. The goal behind a task can be a claim when it will still matter later: an ongoing effort, a target, a deadline, a decision and its reason. Prefer one general claim to several narrow ones. A conversation that is only a one-off request yields [].\n\nSet \"lasting\": true only when the user said, in their own words, that something holds beyond this task: \"from now on\", \"always\", \"never\", \"remember that\", \"our rule is\", or the like. Do not set it for a preference you infer.\n\n<notes-shown> lists notes that were put in front of the assistant during the conversation. If a claim corrects, replaces or extends one of them, give it that note's scope and name what it replaces in \"supersedes\".\n\nScope \"project\" is the default, including feedback about how this codebase is worked on. Use \"user\" only for facts about the user or preferences that plainly hold in every project.\n\nIf the conversation gives a date after which a claim stops being true (a deadline, \"this week\", \"until the release\"), give it as \"validUntil\": \"YYYY-MM-DD\". If the user replaced something (\"use X now, not Y\"), put Y in \"supersedes\".\n\nRespond with a JSON array and nothing else. Each element:\n{\"kind\":\"stated\"|\"confirmed\"|\"inferred\",\"scope\":\"project\"|\"user\",\"text\":\"<the claim>\",\"quote\":\"<the user's supporting words, short>\",\"sources\":[\"<key>\", ...],\"lasting\":true,\"validUntil\":\"YYYY-MM-DD\",\"supersedes\":\"<what it replaces>\"}\n\nReturn [] when nothing qualifies \u2014 that is the common case.";
77
+ /** The ids of notes recalled into the conversation up to and including `key`. */
78
+ export declare function recalledBefore(entries: readonly DigestEntry[], key: string): string[];
79
+ /**
80
+ * Validate a digest reply against the messages it was shown. Returns only
81
+ * claims that hold up; a reply that is not JSON yields none.
82
+ */
83
+ export declare function parseClaims(reply: string, session: string, pending: readonly DigestEntry[], all?: readonly DigestEntry[]): DigestClaim[];
84
+ /** A note recalled into the conversation, as the digest is told about it. */
85
+ export interface ShownNote {
86
+ id: string;
87
+ scope: MemoryScope;
88
+ summary: string;
89
+ }
90
+ export interface DigestRun {
91
+ session: string;
92
+ /** Looks up notes recalled into the conversation, so a correction of one keeps its scope. */
93
+ shownNotes?: (ids: readonly string[]) => ShownNote[];
94
+ /** Not yet digested, oldest first. */
95
+ pending: readonly DigestEntry[];
96
+ /** Everything held for the session, for context and recall history. */
97
+ all: readonly DigestEntry[];
98
+ generate(system: string, prompt: string, signal?: AbortSignal): Promise<string>;
99
+ signal?: AbortSignal;
100
+ }
101
+ export interface DigestResult {
102
+ claims: DigestClaim[];
103
+ /** Characters sent and received, for the budget. */
104
+ chars: number;
105
+ }
106
+ /** One model call: the pending stretch in, claims out. */
107
+ export declare function digestSession(run: DigestRun): Promise<DigestResult>;
@@ -0,0 +1,208 @@
1
+ import { createHash } from "node:crypto";
2
+ import { visibleText } from "../core/types.js";
3
+ import { MEMORY_SAFETY } from "./memory-limits.js";
4
+ import { redactSecrets } from "./memory-redact.js";
5
+ const KINDS = ["stated", "confirmed", "inferred"];
6
+ /**
7
+ * A message's identity across compaction.
8
+ *
9
+ * Record ids do not survive one: compaction rewrites the log with new ids,
10
+ * new times and the compacting device. The message itself does, timestamp
11
+ * and all, both in the live transcript and in the archive. Messages written
12
+ * before timestamps were recorded have no key and are not digested.
13
+ */
14
+ export function messageKey(message) {
15
+ const at = message.meta?.timestamp;
16
+ if (typeof at !== "number" || !Number.isFinite(at))
17
+ return undefined;
18
+ const calls = message.content.filter((block) => block.type === "tool_call").map((block) => block.name);
19
+ const hash = createHash("sha256").update(`${message.role}\0${at}\0${visibleText(message)}\0${calls.join(",")}`).digest("hex");
20
+ return `m${hash.slice(0, 15)}`;
21
+ }
22
+ /**
23
+ * The messages of one session worth reading, oldest first: archived and live
24
+ * together, each once. A live message is taken only when this device wrote
25
+ * it, so a conversation continued on two machines is read once per message,
26
+ * by the machine it was typed on. Archived messages carry no device and are
27
+ * taken as they are.
28
+ */
29
+ export function digestEntries(live, archived, localDevice) {
30
+ const byKey = new Map();
31
+ const add = (message) => {
32
+ if (message.meta?.compacted)
33
+ return;
34
+ const key = messageKey(message);
35
+ if (!key || byKey.has(key))
36
+ return;
37
+ byKey.set(key, { key, message, at: message.meta.timestamp });
38
+ };
39
+ for (const message of archived)
40
+ add(message);
41
+ for (const record of live)
42
+ if (record.device === localDevice)
43
+ add(record.message);
44
+ return [...byKey.values()].sort((a, b) => a.at - b.at);
45
+ }
46
+ /** Typed by the user: not a tool result, not a summary, not something the harness injected. */
47
+ export function isUserTurn(message) {
48
+ return message.role === "user" && !message.meta?.synthetic && !message.meta?.compacted &&
49
+ message.content.some((block) => block.type === "text");
50
+ }
51
+ /** Memory talking to itself is not evidence. */
52
+ const MEMORY_TOOLS = new Set(["memory", "recall", "remember", "forget"]);
53
+ function line(entry) {
54
+ const text = visibleText(entry.message).trim();
55
+ const calls = entry.message.content.filter((block) => block.type === "tool_call")
56
+ .map((block) => block.name).filter((name) => !MEMORY_TOOLS.has(name));
57
+ if (entry.message.role === "user" && !isUserTurn(entry.message))
58
+ return undefined;
59
+ if (!text && !calls.length)
60
+ return undefined;
61
+ const who = entry.message.role === "user" ? "User" : "Assistant";
62
+ const when = new Date(entry.at).toISOString().slice(0, 16).replace("T", " ");
63
+ return `[${entry.key} ${when}] ${who}: ${text}${calls.length ? `\n[called ${calls.join(", ")}]` : ""}`;
64
+ }
65
+ /**
66
+ * The stretch to read, with a little of what came before it for context.
67
+ * Only the stretch may be cited. Cut from the front when too long, since the
68
+ * newest messages are the ones no pass has read.
69
+ */
70
+ export function renderDigest(pending, context, maxChars = 60_000) {
71
+ const before = context.map(line).filter((one) => !!one);
72
+ const now = pending.map(line).filter((one) => !!one);
73
+ let body = now.join("\n\n");
74
+ if (body.length > maxChars)
75
+ body = `[earlier messages omitted]\n${body.slice(body.length - maxChars)}`;
76
+ return [
77
+ before.length ? `<already-read>\n${before.join("\n\n")}\n</already-read>\n` : "",
78
+ `<conversation>\n${body}\n</conversation>`,
79
+ ].join("");
80
+ }
81
+ export const DIGEST_PROMPT = `You read a conversation between a user and an assistant and write down what it tells us about the user and their work that should still matter in later conversations.
82
+
83
+ Write claims. A claim is one fact, preference, correction, decision or constraint, in the user's own terms. Each claim cites the messages that support it by the key in square brackets at the start of each message, for example "m1a2b3c4d5e6f70". Only cite messages inside <conversation>; <already-read> is context only.
84
+
85
+ Kinds:
86
+ - "stated": the user said it.
87
+ - "confirmed": the assistant proposed it and the user agreed in a later message. Cite both.
88
+ - "inferred": your generalisation from what the user said or did. Cite the user messages it rests on.
89
+
90
+ Never write a claim that rests only on what the assistant said. Leave out anything the code or git history already records, small talk, and credentials or secrets of any kind.
91
+
92
+ Most of a conversation is instructions for the task at hand: what to build, which columns or fields, the steps, the format, what to do next. Those are not claims, however specific, unless the user says they hold beyond this task. The goal behind a task can be a claim when it will still matter later: an ongoing effort, a target, a deadline, a decision and its reason. Prefer one general claim to several narrow ones. A conversation that is only a one-off request yields [].
93
+
94
+ Set "lasting": true only when the user said, in their own words, that something holds beyond this task: "from now on", "always", "never", "remember that", "our rule is", or the like. Do not set it for a preference you infer.
95
+
96
+ <notes-shown> lists notes that were put in front of the assistant during the conversation. If a claim corrects, replaces or extends one of them, give it that note's scope and name what it replaces in "supersedes".
97
+
98
+ Scope "project" is the default, including feedback about how this codebase is worked on. Use "user" only for facts about the user or preferences that plainly hold in every project.
99
+
100
+ If the conversation gives a date after which a claim stops being true (a deadline, "this week", "until the release"), give it as "validUntil": "YYYY-MM-DD". If the user replaced something ("use X now, not Y"), put Y in "supersedes".
101
+
102
+ Respond with a JSON array and nothing else. Each element:
103
+ {"kind":"stated"|"confirmed"|"inferred","scope":"project"|"user","text":"<the claim>","quote":"<the user's supporting words, short>","sources":["<key>", ...],"lasting":true,"validUntil":"YYYY-MM-DD","supersedes":"<what it replaces>"}
104
+
105
+ Return [] when nothing qualifies — that is the common case.`;
106
+ const MAX_CLAIMS = 30;
107
+ /** The ids of notes recalled into the conversation up to and including `key`. */
108
+ export function recalledBefore(entries, key) {
109
+ const ids = new Set();
110
+ for (const entry of entries) {
111
+ const recalled = entry.message.meta?.["recalledMemory"];
112
+ if (Array.isArray(recalled?.ids))
113
+ for (const id of recalled.ids)
114
+ if (typeof id === "string")
115
+ ids.add(id);
116
+ if (entry.key === key)
117
+ break;
118
+ }
119
+ return [...ids];
120
+ }
121
+ function date(value) {
122
+ if (typeof value !== "string" || !/^\d{4}-\d{2}-\d{2}$/.test(value))
123
+ return undefined;
124
+ // End of that day, local time: "until Friday" still holds on Friday.
125
+ const [y, m, d] = value.split("-").map(Number);
126
+ const at = new Date(y, m - 1, d, 23, 59, 59).getTime();
127
+ return Number.isFinite(at) ? at : undefined;
128
+ }
129
+ /**
130
+ * Validate a digest reply against the messages it was shown. Returns only
131
+ * claims that hold up; a reply that is not JSON yields none.
132
+ */
133
+ export function parseClaims(reply, session, pending, all = pending) {
134
+ const start = reply.indexOf("["), end = reply.lastIndexOf("]");
135
+ if (start === -1 || end <= start)
136
+ return [];
137
+ let raw;
138
+ try {
139
+ raw = JSON.parse(reply.slice(start, end + 1));
140
+ }
141
+ catch {
142
+ return [];
143
+ }
144
+ if (!Array.isArray(raw))
145
+ return [];
146
+ const byKey = new Map(pending.map((entry) => [entry.key, entry]));
147
+ const claims = new Map();
148
+ for (const item of raw) {
149
+ if (claims.size >= MAX_CLAIMS)
150
+ break;
151
+ if (!item || typeof item !== "object")
152
+ continue;
153
+ const value = item;
154
+ const kind = KINDS.includes(value.kind) ? value.kind : undefined;
155
+ if (!kind)
156
+ continue;
157
+ const text = typeof value.text === "string" ? redactSecrets(value.text.replace(/\s+/g, " ").trim()).text : "";
158
+ if (text.length < 8 || text.length > MEMORY_SAFETY.maxSummaryChars * 2)
159
+ continue;
160
+ const sources = Array.isArray(value.sources)
161
+ ? [...new Set(value.sources.filter((key) => typeof key === "string" && byKey.has(key)))]
162
+ : [];
163
+ const cited = sources.map((key) => byKey.get(key)).sort((a, b) => a.at - b.at);
164
+ const users = cited.filter((entry) => isUserTurn(entry.message));
165
+ // The rule that keeps memory from learning its own echo: no user words, no claim.
166
+ if (!users.length)
167
+ continue;
168
+ if (kind === "confirmed") {
169
+ const proposal = cited.find((entry) => entry.message.role === "assistant");
170
+ if (!proposal || !users.some((entry) => entry.at > proposal.at))
171
+ continue;
172
+ }
173
+ const newest = cited[cited.length - 1];
174
+ const scope = value.scope === "user" ? "user" : "project";
175
+ const quote = typeof value.quote === "string" ? redactSecrets(value.quote.replace(/\s+/g, " ").trim()).text.slice(0, 240) : "";
176
+ const supersedes = typeof value.supersedes === "string" ? redactSecrets(value.supersedes.trim()).text.slice(0, 200) : "";
177
+ const validUntil = date(value.validUntil);
178
+ const inContext = recalledBefore(all, newest.key);
179
+ const id = `c${createHash("sha256").update(`${session}\0${[...sources].sort().join(",")}\0${text}`).digest("hex").slice(0, 15)}`;
180
+ claims.set(id, {
181
+ id, session, scope, kind, text, sources: cited.map((entry) => entry.key), at: newest.at,
182
+ ...(quote ? { quote } : {}),
183
+ ...(validUntil ? { validUntil } : {}),
184
+ ...(supersedes ? { supersedes } : {}),
185
+ // An inference is never the user's own "from now on".
186
+ ...(value.lasting === true && kind !== "inferred" ? { lasting: true } : {}),
187
+ ...(inContext.length ? { inContext } : {}),
188
+ });
189
+ }
190
+ return [...claims.values()];
191
+ }
192
+ /** One model call: the pending stretch in, claims out. */
193
+ export async function digestSession(run) {
194
+ const first = run.pending[0];
195
+ if (!first)
196
+ return { claims: [], chars: 0 };
197
+ const index = run.all.findIndex((entry) => entry.key === first.key);
198
+ const context = index > 0 ? run.all.slice(Math.max(0, index - 6), index) : [];
199
+ const recalled = run.pending.length ? recalledBefore(run.all, run.pending[run.pending.length - 1].key) : [];
200
+ const shown = recalled.length && run.shownNotes ? run.shownNotes(recalled) : [];
201
+ const shownBlock = shown.length
202
+ ? `<notes-shown>\n${shown.map((note) => `- ${note.id} (${note.scope}): ${note.summary}`).join("\n")}\n</notes-shown>\n\n`
203
+ : "";
204
+ const prompt = `${shownBlock}${renderDigest(run.pending, context)}\n\nWrite the claims now, as a JSON array.`;
205
+ const reply = await run.generate(DIGEST_PROMPT, prompt, run.signal);
206
+ return { claims: parseClaims(reply, run.session, run.pending, run.all), chars: DIGEST_PROMPT.length + prompt.length + reply.length };
207
+ }
208
+ //# sourceMappingURL=memory-digest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-digest.js","sourceRoot":"","sources":["../../src/agent/memory-digest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import type { MemoryScope, MemoryType } from "./memory-limits.ts";
2
+ import type { DigestClaim } from "./memory-digest.ts";
3
+ import type { RecallNote } from "./memory-recall.ts";
4
+ /**
5
+ * The second half of dreaming: one scope's new claims, read next to the notes
6
+ * they touch, turned into a few proposed edits.
7
+ *
8
+ * The model proposes; code disposes. Everything here that decides whether an
9
+ * edit may happen — which notes it may touch, whether its evidence is enough,
10
+ * whether it waits for a person — is plain code over plain data, so it is
11
+ * tested without a model. Nothing here writes a note.
12
+ */
13
+ /** A note as the dream sees it. */
14
+ export interface DreamNote extends RecallNote {
15
+ hash: string;
16
+ /** Recalled on this machine: how often and when last. */
17
+ recalled?: {
18
+ count: number;
19
+ last: number;
20
+ };
21
+ }
22
+ interface Draft {
23
+ summary: string;
24
+ body: string;
25
+ tags: string[];
26
+ type?: MemoryType;
27
+ }
28
+ export type DreamOp = ({
29
+ op: "create";
30
+ scope: MemoryScope;
31
+ claims: string[];
32
+ } & Draft) | ({
33
+ op: "update";
34
+ id: string;
35
+ scope: MemoryScope;
36
+ claims: string[];
37
+ expectedHash: string;
38
+ } & Draft) | ({
39
+ op: "merge";
40
+ ids: string[];
41
+ scope: MemoryScope;
42
+ claims: string[];
43
+ expectedHashes: string[];
44
+ } & Draft) | {
45
+ op: "stale";
46
+ id: string;
47
+ scope: MemoryScope;
48
+ claims: string[];
49
+ reason: string;
50
+ expectedHash: string;
51
+ } | {
52
+ op: "conflict";
53
+ id: string;
54
+ scope: MemoryScope;
55
+ claims: string[];
56
+ reason: string;
57
+ expectedHash: string;
58
+ };
59
+ export type Disposition = "apply" | "review";
60
+ export interface DisposedOp {
61
+ op: DreamOp;
62
+ disposition: Disposition;
63
+ /** Why it waits for a person, when it does. */
64
+ why?: "inferred-once" | "user-scope-inference" | "stale" | "conflict" | "hand-edited" | "one-conversation";
65
+ }
66
+ export declare const DREAM_PROMPT = "You maintain the durable notes an assistant reads in future sessions. You are given new claims taken from recent conversations, with the evidence for each, and the existing notes they may touch. Propose the smallest set of edits that makes the notes true and useful.\n\nOperations:\n- \"create\": a new note from one or more claims that no existing note covers.\n- \"update\": rewrite one existing note because claims correct or extend it. Write the complete new body, keeping every detail of the old body that is still true.\n- \"merge\": several existing notes say the same thing; write the one note that replaces them.\n- \"stale\": a note's content has lapsed (a date passed, work finished) according to the claims. Do not rewrite it.\n- \"conflict\": claims contradict a note and nobody said which one replaces the other. Do not choose; explain.\n\nRules:\n- Cite the claims each operation rests on by id. Every operation except \"merge\" must cite at least one claim.\n- Only touch notes listed below, by their id.\n- Newer evidence is the claim's time, never a note's \"last edited\" time. Replace a note's statement only when a claim says the user replaced it.\n- Never turn a plan into a completed fact because its date passed.\n- If claims add nothing, leave them out. Proposing nothing is a good outcome.\n- Create a note only for something a later conversation would need: a preference, a correction, a decision and its reason, an ongoing goal. Never for the specification of one task (its columns, steps or format).\n\nHow a note is written, because recall matches words, not meaning:\n- \"summary\": one concrete line naming what the note is about.\n- \"tags\": the words someone might search with instead of the summary's own, including synonyms and the term in the other language in use. A merge keeps every tag of the notes it combines unless one is plainly wrong.\n- \"body\": the fact, then a line starting \"Why:\" and a line starting \"How to apply:\".\n- A note that has been recalled often is revised conservatively: keep its summary's key words and its tags unless the evidence says they are wrong.\n\nRespond with a JSON array and nothing else. Each element is one of:\n{\"op\":\"create\",\"scope\":\"project\"|\"user\",\"claims\":[\"<claim id>\"],\"summary\":\"...\",\"body\":\"...\",\"tags\":[\"...\"],\"type\":\"user\"|\"feedback\"|\"project\"|\"reference\"}\n{\"op\":\"update\",\"id\":\"<note id>\",\"claims\":[\"...\"],\"summary\":\"...\",\"body\":\"...\",\"tags\":[\"...\"],\"type\":\"...\"}\n{\"op\":\"merge\",\"ids\":[\"<note id>\",\"<note id>\"],\"claims\":[\"...\"],\"summary\":\"...\",\"body\":\"...\",\"tags\":[\"...\"],\"type\":\"...\"}\n{\"op\":\"stale\",\"id\":\"<note id>\",\"claims\":[\"...\"],\"reason\":\"...\"}\n{\"op\":\"conflict\",\"id\":\"<note id>\",\"claims\":[\"...\"],\"reason\":\"...\"}\n\nReturn [] when nothing should change.";
67
+ /** The prompt for one scope: claims with their evidence, notes with their history. */
68
+ export declare function dreamPrompt(claims: readonly DigestClaim[], notes: readonly DreamNote[], now?: number): string;
69
+ /**
70
+ * The notes a dream may touch: those most related to each claim, and every
71
+ * note a claim says was recalled when it was made, whether or not the ranker
72
+ * finds it. Bodies are shown in full, so the set is bounded.
73
+ */
74
+ export declare function chooseNotes(claims: readonly DigestClaim[], notes: readonly DreamNote[], limit?: number, bodyBudget?: number): DreamNote[];
75
+ /**
76
+ * Validate a dream reply against what it was shown. Operations on notes it
77
+ * was not shown, citing claims it was not given, or crossing scopes are
78
+ * dropped; so is a second operation on a note already touched.
79
+ */
80
+ export declare function parseDreamOps(reply: string, claims: readonly DigestClaim[], notes: readonly DreamNote[]): DreamOp[];
81
+ /**
82
+ * Whether an operation may be applied without asking. Conservative by
83
+ * design: an inference from one conversation, a user-wide preference drawn
84
+ * from inference, anything about lapsed or contradicted notes, and edits to
85
+ * notes changed by hand since a dream last wrote them all wait for a person.
86
+ *
87
+ * `dreamWrote` maps a note id to the hash a dream last left it at, when one did.
88
+ */
89
+ export declare function dispose(op: DreamOp, claims: readonly DigestClaim[], dreamWrote?: ReadonlyMap<string, string>): DisposedOp;
90
+ export interface DreamRun {
91
+ claims: readonly DigestClaim[];
92
+ /** Every note in the scope; `chooseNotes` picks the ones shown. */
93
+ notes: readonly DreamNote[];
94
+ generate(system: string, prompt: string, signal?: AbortSignal): Promise<string>;
95
+ dreamWrote?: ReadonlyMap<string, string>;
96
+ now?: number;
97
+ signal?: AbortSignal;
98
+ }
99
+ export interface DreamResult {
100
+ ops: DisposedOp[];
101
+ shown: DreamNote[];
102
+ chars: number;
103
+ }
104
+ /** One model call for one scope. Writes nothing. */
105
+ export declare function dreamScope(run: DreamRun): Promise<DreamResult>;
106
+ export {};