@stigmer/react 3.0.8-dev.20260613041848 → 3.0.8-dev.20260613051837
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/execution/ExecutionProgress.d.ts.map +1 -1
- package/execution/ExecutionProgress.js +5 -1
- package/execution/ExecutionProgress.js.map +1 -1
- package/execution/MessageThread.d.ts +32 -3
- package/execution/MessageThread.d.ts.map +1 -1
- package/execution/MessageThread.js +59 -10
- package/execution/MessageThread.js.map +1 -1
- package/execution/useExecutionStream.d.ts +27 -0
- package/execution/useExecutionStream.d.ts.map +1 -1
- package/execution/useExecutionStream.js +48 -5
- package/execution/useExecutionStream.js.map +1 -1
- package/internal/VirtualizedThread.d.ts +3 -1
- package/internal/VirtualizedThread.d.ts.map +1 -1
- package/internal/VirtualizedThread.js +4 -2
- package/internal/VirtualizedThread.js.map +1 -1
- package/internal/store/conversation-store.d.ts +22 -0
- package/internal/store/conversation-store.d.ts.map +1 -1
- package/internal/store/conversation-store.js +43 -2
- package/internal/store/conversation-store.js.map +1 -1
- package/internal/stream-controller.d.ts +46 -2
- package/internal/stream-controller.d.ts.map +1 -1
- package/internal/stream-controller.js +95 -4
- package/internal/stream-controller.js.map +1 -1
- package/internal/useFetch.d.ts +7 -0
- package/internal/useFetch.d.ts.map +1 -1
- package/internal/useFetch.js +21 -0
- package/internal/useFetch.js.map +1 -1
- package/package.json +4 -4
- package/session/SessionViewer.js +23 -1
- package/session/SessionViewer.js.map +1 -1
- package/session/useSessionConversation.d.ts +34 -3
- package/session/useSessionConversation.d.ts.map +1 -1
- package/session/useSessionConversation.js +73 -10
- package/session/useSessionConversation.js.map +1 -1
- package/session/useSessionExecutions.d.ts +17 -1
- package/session/useSessionExecutions.d.ts.map +1 -1
- package/session/useSessionExecutions.js +6 -2
- package/session/useSessionExecutions.js.map +1 -1
- package/src/execution/ExecutionProgress.tsx +12 -0
- package/src/execution/MessageThread.tsx +174 -5
- package/src/execution/__tests__/MessageThread.test.tsx +64 -0
- package/src/execution/__tests__/useExecutionStream.test.tsx +95 -0
- package/src/execution/useExecutionStream.ts +80 -4
- package/src/internal/VirtualizedThread.tsx +7 -1
- package/src/internal/__tests__/stream-controller.test.ts +165 -10
- package/src/internal/__tests__/useFetch.test.tsx +59 -0
- package/src/internal/store/__tests__/conversation-store.test.ts +61 -0
- package/src/internal/store/conversation-store.ts +46 -3
- package/src/internal/stream-controller.ts +123 -3
- package/src/internal/useFetch.ts +26 -0
- package/src/session/SessionViewer.tsx +62 -0
- package/src/session/__tests__/useSessionConversation.test.tsx +53 -0
- package/src/session/useSessionConversation.ts +113 -14
- package/src/session/useSessionExecutions.ts +23 -1
- package/styles.css +1 -1
|
@@ -42,6 +42,8 @@ type Listener = () => void;
|
|
|
42
42
|
export declare class ConversationStore {
|
|
43
43
|
private _execution;
|
|
44
44
|
private _streamState;
|
|
45
|
+
private _connectTimedOut;
|
|
46
|
+
private _isSlow;
|
|
45
47
|
private _listeners;
|
|
46
48
|
/**
|
|
47
49
|
* Ingest a new execution snapshot. Applies structural sharing
|
|
@@ -54,6 +56,22 @@ export declare class ConversationStore {
|
|
|
54
56
|
* when the stage or executionId actually changes.
|
|
55
57
|
*/
|
|
56
58
|
setStreamState(state: StreamState): void;
|
|
59
|
+
/**
|
|
60
|
+
* Set the hard connect-timeout signal — the stream opened but no first
|
|
61
|
+
* snapshot arrived within the watchdog window even after a silent retry.
|
|
62
|
+
*
|
|
63
|
+
* Orthogonal to {@link setStreamState}: the stream may still be live, so
|
|
64
|
+
* this is **not** a lifecycle stage and deliberately does not touch the
|
|
65
|
+
* `error` stage (that is auto-reconnect's domain). Booleans are stable by
|
|
66
|
+
* value, so no snapshot caching is needed; listeners fire only on change.
|
|
67
|
+
*/
|
|
68
|
+
setConnectTimedOut(value: boolean): void;
|
|
69
|
+
/**
|
|
70
|
+
* Set the soft slow-stall hint — the stream is non-terminal but has gone
|
|
71
|
+
* silent past the watchdog window. Purely informational ("still working,
|
|
72
|
+
* taking longer than usual"); cleared by the next snapshot. Never aborts.
|
|
73
|
+
*/
|
|
74
|
+
setSlow(value: boolean): void;
|
|
57
75
|
/**
|
|
58
76
|
* Reset to initial state. Used when the session identity changes
|
|
59
77
|
* or the hook unmounts.
|
|
@@ -68,6 +86,10 @@ export declare class ConversationStore {
|
|
|
68
86
|
getExecution: () => AgentExecution | null;
|
|
69
87
|
/** Stable snapshot selector for the stream lifecycle state. */
|
|
70
88
|
getStreamState: () => StreamState;
|
|
89
|
+
/** Stable snapshot selector for the hard connect-timeout signal. */
|
|
90
|
+
getConnectTimedOut: () => boolean;
|
|
91
|
+
/** Stable snapshot selector for the soft slow-stall hint. */
|
|
92
|
+
getSlow: () => boolean;
|
|
71
93
|
private _notify;
|
|
72
94
|
}
|
|
73
95
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-store.d.ts","sourceRoot":"","sources":["../../../src/internal/store/conversation-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAOlG,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC7D;IACE;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB,GACD;IAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC5D;IACE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB,CAAC;AAQN,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,UAAU,CAAuB;IAIzC;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAO9C;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAMxC;;;OAGG;IACH,KAAK,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"conversation-store.d.ts","sourceRoot":"","sources":["../../../src/internal/store/conversation-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAOlG,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC7D;IACE;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB,GACD;IAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC5D;IACE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB,CAAC;AAQN,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAuB;IAIzC;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAO9C;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAMxC;;;;;;;;OAQG;IACH,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAMxC;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAM7B;;;OAGG;IACH,KAAK,IAAI,IAAI;IAeb;;;OAGG;IACH,SAAS,GAAI,UAAU,QAAQ,KAAG,CAAC,MAAM,IAAI,CAAC,CAK5C;IAEF,0DAA0D;IAC1D,YAAY,QAAO,cAAc,GAAG,IAAI,CAEtC;IAEF,+DAA+D;IAC/D,cAAc,QAAO,WAAW,CAE9B;IAEF,oEAAoE;IACpE,kBAAkB,QAAO,OAAO,CAE9B;IAEF,6DAA6D;IAC7D,OAAO,QAAO,OAAO,CAEnB;IAIF,OAAO,CAAC,OAAO;CAKhB"}
|
|
@@ -14,6 +14,8 @@ const IDLE_STATE = { stage: "idle" };
|
|
|
14
14
|
export class ConversationStore {
|
|
15
15
|
_execution = null;
|
|
16
16
|
_streamState = IDLE_STATE;
|
|
17
|
+
_connectTimedOut = false;
|
|
18
|
+
_isSlow = false;
|
|
17
19
|
_listeners = new Set();
|
|
18
20
|
// -- Ingestion -----------------------------------------------------------
|
|
19
21
|
/**
|
|
@@ -38,15 +40,46 @@ export class ConversationStore {
|
|
|
38
40
|
this._streamState = state;
|
|
39
41
|
this._notify();
|
|
40
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Set the hard connect-timeout signal — the stream opened but no first
|
|
45
|
+
* snapshot arrived within the watchdog window even after a silent retry.
|
|
46
|
+
*
|
|
47
|
+
* Orthogonal to {@link setStreamState}: the stream may still be live, so
|
|
48
|
+
* this is **not** a lifecycle stage and deliberately does not touch the
|
|
49
|
+
* `error` stage (that is auto-reconnect's domain). Booleans are stable by
|
|
50
|
+
* value, so no snapshot caching is needed; listeners fire only on change.
|
|
51
|
+
*/
|
|
52
|
+
setConnectTimedOut(value) {
|
|
53
|
+
if (this._connectTimedOut === value)
|
|
54
|
+
return;
|
|
55
|
+
this._connectTimedOut = value;
|
|
56
|
+
this._notify();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Set the soft slow-stall hint — the stream is non-terminal but has gone
|
|
60
|
+
* silent past the watchdog window. Purely informational ("still working,
|
|
61
|
+
* taking longer than usual"); cleared by the next snapshot. Never aborts.
|
|
62
|
+
*/
|
|
63
|
+
setSlow(value) {
|
|
64
|
+
if (this._isSlow === value)
|
|
65
|
+
return;
|
|
66
|
+
this._isSlow = value;
|
|
67
|
+
this._notify();
|
|
68
|
+
}
|
|
41
69
|
/**
|
|
42
70
|
* Reset to initial state. Used when the session identity changes
|
|
43
71
|
* or the hook unmounts.
|
|
44
72
|
*/
|
|
45
73
|
reset() {
|
|
46
|
-
const
|
|
74
|
+
const wasClean = this._execution === null &&
|
|
75
|
+
this._streamState.stage === "idle" &&
|
|
76
|
+
!this._connectTimedOut &&
|
|
77
|
+
!this._isSlow;
|
|
47
78
|
this._execution = null;
|
|
48
79
|
this._streamState = IDLE_STATE;
|
|
49
|
-
|
|
80
|
+
this._connectTimedOut = false;
|
|
81
|
+
this._isSlow = false;
|
|
82
|
+
if (!wasClean)
|
|
50
83
|
this._notify();
|
|
51
84
|
}
|
|
52
85
|
// -- useSyncExternalStore contract ---------------------------------------
|
|
@@ -68,6 +101,14 @@ export class ConversationStore {
|
|
|
68
101
|
getStreamState = () => {
|
|
69
102
|
return this._streamState;
|
|
70
103
|
};
|
|
104
|
+
/** Stable snapshot selector for the hard connect-timeout signal. */
|
|
105
|
+
getConnectTimedOut = () => {
|
|
106
|
+
return this._connectTimedOut;
|
|
107
|
+
};
|
|
108
|
+
/** Stable snapshot selector for the soft slow-stall hint. */
|
|
109
|
+
getSlow = () => {
|
|
110
|
+
return this._isSlow;
|
|
111
|
+
};
|
|
71
112
|
// -- Internal ------------------------------------------------------------
|
|
72
113
|
_notify() {
|
|
73
114
|
for (const listener of this._listeners) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-store.js","sourceRoot":"","sources":["../../../src/internal/store/conversation-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA8BrD,MAAM,UAAU,GAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAQlD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,iBAAiB;IACpB,UAAU,GAA0B,IAAI,CAAC;IACzC,YAAY,GAAgB,UAAU,CAAC;IACvC,UAAU,GAAG,IAAI,GAAG,EAAY,CAAC;IAEzC,2EAA2E;IAE3E;;;;OAIG;IACH,cAAc,CAAC,QAAwB;QACrC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,MAAM,KAAK,IAAI,CAAC,UAAU;YAAE,OAAO;QACvC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,KAAkB;QAC/B,IAAI,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;YAAE,OAAO;QACvD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK;QACH,MAAM,
|
|
1
|
+
{"version":3,"file":"conversation-store.js","sourceRoot":"","sources":["../../../src/internal/store/conversation-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
|
|
2
2
|
import type { StreamState } from "./store/conversation-store";
|
|
3
|
+
/**
|
|
4
|
+
* Hard connect-timeout: time the stream may stay `connecting` (no first
|
|
5
|
+
* snapshot) before the watchdog acts. Sized well above a healthy connect
|
|
6
|
+
* (the server sends the initial snapshot in ~1 RTT) yet short enough that a
|
|
7
|
+
* silent hang surfaces an affordance within a few seconds, not minutes.
|
|
8
|
+
*/
|
|
9
|
+
export declare const DEFAULT_CONNECT_TIMEOUT_MS = 10000;
|
|
10
|
+
/**
|
|
11
|
+
* Soft slow-stall threshold: a non-terminal stream that produces no new
|
|
12
|
+
* snapshot for this long flips an informational "still working" hint. Long
|
|
13
|
+
* enough that ordinary model thinking-time never trips it.
|
|
14
|
+
*/
|
|
15
|
+
export declare const DEFAULT_SLOW_THRESHOLD_MS = 60000;
|
|
3
16
|
/**
|
|
4
17
|
* Callback interface for the stream controller to communicate with
|
|
5
18
|
* its host (the React hook). All mutations to external state go
|
|
@@ -10,6 +23,26 @@ export interface StreamControllerSink {
|
|
|
10
23
|
ingestSnapshot(snapshot: AgentExecution): void;
|
|
11
24
|
/** Transition the store's stream lifecycle state. */
|
|
12
25
|
setStreamState(state: StreamState): void;
|
|
26
|
+
/**
|
|
27
|
+
* The hard connect-timeout elapsed while still `connecting`. The host owns
|
|
28
|
+
* the self-heal-once-then-surface policy (it holds the `connectKey` reconnect
|
|
29
|
+
* counter and the per-subscription guard that survives a reconnect, which
|
|
30
|
+
* the controller — reset on every teardown — cannot).
|
|
31
|
+
*/
|
|
32
|
+
onConnectTimeout(): void;
|
|
33
|
+
/** Set or clear the soft slow-stall hint signal. */
|
|
34
|
+
setSlow(value: boolean): void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Injectable watchdog configuration. Timers default to `setTimeout`/
|
|
38
|
+
* `clearTimeout`; tests pass fakes so the watchdog is exercised without real
|
|
39
|
+
* time. Mirrors the existing `scheduleFlush`/`cancelFlush` injection idiom.
|
|
40
|
+
*/
|
|
41
|
+
export interface StreamControllerWatchdog {
|
|
42
|
+
readonly setTimer?: (cb: () => void, ms: number) => number;
|
|
43
|
+
readonly clearTimer?: (id: number) => void;
|
|
44
|
+
readonly connectTimeoutMs?: number;
|
|
45
|
+
readonly slowThresholdMs?: number;
|
|
13
46
|
}
|
|
14
47
|
/**
|
|
15
48
|
* Framework-agnostic finite state machine that manages the lifecycle
|
|
@@ -32,7 +65,13 @@ export declare class StreamController {
|
|
|
32
65
|
private _sink;
|
|
33
66
|
private _scheduleFlush;
|
|
34
67
|
private _cancelFlush;
|
|
35
|
-
|
|
68
|
+
private _setTimer;
|
|
69
|
+
private _clearTimer;
|
|
70
|
+
private _connectTimeoutMs;
|
|
71
|
+
private _slowThresholdMs;
|
|
72
|
+
private _connectTimerId;
|
|
73
|
+
private _slowTimerId;
|
|
74
|
+
constructor(sink: StreamControllerSink, scheduleFlush?: (cb: () => void) => number, cancelFlush?: (id: number) => void, watchdog?: StreamControllerWatchdog);
|
|
36
75
|
/** Current FSM state (read-only). */
|
|
37
76
|
get state(): StreamState;
|
|
38
77
|
/**
|
|
@@ -64,7 +103,7 @@ export declare class StreamController {
|
|
|
64
103
|
* so the UI shows the last known good state alongside the error.
|
|
65
104
|
*/
|
|
66
105
|
handleError(error: Error): void;
|
|
67
|
-
/** Reset to idle. Cancels any pending flush. */
|
|
106
|
+
/** Reset to idle. Cancels any pending flush and watchdog timers. */
|
|
68
107
|
reset(): void;
|
|
69
108
|
/** Whether the controller has a buffered snapshot awaiting flush. */
|
|
70
109
|
get hasPendingFlush(): boolean;
|
|
@@ -73,5 +112,10 @@ export declare class StreamController {
|
|
|
73
112
|
private _scheduleFlushOnce;
|
|
74
113
|
private _flushBuffer;
|
|
75
114
|
private _cancelPendingFlush;
|
|
115
|
+
private _armConnectTimer;
|
|
116
|
+
private _armSlowTimer;
|
|
117
|
+
private _cancelConnectTimer;
|
|
118
|
+
private _cancelSlowTimer;
|
|
119
|
+
private _cancelWatchdogs;
|
|
76
120
|
}
|
|
77
121
|
//# sourceMappingURL=stream-controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-controller.d.ts","sourceRoot":"","sources":["../../src/internal/stream-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAe9D;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/C,qDAAqD;IACrD,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"stream-controller.d.ts","sourceRoot":"","sources":["../../src/internal/stream-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAe9D;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/C,qDAAqD;IACrD,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IACzC;;;;;OAKG;IACH,gBAAgB,IAAI,IAAI,CAAC;IACzB,oDAAoD;IACpD,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAMD;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,YAAY,CAAuB;IAG3C,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,YAAY,CAAuB;gBAGzC,IAAI,EAAE,oBAAoB,EAC1B,aAAa,GAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,MAE4B,EAC/D,WAAW,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAEO,EACpC,QAAQ,CAAC,EAAE,wBAAwB;IAerC,qCAAqC;IACrC,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAWhC;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAiC9C;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAYvD;;;OAGG;IACH,eAAe,IAAI,IAAI;IAYvB;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAW/B,oEAAoE;IACpE,KAAK,IAAI,IAAI;IAUb,qEAAqE;IACrE,IAAI,eAAe,IAAI,OAAO,CAE7B;IAMD,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;CAIzB"}
|
|
@@ -8,6 +8,19 @@ import { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecutio
|
|
|
8
8
|
// reuses the store's type so the lifecycle (including the `reconnecting`
|
|
9
9
|
// stage) is defined in one place and can never drift.
|
|
10
10
|
const IDLE = { stage: "idle" };
|
|
11
|
+
/**
|
|
12
|
+
* Hard connect-timeout: time the stream may stay `connecting` (no first
|
|
13
|
+
* snapshot) before the watchdog acts. Sized well above a healthy connect
|
|
14
|
+
* (the server sends the initial snapshot in ~1 RTT) yet short enough that a
|
|
15
|
+
* silent hang surfaces an affordance within a few seconds, not minutes.
|
|
16
|
+
*/
|
|
17
|
+
export const DEFAULT_CONNECT_TIMEOUT_MS = 10_000;
|
|
18
|
+
/**
|
|
19
|
+
* Soft slow-stall threshold: a non-terminal stream that produces no new
|
|
20
|
+
* snapshot for this long flips an informational "still working" hint. Long
|
|
21
|
+
* enough that ordinary model thinking-time never trips it.
|
|
22
|
+
*/
|
|
23
|
+
export const DEFAULT_SLOW_THRESHOLD_MS = 60_000;
|
|
11
24
|
// ---------------------------------------------------------------------------
|
|
12
25
|
// StreamController
|
|
13
26
|
// ---------------------------------------------------------------------------
|
|
@@ -32,14 +45,29 @@ export class StreamController {
|
|
|
32
45
|
_sink;
|
|
33
46
|
_scheduleFlush;
|
|
34
47
|
_cancelFlush;
|
|
48
|
+
// -- Watchdog ------------------------------------------------------------
|
|
49
|
+
_setTimer;
|
|
50
|
+
_clearTimer;
|
|
51
|
+
_connectTimeoutMs;
|
|
52
|
+
_slowThresholdMs;
|
|
53
|
+
_connectTimerId = null;
|
|
54
|
+
_slowTimerId = null;
|
|
35
55
|
constructor(sink, scheduleFlush = typeof requestAnimationFrame !== "undefined"
|
|
36
56
|
? (cb) => requestAnimationFrame(cb)
|
|
37
57
|
: (cb) => setTimeout(cb, 16), cancelFlush = typeof cancelAnimationFrame !== "undefined"
|
|
38
58
|
? (id) => cancelAnimationFrame(id)
|
|
39
|
-
: (id) => clearTimeout(id)) {
|
|
59
|
+
: (id) => clearTimeout(id), watchdog) {
|
|
40
60
|
this._sink = sink;
|
|
41
61
|
this._scheduleFlush = scheduleFlush;
|
|
42
62
|
this._cancelFlush = cancelFlush;
|
|
63
|
+
this._setTimer =
|
|
64
|
+
watchdog?.setTimer ??
|
|
65
|
+
((cb, ms) => setTimeout(cb, ms));
|
|
66
|
+
this._clearTimer = watchdog?.clearTimer ?? ((id) => clearTimeout(id));
|
|
67
|
+
this._connectTimeoutMs =
|
|
68
|
+
watchdog?.connectTimeoutMs ?? DEFAULT_CONNECT_TIMEOUT_MS;
|
|
69
|
+
this._slowThresholdMs =
|
|
70
|
+
watchdog?.slowThresholdMs ?? DEFAULT_SLOW_THRESHOLD_MS;
|
|
43
71
|
}
|
|
44
72
|
/** Current FSM state (read-only). */
|
|
45
73
|
get state() {
|
|
@@ -52,6 +80,11 @@ export class StreamController {
|
|
|
52
80
|
start(executionId) {
|
|
53
81
|
this._cancelPendingFlush();
|
|
54
82
|
this._bufferedSnapshot = null;
|
|
83
|
+
// Arm both watchdogs the moment we begin connecting. The connect-timeout
|
|
84
|
+
// guards the first snapshot; the slow-stall hint guards every quiet stretch
|
|
85
|
+
// thereafter. Both are reset by the next snapshot and cleared on any exit.
|
|
86
|
+
this._armConnectTimer();
|
|
87
|
+
this._armSlowTimer();
|
|
55
88
|
this._transition({ stage: "connecting", executionId });
|
|
56
89
|
}
|
|
57
90
|
/**
|
|
@@ -66,14 +99,20 @@ export class StreamController {
|
|
|
66
99
|
const phase = snapshot.status?.phase ?? ExecutionPhase.EXECUTION_PHASE_UNSPECIFIED;
|
|
67
100
|
const terminal = isTerminalPhase(phase);
|
|
68
101
|
if (terminal) {
|
|
102
|
+
this._cancelWatchdogs();
|
|
103
|
+
this._sink.setSlow(false);
|
|
69
104
|
this._cancelPendingFlush();
|
|
70
105
|
this._bufferedSnapshot = null;
|
|
71
106
|
this._sink.ingestSnapshot(snapshot);
|
|
72
107
|
this._transition({ stage: "complete", executionId });
|
|
73
108
|
}
|
|
74
109
|
else {
|
|
75
|
-
// A snapshot proves the (re)connection is healthy:
|
|
76
|
-
//
|
|
110
|
+
// A snapshot proves the (re)connection is healthy: the connect-timeout no
|
|
111
|
+
// longer applies, and the slow-stall window restarts from now.
|
|
112
|
+
this._cancelConnectTimer();
|
|
113
|
+
this._armSlowTimer();
|
|
114
|
+
// Advance from either the initial `connecting` or a `reconnecting` retry
|
|
115
|
+
// into `streaming`.
|
|
77
116
|
if (this._state.stage === "connecting" ||
|
|
78
117
|
this._state.stage === "reconnecting") {
|
|
79
118
|
this._transition({ stage: "streaming", executionId });
|
|
@@ -93,6 +132,12 @@ export class StreamController {
|
|
|
93
132
|
const executionId = this._activeExecutionId();
|
|
94
133
|
if (!executionId)
|
|
95
134
|
return;
|
|
135
|
+
// Auto-reconnect (#174) has taken over with its own visible affordance and
|
|
136
|
+
// bounded attempt budget, so the silence watchdogs stand down — they exist
|
|
137
|
+
// for the case where the stream stalls *without* a drop. The slow hint is
|
|
138
|
+
// cleared so "reconnecting" and "slow" never show at once.
|
|
139
|
+
this._cancelWatchdogs();
|
|
140
|
+
this._sink.setSlow(false);
|
|
96
141
|
this._transition({ stage: "reconnecting", executionId, attempt, error });
|
|
97
142
|
}
|
|
98
143
|
/**
|
|
@@ -103,6 +148,8 @@ export class StreamController {
|
|
|
103
148
|
const executionId = this._activeExecutionId();
|
|
104
149
|
if (!executionId)
|
|
105
150
|
return;
|
|
151
|
+
this._cancelWatchdogs();
|
|
152
|
+
this._sink.setSlow(false);
|
|
106
153
|
this._flushBuffer();
|
|
107
154
|
if (this._state.stage !== "complete") {
|
|
108
155
|
this._transition({ stage: "complete", executionId });
|
|
@@ -116,12 +163,16 @@ export class StreamController {
|
|
|
116
163
|
const executionId = this._activeExecutionId();
|
|
117
164
|
if (!executionId)
|
|
118
165
|
return;
|
|
166
|
+
this._cancelWatchdogs();
|
|
167
|
+
this._sink.setSlow(false);
|
|
119
168
|
this._cancelPendingFlush();
|
|
120
169
|
this._flushBuffer();
|
|
121
170
|
this._transition({ stage: "error", executionId, error });
|
|
122
171
|
}
|
|
123
|
-
/** Reset to idle. Cancels any pending flush. */
|
|
172
|
+
/** Reset to idle. Cancels any pending flush and watchdog timers. */
|
|
124
173
|
reset() {
|
|
174
|
+
this._cancelWatchdogs();
|
|
175
|
+
this._sink.setSlow(false);
|
|
125
176
|
this._cancelPendingFlush();
|
|
126
177
|
this._bufferedSnapshot = null;
|
|
127
178
|
if (this._state.stage !== "idle") {
|
|
@@ -165,5 +216,45 @@ export class StreamController {
|
|
|
165
216
|
this._rafId = null;
|
|
166
217
|
}
|
|
167
218
|
}
|
|
219
|
+
// -- Watchdog timers ------------------------------------------------------
|
|
220
|
+
_armConnectTimer() {
|
|
221
|
+
this._cancelConnectTimer();
|
|
222
|
+
this._connectTimerId = this._setTimer(() => {
|
|
223
|
+
this._connectTimerId = null;
|
|
224
|
+
// Only meaningful while still awaiting the first snapshot; any later
|
|
225
|
+
// stage has its own handling and has already cleared this timer.
|
|
226
|
+
if (this._state.stage !== "connecting")
|
|
227
|
+
return;
|
|
228
|
+
this._sink.onConnectTimeout();
|
|
229
|
+
}, this._connectTimeoutMs);
|
|
230
|
+
}
|
|
231
|
+
_armSlowTimer() {
|
|
232
|
+
this._cancelSlowTimer();
|
|
233
|
+
// Re-arming means activity just resumed (or is starting), so a prior slow
|
|
234
|
+
// hint no longer holds — clear it before counting the next quiet stretch.
|
|
235
|
+
this._sink.setSlow(false);
|
|
236
|
+
this._slowTimerId = this._setTimer(() => {
|
|
237
|
+
this._slowTimerId = null;
|
|
238
|
+
if (this._state.stage !== "connecting" && this._state.stage !== "streaming")
|
|
239
|
+
return;
|
|
240
|
+
this._sink.setSlow(true);
|
|
241
|
+
}, this._slowThresholdMs);
|
|
242
|
+
}
|
|
243
|
+
_cancelConnectTimer() {
|
|
244
|
+
if (this._connectTimerId !== null) {
|
|
245
|
+
this._clearTimer(this._connectTimerId);
|
|
246
|
+
this._connectTimerId = null;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
_cancelSlowTimer() {
|
|
250
|
+
if (this._slowTimerId !== null) {
|
|
251
|
+
this._clearTimer(this._slowTimerId);
|
|
252
|
+
this._slowTimerId = null;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
_cancelWatchdogs() {
|
|
256
|
+
this._cancelConnectTimer();
|
|
257
|
+
this._cancelSlowTimer();
|
|
258
|
+
}
|
|
168
259
|
}
|
|
169
260
|
//# sourceMappingURL=stream-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-controller.js","sourceRoot":"","sources":["../../src/internal/stream-controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAE9F,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,sDAAsD;AAEtD,MAAM,IAAI,GAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"stream-controller.js","sourceRoot":"","sources":["../../src/internal/stream-controller.ts"],"names":[],"mappings":"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"}
|
package/internal/useFetch.d.ts
CHANGED
|
@@ -9,6 +9,13 @@ export interface UseFetchOptions {
|
|
|
9
9
|
* request piling on slow connections.
|
|
10
10
|
*/
|
|
11
11
|
readonly refetchInterval?: number | false;
|
|
12
|
+
/**
|
|
13
|
+
* Re-fetch when the window regains focus or the tab becomes visible
|
|
14
|
+
* again. Covers the app-relaunch / tab-switch case where data may have
|
|
15
|
+
* gone stale while the app was backgrounded. A focus refetch is skipped
|
|
16
|
+
* while a fetch is already in flight. Defaults to `false`.
|
|
17
|
+
*/
|
|
18
|
+
readonly refetchOnWindowFocus?: boolean;
|
|
12
19
|
/**
|
|
13
20
|
* Stable string key for cross-mount caching.
|
|
14
21
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetch.d.ts","sourceRoot":"","sources":["../../src/internal/useFetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAA4C,MAAM,OAAO,CAAC;AAItF,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE1C;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,OAAO,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAClC,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,CAAC,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,cAAc,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"useFetch.d.ts","sourceRoot":"","sources":["../../src/internal/useFetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAA4C,MAAM,OAAO,CAAC;AAItF,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAExC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,OAAO,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAClC,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,CAAC,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,cAAc,CAAC,CAAC,CAAC,CAmInB"}
|
package/internal/useFetch.js
CHANGED
|
@@ -117,6 +117,27 @@ export function useFetch(fetchFn, deps, initialData, options) {
|
|
|
117
117
|
}, refetchInterval);
|
|
118
118
|
return () => clearInterval(id);
|
|
119
119
|
}, [refetchInterval, fetchFn, refetch]);
|
|
120
|
+
const refetchOnWindowFocus = options?.refetchOnWindowFocus;
|
|
121
|
+
useEffect(() => {
|
|
122
|
+
if (!refetchOnWindowFocus || !fetchFn)
|
|
123
|
+
return;
|
|
124
|
+
if (typeof window === "undefined")
|
|
125
|
+
return;
|
|
126
|
+
const onActive = () => {
|
|
127
|
+
if (!isFetchingRef.current)
|
|
128
|
+
refetch();
|
|
129
|
+
};
|
|
130
|
+
const onVisible = () => {
|
|
131
|
+
if (document.visibilityState === "visible")
|
|
132
|
+
onActive();
|
|
133
|
+
};
|
|
134
|
+
window.addEventListener("focus", onActive);
|
|
135
|
+
document.addEventListener("visibilitychange", onVisible);
|
|
136
|
+
return () => {
|
|
137
|
+
window.removeEventListener("focus", onActive);
|
|
138
|
+
document.removeEventListener("visibilitychange", onVisible);
|
|
139
|
+
};
|
|
140
|
+
}, [refetchOnWindowFocus, fetchFn, refetch]);
|
|
120
141
|
const isLoading = isFetching && !hasDataRef.current;
|
|
121
142
|
const isRefetching = isFetching && hasDataRef.current;
|
|
122
143
|
return { data, isLoading, isRefetching, error, refetch };
|
package/internal/useFetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetch.js","sourceRoot":"","sources":["../../src/internal/useFetch.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAuB,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"useFetch.js","sourceRoot":"","sources":["../../src/internal/useFetch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigmer/react",
|
|
3
|
-
"version": "3.0.8-dev.
|
|
3
|
+
"version": "3.0.8-dev.20260613051837",
|
|
4
4
|
"description": "React provider and client hook for the Stigmer platform SDK",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@bufbuild/protovalidate": "^1.1.1",
|
|
39
39
|
"@dagrejs/dagre": "^1.1.4",
|
|
40
|
-
"@stigmer/theme": "3.0.8-dev.
|
|
40
|
+
"@stigmer/theme": "3.0.8-dev.20260613051837",
|
|
41
41
|
"diff": "^8.0.3",
|
|
42
42
|
"fflate": "^0.8.2",
|
|
43
43
|
"react-markdown": "^10.1.0",
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"@codemirror/state": "^6.0.0",
|
|
58
58
|
"@codemirror/view": "^6.0.0",
|
|
59
59
|
"@lezer/highlight": "^1.0.0",
|
|
60
|
-
"@stigmer/protos": "3.0.8-dev.
|
|
61
|
-
"@stigmer/sdk": "3.0.8-dev.
|
|
60
|
+
"@stigmer/protos": "3.0.8-dev.20260613051837",
|
|
61
|
+
"@stigmer/sdk": "3.0.8-dev.20260613051837",
|
|
62
62
|
"@tanstack/react-table": "^8.20.0",
|
|
63
63
|
"@xyflow/react": "^12.0.0",
|
|
64
64
|
"elkjs": "^0.9.0",
|
package/session/SessionViewer.js
CHANGED
|
@@ -94,7 +94,12 @@ export function SessionViewer({ sessionId, org, gitHubConnection, enableGitHub =
|
|
|
94
94
|
function ConversationColumn({ flow, modelId, setModelId, interactionMode, setInteractionMode, composerRef, org, gitHubConnection, enableGitHub, enableLocal, onBrowseLocalFolder, onBuildFromPlan, isEndUser, }) {
|
|
95
95
|
const { conv } = flow;
|
|
96
96
|
const sendError = flow.submitError ?? conv.sendError ?? conv.approvalError;
|
|
97
|
-
|
|
97
|
+
// Retry a terminal-failed execution by resending its originating message
|
|
98
|
+
// through the full submit pipeline (agent override, runtime-env, workspace).
|
|
99
|
+
const onRetryExecution = useCallback((message) => {
|
|
100
|
+
void flow.handleSubmit(message);
|
|
101
|
+
}, [flow.handleSubmit]);
|
|
102
|
+
return (_jsxs("div", { className: "flex h-full min-w-0 flex-col", children: [_jsx(MessageThread, { executions: conv.completedExecutions, activeStreamExecution: conv.activeStreamExecution, pendingUserMessage: conv.pendingUserMessage, pendingMessageFailed: !!conv.sendError && !!conv.pendingUserMessage, onRetrySend: conv.retryLastSend, onRetryExecution: onRetryExecution, onApprovalSubmit: flow.submitApproval, submittingApprovalIds: conv.submittingApprovalIds, workspaceEntries: conv.workspaceEntries, sandboxWorkspaceRoot: flow.sandboxWorkspaceRoot, onBuildFromPlan: onBuildFromPlan, org: org, planActionsDisabled: !conv.canSendFollowUp, centerContent: true, className: "flex-1" }), _jsxs("div", { className: "mx-auto w-full max-w-3xl", children: [conv.isReconnecting && _jsx(ReconnectingIndicator, {}), conv.connectTimedOut && (_jsx(ConnectTimedOutBanner, { onRetry: conv.reconnectStream })), conv.isSlow && !conv.connectTimedOut && _jsx(SlowIndicator, {}), conv.streamError && (_jsx(StreamErrorBanner, { error: conv.streamError, onReconnect: conv.reconnectStream })), sendError && _jsx(SendErrorBanner, { error: sendError }), flow.autoApproveAll && (_jsx(AutoApproveIndicator, { onTurnOff: () => flow.setAutoApproveAll(false) })), _jsx(SessionComposer, { ref: composerRef, onSubmit: flow.handleSubmit, isSubmitting: conv.isSending, disabled: !conv.canSendFollowUp, org: org, harness: flow.harness, defaultModelId: modelId, onModelChange: setModelId, interactionMode: interactionMode, onInteractionModeChange: setInteractionMode, showInteractionModePicker: true, workspace: flow.workspace, gitHubConnection: gitHubConnection, enableGitHub: enableGitHub, enableLocal: enableLocal, onBrowseLocalFolder: onBrowseLocalFolder, agentRef: flow.agentRef, onAgentRefChange: flow.setAgentRef, onAgentResolutionChange: flow.setResolution, isDefaultAgent: flow.isDefaultAgent, lockAgent: isEndUser, mcpServerUsages: isEndUser ? undefined : flow.mcpServerUsages, onMcpServerUsagesChange: isEndUser ? undefined : flow.setMcpServerUsages, skillRefs: isEndUser ? undefined : flow.skillRefs, onSkillRefsChange: isEndUser ? undefined : flow.setSkillRefs, sessionVariables: isEndUser ? undefined : flow.sessionVariables, className: "px-4 py-3" })] })] }));
|
|
98
103
|
}
|
|
99
104
|
function InspectorPanel({ flow, org, selectionStore, onApplied, onImplementPlan, enableGitHub, enableLocal, gitHubConnection, onBrowseLocalFolder, workspaceFileLister, isEndUser, }) {
|
|
100
105
|
const selectedItem = useSelectedThreadItem();
|
|
@@ -170,6 +175,23 @@ function SendErrorBanner({ error }) {
|
|
|
170
175
|
function ReconnectingIndicator() {
|
|
171
176
|
return (_jsxs("div", { role: "status", "aria-live": "polite", className: "flex items-center gap-2 border-t border-border bg-muted px-4 py-2 text-sm text-muted-foreground", children: [_jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "shrink-0 animate-spin motion-reduce:animate-none", "aria-hidden": "true", children: _jsx("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }) }), _jsx("span", { className: "truncate", children: "Reconnecting\u2026" })] }));
|
|
172
177
|
}
|
|
178
|
+
/**
|
|
179
|
+
* Actionable banner for the connect-timeout watchdog: the stream opened but
|
|
180
|
+
* never delivered a first snapshot — the agent hasn't started. Mirrors
|
|
181
|
+
* {@link StreamErrorBanner}'s shape (message + Retry) since both resolve via
|
|
182
|
+
* the same `reconnect()` path, but its copy names the specific failure.
|
|
183
|
+
*/
|
|
184
|
+
function ConnectTimedOutBanner({ onRetry }) {
|
|
185
|
+
return (_jsxs("div", { role: "alert", className: "flex items-center gap-3 border-t border-border bg-muted px-4 py-2.5", children: [_jsx("p", { className: "min-w-0 flex-1 truncate text-sm text-muted-foreground", children: "The agent hasn\u2019t started yet." }), _jsx("button", { type: "button", onClick: onRetry, className: "inline-flex shrink-0 items-center gap-1.5 rounded-md border border-border px-2 py-1 text-xs font-medium hover:bg-card", children: "Retry" })] }));
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Low-weight informational hint for the slow-stall watchdog: a live stream has
|
|
189
|
+
* gone quiet longer than usual. Never an error and offers no action — the
|
|
190
|
+
* stream is still expected to resume on its own.
|
|
191
|
+
*/
|
|
192
|
+
function SlowIndicator() {
|
|
193
|
+
return (_jsxs("div", { role: "status", "aria-live": "polite", className: "flex items-center gap-2 border-t border-border-muted px-4 py-1.5 text-xs text-muted-foreground", children: [_jsxs("span", { className: "relative flex h-2 w-2 shrink-0", "aria-hidden": "true", children: [_jsx("span", { className: "absolute inline-flex h-full w-full animate-ping rounded-full bg-muted-foreground opacity-75 motion-reduce:animate-none" }), _jsx("span", { className: "relative inline-flex h-2 w-2 rounded-full bg-muted-foreground" })] }), _jsx("span", { className: "min-w-0 flex-1 truncate", children: "Still working \u2014 this is taking longer than usual." })] }));
|
|
194
|
+
}
|
|
173
195
|
function StreamErrorBanner({ error, onReconnect, }) {
|
|
174
196
|
return (_jsxs("div", { role: "alert", className: "flex items-center gap-3 border-t border-border bg-muted px-4 py-2.5", children: [_jsx("p", { className: "min-w-0 flex-1 truncate text-sm text-muted-foreground", children: getUserMessage(error) }), _jsx("button", { type: "button", onClick: onReconnect, className: "inline-flex shrink-0 items-center gap-1.5 rounded-md border border-border px-2 py-1 text-xs font-medium hover:bg-card", children: "Reconnect" })] }));
|
|
175
197
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionViewer.js","sourceRoot":"","sources":["../../src/session/SessionViewer.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SessionViewer.js","sourceRoot":"","sources":["../../src/session/SessionViewer.tsx"],"names":[],"mappings":"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"}
|