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
@@ -0,0 +1,19 @@
import { getGenericOperationName } from '@/utils/sentry/getGenericOperationName';
describe('getGenericOperationName', () => {
it('should extract the first word from a PascalCase name', () => {
expect(getGenericOperationName('FindOnePerson')).toBe('Find');
});
it('should extract the first word from another PascalCase name', () => {
expect(getGenericOperationName('AggregateCompanies')).toBe('Aggregate');
});
it('should return undefined for undefined input', () => {
expect(getGenericOperationName(undefined)).toBeUndefined();
});
it('should handle single word', () => {
expect(getGenericOperationName('Create')).toBe('Create');
});
});
@@ -0,0 +1,19 @@
import { getHumanReadableNameFromCode } from '@/utils/sentry/getHumanReadableNameFromCode';
describe('getHumanReadableNameFromCode', () => {
it('should convert snake_case to Title Case', () => {
expect(getHumanReadableNameFromCode('hello_world')).toBe('Hello World');
});
it('should handle single word', () => {
expect(getHumanReadableNameFromCode('hello')).toBe('Hello');
});
it('should handle uppercase code', () => {
expect(getHumanReadableNameFromCode('NOT_FOUND')).toBe('Not Found');
});
it('should handle multiple underscores', () => {
expect(getHumanReadableNameFromCode('a_b_c_d')).toBe('A B C D');
});
});