baxian 2.0.1 → 2.0.2
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.
- package/README.md +5 -7
- package/README.zh-CN.md +5 -7
- package/dist/agent/bootstrap.d.ts.map +1 -1
- package/dist/agent/bootstrap.js +2 -4
- package/dist/agent/bootstrap.js.map +1 -1
- package/dist/agent/branch.d.ts +0 -12
- package/dist/agent/branch.d.ts.map +1 -1
- package/dist/agent/branch.js +1 -71
- package/dist/agent/branch.js.map +1 -1
- package/dist/agent/dispatch-reconciler.d.ts.map +1 -1
- package/dist/agent/dispatch-reconciler.js +9 -9
- package/dist/agent/dispatch-reconciler.js.map +1 -1
- package/dist/agent/manager.d.ts +65 -138
- package/dist/agent/manager.d.ts.map +1 -1
- package/dist/agent/manager.js +928 -2442
- package/dist/agent/manager.js.map +1 -1
- package/dist/agent/pane-streamer.d.ts +4 -1
- package/dist/agent/pane-streamer.d.ts.map +1 -1
- package/dist/agent/pane-streamer.js +25 -5
- package/dist/agent/pane-streamer.js.map +1 -1
- package/dist/agent/phase-signal-watcher.d.ts +2 -11
- package/dist/agent/phase-signal-watcher.d.ts.map +1 -1
- package/dist/agent/phase-signal-watcher.js +38 -87
- package/dist/agent/phase-signal-watcher.js.map +1 -1
- package/dist/agent/phase-signal.d.ts +14 -40
- package/dist/agent/phase-signal.d.ts.map +1 -1
- package/dist/agent/phase-signal.js +47 -90
- package/dist/agent/phase-signal.js.map +1 -1
- package/dist/agent/preflight.d.ts +0 -1
- package/dist/agent/preflight.d.ts.map +1 -1
- package/dist/agent/preflight.js +8 -15
- package/dist/agent/preflight.js.map +1 -1
- package/dist/agent/prompt.d.ts +1 -30
- package/dist/agent/prompt.d.ts.map +1 -1
- package/dist/agent/prompt.js +21 -148
- package/dist/agent/prompt.js.map +1 -1
- package/dist/agent/repo-store.d.ts.map +1 -1
- package/dist/agent/repo-store.js +0 -4
- package/dist/agent/repo-store.js.map +1 -1
- package/dist/agent/root-agent-runtime.d.ts.map +1 -1
- package/dist/agent/root-agent-runtime.js +4 -2
- package/dist/agent/root-agent-runtime.js.map +1 -1
- package/dist/agent/root-recovery-coordinator.d.ts +0 -1
- package/dist/agent/root-recovery-coordinator.d.ts.map +1 -1
- package/dist/agent/root-recovery-coordinator.js +39 -61
- package/dist/agent/root-recovery-coordinator.js.map +1 -1
- package/dist/agent/vt-visible-text.d.ts +42 -0
- package/dist/agent/vt-visible-text.d.ts.map +1 -0
- package/dist/agent/vt-visible-text.js +482 -0
- package/dist/agent/vt-visible-text.js.map +1 -0
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +6 -2
- package/dist/api/config.js.map +1 -1
- package/dist/api/platform-guard.js +2 -2
- package/dist/api/platform-guard.js.map +1 -1
- package/dist/api/projects.d.ts.map +1 -1
- package/dist/api/projects.js +598 -318
- package/dist/api/projects.js.map +1 -1
- package/dist/api/tasks.d.ts.map +1 -1
- package/dist/api/tasks.js +15 -39
- package/dist/api/tasks.js.map +1 -1
- package/dist/config/loader.d.ts +5 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +36 -24
- package/dist/config/loader.js.map +1 -1
- package/dist/config/validator.d.ts +7 -4
- package/dist/config/validator.d.ts.map +1 -1
- package/dist/config/validator.js +57 -73
- package/dist/config/validator.js.map +1 -1
- package/dist/event/handlers.d.ts.map +1 -1
- package/dist/event/handlers.js +359 -226
- package/dist/event/handlers.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -5
- package/dist/index.js.map +1 -1
- package/dist/platform/command-renderer.d.ts +6 -0
- package/dist/platform/command-renderer.d.ts.map +1 -1
- package/dist/platform/command-renderer.js +20 -0
- package/dist/platform/command-renderer.js.map +1 -1
- package/dist/platform/driver-host.d.ts.map +1 -1
- package/dist/platform/driver-host.js +3 -1
- package/dist/platform/driver-host.js.map +1 -1
- package/dist/platform/driver-spec.d.ts.map +1 -1
- package/dist/platform/driver-spec.js +32 -4
- package/dist/platform/driver-spec.js.map +1 -1
- package/dist/platform/git-driver.d.ts +2 -0
- package/dist/platform/git-driver.d.ts.map +1 -1
- package/dist/platform/git-driver.js +9 -3
- package/dist/platform/git-driver.js.map +1 -1
- package/dist/platform/platform-poller.d.ts +0 -1
- package/dist/platform/platform-poller.d.ts.map +1 -1
- package/dist/platform/platform-poller.js +0 -6
- package/dist/platform/platform-poller.js.map +1 -1
- package/dist/platform/plugins/github/driver.json +5 -0
- package/dist/platform/plugins/github/skills/baxian-cli-gh/SKILL.md +20 -14
- package/dist/platform/startup.d.ts.map +1 -1
- package/dist/platform/startup.js +5 -5
- package/dist/platform/startup.js.map +1 -1
- package/dist/platform/types.d.ts +1 -0
- package/dist/platform/types.d.ts.map +1 -1
- package/dist/platform/types.js +3 -3
- package/dist/platform/types.js.map +1 -1
- package/dist/shared/constants.d.ts +1 -6
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +2 -29
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/types.d.ts +28 -124
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +7 -6
- package/dist/shared/types.js.map +1 -1
- package/dist/skills/baxian-pr-feedback/SKILL.md +5 -3
- package/dist/skills/baxian-pr-recheck/SKILL.md +4 -0
- package/dist/skills/baxian-pr-review/SKILL.md +4 -0
- package/dist/skills/baxian-signals/SKILL.md +15 -32
- package/dist/skills/baxian-task-check/SKILL.md +13 -14
- package/dist/state/snapshot.d.ts.map +1 -1
- package/dist/state/snapshot.js +5 -2
- package/dist/state/snapshot.js.map +1 -1
- package/dist/state/task-store.d.ts.map +1 -1
- package/dist/state/task-store.js +56 -140
- package/dist/state/task-store.js.map +1 -1
- package/dist/web/assets/index-BKiM0MSM.js +15 -0
- package/dist/web/assets/index-BS2adAfI.css +1 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/agent/review-transport.d.ts +0 -92
- package/dist/agent/review-transport.d.ts.map +0 -1
- package/dist/agent/review-transport.js +0 -512
- package/dist/agent/review-transport.js.map +0 -1
- package/dist/event/server-handlers.d.ts +0 -4
- package/dist/event/server-handlers.d.ts.map +0 -1
- package/dist/event/server-handlers.js +0 -1294
- package/dist/event/server-handlers.js.map +0 -1
- package/dist/skills/baxian-research/SKILL.md +0 -28
- package/dist/skills/baxian-server-feedback/SKILL.md +0 -40
- package/dist/skills/baxian-server-feedback/agents/openai.yaml +0 -2
- package/dist/skills/baxian-server-review/SKILL.md +0 -58
- package/dist/skills/baxian-server-review/agents/openai.yaml +0 -2
- package/dist/state/review-store.d.ts +0 -33
- package/dist/state/review-store.d.ts.map +0 -1
- package/dist/state/review-store.js +0 -272
- package/dist/state/review-store.js.map +0 -1
- package/dist/web/assets/index-BPv6vv3U.css +0 -1
- package/dist/web/assets/index-BXfgaFNm.js +0 -18
|
@@ -45,8 +45,9 @@ export interface GetSnapshotResult {
|
|
|
45
45
|
snapshotSeq: number;
|
|
46
46
|
}
|
|
47
47
|
export interface SubscriberCallbacks {
|
|
48
|
-
onLive
|
|
48
|
+
onLive?: (data: string, seq: number) => void;
|
|
49
49
|
onSessionGone: () => void;
|
|
50
|
+
onVisible?: (visible: string, seq: number) => void;
|
|
50
51
|
onSnapshotRefresh?: (snapshot: {
|
|
51
52
|
cols: number;
|
|
52
53
|
rows: number;
|
|
@@ -87,6 +88,8 @@ export declare class PaneStreamer {
|
|
|
87
88
|
private nextSeq;
|
|
88
89
|
private lastBroadcastSeq;
|
|
89
90
|
private live;
|
|
91
|
+
private visibleCbs;
|
|
92
|
+
private readonly visible;
|
|
90
93
|
private sessionGoneCbs;
|
|
91
94
|
private idleTimer;
|
|
92
95
|
private reattachTimer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pane-streamer.d.ts","sourceRoot":"","sources":["../../src/agent/pane-streamer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGzE,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAmC,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"pane-streamer.d.ts","sourceRoot":"","sources":["../../src/agent/pane-streamer.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { buildAttachInteractiveCommand, buildAttachProbeCommand, } from '../term
|
|
|
7
7
|
import { sshEnv } from './runner.js';
|
|
8
8
|
import { desiredTty } from './tmux.js';
|
|
9
9
|
import { computeBackoffMs } from '../timing/backoff.js';
|
|
10
|
+
import { VisibleTextExtractor } from './vt-visible-text.js';
|
|
10
11
|
const DEFAULT_SCROLLBACK_LINES = 1000;
|
|
11
12
|
const DEFAULT_IDLE_GRACE_MS = 5000;
|
|
12
13
|
const MIN_REATTACH_DELAY_MS = 1000;
|
|
@@ -128,6 +129,9 @@ export class PaneStreamer {
|
|
|
128
129
|
nextSeq = 0;
|
|
129
130
|
lastBroadcastSeq = -1;
|
|
130
131
|
live = new Set();
|
|
132
|
+
visibleCbs = new Set();
|
|
133
|
+
// Bound to the WHOLE PTY stream, never to one subscription's arbitrary starting chunk.
|
|
134
|
+
visible = new VisibleTextExtractor();
|
|
131
135
|
sessionGoneCbs = new Set();
|
|
132
136
|
idleTimer = null;
|
|
133
137
|
reattachTimer = null;
|
|
@@ -552,6 +556,8 @@ export class PaneStreamer {
|
|
|
552
556
|
if (this.destroyed)
|
|
553
557
|
return;
|
|
554
558
|
const seq = this.nextSeq++;
|
|
559
|
+
// Same bytes, same order as headless: that adjacency is what keeps scan and render in step.
|
|
560
|
+
const visible = this.visible.write(data);
|
|
555
561
|
await new Promise((resolve) => this.headless.write(data, () => resolve()));
|
|
556
562
|
this.lastBroadcastSeq = seq;
|
|
557
563
|
for (const cb of [...this.live]) {
|
|
@@ -560,6 +566,12 @@ export class PaneStreamer {
|
|
|
560
566
|
}
|
|
561
567
|
catch { }
|
|
562
568
|
}
|
|
569
|
+
for (const cb of [...this.visibleCbs]) {
|
|
570
|
+
try {
|
|
571
|
+
cb(visible, seq);
|
|
572
|
+
}
|
|
573
|
+
catch { }
|
|
574
|
+
}
|
|
563
575
|
});
|
|
564
576
|
}
|
|
565
577
|
async subscribeAtomic(cbs) {
|
|
@@ -578,7 +590,10 @@ export class PaneStreamer {
|
|
|
578
590
|
data: this.serialize.serialize(),
|
|
579
591
|
};
|
|
580
592
|
const snapshotSeq = this.lastBroadcastSeq;
|
|
581
|
-
|
|
593
|
+
if (cbs.onLive)
|
|
594
|
+
this.live.add(cbs.onLive);
|
|
595
|
+
if (cbs.onVisible)
|
|
596
|
+
this.visibleCbs.add(cbs.onVisible);
|
|
582
597
|
this.sessionGoneCbs.add(cbs.onSessionGone);
|
|
583
598
|
if (cbs.onSnapshotRefresh)
|
|
584
599
|
this.refreshCbs.add(cbs.onSnapshotRefresh);
|
|
@@ -664,6 +679,7 @@ export class PaneStreamer {
|
|
|
664
679
|
const goneCbs = [...this.sessionGoneCbs];
|
|
665
680
|
this.sessionGoneCbs.clear();
|
|
666
681
|
this.live.clear();
|
|
682
|
+
this.visibleCbs.clear();
|
|
667
683
|
this.refreshCbs.clear();
|
|
668
684
|
if (!opts.silent) {
|
|
669
685
|
for (const cb of goneCbs) {
|
|
@@ -693,7 +709,7 @@ export class PaneStreamer {
|
|
|
693
709
|
async handleAttachExit() {
|
|
694
710
|
if (this.destroyed)
|
|
695
711
|
return;
|
|
696
|
-
if (this.live.size === 0 && this.sessionGoneCbs.size === 0) {
|
|
712
|
+
if (this.live.size === 0 && this.visibleCbs.size === 0 && this.sessionGoneCbs.size === 0) {
|
|
697
713
|
this.scheduleIdleIfEmpty();
|
|
698
714
|
return;
|
|
699
715
|
}
|
|
@@ -757,6 +773,7 @@ export class PaneStreamer {
|
|
|
757
773
|
const cbs = [...this.sessionGoneCbs];
|
|
758
774
|
this.sessionGoneCbs.clear();
|
|
759
775
|
this.live.clear();
|
|
776
|
+
this.visibleCbs.clear();
|
|
760
777
|
this.refreshCbs.clear();
|
|
761
778
|
this.killAttachPty();
|
|
762
779
|
for (const cb of cbs) {
|
|
@@ -767,7 +784,10 @@ export class PaneStreamer {
|
|
|
767
784
|
}
|
|
768
785
|
}
|
|
769
786
|
unsubscribeOne(cbs) {
|
|
770
|
-
|
|
787
|
+
if (cbs.onLive)
|
|
788
|
+
this.live.delete(cbs.onLive);
|
|
789
|
+
if (cbs.onVisible)
|
|
790
|
+
this.visibleCbs.delete(cbs.onVisible);
|
|
771
791
|
this.sessionGoneCbs.delete(cbs.onSessionGone);
|
|
772
792
|
if (cbs.onSnapshotRefresh)
|
|
773
793
|
this.refreshCbs.delete(cbs.onSnapshotRefresh);
|
|
@@ -776,7 +796,7 @@ export class PaneStreamer {
|
|
|
776
796
|
scheduleIdleIfEmpty() {
|
|
777
797
|
if (this.destroyed)
|
|
778
798
|
return;
|
|
779
|
-
if (this.live.size > 0 || this.sessionGoneCbs.size > 0)
|
|
799
|
+
if (this.live.size > 0 || this.visibleCbs.size > 0 || this.sessionGoneCbs.size > 0)
|
|
780
800
|
return;
|
|
781
801
|
if (this.idleTimer)
|
|
782
802
|
return;
|
|
@@ -784,7 +804,7 @@ export class PaneStreamer {
|
|
|
784
804
|
return;
|
|
785
805
|
this.idleTimer = setTimeout(() => {
|
|
786
806
|
this.idleTimer = null;
|
|
787
|
-
if (this.live.size === 0 && this.sessionGoneCbs.size === 0 && !this.destroyed) {
|
|
807
|
+
if (this.live.size === 0 && this.visibleCbs.size === 0 && this.sessionGoneCbs.size === 0 && !this.destroyed) {
|
|
788
808
|
this.destroy();
|
|
789
809
|
}
|
|
790
810
|
}, this.idleGraceMs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pane-streamer.js","sourceRoot":"","sources":["../../src/agent/pane-streamer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pane-streamer.js","sourceRoot":"","sources":["../../src/agent/pane-streamer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { AgentConfig
|
|
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
|
-
import { type PhaseSignalKind
|
|
4
|
+
import { type PhaseSignalKind } from './phase-signal.js';
|
|
5
5
|
export interface NeedInputCommitIntent {
|
|
6
6
|
agentId: string;
|
|
7
7
|
taskId: string;
|
|
@@ -10,9 +10,6 @@ export interface NeedInputCommitIntent {
|
|
|
10
10
|
answeredSeq: number;
|
|
11
11
|
}
|
|
12
12
|
export type NeedInputCommitResult = 'ok' | 'fenced' | 'error';
|
|
13
|
-
export declare const SETTLE_PERMIT: unique symbol;
|
|
14
|
-
export type SettlePermit = symbol;
|
|
15
|
-
export declare function settlePermitOf(event: BaxianEvent): SettlePermit | undefined;
|
|
16
13
|
export interface PhaseSignalWatcherDeps {
|
|
17
14
|
paneStreamerManager: PaneStreamerManager;
|
|
18
15
|
eventBus: EventBus;
|
|
@@ -25,7 +22,6 @@ export interface PhaseSignalWatcherStartArgs {
|
|
|
25
22
|
agentId: string;
|
|
26
23
|
expectedKinds: PhaseSignalKind | readonly PhaseSignalKind[] | ReadonlySet<PhaseSignalKind>;
|
|
27
24
|
token: string;
|
|
28
|
-
onReadFile?: (req: ReadFileSignal) => void;
|
|
29
25
|
needInput?: {
|
|
30
26
|
epoch: number;
|
|
31
27
|
askSeq: number;
|
|
@@ -46,16 +42,11 @@ export declare class PhaseSignalWatcher {
|
|
|
46
42
|
private readonly pendingArms;
|
|
47
43
|
private armCounter;
|
|
48
44
|
private readonly settlingByTask;
|
|
49
|
-
private readonly exclusiveByTask;
|
|
50
|
-
private readonly exclusiveOwnerByTask;
|
|
51
45
|
constructor(deps: PhaseSignalWatcherDeps);
|
|
52
46
|
isSettling(taskId: string): boolean;
|
|
53
|
-
settlePermitMatches(taskId: string, permit: unknown): boolean;
|
|
54
47
|
awaitSettled(taskId: string): Promise<void>;
|
|
55
48
|
private beginSettling;
|
|
56
49
|
private endSettling;
|
|
57
|
-
exclusiveOwnerMatches(taskId: string, candidate: unknown): boolean;
|
|
58
|
-
runExclusive<T>(taskId: string, fn: (owner: SettlePermit) => Promise<T>): Promise<T>;
|
|
59
50
|
private taskEntries;
|
|
60
51
|
private replaceTargets;
|
|
61
52
|
start(args: PhaseSignalWatcherStartArgs): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase-signal-watcher.d.ts","sourceRoot":"","sources":["../../src/agent/phase-signal-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"phase-signal-watcher.d.ts","sourceRoot":"","sources":["../../src/agent/phase-signal-watcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,13 @@
|
|
|
1
|
-
import { compactBoundaryIndex, scanAskAnswerSignals, scanPhaseSignalMatches, scanPhaseSignals,
|
|
2
|
-
|
|
3
|
-
export const SETTLE_PERMIT = Symbol('baxian.settlePermit');
|
|
4
|
-
export function settlePermitOf(event) {
|
|
5
|
-
return event[SETTLE_PERMIT];
|
|
6
|
-
}
|
|
1
|
+
import { compactBoundaryIndex, scanAskAnswerSignals, scanPhaseSignalMatches, scanPhaseSignals, } from './phase-signal.js';
|
|
2
|
+
import { visibleText } from './vt-visible-text.js';
|
|
7
3
|
const MATCH_BUFFER_CHARS = 1024;
|
|
8
4
|
// Cap so a stuck pane spewing endless distinct tokens can't grow the set or the logs unbounded.
|
|
9
5
|
const STALE_TOKEN_WARN_CAP = 32;
|
|
10
6
|
const KIND_TO_EVENT_TYPE = {
|
|
11
|
-
'spec-fixed': 'server.spec.fix.submitted',
|
|
12
7
|
'pr-created': 'pr.created',
|
|
13
8
|
'pr-fixed': 'pr.fix.submitted',
|
|
14
9
|
'pr-merge-ready': 'pr.updated',
|
|
15
|
-
'spec-done': '
|
|
16
|
-
'spec-reviewed': 'server.spec.review.submitted',
|
|
17
|
-
'code-done': 'server.code.ready',
|
|
18
|
-
'code-reviewed': 'server.code.review.submitted',
|
|
19
|
-
'code-fixed': 'server.code.fix.submitted',
|
|
20
|
-
'code-ready': 'server.code.published',
|
|
10
|
+
'spec-done': 'spec.ready',
|
|
21
11
|
};
|
|
22
12
|
function normalizeKinds(input) {
|
|
23
13
|
if (input instanceof Set)
|
|
@@ -40,67 +30,41 @@ export class PhaseSignalWatcher {
|
|
|
40
30
|
pendingArms = new Map();
|
|
41
31
|
armCounter = 0;
|
|
42
32
|
settlingByTask = new Map();
|
|
43
|
-
exclusiveByTask = new Map();
|
|
44
|
-
exclusiveOwnerByTask = new Map();
|
|
45
33
|
constructor(deps) {
|
|
46
34
|
this.deps = deps;
|
|
47
35
|
}
|
|
48
36
|
isSettling(taskId) {
|
|
49
37
|
return this.settlingByTask.has(taskId);
|
|
50
38
|
}
|
|
51
|
-
settlePermitMatches(taskId, permit) {
|
|
52
|
-
const settling = this.settlingByTask.get(taskId);
|
|
53
|
-
return settling !== undefined && permit === settling.permit;
|
|
54
|
-
}
|
|
55
39
|
async awaitSettled(taskId) {
|
|
56
40
|
const settling = this.settlingByTask.get(taskId);
|
|
57
41
|
if (settling)
|
|
58
42
|
await settling.promise;
|
|
59
43
|
}
|
|
60
44
|
beginSettling(taskId) {
|
|
61
|
-
const
|
|
45
|
+
const current = this.settlingByTask.get(taskId);
|
|
46
|
+
if (current) {
|
|
47
|
+
current.active += 1;
|
|
48
|
+
return current;
|
|
49
|
+
}
|
|
62
50
|
let resolve;
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (
|
|
51
|
+
const settling = {
|
|
52
|
+
active: 1,
|
|
53
|
+
promise: new Promise(settled => { resolve = settled; }),
|
|
54
|
+
resolve: () => resolve(),
|
|
55
|
+
};
|
|
56
|
+
this.settlingByTask.set(taskId, settling);
|
|
57
|
+
return settling;
|
|
58
|
+
}
|
|
59
|
+
endSettling(taskId, settling) {
|
|
60
|
+
if (this.settlingByTask.get(taskId) !== settling)
|
|
61
|
+
return;
|
|
62
|
+
settling.active -= 1;
|
|
63
|
+
if (settling.active > 0)
|
|
73
64
|
return;
|
|
74
65
|
this.settlingByTask.delete(taskId);
|
|
75
66
|
settling.resolve();
|
|
76
67
|
}
|
|
77
|
-
exclusiveOwnerMatches(taskId, candidate) {
|
|
78
|
-
const owner = this.exclusiveOwnerByTask.get(taskId);
|
|
79
|
-
return owner !== undefined && candidate === owner;
|
|
80
|
-
}
|
|
81
|
-
// FIFO owner 拿到不可伪造的 permit:先入者获派发豁免,后入者按任务态 CAS/终闸拒绝。
|
|
82
|
-
async runExclusive(taskId, fn) {
|
|
83
|
-
const prior = this.exclusiveByTask.get(taskId);
|
|
84
|
-
let release;
|
|
85
|
-
const gate = new Promise((resolve) => { release = resolve; });
|
|
86
|
-
const tail = prior ? prior.then(() => gate) : gate;
|
|
87
|
-
this.exclusiveByTask.set(taskId, tail);
|
|
88
|
-
// 无竞争时同步进入 fn:结算投递时序对快照/live 可见性敏感,不让出微任务。
|
|
89
|
-
if (prior)
|
|
90
|
-
await prior;
|
|
91
|
-
const owner = Symbol(`exclusive:${taskId}`);
|
|
92
|
-
this.exclusiveOwnerByTask.set(taskId, owner);
|
|
93
|
-
try {
|
|
94
|
-
return await fn(owner);
|
|
95
|
-
}
|
|
96
|
-
finally {
|
|
97
|
-
if (this.exclusiveOwnerByTask.get(taskId) === owner)
|
|
98
|
-
this.exclusiveOwnerByTask.delete(taskId);
|
|
99
|
-
release();
|
|
100
|
-
if (this.exclusiveByTask.get(taskId) === tail)
|
|
101
|
-
this.exclusiveByTask.delete(taskId);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
68
|
taskEntries(taskId) {
|
|
105
69
|
return [...this.entries.values()].filter(entry => entry.taskId === taskId);
|
|
106
70
|
}
|
|
@@ -163,8 +127,6 @@ export class PhaseSignalWatcher {
|
|
|
163
127
|
agentId: args.agentId,
|
|
164
128
|
expectedKinds,
|
|
165
129
|
expectedToken: args.token,
|
|
166
|
-
...(args.onReadFile ? { onReadFile: args.onReadFile } : {}),
|
|
167
|
-
seenReadFile: new Set(),
|
|
168
130
|
seenStaleToken: new Set(),
|
|
169
131
|
staleWarnCapped: false,
|
|
170
132
|
askSeq: args.needInput?.askSeq ?? 0,
|
|
@@ -181,7 +143,7 @@ export class PhaseSignalWatcher {
|
|
|
181
143
|
let sub;
|
|
182
144
|
try {
|
|
183
145
|
sub = await streamer.subscribeAtomic({
|
|
184
|
-
|
|
146
|
+
onVisible: (visible) => this.onPaneData(entry, visible),
|
|
185
147
|
onSessionGone: () => this.onSessionGone(entry),
|
|
186
148
|
});
|
|
187
149
|
}
|
|
@@ -259,7 +221,8 @@ export class PhaseSignalWatcher {
|
|
|
259
221
|
this.commitWatermark(entry);
|
|
260
222
|
}
|
|
261
223
|
if (!args.skipSnapshot) {
|
|
262
|
-
|
|
224
|
+
// A serialized framebuffer is its own byte stream, not a continuation of the PTY one.
|
|
225
|
+
this.onPaneData(entry, visibleText(sub.snapshot.data), true);
|
|
263
226
|
}
|
|
264
227
|
return true;
|
|
265
228
|
}
|
|
@@ -422,7 +385,7 @@ export class PhaseSignalWatcher {
|
|
|
422
385
|
const timer = setTimeout(() => finish('timeout'), args.timeoutMs);
|
|
423
386
|
streamer
|
|
424
387
|
.subscribeAtomic({
|
|
425
|
-
|
|
388
|
+
onVisible: (visible) => { if (matches(visible))
|
|
426
389
|
finish('matched'); },
|
|
427
390
|
onSessionGone: () => finish('session-gone'),
|
|
428
391
|
})
|
|
@@ -435,7 +398,7 @@ export class PhaseSignalWatcher {
|
|
|
435
398
|
catch { }
|
|
436
399
|
return;
|
|
437
400
|
}
|
|
438
|
-
if (matches(sub.snapshot.data))
|
|
401
|
+
if (matches(visibleText(sub.snapshot.data)))
|
|
439
402
|
finish('matched');
|
|
440
403
|
})
|
|
441
404
|
.catch(() => finish('session-gone'));
|
|
@@ -571,26 +534,17 @@ export class PhaseSignalWatcher {
|
|
|
571
534
|
this.onAnswerSignal(entry, sig);
|
|
572
535
|
}
|
|
573
536
|
}
|
|
537
|
+
// `chunk` is always visible text — decoded by PaneStreamer (live) or at the call site (snapshot).
|
|
574
538
|
onPaneData(entry, chunk, isSnapshot = false) {
|
|
575
539
|
if (this.entries.get(entryKey(entry.taskId, entry.agentId)) !== entry)
|
|
576
540
|
return;
|
|
577
541
|
if (entry.fired)
|
|
578
542
|
return;
|
|
579
|
-
const
|
|
580
|
-
if (entry.onReadFile) {
|
|
581
|
-
for (const req of scanReadFileSignals(rawCombined)) {
|
|
582
|
-
if (entry.seenReadFile.has(req.raw))
|
|
583
|
-
continue;
|
|
584
|
-
entry.seenReadFile.add(req.raw);
|
|
585
|
-
if (!isSnapshot)
|
|
586
|
-
entry.onReadFile(req);
|
|
587
|
-
}
|
|
588
|
-
}
|
|
543
|
+
const combined = entry.buffer + chunk;
|
|
589
544
|
this.scanNeedInput(entry, chunk, isSnapshot);
|
|
590
|
-
const oldRegionLen = compactBoundaryIndex(
|
|
591
|
-
const matches = scanPhaseSignalMatches(
|
|
592
|
-
|
|
593
|
-
entry.buffer = stripSignalAnsi(rawCombined).slice(-MATCH_BUFFER_CHARS);
|
|
545
|
+
const oldRegionLen = compactBoundaryIndex(combined, entry.buffer.length);
|
|
546
|
+
const matches = scanPhaseSignalMatches(combined);
|
|
547
|
+
entry.buffer = combined.slice(-MATCH_BUFFER_CHARS);
|
|
594
548
|
const armed = matches.find(m => entry.expectedKinds.has(m.signal.kind) && m.signal.token === entry.expectedToken);
|
|
595
549
|
// The armed marker ends the dispatch, so a foreign token after it belongs to the next task, not a mis-send here.
|
|
596
550
|
if (!isSnapshot) {
|
|
@@ -623,16 +577,13 @@ export class PhaseSignalWatcher {
|
|
|
623
577
|
token: signal.token,
|
|
624
578
|
verdictAgentId: entry.agentId,
|
|
625
579
|
source: 'pane-signal',
|
|
626
|
-
...(signal.kind === 'pr-created'
|
|
627
|
-
|
|
628
|
-
...(signal.kind === 'code-ready' && signal.prNumber !== undefined
|
|
629
|
-
? { prNumber: signal.prNumber }
|
|
580
|
+
...(signal.kind === 'pr-created' || signal.kind === 'spec-done'
|
|
581
|
+
? { prNumber: signal.prNumber, actorB64: signal.actorB64 }
|
|
630
582
|
: {}),
|
|
631
583
|
},
|
|
632
584
|
};
|
|
633
|
-
const
|
|
634
|
-
|
|
635
|
-
void this.emitCompletion(event, entry, signal.kind, permit);
|
|
585
|
+
const settling = this.beginSettling(entry.taskId);
|
|
586
|
+
void this.emitCompletion(event, entry, signal.kind, settling);
|
|
636
587
|
}
|
|
637
588
|
// 静默丢弃会把"agent 以为已交付、任务实际停等"变成查无实据的失联;故留痕,但只记日志不发事件(避免重放刷屏)。
|
|
638
589
|
reportStaleTokens(entry, candidates) {
|
|
@@ -659,9 +610,9 @@ export class PhaseSignalWatcher {
|
|
|
659
610
|
+ `agent=${entry.agentId}: observed=${candidate.token} expected=${entry.expectedToken}`);
|
|
660
611
|
}
|
|
661
612
|
}
|
|
662
|
-
async emitCompletion(event, entry, kind,
|
|
613
|
+
async emitCompletion(event, entry, kind, settling) {
|
|
663
614
|
try {
|
|
664
|
-
await this.
|
|
615
|
+
await this.deps.eventBus.emit(event);
|
|
665
616
|
}
|
|
666
617
|
catch (err) {
|
|
667
618
|
console.error(`[PhaseSignalWatcher] eventBus.emit failed for task=${entry.taskId} kind=${kind}:`, err);
|
|
@@ -674,7 +625,7 @@ export class PhaseSignalWatcher {
|
|
|
674
625
|
});
|
|
675
626
|
}
|
|
676
627
|
finally {
|
|
677
|
-
this.endSettling(entry.taskId,
|
|
628
|
+
this.endSettling(entry.taskId, settling);
|
|
678
629
|
}
|
|
679
630
|
}
|
|
680
631
|
onSessionGone(entry) {
|