@dsh-enhanced/assistant-automations 0.1.23 → 0.1.30

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 (51) hide show
  1. package/README.md +18 -5
  2. package/lib/acceptance.d.ts +52 -0
  3. package/lib/acceptance.d.ts.map +1 -0
  4. package/lib/acceptance.js +2 -0
  5. package/lib/acceptance.js.map +1 -0
  6. package/lib/coordinator.d.ts +5 -0
  7. package/lib/coordinator.d.ts.map +1 -1
  8. package/lib/coordinator.js +21 -0
  9. package/lib/coordinator.js.map +1 -1
  10. package/lib/external-event.d.ts +32 -0
  11. package/lib/external-event.d.ts.map +1 -0
  12. package/lib/external-event.js +114 -0
  13. package/lib/external-event.js.map +1 -0
  14. package/lib/growth.d.ts +10 -0
  15. package/lib/growth.d.ts.map +1 -1
  16. package/lib/growth.js +49 -16
  17. package/lib/growth.js.map +1 -1
  18. package/lib/index.d.ts +6 -1
  19. package/lib/index.d.ts.map +1 -1
  20. package/lib/index.js +2 -1
  21. package/lib/index.js.map +1 -1
  22. package/lib/operator.d.ts +68 -2
  23. package/lib/operator.d.ts.map +1 -1
  24. package/lib/operator.js +922 -6
  25. package/lib/operator.js.map +1 -1
  26. package/lib/preparation.d.ts +52 -0
  27. package/lib/preparation.d.ts.map +1 -0
  28. package/lib/preparation.js +191 -0
  29. package/lib/preparation.js.map +1 -0
  30. package/lib/runner.d.ts +29 -0
  31. package/lib/runner.d.ts.map +1 -1
  32. package/lib/runner.js +72 -2
  33. package/lib/runner.js.map +1 -1
  34. package/lib/service.d.ts +37 -0
  35. package/lib/service.d.ts.map +1 -1
  36. package/lib/service.js +269 -60
  37. package/lib/service.js.map +1 -1
  38. package/lib/sqlite.d.ts +1 -1
  39. package/lib/sqlite.d.ts.map +1 -1
  40. package/lib/sqlite.js +77 -3
  41. package/lib/sqlite.js.map +1 -1
  42. package/lib/store.d.ts +55 -0
  43. package/lib/store.d.ts.map +1 -1
  44. package/lib/store.js +233 -14
  45. package/lib/store.js.map +1 -1
  46. package/lib/types.d.ts +3 -0
  47. package/lib/types.d.ts.map +1 -1
  48. package/lib/types.js.map +1 -1
  49. package/lib/version.d.ts +1 -1
  50. package/lib/version.js +1 -1
  51. package/package.json +29 -23
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @dsh-enhanced/assistant-automations
2
2
 
3
- 面向个人助理的单机、冷启动可恢复调度器。它把 automation 定义、稳定 occurrence、task、attempt、run 和 duty lease 写入 SQLite;进程重启后从账本继续,而不是把内存 timer 当作事实源。普通 Agent automation 每次执行创建一个新的 DSH rc.8 Agent,固定 workspace、preset 身份、provider/model、输出预算、工具白名单和工具调用上限;system-owned Host automation 则只调用进程内注册、版本和 catalog digest 精确匹配的固定执行器,不创建 Agent 或模型 turn。
3
+ 面向个人助理的单机、冷启动可恢复调度器。它把 automation 定义、稳定 occurrence、task、attempt、run 和 duty lease 写入 SQLite;进程重启后从账本继续,而不是把内存 timer 当作事实源。普通 Agent automation 每次执行创建一个新的 DSH `0.1.2-rc.1` Agent,固定 workspace、preset 身份、provider/model、输出预算、工具白名单和工具调用上限;system-owned Host automation 则只调用进程内注册、版本和 catalog digest 精确匹配的固定执行器,不创建 Agent 或模型 turn。
4
4
 
5
5
  执行前会先解析并挂载 automation 固定的 Agent preset,再在该 Agent 的最终工具平面上校验 immutable allowlist;preset 只提供 scoped tool 时也能被正确发现,preset 额外暴露未批准工具则整次 setup fail closed。通过校验的最终 tool schemas 会与 provider/model 无关地交给 Agent Loop;模型只供应生成,不决定工具可见性或授权,也没有部署侧 provider 能力名单。协议元数据缺失、`native` 和 `bridge` 都会放行;只有 adapter 主动声明 `toolCalls: none` 且最终 scope 非空时,才会在 provider 执行前因未实现统一 DSH tool-call 协议失败关闭。每次工具执行仍受 automation 白名单、调用上限、Policy、sandbox、审批和预算约束。
