baxian 2.0.3 → 2.0.4

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 (72) hide show
  1. package/README.md +2 -2
  2. package/README.zh-CN.md +3 -3
  3. package/dist/agent/bootstrap.js +4 -4
  4. package/dist/agent/dispatch-reconciler.d.ts +2 -0
  5. package/dist/agent/dispatch-reconciler.d.ts.map +1 -1
  6. package/dist/agent/dispatch-reconciler.js +48 -4
  7. package/dist/agent/dispatch-reconciler.js.map +1 -1
  8. package/dist/agent/manager.d.ts +41 -4
  9. package/dist/agent/manager.d.ts.map +1 -1
  10. package/dist/agent/manager.js +707 -77
  11. package/dist/agent/manager.js.map +1 -1
  12. package/dist/agent/tmux-probe-poller.js +4 -4
  13. package/dist/api/agents.d.ts.map +1 -1
  14. package/dist/api/agents.js +2 -7
  15. package/dist/api/agents.js.map +1 -1
  16. package/dist/api/config.js +7 -7
  17. package/dist/api/hosts.js +6 -6
  18. package/dist/api/platform-guard.js +2 -2
  19. package/dist/api/projects.js +14 -14
  20. package/dist/api/projects.js.map +1 -1
  21. package/dist/api/tasks.d.ts.map +1 -1
  22. package/dist/api/tasks.js +94 -57
  23. package/dist/api/tasks.js.map +1 -1
  24. package/dist/app.d.ts +2 -0
  25. package/dist/app.d.ts.map +1 -1
  26. package/dist/app.js.map +1 -1
  27. package/dist/cli.js +2 -2
  28. package/dist/config/loader.js +5 -5
  29. package/dist/config/loader.js.map +1 -1
  30. package/dist/config/validator.js +29 -29
  31. package/dist/config/validator.js.map +1 -1
  32. package/dist/event/handlers.d.ts.map +1 -1
  33. package/dist/event/handlers.js +3 -0
  34. package/dist/event/handlers.js.map +1 -1
  35. package/dist/event/ws.d.ts.map +1 -1
  36. package/dist/event/ws.js +3 -3
  37. package/dist/event/ws.js.map +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +5 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/platform/feedback.d.ts +5 -1
  42. package/dist/platform/feedback.d.ts.map +1 -1
  43. package/dist/platform/feedback.js +7 -1
  44. package/dist/platform/feedback.js.map +1 -1
  45. package/dist/platform/platform-poller.d.ts +5 -1
  46. package/dist/platform/platform-poller.d.ts.map +1 -1
  47. package/dist/platform/platform-poller.js +8 -6
  48. package/dist/platform/platform-poller.js.map +1 -1
  49. package/dist/platform/pr-conversation-cache.d.ts +12 -7
  50. package/dist/platform/pr-conversation-cache.d.ts.map +1 -1
  51. package/dist/platform/pr-conversation-cache.js +60 -23
  52. package/dist/platform/pr-conversation-cache.js.map +1 -1
  53. package/dist/platform/review-timeline.d.ts +17 -2
  54. package/dist/platform/review-timeline.d.ts.map +1 -1
  55. package/dist/platform/review-timeline.js +93 -84
  56. package/dist/platform/review-timeline.js.map +1 -1
  57. package/dist/shared/types.d.ts +31 -1
  58. package/dist/shared/types.d.ts.map +1 -1
  59. package/dist/shared/types.js +14 -0
  60. package/dist/shared/types.js.map +1 -1
  61. package/dist/state/snapshot.d.ts +0 -1
  62. package/dist/state/snapshot.d.ts.map +1 -1
  63. package/dist/state/snapshot.js +0 -13
  64. package/dist/state/snapshot.js.map +1 -1
  65. package/dist/state/task-store.d.ts.map +1 -1
  66. package/dist/state/task-store.js +96 -8
  67. package/dist/state/task-store.js.map +1 -1
  68. package/dist/web/assets/index-CzVzThuT.js +15 -0
  69. package/dist/web/assets/{index-yqxawAPJ.css → index-Rmp4wT_5.css} +1 -1
  70. package/dist/web/index.html +2 -2
  71. package/package.json +1 -1
  72. package/dist/web/assets/index-CiAnjs1_.js +0 -15
@@ -1,6 +1,6 @@
1
1
  import { readFile, writeFile, readdir, unlink, rename } from 'node:fs/promises';
