@lemoncat7/dsh-partner 1.12.0 → 1.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 (142) hide show
  1. package/README.md +22 -2
  2. package/docs/architecture.md +4 -0
  3. package/docs/releases/1.14.0.md +24 -0
  4. package/lib/agent-runtime.d.ts +23 -2
  5. package/lib/agent-runtime.d.ts.map +1 -1
  6. package/lib/agent-runtime.js +45 -282
  7. package/lib/agent-runtime.js.map +1 -1
  8. package/lib/api/features/workspace-api.d.ts.map +1 -1
  9. package/lib/api/features/workspace-api.js +7 -0
  10. package/lib/api/features/workspace-api.js.map +1 -1
  11. package/lib/api/http.d.ts +1 -1
  12. package/lib/api/http.d.ts.map +1 -1
  13. package/lib/api/http.js +2 -2
  14. package/lib/api/http.js.map +1 -1
  15. package/lib/api.js +34 -2
  16. package/lib/api.js.map +1 -1
  17. package/lib/autonomy.d.ts.map +1 -1
  18. package/lib/autonomy.js +13 -5
  19. package/lib/autonomy.js.map +1 -1
  20. package/lib/client-api.d.ts +8 -1
  21. package/lib/client-api.d.ts.map +1 -1
  22. package/lib/client-api.js.map +1 -1
  23. package/lib/client.js +1875 -1379
  24. package/lib/client.js.map +4 -4
  25. package/lib/collaboration/composition.js +7 -3
  26. package/lib/collaboration/composition.js.map +1 -1
  27. package/lib/companions/session-recovery.d.ts +7 -0
  28. package/lib/companions/session-recovery.d.ts.map +1 -0
  29. package/lib/companions/session-recovery.js +22 -0
  30. package/lib/companions/session-recovery.js.map +1 -0
  31. package/lib/concern-domain.d.ts +9 -0
  32. package/lib/concern-domain.d.ts.map +1 -1
  33. package/lib/concern-domain.js.map +1 -1
  34. package/lib/concern-recording.d.ts +20 -0
  35. package/lib/concern-recording.d.ts.map +1 -0
  36. package/lib/concern-recording.js +37 -0
  37. package/lib/concern-recording.js.map +1 -0
  38. package/lib/concern-store.d.ts +20 -1
  39. package/lib/concern-store.d.ts.map +1 -1
  40. package/lib/concern-store.js +170 -1
  41. package/lib/concern-store.js.map +1 -1
  42. package/lib/heartbeat.d.ts +16 -0
  43. package/lib/heartbeat.d.ts.map +1 -1
  44. package/lib/heartbeat.js +70 -5
  45. package/lib/heartbeat.js.map +1 -1
  46. package/lib/memory-errors.d.ts +6 -0
  47. package/lib/memory-errors.d.ts.map +1 -0
  48. package/lib/memory-errors.js +12 -0
  49. package/lib/memory-errors.js.map +1 -0
  50. package/lib/memory-journal.js +4 -4
  51. package/lib/memory-journal.js.map +1 -1
  52. package/lib/memory-reflection.d.ts.map +1 -1
  53. package/lib/memory-reflection.js +11 -3
  54. package/lib/memory-reflection.js.map +1 -1
  55. package/lib/memory-store.d.ts +4 -0
  56. package/lib/memory-store.d.ts.map +1 -1
  57. package/lib/memory-store.js +11 -3
  58. package/lib/memory-store.js.map +1 -1
  59. package/lib/observation-budget.d.ts +10 -0
  60. package/lib/observation-budget.d.ts.map +1 -0
  61. package/lib/observation-budget.js +11 -0
  62. package/lib/observation-budget.js.map +1 -0
  63. package/lib/observation-errors.d.ts +22 -0
  64. package/lib/observation-errors.d.ts.map +1 -0
  65. package/lib/observation-errors.js +37 -0
  66. package/lib/observation-errors.js.map +1 -0
  67. package/lib/observation-executor.d.ts +7 -0
  68. package/lib/observation-executor.d.ts.map +1 -0
  69. package/lib/observation-executor.js +23 -0
  70. package/lib/observation-executor.js.map +1 -0
  71. package/lib/observation-loop.d.ts +17 -0
  72. package/lib/observation-loop.d.ts.map +1 -0
  73. package/lib/observation-loop.js +195 -0
  74. package/lib/observation-loop.js.map +1 -0
  75. package/lib/recording-snapshot.d.ts +11 -0
  76. package/lib/recording-snapshot.d.ts.map +1 -0
  77. package/lib/recording-snapshot.js +19 -0
  78. package/lib/recording-snapshot.js.map +1 -0
  79. package/lib/skills/import-request.d.ts +3 -0
  80. package/lib/skills/import-request.d.ts.map +1 -0
  81. package/lib/skills/import-request.js +26 -0
  82. package/lib/skills/import-request.js.map +1 -0
  83. package/lib/skills/package-zip.d.ts +5 -0
  84. package/lib/skills/package-zip.d.ts.map +1 -0
  85. package/lib/skills/package-zip.js +75 -0
  86. package/lib/skills/package-zip.js.map +1 -0
  87. package/lib/skills/package.d.ts +15 -0
  88. package/lib/skills/package.d.ts.map +1 -0
  89. package/lib/skills/package.js +48 -0
  90. package/lib/skills/package.js.map +1 -0
  91. package/lib/skills/repository.d.ts +2 -0
  92. package/lib/skills/repository.d.ts.map +1 -1
  93. package/lib/skills/repository.js +7 -0
  94. package/lib/skills/repository.js.map +1 -1
  95. package/lib/skills/service.d.ts +2 -0
  96. package/lib/skills/service.d.ts.map +1 -1
  97. package/lib/skills/service.js +10 -2
  98. package/lib/skills/service.js.map +1 -1
  99. package/lib/skills/task-planning.d.ts +2 -2
  100. package/lib/skills/task-planning.d.ts.map +1 -1
  101. package/lib/skills/task-planning.js +8 -1
  102. package/lib/skills/task-planning.js.map +1 -1
  103. package/lib/ui/memory/concern-board.d.ts +4 -2
  104. package/lib/ui/memory/concern-board.d.ts.map +1 -1
  105. package/lib/ui/memory/concern-board.js +17 -6
  106. package/lib/ui/memory/concern-board.js.map +1 -1
  107. package/lib/ui/memory/concern-deletion.d.ts +12 -0
  108. package/lib/ui/memory/concern-deletion.d.ts.map +1 -0
  109. package/lib/ui/memory/concern-deletion.js +43 -0
  110. package/lib/ui/memory/concern-deletion.js.map +1 -0
  111. package/lib/ui/memory/concern-editor.d.ts +8 -0
  112. package/lib/ui/memory/concern-editor.d.ts.map +1 -0
  113. package/lib/ui/memory/concern-editor.js +37 -0
  114. package/lib/ui/memory/concern-editor.js.map +1 -0
  115. package/lib/ui/memory/concern-panel.d.ts.map +1 -1
  116. package/lib/ui/memory/concern-panel.js +51 -12
  117. package/lib/ui/memory/concern-panel.js.map +1 -1
  118. package/lib/ui/memory/concern-record-fields.d.ts +10 -0
  119. package/lib/ui/memory/concern-record-fields.d.ts.map +1 -0
  120. package/lib/ui/memory/concern-record-fields.js +7 -0
  121. package/lib/ui/memory/concern-record-fields.js.map +1 -0
  122. package/lib/ui/memory/job-feedback.d.ts +5 -0
  123. package/lib/ui/memory/job-feedback.d.ts.map +1 -0
  124. package/lib/ui/memory/job-feedback.js +7 -0
  125. package/lib/ui/memory/job-feedback.js.map +1 -0
  126. package/lib/ui/memory/memory-panel.d.ts.map +1 -1
  127. package/lib/ui/memory/memory-panel.js +4 -2
  128. package/lib/ui/memory/memory-panel.js.map +1 -1
  129. package/lib/ui/memory/record-target-picker.d.ts +7 -0
  130. package/lib/ui/memory/record-target-picker.d.ts.map +1 -0
  131. package/lib/ui/memory/record-target-picker.js +33 -0
  132. package/lib/ui/memory/record-target-picker.js.map +1 -0
  133. package/lib/ui/memory/types.d.ts +4 -0
  134. package/lib/ui/memory/types.d.ts.map +1 -1
  135. package/lib/ui/skill-import-dialog.d.ts +5 -0
  136. package/lib/ui/skill-import-dialog.d.ts.map +1 -0
  137. package/lib/ui/skill-import-dialog.js +72 -0
  138. package/lib/ui/skill-import-dialog.js.map +1 -0
  139. package/lib/ui/skills-panel.d.ts.map +1 -1
  140. package/lib/ui/skills-panel.js +3 -1
  141. package/lib/ui/skills-panel.js.map +1 -1
  142. package/package.json +2 -1
@@ -73,6 +73,13 @@ export class PartnerConcernStore {
73
73
  continue;
74
74
  }
75
75
  const concern = this.upsert(database, companionId, scopeId, candidate, origin, at);
76
+ if (source === 'ui' && candidate.recordTarget !== undefined) {
77
+ const target = concern ?? existing;
78
+ if (target) {
79
+ database.prepare('UPDATE concerns SET record_target_json = ? WHERE id = ?').run(JSON.stringify(candidate.recordTarget), target.id);
80
+ target.recordTarget = candidate.recordTarget;
81
+ }
82
+ }
76
83
  if (concern !== undefined)
77
84
  created.push(concern);
78
85
  const current = concern ?? existing;
@@ -106,17 +113,65 @@ export class PartnerConcernStore {
106
113
  return { created, entries };
107
114
  });
108
115
  }
109
- async createExplicit(companionId, scopeId, subject, reason = '') {
116
+ async createExplicit(companionId, scopeId, subject, reason = '', recordTarget) {
110
117
  const descriptor = explicitConcernDescriptor(subject);
111
118
  await this.applyCandidates(companionId, scopeId, [{
112
119
  subject: descriptor.subject, reason: reason || '用户明确要求伙伴留意', operation: 'upsert', priority: .9,
113
120
  confidence: 1, watchKind: descriptor.watchKind, watchQuery: descriptor.watchQuery, resources: descriptor.resources,
121
+ ...(recordTarget ? { recordTarget } : {}),
114
122
  }], 'explicit', Date.now(), { source: 'ui' });
115
123
  const concern = (await this.list(companionId, scopeId)).find(item => normalizeConcernSubject(item.subject) === normalizeConcernSubject(descriptor.subject));
116
124
  if (!concern)
117
125
  throw new Error('concern could not be created');
118
126
  return concern;
119
127
  }
128
+ async editExplicit(companionId, id, input) {
129
+ let edited;
130
+ await this.serial(this.path(companionId), async () => {
131
+ const database = await this.open(companionId);
132
+ try {
133
+ database.exec('BEGIN IMMEDIATE');
134
+ const row = database.prepare('SELECT * FROM concerns WHERE companion_id = ? AND id = ?').get(companionId, id);
135
+ if (!row)
136
+ throw new Error('关注不存在');
137
+ const old = concernFromRow(row);
138
+ if (old.updatedAt !== input.expectedUpdatedAt)
139
+ throw new Error('关注已发生变化,请刷新后重新编辑;本次未覆盖');
140
+ const subject = input.subject.trim();
141
+ if (!subject || subject.length > 300 || input.reason.length > 800 || input.sources.length > 4000)
142
+ throw new Error('关注内容长度无效');
143
+ const normalized = normalizeConcernSubject(subject);
144
+ if (!normalized)
145
+ throw new Error('请填写有效的关注名称');
146
+ const duplicate = database.prepare('SELECT id, state FROM concerns WHERE companion_id = ? AND scope_id = ? AND normalized_subject = ? AND id != ?').get(companionId, old.scopeId, normalized, id);
147
+ if (duplicate && duplicate.state !== 'archived')
148
+ throw new Error('另有一条未归档的同名关注,请换一个名称;本次未新建或覆盖任何关注');
149
+ // Retain archived identity, title and history; release only its deduplication key.
150
+ if (duplicate)
151
+ database.prepare('UPDATE concerns SET normalized_subject = ? WHERE id = ?').run(`archived:${String(duplicate.id)}:${normalized}`, String(duplicate.id));
152
+ const descriptor = explicitConcernDescriptor(input.sources);
153
+ if (input.sources.trim() && descriptor.resources.length === 0)
154
+ throw new Error('未识别到检查依据,请使用 @知识库[库名/文档名] 或 @"文件路径"');
155
+ const updated = Math.max(Date.now(), old.updatedAt + 1);
156
+ if (JSON.stringify(old.recordTarget) !== JSON.stringify(input.recordTarget))
157
+ database.prepare('UPDATE concerns SET recording_pending = ?, recording_snapshot_json=NULL, recording_retry_at=0 WHERE id = ?').run(input.recordTarget ? 1 : 0, id);
158
+ database.prepare('UPDATE concerns SET subject = ?, normalized_subject = ?, reason = ?, resources_json = ?, watch_kind = ?, watch_query = ?, record_target_json = ?, updated_at = ? WHERE id = ? AND companion_id = ?').run(subject, normalized, input.reason.trim(), resourcesJson(descriptor.resources), descriptor.watchKind, subject, input.recordTarget ? JSON.stringify(input.recordTarget) : null, updated, id, companionId);
159
+ const result = concernFromRow(database.prepare('SELECT * FROM concerns WHERE id = ?').get(id));
160
+ database.exec('COMMIT');
161
+ edited = result;
162
+ }
163
+ catch (error) {
164
+ rollback(database);
165
+ throw error;
166
+ }
167
+ finally {
168
+ database.close();
169
+ }
170
+ });
171
+ if (!edited)
172
+ throw new Error('关注保存失败');
173
+ return edited;
174
+ }
120
175
  async applyUserDirective(companionId, scopeId, value, now = Date.now()) {
121
176
  const request = concernLifecycleRequest(value);
122
177
  if (request === undefined)
@@ -162,6 +217,7 @@ export class PartnerConcernStore {
162
217
  database.exec('BEGIN IMMEDIATE');
163
218
  const rows = database.prepare(`SELECT * FROM concerns WHERE companion_id = ? AND scope_id IN (?, '*')
164
219
  AND state IN ('active', 'watching') AND (? = 1 OR next_check_at <= ?)
220
+ AND recording_snapshot_json IS NULL
165
221
  AND (? IS NULL OR id = ?)
166
222
  ORDER BY priority DESC, next_check_at ASC LIMIT ?`).all(companionId, scopeId, options.includeFuture ? 1 : 0, now, options.concernId ?? null, options.concernId ?? null, Math.max(limit, 24));
167
223
  const due = [];
@@ -201,6 +257,8 @@ export class PartnerConcernStore {
201
257
  database.exec('BEGIN IMMEDIATE');
202
258
  const byConcern = new Map(candidates.map(item => [item.concernId, item]));
203
259
  for (const concern of concerns) {
260
+ if (!database.prepare('SELECT id FROM concerns WHERE id = ? AND companion_id = ?').get(concern.id, companionId))
261
+ continue;
204
262
  const candidate = byConcern.get(concern.id);
205
263
  const chosenMinutes = boundedConcernCheckMinutes(candidate?.nextCheckInMinutes);
206
264
  const nextCheckAt = now + (chosenMinutes === undefined ? concernInterval(concern.priority, concern.origin) : chosenMinutes * 60_000);
@@ -285,6 +343,48 @@ export class PartnerConcernStore {
285
343
  database.close();
286
344
  }
287
345
  }
346
+ async archived(companionId, offset = 0) {
347
+ const database = await this.open(companionId);
348
+ try {
349
+ const rows = database.prepare("SELECT * FROM concerns WHERE companion_id = ? AND state = 'archived' ORDER BY updated_at DESC, id LIMIT 51 OFFSET ?").all(companionId, offset);
350
+ return { items: rows.slice(0, 50).map(concernFromRow), hasMore: rows.length > 50 };
351
+ }
352
+ finally {
353
+ database.close();
354
+ }
355
+ }
356
+ async remove(companionId, id, expectedUpdatedAt) {
357
+ await this.serial(this.path(companionId), async () => {
358
+ const database = await this.open(companionId);
359
+ try {
360
+ database.exec('BEGIN IMMEDIATE');
361
+ const row = database.prepare('SELECT updated_at FROM concerns WHERE companion_id = ? AND id = ?').get(companionId, id);
362
+ if (!row) {
363
+ database.exec('COMMIT');
364
+ return;
365
+ }
366
+ if (number(row.updated_at) !== expectedUpdatedAt)
367
+ throw new Error('关注已变化,请刷新后重新确认删除');
368
+ database.prepare('DELETE FROM concern_audit WHERE companion_id = ? AND concern_id = ?').run(companionId, id);
369
+ // Keep batch replay markers, but scrub deleted concern snapshots from cached results.
370
+ for (const batch of database.prepare('SELECT scope_id, id, result_json FROM concern_batches WHERE instr(result_json, ?) > 0').all(id)) {
371
+ const result = JSON.parse(String(batch.result_json));
372
+ result.created = result.created.filter(item => item.id !== id);
373
+ result.entries = result.entries.filter(item => item.concern?.id !== id);
374
+ database.prepare('UPDATE concern_batches SET result_json = ? WHERE scope_id = ? AND id = ?').run(JSON.stringify(result), String(batch.scope_id), String(batch.id));
375
+ }
376
+ database.prepare('DELETE FROM concerns WHERE companion_id = ? AND id = ?').run(companionId, id);
377
+ database.exec('COMMIT');
378
+ }
379
+ catch (error) {
380
+ rollback(database);
381
+ throw error;
382
+ }
383
+ finally {
384
+ database.close();
385
+ }
386
+ });
387
+ }
288
388
  async pendingToolCreationNotices(companionId, scopeId, sessionId, limit = 4) {
289
389
  const database = await this.open(companionId);
290
390
  try {
@@ -445,6 +545,68 @@ export class PartnerConcernStore {
445
545
  decision, decision_reason, created_at, notified_at)
446
546
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL)`).run(`concern-audit-${randomUUID()}`, entry.concern?.id ?? null, companionId, scopeId, options.sessionId ?? null, options.source ?? (origin === 'explicit' ? 'ui' : 'reflection'), origin, candidate.operation, compact(candidate.subject, 300), compact(candidate.reason, 800), compact(options.evidence ?? '', 1_200), entry.decision, compact(entry.reason, 400), at);
447
547
  }
548
+ async checkpointRecording(item, snapshot) {
549
+ await this.serialValue(this.path(item.companionId), async () => {
550
+ const db = await this.open(item.companionId);
551
+ try {
552
+ const updated = db.prepare('UPDATE concerns SET recording_snapshot_json=?, recording_pending=1, recording_retry_at=0, recording_attempts=0 WHERE id=? AND companion_id=? AND record_target_json=? AND updated_at=?').run(JSON.stringify(snapshot), item.id, item.companionId, JSON.stringify(item.recordTarget), item.updatedAt);
553
+ if (!updated.changes)
554
+ throw new Error('关注配置已改变,未保存旧目标的同步任务');
555
+ }
556
+ finally {
557
+ db.close();
558
+ }
559
+ });
560
+ }
561
+ async pendingRecording(companionId, now = Date.now()) {
562
+ return this.serialValue(this.path(companionId), async () => {
563
+ const db = await this.open(companionId);
564
+ try {
565
+ const row = db.prepare("SELECT * FROM concerns WHERE companion_id=? AND recording_pending=1 AND recording_snapshot_json IS NOT NULL AND recording_retry_at<=? AND state!='archived' ORDER BY recording_retry_at LIMIT 1").get(companionId, now);
566
+ return row ? { ...concernFromRow(row), recordingSnapshot: JSON.parse(String(row.recording_snapshot_json)) } : undefined;
567
+ }
568
+ finally {
569
+ db.close();
570
+ }
571
+ });
572
+ }
573
+ async settleRecording(item, synced) {
574
+ await this.serialValue(this.path(item.companionId), async () => {
575
+ const db = await this.open(item.companionId);
576
+ try {
577
+ db.prepare('UPDATE concerns SET recording_pending=?, recording_snapshot_json=CASE WHEN ? THEN NULL ELSE recording_snapshot_json END, recording_retry_at=?, recording_attempts=recording_attempts+1 WHERE id=? AND companion_id=? AND record_target_json=? AND recording_snapshot_json=?').run(synced ? 0 : 1, synced ? 1 : 0, Date.now() + 15 * 60000, item.id, item.companionId, JSON.stringify(item.recordTarget), JSON.stringify(item.recordingSnapshot));
578
+ }
579
+ finally {
580
+ db.close();
581
+ }
582
+ });
583
+ }
584
+ async recordSyncState(concerns, states) {
585
+ if (!concerns.length || !states.length)
586
+ return;
587
+ const companionId = concerns[0].companionId;
588
+ await this.serialValue(this.path(companionId), async () => {
589
+ const database = await this.open(companionId);
590
+ try {
591
+ database.exec('BEGIN IMMEDIATE');
592
+ for (const state of states) {
593
+ const original = concerns.find(item => item.id === state.concernId && item.companionId === companionId);
594
+ if (!original?.recordTarget)
595
+ continue;
596
+ // An in-flight execution must not mark a newly selected destination as synced.
597
+ database.prepare('UPDATE concerns SET recording_pending = ? WHERE id = ? AND companion_id = ? AND record_target_json = ?').run(state.state === 'pending' ? 1 : 0, original.id, companionId, JSON.stringify(original.recordTarget));
598
+ }
599
+ database.exec('COMMIT');
600
+ }
601
+ catch (error) {
602
+ database.exec('ROLLBACK');
603
+ throw error;
604
+ }
605
+ finally {
606
+ database.close();
607
+ }
608
+ });
609
+ }
448
610
  async open(companionId) {
449
611
  const directory = join(this.root, 'partners', companionId, 'concerns');
450
612
  await mkdir(directory, { recursive: true, mode: 0o700 });
@@ -481,6 +643,11 @@ export class PartnerConcernStore {
481
643
  CREATE INDEX IF NOT EXISTS concern_audit_session ON concern_audit(companion_id, scope_id, session_id, source, decision, notified_at, created_at);
482
644
  PRAGMA user_version = 4;`);
483
645
  ensureColumn(database, 'concerns', 'resources_json', "TEXT NOT NULL DEFAULT '[]'");
646
+ ensureColumn(database, 'concerns', 'record_target_json', 'TEXT');
647
+ ensureColumn(database, 'concerns', 'recording_pending', 'INTEGER NOT NULL DEFAULT 0');
648
+ ensureColumn(database, 'concerns', 'recording_snapshot_json', 'TEXT');
649
+ ensureColumn(database, 'concerns', 'recording_retry_at', 'INTEGER NOT NULL DEFAULT 0');
650
+ ensureColumn(database, 'concerns', 'recording_attempts', 'INTEGER NOT NULL DEFAULT 0');
484
651
  ensureColumn(database, 'concern_observations', 'rule_effect', "TEXT NOT NULL DEFAULT 'auto'");
485
652
  ensureColumn(database, 'concern_observations', 'rule_reason', "TEXT NOT NULL DEFAULT ''");
486
653
  ensureColumn(database, 'concern_observations', 'decision_reason', "TEXT NOT NULL DEFAULT ''");
@@ -506,6 +673,8 @@ export class PartnerConcernStore {
506
673
  }
507
674
  function concernFromRow(row) {
508
675
  return {
676
+ ...(row.record_target_json && number(row.recording_pending) === 1 ? { recordingPending: true } : {}),
677
+ ...(typeof row.record_target_json === 'string' ? { recordTarget: JSON.parse(row.record_target_json) } : {}),
509
678
  id: string(row.id), companionId: string(row.companion_id), scopeId: string(row.scope_id), subject: string(row.subject), reason: string(row.reason),
510
679
  origin: string(row.origin), state: string(row.state),
511
680
  priority: number(row.priority), confidence: number(row.confidence), score: number(row.score),
@@ -1 +1 @@
1
- {"version":3,"file":"concern-store.js","sourceRoot":"","sources":["../src/concern-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"concern-store.js","sourceRoot":"","sources":["../src/concern-store.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { ChannelManager } from './channels/manager.js';
6
6
  export interface HeartbeatTriggerOptions {
7
7
  manual?: boolean;
8
8
  concernId?: string;
9
+ recordingOnly?: boolean;
9
10
  }
10
11
  export declare class HeartbeatScheduler {
11
12
  private readonly ctx;
@@ -17,10 +18,25 @@ export declare class HeartbeatScheduler {
17
18
  private timer;
18
19
  private closed;
19
20
  private readonly running;
21
+ private readonly manualResults;
22
+ manualStatus(id: string): {
23
+ running: boolean;
24
+ result: {
25
+ checked: boolean;
26
+ sent: boolean;
27
+ reason?: string;
28
+ } | null;
29
+ };
30
+ startManual(id: string, concernId?: string): {
31
+ accepted: boolean;
32
+ running: boolean;
33
+ reason: string;
34
+ };
20
35
  constructor(ctx: Context, store: PartnerStore, agents: PartnerAgentRuntime, channels: ChannelManager, concerns: PartnerConcernStore, timeZone?: string);
21
36
  start(): void;
22
37
  close(): Promise<void>;
23
38
  isRunning(id: string): boolean;
39
+ removeConcern(companionId: string, concernId: string, expectedUpdatedAt: number): Promise<void>;
24
40
  trigger(companionId: string, options?: HeartbeatTriggerOptions): Promise<{
25
41
  checked: boolean;
26
42
  sent: boolean;
@@ -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;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;IAM5B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAExB,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;IAWxI,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"}
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,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE;AAE1G,qBAAa,kBAAkB;IAyB3B,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;IA7B3B,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwE;IAEtG,YAAY,CAAC,EAAE,EAAE,MAAM;;;qBAFoC,OAAO;kBAAQ,OAAO;qBAAW,MAAM;;;IAMlG,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;;;;;gBAevB,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;IAM5B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAExB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/F,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;IAWxI,OAAO,CAAC,QAAQ;YASF,IAAI;YAmBJ,GAAG;YAmGH,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
@@ -10,6 +10,29 @@ export class HeartbeatScheduler {
10
10
  timer;
11
11
  closed = false;
12
12
  running = new Set();
13
+ manualResults = new Map();
14
+ manualStatus(id) {
15
+ return { running: this.isRunning(id), result: this.manualResults.get(id) ?? null };
16
+ }
17
+ startManual(id, concernId) {
18
+ if (this.closed)
19
+ throw new Error('关注服务正在停止');
20
+ if (!this.store.snapshot().companions.some(item => item.id === id))
21
+ throw new Error('伙伴不存在');
22
+ if (this.store.isCompanionRemoving(id))
23
+ throw new Error('伙伴正在删除');
24
+ if (this.isRunning(id))
25
+ return { accepted: false, running: true, reason: '心跳正在执行' };
26
+ this.manualResults.delete(id);
27
+ // trigger acquires the companion lock synchronously, before its first await.
28
+ void this.trigger(id, { manual: true, ...(concernId ? { concernId } : {}) })
29
+ .then(result => { this.manualResults.set(id, result); })
30
+ .catch(() => { this.manualResults.set(id, { checked: false, sent: false, reason: '检查受阻,请查看关注活动记录' }); });
31
+ for (const key of this.manualResults.keys())
32
+ if (!this.store.snapshot().companions.some(item => item.id === key))
33
+ this.manualResults.delete(key);
34
+ return { accepted: true, running: true, reason: '已开始后台检查' };
35
+ }
13
36
  constructor(ctx, store, agents, channels, concerns, timeZone = 'Asia/Shanghai') {
14
37
  this.ctx = ctx;
15
38
  this.store = store;
@@ -30,6 +53,17 @@ export class HeartbeatScheduler {
30
53
  this.timer = undefined;
31
54
  }
32
55
  isRunning(id) { return this.running.has(id); }
56
+ async removeConcern(companionId, concernId, expectedUpdatedAt) {
57
+ if (this.running.has(companionId))
58
+ throw new Error('本轮关注正在执行,请结束后再删除,避免后台继续写入记录');
59
+ this.running.add(companionId);
60
+ try {
61
+ await this.concerns.remove(companionId, concernId, expectedUpdatedAt);
62
+ }
63
+ finally {
64
+ this.running.delete(companionId);
65
+ }
66
+ }
33
67
  async trigger(companionId, options = {}) {
34
68
  if (this.store.isCompanionRemoving(companionId))
35
69
  return { checked: false, sent: false, reason: '伙伴正在删除' };
@@ -62,6 +96,10 @@ export class HeartbeatScheduler {
62
96
  for (const companion of this.store.snapshot().companions) {
63
97
  if (!companion.automation.heartbeat.enabled)
64
98
  continue;
99
+ if (!this.running.has(companion.id) && await this.concerns.pendingRecording(companion.id, now)) {
100
+ void this.trigger(companion.id, { recordingOnly: true }).catch(error => this.ctx.logger.warn(`记录同步未完成:${message(error)}`));
101
+ continue;
102
+ }
65
103
  const stored = this.store.snapshot().heartbeatStates.find(item => item.companionId === companion.id);
66
104
  if (stored === undefined) {
67
105
  await this.saveState(companion, heartbeatState([], companion, now, this.timeZone));
@@ -75,6 +113,28 @@ export class HeartbeatScheduler {
75
113
  }
76
114
  async run(companion, options) {
77
115
  const now = Date.now();
116
+ if (options.recordingOnly) {
117
+ const item = await this.concerns.pendingRecording(companion.id, now);
118
+ if (!item)
119
+ return { checked: false, sent: false, reason: '没有待同步任务' };
120
+ const route = deliverableRoutes(this.store.snapshot(), companion.id).find(route => item.scopeId === '*' || memoryScope(route.channelId, route.userId) === item.scopeId);
121
+ if (!route) {
122
+ await this.concerns.settleRecording(item, false);
123
+ return { checked: false, sent: false, reason: '记录任务缺少原授权会话,已退避等待' };
124
+ }
125
+ let execution;
126
+ try {
127
+ execution = await this.agents.heartbeat(companion, route, [item]);
128
+ const synced = execution.recording?.some(state => state.concernId === item.id && state.state === 'synced') === true;
129
+ await this.concerns.settleRecording(item, synced);
130
+ await this.recordActivity(companion, route, execution, synced ? 'quiet' : 'failed', synced ? undefined : '记录同步未完成,15分钟后单独重试;不重新抓取或提醒');
131
+ return { checked: false, sent: false, reason: synced ? '记录同步完成' : '记录待重试' };
132
+ }
133
+ catch (error) {
134
+ await this.concerns.settleRecording(item, false);
135
+ throw error;
136
+ }
137
+ }
78
138
  const policy = companion.automation.heartbeat;
79
139
  const existing = heartbeatState(this.store.snapshot().heartbeatStates, companion, now, this.timeZone);
80
140
  const today = localDay(now, this.timeZone);
@@ -127,14 +187,19 @@ export class HeartbeatScheduler {
127
187
  });
128
188
  return { checked: false, sent: false, reason: options.concernId ? '这条挂念已不存在或当前无需留意' : '当前没有到期的伙伴挂念' };
129
189
  }
130
- execution = await this.agents.heartbeat(companion, route, due);
190
+ execution = await this.agents.heartbeat(companion, route, due.map(({ recordingSnapshot: _snapshot, ...item }) => item));
191
+ if (execution.recording?.length)
192
+ await this.concerns.recordSyncState(due, execution.recording);
131
193
  if (execution.error)
132
194
  throw new Error(execution.error);
133
- const recorded = await this.concerns.recordObservations(due, execution.candidates, Date.now(), now - route.lastMessageAt < 15 * 60_000);
195
+ const completed = due.filter(item => !execution.blocked?.includes(item.id));
196
+ const recorded = await this.concerns.recordObservations(completed, execution.candidates, Date.now(), now - route.lastMessageAt < 15 * 60_000);
134
197
  execution = { ...execution, observations: recorded.observations };
135
- await this.agents.persistKnowledgeObservations(companion, route, due, recorded.observations).catch(error => {
136
- this.ctx.logger.warn(`dsh-partner could not persist knowledge-linked observations: ${message(error)}`);
137
- });
198
+ // Output destinations are handled in the execution; source knowledge must never receive observation writeback.
199
+ if (execution.blocked?.length) {
200
+ const blockedNames = due.filter(item => execution.blocked.includes(item.id)).map(item => item.subject).join(';');
201
+ throw new Error(`检查受阻:${blockedNames}。未完成的来源核验不能判定为无变化;已核实结果保留。`);
202
+ }
138
203
  if (recorded.notifications.length === 0) {
139
204
  await this.saveState(companion, successState(existing, companion, now, today, sentCount, false));
140
205
  await this.recordActivity(companion, route, execution, 'quiet');