@superblocksteam/vite-plugin-file-sync 2.0.51 → 2.0.52-next.1

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.
Files changed (214) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +36 -7
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  4. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +28 -3
  5. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +1 -1
  6. package/dist/ai-service/agent/subagents/apis/generate-api-source.js +109 -14
  7. package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +1 -1
  8. package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts +1 -1
  9. package/dist/ai-service/agent/subagents/apis/prompt-builder.js +2 -2
  10. package/dist/ai-service/agent/subagents/apis/state.d.ts +10 -0
  11. package/dist/ai-service/agent/subagents/apis/state.d.ts.map +1 -1
  12. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +1 -1
  13. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +1 -1
  14. package/dist/ai-service/agent/subagents/apis/system-prompt.js +294 -5
  15. package/dist/ai-service/agent/subagents/apis/system-prompt.js.map +1 -1
  16. package/dist/ai-service/agent/tools/apis/build-api.d.ts +2 -0
  17. package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
  18. package/dist/ai-service/agent/tools/apis/build-api.js +95 -13
  19. package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
  20. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts.map +1 -1
  21. package/dist/ai-service/agent/tools/apis/finalize-api.js +13 -4
  22. package/dist/ai-service/agent/tools/apis/finalize-api.js.map +1 -1
  23. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  24. package/dist/ai-service/agent/tools/build-debug.js +64 -2
  25. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  26. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  27. package/dist/ai-service/agent/tools/build-edit-file.js +12 -0
  28. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  29. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  30. package/dist/ai-service/agent/tools/build-finalize.js +43 -0
  31. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  32. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  33. package/dist/ai-service/agent/tools/build-multi-edit-file.js +6 -0
  34. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  35. package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
  36. package/dist/ai-service/agent/tools/build-write-file.js +6 -0
  37. package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
  38. package/dist/ai-service/agent/tools/debug-cache.d.ts +42 -0
  39. package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
  40. package/dist/ai-service/agent/tools/debug-cache.js +121 -14
  41. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  42. package/dist/ai-service/agent/tools/index.d.ts +1 -0
  43. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  44. package/dist/ai-service/agent/tools/index.js +1 -0
  45. package/dist/ai-service/agent/tools/index.js.map +1 -1
  46. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +9 -5
  47. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
  48. package/dist/ai-service/agent/tools/integrations/execute-request.js +109 -7
  49. package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
  50. package/dist/ai-service/agent/tools/integrations/index.d.ts +1 -1
  51. package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -1
  52. package/dist/ai-service/agent/tools/integrations/index.js +1 -1
  53. package/dist/ai-service/agent/tools/integrations/index.js.map +1 -1
  54. package/dist/ai-service/agent/tools/integrations/metadata.d.ts +0 -4
  55. package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -1
  56. package/dist/ai-service/agent/tools/integrations/metadata.js +0 -44
  57. package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -1
  58. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  59. package/dist/ai-service/agent/tools.js +45 -10
  60. package/dist/ai-service/agent/tools.js.map +1 -1
  61. package/dist/ai-service/agent/tools2/access-control.d.ts +1 -1
  62. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  63. package/dist/ai-service/agent/tools2/access-control.js +14 -5
  64. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  65. package/dist/ai-service/agent/tools2/entity-permissions.d.ts +172 -0
  66. package/dist/ai-service/agent/tools2/entity-permissions.d.ts.map +1 -0
  67. package/dist/ai-service/agent/tools2/entity-permissions.js +144 -0
  68. package/dist/ai-service/agent/tools2/entity-permissions.js.map +1 -0
  69. package/dist/ai-service/agent/tools2/example.d.ts.map +1 -1
  70. package/dist/ai-service/agent/tools2/example.js +25 -6
  71. package/dist/ai-service/agent/tools2/example.js.map +1 -1
  72. package/dist/ai-service/agent/tools2/index.d.ts +4 -2
  73. package/dist/ai-service/agent/tools2/index.d.ts.map +1 -1
  74. package/dist/ai-service/agent/tools2/index.js +2 -1
  75. package/dist/ai-service/agent/tools2/index.js.map +1 -1
  76. package/dist/ai-service/agent/tools2/registry.d.ts +47 -0
  77. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  78. package/dist/ai-service/agent/tools2/registry.js +115 -19
  79. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  80. package/dist/ai-service/agent/tools2/test-utils.d.ts +7 -0
  81. package/dist/ai-service/agent/tools2/test-utils.d.ts.map +1 -0
  82. package/dist/ai-service/agent/tools2/test-utils.js +10 -0
  83. package/dist/ai-service/agent/tools2/test-utils.js.map +1 -0
  84. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -1
  85. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +17 -9
  86. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -1
  87. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +4 -1
  88. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  89. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +224 -26
  90. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  91. package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.d.ts +18 -0
  92. package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.d.ts.map +1 -0
  93. package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.js +837 -0
  94. package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.js.map +1 -0
  95. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +96 -0
  96. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts.map +1 -0
  97. package/dist/ai-service/agent/tools2/tools/grep-metadata.js +437 -0
  98. package/dist/ai-service/agent/tools2/tools/grep-metadata.js.map +1 -0
  99. package/dist/ai-service/agent/tools2/types.d.ts +116 -6
  100. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  101. package/dist/ai-service/agent/tools2/types.js +15 -0
  102. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  103. package/dist/ai-service/agent/tools2/utils.d.ts +9 -0
  104. package/dist/ai-service/agent/tools2/utils.d.ts.map +1 -0
  105. package/dist/ai-service/agent/tools2/utils.js +11 -0
  106. package/dist/ai-service/agent/tools2/utils.js.map +1 -0
  107. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  108. package/dist/ai-service/chat/chat-session-store.js +47 -1
  109. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  110. package/dist/ai-service/const.d.ts +0 -1
  111. package/dist/ai-service/const.d.ts.map +1 -1
  112. package/dist/ai-service/const.js +0 -1
  113. package/dist/ai-service/const.js.map +1 -1
  114. package/dist/ai-service/index.d.ts +11 -0
  115. package/dist/ai-service/index.d.ts.map +1 -1
  116. package/dist/ai-service/index.js +51 -3
  117. package/dist/ai-service/index.js.map +1 -1
  118. package/dist/ai-service/integrations/metadata-storage/index.d.ts +25 -0
  119. package/dist/ai-service/integrations/metadata-storage/index.d.ts.map +1 -0
  120. package/dist/ai-service/integrations/metadata-storage/index.js +2 -0
  121. package/dist/ai-service/integrations/metadata-storage/index.js.map +1 -0
  122. package/dist/ai-service/integrations/metadata-storage/local.d.ts +53 -0
  123. package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -0
  124. package/dist/ai-service/integrations/metadata-storage/local.js +315 -0
  125. package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -0
  126. package/dist/ai-service/integrations/store.d.ts +17 -14
  127. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  128. package/dist/ai-service/integrations/store.js +124 -131
  129. package/dist/ai-service/integrations/store.js.map +1 -1
  130. package/dist/ai-service/llm/utils.js +1 -1
  131. package/dist/ai-service/llm/utils.js.map +1 -1
  132. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
  133. package/dist/ai-service/llmobs/helpers.js +17 -23
  134. package/dist/ai-service/llmobs/helpers.js.map +1 -1
  135. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -1
  136. package/dist/ai-service/llmobs/middleware/stream-text.js +1 -0
  137. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
  138. package/dist/ai-service/state-machine/clark-fsm.d.ts +6 -2
  139. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  140. package/dist/ai-service/state-machine/clark-fsm.js +4 -2
  141. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  142. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  143. package/dist/ai-service/state-machine/handlers/agent-planning.js +10 -4
  144. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  145. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  146. package/dist/ai-service/state-machine/handlers/llm-generating.js +16 -7
  147. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  148. package/dist/ai-service/state-machine/handlers/post-processing.d.ts.map +1 -1
  149. package/dist/ai-service/state-machine/handlers/post-processing.js +11 -2
  150. package/dist/ai-service/state-machine/handlers/post-processing.js.map +1 -1
  151. package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts.map +1 -1
  152. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +0 -1
  153. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -1
  154. package/dist/ai-service/types.d.ts +1 -0
  155. package/dist/ai-service/types.d.ts.map +1 -1
  156. package/dist/ai-service/types.js.map +1 -1
  157. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  158. package/dist/file-sync-vite-plugin.js +12 -0
  159. package/dist/file-sync-vite-plugin.js.map +1 -1
  160. package/dist/file-system-helpers.d.ts.map +1 -1
  161. package/dist/file-system-helpers.js +1 -0
  162. package/dist/file-system-helpers.js.map +1 -1
  163. package/dist/socket-manager.d.ts.map +1 -1
  164. package/dist/socket-manager.js +6 -0
  165. package/dist/socket-manager.js.map +1 -1
  166. package/dist/sync-service/index.d.ts +8 -0
  167. package/dist/sync-service/index.d.ts.map +1 -1
  168. package/dist/sync-service/index.js +15 -0
  169. package/dist/sync-service/index.js.map +1 -1
  170. package/dist/util/open-api.d.ts +2 -46
  171. package/dist/util/open-api.d.ts.map +1 -1
  172. package/dist/util/open-api.js +1 -114
  173. package/dist/util/open-api.js.map +1 -1
  174. package/package.json +7 -7
  175. package/dist/ai-service/integrations/metadata/database.d.ts +0 -15
  176. package/dist/ai-service/integrations/metadata/database.d.ts.map +0 -1
  177. package/dist/ai-service/integrations/metadata/database.js +0 -121
  178. package/dist/ai-service/integrations/metadata/database.js.map +0 -1
  179. package/dist/ai-service/integrations/metadata/databricks.d.ts +0 -25
  180. package/dist/ai-service/integrations/metadata/databricks.d.ts.map +0 -1
  181. package/dist/ai-service/integrations/metadata/databricks.js +0 -174
  182. package/dist/ai-service/integrations/metadata/databricks.js.map +0 -1
  183. package/dist/ai-service/integrations/metadata/graphql-based.d.ts +0 -16
  184. package/dist/ai-service/integrations/metadata/graphql-based.d.ts.map +0 -1
  185. package/dist/ai-service/integrations/metadata/graphql-based.js +0 -383
  186. package/dist/ai-service/integrations/metadata/graphql-based.js.map +0 -1
  187. package/dist/ai-service/integrations/metadata/index.d.ts +0 -9
  188. package/dist/ai-service/integrations/metadata/index.d.ts.map +0 -1
  189. package/dist/ai-service/integrations/metadata/index.js +0 -7
  190. package/dist/ai-service/integrations/metadata/index.js.map +0 -1
  191. package/dist/ai-service/integrations/metadata/llm-utils.d.ts +0 -24
  192. package/dist/ai-service/integrations/metadata/llm-utils.d.ts.map +0 -1
  193. package/dist/ai-service/integrations/metadata/llm-utils.js +0 -45
  194. package/dist/ai-service/integrations/metadata/llm-utils.js.map +0 -1
  195. package/dist/ai-service/integrations/metadata/open-api.d.ts +0 -17
  196. package/dist/ai-service/integrations/metadata/open-api.d.ts.map +0 -1
  197. package/dist/ai-service/integrations/metadata/open-api.js +0 -62
  198. package/dist/ai-service/integrations/metadata/open-api.js.map +0 -1
  199. package/dist/ai-service/integrations/metadata/table-based.d.ts +0 -10
  200. package/dist/ai-service/integrations/metadata/table-based.d.ts.map +0 -1
  201. package/dist/ai-service/integrations/metadata/table-based.js +0 -27
  202. package/dist/ai-service/integrations/metadata/table-based.js.map +0 -1
  203. package/dist/ai-service/prompt-builder-service/builders/dbschema-intent.d.ts +0 -19
  204. package/dist/ai-service/prompt-builder-service/builders/dbschema-intent.d.ts.map +0 -1
  205. package/dist/ai-service/prompt-builder-service/builders/dbschema-intent.js +0 -145
  206. package/dist/ai-service/prompt-builder-service/builders/dbschema-intent.js.map +0 -1
  207. package/dist/ai-service/prompt-builder-service/builders/openapi-intent.d.ts +0 -19
  208. package/dist/ai-service/prompt-builder-service/builders/openapi-intent.d.ts.map +0 -1
  209. package/dist/ai-service/prompt-builder-service/builders/openapi-intent.js +0 -41
  210. package/dist/ai-service/prompt-builder-service/builders/openapi-intent.js.map +0 -1
  211. package/dist/ai-service/prompt-builder-service/index.d.ts +0 -3
  212. package/dist/ai-service/prompt-builder-service/index.d.ts.map +0 -1
  213. package/dist/ai-service/prompt-builder-service/index.js +0 -3
  214. 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,7 +0,0 @@
1
- // default implementation is a passthrough
2
- export class IntegrationMetadata {
3
- static async refineMetadataForPrompt({ metadata, }) {
4
- return metadata;
5
- }
6
- }
7
- //# sourceMappingURL=index.js.map
@@ -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