@reticlehq/browser 2.1.0 → 2.2.1

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 (160) hide show
  1. package/NOTICE +5 -0
  2. package/dist/actions/actions.d.ts +1 -1
  3. package/dist/actions/actions.d.ts.map +1 -1
  4. package/dist/actions/actions.js +37 -19
  5. package/dist/actions/actions.js.map +1 -1
  6. package/dist/commands/commands.d.ts +2 -0
  7. package/dist/commands/commands.d.ts.map +1 -1
  8. package/dist/commands/commands.js +20 -6
  9. package/dist/commands/commands.js.map +1 -1
  10. package/dist/dom/a11y.d.ts +17 -6
  11. package/dist/dom/a11y.d.ts.map +1 -1
  12. package/dist/dom/a11y.js +68 -32
  13. package/dist/dom/a11y.js.map +1 -1
  14. package/dist/dom/auto-anchor.d.ts +10 -10
  15. package/dist/dom/auto-anchor.js +10 -10
  16. package/dist/dom/blind-spots.d.ts +14 -0
  17. package/dist/dom/blind-spots.d.ts.map +1 -0
  18. package/dist/dom/blind-spots.js +30 -0
  19. package/dist/dom/blind-spots.js.map +1 -0
  20. package/dist/dom/chart.d.ts +93 -0
  21. package/dist/dom/chart.d.ts.map +1 -0
  22. package/dist/dom/chart.js +119 -0
  23. package/dist/dom/chart.js.map +1 -0
  24. package/dist/dom/dom-ignore.d.ts.map +1 -1
  25. package/dist/dom/dom-ignore.js +7 -2
  26. package/dist/dom/dom-ignore.js.map +1 -1
  27. package/dist/dom/query.d.ts +17 -4
  28. package/dist/dom/query.d.ts.map +1 -1
  29. package/dist/dom/query.js +185 -30
  30. package/dist/dom/query.js.map +1 -1
  31. package/dist/dom/refs.d.ts +25 -2
  32. package/dist/dom/refs.d.ts.map +1 -1
  33. package/dist/dom/refs.js +78 -3
  34. package/dist/dom/refs.js.map +1 -1
  35. package/dist/dom/snapshot.d.ts +6 -0
  36. package/dist/dom/snapshot.d.ts.map +1 -1
  37. package/dist/dom/snapshot.js +6 -1
  38. package/dist/dom/snapshot.js.map +1 -1
  39. package/dist/dom/source.d.ts +40 -0
  40. package/dist/dom/source.d.ts.map +1 -0
  41. package/dist/dom/source.js +59 -0
  42. package/dist/dom/source.js.map +1 -0
  43. package/dist/dom/theme.js +2 -2
  44. package/dist/dom/theme.js.map +1 -1
  45. package/dist/index.d.ts +6 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +9 -1
  48. package/dist/index.js.map +1 -1
  49. package/dist/observers/blind-spots.d.ts +19 -0
  50. package/dist/observers/blind-spots.d.ts.map +1 -0
  51. package/dist/observers/blind-spots.js +89 -0
  52. package/dist/observers/blind-spots.js.map +1 -0
  53. package/dist/observers/console.d.ts.map +1 -1
  54. package/dist/observers/console.js +39 -6
  55. package/dist/observers/console.js.map +1 -1
  56. package/dist/observers/dom.d.ts.map +1 -1
  57. package/dist/observers/dom.js +68 -9
  58. package/dist/observers/dom.js.map +1 -1
  59. package/dist/observers/focus.d.ts +10 -0
  60. package/dist/observers/focus.d.ts.map +1 -0
  61. package/dist/observers/focus.js +49 -0
  62. package/dist/observers/focus.js.map +1 -0
  63. package/dist/observers/network-body.d.ts +19 -0
  64. package/dist/observers/network-body.d.ts.map +1 -0
  65. package/dist/observers/network-body.js +143 -0
  66. package/dist/observers/network-body.js.map +1 -0
  67. package/dist/observers/network-redact.d.ts +8 -0
  68. package/dist/observers/network-redact.d.ts.map +1 -0
  69. package/dist/observers/network-redact.js +66 -0
  70. package/dist/observers/network-redact.js.map +1 -0
  71. package/dist/observers/network.d.ts +13 -6
  72. package/dist/observers/network.d.ts.map +1 -1
  73. package/dist/observers/network.js +288 -162
  74. package/dist/observers/network.js.map +1 -1
  75. package/dist/observers/route.d.ts.map +1 -1
  76. package/dist/observers/route.js +15 -9
  77. package/dist/observers/route.js.map +1 -1
  78. package/dist/observers/scroll.d.ts.map +1 -1
  79. package/dist/observers/scroll.js +35 -8
  80. package/dist/observers/scroll.js.map +1 -1
  81. package/dist/observers/state.d.ts +20 -0
  82. package/dist/observers/state.d.ts.map +1 -0
  83. package/dist/observers/state.js +87 -0
  84. package/dist/observers/state.js.map +1 -0
  85. package/dist/observers/storage.d.ts +9 -0
  86. package/dist/observers/storage.d.ts.map +1 -1
  87. package/dist/observers/storage.js +105 -3
  88. package/dist/observers/storage.js.map +1 -1
  89. package/dist/observers/types.d.ts +15 -0
  90. package/dist/observers/types.d.ts.map +1 -1
  91. package/dist/observers/types.js +29 -1
  92. package/dist/observers/types.js.map +1 -1
  93. package/dist/patching/capture-method.d.ts +27 -0
  94. package/dist/patching/capture-method.d.ts.map +1 -0
  95. package/dist/patching/capture-method.js +37 -0
  96. package/dist/patching/capture-method.js.map +1 -0
  97. package/dist/presenter/presenter-config.d.ts +3 -3
  98. package/dist/presenter/presenter-config.d.ts.map +1 -1
  99. package/dist/presenter/presenter-config.js +3 -3
  100. package/dist/presenter/presenter-config.js.map +1 -1
  101. package/dist/presenter/presenter-controls.d.ts +1 -1
  102. package/dist/presenter/presenter-controls.d.ts.map +1 -1
  103. package/dist/presenter/presenter-controls.js +3 -3
  104. package/dist/presenter/presenter-controls.js.map +1 -1
  105. package/dist/presenter/presenter-glow.d.ts +1 -1
  106. package/dist/presenter/presenter-glow.js +1 -1
  107. package/dist/presenter/presenter-styles.d.ts +1 -1
  108. package/dist/presenter/presenter-styles.d.ts.map +1 -1
  109. package/dist/presenter/presenter-styles.js +12 -3
  110. package/dist/presenter/presenter-styles.js.map +1 -1
  111. package/dist/presenter/presenter.d.ts +4 -4
  112. package/dist/presenter/presenter.d.ts.map +1 -1
  113. package/dist/presenter/presenter.js +5 -5
  114. package/dist/presenter/presenter.js.map +1 -1
  115. package/dist/recorder/recorder.d.ts +8 -8
  116. package/dist/recorder/recorder.d.ts.map +1 -1
  117. package/dist/recorder/recorder.js +9 -9
  118. package/dist/recorder/recorder.js.map +1 -1
  119. package/dist/registry/capabilities.d.ts +2 -2
  120. package/dist/registry/capabilities.d.ts.map +1 -1
  121. package/dist/registry/capabilities.js +1 -1
  122. package/dist/registry/capabilities.js.map +1 -1
  123. package/dist/registry/domains.d.ts +1 -1
  124. package/dist/registry/domains.js +1 -1
  125. package/dist/registry/emitter.d.ts +2 -2
  126. package/dist/registry/emitter.js +2 -2
  127. package/dist/registry/store-adapters.d.ts +128 -0
  128. package/dist/registry/store-adapters.d.ts.map +1 -0
  129. package/dist/registry/store-adapters.js +135 -0
  130. package/dist/registry/store-adapters.js.map +1 -0
  131. package/dist/registry/stores.d.ts +38 -2
  132. package/dist/registry/stores.d.ts.map +1 -1
  133. package/dist/registry/stores.js +110 -8
  134. package/dist/registry/stores.js.map +1 -1
  135. package/dist/reticle.d.ts +22 -3
  136. package/dist/reticle.d.ts.map +1 -1
  137. package/dist/reticle.js +81 -14
  138. package/dist/reticle.js.map +1 -1
  139. package/dist/review/annotator.js +1 -1
  140. package/dist/review/annotator.js.map +1 -1
  141. package/dist/review/mark-anchor.d.ts.map +1 -1
  142. package/dist/review/mark-anchor.js +1 -21
  143. package/dist/review/mark-anchor.js.map +1 -1
  144. package/dist/security/serialization.d.ts +29 -3
  145. package/dist/security/serialization.d.ts.map +1 -1
  146. package/dist/security/serialization.js +169 -28
  147. package/dist/security/serialization.js.map +1 -1
  148. package/dist/timers/clock.d.ts +13 -0
  149. package/dist/timers/clock.d.ts.map +1 -1
  150. package/dist/timers/clock.js +76 -6
  151. package/dist/timers/clock.js.map +1 -1
  152. package/dist/timers/native-console.d.ts +2 -0
  153. package/dist/timers/native-console.d.ts.map +1 -0
  154. package/dist/timers/native-console.js +10 -0
  155. package/dist/timers/native-console.js.map +1 -0
  156. package/dist/transport/transport.d.ts +1 -1
  157. package/dist/transport/transport.d.ts.map +1 -1
  158. package/dist/transport/transport.js +43 -4
  159. package/dist/transport/transport.js.map +1 -1
  160. package/package.json +7 -3
