@hyperlogue/r3 1.6.0 → 2.0.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 (2) hide show
  1. package/README.md +34 -35
  2. package/package.json +6 -6
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  <h1 align="center">r3: Render. Review. Refine.</h1>
6
6
 
7
- <p align="center"><b>View AI-generated artifacts. Give precise feedback.</b><br>HTML pages, Markdown documents, and code from any coding agent.</p>
7
+ <p align="center"><b>View AI-generated artifacts. Leave precise comments.</b><br>HTML pages, Markdown documents, and code from any coding agent.</p>
8
8
 
9
9
  <p align="center">
10
10
  <a href="https://www.npmjs.com/package/@hyperlogue/r3"><img src="https://img.shields.io/npm/v/@hyperlogue/r3?color=cb3837&amp;logo=npm&amp;label=%40hyperlogue%2Fr3" alt="npm version"></a>
@@ -15,16 +15,16 @@
15
15
 
16
16
  r3 is a tool for reading, using, and discussing agent output.
17
17
  Open an interactive page, read a document, or inspect code changes. Select an
18
- element or passage to leave feedback and continue the conversation with your agent.
18
+ element or passage to leave comments and continue the conversation with your agent.
19
19
 
20
20
  Agents publish artifacts through a CLI or HTTP API. r3 works with any agent that
21
21
  can run the CLI.
22
22
 
