Version Packages#76
Merged
Merged
Conversation
evaOS review status: closed or merged before reviewPR: #76 - Version Packages evaOS review stopped because the PR closed or merged before this queued head could be reviewed. Automation note: agents should wait for this comment to reach PR URL: #76 Details: state=closed |
d505069 to
b7fe931
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@boardstate/agent@0.5.0
Minor Changes
#75
6eb44b3Thanks @100yenadmin! - Installable template recipes (#60) + board-as-agent-memory (#61).@boardstate/schema+@boardstate/core). A newTemplateRecipeformat (validateRecipe) = a workspace doc + agrantsManifest(connector → requested tools with human labels), schema-validated and static-hostable
(the registry index gains a
recipes[]array). Install = import: the board is appliedthrough the existing distribution re-pend seam (
buildRecipeImportDoc→sanitizeImportedWorkspace→dashboard.workspace.replace), so every manifest grantlands
requestedand custom widgetspending— a recipe can never arrivepre-granted (proven at store ground truth through
reconcileReplaceApproval). Ships twooperational 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.
@boardstate/lit). The widget-gallery dialog grows aTemplates 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.
@boardstate/agent). Opt-inmemory: "board"oncreateAgentChatAgent: the system prompt gains the memory conventions(
buildSystemPrompt(tools, { memory: "board" })/MEMORY_CONVENTIONS) and the runnerprimes each turn by reading a
memorytab through the existingdashboard_workspace_getverb (no new tools). Additive and default-off — the prompt isbyte-identical when off. See
docs/board-as-memory.md.Patch Changes
6eb44b3,ddc2710]:@boardstate/core@1.8.0
Minor Changes
#75
6eb44b3Thanks @100yenadmin! - Installable template recipes (#60) + board-as-agent-memory (#61).@boardstate/schema+@boardstate/core). A newTemplateRecipeformat (validateRecipe) = a workspace doc + agrantsManifest(connector → requested tools with human labels), schema-validated and static-hostable
(the registry index gains a
recipes[]array). Install = import: the board is appliedthrough the existing distribution re-pend seam (
buildRecipeImportDoc→sanitizeImportedWorkspace→dashboard.workspace.replace), so every manifest grantlands
requestedand custom widgetspending— a recipe can never arrivepre-granted (proven at store ground truth through
reconcileReplaceApproval). Ships twooperational 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.
@boardstate/lit). The widget-gallery dialog grows aTemplates 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.
@boardstate/agent). Opt-inmemory: "board"oncreateAgentChatAgent: the system prompt gains the memory conventions(
buildSystemPrompt(tools, { memory: "board" })/MEMORY_CONVENTIONS) and the runnerprimes each turn by reading a
memorytab through the existingdashboard_workspace_getverb (no new tools). Additive and default-off — the prompt isbyte-identical when off. See
docs/board-as-memory.md.#74
ddc2710Thanks @100yenadmin! - Multi-agent workspaces (#59, SPEC §17.3): several agents sharing one board, distinguishableand separately governed.
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
readOnlypath) and invoke/read time (dashboard.action.invoke/dashboard.connector.readfail-safe recheck). Operator-set ONLY (the approve verb);tool_searchREQUEST /workspace.replace/ import can never write or widen it — any scopedrift 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.session/tool-registration identity (threaded
RequestContext → RpcHandlerContext), NEVER arequest 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-claimedactorcan never pass another agent's scope (wire-contract tested).perAgentInvokeRateMax: an agent's ceiling becomesmin(connector, per-agent). Unset ⇒connector-only, byte-identical to prior behavior.
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
6eb44b3,ddc2710]:@boardstate/host@1.8.0
Minor Changes
#75
6eb44b3Thanks @100yenadmin! - Installable template recipes (#60) + board-as-agent-memory (#61).@boardstate/schema+@boardstate/core). A newTemplateRecipeformat (validateRecipe) = a workspace doc + agrantsManifest(connector → requested tools with human labels), schema-validated and static-hostable
(the registry index gains a
recipes[]array). Install = import: the board is appliedthrough the existing distribution re-pend seam (
buildRecipeImportDoc→sanitizeImportedWorkspace→dashboard.workspace.replace), so every manifest grantlands
requestedand custom widgetspending— a recipe can never arrivepre-granted (proven at store ground truth through
reconcileReplaceApproval). Ships twooperational 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.
@boardstate/lit). The widget-gallery dialog grows aTemplates 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.
@boardstate/agent). Opt-inmemory: "board"oncreateAgentChatAgent: the system prompt gains the memory conventions(
buildSystemPrompt(tools, { memory: "board" })/MEMORY_CONVENTIONS) and the runnerprimes each turn by reading a
memorytab through the existingdashboard_workspace_getverb (no new tools). Additive and default-off — the prompt isbyte-identical when off. See
docs/board-as-memory.md.Patch Changes
6eb44b3,ddc2710]:@boardstate/lit@0.9.0
Minor Changes
#75
6eb44b3Thanks @100yenadmin! - Installable template recipes (#60) + board-as-agent-memory (#61).@boardstate/schema+@boardstate/core). A newTemplateRecipeformat (validateRecipe) = a workspace doc + agrantsManifest(connector → requested tools with human labels), schema-validated and static-hostable
(the registry index gains a
recipes[]array). Install = import: the board is appliedthrough the existing distribution re-pend seam (
buildRecipeImportDoc→sanitizeImportedWorkspace→dashboard.workspace.replace), so every manifest grantlands
requestedand custom widgetspending— a recipe can never arrivepre-granted (proven at store ground truth through
reconcileReplaceApproval). Ships twooperational 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.
@boardstate/lit). The widget-gallery dialog grows aTemplates 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.
@boardstate/agent). Opt-inmemory: "board"oncreateAgentChatAgent: the system prompt gains the memory conventions(
buildSystemPrompt(tools, { memory: "board" })/MEMORY_CONVENTIONS) and the runnerprimes each turn by reading a
memorytab through the existingdashboard_workspace_getverb (no new tools). Additive and default-off — the prompt isbyte-identical when off. See
docs/board-as-memory.md.#74
ddc2710Thanks @100yenadmin! - Multi-agent workspaces (#59, SPEC §17.3): several agents sharing one board, distinguishableand separately governed.
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
readOnlypath) and invoke/read time (dashboard.action.invoke/dashboard.connector.readfail-safe recheck). Operator-set ONLY (the approve verb);tool_searchREQUEST /workspace.replace/ import can never write or widen it — any scopedrift 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.session/tool-registration identity (threaded
RequestContext → RpcHandlerContext), NEVER arequest 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-claimedactorcan never pass another agent's scope (wire-contract tested).perAgentInvokeRateMax: an agent's ceiling becomesmin(connector, per-agent). Unset ⇒connector-only, byte-identical to prior behavior.
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
6eb44b3,ddc2710]:@boardstate/schema@1.8.0
Minor Changes
#75
6eb44b3Thanks @100yenadmin! - Installable template recipes (#60) + board-as-agent-memory (#61).@boardstate/schema+@boardstate/core). A newTemplateRecipeformat (validateRecipe) = a workspace doc + agrantsManifest(connector → requested tools with human labels), schema-validated and static-hostable
(the registry index gains a
recipes[]array). Install = import: the board is appliedthrough the existing distribution re-pend seam (
buildRecipeImportDoc→sanitizeImportedWorkspace→dashboard.workspace.replace), so every manifest grantlands
requestedand custom widgetspending— a recipe can never arrivepre-granted (proven at store ground truth through
reconcileReplaceApproval). Ships twooperational 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.
@boardstate/lit). The widget-gallery dialog grows aTemplates 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.
@boardstate/agent). Opt-inmemory: "board"oncreateAgentChatAgent: the system prompt gains the memory conventions(
buildSystemPrompt(tools, { memory: "board" })/MEMORY_CONVENTIONS) and the runnerprimes each turn by reading a
memorytab through the existingdashboard_workspace_getverb (no new tools). Additive and default-off — the prompt isbyte-identical when off. See
docs/board-as-memory.md.#74
ddc2710Thanks @100yenadmin! - Multi-agent workspaces (#59, SPEC §17.3): several agents sharing one board, distinguishableand separately governed.
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
readOnlypath) and invoke/read time (dashboard.action.invoke/dashboard.connector.readfail-safe recheck). Operator-set ONLY (the approve verb);tool_searchREQUEST /workspace.replace/ import can never write or widen it — any scopedrift 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.session/tool-registration identity (threaded
RequestContext → RpcHandlerContext), NEVER arequest 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-claimedactorcan never pass another agent's scope (wire-contract tested).perAgentInvokeRateMax: an agent's ceiling becomesmin(connector, per-agent). Unset ⇒connector-only, byte-identical to prior behavior.
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.
@boardstate/server@1.8.0
Minor Changes
#74
ddc2710Thanks @100yenadmin! - Multi-agent workspaces (#59, SPEC §17.3): several agents sharing one board, distinguishableand separately governed.
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
readOnlypath) and invoke/read time (dashboard.action.invoke/dashboard.connector.readfail-safe recheck). Operator-set ONLY (the approve verb);tool_searchREQUEST /workspace.replace/ import can never write or widen it — any scopedrift 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.session/tool-registration identity (threaded
RequestContext → RpcHandlerContext), NEVER arequest 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-claimedactorcan never pass another agent's scope (wire-contract tested).perAgentInvokeRateMax: an agent's ceiling becomesmin(connector, per-agent). Unset ⇒connector-only, byte-identical to prior behavior.
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
6eb44b3,ddc2710]:@boardstate/conformance@0.1.17
Patch Changes
6eb44b3,ddc2710]:@boardstate/broker@0.3.4
Patch Changes
ddc2710]:@boardstate/mcp@0.2.10
Patch Changes
6eb44b3,ddc2710]:@boardstate/react@0.1.13
Patch Changes
6eb44b3,ddc2710]:boardstate-example-app@0.0.18
Patch Changes
6eb44b3,ddc2710]:boardstate-example-operational-demo@0.0.5
Patch Changes
6eb44b3,ddc2710]:boardstate-example-standalone@0.0.18
Patch Changes
6eb44b3,ddc2710]: