@ddtcorex/dsh-maestro-review 0.4.0 → 0.5.1

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 (76) hide show
  1. package/README.md +13 -0
  2. package/cordis.patch.yml +18 -0
  3. package/lib/ci-clone.d.ts +21 -0
  4. package/lib/ci-clone.d.ts.map +1 -0
  5. package/lib/ci-clone.js +35 -0
  6. package/lib/ci-clone.js.map +1 -0
  7. package/lib/ci-coexist.d.ts +11 -0
  8. package/lib/ci-coexist.d.ts.map +1 -0
  9. package/lib/ci-coexist.js +38 -0
  10. package/lib/ci-coexist.js.map +1 -0
  11. package/lib/config-store.d.ts +13 -6
  12. package/lib/config-store.d.ts.map +1 -1
  13. package/lib/config-store.js.map +1 -1
  14. package/lib/events.d.ts +27 -0
  15. package/lib/events.d.ts.map +1 -1
  16. package/lib/gitlab-auth.d.ts +11 -0
  17. package/lib/gitlab-auth.d.ts.map +1 -0
  18. package/lib/gitlab-auth.js +15 -0
  19. package/lib/gitlab-auth.js.map +1 -0
  20. package/lib/gitlab-client.d.ts +7 -0
  21. package/lib/gitlab-client.d.ts.map +1 -1
  22. package/lib/gitlab-client.js +23 -1
  23. package/lib/gitlab-client.js.map +1 -1
  24. package/lib/incremental.d.ts.map +1 -1
  25. package/lib/incremental.js +4 -2
  26. package/lib/incremental.js.map +1 -1
  27. package/lib/orchestrator.d.ts +56 -6
  28. package/lib/orchestrator.d.ts.map +1 -1
  29. package/lib/orchestrator.js +243 -68
  30. package/lib/orchestrator.js.map +1 -1
  31. package/lib/providers/ci-trigger.d.ts +44 -0
  32. package/lib/providers/ci-trigger.d.ts.map +1 -0
  33. package/lib/providers/ci-trigger.js +150 -0
  34. package/lib/providers/ci-trigger.js.map +1 -0
  35. package/lib/providers/gitlab.d.ts.map +1 -1
  36. package/lib/providers/gitlab.js +16 -3
  37. package/lib/providers/gitlab.js.map +1 -1
  38. package/lib/review-history.d.ts +2 -1
  39. package/lib/review-history.d.ts.map +1 -1
  40. package/lib/review-history.js +67 -40
  41. package/lib/review-history.js.map +1 -1
  42. package/lib/review-intake.d.ts +9 -0
  43. package/lib/review-intake.d.ts.map +1 -1
  44. package/lib/review-intake.js +34 -1
  45. package/lib/review-intake.js.map +1 -1
  46. package/lib/review-marker.d.ts +17 -0
  47. package/lib/review-marker.d.ts.map +1 -0
  48. package/lib/review-marker.js +23 -0
  49. package/lib/review-marker.js.map +1 -0
  50. package/lib/review-signals.d.ts.map +1 -1
  51. package/lib/review-signals.js +8 -6
  52. package/lib/review-signals.js.map +1 -1
  53. package/lib/settings-rpc.js +1 -1
  54. package/lib/settings-rpc.js.map +1 -1
  55. package/package.json +14 -9
  56. package/profiles/reviewer-ci/cordis.patch.yml +61 -0
  57. package/profiles/reviewer-ci/package.json +19 -0
  58. package/profiles/reviewer-ci/pnpm-lock.yaml +62 -0
  59. package/profiles/reviewer-ci/pnpm-workspace.yaml +12 -0
  60. package/src/host/ci-clone.ts +54 -0
  61. package/src/host/ci-coexist.ts +45 -0
  62. package/src/host/config-store.ts +14 -1
  63. package/src/host/events.ts +29 -0
  64. package/src/host/gitlab-auth.ts +13 -0
  65. package/src/host/gitlab-client.ts +23 -1
  66. package/src/host/incremental.ts +6 -4
  67. package/src/host/orchestrator.ts +247 -46
  68. package/src/host/providers/ci-trigger.ts +168 -0
  69. package/src/host/providers/gitlab.ts +19 -4
  70. package/src/host/review-history.ts +65 -35
  71. package/src/host/review-intake.ts +36 -1
  72. package/src/host/review-marker.ts +25 -0
  73. package/src/host/review-signals.ts +9 -6
  74. package/src/host/settings-rpc.ts +1 -1
  75. package/templates/reviewer-project.gitlab-ci.yml +90 -0
  76. package/templates/source-project.gitlab-ci.yml +41 -0
