@lemoncat7/dsh-partner 1.1.6 → 1.4.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 (88) hide show
  1. package/README.md +21 -6
  2. package/lib/agent-runtime.d.ts +46 -3
  3. package/lib/agent-runtime.d.ts.map +1 -1
  4. package/lib/agent-runtime.js +599 -50
  5. package/lib/agent-runtime.js.map +1 -1
  6. package/lib/api.d.ts +2 -0
  7. package/lib/api.d.ts.map +1 -1
  8. package/lib/api.js +44 -4
  9. package/lib/api.js.map +1 -1
  10. package/lib/autonomy.d.ts +2 -7
  11. package/lib/autonomy.d.ts.map +1 -1
  12. package/lib/autonomy.js +40 -28
  13. package/lib/autonomy.js.map +1 -1
  14. package/lib/channels/manager.d.ts +1 -0
  15. package/lib/channels/manager.d.ts.map +1 -1
  16. package/lib/channels/manager.js +11 -3
  17. package/lib/channels/manager.js.map +1 -1
  18. package/lib/client-api.d.ts +60 -0
  19. package/lib/client-api.d.ts.map +1 -1
  20. package/lib/client-api.js.map +1 -1
  21. package/lib/client.d.ts.map +1 -1
  22. package/lib/client.js +1880 -620
  23. package/lib/client.js.map +4 -4
  24. package/lib/concern-domain.d.ts +132 -0
  25. package/lib/concern-domain.d.ts.map +1 -0
  26. package/lib/concern-domain.js +212 -0
  27. package/lib/concern-domain.js.map +1 -0
  28. package/lib/concern-notification.d.ts +6 -0
  29. package/lib/concern-notification.d.ts.map +1 -0
  30. package/lib/concern-notification.js +27 -0
  31. package/lib/concern-notification.js.map +1 -0
  32. package/lib/concern-sources.d.ts +10 -0
  33. package/lib/concern-sources.d.ts.map +1 -0
  34. package/lib/concern-sources.js +81 -0
  35. package/lib/concern-sources.js.map +1 -0
  36. package/lib/concern-store.d.ts +68 -0
  37. package/lib/concern-store.d.ts.map +1 -0
  38. package/lib/concern-store.js +611 -0
  39. package/lib/concern-store.js.map +1 -0
  40. package/lib/concern-tool.d.ts +25 -0
  41. package/lib/concern-tool.d.ts.map +1 -0
  42. package/lib/concern-tool.js +145 -0
  43. package/lib/concern-tool.js.map +1 -0
  44. package/lib/daily-review.d.ts +3 -1
  45. package/lib/daily-review.d.ts.map +1 -1
  46. package/lib/daily-review.js +8 -2
  47. package/lib/daily-review.js.map +1 -1
  48. package/lib/domain.d.ts +4 -1
  49. package/lib/domain.d.ts.map +1 -1
  50. package/lib/domain.js +23 -0
  51. package/lib/domain.js.map +1 -1
  52. package/lib/glass-surface.d.ts +20 -0
  53. package/lib/glass-surface.d.ts.map +1 -0
  54. package/lib/glass-surface.js +119 -0
  55. package/lib/glass-surface.js.map +1 -0
  56. package/lib/heartbeat.d.ts +10 -2
  57. package/lib/heartbeat.d.ts.map +1 -1
  58. package/lib/heartbeat.js +81 -17
  59. package/lib/heartbeat.js.map +1 -1
  60. package/lib/index.d.ts.map +1 -1
  61. package/lib/index.js +36 -5
  62. package/lib/index.js.map +1 -1
  63. package/lib/memory-domain.d.ts +39 -7
  64. package/lib/memory-domain.d.ts.map +1 -1
  65. package/lib/memory-prompt-context.d.ts +20 -0
  66. package/lib/memory-prompt-context.d.ts.map +1 -0
  67. package/lib/memory-prompt-context.js +138 -0
  68. package/lib/memory-prompt-context.js.map +1 -0
  69. package/lib/memory-reflection.d.ts +8 -3
  70. package/lib/memory-reflection.d.ts.map +1 -1
  71. package/lib/memory-reflection.js +80 -19
  72. package/lib/memory-reflection.js.map +1 -1
  73. package/lib/memory-store.d.ts +13 -1
  74. package/lib/memory-store.d.ts.map +1 -1
  75. package/lib/memory-store.js +182 -8
  76. package/lib/memory-store.js.map +1 -1
  77. package/lib/profile-domain.d.ts +7 -0
  78. package/lib/profile-domain.d.ts.map +1 -0
  79. package/lib/profile-domain.js +56 -0
  80. package/lib/profile-domain.js.map +1 -0
  81. package/lib/store.d.ts.map +1 -1
  82. package/lib/store.js +39 -3
  83. package/lib/store.js.map +1 -1
  84. package/lib/time-format.d.ts +2 -0
  85. package/lib/time-format.d.ts.map +1 -0
  86. package/lib/time-format.js +20 -0
  87. package/lib/time-format.js.map +1 -0
  88. package/package.json +3 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glass-surface.js","sourceRoot":"","sources":["../src/glass-surface.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,GAIT,MAAM,OAAO,CAAA;AA2Bd,SAAS,yBAAyB,CAAC,QAAgB;IACjD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,KAAK,CAAA;IAClF,IAAI,MAAM,CAAC,UAAU,CAAC,wCAAwC,CAAC,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IACrF,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;IACrC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1H,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC3C,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,QAAQ,GAAG,CAAA;IAChD,OAAO,KAAK,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,CAAA;AAC1C,CAAC;AAED,SAAS,eAAe,CACtB,KAAa,EACb,MAAc,EACd,MAAc,EACd,WAAmB,EACnB,UAAkB,EAClB,OAAe,EACf,IAAY,EACZ,aAAqB,EACrB,cAAsB;IAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,WAAW,GAAG,EAAE,CAAC,CAAA;IACpE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAA;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAA;IAClD,MAAM,GAAG,GAAG,qBAAqB,KAAK,IAAI,MAAM;;4BAEtB,aAAa;4BACb,cAAc;;mBAEvB,KAAK,aAAa,MAAM;mBACxB,KAAK,aAAa,MAAM,SAAS,MAAM,gBAAgB,aAAa;mBACpE,KAAK,aAAa,MAAM,SAAS,MAAM,gBAAgB,cAAc;eACzE,IAAI,QAAQ,IAAI,YAAY,UAAU,aAAa,WAAW,SAAS,MAAM,oBAAoB,UAAU,OAAO,OAAO,yBAAyB,IAAI;SAC5J,CAAA;IACP,OAAO,sBAAsB,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,EAAE,EAAE,OAAO,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,GAAG,GAAG,EACjB,UAAU,GAAG,EAAE,EACf,IAAI,GAAG,EAAE,EACT,eAAe,GAAG,CAAC,EAAE,EACrB,WAAW,GAAG,KAAK,EACnB,OAAO,GAAG,GAAG,EACb,UAAU,GAAG,IAAI,EACjB,GAAG,YAAY,EACG;IAClB,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,wBAAwB,QAAQ,EAAE,CAAA;IACnD,MAAM,aAAa,GAAG,qBAAqB,QAAQ,EAAE,CAAA;IACrD,MAAM,cAAc,GAAG,sBAAsB,QAAQ,EAAE,CAAA;IACvD,MAAM,YAAY,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,MAAM,CAA8B,IAAI,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,MAAM,CAA8B,IAAI,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAG,MAAM,CAA8B,IAAI,CAAC,CAAA;IACzD,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC/B,MAAM,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAA;IACtD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAA;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC9B,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;YAAE,OAAM;QAC9C,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,KAAK,GAAG,CAAC,CAAA;YACT,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAA;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YACnD,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CACxC,KAAK,EACL,MAAM,EACN,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EACnD,WAAW,EACX,UAAU,EACV,OAAO,EACP,IAAI,EACJ,aAAa,EACb,cAAc,CACf,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,IAAI,KAAK,KAAK,CAAC;gBAAE,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;QACxD,CAAC,CAAA;QACD,MAAM,QAAQ,GAAG,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAA;QACjG,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAC1B,QAAQ,EAAE,CAAA;QACV,OAAO,GAAG,EAAE;YACV,IAAI,KAAK,KAAK,CAAC;gBAAE,oBAAoB,CAAC,KAAK,CAAC,CAAA;YAC5C,QAAQ,EAAE,UAAU,EAAE,CAAA;QACxB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;IAEzF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QAC1B,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvH,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IAErB,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;QACnB,IAAI,aAAa,CAAC,OAAO,KAAK,CAAC;YAAE,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC9E,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,aAAa,CAAC,OAAO,GAAG,CAAC,CAAA;QACzB,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAA;QACpC,IAAI,OAAO,KAAK,IAAI;YAAE,OAAM;QAC5B,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;QAChF,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;IAClF,CAAC,CAAA;IACD,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,IAAI,aAAa,CAAC,OAAO,KAAK,CAAC;YAAE,aAAa,CAAC,OAAO,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAA;IAC7F,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,OAAe,EAAQ,EAAE;QAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAA;QACpC,IAAI,CAAC,WAAW,IAAI,OAAO,KAAK,IAAI;YAAE,OAAM;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAA;QAC5C,gBAAgB,CAAC,OAAO,GAAG;YACzB,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;YACvE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;SACxE,CAAA;QACD,aAAa,EAAE,CAAA;IACjB,CAAC,CAAA;IACD,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,IAAI,CAAC,WAAW;YAAE,OAAM;QACxB,gBAAgB,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;QAC3C,aAAa,EAAE,CAAA;IACjB,CAAC,CAAA;IAED,MAAM,KAAK,GAAe;QACxB,2BAA2B,EAAE,QAAQ,QAAQ,GAAG;QAChD,4BAA4B,EAAE,UAAU;QACxC,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;KAC3B,CAAA;IAED,OAAO,MAAC,OAAO,OACT,YAAY,EAChB,GAAG,EAAE,YAAqB,EAC1B,SAAS,EAAE,6BAA6B,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,EAAE,EACrI,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EACzF,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,aAEpD,cAAK,SAAS,EAAC,0BAA0B,EAAC,KAAK,EAAC,4BAA4B,iBAAa,MAAM,EAAC,SAAS,EAAC,OAAO,YAC/G,yBACE,kBAAQ,EAAE,EAAE,QAAQ,EAAE,yBAAyB,EAAC,MAAM,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,aAC7F,kBAAS,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,mBAAmB,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,GAAG,EACzG,4BAAmB,GAAG,EAAE,MAAM,EAAE,EAAE,EAAC,eAAe,EAAC,GAAG,EAAC,KAAK,EAAC,MAAM,EAAC,eAAe,GAAG,EACtF,wBAAe,EAAE,EAAC,eAAe,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,4CAA4C,EAAC,MAAM,EAAC,KAAK,GAAG,EACnH,4BAAmB,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAC,eAAe,EAAC,GAAG,EAAC,KAAK,EAAC,MAAM,EAAC,iBAAiB,GAAG,EAC1F,wBAAe,EAAE,EAAC,iBAAiB,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,4CAA4C,EAAC,MAAM,EAAC,OAAO,GAAG,EACvH,4BAAmB,GAAG,EAAE,OAAO,EAAE,EAAE,EAAC,eAAe,EAAC,GAAG,EAAC,KAAK,EAAC,MAAM,EAAC,gBAAgB,GAAG,EACxF,wBAAe,EAAE,EAAC,gBAAgB,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,4CAA4C,EAAC,MAAM,EAAC,MAAM,GAAG,EACrH,kBAAS,EAAE,EAAC,KAAK,EAAC,GAAG,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,WAAW,GAAG,EACjE,kBAAS,EAAE,EAAC,WAAW,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,QAAQ,GAAG,EACnE,yBAAgB,EAAE,EAAC,QAAQ,EAAC,YAAY,EAAC,KAAK,GAAG,IAC1C,GACJ,GACH,EACL,QAAQ,IACD,CAAA;AACZ,CAAC"}
