From d1bb73d6604259d1ccacd90e6c77670747730ac8 Mon Sep 17 00:00:00 2001 From: Vikhyath Mondreti Date: Tue, 27 Jan 2026 12:54:09 -0800 Subject: [PATCH] update copilot paths --- apps/sim/blocks/types.ts | 6 ++++++ apps/sim/lib/copilot/process-contents.ts | 7 ++++++- .../copilot/tools/server/blocks/get-block-config.ts | 5 ++++- .../tools/server/blocks/get-blocks-metadata-tool.ts | 11 ++++++++--- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/apps/sim/blocks/types.ts b/apps/sim/blocks/types.ts index 099dcd8b6..0c03f9536 100644 --- a/apps/sim/blocks/types.ts +++ b/apps/sim/blocks/types.ts @@ -164,6 +164,12 @@ export type OutputFieldDefinition = hiddenFromDisplay?: boolean } +export function isHiddenFromDisplay(def: unknown): boolean { + return Boolean( + def && typeof def === 'object' && 'hiddenFromDisplay' in def && def.hiddenFromDisplay + ) +} + export interface ParamConfig { type: ParamType description?: string diff --git a/apps/sim/lib/copilot/process-contents.ts b/apps/sim/lib/copilot/process-contents.ts index 3b62b9197..ff1dbf497 100644 --- a/apps/sim/lib/copilot/process-contents.ts +++ b/apps/sim/lib/copilot/process-contents.ts @@ -4,6 +4,7 @@ import { createLogger } from '@sim/logger' import { and, eq, isNull } from 'drizzle-orm' import { loadWorkflowFromNormalizedTables } from '@/lib/workflows/persistence/utils' import { sanitizeForCopilot } from '@/lib/workflows/sanitization/json-sanitizer' +import { isHiddenFromDisplay } from '@/blocks/types' import { escapeRegExp } from '@/executor/constants' import { getUserPermissionConfig } from '@/executor/utils/permission-check' import type { ChatContext } from '@/stores/panel/copilot/types' @@ -397,7 +398,11 @@ async function processBlockMetadata( category: blockConfig.category, bgColor: blockConfig.bgColor, inputs: blockConfig.inputs || {}, - outputs: blockConfig.outputs || {}, + outputs: blockConfig.outputs + ? Object.fromEntries( + Object.entries(blockConfig.outputs).filter(([_, def]) => !isHiddenFromDisplay(def)) + ) + : {}, tools: blockConfig.tools?.access || [], hideFromToolbar: blockConfig.hideFromToolbar, } diff --git a/apps/sim/lib/copilot/tools/server/blocks/get-block-config.ts b/apps/sim/lib/copilot/tools/server/blocks/get-block-config.ts index d1acfe336..3bcc90233 100644 --- a/apps/sim/lib/copilot/tools/server/blocks/get-block-config.ts +++ b/apps/sim/lib/copilot/tools/server/blocks/get-block-config.ts @@ -6,7 +6,7 @@ import { type GetBlockConfigResultType, } from '@/lib/copilot/tools/shared/schemas' import { registry as blockRegistry, getLatestBlock } from '@/blocks/registry' -import type { SubBlockConfig } from '@/blocks/types' +import { isHiddenFromDisplay, type SubBlockConfig } from '@/blocks/types' import { getUserPermissionConfig } from '@/executor/utils/permission-check' import { PROVIDER_DEFINITIONS } from '@/providers/models' import { tools as toolsRegistry } from '@/tools/registry' @@ -310,6 +310,7 @@ function extractTriggerOutputs(blockConfig: any): Record !isHiddenFromDisplay(def)) + ) + : undefined + metadata = { id: blockId, name: blockConfig.name || blockId, @@ -262,7 +267,7 @@ export const getBlocksMetadataServerTool: BaseServerTool< triggers, operationInputSchema: operationParameters, operations, - outputs: blockConfig.outputs, + outputs: filteredOutputs, } }