@dsh-enhanced/assistant-proactive 0.1.64 → 0.1.66

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.
package/README.md CHANGED
@@ -65,7 +65,7 @@ profiles:
65
65
  启用 Goals 事件等待后,主人目标上下文会列出当前可用策略的 ID、模式和每目标上限,供选择 `opportunity_profile`;不展示准备模型、供应商或预算标识。空策略配置不提供主动动作。列表只读且不授予等待、提醒、模型或执行权限;目标首次使用策略时仍按原逻辑冻结,执行时再次核验主人及权限。已认证主人可用 `proactive_status` 只读查看决定,无需对每次合法查询重复工具审批;`proactive_feedback` 仍需当前主人回合及原有审批。
66
66
 
67
67
  - `execute`:达到条件后返回执行候选;Goals 再次核验当前目标和授权,才能恢复。
68
- - `remind`:向冻结的主人会话投递一条持久提醒,包含目标、事件标识与配置估值;不调用模型,不执行目标。要求 Delivery 支持 `enqueueOwnerNotification`、已配置主人路由,并为背景主体 `assistant-proactive/v1` 授予该会话消息的 `send` 权限。设置 `maxRemindersPerGoal` 为正数;重复处理同一决定复用相同投递键。Web 在原会话输入区显示“主动提醒”,重启后可继续读取;其他渠道通过已有适配器发送。
68
+ - `remind`:向冻结的主人会话投递一条持久提醒,正文只含主人自己的目标摘录(最多 200 个字素)和固定说明,不含配置估值、净收益、来源/事件/机会 ID 或事件元数据;这些仍可经 `proactive_status` 查看。不调用模型,不执行目标。同一主人、目标和来源(`sourceId`)只提醒一次:后续事件若来源观测内容(Goals 传入的事件 `observation.digest`)、正文、目标 revision/definition 与来源配置都未变化,记为 `suppress`/`unchanged` 并不再投递,不占用提醒预算;同一来源的观测内容变化仍会提醒。未提供观测摘要的旧 Goals 不做此去重。去重记录与决定在同一事务内持久化,重启后保持;若决定后、交给 Delivery 前发送窗口已关闭(例如重试落入静默时段),该记录被撤销,下一同内容事件仍可提醒。Delivery 接受后又过期或失败不会撤销去重。目标 revision 或来源配置变化、或主人对上次提醒给出 `proactive_feedback`(接受;拒绝另受拒绝冷却约束)后,才可再次提醒。提醒以 attention 目的 `result` 投递(无工作项或结构化问题,不适用 `attention`);旧 Delivery 忽略该字段。要求 Delivery 支持 `enqueueOwnerNotification`、已配置主人路由,并为背景主体 `assistant-proactive/v1` 授予该会话消息的 `send` 权限。设置 `maxRemindersPerGoal` 为正数;重复处理同一决定复用相同投递键。Web 在原会话输入区显示“主动提醒”,重启后可继续读取;其他渠道通过已有适配器发送。
69
69
  - `prepare`:默认只保存目标、事件标识与判断理由,供 `proactive_status` 查询;省略 `preparation` 时不生成模型草稿、不修改业务文件。显式配置 `preparation { provider, model, budgetId, maxOutputTokens, timeoutMs }` 后,才会排入持久准备队列并请求一次真实模型草稿。该草稿使用独立 Session、最多一次模型请求、`tools: []`、`maxToolCalls: 0`;准备运行只解析预设身份,不装载预设工具和 persona,原目标保持 `paused`;运行器禁止工具执行;提示要求只提供草稿、不声称完成或验收。模型文本本身不构成执行或验收证据。`proactive_status` 返回的草稿始终是 `verified: false` / `unverified-draft`,不是验收结果。目标继续等待后续事件,直到截止或主人控制。
70
70
  - `proactive_feedback`:当前已认证主人可以接受或拒绝指定决定;拒绝为该目标/策略的后续决定设置持久冷却。反馈不会撤销已经执行的业务动作,也不会创建执行授权;对准备任务,拒绝会取消排队、请求在途运行停止并拒收迟到结果。
71
71
 
@@ -73,9 +73,11 @@ profiles:
73
73
 
74
74
  静默时段按 IANA 时区计算,支持跨午夜。合并等待和静默结束依靠 Goals 的周期核对;重启后继续读取原记录。事件内容不提供权限,也不作为新的目标指令。提醒投递有效期不晚于目标等待期限或下一个静默时段开始;未及时发送的提醒会失效,不跨静默时段补发。发送前及 Web 读取时重查原主人、绑定代次、路由和当前发送权限。Web 接受表示通知已可供读取,不表示用户已阅读。
75
75
 
76
+ `remind` 策略可选读取 Evaluation 的注意力版本(WP22 切片 2):每次评估时按目标 scope 的 workspace/preset 与 cohort `owner-notification` / `assistant-proactive/v1` 调用 `currentAttentionTuning`,只接受界内、非默认、带 digest 的版本,并仅在本次评估叠加到冻结策略上(不写回冻结快照):提高 `interruptionCost` 与 `minimumUtility`、在已配置静默时段两侧延长(未配置静默时段则不变)、或以 `attention-muted` 静默消费提醒。决定记录 `attentionTuning: { version, digest }`;提醒文本与有效期使用叠加后的估值和静默时段。Evaluation 缺席、开关关闭、返回版本 0、抛错或格式不符时不叠加,行为与未调参完全一致。`prepare` 与 `execute` 策略不受影响。
77
+
76
78
  ## 权限与数据
77
79
 
78
- - 文件系统:保存配置数据库及 SQLite WAL/SHM;其中含主人身份范围、目标文本、事件标识、判断和反馈。另保存 `databasePath + '.preparations'` 及 WAL/SHM,其中含准备请求、模型草稿、有限 usage、独立 Session ID、状态和原因。数据库要求私有普通文件及不可由组/其他用户写入的父目录;不读取事件正文或业务文件。
80
+ - 文件系统:保存配置数据库及 SQLite WAL/SHM;其中含主人身份范围、目标文本、事件标识、判断、反馈,以及按目标与来源记录的最后一次提醒内容摘要及是否已交给 Delivery(`proactive_reminders`,旧库启动时自动增建,不改动既有表)。另保存 `databasePath + '.preparations'` 及 WAL/SHM,其中含准备请求、模型草稿、有限 usage、独立 Session ID、状态和原因。数据库要求私有普通文件及不可由组/其他用户写入的父目录;不读取事件正文或业务文件。
79
81
  - 网络:本插件本身不直接联网;显式开启准备后,`assistant-automations` 通过宿主已配置的模型 provider 发送草稿请求,目标文本和草稿会进入该请求和本地准备账本。子进程、凭据、浏览器、安装脚本:本插件均不直接使用。
80
82
  - 工具:注册 `proactive_status` 和 `proactive_feedback`,均要求真实 Agent、Delivery 主人身份及 Policy;反馈还要求当前主人请求。Policy 资源为 `goal:proactive-opportunities`,动作分别为 `inspect`、`feedback`;安装配套 Policy 后,仅严格匹配的只读 `proactive_status` 可按当前 owner 和 Policy 预授权,其他调用仍由宿主审批。
81
83
  - 执行:未配置 `preparation` 时本插件不执行模型调用、不恢复目标;提醒通过 Delivery 的有类型接口持久入队。配置准备后还要求 Automations、Goals、Delivery 和 Policy 都可用,且 `background:assistant-proactive/v1` 对该 goal 的 `prepare` 被允许。真正业务操作及消息发送的权限由 Goals、Delivery 与具体工具负责。
