mstro-app 0.4.28 → 0.4.32

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 (70) hide show
  1. package/dist/server/cli/headless/claude-invoker-process.d.ts.map +1 -1
  2. package/dist/server/cli/headless/claude-invoker-process.js +5 -1
  3. package/dist/server/cli/headless/claude-invoker-process.js.map +1 -1
  4. package/dist/server/cli/headless/haiku-assessments.d.ts.map +1 -1
  5. package/dist/server/cli/headless/haiku-assessments.js +20 -28
  6. package/dist/server/cli/headless/haiku-assessments.js.map +1 -1
  7. package/dist/server/cli/headless/stall-assessor.d.ts.map +1 -1
  8. package/dist/server/cli/headless/stall-assessor.js +17 -3
  9. package/dist/server/cli/headless/stall-assessor.js.map +1 -1
  10. package/dist/server/cli/prompt-builders.d.ts.map +1 -1
  11. package/dist/server/cli/prompt-builders.js +35 -19
  12. package/dist/server/cli/prompt-builders.js.map +1 -1
  13. package/dist/server/mcp/bouncer-haiku.d.ts.map +1 -1
  14. package/dist/server/mcp/bouncer-haiku.js +5 -30
  15. package/dist/server/mcp/bouncer-haiku.js.map +1 -1
  16. package/dist/server/mcp/security-analysis.d.ts.map +1 -1
  17. package/dist/server/mcp/security-analysis.js +19 -11
  18. package/dist/server/mcp/security-analysis.js.map +1 -1
  19. package/dist/server/services/deploy/headless-session-handler.d.ts.map +1 -1
  20. package/dist/server/services/deploy/headless-session-handler.js +61 -69
  21. package/dist/server/services/deploy/headless-session-handler.js.map +1 -1
  22. package/dist/server/services/pathUtils.d.ts.map +1 -1
  23. package/dist/server/services/pathUtils.js +46 -38
  24. package/dist/server/services/pathUtils.js.map +1 -1
  25. package/dist/server/services/plan/agent-loader.d.ts +20 -4
  26. package/dist/server/services/plan/agent-loader.d.ts.map +1 -1
  27. package/dist/server/services/plan/agent-loader.js +85 -16
  28. package/dist/server/services/plan/agent-loader.js.map +1 -1
  29. package/dist/server/services/plan/issue-retry.d.ts +0 -8
  30. package/dist/server/services/plan/issue-retry.d.ts.map +1 -1
  31. package/dist/server/services/plan/issue-retry.js +72 -63
  32. package/dist/server/services/plan/issue-retry.js.map +1 -1
  33. package/dist/server/services/plan/review-gate.js +16 -88
  34. package/dist/server/services/plan/review-gate.js.map +1 -1
  35. package/dist/server/services/websocket/git-handlers.d.ts.map +1 -1
  36. package/dist/server/services/websocket/git-handlers.js +6 -19
  37. package/dist/server/services/websocket/git-handlers.js.map +1 -1
  38. package/dist/server/services/websocket/git-pr-handlers.d.ts.map +1 -1
  39. package/dist/server/services/websocket/git-pr-handlers.js +5 -21
  40. package/dist/server/services/websocket/git-pr-handlers.js.map +1 -1
  41. package/dist/server/services/websocket/handlers/deploy-handlers.d.ts.map +1 -1
  42. package/dist/server/services/websocket/handlers/deploy-handlers.js +28 -33
  43. package/dist/server/services/websocket/handlers/deploy-handlers.js.map +1 -1
  44. package/dist/server/services/websocket/plan-board-handlers.d.ts.map +1 -1
  45. package/dist/server/services/websocket/plan-board-handlers.js +31 -25
  46. package/dist/server/services/websocket/plan-board-handlers.js.map +1 -1
  47. package/dist/server/services/websocket/quality-fix-agent.d.ts.map +1 -1
  48. package/dist/server/services/websocket/quality-fix-agent.js +11 -18
  49. package/dist/server/services/websocket/quality-fix-agent.js.map +1 -1
  50. package/dist/server/services/websocket/quality-review-agent.d.ts.map +1 -1
  51. package/dist/server/services/websocket/quality-review-agent.js +13 -150
  52. package/dist/server/services/websocket/quality-review-agent.js.map +1 -1
  53. package/package.json +1 -1
  54. package/server/cli/headless/claude-invoker-process.ts +5 -1
  55. package/server/cli/headless/haiku-assessments.ts +21 -28
  56. package/server/cli/headless/stall-assessor.ts +17 -3
  57. package/server/cli/prompt-builders.ts +34 -23
  58. package/server/mcp/bouncer-haiku.ts +5 -30
  59. package/server/mcp/security-analysis.ts +19 -12
  60. package/server/services/deploy/headless-session-handler.ts +75 -76
  61. package/server/services/pathUtils.ts +55 -42
  62. package/server/services/plan/agent-loader.ts +88 -15
  63. package/server/services/plan/issue-retry.ts +93 -68
  64. package/server/services/plan/review-gate.ts +13 -89
  65. package/server/services/websocket/git-handlers.ts +6 -18
  66. package/server/services/websocket/git-pr-handlers.ts +5 -20
  67. package/server/services/websocket/handlers/deploy-handlers.ts +34 -37
  68. package/server/services/websocket/plan-board-handlers.ts +36 -21
  69. package/server/services/websocket/quality-fix-agent.ts +10 -17
  70. package/server/services/websocket/quality-review-agent.ts +12 -149
