baxian 2.0.5 → 2.0.7

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 (188) hide show
  1. package/README.md +5 -5
  2. package/README.zh-CN.md +5 -5
  3. package/dist/agent/bootstrap-poller.d.ts +2 -2
  4. package/dist/agent/bootstrap-poller.d.ts.map +1 -1
  5. package/dist/agent/bootstrap-poller.js.map +1 -1
  6. package/dist/agent/bootstrap.d.ts +1 -1
  7. package/dist/agent/bootstrap.d.ts.map +1 -1
  8. package/dist/agent/bootstrap.js +24 -48
  9. package/dist/agent/bootstrap.js.map +1 -1
  10. package/dist/agent/manager.d.ts +9 -35
  11. package/dist/agent/manager.d.ts.map +1 -1
  12. package/dist/agent/manager.js +86 -335
  13. package/dist/agent/manager.js.map +1 -1
  14. package/dist/agent/net-exec.d.ts +0 -1
  15. package/dist/agent/net-exec.d.ts.map +1 -1
  16. package/dist/agent/net-exec.js +0 -1
  17. package/dist/agent/net-exec.js.map +1 -1
  18. package/dist/agent/pane-streamer-manager.d.ts.map +1 -1
  19. package/dist/agent/pane-streamer-manager.js +1 -3
  20. package/dist/agent/pane-streamer-manager.js.map +1 -1
  21. package/dist/agent/preflight.d.ts +1 -20
  22. package/dist/agent/preflight.d.ts.map +1 -1
  23. package/dist/agent/preflight.js +39 -122
  24. package/dist/agent/preflight.js.map +1 -1
  25. package/dist/agent/prompt.d.ts +6 -16
  26. package/dist/agent/prompt.d.ts.map +1 -1
  27. package/dist/agent/prompt.js +128 -79
  28. package/dist/agent/prompt.js.map +1 -1
  29. package/dist/agent/repo-store.d.ts +1 -5
  30. package/dist/agent/repo-store.d.ts.map +1 -1
  31. package/dist/agent/repo-store.js +8 -33
  32. package/dist/agent/repo-store.js.map +1 -1
  33. package/dist/agent/runner.d.ts +1 -1
  34. package/dist/agent/runner.d.ts.map +1 -1
  35. package/dist/agent/runner.js +1 -3
  36. package/dist/agent/runner.js.map +1 -1
  37. package/dist/api/config.d.ts +1 -2
  38. package/dist/api/config.d.ts.map +1 -1
  39. package/dist/api/config.js +5 -22
  40. package/dist/api/config.js.map +1 -1
  41. package/dist/api/platform-guard.d.ts.map +1 -1
  42. package/dist/api/platform-guard.js +5 -15
  43. package/dist/api/platform-guard.js.map +1 -1
  44. package/dist/api/projects.d.ts.map +1 -1
  45. package/dist/api/projects.js +18 -25
  46. package/dist/api/projects.js.map +1 -1
  47. package/dist/api/tasks.js +2 -2
  48. package/dist/api/tasks.js.map +1 -1
  49. package/dist/cli.js +3 -3
  50. package/dist/cli.js.map +1 -1
  51. package/dist/config/backup.d.ts +1 -3
  52. package/dist/config/backup.d.ts.map +1 -1
  53. package/dist/config/backup.js +28 -82
  54. package/dist/config/backup.js.map +1 -1
  55. package/dist/config/hot-reload.d.ts +3 -2
  56. package/dist/config/hot-reload.d.ts.map +1 -1
  57. package/dist/config/hot-reload.js +6 -16
  58. package/dist/config/hot-reload.js.map +1 -1
  59. package/dist/config/loader.d.ts +3 -10
  60. package/dist/config/loader.d.ts.map +1 -1
  61. package/dist/config/loader.js +53 -67
  62. package/dist/config/loader.js.map +1 -1
  63. package/dist/config/validator.d.ts +2 -8
  64. package/dist/config/validator.d.ts.map +1 -1
  65. package/dist/config/validator.js +42 -120
  66. package/dist/config/validator.js.map +1 -1
  67. package/dist/index.d.ts +1 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +15 -39
  70. package/dist/index.js.map +1 -1
  71. package/dist/platform/driver-host.d.ts +4 -3
  72. package/dist/platform/driver-host.d.ts.map +1 -1
  73. package/dist/platform/driver-host.js +12 -11
  74. package/dist/platform/driver-host.js.map +1 -1
  75. package/dist/platform/feedback.d.ts +5 -6
  76. package/dist/platform/feedback.d.ts.map +1 -1
  77. package/dist/platform/feedback.js +4 -7
  78. package/dist/platform/feedback.js.map +1 -1
  79. package/dist/platform/github-driver.d.ts +36 -0
  80. package/dist/platform/github-driver.d.ts.map +1 -0
  81. package/dist/platform/github-driver.js +374 -0
  82. package/dist/platform/github-driver.js.map +1 -0
  83. package/dist/platform/markers.d.ts +1 -4
  84. package/dist/platform/markers.d.ts.map +1 -1
  85. package/dist/platform/markers.js +0 -8
  86. package/dist/platform/markers.js.map +1 -1
  87. package/dist/platform/platform-poller.d.ts +2 -17
  88. package/dist/platform/platform-poller.d.ts.map +1 -1
  89. package/dist/platform/platform-poller.js +9 -15
  90. package/dist/platform/platform-poller.js.map +1 -1
  91. package/dist/platform/response-parser.d.ts.map +1 -1
  92. package/dist/platform/response-parser.js +6 -63
  93. package/dist/platform/response-parser.js.map +1 -1
  94. package/dist/platform/review-timeline.d.ts +6 -8
  95. package/dist/platform/review-timeline.d.ts.map +1 -1
  96. package/dist/platform/review-timeline.js +4 -6
  97. package/dist/platform/review-timeline.js.map +1 -1
  98. package/dist/platform/row-schema.d.ts +1 -2
  99. package/dist/platform/row-schema.d.ts.map +1 -1
  100. package/dist/platform/row-schema.js +13 -1
  101. package/dist/platform/row-schema.js.map +1 -1
  102. package/dist/platform/startup.d.ts +6 -34
  103. package/dist/platform/startup.d.ts.map +1 -1
  104. package/dist/platform/startup.js +10 -109
  105. package/dist/platform/startup.js.map +1 -1
  106. package/dist/platform/types.d.ts +61 -54
  107. package/dist/platform/types.d.ts.map +1 -1
  108. package/dist/platform/types.js +38 -26
  109. package/dist/platform/types.js.map +1 -1
  110. package/dist/platform/verdict-engine.d.ts +1 -1
  111. package/dist/platform/verdict-engine.d.ts.map +1 -1
  112. package/dist/platform/verdict-engine.js +1 -1
  113. package/dist/platform/verdict-engine.js.map +1 -1
  114. package/dist/shared/constants.d.ts +2 -9
  115. package/dist/shared/constants.d.ts.map +1 -1
  116. package/dist/shared/constants.js +2 -20
  117. package/dist/shared/constants.js.map +1 -1
  118. package/dist/shared/git-url.d.ts +0 -14
  119. package/dist/shared/git-url.d.ts.map +1 -1
  120. package/dist/shared/git-url.js +4 -57
  121. package/dist/shared/git-url.js.map +1 -1
  122. package/dist/shared/types.d.ts +2 -10
  123. package/dist/shared/types.d.ts.map +1 -1
  124. package/dist/shared/types.js.map +1 -1
  125. package/dist/state/agent-store.js +0 -3
  126. package/dist/state/agent-store.js.map +1 -1
  127. package/dist/state/task-store.js +2 -2
  128. package/dist/state/task-store.js.map +1 -1
  129. package/dist/web/assets/index-KH_4rYrI.js +15 -0
  130. package/dist/web/index.html +1 -1
  131. package/package.json +1 -1
  132. package/dist/config/normalizer.d.ts +0 -2
  133. package/dist/config/normalizer.d.ts.map +0 -1
  134. package/dist/config/normalizer.js +0 -46
  135. package/dist/config/normalizer.js.map +0 -1
  136. package/dist/platform/command-renderer.d.ts +0 -29
  137. package/dist/platform/command-renderer.d.ts.map +0 -1
  138. package/dist/platform/command-renderer.js +0 -113
  139. package/dist/platform/command-renderer.js.map +0 -1
  140. package/dist/platform/driver-spec.d.ts +0 -7
  141. package/dist/platform/driver-spec.d.ts.map +0 -1
  142. package/dist/platform/driver-spec.js +0 -506
  143. package/dist/platform/driver-spec.js.map +0 -1
  144. package/dist/platform/field-mapper.d.ts +0 -7
  145. package/dist/platform/field-mapper.d.ts.map +0 -1
  146. package/dist/platform/field-mapper.js +0 -109
  147. package/dist/platform/field-mapper.js.map +0 -1
  148. package/dist/platform/git-driver.d.ts +0 -64
  149. package/dist/platform/git-driver.d.ts.map +0 -1
  150. package/dist/platform/git-driver.js +0 -230
  151. package/dist/platform/git-driver.js.map +0 -1
  152. package/dist/platform/manifest.d.ts +0 -11
  153. package/dist/platform/manifest.d.ts.map +0 -1
  154. package/dist/platform/manifest.js +0 -42
  155. package/dist/platform/manifest.js.map +0 -1
  156. package/dist/platform/plugin-registry.d.ts +0 -31
  157. package/dist/platform/plugin-registry.d.ts.map +0 -1
  158. package/dist/platform/plugin-registry.js +0 -239
  159. package/dist/platform/plugin-registry.js.map +0 -1
  160. package/dist/platform/plugin-roots.d.ts +0 -3
  161. package/dist/platform/plugin-roots.d.ts.map +0 -1
  162. package/dist/platform/plugin-roots.js +0 -11
  163. package/dist/platform/plugin-roots.js.map +0 -1
  164. package/dist/platform/plugins/github/baxian-plugin.json +0 -8
  165. package/dist/platform/plugins/github/driver.json +0 -153
  166. package/dist/platform/plugins/github/skills/baxian-cli-gh/SKILL.md +0 -115
  167. package/dist/platform/plugins/github/skills/baxian-cli-gh/agents/openai.yaml +0 -2
  168. package/dist/platform/preflight-exec.d.ts +0 -21
  169. package/dist/platform/preflight-exec.d.ts.map +0 -1
  170. package/dist/platform/preflight-exec.js +0 -53
  171. package/dist/platform/preflight-exec.js.map +0 -1
  172. package/dist/skill/registry.d.ts +0 -37
  173. package/dist/skill/registry.d.ts.map +0 -1
  174. package/dist/skill/registry.js +0 -234
  175. package/dist/skill/registry.js.map +0 -1
  176. package/dist/skills/baxian-greeting/SKILL.md +0 -15
  177. package/dist/skills/baxian-greeting/agents/openai.yaml +0 -2
  178. package/dist/skills/baxian-pr-feedback/SKILL.md +0 -41
  179. package/dist/skills/baxian-pr-feedback/agents/openai.yaml +0 -2
  180. package/dist/skills/baxian-pr-recheck/SKILL.md +0 -27
  181. package/dist/skills/baxian-pr-recheck/agents/openai.yaml +0 -2
  182. package/dist/skills/baxian-pr-review/SKILL.md +0 -33
  183. package/dist/skills/baxian-pr-review/agents/openai.yaml +0 -2
  184. package/dist/skills/baxian-signals/SKILL.md +0 -86
  185. package/dist/skills/baxian-signals/agents/openai.yaml +0 -2
  186. package/dist/skills/baxian-task-check/SKILL.md +0 -52
  187. package/dist/skills/baxian-task-check/agents/openai.yaml +0 -2
  188. package/dist/web/assets/index-CzVzThuT.js +0 -15