@@ -1,20 +1,26 @@
1
1
  import type { Context } from '@deepseek-ai/cordis';
2
2
  import { PartnerStore } from './store.js';
3
3
  import { PartnerAgentRuntime } from './agent-runtime.js';
4
+ import { PartnerConcernStore } from './concern-store.js';
4
5
  import { ChannelManager } from './channels/manager.js';
6
+ export interface HeartbeatTriggerOptions {
7
+ manual?: boolean;
8
+ concernId?: string;
9
+ }
5
10
  export declare class HeartbeatScheduler {
6
11
  private readonly ctx;
7
12
  private readonly store;
8
13
  private readonly agents;
9
14
  private readonly channels;
15
+ private readonly concerns;
10
16
  private readonly timeZone;
11
17
  private timer;
12
18
  private closed;
13
19
  private readonly running;
14
- constructor(ctx: Context, store: PartnerStore, agents: PartnerAgentRuntime, channels: ChannelManager, timeZone?: string);
20
+ constructor(ctx: Context, store: PartnerStore, agents: PartnerAgentRuntime, channels: ChannelManager, concerns: PartnerConcernStore, timeZone?: string);
15
21
  start(): void;
16
22
  close(): Promise<void>;
17
- trigger(companionId: string, force?: boolean): Promise<{
23
+ trigger(companionId: string, options?: HeartbeatTriggerOptions): Promise<{
18
24
  checked: boolean;
19
25
  sent: boolean;
20
26
  reason?: string;
@@ -22,10 +28,12 @@ export declare class HeartbeatScheduler {
22
28
  private schedule;
23
29
  private tick;
24
30
  private run;
31
+ private recordActivity;
25
32
  private saveState;
26
33
  }
27
34
  export declare function quiet(now: number, start: number, end: number, timeZone?: string): boolean;
28
35
  export declare function nextAllowedTime(now: number, hour: number, timeZone?: string): number;
29
36
  export declare function nextDay(now: number, hour: number, timeZone?: string): number;
30
37
  export declare function localDay(now: number, timeZone?: string): string;
38
+ export declare function heartbeatRetryAt(now: number, intervalMinutes: number, failures: number): number;
31
39
  //# sourceMappingURL=heartbeat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD,qBAAa,kBAAkB;IAM3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAGzB,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,cAAc,EACxB,QAAQ,SAAkB;IAG7C,KAAK,IAAI,IAAI;IAKP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAUhH,OAAO,CAAC,QAAQ;YASF,IAAI;YAeJ,GAAG;YAuCH,SAAS;CAMxB;AA2BD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,OAAO,CAIlG;AACD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,MAAM,CAE7F;AACD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,MAAM,CAErF;AACD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,MAAM,CAGxE"}
1
+ {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAe,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD,MAAM,WAAW,uBAAuB;IAAG,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;AAEjF,qBAAa,kBAAkB;IAM3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV3B,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAGzB,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,SAAkB;IAG7C,KAAK,IAAI,IAAI;IAKP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAUxI,OAAO,CAAC,QAAQ;YASF,IAAI;YAeJ,GAAG;YAiFH,cAAc;YAYd,SAAS;CAMxB;AA2BD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,OAAO,CAIlG;AACD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,MAAM,CAE7F;AACD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,MAAM,CAErF;AACD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,MAAM,CAGxE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI/F"}
package/lib/heartbeat.js CHANGED
@@ -1,18 +1,21 @@
1
+ import { memoryScope } from './agent-runtime.js';
1
2
  const TICK_MS = 60_000;
2
3
  export class HeartbeatScheduler {
3
4
  ctx;
4
5
  store;
5
6
  agents;
6
7
  channels;
8
+ concerns;
7
9
  timeZone;
8
10
  timer;
9
11
  closed = false;
10
12
  running = new Set();
11
- constructor(ctx, store, agents, channels, timeZone = 'Asia/Shanghai') {
13
+ constructor(ctx, store, agents, channels, concerns, timeZone = 'Asia/Shanghai') {
12
14
  this.ctx = ctx;
13
15
  this.store = store;
14
16
  this.agents = agents;
15
17
  this.channels = channels;
18
+ this.concerns = concerns;
16
19
  this.timeZone = timeZone;
17
20
  }
18
21
  start() {
@@ -26,17 +29,17 @@ export class HeartbeatScheduler {
26
29
  clearTimeout(this.timer);
27
30
  this.timer = undefined;
28
31
  }
29
- async trigger(companionId, force = false) {
32
+ async trigger(companionId, options = {}) {
30
33
  if (this.running.has(companionId))
31
34
  return { checked: false, sent: false, reason: '心跳正在执行' };
32
35
  const companion = this.store.snapshot().companions.find(item => item.id === companionId);
33
36
  if (companion === undefined)
34
37
  throw new Error('伙伴不存在');
35
- if (!force && !companion.automation.heartbeat.enabled)
38
+ if (!options.manual && !companion.automation.heartbeat.enabled)
36
39
  return { checked: false, sent: false, reason: '心跳未启用' };
37
40
  this.running.add(companionId);
38
41
  try {
39
- return await this.run(companion, force);
42
+ return await this.run(companion, options);
40
43
  }
41
44
  finally {
42
45
  this.running.delete(companionId);
@@ -64,36 +67,80 @@ export class HeartbeatScheduler {
64
67
  const state = stored;
65
68
  if (state.nextCheckAt > now)
66
69
  continue;
67
- await this.trigger(companion.id).catch(error => this.ctx.logger.warn(`dsh-partner heartbeat for ${companion.id} failed: ${message(error)}`));
70
+ void this.trigger(companion.id).catch(error => this.ctx.logger.warn(`dsh-partner heartbeat for ${companion.id} failed: ${message(error)}`));
68
71
  }
69
72
  }
70
- async run(companion, force) {
73
+ async run(companion, options) {
71
74
  const now = Date.now();
72
75
  const policy = companion.automation.heartbeat;
73
76
  const existing = heartbeatState(this.store.snapshot().heartbeatStates, companion, now, this.timeZone);
74
77
  const today = localDay(now, this.timeZone);
75
78
  const sentCount = existing.sentDay === today ? existing.sentCount : 0;
76
- if (!force && quiet(now, policy.quietStartHour, policy.quietEndHour, this.timeZone)) {
79
+ if (!options.manual && quiet(now, policy.quietStartHour, policy.quietEndHour, this.timeZone)) {
77
80
  await this.saveState(companion, { ...existing, nextCheckAt: nextAllowedTime(now, policy.quietEndHour, this.timeZone), sentDay: today, sentCount });
78
81
  return { checked: false, sent: false, reason: '静默时段' };
79
82
  }
80
- if (!force && policy.dailyLimit > 0 && sentCount >= policy.dailyLimit) {
83
+ if (!options.manual && policy.dailyLimit > 0 && sentCount >= policy.dailyLimit) {
81
84
  await this.saveState(companion, { ...existing, nextCheckAt: nextDay(now, policy.quietEndHour, this.timeZone), sentDay: today, sentCount });
82
85
  return { checked: false, sent: false, reason: '达到今日主动提醒上限' };
83
86
  }
84
- const route = latestDeliverableRoute(this.store.snapshot(), companion.id);
85
- if (route === undefined) {
87
+ const routes = deliverableRoutes(this.store.snapshot(), companion.id);
88
+ if (routes.length === 0) {
86
89
  await this.saveState(companion, successState(existing, companion, now, today, sentCount, false));
87
90
  return { checked: false, sent: false, reason: '没有可投递的已批准微信会话' };
88
91
  }
92
+ let route = routes[0];
93
+ let execution;
89
94
  try {
90
- const output = await this.agents.heartbeat(companion, route);
91
- if (!output) {
95
+ if (options.concernId === undefined) {
96
+ for (const candidate of routes) {
97
+ const pending = await this.concerns.pendingNotifications(companion.id, memoryScope(candidate.channelId, candidate.userId));
98
+ if (pending.length === 0)
99
+ continue;
100
+ await this.channels.sendProactive(candidate.channelId, candidate.userId, notificationMessage(pending));
101
+ await this.concerns.markMentioned(companion.id, pending.map(item => item.id));
102
+ await this.saveState(companion, successState(existing, companion, now, today, sentCount + 1, true));
103
+ return { checked: false, sent: true, reason: '已补发此前未送达的重要变化' };
104
+ }
105
+ }
106
+ let due = [];
107
+ for (const candidate of routes) {
108
+ const candidateDue = await this.concerns.due(companion.id, memoryScope(candidate.channelId, candidate.userId), {
109
+ now, limit: options.concernId ? 1 : 12, includeFuture: options.concernId !== undefined,
110
+ ...(options.concernId === undefined ? {} : { concernId: options.concernId }),
111
+ });
112
+ if (candidateDue.length === 0)
113
+ continue;
114
+ route = candidate;
115
+ due = candidateDue;
116
+ break;
117
+ }
118
+ if (due.length === 0) {
119
+ await this.saveState(companion, {
120
+ ...existing,
121
+ nextCheckAt: now + policy.intervalMinutes * 60_000,
122
+ sentDay: today,
123
+ sentCount,
124
+ });
125
+ return { checked: false, sent: false, reason: options.concernId ? '这条挂念已不存在或当前无需留意' : '当前没有到期的伙伴挂念' };
126
+ }
127
+ execution = await this.agents.heartbeat(companion, route, due);
128
+ if (execution.error)
129
+ throw new Error(execution.error);
130
+ const recorded = await this.concerns.recordObservations(due, execution.candidates, Date.now(), now - route.lastMessageAt < 15 * 60_000);
131
+ execution = { ...execution, observations: recorded.observations };
132
+ await this.agents.persistKnowledgeObservations(companion, route, due, recorded.observations).catch(error => {
133
+ this.ctx.logger.warn(`dsh-partner could not persist knowledge-linked observations: ${message(error)}`);
134
+ });
135
+ if (recorded.notifications.length === 0) {
92
136
  await this.saveState(companion, successState(existing, companion, now, today, sentCount, false));
93
- return { checked: true, sent: false, reason: '没有值得主动通知的内容' };
137
+ await this.recordActivity(companion, route, execution, 'quiet');
138
+ return { checked: true, sent: false, reason: recorded.observations.length > 0 ? '变化已进入伙伴动态或顺手一提' : '没有发现可靠的新变化' };
94
139
  }
95
- await this.channels.sendProactive(route.channelId, route.userId, output);
140
+ await this.channels.sendProactive(route.channelId, route.userId, notificationMessage(recorded.notifications));
141
+ await this.concerns.markMentioned(companion.id, recorded.notifications.map(item => item.id));
96
142
  await this.saveState(companion, successState(existing, companion, now, today, sentCount + 1, true));
143
+ await this.recordActivity(companion, route, execution, 'notified');
97
144
  return { checked: true, sent: true };
98
145
  }
99
146
  catch (error) {
@@ -101,11 +148,18 @@ export class HeartbeatScheduler {
101
148
  await this.saveState(companion, {
102
149
  ...existing, companionId: companion.id, lastCheckedAt: now, sentDay: today, sentCount,
103
150
  consecutiveFailures: failures, lastError: message(error),
104
- nextCheckAt: now + Math.min(6 * 3_600_000, 60_000 * 2 ** Math.min(failures, 8)),
151
+ nextCheckAt: heartbeatRetryAt(now, policy.intervalMinutes, failures),
105
152
  });
153
+ if (execution)
154
+ await this.recordActivity(companion, route, execution, 'failed', message(error));
106
155
  throw error;
107
156
  }
108
157
  }
158
+ async recordActivity(companion, route, execution, outcome, deliveryError) {
159
+ await this.agents.recordHeartbeatActivity(companion, route, execution, outcome, deliveryError).catch(error => {
160
+ this.ctx.logger.warn(`dsh-partner could not record heartbeat activity for ${companion.id}: ${message(error)}`);
161
+ });
162
+ }
109
163
  async saveState(companion, next) {
110
164
  await this.store.update(state => {
111
165
  state.heartbeatStates = state.heartbeatStates.filter(item => item.companionId !== companion.id);
@@ -128,12 +182,12 @@ function successState(previous, companion, now, sentDay, sentCount, sent) {
128
182
  sentDay, sentCount, consecutiveFailures: 0,
129
183
  };
130
184
  }
131
- function latestDeliverableRoute(state, companionId) {
185
+ function deliverableRoutes(state, companionId) {
132
186
  return state.sessions
133
187
  .filter(route => route.companionId === companionId
134
188
  && state.channels.some(channel => channel.id === route.channelId && channel.enabled)
135
189
  && state.pairings.some(pairing => pairing.channelId === route.channelId && pairing.userId === route.userId && pairing.status === 'approved'))
136
- .sort((a, b) => b.lastMessageAt - a.lastMessageAt)[0];
190
+ .sort((a, b) => b.lastMessageAt - a.lastMessageAt);
137
191
  }
138
192
  export function quiet(now, start, end, timeZone = 'Asia/Shanghai') {
139
193
  if (start === end)
@@ -151,6 +205,11 @@ export function localDay(now, timeZone = 'Asia/Shanghai') {
151
205
  const part = zonedParts(now, timeZone);
152
206
  return `${part.year}-${String(part.month).padStart(2, '0')}-${String(part.day).padStart(2, '0')}`;
153
207
  }
208
+ export function heartbeatRetryAt(now, intervalMinutes, failures) {
209
+ const configuredInterval = intervalMinutes * 60_000;
210
+ const failureBackoff = Math.min(6 * 3_600_000, 60_000 * 2 ** Math.min(failures, 10));
211
+ return now + Math.max(configuredInterval, failureBackoff);
212
+ }
154
213
  function nextZonedHour(now, hour, timeZone, requireNextDay) {
155
214
  const currentDay = localDay(now, timeZone);
156
215
  let candidate = Math.floor(now / 60_000) * 60_000 + 60_000;
@@ -184,4 +243,9 @@ function formatter(timeZone) {
184
243
  return value;
185
244
  }
186
245
  function message(error) { return error instanceof Error ? error.message : String(error); }
246
+ function notificationMessage(items) {
247
+ return items.length === 1
248
+ ? items[0].event
249
+ : `有几件之前惦记的事出现了值得留意的变化:\n${items.map(item => `- ${item.event}`).join('\n')}`;
250
+ }
187
251
  //# sourceMappingURL=heartbeat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAMlD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAiB,KAAK,MAAM,IAAI,aAAa,EAAE,MAAM,aAAa,CAAA;AAYjG,eAAO,MAAM,MAAM,0DAAe,CAAA;AAClC,MAAM,MAAM,MAAM,GAAG,aAAa,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,eAAO,MAAM,IAAI,gBAAgB,CAAA;AACjC,eAAO,MAAM,MAAM,UAA6J,CAAA;AAYhL,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA6CnE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAMlD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAiB,KAAK,MAAM,IAAI,aAAa,EAAE,MAAM,aAAa,CAAA;AAcjG,eAAO,MAAM,MAAM,0DAAe,CAAA;AAClC,MAAM,MAAM,MAAM,GAAG,aAAa,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,eAAO,MAAM,IAAI,gBAAgB,CAAA;AACjC,eAAO,MAAM,MAAM,UAA6J,CAAA;AAYhL,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA4DnE"}
package/lib/index.js CHANGED
@@ -9,6 +9,8 @@ import { HeartbeatScheduler } from './heartbeat.js';
9
9
  import { PartnerMemoryStore } from './memory-store.js';
10
10
  import { MemoryReflectionService } from './memory-reflection.js';
11
11
  import { DailyReviewScheduler } from './daily-review.js';
12
+ import { PartnerConcernStore } from './concern-store.js';
13
+ import { registerPartnerConcernTool } from './concern-tool.js';
12
14
  export const Config = ConfigSchema;
13
15
  export * from './domain.js';
14
16
  export const name = 'dsh-partner';
@@ -20,21 +22,37 @@ export function apply(context, config) {
20
22
  const store = await PartnerStore.open(resolved.statePath);
21
23
  const credentials = new PartnerCredentialVault(ctx.credentials);
22
24
  const memory = new PartnerMemoryStore(resolved.defaultCwd, resolved.timeZone);
25
+ const concerns = new PartnerConcernStore(resolved.defaultCwd);
23
26
  for (const companion of store.snapshot().companions) {
24
27
  const migrated = await memory.migrateLegacy(companion.id);
25
28
  if (migrated > 0)
26
29
  ctx.logger.info(`dsh-partner: migrated ${migrated} legacy memory records for ${companion.id}`);
30
+ const legacyRows = await memory.legacyHeartbeatFocuses(companion.id);
31
+ const seeds = [
32
+ ...legacyTopics(companion.automation.heartbeat.legacyFocus).map(subject => ({
33
+ scopeId: '*', subject, reason: '用户在旧版心跳中明确要求留意', confidence: 1, origin: 'explicit',
34
+ })),
35
+ ...legacyRows.map(item => ({ ...item, origin: 'implicit' })),
36
+ ];
37
+ await concerns.migrateLegacy(companion.id, seeds);
38
+ await memory.dropLegacyHeartbeatFocuses(companion.id);
27
39
  }
28
- const reflection = new MemoryReflectionService(ctx, memory);
29
- const agents = new PartnerAgentRuntime(ctx, store, resolved.defaultCwd, memory, reflection);
40
+ if (store.snapshot().companions.some(item => item.automation.heartbeat.legacyFocus))
41
+ await store.update(state => {
42
+ for (const companion of state.companions)
43
+ delete companion.automation.heartbeat.legacyFocus;
44
+ });
45
+ const reflection = new MemoryReflectionService(ctx, memory, concerns);
46
+ const agents = new PartnerAgentRuntime(ctx, store, resolved.defaultCwd, memory, reflection, concerns);
47
+ const disposeConcernTool = registerPartnerConcernTool(ctx, store, concerns);
30
48
  const channels = new ChannelManager(ctx, store, credentials, agents);
31
49
  const disposeSessionObserver = ctx.on('session/event', (session, event) => {
32
50
  void agents.observeSessionEvent(session, event).catch(error => ctx.logger.warn(`dsh-partner memory reflection failed: ${error instanceof Error ? error.message : String(error)}`));
33
51
  void channels.observeAutonomousResult(session, event).catch(error => ctx.logger.warn(`dsh-partner autonomous delivery failed: ${error instanceof Error ? error.message : String(error)}`));
34
52
  });
35
53
  channels.startInteractionBridge();
36
- const heartbeat = new HeartbeatScheduler(ctx, store, agents, channels, resolved.timeZone);
37
- const dailyReview = new DailyReviewScheduler(ctx, store, memory, reflection, resolved.timeZone);
54
+ const heartbeat = new HeartbeatScheduler(ctx, store, agents, channels, concerns, resolved.timeZone);
55
+ const dailyReview = new DailyReviewScheduler(ctx, store, memory, reflection, agents, resolved.timeZone);
38
56
  const login = new WeixinLoginManager();
39
57
  let disposeApi;
40
58
  const mountApi = (runtime) => {
@@ -43,7 +61,7 @@ export function apply(context, config) {
43
61
  const webServer = runtime.webServer ?? runtime.get('webServer');
44
62
  if (webServer === undefined)
45
63
  throw new Error('dsh-partner exposeWeb requires webServer');
46
- disposeApi = registerPartnerApi(webServer, resolved.apiPrefix, { ctx, store, credentials, channels, agents, login, memory, heartbeat, dailyReview });
64
+ disposeApi = registerPartnerApi(webServer, resolved.apiPrefix, { ctx, store, credentials, channels, agents, login, memory, concerns, heartbeat, dailyReview });
47
65
  };
48
66
  if (ctx.inject !== undefined)
49
67
  ctx.inject(['webServer'], mountApi);
@@ -59,6 +77,7 @@ export function apply(context, config) {
59
77
  return async () => {
60
78
  disposeApi?.();
61
79
  disposeSessionObserver();
80
+ disposeConcernTool();
62
81
  await heartbeat.close();
63
82
  await dailyReview.close();
64
83
  await channels.close();
@@ -66,4 +85,16 @@ export function apply(context, config) {
66
85
  };
67
86
  }, 'dsh-partner.runtime');
68
87
  }
88
+ function legacyTopics(value) {
89
+ if (!value)
90
+ return [];
91
+ const seen = new Set();
92
+ return value.split(/[\r\n;;]+/).map(item => item.replace(/\s+/g, ' ').trim()).filter(item => {
93
+ const key = item.toLocaleLowerCase().replace(/\s+/g, '');
94
+ if (!key || seen.has(key))
95
+ return false;
96
+ seen.add(key);
97
+ return true;
98
+ });
99
+ }
69
100
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { AppliedConcernLifecycleDirective, ConcernCandidate } from './concern-domain.js';
1
2
  export type MemoryKind = 'profile' | 'preference' | 'task' | 'event' | 'relationship' | 'emotion';
2
3
  export type MemoryStatus = 'active' | 'completed' | 'superseded' | 'expired';
3
4
  export interface ConversationTurn {
@@ -8,6 +9,7 @@ export interface ConversationTurn {
8
9
  at: number;
9
10
  user: string;
10
11
  assistant: string;
12
+ concernDirective?: AppliedConcernLifecycleDirective;
11
13
  }
12
14
  export interface MemoryEvidence {
13
15
  turnId: string;
@@ -30,6 +32,20 @@ export interface PartnerMemory {
30
32
  locked?: boolean;
31
33
  evidence: MemoryEvidence[];
32
34
  }
35
+ export interface UserProfileSnapshot {
36
+ companionId: string;
37
+ scopeId: string;
38
+ version: string;
39
+ updatedAt?: number;
40
+ entries: PartnerMemory[];
41
+ evidenceCount: number;
42
+ lockedCount: number;
43
+ }
44
+ export interface MemoryRecallContext {
45
+ profile: UserProfileSnapshot;
46
+ relevant: PartnerMemory[];
47
+ connections: MemoryContextConnection[];
48
+ }
33
49
  export interface DailyReflection {
34
50
  date: string;
35
51
  companionId: string;
@@ -54,6 +70,7 @@ export interface MemoryCandidate {
54
70
  export interface ReflectionResult {
55
71
  daily: Pick<DailyReflection, 'summary' | 'events' | 'openTasks' | 'completedTasks' | 'learnings'>;
56
72
  memories: MemoryCandidate[];
73
+ concerns: ConcernCandidate[];
57
74
  }
58
75
  export type MemoryRelationKind = 'supports' | 'depends_on' | 'about' | 'conflicts_with' | 'follows';
59
76
  export interface MemoryRelation {
@@ -67,19 +84,34 @@ export interface MemoryRelation {
67
84
  confidence: number;
68
85
  updatedAt: number;
69
86
  }
87
+ export interface MemoryContextConnection {
88
+ relation: MemoryRelation;
89
+ source: PartnerMemory;
90
+ target: PartnerMemory;
91
+ }
70
92
  export interface DailyReviewTarget {
71
93
  companionId: string;
72
94
  scopeId: string;
73
95
  date: string;
74
96
  attempts: number;
75
97
  }
98
+ export interface MemoryRelationCandidate {
99
+ sourceSubject: string;
100
+ sourceKind?: MemoryKind;
101
+ targetSubject: string;
102
+ targetKind?: MemoryKind;
103
+ kind: MemoryRelationKind;
104
+ label: string;
105
+ confidence: number;
106
+ operation: 'upsert' | 'remove';
107
+ }
108
+ export interface MemoryRelationReviewContext extends MemoryRelation {
109
+ sourceSubject: string;
110
+ sourceKind: MemoryKind;
111
+ targetSubject: string;
112
+ targetKind: MemoryKind;
113
+ }
76
114
  export interface DailyReviewResult extends ReflectionResult {
77
- relations: Array<{
78
- sourceSubject: string;
79
- targetSubject: string;
80
- kind: MemoryRelationKind;
81
- label: string;
82
- confidence: number;
83
- }>;
115
+ relations: MemoryRelationCandidate[];
84
116
  }
85
117
  //# sourceMappingURL=memory-domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-domain.d.ts","sourceRoot":"","sources":["../src/memory-domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-domain.d.ts","sourceRoot":"","sources":["../src/memory-domain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { PartnerConcern } from './concern-domain.js';
2
+ import type { ConversationTurn, DailyReflection, MemoryRelationReviewContext, PartnerMemory } from './memory-domain.js';
3
+ export declare const REFLECTION_MEMORY_CHAR_BUDGET = 6000;
4
+ export declare const REFLECTION_CONCERN_CHAR_BUDGET = 3500;
5
+ export declare const DAILY_TURN_CHAR_BUDGET = 14000;
6
+ export declare const DAILY_MEMORY_CHAR_BUDGET = 8000;
7
+ export declare const DAILY_RELATION_CHAR_BUDGET = 4000;
8
+ export declare const DAILY_CONCERN_CHAR_BUDGET = 3500;
9
+ interface DailyReviewSource {
10
+ reflection: DailyReflection;
11
+ memories: PartnerMemory[];
12
+ existingRelations: MemoryRelationReviewContext[];
13
+ turns: ConversationTurn[];
14
+ }
15
+ export declare function reflectionPromptInput(date: string, turn: ConversationTurn, memories: PartnerMemory[], diary: DailyReflection | undefined, concerns: PartnerConcern[]): string;
16
+ export declare function dailyReviewPromptInput(date: string, context: DailyReviewSource, concerns: PartnerConcern[]): string;
17
+ export declare function compactMemories(memories: PartnerMemory[], limit: number, charBudget: number): Array<Record<string, unknown>>;
18
+ export declare function compactTurns(turns: ConversationTurn[], charBudget: number): Array<Record<string, unknown>>;
19
+ export {};
20
+ //# sourceMappingURL=memory-prompt-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-prompt-context.d.ts","sourceRoot":"","sources":["../src/memory-prompt-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvH,eAAO,MAAM,6BAA6B,OAAQ,CAAA;AAClD,eAAO,MAAM,8BAA8B,OAAQ,CAAA;AACnD,eAAO,MAAM,sBAAsB,QAAS,CAAA;AAC5C,eAAO,MAAM,wBAAwB,OAAQ,CAAA;AAC7C,eAAO,MAAM,0BAA0B,OAAQ,CAAA;AAC/C,eAAO,MAAM,yBAAyB,OAAQ,CAAA;AAE9C,UAAU,iBAAiB;IACzB,UAAU,EAAE,eAAe,CAAA;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,iBAAiB,EAAE,2BAA2B,EAAE,CAAA;IAChD,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAC1B;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,aAAa,EAAE,EACzB,KAAK,EAAE,eAAe,GAAG,SAAS,EAClC,QAAQ,EAAE,cAAc,EAAE,GACzB,MAAM,CAQR;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAcnH;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAkB5H;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAc1G"}