@@ -75,34 +75,40 @@ function sendChunkedResponse(ctx, ws, requestId, status, headers, bodyBuffer) {
75
75
  ctx.send(ws, { type: 'deployHttpResponseChunk', data: chunkData });
76
76
  }
77
77
  }
78
- export async function handleDeployHttpRequest(ctx, ws, msg) {
79
- const data = msg.data;
78
+ /** Validate the incoming deploy HTTP request data. Returns an error response body string or null if valid. */
79
+ function validateDeployRequest(data) {
80
80
  if (!data?.requestId || !data?.method || !data?.url || !data?.port) {
81
- sendDeployHttpResponse(ctx, ws, {
82
- requestId: data?.requestId || 'unknown',
83
- status: 400,
84
- headers: {},
85
- body: 'Bad Request: missing required fields (requestId, method, url, port)',
86
- });
87
- return;
81
+ return { status: 400, body: 'Bad Request: missing required fields (requestId, method, url, port)' };
88
82
  }
89
- // Reject headers with null bytes or CRLF injection
90
83
  if (data.headers && containsHeaderInjection(data.headers)) {
91
- sendDeployHttpResponse(ctx, ws, {
92
- requestId: data.requestId,
93
- status: 400,
94
- headers: {},
95
- body: 'Bad Request: headers contain null bytes or CRLF injection',
96
- });
97
- return;
84
+ return { status: 400, body: 'Bad Request: headers contain null bytes or CRLF injection' };
98
85
  }
99
- // Enforce header size limit
100
86
  if (data.headers && calculateHeaderSize(data.headers) > MAX_HEADER_SIZE_BYTES) {
87
+ return { status: 431, body: 'Request Header Fields Too Large: total headers exceed 16KB' };
88
+ }
89
+ return null;
90
+ }
91
+ /** Classify a fetch error into an HTTP status code and message. */
92
+ function classifyFetchError(error) {
93
+ if (error instanceof Error) {
94
+ if (error.name === 'AbortError') {
95
+ return { status: 504, body: 'Gateway Timeout' };
96
+ }
97
+ if (isConnectionRefused(error)) {
98
+ return { status: 502, body: 'Bad Gateway: target server is not running' };
99
+ }
100
+ }
101
+ return { status: 502, body: 'Bad Gateway' };
102
+ }
103
+ export async function handleDeployHttpRequest(ctx, ws, msg) {
104
+ const data = msg.data;
105
+ const validationError = validateDeployRequest(data);
106
+ if (validationError) {
101
107
  sendDeployHttpResponse(ctx, ws, {
102
- requestId: data.requestId,
103
- status: 431,
108
+ requestId: data?.requestId || 'unknown',
109
+ status: validationError.status,
104
110
  headers: {},
105
- body: 'Request Header Fields Too Large: total headers exceed 16KB',
111
+ body: validationError.body,
106
112
  });
107
113
  return;
108
114
  }
@@ -151,18 +157,7 @@ export async function handleDeployHttpRequest(ctx, ws, msg) {
151
157
  });
152
158
  }
