@superblocksteam/vite-plugin-file-sync 2.0.26-next.11 → 2.0.26-next.13
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/integrations/metadata/graphql-based.d.ts +14 -0
- package/dist/ai-service/integrations/metadata/graphql-based.d.ts.map +1 -0
- package/dist/ai-service/integrations/metadata/graphql-based.js +325 -0
- package/dist/ai-service/integrations/metadata/graphql-based.js.map +1 -0
- package/dist/ai-service/integrations/metadata/open-api.d.ts.map +1 -1
- package/dist/ai-service/integrations/metadata/open-api.js +3 -1
- package/dist/ai-service/integrations/metadata/open-api.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +8 -1
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/builders/dbschema-intent.d.ts +10 -0
- package/dist/ai-service/prompt-builder-service/builders/dbschema-intent.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/builders/dbschema-intent.js +90 -0
- package/dist/ai-service/prompt-builder-service/builders/dbschema-intent.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/index.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/index.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/index.js +1 -1
- package/dist/ai-service/prompt-builder-service/index.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Annotations.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.d.ts +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +2 -2
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +1 -0
- 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 +14 -0
- package/dist/ai-service/state-machine/handlers/llm-generating.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/package.json +6 -6
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IntegrationMetadata } from "./index.js";
|
|
2
|
+
import type { LLMProvider } from "../../llm/types.js";
|
|
3
|
+
export declare class GraphQLIntegrationMetadata extends IntegrationMetadata {
|
|
4
|
+
static refineMetadataForPrompt({ metadata, prompt, llmProvider, }: {
|
|
5
|
+
metadata: Record<string, any>;
|
|
6
|
+
prompt: string;
|
|
7
|
+
llmProvider: LLMProvider;
|
|
8
|
+
}): Promise<Record<string, any>>;
|
|
9
|
+
static refineDbSchema(metadata: Record<string, any>, prompt: string, llmProvider: LLMProvider): Promise<Record<string, any>>;
|
|
10
|
+
static prefilterSchemaForLLM(schema: any): any;
|
|
11
|
+
static filterGraphQLSchema(schema: any, typeNamesToKeep: string[]): any;
|
|
12
|
+
static simplifyTypeRef(typeRef: any): any;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=graphql-based.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-based.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/graphql-based.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,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;WAOnB,cAAc,CACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IA0E/B,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG;IA0G9C,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,GAAG;IA8KvE,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG;CAgB1C"}
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
import { generateObject } from "ai";
|
|
2
|
+
import ddTrace from "dd-trace";
|
|
3
|
+
import { buildGraphQlSchemaIntentPrompt } from "../../prompt-builder-service/index.js";
|
|
4
|
+
import { IntegrationMetadata } from "./index.js";
|
|
5
|
+
export class GraphQLIntegrationMetadata extends IntegrationMetadata {
|
|
6
|
+
static async refineMetadataForPrompt({ metadata, prompt, llmProvider, }) {
|
|
7
|
+
// 1. reduce size
|
|
8
|
+
// 2. ask llm to trim
|
|
9
|
+
// 3. profit
|
|
10
|
+
return await this.refineDbSchema(metadata, prompt, llmProvider);
|
|
11
|
+
}
|
|
12
|
+
static async refineDbSchema(metadata, prompt, llmProvider) {
|
|
13
|
+
const schema = metadata.graphql?.data?.__schema;
|
|
14
|
+
// skip if we have empty metadata
|
|
15
|
+
if (Object.keys(metadata).length === 0 ||
|
|
16
|
+
!schema ||
|
|
17
|
+
Object.keys(schema).length === 0) {
|
|
18
|
+
return {};
|
|
19
|
+
}
|
|
20
|
+
// get a minified version to send to the llm
|
|
21
|
+
const prefilteredSchema = this.prefilterSchemaForLLM(schema);
|
|
22
|
+
const { prompt: refineSchemaPrompt, schema: zodSchema } = buildGraphQlSchemaIntentPrompt(prompt, prefilteredSchema);
|
|
23
|
+
const { llmobs } = ddTrace;
|
|
24
|
+
const model = llmProvider.modelForTask("openApiIntent");
|
|
25
|
+
// TODO: @joeyagreco - annotate span with integration type?
|
|
26
|
+
const wrappedGenerateObject = llmobs.wrap({
|
|
27
|
+
kind: "llm",
|
|
28
|
+
name: "refineDbSchema",
|
|
29
|
+
modelName: model.modelId,
|
|
30
|
+
modelProvider: model.provider,
|
|
31
|
+
}, async (args) => {
|
|
32
|
+
const result = await generateObject(args);
|
|
33
|
+
// https://docs.datadoghq.com/llm_observability/sdk/?tab=nodejs#annotating-a-span
|
|
34
|
+
llmobs.annotate({
|
|
35
|
+
inputData: [{ role: "user", content: args.prompt }],
|
|
36
|
+
outputData: [
|
|
37
|
+
{ role: "assistant", content: JSON.stringify(result.object) },
|
|
38
|
+
],
|
|
39
|
+
metrics: {
|
|
40
|
+
input_tokens: result.usage?.promptTokens,
|
|
41
|
+
output_tokens: result.usage?.completionTokens,
|
|
42
|
+
total_tokens: result.usage?.totalTokens,
|
|
43
|
+
},
|
|
44
|
+
tags: {
|
|
45
|
+
finishReason: result.finishReason,
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
return result;
|
|
49
|
+
});
|
|
50
|
+
const result = await wrappedGenerateObject({
|
|
51
|
+
model,
|
|
52
|
+
schema: zodSchema,
|
|
53
|
+
prompt: refineSchemaPrompt,
|
|
54
|
+
});
|
|
55
|
+
const object = result.object;
|
|
56
|
+
// filter the graphql schema to only include the refined types
|
|
57
|
+
return {
|
|
58
|
+
...metadata,
|
|
59
|
+
graphql: {
|
|
60
|
+
...metadata.graphql,
|
|
61
|
+
data: {
|
|
62
|
+
...metadata.graphql.data,
|
|
63
|
+
__schema: this.filterGraphQLSchema(metadata.graphql.data.__schema, object.type_names),
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
static prefilterSchemaForLLM(schema) {
|
|
69
|
+
if (!schema?.types || !Array.isArray(schema.types)) {
|
|
70
|
+
return schema;
|
|
71
|
+
}
|
|
72
|
+
// extract only object type names and their descriptions (if short)
|
|
73
|
+
const objectTypes = schema.types
|
|
74
|
+
.filter((type) => type.kind === "OBJECT" &&
|
|
75
|
+
!type.name.startsWith("__") &&
|
|
76
|
+
type.name !== "Query" &&
|
|
77
|
+
type.name !== "Mutation" &&
|
|
78
|
+
type.name !== "Subscription")
|
|
79
|
+
.map((type) => ({
|
|
80
|
+
name: type.name,
|
|
81
|
+
...(type.description &&
|
|
82
|
+
type.description.length < 80 && {
|
|
83
|
+
description: type.description,
|
|
84
|
+
}),
|
|
85
|
+
}));
|
|
86
|
+
// include query type with its fields and arguments to preserve argument context
|
|
87
|
+
const queryType = schema.types.find((type) => type.name === "Query");
|
|
88
|
+
let queryFields = [];
|
|
89
|
+
if (queryType?.fields) {
|
|
90
|
+
queryFields = queryType.fields.map((field) => ({
|
|
91
|
+
name: field.name,
|
|
92
|
+
...(field.description &&
|
|
93
|
+
field.description.length < 100 && {
|
|
94
|
+
description: field.description,
|
|
95
|
+
}),
|
|
96
|
+
...(field.args &&
|
|
97
|
+
field.args.length > 0 && {
|
|
98
|
+
args: field.args.map((arg) => ({
|
|
99
|
+
name: arg.name,
|
|
100
|
+
type: this.simplifyTypeRef(arg.type),
|
|
101
|
+
...(arg.description &&
|
|
102
|
+
arg.description.length < 100 && {
|
|
103
|
+
description: arg.description,
|
|
104
|
+
}),
|
|
105
|
+
})),
|
|
106
|
+
}),
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
// include enum and input types that might be used in query arguments
|
|
110
|
+
const enumTypes = schema.types
|
|
111
|
+
.filter((type) => type.kind === "ENUM" && !type.name.startsWith("__"))
|
|
112
|
+
.map((type) => ({
|
|
113
|
+
name: type.name,
|
|
114
|
+
kind: type.kind,
|
|
115
|
+
...(type.description &&
|
|
116
|
+
type.description.length < 80 && {
|
|
117
|
+
description: type.description,
|
|
118
|
+
}),
|
|
119
|
+
...(type.enumValues && {
|
|
120
|
+
enumValues: type.enumValues.map((val) => ({
|
|
121
|
+
name: val.name,
|
|
122
|
+
...(val.description &&
|
|
123
|
+
val.description.length < 60 && {
|
|
124
|
+
description: val.description,
|
|
125
|
+
}),
|
|
126
|
+
})),
|
|
127
|
+
}),
|
|
128
|
+
}));
|
|
129
|
+
const inputTypes = schema.types
|
|
130
|
+
.filter((type) => type.kind === "INPUT_OBJECT" && !type.name.startsWith("__"))
|
|
131
|
+
.map((type) => ({
|
|
132
|
+
name: type.name,
|
|
133
|
+
kind: type.kind,
|
|
134
|
+
...(type.description &&
|
|
135
|
+
type.description.length < 80 && {
|
|
136
|
+
description: type.description,
|
|
137
|
+
}),
|
|
138
|
+
...(type.inputFields && {
|
|
139
|
+
inputFields: type.inputFields.map((field) => ({
|
|
140
|
+
name: field.name,
|
|
141
|
+
type: this.simplifyTypeRef(field.type),
|
|
142
|
+
...(field.description &&
|
|
143
|
+
field.description.length < 60 && {
|
|
144
|
+
description: field.description,
|
|
145
|
+
}),
|
|
146
|
+
})),
|
|
147
|
+
}),
|
|
148
|
+
}));
|
|
149
|
+
return {
|
|
150
|
+
queryType: schema.queryType,
|
|
151
|
+
mutationType: schema.mutationType,
|
|
152
|
+
subscriptionType: schema.subscriptionType,
|
|
153
|
+
objectTypes,
|
|
154
|
+
queryFields,
|
|
155
|
+
enumTypes,
|
|
156
|
+
inputTypes,
|
|
157
|
+
totalTypesInOriginalSchema: schema.types.length,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
static filterGraphQLSchema(schema, typeNamesToKeep) {
|
|
161
|
+
if (!schema?.types || !Array.isArray(schema.types)) {
|
|
162
|
+
return schema;
|
|
163
|
+
}
|
|
164
|
+
// create a set for faster lookups
|
|
165
|
+
const typesToKeep = new Set(typeNamesToKeep);
|
|
166
|
+
// always keep scalar types and introspection types as they're fundamental
|
|
167
|
+
const alwaysKeepTypes = new Set([
|
|
168
|
+
"String",
|
|
169
|
+
"Int",
|
|
170
|
+
"Float",
|
|
171
|
+
"Boolean",
|
|
172
|
+
"ID",
|
|
173
|
+
]);
|
|
174
|
+
// find types that are referenced by the types we want to keep
|
|
175
|
+
const referencedTypes = new Set();
|
|
176
|
+
const findReferencedTypes = (type) => {
|
|
177
|
+
if (!type)
|
|
178
|
+
return;
|
|
179
|
+
if (type.name && !type.name.startsWith("__")) {
|
|
180
|
+
referencedTypes.add(type.name);
|
|
181
|
+
}
|
|
182
|
+
// check fields
|
|
183
|
+
if (type.fields) {
|
|
184
|
+
type.fields.forEach((field) => {
|
|
185
|
+
if (field.type) {
|
|
186
|
+
addReferencedTypesFromTypeRef(field.type);
|
|
187
|
+
}
|
|
188
|
+
// check args
|
|
189
|
+
if (field.args) {
|
|
190
|
+
field.args.forEach((arg) => {
|
|
191
|
+
if (arg.type) {
|
|
192
|
+
addReferencedTypesFromTypeRef(arg.type);
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
// check input fields
|
|
199
|
+
if (type.inputFields) {
|
|
200
|
+
type.inputFields.forEach((inputField) => {
|
|
201
|
+
if (inputField.type) {
|
|
202
|
+
addReferencedTypesFromTypeRef(inputField.type);
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
// check interfaces
|
|
207
|
+
if (type.interfaces) {
|
|
208
|
+
type.interfaces.forEach((iface) => {
|
|
209
|
+
if (iface.name) {
|
|
210
|
+
referencedTypes.add(iface.name);
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
// check possible types (for unions)
|
|
215
|
+
if (type.possibleTypes) {
|
|
216
|
+
type.possibleTypes.forEach((possibleType) => {
|
|
217
|
+
if (possibleType.name) {
|
|
218
|
+
referencedTypes.add(possibleType.name);
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
const addReferencedTypesFromTypeRef = (typeRef) => {
|
|
224
|
+
if (!typeRef)
|
|
225
|
+
return;
|
|
226
|
+
if (typeRef.name && !typeRef.name.startsWith("__")) {
|
|
227
|
+
referencedTypes.add(typeRef.name);
|
|
228
|
+
}
|
|
229
|
+
// handle wrapped types (list, nonnull)
|
|
230
|
+
if (typeRef.ofType) {
|
|
231
|
+
addReferencedTypesFromTypeRef(typeRef.ofType);
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
// first, find all directly referenced types from the types we want to keep
|
|
235
|
+
schema.types.forEach((type) => {
|
|
236
|
+
if (typesToKeep.has(type.name)) {
|
|
237
|
+
findReferencedTypes(type);
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
// also include query type and its referenced types since it's the entry point
|
|
241
|
+
const queryType = schema.types.find((type) => type.name === "Query");
|
|
242
|
+
if (queryType) {
|
|
243
|
+
findReferencedTypes(queryType);
|
|
244
|
+
}
|
|
245
|
+
// filter types to only include:
|
|
246
|
+
// 1. types that were explicitly requested
|
|
247
|
+
// 2. types that are referenced by requested types
|
|
248
|
+
// 3. scalar types that are always needed
|
|
249
|
+
// 4. introspection types (start with __)
|
|
250
|
+
const filteredTypes = schema.types.filter((type) => {
|
|
251
|
+
return (typesToKeep.has(type.name) ||
|
|
252
|
+
referencedTypes.has(type.name) ||
|
|
253
|
+
alwaysKeepTypes.has(type.name) ||
|
|
254
|
+
type.name.startsWith("__") ||
|
|
255
|
+
type.name === "Query"); // always keep query type
|
|
256
|
+
});
|
|
257
|
+
// further strip down the filtered types to reduce size
|
|
258
|
+
const minimalTypes = filteredTypes.map((type) => {
|
|
259
|
+
// keep only essential properties for final system prompt
|
|
260
|
+
const minimalType = {
|
|
261
|
+
kind: type.kind,
|
|
262
|
+
name: type.name,
|
|
263
|
+
...(type.description &&
|
|
264
|
+
type.description.length < 100 && { description: type.description }),
|
|
265
|
+
};
|
|
266
|
+
// for object types, include field names and basic type info
|
|
267
|
+
// for query type, preserve arguments to maintain context for api generation
|
|
268
|
+
if (type.kind === "OBJECT" && type.fields) {
|
|
269
|
+
minimalType.fields = type.fields.map((field) => {
|
|
270
|
+
const minimalField = {
|
|
271
|
+
name: field.name,
|
|
272
|
+
type: this.simplifyTypeRef(field.type),
|
|
273
|
+
};
|
|
274
|
+
// preserve arguments for query type fields
|
|
275
|
+
if (type.name === "Query" && field.args && field.args.length > 0) {
|
|
276
|
+
minimalField.args = field.args.map((arg) => ({
|
|
277
|
+
name: arg.name,
|
|
278
|
+
type: this.simplifyTypeRef(arg.type),
|
|
279
|
+
...(arg.description &&
|
|
280
|
+
arg.description.length < 100 && {
|
|
281
|
+
description: arg.description,
|
|
282
|
+
}),
|
|
283
|
+
}));
|
|
284
|
+
}
|
|
285
|
+
return minimalField;
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
// for input types, include only input field names and basic type info
|
|
289
|
+
if (type.kind === "INPUT_OBJECT" && type.inputFields) {
|
|
290
|
+
minimalType.inputFields = type.inputFields.map((field) => ({
|
|
291
|
+
name: field.name,
|
|
292
|
+
type: this.simplifyTypeRef(field.type),
|
|
293
|
+
}));
|
|
294
|
+
}
|
|
295
|
+
// for enums, keep enum values but remove descriptions
|
|
296
|
+
if (type.kind === "ENUM" && type.enumValues) {
|
|
297
|
+
minimalType.enumValues = type.enumValues.map((enumValue) => ({
|
|
298
|
+
name: enumValue.name,
|
|
299
|
+
}));
|
|
300
|
+
}
|
|
301
|
+
return minimalType;
|
|
302
|
+
});
|
|
303
|
+
return {
|
|
304
|
+
queryType: schema.queryType,
|
|
305
|
+
mutationType: schema.mutationType,
|
|
306
|
+
subscriptionType: schema.subscriptionType,
|
|
307
|
+
types: minimalTypes,
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
static simplifyTypeRef(typeRef) {
|
|
311
|
+
if (!typeRef)
|
|
312
|
+
return null;
|
|
313
|
+
// simplify type reference by keeping only essential info
|
|
314
|
+
const simplified = {
|
|
315
|
+
kind: typeRef.kind,
|
|
316
|
+
...(typeRef.name && { name: typeRef.name }),
|
|
317
|
+
};
|
|
318
|
+
// recursively simplify wrapped types (nonnull, list)
|
|
319
|
+
if (typeRef.ofType) {
|
|
320
|
+
simplified.ofType = this.simplifyTypeRef(typeRef.ofType);
|
|
321
|
+
}
|
|
322
|
+
return simplified;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
//# sourceMappingURL=graphql-based.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-based.js","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/graphql-based.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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;AAEnC,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;
|
|
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;AAEnC,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;CAwD3B"}
|
|
@@ -31,7 +31,9 @@ export class OpenApiIntegrationMetadata extends IntegrationMetadata {
|
|
|
31
31
|
name: "getRelevantOpenApiPaths",
|
|
32
32
|
modelName: model.modelId,
|
|
33
33
|
modelProvider: model.provider,
|
|
34
|
-
},
|
|
34
|
+
},
|
|
35
|
+
// NOTE: @joeyagreco - should we be using args.schema here ?
|
|
36
|
+
async (args) => {
|
|
35
37
|
const result = await generateObject(args);
|
|
36
38
|
// https://docs.datadoghq.com/llm_observability/sdk/?tab=nodejs#annotating-a-span
|
|
37
39
|
llmobs.annotate({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-api.js","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/open-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA6B,MAAM,IAAI,CAAC;AAC/D,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAEjB,MAAM,2BAA2B,CAAC;AACnC,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;QACF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3B,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAExD,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CACvC;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,KAAK,CAAC,OAAO;YACxB,aAAa,EAAE,KAAK,CAAC,QAAQ;SAC9B,
|
|
1
|
+
{"version":3,"file":"open-api.js","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/open-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA6B,MAAM,IAAI,CAAC;AAC/D,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAEjB,MAAM,2BAA2B,CAAC;AACnC,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;QACF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3B,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAExD,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CACvC;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,yBAAyB;YAC/B,SAAS,EAAE,KAAK,CAAC,OAAO;YACxB,aAAa,EAAE,KAAK,CAAC,QAAQ;SAC9B;QACD,4DAA4D;QAC5D,KAAK,EAAE,IAAI,EAAsC,EAAE;YACjD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;YAE1C,iFAAiF;YACjF,MAAM,CAAC,QAAQ,CAAC;gBACd,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnD,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;iBAC9D;gBACD,OAAO,EAAE;oBACP,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY;oBACxC,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB;oBAC7C,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW;iBACxC;gBACD,IAAI,EAAE;oBACJ,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC;aACF,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,qBAAqB,CAAC;YAC7C,KAAK;YACL,MAAM;YACN,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEtF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAmC;IAEjD,8BAA8B,CAClC,WAAW,EAAE,wBAAwB,EACrC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA6B3B,mBAAmB,CAAC,EACxB,KAAK,EACL,WAAW,EACX,MAAM,EACN,WAAW,GACZ,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,WAAW,EAAE,wBAAwB,CAAC;QACtC,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,WAAW,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAqBhC,8BAA8B,CAC5B,WAAW,EAAE,wBAAwB,GACpC,OAAO,mBAAmB;IAgBvB,cAAc,CAClB,WAAW,EAAE,wBAAwB,EACrC,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAyBpC"}
|
|
@@ -2,6 +2,7 @@ import { isEmpty } from "lodash-es";
|
|
|
2
2
|
import { datasourceSdkClassByType } from "../const.js";
|
|
3
3
|
import { databaseIntegrationTypes } from "../const.js";
|
|
4
4
|
import { DatabaseIntegrationMetadata } from "./metadata/database.js";
|
|
5
|
+
import { GraphQLIntegrationMetadata } from "./metadata/graphql-based.js";
|
|
5
6
|
import { IntegrationMetadata } from "./metadata/index.js";
|
|
6
7
|
import { OpenApiIntegrationMetadata } from "./metadata/open-api.js";
|
|
7
8
|
import { TableBasedIntegrationMetadata } from "./metadata/table-based.js";
|
|
@@ -42,7 +43,7 @@ export class IntegrationStore {
|
|
|
42
43
|
};
|
|
43
44
|
}
|
|
44
45
|
const klass = this.getMetadataClassForIntegration(integration);
|
|
45
|
-
return klass.refineMetadataForPrompt({
|
|
46
|
+
return await klass.refineMetadataForPrompt({
|
|
46
47
|
metadata,
|
|
47
48
|
prompt,
|
|
48
49
|
llmProvider,
|
|
@@ -58,6 +59,9 @@ export class IntegrationStore {
|
|
|
58
59
|
if (isTableBasedIntegration(integration)) {
|
|
59
60
|
return TableBasedIntegrationMetadata;
|
|
60
61
|
}
|
|
62
|
+
if (isGraphQlIntegration(integration)) {
|
|
63
|
+
return GraphQLIntegrationMetadata;
|
|
64
|
+
}
|
|
61
65
|
return IntegrationMetadata;
|
|
62
66
|
}
|
|
63
67
|
async getOpenApiSpec(integration, clark) {
|
|
@@ -100,4 +104,7 @@ function isTableBasedIntegration(integration) {
|
|
|
100
104
|
}
|
|
101
105
|
return false;
|
|
102
106
|
}
|
|
107
|
+
function isGraphQlIntegration(integration) {
|
|
108
|
+
return integration.type === "graphqlintegration";
|
|
109
|
+
}
|
|
103
110
|
//# sourceMappingURL=store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAc1E,MAAM,OAAO,gBAAgB;IACnB,YAAY,GAAgC,EAAE,CAAC;IAEvD,KAAK,CAAC,8BAA8B,CAClC,WAAqC,EACrC,MAAc,EACd,KAAY,EACZ,MAA+B;QAE/B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;QACjC,MAAM,IAAI,GAAG,WAAW,CAAC,IAA0B,CAAC;QAEpD,IACE,CAAC,IAAI;YACL,CAAC,EAAE;YACH,CAAC,gBAAgB,CAAC;gBAChB,IAAI;aACL,CAAC,EACF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;YAC9C,KAAK;YACL,WAAW;YACX,MAAM;YACN,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;QAEH,OAAO;YACL,IAAI;YACJ,EAAE;YACF,IAAI;YACJ,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,EACxB,KAAK,EACL,WAAW,EACX,MAAM,EACN,WAAW,GAMZ;QACC,gFAAgF;QAChF,gGAAgG;QAChG,IAAI,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACpC,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAElE,QAAQ,GAAG;gBACT,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC/B,WAAW;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,16 @@ import type { SdkIntegrationTable } from "../../types.js";
|
|
|
3
3
|
type JsonDbSchema = {
|
|
4
4
|
tables: SdkIntegrationTable[];
|
|
5
5
|
};
|
|
6
|
+
export declare function buildGraphQlSchemaIntentPrompt(userPrompt: string, schema: any): {
|
|
7
|
+
prompt: string;
|
|
8
|
+
schema: z.ZodObject<{
|
|
9
|
+
type_names: z.ZodArray<z.ZodString, "many">;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
type_names: string[];
|
|
12
|
+
}, {
|
|
13
|
+
type_names: string[];
|
|
14
|
+
}>;
|
|
15
|
+
};
|
|
6
16
|
export declare function buildDbSchemaIntentPrompt(userPrompt: string, schema: JsonDbSchema): {
|
|
7
17
|
prompt: string;
|
|
8
18
|
schema: z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dbschema-intent.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/builders/dbschema-intent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"dbschema-intent.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/builders/dbschema-intent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAW1D,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B,CAAC;AA4FF,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,GAAG;;;;;;;;;EAiCZ;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,YAAY;;;;;;;;;;;;;;;EAyBrB"}
|
|
@@ -15,6 +15,96 @@ function getSchema(fullSchema) {
|
|
|
15
15
|
.describe(description),
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
|
+
function getGraphQLSchema(_) {
|
|
19
|
+
const description = "The GraphQL types that the user wants to access based on their query intent";
|
|
20
|
+
// use a flexible string array that allows the llm to return any type names
|
|
21
|
+
return z.object({
|
|
22
|
+
type_names: z.array(z.string().min(1)).describe(description),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function createMinimalSchemaDigest(schema) {
|
|
26
|
+
if (!schema?.types)
|
|
27
|
+
return { objectTypes: [], totalTypes: 0 };
|
|
28
|
+
// extract only the essential information for each type
|
|
29
|
+
const digest = schema.types
|
|
30
|
+
.filter((type) => !type.name.startsWith("__")) // skip introspection types
|
|
31
|
+
.map((type) => {
|
|
32
|
+
const basicInfo = {
|
|
33
|
+
name: type.name,
|
|
34
|
+
kind: type.kind,
|
|
35
|
+
};
|
|
36
|
+
// add description if it exists and is short
|
|
37
|
+
if (type.description && type.description.length < 100) {
|
|
38
|
+
basicInfo.description = type.description;
|
|
39
|
+
}
|
|
40
|
+
// for object types, include field names that reference other objects
|
|
41
|
+
if (type.kind === "OBJECT" && type.fields) {
|
|
42
|
+
const objectFields = type.fields
|
|
43
|
+
.filter((field) => {
|
|
44
|
+
// only include fields that reference other object types
|
|
45
|
+
const fieldType = getBaseType(field.type);
|
|
46
|
+
return (fieldType.kind === "OBJECT" && !fieldType.name.startsWith("__"));
|
|
47
|
+
})
|
|
48
|
+
.map((field) => ({
|
|
49
|
+
name: field.name,
|
|
50
|
+
type: getBaseType(field.type).name,
|
|
51
|
+
}));
|
|
52
|
+
if (objectFields.length > 0) {
|
|
53
|
+
basicInfo.relationships = objectFields;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return basicInfo;
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
types: digest,
|
|
60
|
+
summary: {
|
|
61
|
+
totalTypes: schema.types.length,
|
|
62
|
+
objectTypes: digest.filter((t) => t.kind === "OBJECT")
|
|
63
|
+
.length,
|
|
64
|
+
interfaces: digest.filter((t) => t.kind === "INTERFACE")
|
|
65
|
+
.length,
|
|
66
|
+
enums: digest.filter((t) => t.kind === "ENUM").length,
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function getBaseType(type) {
|
|
71
|
+
// unwrap nonnull and list wrappers to get the base type
|
|
72
|
+
if (type.ofType) {
|
|
73
|
+
return getBaseType(type.ofType);
|
|
74
|
+
}
|
|
75
|
+
return type;
|
|
76
|
+
}
|
|
77
|
+
export function buildGraphQlSchemaIntentPrompt(userPrompt, schema) {
|
|
78
|
+
// handle both prefiltered schema and raw schema formats
|
|
79
|
+
let objectTypeNames;
|
|
80
|
+
if (schema.objectTypes && Array.isArray(schema.objectTypes)) {
|
|
81
|
+
// prefiltered schema format
|
|
82
|
+
objectTypeNames = schema.objectTypes.map((t) => t.name);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
// raw schema format - create digest
|
|
86
|
+
const schemaDigest = createMinimalSchemaDigest(schema);
|
|
87
|
+
objectTypeNames = schemaDigest.types
|
|
88
|
+
.filter((t) => t.kind === "OBJECT")
|
|
89
|
+
.map((t) => t.name);
|
|
90
|
+
}
|
|
91
|
+
const prompt = `You are a GraphQL schema analyst. Your task is to identify which object types are needed for a user's request.
|
|
92
|
+
|
|
93
|
+
**Available Object Types:** ${objectTypeNames.join(", ")}
|
|
94
|
+
|
|
95
|
+
**User Request:** ${userPrompt}
|
|
96
|
+
|
|
97
|
+
**Instructions:**
|
|
98
|
+
- Return ALL object types that may be involved in fulfilling this request, including types used in nested fields or relationships (e.g. state, assignee, labels, etc.)
|
|
99
|
+
- Be inclusive — when in doubt, include the type
|
|
100
|
+
- Do NOT include scalar, input, or enum types (these are handled automatically)
|
|
101
|
+
|
|
102
|
+
**Response format:** {"type_names": ["Type1", "Type2", "Type3", "Type4", "Type5"]}`;
|
|
103
|
+
return {
|
|
104
|
+
prompt,
|
|
105
|
+
schema: getGraphQLSchema(schema),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
18
108
|
export function buildDbSchemaIntentPrompt(userPrompt, schema) {
|
|
19
109
|
const prompt = `You are a classification agent that has the sole responsibility of understanding the user's intent based on a database schema and the user's prompt.
|
|
20
110
|
Your sole task is to return a list of tables the user wants to access.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dbschema-intent.js","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/builders/dbschema-intent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"dbschema-intent.js","sourceRoot":"","sources":["../../../../src/ai-service/prompt-builder-service/builders/dbschema-intent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { buildCodeGenerationSystemPrompt } from "./builders/code-generation.js";
|
|
2
2
|
export { buildOpenAPIIntentPrompt } from "./builders/openapi-intent.js";
|
|
3
|
-
export { buildDbSchemaIntentPrompt } from "./builders/dbschema-intent.js";
|
|
3
|
+
export { buildDbSchemaIntentPrompt, buildGraphQlSchemaIntentPrompt, } from "./builders/dbschema-intent.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai-service/prompt-builder-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai-service/prompt-builder-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { buildCodeGenerationSystemPrompt } from "./builders/code-generation.js";
|
|
2
2
|
export { buildOpenAPIIntentPrompt } from "./builders/openapi-intent.js";
|
|
3
|
-
export { buildDbSchemaIntentPrompt } from "./builders/dbschema-intent.js";
|
|
3
|
+
export { buildDbSchemaIntentPrompt, buildGraphQlSchemaIntentPrompt, } from "./builders/dbschema-intent.js";
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai-service/prompt-builder-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai-service/prompt-builder-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
// Auto-generated from ButtonPropsDocs.md
|
|
3
3
|
// Do not edit this file directly
|
|
4
|
-
// Generated at: 2025-08-22T20:
|
|
4
|
+
// Generated at: 2025-08-22T20:58:50.712Z
|
|
5
5
|
export const content = "## Button\n\nThe following is the type definition for the Button component.\n\n```typescript\ninterface ButtonProps {\n /** The text displayed on the button */\n label?: string;\n /** Sets the internal spacing around the component's content */\n /** @default {\"left\":{\"mode\":\"px\",\"value\":10},\"right\":{\"mode\":\"px\",\"value\":10},\"top\":{\"mode\":\"px\",\"value\":8},\"bottom\":{\"mode\":\"px\",\"value\":8}} */\n padding?: { left: Dim; right: Dim; top: Dim; bottom: Dim };\n /** Sets the width of the component */\n width?: Dim;\n /** Sets the height of the component */\n height?: Dim;\n /** Controls the min width dimension of the component */\n minWidth?: Dim;\n /** Controls the max width dimension of the component */\n maxWidth?: Dim;\n /** Controls the min height dimension of the component */\n minHeight?: Dim;\n /** Controls the max height dimension of the component */\n maxHeight?: Dim;\n /** Sets the external spacing around the component */\n /** @default {\"top\":{\"mode\":\"px\",\"value\":0},\"bottom\":{\"mode\":\"px\",\"value\":0},\"left\":{\"mode\":\"px\",\"value\":0},\"right\":{\"mode\":\"px\",\"value\":0}} */\n margin?: { left: Dim; right: Dim; top: Dim; bottom: Dim };\n /** Controls whether the component is visible on the page */\n /** @default true */\n isVisible?: boolean;\n /** The visual style variant of the button (primary, secondary, or tertiary) */\n /** @default \"primary\" */\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n /** The icon displayed on the button */\n icon?: string;\n /** The position of the icon relative to the button text (left or right) */\n /** @default \"left\" */\n iconPosition?: \"left\" | \"right\";\n /** Configures the text styling including font family, size, weight, color, and other typography properties */\n /** @default \"Computed at runtime\" */\n textStyle?: TextStyleWithVariant;\n /** Allows selection of a color value using a color picker interface */\n /** @default \"Computed at runtime\" */\n backgroundColor?: string;\n /** Component border styling including color, width, and style for all sides */\n /** @default {\"left\":{\"width\":{\"mode\":\"px\",\"value\":1},\"style\":\"solid\",\"color\":\"transparent\"},\"right\":{\"width\":{\"mode\":\"px\",\"value\":1},\"style\":\"solid\",\"color\":\"transparent\"},\"top\":{\"width\":{\"mode\":\"px\",\"value\":1},\"style\":\"solid\",\"color\":\"transparent\"},\"bottom\":{\"width\":{\"mode\":\"px\",\"value\":1},\"style\":\"solid\",\"color\":\"transparent\"}} */\n border?: { left: Border; right: Border; top: Border; bottom: Border };\n /** Component border radius settings for each corner (top-left, top-right, bottom-right, bottom-left) */\n /** @default \"Computed at runtime\" */\n borderRadius?: {\n topLeft: Dim;\n topRight: Dim;\n bottomLeft: Dim;\n bottomRight: Dim;\n };\n /** The horizontal alignment of the button content (left, center, or right) */\n /** @default \"center\" */\n horizontalAlign?: \"left\" | \"center\" | \"right\";\n /** Controls the loading state of the component - off, on, or auto-detected based on data loading */\n loading?: boolean;\n /** Whether the button is disabled and cannot be clicked */\n /** @default false */\n isDisabled?: boolean;\n onClick?: EventFlow;\n}\n```\n";
|
|
6
6
|
//# sourceMappingURL=ButtonPropsDocs.js.map
|