@@ -0,0 +1,31 @@
1
+ import type { OpportunityProfile } from './types.js';
2
+ /** Evaluation cohort for proactive reminders (WP22 slice 2). */
3
+ export declare const proactiveAttentionCohort: Readonly<{
4
+ lane: "owner-notification";
5
+ sourceId: "assistant-proactive/v1";
6
+ }>;
7
+ /** A verified, tighten-only overlay published by assistant-evaluation. */
8
+ export interface AttentionOverlay {
9
+ version: number;
10
+ digest: string;
11
+ parameters: {
12
+ interruptionCostDelta: number;
13
+ minimumUtilityDelta: number;
14
+ quietExtensionMinutes: number;
15
+ muted: boolean;
16
+ };
17
+ }
18
+ /**
19
+ * Accepts only a well-formed, non-default overlay inside the fixed bounds.
20
+ * Anything else (missing service, version 0, malformed) means no overlay, which
21
+ * is byte-for-byte the untuned behavior.
22
+ */
23
+ export declare function attentionOverlay(value: unknown): AttentionOverlay | undefined;
24
+ /**
25
+ * Applies an overlay to a reminder profile. Every effect only makes a reminder
26
+ * less likely or later: higher interruption cost, higher utility threshold,
27
+ * a quiet window widened on both sides (capped below a full day), or muting.
28
+ * Non-remind profiles and profiles without quiet hours keep those fields.
29
+ */
30
+ export declare function tuneProfile(profile: Readonly<OpportunityProfile>, overlay: AttentionOverlay | undefined): Readonly<OpportunityProfile>;
31
+ //# sourceMappingURL=attention-tuning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention-tuning.d.ts","sourceRoot":"","sources":["../src/attention-tuning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,gEAAgE;AAChE,eAAO,MAAM,wBAAwB;;;EAAoF,CAAA;AAEzH,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE;QAAE,qBAAqB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,qBAAqB,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAA;CAC1H;AAKD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAW7E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAatI"}
@@ -0,0 +1,45 @@
1
+ /** Evaluation cohort for proactive reminders (WP22 slice 2). */
2
+ export const proactiveAttentionCohort = Object.freeze({ lane: 'owner-notification', sourceId: 'assistant-proactive/v1' });
3
+ const bounded = (value, max, step) => Number.isSafeInteger(value) && value >= 0 && value <= max && value % step === 0;
4
+ /**
5
+ * Accepts only a well-formed, non-default overlay inside the fixed bounds.
6
+ * Anything else (missing service, version 0, malformed) means no overlay, which
7
+ * is byte-for-byte the untuned behavior.
8
+ */
9
+ export function attentionOverlay(value) {
10
+ if (!value || typeof value !== 'object')
11
+ return undefined;
12
+ const input = value;
13
+ const parameters = input.parameters;
14
+ if (!Number.isSafeInteger(input.version) || input.version < 1 || typeof input.digest !== 'string'
15
+ || !/^[0-9a-f]{64}$/.test(input.digest) || !parameters || typeof parameters !== 'object'
16
+ || !bounded(parameters.interruptionCostDelta, 100, 10) || !bounded(parameters.minimumUtilityDelta, 100, 10)
17
+ || !bounded(parameters.quietExtensionMinutes, 120, 30) || typeof parameters.muted !== 'boolean')
18
+ return undefined;
19
+ return Object.freeze({ version: input.version, digest: input.digest, parameters: Object.freeze({
20
+ interruptionCostDelta: parameters.interruptionCostDelta, minimumUtilityDelta: parameters.minimumUtilityDelta,
21
+ quietExtensionMinutes: parameters.quietExtensionMinutes, muted: parameters.muted
22
+ }) });
23
+ }
24
+ /**
25
+ * Applies an overlay to a reminder profile. Every effect only makes a reminder
26
+ * less likely or later: higher interruption cost, higher utility threshold,
27
+ * a quiet window widened on both sides (capped below a full day), or muting.
28
+ * Non-remind profiles and profiles without quiet hours keep those fields.
29
+ */
30
+ export function tuneProfile(profile, overlay) {
31
+ if (!overlay || profile.mode !== 'remind')
32
+ return profile;
33
+ const { interruptionCostDelta, minimumUtilityDelta, quietExtensionMinutes } = overlay.parameters;
34
+ let quietHours = profile.quietHours;
35
+ if (quietHours && quietExtensionMinutes > 0) {
36
+ const length = (quietHours.endMinute - quietHours.startMinute + 1440) % 1440;
37
+ const room = Math.max(0, 1439 - length);
38
+ const before = Math.min(quietExtensionMinutes, Math.floor(room / 2));
39
+ const after = Math.min(quietExtensionMinutes, room - before);
40
+ quietHours = { timezone: quietHours.timezone, startMinute: (quietHours.startMinute - before + 1440) % 1440, endMinute: (quietHours.endMinute + after) % 1440 };
41
+ }
42
+ return Object.freeze({ ...profile, interruptionCost: profile.interruptionCost + interruptionCostDelta,
43
+ minimumUtility: profile.minimumUtility + minimumUtilityDelta, ...(quietHours ? { quietHours: Object.freeze(quietHours) } : {}) });
44
+ }
45
+ //# sourceMappingURL=attention-tuning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention-tuning.js","sourceRoot":"","sources":["../src/attention-tuning.ts"],"names":[],"mappings":"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"}
package/lib/engine.d.ts CHANGED
@@ -7,11 +7,23 @@ export declare class OpportunityEngine {
7
7
  constructor(path: string, profiles: readonly OpportunityProfile[], options?: {
8
8
  now?: () => number;
9
9
  });
10
- evaluate(input: OpportunityInput): OpportunityEvaluation;
10
+ /**
11
+ * `overlay` is an optional verified tighten-only Evaluation attention version.
12
+ * It is applied to the frozen goal profile for this evaluation only and is
13
+ * never persisted into the profile snapshot.
14
+ */
15
+ evaluate(input: OpportunityInput, overlay?: unknown): OpportunityEvaluation;
11
16
  feedback(id: string, scopeInput: OpportunityScope, feedback: 'accepted' | 'rejected'): OpportunityDecision;
12
17
  list(scopeInput: OpportunityScope, goalId?: string): readonly OpportunityDecision[];
13
18
  profileSnapshot(scope: OpportunityScope, goalId: string, profileId: string): Readonly<OpportunityProfile>;
14
19
  closeWait(waitId: string, scope: OpportunityScope, reason: 'expired' | 'cancelled'): void;
20
+ /** Delivery accepted (queued) this decision's reminder; a later replay past its send window keeps the dedupe. */
21
+ confirmReminder(decision: Readonly<Pick<OpportunityDecision, 'id' | 'scope' | 'goalId' | 'sourceId'>>): void;
22
+ /**
23
+ * This decision's reminder was never accepted by Delivery and its send window has closed, so it must not
24
+ * count as seen. Only the unconfirmed row this decision wrote is removed; a newer reminder is left alone.
25
+ */
26
+ releaseReminder(decision: Readonly<Pick<OpportunityDecision, 'id' | 'scope' | 'goalId' | 'sourceId'>>): void;
15
27
  close(): void;
16
28
  }
