baxian 2.0.2 → 2.0.3
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/dist/agent/branch.d.ts.map +1 -1
- package/dist/agent/branch.js +0 -7
- package/dist/agent/branch.js.map +1 -1
- package/dist/agent/detect/region.d.ts.map +1 -1
- package/dist/agent/detect/region.js +0 -3
- package/dist/agent/detect/region.js.map +1 -1
- package/dist/agent/dispatch-reconciler.d.ts.map +1 -1
- package/dist/agent/dispatch-reconciler.js +0 -51
- package/dist/agent/dispatch-reconciler.js.map +1 -1
- package/dist/agent/lineage.d.ts.map +1 -1
- package/dist/agent/lineage.js +0 -9
- package/dist/agent/lineage.js.map +1 -1
- package/dist/agent/manager.d.ts +1 -4
- package/dist/agent/manager.d.ts.map +1 -1
- package/dist/agent/manager.js +10 -298
- package/dist/agent/manager.js.map +1 -1
- package/dist/agent/net-exec.d.ts.map +1 -1
- package/dist/agent/net-exec.js +0 -5
- package/dist/agent/net-exec.js.map +1 -1
- package/dist/agent/pane-streamer-manager.d.ts.map +1 -1
- package/dist/agent/pane-streamer-manager.js +0 -36
- package/dist/agent/pane-streamer-manager.js.map +1 -1
- package/dist/agent/pane-streamer.d.ts +6 -0
- package/dist/agent/pane-streamer.d.ts.map +1 -1
- package/dist/agent/pane-streamer.js +126 -83
- package/dist/agent/pane-streamer.js.map +1 -1
- package/dist/agent/phase-signal-watcher.d.ts.map +1 -1
- package/dist/agent/phase-signal-watcher.js +2 -77
- package/dist/agent/phase-signal-watcher.js.map +1 -1
- package/dist/agent/phase-signal.d.ts +0 -1
- package/dist/agent/phase-signal.d.ts.map +1 -1
- package/dist/agent/phase-signal.js +0 -17
- package/dist/agent/phase-signal.js.map +1 -1
- package/dist/agent/preflight.d.ts.map +1 -1
- package/dist/agent/preflight.js +0 -18
- package/dist/agent/preflight.js.map +1 -1
- package/dist/agent/prompt.d.ts.map +1 -1
- package/dist/agent/prompt.js +0 -1
- package/dist/agent/prompt.js.map +1 -1
- package/dist/agent/repo-store.d.ts.map +1 -1
- package/dist/agent/repo-store.js +0 -38
- package/dist/agent/repo-store.js.map +1 -1
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +0 -2
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/tmux-install.js +0 -1
- package/dist/agent/tmux-install.js.map +1 -1
- package/dist/agent/tmux-probe-poller.d.ts.map +1 -1
- package/dist/agent/tmux-probe-poller.js +0 -7
- package/dist/agent/tmux-probe-poller.js.map +1 -1
- package/dist/agent/tmux.d.ts.map +1 -1
- package/dist/agent/tmux.js +0 -86
- package/dist/agent/tmux.js.map +1 -1
- package/dist/agent/vt-visible-text.d.ts +46 -1
- package/dist/agent/vt-visible-text.d.ts.map +1 -1
- package/dist/agent/vt-visible-text.js +639 -63
- package/dist/agent/vt-visible-text.js.map +1 -1
- package/dist/api/agents.d.ts.map +1 -1
- package/dist/api/agents.js +1 -42
- package/dist/api/agents.js.map +1 -1
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +3 -52
- package/dist/api/config.js.map +1 -1
- package/dist/api/hosts.d.ts.map +1 -1
- package/dist/api/hosts.js +2 -57
- package/dist/api/hosts.js.map +1 -1
- package/dist/api/platform-guard.d.ts.map +1 -1
- package/dist/api/platform-guard.js +0 -1
- package/dist/api/platform-guard.js.map +1 -1
- package/dist/api/probe.d.ts.map +1 -1
- package/dist/api/probe.js +0 -1
- package/dist/api/probe.js.map +1 -1
- package/dist/api/projects.d.ts.map +1 -1
- package/dist/api/projects.js +1 -14
- package/dist/api/projects.js.map +1 -1
- package/dist/api/tasks.d.ts.map +1 -1
- package/dist/api/tasks.js +0 -1
- package/dist/api/tasks.js.map +1 -1
- package/dist/app.d.ts +0 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +0 -6
- package/dist/app.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -29
- package/dist/cli.js.map +1 -1
- package/dist/config/hot-reload.d.ts.map +1 -1
- package/dist/config/hot-reload.js +0 -4
- package/dist/config/hot-reload.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +1 -24
- package/dist/config/loader.js.map +1 -1
- package/dist/config/normalizer.d.ts.map +1 -1
- package/dist/config/normalizer.js +0 -19
- package/dist/config/normalizer.js.map +1 -1
- package/dist/config/validator.d.ts.map +1 -1
- package/dist/config/validator.js +2 -200
- package/dist/config/validator.js.map +1 -1
- package/dist/event/handlers.d.ts.map +1 -1
- package/dist/event/handlers.js +0 -11
- package/dist/event/handlers.js.map +1 -1
- package/dist/event/log.js +0 -2
- package/dist/event/log.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -45
- package/dist/index.js.map +1 -1
- package/dist/platform/body-digest.d.ts.map +1 -1
- package/dist/platform/body-digest.js +0 -4
- package/dist/platform/body-digest.js.map +1 -1
- package/dist/platform/command-renderer.d.ts.map +1 -1
- package/dist/platform/command-renderer.js +0 -3
- package/dist/platform/command-renderer.js.map +1 -1
- package/dist/platform/comment-cursor.d.ts.map +1 -1
- package/dist/platform/comment-cursor.js +0 -21
- package/dist/platform/comment-cursor.js.map +1 -1
- package/dist/platform/driver-spec.d.ts.map +1 -1
- package/dist/platform/driver-spec.js +1 -42
- package/dist/platform/driver-spec.js.map +1 -1
- package/dist/platform/field-mapper.d.ts.map +1 -1
- package/dist/platform/field-mapper.js +3 -11
- package/dist/platform/field-mapper.js.map +1 -1
- package/dist/platform/git-driver.d.ts.map +1 -1
- package/dist/platform/git-driver.js +0 -20
- package/dist/platform/git-driver.js.map +1 -1
- package/dist/platform/manifest.d.ts.map +1 -1
- package/dist/platform/manifest.js +0 -3
- package/dist/platform/manifest.js.map +1 -1
- package/dist/platform/markers.d.ts.map +1 -1
- package/dist/platform/markers.js +0 -19
- package/dist/platform/markers.js.map +1 -1
- package/dist/platform/platform-poller.d.ts.map +1 -1
- package/dist/platform/platform-poller.js +0 -43
- package/dist/platform/platform-poller.js.map +1 -1
- package/dist/platform/plugin-registry.d.ts.map +1 -1
- package/dist/platform/plugin-registry.js +1 -12
- package/dist/platform/plugin-registry.js.map +1 -1
- package/dist/platform/pr-conversation-cache.d.ts.map +1 -1
- package/dist/platform/pr-conversation-cache.js +0 -17
- package/dist/platform/pr-conversation-cache.js.map +1 -1
- package/dist/platform/preflight-exec.d.ts.map +1 -1
- package/dist/platform/preflight-exec.js +0 -9
- package/dist/platform/preflight-exec.js.map +1 -1
- package/dist/platform/response-parser.d.ts.map +1 -1
- package/dist/platform/response-parser.js +0 -4
- package/dist/platform/response-parser.js.map +1 -1
- package/dist/platform/review-timeline.d.ts.map +1 -1
- package/dist/platform/review-timeline.js +0 -22
- package/dist/platform/review-timeline.js.map +1 -1
- package/dist/platform/row-schema.d.ts.map +1 -1
- package/dist/platform/row-schema.js +0 -11
- package/dist/platform/row-schema.js.map +1 -1
- package/dist/platform/startup.d.ts.map +1 -1
- package/dist/platform/startup.js +1 -12
- package/dist/platform/startup.js.map +1 -1
- package/dist/platform/types.d.ts.map +1 -1
- package/dist/platform/types.js +0 -5
- package/dist/platform/types.js.map +1 -1
- package/dist/platform/verdict-engine.d.ts.map +1 -1
- package/dist/platform/verdict-engine.js +0 -15
- package/dist/platform/verdict-engine.js.map +1 -1
- package/dist/shared/concurrency.d.ts.map +1 -1
- package/dist/shared/concurrency.js +0 -2
- package/dist/shared/concurrency.js.map +1 -1
- package/dist/shared/constants.d.ts +0 -2
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +0 -3
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/git-url.d.ts.map +1 -1
- package/dist/shared/git-url.js +0 -9
- package/dist/shared/git-url.js.map +1 -1
- package/dist/shared/types.d.ts +0 -11
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js.map +1 -1
- package/dist/skill/registry.d.ts.map +1 -1
- package/dist/skill/registry.js +0 -5
- package/dist/skill/registry.js.map +1 -1
- package/dist/skills/baxian-signals/SKILL.md +0 -6
- package/dist/state/agent-store.d.ts.map +1 -1
- package/dist/state/agent-store.js +0 -6
- package/dist/state/agent-store.js.map +1 -1
- package/dist/state/error-record-store.d.ts.map +1 -1
- package/dist/state/error-record-store.js +0 -5
- package/dist/state/error-record-store.js.map +1 -1
- package/dist/state/init.d.ts.map +1 -1
- package/dist/state/init.js +0 -1
- package/dist/state/init.js.map +1 -1
- package/dist/state/lock.d.ts.map +1 -1
- package/dist/state/lock.js +0 -1
- package/dist/state/lock.js.map +1 -1
- package/dist/state/task-store.d.ts.map +1 -1
- package/dist/state/task-store.js +0 -3
- package/dist/state/task-store.js.map +1 -1
- package/dist/terminal/attach.d.ts.map +1 -1
- package/dist/terminal/attach.js +0 -4
- package/dist/terminal/attach.js.map +1 -1
- package/dist/terminal/stream-ws.js +0 -5
- package/dist/terminal/stream-ws.js.map +1 -1
- package/dist/web/assets/{index-BS2adAfI.css → index-yqxawAPJ.css} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/agent/root-agent-runtime.d.ts +0 -80
- package/dist/agent/root-agent-runtime.d.ts.map +0 -1
- package/dist/agent/root-agent-runtime.js +0 -637
- package/dist/agent/root-agent-runtime.js.map +0 -1
- package/dist/agent/root-recovery-coordinator.d.ts +0 -124
- package/dist/agent/root-recovery-coordinator.d.ts.map +0 -1
- package/dist/agent/root-recovery-coordinator.js +0 -1557
- package/dist/agent/root-recovery-coordinator.js.map +0 -1
- package/dist/state/root-recovery-store.d.ts +0 -107
- package/dist/state/root-recovery-store.d.ts.map +0 -1
- package/dist/state/root-recovery-store.js +0 -400
- package/dist/state/root-recovery-store.js.map +0 -1
- /package/dist/web/assets/{index-BKiM0MSM.js → index-CiAnjs1_.js} +0 -0
|
@@ -9,8 +9,6 @@ import { isRecord } from '../shared/index.js';
|
|
|
9
9
|
import { createHash } from 'node:crypto';
|
|
10
10
|
export const DRIVER_MAX_BUFFER = 64 * 1024 * 1024;
|
|
11
11
|
export const DRIVER_EXEC_TIMEOUT_MS = 60_000;
|
|
12
|
-
// listPrs 的 10 页封顶是发现窗口(v1 §6,正常终止);评论源无业务水位上限,
|
|
13
|
-
// 命中 100 页即 fail closed——「最终必有空页」不是声明式输出可验证的契约(spec §5.3 增量⑦)。
|
|
14
12
|
export const LIST_PRS_PAGE_CAP = 10;
|
|
15
13
|
export const COMMENT_SOURCE_PAGE_CAP = 100;
|
|
16
14
|
const STDERR_TAIL_CHARS = 500;
|
|
@@ -22,9 +20,6 @@ export class DriverOpError extends Error {
|
|
|
22
20
|
this.name = 'DriverOpError';
|
|
23
21
|
}
|
|
24
22
|
}
|
|
25
|
-
// 跨 HTTP/日志边界的错误一律有界投影:DriverOpError 的 message 携 stderr 尾部,
|
|
26
|
-
// RowSchemaError 等会把非法值整个 JSON.stringify 进 message(实测可达数 MiB)——
|
|
27
|
-
// 未知错误只保留类名与截断后的短摘要,原文不出边界。
|
|
28
23
|
const SAFE_ERROR_SUMMARY_CHARS = 200;
|
|
29
24
|
export function safeDriverErrorText(err) {
|
|
30
25
|
if (err instanceof DriverOpError) {
|
|
@@ -43,7 +38,6 @@ export function buildDriverRunContext(repoUrl, binary) {
|
|
|
43
38
|
if (isGitHubRepo(t)) {
|
|
44
39
|
return { scheme: 'https', hostname: 'github.com', host: 'github.com', repoPath: repoSlug(t), binary };
|
|
45
40
|
}
|
|
46
|
-
// 与 repoIdentityKey 同一分解(shared/git-url):cursor 身份与命令渲染对同一 URL 的解读不分叉。
|
|
47
41
|
const parts = parseRepoUrlParts(t);
|
|
48
42
|
if (parts === null)
|
|
49
43
|
throw new Error(`cannot derive driver context from repo URL: ${t}`);
|
|
@@ -71,7 +65,6 @@ export class GitDriver {
|
|
|
71
65
|
minToolVersion: plugin.manifest?.minToolVersion ?? '',
|
|
72
66
|
ctx,
|
|
73
67
|
}), 'utf8').digest('hex');
|
|
74
|
-
// 声明期常量模式一次编译(无 g 标志,test 无 lastIndex 状态);失败风暴期每次 exec 免重编译。
|
|
75
68
|
this.errorMatchers = plugin.spec.errorClasses.map(c => ({
|
|
76
69
|
class: c.class,
|
|
77
70
|
regexes: c.regex.map(r => new RegExp(r)),
|
|
@@ -84,7 +77,6 @@ export class GitDriver {
|
|
|
84
77
|
return this.plugin.spec.commentSources;
|
|
85
78
|
}
|
|
86
79
|
async runPreflightSteps() {
|
|
87
|
-
// 限流失败折叠成普通结果会绕过 poller 的 RateLimitAbort 退避,持续加重 secondary limit。
|
|
88
80
|
let rateLimited;
|
|
89
81
|
const results = await runDriverPreflightSteps((cmd) => this.exec(cmd, { timeout: DRIVER_EXEC_TIMEOUT_MS, maxBuffer: DRIVER_MAX_BUFFER }), this.plugin.spec.preflight, { ...this.ctx, minToolVersion: this.plugin.manifest?.minToolVersion ?? '' }, (step, rawOutput) => {
|
|
90
82
|
if (this.classify(rawOutput) === 'RATE_LIMIT')
|
|
@@ -117,16 +109,10 @@ export class GitDriver {
|
|
|
117
109
|
: validateRows(opName, mapResponse(opName, op, parseJsonResponse(result.stdout)));
|
|
118
110
|
}
|
|
119
111
|
catch (e) {
|
|
120
|
-
// optional op 不可用仅能力降级、不计健康度(spec §5.3/§7 listApprovals 语义);生命周期
|
|
121
|
-
// 必需 op 与评论源在加载期即拒绝 optional。降级只吞执行失败(DriverOpError)——命令
|
|
122
|
-
// 成功后的 parse/schema 错误是插件缺陷,照常 fail loud。
|
|
123
112
|
if (op.optional === true && e instanceof DriverOpError)
|
|
124
113
|
return [];
|
|
125
114
|
throw e;
|
|
126
115
|
}
|
|
127
|
-
// 单资源 op 的空/多行响应是 fail-open 洞:null/标量被归一成零行后上层只会静默跳过,
|
|
128
|
-
// 项目/PR 永久停摆而健康度仍显示成功——按 op 契约恰好一行,违例 fail closed。
|
|
129
|
-
// 检查对 parse 缺失/treated-success 的零行同样生效(加载期契约之外的运行时纵深)。
|
|
130
116
|
if (SINGLE_RESOURCE_OPS.has(opName) && rows.length !== 1) {
|
|
131
117
|
throw new DriverOpError(`op ${opName} must yield exactly one row (got ${rows.length})`, { opName });
|
|
132
118
|
}
|
|
@@ -202,8 +188,6 @@ export class GitDriver {
|
|
|
202
188
|
const label = opts.sourceKey === undefined ? rowOp : `${rowOp}[${opts.sourceKey}]`;
|
|
203
189
|
const { idField } = opts;
|
|
204
190
|
const all = [];
|
|
205
|
-
// 页码分页在扫描期间有排序前移时,相邻页可部分重叠(GitHub sort=updated 已知形态):
|
|
206
|
-
// 同身份同内容 = 位移重复、静默去重;同身份异内容 = 同扫描内版本冲突,fail closed 下轮重扫。
|
|
207
191
|
const seen = new Map();
|
|
208
192
|
let prevIds;
|
|
209
193
|
for (let page = 1; page <= opts.pageCap; page++) {
|
|
@@ -214,13 +198,9 @@ export class GitDriver {
|
|
|
214
198
|
const rawPage = parseJsonPagedPage(result.stdout);
|
|
215
199
|
if (rawPage.length === 0)
|
|
216
200
|
return all;
|
|
217
|
-
// 投影先于指纹:指纹对原文 stringify 会把整页 body 再序列化一遍并在 seen 里滞留到扫描
|
|
218
|
-
// 结束,绕开「跨页只聚合投影行」的内存界;bodyDigest 已入投影行,任何正文差异仍必然
|
|
219
|
-
// 改变指纹,冲突检测语义等价。
|
|
220
201
|
const rows = validateRows(rowOp, mapResponse(rowOp, op, rawPage), opts.sourceKey === undefined ? undefined : { sourceKey: opts.sourceKey });
|
|
221
202
|
const projected = opts.projectPage === undefined ? rows : opts.projectPage(rows);
|
|
222
203
|
const ids = new Set(projected.map(r => String(r[idField])));
|
|
223
|
-
// flatten 源可能整页映射零行,空集合相等不构成「后端未消费 {page}」的证据。
|
|
224
204
|
if (prevIds !== undefined && prevIds.size > 0 && ids.size === prevIds.size && [...ids].every(i => prevIds.has(i))) {
|
|
225
205
|
throw new DriverOpError(`op ${label}: pagination did not advance at page ${page} (backend ignoring {page}?)`, { opName: label });
|
|
226
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-driver.js","sourceRoot":"","sources":["../../src/platform/git-driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git-driver.js","sourceRoot":"","sources":["../../src/platform/git-driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/platform/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKnE,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAS1D;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB;IAAE,QAAQ,EAAE,cAAc,CAAA;CAAE,GAAG,CAAC;IAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;CAAE,GAAG,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/platform/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKnE,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAS1D;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB;IAAE,QAAQ,EAAE,cAAc,CAAA;CAAE,GAAG,CAAC;IAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;CAAE,GAAG,gBAAgB,CAAC,CAiCzF"}
|
|
@@ -30,7 +30,6 @@ export function parseManifest(raw, pluginPath) {
|
|
|
30
30
|
const m = obj;
|
|
31
31
|
if (typeof m.name !== 'string' || m.name === '')
|
|
32
32
|
err('name must be a non-empty string');
|
|
33
|
-
// version 是插件元数据:spec §5.2 未声明格式契约、无消费者对其做 semver 比较(仅 minToolVersion 比较)——非空串即可,勿收成 semver。
|
|
34
33
|
if (typeof m.version !== 'string' || m.version.trim() === '')
|
|
35
34
|
err(`version must be a non-empty string (got ${JSON.stringify(m.version)})`);
|
|
36
35
|
if (m.kind !== 'git-driver')
|
|
@@ -44,8 +43,6 @@ export function parseManifest(raw, pluginPath) {
|
|
|
44
43
|
if (m.driverSchema !== 1)
|
|
45
44
|
err(`driverSchema must be 1 (got ${JSON.stringify(m.driverSchema)})`);
|
|
46
45
|
if (errors.length > 0) {
|
|
47
|
-
// schema 失败仍保留各自通过格式校验的 name/tool 作 best-effort 身份——
|
|
48
|
-
// startup 的同名覆盖下毒靠它识别「坏损覆盖」,丢弃会静默回退内置(spec §5.4)。
|
|
49
46
|
return {
|
|
50
47
|
errors,
|
|
51
48
|
name: typeof m.name === 'string' && m.name !== '' ? m.name : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/platform/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,MAAM,GAAG,sCAAsC,CAAC;AAEtD,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,CAAS;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAOD,MAAM,UAAU,aAAa,CAC3B,GAAW,EACX,UAAkB;IAElB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IACtE,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,yCAAyC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3F,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAChD,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IACD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE;QAAE,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACxF,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/platform/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/platform/markers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/platform/markers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAWD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAEjE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAMrE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAEnD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAE3D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3D;AAID,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAU1D;AAOD,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAExD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,aAAa,GAAG,iBAAiB,EAAE,CAEjE;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,EAAE,CAEvD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAEtD;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;AAEtE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,kBAAkB,CAKnG;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;CAC/C;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,kBAAkB,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,EAAE,IAAI,MAAM,EAAE,QAAQ,MAAM,WAAmC,CAAC;AAChH,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,EAAE,IAAI,MAAM,WAAyB,CAAC;AAErF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,eAAe,GAAG,aAAa,CA0B3F"}
|
package/dist/platform/markers.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
// baxian 标记线协议(spec §6/§7/§8):verdict 令牌行与逐 revision ack 行的唯一定义,
|
|
2
|
-
// verdict engine / 事件过滤 / ack 完成集 / 展示剥离共用,防多处正则漂移。
|
|
3
1
|
import { BODY_DIGEST_SOURCE, bodyDigest } from './body-digest.js';
|
|
4
2
|
import { SHA_HEX_SOURCE, SOURCE_KEY_PATTERN } from './types.js';
|
|
5
3
|
import { LINE_SAFE_ID_RE, versionTimeOf } from './row-schema.js';
|
|
6
|
-
// 段文法取自各自的具名定义:装机校验放行的键/id/digest 形态与线协议能解析回来的
|
|
7
|
-
// 必须是同一形态——各自内联会在任一侧收放后静默失配(ack 永判无效、反馈重派循环)。
|
|
8
4
|
const unanchored = (re) => re.source.replace(/^\^/, '').replace(/\$$/, '');
|
|
9
5
|
const REVIEW_TOKEN_RE = new RegExp(`<!--\\s*baxian:review:(pass|fail):(${SHA_HEX_SOURCE}):([A-Za-z0-9_-]{6,64})\\s*-->`, 'g');
|
|
10
6
|
const ACK_RE = new RegExp(`<!--\\s*baxian:reply:ack:(${unanchored(SOURCE_KEY_PATTERN)}):(${unanchored(LINE_SAFE_ID_RE)}):(${BODY_DIGEST_SOURCE})\\s*-->`, 'g');
|
|
11
|
-
// (?:(?!-->).)* 禁止注释体内提前出现 -->:贪婪 .* 会从行首标记吞到行尾另一条注释,
|
|
12
|
-
// 把夹在中间的可见正文一并剥掉——只有「单条完整注释占满整行」才可剥。
|
|
13
7
|
const MARKER_ONLY_LINE_RE = /^<!--\s*baxian:(?:(?!-->).)*-->$/;
|
|
14
8
|
export function buildReviewTokenLine(m) {
|
|
15
9
|
return `<!-- baxian:review:${m.kind}:${m.anchorSha}:${m.token} -->`;
|
|
@@ -27,16 +21,12 @@ export function buildAckMarker(m) {
|
|
|
27
21
|
export function extractAckMarkers(body) {
|
|
28
22
|
return [...body.matchAll(ACK_RE)].map(m => ({ sourceKey: m[1], commentId: m[2], bodyDigest: m[3] }));
|
|
29
23
|
}
|
|
30
|
-
// 仅剥「整行只有 baxian 标记」的行——verdict engine 恒读原文,此函数只服务展示/正文投影(v1 分离原则)。
|
|
31
24
|
export function stripBaxianMarkerLines(body) {
|
|
32
25
|
return body
|
|
33
26
|
.split('\n')
|
|
34
27
|
.filter(line => !MARKER_ONLY_LINE_RE.test(line.trim()))
|
|
35
28
|
.join('\n');
|
|
36
29
|
}
|
|
37
|
-
// 行投影(spec v1 §6 页内管线,v2 §5.3 继承):正文一次性折算成 digest/令牌/ack/非空标记后
|
|
38
|
-
// 原文即释放——分页聚合与 scans 跨源滞留的都是投影行,内存不随评论原文总量线性增长。
|
|
39
|
-
// 读取端一律走 rowXxx 助手:投影行取 stash、未投影行(测试直构)现算,单点防两套语义漂移。
|
|
40
30
|
const PROJECTED = Symbol('bodyProjected');
|
|
41
31
|
export function projectCommentRow(row) {
|
|
42
32
|
const body = typeof row.body === 'string' ? row.body : '';
|
|
@@ -64,8 +54,6 @@ export function rowAcks(row) {
|
|
|
64
54
|
export function rowHasBody(row) {
|
|
65
55
|
return isProjected(row) ? row.hasBody === true : rawBody(row) !== '';
|
|
66
56
|
}
|
|
67
|
-
// 载体类按声明结构推导而非 key 字面(用户插件的 key 集合任意,spec §6 矩阵须平台中立):
|
|
68
|
-
// 声明 reviewState 的源承载 native review(恒非 ack 载体),声明 discussionId 的源有线程结构。
|
|
69
57
|
export function classifyCommentSource(source) {
|
|
70
58
|
const map = source.map ?? {};
|
|
71
59
|
if ('reviewState' in map)
|
|
@@ -74,15 +62,8 @@ export function classifyCommentSource(source) {
|
|
|
74
62
|
return 'threaded';
|
|
75
63
|
return 'top-level';
|
|
76
64
|
}
|
|
77
|
-
// 集合成员键的拼法与产出同居:消费侧手工重拼在键形变更时会静默 miss(已 ack 反馈重发)。
|
|
78
65
|
export const ackRevisionKey = (sourceKey, id, digest) => `${sourceKey}:${id}:${digest}`;
|
|
79
66
|
export const ackCarrierKey = (sourceKey, id) => `${sourceKey}:${id}`;
|
|
80
|
-
// ack 载体矩阵(spec §6 矩阵修订③④):唯一授权谓词 = verified 且 authorId 相等;
|
|
81
|
-
// reviews 类行与携令牌行恒非载体(同账号 confused-deputy 结构隔离);threaded 行可 ack
|
|
82
|
-
// **同一线程内任意成员**(根或回复 revision——poller 对 reply 行投递的 revision id 即行自身 id,
|
|
83
|
-
// 只认线程根会让合法 ack 永判无效并把 dev 回复再当新反馈);隶属以传入行集解析,
|
|
84
|
-
// 目标行不在集合内按 fail-closed 拒绝。行集可跨源(issue 类顶层 ack 可指向任意源),
|
|
85
|
-
// 载体键与隶属表一律 (sourceKey, id)——三源是不同对象表、数值 id 无跨表唯一性契约(spec §5.3 增量①)。
|
|
86
67
|
export function collectValidAcks(rows, ctx) {
|
|
87
68
|
const acks = new Set();
|
|
88
69
|
const carrierRowKeys = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/platform/markers.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/platform/markers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-poller.d.ts","sourceRoot":"","sources":["../../src/platform/platform-poller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AASrD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IAC9C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"platform-poller.d.ts","sourceRoot":"","sources":["../../src/platform/platform-poller.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,6 @@ import { collectValidAcks, rowBodyDigest } from './markers.js';
|
|
|
12
12
|
import { createHash } from 'node:crypto';
|
|
13
13
|
import { buildAckCarrierRows, feedbackEventTarget, scanCommentSourcesOnce } from './feedback.js';
|
|
14
14
|
import { checkPrBinding } from './pr-binding.js';
|
|
15
|
-
// TaskState 到轮询视图的唯一投影:poller 只看这些字段,其余任务状态一律不进轮询面。
|
|
16
15
|
export function platformTaskView(task) {
|
|
17
16
|
return {
|
|
18
17
|
taskId: task.id,
|
|
@@ -33,10 +32,6 @@ export function platformTaskView(task) {
|
|
|
33
32
|
...(task.replyActorStatus !== undefined ? { replyActorStatus: task.replyActorStatus } : {}),
|
|
34
33
|
};
|
|
35
34
|
}
|
|
36
|
-
// 限流后必须停止请求并退避(GitHub 平台要求,持续触发 secondary limit 会招致封禁):
|
|
37
|
-
// 命中即短路该 entry 本周期剩余工作,退避窗口内整周期跳过,成功周期重置。
|
|
38
|
-
// abort 携带此前已入列的全部失败:混合周期(如 ACCESS_DENIED → RATE_LIMIT)的真实
|
|
39
|
-
// 凭据故障不得被限流短路洗白成 healthy。
|
|
40
35
|
class RateLimitAbort extends Error {
|
|
41
36
|
failure;
|
|
42
37
|
failures;
|
|
@@ -47,7 +42,6 @@ class RateLimitAbort extends Error {
|
|
|
47
42
|
this.name = 'RateLimitAbort';
|
|
48
43
|
}
|
|
49
44
|
}
|
|
50
|
-
// 周期失败已在抛出前记入健康度——typed 标记让 catch 兜底不二次记账(不能用消息前缀嗅探)。
|
|
51
45
|
class CycleFailuresError extends Error {
|
|
52
46
|
constructor(message) {
|
|
53
47
|
super(message);
|
|
@@ -62,7 +56,6 @@ class EntryRetiredError extends Error {
|
|
|
62
56
|
}
|
|
63
57
|
const RATE_LIMIT_BACKOFF_MIN_MS = 60_000;
|
|
64
58
|
const RATE_LIMIT_BACKOFF_MAX_MS = 900_000;
|
|
65
|
-
// 与 spec §8 base 快照同一时效纪律:projectView 连续失败 ≥3 周期后缓存默认分支视为缺失。
|
|
66
59
|
const DEFAULT_BRANCH_STALE_CYCLES = 3;
|
|
67
60
|
const ADOPTION_DEFERRAL_INTERVENTION_CYCLES = 3;
|
|
68
61
|
export class PlatformPoller {
|
|
@@ -117,7 +110,6 @@ export class PlatformPoller {
|
|
|
117
110
|
}
|
|
118
111
|
}
|
|
119
112
|
upsertWantedEntries(wantedByKey) {
|
|
120
|
-
// Reusing repo-keyed entries keeps durable cursors and in-memory observations aligned across reloads.
|
|
121
113
|
const existingByKey = new Map(this.entries.map(e => [e.repoKey, e]));
|
|
122
114
|
for (const [key, init] of wantedByKey) {
|
|
123
115
|
const existing = existingByKey.get(key);
|
|
@@ -159,7 +151,6 @@ export class PlatformPoller {
|
|
|
159
151
|
console.error('[PlatformPoller] lifecycle hook threw:', err);
|
|
160
152
|
}
|
|
161
153
|
}
|
|
162
|
-
// 超龄即视为缺失;纯缓存读,派发路径零网络调用。
|
|
163
154
|
defaultBranchSnapshot(repoKey) {
|
|
164
155
|
const entry = this.entries.find(e => e.repoKey === repoKey);
|
|
165
156
|
if (entry?.defaultBranch === undefined)
|
|
@@ -198,8 +189,6 @@ export class PlatformPoller {
|
|
|
198
189
|
}
|
|
199
190
|
this.periodicRunner.start();
|
|
200
191
|
}
|
|
201
|
-
// 热重载改 pollIntervalMs:只调整已在运行的 runner,不替一个从未 start 的 poller 启动
|
|
202
|
-
// (启动是 index 装配的职责)。未运行时仅记下新间隔,下次 start 生效。
|
|
203
192
|
reschedule(intervalMs) {
|
|
204
193
|
this.intervalMs = intervalMs;
|
|
205
194
|
this.periodicRunner?.reschedule(intervalMs);
|
|
@@ -207,8 +196,6 @@ export class PlatformPoller {
|
|
|
207
196
|
stop() {
|
|
208
197
|
this.periodicRunner?.stop();
|
|
209
198
|
}
|
|
210
|
-
// 防重入设在唯一公开入口:定时 tick、手动触发与测试直调共用同一互斥,
|
|
211
|
-
// 并发周期会对同一 entry/cursor 双写(重复事件 + 状态文件竞争)。
|
|
212
199
|
async poll() {
|
|
213
200
|
if (this.isPolling) {
|
|
214
201
|
console.warn('[PlatformPoller] poll skipped: previous cycle still in flight');
|
|
@@ -262,7 +249,6 @@ export class PlatformPoller {
|
|
|
262
249
|
if (e instanceof EntryRetiredError)
|
|
263
250
|
return;
|
|
264
251
|
if (e instanceof RateLimitAbort) {
|
|
265
|
-
// 不计凭据健康度(spec §5.3 要点):退避顺延重试并在状态里如实标注 rate-limited。
|
|
266
252
|
const attempt = (entry.rateLimit?.attempt ?? 0) + 1;
|
|
267
253
|
const backoffMs = computeBackoffMs(attempt, {
|
|
268
254
|
baseMs: RATE_LIMIT_BACKOFF_MIN_MS, maxMs: RATE_LIMIT_BACKOFF_MAX_MS,
|
|
@@ -379,7 +365,6 @@ export class PlatformPoller {
|
|
|
379
365
|
if (!activePrs.has(Number(key.split(':')[0])))
|
|
380
366
|
entry.loggedUndated.delete(key);
|
|
381
367
|
}
|
|
382
|
-
// 首周期自证,失败进健康度周期重试;早退周期未刷新 projectView,须同步老化缓存。
|
|
383
368
|
if (entry.preflightPassed !== true && entry.driver.runPreflightSteps !== undefined) {
|
|
384
369
|
let steps;
|
|
385
370
|
try {
|
|
@@ -424,8 +409,6 @@ export class PlatformPoller {
|
|
|
424
409
|
entry.defaultBranchStale += 1;
|
|
425
410
|
fail('projectView', e);
|
|
426
411
|
}
|
|
427
|
-
// 收编快照必须用当周期值(写 durable base);子轮询绑定校验是纯守卫谓词,可用
|
|
428
|
-
// 有界陈旧的缓存跨过瞬时 projectView 故障,超龄即视为缺失(fail closed 停子轮询)。
|
|
429
412
|
const usableDefault = defaultBranch
|
|
430
413
|
?? (entry.defaultBranch !== undefined && entry.defaultBranchStale < DEFAULT_BRANCH_STALE_CYCLES
|
|
431
414
|
? entry.defaultBranch
|
|
@@ -435,8 +418,6 @@ export class PlatformPoller {
|
|
|
435
418
|
for (const task of tasks) {
|
|
436
419
|
if (task.terminal || task.prNumber === undefined)
|
|
437
420
|
continue;
|
|
438
|
-
// closed-unmerged 锚在场即停子轮询:恢复只经主轮询 reopen 事件 → handler durable
|
|
439
|
-
// 解锚 → 下一周期任务视图锚已清(spec §6 reopen 显式 durable 观察协议)。
|
|
440
421
|
if (task.closedUnmergedAnchor === true)
|
|
441
422
|
continue;
|
|
442
423
|
await this.subPoll(entry, task, usableDefault, fail);
|
|
@@ -444,7 +425,6 @@ export class PlatformPoller {
|
|
|
444
425
|
}
|
|
445
426
|
return failures;
|
|
446
427
|
}
|
|
447
|
-
// PR 收编后仍可被 retarget/改写:产出生命周期/裁决事件前按 fresh prView 复核绑定,「无法核验」不得视同「匹配」。
|
|
448
428
|
bindingCheck(task, prRow, defaultBranch) {
|
|
449
429
|
return checkPrBinding(prRow, {
|
|
450
430
|
branch: task.branch,
|
|
@@ -460,9 +440,6 @@ export class PlatformPoller {
|
|
|
460
440
|
prRows = await entry.driver.runListPrs({}, pageRows => {
|
|
461
441
|
if (prsCursor.watermarkTime === null)
|
|
462
442
|
return false;
|
|
463
|
-
// 停止条件 = 观察到严格早于水位的行:desc 序下这证明 ≥ 水位的行(含水位同秒整桶)
|
|
464
|
-
// 已全部翻过;「整页都是已知水位行」证明不了同秒桶已扫完——同秒无稳定次序,
|
|
465
|
-
// 第二页可能还有同秒新 PR(spec v1 §6 停止条件)。
|
|
466
443
|
return pageRows.some(r => {
|
|
467
444
|
const vt = versionTimeOf(r);
|
|
468
445
|
return vt !== undefined && vt < prsCursor.watermarkTime;
|
|
@@ -529,7 +506,6 @@ export class PlatformPoller {
|
|
|
529
506
|
const boundTask = boundByPr.get(prNumber);
|
|
530
507
|
if (boundTask !== undefined) {
|
|
531
508
|
await clearPending(prNumber);
|
|
532
|
-
// reopen 是显式 durable 观察:closed-unmerged 锚在 TaskState,主轮询见重开即合成(spec §6)。
|
|
533
509
|
if (boundTask.closedUnmergedAnchor === true && row.state === 'open') {
|
|
534
510
|
try {
|
|
535
511
|
await this.emit(entry, 'pr.updated', { ...base, kind: 'reopened' }, boundTask.taskId);
|
|
@@ -557,8 +533,6 @@ export class PlatformPoller {
|
|
|
557
533
|
const pendingTaskId = pendingByPr.get(prNumber);
|
|
558
534
|
if (pendingTaskId !== undefined && pendingTaskId !== task.taskId)
|
|
559
535
|
await clearPending(prNumber);
|
|
560
|
-
// 统一谓词 branch === task.branch:branch 缺失的任务视图无从核验绑定,收编一并 fail closed
|
|
561
|
-
// (与子轮询 bindingCheck 对称——「无法核验」不是「匹配」)。
|
|
562
536
|
if (task.branch !== base.branch) {
|
|
563
537
|
await clearPending(prNumber);
|
|
564
538
|
continue;
|
|
@@ -586,8 +560,6 @@ export class PlatformPoller {
|
|
|
586
560
|
continue;
|
|
587
561
|
}
|
|
588
562
|
if (target !== defaultBranch) {
|
|
589
|
-
// 无快照档的失配交人工:PR 已存在、同 head 重试 create 必失败,静默拒收会永久卡死(spec §6)。
|
|
590
|
-
// 条件未变时跨周期去重(成功投递才记指纹,emit 失败下轮重试);恢复/收编成功即清。
|
|
591
563
|
const fp = [task.taskId, target, defaultBranch].join('\0');
|
|
592
564
|
if (entry.baseMismatch.get(prNumber) !== fp) {
|
|
593
565
|
await this.emit(entry, 'human.intervention', {
|
|
@@ -730,7 +702,6 @@ export class PlatformPoller {
|
|
|
730
702
|
fail(`closed pr#${prNumber}`, e);
|
|
731
703
|
}
|
|
732
704
|
}
|
|
733
|
-
// 未合并关闭停子轮询,reopen 经主轮询恢复(spec §6)。
|
|
734
705
|
return;
|
|
735
706
|
}
|
|
736
707
|
observed.closedUnmerged = false;
|
|
@@ -747,10 +718,6 @@ export class PlatformPoller {
|
|
|
747
718
|
const scans = await this.scanCommentSources(entry, task, base, fail);
|
|
748
719
|
await this.noteConversationProjection(entry, task.taskId, obsKey, scans);
|
|
749
720
|
const anchorSha = task.anchorSha?.toLowerCase();
|
|
750
|
-
// 裁决资格门:head 偏离锚点只能走 push/recheck,旧锚令牌不得批准新 head;signalToken
|
|
751
|
-
// 缺失**或空白**的事件会绕过既有 handler 的令牌比对(guard 是 truthy 双与,两个空值照样
|
|
752
|
-
// 通过)——缺任一资格即清候选,跨不可裁决状态存活的候选会把恢复后首个扫描当成第二个
|
|
753
|
-
// 确认周期(spec §6 verdict ③)。
|
|
754
721
|
const verdictEligible = task.inReview === true
|
|
755
722
|
&& prRow.draft === false
|
|
756
723
|
&& task.passToken !== undefined && task.failToken !== undefined
|
|
@@ -761,7 +728,6 @@ export class PlatformPoller {
|
|
|
761
728
|
this.engine.dropCandidate(task.taskId, prNumber);
|
|
762
729
|
return;
|
|
763
730
|
}
|
|
764
|
-
// 源扫描失败的完整性门由 engine 单点持有(spec §6 verdict ①,含候选保留语义),此处不复检。
|
|
765
731
|
const decision = this.engine.evaluate({
|
|
766
732
|
taskId: task.taskId,
|
|
767
733
|
prNumber,
|
|
@@ -776,8 +742,6 @@ export class PlatformPoller {
|
|
|
776
742
|
if (entry.deliveredVerdicts.get(obsKey) === fp)
|
|
777
743
|
return;
|
|
778
744
|
try {
|
|
779
|
-
// 评论源扫描最长可达分钟级,扫描期间 head/状态可被平台改写(TOCTOU):emit 前以
|
|
780
|
-
// 权威 prView 复核 open/!draft/绑定/锚点,失配清候选走 push/recheck,查询失败按瞬态重试。
|
|
781
745
|
const [freshRow] = await entry.driver.runOp('prView', { prNumber });
|
|
782
746
|
this.assertEntryActive(entry);
|
|
783
747
|
const freshEligible = freshRow !== undefined
|
|
@@ -806,7 +770,6 @@ export class PlatformPoller {
|
|
|
806
770
|
fail(`verdict pr#${prNumber}`, e);
|
|
807
771
|
}
|
|
808
772
|
}
|
|
809
|
-
// 全源成功才比对(失败源缺行会伪刷新两次);回调失败不推进基线,下轮重试。
|
|
810
773
|
async noteConversationProjection(entry, taskId, obsKey, scans) {
|
|
811
774
|
const notify = this.opts.onConversationRevision;
|
|
812
775
|
if (notify === undefined)
|
|
@@ -815,7 +778,6 @@ export class PlatformPoller {
|
|
|
815
778
|
return;
|
|
816
779
|
const h = createHash('sha256');
|
|
817
780
|
for (const scan of [...scans].sort((a, b) => a.key.localeCompare(b.key))) {
|
|
818
|
-
// 源未承诺稳定行序:按行身份规范化后再散列,重排不产生伪 revision。
|
|
819
781
|
const rows = [...scan.rows].sort((a, b) => {
|
|
820
782
|
const ai = String(a.id);
|
|
821
783
|
const bi = String(b.id);
|
|
@@ -826,8 +788,6 @@ export class PlatformPoller {
|
|
|
826
788
|
return ad < bd ? -1 : ad > bd ? 1 : 0;
|
|
827
789
|
});
|
|
828
790
|
for (const row of rows) {
|
|
829
|
-
// versionTime 入摘要:正文相同但 updatedAt 变化会改变时间线排序(进而改变分轮),
|
|
830
|
-
// 不计入就永远不推进展示 revision。
|
|
831
791
|
h.update(`${scan.key}:${String(row.id)}:${rowBodyDigest(row)}:${String(row.reviewState ?? '')}:${String(versionTimeOf(row) ?? '')}\n`);
|
|
832
792
|
}
|
|
833
793
|
}
|
|
@@ -844,9 +804,6 @@ export class PlatformPoller {
|
|
|
844
804
|
}
|
|
845
805
|
async scanCommentSources(entry, task, base, fail) {
|
|
846
806
|
const scans = await scanCommentSourcesOnce(entry.driver, base.prNumber, this.now, (key, error) => fail(`listComments[${key}] pr#${base.prNumber}`, error));
|
|
847
|
-
// ack 完成集跨源计算一次:issue 类顶层 ack 可指向任意源的 revision,threaded 隶属
|
|
848
|
-
// 也要全源行集解析;已 ack 的 revision 即 dev 已处置——cursor 重置/源删重加后再变 fresh
|
|
849
|
-
// 也不得重发反馈事件(ack 是 durable 处置证据,ledger 只是投递优化)。
|
|
850
807
|
const ackCollection = collectValidAcks(buildAckCarrierRows(scans), {
|
|
851
808
|
replyActorId: task.replyActorId,
|
|
852
809
|
replyActorStatus: task.replyActorStatus,
|