6
6
 
@@ -74,7 +74,7 @@ dsh --profile web --dump-config
74
74
 
75
75
  SQLite occurrence id 由 automation、trigger 类型和 scheduledAt/eventId 稳定派生并唯一约束。task 只在短事务中 claim;全局 duty lease 使用单调 fencing token,旧 owner 无法 heartbeat 或提交新 owner 的结果。过期但尚未启动的 `claimed` task 可安全重排;已经 `running` 的 task 默认变成 `unknown`。只有 immutable definition 明确声明 `retrySafety: idempotent` 且还有 retry 配额时,才会自动重排。
76
76
 
77
- 这不等于“外部副作用 exactly once”。模型可能已经调用外部工具,而进程在 run commit 前崩溃;默认的 `unknown` 正是对这段不可判定窗口的诚实记录。`overlap` 支持 `skip`、`queue-one` 和 `cancel-previous`,取消是请求而不是远端副作用回滚保证。
77
+ 这不等于“外部副作用 exactly once”。模型可能已经调用外部工具,而进程在 run commit 前崩溃;默认的 `unknown` 正是对这段不可判定窗口的诚实记录。`overlap` 支持 `skip`、`queue-one` 和 `cancel-previous`,取消是请求而不是远端副作用回滚保证。`cancel-previous` 即使本地并发槽已满也会先在同一 duty fence 下持久标记旧 task,再由协调器中止本地 runner;新 occurrence 等旧 lease/槽真实释放后才 claim。`queue-one` 在已有 active task 时只保留最新一个尚未尝试的 occurrence,其余以 `overlap-queue-one-coalesced` 终结并保留 occurrence 审计;已有 attempt 的可恢复 retry 不会被该合并丢弃。
78
78
 
79
79
  完整 JSON artifact 先通过同目录临时文件、fsync、atomic rename 写入,再提交 terminal run;SQLite 只保存有限 preview 和相对 artifact ref。artifact 写入失败会立即提交 content-free `unknown` + `artifact-write-failed` receipt,不等 running lease 过期,也不把可能已发生的模型/工具效果说成没有发生。execution 与 delivery 是两个状态域:若可选的 `assistant-delivery` 存在,带固定 `deliveryBindingId` 的成功 run 会以 `automation:<occurrenceId>:<bindingId>` 幂等写入它的 outbox;投递失败不会把成功 execution 改写成失败,后续 tick 只重试同一 enqueue。定义还可带有界的 `deliverySuppressExact`;空输出或精确匹配值会在同一账本中进入 terminal `suppressed`,不会送到 Delivery。该字段必须同时绑定 `deliveryBindingId`,Heartbeat 用它抑制 `HEARTBEAT_OK`。
80
80
 
@@ -106,10 +106,10 @@ Evaluation/Evolution 可直接调用 `resolveQualityEvidence(...)`,用 Evaluat
106
106
 
107
107
  每个 **production** terminal run 还会原子写入独立的 Evaluation outbox;payload 固化 `executionMode: production`,并经 Evaluation 实例绑定的 process-local capability 写入可信账本。preview 从源头不创建该 outbox;升级前残留的 preview row 也会按 Automation 权威 run mode 直接终结,绝不发送。`assistant-evaluation` 未安装或暂时失败不会重跑任务,也不会阻塞 Evolution。发送使用稳定幂等键、超时、指数退避和有界尝试,永久失败进入 `dead-letter`,只保存有界错误类别而不保存异常正文。`health()` 分开公开当前 `pendingEvaluations`、`retryingEvaluations`、`deadLetterEvaluations`、最老 pending 时间,以及只用于做增量/速率观测的累计 `failedEvaluationAttempts`;历史失败总数本身不表示当前不健康。
108
108
 
109
- schema v8 建立了需要停写的单 writer 升级边界;当前 schema v10 延续这一要求,不承诺旧 binary
109
+ schema v8 建立了需要停写的单 writer 升级边界;当前 schema v11 延续这一要求,不承诺旧 binary
110
110
  与新 binary 的 N/N-1 并发兼容。v9 增加 incident lifecycle/presentation ledger,v10 增加受监督
111
111
  Growth 的 operation 与 paused artifact 账本。部署必须先停止所有旧 scheduler owner,再备份 SQLite/WAL,