23
23
  [Try the browser demo](https://hyperlogue.github.io/r3/demo/) to explore HTML,
24
- Markdown, and diff feedback with a scripted agent. It uses bundled examples;
24
+ Markdown, and code discussion with a scripted agent. It uses bundled examples;
25
25
  production preview protection is not simulated.
26
26
 
27
- [![Numbered workflow showing a human asking an AI agent to create an artifact on r3, reviewing it, sending feedback, and reviewing the agent's revisions and replies.](https://github.com/user-attachments/assets/26506cba-3d1a-493c-9c7a-e6ae2227718c)](https://github.com/user-attachments/assets/26506cba-3d1a-493c-9c7a-e6ae2227718c)
27
+ [![Numbered workflow showing a human asking an AI agent to create an artifact on r3, reviewing it, sending comments, and reviewing the agent's revisions and comments.](https://github.com/user-attachments/assets/26506cba-3d1a-493c-9c7a-e6ae2227718c)](https://github.com/user-attachments/assets/26506cba-3d1a-493c-9c7a-e6ae2227718c)
28
28
 
29
29
  ## Screenshots
30
30
 
@@ -32,7 +32,7 @@ production preview protection is not simulated.
32
32
  | --- | --- |
33
33
  | [![Reviewing an HTML UI proposal](https://github.com/user-attachments/assets/2dec1368-6679-47cb-aa19-bfeb6228a7d6)](https://github.com/user-attachments/assets/2dec1368-6679-47cb-aa19-bfeb6228a7d6) | Review a UI improvement proposal and leave comments directly on HTML elements. |
34
34
  | [![Exploring a library through an interactive demo](https://github.com/user-attachments/assets/396df7ca-661e-414d-952b-0a6325638c62)](https://github.com/user-attachments/assets/396df7ca-661e-414d-952b-0a6325638c62) | Learn how a library works internally through an interactive demo. |
35
- | [![Codex receiving feedback from r3](https://github.com/user-attachments/assets/8e85f3d9-d03b-45ec-b478-fe7fe109ef19)](https://github.com/user-attachments/assets/8e85f3d9-d03b-45ec-b478-fe7fe109ef19) | Codex receives a direct message from r3 when you ping the agent from the web page. |
35
+ | [![Codex receiving comments from r3](https://github.com/user-attachments/assets/8e85f3d9-d03b-45ec-b478-fe7fe109ef19)](https://github.com/user-attachments/assets/8e85f3d9-d03b-45ec-b478-fe7fe109ef19) | Codex receives a direct message from r3 when you ping the agent from the web page. |
36
36
 
37
37
  Search your library by project, content, or conversation. Results open the matching
38
38
  publication or message, and **Include history** searches older versions. Agents can
@@ -54,7 +54,7 @@ npx @hyperlogue/r3@latest
54
54
  ```
55
55
 
56
56
  Ask your agent to run `r3 guide` and publish an artifact. The guide explains how
57
- to publish, listen for feedback, and reply. Open the artifact URL from your agent, or visit
57
+ to publish, listen for comments, and comment. Open the artifact URL from your agent, or visit
58
58
  `http://127.0.0.1:8791/` for the full list.
59
59
 
60
60
  ## Artifact types
@@ -63,7 +63,7 @@ r3 supports three kinds of artifacts:
63
63
 
64
64
  | Artifact | What you can do | Examples |
65
65
  | --- | --- | --- |
66
- | HTML pages | Interact with a page and leave feedback on specific elements or text | Prototypes, dashboards, interactive tutorials |
66
+ | HTML pages | Interact with a page and leave comments on specific elements or text | Prototypes, dashboards, interactive tutorials |
67
67
  | Documents and files | Read rendered Markdown, browse related files, and discuss specific passages or lines | Design proposals, research reports, generated project files |
68
68
  | Code changes | See what changed and discuss it beside the affected lines | Bug fixes, refactors, feature reviews |
69
69
 
@@ -92,45 +92,44 @@ on the home page to archive or permanently delete them together.
92
92
 
93
93
  ## Local and remote access
94
94
 
95
- r3 runs locally by default. The CLI lazily starts a background daemon when a
96
- command first needs the server. The daemon serves the browser UI and stores
97
- artifacts and feedback. It listens only on loopback; local browser access works
98
- without a login unless you enable one.
95
+ r3 starts a local server automatically when needed. Run `r3 open` for a browser link.
99
96
 
100
- For remote access, use an HTTPS reverse proxy or tunnel, such as Tailscale Serve,
101
- pointing to `http://127.0.0.1:8791/`. Forward the whole application, including
102
- `/__r3_preview/`, and set `X-Forwarded-Proto: https` at the proxy. Previews use the
103
- same address; no wildcard DNS or separate preview port is needed.
97
+ ### Expose an r3 server
104
98
 
105
- Set your public URL and explicitly require login before exposing r3. Replace the
106
- example URL below with your proxy address:
99
+ To access an r3 server from another device, put it behind an HTTPS reverse proxy.
100
+ For [Tailscale Serve](https://tailscale.com/docs/reference/tailscale-cli/serve),
101
+ connect the server and accessing devices to your tailnet. Run these commands on
102
+ the **server**, replacing `https://reviews.example` with its Tailscale HTTPS address:
107
103
 
108
104
  ```sh
109
105
  r3 config set publicUrl https://reviews.example
110
- r3 config set requireLogin 1
111
- r3 restart
106
+ r3 config set trustedProxies 127.0.0.1
107
+ r3 server restart
108
+ tailscale serve --bg http://127.0.0.1:8791
112
109
  r3 auth create-token --label browser
113
110
  ```
114
111
 
115
- Use the generated login token to sign in. Browser sessions and login tokens are
116
- revocable. r3 is a single-owner tool: a valid login grants access to all artifacts
117
- on that instance, with no per-artifact sharing permissions.
112
+ Open the HTTPS address in your browser and sign in with the generated token.
118
113
 
119
- Login tokens expire after 14 days without a successful login or cookie-authenticated
120
- request. Never-used tokens age from creation. Expiry invalidates their browser
121
- sessions; inactive or revoked token rows and their sessions are removed on server
122
- startup. To change the inactivity period (a positive whole number of days):
114
+ For another proxy, forward the whole application to `http://127.0.0.1:8791/`
115
+ and set `X-Forwarded-Proto: https`. Set `trustedProxies` to its connection IP only
116
+ if it overwrites `X-Forwarded-For`.
117
+
118
+ ### Connect the CLI to a remote server
119
+
120
+ On your **local machine**, set `backendUrl` to the remote r3 server's HTTPS address:
123
121
 
124
122
  ```sh
125
- r3 config set authTokenIdleDays 30
126
- r3 restart
123
+ r3 config set backendUrl https://reviews.example
124
+ r3 login
127
125
  ```
128
126
 
129
- `R3_AUTH_TOKEN_IDLE_DAYS` overrides this setting. `r3 auth list-tokens --json`
130
- includes each active token's `lastUsedAt` timestamp. Cookie activity is saved in
131
- batches once a minute and on graceful shutdown.
127
+ Open the printed address, sign in to r3 if needed, confirm that the code matches
128
+ your terminal, and approve CLI access. Then check the connection:
129
+
130
+ ```sh
131
+ r3 list
132
+ ```
132
133
 
133
- Your agent can publish from a different machine: it uploads the artifact's files,
134
- so the machine running r3 does not need a copy of your project.
135
- See the [security model](.claude/skills/security-model/SKILL.md) for authentication
136
- and preview isolation details.
134
+ Ask your agent to run `r3 guide` and publish as usual. See the
135
+ [remote backend reference](docs/artifacts/remote-protocol.md) for more options.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hyperlogue/r3",
3
- "version": "1.6.0",
4
- "description": "Render. Review. Refine. — view artifacts and give precise feedback to any coding agent. Runs the matching prebuilt native r3 binary (shipped as a per-platform optional dependency); works with `bunx @hyperlogue/r3` and `npx @hyperlogue/r3`.",
3
+ "version": "2.0.0",
4
+ "description": "Render. Review. Refine. — publish artifacts and discuss them with any coding agent. Runs the matching prebuilt native r3 binary (shipped as a per-platform optional dependency); works with `bunx @hyperlogue/r3` and `npx @hyperlogue/r3`.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "publishConfig": {
@@ -17,10 +17,10 @@
17
17
  "launch.mjs"
18
18
  ],
19
19
  "optionalDependencies": {
20
- "@hyperlogue/r3-darwin-arm64": "1.6.0",
21
- "@hyperlogue/r3-darwin-x64": "1.6.0",
22
- "@hyperlogue/r3-linux-x64": "1.6.0",
23
- "@hyperlogue/r3-linux-arm64": "1.6.0"
20
+ "@hyperlogue/r3-darwin-arm64": "2.0.0",
21
+ "@hyperlogue/r3-darwin-x64": "2.0.0",
22
+ "@hyperlogue/r3-linux-x64": "2.0.0",
23
+ "@hyperlogue/r3-linux-arm64": "2.0.0"
24
24
  },
25
25
  "engines": {
26
26
  "node": ">=18"