@@ -1,18 +1,19 @@
1
- import { resolveProjectTool } from '../config/validator.js';
2
- import { buildDriverRunContext, GitDriver } from './git-driver.js';
1
+ import { GITHUB_AGENT_PROMPTS, buildGitHubRunContext, GitHubDriver, } from './github-driver.js';
3
2
  export function makeDriverExec(runner) {
4
3
  return (command, opts) => opts.stdin === undefined
5
4
  ? runner.exec(command, { timeout: opts.timeout, maxBuffer: opts.maxBuffer })
6
5
  : runner.execWithStdin(command, opts.stdin, { timeout: opts.timeout, maxBuffer: opts.maxBuffer });
7
6
  }
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);
7
+ export function buildProjectDriver(project, exec) {
8
+ return buildRepoDriver(project.repo, exec);
9
+ }
10
+ export function buildRepoDriver(repo, exec) {
11
+ return new GitHubDriver(buildGitHubRunContext(repo), exec);
12
+ }
13
+ export function buildProjectPromptContext(project) {
14
+ return {
15
+ repo: buildGitHubRunContext(project.repo).repoPath,
16
+ prompts: GITHUB_AGENT_PROMPTS,
17
+ };
17
18
  }
18
19
  //# sourceMappingURL=driver-host.js.map
