Support define is tool logic function (#17926)

- supports isTool and timeout settings in defineLogicFunction in apps
and in setting tabs definition
- compute for all toolInputSchema for logic funciton, in settings and in
code steps

<img width="991" height="802" alt="image"
src="https://github.com/user-attachments/assets/05dc1221-cac9-45a3-87b0-3b13161446fd"
/>
This commit is contained in:
martmull
2026-02-16 10:43:29 +01:00
committed by GitHub
parent f694bb99b3
commit da064d5e88
138 changed files with 4839 additions and 367 deletions
@@ -27,7 +27,6 @@ export type {
} from './fieldManifestType';
export type { FrontComponentManifest } from './frontComponentManifestType';
export type {
InputJsonSchema,
LogicFunctionManifest,
CronTriggerSettings,
DatabaseEventTriggerSettings,
@@ -1,23 +1,6 @@
import { type SyncableEntityOptions } from '@/application/syncableEntityOptionsType';
import { type HTTPMethod } from '@/types';
// Standard JSON Schema type for tool input/output definitions
export type InputJsonSchema = {
type?:
| 'string'
| 'number'
| 'boolean'
| 'object'
| 'array'
| 'integer'
| 'null';
description?: string;
enum?: unknown[];
items?: InputJsonSchema;
properties?: Record<string, InputJsonSchema>;
required?: string[];
additionalProperties?: boolean | InputJsonSchema;
};
import { type InputJsonSchema } from '@/logic-function/input-json-schema.type';
export type LogicFunctionManifest = SyncableEntityOptions & {
name?: string;
@@ -30,7 +13,7 @@ export type LogicFunctionManifest = SyncableEntityOptions & {
builtHandlerPath: string;
builtHandlerChecksum: string;
handlerName: string;
toolInputSchema?: InputJsonSchema;
toolInputSchema: InputJsonSchema;
isTool?: boolean;
};