Skip to content

dashboard@0.126.0

Choose a tag to compare

@gram-bot gram-bot released this 27 Sep 21:23
· 1480 commits to main since this release
a52d8df

Minor Changes

  • 8636862: Add the Workload Identities page: trust an external issuer, admit the subjects it asserts, and assign the agent each admitted workload inherits its policy from. Admitting a subject and assigning its agent happen in one action, and withdrawing an issuer withdraws the subjects admitted under it. Wildcard admission is offered only where the issuer permits it, and a rule that would match nothing — a * in an exact subject, a missing or misplaced terminator, a stem ending in whitespace — is flagged next to the field in the destructive color rather than refused on submit. Issuer and JWKS URLs are checked against the server's https and fully-qualified-domain rules before submit. Only active agents are offered, since a suspended or revoked one contributes no policy, and an organization whose agents are all inactive is told to reactivate one rather than create another. The page stays usable where agent management is not rolled out: the agent lookup returns 404 there, so listing and withdrawing still work and only the admit action is disabled, with the reason. workload:read to view, workload:write to change.

  • d621b76: The setup board now has a single "Set up identity provider" task with three steps: verify a domain, connect single sign-on, and sync the directory. The separate "Verify your domain" task, and the legacy "Connect identity provider" and "Set up directory sync" tasks, are gone, so nothing on the board is blocked behind another identity task. The security onboarding preset and the demo organization show the combined task. The single sign-on step stays disabled until a domain is verified, and a blocked portal popup now shows an error on every step.

  • 3552233: Allow risk policies to target selected MCP servers, gateways, and tools while restricting those policies to tool traffic.

  • e251e57: Add User, Agent, and No Identity modes for Remote MCP servers, including identity selection during creation, managed Authorization credentials, and editable Remote Identity Provider setup.

  • 4769ce6: Manage directory role mappings on the IDP and SSO page. Every directory group is listed with its own role picker, unmapped groups first, and picking a role saves it. Attribute values are available as a collapsed fallback, and "Create role…" opens the role editor and maps the new role on return. The role editor no longer fails when the agents service is unavailable, the active navigation item drops its box border, and Team rows no longer show the killswitch status icon.

  • 8a4657e: Add organization Slack workspace authorization. Organization administrators can connect and disconnect multiple workspaces from Identity; connecting a listed workspace again reauthorizes it. Credentials remain encrypted and workspace changes are audited. Shared Explore Demo shows read-only workspace history. Directory sync and identity mapping are not included.

  • 662c2d9: Sync organization Slack directories after connection or on an administrator's request. Show workspace sync history, member counts, and a searchable read-only directory across workspaces. Complete snapshots preserve identity mappings and retained members; failed fetches leave the prior directory intact.

    Shared Explore Demo shows saved directories without allowing sync. Disconnecting a workspace deletes its synced members. Connected workspaces sync every 30 minutes, refreshing rotating Slack tokens as needed, and admins can still sync now.

  • 0d17f90: Let organization administrators map Slack memberships to existing personnel from an inline picker, reassign or remove mappings, and review directory changes without granting new permissions. Syncs map members whose email matches exactly one person.

    The shared demo shows synthetic mappings with read-only controls. Disconnecting a workspace removes its mappings.

Patch Changes

  • c4e433b: Serve the full product on extra first-party hosts listed in GRAM_PLATFORM_HOSTS (such as ai.speakeasy.com) alongside the server URL's host. Login started on such a host calls back and lands on that same host, and the dashboard reports telemetry for ai.speakeasy.com to the production projects.
  • ada7519: Make API key scopes readable at a glance. Creating a key now opens in a side pane rather than a modal, so the form is no longer boxed in by a fixed height, and each scope is a card that leads with the integration it exists for — calling MCP servers at runtime, setup automation, plugin telemetry, device agent rollout — with its exact grants and exclusions one click away instead of crowding the page. The descriptions were also corrected against what the API enforces: a Consumer key does not reach the toolsets service, a Producer key covers everything a Consumer key can do, and the Agent key's setup instructions are now separate from its permissions. The Chat scope is no longer offered, since nothing is provisioned against it any more; keys that already carry it keep working. The project binding list is now alphabetical rather than newest-first.
  • 068e1bf: Configure Remote MCP server identity through one atomic provider and client setup operation.
  • 52cbebd: Rank command palette (⌘K) results by intent. On every keystroke the palette sends the typed text and a short list of prefiltered candidates to launcher.judge, re-orders the list from Jev's probability distributions, and shows a green ↵ on the top row when the intent is settled. Jev can also pick a verb per row: open, enable or disable an MCP server, or publish the plugin marketplace; mutating verbs always require a second Enter inside the palette. Without a resolvable OpenRouter key the palette behaves as before.
  • c5b9863: Let organization admins turn off the device agent's Shadow AI scan from the fleet configuration.
  • d192f03: Add management API and SDK operations to prepare, inspect, and unlink downstream identity-chaining client registrations with explicit grant evidence and generation checks. Readiness fails closed on missing grant evidence, and uncertain registration persistence requires reconciliation rather than replay.
  • 1bae108: Gate the MCP scope picker in the risk policy editor behind the gram-mcp-scoped-policies rollout flag. Policies that already have an MCP scope keep the picker.
  • 35060d1: Protect active identity-chaining bindings during issuer lifecycle changes. Block unsafe issuer deletion and consolidation, and show binding counts and explicit unlinking guidance in the dashboard and admin migration review.
  • bcc9952: In the MCP scope picker for risk policies, unchecking "All MCP servers" now clears the selection, and tools can be picked on a server that is not yet in scope.
  • 0e155d1: Make the setup wizard the only onboarding view at /setup, and derive the tasks it walks from the onboarding survey result recorded through a new submitOnboardingSurvey endpoint. Onboarding presets and setup cards are each defined in one registry.
  • 1edb857: Add the latest OpenRouter models to the playground, chat, and assistant model pickers: Claude Opus 5.5, Claude Fable 5.1, GPT-6 Astra, GPT-6 Sol, GPT-6 Luna, Gemini 3.8 Flash, DeepSeek V4.1 Flash, Grok 4.7, Qwen3.8 Max, Qwen3.8 Flash, GLM-5.3, and Kimi K3.
  • 632cdc4: Show mapped Slack workspace accounts under Work identities on a person's Accounts & devices page. Employees can read their own mappings and contact an administrator for corrections. Organization administrators can review an active person's exact membership in the organization directory. Reads require a browser session and active membership; mappings grant no additional permissions.