From dc3fe8836966077fd4a1768a9a25c773582b6997 Mon Sep 17 00:00:00 2001 From: Lex Christopherson Date: Tue, 24 Mar 2026 06:06:51 -0600 Subject: [PATCH] fix(gsd): replace any types in db-tools executor signatures Tool executor lambdas now use proper types (string, Record, AbortSignal | undefined) instead of any for all parameters. registerAlias toolDef param also properly typed. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../extensions/gsd/bootstrap/db-tools.ts | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/resources/extensions/gsd/bootstrap/db-tools.ts b/src/resources/extensions/gsd/bootstrap/db-tools.ts index 4afe85d95..b9b7848ed 100644 --- a/src/resources/extensions/gsd/bootstrap/db-tools.ts +++ b/src/resources/extensions/gsd/bootstrap/db-tools.ts @@ -10,7 +10,7 @@ import { StringEnum } from "@gsd/pi-ai"; * Register an alias tool that shares the same execute function as its canonical counterpart. * The alias description and promptGuidelines direct the LLM to prefer the canonical name. */ -function registerAlias(pi: ExtensionAPI, toolDef: any, aliasName: string, canonicalName: string): void { +function registerAlias(pi: ExtensionAPI, toolDef: Record & { description: string }, aliasName: string, canonicalName: string): void { pi.registerTool({ ...toolDef, name: aliasName, @@ -22,7 +22,7 @@ function registerAlias(pi: ExtensionAPI, toolDef: any, aliasName: string, canoni export function registerDbTools(pi: ExtensionAPI): void { // ─── gsd_decision_save (formerly gsd_save_decision) ───────────────────── - const decisionSaveExecute = async (_toolCallId: any, params: any, _signal: any, _onUpdate: any, _ctx: any) => { + const decisionSaveExecute = async (_toolCallId: string, params: Record, _signal: AbortSignal | undefined, _onUpdate: unknown, _ctx: unknown) => { const dbAvailable = await ensureDbOpen(); if (!dbAvailable) { return { @@ -93,7 +93,7 @@ export function registerDbTools(pi: ExtensionAPI): void { // ─── gsd_requirement_update (formerly gsd_update_requirement) ─────────── - const requirementUpdateExecute = async (_toolCallId: any, params: any, _signal: any, _onUpdate: any, _ctx: any) => { + const requirementUpdateExecute = async (_toolCallId: string, params: Record, _signal: AbortSignal | undefined, _onUpdate: unknown, _ctx: unknown) => { const dbAvailable = await ensureDbOpen(); if (!dbAvailable) { return { @@ -163,7 +163,7 @@ export function registerDbTools(pi: ExtensionAPI): void { // ─── gsd_summary_save (formerly gsd_save_summary) ────────────────────── - const summarySaveExecute = async (_toolCallId: any, params: any, _signal: any, _onUpdate: any, _ctx: any) => { + const summarySaveExecute = async (_toolCallId: string, params: Record, _signal: AbortSignal | undefined, _onUpdate: unknown, _ctx: unknown) => { const dbAvailable = await ensureDbOpen(); if (!dbAvailable) { return { @@ -241,7 +241,7 @@ export function registerDbTools(pi: ExtensionAPI): void { // ─── gsd_milestone_generate_id (formerly gsd_generate_milestone_id) ──── - const milestoneGenerateIdExecute = async (_toolCallId: any, _params: any, _signal: any, _onUpdate: any, _ctx: any) => { + const milestoneGenerateIdExecute = async (_toolCallId: string, _params: Record, _signal: AbortSignal | undefined, _onUpdate: unknown, _ctx: unknown) => { try { // Claim a reserved ID if the guided-flow already previewed one to the user. // This guarantees the ID shown in the UI matches the one materialised on disk. @@ -294,7 +294,7 @@ export function registerDbTools(pi: ExtensionAPI): void { // ─── gsd_plan_milestone (gsd_milestone_plan alias) ───────────────────── - const planMilestoneExecute = async (_toolCallId: any, params: any, _signal: any, _onUpdate: any, _ctx: any) => { + const planMilestoneExecute = async (_toolCallId: string, params: Record, _signal: AbortSignal | undefined, _onUpdate: unknown, _ctx: unknown) => { const dbAvailable = await ensureDbOpen(); if (!dbAvailable) { return { @@ -385,7 +385,7 @@ export function registerDbTools(pi: ExtensionAPI): void { // ─── gsd_plan_slice (gsd_slice_plan alias) ───────────────────────────── - const planSliceExecute = async (_toolCallId: any, params: any, _signal: any, _onUpdate: any, _ctx: any) => { + const planSliceExecute = async (_toolCallId: string, params: Record, _signal: AbortSignal | undefined, _onUpdate: unknown, _ctx: unknown) => { const dbAvailable = await ensureDbOpen(); if (!dbAvailable) { return { @@ -462,7 +462,7 @@ export function registerDbTools(pi: ExtensionAPI): void { // ─── gsd_plan_task (gsd_task_plan alias) ─────────────────────────────── - const planTaskExecute = async (_toolCallId: any, params: any, _signal: any, _onUpdate: any, _ctx: any) => { + const planTaskExecute = async (_toolCallId: string, params: Record, _signal: AbortSignal | undefined, _onUpdate: unknown, _ctx: unknown) => { const dbAvailable = await ensureDbOpen(); if (!dbAvailable) { return { @@ -532,7 +532,7 @@ export function registerDbTools(pi: ExtensionAPI): void { // ─── gsd_task_complete (gsd_complete_task alias) ──────────────────────── - const taskCompleteExecute = async (_toolCallId: any, params: any, _signal: any, _onUpdate: any, _ctx: any) => { + const taskCompleteExecute = async (_toolCallId: string, params: Record, _signal: AbortSignal | undefined, _onUpdate: unknown, _ctx: unknown) => { const dbAvailable = await ensureDbOpen(); if (!dbAvailable) { return { @@ -613,7 +613,7 @@ export function registerDbTools(pi: ExtensionAPI): void { // ─── gsd_slice_complete (gsd_complete_slice alias) ───────────────────── - const sliceCompleteExecute = async (_toolCallId: any, params: any, _signal: any, _onUpdate: any, _ctx: any) => { + const sliceCompleteExecute = async (_toolCallId: string, params: Record, _signal: AbortSignal | undefined, _onUpdate: unknown, _ctx: unknown) => { const dbAvailable = await ensureDbOpen(); if (!dbAvailable) { return { @@ -726,7 +726,7 @@ export function registerDbTools(pi: ExtensionAPI): void { // ─── gsd_replan_slice (gsd_slice_replan alias) ───────────────────────── - const replanSliceExecute = async (_toolCallId: any, params: any, _signal: any, _onUpdate: any, _ctx: any) => { + const replanSliceExecute = async (_toolCallId: string, params: Record, _signal: AbortSignal | undefined, _onUpdate: unknown, _ctx: unknown) => { const dbAvailable = await ensureDbOpen(); if (!dbAvailable) { return { @@ -806,7 +806,7 @@ export function registerDbTools(pi: ExtensionAPI): void { // ─── gsd_reassess_roadmap (gsd_roadmap_reassess alias) ───────────────── - const reassessRoadmapExecute = async (_toolCallId: any, params: any, _signal: any, _onUpdate: any, _ctx: any) => { + const reassessRoadmapExecute = async (_toolCallId: string, params: Record, _signal: AbortSignal | undefined, _onUpdate: unknown, _ctx: unknown) => { const dbAvailable = await ensureDbOpen(); if (!dbAvailable) { return {