@reticlehq/browser 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) 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 +109 -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 +79 -13
  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/transport/transport.d.ts +1 -1
  153. package/dist/transport/transport.d.ts.map +1 -1
  154. package/dist/transport/transport.js +42 -4
  155. package/dist/transport/transport.js.map +1 -1
  156. package/package.json +7 -3
@@ -1,17 +1,86 @@
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 { sanitizeWithReport } from '../security/serialization.js';
3
3
  const globalStore = globalThis;
4
4
  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);
5
+ // Parallel map: stores that also provided a subscribe method, for automatic STATE_CHANGE diffs.
6
+ const subscribers = (globalStore.__reticleStoreSubs ??= new Map());
7
+ const registrationListeners = (globalStore.__reticleStoreListeners ??=
8
+ new Set());
9
+ /**
10
+ * Observe FUTURE subscribable-store registrations. The SDK installs its observers during connect, but
11
+ * apps call registerStore afterwards — so enumerating once at install time subscribes to nothing and
12
+ * STATE_CHANGE never fires. Observers use this to pick up stores registered after they installed.
13
+ */
14
+ export function onStoreRegistered(listener) {
15
+ registrationListeners.add(listener);
16
+ return () => registrationListeners.delete(listener);
17
+ }
18
+ function isStoreLike(source) {
19
+ // Zustand's `create` returns a CALLABLE hook that also carries getState/subscribe, so a store can be
20
+ // typeof 'function' as well as 'object'. What distinguishes it from a plain getter is those two members
21
+ // — never the typeof. (Checking only for 'object' left every Zustand app on pull-only reads.)
22
+ if (source === null)
23
+ return false;
24
+ if (typeof source !== 'object' && typeof source !== 'function')
25
+ return false;
26
+ const candidate = source;
27
+ return typeof candidate.getState === 'function' && typeof candidate.subscribe === 'function';
28
+ }
29
+ /**
30
+ * App calls this once per store. PREFER passing the store itself — `registerStore('app', useApp)` —
31
+ * which wires `getState` AND `subscribe`, so every mutation emits a STATE_CHANGE path diff automatically
32
+ * (the before→after the causal summary reports). Passing a bare getter still works for back-compat, but
33
+ * leaves the store on pull-only reads: no change events, and an empty `stateDiffs` in every act summary.
34
+ */
35
+ export function registerStore(name, source, subscribe) {
36
+ if (isStoreLike(source)) {
37
+ const getter = () => source.getState();
38
+ const sub = (listener) => source.subscribe(listener);
39
+ stores.set(name, getter);
40
+ subscribers.set(name, sub);
41
+ notifyRegistered(name, getter, sub);
42
+ return;
43
+ }
44
+ stores.set(name, source);
45
+ if (subscribe !== undefined) {
46
+ subscribers.set(name, subscribe);
47
+ notifyRegistered(name, source, subscribe);
48
+ return;
49
+ }
50
+ // Readable but SILENT: reticle_state can read this store on demand, yet nothing will ever emit a
51
+ // STATE_CHANGE for it, so causal summaries show no state diff and a {kind:"state"} predicate can
52
+ // never observe it changing. That reads exactly like "the app did not change anything" — a false
53
+ // negative with no error attached. Say so once, at registration, where the developer can fix it by
54
+ // passing the store itself (or a subscribe function) instead of a bare getter.
55
+ warnSilentStoreOnce(name);
56
+ }
57
+ function notifyRegistered(name, getter, subscribe) {
58
+ for (const listener of registrationListeners) {
59
+ try {
60
+ listener([name, getter, subscribe]);
61
+ }
62
+ catch {
63
+ // a broken observer must never break the app's registerStore call
64
+ }
65
+ }
8
66
  }
9
67
  export function unregisterStore(name) {
10
68
  stores.delete(name);
69
+ subscribers.delete(name);
11
70
  }
12
71
  export function storeNames() {
13
72
  return [...stores.keys()];
14
73
  }