112
- 启动一个 v10 binary 完成迁移并验证后才恢复 supervisor;旧 binary 看到更高 `user_version` 会 fail closed,
112
+ 启动一个 v11 binary 完成迁移并验证后才恢复 supervisor;v11 为 Growth artifact 增加 canonical canary proof 列;旧 binary 看到更高 `user_version` 会 fail closed,
113
113
  而不是假装可安全降级。
114
114
 
115
115
  ## 配置
@@ -146,10 +146,17 @@ Growth 的 operation 与 paused artifact 账本。部署必须先停止所有旧
146
146
 
147
147
  `automation_pending` 用于列出仍在等待审批的提案(仅有界元数据,不含 prompt、principal 或主机路径),避免对同一变更重复提案。
148
148
 
149
+ ## Proactive 的可选草稿运行
150
+
151
+ `assistant-proactive` 的 `mode: prepare` 只有 profile 显式提供 `preparation { provider, model, budgetId, maxOutputTokens, timeoutMs }` 时,才经由本插件执行一次真实模型草稿;省略该对象仍是 Proactive 的 metadata-only 记录。该运行不创建 AutomationStore 的 definition、occurrence 或可投递 run,而是为这条准备记录创建独立 Session。它固定 `allowedTools: []`、`maxToolCalls: 0`、`retrySafety: never` 和零重试;原 Goals 目标仍为 `paused`。输出由 Proactive 标为 `unverified-draft`,不代表业务文件被修改、目标执行或独立验收。
152
+
153
+ 这类请求只允许当前、未过期的 Goals 等待和 owner route,并持续重查 `background:assistant-proactive/v1` 对 goal 的 `prepare` Policy 授权。其 Policy **授权主体**是 `assistant-proactive/v1`,而 `automation-runs` 预算的固定 **预算主体**是 `assistant-proactive-v1-preparation`;两者不可用决策 ID、goal ID 或输入文本替换。预算按单次模型运行预留并结算 `budgetAmount: 1`,不是累计 token 或金额预算;`maxOutputTokens` 和 `timeoutMs` 分别只是这一模型 turn 的输出和时长上限。重启时未确认的准备 `running` 记录由 Proactive 标为 `unknown`,不自动重试。撤权、owner route 变化、静默截止(quiet deadline) 或目标 deadline、以及主人拒绝都会阻断尚未完成的请求;已经产生的 draft 保留给状态读取,不会被反馈删除。
154
+
149
155
  ## 权限与数据
150
156
 
151
157
  - 文件系统:只读写显式 `databasePath`、SQLite WAL/SHM 和 `runsPath`;目录 `0700`,数据库/artifact `0600`。automation 的 workspace 只作为 DSH session 身份,本插件不自行扫描工作区。
152
158
  - 网络:插件不直接发网络请求;Agent automation 会通过宿主 DSH LLM provider 调用已批准的模型,Host automation 则调用已注册插件执行器。执行器和白名单工具各自声明的网络权限仍独立生效。
159
+ - Proactive 草稿:显式开启的准备会把目标文本发送给其配置的宿主模型 provider,并保存独立 Session ID、有限 usage 和未验收草稿;它不获取工具、文件、浏览器或消息发送权限。该模型网络依赖和上述持久数据仅在 `assistant-proactive` 显式开启 `preparation` 后存在。
153
160
  - 消息投递:`assistant-delivery` 是可选 peer;只有 automation 固定了 `deliveryBindingId` 且后台 send 策略允许时才会 enqueue。该服务不存在时,run 保持 `deliveryStatus: pending`,完整结果仍可从本地 artifact 获取。
154
161
  - 子进程、凭据、浏览器、安装脚本:本插件自身无。白名单工具的独立权限仍然生效,assistant-policy 只能进一步拒绝,不能替代 OS/container 隔离。
155
162
  - 模型成本:每个 occurrence 可产生一个或多个 LLM step。默认要求 immutable `budgetId`/`budgetAmount`,并在 Agent 创建前预留 Policy budget;只有显式设置 `allowUnbudgetedExecution: true` 才能绕过。runner 会通过 Policy 的只读配置接口证明该 budget 的 metric 精确为 `automation-runs`,其他单位在 reserve 和 Agent 创建前 fail closed。reservation 幂等键同时绑定 automation、occurrence、definition hash、metric 和 budget;唯一允许读取 finalized receipt 的 Recovery 恢复路径不会再次结算预算,executor 自身以同一 operation key 返回已有 terminal result。
@@ -162,4 +169,10 @@ P0 是单机 scheduler,不支持共享网络文件系统、多主共识、DAG
162
169
 
163
170
  ## 兼容性
164
171
 
