@rtrvr-ai/rover 2.0.0 → 2.0.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.
package/README.md CHANGED
@@ -23,6 +23,7 @@ Add this snippet before `</body>` on any page:
23
23
  siteId: 'YOUR_SITE_ID',
24
24
  publicKey: 'pk_site_YOUR_PUBLIC_KEY',
25
25
  allowedDomains: ['yourdomain.com'],
26
+ domainScopeMode: 'registrable_domain',
26
27
  });
27
28
  </script>
28
29
  <script src="https://rover.rtrvr.ai/embed.js" async></script>
@@ -34,10 +35,13 @@ Or use the single-tag shorthand with data attributes:
34
35
  <script src="https://rover.rtrvr.ai/embed.js"
35
36
  data-site-id="YOUR_SITE_ID"
36
37
  data-public-key="pk_site_YOUR_PUBLIC_KEY"
37
- data-allowed-domains="yourdomain.com">
38
+ data-allowed-domains="yourdomain.com"
39
+ data-domain-scope-mode="registrable_domain">
38
40
  </script>
39
41
  ```
40
42
 
43
+ Use `data-domain-scope-mode="host_only"` to require exact host matches. Plain entries such as `example.com` become exact-host rules in `host_only` mode, while `registrable_domain` continues to allow subdomains.
44
+
41
45
  ## npm Install
42
46
 
43
47
  ```bash
@@ -51,6 +55,7 @@ boot({
51
55
  siteId: 'YOUR_SITE_ID',
52
56
  publicKey: 'pk_site_YOUR_PUBLIC_KEY',
53
57
  allowedDomains: ['yourdomain.com'],
58
+ domainScopeMode: 'registrable_domain',
54
59
  });
55
60
  ```
56
61
 
@@ -66,6 +71,7 @@ export function RoverWidget() {
66
71
  siteId: 'YOUR_SITE_ID',
67
72
  publicKey: 'pk_site_YOUR_PUBLIC_KEY',
68
73
  allowedDomains: ['yourdomain.com'],
74
+ domainScopeMode: 'registrable_domain',
69
75
  });
70
76
 
71
77
  return () => {
@@ -143,14 +149,15 @@ const RoverWidget = dynamic(() => import('./RoverWidget'), { ssr: false });
143
149
  | `ui.mascot.disabled` | `boolean` | `false` | Disable mascot video |
144
150
  | `ui.mascot.mp4Url` | `string` | default | Custom mascot MP4 URL |
145
151
  | `ui.mascot.webmUrl` | `string` | default | Custom mascot WebM URL |
146
- | `ui.muted` | `boolean` | `false` | Start with audio muted |
152
+ | `ui.muted` | `boolean` | `true` | Start with audio muted on first load; stored browser preference wins after the user toggles sound |
147
153
  | `ui.thoughtStyle` | `'concise_cards' \| 'minimal'` | `'concise_cards'` | Thought rendering style |
148
154
  | `ui.panel.resizable` | `boolean` | `true` | Panel resizable preference |
149
155
  | `ui.showTaskControls` | `boolean` | `true` | Show new/end task controls |
150
156
  | `ui.shortcuts` | `RoverShortcut[]` | `[]` | Suggested journeys (max 100 stored, max 12 rendered by default; lower site-key policy caps are enforced) |
151
157
  | `ui.greeting` | `{ text?, delay?, duration?, disabled? }` | — | Greeting bubble config (`{name}` token supported) |
158
+ | `pageConfig` | `RoverPageCaptureConfig` | — | Optional per-site page-capture overrides such as `disableAutoScroll`, settle timing, and sparse-tree retry settings |
152
159
 
153
- When a site key or session token is used, Rover fetches cloud site config via `/v2/rover/session/open` (shortcuts + greeting).
160
+ When a site key or session token is used, Rover fetches cloud site config via `/v2/rover/session/open` (shortcuts + greeting + pageConfig).
154
161
  If the same field exists in both cloud config and boot config, boot config wins.
155
162
 
156
163
  If you enable `tools.web.scrapeMode: 'on_demand'`, use a site key capability profile that includes cloud scrape support.