@@ -40,20 +40,24 @@ function failStaleRunning(entries) {
40
40
  }
41
41
  /** Prepend a running entry; the oldest entries fall off past `HISTORY_CAP`. */
42
42
  export async function recordReviewStart(entry, dshHome) {
43
- const all = await readAll(dshHome);
44
- if (failStaleRunning(all))
45
- await writeAll(all, dshHome);
46
- all.unshift({ ...entry, status: 'running' });
47
- await writeAll(all.slice(0, HISTORY_CAP), dshHome);
43
+ return withHistoryLock(async () => {
44
+ const all = await readAll(dshHome);
45
+ if (failStaleRunning(all))
46
+ await writeAll(all, dshHome);
47
+ all.unshift({ ...entry, status: 'running' });
48
+ await writeAll(all.slice(0, HISTORY_CAP), dshHome);
49
+ });
48
50
  }
49
51
  /** Attach an outcome to the entry with this id; unknown ids are ignored. */
50
52
  export async function recordReviewFinish(id, patch, dshHome) {
51
- const all = await readAll(dshHome);
52
- const entry = all.find((candidate) => candidate.id === id);
53
- if (entry === undefined)
54
- return;
55
- Object.assign(entry, patch, { finishedAt: Date.now() });
56
- await writeAll(all, dshHome);
53
+ return withHistoryLock(async () => {
54
+ const all = await readAll(dshHome);
55
+ const entry = all.find((candidate) => candidate.id === id);
56
+ if (entry === undefined)
57
+ return;
58
+ Object.assign(entry, patch, { finishedAt: Date.now() });
59
+ await writeAll(all, dshHome);
60
+ });
57
61
  }
58
62
  /** Newest-first slice of the log. */