165
- 已针对 DeepSeek Harness `0.1.0-rc.8`(源码提交 `141eb6fef83422698aef7a981029e843e8161534`)验证。详见仓库[兼容性基线](../../docs/compatibility.md)。
172
+ 已针对 DeepSeek Harness `0.1.2-rc.1` 验证。详见仓库[兼容性基线](../../docs/compatibility.md)。
173
+
174
+ Growth 的 canary 检查只接受 Evaluation 按 exact run 返回的 ready canonical learning projection:必须是 upsert,可信执行成功且目标 achieved。原始 append-only 成功不构成 promotion 证明。schema v11 保存 canonical revision、digest、scope watermark 与完整 scope/run 证明;promotion 重新读取当前证明,并在当前 scope watermark 的 Evaluation writer fence 内提交激活。canary 证据冲突、撤回、scope 不匹配或未完成投影都拒绝激活;同 scope 的无关 canonical 进展会刷新 fence watermark,不会改变已检查 canary 的身份。旧版保存的成功证明不会自动升级为新授权,须重新进行实验;已完成的 promotion 操作仍可幂等重放。Evaluation 未提供 exact canonical lookup 时检查保持 pending。
175
+
176
+ Promoted Growth automations retain their exact canary run identity. Owner correction or withdrawal rechecks canonical eligibility immediately, on restart, and before every coordinator dispatch tick (including timer/internal ticks). Unknown, conflicting, partial or failed canonical objectives pause the exact deployed definition by version/digest CAS and retain a durable rollback receipt; unrelated definitions remain untouched. A newer positive owner judgement does not revoke an already successful deployment. Activation with a lost acknowledgement is recovered from the exact active version before rollback. Failed rollback remains retryable and prevents dispatch of a still-unsafe exact deployment.
177
+
178
+ 准备运行使用 Host-only `modelOnly` 投影:仅允许空工具契约,解析预设身份但不装载该预设的工具与 persona;原生 Agent loop、选定 provider/model、Policy 和会话持久化照常使用。每份准备最多分派一次模型请求;失败保存稳定诊断,不保存异常原文,也不自动重试。
@@ -0,0 +1,52 @@
1
+ /** Structural Host-only acceptance seam. Kept local to avoid a runtime cycle. */
2
+ export interface AcceptanceOwner {
3
+ readonly principalRecordId: string;
4
+ readonly principalVersion: number;
5
+ }
6
+ export interface AcceptanceScope {
7
+ readonly workspace: string;
8
+ readonly preset: string;
9
+ }
10
+ export interface AcceptanceTaskInput {
11
+ readonly scope: AcceptanceScope;
12
+ readonly owner: AcceptanceOwner;
13
+ readonly task: {
14
+ readonly kind: 'automation-run';
15
+ readonly ref: string;
16
+ };
17
+ readonly objective: string;
18
+ }
19
+ export interface AcceptanceHandle {
20
+ readonly contractId: string;
21
+ readonly contractDigest: string;
22
+ }
23
+ export interface TaskAcceptanceRegistration {
24
+ readonly protocol: 'assistant-verifier/host-producer/v1';
25
+ readonly generation: string;
26
+ readonly owner: {
27
+ ownsTaskAcceptanceRegistration(registration: TaskAcceptanceRegistration): boolean;
28
+ };
29
+ readonly requiresAcceptance?: boolean;
30
+ prepare(input: AcceptanceTaskInput): AcceptanceHandle | null;
31
+ completed(handle: AcceptanceHandle): Promise<void>;
32
+ }
33
+ export interface AcceptanceContract {
34
+ readonly id: string;
35
+ readonly digest: string;
36
+ readonly scope: AcceptanceScope;
37
+ readonly owner: AcceptanceOwner;
38
+ readonly task: {
39
+ readonly kind: 'automation-run';
40
+ readonly ref: string;
41
+ };
42
+ }
43
+ export interface AcceptedExecution {
44
+ readonly contractId: string;
45
+ readonly contractDigest: string;
46
+ readonly dispatchedAt: number;
47
+ readonly status: 'succeeded' | 'failed' | 'timed-out' | 'cancelled' | 'unknown';
48
+ readonly quiescent: boolean;
49
+ readonly completedAt: number;
50
+ readonly executionRef: string;
51
+ }
52
+ //# sourceMappingURL=acceptance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acceptance.d.ts","sourceRoot":"","sources":["../src/acceptance.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,WAAW,eAAe;IAAG,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE;AAC1G,MAAM,WAAW,eAAe;IAAG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACxF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AACD,MAAM,WAAW,gBAAgB;IAAG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAAE;AAClG,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,qCAAqC,CAAA;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE;QAAE,8BAA8B,CAAC,YAAY,EAAE,0BAA0B,GAAG,OAAO,CAAA;KAAE,CAAA;IACrG,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,gBAAgB,GAAG,IAAI,CAAA;IAC5D,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD;AACD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CACzE;AACD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAA;IAC/E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=acceptance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acceptance.js","sourceRoot":"","sources":["../src/acceptance.ts"],"names":[],"mappings":""}
@@ -17,6 +17,8 @@ export interface AutomationRunnerResult {
17
17
  usage: Readonly<Record<string, unknown>>;
18
18
  /** Omitted only by legacy/custom runners; the coordinator persists unknown. */
19
19
  diagnostic?: AutomationExecutionDiagnostic;
20
+ /** Only the runner can attest that its own Agent/resources were joined. */
21
+ quiescent?: boolean;
20
22
  }
