@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
|
@@ -1,383 +0,0 @@
|
|
|
1
|
-
import { generateObject } from "ai";
|
|
2
|
-
import { getLogger } from "../../../util/logger.js";
|
|
3
|
-
import { buildGraphQlSchemaIntentPrompt } from "../../prompt-builder-service/index.js";
|
|
4
|
-
import { logLLMCallStart, callLLMWithTiming, validateLLMResult, MAX_TOKENS_PER_CHUNK, } from "./llm-utils.js";
|
|
5
|
-
import { IntegrationMetadata } from "./index.js";
|
|
6
|
-
export class GraphQLIntegrationMetadata extends IntegrationMetadata {
|
|
7
|
-
static async refineMetadataForPrompt({ metadata, prompt, llmProvider, }) {
|
|
8
|
-
// 1. reduce size
|
|
9
|
-
// 2. ask llm to trim
|
|
10
|
-
// 3. profit
|
|
11
|
-
return await this.refineDbSchema(metadata, prompt, llmProvider);
|
|
12
|
-
}
|
|
13
|
-
static async refineDbSchema(metadata, prompt, llmProvider) {
|
|
14
|
-
const schema = metadata.graphql?.data?.__schema;
|
|
15
|
-
// skip if we have empty metadata
|
|
16
|
-
if (Object.keys(metadata).length === 0 ||
|
|
17
|
-
!schema ||
|
|
18
|
-
Object.keys(schema).length === 0) {
|
|
19
|
-
return {};
|
|
20
|
-
}
|
|
21
|
-
const totalTypes = schema.types?.length || 0;
|
|
22
|
-
getLogger().info(`Starting GraphQL type filtering for ${totalTypes} types`);
|
|
23
|
-
const typeNames = new Set();
|
|
24
|
-
const schemaChunks = this.getGraphQLSchemaChunks(schema);
|
|
25
|
-
getLogger().info(`Split into ${schemaChunks.length} chunks for GraphQL metadata processing`);
|
|
26
|
-
const startTime = Date.now();
|
|
27
|
-
// TODO: should we use Promise.all instead of Promise.allSettled? (do we want to proceed on partial failures?)
|
|
28
|
-
const results = await Promise.allSettled(schemaChunks.map(async (schemaChunk) => {
|
|
29
|
-
const typeSubset = await this.graphqlTypesForPrompt(schemaChunk, prompt, llmProvider);
|
|
30
|
-
return typeSubset;
|
|
31
|
-
}));
|
|
32
|
-
const elapsedSeconds = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
33
|
-
let successCount = 0;
|
|
34
|
-
let failureCount = 0;
|
|
35
|
-
for (const result of results) {
|
|
36
|
-
if (result.status === "fulfilled") {
|
|
37
|
-
successCount++;
|
|
38
|
-
for (const typeName of result.value) {
|
|
39
|
-
typeNames.add(typeName);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
failureCount++;
|
|
44
|
-
getLogger().warn(`Failed to refine GraphQL metadata chunk: ${result.reason}`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
getLogger().info(`GraphQL metadata refinement completed in ${elapsedSeconds}s: ${successCount} chunks succeeded, ${failureCount} chunks failed, ${typeNames.size} relevant types found.`);
|
|
48
|
-
// If all chunks failed, throw an error
|
|
49
|
-
if (successCount === 0 && failureCount > 0) {
|
|
50
|
-
throw new Error(`All ${failureCount} GraphQL metadata refinement chunks failed.`);
|
|
51
|
-
}
|
|
52
|
-
// filter the graphql schema to only include the refined types
|
|
53
|
-
return {
|
|
54
|
-
...metadata,
|
|
55
|
-
graphql: {
|
|
56
|
-
...metadata.graphql,
|
|
57
|
-
data: {
|
|
58
|
-
...metadata.graphql.data,
|
|
59
|
-
__schema: this.filterGraphQLSchema(metadata.graphql.data.__schema, Array.from(typeNames)),
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
static async graphqlTypesForPrompt(schema, prompt, llmProvider) {
|
|
65
|
-
// get a minified version to send to the llm
|
|
66
|
-
const prefilteredSchema = this.prefilterSchemaForLLM(schema);
|
|
67
|
-
const { prompt: refineSchemaPrompt, schema: zodSchema } = buildGraphQlSchemaIntentPrompt(prompt, prefilteredSchema);
|
|
68
|
-
const model = llmProvider.modelForTask("openApiIntent");
|
|
69
|
-
logLLMCallStart(refineSchemaPrompt, model.modelId, model.provider);
|
|
70
|
-
const { result } = await callLLMWithTiming("GraphQL schema refinement", "refineDbSchema", model.modelId, model.provider, async () => {
|
|
71
|
-
const result = await generateObject({
|
|
72
|
-
model,
|
|
73
|
-
schema: zodSchema,
|
|
74
|
-
prompt: refineSchemaPrompt,
|
|
75
|
-
});
|
|
76
|
-
return result;
|
|
77
|
-
});
|
|
78
|
-
if (!validateLLMResult("GraphQL schema refinement", result?.object, "type_names")) {
|
|
79
|
-
return [];
|
|
80
|
-
}
|
|
81
|
-
// Filter to only include types that exist in this chunk
|
|
82
|
-
const validChunkTypeNames = new Set(schema.types?.map((t) => t.name).filter(Boolean) || []);
|
|
83
|
-
const filteredTypes = result.object.type_names.filter((typeName) => {
|
|
84
|
-
return validChunkTypeNames.has(typeName);
|
|
85
|
-
});
|
|
86
|
-
return filteredTypes;
|
|
87
|
-
}
|
|
88
|
-
static prefilterSchemaForLLM(schema) {
|
|
89
|
-
if (!schema?.types || !Array.isArray(schema.types)) {
|
|
90
|
-
return schema;
|
|
91
|
-
}
|
|
92
|
-
// extract only object type names and their descriptions (if short)
|
|
93
|
-
const objectTypes = schema.types
|
|
94
|
-
.filter((type) => type.kind === "OBJECT" &&
|
|
95
|
-
!type.name.startsWith("__") &&
|
|
96
|
-
type.name !== "Query" &&
|
|
97
|
-
type.name !== "Mutation" &&
|
|
98
|
-
type.name !== "Subscription")
|
|
99
|
-
.map((type) => ({
|
|
100
|
-
name: type.name,
|
|
101
|
-
...(type.description &&
|
|
102
|
-
type.description.length < 80 && {
|
|
103
|
-
description: type.description,
|
|
104
|
-
}),
|
|
105
|
-
}));
|
|
106
|
-
// include query type with its fields and arguments to preserve argument context
|
|
107
|
-
const queryType = schema.types.find((type) => type.name === "Query");
|
|
108
|
-
let queryFields = [];
|
|
109
|
-
if (queryType?.fields) {
|
|
110
|
-
queryFields = queryType.fields.map((field) => ({
|
|
111
|
-
name: field.name,
|
|
112
|
-
...(field.description &&
|
|
113
|
-
field.description.length < 100 && {
|
|
114
|
-
description: field.description,
|
|
115
|
-
}),
|
|
116
|
-
...(field.args &&
|
|
117
|
-
field.args.length > 0 && {
|
|
118
|
-
args: field.args.map((arg) => ({
|
|
119
|
-
name: arg.name,
|
|
120
|
-
type: this.simplifyTypeRef(arg.type),
|
|
121
|
-
...(arg.description &&
|
|
122
|
-
arg.description.length < 100 && {
|
|
123
|
-
description: arg.description,
|
|
124
|
-
}),
|
|
125
|
-
})),
|
|
126
|
-
}),
|
|
127
|
-
}));
|
|
128
|
-
}
|
|
129
|
-
// include enum and input types that might be used in query arguments
|
|
130
|
-
const enumTypes = schema.types
|
|
131
|
-
.filter((type) => type.kind === "ENUM" && !type.name.startsWith("__"))
|
|
132
|
-
.map((type) => ({
|
|
133
|
-
name: type.name,
|
|
134
|
-
kind: type.kind,
|
|
135
|
-
...(type.description &&
|
|
136
|
-
type.description.length < 80 && {
|
|
137
|
-
description: type.description,
|
|
138
|
-
}),
|
|
139
|
-
...(type.enumValues && {
|
|
140
|
-
enumValues: type.enumValues.map((val) => ({
|
|
141
|
-
name: val.name,
|
|
142
|
-
...(val.description &&
|
|
143
|
-
val.description.length < 60 && {
|
|
144
|
-
description: val.description,
|
|
145
|
-
}),
|
|
146
|
-
})),
|
|
147
|
-
}),
|
|
148
|
-
}));
|
|
149
|
-
const inputTypes = schema.types
|
|
150
|
-
.filter((type) => type.kind === "INPUT_OBJECT" && !type.name.startsWith("__"))
|
|
151
|
-
.map((type) => ({
|
|
152
|
-
name: type.name,
|
|
153
|
-
kind: type.kind,
|
|
154
|
-
...(type.description &&
|
|
155
|
-
type.description.length < 80 && {
|
|
156
|
-
description: type.description,
|
|
157
|
-
}),
|
|
158
|
-
...(type.inputFields && {
|
|
159
|
-
inputFields: type.inputFields.map((field) => ({
|
|
160
|
-
name: field.name,
|
|
161
|
-
type: this.simplifyTypeRef(field.type),
|
|
162
|
-
...(field.description &&
|
|
163
|
-
field.description.length < 60 && {
|
|
164
|
-
description: field.description,
|
|
165
|
-
}),
|
|
166
|
-
})),
|
|
167
|
-
}),
|
|
168
|
-
}));
|
|
169
|
-
return {
|
|
170
|
-
queryType: schema.queryType,
|
|
171
|
-
mutationType: schema.mutationType,
|
|
172
|
-
subscriptionType: schema.subscriptionType,
|
|
173
|
-
objectTypes,
|
|
174
|
-
queryFields,
|
|
175
|
-
enumTypes,
|
|
176
|
-
inputTypes,
|
|
177
|
-
totalTypesInOriginalSchema: schema.types.length,
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
static filterGraphQLSchema(schema, typeNamesToKeep) {
|
|
181
|
-
if (!schema?.types || !Array.isArray(schema.types)) {
|
|
182
|
-
return schema;
|
|
183
|
-
}
|
|
184
|
-
// create a set for faster lookups
|
|
185
|
-
const typesToKeep = new Set(typeNamesToKeep);
|
|
186
|
-
// always keep scalar types and introspection types as they're fundamental
|
|
187
|
-
const alwaysKeepTypes = new Set([
|
|
188
|
-
"String",
|
|
189
|
-
"Int",
|
|
190
|
-
"Float",
|
|
191
|
-
"Boolean",
|
|
192
|
-
"ID",
|
|
193
|
-
]);
|
|
194
|
-
// find types that are referenced by the types we want to keep
|
|
195
|
-
const referencedTypes = new Set();
|
|
196
|
-
const findReferencedTypes = (type) => {
|
|
197
|
-
if (!type)
|
|
198
|
-
return;
|
|
199
|
-
if (type.name && !type.name.startsWith("__")) {
|
|
200
|
-
referencedTypes.add(type.name);
|
|
201
|
-
}
|
|
202
|
-
// check fields
|
|
203
|
-
if (type.fields) {
|
|
204
|
-
type.fields.forEach((field) => {
|
|
205
|
-
if (field.type) {
|
|
206
|
-
addReferencedTypesFromTypeRef(field.type);
|
|
207
|
-
}
|
|
208
|
-
// check args
|
|
209
|
-
if (field.args) {
|
|
210
|
-
field.args.forEach((arg) => {
|
|
211
|
-
if (arg.type) {
|
|
212
|
-
addReferencedTypesFromTypeRef(arg.type);
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
// check input fields
|
|
219
|
-
if (type.inputFields) {
|
|
220
|
-
type.inputFields.forEach((inputField) => {
|
|
221
|
-
if (inputField.type) {
|
|
222
|
-
addReferencedTypesFromTypeRef(inputField.type);
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
// check interfaces
|
|
227
|
-
if (type.interfaces) {
|
|
228
|
-
type.interfaces.forEach((iface) => {
|
|
229
|
-
if (iface.name) {
|
|
230
|
-
referencedTypes.add(iface.name);
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
// check possible types (for unions)
|
|
235
|
-
if (type.possibleTypes) {
|
|
236
|
-
type.possibleTypes.forEach((possibleType) => {
|
|
237
|
-
if (possibleType.name) {
|
|
238
|
-
referencedTypes.add(possibleType.name);
|
|
239
|
-
}
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
};
|
|
243
|
-
const addReferencedTypesFromTypeRef = (typeRef) => {
|
|
244
|
-
if (!typeRef)
|
|
245
|
-
return;
|
|
246
|
-
if (typeRef.name && !typeRef.name.startsWith("__")) {
|
|
247
|
-
referencedTypes.add(typeRef.name);
|
|
248
|
-
}
|
|
249
|
-
// handle wrapped types (list, nonnull)
|
|
250
|
-
if (typeRef.ofType) {
|
|
251
|
-
addReferencedTypesFromTypeRef(typeRef.ofType);
|
|
252
|
-
}
|
|
253
|
-
};
|
|
254
|
-
// first, find all directly referenced types from the types we want to keep
|
|
255
|
-
schema.types.forEach((type) => {
|
|
256
|
-
if (typesToKeep.has(type.name)) {
|
|
257
|
-
findReferencedTypes(type);
|
|
258
|
-
}
|
|
259
|
-
});
|
|
260
|
-
// also include query type and its referenced types since it's the entry point
|
|
261
|
-
const queryType = schema.types.find((type) => type.name === "Query");
|
|
262
|
-
if (queryType) {
|
|
263
|
-
findReferencedTypes(queryType);
|
|
264
|
-
}
|
|
265
|
-
// filter types to only include:
|
|
266
|
-
// 1. types that were explicitly requested
|
|
267
|
-
// 2. types that are referenced by requested types
|
|
268
|
-
// 3. scalar types that are always needed
|
|
269
|
-
// 4. introspection types (start with __)
|
|
270
|
-
const filteredTypes = schema.types.filter((type) => {
|
|
271
|
-
return (typesToKeep.has(type.name) ||
|
|
272
|
-
referencedTypes.has(type.name) ||
|
|
273
|
-
alwaysKeepTypes.has(type.name) ||
|
|
274
|
-
type.name.startsWith("__") ||
|
|
275
|
-
type.name === "Query"); // always keep query type
|
|
276
|
-
});
|
|
277
|
-
// further strip down the filtered types to reduce size
|
|
278
|
-
const minimalTypes = filteredTypes.map((type) => {
|
|
279
|
-
// keep only essential properties for final system prompt
|
|
280
|
-
const minimalType = {
|
|
281
|
-
kind: type.kind,
|
|
282
|
-
name: type.name,
|
|
283
|
-
...(type.description &&
|
|
284
|
-
type.description.length < 100 && { description: type.description }),
|
|
285
|
-
};
|
|
286
|
-
// for object types, include field names and basic type info
|
|
287
|
-
// for query type, preserve arguments to maintain context for api generation
|
|
288
|
-
if (type.kind === "OBJECT" && type.fields) {
|
|
289
|
-
minimalType.fields = type.fields.map((field) => {
|
|
290
|
-
const minimalField = {
|
|
291
|
-
name: field.name,
|
|
292
|
-
type: this.simplifyTypeRef(field.type),
|
|
293
|
-
};
|
|
294
|
-
// preserve arguments for query type fields
|
|
295
|
-
if (type.name === "Query" && field.args && field.args.length > 0) {
|
|
296
|
-
minimalField.args = field.args.map((arg) => ({
|
|
297
|
-
name: arg.name,
|
|
298
|
-
type: this.simplifyTypeRef(arg.type),
|
|
299
|
-
...(arg.description &&
|
|
300
|
-
arg.description.length < 100 && {
|
|
301
|
-
description: arg.description,
|
|
302
|
-
}),
|
|
303
|
-
}));
|
|
304
|
-
}
|
|
305
|
-
return minimalField;
|
|
306
|
-
});
|
|
307
|
-
}
|
|
308
|
-
// for input types, include only input field names and basic type info
|
|
309
|
-
if (type.kind === "INPUT_OBJECT" && type.inputFields) {
|
|
310
|
-
minimalType.inputFields = type.inputFields.map((field) => ({
|
|
311
|
-
name: field.name,
|
|
312
|
-
type: this.simplifyTypeRef(field.type),
|
|
313
|
-
}));
|
|
314
|
-
}
|
|
315
|
-
// for enums, keep enum values but remove descriptions
|
|
316
|
-
if (type.kind === "ENUM" && type.enumValues) {
|
|
317
|
-
minimalType.enumValues = type.enumValues.map((enumValue) => ({
|
|
318
|
-
name: enumValue.name,
|
|
319
|
-
}));
|
|
320
|
-
}
|
|
321
|
-
return minimalType;
|
|
322
|
-
});
|
|
323
|
-
return {
|
|
324
|
-
queryType: schema.queryType,
|
|
325
|
-
mutationType: schema.mutationType,
|
|
326
|
-
subscriptionType: schema.subscriptionType,
|
|
327
|
-
types: minimalTypes,
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
|
-
static simplifyTypeRef(typeRef) {
|
|
331
|
-
if (!typeRef)
|
|
332
|
-
return null;
|
|
333
|
-
// simplify type reference by keeping only essential info
|
|
334
|
-
const simplified = {
|
|
335
|
-
kind: typeRef.kind,
|
|
336
|
-
...(typeRef.name && { name: typeRef.name }),
|
|
337
|
-
};
|
|
338
|
-
// recursively simplify wrapped types (nonnull, list)
|
|
339
|
-
if (typeRef.ofType) {
|
|
340
|
-
simplified.ofType = this.simplifyTypeRef(typeRef.ofType);
|
|
341
|
-
}
|
|
342
|
-
return simplified;
|
|
343
|
-
}
|
|
344
|
-
static getGraphQLSchemaChunks(schema) {
|
|
345
|
-
if (!schema?.types || !Array.isArray(schema.types)) {
|
|
346
|
-
return [schema];
|
|
347
|
-
}
|
|
348
|
-
const container = JSON.parse(JSON.stringify(schema));
|
|
349
|
-
const types = container.types;
|
|
350
|
-
delete container.types;
|
|
351
|
-
const chunks = [];
|
|
352
|
-
let currentChunkTypes = [];
|
|
353
|
-
let currentChunkTokens = 0;
|
|
354
|
-
const baseTokens = Math.ceil(JSON.stringify(container).length / 4);
|
|
355
|
-
for (const type of types) {
|
|
356
|
-
const typeJson = JSON.stringify(type);
|
|
357
|
-
const typeTokens = Math.ceil(typeJson.length / 4);
|
|
358
|
-
// If adding this type would exceed the limit, start a new chunk
|
|
359
|
-
if (currentChunkTokens + typeTokens + baseTokens > MAX_TOKENS_PER_CHUNK &&
|
|
360
|
-
currentChunkTypes.length > 0) {
|
|
361
|
-
chunks.push({
|
|
362
|
-
...container,
|
|
363
|
-
types: currentChunkTypes,
|
|
364
|
-
});
|
|
365
|
-
currentChunkTypes = [type];
|
|
366
|
-
currentChunkTokens = typeTokens;
|
|
367
|
-
}
|
|
368
|
-
else {
|
|
369
|
-
currentChunkTypes.push(type);
|
|
370
|
-
currentChunkTokens += typeTokens;
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
// Add the last chunk if it has types
|
|
374
|
-
if (currentChunkTypes.length > 0) {
|
|
375
|
-
chunks.push({
|
|
376
|
-
...container,
|
|
377
|
-
types: currentChunkTypes,
|
|
378
|
-
});
|
|
379
|
-
}
|
|
380
|
-
return chunks;
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
//# sourceMappingURL=graphql-based.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-based.js","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/graphql-based.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { LLMProvider } from "../../llm/types.js";
|
|
2
|
-
export declare class IntegrationMetadata {
|
|
3
|
-
static refineMetadataForPrompt({ metadata, }: {
|
|
4
|
-
metadata: Record<string, any>;
|
|
5
|
-
prompt: string;
|
|
6
|
-
llmProvider: LLMProvider;
|
|
7
|
-
}): Promise<Record<string, any>>;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,qBAAa,mBAAmB;WACV,uBAAuB,CAAC,EAC1C,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,WAAW,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAGjC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/index.ts"],"names":[],"mappings":"AAEA,0CAA0C;AAC1C,MAAM,OAAO,mBAAmB;IACvB,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAC1C,QAAQ,GAKT;QACC,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Maximum token count per schema chunk for LLM processing
|
|
3
|
-
*/
|
|
4
|
-
export declare const MAX_TOKENS_PER_CHUNK = 50000;
|
|
5
|
-
/**
|
|
6
|
-
* Estimates the token count for a prompt using a simple heuristic
|
|
7
|
-
*/
|
|
8
|
-
export declare function estimateTokenCount(prompt: string): number;
|
|
9
|
-
/**
|
|
10
|
-
* Logs LLM call information including prompt size and model details
|
|
11
|
-
*/
|
|
12
|
-
export declare function logLLMCallStart(prompt: string, modelId: string, provider: string): void;
|
|
13
|
-
/**
|
|
14
|
-
* Wrapper for LLM calls that includes timing and error handling
|
|
15
|
-
*/
|
|
16
|
-
export declare function callLLMWithTiming<T>(context: string, traceKey: string, modelId: string, provider: string, llmCall: () => Promise<T>): Promise<{
|
|
17
|
-
result: T;
|
|
18
|
-
elapsedSeconds: string;
|
|
19
|
-
}>;
|
|
20
|
-
/**
|
|
21
|
-
* Checks if LLM result is valid and logs warnings if not
|
|
22
|
-
*/
|
|
23
|
-
export declare function validateLLMResult(context: string, result: any, expectedProperty?: string): boolean;
|
|
24
|
-
//# sourceMappingURL=llm-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"llm-utils.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/llm-utils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,IAAI,CAQN;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CAShD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,GAAG,EACX,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAgBT"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { getLogger } from "../../../util/logger.js";
|
|
2
|
-
import { traceLLM } from "../../llmobs/helpers.js";
|
|
3
|
-
/**
|
|
4
|
-
* Maximum token count per schema chunk for LLM processing
|
|
5
|
-
*/
|
|
6
|
-
export const MAX_TOKENS_PER_CHUNK = 50000;
|
|
7
|
-
/**
|
|
8
|
-
* Estimates the token count for a prompt using a simple heuristic
|
|
9
|
-
*/
|
|
10
|
-
export function estimateTokenCount(prompt) {
|
|
11
|
-
return Math.ceil(prompt.length / 4);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Logs LLM call information including prompt size and model details
|
|
15
|
-
*/
|
|
16
|
-
export function logLLMCallStart(prompt, modelId, provider) {
|
|
17
|
-
const promptTokens = estimateTokenCount(prompt);
|
|
18
|
-
getLogger().info(`LLM prompt size: ~${promptTokens} tokens (${prompt.length} chars)`);
|
|
19
|
-
getLogger().info(`Calling LLM to refine schema (model: ${modelId}, provider: ${provider})`);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Wrapper for LLM calls that includes timing and error handling
|
|
23
|
-
*/
|
|
24
|
-
export async function callLLMWithTiming(context, traceKey, modelId, provider, llmCall) {
|
|
25
|
-
const startTime = Date.now();
|
|
26
|
-
const result = await traceLLM(traceKey, modelId, provider, llmCall);
|
|
27
|
-
const elapsedSeconds = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
28
|
-
getLogger().info(`${context} completed in ${elapsedSeconds}s`);
|
|
29
|
-
return { result, elapsedSeconds };
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Checks if LLM result is valid and logs warnings if not
|
|
33
|
-
*/
|
|
34
|
-
export function validateLLMResult(context, result, expectedProperty) {
|
|
35
|
-
if (!result) {
|
|
36
|
-
getLogger().warn(`No result returned from ${context}. Result: ${JSON.stringify(result)}`);
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
if (expectedProperty && !result[expectedProperty]) {
|
|
40
|
-
getLogger().warn(`No ${expectedProperty} returned from ${context}. Result: ${JSON.stringify(result)}`);
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=llm-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"llm-utils.js","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/llm-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,OAAe,EACf,QAAgB;IAEhB,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAChD,SAAS,EAAE,CAAC,IAAI,CACd,qBAAqB,YAAY,YAAY,MAAM,CAAC,MAAM,SAAS,CACpE,CAAC;IACF,SAAS,EAAE,CAAC,IAAI,CACd,wCAAwC,OAAO,eAAe,QAAQ,GAAG,CAC1E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,QAAgB,EAChB,OAAe,EACf,QAAgB,EAChB,OAAyB;IAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEpE,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpE,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,OAAO,iBAAiB,cAAc,GAAG,CAAC,CAAC;IAE/D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,MAAW,EACX,gBAAyB;IAEzB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC,IAAI,CACd,2BAA2B,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACxE,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,gBAAgB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClD,SAAS,EAAE,CAAC,IAAI,CACd,MAAM,gBAAgB,kBAAkB,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACrF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { getOpenApiSubset, type OpenApiSpec } from "../../../util/open-api.js";
|
|
2
|
-
import { IntegrationMetadata } from "./index.js";
|
|
3
|
-
import type { LLMProvider } from "../../llm/types.js";
|
|
4
|
-
export type OpenApiSubset = ReturnType<typeof getOpenApiSubset>;
|
|
5
|
-
export declare class OpenApiIntegrationMetadata extends IntegrationMetadata {
|
|
6
|
-
static refineMetadataForPrompt({ metadata, prompt, llmProvider, }: {
|
|
7
|
-
metadata: Record<string, any>;
|
|
8
|
-
prompt: string;
|
|
9
|
-
llmProvider: LLMProvider;
|
|
10
|
-
}): Promise<Record<string, any>>;
|
|
11
|
-
static getRelevantOpenApiPaths({ openApiSpec, prompt, llmProvider, }: {
|
|
12
|
-
openApiSpec: OpenApiSpec;
|
|
13
|
-
prompt: string;
|
|
14
|
-
llmProvider: LLMProvider;
|
|
15
|
-
}): Promise<OpenApiSubset>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=open-api.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"open-api.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/open-api.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAEhB,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,qBAAa,0BAA2B,SAAQ,mBAAmB;WACpC,uBAAuB,CAAC,EACnD,QAAQ,EACR,MAAM,EACN,WAAW,GACZ,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,WAAW,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;WAaZ,uBAAuB,CAAC,EAC1C,WAAW,EACX,MAAM,EACN,WAAW,GACZ,EAAE;QACD,WAAW,EAAE,WAAW,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,WAAW,CAAC;KAC1B,GAAG,OAAO,CAAC,aAAa,CAAC;CA6D3B"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { generateObject } from "ai";
|
|
2
|
-
import { getLogger, getErrorMeta } from "../../../util/logger.js";
|
|
3
|
-
import { getOpenApiSubset, getRedactedPaths, } from "../../../util/open-api.js";
|
|
4
|
-
import { traceLLM } from "../../llmobs/helpers.js";
|
|
5
|
-
import { buildOpenAPIIntentPrompt } from "../../prompt-builder-service/index.js";
|
|
6
|
-
import { IntegrationMetadata } from "./index.js";
|
|
7
|
-
export class OpenApiIntegrationMetadata extends IntegrationMetadata {
|
|
8
|
-
static async refineMetadataForPrompt({ metadata, prompt, llmProvider, }) {
|
|
9
|
-
const openApiSpec = await this.getRelevantOpenApiPaths({
|
|
10
|
-
prompt,
|
|
11
|
-
openApiSpec: metadata.openApiSpec,
|
|
12
|
-
llmProvider,
|
|
13
|
-
});
|
|
14
|
-
return {
|
|
15
|
-
...metadata,
|
|
16
|
-
openApiSpec,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
static async getRelevantOpenApiPaths({ openApiSpec, prompt, llmProvider, }) {
|
|
20
|
-
if (!openApiSpec) {
|
|
21
|
-
return {
|
|
22
|
-
paths: {},
|
|
23
|
-
components: {},
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
const redactedPaths = getRedactedPaths(openApiSpec);
|
|
27
|
-
const { prompt: openApiIntentPrompt, schema } = buildOpenAPIIntentPrompt(prompt, redactedPaths);
|
|
28
|
-
const model = llmProvider.modelForTask("openApiIntent");
|
|
29
|
-
try {
|
|
30
|
-
const result = await traceLLM("getRelevantOpenApiPaths", model.modelId, model.provider, async () => {
|
|
31
|
-
const generated = await generateObject({
|
|
32
|
-
model,
|
|
33
|
-
schema,
|
|
34
|
-
prompt: openApiIntentPrompt,
|
|
35
|
-
});
|
|
36
|
-
return generated;
|
|
37
|
-
});
|
|
38
|
-
const requestedPaths = result.object?.paths ?? {};
|
|
39
|
-
if (!requestedPaths || Object.keys(requestedPaths).length === 0) {
|
|
40
|
-
getLogger().error("[OpenApiIntegrationMetadata] LLM returned no paths, falling back to full spec", {
|
|
41
|
-
error: {
|
|
42
|
-
kind: "NoPathsReturned",
|
|
43
|
-
message: `promptSnippet=${prompt.slice(0, 100)}`,
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
return {
|
|
47
|
-
paths: openApiSpec.paths ?? {},
|
|
48
|
-
components: openApiSpec.components ?? {},
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
return getOpenApiSubset(openApiSpec, requestedPaths);
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
getLogger().error("[OpenApiIntegrationMetadata] Failed to generate OpenAPI subset, using full spec", getErrorMeta(error));
|
|
55
|
-
return {
|
|
56
|
-
paths: openApiSpec?.paths ?? {},
|
|
57
|
-
components: openApiSpec?.components ?? {},
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=open-api.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"open-api.js","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/open-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAEjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKjD,MAAM,OAAO,0BAA2B,SAAQ,mBAAmB;IAC1D,MAAM,CAAU,KAAK,CAAC,uBAAuB,CAAC,EACnD,QAAQ,EACR,MAAM,EACN,WAAW,GAKZ;QACC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC;YACrD,MAAM;YACN,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,QAAQ;YACX,WAAW;SACZ,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAC1C,WAAW,EACX,MAAM,EACN,WAAW,GAKZ;QACC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,EAAE;aACf,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,wBAAwB,CACtE,MAAM,EACN,aAAa,CACd,CAAC;QAEF,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,yBAAyB,EACzB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,IAAI,EAAE;gBACT,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC;oBACrC,KAAK;oBACL,MAAM;oBACN,MAAM,EAAE,mBAAmB;iBAC5B,CAAC,CAAC;gBAEH,OAAO,SAAS,CAAC;YACnB,CAAC,CACF,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;YAClD,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChE,SAAS,EAAE,CAAC,KAAK,CACf,+EAA+E,EAC/E;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,iBAAiB;wBACvB,OAAO,EAAE,iBAAiB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;qBACjD;iBACF,CACF,CAAC;gBACF,OAAO;oBACL,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE;oBAC9B,UAAU,EAAE,WAAW,CAAC,UAAU,IAAI,EAAE;iBACzC,CAAC;YACJ,CAAC;YAED,OAAO,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,EAAE,CAAC,KAAK,CACf,iFAAiF,EACjF,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YACF,OAAO;gBACL,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;gBAC/B,UAAU,EAAE,WAAW,EAAE,UAAU,IAAI,EAAE;aAC1C,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { IntegrationMetadata } from "./index.js";
|
|
2
|
-
import type { LLMProvider } from "../../llm/types.js";
|
|
3
|
-
export declare class TableBasedIntegrationMetadata extends IntegrationMetadata {
|
|
4
|
-
static refineMetadataForPrompt({ metadata, }: {
|
|
5
|
-
metadata: Record<string, any>;
|
|
6
|
-
prompt: string;
|
|
7
|
-
llmProvider: LLMProvider;
|
|
8
|
-
}): Promise<Record<string, any>>;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=table-based.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table-based.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/table-based.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,qBAAa,6BAA8B,SAAQ,mBAAmB;WACvC,uBAAuB,CAAC,EACnD,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,WAAW,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CA4BjC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { IntegrationMetadata } from "./index.js";
|
|
2
|
-
export class TableBasedIntegrationMetadata extends IntegrationMetadata {
|
|
3
|
-
static async refineMetadataForPrompt({ metadata, }) {
|
|
4
|
-
const schema = metadata.schema || metadata.dbSchema;
|
|
5
|
-
if (!schema || !schema.tables || !Array.isArray(schema.tables)) {
|
|
6
|
-
return metadata;
|
|
7
|
-
}
|
|
8
|
-
const normalizedTables = schema.tables.map((tableObj) => {
|
|
9
|
-
const newColumns = tableObj.columns?.map((columnObj) => ({
|
|
10
|
-
name: columnObj.name,
|
|
11
|
-
type: columnObj.type,
|
|
12
|
-
})) || [];
|
|
13
|
-
return {
|
|
14
|
-
type: tableObj.type,
|
|
15
|
-
name: tableObj.name,
|
|
16
|
-
schema: tableObj.schema,
|
|
17
|
-
columns: newColumns,
|
|
18
|
-
};
|
|
19
|
-
});
|
|
20
|
-
return {
|
|
21
|
-
schema: {
|
|
22
|
-
tables: normalizedTables,
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=table-based.js.map
|