@migor/agentia 0.4.1 → 0.5.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.
@@ -12,6 +12,8 @@ import type { TraceSink } from '../core/trace.js';
12
12
  * `skill` / `subagent` 来自 `capability` span(tracer 已把子孙 llm.turn 的 usage 聚合上去);
13
13
  * `@Prompt` 不建 span、无独立耗时,**不产出**能力指标(如实缺省,不硬凑);
14
14
  * - **模型级**(E3):来自 `llm.turn` span(其 `name` 即模型 id)。
15
+ * - **评分级**(R7 质量闭环):来自 run 根 span 的 `score` 事件(`attachScore` 写入)——
16
+ * gauge 记**最近一次**值(分数不是累加量),counter 记条数;label 为 `name` × `source`。
15
17
  *
16
18
  * 时长同时给两种口径(histogram 与分位 gauge 必须用**不同指标名**,见 `render()` 注释):
17
19
  * - **histogram**(`*_bucket` / `*_sum` / `*_count`,累积语义)—— 抓取端可跨实例任意聚合;
@@ -46,6 +48,15 @@ export interface ModelMetrics {
46
48
  latencyP50: number;
47
49
  latencyP95: number;
48
50
  }
51
+ /** 评分维度指标(`snapshot().scores[key]`,key 为 `name@source`,source 缺省时裸 name) */
52
+ export interface ScoreMetrics {
53
+ /** 最近一次评分值(gauge 语义 —— 分数不是累加量) */
54
+ value: number;
55
+ /** 评分条数 */
56
+ count: number;
57
+ /** 评分值合计(平均 = sum / count) */
58
+ sum: number;
59
+ }
49
60
  /** 进程内累计快照(`snapshot()` 返回) */