153
159
  catch (error) {
154
- let status = 502;
155
- let body = 'Bad Gateway';
156
- if (error instanceof Error) {
157
- if (error.name === 'AbortError') {
158
- status = 504;
159
- body = 'Gateway Timeout';
160
- }
161
- else if (isConnectionRefused(error)) {
162
- status = 502;
163
- body = 'Bad Gateway: target server is not running';
164
- }
165
- }
160
+ const { status, body } = classifyFetchError(error);
166
161
  sendDeployHttpResponse(ctx, ws, {
167
162
  requestId: data.requestId,
168
163
  status,
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-handlers.js","sourceRoot":"","sources":["../../../../../server/services/websocket/handlers/deploy-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-handlers.js","sourceRoot":"","sources":["../../../../../server/services/websocket/handlers/deploy-handlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan-board-handlers.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/plan-board-handlers.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM9D,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GACtC,IAAI,CA8EN;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GACtC,IAAI,CA+CN;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GACtC,IAAI,CAqCN;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,GACjB,IAAI,CAiBN;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,GACjB,IAAI,CAEN;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GACtC,IAAI,CAoBN;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GACtC,IAAI,CAyBN;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,GACjB,IAAI,CAcN"}
1
+ {"version":3,"file":"plan-board-handlers.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/plan-board-handlers.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM9D,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GACtC,IAAI,CA8EN;AAoCD,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GACtC,IAAI,CA4BN;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GACtC,IAAI,CAqCN;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,GACjB,IAAI,CAiBN;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,GACjB,IAAI,CAEN;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GACtC,IAAI,CAoBN;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GACtC,IAAI,CAyBN;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EACzD,UAAU,EAAE,MAAM,GACjB,IAAI,CAcN"}
@@ -80,6 +80,35 @@ paused: false
80
80
  ctx.broadcastToAll({ type: 'planWorkspaceUpdated', data: workspace });
81
81
  }
82
82
  }
83
+ /** Update front-matter fields in the board.md file. */
84
+ function applyBoardFieldUpdates(boardMdPath, fields) {
85
+ let content = readFileSync(boardMdPath, 'utf-8');
86
+ for (const [key, value] of Object.entries(fields)) {
87
+ const yamlKey = key.replace(/([A-Z])/g, '_$1').toLowerCase();
88
+ content = replaceFrontMatterField(content, yamlKey, formatYamlValue(value));
89
+ }
90
+ writeFileSync(boardMdPath, content, 'utf-8');
91
+ }
92
+ /** Sync the review-custom agent file when review criteria change. */
93
+ function syncReviewCriteriaAgent(fields, pmDir, boardId) {
94
+ if (!('reviewCriteria' in fields))
95
+ return;
96
+ const boardDir = join(pmDir, 'boards', boardId);
97
+ const agentsDir = join(boardDir, 'agents');
98
+ const agentPath = join(agentsDir, 'review-custom.md');
99
+ const criteriaValue = String(fields.reviewCriteria ?? '').trim();
100
+ if (criteriaValue) {
101
+ if (!existsSync(agentsDir))
102
+ mkdirSync(agentsDir, { recursive: true });
103
+ writeFileSync(agentPath, buildBoardReviewAgent(criteriaValue), 'utf-8');
104
+ }
105
+ else if (existsSync(agentPath)) {
106
+ try {
107
+ unlinkSync(agentPath);
108
+ }
109
+ catch { /* non-fatal */ }
110
+ }
111
+ }
83
112
  export function handleUpdateBoard(ctx, ws, msg, workingDir, permission) {
84
113
  if (denyIfViewOnly(ctx, ws, permission))
85
114
  return;
@@ -96,33 +125,10 @@ export function handleUpdateBoard(ctx, ws, msg, workingDir, permission) {
96
125
  ctx.send(ws, { type: 'planError', data: { error: `Board not found: ${boardId}` } });
97
126
  return;
98
127
  }
99
- let content = readFileSync(boardMdPath, 'utf-8');
100
- for (const [key, value] of Object.entries(fields)) {
101
- const yamlKey = key.replace(/([A-Z])/g, '_$1').toLowerCase();
102
- content = replaceFrontMatterField(content, yamlKey, formatYamlValue(value));
103
- }
104
- writeFileSync(boardMdPath, content, 'utf-8');
128
+ applyBoardFieldUpdates(boardMdPath, fields);
105
129
  // When review criteria are set, also write a board-level review agent file
106
130
  // so users can discover and edit the full prompt as markdown.
107
- const typedFields = fields;
108
- if ('reviewCriteria' in typedFields) {
109
- const boardDir = join(pmDir, 'boards', boardId);
110
- const agentsDir = join(boardDir, 'agents');
111
- const agentPath = join(agentsDir, 'review-custom.md');
112
- const criteriaValue = String(typedFields.reviewCriteria ?? '').trim();
113
- if (criteriaValue) {
114
- if (!existsSync(agentsDir))
115
- mkdirSync(agentsDir, { recursive: true });
116
- writeFileSync(agentPath, buildBoardReviewAgent(criteriaValue), 'utf-8');
117
- }
118
- else if (existsSync(agentPath)) {
119
- // Clear the agent file when criteria are removed
120
- try {
121
- unlinkSync(agentPath);
122
- }
123
- catch { /* non-fatal */ }
124
- }
125
- }
131
+ syncReviewCriteriaAgent(fields, pmDir, boardId);
126
132
  const boardState = parseBoardDirectory(pmDir, boardId);
127
133
  if (boardState) {
128
134
  ctx.broadcastToAll({ type: 'planBoardUpdated', data: boardState.board });
@@ -1 +1 @@
1
- {"version":3,"file":"plan-board-handlers.js","sourceRoot":"","sources":["../../../../server/services/websocket/plan-board-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-board-handlers.js","sourceRoot":"","sources":["../../../../server/services/websocket/plan-board-handlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quality-fix-agent.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/quality-fix-agent.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAYD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAEvF,OAAO,YAAY,UAe5B;AAyCD,wBAAsB,eAAe,CACnC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,QAAQ,EAAE,aAAa,EAAE,EACzB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,kBAAkB,GAClD,OAAO,CAAC,IAAI,CAAC,CA0Ef"}
1
+ {"version":3,"file":"quality-fix-agent.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/quality-fix-agent.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAYD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAEvF,OAAO,YAAY,UAe5B;AAiCD,wBAAsB,eAAe,CACnC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,QAAQ,EAAE,aAAa,EAAE,EACzB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,kBAAkB,GAClD,OAAO,CAAC,IAAI,CAAC,CA0Ef"}
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { runWithFileLogger } from '../../cli/headless/headless-logger.js';
9
9
  import { HeadlessRunner } from '../../cli/headless/index.js';
10
+ import { loadSkillPrompt } from '../plan/agent-loader.js';
10
11
  import { detectTools, runQualityScan } from './quality-service.js';
11
12
  // ── Progress callback ─────────────────────────────────────────
12
13
  const TOOL_MESSAGES = {
@@ -35,7 +36,7 @@ export function createToolProgressCallback(ctx, ws, reportPath) {
35
36
  };
36
37
  }
37
38
  // ── Prompt ────────────────────────────────────────────────────
38
- function buildFixPrompt(findings, section) {
39
+ function buildFixPrompt(findings, section, workingDir) {
39
40
  const filtered = section ? findings.filter((f) => f.category === section) : findings;
40
41
  const sorted = filtered.sort((a, b) => {
41
42
  const order = { critical: 0, high: 1, medium: 2, low: 3 };
@@ -50,22 +51,14 @@ function buildFixPrompt(findings, section) {
50
51
  parts.push(` Suggestion: ${f.suggestion}`);
51
52
  return parts.join('\n');
52
53
  }).join('\n\n');
53
- return `You are a code quality fix agent. Fix the following quality issues in the codebase.
54
-
55
- ## Issues to Fix (${sorted.length} total, showing top ${Math.min(30, sorted.length)})
56
-
57
- ${issueList}
58
-
59
- ## Rules
60
-
61
- - Fix each issue by editing the relevant file at the specified location.
62
- - For complexity issues: refactor into smaller functions. For long files: split or extract modules. For long functions: break into smaller functions.
63
- - For security issues: apply the suggested fix or use secure coding best practices.
64
- - For bugs: fix the root cause, not just the symptom.
65
- - For linting/formatting: apply the standard for the project.
66
- - Do NOT introduce new issues. Make minimal, focused changes.
67
- - After fixing, verify the changes compile/pass linting if tools are available.
68
- - Work through the issues systematically from most to least severe.`;
54
+ const fromSkill = loadSkillPrompt('fix-quality', {
55
+ issueList,
56
+ issueCount: String(sorted.length),
57
+ showCount: String(Math.min(30, sorted.length)),
58
+ }, workingDir);
59
+ if (fromSkill)
60
+ return fromSkill;
61
+ return `You are a code quality fix agent. Fix the following quality issues in the codebase.\n\n## Issues to Fix (${sorted.length} total, showing top ${Math.min(30, sorted.length)})\n\n${issueList}\n\nFix each issue by editing the relevant file. Work from most to least severe. Do NOT introduce new issues.`;
69
62
  }
70
63
  // ── Handler ───────────────────────────────────────────────────
71
64
  const activeFixes = new Set();
@@ -90,7 +83,7 @@ export async function handleFixIssues(ctx, ws, reportPath, dirPath, workingDir,
90
83
  type: 'qualityFixProgress',
91
84
  data: { path: reportPath, message: 'Starting Claude Code to fix issues...' },
92
85
  });
93
- const prompt = buildFixPrompt(findings, section);
86
+ const prompt = buildFixPrompt(findings, section, workingDir);
94
87
  const runner = new HeadlessRunner({
95
88
  workingDir: dirPath,
96
89
  directPrompt: prompt,
@@ -1 +1 @@
1
- {"version":3,"file":"quality-fix-agent.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-fix-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quality-fix-agent.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-fix-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-agent.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/quality-review-agent.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,aAAa,GAAG,iBAAiB,CAAC;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAyGjM;AAkCD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAe1E;AAiDD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd;IAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAkB7H;AAqED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,MAAM,CA4DR;AAED,UAAU,mBAAmB;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,GAAG,UAAU,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAiBjF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,QAAQ,EAAE,mBAAmB,EAAE,GAC9B;IAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;CAAE,CA6BlE;AAuID,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAC1B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,kBAAkB,GAClD,OAAO,CAAC,IAAI,CAAC,CAgEf"}
1
+ {"version":3,"file":"quality-review-agent.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/quality-review-agent.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,aAAa,GAAG,iBAAiB,CAAC;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAUjM;AAkCD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAe1E;AAiDD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd;IAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAkB7H;AAqED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,MAAM,CAiBR;AAED,UAAU,mBAAmB;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,GAAG,UAAU,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAiBjF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,QAAQ,EAAE,mBAAmB,EAAE,GAC9B;IAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;CAAE,CA6BlE;AAuID,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAC1B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,kBAAkB,GAClD,OAAO,CAAC,IAAI,CAAC,CAgEf"}
@@ -9,112 +9,18 @@ import { existsSync, readFileSync } from 'node:fs';
9
9
  import { isAbsolute, join } from 'node:path';
10
10
  import { runWithFileLogger } from '../../cli/headless/headless-logger.js';
11
11
  import { HeadlessRunner } from '../../cli/headless/index.js';
12
+ import { loadSkillPrompt } from '../plan/agent-loader.js';
12
13
  import { recomputeWithAiReview } from './quality-service.js';
13
14
  // ── Prompt ────────────────────────────────────────────────────
14
15
  export function buildCodeReviewPrompt(dirPath, cliFindings) {
15
16
  const cliFindingsSection = cliFindings && cliFindings.length > 0
16
17
  ? `\n## CLI Tool Findings (already detected)\n\nThe following issues were found by automated CLI tools (linters, formatters, complexity analyzers). Review these for context — they are already included in the final report. Focus your analysis on DEEPER issues these tools cannot detect.\n\n${cliFindings.slice(0, 50).map((f, i) => `${i + 1}. [${f.severity.toUpperCase()}] ${f.category} — ${f.file}${f.line ? `:${f.line}` : ''} — ${f.title}: ${f.description}`).join('\n')}\n${cliFindings.length > 50 ? `\n...and ${cliFindings.length - 50} more issues from CLI tools.\n` : ''}`
17
18
  : '';
18
- return `You are a senior staff engineer performing a rigorous, honest code review. Your job is to surface the most impactful quality bottlenecks — the issues a principal engineer would flag in a code review. Be critical and objective. Do NOT inflate scores.
19
-
20
- IMPORTANT: Your current working directory is "${dirPath}". Only review files within this directory.
21
- ${cliFindingsSection}
22
- ## Review Process
23
-
24
- 1. **Discover**: Use Glob to find source files (e.g. "**/*.{ts,tsx,js,py,rs,go,java,rb,php}"). Understand the project structure.
25
- 2. **Read**: Read the most important files — entry points, core modules, handlers, services. Prioritize files with recent git changes (\`git diff --name-only HEAD~5\` via Bash if available).
26
- 3. **Analyze**: Look for real, actionable issues across ALL of these categories:
27
-
28
- ### Architecture
29
- - What is the current architecture (monolith, microservices, layered, etc.)?
30
- - Are there architectural violations? (e.g., presentation layer directly accessing data layer, circular dependencies between modules)
31
- - Is there proper separation of concerns?
32
- - Are there god objects or god modules that do too much?
33
-
34
- ### SOLID / OOP Principles
35
- - **SRP**: Classes/modules with multiple unrelated responsibilities
36
- - **OCP**: Code that requires modification instead of extension for new features
37
- - **LSP**: Subtypes that don't properly substitute for their base types
38
- - **ISP**: Interfaces/contracts that force implementations to depend on methods they don't use
39
- - **DIP**: High-level modules directly depending on low-level modules instead of abstractions
40
-
41
- ### Security
42
- - Injection vulnerabilities (SQL, XSS, command), hardcoded secrets/credentials, auth bypasses, insecure crypto, path traversal, SSRF, unsafe deserialization
43
-
44
- ### Bugs & Logic
45
- - Null/undefined errors, race conditions, logic errors, unhandled edge cases, off-by-one errors, resource leaks, incorrect error handling, incorrect algorithms
46
-
47
- ### Performance
48
- - N+1 queries, unnecessary re-renders, missing memoization, blocking I/O in hot paths, unbounded data structures, missing pagination
49
-
50
- ## CRITICAL — Structured Evidence Requirement
51
-
52
- For EACH finding, you MUST provide structured evidence that grounds the finding in actual code. This is required to prevent false positives.
53
-
54
- For each finding, use this reasoning process:
55
-
56
- 1. **PREMISE**: State the observable fact from the code. Quote the exact code you see.
57
- 2. **CONTEXT**: What is the surrounding code doing? Are there guards, fixes, or patterns elsewhere that might handle this?
58
- 3. **COUNTER-CHECK**: Actively look for evidence that CONTRADICTS your finding. Check for:
59
- - Guards or validation earlier in the call chain
60
- - Error handling wrapping the code
61
- - Configuration that changes behavior (e.g., NODE_ENV checks)
62
- - Comments explaining intentional design choices
63
- 4. **CONCLUSION**: Only report the finding if you could not find contradicting evidence.
64
-
65
- ### Common False Positive Patterns to AVOID
66
-
67
- - Claiming a function uses API X when it actually uses API Y (e.g., claiming Math.random() when code uses crypto.randomInt()) — ALWAYS quote the actual function call
68
- - Claiming a header/value is leaked when code already deletes/filters it — READ the full function
69
- - Claiming there's no guard when a condition check exists nearby — READ surrounding lines
70
- - Claiming N fields/methods when the actual count differs — COUNT explicitly
71
- - Claiming a resource leaks when cleanup exists in a different handler — SEARCH for the cleanup code
72
-
73
- ## Rules
74
-
75
- - Only report findings you are >90% confident about after completing the counter-check step.
76
- - Focus on architecture, SOLID violations, bugs, and security over style nits.
77
- - Each finding MUST reference a specific file and line number. Do not report vague or file-level issues.
78
- - Each finding MUST include an "evidence" field with the exact code snippet (1-5 lines) proving the issue exists.
79
- - Limit to the 25 most important findings, ranked by severity.
80
- - Do NOT modify any files. This is a read-only review.
81
- - Be HONEST about the overall quality. A codebase with serious issues should score low.
82
-
83
- ## Scoring Guidelines
84
-
85
- After your analysis, provide an honest overall quality score (0-100) and letter grade:
86
- - **A (90-100)**: Excellent — clean architecture, minimal issues, well-tested, follows best practices
87
- - **B (80-89)**: Good — solid code with minor issues, mostly well-structured
88
- - **C (70-79)**: Adequate — functional but has notable quality issues that should be addressed
89
- - **D (60-69)**: Below average — significant issues in architecture, testing, or code quality
90
- - **F (0-59)**: Poor — serious problems: security vulnerabilities, broken architecture, major bugs, or unmaintainable code
91
-
92
- Consider ALL findings (both CLI tool findings and your own) when determining the score. The score should reflect the overall state of the codebase honestly. A project with 50+ linting errors, formatting issues, complex functions, AND architectural problems should NOT score above 70.
93
-
94
- ## Output
95
-
96
- After your analysis, output EXACTLY one JSON code block with your findings. No other text after the JSON block.
97
-
98
- \`\`\`json
99
- {
100
- "score": 72,
101
- "grade": "C",
102
- "scoreRationale": "Brief explanation of why this score was given, referencing key issues",
103
- "findings": [
104
- {
105
- "severity": "critical|high|medium|low",
106
- "category": "architecture|oop|security|bugs|performance|logic",
107
- "file": "relative/path/to/file.ts",
108
- "line": 42,
109
- "title": "Short title describing the issue",
110
- "description": "What the problem is and why it matters.",
111
- "suggestion": "How to fix it.",
112
- "evidence": "const token = Math.random().toString(36) // exact code from file proving the issue"
113
- }
114
- ],
115
- "summary": "Brief 1-2 sentence summary of overall code quality."
116
- }
117
- \`\`\``;
19
+ const fromSkill = loadSkillPrompt('code-review', { dirPath, cliFindingsSection }, dirPath);
20
+ if (fromSkill)
21
+ return fromSkill;
22
+ // Inline fallback when Skill file is not available (e.g., standalone CLI install)
23
+ return `You are a senior staff engineer performing a rigorous code review.\n\nIMPORTANT: Your current working directory is "${dirPath}". Only review files within this directory.\n${cliFindingsSection}\nDiscover source files with Glob, read important files, analyze for architecture, SOLID, security, bugs, and performance issues. Each finding needs file, line, evidence. Output one JSON code block with score, grade, findings array, and summary.`;
118
24
  }
119
25
  // ── Response parsing ──────────────────────────────────────────
120
26
  const VALID_SEVERITIES = new Set(['critical', 'high', 'medium', 'low']);
@@ -283,7 +189,7 @@ function validateSingleFinding(finding, dirPath) {
283
189
  // Runs a second headless Claude pass that independently verifies
284
190
  // each finding against the actual code.
285
191
  export function buildVerificationPrompt(dirPath, findings) {
286
- const findingsJson = findings.map((f, i) => ({
192
+ const findingsJson = JSON.stringify(findings.map((f, i) => ({
287
193
  id: i + 1,
288
194
  severity: f.severity,
289
195
  category: f.category,
@@ -292,55 +198,12 @@ export function buildVerificationPrompt(dirPath, findings) {
292
198
  title: f.title,
293
199
  description: f.description,
294
200
  evidence: f.evidence || '(none provided)',
295
- }));
296
- return `You are an independent code review VERIFIER. A separate reviewer produced the findings below. Your job is to VERIFY each finding against the actual code. You are a skeptic — do NOT trust the original reviewer's claims.
297
-
298
- IMPORTANT: Your current working directory is "${dirPath}". Only read files within this directory.
299
-
300
- ## Findings to Verify
301
-
302
- ${JSON.stringify(findingsJson, null, 2)}
303
-
304
- ## Verification Process
305
-
306
- For EACH finding:
307
-
308
- 1. **Read the cited file and line** using the Read tool. Read at least 20 lines around the cited line for context.
309
- 2. **Check the specific claim** in the description. Does the code actually do what the finding claims?
310
- 3. **Search for counter-evidence**:
311
- - If the finding claims something is missing (no validation, no cleanup, no guard): search for it with Grep
312
- - If the finding claims an API is used: verify the actual API call at that line
313
- - If the finding claims a value is leaked/exposed: check if it's filtered/deleted elsewhere in the same function
314
- 4. **Verdict**: Mark as "confirmed" or "rejected" with a brief explanation
315
-
316
- ## Rules
317
-
318
- - You MUST actually Read each cited file. Do not rely on memory or assumptions.
319
- - Use Grep to search for patterns the finding claims exist (or don't exist).
320
- - A finding is "rejected" if:
321
- - The code does NOT match what the description claims
322
- - There IS a guard/fix that the finding claims is missing
323
- - The line number doesn't contain the relevant code
324
- - The finding is about a different version of the code than what exists now
325
- - A finding is "confirmed" if you can independently verify the issue exists in the current code.
326
- - Be thorough but efficient — focus verification effort on high/critical severity findings.
327
-
328
- ## Output
329
-
330
- Output EXACTLY one JSON code block. No other text after the JSON block.
331
-
332
- \`\`\`json
333
- {
334
- "verifications": [
335
- {
336
- "id": 1,
337
- "verdict": "confirmed|rejected",
338
- "confidence": 0.95,
339
- "note": "Brief explanation of what you found when checking the code"
340
- }
341
- ]
342
- }
343
- \`\`\``;
201
+ })), null, 2);
202
+ const fromSkill = loadSkillPrompt('verify-review', { dirPath, findingsJson }, dirPath);
203
+ if (fromSkill)
204
+ return fromSkill;
205
+ // Inline fallback
206
+ return `You are an independent code review VERIFIER. Verify each finding below against actual code in "${dirPath}".\n\n## Findings to Verify\n\n${findingsJson}\n\nFor each finding: Read the cited file, check the claim, search for counter-evidence. Output one JSON code block with verifications array containing id, verdict (confirmed|rejected), confidence, and note.`;
344
207
  }
345
208
  export function parseVerificationResponse(response) {
346
209
  const jsonStr = extractJson(response);
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-agent.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-review-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quality-review-agent.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-review-agent.ts"],"names":[],"mappings":"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"}