2
2
  import { join } from 'node:path';
3
- import { effectiveTaskReviewRound, isRecord, mapWithConcurrency, FS_READ_CONCURRENCY, TASK_PHASE_SET, } from '../shared/index.js';
3
+ import { effectiveTaskReviewRound, isRecord, mapWithConcurrency, FS_READ_CONCURRENCY, TASK_PHASE_SET, TASK_TERMINAL_STATUS_SET, taskMatchesAttentionGeneration, } from '../shared/index.js';
4
4
  const SAFE_ID = /^[A-Za-z0-9_-]+$/;
5
5
  function withTaskFileContext(file, error) {
6
6
  if (error instanceof Error)
@@ -13,9 +13,9 @@ const TASK_FIELDS = [
13
13
  'reviewDispatchedAt', 'prFeedbackReceivedAt', 'reviewConversationUpdatedAt', 'fixDispatchedAt', 'reviewRound', 'reviewRoundPending', 'specReviewRound', 'phase', 'deliveryConfirmation', 'signalToken',
14
14
  'status', 'createdAt', 'updatedAt', 'images',
15
15
  'maxRoundsContinues',
16
- 'postApproveRevoked', 'postApproveHeadSha', 'verdictOverdue',
16
+ 'postApproveRevoked', 'postApproveHeadSha', 'attention',
17
17
  'passToken', 'failToken', 'pendingPrSignalToken', 'postApproveToken', 'postApproveGeneration', 'postApprovePhase', 'reviewDispatch', 'platformBinding', 'baseBranch', 'replyActorId', 'replyActorStatus',
18
- 'closedUnmergedAnchor', 'passProvenance', 'consumedFeedback', 'outbox', 'pendingRedispatch', 'redispatchCount',
18
+ 'closedUnmergedAnchor', 'passProvenance', 'consumedFeedback', 'outbox', 'replacementTaskId', 'pendingRedispatch', 'redispatchCount',
19
19
  ];
20
20
  const REVIEW_TOKEN_RE = /^[0-9a-f]{12}$/;
21
21
  const TASK_STATUSES = new Set([
@@ -23,6 +23,7 @@ const TASK_STATUSES = new Set([
23
23
  'merged', 'done', 'max_rounds', 'failed', 'cancelled',
24
24
  ]);
25
25
  const HEAD_SHA_RE = /^[0-9a-f]{7,64}$/i;
26
+ const TASK_OPERATIONS = new Set(['advance', 'verdict', 'cancel', 'retry']);
26
27
  const REMOTE_FAILURE_KINDS = new Set([
27
28
  'config', 'binding', 'close', 'persist', 'delete', 'probe', 'tip-changed',
28
29
  ]);
@@ -122,9 +123,13 @@ function validateTask(raw) {
122
123
  for (const field of [
123
124
  'prUrl', 'branch', 'latestHeadSha', 'reviewHeadAnchorSha', 'reviewDispatchedAt',
124
125
  'prFeedbackReceivedAt', 'reviewConversationUpdatedAt', 'fixDispatchedAt', 'signalToken',
125
- 'postApproveHeadSha',
126
+ 'postApproveHeadSha', 'replacementTaskId',
126
127
  ])
127
128
  optionalString(raw, field);
129
+ if (raw.replacementTaskId !== undefined
130
+ && (!SAFE_ID.test(raw.replacementTaskId) || raw.replacementTaskId === raw.id)) {
131
+ throw taskSchemaError('replacementTaskId', 'a different safe task id when present');
132
+ }
128
133
  if (!Number.isInteger(raw.reviewRound) || raw.reviewRound < 0) {
129
134
  throw taskSchemaError('reviewRound', 'an integer >= 0');
130
135
  }
@@ -146,10 +151,14 @@ function validateTask(raw) {
146
151
  if (typeof raw.status !== 'string' || !TASK_STATUSES.has(raw.status)) {
147
152
  throw taskSchemaError('status', 'a known task status');
148
153
  }
154
+ if (raw.replacementTaskId !== undefined
155
+ && !TASK_TERMINAL_STATUS_SET.has(raw.status)) {
156
+ throw taskSchemaError('replacementTaskId', 'present only on a terminal source task');
157
+ }
149
158
  optionalInteger(raw, 'prNumber', 1);
150
159
  optionalInteger(raw, 'specReviewRound', 0);
151
160
  optionalInteger(raw, 'maxRoundsContinues', 0);
152
- for (const field of ['branchCreatedByBaxian', 'verdictOverdue', 'reviewRoundPending'])
161
+ for (const field of ['branchCreatedByBaxian', 'reviewRoundPending'])
153
162
  optionalBoolean(raw, field);
154
163
  if (raw.images !== undefined && (!Array.isArray(raw.images)
155
164
  || raw.images.some(image => typeof image !== 'string' || image.trim() === ''))) {
@@ -158,6 +167,7 @@ function validateTask(raw) {
158
167
  validateCleanupPending(raw, 'branchCleanupPending');
159
168
  validateCleanupPending(raw, 'branchCleanupSkipped');
160
169
  validateRemoteCleanup(raw);
170
+ validateAttention(raw);
161
171
  if (raw.branchLocalCleaned !== undefined) {
162
172
  const cleaned = raw.branchLocalCleaned;
163
173
  if (!isRecord(cleaned)
@@ -174,12 +184,60 @@ function validateTask(raw) {
174
184
  throw taskSchemaError('participants', 'distinct dev and qa agent ids');
175
185
  }
176
186
  if ((raw.devAgentId === '') !== (raw.qaAgentId === undefined)) {
177
- throw taskSchemaError('participants', 'a complete dev and qa pair, or neither when unassigned');
187
+ throw taskSchemaError('participants', 'a complete dev and qa Agent Team, or neither when unassigned');
178
188
  }
179
189
  if (raw.agentId !== '' && raw.agentId !== raw.devAgentId) {
180
190
  throw taskSchemaError('agentId', 'the task dev agent id');
181
191
  }
182
192
  }
193
+ function validateAttention(raw) {
194
+ const attention = raw.attention;
195
+ if (attention === undefined)
196
+ return;
197
+ if (!isRecord(attention))
198
+ throw taskSchemaError('attention', 'an object when present');
199
+ for (const field of ['reason', 'runbook', 'occurredAt']) {
200
+ if (typeof attention[field] !== 'string' || attention[field].trim() === '') {
201
+ throw taskSchemaError(`attention.${field}`, 'a non-empty string');
202
+ }
203
+ }
204
+ if (!Number.isFinite(Date.parse(attention.occurredAt))) {
205
+ throw taskSchemaError('attention.occurredAt', 'an ISO timestamp');
206
+ }
207
+ if (!Array.isArray(attention.recommendedActions)
208
+ || attention.recommendedActions.length === 0
209
+ || new Set(attention.recommendedActions).size !== attention.recommendedActions.length
210
+ || attention.recommendedActions.some(action => typeof action !== 'string' || !TASK_OPERATIONS.has(action))) {
211
+ throw taskSchemaError('attention.recommendedActions', 'unique task operations');
212
+ }
213
+ const generation = attention.generation;
214
+ if (!isRecord(generation))
215
+ throw taskSchemaError('attention.generation', 'an object');
216
+ if (typeof generation.status !== 'string' || !TASK_STATUSES.has(generation.status)) {
217
+ throw taskSchemaError('attention.generation.status', 'a known task status');
218
+ }
219
+ requireString(generation, 'agentId', true);
220
+ if (!Number.isInteger(generation.reviewRound) || generation.reviewRound < 0) {
221
+ throw taskSchemaError('attention.generation.reviewRound', 'an integer >= 0');
222
+ }
223
+ if (generation.phase !== undefined
224
+ && (typeof generation.phase !== 'string' || !TASK_PHASE_SET.has(generation.phase))) {
225
+ throw taskSchemaError('attention.generation.phase', 'spec or code when present');
226
+ }
227
+ optionalString(generation, 'signalToken');
228
+ optionalInteger(generation, 'specReviewRound', 0);
229
+ if (generation.postApproveGeneration !== undefined
230
+ && (typeof generation.postApproveGeneration !== 'string'
231
+ || !REVIEW_TOKEN_RE.test(generation.postApproveGeneration))) {
232
+ throw taskSchemaError('attention.generation.postApproveGeneration', 'a 12-hex token when present');
233
+ }
234
+ optionalString(generation, 'postApproveToken');
235
+ if (generation.remoteCleanupGeneration !== undefined
236
+ && (typeof generation.remoteCleanupGeneration !== 'string'
237
+ || !REVIEW_TOKEN_RE.test(generation.remoteCleanupGeneration))) {
238
+ throw taskSchemaError('attention.generation.remoteCleanupGeneration', 'a 12-hex token when present');
239
+ }
240
+ }
183
241
  function validateGitReviewFields(raw) {
184
242
  optionalBoolean(raw, 'pendingRedispatch');
185
243
  optionalInteger(raw, 'redispatchCount', 0);
@@ -321,6 +379,7 @@ function validateGitReviewFields(raw) {
321
379
  throw taskSchemaError('outbox', 'an array of pending operation entries when present');
322
380
  const keys = new Set();
323
381
  let hasSpecVerdict = false;
382
+ let hasCodeVerdict = false;
324
383
  for (const entry of outbox) {
325
384
  if (!isRecord(entry) || typeof entry.key !== 'string' || entry.key.trim() === ''
326
385
  || keys.has(entry.key) || !isRecord(entry.data)) {
@@ -329,8 +388,32 @@ function validateGitReviewFields(raw) {
329
388
  keys.add(entry.key);
330
389
  if (entry.type === 'human.intervention')
331
390
  continue;
391
+ if (entry.type === 'git.code-verdict') {
392
+ if (hasCodeVerdict)
393
+ throw taskSchemaError('outbox', 'at most one git.code-verdict entry');
394
+ hasCodeVerdict = true;
395
+ const data = entry.data;
396
+ const expectedToken = data.kind === 'pass' ? raw.passToken : data.kind === 'fail' ? raw.failToken : undefined;
397
+ if (!REVIEW_TOKEN_RE.test(entry.key)
398
+ || entry.key !== data.token
399
+ || !Number.isInteger(data.prNumber) || data.prNumber < 1
400
+ || (data.kind !== 'pass' && data.kind !== 'fail')
401
+ || typeof data.anchorSha !== 'string' || !HEAD_SHA_RE.test(data.anchorSha)
402
+ || typeof data.token !== 'string' || !REVIEW_TOKEN_RE.test(data.token)
403
+ || typeof data.comments !== 'string'
404
+ || (data.writeAttemptedAt !== undefined
405
+ && (typeof data.writeAttemptedAt !== 'string'
406
+ || !Number.isFinite(Date.parse(data.writeAttemptedAt))))
407
+ || raw.status !== 'review' || raw.phase === 'spec'
408
+ || raw.prNumber !== data.prNumber
409
+ || raw.reviewHeadAnchorSha !== data.anchorSha
410
+ || expectedToken !== data.token) {
411
+ throw taskSchemaError('outbox', 'a valid current code-phase git verdict operation');
412
+ }
413
+ continue;
414
+ }
332
415
  if (entry.type !== 'git.spec-verdict') {
333
- throw taskSchemaError('outbox.type', 'human.intervention or git.spec-verdict');
416
+ throw taskSchemaError('outbox.type', 'human.intervention, git.spec-verdict, or git.code-verdict');
334
417
  }
335
418
  if (hasSpecVerdict)
336
419
  throw taskSchemaError('outbox', 'at most one git.spec-verdict entry');
@@ -340,7 +423,8 @@ function validateGitReviewFields(raw) {
340
423
  || !Number.isInteger(data.prNumber) || data.prNumber < 1
341
424
  || typeof data.comments !== 'string' || data.comments.trim() === ''
342
425
  || (data.writeAttemptedAt !== undefined
343
- && (typeof data.writeAttemptedAt !== 'string' || data.writeAttemptedAt.trim() === ''))
426
+ && (typeof data.writeAttemptedAt !== 'string'
427
+ || !Number.isFinite(Date.parse(data.writeAttemptedAt))))
344
428
  || raw.phase !== 'spec' || raw.prNumber !== data.prNumber
345
429
  || (raw.status !== 'spec-ready' && raw.status !== 'max_rounds')
346
430
  || !Number.isInteger(raw.specReviewRound) || raw.specReviewRound < 1) {
@@ -364,6 +448,10 @@ function sanitizeTask(state) {
364
448
  }
365
449
  }
366
450
  validateTask(out);
451
+ if (out.attention
452
+ && !taskMatchesAttentionGeneration(out, out.attention.generation)) {
453
+ delete out.attention;
454
+ }
367
455
  return out;
368
456
  }
369
457
  export class TaskStore {
@@ -1 +1 @@
1
- {"version":3,"file":"task-store.js","sourceRoot":"","sources":["../../src/state/task-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-store.js","sourceRoot":"","sources":["../../src/state/task-store.ts"],"names":[],"mappings":"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"}