74
+ /** Registered stores that exposed a subscribe method, as [name, getter, subscribe] tuples. */
75
+ export function subscribableStores() {
76
+ const out = [];
77
+ for (const [name, subscribe] of subscribers) {
78
+ const getter = stores.get(name);
79
+ if (getter !== undefined)
80
+ out.push([name, getter, subscribe]);
81
+ }
82
+ return out;
83
+ }
15
84
  /**
16
85
  * Read one store (by name) or all of them WITHOUT transport sanitization. For scoped reads that
17
86
  * select a sub-tree first, so a deep/large path (e.g. row 250 of a 500-row array) isn't truncated
@@ -33,10 +102,42 @@ export function readStoresRaw(only) {
33
102
  }
34
103
  /** Read one store (by name) or all of them, each capped for transport. */
35
104
  export function readStores(only) {
36
- const out = {};
105
+ return readStoresWithTruncation(only).stores;
106
+ }
107
+ /**
108
+ * As `readStores`, plus which stores came back INCOMPLETE.
109
+ *
110
+ * The whole-store read is the one path where the transport caps could silently hand back a fraction
111
+ * of a large store — ~142 of 1,000 entities, with the remainder simply absent. A caller comparing
112
+ * that against expected data reads it as "the app lost the rest", which is a false failure; a caller
113
+ * asserting something is absent reads it as proof, which is a false green. Neither is recoverable
114
+ * from the payload, so the fact of truncation travels beside it.
115
+ */
116
+ export function readStoresWithTruncation(only) {
117
+ const stores = {};
118
+ const truncation = {};
37
119
  for (const [name, value] of Object.entries(readStoresRaw(only))) {
38
- out[name] = sanitizeForTransport(value);
120
+ const result = sanitizeWithReport(value);
121
+ stores[name] = result.value;
122
+ if (result.truncation !== undefined)
123
+ truncation[name] = result.truncation;
39
124
  }
40
- return out;
125
+ return Object.keys(truncation).length > 0 ? { stores, truncation } : { stores };
126
+ }
127
+ /** Stores already warned about — a warning that repeats on every HMR cycle or remount becomes noise. */
128
+ const warnedSilent = new Set();
129
+ /**
130
+ * Reticle's OWN read-only stores. `@reticlehq/react` registers a render-stats getter that the app
131
+ * developer never wrote and cannot change, so warning about it would be Reticle telling the user to fix
132
+ * Reticle — the same self-contradiction as a tool description naming a tool the profile does not expose.
133
+ */
134
+ const RETICLE_OWNED_STORES = new Set([RETICLE_RENDERS_STORE]);
135
+ function warnSilentStoreOnce(name) {
136
+ if (RETICLE_OWNED_STORES.has(name) || warnedSilent.has(name))
137
+ return;
138
+ warnedSilent.add(name);
139
+ console.warn(`[reticle] store "${name}" was registered without a subscribe function. It can be READ, but its ` +
140
+ `changes are invisible: no STATE_CHANGE events, no state diffs in causal summaries, and a state ` +
141
+ `predicate will never see it update. Pass the store object (or a subscribe callback) to fix.`);
41
142
  }
42
143
  //# 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';
@@ -20,7 +24,7 @@ import { installRecorder } from './recorder/recorder.js';
20
24
  import { Annotator } from './review/annotator.js';
21
25
  /**
22
26
  * 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
27
+ * explicitly overridden. Pure so it's testable; connect reads NODE_ENV safely (process may be absent
24
28
  * in a raw browser). This is defense-in-depth — the primary guard is the consumer gating the import
25
29
  * behind `import.meta.env.DEV` so the SDK is dead-code-eliminated from prod bundles entirely.
26
30
  */
@@ -74,9 +78,22 @@ export function resolveSessionLabel(option, gen) {
74
78
  }
75
79
  // Re-exported from the protocol (the wire contract) so callers/tests can import it from the SDK too.
76
80
  export { RETICLE_URL_PARAM };
81
+ /** Remove the `_reticle_reload` cache-buster a hard REFRESH left behind, via a native replaceState. */
82
+ function stripReloadCacheBustParam() {
83
+ try {
84
+ const current = new URL(window.location.href);
85
+ if (!current.searchParams.has(RELOAD_CACHE_BUST_PARAM))
86
+ return;
87
+ current.searchParams.delete(RELOAD_CACHE_BUST_PARAM);
88
+ window.history.replaceState(window.history.state, '', current.toString());
89
+ }
90
+ catch {
91
+ /* best-effort URL hygiene — never block connect() on it */
92
+ }
93
+ }
77
94
  /**
78
95
  * 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.
96
+ * window) so it's testable without a DOM. Explicit connect options still win over these.
80
97
  */
