overhaul provider inventory and agent/model selection (#8652)
Signed-off-by: Bradley Axen <baxen@squareup.com>
This commit is contained in:
@@ -36,9 +36,19 @@ const EXCEPTIONS = {
|
||||
"Search-as-you-type filtering and draft-aware sidebar highlight logic.",
|
||||
},
|
||||
"src/app/AppShell.tsx": {
|
||||
limit: 660,
|
||||
limit: 730,
|
||||
justification:
|
||||
"Shell still coordinates ACP session loading, replay-buffer cleanup on load failure, project reassignment, and app-level chat routing. Includes gated [perf:load]/[perf:newtab] logging via perfLog (dev-only by default).",
|
||||
"Shell still coordinates ACP session loading, replay-buffer cleanup on load failure, project reassignment, home-session restoration, app-level chat routing, and restored project-draft reuse. Includes gated [perf:load]/[perf:newtab] logging via perfLog (dev-only by default).",
|
||||
},
|
||||
"src/features/chat/hooks/useChatSessionController.ts": {
|
||||
limit: 690,
|
||||
justification:
|
||||
"Controller now centralizes home-to-chat pending state transfer, workspace/project preparation, provider/model/persona handoff, Goose cross-provider model selection sequencing with rollback, and chat input orchestration pending a later decomposition pass.",
|
||||
},
|
||||
"src/features/chat/ui/AgentModelPicker.tsx": {
|
||||
limit: 570,
|
||||
justification:
|
||||
"Agent-first picker currently keeps the full trigger, recommended-model view, searchable full-model view, and ACP/goose-specific labeling logic in one component pending later extraction.",
|
||||
},
|
||||
"src/features/chat/stores/__tests__/chatSessionStore.test.ts": {
|
||||
limit: 540,
|
||||
@@ -56,7 +66,7 @@ const EXCEPTIONS = {
|
||||
"Voice dictation send/stop guards, attachment handling, and mention/picker coordination still share one chat composer component.",
|
||||
},
|
||||
"src/features/chat/ui/__tests__/ChatInput.test.tsx": {
|
||||
limit: 510,
|
||||
limit: 520,
|
||||
justification:
|
||||
"Composer regression coverage spans personas, queueing, attachments, and voice-input edge cases in one interaction-heavy suite.",
|
||||
},
|
||||
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env bash
|
||||
# Reset the provider inventory tables to empty, as if migration 12 just ran.
|
||||
# This lets you test the first-use experience (cold inventory).
|
||||
#
|
||||
# Usage: ./scripts/reset-inventory.sh
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
DB="${GOOSE_DB:-$HOME/.local/share/goose/sessions/sessions.db}"
|
||||
|
||||
if [ ! -f "$DB" ]; then
|
||||
echo "Database not found at $DB"
|
||||
echo "Set GOOSE_DB to override the path."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Database: $DB"
|
||||
echo ""
|
||||
echo "Before:"
|
||||
echo " provider_inventory_entries: $(sqlite3 "$DB" 'SELECT COUNT(*) FROM provider_inventory_entries;')"
|
||||
echo " provider_inventory_models: $(sqlite3 "$DB" 'SELECT COUNT(*) FROM provider_inventory_models;')"
|
||||
|
||||
# ON DELETE CASCADE on provider_inventory_models means deleting entries clears both tables.
|
||||
# Delete models first since CASCADE isn't reliable in all sqlite3 builds,
|
||||
# then delete entries.
|
||||
sqlite3 "$DB" "DELETE FROM provider_inventory_models; DELETE FROM provider_inventory_entries;"
|
||||
|
||||
echo ""
|
||||
echo "After:"
|
||||
echo " provider_inventory_entries: $(sqlite3 "$DB" 'SELECT COUNT(*) FROM provider_inventory_entries;')"
|
||||
echo " provider_inventory_models: $(sqlite3 "$DB" 'SELECT COUNT(*) FROM provider_inventory_models;')"
|
||||
echo ""
|
||||
echo "Inventory tables are empty. Restart goose to test first-use flow."
|
||||
Reference in New Issue
Block a user