Skip to content

Releases: anantgarg/tinyhands

v1.31.0 - Google Workspace Split, Version History & KB Improvements

20 Mar 15:19

Choose a tag to compare

What's New

Google Workspace Split into 4 Integrations

  • Google Drive, Google Sheets, Google Docs, Gmail as separate tools
  • All connect via OAuth (no manual access token entry)
  • Legacy Google Workspace hidden, migration 019 cleans up DB

Version History (Full Config Tracking)

  • Tracks ALL changes: model, tools, effort, memory, access, write policy
  • Version preview shows full config snapshot alongside instructions

KB Sources Improvements

  • Edit existing sources (name + config)
  • Help text on all config forms
  • Google Drive folder picker with breadcrumb navigation

Agent Creation Wizard

  • Settings descriptions, grouped tools with read/write toggles
  • Goal analyzer auto-selects tools, model auto-filled

Non-Admin Restrictions

  • Create Agent hidden for non-admins, actions dropdown owner-only

Tools & Integrations Page

  • OAuth integrations show Connect with Google button
  • Edit button hidden for OAuth integrations

v1.30.0 - Markdown Editor, User Avatars & Chat UX

20 Mar 10:35

Choose a tag to compare

What is New

Markdown Editor for Instructions (#8)

  • Write/Preview tabs with live formatting preview
  • Toolbar buttons: Bold, Italic, Heading, Bullet List, Numbered List, Link
  • Toolbar inserts markdown at cursor position with smart selection handling
  • Preview renders formatted text (headings, bold, italic, code, lists, links)
  • Replaces the old plain monospace textarea

User Avatars in Dropdowns (#9)

  • Agent Access tab: 'Add User' now shows search-with-autocomplete
  • Type a name to see matching team members with their Slack avatar and display name
  • Selected user appears as a styled chip with avatar
  • No more raw 'User ID' text field

AI Chat UX Improvements (#10)

  • Switching agents automatically starts a new conversation (no stale context)
  • Empty state shows suggested action chips: 'Change the model', 'Update instructions', 'Add a tool', 'Respond to all messages'
  • Clicking a suggestion fills the input field for quick action
  • Agent selector dropdown also triggers new conversation on switch

v1.29.0 - Dashboard UX Polish Batch

20 Mar 10:28

Choose a tag to compare

What is New

Edit & Disconnect Integrations (v1.28.1)

  • Connected integration cards now have Edit and Disconnect buttons
  • Edit opens credentials dialog with 'Leave blank to keep current' for secrets
  • Disconnect with confirmation warning
  • New DELETE /tools/integrations/:id/disconnect endpoint

Knowledge Base Labels

  • Renamed 'Approved' tab to 'Published', 'Pending' to 'Pending Review'
  • Categories display in Title Case everywhere (dropdown + badges)

KB Sources Display

  • Source type shows proper names (GitHub, Google Drive, Website, Notion, Zendesk) instead of slugs
  • Status shows friendly labels (Setup Required, Active, Syncing, Error) instead of snake_case

Connections Page

  • No longer admin-only - all users can manage their personal connections
  • Team connections tab shows context-appropriate message (admin vs non-admin)
  • Status badges show Title Case (Active, Expired, Revoked)

Already Completed (verified)

  • Access & Roles: Add Admin with user autocomplete was already implemented
  • Workspace Settings: confusing labels were already fixed

v1.28.1 - Edit & Disconnect Integrations

20 Mar 10:22

Choose a tag to compare

What is New

Tools & Integrations - Edit & Disconnect

  • Connected integration cards now have Edit and Disconnect buttons
  • Edit opens the same credentials dialog, pre-configured for updating. Secret fields show 'Leave blank to keep current' placeholder
  • Disconnect button with confirmation dialog, warns that agents will lose access
  • Backend: New DELETE /tools/integrations/:id/disconnect endpoint
  • Integrations API now includes connectionId in the response for connected integrations

v1.28.0 - Tool Requests & Access Level Badges

20 Mar 10:18

Choose a tag to compare

What is New

Tool Requests System

  • Full request/approve/deny workflow for tool access on agents
  • New database table (tool_requests) for tracking requests
  • Backend: createToolRequest, listToolRequests, approveToolRequest, denyToolRequest
  • API endpoints for creating, listing, approving, and denying tool requests

Requests Page - Tool Requests Tab

  • Now fully functional (was previously empty)
  • Shows pending tool requests with agent name, tool, access level, requester, and reason
  • Agent filter dropdown to narrow results
  • Approve/Deny buttons per request
  • When approved, the tool is automatically added to the agent

Agent Detail - Tools Tab Improvements

  • Pending tool requests section shows when there are outstanding requests
  • Links to the Requests page for approval
  • Add Tool dialog now shows access level badges next to each tool

Human-Friendly Access Levels

  • read-only shows as 'Can view data'
  • read-write shows as 'Can view & make changes'
  • Badges color-coded: blue for view, yellow for changes

Available Tools API

  • Integration tools now include accessLevel in the response

v1.27.0 - Slack Channel Management and Credential Dropdowns

20 Mar 10:07

Choose a tag to compare

What is New

Slack Channel Management (Agent Detail > Triggers tab)

  • Replaced the old Slack Activation card with a proper Slack Channels section
  • Add/remove channels with channel chips, plus an Add Channel dialog with search
  • Response mode dropdown moved below the channel list

Credential Dropdown (Agent Detail > Tools tab)

  • Per-tool credential selector for integration tools - choose between Team credentials, Personal credentials, or Personal with team fallback
  • Replaces the static Team badge that was previously shown

Bug Fix: Agent Config Saves

  • Fixed a critical bug where most agent configuration changes from the dashboard (effort, memory, self-improvement, response mode, write policy, channel IDs) were silently failing to save
  • Added camelCase-to-snake_case key conversion in the API client so all agent updates now properly persist to the backend

API Additions

  • useSlackChannels() - fetch Slack workspace channels
  • useAgentToolConnections(agentId) - get per-agent tool credential modes
  • useSetAgentToolConnection() - update credential mode for a specific tool on an agent

v1.26.0 — Dashboard UX Overhaul

19 Mar 16:50

Choose a tag to compare

Dashboard UX Overhaul

Comprehensive rewrite of the web dashboard for non-technical users. Every page has been reviewed and fixed.

Agent Detail Page

  • Click-to-rename agent name in header
  • Model dropdown now works correctly (normalizes variant model IDs)
  • "Response Depth" → "Effort" with friendly labels (Quick, Standard, Thorough, Maximum)
  • Separate "Tools & Actions" section with action approval setting, tool list, and credentials note
  • Friendly tool names: WebSearch → "Web Search", Glob → "Find Files", etc.
  • Removed "Type: Built-in" column (meaningless to users)
  • Slack activation moved to Triggers tab with clear descriptions
  • User autocomplete with avatars for adding people (replaces raw User ID input)
  • "Granted By" shows resolved names instead of Slack IDs
  • Runs tab now works (fixed backend data shape), shows "Triggered By" name, friendly status labels

Tools & Integrations Page

  • Integrations load correctly (new backend endpoint)
  • Register integration flow works
  • Grouped read/write tools by integration (e.g., "Chargebee" with Read & Write badges)
  • Friendly tool names and removed Type/Creator columns
  • Access badges show "Read & Write" / "Read Only"

Connections Page

  • Data loads correctly (integration names resolved, no more dashes)
  • Personal connections tab first (most relevant to users)
  • OAuth integrations endpoint added

Knowledge Base

  • Stats load correctly (new /kb/stats endpoint)
  • Pagination and filtering work (entries return {entries, total})

Dashboard

  • Recent Runs show agent names and avatars (JOIN query)
  • Recent Activity properly mapped fields
  • Emoji rendering fixed across Error Logs and Dashboard

AI Assistant Chat

  • New conversation on agent switch (saves history)
  • History panel to browse past conversations
  • Expand/fullscreen mode
  • Greeting detection — "hi" no longer triggers agent update proposals

Global Pages

  • Triggers page shows real data (backend JOINs agent names, maps fields)
  • Requests page — renamed "Write Approvals" to "Action Approvals", added "Tool Requests" tab, agent filter
  • Workflows page — "Coming Soon" placeholder (was showing broken empty tables)
  • Access & Roles — "Add Admin" button with user autocomplete, "All Team Members" section, improved role descriptions
  • Workspace Settings — clear labels ("Everyone", "Automatic", etc.)
  • Error Logs — emoji rendering fixed, camelCase response shape

Developer

  • Added CLAUDE.md "Dashboard UI Guidelines" section for non-technical audience
  • All 3123 tests pass

v1.25.0

19 Mar 16:44

Choose a tag to compare

Dashboard Fixes

AI Assistant Chat

  • Conversation history: saves and loads previous chat sessions
  • Expanded mode: larger 700px panel for more workspace
  • New chat, history, and expand buttons in header
  • Greetings no longer trigger agent analysis
  • Conversations auto-save when switching agents

Triggers Page

  • Backend now properly JOINs agent names and maps fields to camelCase
  • Added PATCH endpoint for enable/disable from frontend
  • Accepts both type and triggerType in POST for frontend compatibility

Requests Page

  • Renamed 'Write Approvals' to 'Action Approvals'
  • Added 'Tool Requests' tab (placeholder)
  • Agent filter dropdown on Upgrade Requests and Evolution Proposals tabs

Workflows Page

  • Replaced broken empty tables with clean 'Coming Soon' state

Access & Roles Page

  • Add Admin button with Slack user autocomplete search
  • All Team Members section showing workspace member count
  • Added Viewer role description
  • Updated Member role description

Agent Detail

  • New 'Tools & Actions' card consolidating tools table and action approval config
  • Removed Type column from tools table
  • Credentials note linking to Connections page
  • Renamed 'Write Safety' to 'Action Approval' with improved labels

Tools Page

  • Read/write tools grouped by integration name (e.g., chargebee-read + chargebee-write = Chargebee)
  • Read/Write access badges per group
  • Simplified table layout

New API

  • web/src/api/slack.tsuseSlackUsers hook for Slack user autocomplete

v1.24.0

19 Mar 12:58

Choose a tag to compare

Web Admin Dashboard

Full web-based admin dashboard, accessible via "Sign in with Slack" at your TinyHands URL.

New Features

  • Web Dashboard: Complete React SPA with 16 pages covering all admin functionality
  • Sign in with Slack: OAuth-based authentication for the web dashboard
  • Basecamp-inspired design: Clean, flat, green-accented UI with system fonts
  • Agent management: Table-based agent list with filters, comprehensive detail page with inline-editable config, AI update bar, version history, tools management
  • Dashboard metrics: Usage stats, popular agents, recent runs, activity feed
  • All admin pages: Tools, Knowledge Base, Connections, Triggers, Workflows, Evolution Proposals, Audit Log, Access & Roles, Workspace Settings
  • Permission-aware sidebar: Admin-only pages hidden for non-admin users
  • Error boundaries: Friendly error pages instead of blank screens

Improvements

  • Relative timestamps everywhere ("2 hours ago")
  • Human-friendly labels (Response Depth instead of Max Turns, etc.)
  • Info tooltips explaining roles, policies, and access levels
  • Channel/Scheduled/Event trigger sections
  • Agent create with conversational labels and clear explanations

Technical

  • React 18 + Vite + TypeScript + Tailwind CSS + shadcn/ui
  • TanStack Query for server state
  • Zustand for auth state
  • 266 new API route tests (3083 total)
  • snake_case to camelCase API response transformer
  • Express session with Redis store
  • Static file serving with SPA fallback

Configuration

New env vars: SLACK_CLIENT_ID, SLACK_CLIENT_SECRET, SESSION_SECRET

Add redirect URI to your Slack app: https://your-domain/api/v1/auth/slack/callback

v1.23.0 — Complete Tool Connections UX

19 Mar 07:37

Choose a tag to compare

Complete Tool Connections UX

Implements the full 13-flow tool connections user experience, making credential management accessible to all users.

/tools for Everyone

  • All users can now run /tools to browse shared tools, personal connections, and available integrations
  • Three-section view: Shared Tools, My Connections, Available
  • Admins see management buttons; regular users see connect buttons

Personal Connections

  • OAuth flow: One-click Connect button sends DM with OAuth authorization link
  • API key flow: Connect with API Key opens a modal with integration-specific fields
  • Credentials stored encrypted in the connections table

Credential Resolution in Execution

  • Agent runs resolve credentials through the connections system before falling back to config_json
  • getIntegrationIdForTool uses manifest-based lookup instead of fragile string splitting
  • Missing runtime credentials prompt users to connect in-thread, with auto-retry after connection

Agent Creation Credential Step

  • Credential selection UI in agent confirmation: choose Shared / Creator's / Per-user credentials
  • Auto-set when only one credential type is available

Write Policy Enforcement

  • confirm: Posts approve/deny buttons in thread, 5-minute timeout
  • admin_confirm: Posts approve/deny for agent owner, no timeout
  • deny: Blocks all write tools via DISALLOWED_TOOLS
  • Redis-backed approval state with HTTP polling from containers

Notifications and Editing

  • deny_write_tools and deny_upgrade now DM the requesting user
  • Agent config view shows tool connection modes
  • New Edit Tool Connections button opens per-integration credential mode selector

Infrastructure

  • Migration 016: Backfills connections table from existing tool configs
  • connectionModel property set on all integration manifests
  • Redis approval helpers and internal approval HTTP routes
  • 46 new tests (2820 total)