81
98
  export function reticleParamsFromSearch(search) {
82
99
  const params = new URLSearchParams(search);
@@ -104,6 +121,21 @@ export function resolveConnectIdentity(options, search) {
104
121
  projectId: projectId !== undefined && projectId.length > 0 ? projectId : undefined,
105
122
  };
106
123
  }
124
+ /**
125
+ * Assemble an event envelope. Pure: `seq` (monotonic per session) and `t` (elapsed clock) are
126
+ * injected, never read here — so it is unit-testable and honors the clock-injection rule. The
127
+ * causing action's id is attributed server-side by the settle window, so it is not stamped here.
128
+ */
129
+ export function buildEvent(args) {
130
+ return {
131
+ t: args.t,
132
+ seq: args.seq,
133
+ type: args.type,
134
+ sessionId: args.sessionId,
135
+ ref: args.ref,
136
+ data: args.data,
137
+ };
138
+ }
107
139
  /**
108
140
  * The browser-side orchestrator. Wires observers -> events -> bridge, and bridge
109
141
  * commands -> handlers. Embedded in the host app (dev only).
@@ -138,6 +170,10 @@ export class Reticle {
138
170
  'import.meta.env.DEV, or pass allowInProduction:true to override.');
139
171
  return;
140
172
  }
173
+ // A `hard` REFRESH left a cache-busting `_reticle_reload=<nonce>` in the address bar. Strip it now
174
+ // (before the route observer installs, so it emits no spurious ROUTE_CHANGE) — otherwise every hard
175
+ // reload permanently pollutes the URL the app and the agent see.
176
+ stripReloadCacheBustParam();
141
177
  const url = options.url ?? bridgeWsUrl(RETICLE_DEFAULT_PORT);
142
178
  const policy = connectionPolicy(window.location.hostname, url, options.allowNonLocalhost === true, options.token);
143
179
  if (!policy.allowed) {
@@ -164,8 +200,14 @@ export class Reticle {
164
200
  onConnected: () => this.#presenter?.sessionStart(),
165
201
  // Liveness fallback: if the bridge stays unreachable (the agent killed the server process),
166
202
  // 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.
203
+ // agent revives it via the normal sessionStart path on its next command.
168
204
  onConnectionLost: () => {
205
+ // Restore real timers. A frozen clock is driven by the agent through the bridge; once the
206
+ // bridge is gone nothing can ever advance it, so leaving it installed pins Date.now and
207
+ // queues every setTimeout into a scheduler that will never run. Concretely that kills every
208
+ // lodash debounce/throttle in the app (now - lastCall stays 0), so search boxes, autosave
209
+ // and resize handlers stop firing until a reload — with nothing on screen explaining why.
210
+ resetClock();
169
211
  if (this.#presenter?.sessionActive === true) {
170
212
  this.#presenter.setState(SessionState.ENDED, BRIDGE_LOST_SUMMARY);
171
213
  }
@@ -188,6 +230,10 @@ export class Reticle {
188
230
  installAnimation(emit),
189
231
  installScroll(emit),
190
232
  installDom(emit),
233
+ installStorage(emit), // storage WRITES → STORAGE_CHANGE diffs (pull remains the fallback)
234
+ installStoreState(emit), // subscribed-store mutations → STATE_CHANGE path diffs
235
+ installFocus(emit), // element focus movement → FOCUS_CHANGE (focus-to-body = a regression)
236
+ installBlindSpots(emit), // cross-origin iframes the SDK can't see → BLIND_SPOT (coverage: partial)
191
237
  installHealth(emit), // page visibility/focus health + heartbeat
192
238
  ];
193
239
  if (options.overlay === true) {
@@ -250,6 +296,15 @@ export class Reticle {
250
296
  state(name, value) {
251
297
  this.#emit(EventType.STATE_CHANGE, { name, value });
252
298
  }
299
+ /**
300
+ * Report an aggregated count of React commits (the @reticlehq/react render meter calls this on a
301
+ * throttle). Emits a single RENDER_COMMIT event per window so commit storms are observable without a
302
+ * per-render flood. Dev-only, like the whole SDK.
303
+ */
304
+ renderCommit(commits) {
305
+ if (commits > 0)
306
+ this.#emit(EventType.RENDER_COMMIT, { commits });
307
+ }
253
308
  /** Advertise the app's testable surface so the agent learns it without reading source. */
