baxian 0.1.0 → 0.2.0

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 (55) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/bootstrap-poller.d.ts +6 -0
  3. package/dist/agent/bootstrap-poller.d.ts.map +1 -1
  4. package/dist/agent/bootstrap-poller.js +30 -0
  5. package/dist/agent/bootstrap-poller.js.map +1 -1
  6. package/dist/agent/bootstrap.d.ts +7 -0
  7. package/dist/agent/bootstrap.d.ts.map +1 -1
  8. package/dist/agent/bootstrap.js +104 -5
  9. package/dist/agent/bootstrap.js.map +1 -1
  10. package/dist/agent/manager.js +5 -5
  11. package/dist/agent/manager.js.map +1 -1
  12. package/dist/agent/marker-protocol.d.ts +10 -4
  13. package/dist/agent/marker-protocol.d.ts.map +1 -1
  14. package/dist/agent/marker-protocol.js +42 -34
  15. package/dist/agent/marker-protocol.js.map +1 -1
  16. package/dist/agent/post-approve-marker-watcher.d.ts.map +1 -1
  17. package/dist/agent/post-approve-marker-watcher.js +3 -7
  18. package/dist/agent/post-approve-marker-watcher.js.map +1 -1
  19. package/dist/agent/prompt.d.ts +3 -1
  20. package/dist/agent/prompt.d.ts.map +1 -1
  21. package/dist/agent/prompt.js +33 -51
  22. package/dist/agent/prompt.js.map +1 -1
  23. package/dist/agent/spec-review-marker-watcher.d.ts +3 -2
  24. package/dist/agent/spec-review-marker-watcher.d.ts.map +1 -1
  25. package/dist/agent/spec-review-marker-watcher.js +5 -7
  26. package/dist/agent/spec-review-marker-watcher.js.map +1 -1
  27. package/dist/api/config.d.ts.map +1 -1
  28. package/dist/api/config.js +16 -0
  29. package/dist/api/config.js.map +1 -1
  30. package/dist/api/projects.d.ts.map +1 -1
  31. package/dist/api/projects.js +30 -0
  32. package/dist/api/projects.js.map +1 -1
  33. package/dist/app.d.ts +2 -0
  34. package/dist/app.d.ts.map +1 -1
  35. package/dist/app.js.map +1 -1
  36. package/dist/event/handlers.js +2 -2
  37. package/dist/event/handlers.js.map +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +32 -9
  40. package/dist/index.js.map +1 -1
  41. package/dist/shared/types.d.ts +1 -8
  42. package/dist/shared/types.d.ts.map +1 -1
  43. package/dist/state/error-record-store.d.ts +12 -0
  44. package/dist/state/error-record-store.d.ts.map +1 -1
  45. package/dist/state/error-record-store.js +130 -1
  46. package/dist/state/error-record-store.js.map +1 -1
  47. package/dist/state/snapshot.d.ts +8 -2
  48. package/dist/state/snapshot.d.ts.map +1 -1
  49. package/dist/state/snapshot.js +45 -4
  50. package/dist/state/snapshot.js.map +1 -1
  51. package/dist/web/assets/index-53CBbz4w.js +4 -0
  52. package/dist/web/assets/{index-BztIjbNF.css → index-B9D6BV08.css} +1 -1
  53. package/dist/web/index.html +2 -2
  54. package/package.json +1 -1
  55. package/dist/web/assets/index-eKI0WBRQ.js +0 -4
@@ -1,6 +1,12 @@
1
- import type { BaxianMarker } from '../shared/index.js';
2
- export declare function buildBaxianMarker(marker: Omit<BaxianMarker, 'version'>): string;
3
- export declare function matchBaxianMarker(line: string): BaxianMarker | undefined;
4
- export declare function scanBaxianMarkers(text: string): BaxianMarker[];
1
+ export type ShortMarkerKind = 'spec-ready' | 'spec-review-complete' | 'spec-fix-complete' | 'post-approve-complete';
2
+ export type ShortMarkerCode = 'sr' | 'sc' | 'sf' | 'pc';
3
+ export interface ShortMarker {
4
+ kind: ShortMarkerKind;
5
+ token: string;
6
+ }
5
7
  export declare function stripMarkerAnsi(text: string): string;
8
+ export declare function buildShortMarker(kind: ShortMarkerKind, token: string): string;
9
+ export declare function createMarkerToken(): string;
10
+ export declare function buildShortMarkerTemplate(kind: ShortMarkerKind): string;
11
+ export declare function scanShortMarkers(text: string): ShortMarker[];
6
12
  //# sourceMappingURL=marker-protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"marker-protocol.d.ts","sourceRoot":"","sources":["../../src/agent/marker-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AAgBzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,MAAM,CAE/E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAYxE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAQ9D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD"}
