Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/site/ai/how-to/build-a-durable-chat.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ The chat surface is built from four seams, each a single function:

- A NetScript workspace with a scaffolded `apps/dashboard/` Fresh app (`netscript init`).
- The **streams runtime** reachable — durable sessions are addressed through the
`@netscript/plugin-streams-core` seam. Add it with `netscript plugin add streams` and
`@netscript/plugin-streams-core` seam. Add it with `netscript plugin install stream --name streams` and
bring it up under Aspire.
- A model provider key. This recipe calls Anthropic directly through
[`@tanstack/ai`](https://tanstack.com/ai); export `ANTHROPIC_API_KEY` before you start
Expand Down Expand Up @@ -213,7 +213,7 @@ Two <code>RenderPart</code> types exist and must not be conflated. <code>@netscr
session stream; `createNetScriptChatConnection` re-polls with backoff and returns an
empty stream rather than a terminal error. A hard `401` / `403` propagates immediately.
- **Streams runtime unreachable:** the durable stream URL does not resolve. Confirm
`netscript plugin add streams` ran and the streams service is up under Aspire.
`netscript plugin install stream --name streams` ran and the streams service is up under Aspire.
- **Model call fails:** `ANTHROPIC_API_KEY` is unset or invalid — `chat()` surfaces the
provider error into the assistant stream.

Expand Down
2 changes: 1 addition & 1 deletion docs/site/explanation/aspire.md
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ is `netscript service generate` — it rewrites only the Aspire helper files, ne
{ name: "Handler / service / app code", type: "hot or restart resource", desc: "Apps and background processors scaffold with Deno watch mode, so they reload on save. A plain service restarts from the dashboard. No regenerate, no AppHost restart." },
{ name: "Env / Permissions / Port / Workdir on a resource", type: "generate + restart AppHost", desc: "Edit the resource's section in netscript.config.ts, run `netscript service generate` to rewrite the register-*.mts layer, then restart `aspire start`." },
{ name: "A reference: ServiceReferences / pluginReferences / dependsOn", type: "generate + restart AppHost", desc: "Same flow. Pass 2 only re-resolves and re-injects services__<name>__http__0 on the next `aspire start` — a declared-but-not-generated reference does nothing." },
{ name: "Add / remove a plugin, or a new appsettings resource", type: "generate + restart AppHost", desc: "`netscript plugin add`/`remove` (or a hand-added resource) changes the graph; the resource only joins on the next generate + `aspire start`." },
{ name: "Add / remove a plugin, or a new appsettings resource", type: "generate + restart AppHost", desc: "`netscript plugin install`/`remove` (or a hand-added resource) changes the graph; the resource only joins on the next generate + `aspire start`." },
{ name: "An injected env value Aspire owns (OTEL_*, a connection string)", type: "restart the resource", desc: "Environment is read once at process start, so bounce the affected resource for the new value to take effect." }
]
}) }}
Expand Down
2 changes: 1 addition & 1 deletion docs/site/tutorials/chat/01-scaffold.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ A durable chat session is one append-only stream, addressed through the streams
the `streams` plugin so `@netscript/fresh/ai` has a runtime to resolve session URLs against:

```sh
netscript plugin add streams
netscript plugin install stream --name streams --samples
```

{{ comp callout { type: "note", title: "Why streams, for a chat app?" } }}
Expand Down
Loading