baxian 1.2.57 → 1.2.59

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 (156) hide show
  1. package/dist/agent/branch.d.ts +6 -1
  2. package/dist/agent/branch.d.ts.map +1 -1
  3. package/dist/agent/branch.js +45 -9
  4. package/dist/agent/branch.js.map +1 -1
  5. package/dist/agent/manager.d.ts +182 -5
  6. package/dist/agent/manager.d.ts.map +1 -1
  7. package/dist/agent/manager.js +2235 -147
  8. package/dist/agent/manager.js.map +1 -1
  9. package/dist/agent/phase-signal-watcher.d.ts +8 -1
  10. package/dist/agent/phase-signal-watcher.d.ts.map +1 -1
  11. package/dist/agent/phase-signal-watcher.js +66 -15
  12. package/dist/agent/phase-signal-watcher.js.map +1 -1
  13. package/dist/agent/phase-signal.d.ts +3 -1
  14. package/dist/agent/phase-signal.d.ts.map +1 -1
  15. package/dist/agent/phase-signal.js +27 -4
  16. package/dist/agent/phase-signal.js.map +1 -1
  17. package/dist/agent/tmux.d.ts +8 -1
  18. package/dist/agent/tmux.d.ts.map +1 -1
  19. package/dist/agent/tmux.js +61 -1
  20. package/dist/agent/tmux.js.map +1 -1
  21. package/dist/api/config.d.ts.map +1 -1
  22. package/dist/api/config.js +16 -4
  23. package/dist/api/config.js.map +1 -1
  24. package/dist/api/platform-guard.d.ts +7 -0
  25. package/dist/api/platform-guard.d.ts.map +1 -0
  26. package/dist/api/platform-guard.js +32 -0
  27. package/dist/api/platform-guard.js.map +1 -0
  28. package/dist/api/projects.d.ts.map +1 -1
  29. package/dist/api/projects.js +34 -6
  30. package/dist/api/projects.js.map +1 -1
  31. package/dist/config/normalizer.d.ts.map +1 -1
  32. package/dist/config/normalizer.js +1 -0
  33. package/dist/config/normalizer.js.map +1 -1
  34. package/dist/config/validator.d.ts +3 -1
  35. package/dist/config/validator.d.ts.map +1 -1
  36. package/dist/config/validator.js +104 -7
  37. package/dist/config/validator.js.map +1 -1
  38. package/dist/event/handlers.d.ts +1 -0
  39. package/dist/event/handlers.d.ts.map +1 -1
  40. package/dist/event/handlers.js +661 -89
  41. package/dist/event/handlers.js.map +1 -1
  42. package/dist/github/mapper.d.ts +1 -6
  43. package/dist/github/mapper.d.ts.map +1 -1
  44. package/dist/github/mapper.js.map +1 -1
  45. package/dist/github/poller.d.ts +3 -3
  46. package/dist/github/poller.d.ts.map +1 -1
  47. package/dist/github/poller.js +2 -11
  48. package/dist/github/poller.js.map +1 -1
  49. package/dist/github/resolver.js +1 -1
  50. package/dist/github/resolver.js.map +1 -1
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +33 -2
  53. package/dist/index.js.map +1 -1
  54. package/dist/platform/body-digest.d.ts +4 -0
  55. package/dist/platform/body-digest.d.ts.map +1 -0
  56. package/dist/platform/body-digest.js +13 -0
  57. package/dist/platform/body-digest.js.map +1 -0
  58. package/dist/platform/command-renderer.d.ts +22 -0
  59. package/dist/platform/command-renderer.d.ts.map +1 -0
  60. package/dist/platform/command-renderer.js +82 -0
  61. package/dist/platform/command-renderer.js.map +1 -0
  62. package/dist/platform/comment-cursor.d.ts +36 -0
  63. package/dist/platform/comment-cursor.d.ts.map +1 -0
  64. package/dist/platform/comment-cursor.js +235 -0
  65. package/dist/platform/comment-cursor.js.map +1 -0
  66. package/dist/platform/driver-host.d.ts +7 -0
  67. package/dist/platform/driver-host.d.ts.map +1 -0
  68. package/dist/platform/driver-host.js +18 -0
  69. package/dist/platform/driver-host.js.map +1 -0
  70. package/dist/platform/driver-spec.d.ts +7 -0
  71. package/dist/platform/driver-spec.d.ts.map +1 -0
  72. package/dist/platform/driver-spec.js +475 -0
  73. package/dist/platform/driver-spec.js.map +1 -0
  74. package/dist/platform/feedback.d.ts +31 -0
  75. package/dist/platform/feedback.d.ts.map +1 -0
  76. package/dist/platform/feedback.js +85 -0
  77. package/dist/platform/feedback.js.map +1 -0
  78. package/dist/platform/field-mapper.d.ts +7 -0
  79. package/dist/platform/field-mapper.d.ts.map +1 -0
  80. package/dist/platform/field-mapper.js +117 -0
  81. package/dist/platform/field-mapper.js.map +1 -0
  82. package/dist/platform/git-driver.d.ts +55 -0
  83. package/dist/platform/git-driver.d.ts.map +1 -0
  84. package/dist/platform/git-driver.js +171 -0
  85. package/dist/platform/git-driver.js.map +1 -0
  86. package/dist/platform/manifest.d.ts +12 -0
  87. package/dist/platform/manifest.d.ts.map +1 -0
  88. package/dist/platform/manifest.js +57 -0
  89. package/dist/platform/manifest.js.map +1 -0
  90. package/dist/platform/markers.d.ts +46 -0
  91. package/dist/platform/markers.d.ts.map +1 -0
  92. package/dist/platform/markers.js +121 -0
  93. package/dist/platform/markers.js.map +1 -0
  94. package/dist/platform/platform-poller.d.ts +68 -0
  95. package/dist/platform/platform-poller.d.ts.map +1 -0
  96. package/dist/platform/platform-poller.js +605 -0
  97. package/dist/platform/platform-poller.js.map +1 -0
  98. package/dist/platform/plugin-registry.d.ts +31 -0
  99. package/dist/platform/plugin-registry.d.ts.map +1 -0
  100. package/dist/platform/plugin-registry.js +238 -0
  101. package/dist/platform/plugin-registry.js.map +1 -0
  102. package/dist/platform/plugin-roots.d.ts +3 -0
  103. package/dist/platform/plugin-roots.d.ts.map +1 -0
  104. package/dist/platform/plugin-roots.js +11 -0
  105. package/dist/platform/plugin-roots.js.map +1 -0
  106. package/dist/platform/plugins/github/baxian-plugin.json +8 -0
  107. package/dist/platform/plugins/github/driver.json +134 -0
  108. package/dist/platform/plugins/github/skills/baxian-cli-gh/SKILL.md +99 -0
  109. package/dist/platform/poller-health.d.ts +3 -0
  110. package/dist/platform/poller-health.d.ts.map +1 -0
  111. package/dist/platform/poller-health.js +12 -0
  112. package/dist/platform/poller-health.js.map +1 -0
  113. package/dist/platform/pr-binding.d.ts +22 -0
  114. package/dist/platform/pr-binding.d.ts.map +1 -0
  115. package/dist/platform/pr-binding.js +28 -0
  116. package/dist/platform/pr-binding.js.map +1 -0
  117. package/dist/platform/response-parser.d.ts +6 -0
  118. package/dist/platform/response-parser.d.ts.map +1 -0
  119. package/dist/platform/response-parser.js +92 -0
  120. package/dist/platform/response-parser.js.map +1 -0
  121. package/dist/platform/row-schema.d.ts +12 -0
  122. package/dist/platform/row-schema.d.ts.map +1 -0
  123. package/dist/platform/row-schema.js +127 -0
  124. package/dist/platform/row-schema.js.map +1 -0
  125. package/dist/platform/startup.d.ts +16 -0
  126. package/dist/platform/startup.d.ts.map +1 -0
  127. package/dist/platform/startup.js +52 -0
  128. package/dist/platform/startup.js.map +1 -0
  129. package/dist/platform/types.d.ts +62 -0
  130. package/dist/platform/types.d.ts.map +1 -0
  131. package/dist/platform/types.js +32 -0
  132. package/dist/platform/types.js.map +1 -0
  133. package/dist/platform/verdict-engine.d.ts +61 -0
  134. package/dist/platform/verdict-engine.d.ts.map +1 -0
  135. package/dist/platform/verdict-engine.js +134 -0
  136. package/dist/platform/verdict-engine.js.map +1 -0
  137. package/dist/shared/constants.d.ts +2 -0
  138. package/dist/shared/constants.d.ts.map +1 -1
  139. package/dist/shared/constants.js +3 -0
  140. package/dist/shared/constants.js.map +1 -1
  141. package/dist/shared/git-url.d.ts +8 -0
  142. package/dist/shared/git-url.d.ts.map +1 -1
  143. package/dist/shared/git-url.js +38 -0
  144. package/dist/shared/git-url.js.map +1 -1
  145. package/dist/shared/types.d.ts +52 -1
  146. package/dist/shared/types.d.ts.map +1 -1
  147. package/dist/shared/types.js.map +1 -1
  148. package/dist/state/agent-store.js +2 -0
  149. package/dist/state/agent-store.js.map +1 -1
  150. package/dist/state/task-store.d.ts.map +1 -1
  151. package/dist/state/task-store.js +91 -4
  152. package/dist/state/task-store.js.map +1 -1
  153. package/dist/web/assets/index-DskVWe7e.js +13 -0
  154. package/dist/web/index.html +1 -1
  155. package/package.json +1 -1
  156. package/dist/web/assets/index-3Ypk8Gfo.js +0 -13
