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
32 changes: 0 additions & 32 deletions .changeset/gallery-memory.md

This file was deleted.

33 changes: 0 additions & 33 deletions .changeset/multi-agent-workspaces.md

This file was deleted.

9 changes: 9 additions & 0 deletions conformance/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @boardstate/conformance

## 0.1.17

### Patch Changes

- Updated dependencies [[`6eb44b3`](https://github.com/100yenadmin/boardstate/commit/6eb44b389b14903662eeef0cf9ea515f98ee8803), [`ddc2710`](https://github.com/100yenadmin/boardstate/commit/ddc2710ab1532ef66351cd6bd991ddf6568e9cc9)]:
- @boardstate/schema@1.8.0
- @boardstate/core@1.8.0
- @boardstate/server@1.8.0

## 0.1.16

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion conformance/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@boardstate/conformance",
"version": "0.1.16",
"version": "0.1.17",
"description": "The Boardstate transport conformance suite: run it against your own host implementation",
"type": "module",
"license": "MIT",
Expand Down
12 changes: 12 additions & 0 deletions examples/app/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# boardstate-example-app

## 0.0.18

### Patch Changes

- Updated dependencies [[`6eb44b3`](https://github.com/100yenadmin/boardstate/commit/6eb44b389b14903662eeef0cf9ea515f98ee8803), [`ddc2710`](https://github.com/100yenadmin/boardstate/commit/ddc2710ab1532ef66351cd6bd991ddf6568e9cc9)]:
- @boardstate/schema@1.8.0
- @boardstate/core@1.8.0
- @boardstate/host@1.8.0
- @boardstate/lit@0.9.0
- @boardstate/agent@0.5.0
- @boardstate/server@1.8.0

## 0.0.17

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/app/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "boardstate-example-app",
"private": true,
"version": "0.0.17",
"version": "0.0.18",
"type": "module",
"scripts": {
"dev": "vite",
Expand Down
12 changes: 12 additions & 0 deletions examples/operational-demo/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# boardstate-example-operational-demo

## 0.0.5

### Patch Changes

- Updated dependencies [[`6eb44b3`](https://github.com/100yenadmin/boardstate/commit/6eb44b389b14903662eeef0cf9ea515f98ee8803), [`ddc2710`](https://github.com/100yenadmin/boardstate/commit/ddc2710ab1532ef66351cd6bd991ddf6568e9cc9)]:
- @boardstate/schema@1.8.0
- @boardstate/core@1.8.0
- @boardstate/lit@0.9.0
- @boardstate/agent@0.5.0
- @boardstate/server@1.8.0
- @boardstate/broker@0.3.4

## 0.0.4

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/operational-demo/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "boardstate-example-operational-demo",
"private": true,
"version": "0.0.4",
"version": "0.0.5",
"type": "module",
"scripts": {
"demo": "node demo.mjs",
Expand Down
11 changes: 11 additions & 0 deletions examples/standalone/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# boardstate-example-standalone

## 0.0.18

### Patch Changes

- Updated dependencies [[`6eb44b3`](https://github.com/100yenadmin/boardstate/commit/6eb44b389b14903662eeef0cf9ea515f98ee8803), [`ddc2710`](https://github.com/100yenadmin/boardstate/commit/ddc2710ab1532ef66351cd6bd991ddf6568e9cc9)]:
- @boardstate/schema@1.8.0
- @boardstate/core@1.8.0
- @boardstate/host@1.8.0
- @boardstate/lit@0.9.0
- @boardstate/server@1.8.0

## 0.0.17

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/standalone/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "boardstate-example-standalone",
"private": true,
"version": "0.0.17",
"version": "0.0.18",
"type": "module",
"scripts": {
"dev": "vite",
Expand Down
35 changes: 35 additions & 0 deletions packages/agent/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,40 @@
# @boardstate/agent

## 0.5.0

### Minor Changes

- [#75](https://github.com/100yenadmin/boardstate/pull/75) [`6eb44b3`](https://github.com/100yenadmin/boardstate/commit/6eb44b389b14903662eeef0cf9ea515f98ee8803) Thanks [@100yenadmin](https://github.com/100yenadmin)! - Installable template recipes ([#60](https://github.com/100yenadmin/boardstate/issues/60)) + board-as-agent-memory ([#61](https://github.com/100yenadmin/boardstate/issues/61)).

- **Template recipes ([#60](https://github.com/100yenadmin/boardstate/issues/60), `@boardstate/schema` + `@boardstate/core`).** A new
`TemplateRecipe` format (`validateRecipe`) = a workspace doc + a `grantsManifest`
(connector → requested tools with human labels), schema-validated and static-hostable
(the registry index gains a `recipes[]` array). **Install = import:** the board is applied
through the existing distribution re-pend seam (`buildRecipeImportDoc` →
`sanitizeImportedWorkspace` → `dashboard.workspace.replace`), so every manifest grant
lands `requested` and custom widgets `pending` — a recipe can **never** arrive
pre-granted (proven at store ground truth through `reconcileReplaceApproval`). Ships two
operational recipes — a keyless **Ops board** (the operational-demo's fake OfficeCLI
connector, live end to end) and a **SaaS metrics + actions** board (builtins + an
aggregator-shaped manifest) — plus an **Agent memory** template.
- **Templates gallery tab ([#60](https://github.com/100yenadmin/boardstate/issues/60), `@boardstate/lit`).** The widget-gallery dialog grows a
**Templates** tab that browses recipes and renders each recipe's honest "this board will
ask for these tools" grant list before install; installing navigates to the board and the
approvals widget surfaces the pending grant cards. New locale keys land in all five
complete locales.
- **Board-as-memory ([#61](https://github.com/100yenadmin/boardstate/issues/61), `@boardstate/agent`).** Opt-in `memory: "board"` on
`createAgentChatAgent`: the system prompt gains the memory conventions
(`buildSystemPrompt(tools, { memory: "board" })` / `MEMORY_CONVENTIONS`) and the runner
**primes each turn** by reading a `memory` tab through the existing
`dashboard_workspace_get` verb (no new tools). Additive and default-off — the prompt is
byte-identical when off. See `docs/board-as-memory.md`.

### Patch Changes

- Updated dependencies [[`6eb44b3`](https://github.com/100yenadmin/boardstate/commit/6eb44b389b14903662eeef0cf9ea515f98ee8803), [`ddc2710`](https://github.com/100yenadmin/boardstate/commit/ddc2710ab1532ef66351cd6bd991ddf6568e9cc9)]:
- @boardstate/schema@1.8.0
- @boardstate/server@1.8.0

## 0.4.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/agent/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@boardstate/agent",
"version": "0.4.0",
"version": "0.5.0",
"description": "The provider loop that turns any LLM into a Boardstate dashboard-building agent",
"type": "module",
"license": "MIT",
Expand Down
7 changes: 7 additions & 0 deletions packages/broker/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @boardstate/broker

## 0.3.4

### Patch Changes

- Updated dependencies [[`ddc2710`](https://github.com/100yenadmin/boardstate/commit/ddc2710ab1532ef66351cd6bd991ddf6568e9cc9)]:
- @boardstate/server@1.8.0

## 0.3.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/broker/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@boardstate/broker",
"version": "0.3.3",
"version": "0.3.4",
"description": "The MCP client manager: connect outward to external MCP servers, discover their tools, and call them behind a narrow, provider-safe API",
"type": "module",
"license": "MIT",
Expand Down
61 changes: 61 additions & 0 deletions packages/core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,66 @@
# @boardstate/core

## 1.8.0

### Minor Changes

- [#75](https://github.com/100yenadmin/boardstate/pull/75) [`6eb44b3`](https://github.com/100yenadmin/boardstate/commit/6eb44b389b14903662eeef0cf9ea515f98ee8803) Thanks [@100yenadmin](https://github.com/100yenadmin)! - Installable template recipes ([#60](https://github.com/100yenadmin/boardstate/issues/60)) + board-as-agent-memory ([#61](https://github.com/100yenadmin/boardstate/issues/61)).

- **Template recipes ([#60](https://github.com/100yenadmin/boardstate/issues/60), `@boardstate/schema` + `@boardstate/core`).** A new
`TemplateRecipe` format (`validateRecipe`) = a workspace doc + a `grantsManifest`
(connector → requested tools with human labels), schema-validated and static-hostable
(the registry index gains a `recipes[]` array). **Install = import:** the board is applied
through the existing distribution re-pend seam (`buildRecipeImportDoc` →
`sanitizeImportedWorkspace` → `dashboard.workspace.replace`), so every manifest grant
lands `requested` and custom widgets `pending` — a recipe can **never** arrive
pre-granted (proven at store ground truth through `reconcileReplaceApproval`). Ships two
operational recipes — a keyless **Ops board** (the operational-demo's fake OfficeCLI
connector, live end to end) and a **SaaS metrics + actions** board (builtins + an
aggregator-shaped manifest) — plus an **Agent memory** template.
- **Templates gallery tab ([#60](https://github.com/100yenadmin/boardstate/issues/60), `@boardstate/lit`).** The widget-gallery dialog grows a
**Templates** tab that browses recipes and renders each recipe's honest "this board will
ask for these tools" grant list before install; installing navigates to the board and the
approvals widget surfaces the pending grant cards. New locale keys land in all five
complete locales.
- **Board-as-memory ([#61](https://github.com/100yenadmin/boardstate/issues/61), `@boardstate/agent`).** Opt-in `memory: "board"` on
`createAgentChatAgent`: the system prompt gains the memory conventions
(`buildSystemPrompt(tools, { memory: "board" })` / `MEMORY_CONVENTIONS`) and the runner
**primes each turn** by reading a `memory` tab through the existing
`dashboard_workspace_get` verb (no new tools). Additive and default-off — the prompt is
byte-identical when off. See `docs/board-as-memory.md`.

- [#74](https://github.com/100yenadmin/boardstate/pull/74) [`ddc2710`](https://github.com/100yenadmin/boardstate/commit/ddc2710ab1532ef66351cd6bd991ddf6568e9cc9) Thanks [@100yenadmin](https://github.com/100yenadmin)! - Multi-agent workspaces ([#59](https://github.com/100yenadmin/boardstate/issues/59), SPEC §17.3): several agents sharing one board, distinguishable
and separately governed.

- **Per-agent grant scoping (schema + engine).** A capability grant gains an optional
operator-set `agents?: string[]` — the ACTOR dimension of the AND-gate. Absent ⇒ all agents
(back-compat, zero migration); present ⇒ only those agent actors pass, at BOTH tool-set
assembly (the agent-tool adapter surfaces a scoped grant only to a bound, listed agent —
covering the direct `readOnly` path) and invoke/read time (`dashboard.action.invoke` /
`dashboard.connector.read` fail-safe recheck). Operator-set ONLY (the approve verb);
`tool_search` REQUEST / `workspace.replace` / import can never write or widen it — any scope
drift on a still-granted grant re-pends the whole grant, and every re-pend (manifest drift,
replace/import, REQUEST, TTL expiry, revoke) strips it, exactly like `autoConfirm`/`expiresAt`.
- **Actor authenticity (load-bearing).** The acting agent is bound from the server-side
session/tool-registration identity (threaded `RequestContext → RpcHandlerContext`), NEVER a
request param. A parked mutation records the server-bound requester and the confirm-time
re-gate re-checks scope against IT. The WS transport threads no identity, so a scoped grant
FAILS CLOSED for an unauthenticated networked caller (`capability_pending`) — a client-claimed
`actor` can never pass another agent's scope (wire-contract tested).
- **Per-agent rate budgets.** The per-connector invoke limit gains an optional
`perAgentInvokeRateMax`: an agent's ceiling becomes `min(connector, per-agent)`. Unset ⇒
connector-only, byte-identical to prior behavior.
- **Provenance chips + filter (lit).** On a board with ≥2 distinct agent authors, each widget
header shows a compact deterministically-coloured chip (short id, full actor on hover) and a
toolbar affordance filters/highlights one agent's widgets. The approvals widget renders each
grant's per-agent scope. Zero schema change; single-agent boards are unchanged. New i18n keys
added to the five complete locales.

### Patch Changes

- Updated dependencies [[`6eb44b3`](https://github.com/100yenadmin/boardstate/commit/6eb44b389b14903662eeef0cf9ea515f98ee8803), [`ddc2710`](https://github.com/100yenadmin/boardstate/commit/ddc2710ab1532ef66351cd6bd991ddf6568e9cc9)]:
- @boardstate/schema@1.8.0

## 1.7.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@boardstate/core",
"version": "1.7.0",
"version": "1.8.0",
"description": "Headless Boardstate runtime: store, bindings, grid math, history",
"type": "module",
"license": "MIT",
Expand Down
35 changes: 35 additions & 0 deletions packages/host/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,40 @@
# @boardstate/host

## 1.8.0

### Minor Changes

- [#75](https://github.com/100yenadmin/boardstate/pull/75) [`6eb44b3`](https://github.com/100yenadmin/boardstate/commit/6eb44b389b14903662eeef0cf9ea515f98ee8803) Thanks [@100yenadmin](https://github.com/100yenadmin)! - Installable template recipes ([#60](https://github.com/100yenadmin/boardstate/issues/60)) + board-as-agent-memory ([#61](https://github.com/100yenadmin/boardstate/issues/61)).

- **Template recipes ([#60](https://github.com/100yenadmin/boardstate/issues/60), `@boardstate/schema` + `@boardstate/core`).** A new
`TemplateRecipe` format (`validateRecipe`) = a workspace doc + a `grantsManifest`
(connector → requested tools with human labels), schema-validated and static-hostable
(the registry index gains a `recipes[]` array). **Install = import:** the board is applied
through the existing distribution re-pend seam (`buildRecipeImportDoc` →
`sanitizeImportedWorkspace` → `dashboard.workspace.replace`), so every manifest grant
lands `requested` and custom widgets `pending` — a recipe can **never** arrive
pre-granted (proven at store ground truth through `reconcileReplaceApproval`). Ships two
operational recipes — a keyless **Ops board** (the operational-demo's fake OfficeCLI
connector, live end to end) and a **SaaS metrics + actions** board (builtins + an
aggregator-shaped manifest) — plus an **Agent memory** template.
- **Templates gallery tab ([#60](https://github.com/100yenadmin/boardstate/issues/60), `@boardstate/lit`).** The widget-gallery dialog grows a
**Templates** tab that browses recipes and renders each recipe's honest "this board will
ask for these tools" grant list before install; installing navigates to the board and the
approvals widget surfaces the pending grant cards. New locale keys land in all five
complete locales.
- **Board-as-memory ([#61](https://github.com/100yenadmin/boardstate/issues/61), `@boardstate/agent`).** Opt-in `memory: "board"` on
`createAgentChatAgent`: the system prompt gains the memory conventions
(`buildSystemPrompt(tools, { memory: "board" })` / `MEMORY_CONVENTIONS`) and the runner
**primes each turn** by reading a `memory` tab through the existing
`dashboard_workspace_get` verb (no new tools). Additive and default-off — the prompt is
byte-identical when off. See `docs/board-as-memory.md`.

### Patch Changes

- Updated dependencies [[`6eb44b3`](https://github.com/100yenadmin/boardstate/commit/6eb44b389b14903662eeef0cf9ea515f98ee8803), [`ddc2710`](https://github.com/100yenadmin/boardstate/commit/ddc2710ab1532ef66351cd6bd991ddf6568e9cc9)]:
- @boardstate/schema@1.8.0
- @boardstate/core@1.8.0

## 1.7.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/host/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@boardstate/host",
"version": "1.7.0",
"version": "1.8.0",
"description": "Framework-free DOM host for Boardstate custom widgets: sandbox mount + postMessage bridge",
"type": "module",
"license": "MIT",
Expand Down
Loading