@superblocksteam/vite-plugin-file-sync 2.0.51 → 2.0.52-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +36 -7
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +28 -3
- package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/apis/generate-api-source.js +102 -8
- package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts +1 -1
- package/dist/ai-service/agent/subagents/apis/prompt-builder.js +2 -2
- package/dist/ai-service/agent/subagents/apis/state.d.ts +10 -0
- package/dist/ai-service/agent/subagents/apis/state.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +1 -1
- package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/apis/system-prompt.js +294 -5
- package/dist/ai-service/agent/subagents/apis/system-prompt.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.d.ts +2 -0
- package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.js +96 -13
- package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/finalize-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/finalize-api.js +13 -4
- package/dist/ai-service/agent/tools/apis/finalize-api.js.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.js +64 -2
- package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.js +12 -0
- package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.js +43 -0
- package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.js +6 -0
- package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-write-file.js +6 -0
- package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.d.ts +42 -0
- package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.js +121 -14
- package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +1 -0
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +1 -0
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +9 -5
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.js +105 -7
- package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/index.d.ts +1 -1
- package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/index.js +1 -1
- package/dist/ai-service/agent/tools/integrations/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/metadata.d.ts +0 -4
- package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/metadata.js +0 -44
- package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +45 -10
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.d.ts +1 -1
- package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.js +13 -5
- package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
- package/dist/ai-service/agent/tools2/entity-permissions.d.ts +180 -0
- package/dist/ai-service/agent/tools2/entity-permissions.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/entity-permissions.js +154 -0
- package/dist/ai-service/agent/tools2/entity-permissions.js.map +1 -0
- package/dist/ai-service/agent/tools2/example.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/example.js +25 -6
- package/dist/ai-service/agent/tools2/example.js.map +1 -1
- package/dist/ai-service/agent/tools2/index.d.ts +4 -2
- package/dist/ai-service/agent/tools2/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/index.js +2 -1
- package/dist/ai-service/agent/tools2/index.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts +47 -0
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +122 -19
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/test-utils.d.ts +7 -0
- package/dist/ai-service/agent/tools2/test-utils.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/test-utils.js +10 -0
- package/dist/ai-service/agent/tools2/test-utils.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +17 -9
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +2 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +192 -27
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.d.ts +18 -0
- package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.js +837 -0
- package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +96 -0
- package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/grep-metadata.js +437 -0
- package/dist/ai-service/agent/tools2/tools/grep-metadata.js.map +1 -0
- package/dist/ai-service/agent/tools2/types.d.ts +113 -6
- package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/types.js +15 -0
- package/dist/ai-service/agent/tools2/types.js.map +1 -1
- package/dist/ai-service/agent/tools2/utils.d.ts +9 -0
- package/dist/ai-service/agent/tools2/utils.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/utils.js +11 -0
- package/dist/ai-service/agent/tools2/utils.js.map +1 -0
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +12 -0
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/const.d.ts +0 -1
- package/dist/ai-service/const.d.ts.map +1 -1
- package/dist/ai-service/const.js +0 -1
- package/dist/ai-service/const.js.map +1 -1
- package/dist/ai-service/index.d.ts +11 -0
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +50 -3
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/metadata-storage/index.d.ts +25 -0
- package/dist/ai-service/integrations/metadata-storage/index.d.ts.map +1 -0
- package/dist/ai-service/integrations/metadata-storage/index.js +2 -0
- package/dist/ai-service/integrations/metadata-storage/index.js.map +1 -0
- package/dist/ai-service/integrations/metadata-storage/local.d.ts +53 -0
- package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -0
- package/dist/ai-service/integrations/metadata-storage/local.js +315 -0
- package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -0
- package/dist/ai-service/integrations/store.d.ts +17 -14
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +124 -131
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/llm/utils.js +1 -1
- package/dist/ai-service/llm/utils.js.map +1 -1
- package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
- package/dist/ai-service/llmobs/helpers.js +17 -23
- package/dist/ai-service/llmobs/helpers.js.map +1 -1
- package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -1
- package/dist/ai-service/llmobs/middleware/stream-text.js +1 -0
- package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +5 -2
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +2 -2
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +5 -2
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +16 -7
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/post-processing.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/post-processing.js +11 -2
- package/dist/ai-service/state-machine/handlers/post-processing.js.map +1 -1
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts.map +1 -1
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +0 -1
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -1
- package/dist/ai-service/types.d.ts +1 -0
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/ai-service/types.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +12 -0
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-helpers.d.ts.map +1 -1
- package/dist/file-system-helpers.js +1 -0
- package/dist/file-system-helpers.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +6 -0
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/index.d.ts +8 -0
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +15 -0
- package/dist/sync-service/index.js.map +1 -1
- package/dist/util/open-api.d.ts +2 -46
- package/dist/util/open-api.d.ts.map +1 -1
- package/dist/util/open-api.js +1 -114
- package/dist/util/open-api.js.map +1 -1
- package/package.json +7 -7
- package/dist/ai-service/integrations/metadata/database.d.ts +0 -15
- package/dist/ai-service/integrations/metadata/database.d.ts.map +0 -1
- package/dist/ai-service/integrations/metadata/database.js +0 -121
- package/dist/ai-service/integrations/metadata/database.js.map +0 -1
- package/dist/ai-service/integrations/metadata/databricks.d.ts +0 -25
- package/dist/ai-service/integrations/metadata/databricks.d.ts.map +0 -1
- package/dist/ai-service/integrations/metadata/databricks.js +0 -174
- package/dist/ai-service/integrations/metadata/databricks.js.map +0 -1
- package/dist/ai-service/integrations/metadata/graphql-based.d.ts +0 -16
- package/dist/ai-service/integrations/metadata/graphql-based.d.ts.map +0 -1
- package/dist/ai-service/integrations/metadata/graphql-based.js +0 -383
- package/dist/ai-service/integrations/metadata/graphql-based.js.map +0 -1
- package/dist/ai-service/integrations/metadata/index.d.ts +0 -9
- package/dist/ai-service/integrations/metadata/index.d.ts.map +0 -1
- package/dist/ai-service/integrations/metadata/index.js +0 -7
- package/dist/ai-service/integrations/metadata/index.js.map +0 -1
- package/dist/ai-service/integrations/metadata/llm-utils.d.ts +0 -24
- package/dist/ai-service/integrations/metadata/llm-utils.d.ts.map +0 -1
- package/dist/ai-service/integrations/metadata/llm-utils.js +0 -45
- package/dist/ai-service/integrations/metadata/llm-utils.js.map +0 -1
- package/dist/ai-service/integrations/metadata/open-api.d.ts +0 -17
- package/dist/ai-service/integrations/metadata/open-api.d.ts.map +0 -1
- package/dist/ai-service/integrations/metadata/open-api.js +0 -62
- package/dist/ai-service/integrations/metadata/open-api.js.map +0 -1
- package/dist/ai-service/integrations/metadata/table-based.d.ts +0 -10
- package/dist/ai-service/integrations/metadata/table-based.d.ts.map +0 -1
- package/dist/ai-service/integrations/metadata/table-based.js +0 -27
- package/dist/ai-service/integrations/metadata/table-based.js.map +0 -1
- package/dist/ai-service/prompt-builder-service/builders/dbschema-intent.d.ts +0 -19
- package/dist/ai-service/prompt-builder-service/builders/dbschema-intent.d.ts.map +0 -1
- package/dist/ai-service/prompt-builder-service/builders/dbschema-intent.js +0 -145
- package/dist/ai-service/prompt-builder-service/builders/dbschema-intent.js.map +0 -1
- package/dist/ai-service/prompt-builder-service/builders/openapi-intent.d.ts +0 -19
- package/dist/ai-service/prompt-builder-service/builders/openapi-intent.d.ts.map +0 -1
- package/dist/ai-service/prompt-builder-service/builders/openapi-intent.js +0 -41
- package/dist/ai-service/prompt-builder-service/builders/openapi-intent.js.map +0 -1
- package/dist/ai-service/prompt-builder-service/index.d.ts +0 -3
- package/dist/ai-service/prompt-builder-service/index.d.ts.map +0 -1
- package/dist/ai-service/prompt-builder-service/index.js +0 -3
- package/dist/ai-service/prompt-builder-service/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep-metadata-ripgrep.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/grep-metadata-ripgrep.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Grep-like patterns for searching metadata
|
|
3
|
+
* Examples:
|
|
4
|
+
* - "tables like 'user%'" - tables starting with "user"
|
|
5
|
+
* - "tables containing 'customer'" - tables containing "customer"
|
|
6
|
+
* - "columns in table 'users'" - columns in specific table
|
|
7
|
+
* - "columns containing 'email'" - columns with "email" in name/type
|
|
8
|
+
* - "schemas like 'prod_*'" - schemas matching pattern
|
|
9
|
+
*/
|
|
10
|
+
export interface GrepPattern {
|
|
11
|
+
scope: "tables" | "columns" | "schemas" | "paths" | "operations" | "types" | "queries" | "mutations" | "fields";
|
|
12
|
+
operation: "like" | "containing" | "exact" | "in_table" | "in_type" | "regex";
|
|
13
|
+
pattern: string | string[];
|
|
14
|
+
tableName?: string;
|
|
15
|
+
typeName?: string;
|
|
16
|
+
}
|
|
17
|
+
type MetadataType = "database" | "openapi" | "graphql" | "unknown";
|
|
18
|
+
export interface GrepMetadataResult {
|
|
19
|
+
matches: Array<{
|
|
20
|
+
type: "table" | "column" | "schema" | "path" | "operation" | "graphql_type" | "query" | "mutation" | "field";
|
|
21
|
+
name: string;
|
|
22
|
+
schema?: string;
|
|
23
|
+
table?: string;
|
|
24
|
+
columnType?: string;
|
|
25
|
+
graphqlType?: string;
|
|
26
|
+
method?: string;
|
|
27
|
+
path?: string;
|
|
28
|
+
columns?: Array<{
|
|
29
|
+
name: string;
|
|
30
|
+
type?: string;
|
|
31
|
+
}>;
|
|
32
|
+
parameters?: Array<any>;
|
|
33
|
+
requestBody?: any;
|
|
34
|
+
responses?: any;
|
|
35
|
+
kind?: string;
|
|
36
|
+
description?: string;
|
|
37
|
+
fields?: Array<any>;
|
|
38
|
+
fieldNames?: string[];
|
|
39
|
+
typeName?: string;
|
|
40
|
+
returnType?: string | any;
|
|
41
|
+
args?: Array<any>;
|
|
42
|
+
details?: any;
|
|
43
|
+
}>;
|
|
44
|
+
totalCount: number;
|
|
45
|
+
truncated: boolean;
|
|
46
|
+
stoppedAt?: number;
|
|
47
|
+
hasMore?: boolean;
|
|
48
|
+
suggestion?: string;
|
|
49
|
+
metadataType?: MetadataType;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Grep Metadata Tool - Search integration metadata using ripgrep regex patterns
|
|
53
|
+
*
|
|
54
|
+
* This tool searches gron-formatted metadata cache files using ripgrep.
|
|
55
|
+
*/
|
|
56
|
+
export declare const grepMetadataToolFactory: import("../types.js").ToolFactory<import("../types.js").Tool<any, {
|
|
57
|
+
error: string;
|
|
58
|
+
matches: never[];
|
|
59
|
+
totalCount: number;
|
|
60
|
+
truncated: boolean;
|
|
61
|
+
} | {
|
|
62
|
+
suggestion: string | undefined;
|
|
63
|
+
metadataType: any;
|
|
64
|
+
matches: Array<{
|
|
65
|
+
type: "table" | "column" | "schema" | "path" | "operation" | "graphql_type" | "query" | "mutation" | "field";
|
|
66
|
+
name: string;
|
|
67
|
+
schema?: string;
|
|
68
|
+
table?: string;
|
|
69
|
+
columnType?: string;
|
|
70
|
+
graphqlType?: string;
|
|
71
|
+
method?: string;
|
|
72
|
+
path?: string;
|
|
73
|
+
columns?: Array<{
|
|
74
|
+
name: string;
|
|
75
|
+
type?: string;
|
|
76
|
+
}>;
|
|
77
|
+
parameters?: Array<any>;
|
|
78
|
+
requestBody?: any;
|
|
79
|
+
responses?: any;
|
|
80
|
+
kind?: string;
|
|
81
|
+
description?: string;
|
|
82
|
+
fields?: Array<any>;
|
|
83
|
+
fieldNames?: string[];
|
|
84
|
+
typeName?: string;
|
|
85
|
+
returnType?: string | any;
|
|
86
|
+
args?: Array<any>;
|
|
87
|
+
details?: any;
|
|
88
|
+
}>;
|
|
89
|
+
totalCount: number;
|
|
90
|
+
truncated: boolean;
|
|
91
|
+
stoppedAt?: number;
|
|
92
|
+
hasMore?: boolean;
|
|
93
|
+
error?: undefined;
|
|
94
|
+
}>>;
|
|
95
|
+
export {};
|
|
96
|
+
//# sourceMappingURL=grep-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep-metadata.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/grep-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { getLogger } from "../../../../util/logger.js";
|
|
3
|
+
import { createToolFactory, PermissionLevel, ToolCategory } from "../types.js";
|
|
4
|
+
import { searchGronWithRipgrep, buildResultFromGronMatches, } from "./grep-metadata-ripgrep.js";
|
|
5
|
+
/**
|
|
6
|
+
* Grep Metadata Tool - Search integration metadata using ripgrep regex patterns
|
|
7
|
+
*
|
|
8
|
+
* This tool searches gron-formatted metadata cache files using ripgrep.
|
|
9
|
+
*/
|
|
10
|
+
export const grepMetadataToolFactory = createToolFactory("grepMetadata", (_clark, services) => {
|
|
11
|
+
const MAX_RESPONSE_CHARS = 25_000; // Character limit for response (no hard result limit)
|
|
12
|
+
return {
|
|
13
|
+
category: ToolCategory.METADATA,
|
|
14
|
+
description: `
|
|
15
|
+
Search integration metadata using ripgrep regex patterns on gron-formatted cache files.
|
|
16
|
+
|
|
17
|
+
WHEN TO USE:
|
|
18
|
+
- Explore database schemas (tables, columns, types)
|
|
19
|
+
- Find REST API paths, operations, schemas
|
|
20
|
+
- Search GraphQL types, queries, mutations, fields
|
|
21
|
+
- Discover what data is available before writing queries
|
|
22
|
+
|
|
23
|
+
METADATA FORMAT:
|
|
24
|
+
Metadata is cached as gron-formatted files where JSON is flattened to searchable lines:
|
|
25
|
+
json.dbSchema.tables[0].name = "users";
|
|
26
|
+
json.dbSchema.tables[0].columns[3].name = "email";
|
|
27
|
+
json.openApiSpec.paths["/api/users"].get.operationId = "getUsers";
|
|
28
|
+
|
|
29
|
+
PATTERN SYNTAX:
|
|
30
|
+
Write ripgrep regex patterns that match these gron lines.
|
|
31
|
+
- Database: Use \\d+ for array indices (tables[0], columns[5])
|
|
32
|
+
- OpenAPI: Use .* for string keys (paths["/users"], paths[".*"])
|
|
33
|
+
|
|
34
|
+
COMMON PATTERNS:
|
|
35
|
+
|
|
36
|
+
Find schemas (database namespaces):
|
|
37
|
+
'\\.schemas\\[\\d+\\]\\.name'
|
|
38
|
+
(Returns unique schema names like "samples", "uber", "system")
|
|
39
|
+
|
|
40
|
+
Find tables:
|
|
41
|
+
'\\.tables\\[\\d+\\]\\.name = ".*user.*"'
|
|
42
|
+
(Returns full table objects with all columns included!)
|
|
43
|
+
|
|
44
|
+
Find columns across all tables:
|
|
45
|
+
'\\.columns\\[\\d+\\]\\.name = ".*email.*"'
|
|
46
|
+
|
|
47
|
+
Find specific table with all its columns:
|
|
48
|
+
'\\.tables\\[\\d+\\]\\.name = "users"'
|
|
49
|
+
(Searching for a table by name returns the complete table object with columns - no need for OR patterns!)
|
|
50
|
+
|
|
51
|
+
Find OpenAPI paths (string keys, not arrays!):
|
|
52
|
+
'\\.paths\\[".*repos.*"\\]'
|
|
53
|
+
(Quotes constrain search to the path key, not descriptions)
|
|
54
|
+
|
|
55
|
+
Find OpenAPI operations:
|
|
56
|
+
'\\.operations\\[.*\\]\\.method = "GET"'
|
|
57
|
+
→ Returns: Operation with method, path, parameters array, requestBody, and responses
|
|
58
|
+
→ parameters array includes path/query/header/cookie parameters with types and descriptions
|
|
59
|
+
→ responses object shows response schemas by status code (200, 404, etc.)
|
|
60
|
+
|
|
61
|
+
Find OpenAPI by operation:
|
|
62
|
+
'\\.paths\\[.*\\]\\.get\\.operationId'
|
|
63
|
+
'\\.operationId.*keyword'
|
|
64
|
+
'\\.summary.*keyword'
|
|
65
|
+
|
|
66
|
+
Find GraphQL types:
|
|
67
|
+
'\\.graphql\\.data\\.__schema\\.types\\[\\d+\\]\\.name = ".*User.*"'
|
|
68
|
+
|
|
69
|
+
Find GraphQL queries (query fields are in the Query type):
|
|
70
|
+
'\\.graphql\\.data\\.__schema\\.types\\[\\d+\\]\\.name = "Query"'
|
|
71
|
+
(Returns the Query type with all query fields)
|
|
72
|
+
|
|
73
|
+
Find fields in any type (searches both 'fields' and 'inputFields'):
|
|
74
|
+
'\\.graphql\\.data\\.__schema\\.types\\[\\d+\\]\\.(fields|inputFields)\\[\\d+\\]\\.name = ".*email.*"'
|
|
75
|
+
|
|
76
|
+
Two-step workflow for large GraphQL schemas (recommended):
|
|
77
|
+
Step 1: Use includeDetails: false to get type with field names
|
|
78
|
+
grepMetadata({
|
|
79
|
+
pattern: '\\.types\\[\\d+\\]\\.name = "Query"',
|
|
80
|
+
includeDetails: false
|
|
81
|
+
})
|
|
82
|
+
→ Returns: { name: "Query", fieldNames: ["issue", "issues", "projects", ...] }
|
|
83
|
+
→ Works for all types including INPUT_OBJECT (shows inputFields)
|
|
84
|
+
→ Just search for the type name - the tool automatically includes all fields
|
|
85
|
+
|
|
86
|
+
Step 2: Search for 1-3 specific fields at a time to get full details
|
|
87
|
+
grepMetadata({ pattern: '\\.(fields|inputFields)\\[\\d+\\]\\.name = "issue|assignee"' })
|
|
88
|
+
→ Returns: Field objects with typeName, description, returnType, and args array
|
|
89
|
+
→ args array shows what arguments the field accepts (e.g., filter: IssueFilter)
|
|
90
|
+
→ Check typeName in results to filter by type
|
|
91
|
+
⚠️ Limit to 2-3 fields per search to stay under 25k char limit
|
|
92
|
+
|
|
93
|
+
OR LOGIC (use | for multiple patterns):
|
|
94
|
+
'\\.columns\\[\\d+\\]\\.name = ".*email.*|.*phone.*|.*address.*"'
|
|
95
|
+
|
|
96
|
+
TIPS:
|
|
97
|
+
- Use .* for wildcard matching
|
|
98
|
+
- Use \\d+ for array indices (never hardcode numbers!)
|
|
99
|
+
- Escape regex special chars: \\. \\[ \\] \\(
|
|
100
|
+
- Use | for OR logic (much faster than multiple calls)
|
|
101
|
+
- Set includeDetails: false for name-only lists (faster)
|
|
102
|
+
|
|
103
|
+
The tool returns structured results with full context (table names, schemas, types).
|
|
104
|
+
`,
|
|
105
|
+
defaultPermission: PermissionLevel.ALLOW,
|
|
106
|
+
readOnly: true,
|
|
107
|
+
inputSchema: z.object({
|
|
108
|
+
integrationId: z
|
|
109
|
+
.string()
|
|
110
|
+
.describe("The ID of the integration to search"),
|
|
111
|
+
grepPattern: z.string().describe(`Ripgrep regex pattern for searching gron-formatted metadata.
|
|
112
|
+
|
|
113
|
+
GRON FORMAT: Metadata is stored as gron lines (each JSON path becomes a separate line)
|
|
114
|
+
|
|
115
|
+
DATABASE GRON FORMAT EXAMPLES:
|
|
116
|
+
json.dbSchema.schemas[0].name = "public";
|
|
117
|
+
json.dbSchema.tables[3].name = "users";
|
|
118
|
+
json.dbSchema.tables[3].schema = "public";
|
|
119
|
+
json.dbSchema.tables[3].columns = [];
|
|
120
|
+
json.dbSchema.tables[3].columns[0].name = "id";
|
|
121
|
+
json.dbSchema.tables[3].columns[0].type = "integer";
|
|
122
|
+
json.dbSchema.tables[3].columns[5].name = "email";
|
|
123
|
+
json.dbSchema.tables[3].columns[5].type = "varchar";
|
|
124
|
+
|
|
125
|
+
OPENAPI GRON FORMAT EXAMPLES:
|
|
126
|
+
json.openApiSpec.paths = {};
|
|
127
|
+
json.openApiSpec.paths["/api/users"] = {};
|
|
128
|
+
json.openApiSpec.paths["/api/users"].get = {};
|
|
129
|
+
json.openApiSpec.paths["/api/users"].get.operationId = "getUsers";
|
|
130
|
+
json.openApiSpec.paths["/api/users"].get.summary = "List all users";
|
|
131
|
+
json.openApiSpec.paths["/api/repos/{owner}"] = {};
|
|
132
|
+
json.openApiSpec.paths["/api/repos/{owner}"].get.operationId = "listRepos";
|
|
133
|
+
|
|
134
|
+
GRAPHQL GRON FORMAT EXAMPLES:
|
|
135
|
+
json.graphql.data.__schema.types[42].name = "Query";
|
|
136
|
+
json.graphql.data.__schema.types[42].kind = "OBJECT";
|
|
137
|
+
json.graphql.data.__schema.types[42].fields[0].name = "issues";
|
|
138
|
+
json.graphql.data.__schema.types[42].fields[0].args[0].name = "filter";
|
|
139
|
+
json.graphql.data.__schema.types[42].fields[0].args[0].type.name = "IssueFilter";
|
|
140
|
+
json.graphql.data.__schema.types[16].name = "Issue";
|
|
141
|
+
json.graphql.data.__schema.types[16].fields[2].name = "title";
|
|
142
|
+
|
|
143
|
+
HANDLING TRUNCATION (25k char limit):
|
|
144
|
+
Truncation is NORMAL and EXPECTED for large schemas. When you see truncated: true:
|
|
145
|
+
|
|
146
|
+
**For EXPLORATORY queries** ("What's in this database?", "Tell me about the tables"):
|
|
147
|
+
✅ DO: Note what you got, then search more specifically (by topic, schema, name)
|
|
148
|
+
✅ DO: Use narrower patterns (search 1-3 fields instead of 5+)
|
|
149
|
+
✅ DO: Use includeDetails: false to get just field names
|
|
150
|
+
❌ DON'T: Paginate - user doesn't need ALL results, just representative sample
|
|
151
|
+
|
|
152
|
+
**For EXHAUSTIVE queries** ("Give me ALL tables", "List EVERY endpoint"):
|
|
153
|
+
✅ DO: Use startIndex (from stoppedAt) to paginate through all results
|
|
154
|
+
✅ DO: Continue until hasMore: false
|
|
155
|
+
❌ DON'T: Sample - user explicitly wants complete data
|
|
156
|
+
|
|
157
|
+
❌ NEVER: Give up or assume the data isn't available
|
|
158
|
+
❌ NEVER: Immediately paginate without trying specific searches first (unless user said "all")
|
|
159
|
+
|
|
160
|
+
PAGINATION:
|
|
161
|
+
When truncated: true is returned:
|
|
162
|
+
1. **If exploratory**: Try more specific patterns (by topic, schema, name)
|
|
163
|
+
2. **If exhaustive** (user said "all"/"every"): Use startIndex from stoppedAt value to continue
|
|
164
|
+
Example: { stoppedAt: 7, hasMore: true } → next call: { startIndex: 7 }
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
PATTERN EXAMPLES:
|
|
168
|
+
|
|
169
|
+
Database (tables/columns use numeric indices):
|
|
170
|
+
- Find schemas: '\\\\.schemas\\\\[\\\\d+\\\\]\\\\.name' (all unique schema names)
|
|
171
|
+
- Find tables: '\\\\.tables\\\\[\\\\d+\\\\]\\\\.name = ".*user.*"'
|
|
172
|
+
- Find columns: '\\\\.columns\\\\[\\\\d+\\\\]\\\\.name = ".*email.*"'
|
|
173
|
+
- Specific table columns: '\\\\.tables\\\\[\\\\d+\\\\]\\\\.name = "users"|\\\\.tables\\\\[\\\\d+\\\\]\\\\.columns\\\\[\\\\d+\\\\]\\\\.name'
|
|
174
|
+
|
|
175
|
+
OpenAPI (paths use STRING keys, not arrays!):
|
|
176
|
+
- Find paths with "repos": '\\\\.paths\\\\[".*repos.*"\\\\]' (quotes constrain to key)
|
|
177
|
+
- Find paths with "user": '\\\\.paths\\\\[".*user.*"\\\\]'
|
|
178
|
+
- Exact path: '\\\\.paths\\\\["/exact/path"\\\\]'
|
|
179
|
+
- GET operations: '\\\\.paths\\\\[.*\\\\]\\\\.get\\\\.operationId'
|
|
180
|
+
- By operation ID (anchored): '\\\\.operationId = ".*repo.*"' (matches value only)
|
|
181
|
+
- By summary (anchored): '\\\\.summary = ".*keyword.*"' (matches value only)
|
|
182
|
+
- ⚠️ AVOID: '\\\\.operationId.*repo.*' (too broad, matches nested content, hits limits!)
|
|
183
|
+
|
|
184
|
+
GraphQL (standard introspection format at json.graphql.data.__schema):
|
|
185
|
+
- Broad search (many results, no fields): '\\\\.graphql\\\\.data\\\\.__schema\\\\.types\\\\[\\\\d+\\\\]\\\\.name = ".*User.*"'
|
|
186
|
+
- Narrow search (≤10 results, WITH fields): '\\\\.graphql\\\\.data\\\\.__schema\\\\.types\\\\[\\\\d+\\\\]\\\\.name = "User"'
|
|
187
|
+
- Find Query type WITH all queries: '\\\\.graphql\\\\.data\\\\.__schema\\\\.types\\\\[\\\\d+\\\\]\\\\.name = "Query"'
|
|
188
|
+
- Find Mutation type WITH all mutations: '\\\\.graphql\\\\.data\\\\.__schema\\\\.types\\\\[\\\\d+\\\\]\\\\.name = "Mutation"'
|
|
189
|
+
- Find 1-3 specific fields: '\\\\.fields\\\\[\\\\d+\\\\]\\\\.name = "assignee|title"' (limit to 2-3 fields)
|
|
190
|
+
⚠️ Returns field results across all types - check typeName to filter
|
|
191
|
+
⚠️ Searching 5+ fields may exceed 25k char limit on large schemas
|
|
192
|
+
- Auto-optimization: ≤10 type matches = includes fields, >10 = omits fields
|
|
193
|
+
|
|
194
|
+
TIPS:
|
|
195
|
+
- Use \\\\d+ for array indices (matches any number)
|
|
196
|
+
- Use .* for wildcard matching
|
|
197
|
+
- Escape special regex chars: \\\\. \\\\[ \\\\] \\\\(
|
|
198
|
+
- Use | for OR: "pattern1|pattern2"
|
|
199
|
+
`),
|
|
200
|
+
includeDetails: z
|
|
201
|
+
.boolean()
|
|
202
|
+
.optional()
|
|
203
|
+
.default(true)
|
|
204
|
+
.describe(`Controls level of detail in results:
|
|
205
|
+
- true (default): Full details with complete field objects (may be large for complex types)
|
|
206
|
+
- false: Compact mode - GraphQL types return fieldNames array instead of full fields
|
|
207
|
+
|
|
208
|
+
For GraphQL types:
|
|
209
|
+
- includeDetails: false → { name: "Issue", fieldNames: ["id", "title", "assignee", ...] }
|
|
210
|
+
- includeDetails: true → { name: "Issue", fields: [{name: "id", type: {...}, ...}, ...] }
|
|
211
|
+
|
|
212
|
+
Use false for exploration, true when you need complete type information.`),
|
|
213
|
+
startIndex: z
|
|
214
|
+
.number()
|
|
215
|
+
.optional()
|
|
216
|
+
.default(0)
|
|
217
|
+
.describe(`Index to start returning results from (0-indexed). Use this to continue from where a previous truncated search stopped.
|
|
218
|
+
|
|
219
|
+
⚠️ WHEN TO USE PAGINATION:
|
|
220
|
+
|
|
221
|
+
USE PAGINATION WHEN:
|
|
222
|
+
1. **User explicitly wants ALL results** ("Give me ALL tables", "List EVERY endpoint")
|
|
223
|
+
2. **Specific search returns truncated results AND you need more data** to answer the question
|
|
224
|
+
- Example: User asks "What user tables exist?" → Search returns 30 truncated results → Need more
|
|
225
|
+
- Example: User asks about a specific schema → Returns 50 tables truncated → Need more
|
|
226
|
+
3. **User requests continuation** ("Show me more", "Continue", "Next page")
|
|
227
|
+
|
|
228
|
+
DON'T PAGINATE WHEN:
|
|
229
|
+
1. **Exploratory sampling is sufficient** ("What's in this database?" → 7 tables is a good sample)
|
|
230
|
+
2. **You already have enough data** to answer the question (don't fetch more just because hasMore: true)
|
|
231
|
+
3. **You can refine the search** instead (search by topic, schema, name)
|
|
232
|
+
|
|
233
|
+
REMEMBER: Pagination is a tool, not a last resort. Use it whenever you need more data.
|
|
234
|
+
|
|
235
|
+
TWO COMMON PATTERNS:
|
|
236
|
+
|
|
237
|
+
1. **EXPLORATORY** (user discovering):
|
|
238
|
+
→ Return representative sample
|
|
239
|
+
→ Let user know they can see more if needed
|
|
240
|
+
→ Example: "Found 7 of 100+ tables. Here's a sample: [list]. Would you like to see more, or search for specific types?"
|
|
241
|
+
|
|
242
|
+
2. **EXHAUSTIVE** (user wants complete data):
|
|
243
|
+
→ Use pagination to get all results
|
|
244
|
+
→ Continue until hasMore: false
|
|
245
|
+
→ Example: User says "all" → Paginate through everything
|
|
246
|
+
|
|
247
|
+
ONLY use this when results are truncated AND you cannot make your search pattern more specific
|
|
248
|
+
- FIRST try: More specific patterns (search by topic, schema, or specific names)
|
|
249
|
+
- LAST resort: Pagination through all results
|
|
250
|
+
|
|
251
|
+
How it works:
|
|
252
|
+
1. First call returns: { matches: [...], stoppedAt: 7, totalCount: 100, hasMore: true }
|
|
253
|
+
2. Next call: Use startIndex: 7 to continue from where it stopped
|
|
254
|
+
3. Repeat until hasMore: false
|
|
255
|
+
|
|
256
|
+
Examples:
|
|
257
|
+
✅ GOOD: Search for "user" tables first → grepPattern: '\\.tables\\[\\d+\\]\\.name = ".*user.*"'
|
|
258
|
+
✅ GOOD: Search by schema → grepPattern: '\\.tables\\[\\d+\\]\\.schema = "public"'
|
|
259
|
+
❌ AVOID: Immediately paginating through 5000 tables without trying specific searches
|
|
260
|
+
|
|
261
|
+
Only paginate when:
|
|
262
|
+
1. User explicitly asks for "all" results
|
|
263
|
+
2. No reasonable way to refine the search
|
|
264
|
+
3. You've already tried topic-based searches`),
|
|
265
|
+
}),
|
|
266
|
+
execute: async ({ integrationId, grepPattern, includeDetails = true, startIndex = 0, }) => {
|
|
267
|
+
const logger = getLogger();
|
|
268
|
+
const startTime = Date.now();
|
|
269
|
+
// Log the incoming request
|
|
270
|
+
logger.info(`[grepMetadata] Starting search for integration ${integrationId} with pattern: "${grepPattern}"`);
|
|
271
|
+
try {
|
|
272
|
+
// Fetch metadata
|
|
273
|
+
const metadata = await services.integrationStore.getMetadata(integrationId, _clark.context.peer);
|
|
274
|
+
if (!metadata) {
|
|
275
|
+
logger.warn(`[grepMetadata] No metadata found for integration ${integrationId}`);
|
|
276
|
+
return {
|
|
277
|
+
error: `No metadata found for integration ${integrationId}`,
|
|
278
|
+
matches: [],
|
|
279
|
+
totalCount: 0,
|
|
280
|
+
truncated: false,
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
// Metadata must be cached as gron file
|
|
284
|
+
if (!metadata._gronPath) {
|
|
285
|
+
logger.error(`[grepMetadata] No gron cache found for integration ${integrationId}`);
|
|
286
|
+
return {
|
|
287
|
+
error: `Metadata not cached for integration ${integrationId}. Please retry.`,
|
|
288
|
+
matches: [],
|
|
289
|
+
totalCount: 0,
|
|
290
|
+
truncated: false,
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
logger.info(`[grepMetadata] Using ripgrep on cached gron file: ${metadata._gronPath}`);
|
|
294
|
+
// Search with ripgrep using the pattern directly
|
|
295
|
+
const gronMatches = await searchGronWithRipgrep(metadata._gronPath, grepPattern);
|
|
296
|
+
// Build structured result from gron matches (with character limit)
|
|
297
|
+
const result = await buildResultFromGronMatches(metadata._gronPath, gronMatches, undefined, // No limit - character limit is the boundary
|
|
298
|
+
includeDetails, MAX_RESPONSE_CHARS, startIndex);
|
|
299
|
+
const elapsedMs = Date.now() - startTime;
|
|
300
|
+
// Truncate response if it exceeds MAX_RESPONSE_CHARS
|
|
301
|
+
// This prevents the middleware from throwing an error and allows Clark to handle it gracefully
|
|
302
|
+
let finalResult = result;
|
|
303
|
+
const resultString = JSON.stringify(result);
|
|
304
|
+
if (resultString.length > MAX_RESPONSE_CHARS) {
|
|
305
|
+
// Linear backtracking: count how many matches fit
|
|
306
|
+
let matchesKept = 0;
|
|
307
|
+
const baseResult = {
|
|
308
|
+
...result,
|
|
309
|
+
matches: [],
|
|
310
|
+
truncated: true,
|
|
311
|
+
};
|
|
312
|
+
const baseSize = JSON.stringify(baseResult).length;
|
|
313
|
+
let currentSize = baseSize;
|
|
314
|
+
for (let i = 0; i < result.matches.length; i++) {
|
|
315
|
+
const matchSize = JSON.stringify(result.matches[i]).length;
|
|
316
|
+
if (currentSize + matchSize > MAX_RESPONSE_CHARS) {
|
|
317
|
+
break; // Stop before adding this match
|
|
318
|
+
}
|
|
319
|
+
currentSize += matchSize;
|
|
320
|
+
matchesKept++;
|
|
321
|
+
}
|
|
322
|
+
// Extract pagination info from last kept result
|
|
323
|
+
const lastMatch = result.matches[matchesKept - 1];
|
|
324
|
+
const nextGlobalIndex = lastMatch?._globalIndex !== undefined
|
|
325
|
+
? lastMatch._globalIndex + 1
|
|
326
|
+
: undefined;
|
|
327
|
+
finalResult = {
|
|
328
|
+
...result,
|
|
329
|
+
matches: result.matches.slice(0, matchesKept),
|
|
330
|
+
truncated: true,
|
|
331
|
+
stoppedAt: nextGlobalIndex,
|
|
332
|
+
hasMore: true,
|
|
333
|
+
};
|
|
334
|
+
logger.info(`[grepMetadata] Truncated response from ${result.matches.length} to ${matchesKept} matches to stay under ${MAX_RESPONSE_CHARS} chars`);
|
|
335
|
+
}
|
|
336
|
+
logger.info(`[grepMetadata] Found ${result.totalCount} matches in ${elapsedMs}ms (truncated: ${finalResult.truncated})`);
|
|
337
|
+
logger.info(`[grepMetadata] Returning ${finalResult.matches.length} matches (truncated: ${finalResult.truncated})`);
|
|
338
|
+
// Add helpful suggestions based on results
|
|
339
|
+
let suggestion = finalResult.suggestion;
|
|
340
|
+
if (finalResult.totalCount === 0) {
|
|
341
|
+
// No results - suggest broadening the pattern
|
|
342
|
+
suggestion = `No matches found. Try: 1) Broaden your regex (use .* instead of specific text), 2) Check spelling, 3) Try different field names (name, operationId, summary)`;
|
|
343
|
+
}
|
|
344
|
+
else if (finalResult.truncated) {
|
|
345
|
+
// Response was truncated - guide Clark to refine first, paginate only as last resort
|
|
346
|
+
const resultType = finalResult.matches[0]?.type || "result";
|
|
347
|
+
const sampleNames = finalResult.matches
|
|
348
|
+
.slice(0, 3)
|
|
349
|
+
.map((m) => m.name);
|
|
350
|
+
const stoppedAt = finalResult.stoppedAt || finalResult.matches.length;
|
|
351
|
+
const hasMore = finalResult.hasMore !== false;
|
|
352
|
+
if (resultType === "table" || resultType === "schema") {
|
|
353
|
+
// For database results, suggest topic-based search first
|
|
354
|
+
suggestion = `Truncated: showing ${finalResult.matches.length} of ${finalResult.totalCount}+ ${resultType}s. FIRST try searching by topic (e.g., ".*user.*", ".*order.*") or schema name. ${hasMore ? `Only use startIndex: ${stoppedAt} if you need ALL results and cannot refine further.` : ""}`;
|
|
355
|
+
}
|
|
356
|
+
else if (resultType === "operation" || resultType === "path") {
|
|
357
|
+
// For API results, suggest searching by path or method
|
|
358
|
+
suggestion = `Truncated: showing ${finalResult.matches.length} of ${finalResult.totalCount}+ operations. FIRST try searching by specific paths, methods, or operation IDs. ${hasMore ? `Only use startIndex: ${stoppedAt} if you need ALL operations and cannot refine further.` : ""}`;
|
|
359
|
+
}
|
|
360
|
+
else if (resultType === "graphql_type" ||
|
|
361
|
+
resultType === "field") {
|
|
362
|
+
// For GraphQL, suggest limiting field searches
|
|
363
|
+
suggestion = `Truncated: showing ${finalResult.matches.length} of ${finalResult.totalCount}+ ${resultType}s. FIRST try searching for 1-3 specific fields or types. ${hasMore ? `Only use startIndex: ${stoppedAt} if you need ALL results and cannot refine further.` : ""}`;
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
// Generic truncation message
|
|
367
|
+
suggestion = `Truncated: showing ${finalResult.matches.length} of ${finalResult.totalCount}+ results. FIRST try more specific patterns. ${hasMore ? `Only use startIndex: ${stoppedAt} if you need ALL results and cannot refine further.` : ""}`;
|
|
368
|
+
}
|
|
369
|
+
if (sampleNames.length > 0 && startIndex === 0) {
|
|
370
|
+
suggestion += ` Examples from results: ${sampleNames.join(", ")}`;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
// Strip internal pagination fields (_globalIndex) from all matches
|
|
374
|
+
finalResult.matches = finalResult.matches.map((match) => {
|
|
375
|
+
const { _globalIndex, ...cleanMatch } = match;
|
|
376
|
+
return cleanMatch;
|
|
377
|
+
});
|
|
378
|
+
// Filter out details if not requested
|
|
379
|
+
if (!includeDetails) {
|
|
380
|
+
finalResult.matches = finalResult.matches.map((match) => {
|
|
381
|
+
// For GraphQL field/query/mutation results, keep essential properties even when includeDetails: false
|
|
382
|
+
if (match.type === "field" ||
|
|
383
|
+
match.type === "query" ||
|
|
384
|
+
match.type === "mutation") {
|
|
385
|
+
return {
|
|
386
|
+
type: match.type,
|
|
387
|
+
name: match.name,
|
|
388
|
+
typeName: match.typeName,
|
|
389
|
+
description: match.description,
|
|
390
|
+
returnType: match.returnType,
|
|
391
|
+
args: match.args,
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
// For OpenAPI operations, keep parameters and responses even when includeDetails: false
|
|
395
|
+
if (match.type === "operation") {
|
|
396
|
+
return {
|
|
397
|
+
type: match.type,
|
|
398
|
+
name: match.name,
|
|
399
|
+
method: match.method,
|
|
400
|
+
path: match.path,
|
|
401
|
+
description: match.description,
|
|
402
|
+
parameters: match.parameters,
|
|
403
|
+
requestBody: match.requestBody,
|
|
404
|
+
responses: match.responses,
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
// For other types (tables, types, etc.), use compact mode
|
|
408
|
+
return {
|
|
409
|
+
type: match.type,
|
|
410
|
+
name: match.name,
|
|
411
|
+
schema: match.schema,
|
|
412
|
+
table: match.table,
|
|
413
|
+
columnType: match.columnType,
|
|
414
|
+
fieldNames: match.fieldNames, // GraphQL compact mode
|
|
415
|
+
};
|
|
416
|
+
});
|
|
417
|
+
logger.debug(`[grepMetadata] Filtered out details from response`);
|
|
418
|
+
}
|
|
419
|
+
return {
|
|
420
|
+
...finalResult,
|
|
421
|
+
suggestion,
|
|
422
|
+
metadataType: metadata._type,
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
catch (error) {
|
|
426
|
+
logger.error(`[grepMetadata] Error searching integration ${integrationId} with pattern "${grepPattern}": ${error.message}`, { error });
|
|
427
|
+
return {
|
|
428
|
+
error: `Search failed: ${error.message}`,
|
|
429
|
+
matches: [],
|
|
430
|
+
totalCount: 0,
|
|
431
|
+
truncated: false,
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
},
|
|
435
|
+
};
|
|
436
|
+
});
|
|
437
|
+
//# sourceMappingURL=grep-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep-metadata.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/grep-metadata.ts"],"names":[],"mappings":"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"}
|