50
61
  export interface MetricsSnapshot {
51
62
  /** 投递过 trace 的 run 总数(= `export` 被调用次数) */
@@ -66,6 +77,8 @@ export interface MetricsSnapshot {
66
77
  capabilities: Record<string, CapabilityMetrics>;
67
78
  /** 模型维度 */
68
79
  models: Record<string, ModelMetrics>;
80
+ /** 评分维度(key 为 `name@source`,source 缺省时裸 name;无评分时为空对象) */
81
+ scores: Record<string, ScoreMetrics>;
69
82
  /** 因 `maxCapabilities` 上限被归入 `__other__` 的不同能力数(未开启上限时为 0) */
70
83
  droppedCapabilities: number;
71
84
  }
@@ -134,6 +134,8 @@ export function metricsSink(opts = {}) {
134
134
  const runStat = new DurationStat(windowSize, buckets);
135
135
  const capabilities = new Map();
136
136
  const models = new Map();
137
+ /** 评分累加器:key = `${name}\t${source}`(source 缺省 '';\t 不会出现在正常评分名里,做天然分隔符) */
138
+ const scores = new Map();
137
139
  /** 已分配独立标签的能力键(超 maxCapabilities 后新键归 __other__) */
138
140
  const assignedCapabilities = new Set();
139
141
  /** 被归入 __other__ 的不同能力键 */
@@ -175,6 +177,29 @@ export function metricsSink(opts = {}) {
175
177
  const d = runDurationMs(trace);
176
178
  if (d !== undefined)
177
179
  runStat.add(d);
180
+ // —— 评分(R7):只认根 span 的 score 事件(attachScore 的写入位置);
181
+ // body 宽容读取 —— name 不是 string / value 不是有限 number 就跳过,观测不击穿业务
182
+ const rootSpan = trace.spans.find((s) => s.spanId === trace.rootSpanId);
183
+ if (rootSpan) {
184
+ for (const e of rootSpan.events) {
185
+ if (e.name !== 'score')
186
+ continue;
187
+ const body = e.body;
188
+ if (!body || typeof body !== 'object')
189
+ continue;
190
+ if (typeof body.name !== 'string')
191
+ continue;
192
+ if (typeof body.value !== 'number' || !Number.isFinite(body.value))
193
+ continue;
194
+ const source = typeof body.source === 'string' ? body.source : '';
195
+ const key = `${body.name}\t${source}`;
196
+ const acc = scores.get(key) ?? { value: 0, count: 0, sum: 0 };
197
+ acc.value = body.value; // gauge 语义:覆盖为最近一次
198
+ acc.count++;
199
+ acc.sum += body.value;
200
+ scores.set(key, acc);
201
+ }
202
+ }
178
203
  for (const span of trace.spans) {
179
204
  if (span.kind === 'capability') {
180
205
  const label = labelFor(capabilityKindOf(span), span.name);
@@ -269,6 +294,13 @@ export function metricsSink(opts = {}) {
269
294
  latencyP95: acc.stat.percentile(0.95),
270
295
  };
271
296
  }
297
+ const scoreOut = {};
298
+ for (const [key, acc] of scores) {
299
+ const tab = key.indexOf('\t');
300
+ const name = key.slice(0, tab);
301
+ const source = key.slice(tab + 1);
302
+ scoreOut[source === '' ? name : `${name}@${source}`] = { ...acc };
303
+ }
272
304
  return {
273
305
  runs,
274
306
  failed,
@@ -278,6 +310,7 @@ export function metricsSink(opts = {}) {
278
310
  costUsd,
279
311
  capabilities: capabilityOut,
280
312
  models: modelOut,
313
+ scores: scoreOut,
281
314
  droppedCapabilities: dropped.size,
282
315
  };
283
316
  };
@@ -392,6 +425,20 @@ export function metricsSink(opts = {}) {
392
425
  out.push(family(`${p}model_duration_ms`, 'histogram', '模型往返耗时(毫秒)', durations));
393
426
  out.push(family(`${p}model_duration_ms_last`, 'gauge', '模型往返耗时分位(窗口内精确值)', durationQuantiles));
394
427
  }
428
+ // —— 评分维度(R7):gauge 记最近一次值、counter 记条数,label 为 name × source ——
429
+ if (scores.size > 0) {
430
+ const gaugeSamples = [];
431
+ const counterSamples = [];
432
+ for (const key of [...scores.keys()].sort()) {
433
+ const acc = scores.get(key);
434
+ const tab = key.indexOf('\t');
435
+ const l = `{name="${escLabel(key.slice(0, tab))}",source="${escLabel(key.slice(tab + 1))}"}`;
436
+ gaugeSamples.push(`${p}score${l} ${acc.value}`);
437
+ counterSamples.push(`${p}score_total${l} ${acc.count}`);
438
+ }
439
+ out.push(family(`${p}score`, 'gauge', '最近一次评分(label 为评分维度与来源)', gaugeSamples));
440
+ out.push(family(`${p}score_total`, 'counter', '评分条数', counterSamples));
441
+ }
395
442
  return out.join('');
396
443
  };
397
444
  // —— OTLP/JSON 导出(E5)——
@@ -426,6 +473,16 @@ export function metricsSink(opts = {}) {
426
473
  ],
427
474
  },
428
475
  });