21
23
  export interface AutomationRunner {
22
24
  run(input: AutomationRunnerInput): Promise<AutomationRunnerResult>;
@@ -108,6 +110,8 @@ export declare class AutomationRunnerFailureError extends Error {
108
110
  constructor(message: string, diagnostic: AutomationExecutionDiagnostic, options?: ErrorOptions);
109
111
  }
110
112
  export interface AutomationCoordinatorOptions {
113
+ /** Host proof revalidation before every timer, manual, or internal dispatch tick. */
114
+ beforeDispatch?: () => void;
111
115
  store: AutomationStore;
112
116
  artifacts: AutomationArtifactStore;
113
117
  runner: AutomationRunner;
@@ -122,6 +126,7 @@ export interface AutomationCoordinatorOptions {
122
126
  hostExecutors?: HostAutomationExecutorRegistry;
123
127
  }
124
128
  export declare class AutomationCoordinator {
129
+ private readonly beforeDispatch;
125
130
  private readonly store;
126
131
  private readonly artifacts;
127
132
  private readonly runner;
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,7 @@ function recorderErrorCode(error) {
61
61
  return 'recorder-error';
62
62
  }
63
63
  export class AutomationCoordinator {
64
+ beforeDispatch;
64
65
  store;
65
66
  artifacts;
66
67
  runner;
@@ -85,6 +86,7 @@ export class AutomationCoordinator {
85
86
  if (!Number.isSafeInteger(options.maxConcurrency) || options.maxConcurrency <= 0 || options.maxConcurrency > 100) {
86
87
  throw new Error('assistant-automations: maxConcurrency must be between 1 and 100');
87
88
  }
89
+ this.beforeDispatch = options.beforeDispatch;
88
90
  this.store = options.store;
89
91
  this.artifacts = options.artifacts;
90
92
  this.runner = options.runner;
@@ -113,6 +115,7 @@ export class AutomationCoordinator {
113
115
  const now = this.now();
114
116
  if (!this.ensureDuty(now))
115
117
  return;
118
+ this.beforeDispatch?.();
116
119
  this.store.recoverExpiredCircuitProbes({ now });
117
120
  this.store.recoverExpiredTasks({ now, limit: this.maxCatchUp });
118
121
  this.dispatchPendingEvaluations();
@@ -126,6 +129,17 @@ export class AutomationCoordinator {
126
129
  maxCatchUp: this.maxCatchUp,
127
130
  hostAvailability: materializeAvailability,
128
131
  });
132
+ this.store.requestCancellationForSupersededTasks({
133
+ ownerId: this.ownerId,
134
+ fencingToken: this.fencingToken,
135
+ now,
136
+ });
137
+ this.store.coalesceQueuedTasks({
138
+ ownerId: this.ownerId,
139
+ fencingToken: this.fencingToken,
140
+ now,
141
+ });
142
+ this.abortRequestedActive();
129
143
  while (this.active.size < this.maxConcurrency) {
130
144
  const claimAvailability = this.hostAvailability(this.store.listClaimableHostExecutionRequirements(), 'claim');
131
145
  const claimed = this.store.claimNextTask({
@@ -135,6 +149,10 @@ export class AutomationCoordinator {
135
149
  leaseMs: this.taskLeaseMs,
136
150
  hostAvailability: claimAvailability,
137
151
  });
152
+ // claimNextTask may have durably requested a causal cancel-previous
153
+ // replacement. Abort it before observing the resulting no-claim so the
154
+ // next tick can acquire the successor only after the slot is released.
155
+ this.abortRequestedActive();
138
156
  if (claimed === undefined)
139
157
  break;
140
158
  if (claimed.status !== 'claimed')
@@ -483,6 +501,9 @@ export class AutomationCoordinator {
483
501
  },
484
502
  }),
485
503
  });
504
+ // Persist actual runner cleanup state rather than deriving it from a
505
+ // terminal status. Unknown/custom/timeout runners remain false.
506
+ this.store.markAcceptedTaskQuiescent(started.id, result.quiescent === true && outcome !== 'cancelled' && outcome !== 'unknown');
486
507
  this.dispatchRunDelivery(run);
487
508
  this.dispatchRunEvidence(run);
488
509
  this.dispatchRunEvaluation(run.id);
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export interface ExternalEventEnvelope {
2
+ protocol: 'dsh-external-event/v1';
3
+ source: Readonly<{
4
+ id: string;
5
+ kind: 'file' | 'http-json' | 'webhook' | 'github-repository' | 'lark-calendar';
6
+ version: string;
7
+ configDigest: string;
8
+ }>;
9
+ event: Readonly<{
10
+ id: string;
11
+ occurredAt: number;
12
+ receivedAt: number;
13
+ }>;
14
+ observation: Readonly<{
15
+ digest: string;
16
+ revision: string;
17
+ timeBasis: 'observed' | 'source-signed';
18
+ }>;
19
+ trust: Readonly<{
20
+ method: 'local-observation' | 'https-observation' | 'hmac-sha256';
21
+ content: 'untrusted';
22
+ }>;
23
+ target: Readonly<{
24
+ automationId: string;
25
+ }>;
26
+ deduplicationKey: string;
27
+ }
28
+ /** Validates only provenance metadata. It deliberately has no payload or goal field. */
29
+ export declare function parseExternalEventEnvelope(value: unknown): Readonly<ExternalEventEnvelope>;
30
+ export declare function externalEventDigest(value: unknown): string;
31
+ export declare function canonicalExternalEventEnvelope(value: unknown): string;
32
+ //# sourceMappingURL=external-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-event.d.ts","sourceRoot":"","sources":["../src/external-event.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,uBAAuB,CAAA;IACjC,MAAM,EAAE,QAAQ,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,mBAAmB,GAAG,eAAe,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACvJ,KAAK,EAAE,QAAQ,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACvE,WAAW,EAAE,QAAQ,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,UAAU,GAAG,eAAe,CAAA;KAAE,CAAC,CAAA;IACpG,KAAK,EAAE,QAAQ,CAAC;QAAE,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,aAAa,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC,CAAA;IAC5G,MAAM,EAAE,QAAQ,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC1C,gBAAgB,EAAE,MAAM,CAAA;CACzB;AA4DD,wFAAwF;AACxF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAoC1F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE1D;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErE"}
@@ -0,0 +1,114 @@
1
+ import { createHash } from 'node:crypto';
2
+ const digest = /^[a-f0-9]{64}$/u;
3
+ const maxEnvelopeBytes = 16_384;
4
+ function fail(message) { throw new TypeError(`invalid external event envelope: ${message}`); }
5
+ function plainObject(value, field) {
6
+ if (typeof value !== 'object' || value === null || Array.isArray(value)
7
+ || (Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null))
8
+ fail(`${field} must be a plain object`);
9
+ const descriptors = Object.getOwnPropertyDescriptors(value);
10
+ const output = Object.create(null);
11
+ for (const key of Reflect.ownKeys(descriptors)) {
12
+ if (typeof key !== 'string')
13
+ fail(`${field} must not contain symbol keys`);
14
+ const descriptor = descriptors[key];
15
+ if (!('value' in descriptor) || !descriptor.enumerable)
16
+ fail(`${field}.${key} must be an enumerable data property`);
17
+ output[key] = descriptor.value;
18
+ }
19
+ return output;
20
+ }
21
+ function exact(value, field, keys) {
22
+ const object = plainObject(value, field);
23
+ const actual = Object.keys(object).sort();
24
+ const expected = [...keys].sort();
25
+ if (actual.length !== expected.length || actual.some((key, index) => key !== expected[index]))
26
+ fail(`${field} has unexpected keys`);
27
+ return object;
28
+ }
29
+ function string(value, field, maximum = 1_000) {
30
+ if (typeof value !== 'string' || value.normalize('NFC').trim() !== value || value === '' || /\p{Cc}/u.test(value)
31
+ || Buffer.byteLength(value, 'utf8') > maximum)
32
+ fail(`${field} must be a bounded canonical string`);
33
+ return value;
34
+ }
35
+ function sha256(value, field) {
36
+ if (typeof value !== 'string' || !digest.test(value))
37
+ fail(`${field} must be a SHA-256 digest`);
38
+ return value;
39
+ }
40
+ function time(value, field) {
41
+ if (!Number.isSafeInteger(value) || value < 0)
42
+ fail(`${field} must be a non-negative safe integer`);
43
+ return value;
44
+ }
45
+ function freeze(value) {
46
+ if (typeof value === 'object' && value !== null && !Object.isFrozen(value)) {
47
+ for (const child of Object.values(value))
48
+ freeze(child);
49
+ Object.freeze(value);
50
+ }
51
+ return value;
52
+ }
53
+ function canonical(value) {
54
+ if (value === null || typeof value !== 'object')
55
+ return JSON.stringify(value);
56
+ if (Array.isArray(value))
57
+ return `[${value.map(canonical).join(',')}]`;
58
+ const input = value;
59
+ return `{${Object.keys(input).sort().map(key => `${JSON.stringify(key)}:${canonical(input[key])}`).join(',')}}`;
60
+ }
61
+ /** Validates only provenance metadata. It deliberately has no payload or goal field. */
62
+ export function parseExternalEventEnvelope(value) {
63
+ const root = exact(value, 'envelope', ['protocol', 'source', 'event', 'observation', 'trust', 'target', 'deduplicationKey']);
64
+ if (root['protocol'] !== 'dsh-external-event/v1')
65
+ fail('protocol is unsupported');
66
+ const source = exact(root['source'], 'source', ['id', 'kind', 'version', 'configDigest']);
67
+ const sourceId = string(source['id'], 'source.id', 500);
68
+ const kind = source['kind'];
69
+ if (kind !== 'file' && kind !== 'http-json' && kind !== 'webhook' && kind !== 'github-repository' && kind !== 'lark-calendar')
70
+ fail('source.kind is unsupported');
71
+ const event = exact(root['event'], 'event', ['id', 'occurredAt', 'receivedAt']);
72
+ const eventId = string(event['id'], 'event.id', 500);
73
+ const occurredAt = time(event['occurredAt'], 'event.occurredAt');
74
+ const receivedAt = time(event['receivedAt'], 'event.receivedAt');
75
+ const observation = exact(root['observation'], 'observation', ['digest', 'revision', 'timeBasis']);
76
+ const timeBasis = observation['timeBasis'];
77
+ if (timeBasis !== 'observed' && timeBasis !== 'source-signed')
78
+ fail('observation.timeBasis is unsupported');
79
+ const trust = exact(root['trust'], 'trust', ['method', 'content']);
80
+ const method = trust['method'];
81
+ if (method !== 'local-observation' && method !== 'https-observation' && method !== 'hmac-sha256')
82
+ fail('trust.method is unsupported');
83
+ if (trust['content'] !== 'untrusted')
84
+ fail('trust.content must be untrusted');
85
+ const target = exact(root['target'], 'target', ['automationId']);
86
+ const automationId = string(target['automationId'], 'target.automationId', 500);
87
+ const deduplicationKey = string(root['deduplicationKey'], 'deduplicationKey', 1_000);
88
+ if (deduplicationKey !== `${sourceId}:${eventId}`)
89
+ fail('deduplicationKey does not bind source and event');
90
+ const expected = kind === 'file'
91
+ ? ['local-observation', 'observed']
92
+ : (kind === 'http-json' || kind === 'github-repository' || kind === 'lark-calendar') ? ['https-observation', 'observed'] : ['hmac-sha256', 'source-signed'];
93
+ if (method !== expected[0] || timeBasis !== expected[1])
94
+ fail('source, trust method, and time basis are inconsistent');
95
+ if (timeBasis === 'observed' && occurredAt > receivedAt)
96
+ fail('observed event time cannot exceed receipt time');
97
+ const parsed = {
98
+ protocol: 'dsh-external-event/v1',
99
+ source: { id: sourceId, kind, version: string(source['version'], 'source.version', 200), configDigest: sha256(source['configDigest'], 'source.configDigest') },
100
+ event: { id: eventId, occurredAt, receivedAt },
101
+ observation: { digest: sha256(observation['digest'], 'observation.digest'), revision: string(observation['revision'], 'observation.revision', 500), timeBasis },
102
+ trust: { method, content: 'untrusted' }, target: { automationId }, deduplicationKey,
103
+ };
104
+ if (Buffer.byteLength(canonical(parsed), 'utf8') > maxEnvelopeBytes)
105
+ fail('envelope exceeds byte limit');
106
+ return freeze(parsed);
107
+ }
108
+ export function externalEventDigest(value) {
109
+ return createHash('sha256').update(canonical(parseExternalEventEnvelope(value))).digest('hex');
110
+ }
111
+ export function canonicalExternalEventEnvelope(value) {
112
+ return canonical(parseExternalEventEnvelope(value));
113
+ }
114
+ //# sourceMappingURL=external-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-event.js","sourceRoot":"","sources":["../src/external-event.ts"],"names":[],"mappings":"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"}
package/lib/growth.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { TrustedTaskLearningProjectionReceipt } from '@dsh-enhanced/assistant-evaluation';
1
2
  import { validateWorkflowSteps, type GrowthAutomationArtifactRequest, type GrowthAutomationProposalRequest, type ResolvedWorkflowAutomationTemplate } from '@dsh-enhanced/assistant-growth-contract';
2
3
  import type { AutomationRecord, AutomationRun } from './types.js';
3
4
  export declare const GROWTH_AUTOMATION_OWNER = "assistant-growth-experiments";
@@ -30,6 +31,7 @@ interface ArtifactRow {
30
31
  canary_run_id: string | null;
31
32
  canary_evaluation_id: string | null;
32
33
  canary_evaluation_digest: string | null;
34
+ canary_evaluation_proof_json: string | null;
33
35
  created_at: number;
34
36
  updated_at: number;
35
37
  }
@@ -61,6 +63,7 @@ export interface GrowthArtifactRecord {
61
63
  canaryRunId?: string;
62
64
  canaryEvaluationId?: string;
63
65
  canaryEvaluationDigest?: string;
66
+ canaryEvaluationProof?: Readonly<TrustedTaskLearningProjectionReceipt>;
64
67
  createdAt: number;
65
68
  updatedAt: number;
66
69
  }
@@ -69,12 +72,15 @@ export declare class GrowthAutomationStore {
69
72
  private readonly now;
70
73
  private closed;
71
74
  constructor(path: string, now?: () => number);
75
+ listDeployedArtifacts(): readonly Readonly<GrowthArtifactRecord>[];
76
+ rollbackVersion(experimentId: string): number | undefined;
72
77
  beginOperation(kind: GrowthOperationKind, input: Readonly<{
73
78
  operationId: string;
74
79
  }>): unknown | undefined;
75
80
  completeOperation(kind: GrowthOperationKind, input: Readonly<{
76
81
  operationId: string;
77
82
  }>, receipt: Readonly<Record<string, unknown>>): unknown;
83
+ private completeOperationInTransaction;
78
84
  artifactId(input: Readonly<GrowthAutomationProposalRequest>): string;
79
85
  automationId(input: Readonly<GrowthAutomationProposalRequest>): string;
80
86
  upsertArtifact(input: Readonly<{
@@ -87,6 +93,7 @@ export declare class GrowthAutomationStore {
87
93
  }>): Readonly<GrowthArtifactRecord>;
88
94
  updateApproval(artifactId: string, proposalId: string, status: 'approved' | 'pending' | 'rejected' | 'expired'): Readonly<GrowthArtifactRecord>;
89
95
  requireArtifact(input: Readonly<GrowthAutomationArtifactRequest>): Readonly<GrowthArtifactRecord>;
96
+ requireCanaryInspectionArtifact(input: Readonly<GrowthAutomationArtifactRequest>): Readonly<GrowthArtifactRecord>;
90
97
  byExperiment(experimentId: string): Readonly<GrowthArtifactRecord> | undefined;
91
98
  createExecutionTask(input: Readonly<{
92
99
  artifact: Readonly<GrowthArtifactRecord>;
@@ -102,14 +109,17 @@ export declare class GrowthAutomationStore {
102
109
  runId: string;
103
110
  evaluationId: string;
104
111
  evaluationDigest: string;
112
+ proof: Readonly<TrustedTaskLearningProjectionReceipt>;
105
113
  }>): Readonly<GrowthArtifactRecord>;
106
114
  completePromotion(input: Readonly<{
107
115
  request: Readonly<GrowthAutomationArtifactRequest>;
108
116
  automation: Readonly<AutomationRecord>;
117
+ receipt: Readonly<Record<string, unknown>>;
109
118
  }>): Readonly<GrowthArtifactRecord>;
110
119
  completeRollback(input: Readonly<{
111
120
  request: Readonly<GrowthAutomationArtifactRequest>;
112
121
  automation: Readonly<AutomationRecord>;
122
+ receipt: Readonly<Record<string, unknown>>;
113
123
  }>): Readonly<GrowthArtifactRecord>;
114
124
  close(): void;
115
125
  private byId;