package/dist/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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"}
@@ -0,0 +1,4 @@
1
+ export declare function sha256Hex(text: string): string;
2
+ export declare function bodyDigest(body: string): string;
3
+ export declare const BODY_DIGEST_SOURCE = "[0-9a-f]{64}";
4
+ //# sourceMappingURL=body-digest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body-digest.d.ts","sourceRoot":"","sources":["../../src/platform/body-digest.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAKD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAGD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { createHash } from 'node:crypto';
2
+ export function sha256Hex(text) {
3
+ return createHash('sha256').update(text, 'utf8').digest('hex');
4
+ }
5
+ // digest 线协议(spec §6,core 与 skill 共享唯一定义):API 解码原文按 UTF-8 取 SHA-256
6
+ // 完整小写 hex——不规范化 Unicode/CRLF、不剥标记、不 trim;8-hex 截断只有 32 位空间,
7
+ // 能编辑评论者可构造同前缀正文让旧 ack 复活。
8
+ export function bodyDigest(body) {
9
+ return sha256Hex(body);
10
+ }
11
+ // digest 段文法与产出函数同居:ack 线协议解析与 cursor 结构校验都从这里取形状。
12
+ export const BODY_DIGEST_SOURCE = '[0-9a-f]{64}';
13
+ //# sourceMappingURL=body-digest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body-digest.js","sourceRoot":"","sources":["../../src/platform/body-digest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,oEAAoE;AACpE,6DAA6D;AAC7D,2BAA2B;AAC3B,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC"}
@@ -0,0 +1,22 @@
1
+ export interface RenderContext {
2
+ scheme: 'http' | 'https';
3
+ hostname: string;
4
+ host: string;
5
+ repoPath: string;
6
+ binary: string;
7
+ prNumber?: number;
8
+ expectedHeadSha?: string;
9
+ branch?: string;
10
+ page?: number;
11
+ }
12
+ export declare class PlaceholderValueError extends Error {
13
+ constructor(message: string);
14
+ }
15
+ export declare function renderCommand(op: {
16
+ argv: string[];
17
+ env?: Record<string, string>;
18
+ }, ctx: RenderContext): string;
19
+ export declare function renderFixMessage(template: string, ctx: RenderContext & {
20
+ minToolVersion?: string;
21
+ }): string;
22
+ //# sourceMappingURL=command-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-renderer.d.ts","sourceRoot":"","sources":["../../src/platform/command-renderer.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AA2DD,wBAAgB,aAAa,CAC3B,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EACpD,GAAG,EAAE,aAAa,GACjB,MAAM,CAWR;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,aAAa,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,MAAM,CAER"}
@@ -0,0 +1,82 @@
1
+ import { shellQuote } from '../agent/runner.js';
2
+ import { isValidBranchName } from '../shared/constants.js';
3
+ import { ENV_KEY_PATTERN, SHA_HEX_SOURCE } from './types.js';
4
+ export class PlaceholderValueError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = 'PlaceholderValueError';
8
+ }
9
+ }
10
+ const SHA_RE = new RegExp(`^${SHA_HEX_SOURCE}$`);
11
+ // String.replace 对全局正则自重置 lastIndex,模块级复用安全。
12
+ const PLACEHOLDER_RE = /\{([a-zA-Z]+)\}/g;
13
+ function placeholderValue(name, ctx) {
14
+ switch (name) {
15
+ case 'scheme': return ctx.scheme;
16
+ case 'hostname': return ctx.hostname;
17
+ case 'host': return ctx.host;
18
+ case 'hostUrl': return `${ctx.scheme}://${ctx.host}`;
19
+ case 'repoPath': return ctx.repoPath;
20
+ case 'repoPathEncoded': return encodeURIComponent(ctx.repoPath);
21
+ case 'binary': return ctx.binary;
22
+ case 'prNumber': {
23
+ if (ctx.prNumber === undefined || !Number.isInteger(ctx.prNumber) || ctx.prNumber <= 0) {
24
+ throw new PlaceholderValueError(`prNumber must be a positive integer (got ${ctx.prNumber})`);
25
+ }
26
+ return String(ctx.prNumber);
27
+ }
28
+ case 'expectedHeadSha': {
29
+ if (ctx.expectedHeadSha === undefined || !SHA_RE.test(ctx.expectedHeadSha)) {
30
+ throw new PlaceholderValueError(`expectedHeadSha must be hex sha (got ${ctx.expectedHeadSha})`);
31
+ }
32
+ return ctx.expectedHeadSha;
33
+ }
34
+ case 'branch': {
35
+ if (ctx.branch === undefined)
36
+ throw new PlaceholderValueError('branch required for {branch}');
37
+ // 原样值进 URL 路径(GitHub refs 端点按字面 / 展开,spec §5.3 增量⑤):入口同款
38
+ // isValidBranchName 挡路径遍历——第二套渲染期专属谓词会与它各自漂移。
39
+ if (!isValidBranchName(ctx.branch)) {
40
+ throw new PlaceholderValueError(`branch has invalid shape (got ${ctx.branch})`);
41
+ }
42
+ return ctx.branch;
43
+ }
44
+ case 'branchEncoded': {
45
+ if (ctx.branch === undefined)
46
+ throw new PlaceholderValueError('branch required for {branchEncoded}');
47
+ return encodeURIComponent(ctx.branch);
48
+ }
49
+ case 'page': {
50
+ if (ctx.page === undefined || !Number.isInteger(ctx.page) || ctx.page <= 0) {
51
+ throw new PlaceholderValueError(`page must be a positive integer (got ${ctx.page})`);
52
+ }
53
+ return String(ctx.page);
54
+ }
55
+ case 'minToolVersion': {
56
+ if (ctx.minToolVersion === undefined)
57
+ throw new PlaceholderValueError('minToolVersion unavailable');
58
+ return ctx.minToolVersion;
59
+ }
60
+ default:
61
+ throw new PlaceholderValueError(`unknown placeholder {${name}}`);
62
+ }
63
+ }
64
+ function substitute(template, ctx) {
65
+ return template.replace(PLACEHOLDER_RE, (_, name) => placeholderValue(name, ctx));
66
+ }
67
+ export function renderCommand(op, ctx) {
68
+ const envPrefix = Object.entries(op.env ?? {})
69
+ .map(([k, v]) => {
70
+ if (!ENV_KEY_PATTERN.test(k)) {
71
+ throw new PlaceholderValueError(`env key must match ${ENV_KEY_PATTERN} (got ${k})`);
72
+ }
73
+ return `${k}=${shellQuote(substitute(v, ctx))}`;
74
+ })
75
+ .join(' ');
76
+ const argv = op.argv.map(a => shellQuote(substitute(a, ctx))).join(' ');
77
+ return envPrefix === '' ? argv : `${envPrefix} ${argv}`;
78
+ }
79
+ export function renderFixMessage(template, ctx) {
80
+ return substitute(template, ctx);
81
+ }
82
+ //# sourceMappingURL=command-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-renderer.js","sourceRoot":"","sources":["../../src/platform/command-renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { type NormalizedRow } from './row-schema.js';
2
+ export interface SourceCursorView {
3
+ watermarkTime: number | null;
4
+ bucket: Record<string, string>;
5
+ ledger: Record<string, string>;
6
+ }
7
+ export interface ClassifiedRows {
8
+ fresh: NormalizedRow[];
9
+ undated: number;
10
+ }
11
+ export declare function platformPollerStatePath(stateDir: string, repoUrl: string): string;
12
+ export declare class CommentCursorStore {
13
+ private readonly filePath;
14
+ private readonly repoUrl;
15
+ private state;
16
+ private readonly repoKey;
17
+ private dirty;
18
+ constructor(filePath: string, repoUrl: string);
19
+ load(): Promise<void>;
20
+ flushIfDirty(): Promise<void>;
21
+ source(taskId: string, prNumber: number, sourceKey: string): SourceCursorView;
22
+ classify(view: SourceCursorView, rows: NormalizedRow[], cutoffMs: number): ClassifiedRows;
23
+ isDelivered(view: SourceCursorView, id: string, digest: string): boolean;
24
+ markDelivered(taskId: string, prNumber: number, sourceKey: string, id: string, digest: string): Promise<void>;
25
+ commitSource(taskId: string, prNumber: number, sourceKey: string, rows: NormalizedRow[], cutoffMs: number): Promise<void>;
26
+ listPrsCursor(): {
27
+ watermarkTime: number | null;
28
+ };
29
+ commitListPrs(rows: NormalizedRow[], cutoffMs: number): Promise<void>;
30
+ generations(): string[];
31
+ dropGeneration(taskId: string): Promise<void>;
32
+ pruneSources(activeKeys: ReadonlySet<string>): Promise<void>;
33
+ private mutableSource;
34
+ private persist;
35
+ }
36
+ //# sourceMappingURL=comment-cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment-cursor.d.ts","sourceRoot":"","sources":["../../src/platform/comment-cursor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIpE,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AASD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjF;AA8DD,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAU,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJvE,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,KAAK,CAAS;gBAEO,QAAQ,EAAE,MAAM,EAAmB,OAAO,EAAE,MAAM;IAKzE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAI7E,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc;IAqBzF,WAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7G,YAAY,CAChB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,GAC3F,OAAO,CAAC,IAAI,CAAC;IA2BhB,aAAa,IAAI;QAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAK3C,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3E,WAAW,IAAI,MAAM,EAAE;IAIjB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAelE,OAAO,CAAC,aAAa;YAMP,OAAO;CAatB"}
@@ -0,0 +1,235 @@
1
+ import { mkdir, readFile, rename, writeFile } from 'node:fs/promises';
2
+ import { dirname, join } from 'node:path';
3
+ import { BODY_DIGEST_SOURCE, sha256Hex } from './body-digest.js';
4
+ import { rowBodyDigest } from './markers.js';
5
+ import { versionTimeOf } from './row-schema.js';
6
+ import { isRecord } from '../shared/index.js';
7
+ import { repoIdentityKey } from '../shared/git-url.js';
8
+ // 定长 digest 文件名:深层 namespace 不撞 ENAMETOOLONG;键出自 repoIdentityKey 单一归一化函数(spec §4)。
9
+ export function platformPollerStatePath(stateDir, repoUrl) {
10
+ return join(stateDir, 'state', `poller-git-${sha256Hex(repoIdentityKey(repoUrl))}.json`);
11
+ }
12
+ // 协议键(source key/comment id)的合法形态包含 'constructor'/'__proto__' 等原型特殊名:
13
+ // 普通对象上 `??=` 会读到继承的 Object 构造器、'__proto__' 赋值被 setter 吞掉——
14
+ // 所有 cursor 容器一律 null-prototype,磁盘加载后同样重建(JSON.parse 产出的是普通对象)。
15
+ const dict = () => Object.create(null);
16
+ const emptySource = () => ({ watermarkTime: null, bucket: dict(), ledger: dict() });
17
+ // 提交值均出自 Date.parse(整数毫秒):1e300 这类「有限但超 Date 量程」的损坏值会把全部
18
+ // 真实行判旧、健康停页——按 ECMAScript Date 有效范围收紧。
19
+ const MAX_DATE_MS = 8_640_000_000_000_000;
20
+ const isWatermark = (v) => v === null || (typeof v === 'number' && Number.isSafeInteger(v) && Math.abs(v) <= MAX_DATE_MS);
21
+ const DIGEST_RE = new RegExp(`^${BODY_DIGEST_SOURCE}$`);
22
+ const isDigestMap = (v) => isRecord(v) && Object.values(v).every(x => typeof x === 'string' && DIGEST_RE.test(x));
23
+ // 类型断言不校验磁盘内容:watermarkTime 落成字符串会参与数值强转、把历史行静默判旧——
24
+ // 语法合法但结构损坏的文件与坏 JSON 同级:抛出而非带病运行。
25
+ function validateCursorFile(parsed) {
26
+ if (parsed.version !== 1)
27
+ throw new Error(`cursor file version unsupported (got ${JSON.stringify(parsed.version)})`);
28
+ const bad = (what) => {
29
+ throw new Error(`cursor file structure invalid: ${what}`);
30
+ };
31
+ if (!isRecord(parsed.listPrs) || !isWatermark(parsed.listPrs.watermarkTime))
32
+ bad('listPrs');
33
+ if (!isRecord(parsed.generations))
34
+ bad('generations');
35
+ for (const [taskId, prs] of Object.entries(parsed.generations)) {
36
+ if (!isRecord(prs))
37
+ bad(`generations.${taskId}`);
38
+ for (const [pr, sources] of Object.entries(prs)) {
39
+ if (!isRecord(sources))
40
+ bad(`generations.${taskId}.${pr}`);
41
+ for (const [key, view] of Object.entries(sources)) {
42
+ if (!isRecord(view) || !isWatermark(view.watermarkTime)
43
+ || !isDigestMap(view.bucket) || !isDigestMap(view.ledger)) {
44
+ bad(`generations.${taskId}.${pr}.${key}`);
45
+ }
46
+ }
47
+ }
48
+ }
49
+ }
50
+ function rebuildNullProto(parsed) {
51
+ const generations = dict();
52
+ for (const [taskId, prs] of Object.entries(parsed.generations)) {
53
+ const prDict = dict();
54
+ for (const [pr, sources] of Object.entries(prs)) {
55
+ const srcDict = dict();
56
+ for (const [key, view] of Object.entries(sources)) {
57
+ srcDict[key] = {
58
+ watermarkTime: view.watermarkTime,
59
+ bucket: Object.assign(dict(), view.bucket),
60
+ ledger: Object.assign(dict(), view.ledger),
61
+ };
62
+ }
63
+ prDict[pr] = srcDict;
64
+ }
65
+ generations[taskId] = prDict;
66
+ }
67
+ return { version: 1, repoUrl: parsed.repoUrl, listPrs: { watermarkTime: parsed.listPrs.watermarkTime }, generations };
68
+ }
69
+ let tmpSeq = 0;
70
+ export class CommentCursorStore {
71
+ filePath;
72
+ repoUrl;
73
+ state;
74
+ repoKey;
75
+ dirty = false;
76
+ constructor(filePath, repoUrl) {
77
+ this.filePath = filePath;
78
+ this.repoUrl = repoUrl;
79
+ this.repoKey = repoIdentityKey(repoUrl);
80
+ this.state = { version: 1, repoUrl, listPrs: { watermarkTime: null }, generations: dict() };
81
+ }
82
+ async load() {
83
+ let raw;
84
+ try {
85
+ raw = await readFile(this.filePath, 'utf8');
86
+ }
87
+ catch (e) {
88
+ if (e.code === 'ENOENT')
89
+ return;
90
+ throw e;
91
+ }
92
+ // 损坏/失配一律抛出(周期跳过),空状态覆盖会把全部水位清零、整段历史重放。
93
+ const parsed = JSON.parse(raw);
94
+ // 文件名已按 repoIdentityKey 归一:同一仓库的 https/ssh/.git 拼写变体命中同一文件,
95
+ // 按原始配置串比较会在合法改写后永久拒载——一致性按归一化身份判。
96
+ if (typeof parsed.repoUrl !== 'string' || repoIdentityKey(parsed.repoUrl) !== this.repoKey) {
97
+ throw new Error(`cursor file repo mismatch: file has ${JSON.stringify(parsed.repoUrl)}, entry is ${this.repoUrl}`);
98
+ }
99
+ validateCursorFile(parsed);
100
+ this.state = rebuildNullProto(parsed);
101
+ }
102
+ // persist 失败后内存已前移而磁盘落后:唯一会跳过重写的路径(水位未变早退/代际已删)需要
103
+ // 这个补写钩子,调用方在每周期开头 flush 一次,磁盘在文件系统恢复后无需重启即收敛。
104
+ async flushIfDirty() {
105
+ if (this.dirty)
106
+ await this.persist();
107
+ }
108
+ source(taskId, prNumber, sourceKey) {
109
+ return this.state.generations[taskId]?.[String(prNumber)]?.[sourceKey] ?? emptySource();
110
+ }
111
+ classify(view, rows, cutoffMs) {
112
+ const fresh = [];
113
+ let undated = 0;
114
+ for (const row of rows) {
115
+ const vt = versionTimeOf(row);
116
+ if (vt === undefined) {
117
+ undated++;
118
+ continue;
119
+ }
120
+ if (vt > cutoffMs)
121
+ continue;
122
+ if (view.watermarkTime === null || vt > view.watermarkTime) {
123
+ fresh.push(row);
124
+ continue;
125
+ }
126
+ if (vt === view.watermarkTime) {
127
+ if (view.bucket[String(row.id)] !== rowBodyDigest(row))
128
+ fresh.push(row);
129
+ }
130
+ }
131
+ return { fresh, undated };
132
+ }
133
+ isDelivered(view, id, digest) {
134
+ return view.ledger[id] === digest;
135
+ }
136
+ async markDelivered(taskId, prNumber, sourceKey, id, digest) {
137
+ this.mutableSource(taskId, prNumber, sourceKey).ledger[id] = digest;
138
+ await this.persist();
139
+ }
140
+ // 提交条件由调用方保证:该源全部新 revision 的下游投递成功后才调用。可见性截断在此
141
+ // 统一应用(与 classify 同源的稳定 cutoff)——靠调用方预过滤会让新调用方漏做时水位越过
142
+ // held-back 行、评论永久跳过。桶在水位未前移时也重建——同秒编辑(d1→d2)消费后若桶残留
143
+ // d1,同一 revision 每轮重判新;水位/桶/账本全部无变化的稳态周期跳过落盘。
144
+ async commitSource(taskId, prNumber, sourceKey, rows, cutoffMs) {
145
+ const settled = rows.filter(row => {
146
+ const vt = versionTimeOf(row);
147
+ return vt !== undefined && vt <= cutoffMs;
148
+ });
149
+ const cursor = this.mutableSource(taskId, prNumber, sourceKey);
150
+ let max = cursor.watermarkTime;
151
+ for (const row of settled) {
152
+ const vt = versionTimeOf(row);
153
+ if (vt !== undefined && (max === null || vt > max))
154
+ max = vt;
155
+ }
156
+ const bucket = dict();
157
+ for (const row of settled) {
158
+ if (versionTimeOf(row) !== max || max === null)
159
+ continue;
160
+ bucket[String(row.id)] = rowBodyDigest(row);
161
+ }
162
+ const unchanged = max === cursor.watermarkTime
163
+ && Object.keys(cursor.ledger).length === 0
164
+ && Object.keys(bucket).length === Object.keys(cursor.bucket).length
165
+ && Object.entries(bucket).every(([id, digest]) => cursor.bucket[id] === digest);
166
+ if (unchanged)
167
+ return;
168
+ cursor.watermarkTime = max;
169
+ cursor.bucket = bucket;
170
+ cursor.ledger = dict();
171
+ await this.persist();
172
+ }
173
+ listPrsCursor() {
174
+ return this.state.listPrs;
175
+ }
176
+ // 同款 cutoff 内化:水位 = 截断内最大 versionTime,未前移即免落盘。
177
+ async commitListPrs(rows, cutoffMs) {
178
+ let max = this.state.listPrs.watermarkTime;
179
+ for (const row of rows) {
180
+ const vt = versionTimeOf(row);
181
+ if (vt !== undefined && vt <= cutoffMs && (max === null || vt > max))
182
+ max = vt;
183
+ }
184
+ if (max === null || max === this.state.listPrs.watermarkTime)
185
+ return;
186
+ this.state.listPrs = { watermarkTime: max };
187
+ await this.persist();
188
+ }
189
+ generations() {
190
+ return Object.keys(this.state.generations);
191
+ }
192
+ async dropGeneration(taskId) {
193
+ if (!(taskId in this.state.generations))
194
+ return;
195
+ delete this.state.generations[taskId];
196
+ await this.persist();
197
+ }
198
+ // 删除 key 即丢弃其 cursor(spec §5.3 增量①):残留水位会让「删除后重加」的源
199
+ // 把缺席期间的评论按旧水位永久跳过。
200
+ async pruneSources(activeKeys) {
201
+ let changed = false;
202
+ for (const prs of Object.values(this.state.generations)) {
203
+ for (const sources of Object.values(prs)) {
204
+ for (const key of Object.keys(sources)) {
205
+ if (!activeKeys.has(key)) {
206
+ delete sources[key];
207
+ changed = true;
208
+ }
209
+ }
210
+ }
211
+ }
212
+ if (changed)
213
+ await this.persist();
214
+ }
215
+ mutableSource(taskId, prNumber, sourceKey) {
216
+ const gen = (this.state.generations[taskId] ??= dict());
217
+ const pr = (gen[String(prNumber)] ??= dict());
218
+ return (pr[sourceKey] ??= emptySource());
219
+ }
220
+ async persist() {
221
+ try {
222
+ await mkdir(dirname(this.filePath), { recursive: true });
223
+ // 计数器保证并发/同毫秒调用各持唯一 tmp 路径(防重入之外的纵深)。
224
+ const tmp = `${this.filePath}.${process.pid}.${Date.now()}.${tmpSeq++}.tmp`;
225
+ await writeFile(tmp, JSON.stringify(this.state));
226
+ await rename(tmp, this.filePath);
227
+ this.dirty = false;
228
+ }
229
+ catch (e) {
230
+ this.dirty = true;
231
+ throw e;
232
+ }
233
+ }
234
+ }
235
+ //# sourceMappingURL=comment-cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment-cursor.js","sourceRoot":"","sources":["../../src/platform/comment-cursor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { CommandRunner } from '../agent/runner.js';
2
+ import type { ProjectConfig } from '../shared/types.js';
3
+ import { GitDriver, type DriverExec } from './git-driver.js';
4
+ import type { PluginRegistry } from './plugin-registry.js';
5
+ export declare function makeDriverExec(runner: CommandRunner): DriverExec;
6
+ export declare function buildProjectDriver(project: ProjectConfig, registry: PluginRegistry, exec: DriverExec): GitDriver | undefined;
7
+ //# sourceMappingURL=driver-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-host.d.ts","sourceRoot":"","sources":["../../src/platform/driver-host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAyB,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAEhE;AAID,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,UAAU,GACf,SAAS,GAAG,SAAS,CAOvB"}
@@ -0,0 +1,18 @@
1
+ import { resolveProjectTool } from '../config/validator.js';
2
+ import { buildDriverRunContext, GitDriver } from './git-driver.js';
3
+ export function makeDriverExec(runner) {
4
+ return (command, opts) => runner.exec(command, { timeout: opts.timeout, maxBuffer: opts.maxBuffer });
5
+ }
6
+ // Live resolution on every call (spec §4): binary/env follow the current config and
7
+ // plugin set; only the identity trio (mode, repo, tool) is snapshotted per task.
8
+ export function buildProjectDriver(project, registry, exec) {
9
+ const tool = resolveProjectTool(project);
10
+ if (tool === undefined)
11
+ return undefined;
12
+ const plugin = registry.resolveTool(tool);
13
+ if (plugin === undefined)
14
+ return undefined;
15
+ const binary = project.gitCli?.binary ?? tool;
16
+ return new GitDriver(plugin, buildDriverRunContext(project.repo, binary), exec);
17
+ }
18
+ //# sourceMappingURL=driver-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-host.js","sourceRoot":"","sources":["../../src/platform/driver-host.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAmB,MAAM,iBAAiB,CAAC;AAGpF,MAAM,UAAU,cAAc,CAAC,MAAqB;IAClD,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACvG,CAAC;AAED,oFAAoF;AACpF,iFAAiF;AACjF,MAAM,UAAU,kBAAkB,CAChC,OAAsB,EACtB,QAAwB,EACxB,IAAgB;IAEhB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC;IAC9C,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;AAClF,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { DriverSpec, PluginValidationError } from './types.js';
2
+ export declare function parseDriverSpec(raw: string, pluginPath: string): {
3
+ spec: DriverSpec;
4
+ } | {
5
+ errors: PluginValidationError[];
6
+ };
7
+ //# sourceMappingURL=driver-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-spec.d.ts","sourceRoot":"","sources":["../../src/platform/driver-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAA2C,qBAAqB,EAG3E,MAAM,YAAY,CAAC;AAyCpB,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;CAAE,CA+Z5D"}