476
+ // gauge 没有理由只收 int:评分值是浮点,统一走 asDouble
477
+ const gauge = (name, value, help, attrs) => ({
478
+ name,
479
+ description: help,
480
+ gauge: {
481
+ dataPoints: [
482
+ { attributes: attrs, startTimeUnixNano: start, timeUnixNano: now, asDouble: value },
483
+ ],
484
+ },
485
+ });
429
486
  const hist = (name, stat, help, attrs) => ({
430
487
  name,
431
488
  description: help,
@@ -481,6 +538,13 @@ export function metricsSink(opts = {}) {
481
538
  }
482
539
  metrics.push(hist(`${p}model_duration_ms`, acc.stat, '模型往返耗时(毫秒)', attrs));
483
540
  }
541
+ for (const key of [...scores.keys()].sort()) {
542
+ const acc = scores.get(key);
543
+ const tab = key.indexOf('\t');
544
+ const attrs = [strAttr('name', key.slice(0, tab)), strAttr('source', key.slice(tab + 1))];
545
+ metrics.push(gauge(`${p}score`, acc.value, '最近一次评分', attrs));
546
+ metrics.push(sum(`${p}score_total`, acc.count, '评分条数', attrs));
547
+ }
484
548
  const resourceAttrs = [
485
549
  strAttr('service.name', serviceName),
486
550
  ...Object.entries(opts.resourceAttributes ?? {}).map(([k, v]) => strAttr(k, v)),
@@ -554,6 +618,7 @@ export function metricsSink(opts = {}) {
554
618
  runStat.reset();
555
619
  capabilities.clear();
556
620
  models.clear();
621
+ scores.clear();
557
622
  assignedCapabilities.clear();
558
623
  dropped.clear();
559
624
  },
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/integrations/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/integrations/metrics.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,16 @@ import type { Trace } from '../core/trace.js';
10
10
  * - attributes 展平 span.attributes + usage(usage.* 前缀);
11
11
  * - events → OTLP events(body 的原始类型字段进 attributes,其余 JSON 化)。
12
12
  *
13
+ * GenAI 语义约定(R7 质量闭环,**additive** —— 只追加 gen_ai.* 键,既有键一律保留):
14
+ * - 对齐基准:OTel GenAI semconv **v1.37** —— 该版本里 `gen_ai.client` 侧
15
+ * (chat / execute_tool / gen_ai.request.model / gen_ai.usage.*)已 stable,
16
+ * agent 侧(invoke_agent / gen_ai.agent.name / gen_ai.conversation.id / evaluation 事件)
17
+ * 仍是 experimental;选 stable 键优先、experimental 键补齐 agent 语义,
18
+ * 是因为下游(Datadog / Axiom 等)已按 1.37+ 识别这批键做 GenAI 专项视图。
19
+ * - **全部映射集中在 `genAiAttributes` / `mapEvent` 两处**,升级基准版本时只改本模块;
20
+ * 键前缀冲突不存在(自有键一律 `agentia.*` 或无前缀),所以 additive 是安全的。
21
+ * - 保留 `usage.inputTokens` 等旧键:既有看板/告警已消费它们,双发成本极低。
22
+ *
13
23
  * 非 2xx 抛错(含状态码与响应前 200 字符)。导出失败不影响 run 本身 —— 调用方自行取舍。
14
24
  */
15
25
  export interface OtlpExporterOptions {
@@ -14,11 +14,44 @@ function hexId(id) {
14
14
  function nanos(ms) {
15
15
  return String(BigInt(Math.round(ms)) * 1000000n);
16
16
  }
17
+ /**
18
+ * GenAI semconv 追加属性(additive,见模块头注释)。
19
+ * 返回的键与 span.attributes 自有键不同名(gen_ai.* 前缀),直接 push 不查重。
20
+ */
21
+ function genAiAttributes(span) {
22
+ const attrs = [];
23
+ const str = (key, v) => ({ key, value: { stringValue: v } });
24
+ if (span.kind === 'run') {
25
+ // 一次 run = 一次 agent 调用;span.name 即应用名,正好填 agent.name
26
+ attrs.push(str('gen_ai.operation.name', 'invoke_agent'), str('gen_ai.agent.name', span.name));
27
+ const sessionId = span.attributes['session.id'];
28
+ if (typeof sessionId === 'string')
29
+ attrs.push(str('gen_ai.conversation.id', sessionId));
30
+ }
31
+ else if (span.kind === 'llm.turn') {
32
+ // llm.turn 的 span.name 就是模型 id(core 契约);token 口径与 usage.* 旧键一致
33
+ attrs.push(str('gen_ai.operation.name', 'chat'), str('gen_ai.request.model', span.name));
34
+ if (span.usage) {
35
+ attrs.push({ key: 'gen_ai.usage.input_tokens', value: toValue(span.usage.inputTokens) }, { key: 'gen_ai.usage.output_tokens', value: toValue(span.usage.outputTokens) });
36
+ }
37
+ }
38
+ else if (span.kind === 'capability') {
39
+ // subagent 是一次嵌套 agent 调用(invoke_agent);skill 对外语义是「执行一件工具」(execute_tool)
40
+ if (span.name.startsWith('subagent:')) {
41
+ attrs.push(str('gen_ai.operation.name', 'invoke_agent'), str('gen_ai.agent.name', span.name.slice('subagent:'.length)));
42
+ }
43
+ else if (span.name.startsWith('skill:')) {
44
+ attrs.push(str('gen_ai.operation.name', 'execute_tool'), str('gen_ai.tool.name', span.name.slice('skill:'.length)));
45
+ }
46
+ }
47
+ return attrs;
48
+ }
17
49
  function spanAttributes(span) {
18
50
  const attrs = Object.entries(span.attributes).map(([key, v]) => ({
19
51
  key,
20
52
  value: toValue(v),
21
53
  }));
54
+ attrs.push(...genAiAttributes(span));
22
55
  if (span.usage) {
23
56
  const u = span.usage;
24
57
  attrs.push({ key: 'usage.inputTokens', value: toValue(u.inputTokens) }, { key: 'usage.outputTokens', value: toValue(u.outputTokens) }, { key: 'usage.cacheReadTokens', value: toValue(u.cacheReadTokens) }, { key: 'usage.cacheCreationTokens', value: toValue(u.cacheCreationTokens) });
@@ -42,6 +75,32 @@ function eventAttributes(body) {
42
75
  return [{ key: 'body', value: { stringValue: JSON.stringify(body) } }];
43
76
  }
44
77
  function mapEvent(e) {
78
+ // score 事件(R7 质量闭环)→ gen_ai.evaluation.result(semconv 仍是 experimental,
79
+ // 故 source/comment 这类 semconv 未定义的维度走自有 agentia.* 键,不占用 gen_ai.* 命名空间)。
80
+ // body 宽容读取:name/value 类型不对就只发事件名,观测不击穿业务。
81
+ if (e.name === 'score') {
82
+ const body = e.body && typeof e.body === 'object' && !Array.isArray(e.body)
83
+ ? e.body
84
+ : {};
85
+ const attributes = [];
86
+ if (typeof body.name === 'string') {
87
+ attributes.push({ key: 'gen_ai.evaluation.score.name', value: { stringValue: body.name } });
88
+ }
89
+ if (typeof body.value === 'number' && Number.isFinite(body.value)) {
90
+ // 语义是 double:整型分也发 doubleValue,避免后端按 int64 解析丢掉「分数」类型
91
+ attributes.push({
92
+ key: 'gen_ai.evaluation.score.value',
93
+ value: { doubleValue: body.value },
94
+ });
95
+ }
96
+ if (typeof body.source === 'string') {
97
+ attributes.push({ key: 'agentia.score.source', value: { stringValue: body.source } });
98
+ }
99
+ if (typeof body.comment === 'string') {
100
+ attributes.push({ key: 'agentia.score.comment', value: { stringValue: body.comment } });
101
+ }
102
+ return { timeUnixNano: nanos(e.time), name: 'gen_ai.evaluation.result', attributes };
103
+ }
45
104
  return {
46
105
  timeUnixNano: nanos(e.time),
47
106
  name: e.name,
@@ -1 +1 @@
1
- {"version":3,"file":"otlp.js","sourceRoot":"","sources":["../../src/integrations/otlp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"otlp.js","sourceRoot":"","sources":["../../src/integrations/otlp.ts"],"names":[],"mappings":"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"}
@@ -101,6 +101,8 @@ export async function executeRun(options) {
101
101
  // 会话历史拼在传入 messages **之前**;读不出来就当无历史(同上:辅助动作不击穿 run)
102
102
  messages: await loadSession(session, options.messages),
103
103
  recorder: run.recorder,
104
+ // 会话标识落 run 根 attribute(`session.id`)—— 多轮 run 按会话聚合的锚点
105
+ sessionId: session?.id,
104
106
  });
105
107
  run.finish(result);
106
108
  if (memory) {
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/runtime/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/runtime/run.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import type { TaskRecord, TaskStore } from './store.js';
9
9
  * 存储模型(prefix 缺省 'agentia:'):
10
10
  * - `${prefix}task:<taskId>` → 整行记录 JSON(save = SET 覆写,last-wins);
11
11
  * - `${prefix}idem:<idempotencyKey>` → taskId(同键重提覆写,byIdempotency last-wins)。
12
- * 两者都按 `ttlSeconds`(若设)带 EX 过期,见该选项。
12
+ * 两者都按 `ttlSeconds`(若设)过期(SET 覆写 + EXPIRE 刷新窗口),见该选项。
13
13
  *
14
14
  * 语义对照 FileTaskStore / SqliteTaskStore:save 覆写、byIdempotency 取最近、
15
15
  * clear 清空本前缀全部 key。差异在 list 序:Redis 本身无序,按 createdAt
@@ -24,27 +24,32 @@ import type { TaskRecord, TaskStore } from './store.js';
24
24
  * 先写索引或 MULTI 事务,需同步复核该去重路径。
25
25
  */
26
26
  /**
27
- * @deprecated node-redis 的对象形态 SET 选项。对象形态是 node-redis **独有** ——
28
- * ioredis 会把它字符串化成 "[object Object]" 发给服务端(报语法错),本 store 因此
29
- * 已改用两种客户端通吃的位置参数形态(见 RedisLike.set 的 RedisSetArgs)。
30
- * 保留导出仅为不破坏既有公共面。
27
+ * @deprecated 本 store 已不再使用它。历史:这是「对象形态 SET 选项」,对象形态是
28
+ * node-redis 独有(ioredis 会把对象字符串化成 "[object Object]" 发给服务端,报语法错);
29
+ * 0.4.1 曾改用「位置参数形态」想当两家客户端的交集,**但那是错的** —— node-redis 的
30
+ * SET 只声明 `(key, value, options)` 三个形参,多出来的位置参数被 JS **静默丢弃**,
31
+ * TTL 会无声失效(见 `RedisLike.expire`)。保留导出仅为不破坏既有公共面。
31
32
  */
32
33
  export interface RedisSetOptions {
33
34
  /** 过期秒数(EX);<= 0 视为不过期 */
34
35
  EX?: number;
35
36
  }
36
- /**
37
- * SET 调用的尾参形态(**位置参数**,ioredis / node-redis 的公共形态):
38
- * - 无 TTL:`set(key, value)`,只传两参 —— 显式补一个 undefined 会被 ioredis
39
- * 序列化成空串参数,服务端直接报语法错;
40
- * - 有 TTL:`set(key, value, 'EX', seconds)` —— ioredis 的原生形态,node-redis v4
41
- * 保留的 legacy 变参形态同样接受它。
42
- */
43
- export type RedisSetArgs = [] | ['EX', number];
44
37
  export interface RedisLike {
45
38
  get(key: string): Promise<string | null>;
46
- /** 尾参为位置参数形态(ioredis 原生 / node-redis v4 legacy 兼容,见 RedisSetArgs);老 fake 只实现两参也照常工作 */
47
- set(key: string, value: string, ...args: RedisSetArgs): Promise<unknown>;
39
+ /**
40
+ * 覆写一个键。**只传两参** —— 这是 ioredis 与 node-redis 唯一无歧义的公共形态:
41
+ * 尾参的「选项形状」两家相反(ioredis 认位置参数 `('EX', n)`、node-redis 认对象
42
+ * `{ EX: n }`),取任何一种写法都会在另一家上静默失效或报语法错。
43
+ * 所以 **TTL 不走这里**,改由 `expire` 单独施加(见 `RedisTaskStore`)。
44
+ * 另:显式补一个 undefined 尾参会让 ioredis 发出 `SET k v ""` → 语法错。
45
+ */
46
+ set(key: string, value: string): Promise<unknown>;
47
+ /**
48
+ * 设置过期秒数 —— ioredis / node-redis **同名同形**的公共面(`expire(key, seconds)`)。
49
+ * `RedisTaskStore` 的 `ttlSeconds > 0` 时**必需**:构造期校验,缺失即抛错(静默丢掉
50
+ * TTL 会让键永不过期、`list()` 无界增长,比启动期报错难查得多)。
51
+ */
52
+ expire?(key: string, seconds: number): Promise<unknown>;
48
53
  /** 单键删除(ioredis / node-redis 的公共最小面;批量清理由多次单删组成) */
49
54
  del(key: string): Promise<unknown>;
50
55
  /** 模式枚举(node-redis / ioredis 均有);与 scanIterator 至少提供其一 */
@@ -73,18 +78,29 @@ export interface RedisTaskStoreOptions {
73
78
  export declare class RedisTaskStore implements TaskStore {
74
79
  private readonly client;
75
80
  private readonly prefix;
76
- private readonly ttlSeconds;
81
+ /**
82
+ * TTL 施加函数(`ttlSeconds > 0` 时构造期已确保存在)。TTL 不走 `SET` 的尾参 ——
83
+ * 两家客户端的尾参形状相反,取任何一种都会在另一家上失败(详见 `RedisLike.set`)。
84
+ */
85
+ private readonly applyTtl?;
77
86
  constructor(client: RedisLike, opts?: RedisTaskStoreOptions);
78
87
  private taskKey;
79
88
  private idemKey;
80
89
  save(rec: TaskRecord): Promise<void>;
81
90
  /**
82
- * SET 一次(含 TTL)。不设 TTL 时**只传两参**(显式 undefined 会被 ioredis 序列化成
83
- * 空串参数);设 TTL 用位置参数形态 'EX', seconds —— 对象形态 { EX } 是 node-redis
84
- * 独有,ioredis 下会被字符串化成 "[object Object]" 发出(实测服务端报语法错),
85
- * 而位置参数形态两者通吃(node-redis v4 保留了 legacy 变参形态)。
91
+ * 写一次(`SET` 覆写 + 设了 `ttlSeconds` 时 `EXPIRE` 刷新窗口)。
92
+ *
93
+ * **为什么 TTL 不走 `SET ... EX`**:两家客户端的尾参形状**相反** —— ioredis 认位置参数
94
+ * `('EX', n)`(给对象会被字符串化成 "[object Object]"、服务端报语法错),而 node-redis
95
+ * 的 SET 只声明 `(key, value, options)` **三个形参**,位置参数被 JS **静默丢弃**
96
+ * (v4.7.1 / v6.2.1 实跑其命令定义确认:`transformArguments('k','v','EX',60)` →
97
+ * `['SET','k','v']`)。`expire(key, seconds)` 是两家**同名同形**的公共面,没有歧义。
98
+ *
99
+ * 代价(如实记):`SET` 与 `EXPIRE` 两条命令、**非原子** —— 两步之间进程被杀会留下一个
100
+ * **没有 TTL 的键**(多活一条本该到期的记录),不会损坏数据。TTL 只是查询窗口,用这个
101
+ * 窗口换「两家客户端都真的生效」,是本 store 有意的取舍(见 spec §10)。
86
102
  */
87
- private setWithTtl;
103
+ private write;
88
104
  get(taskId: string): Promise<TaskRecord | undefined>;
89
105
  byIdempotency(key: string): Promise<TaskRecord | undefined>;
90
106
  list(): Promise<TaskRecord[]>;
@@ -1,7 +1,11 @@
1
1
  export class RedisTaskStore {
2
2
  client;
3
3
  prefix;
4
- ttlSeconds;
4
+ /**
5
+ * TTL 施加函数(`ttlSeconds > 0` 时构造期已确保存在)。TTL 不走 `SET` 的尾参 ——
6
+ * 两家客户端的尾参形状相反,取任何一种都会在另一家上失败(详见 `RedisLike.set`)。
7
+ */
8
+ applyTtl;
5
9
  constructor(client, opts = {}) {
6
10
  this.client = client;
7
11
  if (!client.scanIterator && !client.keys) {
@@ -18,7 +22,15 @@ export class RedisTaskStore {
18
22
  // !(ttl >= 0) 同时拦 NaN —— NaN 会让 `ttl > 0` 恒假,静默把 TTL 关掉
19
23
  throw new Error(`RedisTaskStore 的 ttlSeconds 必须为 ≥ 0 的数(0 = 不设 TTL),收到 ${opts.ttlSeconds}`);
20
24
  }
21
- this.ttlSeconds = ttl;
25
+ if (ttl > 0) {
26
+ const expire = client.expire;
27
+ if (typeof expire !== 'function') {
28
+ // 静默失效比启动期报错难查得多:键永不过期,list() 无界增长,且没有任何信号
29
+ throw new Error('RedisTaskStore 设了 ttlSeconds > 0,但 client 没有 expire(key, seconds) —— ' +
30
+ 'TTL 会静默失效(键永不过期)。请用 ioredis / node-redis 客户端,或补一个 expire 实现。');
31
+ }
32
+ this.applyTtl = (key) => expire.call(client, key, ttl);
33
+ }
22
34
  }
23
35
  taskKey(taskId) {
24
36
  return `${this.prefix}task:${taskId}`;
@@ -28,22 +40,30 @@ export class RedisTaskStore {
28
40
  }
29
41
  async save(rec) {
30
42
  const json = JSON.stringify(rec);
31
- // 每次覆写都刷新 TTL:任务的查询窗口从「最后一次状态推进」起算,而不是创建时刻
32
- await this.setWithTtl(this.taskKey(rec.taskId), json);
43
+ // 写入顺序是 load-bearing(AsyncRunner 的延迟幂等去重依赖它):先记录、后幂等索引
44
+ await this.write(this.taskKey(rec.taskId), json);
33
45
  if (rec.idempotencyKey) {
34
- await this.setWithTtl(this.idemKey(rec.idempotencyKey), rec.taskId);
46
+ await this.write(this.idemKey(rec.idempotencyKey), rec.taskId);
35
47
  }
36
48
  }
37
49
  /**
38
- * SET 一次(含 TTL)。不设 TTL 时**只传两参**(显式 undefined 会被 ioredis 序列化成
39
- * 空串参数);设 TTL 用位置参数形态 'EX', seconds —— 对象形态 { EX } 是 node-redis
40
- * 独有,ioredis 下会被字符串化成 "[object Object]" 发出(实测服务端报语法错),
41
- * 而位置参数形态两者通吃(node-redis v4 保留了 legacy 变参形态)。
50
+ * 写一次(`SET` 覆写 + 设了 `ttlSeconds` 时 `EXPIRE` 刷新窗口)。
51
+ *
52
+ * **为什么 TTL 不走 `SET ... EX`**:两家客户端的尾参形状**相反** —— ioredis 认位置参数
53
+ * `('EX', n)`(给对象会被字符串化成 "[object Object]"、服务端报语法错),而 node-redis
54
+ * 的 SET 只声明 `(key, value, options)` **三个形参**,位置参数被 JS **静默丢弃**
55
+ * (v4.7.1 / v6.2.1 实跑其命令定义确认:`transformArguments('k','v','EX',60)` →
56
+ * `['SET','k','v']`)。`expire(key, seconds)` 是两家**同名同形**的公共面,没有歧义。
57
+ *
58
+ * 代价(如实记):`SET` 与 `EXPIRE` 两条命令、**非原子** —— 两步之间进程被杀会留下一个
59
+ * **没有 TTL 的键**(多活一条本该到期的记录),不会损坏数据。TTL 只是查询窗口,用这个
60
+ * 窗口换「两家客户端都真的生效」,是本 store 有意的取舍(见 spec §10)。
42
61
  */
43
- setWithTtl(key, value) {
44
- if (this.ttlSeconds > 0)
45
- return this.client.set(key, value, 'EX', this.ttlSeconds);
46
- return this.client.set(key, value);
62
+ async write(key, value) {
63
+ await this.client.set(key, value);
64
+ // 每次覆写都刷新 TTL:任务的查询窗口从「最后一次状态推进」起算,而不是创建时刻
65
+ if (this.applyTtl)
66
+ await this.applyTtl(key);
47
67
  }
48
68
  async get(taskId) {
49
69
  return parseRecord(await this.client.get(this.taskKey(taskId)));
@@ -1 +1 @@
1
- {"version":3,"file":"redisStore.js","sourceRoot":"","sources":["../../src/store/redisStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redisStore.js","sourceRoot":"","sources":["../../src/store/redisStore.ts"],"names":[],"mappings":"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"}