@rtrvr-ai/rover 1.1.0 → 1.1.2

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
@@ -100,25 +100,47 @@ const RoverWidget = dynamic(() => import('./RoverWidget'), { ssr: false });
100
100
 
101
101
  | Option | Type | Default | Description |
102
102
  |---|---|---|---|
103
- | `siteId` | `string` | *required* | Your site identifier |
104
- | `apiKey` | `string` | *required* | API key from Rover Workspace |
103
+ | `siteId` | `string` | *required* | Site identifier |
104
+ | `apiKey` | `string` | | API key from Rover Workspace |
105
+ | `siteKeyId` | `string` | — | Site key ID from Workspace |
106
+ | `authToken` | `string` | — | Optional bearer token override (takes precedence over `apiKey` when both are set) |
107
+ | `apiBase` | `string` | `https://extensionrouter.rtrvr.ai` | Optional API base override. For custom domain routing you can pass the base directly (no `/extensionRouter` suffix required). |
105
108
  | `allowedDomains` | `string[]` | `[]` | Hostnames where Rover may operate |
106
109
  | `domainScopeMode` | `'registrable_domain' \| 'host_only'` | `'registrable_domain'` | Domain matching strategy |
107
- | `crossDomainPolicy` | `'block_new_tab' \| 'allow' \| 'block'` | `'block_new_tab'` | Policy for cross-subdomain navigation |
110
+ | `externalNavigationPolicy` | `'open_new_tab_notice' \| 'block' \| 'allow'` | `'open_new_tab_notice'` | External navigation policy |
111
+ | `mode` | `'full' \| 'safe'` | `'full'` | Runtime mode |
112
+ | `allowActions` | `boolean` | `true` | Enable or disable action tools |
108
113
  | `openOnInit` | `boolean` | `false` | Open panel immediately on boot |
109
- | `taskRouting` | `object` | `{ mode: 'act' }` | Task routing strategy |
110
- | `externalNavigationPolicy` | `string` | `'open_new_tab_notice'` | Policy for out-of-scope links |
111
- | `tools.web.enableExternalWebContext` | `boolean` | `false` | Best-effort cloud context for external tabs |
112
- | `tools.web.scrapeMode` | `'off' \| 'on_demand'` | `'off'` | In `on_demand`, only the active external tab attempts cloud page fetch |
113
- | `tools.web.allowDomains` | `string[]` | `[]` | Optional allowlist for external cloud context fetch |
114
- | `tools.web.denyDomains` | `string[]` | `[]` | Optional denylist for external cloud context fetch |
115
- | `taskContext.*` | `object` | — | Task boundaries are completion-driven; Rover starts a fresh task only after the current task completes (or manual `newTask()` / `endTask()`). |
116
- | `workerUrl` | `string` | auto | Custom worker URL for self-hosting |
117
- | `ui.muted` | `boolean` | `false` | Start with audio muted (user can toggle via UI) |
118
- | `ui.agent.name` | `string` | `'Rover'` | Custom assistant name shown in UI and runtime context |
119
- | `ui.mascot.disabled` | `boolean` | `false` | Disable mascot video (removes `media-src` CSP need) |
120
- | `visitorId` | `string` | auto | Stable visitor identifier |
121
114
  | `sessionScope` | `'shared_site' \| 'tab'` | `'shared_site'` | Session sharing across tabs |