254
309
  describe(input) {
255
310
  registerCapabilities(input);
@@ -279,19 +334,30 @@ export class Reticle {
279
334
  this.#connected = false;
280
335
  }
281
336
  #emit = (type, data, ref) => {
282
- const event = {
337
+ const event = buildEvent({
338
+ seq: this.#eventCount,
283
339
  t: Math.round(performance.now() - this.#start),
284
340
  type,
285
341
  sessionId: this.#session,
286
- ref,
287
342
  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();
343
+ ref,
344
+ });
345
+ // Guarded because #emit runs INLINE IN THE APP'S CALL STACK: every monkey-patch calls it from
346
+ // inside the function it replaced. An exception here does not surface as an SDK error — it
347
+ // propagates out of history.pushState (crashing a router's navigate), out of localStorage.setItem
348
+ // after the write already succeeded, or out of console.log before the message reaches the console.
349
+ // A dev-only observability SDK must never be able to break the app it is observing.
350
+ try {
351
+ this.#transport?.sendEvent(event);
352
+ this.#eventCount += 1;
353
+ this.#overlay?.update({ connected: true, events: this.#eventCount });
354
+ // On a route change, re-scope the HUD's replay-flow chips to the page we're now on.
355
+ if (type === EventType.ROUTE_CHANGE)
356
+ this.#presenter?.refilterFlows();
357
+ }
358
+ catch {
359
+ /* observation is best-effort; the host app's control flow is not */
360
+ }
295
361
  };
296
362
  #hello() {
297
363
  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"}
@@ -1,8 +1,34 @@
1
- export declare function isSensitiveKey(key: string): boolean;
2
- /** Redact high-confidence secret shapes anywhere in a text/value, independent of any surrounding key. */
3
- export declare function scrubKnownSecrets(text: string): string;
1
+ import { isSensitiveKey, scrubKnownSecrets } from '@reticlehq/core';
2
+ /**
3
+ * What the transport caps removed from a value, if anything.
4
+ *
5
+ * Truncation used to be entirely silent: a 1,000-entity store came back as ~142 entities with no
6
+ * marker and no count, and a caller comparing it against expected data would conclude the app had
7
+ * lost the rest. A partial answer that cannot be distinguished from a complete one is the precise
8
+ * shape of a false green — the failure this project exists to prevent — so the caps now report.
9
+ */
10
+ export interface TruncationReport {
11
+ /** Whole collection items not included, either past the item cap or past the node budget. */
12
+ droppedItems: number;
13
+ /** Values replaced by the `[TRUNCATED]` placeholder because a cap was hit inside them. */
14
+ truncatedValues: number;
15
+ /** Human-and-agent readable summary. Present so a consumer never has to compose one. */
16
+ note: string;
17
+ }
4
18
  /** Convert arbitrary app state into a bounded, redacted JSON-compatible value. */
5
19
  export declare function sanitizeForTransport(value: unknown): unknown;
20
+ /**
21
+ * As `sanitizeForTransport`, but also reports what the caps removed.
22
+ *
23
+ * Returned as a separate field rather than embedded in the value: the value has to keep the exact
24
+ * shape the consumer's schema declares, so a marker spliced inside it would break validation on the
25
+ * very payloads that are already under pressure.
26
+ */
27
+ export declare function sanitizeWithReport(value: unknown): {
28
+ value: unknown;
29
+ truncation?: TruncationReport;
30
+ };
6
31
  /** Serialize without allowing cycles, BigInt, getters, or secrets to break the transport. */
7
32
  export declare function safeStringify(value: unknown): string;
33
+ export { isSensitiveKey, scrubKnownSecrets };
8
34
  //# sourceMappingURL=serialization.d.ts.map