@@ -1,17 +1,87 @@
1
- import { sanitizeForTransport } from '../security/serialization.js';
2
- // Persist on a global so registrations survive HMR re-evaluation (see adapters.ts / feedback #7).
1
+ import { RETICLE_RENDERS_STORE } from '@reticlehq/core';
2
+ import { nativeWarn } from '../timers/native-console.js';
3
+ import { sanitizeWithReport } from '../security/serialization.js';
3
4
  const globalStore = globalThis;
4
5
  const stores = (globalStore.__reticleStores ??= new Map());
5
- /** App calls this once per store: registerStore('workspace', () => useWorkspace.getState()). */
6
- export function registerStore(name, getter) {
7
- stores.set(name, getter);
6
+ // Parallel map: stores that also provided a subscribe method, for automatic STATE_CHANGE diffs.
7
+ const subscribers = (globalStore.__reticleStoreSubs ??= new Map());
8
+ const registrationListeners = (globalStore.__reticleStoreListeners ??=
9
+ new Set());
10
+ /**
11
+ * Observe FUTURE subscribable-store registrations. The SDK installs its observers during connect, but
12
+ * apps call registerStore afterwards — so enumerating once at install time subscribes to nothing and
13
+ * STATE_CHANGE never fires. Observers use this to pick up stores registered after they installed.
14
+ */
15
+ export function onStoreRegistered(listener) {
16
+ registrationListeners.add(listener);
17
+ return () => registrationListeners.delete(listener);
18
+ }
19
+ function isStoreLike(source) {
20
+ // Zustand's `create` returns a CALLABLE hook that also carries getState/subscribe, so a store can be
21
+ // typeof 'function' as well as 'object'. What distinguishes it from a plain getter is those two members
22
+ // — never the typeof. (Checking only for 'object' left every Zustand app on pull-only reads.)
23
+ if (source === null)
24
+ return false;
25
+ if (typeof source !== 'object' && typeof source !== 'function')
26
+ return false;
27
+ const candidate = source;
28
+ return typeof candidate.getState === 'function' && typeof candidate.subscribe === 'function';
29
+ }
30
+ /**
31
+ * App calls this once per store. PREFER passing the store itself — `registerStore('app', useApp)` —
32
+ * which wires `getState` AND `subscribe`, so every mutation emits a STATE_CHANGE path diff automatically
33
+ * (the before→after the causal summary reports). Passing a bare getter still works for back-compat, but
34
+ * leaves the store on pull-only reads: no change events, and an empty `stateDiffs` in every act summary.
35
+ */
36
+ export function registerStore(name, source, subscribe) {
37
+ if (isStoreLike(source)) {
38
+ const getter = () => source.getState();
39
+ const sub = (listener) => source.subscribe(listener);
40
+ stores.set(name, getter);
41
+ subscribers.set(name, sub);
42
+ notifyRegistered(name, getter, sub);
43
+ return;
44
+ }
45
+ stores.set(name, source);
46
+ if (subscribe !== undefined) {
47
+ subscribers.set(name, subscribe);
48
+ notifyRegistered(name, source, subscribe);
49
+ return;
50
+ }
51
+ // Readable but SILENT: reticle_state can read this store on demand, yet nothing will ever emit a
52
+ // STATE_CHANGE for it, so causal summaries show no state diff and a {kind:"state"} predicate can
53
+ // never observe it changing. That reads exactly like "the app did not change anything" — a false
54
+ // negative with no error attached. Say so once, at registration, where the developer can fix it by
55
+ // passing the store itself (or a subscribe function) instead of a bare getter.
56
+ warnSilentStoreOnce(name);
57
+ }
58
+ function notifyRegistered(name, getter, subscribe) {
59
+ for (const listener of registrationListeners) {
60
+ try {
61
+ listener([name, getter, subscribe]);
62
+ }
63
+ catch {
64
+ // a broken observer must never break the app's registerStore call
65
+ }
66
+ }
8
67
  }
9
68
  export function unregisterStore(name) {
10
69
  stores.delete(name);
70
+ subscribers.delete(name);
11
71
  }
12
72
  export function storeNames() {
13
73
  return [...stores.keys()];
14
74
  }
75
+ /** Registered stores that exposed a subscribe method, as [name, getter, subscribe] tuples. */
76
+ export function subscribableStores() {
77
+ const out = [];
78
+ for (const [name, subscribe] of subscribers) {
79
+ const getter = stores.get(name);
80
+ if (getter !== undefined)
81
+ out.push([name, getter, subscribe]);
82
+ }
83
+ return out;
84
+ }
15
85
  /**
16
86
  * Read one store (by name) or all of them WITHOUT transport sanitization. For scoped reads that
17
87
  * select a sub-tree first, so a deep/large path (e.g. row 250 of a 500-row array) isn't truncated
@@ -33,10 +103,42 @@ export function readStoresRaw(only) {
33
103
  }
34
104
  /** Read one store (by name) or all of them, each capped for transport. */
35
105
  export function readStores(only) {
36
- const out = {};
106
+ return readStoresWithTruncation(only).stores;
107
+ }
108
+ /**
109
+ * As `readStores`, plus which stores came back INCOMPLETE.
110
+ *
111
+ * The whole-store read is the one path where the transport caps could silently hand back a fraction
112
+ * of a large store — ~142 of 1,000 entities, with the remainder simply absent. A caller comparing
113
+ * that against expected data reads it as "the app lost the rest", which is a false failure; a caller
114
+ * asserting something is absent reads it as proof, which is a false green. Neither is recoverable
115
+ * from the payload, so the fact of truncation travels beside it.
116
+ */
117
+ export function readStoresWithTruncation(only) {
118
+ const stores = {};
119
+ const truncation = {};
37
120
  for (const [name, value] of Object.entries(readStoresRaw(only))) {
38
- out[name] = sanitizeForTransport(value);
121
+ const result = sanitizeWithReport(value);
122
+ stores[name] = result.value;
123
+ if (result.truncation !== undefined)
124
+ truncation[name] = result.truncation;
39
125
  }
40
- return out;
126
+ return Object.keys(truncation).length > 0 ? { stores, truncation } : { stores };
127
+ }
128
+ /** Stores already warned about — a warning that repeats on every HMR cycle or remount becomes noise. */
129
+ const warnedSilent = new Set();
130
+ /**
131
+ * Reticle's OWN read-only stores. `@reticlehq/react` registers a render-stats getter that the app
132
+ * developer never wrote and cannot change, so warning about it would be Reticle telling the user to fix
133
+ * Reticle — the same self-contradiction as a tool description naming a tool the profile does not expose.
134
+ */
135
+ const RETICLE_OWNED_STORES = new Set([RETICLE_RENDERS_STORE]);
136
+ function warnSilentStoreOnce(name) {
137
+ if (RETICLE_OWNED_STORES.has(name) || warnedSilent.has(name))
138
+ return;
139
+ warnedSilent.add(name);
140
+ nativeWarn(`[reticle] store "${name}" was registered without a subscribe function. It can be READ, but its ` +
141
+ `changes are invisible: no STATE_CHANGE events, no state diffs in causal summaries, and a state ` +
142
+ `predicate will never see it update. Pass the store object (or a subscribe callback) to fix.`);
41
143
  }
42
144
  //# sourceMappingURL=stores.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stores.js","sourceRoot":"","sources":["../../src/registry/stores.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAKpE,kGAAkG;AAClG,MAAM,WAAW,GAAG,UAAuE,CAAC;AAC5F,MAAM,MAAM,GAA6B,CAAC,WAAW,CAAC,eAAe,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;AAErF,gGAAgG;AAChG,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,MAAmB;IAC7D,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAClD,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"stores.js","sourceRoot":"","sources":["../../src/registry/stores.ts"],"names":[],"mappings":"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"}
package/dist/reticle.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { RETICLE_URL_PARAM } from '@reticlehq/core';
1
+ import { EventType, RETICLE_URL_PARAM, type ReticleEvent } from '@reticlehq/core';
2
2
  import { type CapabilitiesInput } from './registry/capabilities.js';
3
3
  export interface ReticleConnectOptions {
4
4
  /** WS endpoint of the local bridge. Defaults to ws://localhost:<port><path>. */
@@ -59,7 +59,7 @@ export interface ReticleConnectOptions {
59
59
  }
60
60
  /**
61
61
  * Runtime backstop for the dev-only SDK: block connecting when the build reports production, unless
62
- * explicitly overridden. Pure so it's testable; connect() reads NODE_ENV safely (process may be absent
62
+ * explicitly overridden. Pure so it's testable; connect reads NODE_ENV safely (process may be absent
63
63
  * in a raw browser). This is defense-in-depth — the primary guard is the consumer gating the import
64
64
  * behind `import.meta.env.DEV` so the SDK is dead-code-eliminated from prod bundles entirely.
65
65
  */
@@ -77,7 +77,7 @@ export declare function resolveSessionLabel(option: string | undefined, gen: ()
77
77
  export { RETICLE_URL_PARAM };
78
78
  /**
79
79
  * Extract Reticle identity overrides from a `location.search` string. Pure (takes the string, not the
80
- * window) so it's testable without a DOM. Explicit connect() options still win over these.
80
+ * window) so it's testable without a DOM. Explicit connect options still win over these.
81
81
  */
82
82
  export declare function reticleParamsFromSearch(search: string): {
83
83
  session?: string;
@@ -96,6 +96,19 @@ export declare function resolveConnectIdentity(options: {
96
96
  session: string | undefined;
97
97
  projectId: string | undefined;
98
98
  };
99
+ /**
100
+ * Assemble an event envelope. Pure: `seq` (monotonic per session) and `t` (elapsed clock) are
101
+ * injected, never read here — so it is unit-testable and honors the clock-injection rule. The
102
+ * causing action's id is attributed server-side by the settle window, so it is not stamped here.
103
+ */
104
+ export declare function buildEvent(args: {
105
+ seq: number;
106
+ t: number;
107
+ type: EventType;
108
+ sessionId: string;
109
+ data: Record<string, unknown>;
110
+ ref?: string | undefined;
111
+ }): ReticleEvent;
99
112
  /**
100
113
  * The browser-side orchestrator. Wires observers -> events -> bridge, and bridge
101
114
  * commands -> handlers. Embedded in the host app (dev only).
@@ -109,6 +122,12 @@ export declare class Reticle {
109
122
  signal(name: string, data?: Record<string, unknown>): void;
110
123
  /** Report a framework/store state change the agent can observe and assert on. */
111
124
  state(name: string, value: unknown): void;
125
+ /**
126
+ * Report an aggregated count of React commits (the @reticlehq/react render meter calls this on a
127
+ * throttle). Emits a single RENDER_COMMIT event per window so commit storms are observable without a
128
+ * per-render flood. Dev-only, like the whole SDK.
129
+ */
130
+ renderCommit(commits: number): void;
112
131
  /** Advertise the app's testable surface so the agent learns it without reading source. */
113
132
  describe(input: CapabilitiesInput): void;
114
133
  /** Live-control: end the session programmatically from the host app (drives the panel to ended). */
@@ -1 +1 @@
1
- {"version":3,"file":"reticle.d.ts","sourceRoot":"","sources":["../src/reticle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reticle.d.ts","sourceRoot":"","sources":["../src/reticle.ts"],"names":[],"mappings":"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"}
package/dist/reticle.js CHANGED
@@ -1,9 +1,13 @@
1
1
  import { EventType, RETICLE_DEFAULT_PORT, RETICLE_PROTOCOL_VERSION, RETICLE_URL_PARAM, bridgeWsUrl, ReticleCommand, MessageKind, SESSION_AUTO, SessionState, TRANSPORT_LIMITS, isLoopbackHostname, } from '@reticlehq/core';
2
- import { createCommandRegistry } from './commands/commands.js';
2
+ import { createCommandRegistry, RELOAD_CACHE_BUST_PARAM, } from './commands/commands.js';
3
3
  import { Transport } from './transport/transport.js';
4
4
  import { adapterNames } from './registry/adapters.js';
5
5
  import { registerCapabilities, hasCapabilities, } from './registry/capabilities.js';
6
6
  import { installDom } from './observers/dom.js';
7
+ import { installStorage } from './observers/storage.js';
8
+ import { installStoreState } from './observers/state.js';
9
+ import { installFocus } from './observers/focus.js';
10
+ import { installBlindSpots } from './observers/blind-spots.js';
7
11
  import { installNetwork } from './observers/network.js';
8
12
  import { installPerf } from './observers/perf.js';
9
13
  import { installRoute } from './observers/route.js';
@@ -16,11 +20,12 @@ import { Presenter, LOG_KIND, LOG_RESULT, } from './presenter/presenter.js';
16
20
  import { actionVerb } from './presenter/presenter-verbs.js';
17
21
  import { str, refLabel, modeForCommand, presentStatus } from './reticle-presenter-helpers.js';
18
22
  import { resetClock } from './timers/clock.js';
23
+ import { nativeWarn } from './timers/native-console.js';
19
24
  import { installRecorder } from './recorder/recorder.js';
20
25
  import { Annotator } from './review/annotator.js';
21
26
  /**
22
27
  * Runtime backstop for the dev-only SDK: block connecting when the build reports production, unless
23
- * explicitly overridden. Pure so it's testable; connect() reads NODE_ENV safely (process may be absent
28
+ * explicitly overridden. Pure so it's testable; connect reads NODE_ENV safely (process may be absent
24
29
  * in a raw browser). This is defense-in-depth — the primary guard is the consumer gating the import
25
30
  * behind `import.meta.env.DEV` so the SDK is dead-code-eliminated from prod bundles entirely.
26
31
  */
@@ -74,9 +79,22 @@ export function resolveSessionLabel(option, gen) {
74
79
  }
75
80
  // Re-exported from the protocol (the wire contract) so callers/tests can import it from the SDK too.
76
81
  export { RETICLE_URL_PARAM };
82
+ /** Remove the `_reticle_reload` cache-buster a hard REFRESH left behind, via a native replaceState. */
83
+ function stripReloadCacheBustParam() {
84
+ try {
85
+ const current = new URL(window.location.href);
86
+ if (!current.searchParams.has(RELOAD_CACHE_BUST_PARAM))
87
+ return;
88
+ current.searchParams.delete(RELOAD_CACHE_BUST_PARAM);
89
+ window.history.replaceState(window.history.state, '', current.toString());
90
+ }
91
+ catch {
92
+ /* best-effort URL hygiene — never block connect() on it */
93
+ }
94
+ }
77
95
  /**
78
96
  * Extract Reticle identity overrides from a `location.search` string. Pure (takes the string, not the
79
- * window) so it's testable without a DOM. Explicit connect() options still win over these.
97
+ * window) so it's testable without a DOM. Explicit connect options still win over these.
80
98
  */
81
99
  export function reticleParamsFromSearch(search) {
82
100
  const params = new URLSearchParams(search);
@@ -104,6 +122,21 @@ export function resolveConnectIdentity(options, search) {
104
122
  projectId: projectId !== undefined && projectId.length > 0 ? projectId : undefined,
105
123
  };
106
124
  }
125
+ /**
126
+ * Assemble an event envelope. Pure: `seq` (monotonic per session) and `t` (elapsed clock) are
127
+ * injected, never read here — so it is unit-testable and honors the clock-injection rule. The
128
+ * causing action's id is attributed server-side by the settle window, so it is not stamped here.
129
+ */
130
+ export function buildEvent(args) {
131
+ return {
132
+ t: args.t,
133
+ seq: args.seq,
134
+ type: args.type,
135
+ sessionId: args.sessionId,
136
+ ref: args.ref,
137
+ data: args.data,
138
+ };
139
+ }
107
140
  /**
108
141
  * The browser-side orchestrator. Wires observers -> events -> bridge, and bridge
109
142
  * commands -> handlers. Embedded in the host app (dev only).
@@ -138,6 +171,10 @@ export class Reticle {
138
171
  'import.meta.env.DEV, or pass allowInProduction:true to override.');
139
172
  return;
140
173
  }
174
+ // A `hard` REFRESH left a cache-busting `_reticle_reload=<nonce>` in the address bar. Strip it now
175
+ // (before the route observer installs, so it emits no spurious ROUTE_CHANGE) — otherwise every hard
176
+ // reload permanently pollutes the URL the app and the agent see.
177
+ stripReloadCacheBustParam();
141
178
  const url = options.url ?? bridgeWsUrl(RETICLE_DEFAULT_PORT);
142
179
  const policy = connectionPolicy(window.location.hostname, url, options.allowNonLocalhost === true, options.token);
143
180
  if (!policy.allowed) {
@@ -164,8 +201,14 @@ export class Reticle {
164
201
  onConnected: () => this.#presenter?.sessionStart(),
165
202
  // Liveness fallback: if the bridge stays unreachable (the agent killed the server process),
166
203
  // no server-pushed end can arrive — so end the run we're presenting ourselves. A returning
167
- // agent revives it via the normal sessionStart() path on its next command.
204
+ // agent revives it via the normal sessionStart path on its next command.
168
205
  onConnectionLost: () => {
206
+ // Restore real timers. A frozen clock is driven by the agent through the bridge; once the
207
+ // bridge is gone nothing can ever advance it, so leaving it installed pins Date.now and
208
+ // queues every setTimeout into a scheduler that will never run. Concretely that kills every
209
+ // lodash debounce/throttle in the app (now - lastCall stays 0), so search boxes, autosave
210
+ // and resize handlers stop firing until a reload — with nothing on screen explaining why.
211
+ resetClock();
169
212
  if (this.#presenter?.sessionActive === true) {
170
213
  this.#presenter.setState(SessionState.ENDED, BRIDGE_LOST_SUMMARY);
171
214
  }
@@ -173,7 +216,7 @@ export class Reticle {
173
216
  // First-connect never succeeded ⇒ the bridge is unreachable at this URL. Tell the developer
174
217
  // exactly what went wrong and how to fix it, instead of retrying silently forever.
175
218
  onUnreachable: ({ url: tried, attempts }) => {
176
- globalThis.console.warn(`[Reticle] could not reach the bridge at ${tried} after ${String(attempts)} attempts. ` +
219
+ nativeWarn(`[Reticle] could not reach the bridge at ${tried} after ${String(attempts)} attempts. ` +
177
220
  `Is the Reticle daemon running on that port? If your app runs in a container/devcontainer/WSL, ` +
178
221
  `the daemon is on a different host — set the WS URL explicitly (Vite: VITE_RETICLE_WS_URL, ` +
179
222
  `or reticle.connect({ url })). Still retrying…`);
@@ -188,6 +231,10 @@ export class Reticle {
188
231
  installAnimation(emit),
189
232
  installScroll(emit),
190
233
  installDom(emit),
234
+ installStorage(emit), // storage WRITES → STORAGE_CHANGE diffs (pull remains the fallback)
235
+ installStoreState(emit), // subscribed-store mutations → STATE_CHANGE path diffs
236
+ installFocus(emit), // element focus movement → FOCUS_CHANGE (focus-to-body = a regression)
237
+ installBlindSpots(emit), // cross-origin iframes the SDK can't see → BLIND_SPOT (coverage: partial)
191
238
  installHealth(emit), // page visibility/focus health + heartbeat
192
239
  ];
193
240
  if (options.overlay === true) {
@@ -250,6 +297,15 @@ export class Reticle {
250
297
  state(name, value) {
251
298
  this.#emit(EventType.STATE_CHANGE, { name, value });
252
299
  }
300
+ /**
301
+ * Report an aggregated count of React commits (the @reticlehq/react render meter calls this on a
302
+ * throttle). Emits a single RENDER_COMMIT event per window so commit storms are observable without a
303
+ * per-render flood. Dev-only, like the whole SDK.
304
+ */
305
+ renderCommit(commits) {
306
+ if (commits > 0)
307
+ this.#emit(EventType.RENDER_COMMIT, { commits });
308
+ }
253
309
  /** Advertise the app's testable surface so the agent learns it without reading source. */
254
310
  describe(input) {
255
311
  registerCapabilities(input);
@@ -279,19 +335,30 @@ export class Reticle {
279
335
  this.#connected = false;
280
336
  }
281
337
  #emit = (type, data, ref) => {
282
- const event = {
338
+ const event = buildEvent({
339
+ seq: this.#eventCount,
283
340
  t: Math.round(performance.now() - this.#start),
284
341
  type,
285
342
  sessionId: this.#session,
286
- ref,
287
343
  data,
288
- };
289
- this.#transport?.sendEvent(event);
290
- this.#eventCount += 1;
291
- this.#overlay?.update({ connected: true, events: this.#eventCount });
292
- // On a route change, re-scope the HUD's replay-flow chips to the page we're now on.
293
- if (type === EventType.ROUTE_CHANGE)
294
- this.#presenter?.refilterFlows();
344
+ ref,
345
+ });
346
+ // Guarded because #emit runs INLINE IN THE APP'S CALL STACK: every monkey-patch calls it from
347
+ // inside the function it replaced. An exception here does not surface as an SDK error — it
348
+ // propagates out of history.pushState (crashing a router's navigate), out of localStorage.setItem
349
+ // after the write already succeeded, or out of console.log before the message reaches the console.
350
+ // A dev-only observability SDK must never be able to break the app it is observing.
351
+ try {
352
+ this.#transport?.sendEvent(event);
353
+ this.#eventCount += 1;
354
+ this.#overlay?.update({ connected: true, events: this.#eventCount });
355
+ // On a route change, re-scope the HUD's replay-flow chips to the page we're now on.
356
+ if (type === EventType.ROUTE_CHANGE)
357
+ this.#presenter?.refilterFlows();
358
+ }
359
+ catch {
360
+ /* observation is best-effort; the host app's control flow is not */
361
+ }
295
362
  };
296
363
  #hello() {
297
364
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"reticle.js","sourceRoot":"","sources":["../src/reticle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reticle.js","sourceRoot":"","sources":["../src/reticle.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { nativeSetTimeout, nativeClearTimeout } from '../timers/native-timers.js
4
4
  /** The cursor must rest this long before the outline boxes the element under it — calm, not jumpy. */
5
5
  const HIGHLIGHT_REST_MS = 130;
6
6
  /** Single base attribute on every UI node (varied by VALUE) so `closest('[data-reticle-mark]')`
7
- * catches the FAB, popover, and pins in one check, and the SDK's observers ignore them all. */
7
+ * catches the FAB, popover, and pins in one check, and the SDK's observers ignore them all. */
8
8
  const MARK_ATTR = 'data-reticle-mark';
9
9
  const ACTIVE_ATTR = 'data-reticle-mark-active';
10
10
  const Z = 2147483640;
@@ -1 +1 @@
1
- {"version":3,"file":"annotator.js","sourceRoot":"","sources":["../../src/review/annotator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotator.js","sourceRoot":"","sources":["../../src/review/annotator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mark-anchor.d.ts","sourceRoot":"","sources":["../../src/review/mark-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AASrD;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAqCD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,UAAU,CAuBzD"}
1
+ {"version":3,"file":"mark-anchor.d.ts","sourceRoot":"","sources":["../../src/review/mark-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AASrD;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAgBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,UAAU,CAuBzD"}
@@ -2,9 +2,9 @@ import { MarkAnchorStrategy } from '@reticlehq/core';
2
2
  import { AnchorStrategy, synthesizeAnchor } from '../dom/auto-anchor.js';
3
3
  import { getAccessibleName, getRole } from '../dom/a11y.js';
4
4
  import { identifyComponent } from '../registry/adapters.js';
5
+ import { sourceFor } from '../dom/source.js';
5
6
  /** Attribute names — defined locally per the recorder/query convention (no shared free string). */
6
7
  const TESTID_ATTR = 'data-testid';
7
- const SOURCE_ATTR = 'data-reticle-source';
8
8
  /** AnchorStrategy and MarkAnchorStrategy share string values; map explicitly (no cross-cast). */
9
9
  const STRATEGY = {
10
10
  [AnchorStrategy.TESTID]: MarkAnchorStrategy.TESTID,
@@ -12,26 +12,6 @@ const STRATEGY = {
12
12
  [AnchorStrategy.ROLE]: MarkAnchorStrategy.ROLE,
13
13
  [AnchorStrategy.POSITION]: MarkAnchorStrategy.POSITION,
14
14
  };
15
- /** Parse a `data-reticle-source="file:line:column"` value into `{ file, line }` (column dropped). */
16
- function parseSourceAttr(value) {
17
- if (value === null)
18
- return undefined;
19
- const m = /^(.*):(\d+):(\d+)$/.exec(value);
20
- if (m === null)
21
- return undefined;
22
- const file = m[1];
23
- const line = Number(m[2]);
24
- if (file === undefined || file.length === 0 || !Number.isFinite(line))
25
- return undefined;
26
- return { file, line };
27
- }
28
- /** Best source for the element: the framework adapter's, else the nearest babel-stamped attribute. */
29
- function sourceFor(el, adapterSource) {
30
- if (adapterSource !== undefined)
31
- return { file: adapterSource.file, line: adapterSource.line };
32
- const host = el.closest(`[${SOURCE_ATTR}]`);
33
- return host !== null ? parseSourceAttr(host.getAttribute(SOURCE_ATTR)) : undefined;
34
- }
35
15
  /** A short, human-legible label for the element: `role "name"`, falling back to role / tag name. */
36
16
  function labelFor(el, role, name) {
37
17
  if (name.length > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"mark-anchor.js","sourceRoot":"","sources":["../../src/review/mark-anchor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mark-anchor.js","sourceRoot":"","sources":["../../src/review/mark-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAoB,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,mGAAmG;AACnG,MAAM,WAAW,GAAG,aAAa,CAAC;AAelC,iGAAiG;AACjG,MAAM,QAAQ,GAA+C;IAC3D,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,MAAM;IAClD,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,SAAS;IACxD,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,IAAI;IAC9C,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,QAAQ;CACvD,CAAC;AAEF,oGAAoG;AACpG,SAAS,QAAQ,CAAC,EAAW,EAAE,IAAY,EAAE,IAAY;IACvD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;IAChF,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAW;IAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;IACzD,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAEnC,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,IAAI,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAChD,IAAI,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACzD,IAAI,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAChD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACvC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAEvC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAe;QACtB,MAAM,EAAE,WAAW,CAAC,KAAK;QACzB,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;QACxC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC;KAChC,CAAC;IACF,IAAI,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9C,OAAO,GAAG,CAAC;AACb,CAAC"}