1
+ {"version":3,"file":"marker-protocol.d.ts","sourceRoot":"","sources":["../../src/agent/marker-protocol.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,sBAAsB,GACtB,mBAAmB,GACnB,uBAAuB,CAAC;AAE5B,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAyBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7E;AAKD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAMD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAEtE;AAKD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAQ5D"}
@@ -1,44 +1,52 @@
1
- const MARKER_RE = /^\[baxian:v1:([a-z-]+):([A-Za-z0-9._-]+):([A-Za-z0-9._-]+|-):([A-Za-z0-9._-]+)\]$/;
2
- const KINDS = new Set([
3
- 'runtime-ready',
4
- 'pending-human',
5
- 'task-phase',
6
- 'post-approve-complete',
7
- 'spec-ready',
8
- 'spec-review-complete',
9
- 'spec-fix-complete',
10
- ]);
1
+ import { randomUUID } from 'node:crypto';
2
+ const CODE_BY_KIND = {
3
+ 'spec-ready': 'sr',
4
+ 'spec-review-complete': 'sc',
5
+ 'spec-fix-complete': 'sf',
6
+ 'post-approve-complete': 'pc',
7
+ };
8
+ const KIND_BY_CODE = {
9
+ sr: 'spec-ready',
10
+ sc: 'spec-review-complete',
11
+ sf: 'spec-fix-complete',
12
+ pc: 'post-approve-complete',
13
+ };
11
14
  const ANSI_PATTERN = /\x1b\[[0-?]*[ -/]*[@-~]/g;
12
15
  const OSC_PATTERN = /\x1b\][\s\S]*?(?:\x07|\x1b\\)/g;
13
- export function buildBaxianMarker(marker) {
14
- return `[baxian:v1:${marker.kind}:${marker.agentId}:${marker.taskId ?? '-'}:${marker.token}]`;
16
+ // Compact form (after whitespace strip); 6-char token is the floor, no upper
17
+ // bound here. Character set is base64url + dash so legacy randomUUID() tokens
18
+ // persisted before the format switch still parse after upgrade (task state
19
+ // carries the token across the redispatch boundary; new tokens use 12 hex).
20
+ const COMPACT_MARKER_RE = /\[bx:(sr|sc|sf|pc):([A-Za-z0-9_-]{6,64})\]/g;
21
+ export function stripMarkerAnsi(text) {
22
+ return text.replace(OSC_PATTERN, '').replace(ANSI_PATTERN, '');
23
+ }
24
+ export function buildShortMarker(kind, token) {
25
+ return `[bx:${CODE_BY_KIND[kind]}:${token}]`;
26
+ }
27
+ // 12 hex chars = 48 bits, plenty against guess/collision for per-marker tokens
28
+ // (only one is active per task+kind at a time, and rotate-on-dispatch makes
29
+ // stale tokens unusable). Matches COMPACT_MARKER_RE token capture.
30
+ export function createMarkerToken() {
31
+ return randomUUID().replace(/-/g, '').slice(0, 12);
15
32
  }
16
- export function matchBaxianMarker(line) {
17
- const m = MARKER_RE.exec(line.trim());
18
- if (!m)
19
- return undefined;
20
- const kind = m[1];
21
- if (!KINDS.has(kind))
22
- return undefined;
23
- return {
24
- version: 1,
25
- kind,
26
- agentId: m[2],
27
- taskId: m[3] === '-' ? undefined : m[3],
28
- token: m[4],
29
- };
33
+ // Template embeds <token> placeholder, never the real token, so the prompt
34
+ // text we send to the agent does NOT contain a fireable marker. The agent must
35
+ // actively substitute <token> when it decides to emit — that's what prevents
36
+ // false fires from the prompt's own text echoing through the pane.
37
+ export function buildShortMarkerTemplate(kind) {
38
+ return `[bx:${CODE_BY_KIND[kind]}:<token>]`;
30
39
  }
31
- export function scanBaxianMarkers(text) {
40
+ // Scan a chunk of pane bytes for short markers. Strips ANSI escapes (split
41
+ // across chunks merged at call site by the watcher), then strips whitespace so
42
+ // TUI soft-wrap (`[bx:sr:abc\n 12345]`) still matches.
43
+ export function scanShortMarkers(text) {
32
44
  const stripped = stripMarkerAnsi(text);
45
+ const compact = stripped.replace(/\s+/g, '');
33
46
  const markers = [];
34
- for (const line of stripped.split('\n')) {
35
- const marker = matchBaxianMarker(line);
36
- if (marker)
37
- markers.push(marker);
47
+ for (const m of compact.matchAll(COMPACT_MARKER_RE)) {
48
+ markers.push({ kind: KIND_BY_CODE[m[1]], token: m[2] });
38
49
  }
39
50
  return markers;
40
51
  }
41
- export function stripMarkerAnsi(text) {
42
- return text.replace(OSC_PATTERN, '').replace(ANSI_PATTERN, '');
43
- }
44
52
  //# sourceMappingURL=marker-protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"marker-protocol.js","sourceRoot":"","sources":["../../src/agent/marker-protocol.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG,mFAAmF,CAAC;AACtG,MAAM,KAAK,GAAG,IAAI,GAAG,CAAmB;IACtC,eAAe;IACf,eAAe;IACf,YAAY;IACZ,uBAAuB;IACvB,YAAY;IACZ,sBAAsB;IACtB,mBAAmB;CACpB,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAChD,MAAM,WAAW,GAAG,gCAAgC,CAAC;AAErD,MAAM,UAAU,iBAAiB,CAAC,MAAqC;IACrE,OAAO,cAAc,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAqB,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,IAAI;QACJ,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"marker-protocol.js","sourceRoot":"","sources":["../../src/agent/marker-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAsBzC,MAAM,YAAY,GAA6C;IAC7D,YAAY,EAAE,IAAI;IAClB,sBAAsB,EAAE,IAAI;IAC5B,mBAAmB,EAAE,IAAI;IACzB,uBAAuB,EAAE,IAAI;CAC9B,CAAC;AAEF,MAAM,YAAY,GAA6C;IAC7D,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,sBAAsB;IAC1B,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,uBAAuB;CAC5B,CAAC;AAEF,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAChD,MAAM,WAAW,GAAG,gCAAgC,CAAC;AAErD,6EAA6E;AAC7E,8EAA8E;AAC9E,2EAA2E;AAC3E,4EAA4E;AAC5E,MAAM,iBAAiB,GAAG,6CAA6C,CAAC;AAExE,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAqB,EAAE,KAAa;IACnE,OAAO,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC;AAC/C,CAAC;AAED,+EAA+E;AAC/E,4EAA4E;AAC5E,mEAAmE;AACnE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,2EAA2E;AAC3E,+EAA+E;AAC/E,6EAA6E;AAC7E,mEAAmE;AACnE,MAAM,UAAU,wBAAwB,CAAC,IAAqB;IAC5D,OAAO,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AAC9C,CAAC;AAED,2EAA2E;AAC3E,+EAA+E;AAC/E,wDAAwD;AACxD,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAoB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"post-approve-marker-watcher.d.ts","sourceRoot":"","sources":["../../src/agent/post-approve-marker-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAetE,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;CAC5D;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IAEd,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,wBAAwB;IAGvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAE5B,IAAI,EAAE,4BAA4B;IAEzD,KAAK,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC5D,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAW1B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI5B,OAAO,CAAC,UAAU;YAoCJ,cAAc;IAgC5B,OAAO,CAAC,aAAa;YAaP,0BAA0B;YAa1B,6BAA6B;CA2B5C"}
1
+ {"version":3,"file":"post-approve-marker-watcher.d.ts","sourceRoot":"","sources":["../../src/agent/post-approve-marker-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAetE,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;CAC5D;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IAEd,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,wBAAwB;IAGvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAE5B,IAAI,EAAE,4BAA4B;IAEzD,KAAK,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC5D,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAW1B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI5B,OAAO,CAAC,UAAU;YAgCJ,cAAc;IAgC5B,OAAO,CAAC,aAAa;YAaP,0BAA0B;YAa1B,6BAA6B;CA2B5C"}
@@ -1,4 +1,4 @@
1
- import { scanBaxianMarkers, stripMarkerAnsi } from './marker-protocol.js';
1
+ import { scanShortMarkers } from './marker-protocol.js';
2
2
  const MATCH_BUFFER_CHARS = 1024;
3
3
  export class PostApproveMarkerWatcher {
4
4
  deps;
@@ -58,14 +58,10 @@ export class PostApproveMarkerWatcher {
58
58
  onPaneData(entry, chunk) {
59
59
  if (entry.fired)
60
60
  return;
61
- // Strip ANSI AFTER merge so chunk-split escape sequences rejoin first.
61
+ // Merge before scan so chunk-split markers and ANSI escapes both rejoin.
62
62
  // Search BEFORE slicing — initial snapshot may exceed the buffer cap.
63
63
  const rawCombined = entry.buffer + chunk;
64
- const combined = stripMarkerAnsi(rawCombined);
65
- const marker = scanBaxianMarkers(combined).find(candidate => candidate.kind === 'post-approve-complete'
66
- && candidate.agentId === entry.agentId
67
- && candidate.taskId === entry.taskId
68
- && candidate.token === entry.expectedToken);
64
+ const marker = scanShortMarkers(rawCombined).find(candidate => candidate.kind === 'post-approve-complete' && candidate.token === entry.expectedToken);
69
65
  entry.buffer = rawCombined.slice(-MATCH_BUFFER_CHARS);
70
66
  if (!marker)
71
67
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"post-approve-marker-watcher.js","sourceRoot":"","sources":["../../src/agent/post-approve-marker-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-approve-marker-watcher.js","sourceRoot":"","sources":["../../src/agent/post-approve-marker-watcher.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type AgentConfig, type AgentRole, type TaskState } from '../shared/index.js';
2
2
  import type { SkillRegistry } from '../skill/registry.js';
3
+ import { type ShortMarkerKind } from './marker-protocol.js';
3
4
  export declare const BAXIAN_PR_MARKER = "<!-- baxian:managed -->";
4
5
  export declare const MAX_PROMPT_BYTES: number;
5
6
  export declare const MAX_PROMPT_BYTES_ROUTE_LIMIT: number;
@@ -28,6 +29,7 @@ export interface BuildPromptOpts {
28
29
  }
29
30
  export declare const MAX_INLINE_FINDINGS_BYTES: number;
30
31
  export declare function buildPromptInline(opts: BuildPromptOpts): string;
32
+ declare function buildMarkerEmitBlock(kind: ShortMarkerKind, token: string): string;
31
33
  export interface PostMergeCleanupContext {
32
34
  prNumber: number;
33
35
  taskId: string;
@@ -38,5 +40,5 @@ export interface PostMergeBranchCleanupResult {
38
40
  detail: string;
39
41
  }
40
42
  export declare function buildPostMergeCleanupPrompt(ctx: PostMergeCleanupContext, result: PostMergeBranchCleanupResult): string;
41
- export declare function buildSpecMarkerPrintCommand(agentId: string, taskId: string, kind: 'spec-ready' | 'spec-review-complete' | 'spec-fix-complete' | 'post-approve-complete', token: string): string;
43
+ export { buildMarkerEmitBlock };
42
44
  //# sourceMappingURL=prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/agent/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,eAAO,MAAM,gBAAgB,4BAA4B,CAAC;AAE1D,eAAO,MAAM,gBAAgB,QAAY,CAAC;AAE1C,eAAO,MAAM,4BAA4B,QAA0B,CAAC;AAEpE,qBAAa,eAAgB,SAAQ,KAAK;aACZ,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAO1C;AAED,qBAAa,0BAA2B,SAAQ,KAAK;aACvB,OAAO,EAAE,MAAM,EAAE;gBAAjB,OAAO,EAAE,MAAM,EAAE;CAQ9C;AAyBD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,aAAa,EACvB,aAAa,GAAE,SAAS,MAAM,EAAO,GACpC,MAAM,CAqBR;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,yBAAyB,QAAY,CAAC;AAOnD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CA2B/D;AAsJD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,uBAAuB,EAC5B,MAAM,EAAE,4BAA4B,GACnC,MAAM,CASR;AAgBD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EACA,YAAY,GACZ,sBAAsB,GACtB,mBAAmB,GACnB,uBAAuB,EAC3B,KAAK,EAAE,MAAM,GACZ,MAAM,CAWR"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/agent/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAA8C,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAExG,eAAO,MAAM,gBAAgB,4BAA4B,CAAC;AAE1D,eAAO,MAAM,gBAAgB,QAAY,CAAC;AAE1C,eAAO,MAAM,4BAA4B,QAA0B,CAAC;AAEpE,qBAAa,eAAgB,SAAQ,KAAK;aACZ,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAO1C;AAED,qBAAa,0BAA2B,SAAQ,KAAK;aACvB,OAAO,EAAE,MAAM,EAAE;gBAAjB,OAAO,EAAE,MAAM,EAAE;CAQ9C;AAyBD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,aAAa,EACvB,aAAa,GAAE,SAAS,MAAM,EAAO,GACpC,MAAM,CAqBR;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,yBAAyB,QAAY,CAAC;AAOnD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CA0B/D;AA0ID,iBAAS,oBAAoB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAO1E;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,uBAAuB,EAC5B,MAAM,EAAE,4BAA4B,GACnC,MAAM,CASR;AAgBD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { AGENT_PHASES } from '../shared/index.js';
2
- import { buildBaxianMarker } from './marker-protocol.js';
2
+ import { buildShortMarker, buildShortMarkerTemplate } from './marker-protocol.js';
3
3
  export const BAXIAN_PR_MARKER = '<!-- baxian:managed -->';
4
4
  export const MAX_PROMPT_BYTES = 80 * 1024;
5
5
  // 1KB margin: preview uses placeholders; real worktree path may be longer at inject.
@@ -81,7 +81,6 @@ export function buildPromptInline(opts) {
81
81
  task: opts.task,
82
82
  phase: opts.phase,
83
83
  role: opts.agent.role,
84
- agentId: opts.agent.id,
85
84
  worktreePath: opts.worktreePath,
86
85
  postApproveToken: opts.postApproveToken,
87
86
  specMarkerToken: opts.specMarkerToken,
@@ -96,7 +95,7 @@ export function buildPromptInline(opts) {
96
95
  return fullPrompt;
97
96
  }
98
97
  function buildTaskBody(args) {
99
- const { task, phase, role, agentId, worktreePath, postApproveToken, specMarkerToken, specFindings, currentSpecRound, } = args;
98
+ const { task, phase, role, worktreePath, postApproveToken, specMarkerToken, specFindings, currentSpecRound, } = args;
100
99
  const header = `Phase: ${phase}\nRole: ${role}\nTask ID: ${task.id}\nWorktree: ${worktreePath}\n` +
101
100
  `cd into the worktree before any file operations.\n\n`;
102
101
  if (phase === 'post_approve' && !postApproveToken) {
@@ -105,25 +104,19 @@ function buildTaskBody(args) {
105
104
  if ((phase === 'spec-review' || phase === 'spec-fix') && !specMarkerToken) {
106
105
  throw new Error(`${phase} prompt requires specMarkerToken`);
107
106
  }
107
+ // Guard: the rendered prompt must not contain a filled marker literal —
108
+ // PaneStreamer would fire on the prompt itself if the agent verbatim-echoed
109
+ // it. buildMarkerEmitBlock keeps the template (with `<token>` placeholder)
110
+ // and the token on separate lines for exactly this reason.
108
111
  const postApproveMarker = postApproveToken
109
- ? buildBaxianMarker({
110
- kind: 'post-approve-complete',
111
- agentId,
112
- taskId: task.id,
113
- token: postApproveToken,
114
- })
112
+ ? buildShortMarker('post-approve-complete', postApproveToken)
115
113
  : undefined;
116
- const specMarkerLiteral = specMarkerToken
117
- ? buildBaxianMarker({
118
- kind: phase === 'spec-review'
119
- ? 'spec-review-complete'
120
- : phase === 'spec-fix'
121
- ? 'spec-fix-complete'
122
- : 'spec-ready',
123
- agentId,
124
- taskId: task.id,
125
- token: specMarkerToken,
126
- })
114
+ const specKind = phase === 'spec-review' ? 'spec-review-complete'
115
+ : phase === 'spec-fix' ? 'spec-fix-complete'
116
+ : phase === 'develop' ? 'spec-ready'
117
+ : undefined;
118
+ const specMarkerLiteral = specMarkerToken && specKind
119
+ ? buildShortMarker(specKind, specMarkerToken)
127
120
  : undefined;
128
121
  let phaseInstructions = '';
129
122
  if (phase === 'post_approve') {
@@ -135,11 +128,8 @@ function buildTaskBody(args) {
135
128
  '- For each item that does need a response, either fix it or reply "Won\'t fix" with a concrete reason.',
136
129
  '- If you make code changes, commit and push them; baxian will send the PR back to QA for recheck.',
137
130
  '- Before echoing the marker: re-fetch the three feedback sources one more time. The server suppresses redispatches while you are running, so any human comment that arrived during your pass only reaches you through this final re-fetch. If any new non-self item now has created_at > T_self, handle it and re-fetch again. Only echo the marker when a re-fetch returns no unhandled items.',
138
- '- If no code changes are needed after responding, signal completion by running this exact shell',
139
- ' command in your terminal and then stop. The three quoted args are deliberate — do NOT inline',
140
- ' the resulting concatenated string in your reply text, in code, or in summaries, or it will',
141
- ' fire completion prematurely.',
142
- ` ${buildPostApproveMarkerPrintCommand(agentId, task.id, postApproveToken)}`,
131
+ '- If no code changes are needed after responding, signal completion and then stop:',
132
+ buildMarkerEmitBlock('post-approve-complete', postApproveToken),
143
133
  '- Do not merge the PR yourself from this phase.',
144
134
  '',
145
135
  ].join('\n');
@@ -147,10 +137,9 @@ function buildTaskBody(args) {
147
137
  else if (phase === 'develop' && specMarkerToken) {
148
138
  phaseInstructions = [
149
139
  'Spec review (optional):',
150
- '- If you want QA to review a written spec before coding, commit + push the spec on this task\'s branch, then run this exact shell command in your terminal:',
151
- ` ${buildSpecMarkerPrintCommand(agentId, task.id, 'spec-ready', specMarkerToken)}`,
140
+ '- If you want QA to review a written spec before coding, commit + push the spec on this task\'s branch, then signal:',
141
+ buildMarkerEmitBlock('spec-ready', specMarkerToken),
152
142
  '- Otherwise you may proceed straight to implementing and opening a PR.',
153
- '- Do NOT inline the concatenated marker string anywhere in your reply text or code; only the printf above is recognised.',
154
143
  '',
155
144
  ].join('\n');
156
145
  }
@@ -167,9 +156,8 @@ function buildTaskBody(args) {
167
156
  `- This worktree is checked out in detached HEAD. After committing, push with explicit refspec:`,
168
157
  ` git push origin HEAD:${branch}`,
169
158
  ` (a plain "git push" has no upstream and will fail.)`,
170
- `- Then run this exact shell command in your terminal:`,
171
- ` ${buildSpecMarkerPrintCommand(agentId, task.id, 'spec-review-complete', specMarkerToken)}`,
172
- `- Do NOT inline the concatenated marker string anywhere in your reply text.`,
159
+ `- Then signal completion:`,
160
+ buildMarkerEmitBlock('spec-review-complete', specMarkerToken),
173
161
  '',
174
162
  ].join('\n');
175
163
  }
@@ -185,9 +173,8 @@ function buildTaskBody(args) {
185
173
  `- After applying fixes, write a response file at .baxian/spec-review/round-${round}-response.json with this schema:`,
186
174
  ` { "round": ${round}, "responses": [{ "findingId": "f-1", "action": "fix"|"reject", "rationale": "..." }] }`,
187
175
  `- Commit + push BOTH the revised spec and the response file on this branch.`,
188
- `- Then run this exact shell command in your terminal:`,
189
- ` ${buildSpecMarkerPrintCommand(agentId, task.id, 'spec-fix-complete', specMarkerToken)}`,
190
- `- Do NOT inline the concatenated marker string anywhere in your reply text.`,
176
+ `- Then signal completion:`,
177
+ buildMarkerEmitBlock('spec-fix-complete', specMarkerToken),
191
178
  ...(truncatedFindings
192
179
  ? [
193
180
  '',
@@ -226,8 +213,17 @@ function truncateFindings(text) {
226
213
  cut--;
227
214
  return { text: buf.subarray(0, cut).toString('utf8'), truncated: true };
228
215
  }
229
- function buildPostApproveMarkerPrintCommand(agentId, taskId, token) {
230
- return buildSpecMarkerPrintCommand(agentId, taskId, 'post-approve-complete', token);
216
+ // Block agents inline in their reply text. Template contains a `<token>`
217
+ // placeholder and the real token is shown on a separate line — the agent must
218
+ // actively substitute when it decides to emit. This keeps the prompt itself
219
+ // marker-free, so PaneStreamer can't fire on a verbatim echo of these lines.
220
+ function buildMarkerEmitBlock(kind, token) {
221
+ return [
222
+ `- Emit on its own line in your reply, substituting <token>:`,
223
+ ` ${buildShortMarkerTemplate(kind)}`,
224
+ ` token: ${token}`,
225
+ ` Output the filled marker exactly once; do NOT inline it elsewhere.`,
226
+ ].join('\n');
231
227
  }
232
228
  export function buildPostMergeCleanupPrompt(ctx, result) {
233
229
  const status = renderCleanupStatus(ctx.branch, result);
@@ -252,19 +248,5 @@ function renderCleanupStatus(branch, result) {
252
248
  return `Local feature branch \`${branch}\` was not touched: ${result.detail || 'no repo path available'}.`;
253
249
  }
254
250
  }
255
- export function buildSpecMarkerPrintCommand(agentId, taskId, kind, token) {
256
- return [
257
- "printf '%s%s%s%s%s%s%s\\n'",
258
- shellSingleQuote(`[baxian:v1:${kind}:`),
259
- shellSingleQuote(agentId),
260
- shellSingleQuote(':'),
261
- shellSingleQuote(taskId),
262
- shellSingleQuote(':'),
263
- shellSingleQuote(token),
264
- shellSingleQuote(']'),
265
- ].join(' ');
266
- }
267
- function shellSingleQuote(value) {
268
- return `'${value.replace(/'/g, "'\\''")}'`;
269
- }
251
+ export { buildMarkerEmitBlock };
270
252
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agent/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agent/prompt.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import type { AgentConfig, BaxianMarkerKind } from '../shared/index.js';
1
+ import type { AgentConfig } from '../shared/index.js';
2
2
  import type { EventBus } from '../event/bus.js';
3
3
  import type { PaneStreamerManager } from './pane-streamer-manager.js';
4
- export type SpecMarkerKind = Extract<BaxianMarkerKind, 'spec-ready' | 'spec-review-complete' | 'spec-fix-complete'>;
4
+ import { type ShortMarkerKind } from './marker-protocol.js';
5
+ export type SpecMarkerKind = Extract<ShortMarkerKind, 'spec-ready' | 'spec-review-complete' | 'spec-fix-complete'>;
5
6
  export interface SpecReviewMarkerWatcherDeps {
6
7
  paneStreamerManager: PaneStreamerManager;
7
8
  eventBus: EventBus;
@@ -1 +1 @@
1
- {"version":3,"file":"spec-review-marker-watcher.d.ts","sourceRoot":"","sources":["../../src/agent/spec-review-marker-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAKtE,MAAM,MAAM,cAAc,GAAG,OAAO,CAClC,gBAAgB,EAChB,YAAY,GAAG,sBAAsB,GAAG,mBAAmB,CAC5D,CAAC;AAmBF,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;CAC5D;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IAEd,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAMD,qBAAa,uBAAuB;IAGtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAE5B,IAAI,EAAE,2BAA2B;IAExD,KAAK,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD3D,sEAAsE;IACtE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI;IAgBjD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO;IAIlD,OAAO,CAAC,UAAU;YAgCJ,cAAc;IAoB5B,OAAO,CAAC,aAAa;YAcP,0BAA0B;YAa1B,6BAA6B;CA2B5C"}
1
+ {"version":3,"file":"spec-review-marker-watcher.d.ts","sourceRoot":"","sources":["../../src/agent/spec-review-marker-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI9E,MAAM,MAAM,cAAc,GAAG,OAAO,CAClC,eAAe,EACf,YAAY,GAAG,sBAAsB,GAAG,mBAAmB,CAC5D,CAAC;AAmBF,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;CAC5D;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IAEd,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAMD,qBAAa,uBAAuB;IAGtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAE5B,IAAI,EAAE,2BAA2B;IAExD,KAAK,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD3D,sEAAsE;IACtE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI;IAgBjD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO;IAIlD,OAAO,CAAC,UAAU;YA8BJ,cAAc;IAoB5B,OAAO,CAAC,aAAa;YAcP,0BAA0B;YAa1B,6BAA6B;CA2B5C"}
@@ -1,4 +1,4 @@
1
- import { scanBaxianMarkers, stripMarkerAnsi } from './marker-protocol.js';
1
+ import { scanShortMarkers } from './marker-protocol.js';
2
2
  const MATCH_BUFFER_CHARS = 1024;
3
3
  const KIND_TO_EVENT = {
4
4
  'spec-ready': 'spec.ready',
@@ -87,13 +87,11 @@ export class SpecReviewMarkerWatcher {
87
87
  onPaneData(entry, chunk) {
88
88
  if (entry.fired)
89
89
  return;
90
- // Strip ANSI AFTER merge so chunk-split escape sequences rejoin first.
90
+ // Merge before scan so chunk-split markers (e.g. `[bx:sr:ab` then `cdef]`)
91
+ // and ANSI escapes split across chunks both rejoin. scanShortMarkers strips
92
+ // ANSI + whitespace so TUI soft-wrap inside the marker still matches.
91
93
  const rawCombined = entry.buffer + chunk;
92
- const combined = stripMarkerAnsi(rawCombined);
93
- const marker = scanBaxianMarkers(combined).find(candidate => candidate.kind === entry.kind
94
- && candidate.agentId === entry.agentId
95
- && candidate.taskId === entry.taskId
96
- && candidate.token === entry.expectedToken);
94
+ const marker = scanShortMarkers(rawCombined).find(candidate => candidate.kind === entry.kind && candidate.token === entry.expectedToken);
97
95
  entry.buffer = rawCombined.slice(-MATCH_BUFFER_CHARS);
98
96
  if (!marker)
99
97
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"spec-review-marker-watcher.js","sourceRoot":"","sources":["../../src/agent/spec-review-marker-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-review-marker-watcher.js","sourceRoot":"","sources":["../../src/agent/spec-review-marker-watcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/api/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAiBvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAQ/D;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFtE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/api/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAkBvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAQ/D;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAiGtE"}
@@ -1,3 +1,4 @@
1
+ import { autoBootstrapAgentIds } from '../agent/bootstrap.js';
1
2
  import { saveConfig, prepareConfig, ConfigValidationError, } from '../config/loader.js';
2
3
  import { withConfigLock } from '../config/mutex.js';
3
4
  const REDACTED = '***';
@@ -87,6 +88,21 @@ export async function configRoutes(app) {
87
88
  }
88
89
  await saveConfig(app.ctx.configPath, validated);
89
90
  app.ctx.config = validated;
91
+ // PATCH /config bulk-replaces project definitions. Both "agent id removed" and "agent id
92
+ // kept but transitioned out of auto-bootstrap (workdir set)" leave stale bootstrap errors
93
+ // that would otherwise resurface as red cards after the operator restarts. Sweep by the
94
+ // new auto-bootstrap set so both cases are covered in a single pass.
95
+ // Note: endpoint returns restartRequired=true and does NOT hot-replace bootstrapPoller,
96
+ // so the old poller may append fresh stale records in the pre-restart window. That race
97
+ // is closed by the matching sweep at server startup in index.ts.
98
+ if (app.ctx.errorRecordStore) {
99
+ try {
100
+ await app.ctx.errorRecordStore.sweepStaleBootstrapErrors(autoBootstrapAgentIds(validated));
101
+ }
102
+ catch (purgeErr) {
103
+ app.log.warn({ err: purgeErr }, 'PATCH /config sweepStaleBootstrapErrors failed');
104
+ }
105
+ }
90
106
  return reply.send({
91
107
  config: redactConfig(validated),
92
108
  restartRequired: true,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/api/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/api/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/api/projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA6C/C,wBAAsB,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA0gBvE"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/api/projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA6C/C,wBAAsB,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAyiBvE"}
@@ -36,6 +36,25 @@ export async function projectRoutes(app) {
36
36
  }
37
37
  return project;
38
38
  });
39
+ app.post('/projects/:id/bootstrap', async (request, reply) => {
40
+ if (!app.ctx.bootstrapPoller) {
41
+ return reply.status(503).send({ error: 'bootstrap poller not initialised' });
42
+ }
43
+ // Use the poller's view of config (not app.ctx.config) as the source of truth — PATCH /config
44
+ // updates ctx.config but only DELETE /agents currently hot-replaces the poller, so during the
45
+ // PATCH-then-restart window ctx.config can list projects the poller doesn't know yet.
46
+ const result = await app.ctx.bootstrapPoller.pollProject(request.params.id);
47
+ if (!result.knownProject) {
48
+ return reply.status(404).send({
49
+ error: `Project "${request.params.id}" not found in active bootstrap config (a recent PATCH /config may need a server restart to take effect)`,
50
+ });
51
+ }
52
+ if (result.ran === 0) {
53
+ // Project exists but has no auto-mode agents (all have explicit workdir) → success no-op.
54
+ return reply.send({ ok: true, ran: 0, message: 'no bootstrap targets for this project' });
55
+ }
56
+ return reply.send({ ok: result.ok, ran: result.ran });
57
+ });
39
58
  app.post('/projects/:id/checks', async (request, reply) => {
40
59
  const project = app.ctx.config.project.find(p => p.id === request.params.id);
41
60
  if (!project) {
@@ -350,6 +369,17 @@ export async function projectRoutes(app) {
350
369
  catch (delErr) {
351
370
  app.log.warn({ err: delErr, agentId: id }, 'DELETE /agents Phase 3 agentStore.delete failed');
352
371
  }
372
+ // Clear stale error records so reusing the same agent id (delete + recreate) doesn't
373
+ // inherit the previous incarnation's bootstrap failures in the new snapshot.
374
+ // Best-effort; failure is logged but doesn't block deletion.
375
+ if (app.ctx.errorRecordStore) {
376
+ try {
377
+ await app.ctx.errorRecordStore.purgeAgent(id);
378
+ }
379
+ catch (purgeErr) {
380
+ app.log.warn({ err: purgeErr, agentId: id }, 'DELETE /agents errorRecordStore.purgeAgent failed');
381
+ }
382
+ }
353
383
  await app.ctx.lockManager.release(id);
354
384
  }
355
385
  return reply.send({ removed: targets, restartRequired: false });