@rtrvr-ai/rover 4.0.0 → 4.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 +21 -11
- package/dist/embed.js +64 -37
- package/dist/index.d.ts +1 -0
- package/dist/ownerInstall.d.ts +2 -0
- package/dist/ownerInstall.js +19 -2
- package/dist/rover.js +64 -37
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -39,12 +39,14 @@ Add this snippet before `</body>` on any page:
|
|
|
39
39
|
<script src="https://rover.rtrvr.ai/embed.js" async></script>
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
If
|
|
42
|
+
If Agent analytics is enabled for the site in Rover Workspace, the generated install snippet also includes `https://rover.rtrvr.ai/roverbook.js` plus an inline attach block that calls `window.RoverBook.enableRoverBook(window.rover, ...)`. Copy the Workspace snippet as-is for production installs.
|
|
43
43
|
|
|
44
44
|
Workspace also controls site mode:
|
|
45
45
|
|
|
46
|
-
- `
|
|
47
|
-
- `
|
|
46
|
+
- `Rover Agent`: action-capable Rover runtime plus Agent analytics
|
|
47
|
+
- `Agent Analytics`: embed-oriented analytics deployment with action tools disabled
|
|
48
|
+
|
|
49
|
+
Workspace onboarding now also gives site owners a dedicated Journeys step for shortcuts, defaults new production site keys to `No expiry`, and exposes `Cloud sandboxes` as the single owner-facing switch for cloud execution plus approved third-party browsing.
|
|
48
50
|
|
|
49
51
|
Get `siteId`, `publicKey` (`pk_site_*`), and optional `siteKeyId` from Rover Workspace:
|
|
50
52
|
|
|
@@ -187,6 +189,12 @@ const bundle = createRoverOwnerInstallBundle({
|
|
|
187
189
|
siteKeyId: 'key_123',
|
|
188
190
|
allowedDomains: ['example.com'],
|
|
189
191
|
domainScopeMode: 'registrable_domain',
|
|
192
|
+
cloudSandboxEnabled: true,
|
|
193
|
+
ui: {
|
|
194
|
+
shortcuts: [
|
|
195
|
+
{ id: 'book_demo', label: 'Book demo', prompt: 'Help me book a demo.' },
|
|
196
|
+
],
|
|
197
|
+
},
|
|
190
198
|
},
|
|
191
199
|
discovery: {
|
|
192
200
|
siteId: 'site_123',
|
|
@@ -414,8 +422,8 @@ const RoverWidget = dynamic(() => import('./RoverWidget'), { ssr: false });
|
|
|
414
422
|
| `apiBase` | `string` | `https://agent.rtrvr.ai` | Optional API base override. Rover uses `/v2/rover/*` under this base. |
|
|
415
423
|
| `allowedDomains` | `string[]` | `[]` | Hostnames or patterns where Rover may operate. In `registrable_domain`, plain `example.com` covers the apex host and subdomains. |
|
|
416
424
|
| `domainScopeMode` | `'registrable_domain' \| 'host_only'` | `'registrable_domain'` | How Rover interprets plain `allowedDomains` entries: `registrable_domain` = apex + subdomains, `host_only` = exact host only unless you explicitly allow more hosts. |
|
|
417
|
-
| `externalNavigationPolicy` | `'open_new_tab_notice' \| 'block' \| 'allow'` | `'open_new_tab_notice'` |
|
|
418
|
-
| `navigation.crossHostPolicy` | `'same_tab' \| 'open_new_tab'` | `'same_tab'` |
|
|
425
|
+
| `externalNavigationPolicy` | `'open_new_tab_notice' \| 'block' \| 'allow'` | `'open_new_tab_notice'` | Advanced / legacy external navigation override. Standard owner-facing installs rely on Rover's default new-tab-with-notice behavior outside allowed scope. |
|
|
426
|
+
| `navigation.crossHostPolicy` | `'same_tab' \| 'open_new_tab'` | `'same_tab'` | Advanced / legacy in-scope cross-host override. Standard owner-facing installs let Rover choose the right tab automatically. |
|
|
419
427
|
| `mode` | `'full' \| 'safe'` | `'full'` | Runtime mode |
|
|
420
428
|
| `allowActions` | `boolean` | `true` | Enable or disable action tools |
|
|
421
429
|
| `openOnInit` | `boolean` | `false` | Open panel immediately on boot |
|
|
@@ -499,15 +507,17 @@ const RoverWidget = dynamic(() => import('./RoverWidget'), { ssr: false });
|
|
|
499
507
|
| Option | Type | Default | Description |
|
|
500
508
|
|---|---|---|---|
|
|
501
509
|
| `ui.agent.name` | `string` | `'Rover'` | Custom assistant name |
|
|
502
|
-
| `ui.mascot.disabled` | `boolean` | `false` |
|
|
503
|
-
| `ui.mascot.
|
|
504
|
-
| `ui.mascot.
|
|
505
|
-
| `ui.mascot.
|
|
510
|
+
| `ui.mascot.disabled` | `boolean` | `false` | Hide mascot media entirely |
|
|
511
|
+
| `ui.mascot.imageUrl` | `string` | default | Custom mascot image URL. Works by itself or as the fallback/poster for custom video mascots |
|
|
512
|
+
| `ui.mascot.mp4Url` | `string` | default | Custom mascot MP4 URL. Video is preferred when MP4 or WebM is provided |
|
|
513
|
+
| `ui.mascot.webmUrl` | `string` | default | Custom mascot WebM URL. Video is preferred when MP4 or WebM is provided |
|
|
514
|
+
| `ui.mascot.soundEnabled` | `boolean` | `false` | Owner gate for mascot sound. Video mascots stay silent unless this is explicitly `true`; image-only mascots remain silent |
|
|
506
515
|
| `ui.muted` | `boolean` | `true` | Initial mute state only when mascot sound is enabled. Visitor preference is stored per Rover site after they toggle sound. |
|
|
507
516
|
| `ui.thoughtStyle` | `'concise_cards' \| 'minimal'` | `'concise_cards'` | Thought rendering style |
|
|
508
517
|
| `ui.panel.resizable` | `boolean` | `true` | Enables desktop freeform resizing plus phone/tablet snap-height resizing with per-device memory |
|
|
509
518
|
| `ui.showTaskControls` | `boolean` | `true` | Show new/end task controls |
|
|
510
519
|
| `ui.shortcuts` | `RoverShortcut[]` | `[]` | Suggested journeys (max 100 stored, max 12 rendered by default; lower site-key policy caps are enforced). Shortcuts can also publish agent-facing metadata such as `tags`, `examples`, `inputSchema`, `outputSchema`, `sideEffect`, and `requiresConfirmation`. |
|
|
520
|
+
| `cloudSandboxEnabled` | `boolean` | `false` | Owner-facing shorthand for cloud execution plus approved third-party browsing. When `true`, Rover materializes `tools.web.enableExternalWebContext=true` and `tools.web.scrapeMode='on_demand'`. |
|
|
511
521
|
| `ui.greeting` | `{ text?, delay?, duration?, disabled? }` | — | Greeting bubble config (`{name}` token supported) |
|
|
512
522
|
| `ui.voice` | `{ enabled?: boolean; language?: string; autoStopMs?: number }` | — | Browser dictation for supported Chromium browsers. Rover fills the draft live, waits for post-speech silence before stopping, and the user still sends manually. |
|
|
513
523
|
|
|
@@ -553,7 +563,7 @@ When a site key or session token is used, Rover fetches cloud site config via `/
|
|
|
553
563
|
If the same field exists in both cloud config and boot config, boot config wins.
|
|
554
564
|
`siteConfig.aiAccess.enabled` is the canonical owner-facing launch switch persisted from Workspace/Webflow. `deepLink` stays boot/runtime only for advanced manual overrides such as custom param names, explicit enable/disable, or disabling URL param consumption.
|
|
555
565
|
|
|
556
|
-
|
|
566
|
+
For owner-facing installs, prefer `cloudSandboxEnabled: true` instead of hand-wiring low-level scrape/browser flags. Rover materializes the current runtime fields from that shorthand for you.
|
|
557
567
|
|
|
558
568
|
See [full configuration reference](https://github.com/rtrvr-ai/rover/blob/main/docs/INTEGRATION.md#configuration-reference).
|
|
559
569
|
|
|
@@ -680,7 +690,7 @@ Runtime contract notes:
|
|
|
680
690
|
- `plannerOnActError` applies only in `auto` mode and only when ACT has no usable outcome.
|
|
681
691
|
- Typed conflicts: `stale_seq`, `stale_epoch`, `active_run_exists`.
|
|
682
692
|
- `POST /command` stale/missing run is non-fatal for tab navigation decisions (`decision='stale_run'`).
|
|
683
|
-
- Cross-registrable navigation preflight is resilient: if
|
|
693
|
+
- Cross-registrable navigation preflight is resilient: if decision checks are unavailable, Rover falls back to local runtime behavior. Standard installs open outside-domain pages in a new tab with notice and choose the right tab automatically for allowed-host hops; explicit legacy overrides still apply when present.
|
|
684
694
|
- External intent routing: `/context/external` uses `read_context` (read/navigation-context prompts) or `act` (mutation prompts). Navigation-only external opens are represented by `POST /command` with `type='TAB_EVENT'` plus external placeholder tab handling.
|
|
685
695
|
- Any normal user send starts a fresh task boundary (fresh `prevSteps`, fresh run-scoped tab order/scope).
|
|
686
696
|
- `ask_user` answer submissions are the only continuation path and keep the same task boundary.
|