17
29
  //# sourceMappingURL=engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AASpI,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAa9C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAoBvF;AA2BD,kHAAkH;AAClH,qBAAa,iBAAiB;;gBAIhB,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EAAE,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;KAAO;IAYvG,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,qBAAqB;IAgCxD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,mBAAmB;IAS1G,IAAI,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,mBAAmB,EAAE;IAKnF,eAAe,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,kBAAkB,CAAC;IAKzG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI;IAQzF,KAAK,IAAI,IAAI;CAsDd"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AASpI,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAa9C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAoBvF;AAgCD,kHAAkH;AAClH,qBAAa,iBAAiB;;gBAKhB,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EAAE,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;KAAO;IAgBvG;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,qBAAqB;IAkC3E,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,mBAAmB;IAS1G,IAAI,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,mBAAmB,EAAE;IAKnF,eAAe,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,kBAAkB,CAAC;IAKzG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI;IAQzF,iHAAiH;IACjH,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI;IAG5G;;;OAGG;IACH,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI;IAG5G,KAAK,IAAI,IAAI;CAkFd"}
package/lib/engine.js CHANGED
@@ -2,6 +2,8 @@ import { closeSync, constants, lstatSync, mkdirSync, openSync, chmodSync } from
2
2
  import { dirname, isAbsolute } from 'node:path';
3
3
  import { randomUUID } from 'node:crypto';
4
4
  import { DatabaseSync } from 'node:sqlite';
5
+ import { reminderContentDigest } from './reminder.js';
6
+ import { attentionOverlay, tuneProfile } from './attention-tuning.js';
5
7
  const max = 1_000_000_000;
6
8
  const integer = (value, limit = max) => typeof value === 'number' && Number.isSafeInteger(value) && value >= 0 && value <= limit;
7
9
  const text = (value, limit = 4096) => typeof value === 'string' && value.length > 0 && value.length <= limit && !/[\s\p{Cc}]/u.test(value);
@@ -73,10 +75,15 @@ function scopeKey(scope) {
73
75
  }
74
76
  function validateInput(input) {
75
77
  if (!input || typeof input !== 'object' || ![input.waitId, input.profileId, input.goalId, input.sessionId, input.definitionDigest, input.nativeGoalId, input.ownerRouteId, input.sourceDigest, input.sourceId, input.event.id, input.event.digest].every(value => text(value)) || !content(input.objective)
78
+ || input.event.observationDigest !== undefined && (typeof input.event.observationDigest !== 'string' || !/^[a-f0-9]{64}$/u.test(input.event.observationDigest))
76
79
  || !integer(input.nativeRevision) || !integer(input.event.sequence) || !integer(input.event.occurredAt, Number.MAX_SAFE_INTEGER) || !integer(input.expiresAt, Number.MAX_SAFE_INTEGER))
77
80
  fail();
78
81
  scopeKey(input.scope);
79
82
  }
83
+ function reminderContent(input) {
84
+ return { goalId: input.goalId, objective: input.objective, definitionDigest: input.definitionDigest, nativeGoalId: input.nativeGoalId, nativeRevision: input.nativeRevision,
85
+ sourceId: input.sourceId, sourceDigest: input.sourceDigest, eventDigest: input.event.digest, eventObservationDigest: input.event.observationDigest };
86
+ }
80
87
  function utility(profile) { return Number(BigInt(profile.expectedBenefit) * BigInt(profile.successPpm) / 1000000n - BigInt(profile.executionCost) - BigInt(profile.interruptionCost) - BigInt(profile.possibleLoss)); }
