Merge data navigator and manipulator agents (#15761)
Merge data manipulator and navigator agents
This commit is contained in:
@@ -169,7 +169,7 @@ export class AgentExecutionService implements AgentExecutionContext {
|
||||
}
|
||||
}
|
||||
|
||||
private async getContextForSystemPrompt(
|
||||
async getContextForSystemPrompt(
|
||||
workspace: WorkspaceEntity,
|
||||
recordIdsByObjectMetadataNameSingular: RecordIdsByObjectMetadataNameSingularType,
|
||||
userWorkspaceId: string,
|
||||
|
||||
@@ -164,6 +164,7 @@ export class AgentStreamingService {
|
||||
state: 'routed',
|
||||
debug: {
|
||||
routingTimeMs: routingTime,
|
||||
contextBuildTimeMs: timings.contextBuildTimeMs,
|
||||
agentExecutionStartTimeMs: Date.now() - startTime,
|
||||
selectedAgentId: agent.id,
|
||||
selectedAgentLabel: agent.label,
|
||||
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
import { isWorkflowRelatedObject } from 'src/engine/metadata-modules/agent/utils/is-workflow-related-object.util';
|
||||
import { type ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||
|
||||
describe('isWorkflowRelatedObject', () => {
|
||||
it('should return true for workflow-related objects', () => {
|
||||
expect(
|
||||
isWorkflowRelatedObject({
|
||||
standardId: STANDARD_OBJECT_IDS.workflow,
|
||||
} as ObjectMetadataEntity),
|
||||
).toBe(true);
|
||||
|
||||
expect(
|
||||
isWorkflowRelatedObject({
|
||||
standardId: STANDARD_OBJECT_IDS.workflowRun,
|
||||
} as ObjectMetadataEntity),
|
||||
).toBe(true);
|
||||
|
||||
expect(
|
||||
isWorkflowRelatedObject({
|
||||
standardId: STANDARD_OBJECT_IDS.workflowVersion,
|
||||
} as ObjectMetadataEntity),
|
||||
).toBe(true);
|
||||
});
|
||||
|
||||
it('should return false for non-workflow objects', () => {
|
||||
expect(
|
||||
isWorkflowRelatedObject({
|
||||
standardId: STANDARD_OBJECT_IDS.person,
|
||||
} as ObjectMetadataEntity),
|
||||
).toBe(false);
|
||||
|
||||
expect(
|
||||
isWorkflowRelatedObject({
|
||||
standardId: null,
|
||||
} as ObjectMetadataEntity),
|
||||
).toBe(false);
|
||||
});
|
||||
});
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
import { type ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||
|
||||
// All workflow-related standard object IDs that should be filtered out from agent access
|
||||
const WORKFLOW_STANDARD_OBJECT_IDS = [
|
||||
STANDARD_OBJECT_IDS.workflow,
|
||||
STANDARD_OBJECT_IDS.workflowRun,
|
||||
STANDARD_OBJECT_IDS.workflowVersion,
|
||||
STANDARD_OBJECT_IDS.workflowAutomatedTrigger,
|
||||
] as const;
|
||||
|
||||
export const isWorkflowRelatedObject = (
|
||||
objectMetadata: ObjectMetadataEntity,
|
||||
): boolean => {
|
||||
return (
|
||||
objectMetadata.standardId !== null &&
|
||||
WORKFLOW_STANDARD_OBJECT_IDS.includes(
|
||||
objectMetadata.standardId as (typeof WORKFLOW_STANDARD_OBJECT_IDS)[number],
|
||||
)
|
||||
);
|
||||
};
|
||||
+14
-7
@@ -1,14 +1,21 @@
|
||||
import { type ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||
|
||||
const WORKFLOW_OBJECT_NAMES = ['workflowVersion', 'workflowRun'];
|
||||
// All workflow-related standard object IDs that should be filtered out from agent access
|
||||
const WORKFLOW_STANDARD_OBJECT_IDS = [
|
||||
STANDARD_OBJECT_IDS.workflow,
|
||||
STANDARD_OBJECT_IDS.workflowRun,
|
||||
STANDARD_OBJECT_IDS.workflowVersion,
|
||||
STANDARD_OBJECT_IDS.workflowAutomatedTrigger,
|
||||
] as const;
|
||||
|
||||
export const isWorkflowRunObject = (
|
||||
export const isWorkflowRelatedObject = (
|
||||
objectMetadata: ObjectMetadataEntity,
|
||||
): boolean => {
|
||||
if (objectMetadata.standardId) {
|
||||
return objectMetadata.standardId === STANDARD_OBJECT_IDS.workflowRun;
|
||||
}
|
||||
|
||||
return WORKFLOW_OBJECT_NAMES.includes(objectMetadata.nameSingular);
|
||||
return (
|
||||
objectMetadata.standardId !== null &&
|
||||
WORKFLOW_STANDARD_OBJECT_IDS.includes(
|
||||
objectMetadata.standardId as (typeof WORKFLOW_STANDARD_OBJECT_IDS)[number],
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user