@@ -1 +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,IAAI,CAAC,KAAK,KAAK,SAAS;QAChD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5E,CAAC,CAAC,MAAM,CAAC,aAAa,CAClB,OAAO,EACP,IAAI,CAAC,KAAK,EACV,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CACrD,CAAC;AACR,CAAC;AAED,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"}
1
+ {"version":3,"file":"driver-host.js","sourceRoot":"","sources":["../../src/platform/driver-host.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,MAAM,UAAU,cAAc,CAAC,MAAqB;IAClD,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;QAChD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5E,CAAC,CAAC,MAAM,CAAC,aAAa,CAClB,OAAO,EACP,IAAI,CAAC,KAAK,EACV,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CACrD,CAAC;AACR,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAsB,EACtB,IAAgB;IAEhB,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,IAAgB;IAC5D,OAAO,IAAI,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAsB;IAC9D,OAAO;QACL,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ;QAClD,OAAO,EAAE,oBAAoB;KAC9B,CAAC;AACJ,CAAC"}
@@ -1,7 +1,6 @@
1
- import { type AckActorContext, type AckCarrierRow, type AckCollection, type CommentSourceClass } from './markers.js';
1
+ import { type AckActorContext, type AckCarrierRow, type AckCollection } from './markers.js';
2
2
  import { type NormalizedRow } from './row-schema.js';
3
- import type { CommentSourceOp } from './types.js';
4
- import type { OpVars } from './git-driver.js';
3
+ import type { CommentSource, CommentSourceClass } from './types.js';
5
4
  import { type VerdictSourceScan } from './verdict-engine.js';
6
5
  export interface FeedbackSourceScan {
7
6
  key: string;
@@ -18,11 +17,11 @@ export interface PendingFeedbackResult {
18
17
  }>;
19
18
  }
20
19
  export interface CommentSourceReader {
21
- commentSources: CommentSourceOp[];
22
- runCommentSource(source: CommentSourceOp, vars: OpVars, projectPage?: (pageRows: NormalizedRow[]) => NormalizedRow[]): Promise<NormalizedRow[]>;
20
+ readonly commentSources: readonly CommentSource[];
21
+ listComments(source: CommentSource, prNumber: number, projectPage?: (pageRows: NormalizedRow[]) => NormalizedRow[]): Promise<NormalizedRow[]>;
23
22
  }
24
23
  export interface ScanRowCollector {
25
- admitPage(source: CommentSourceOp, pageRows: readonly NormalizedRow[]): void;
24
+ admitPage(source: CommentSource, pageRows: readonly NormalizedRow[]): void;
26
25
  noteFailure(sourceKey: string, error: unknown): void;
27
26
  }
28
27
  export declare function scanCommentSourcesOnce(driver: CommentSourceReader, prNumber: number, now: () => number, onFailure?: (key: string, error: unknown) => void, collector?: ScanRowCollector): Promise<VerdictSourceScan[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/platform/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EACtF,MAAM,cAAc,CAAC;AACtB,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,kBAAkB,CAAC;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,gBAAgB,CACd,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,GAC3D,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,CAAC;IAC7E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACtD;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,MAAM,EACjB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,EACjD,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAsB9B;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,GAAG,aAAa,EAAE,CAUzF;AAiBD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,GAClB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAG5C;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,kBAAkB,EAAE,EACpC,GAAG,EAAE,eAAe,GACnB,qBAAqB,CAiBvB"}
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/platform/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAC7D,MAAM,cAAc,CAAC;AACtB,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,kBAAkB,CAAC;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;IAClD,YAAY,CACV,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,GAC3D,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,CAAC;IAC3E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACtD;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,MAAM,EACjB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,EACjD,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAqB9B;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,GAAG,aAAa,EAAE,CAUzF;AAgBD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,GAClB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAG5C;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,kBAAkB,EAAE,EACpC,GAAG,EAAE,eAAe,GACnB,qBAAqB,CAiBvB"}
@@ -1,14 +1,13 @@
1
- import { ackCarrierKey, ackRevisionKey, classifyCommentSource, collectValidAcks, projectCommentRow, rowAcks, rowBodyDigest, rowHasBody, rowTokens, } from './markers.js';
1
+ import { ackCarrierKey, ackRevisionKey, collectValidAcks, projectCommentRow, rowAcks, rowBodyDigest, rowHasBody, rowTokens, } from './markers.js';
2
2
  import { versionTimeOf } from './row-schema.js';
3
3
  import { deadTokens } from './verdict-engine.js';
4
4
  export async function scanCommentSourcesOnce(driver, prNumber, now, onFailure, collector) {
5
5
  const scans = [];
6
6
  for (const source of driver.commentSources) {
7
- const sourceClass = classifyCommentSource(source);
8
7
  const scanStartedAt = now();
9
8
  try {
10
9
  let pagedInline = false;
11
- const rows = await driver.runCommentSource(source, { prNumber }, pageRows => {
10
+ const rows = await driver.listComments(source, prNumber, pageRows => {
12
11
  pagedInline = true;
13
12
  collector?.admitPage(source, pageRows);
14
13
  for (const row of pageRows)
@@ -17,10 +16,10 @@ export async function scanCommentSourcesOnce(driver, prNumber, now, onFailure, c
17
16
  });
18
17
  if (!pagedInline && collector !== undefined)
19
18
  collector.admitPage(source, rows);
20
- scans.push({ key: source.key, sourceClass, ok: true, scanStartedAt, rows: rows.filter(r => r.system !== true) });
19
+ scans.push({ key: source.key, sourceClass: source.category, ok: true, scanStartedAt, rows });
21
20
  }
22
21
  catch (error) {
23
- scans.push({ key: source.key, sourceClass, ok: false, scanStartedAt, rows: [] });
22
+ scans.push({ key: source.key, sourceClass: source.category, ok: false, scanStartedAt, rows: [] });
24
23
  collector?.noteFailure(source.key, error);
25
24
  onFailure?.(source.key, error);
26
25
  }
@@ -39,8 +38,6 @@ export function buildAckCarrierRows(scans) {
39
38
  })));
40
39
  }
41
40
  function unackedRevision(row, sourceKey, acks) {
42
- if (row.system === true)
43
- return undefined;
44
41
  if (versionTimeOf(row) === undefined)
45
42
  return undefined;
46
43
  if (!rowHasBody(row))
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/platform/feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/platform/feedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { type NormalizedRow } from './row-schema.js';
2
+ import { type CommentSource, type DriverExec, type PlatformAgentPrompts, type PlatformDriver } from './types.js';
3
+ export declare const GITHUB_AGENT_PROMPTS: PlatformAgentPrompts;
4
+ export interface GitHubRunContext {
5
+ repoPath: string;
6
+ }
7
+ export declare function buildGitHubRunContext(repoUrl: string): GitHubRunContext;
8
+ export declare class GitHubDriver implements PlatformDriver {
9
+ private readonly ctx;
10
+ private readonly exec;
11
+ readonly visibilityLagMs = 5000;
12
+ readonly commentSources: readonly CommentSource[];
13
+ constructor(ctx: GitHubRunContext, exec: DriverExec);
14
+ private classify;
15
+ runPreflightSteps(): Promise<Array<{
16
+ step: string;
17
+ ok: boolean;
18
+ message: string;
19
+ }>>;
20
+ prView(prNumber: number): Promise<NormalizedRow>;
21
+ projectView(): Promise<NormalizedRow>;
22
+ branchView(remoteProjectId: string, branch: string): Promise<NormalizedRow>;
23
+ postComment(prNumber: number, body: string): Promise<void>;
24
+ mergePr(prNumber: number, expectedHeadSha: string): Promise<void>;
25
+ closePr(prNumber: number): Promise<void>;
26
+ deleteBranch(remoteProjectId: string, branch: string, expectedHeadSha: string): Promise<void>;
27
+ listPrs(shouldStop?: (pageRows: NormalizedRow[], page: number) => boolean): Promise<NormalizedRow[]>;
28
+ listComments(source: CommentSource, prNumber: number, projectPage?: (pageRows: NormalizedRow[]) => NormalizedRow[], shouldStop?: (pageRows: NormalizedRow[], page: number) => boolean): Promise<NormalizedRow[]>;
29
+ private preflightStep;
30
+ private single;
31
+ private command;
32
+ private execGitHub;
33
+ private assertGraphqlEnvelope;
34
+ private runPaged;
35
+ }
36
+ //# sourceMappingURL=github-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-driver.d.ts","sourceRoot":"","sources":["../../src/platform/github-driver.ts"],"names":[],"mappings":"AAKA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,UAAU,EAEf,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAkBpB,eAAO,MAAM,oBAAoB,EAAE,oBAiBlC,CAAC;AASF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAIvE;AAkID,qBAAa,YAAa,YAAW,cAAc;IAK/C,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,QAAQ,CAAC,eAAe,QAAqB;IAC7C,QAAQ,CAAC,cAAc,2BAAmB;gBAGvB,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,UAAU;IAGnC,OAAO,CAAC,QAAQ;IAOV,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAWnF,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAMhD,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAKrC,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAY3E,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1D,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASjE,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxC,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnG,OAAO,CACL,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,GAChE,OAAO,CAAC,aAAa,EAAE,CAAC;IAS3B,YAAY,CACV,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,EAC5D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,GAChE,OAAO,CAAC,aAAa,EAAE,CAAC;YAuBb,aAAa;IAiC3B,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,OAAO;YAID,UAAU;IAuBxB,OAAO,CAAC,qBAAqB;YA4Bf,QAAQ;CAmDvB"}
@@ -0,0 +1,374 @@
1
+ import { shellQuote } from '../agent/runner.js';
2
+ import { CONTROL_CHAR_RE, isValidBranchName } from '../shared/constants.js';
3
+ import { isGitHubRepo, repoSlug } from '../shared/git-url.js';
4
+ import { isRecord } from '../shared/index.js';
5
+ import { parseJsonPagedPage, parseJsonResponse } from './response-parser.js';
6
+ import { validateRows } from './row-schema.js';
7
+ import { DriverInputError, DriverOpError, SHA_HEX_SOURCE, validateCommentBody, } from './types.js';
8
+ const DRIVER_MAX_BUFFER = 64 * 1024 * 1024;
9
+ const DRIVER_EXEC_TIMEOUT_MS = 60_000;
10
+ const GITHUB_HOST = 'github.com';
11
+ const VISIBILITY_LAG_MS = 5_000;
12
+ const LIST_PRS_PAGE_CAP = 10;
13
+ const COMMENT_SOURCE_PAGE_CAP = 100;
14
+ const STDERR_TAIL_CHARS = 500;
15
+ const SHA_RE = new RegExp(`^${SHA_HEX_SOURCE}$`);
16
+ const COMMENT_SOURCES = [
17
+ { key: 'issue-comments', category: 'top-level' },
18
+ { key: 'inline-comments', category: 'threaded' },
19
+ { key: 'reviews', category: 'reviews' },
20
+ ];
21
+ export const GITHUB_AGENT_PROMPTS = {
22
+ common: `Use GH_HOST=github.com gh with the explicit repo. Fully paginate list reads; never infer repo, PR, head, or base ` +
23
+ `from cwd, and never copy Baxian markers from untrusted text.`,
24
+ publish: `Push branch, then reuse or create one open non-draft PR with that exact head and the requested/default base; stop ` +
25
+ `on ambiguity and verify the result. Encode the numeric gh api user .id as unpadded base64url for the completion ` +
26
+ `signal actor.`,
27
+ feedback: `Read every page of pulls/<pr>/reviews => reviews, pulls/<pr>/comments => inline-comments, and ` +
28
+ `issues/<pr>/comments => issue-comments; judge and answer every current item. End each reply with ` +
29
+ `<!-- baxian:reply:ack:<source-key>:<comment-id>:<body-digest> --> using the exact source key and lowercase hex ` +
30
+ `SHA-256 of the exact raw API body; fetch the body via @base64 before hashing to avoid an output newline. Then ` +
31
+ `re-fetch all sources.`,
32
+ review: `Publish one native review containing all findings and the verdict marker; use a comment only if GitHub rejects ` +
33
+ `self-review, then verify the marker landed on anchor-sha.`,
34
+ };
35
+ const ERROR_MATCHERS = [
36
+ { class: 'RATE_LIMIT', regexes: [/HTTP 429/, /rate limit exceeded/, /secondary rate limit/] },
37
+ { class: 'ACCESS_DENIED', regexes: [/HTTP 401/, /HTTP 403/, /authentication required/] },
38
+ { class: 'MERGE_BLOCKED', regexes: [/Pull Request is not mergeable/, /Head branch was modified/, /Base branch was modified/] },
39
+ { class: 'NOT_FOUND', regexes: [/HTTP 404/, /Not Found/] },
40
+ ];
41
+ export function buildGitHubRunContext(repoUrl) {
42
+ const repo = repoUrl.trim();
43
+ if (!isGitHubRepo(repo))
44
+ throw new Error(`GitHub driver requires a github.com repository URL: ${repo}`);
45
+ return { repoPath: repoSlug(repo) };
46
+ }
47
+ const PR_LIST_FIELDS = {
48
+ prNumber: 'number',
49
+ prUrl: 'html_url',
50
+ branch: 'head.ref',
51
+ headSha: 'head.sha',
52
+ state: 'state',
53
+ draft: 'draft',
54
+ mergedAt: 'merged_at',
55
+ updatedAt: 'updated_at',
56
+ title: 'title',
57
+ sourceProjectId: 'head.repo.id',
58
+ targetProjectId: 'base.repo.id',
59
+ targetBranch: 'base.ref',
60
+ prAuthor: 'user.login',
61
+ prAuthorId: 'user.id',
62
+ };
63
+ const PR_VIEW_FIELDS = {
64
+ headSha: 'head.sha',
65
+ branch: 'head.ref',
66
+ state: 'state',
67
+ draft: 'draft',
68
+ mergedAt: 'merged_at',
69
+ prUrl: 'html_url',
70
+ sourceProjectId: 'head.repo.id',
71
+ targetProjectId: 'base.repo.id',
72
+ targetBranch: 'base.ref',
73
+ prAuthor: 'user.login',
74
+ prAuthorId: 'user.id',
75
+ detailedMergeStatus: 'mergeable_state',
76
+ };
77
+ const PROJECT_FIELDS = {
78
+ defaultBranch: 'default_branch',
79
+ remoteProjectId: 'node_id',
80
+ pushPermitted: 'permissions.push',
81
+ };
82
+ const BRANCH_FIELDS = {
83
+ remoteProjectId: 'data.node.id',
84
+ headSha: 'data.node.ref.target.oid',
85
+ };
86
+ const COMMENT_FIELDS = {
87
+ 'issue-comments': {
88
+ id: 'id', body: 'body', author: 'user.login', authorId: 'user.id',
89
+ createdAt: 'created_at', updatedAt: 'updated_at',
90
+ },
91
+ 'inline-comments': {
92
+ id: 'id', body: 'body', author: 'user.login', authorId: 'user.id',
93
+ createdAt: 'created_at', updatedAt: 'updated_at', discussionId: 'in_reply_to_id',
94
+ parentId: 'in_reply_to_id', path: 'path', line: 'line', originalLine: 'original_line',
95
+ },
96
+ reviews: {
97
+ id: 'id', body: 'body', author: 'user.login', authorId: 'user.id',
98
+ createdAt: 'submitted_at', updatedAt: 'submitted_at', reviewState: 'state', commitSha: 'commit_id',
99
+ },
100
+ };
101
+ const BRANCH_VIEW_QUERY = 'query($repositoryId:ID!,$refName:String!){node(id:$repositoryId){... on Repository{id ref(qualifiedName:$refName){target{oid}}}}}';
102
+ const DELETE_BRANCH_QUERY = 'mutation($repositoryId:ID!,$refName:GitRefname!,$beforeOid:GitObjectID!,$afterOid:GitObjectID!){updateRefs(input:{repositoryId:$repositoryId,refUpdates:[{name:$refName,beforeOid:$beforeOid,afterOid:$afterOid}]}){clientMutationId}}';
103
+ function tail(value) {
104
+ return value.length > STDERR_TAIL_CHARS ? value.slice(-STDERR_TAIL_CHARS) : value;
105
+ }
106
+ function pathValue(value, path) {
107
+ let current = value;
108
+ for (const segment of path.split('.')) {
109
+ if (!isRecord(current) || !Object.hasOwn(current, segment))
110
+ return undefined;
111
+ current = current[segment];
112
+ }
113
+ return current;
114
+ }
115
+ function projectPayload(payload, fields) {
116
+ if (payload === null || typeof payload !== 'object')
117
+ return [];
118
+ const items = Array.isArray(payload) ? payload : [payload];
119
+ return items.map(item => Object.fromEntries(Object.entries(fields).map(([target, source]) => [target, pathValue(item, source)])));
120
+ }
121
+ function requirePrNumber(value) {
122
+ if (value === undefined || !Number.isSafeInteger(value) || value <= 0) {
123
+ throw new DriverInputError(`prNumber must be a positive safe integer (got ${value})`);
124
+ }
125
+ return value;
126
+ }
127
+ function requireSha(value) {
128
+ if (value === undefined || !SHA_RE.test(value)) {
129
+ throw new DriverInputError(`expectedHeadSha must be a hex sha (got ${value})`);
130
+ }
131
+ return value;
132
+ }
133
+ function requireRemoteProjectId(value) {
134
+ if (value === undefined
135
+ || value.trim() !== value
136
+ || value.length === 0
137
+ || value.length > 512
138
+ || CONTROL_CHAR_RE.test(value)) {
139
+ throw new DriverInputError(`remoteProjectId must be a bounded platform id (got ${value})`);
140
+ }
141
+ return value;
142
+ }
143
+ function requireBranch(value) {
144
+ if (value === undefined || !isValidBranchName(value)) {
145
+ throw new DriverInputError(`branch has invalid shape (got ${value})`);
146
+ }
147
+ return value;
148
+ }
149
+ export class GitHubDriver {
150
+ ctx;
151
+ exec;
152
+ visibilityLagMs = VISIBILITY_LAG_MS;
153
+ commentSources = COMMENT_SOURCES;
154
+ constructor(ctx, exec) {
155
+ this.ctx = ctx;
156
+ this.exec = exec;
157
+ }
158
+ classify(text) {
159
+ for (const matcher of ERROR_MATCHERS) {
160
+ if (matcher.regexes.some(regex => regex.test(text)))
161
+ return matcher.class;
162
+ }
163
+ return undefined;
164
+ }
165
+ async runPreflightSteps() {
166
+ const auth = await this.preflightStep('github-auth', ['gh', 'api', 'user']);
167
+ return [auth.ok
168
+ ? { step: auth.step, ok: true, message: 'GitHub CLI authenticated' }
169
+ : {
170
+ step: auth.step,
171
+ ok: false,
172
+ message: 'Run "gh auth login --hostname github.com" or set GITHUB_TOKEN',
173
+ }];
174
+ }
175
+ async prView(prNumber) {
176
+ requirePrNumber(prNumber);
177
+ const result = await this.execGitHub('prView', ['gh', 'api', `repos/${this.ctx.repoPath}/pulls/${prNumber}`]);
178
+ return this.single('prView', projectPayload(parseJsonResponse(result.stdout), PR_VIEW_FIELDS));
179
+ }
180
+ async projectView() {
181
+ const result = await this.execGitHub('projectView', ['gh', 'api', `repos/${this.ctx.repoPath}`]);
182
+ return this.single('projectView', projectPayload(parseJsonResponse(result.stdout), PROJECT_FIELDS));
183
+ }
184
+ async branchView(remoteProjectId, branch) {
185
+ requireRemoteProjectId(remoteProjectId);
186
+ requireBranch(branch);
187
+ const result = await this.execGitHub('branchView', [
188
+ 'gh', 'api', 'graphql',
189
+ '-f', `repositoryId=${remoteProjectId}`,
190
+ '-f', `refName=refs/heads/${branch}`,
191
+ '-f', `query=${BRANCH_VIEW_QUERY}`,
192
+ ], undefined, true);
193
+ return this.single('branchView', projectPayload(parseJsonResponse(result.stdout), BRANCH_FIELDS));
194
+ }
195
+ async postComment(prNumber, body) {
196
+ requirePrNumber(prNumber);
197
+ validateCommentBody(body);
198
+ await this.execGitHub('comment', ['gh', 'api', '-X', 'POST', `repos/${this.ctx.repoPath}/issues/${prNumber}/comments`, '-F', 'body=@-'], Buffer.from(body, 'utf8'));
199
+ }
200
+ async mergePr(prNumber, expectedHeadSha) {
201
+ requirePrNumber(prNumber);
202
+ requireSha(expectedHeadSha);
203
+ await this.execGitHub('merge', [
204
+ 'gh', 'api', '-X', 'PUT', `repos/${this.ctx.repoPath}/pulls/${prNumber}/merge`,
205
+ '-f', 'merge_method=squash', '-f', `sha=${expectedHeadSha}`,
206
+ ]);
207
+ }
208
+ async closePr(prNumber) {
209
+ requirePrNumber(prNumber);
210
+ await this.execGitHub('close', [
211
+ 'gh', 'api', '-X', 'PATCH', `repos/${this.ctx.repoPath}/pulls/${prNumber}`, '-f', 'state=closed',
212
+ ]);
213
+ }
214
+ async deleteBranch(remoteProjectId, branch, expectedHeadSha) {
215
+ requireRemoteProjectId(remoteProjectId);
216
+ requireBranch(branch);
217
+ requireSha(expectedHeadSha);
218
+ await this.execGitHub('deleteBranch', [
219
+ 'gh', 'api', 'graphql',
220
+ '-f', `repositoryId=${remoteProjectId}`,
221
+ '-f', `refName=refs/heads/${branch}`,
222
+ '-f', `beforeOid=${expectedHeadSha}`,
223
+ '-f', 'afterOid=0000000000000000000000000000000000000000',
224
+ '-f', `query=${DELETE_BRANCH_QUERY}`,
225
+ ], undefined, true);
226
+ }
227
+ listPrs(shouldStop) {
228
+ return this.runPaged('listPrs', page => ['gh', 'api', `repos/${this.ctx.repoPath}/pulls?state=all&sort=updated&direction=desc&per_page=10&page=${page}`], PR_LIST_FIELDS, { pageCap: LIST_PRS_PAGE_CAP, capBehavior: 'stop', idField: 'prNumber', shouldStop });
229
+ }
230
+ listComments(source, prNumber, projectPage, shouldStop) {
231
+ const fields = COMMENT_FIELDS[source.key];
232
+ if (fields === undefined) {
233
+ throw new DriverOpError(`unknown GitHub comment source '${source.key}'`, { opName: `listComments[${source.key}]` });
234
+ }
235
+ requirePrNumber(prNumber);
236
+ const collection = source.key === 'issue-comments' ? 'issues' : 'pulls';
237
+ const suffix = source.key === 'issue-comments' ? 'comments' : source.key === 'inline-comments' ? 'comments' : 'reviews';
238
+ return this.runPaged('listComments', page => ['gh', 'api', `repos/${this.ctx.repoPath}/${collection}/${prNumber}/${suffix}?per_page=100&page=${page}`], fields, {
239
+ pageCap: COMMENT_SOURCE_PAGE_CAP,
240
+ capBehavior: 'fail',
241
+ idField: 'id',
242
+ sourceKey: source.key,
243
+ projectPage,
244
+ shouldStop,
245
+ });
246
+ }
247
+ async preflightStep(step, argv) {
248
+ try {
249
+ const result = await this.exec(this.command(argv), {
250
+ timeout: DRIVER_EXEC_TIMEOUT_MS,
251
+ maxBuffer: DRIVER_MAX_BUFFER,
252
+ });
253
+ const output = `${result.stdout}\n${result.stderr}`;
254
+ if (result.exitCode !== 0 && this.classify(output) === 'RATE_LIMIT') {
255
+ throw new DriverOpError(`preflight ${step} failed (class RATE_LIMIT)`, {
256
+ opName: step,
257
+ errorClass: 'RATE_LIMIT',
258
+ exitCode: result.exitCode,
259
+ stderrTail: tail(output.trim()),
260
+ });
261
+ }
262
+ return { step, ok: result.exitCode === 0, output };
263
+ }
264
+ catch (error) {
265
+ if (error instanceof DriverOpError)
266
+ throw error;
267
+ const output = error instanceof Error ? error.message : String(error);
268
+ if (this.classify(output) === 'RATE_LIMIT') {
269
+ throw new DriverOpError(`preflight ${step} failed (class RATE_LIMIT)`, {
270
+ opName: step,
271
+ errorClass: 'RATE_LIMIT',
272
+ stderrTail: tail(output),
273
+ });
274
+ }
275
+ return { step, ok: false, output };
276
+ }
277
+ }
278
+ single(opName, rows) {
279
+ const validated = validateRows(opName, rows);
280
+ if (validated.length !== 1) {
281
+ throw new DriverOpError(`op ${opName} must yield exactly one row (got ${validated.length})`, { opName });
282
+ }
283
+ return validated[0];
284
+ }
285
+ command(argv) {
286
+ return `GH_HOST=${shellQuote(GITHUB_HOST)} ${argv.map(shellQuote).join(' ')}`;
287
+ }
288
+ async execGitHub(opName, argv, stdin, graphql = false) {
289
+ const result = await this.exec(this.command(argv), {
290
+ timeout: DRIVER_EXEC_TIMEOUT_MS,
291
+ maxBuffer: DRIVER_MAX_BUFFER,
292
+ ...(stdin === undefined ? {} : { stdin }),
293
+ });
294
+ if (result.exitCode !== 0) {
295
+ const output = `${result.stderr}\n${result.stdout}`;
296
+ const errorClass = this.classify(output);
297
+ throw new DriverOpError(`op ${opName} failed (exit ${result.exitCode}${errorClass ? `, class ${errorClass}` : ''}): ${tail(output.trim())}`, { opName, errorClass, exitCode: result.exitCode, stderrTail: tail(output.trim()) });
298
+ }
299
+ if (graphql)
300
+ this.assertGraphqlEnvelope(opName, result);
301
+ return result;
302
+ }
303
+ assertGraphqlEnvelope(opName, result) {
304
+ const errorInfo = () => ({
305
+ opName,
306
+ errorClass: this.classify(`${result.stderr}\n${result.stdout}`),
307
+ exitCode: 0,
308
+ stderrTail: tail(result.stdout),
309
+ });
310
+ let payload;
311
+ try {
312
+ payload = parseJsonResponse(result.stdout);
313
+ }
314
+ catch (error) {
315
+ const message = error instanceof Error ? error.message : String(error);
316
+ throw new DriverOpError(`op ${opName} returned an invalid GraphQL envelope: ${message}`, errorInfo());
317
+ }
318
+ if (!isRecord(payload)) {
319
+ throw new DriverOpError(`op ${opName} returned a malformed GraphQL envelope`, errorInfo());
320
+ }
321
+ if (payload.errors !== undefined && !Array.isArray(payload.errors)) {
322
+ throw new DriverOpError(`op ${opName} returned malformed GraphQL errors`, errorInfo());
323
+ }
324
+ if (Array.isArray(payload.errors) && payload.errors.length > 0) {
325
+ throw new DriverOpError(`op ${opName} failed with GraphQL errors: ${tail(JSON.stringify(payload.errors))}`, errorInfo());
326
+ }
327
+ if (!Object.hasOwn(payload, 'data')) {
328
+ throw new DriverOpError(`op ${opName} returned a GraphQL envelope without data`, errorInfo());
329
+ }
330
+ }
331
+ async runPaged(rowOp, argvForPage, fields, options) {
332
+ const label = options.sourceKey === undefined ? rowOp : `${rowOp}[${options.sourceKey}]`;
333
+ const all = [];
334
+ const seen = new Map();
335
+ let previousIds;
336
+ for (let page = 1; page <= options.pageCap; page++) {
337
+ const result = await this.execGitHub(label, argvForPage(page));
338
+ const rawPage = parseJsonPagedPage(result.stdout);
339
+ if (rawPage.length === 0)
340
+ return all;
341
+ const rows = validateRows(rowOp, projectPayload(rawPage, fields), options.sourceKey === undefined ? undefined : { sourceKey: options.sourceKey });
342
+ const projected = options.projectPage === undefined ? rows : options.projectPage(rows);
343
+ const ids = new Set(projected.map(row => String(row[options.idField])));
344
+ if (previousIds !== undefined
345
+ && previousIds.size > 0
346
+ && ids.size === previousIds.size
347
+ && [...ids].every(id => previousIds.has(id))) {
348
+ throw new DriverOpError(`op ${label}: pagination did not advance at page ${page}`, { opName: label });
349
+ }
350
+ previousIds = ids;
351
+ for (const row of projected) {
352
+ const key = String(row[options.idField]);
353
+ const fingerprint = JSON.stringify(row);
354
+ const prior = seen.get(key);
355
+ if (prior === undefined) {
356
+ seen.set(key, fingerprint);
357
+ all.push(row);
358
+ }
359
+ else if (prior !== fingerprint) {
360
+ throw new DriverOpError(`op ${label}: conflicting duplicate row for ${options.idField}=${key} across pages`, { opName: label });
361
+ }
362
+ }
363
+ if (options.shouldStop?.(projected, page) === true)
364
+ return all;
365
+ }
366
+ if (options.capBehavior === 'fail') {
367
+ throw new DriverOpError(`op ${label}: exceeded page cap ${options.pageCap} (refusing silent truncation)`, {
368
+ opName: label,
369
+ });
370
+ }
371
+ return all;
372
+ }
373
+ }
374
+ //# sourceMappingURL=github-driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-driver.js","sourceRoot":"","sources":["../../src/platform/github-driver.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type CommentSourceClass } from './types.js';
1
2
  import { type NormalizedRow } from './row-schema.js';
2
3
  export interface ReviewTokenMarker {
3
4
  kind: 'pass' | 'fail';
@@ -19,10 +20,6 @@ export declare function rowBodyDigest(row: NormalizedRow): string;
19
20
  export declare function rowTokens(row: NormalizedRow): ReviewTokenMarker[];
20
21
  export declare function rowAcks(row: NormalizedRow): AckMarker[];
21
22
  export declare function rowHasBody(row: NormalizedRow): boolean;
22
- export type CommentSourceClass = 'reviews' | 'threaded' | 'top-level';
23
- export declare function classifyCommentSource(source: {
24
- map?: Record<string, unknown>;
25
- }): CommentSourceClass;
26
23
  export interface AckActorContext {
27
24
  replyActorId?: string;
28
25
  replyActorStatus?: 'verified' | 'provisional';
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/platform/markers.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACzF,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,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"}
@@ -54,14 +54,6 @@ export function rowAcks(row) {
54
54
  export function rowHasBody(row) {
55
55
  return isProjected(row) ? row.hasBody === true : rawBody(row) !== '';
56
56
  }
57
- export function classifyCommentSource(source) {
58
- const map = source.map ?? {};
59
- if ('reviewState' in map)
60
- return 'reviews';
61
- if ('discussionId' in map)
62
- return 'threaded';
63
- return 'top-level';
64
- }
65
57
  export const ackRevisionKey = (sourceKey, id, digest) => `${sourceKey}:${id}:${digest}`;
66
58
  export const ackCarrierKey = (sourceKey, id) => `${sourceKey}:${id}`;
67
59
  export function collectValidAcks(rows, ctx) {