feat(FN-3035): tighten insight tool filter typing

Fixes the insight tool filter typing in the CLI extension to use stricter types, preventing incorrect filter values from being passed through.

Fusion-Task-Id: FN-3035
This commit is contained in:
Fusion
2026-04-30 19:46:33 -07:00
committed by gsxdsm
parent 892f6bde68
commit 0c932e5e9c
8 changed files with 424 additions and 1 deletions

View File

@@ -32,6 +32,7 @@ Mission → Milestone → Slice → Feature → Task
- **Mission tools** — `fn_mission_create`, `fn_mission_list`, `fn_mission_show`, `fn_mission_delete`, `fn_milestone_add`, `fn_slice_add`, `fn_feature_add`, `fn_slice_activate`, `fn_feature_link_task`
- **Agent tools** — `fn_agent_stop`, `fn_agent_start`
- **Skills tools** — `fn_skills_search`, `fn_skills_install`
- **Insight tools** — `fn_insight_list`, `fn_insight_show`, `fn_insight_run_list`, `fn_insight_run_show`
<!-- END: tool-categories -->
- **Dashboard** — Use `/fn` command to start/stop the dashboard

View File

@@ -283,6 +283,47 @@ Install an agent skill from skills.sh into the current project. Downloads skill
| `source` | string | ✓ | GitHub source in owner/repo format (e.g., 'firebase/agent-skills') |
| `skill` | string | — | Specific skill name to install (e.g., 'firebase-basics'). Omit to install all skills from the source. |
## Insight Tools
### fn_insight_list
List persisted project insights with optional category/status filters.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `category` | string(enum) | — | Filter by insight category |
| `status` | string(enum) | — | Filter by insight status |
| `runId` | string | — | Filter to insights linked to a specific run ID |
| `limit` | number | — | Max insights to return |
| `offset` | number | — | Number of rows to skip |
### fn_insight_show
Show a single persisted insight by ID.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | ✓ | Insight ID (e.g. INS-XXXXX) |
### fn_insight_run_list
List recent insight-generation runs with optional status/trigger filters.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string(enum) | — | Filter by run status |
| `trigger` | string(enum) | — | Filter by run trigger |
| `limit` | number | — | Max runs to return |
| `offset` | number | — | Number of runs to skip |
### fn_insight_run_show
Show a single insight-generation run by ID.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | ✓ | Insight run ID (e.g. INSR-XXXXX) |
<!-- END: extension-tools -->
## Dashboard Command

View File

@@ -29,6 +29,10 @@ All skill/extension tool invocations in this catalog use the public `fn_*` names
| `fn_task_import_github_issue` | Import a specific GitHub issue as a Fusion task. Fetches the issue by number and creates a single task in the planning column with the issue title and body. |
| `fn_task_browse_github_issues` | List open GitHub issues from a repository to browse before importing. Returns issue numbers, titles, and URLs for selection. Use with fn_task_import_github_issue to import specific issues by number. |
| `fn_task_plan` | Create a task via AI-guided planning mode — interactive conversation to refine your idea into a well-specified task. |
| `fn_insight_list` | List persisted project insights with optional category/status filters. |
| `fn_insight_show` | Show a single persisted insight by ID. |
| `fn_insight_run_list` | List recent insight-generation runs with optional status/trigger filters. |
| `fn_insight_run_show` | Show a single insight-generation run by ID. |
| `fn_mission_create` | Create a new mission — a high-level objective that can span multiple milestones. Missions contain milestones that break down work into phases. |
| `fn_mission_list` | List all missions with their current status. |
| `fn_mission_show` | Show mission details with full hierarchy: milestones → slices → features. |