@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.
Files changed (55) hide show
  1. package/execution/ExecutionProgress.d.ts.map +1 -1
  2. package/execution/ExecutionProgress.js +5 -1
  3. package/execution/ExecutionProgress.js.map +1 -1
  4. package/execution/MessageThread.d.ts +32 -3
  5. package/execution/MessageThread.d.ts.map +1 -1
  6. package/execution/MessageThread.js +59 -10
  7. package/execution/MessageThread.js.map +1 -1
  8. package/execution/useExecutionStream.d.ts +27 -0
  9. package/execution/useExecutionStream.d.ts.map +1 -1
  10. package/execution/useExecutionStream.js +48 -5
  11. package/execution/useExecutionStream.js.map +1 -1
  12. package/internal/VirtualizedThread.d.ts +3 -1
  13. package/internal/VirtualizedThread.d.ts.map +1 -1
  14. package/internal/VirtualizedThread.js +4 -2
  15. package/internal/VirtualizedThread.js.map +1 -1
  16. package/internal/store/conversation-store.d.ts +22 -0
  17. package/internal/store/conversation-store.d.ts.map +1 -1
  18. package/internal/store/conversation-store.js +43 -2
  19. package/internal/store/conversation-store.js.map +1 -1
  20. package/internal/stream-controller.d.ts +46 -2
  21. package/internal/stream-controller.d.ts.map +1 -1
  22. package/internal/stream-controller.js +95 -4
  23. package/internal/stream-controller.js.map +1 -1
  24. package/internal/useFetch.d.ts +7 -0
  25. package/internal/useFetch.d.ts.map +1 -1
  26. package/internal/useFetch.js +21 -0
  27. package/internal/useFetch.js.map +1 -1
  28. package/package.json +4 -4
  29. package/session/SessionViewer.js +23 -1
  30. package/session/SessionViewer.js.map +1 -1
  31. package/session/useSessionConversation.d.ts +34 -3
  32. package/session/useSessionConversation.d.ts.map +1 -1
  33. package/session/useSessionConversation.js +73 -10
  34. package/session/useSessionConversation.js.map +1 -1
  35. package/session/useSessionExecutions.d.ts +17 -1
  36. package/session/useSessionExecutions.d.ts.map +1 -1
  37. package/session/useSessionExecutions.js +6 -2
  38. package/session/useSessionExecutions.js.map +1 -1
  39. package/src/execution/ExecutionProgress.tsx +12 -0
  40. package/src/execution/MessageThread.tsx +174 -5
  41. package/src/execution/__tests__/MessageThread.test.tsx +64 -0
  42. package/src/execution/__tests__/useExecutionStream.test.tsx +95 -0
  43. package/src/execution/useExecutionStream.ts +80 -4
  44. package/src/internal/VirtualizedThread.tsx +7 -1
  45. package/src/internal/__tests__/stream-controller.test.ts +165 -10
  46. package/src/internal/__tests__/useFetch.test.tsx +59 -0
  47. package/src/internal/store/__tests__/conversation-store.test.ts +61 -0
  48. package/src/internal/store/conversation-store.ts +46 -3
  49. package/src/internal/stream-controller.ts +123 -3
  50. package/src/internal/useFetch.ts +26 -0
  51. package/src/session/SessionViewer.tsx +62 -0
  52. package/src/session/__tests__/useSessionConversation.test.tsx +53 -0
  53. package/src/session/useSessionConversation.ts +113 -14
  54. package/src/session/useSessionExecutions.ts +23 -1
  55. 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;IAUb;;;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;IAIF,OAAO,CAAC,OAAO;CAKhB"}
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 wasIdle = this._execution === null && this._streamState.stage === "idle";
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
- if (!wasIdle)
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":"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"}
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
- constructor(sink: StreamControllerSink, scheduleFlush?: (cb: () => void) => number, cancelFlush?: (id: number) => void);
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;CAC1C;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;gBAGzC,IAAI,EAAE,oBAAoB,EAC1B,aAAa,GAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,MAE4B,EAC/D,WAAW,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAEO;IAOtC,qCAAqC;IACrC,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAMhC;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IA2B9C;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAMvD;;;OAGG;IACH,eAAe,IAAI,IAAI;IAUvB;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAS/B,gDAAgD;IAChD,KAAK,IAAI,IAAI;IAQb,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;CAM5B"}
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: advance from either
76
- // the initial `connecting` or a `reconnecting` retry into `streaming`.
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":"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"}
1
+ {"version":3,"file":"stream-controller.js","sourceRoot":"","sources":["../../src/internal/stream-controller.ts"],"names":[],"mappings":"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"}
@@ -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,CAiHnB"}
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"}
@@ -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 };
@@ -1 +1 @@
1
- {"version":3,"file":"useFetch.js","sourceRoot":"","sources":["../../src/internal/useFetch.ts"],"names":[],"mappings":"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"}
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.20260613041848",
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.20260613041848",
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.20260613041848",
61
- "@stigmer/sdk": "3.0.8-dev.20260613041848",
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",
@@ -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
- return (_jsxs("div", { className: "flex h-full min-w-0 flex-col", children: [_jsx(MessageThread, { executions: conv.completedExecutions, activeStreamExecution: conv.activeStreamExecution, pendingUserMessage: conv.pendingUserMessage, 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.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" })] })] }));
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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"}