115
+ | `taskRouting.mode` | `'auto' \| 'act' \| 'planner'` | `'act'` | Task routing strategy |
116
+ | `taskRouting.plannerOnActError` | `boolean` | `true` | Retry planner when ACT fails |
117
+ | `taskRouting.actHeuristicThreshold` | `number` | `5` (auto mode) | Auto-routing threshold |
118
+ | `checkpointing.enabled` | `boolean` | `false` | Enable cloud checkpoint sync |
119
+ | `checkpointing.autoVisitorId` | `boolean` | `true` | Auto-generate visitor ID when needed |
120
+ | `checkpointing.ttlHours` | `number` | `1` | Checkpoint TTL in hours |
121
+ | `checkpointing.onStateChange` | `(payload) => void` | — | Checkpoint lifecycle updates (`active`, `paused_auth`) |
122
+ | `checkpointing.onError` | `(payload) => void` | — | Checkpoint request error callback |
123
+ | `telemetry.enabled` | `boolean` | `true` | Enable runtime telemetry batching |
124
+ | `telemetry.sampleRate` | `number` | `1` | Event sampling ratio (0..1) |
125
+ | `telemetry.flushIntervalMs` | `number` | `12000` | Telemetry flush cadence |
126
+ | `telemetry.maxBatchSize` | `number` | `30` | Max events per telemetry request |
127
+ | `telemetry.includePayloads` | `boolean` | `false` | Include richer event payloads |
128
+ | `apiMode` | `boolean` | auto (`true` when `apiKey` exists) | Force API execution mode |
129
+ | `apiToolsConfig.mode` | `'allowlist' \| 'profile' \| 'none'` | `'none'` | API additional tool exposure mode |
130
+ | `tools.web.enableExternalWebContext` | `boolean` | `false` | External tab cloud context fallback |
131
+ | `tools.web.scrapeMode` | `'off' \| 'on_demand'` | `'off'` | On-demand external tab scrape mode |
132
+ | `tools.web.allowDomains` | `string[]` | `[]` | External context allowlist |
133
+ | `tools.web.denyDomains` | `string[]` | `[]` | External context denylist |
134
+ | `tools.client` | `ClientToolDefinition[]` | `[]` | Runtime-registered client tools |
135
+ | `workerUrl` | `string` | auto | Custom worker URL for self-hosting |
136
+ | `ui.agent.name` | `string` | `'Rover'` | Custom assistant name |
137
+ | `ui.mascot.disabled` | `boolean` | `false` | Disable mascot video |
138
+ | `ui.mascot.mp4Url` | `string` | default | Custom mascot MP4 URL |
139
+ | `ui.mascot.webmUrl` | `string` | default | Custom mascot WebM URL |
140
+ | `ui.muted` | `boolean` | `false` | Start with audio muted |
141
+ | `ui.thoughtStyle` | `'concise_cards' \| 'minimal'` | `'concise_cards'` | Thought rendering style |
142
+ | `ui.panel.resizable` | `boolean` | `true` | Panel resizable preference |
143
+ | `ui.showTaskControls` | `boolean` | `true` | Show new/end task controls |
122
144
 
123
145
  If you enable `tools.web.scrapeMode: 'on_demand'`, use a site key capability profile that includes cloud scrape support.
124
146
 
@@ -174,6 +196,8 @@ rover.on('error', (err) => console.error(err));
174
196
  | `navigation_guardrail` | `{ url, policy }` | Out-of-scope navigation intercepted |
175
197
  | `task_started` | `{ reason }` | New task started |
176
198
  | `task_ended` | `{ reason }` | Task ended |
199
+ | `checkpoint_state` | `{ state, reason?, action?, code?, message? }` | Checkpoint sync state updates |
200
+ | `checkpoint_error` | `{ action, code?, message, ... }` | Checkpoint request failure details |
177
201
 
178
202
  ## Content Security Policy (CSP)
179
203
 
@@ -183,7 +207,7 @@ If your site sets a CSP header, add these directives:
183
207
  |---|---|---|
184
208
  | `script-src` | `https://rover.rtrvr.ai blob:` | SDK script + Web Worker blob |
185
209
  | `worker-src` | `blob: https://rover.rtrvr.ai` | Web Worker execution |
186
- | `connect-src` | `https://us-central1-rtrvr-extension-functions.cloudfunctions.net` | API calls |
210
+ | `connect-src` | `https://extensionrouter.rtrvr.ai` | API calls |
187
211
  | `style-src` | `'unsafe-inline'` | Shadow DOM styles |
188
212
  | `font-src` | `https://rover.rtrvr.ai` | Self-hosted Manrope font |
189
213