59
63
  export async function listReviews(limit = 20, dshHome) {
@@ -70,40 +74,63 @@ export async function lastCompletedReview(projectId, mrIid, dshHome) {
70
74
  /**
71
75
  * Drop history entries and failed-report files older than `retentionDays`.
72
76
  * `0` disables pruning entirely. Maestro records only — DSH session
73
- * transcripts are never touched.
77
+ * transcripts are never touched. Entries still `running` are always kept:
78
+ * a prune must never delete a review that just started (see D3).
74
79
  */
75
80
  export async function pruneHistory(retentionDays, dshHome) {
76
81
  if (!Number.isFinite(retentionDays) || retentionDays <= 0)
77
82
  return;
78
- const all = await readAll(dshHome);
79
- failStaleRunning(all);
80
- const cutoff = Date.now() - retentionDays * DAY_MS;
81
- const kept = [];
82
- for (const entry of all) {
83
- if ((entry.finishedAt ?? entry.startedAt) < cutoff)
84
- continue;
85
- kept.push(entry);
86
- }
87
- await writeAll(kept, dshHome);
88
- const home = dshHome ?? process.env.DSH_HOME ?? join(homedir(), '.dsh');
89
- const failedDir = join(home, 'maestro', 'failed-reports');
90
- let names;
91
- try {
92
- names = await readdir(failedDir);
93
- }
94
- catch {
95
- return;
96
- }
97
- await Promise.all(names.map(async (name) => {
98
- // Failed reports are named `<mrIid>-<epoch-ms>.md`.
99
- const match = /^-?\d+-(\d{13,})\.md$/.exec(name);
100
- if (match === null)
101
- return;
102
- const stamp = Number(match[1]);
103
- if (!Number.isFinite(stamp) || stamp >= cutoff)
83
+ return withHistoryLock(async () => {
84
+ const all = await readAll(dshHome);
85
+ failStaleRunning(all);
86
+ const cutoff = Date.now() - retentionDays * DAY_MS;
87
+ const kept = [];
88
+ for (const entry of all) {
89
+ if (entry.status === 'running') {
90
+ kept.push(entry);
91
+ continue;
92
+ }
93
+ if ((entry.finishedAt ?? entry.startedAt) < cutoff)
94
+ continue;
95
+ kept.push(entry);
96
+ }
97
+ await writeAll(kept, dshHome);
98
+ }).then(async () => {
99
+ const home = dshHome ?? process.env.DSH_HOME ?? join(homedir(), '.dsh');
100
+ const failedDir = join(home, 'maestro', 'failed-reports');
101
+ const cutoff = Date.now() - retentionDays * DAY_MS;
102
+ let names;
103
+ try {
104
+ names = await readdir(failedDir);
105
+ }
106
+ catch {
104
107
  return;
105
- await rm(join(failedDir, name), { force: true }).catch(() => { });
106
- }));
108
+ }
109
+ await Promise.all(names.map(async (name) => {
110
+ // Failed reports are named `<mrIid>-<epoch-ms>.md`.
111
+ const match = /^-?\d+-(\d{13,})\.md$/.exec(name);
112
+ if (match === null)
113
+ return;
114
+ const stamp = Number(match[1]);
115
+ if (!Number.isFinite(stamp) || stamp >= cutoff)
116
+ return;
117
+ await rm(join(failedDir, name), { force: true }).catch(() => { });
118
+ }));
119
+ });
120
+ }
121
+ /**
122
+ * In-process promise-chain mutex serializing the read-modify-write cycles of
123
+ * `recordReviewStart` / `recordReviewFinish` / `pruneHistory`, so a
124
+ * fire-and-forget `void pruneHistory()` can no longer clobber an entry that
125
+ * started concurrently (last-writer-wins on a stale read). Two `dsh web`
126
+ * processes sharing one `DSH_HOME` is unsupported, so a cross-process file
127
+ * lock is deliberately out of scope.
128
+ */
129
+ let historyMutex = Promise.resolve();
130
+ function withHistoryLock(work) {
131
+ const next = historyMutex.then(work, work);
132
+ historyMutex = next.then(() => undefined, () => undefined);
133
+ return next;
107
134
  }
108
135
  const DAY_MS = 24 * 60 * 60_000;
109
136
  //# sourceMappingURL=review-history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"review-history.js","sourceRoot":"","sources":["../src/host/review-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAoBzC,MAAM,WAAW,GAAG,GAAG,CAAA;AACvB,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAA,CAAC,qDAAqD;AAE9F,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAA;IACvE,OAAO,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAA;AACzD,CAAC;AAGD,KAAK,UAAU,OAAO,CAAC,OAAgB;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAA;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAA+B,EAAE,CAC1D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAQ,KAA4B,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;IACxG,CAAC;IAAC,MAAM,CAAC;QACP,iFAAiF;QACjF,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,OAA6B,EAAE,OAAgB;IACrE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IACjC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5D,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC3F,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA6B;IACrD,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,GAAG,gBAAgB,EAAE,CAAC;YACnE,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAA;YACnB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,2DAA2D,CAAA;YAChF,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,GAAG,CAAA;YAClC,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAyC,EAAE,OAAgB;IACjG,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAClC,IAAI,gBAAgB,CAAC,GAAG,CAAC;QAAE,MAAM,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACvD,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IAC5C,MAAM,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,EAAU,EACV,KAA2E,EAC3E,OAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAM;IAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACvD,MAAM,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAC9B,CAAC;AAED,qCAAqC;AACrC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAK,GAAG,EAAE,EAAE,OAAgB;IAC5D,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AACjD,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB,EAAE,KAAa,EAAE,OAAgB;IACzF,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC3C,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAA;AAC3F,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAiB,EAAE,KAAa,EAAE,OAAgB;IAC1F,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC3C,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAA;AAChI,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,aAAqB,EAAE,OAAgB;IACxE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,CAAC;QAAE,OAAM;IACjE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAClC,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACrB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,MAAM,CAAA;IAClD,MAAM,IAAI,GAAyB,EAAE,CAAA;IACrC,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,MAAM;YAAE,SAAQ;QAC5D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;IACD,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAE7B,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAA;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAA;IACzD,IAAI,KAAe,CAAA;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAA;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAM;IACR,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACzC,oDAAoD;QACpD,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAM;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,MAAM;YAAE,OAAM;QACtD,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAClE,CAAC,CAAC,CAAC,CAAA;AACL,CAAC;AAED,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"review-history.js","sourceRoot":"","sources":["../src/host/review-history.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,14 @@ export interface RouteOptions {
3
3
  /** When true, an MR update carrying new commits routes a push re-review. */
4
4
  pushEnabled?: boolean;
5
5
  }
6
+ /** Actionable provider-layer drop reasons. Generic non-review GitLab noise
7
+ * (closes, label edits, ...) intentionally has no reason and stays silent. */
8
+ export type DropReason = 'invalid-identity' | 'push-gate-off';
9
+ /**
10
+ * Name why this webhook body will NOT route at the provider layer, or
11
+ * `undefined` when it routes (or is generic noise the provider ignores).
12
+ * Pure — the provider logs the returned reason with project/mr context.
13
+ */
14
+ export declare function describeDrop(body: unknown, botUsername: string, options?: RouteOptions): DropReason | undefined;
6
15
  export declare function routeGitlabReviewRequest(body: unknown, botUsername: string, options?: RouteOptions): ReviewRequest | undefined;
7
16
  //# sourceMappingURL=review-intake.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"review-intake.d.ts","sourceRoot":"","sources":["../src/host/review-intake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA+B,aAAa,EAAe,MAAM,aAAa,CAAA;AA8C1F,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,aAAa,GAAG,SAAS,CAsClI"}
1
+ {"version":3,"file":"review-intake.d.ts","sourceRoot":"","sources":["../src/host/review-intake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA+B,aAAa,EAAe,MAAM,aAAa,CAAA;AA2D1F,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED;8EAC8E;AAC9E,MAAM,MAAM,UAAU,GAAG,kBAAkB,GAAG,eAAe,CAAA;AAE7D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,UAAU,GAAG,SAAS,CAWnH;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,aAAa,GAAG,SAAS,CAsClI"}
@@ -29,6 +29,19 @@ function isMentioned(text, botUsername) {
29
29
  const escaped = botUsername.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
30
30
  return new RegExp(`(^|[^A-Za-z0-9_.-])@${escaped}(?=$|[^A-Za-z0-9_.-])`, 'i').test(text);
31
31
  }
32
+ /**
33
+ * Short head-sha hint for the in-flight key: prefers `last_commit.id`, falls
34
+ * back to `checkout_sha`. Returns `undefined` when the body carries no sha.
35
+ */
36
+ function shortPushSha(attributes) {
37
+ const lastCommit = record(attributes.last_commit);
38
+ const raw = typeof lastCommit?.id === 'string' ? lastCommit.id
39
+ : typeof attributes.checkout_sha === 'string' ? attributes.checkout_sha
40
+ : undefined;
41
+ if (raw === undefined || raw.trim() === '')
42
+ return undefined;
43
+ return raw.slice(0, 8);
44
+ }
32
45
  function noteScope(attributes) {
33
46
  const position = record(attributes.position);
34
47
  if (position === undefined)
@@ -39,6 +52,26 @@ function noteScope(attributes) {
39
52
  return undefined;
40
53
  return { kind: 'discussion', discussionId: attributes.discussion_id, path, line };
41
54
  }
55
+ /**
56
+ * Name why this webhook body will NOT route at the provider layer, or
57
+ * `undefined` when it routes (or is generic noise the provider ignores).
58
+ * Pure — the provider logs the returned reason with project/mr context.
59
+ */
60
+ export function describeDrop(body, botUsername, options = {}) {
61
+ const value = record(body);
62
+ if (value === undefined || botUsername.trim() === '')
63
+ return 'invalid-identity';
64
+ const payload = mrPayload(value);
65
+ if (payload === undefined)
66
+ return 'invalid-identity';
67
+ if (value.object_kind === 'merge_request') {
68
+ const attributes = record(value.object_attributes);
69
+ const hasNewCommits = typeof attributes?.oldrev === 'string' && attributes.oldrev !== '';
70
+ if (hasNewCommits && options.pushEnabled !== true)
71
+ return 'push-gate-off';
72
+ }
73
+ return undefined;
74
+ }
42
75
  export function routeGitlabReviewRequest(body, botUsername, options = {}) {
43
76
  const value = record(body);
44
77
  if (value === undefined || botUsername.trim() === '')
@@ -56,7 +89,7 @@ export function routeGitlabReviewRequest(body, botUsername, options = {}) {
56
89
  if (options.pushEnabled === true) {
57
90
  const hasNewCommits = typeof attributes.oldrev === 'string' && attributes.oldrev !== '';
58
91
  if (hasNewCommits) {
59
- return { ...payload, trigger: 'push', mode: 'quick', scope: { kind: 'mr' } };
92
+ return { ...payload, trigger: 'push', mode: 'quick', scope: { kind: 'mr' }, pushSha: shortPushSha(attributes) };
60
93
  }
61
94
  }
62
95
  const reviewerChange = changes === undefined ? undefined : record(changes.reviewers);
@@ -1 +1 @@
1
- {"version":3,"file":"review-intake.js","sourceRoot":"","sources":["../src/host/review-intake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-intake.js","sourceRoot":"","sources":["../src/host/review-intake.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Machine-readable review comment identity (spec: coexistence §4-5).
3
+ *
4
+ * Every posted review comment (webhook + CI, quick + deep) ends with an
5
+ * invisible marker so the CI flow can detect "this head SHA already has a
6
+ * completed review" without access to the webhook's history store.
7
+ */
8
+ export type ReviewFlow = 'ci-quick' | 'ci-deep' | 'webhook';
9
+ export declare function reviewMarker(sha: string, flow: ReviewFlow): string;
10
+ export declare function parseReviewMarker(body: string): {
11
+ sha: string;
12
+ flow: string;
13
+ status: string;
14
+ } | undefined;
15
+ /** CI detection is env-based (established pattern): the reviewer job always sets these. */
16
+ export declare function resolveFlow(mode: 'quick' | 'deep'): ReviewFlow;
17
+ //# sourceMappingURL=review-marker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-marker.d.ts","sourceRoot":"","sources":["../src/host/review-marker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAA;AAE3D,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAElE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAIzG;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,CAG9D"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Machine-readable review comment identity (spec: coexistence §4-5).
3
+ *
4
+ * Every posted review comment (webhook + CI, quick + deep) ends with an
5
+ * invisible marker so the CI flow can detect "this head SHA already has a
6
+ * completed review" without access to the webhook's history store.
7
+ */
8
+ export function reviewMarker(sha, flow) {
9
+ return `<!-- maestro-review sha=${sha} flow=${flow} status=completed -->`;
10
+ }
11
+ export function parseReviewMarker(body) {
12
+ const m = /<!-- maestro-review sha=([0-9a-fA-F]+) flow=([a-z-]+) status=([a-z]+) -->/.exec(body);
13
+ if (!m)
14
+ return undefined;
15
+ return { sha: m[1], flow: m[2], status: m[3] };
16
+ }
17
+ /** CI detection is env-based (established pattern): the reviewer job always sets these. */
18
+ export function resolveFlow(mode) {
19
+ if (process.env.SOURCE_PROJECT_ID === undefined)
20
+ return 'webhook';
21
+ return mode === 'deep' ? 'ci-deep' : 'ci-quick';
22
+ }
23
+ //# sourceMappingURL=review-marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-marker.js","sourceRoot":"","sources":["../src/host/review-marker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,IAAgB;IACxD,OAAO,2BAA2B,GAAG,SAAS,IAAI,uBAAuB,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,CAAC,GAAG,2EAA2E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChG,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAA;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAChD,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,WAAW,CAAC,IAAsB;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACjE,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;AACjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"review-signals.d.ts","sourceRoot":"","sources":["../src/host/review-signals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvD;AA0BD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,aAAa,CAgBrJ"}
1
+ {"version":3,"file":"review-signals.d.ts","sourceRoot":"","sources":["../src/host/review-signals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvD;AA0BD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,aAAa,CAgBrJ"}
@@ -3,17 +3,19 @@
3
3
  * a final marker when it completes or fails. Signalling is best-effort — any
4
4
  * GitLab error is swallowed so it can never fail the review itself.
5
5
  */
6
+ import { gitlabAuthHeaders } from './gitlab-auth.js';
7
+ import { fetchWithTimeout } from './gitlab-client.js';
6
8
  async function award(baseUrl, token, projectId, mrIid, name) {
7
- await fetch(`${baseUrl}/api/v4/projects/${projectId}/merge_requests/${mrIid}/award_emoji`, {
9
+ await fetchWithTimeout(`${baseUrl}/api/v4/projects/${projectId}/merge_requests/${mrIid}/award_emoji`, {
8
10
  method: 'POST',
9
- headers: { 'PRIVATE-TOKEN': token, 'Content-Type': 'application/json' },
11
+ headers: { ...gitlabAuthHeaders(token), 'Content-Type': 'application/json' },
10
12
  body: JSON.stringify({ name }),
11
13
  });
12
14
  }
13
15
  /** Remove only this bot's stale running markers; other users' awards stay untouched. */
14
16
  async function unawardOwn(baseUrl, token, projectId, mrIid, botUsername) {
15
- const response = await fetch(`${baseUrl}/api/v4/projects/${projectId}/merge_requests/${mrIid}/award_emoji`, {
16
- headers: { 'PRIVATE-TOKEN': token },
17
+ const response = await fetchWithTimeout(`${baseUrl}/api/v4/projects/${projectId}/merge_requests/${mrIid}/award_emoji`, {
18
+ headers: gitlabAuthHeaders(token),
17
19
  });
18
20
  if (!response.ok)
19
21
  return;
@@ -21,9 +23,9 @@ async function unawardOwn(baseUrl, token, projectId, mrIid, botUsername) {
21
23
  for (const awardItem of Array.isArray(awards) ? awards : []) {
22
24
  if (awardItem.name !== 'eyes' || awardItem.user?.username !== botUsername || typeof awardItem.id !== 'number')
23
25
  continue;
24
- await fetch(`${baseUrl}/api/v4/projects/${projectId}/merge_requests/${mrIid}/award_emoji/${awardItem.id}`, {
26
+ await fetchWithTimeout(`${baseUrl}/api/v4/projects/${projectId}/merge_requests/${mrIid}/award_emoji/${awardItem.id}`, {
25
27
  method: 'DELETE',
26
- headers: { 'PRIVATE-TOKEN': token },
28
+ headers: gitlabAuthHeaders(token),
27
29
  }).catch(() => { });
28
30
  }
29
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"review-signals.js","sourceRoot":"","sources":["../src/host/review-signals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,KAAK,UAAU,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,SAAiB,EAAE,KAAa,EAAE,IAAY;IACjG,MAAM,KAAK,CAAC,GAAG,OAAO,oBAAoB,SAAS,mBAAmB,KAAK,cAAc,EAAE;QACzF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE;QACvE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;KAC/B,CAAC,CAAA;AACJ,CAAC;AAED,wFAAwF;AACxF,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,KAAa,EAAE,SAAiB,EAAE,KAAa,EAAE,WAAmB;IAC7G,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,oBAAoB,SAAS,mBAAmB,KAAK,cAAc,EAAE;QAC1G,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;KACpC,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAM;IACxB,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwE,CAAA;IAC7G,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5D,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,KAAK,WAAW,IAAI,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ;YAAE,SAAQ;QACvH,MAAM,KAAK,CAAC,GAAG,OAAO,oBAAoB,SAAS,mBAAmB,KAAK,gBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE;YACzG,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;SACpC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAkG;IACpI,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IACjE,OAAO;QACL,KAAK,CAAC,KAAK;YACT,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;gBAC/D,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;YACvD,CAAC;YAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,OAAO;YAClB,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;gBAC/D,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YACzG,CAAC;YAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;QAC1D,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"review-signals.js","sourceRoot":"","sources":["../src/host/review-signals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAOrD,KAAK,UAAU,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,SAAiB,EAAE,KAAa,EAAE,IAAY;IACjG,MAAM,gBAAgB,CAAC,GAAG,OAAO,oBAAoB,SAAS,mBAAmB,KAAK,cAAc,EAAE;QACpG,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC5E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;KAC/B,CAAC,CAAA;AACJ,CAAC;AAED,wFAAwF;AACxF,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,KAAa,EAAE,SAAiB,EAAE,KAAa,EAAE,WAAmB;IAC7G,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,OAAO,oBAAoB,SAAS,mBAAmB,KAAK,cAAc,EAAE;QACrH,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;KAClC,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAM;IACxB,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwE,CAAA;IAC7G,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5D,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,KAAK,WAAW,IAAI,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ;YAAE,SAAQ;QACvH,MAAM,gBAAgB,CAAC,GAAG,OAAO,oBAAoB,SAAS,mBAAmB,KAAK,gBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE;YACpH,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;SAClC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAkG;IACpI,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IACjE,OAAO;QACL,KAAK,CAAC,KAAK;YACT,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;gBAC/D,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;YACvD,CAAC;YAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,OAAO;YAClB,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;gBAC/D,MAAM,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YACzG,CAAC;YAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;QAC1D,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -7,7 +7,7 @@ export const inject = ['connection', 'maestroTunnel'];
7
7
  /** Keys the Settings card may persist; anything else is a rejected save. */
8
8
  const SAVABLE_KEYS = new Set([
9
9
  'gitlabBaseUrl', 'gitlabToken', 'botUsername', 'webhookSecret', 'webhookPort',
10
- 'projectMappings', 'reviewModel', 'autoRereviewOnPush', 'agentTimeoutMs', 'reviewSessionRetentionDays',
10
+ 'projectMappings', 'reviewModel', 'autoRereviewOnPush', 'autoReviewOnAssign', 'agentTimeoutMs', 'reviewSessionRetentionDays',
11
11
  'tunnelMode', 'quickTarget', 'tunnelId', 'tunnelCredentialsFile', 'tunnelHostname',
12
12
  'proxyPort', 'proxyHost', 'lanPinEnabled', 'telegramBotToken', 'telegramChatId',
13
13
  'telegramReviewNotifications',
@@ -1 +1 @@
1
- {"version":3,"file":"settings-rpc.js","sourceRoot":"","sources":["../src/host/settings-rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-rpc.js","sourceRoot":"","sources":["../src/host/settings-rpc.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ddtcorex/dsh-maestro-review",
3
3
  "private": false,
4
- "version": "0.4.0",
4
+ "version": "0.5.1",
5
5
  "description": "Maestro Review — pluggable ReviewProvider (GitLab/GitHub) + orchestrator for automated MR review",
6
6
  "type": "module",
7
7
  "main": "./lib/index.js",
@@ -13,24 +13,24 @@
13
13
  },
14
14
  "files": [
15
15
  "README.md",
16
+ "cordis.patch.yml",
16
17
  "lib",
17
18
  "src",
18
19
  "presets",
19
- "client"
20
+ "client",
21
+ "profiles",
22
+ "templates"
20
23
  ],
21
24
  "peerDependencies": {
22
25
  "@deepseek-ai/cordis": "^4.0.1",
23
26
  "@deepseek-ai/dsh-client-connection": "^0.1.0-rc.6 || >=0.1.1-rc.0 <0.2.0"
24
27
  },
25
28
  "dependencies": {
26
- "@deepseek-ai/schemastery": "^3.0.0",
27
- "@ddtcorex/dsh-maestro-config-lib": "^0.1.1"
29
+ "@ddtcorex/dsh-maestro-config-lib": "^0.1.1",
30
+ "@deepseek-ai/schemastery": "^3.0.0"
28
31
  },
29
32
  "devDependencies": {
30
33
  "@deepseek-ai/cordis": "^4.0.1",
31
- "typescript": "^5.8.0",
32
- "vitest": "^2.0.0",
33
- "@types/node": "^22.0.0",
34
34
  "@deepseek-ai/dsh-agent": "0.1.2-alpha.2",
35
35
  "@deepseek-ai/dsh-agent-default-model": "0.1.2-alpha.2",
36
36
  "@deepseek-ai/dsh-agent-presets": "0.1.2-alpha.2",
@@ -38,7 +38,11 @@
38
38
  "@deepseek-ai/dsh-session": "0.1.2-alpha.2",
39
39
  "@deepseek-ai/dsh-session-title": "0.1.2-alpha.2",
40
40
  "@deepseek-ai/dsh-subagent": "0.1.2-alpha.2",
41
- "@deepseek-ai/dsh-tools": "0.1.2-alpha.2"
41
+ "@deepseek-ai/dsh-tools": "0.1.2-alpha.2",
42
+ "@types/node": "^22.0.0",
43
+ "typescript": "^5.8.0",
44
+ "vitest": "^2.0.0",
45
+ "yaml": "^2.9.0"
42
46
  },
43
47
  "dsh": {
44
48
  "bundle": {
@@ -48,6 +52,7 @@
48
52
  "scripts": {
49
53
  "build": "tsc",
50
54
  "test": "vitest run",
51
- "verify": "tsc --noEmit"
55
+ "verify": "tsc --noEmit",
56
+ "docker:build": "docker build -f docker/Dockerfile -t ddtcorex/maestro-reviewer:0.3.2 -t ddtcorex/maestro-reviewer:latest ../.."
52
57
  }
53
58
  }
@@ -0,0 +1,61 @@
1
+ # profiles/reviewer-ci/cordis.patch.yml — CI-only profile: no webhook, no HTTP server.
2
+ #
3
+ # `dsh-base` (see dsh.profile.bundles in package.json) already self-composes its
4
+ # own ~80-row cordis.patch.yml (it ships a dsh.bundle.patch field). So does
5
+ # @ddtcorex/dsh-maestro-review itself — self-composing 3 rows: maestro-review-webhook,
6
+ # maestro-review-orchestrator, maestro-review-settings-rpc (verified 2026-09-03: using
7
+ # `insert:` for a row id the bundle already provides throws "duplicate loader entry id"
8
+ # at boot). This file touches all three of those rows (bare `- id: X` entries, no
9
+ # `insert:` wrapper — the same pattern deepseek-harness's own headless bundle uses to
10
+ # override `system-prompt`/`tools`) instead of re-inserting them.
11
+
12
+ # maestro-review-webhook needs `webServer`, which this profile never provides (no dsh
13
+ # web/web-app bundle) — disable it explicitly rather than leaving it waiting forever
14
+ # on a service that will never arrive.
15
+ - id: maestro-review-webhook
16
+ disabled: true
17
+
18
+ # maestro-review-settings-rpc serves the Settings UI over the web `connection`
19
+ # (via `maestroTunnel`) — meaningless in a CI container where neither service
20
+ # exists. Verified 2026-09-04: leaving it enabled fails boot with
21
+ # "1 entry did not activate .../settings-rpc.js: pending (waiting for
22
+ # services: connection, maestroTunnel)".
23
+ - id: maestro-review-settings-rpc
24
+ disabled: true
25
+
26
+ # Override the auto-composed row's placeholder config. projectMappings is
27
+ # deliberately empty — this profile only serves the diff-only review path
28
+ # (phase 1, quick mode), matching the non-goal "no full-stack govard env up
29
+ # in CI in phase 1". gitlabBaseUrl must read GITLAB_HOST at runtime (not a
30
+ # static placeholder) since a source project can point ci-trigger.ts at any
31
+ # GitLab host via its own CI variables.
32
+ - id: maestro-review-orchestrator
33
+ config:
34
+ # Ternary must be quoted — an unquoted !!js scalar containing a bare `:`
35
+ # (the ternary's false-branch separator) gets misparsed as a YAML mapping
36
+ # key instead of passed through whole to the JS evaluator (verified
37
+ # 2026-09-03: without quotes, cordis reported gitlabBaseUrl as
38
+ # "[object Object]" instead of a string).
39
+ gitlabBaseUrl: !!js "process.env.GITLAB_HOST ? 'https://' + process.env.GITLAB_HOST : ''"
40
+ gitlabToken: !!js process.env.MAESTRO_GITLAB_TOKEN
41
+ botUsername: maestro-bot
42
+ projectMappings: []
43
+ agentTimeoutMs: 1200000
44
+ # Pinned review model (no Settings UI in CI). Optional as a pair: both unset
45
+ # → host default; ID without provider → the review fails with a provider
46
+ # error instead of silently calling the wrong model.
47
+ reviewModel: !!js "process.env.REVIEW_MODEL ? { provider: process.env.REVIEW_MODEL_PROVIDER, model: process.env.REVIEW_MODEL } : undefined"
48
+
49
+ # New rows this profile needs that dsh-base/dsh-maestro-review don't already provide.
50
+ - insert:
51
+ # @deepseek-ai/dsh-agent-presets ships no dsh.bundle.patch of its own
52
+ # (confirmed — no "dsh" field in its package.json), so it never self-composes;
53
+ # every profile that wants it must insert this row itself, copied verbatim
54
+ # from deepseek-harness/packages/bundle/web-app/cordis.patch.yml.
55
+ - id: agent-presets
56
+ name: '@deepseek-ai/dsh-agent-presets'
57
+ config:
58
+ default: standard
59
+
60
+ - id: maestro-review-ci-trigger
61
+ name: '@ddtcorex/dsh-maestro-review/lib/providers/ci-trigger.js'
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "reviewer-ci-profile",
3
+ "private": true,
4
+ "dsh": {
5
+ "profile": {
6
+ "bundles": [
7
+ "@deepseek-ai/dsh-base",
8
+ "@ddtcorex/dsh-maestro-review",
9
+ "@ddtcorex/maestro-skills"
10
+ ]
11
+ }
12
+ },
13
+ "dependencies": {
14
+ "@deepseek-ai/dsh-base": "link:../../deepseek-harness/packages/bundle/base",
15
+ "@deepseek-ai/dsh-agent-presets": "link:../../deepseek-harness/packages/preset/agent-presets",
16
+ "@ddtcorex/dsh-maestro-review": "link:../../packages/dsh-maestro-review",
17
+ "@ddtcorex/maestro-skills": "^2.11.0"
18
+ }
19
+ }