81
88
  function minuteAt(now, timezone) {
82
89
  const parts = new Intl.DateTimeFormat('en-US', { timeZone: timezone, hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }).formatToParts(new Date(now));
@@ -101,6 +108,7 @@ export class OpportunityEngine {
101
108
  #db;
102
109
  #profiles = new Map();
103
110
  #now;
111
+ #overlay;
104
112
  constructor(path, profiles, options = {}) {
105
113
  if (!Array.isArray(profiles))
106
114
  fail('assistant-proactive: profiles must be an array');
@@ -118,11 +126,21 @@ export class OpportunityEngine {
118
126
  CREATE TABLE IF NOT EXISTS proactive_profiles(scope_json TEXT NOT NULL, goal_id TEXT NOT NULL, profile_id TEXT NOT NULL, profile_json TEXT NOT NULL, PRIMARY KEY(scope_json, goal_id, profile_id)) STRICT, WITHOUT ROWID;
119
127
  CREATE TABLE IF NOT EXISTS proactive_decisions(id TEXT PRIMARY KEY, scope_json TEXT NOT NULL, goal_id TEXT NOT NULL, profile_id TEXT NOT NULL, payload_json TEXT NOT NULL) STRICT;
120
128
  CREATE TABLE IF NOT EXISTS proactive_events(scope_json TEXT NOT NULL, goal_id TEXT NOT NULL, profile_id TEXT NOT NULL, source_id TEXT NOT NULL, event_sequence INTEGER NOT NULL, event_digest TEXT NOT NULL, decision_id TEXT NOT NULL REFERENCES proactive_decisions(id), PRIMARY KEY(scope_json, goal_id, profile_id, source_id, event_sequence, event_digest)) STRICT, WITHOUT ROWID;
121
- CREATE INDEX IF NOT EXISTS proactive_decisions_goal ON proactive_decisions(scope_json, goal_id, profile_id);`);
129
+ CREATE INDEX IF NOT EXISTS proactive_decisions_goal ON proactive_decisions(scope_json, goal_id, profile_id);
130
+ CREATE TABLE IF NOT EXISTS proactive_reminders(scope_json TEXT NOT NULL, goal_id TEXT NOT NULL, source_id TEXT NOT NULL, content_digest TEXT NOT NULL, decision_id TEXT NOT NULL REFERENCES proactive_decisions(id), queued INTEGER NOT NULL DEFAULT 0 CHECK(queued IN (0, 1)), PRIMARY KEY(scope_json, goal_id, source_id)) STRICT, WITHOUT ROWID;`);
131
+ // Pre-release development databases may hold the table without `queued`; add it in place.
132
+ if (!this.#db.prepare('PRAGMA table_info(proactive_reminders)').all().some(column => column.name === 'queued'))
133
+ this.#db.exec('ALTER TABLE proactive_reminders ADD COLUMN queued INTEGER NOT NULL DEFAULT 0 CHECK(queued IN (0, 1))');
122
134
  }
123
- evaluate(input) {
135
+ /**
136
+ * `overlay` is an optional verified tighten-only Evaluation attention version.
137
+ * It is applied to the frozen goal profile for this evaluation only and is
138
+ * never persisted into the profile snapshot.
139
+ */
140
+ evaluate(input, overlay) {
124
141
  this.#db.exec('BEGIN IMMEDIATE');
125
142
  try {
143
+ this.#overlay = attentionOverlay(overlay);
126
144
  const value = this.#evaluate(input);
127
145
  this.#db.exec('COMMIT');
128
146
  return value;
@@ -134,6 +152,9 @@ export class OpportunityEngine {
134
152
  catch { }
135
153
  throw error;
136
154
  }
155
+ finally {
156
+ this.#overlay = undefined;
157
+ }
137
158
  }
138
159
  #evaluate(input) {
139
160
  validateInput(input);
@@ -141,7 +162,7 @@ export class OpportunityEngine {
141
162
  if (!integer(now, Number.MAX_SAFE_INTEGER))
142
163
  fail('assistant-proactive: invalid clock');
143
164
  const scope = scopeKey(input.scope);
144
- const profile = this.#profile(scope, input.goalId, input.profileId);
165
+ const profile = tuneProfile(this.#profile(scope, input.goalId, input.profileId), this.#overlay);
145
166
  const existing = this.#event(scope, input);
146
167
  if (existing) {
147
168
  if (!this.#sameIdentity(existing, input))
@@ -172,6 +193,8 @@ export class OpportunityEngine {
172
193
  const counts = this.#counts(scope, input.goalId);
173
194
  if (counts.ledger >= profile.maxDecisionsPerGoal || profile.mode === 'execute' && counts.executions >= profile.maxExecutionsPerGoal || profile.mode === 'remind' && counts.reminders >= profile.maxRemindersPerGoal)
174
195
  return this.#budgetProjection(input, profile, now);
196
+ if (this.#muted(profile))
197
+ return this.#save(scope, input, profile, 'consume', 'suppress', 'attention-muted', now, now);
175
198
  if (quiet(now, profile))
176
199
  return this.#save(scope, input, profile, 'defer', 'suppress', 'quiet-hours', now, quietEndsAt(now, profile));
177
200
  if (utility(profile) < profile.minimumUtility)
@@ -180,6 +203,8 @@ export class OpportunityEngine {
180
203
  return this.#save(scope, input, profile, 'consume', 'suppress', 'cooldown', now, now);
181
204
  if (profile.mergeWindowMs > 0)
182
205
  return this.#save(scope, input, profile, 'defer', 'suppress', 'coalescing', now, now + profile.mergeWindowMs);
206
+ if (profile.mode === 'remind' && this.#unchangedReminder(scope, reminderContent(input)))
207
+ return this.#save(scope, input, profile, 'consume', 'suppress', 'unchanged', now, now);
183
208
  return this.#save(scope, input, profile, profile.mode === 'execute' ? 'execute' : 'consume', profile.mode, profile.mode === 'execute' ? 'execution' : profile.mode === 'remind' ? 'reminder' : 'prepared', now, now);
184
209
  }
185
210
  feedback(id, scopeInput, feedback) {
@@ -232,7 +257,27 @@ export class OpportunityEngine {
232
257
  throw error;
233
258
  }
234
259
  }
260
+ /** Delivery accepted (queued) this decision's reminder; a later replay past its send window keeps the dedupe. */
261
+ confirmReminder(decision) {
262
+ this.#db.prepare('UPDATE proactive_reminders SET queued = 1 WHERE scope_json = ? AND goal_id = ? AND source_id = ? AND decision_id = ?').run(scopeKey(decision.scope), decision.goalId, decision.sourceId, decision.id);
263
+ }
264
+ /**
265
+ * This decision's reminder was never accepted by Delivery and its send window has closed, so it must not
266
+ * count as seen. Only the unconfirmed row this decision wrote is removed; a newer reminder is left alone.
267
+ */
268
+ releaseReminder(decision) {
269
+ this.#db.prepare('DELETE FROM proactive_reminders WHERE scope_json = ? AND goal_id = ? AND source_id = ? AND decision_id = ? AND queued = 0').run(scopeKey(decision.scope), decision.goalId, decision.sourceId, decision.id);
270
+ }
235
271
  close() { this.#db.close(); }
272
+ #muted(profile) { return profile.mode === 'remind' && this.#overlay?.parameters.muted === true; }
273
+ /** Records which attention version shaped a decision; absent when no overlay applied. */
274
+ #attention(profile) {
275
+ return this.#overlay && profile.mode === 'remind' ? { attentionTuning: freeze({ version: this.#overlay.version, digest: this.#overlay.digest }) } : {};
276
+ }
277
+ #tag(existing, profile) {
278
+ const { attentionTuning: _previous, ...rest } = existing;
279
+ return { ...rest, ...this.#attention(profile) };
280
+ }
236
281
  #profile(scope, goalId, profileId) {
237
282
  const row = this.#db.prepare('SELECT profile_json FROM proactive_profiles WHERE scope_json = ? AND goal_id = ? AND profile_id = ?').get(scope, goalId, profileId);
238
283
  if (row)
@@ -262,7 +307,7 @@ export class OpportunityEngine {
262
307
  return { ledger: rows.length, executions: rows.filter(value => value.mode === 'execute').length, reminders: rows.filter(value => value.mode === 'remind').length };
263
308
  }
264
309
  #merge(scope, existing, input, now) {
265
- const next = input.event.sequence > existing.eventSequence ? freeze({ ...existing, waitId: input.waitId, sessionId: input.sessionId, ownerRouteId: input.ownerRouteId, sourceId: input.sourceId, eventId: input.event.id, eventSequence: input.event.sequence, eventDigest: input.event.digest, sourceDigest: input.sourceDigest, objective: input.objective, definitionDigest: input.definitionDigest, nativeGoalId: input.nativeGoalId, nativeRevision: input.nativeRevision, updatedAt: now, observations: existing.observations + 1 }) : freeze({ ...existing, updatedAt: now, observations: existing.observations + 1 });
310
+ const next = input.event.sequence > existing.eventSequence ? freeze({ ...existing, waitId: input.waitId, sessionId: input.sessionId, ownerRouteId: input.ownerRouteId, sourceId: input.sourceId, eventId: input.event.id, eventSequence: input.event.sequence, eventDigest: input.event.digest, eventObservationDigest: input.event.observationDigest, sourceDigest: input.sourceDigest, objective: input.objective, definitionDigest: input.definitionDigest, nativeGoalId: input.nativeGoalId, nativeRevision: input.nativeRevision, updatedAt: now, observations: existing.observations + 1 }) : freeze({ ...existing, updatedAt: now, observations: existing.observations + 1 });
266
311
  this.#put(next);
267
312
  this.#link(scope, input, next.id);
268
313
  return freeze({ disposition: 'defer', decision: next });
@@ -273,38 +318,63 @@ export class OpportunityEngine {
273
318
  const rejected = this.#latestRejected(scope, input.goalId, profile.id);
274
319
  if (rejected && rejected.id !== existing.id && now < rejected.updatedAt + profile.rejectionCooldownMs)
275
320
  return this.#terminal(existing, 'consume', 'suppress', 'rejected-cooldown', now);
321
+ if (this.#muted(profile)) {
322
+ const muted = freeze({ ...this.#tag(existing, profile), state: 'decided', mode: 'suppress', reason: 'attention-muted', updatedAt: now });
323
+ this.#put(muted);
324
+ return freeze({ disposition: 'consume', decision: muted });
325
+ }
276
326
  if (quiet(now, profile)) {
277
- const delayed = freeze({ ...existing, reason: 'quiet-hours', updatedAt: now, eligibleAt: quietEndsAt(now, profile) });
327
+ const delayed = freeze({ ...this.#tag(existing, profile), reason: 'quiet-hours', updatedAt: now, eligibleAt: quietEndsAt(now, profile) });
278
328
  this.#put(delayed);
279
329
  return freeze({ disposition: 'defer', decision: delayed });
280
330
  }
281
331
  if (utility(profile) < profile.minimumUtility) {
282
- const suppressed = freeze({ ...existing, state: 'decided', mode: 'suppress', reason: 'below-threshold', updatedAt: now });
332
+ const suppressed = freeze({ ...this.#tag(existing, profile), state: 'decided', mode: 'suppress', reason: 'below-threshold', updatedAt: now });
283
333
  this.#put(suppressed);
284
334
  return freeze({ disposition: 'consume', decision: suppressed });
285
335
  }
286
336
  const counts = this.#counts(scope, input.goalId);
287
337
  const budget = counts.ledger > profile.maxDecisionsPerGoal || profile.mode === 'execute' && counts.executions >= profile.maxExecutionsPerGoal || profile.mode === 'remind' && counts.reminders >= profile.maxRemindersPerGoal;
288
- const mode = budget ? 'suppress' : profile.mode;
289
- const reason = budget ? 'budget' : profile.mode === 'execute' ? 'execution' : profile.mode === 'remind' ? 'reminder' : 'prepared';
290
- const next = freeze({ ...existing, ...(input.event.sequence > existing.eventSequence ? { eventId: input.event.id, eventSequence: input.event.sequence, eventDigest: input.event.digest, observations: existing.observations + 1 } : {}), mode, state: 'decided', reason, updatedAt: now });
338
+ // Compare the content of the latest coalesced observation, i.e. what this decision will actually report.
339
+ const observed = { ...this.#tag(existing, profile), ...(input.event.sequence > existing.eventSequence ? { eventId: input.event.id, eventSequence: input.event.sequence, eventDigest: input.event.digest, eventObservationDigest: input.event.observationDigest, observations: existing.observations + 1 } : {}) };
340
+ const unchanged = !budget && profile.mode === 'remind' && this.#unchangedReminder(scope, observed);
341
+ const mode = budget || unchanged ? 'suppress' : profile.mode;
342
+ const reason = budget ? 'budget' : unchanged ? 'unchanged' : profile.mode === 'execute' ? 'execution' : profile.mode === 'remind' ? 'reminder' : 'prepared';
343
+ const next = freeze({ ...observed, mode, state: 'decided', reason, utility: utility(profile), updatedAt: now });
291
344
  this.#put(next);
292
345
  this.#link(scope, input, next.id);
346
+ if (mode === 'remind')
347
+ this.#remember(scope, next);
293
348
  return freeze({ disposition: mode === 'execute' ? 'execute' : 'consume', decision: next });
294
349
  }
295
350
  #save(scope, input, profile, disposition, mode, reason, now, eligibleAt) {
296
351
  if (this.#counts(scope, input.goalId).ledger >= profile.maxDecisionsPerGoal)
297
352
  return this.#budgetProjection(input, profile, now);
298
- const decision = freeze({ id: `opportunity-${randomUUID()}`, waitId: input.waitId, profileId: profile.id, scope: input.scope, goalId: input.goalId, sessionId: input.sessionId, ownerRouteId: input.ownerRouteId, sourceId: input.sourceId, eventId: input.event.id, eventSequence: input.event.sequence, eventDigest: input.event.digest, sourceDigest: input.sourceDigest, objective: input.objective, definitionDigest: input.definitionDigest, nativeGoalId: input.nativeGoalId, nativeRevision: input.nativeRevision, mode, state: eligibleAt > now ? 'pending' : 'decided', reason, utility: utility(profile), firstObservedAt: now, updatedAt: now, eligibleAt, expiresAt: input.expiresAt, observations: 1 });
353
+ const decision = freeze({ id: `opportunity-${randomUUID()}`, waitId: input.waitId, profileId: profile.id, scope: input.scope, goalId: input.goalId, sessionId: input.sessionId, ownerRouteId: input.ownerRouteId, sourceId: input.sourceId, eventId: input.event.id, eventSequence: input.event.sequence, eventDigest: input.event.digest, eventObservationDigest: input.event.observationDigest, sourceDigest: input.sourceDigest, objective: input.objective, definitionDigest: input.definitionDigest, nativeGoalId: input.nativeGoalId, nativeRevision: input.nativeRevision, mode, state: eligibleAt > now ? 'pending' : 'decided', reason, utility: utility(profile), firstObservedAt: now, updatedAt: now, eligibleAt, expiresAt: input.expiresAt, observations: 1, ...this.#attention(profile) });
299
354
  this.#put(decision);
300
355
  this.#link(scope, input, decision.id);
356
+ if (mode === 'remind')
357
+ this.#remember(scope, decision);
301
358
  return freeze({ disposition, decision });
302
359
  }
360
+ /**
361
+ * One reminder per goal source until what the owner would read changes or the owner answers it. Durable in
362
+ * the same transaction as the decision, so a restart neither forgets nor re-sends an unchanged reminder.
363
+ */
364
+ #unchangedReminder(scope, value) {
365
+ const row = this.#db.prepare('SELECT content_digest, decision_id FROM proactive_reminders WHERE scope_json = ? AND goal_id = ? AND source_id = ?').get(scope, value.goalId, value.sourceId);
366
+ if (!row || row.content_digest !== reminderContentDigest(value))
367
+ return false;
368
+ return this.#decision(row.decision_id)?.feedback === undefined;
369
+ }
370
+ #remember(scope, decision) {
371
+ this.#db.prepare('INSERT INTO proactive_reminders(scope_json, goal_id, source_id, content_digest, decision_id, queued) VALUES (?, ?, ?, ?, ?, 0) ON CONFLICT(scope_json, goal_id, source_id) DO UPDATE SET content_digest = excluded.content_digest, decision_id = excluded.decision_id, queued = 0').run(scope, decision.goalId, decision.sourceId, reminderContentDigest(decision), decision.id);
372
+ }
303
373
  #put(decision) { this.#db.prepare('INSERT INTO proactive_decisions(id, scope_json, goal_id, profile_id, payload_json) VALUES (?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET payload_json = excluded.payload_json').run(decision.id, scopeKey(decision.scope), decision.goalId, decision.profileId, JSON.stringify(decision)); }
304
374
  #link(scope, input, id) { this.#db.prepare('INSERT OR IGNORE INTO proactive_events VALUES (?, ?, ?, ?, ?, ?, ?)').run(scope, input.goalId, input.profileId, input.sourceId, input.event.sequence, input.event.digest, id); }
305
375
  #terminal(existing, disposition, mode, reason, now) { const next = freeze({ ...existing, mode, reason, state: 'decided', updatedAt: now }); if (existing.state === 'pending')
306
376
  this.#put(next); return freeze({ disposition, decision: next }); }
307
- #budgetProjection(input, profile, now) { return freeze({ disposition: 'consume', decision: freeze({ id: `opportunity-budget-${input.event.digest}`, waitId: input.waitId, profileId: profile.id, scope: input.scope, goalId: input.goalId, sessionId: input.sessionId, ownerRouteId: input.ownerRouteId, sourceId: input.sourceId, eventId: input.event.id, eventSequence: input.event.sequence, eventDigest: input.event.digest, sourceDigest: input.sourceDigest, objective: input.objective, definitionDigest: input.definitionDigest, nativeGoalId: input.nativeGoalId, nativeRevision: input.nativeRevision, mode: 'suppress', state: 'decided', reason: 'budget', utility: utility(profile), firstObservedAt: now, updatedAt: now, eligibleAt: now, expiresAt: input.expiresAt, observations: 0 }) }); }
377
+ #budgetProjection(input, profile, now) { return freeze({ disposition: 'consume', decision: freeze({ id: `opportunity-budget-${input.event.digest}`, waitId: input.waitId, profileId: profile.id, scope: input.scope, goalId: input.goalId, sessionId: input.sessionId, ownerRouteId: input.ownerRouteId, sourceId: input.sourceId, eventId: input.event.id, eventSequence: input.event.sequence, eventDigest: input.event.digest, eventObservationDigest: input.event.observationDigest, sourceDigest: input.sourceDigest, objective: input.objective, definitionDigest: input.definitionDigest, nativeGoalId: input.nativeGoalId, nativeRevision: input.nativeRevision, mode: 'suppress', state: 'decided', reason: 'budget', utility: utility(profile), firstObservedAt: now, updatedAt: now, eligibleAt: now, expiresAt: input.expiresAt, observations: 0 }) }); }
308
378
  #sameIdentity(value, input) { return value.waitId === input.waitId && value.sessionId === input.sessionId && value.nativeGoalId === input.nativeGoalId && value.nativeRevision === input.nativeRevision && value.ownerRouteId === input.ownerRouteId && value.sourceId === input.sourceId && value.sourceDigest === input.sourceDigest && value.definitionDigest === input.definitionDigest && value.objective === input.objective && value.expiresAt === input.expiresAt && value.goalId === input.goalId && sameScope(value.scope, input.scope); }
309
379
  }
310
380
  function sameScope(left, right) { return scopeKey(left) === scopeKey(right); }
package/lib/engine.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -4,9 +4,11 @@ import { type ToolExecution } from '@deepseek-ai/dsh-tools';
4
4
  import Schema from '@deepseek-ai/schemastery';
5
5
  import { OpportunityEngine, validateProfile } from './engine.js';
6
6
  import type { OpportunityInput, OpportunityProfile, OpportunityScope } from './types.js';
7
+ import { attentionOverlay, proactiveAttentionCohort, tuneProfile, type AttentionOverlay } from './attention-tuning.js';
7
8
  import { version } from './version.js';
8
9
  export declare const name = "dsh-enhanced-assistant-proactive";
9
- export { version, OpportunityEngine, validateProfile };
10
+ export { version, OpportunityEngine, validateProfile, attentionOverlay, tuneProfile, proactiveAttentionCohort };
11
+ export type { AttentionOverlay };
10
12
  export type * from './types.js';
11
13
  export interface Config {
12
14
  databasePath?: string;
@@ -61,6 +63,7 @@ export declare class AssistantProactiveService extends Service {
61
63
  eventSequence: number;
62
64
  eventDigest: string;
63
65
  sourceDigest: string;
66
+ eventObservationDigest?: string | undefined;
64
67
  objective: string;
65
68
  definitionDigest: string;
66
69
  nativeGoalId: string;
@@ -75,6 +78,10 @@ export declare class AssistantProactiveService extends Service {
75
78
  expiresAt: number;
76
79
  observations: number;
77
80
  feedback?: "accepted" | "rejected";
81
+ attentionTuning?: {
82
+ version: number;
83
+ digest: string;
84
+ };
78
85
  })[];
79
86
  reconcilePreparations: () => Promise<void>;
80
87
  feedback: (agent: Agent | undefined, id: string, feedback: "accepted" | "rejected") => import("./types.js").OpportunityDecision;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAGvE,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAI7C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAIxF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,eAAO,MAAM,IAAI,qCAAqC,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAA;AACtD,mBAAmB,YAAY,CAAA;AAE/B,MAAM,WAAW,MAAM;IAAG,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAAE;AAElF,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAWhC,CAAA;AACF,OAAO,QAAQ,qBAAqB,CAAC;IAAE,UAAU,OAAO;QAAG,kBAAkB,EAAE,yBAAyB,CAAA;KAAE;CAAE;AAE5G,sFAAsF;AACtF,qBAAa,yBAA0B,SAAQ,OAAO;;IACpD,MAAM,CAAC,MAAM,iBAAS;gBAKV,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAW;IAkC7C,aAAa,GAAI,WAAW,MAAM,KAAG,IAAI,CAIxC;IACD,iBAAiB,GAAI,OAAO,KAAK,GAAG,SAAS;;;;;;SAO5C;IACD,kBAAkB,GAAI,WAAW,aAAa,KAAG,OAAO,CAYvD;IACD,QAAQ,GAAI,OAAO,gBAAgB,gDAmBlC;IAKD,SAAS,GAAI,QAAQ,MAAM,EAAE,OAAO,gBAAgB,EAAE,QAAQ,SAAS,GAAG,WAAW,KAAG,IAAI,CAI3F;IAkBD,OAAO,GAAI,OAAO,KAAK,GAAG,SAAS,EAAE,SAAS,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAMnD;IACD,qBAAqB,QAAO,OAAO,CAAC,IAAI,CAAC,CAA6B;IACtE,QAAQ,GAAI,OAAO,KAAK,GAAG,SAAS,EAAE,IAAI,MAAM,EAAE,UAAU,UAAU,GAAG,UAAU,8CAA0K;CAC9P;AACD,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI,CAA+C;;;;;;AAC7G,wBAAsC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAGvE,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAI7C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAExF,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGtH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,eAAO,MAAM,IAAI,qCAAqC,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAA;AAC/G,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAChC,mBAAmB,YAAY,CAAA;AAG/B,MAAM,WAAW,MAAM;IAAG,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAAE;AAElF,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAWhC,CAAA;AACF,OAAO,QAAQ,qBAAqB,CAAC;IAAE,UAAU,OAAO;QAAG,kBAAkB,EAAE,yBAAyB,CAAA;KAAE;CAAE;AAE5G,sFAAsF;AACtF,qBAAa,yBAA0B,SAAQ,OAAO;;IACpD,MAAM,CAAC,MAAM,iBAAS;gBAKV,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAW;IAkC7C,aAAa,GAAI,WAAW,MAAM,KAAG,IAAI,CAIxC;IACD,iBAAiB,GAAI,OAAO,KAAK,GAAG,SAAS;;;;;;SAO5C;IACD,kBAAkB,GAAI,WAAW,aAAa,KAAG,OAAO,CAYvD;IACD,QAAQ,GAAI,OAAO,gBAAgB,gDAyBlC;IAkBD,SAAS,GAAI,QAAQ,MAAM,EAAE,OAAO,gBAAgB,EAAE,QAAQ,SAAS,GAAG,WAAW,KAAG,IAAI,CAI3F;IAkBD,OAAO,GAAI,OAAO,KAAK,GAAG,SAAS,EAAE,SAAS,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAMnD;IACD,qBAAqB,QAAO,OAAO,CAAC,IAAI,CAAC,CAA6B;IACtE,QAAQ,GAAI,OAAO,KAAK,GAAG,SAAS,EAAE,IAAI,MAAM,EAAE,UAAU,UAAU,GAAG,UAAU,8CAA0K;CAC9P;AACD,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI,CAA+C;;;;;;AAC7G,wBAAsC"}
package/lib/index.js CHANGED
@@ -6,11 +6,12 @@ import { homedir } from 'node:os';
6
6
  import { join } from 'node:path';
7
7
  import { OpportunityEngine, validateProfile } from './engine.js';
8
8
  import { reminderText, reminderExpiresAt } from './reminder.js';
9
+ import { attentionOverlay, proactiveAttentionCohort, tuneProfile } from './attention-tuning.js';
9
10
  import { PreparationRuntime } from './preparation.js';
10
11
  import { PreparationStore } from './preparation-store.js';
11
12
  import { version } from './version.js';
12
13
  export const name = 'dsh-enhanced-assistant-proactive';
13
- export { version, OpportunityEngine, validateProfile };
14
+ export { version, OpportunityEngine, validateProfile, attentionOverlay, tuneProfile, proactiveAttentionCohort };
14
15
  const integer = (max = 1_000_000_000) => Schema.number().step(1).min(0).max(max).required();
15
16
  export const Config = Schema.object({
16
17
  databasePath: Schema.string().default(join(homedir(), '.dsh', 'assistant-proactive.sqlite')),
@@ -108,16 +109,22 @@ export class AssistantProactiveService extends Service {
108
109
  };
109
110
  evaluate = (input) => {
110
111
  this.assertProfile(input.profileId);
111
- const evaluation = this.#engine.evaluate(input);
112
+ const overlay = this.#configuredProfileMode(input.profileId) === 'remind' ? this.#attentionOverlay(input.scope) : undefined;
113
+ const evaluation = this.#engine.evaluate(input, overlay);
112
114
  const decision = evaluation.decision;
113
115
  if (evaluation.disposition === 'consume' && decision.mode === 'remind' && decision.state === 'decided') {
114
116
  const delivery = this.#notificationPort();
115
117
  if (!delivery)
116
118
  throw new Error('assistant-proactive: reminder delivery service unavailable');
117
- const profile = this.#engine.profileSnapshot(decision.scope, decision.goalId, decision.profileId);
119
+ const profile = tuneProfile(this.#engine.profileSnapshot(decision.scope, decision.goalId, decision.profileId), overlay);
118
120
  const expiresAt = reminderExpiresAt(decision, profile);
119
- if (Date.now() < expiresAt)
120
- delivery.enqueueOwnerNotification({ sourceId: 'assistant-proactive/v1', ownerRouteId: decision.ownerRouteId, scope: decision.scope, sessionId: decision.sessionId, idempotencyKey: `proactive-reminder:${decision.id}`, text: reminderText(decision, profile), expiresAt });
121
+ // An informational notice: no WorkItem or structured question exists, so `attention` would not apply.
122
+ if (Date.now() < expiresAt) {
123
+ delivery.enqueueOwnerNotification({ sourceId: 'assistant-proactive/v1', ownerRouteId: decision.ownerRouteId, scope: decision.scope, sessionId: decision.sessionId, idempotencyKey: `proactive-reminder:${decision.id}`, text: reminderText(decision), expiresAt, attention: { purpose: 'result' } });
124
+ this.#engine.confirmReminder(decision);
125
+ }
126
+ else
127
+ this.#engine.releaseReminder(decision); // never queued: a later unchanged event may still remind
121
128
  }
122
129
  if (evaluation.disposition === 'consume' && decision.mode === 'prepare' && decision.state === 'decided') {
123
130
  const profile = this.#engine.profileSnapshot(decision.scope, decision.goalId, decision.profileId);
@@ -128,6 +135,23 @@ export class AssistantProactiveService extends Service {
128
135
  }
129
136
  return evaluation;
130
137
  };
138
+ #configuredProfileMode(profileId) { return this.#profiles.get(profileId)?.mode; }
139
+ /**
140
+ * WP22: the current verified attention version for proactive reminders, read
141
+ * structurally from Evaluation. Absent service, switch off, errors, version 0
142
+ * or malformed values all mean no overlay (identical untuned behavior).
143
+ */
144
+ #attentionOverlay(scope) {
145
+ const evaluation = this.ctx.get('assistantEvaluation');
146
+ if (typeof evaluation?.currentAttentionTuning !== 'function')
147
+ return undefined;
148
+ try {
149
+ return attentionOverlay(evaluation.currentAttentionTuning({ scope: { workspace: scope.workspace, preset: scope.preset }, cohort: { ...proactiveAttentionCohort } }));
150
+ }
151
+ catch {
152
+ return undefined;
153
+ }
154
+ }
131
155
  #notificationPort() {
132
156
  const delivery = this.ctx.get('assistantDelivery');
133
157
  return typeof delivery?.enqueueOwnerNotification === 'function' ? delivery : undefined;
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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"}
package/lib/reminder.d.ts CHANGED
@@ -1,6 +1,17 @@
1
1
  import type { OpportunityDecision, OpportunityProfile } from './types.js';
2
- /** Plain text only. The event supplies identifiers, never new instructions or authority. */
3
- export declare function reminderText(decision: Readonly<OpportunityDecision>, profile: Readonly<OpportunityProfile>): string;
2
+ /**
3
+ * Owner-facing plain text. It carries only the owner's own objective plus fixed wording: no operator
4
+ * estimates, utility, source/event/decision identifiers or event content. Those stay in `proactive_status`.
5
+ */
6
+ export declare function reminderText(decision: Readonly<Pick<OpportunityDecision, 'objective'>>): string;
7
+ /**
8
+ * Durable dedupe key for one goal source. It changes when the triggering observation's content, the text the
9
+ * owner would see, the goal revision/definition or the configured source changes; a new event that observes
10
+ * the same content does not. Without an observation digest (older Goals) the unique envelope digest is used,
11
+ * so such events are never treated as unchanged.
12
+ */
13
+ export type ReminderContent = Pick<OpportunityDecision, 'objective' | 'definitionDigest' | 'nativeGoalId' | 'nativeRevision' | 'sourceId' | 'sourceDigest' | 'eventDigest' | 'eventObservationDigest'>;
14
+ export declare function reminderContentDigest(decision: Readonly<ReminderContent>): string;
4
15
  /** A queued reminder expires at the next quiet interval; it cannot arrive during a later silent period. */
5
16
  export declare function reminderExpiresAt(decision: Readonly<OpportunityDecision>, profile: Readonly<OpportunityProfile>): number;
6
17
  //# sourceMappingURL=reminder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reminder.d.ts","sourceRoot":"","sources":["../src/reminder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEzE,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAGnH;AAED,2GAA2G;AAC3G,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAexH"}
1
+ {"version":3,"file":"reminder.d.ts","sourceRoot":"","sources":["../src/reminder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAczE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC,GAAG,MAAM,CAE/F;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,kBAAkB,GAAG,cAAc,GAAG,gBAAgB,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,wBAAwB,CAAC,CAAA;AACtM,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,MAAM,CAIjF;AAED,2GAA2G;AAC3G,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAexH"}
package/lib/reminder.js CHANGED
@@ -1,7 +1,26 @@
1
- /** Plain text only. The event supplies identifiers, never new instructions or authority. */
2
- export function reminderText(decision, profile) {
3
- const objective = decision.objective.length > 500 ? `${decision.objective.slice(0, 500)}…` : decision.objective;
4
- return `主动提醒:目标有新的相关事件\n\n目标:${objective}\n来源:${decision.sourceId}\n事件:${decision.eventId}\n\n配置估值:预期收益 ${profile.expectedBenefit},成功系数 ${profile.successPpm / 10_000}%,执行成本 ${profile.executionCost},打扰成本 ${profile.interruptionCost},潜在损失 ${profile.possibleLoss};净收益分值 ${decision.utility}。这些是配置估计,未经实际效果验证。\n\n目标仍在等待。本次仅提醒,未执行目标任务。可查看 proactive_status,并用 proactive_feedback 接受或拒绝这条机会。\n机会:${decision.id}`;
1
+ import { createHash } from 'node:crypto';
2
+ const graphemes = new Intl.Segmenter('und', { granularity: 'grapheme' });
3
+ const objectiveLimit = 200;
4
+ function excerpt(value) {
5
+ const parts = [];
6
+ for (const part of graphemes.segment(value.replace(/\s+/gu, ' ').trim())) {
7
+ if (parts.length === objectiveLimit)
8
+ return `${parts.join('')}…`;
9
+ parts.push(part.segment);
10
+ }
11
+ return parts.join('');
12
+ }
13
+ /**
14
+ * Owner-facing plain text. It carries only the owner's own objective plus fixed wording: no operator
15
+ * estimates, utility, source/event/decision identifiers or event content. Those stay in `proactive_status`.
16
+ */
17
+ export function reminderText(decision) {
18
+ return `主动提醒:目标有新的相关事件\n\n目标:${excerpt(decision.objective)}\n\n目标仍在等待。本次仅提醒,未执行目标任务。如需反馈,可在对话中让助手查看主动提醒,再接受或拒绝。`;
19
+ }
20
+ export function reminderContentDigest(decision) {
21
+ const observation = decision.eventObservationDigest === undefined ? ['envelope', decision.eventDigest] : ['observation', decision.eventObservationDigest];
22
+ return createHash('sha256').update(JSON.stringify(['assistant-proactive/reminder/v2', decision.sourceId, decision.sourceDigest,
23
+ decision.nativeGoalId, decision.nativeRevision, decision.definitionDigest, ...observation, reminderText(decision)])).digest('hex');
5
24
  }
6
25
  /** A queued reminder expires at the next quiet interval; it cannot arrive during a later silent period. */
7
26
  export function reminderExpiresAt(decision, profile) {
@@ -1 +1 @@
1
- {"version":3,"file":"reminder.js","sourceRoot":"","sources":["../src/reminder.ts"],"names":[],"mappings":"AAEA,4FAA4F;AAC5F,MAAM,UAAU,YAAY,CAAC,QAAuC,EAAE,OAAqC;IACzG,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAA;IAC/G,OAAO,wBAAwB,SAAS,QAAQ,QAAQ,CAAC,QAAQ,QAAQ,QAAQ,CAAC,OAAO,iBAAiB,OAAO,CAAC,eAAe,SAAS,OAAO,CAAC,UAAU,GAAG,MAAM,UAAU,OAAO,CAAC,aAAa,SAAS,OAAO,CAAC,gBAAgB,SAAS,OAAO,CAAC,YAAY,UAAU,QAAQ,CAAC,OAAO,wGAAwG,QAAQ,CAAC,EAAE,EAAE,CAAA;AACnZ,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,iBAAiB,CAAC,QAAuC,EAAE,OAAqC;IAC9G,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAA;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC,SAAS,CAAA;IACrC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;IACtI,MAAM,OAAO,GAAG,CAAC,EAAU,EAAW,EAAE;QACtC,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACnD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAA;QACvI,OAAO,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;IAChK,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAA;IAChC,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAChC,kFAAkF;IAClF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,EAAE,GAAG,SAAS,CAAC,CAAA;IAClE,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,IAAI,MAAM;QAAE,IAAI,OAAO,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,CAAA;IAChH,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"reminder.js","sourceRoot":"","sources":["../src/reminder.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -50,15 +50,20 @@ export interface OpportunityInput {
50
50
  ownerRouteId: string;
51
51
  sourceDigest: string;
52
52
  sourceId: string;
53
+ /**
54
+ * `digest` is the canonical envelope digest (unique per event). `observationDigest` is the source's
55
+ * content digest (`observation.digest`); optional for older Goals, which then never dedupe a reminder.
56
+ */
53
57
  event: {
54
58
  id: string;
55
59
  sequence: number;
56
60
  digest: string;
57
61
  occurredAt: number;
62
+ observationDigest?: string;
58
63
  };
59
64
  expiresAt: number;
60
65
  }
61
- export type OpportunityReason = 'cancelled' | 'coalescing' | 'quiet-hours' | 'cooldown' | 'rejected-cooldown' | 'below-threshold' | 'budget' | 'expired' | 'prepared' | 'reminder' | 'execution';
66
+ export type OpportunityReason = 'cancelled' | 'coalescing' | 'quiet-hours' | 'cooldown' | 'rejected-cooldown' | 'below-threshold' | 'budget' | 'expired' | 'prepared' | 'reminder' | 'unchanged' | 'execution' | 'attention-muted';
62
67
  export interface OpportunityDecision {
63
68
  id: string;
64
69
  waitId: string;
@@ -72,6 +77,8 @@ export interface OpportunityDecision {
72
77
  eventSequence: number;
73
78
  eventDigest: string;
74
79
  sourceDigest: string;
80
+ /** Content digest of the triggering observation, when the caller supplied one. */
81
+ eventObservationDigest?: string | undefined;
75
82
  objective: string;
76
83
  definitionDigest: string;
77
84
  nativeGoalId: string;
@@ -86,6 +93,11 @@ export interface OpportunityDecision {
86
93
  expiresAt: number;
87
94
  observations: number;
88
95
  feedback?: 'accepted' | 'rejected';
96
+ /** Evaluation attention version (WP22) applied to this decision; absent when untuned. */
97
+ attentionTuning?: {
98
+ version: number;
99
+ digest: string;
100
+ };
89
101
  }
90
102
  export interface OpportunityEvaluation {
91
103
  /** consume advances this wait's source cursor; execute still goes through the original GoalWake authority. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "0.1.64";
1
+ export declare const version = "0.1.66";
2
2
  //# sourceMappingURL=version.d.ts.map
package/lib/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '0.1.64';
1
+ export const version = '0.1.66';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dsh-enhanced/assistant-proactive",
3
- "version": "0.1.64",
3
+ "version": "0.1.66",
4
4
  "description": "Owner-authorized goal event opportunity filtering with durable utility decisions and cooldowns.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -43,8 +43,8 @@
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@deepseek-ai/cordis": "^4.0.1",
46
- "@deepseek-ai/dsh-agent": "0.2.1-rc.2",
47
- "@deepseek-ai/dsh-tools": "0.2.1-rc.2",
46
+ "@deepseek-ai/dsh-agent": ">=0.2.1-rc.2 <0.3.0",
47
+ "@deepseek-ai/dsh-tools": ">=0.2.1-rc.2 <0.3.0",
48
48
  "@dsh-enhanced/assistant-automations": ">=0.1.24 <0.2.0",
49
49
  "@dsh-enhanced/assistant-delivery": ">=0.1.24 <0.2.0",
50
50
  "@dsh-enhanced/assistant-goals": ">=0.1.24 <0.2.0",
@@ -80,14 +80,14 @@
80
80
  "@types/node": "22.20.0",
81
81
  "typescript": "6.0.3",
82
82
  "vitest": "4.1.8",
83
- "@dsh-enhanced/assistant-automations": "^0.1.64",
84
- "@dsh-enhanced/assistant-goals": "^0.1.64",
85
- "@dsh-enhanced/assistant-policy": "^0.1.64",
86
- "@dsh-enhanced/assistant-delivery": "^0.1.64"
83
+ "@dsh-enhanced/assistant-automations": "^0.1.66",
84
+ "@dsh-enhanced/assistant-goals": "^0.1.66",
85
+ "@dsh-enhanced/assistant-policy": "^0.1.66",
86
+ "@dsh-enhanced/assistant-delivery": "^0.1.66"
87
87
  },
88
88
  "dependencies": {
89
89
  "@deepseek-ai/schemastery": "3.18.5",
90
- "@dsh-enhanced/task-acceptance-contract": "^0.1.64"
90
+ "@dsh-enhanced/task-acceptance-contract": "^0.1.66"
91
91
  },
92
92
  "scripts": {
93
93
  "build": "tsc -p tsconfig.build.json",