@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
package/dist/util/open-api.js
CHANGED
|
@@ -1,115 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { getLogger } from "./logger.js";
|
|
3
|
-
/**
|
|
4
|
-
* Get the paths, but only include path, method, and summary/description
|
|
5
|
-
*/
|
|
6
|
-
export function getRedactedPaths(openApi) {
|
|
7
|
-
if (typeof openApi !== "object" || openApi === null)
|
|
8
|
-
return {};
|
|
9
|
-
const paths = openApi.paths;
|
|
10
|
-
if (!paths)
|
|
11
|
-
return {};
|
|
12
|
-
const limitedPaths = {};
|
|
13
|
-
for (const path in paths) {
|
|
14
|
-
const pathItem = paths[path];
|
|
15
|
-
if (!pathItem)
|
|
16
|
-
continue;
|
|
17
|
-
const limitedPathItem = {};
|
|
18
|
-
for (const method in pathItem) {
|
|
19
|
-
const operation = pathItem[method];
|
|
20
|
-
if (operation && typeof operation === "object") {
|
|
21
|
-
limitedPathItem[method] = {
|
|
22
|
-
...(operation.summary ? { summary: operation.summary } : {}),
|
|
23
|
-
...(operation.description
|
|
24
|
-
? { description: operation.description }
|
|
25
|
-
: {}),
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
if (Object.keys(limitedPathItem).length > 0) {
|
|
30
|
-
limitedPaths[path] = limitedPathItem;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return limitedPaths;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Only get a subset of the OpenAPI spec, based on the paths. This includes the entire path object and
|
|
37
|
-
* is useful once you know which paths you need (typically from an LLM call).
|
|
38
|
-
*/
|
|
39
|
-
export function getOpenApiSubset(openApi, paths) {
|
|
40
|
-
if (typeof openApi !== "object" || openApi === null) {
|
|
41
|
-
return {
|
|
42
|
-
paths: {},
|
|
43
|
-
components: {},
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
const specPaths = openApi.paths;
|
|
47
|
-
if (!specPaths)
|
|
48
|
-
return {
|
|
49
|
-
paths: {},
|
|
50
|
-
components: {},
|
|
51
|
-
};
|
|
52
|
-
const limitedPaths = {};
|
|
53
|
-
const limitedComponents = {};
|
|
54
|
-
const missingRefs = [];
|
|
55
|
-
for (const path of paths) {
|
|
56
|
-
const pathItem = specPaths[path];
|
|
57
|
-
if (!pathItem)
|
|
58
|
-
continue;
|
|
59
|
-
// we can recursively extract defs from the items (before compression)
|
|
60
|
-
const refs = extractRefs(pathItem);
|
|
61
|
-
for (const ref of refs) {
|
|
62
|
-
if (ref in limitedComponents)
|
|
63
|
-
continue;
|
|
64
|
-
// convert the ref to a dot path before we use it as a key, since its a weird pointer thing
|
|
65
|
-
const dotPath = ref.replace("#/", "").replaceAll("/", ".");
|
|
66
|
-
const component = get(openApi, dotPath);
|
|
67
|
-
if (component) {
|
|
68
|
-
limitedComponents[ref] = component;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
missingRefs.push(ref);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
// compress the path item by removing responses from operations
|
|
75
|
-
const compressedPathItem = {};
|
|
76
|
-
for (const method in pathItem) {
|
|
77
|
-
const operation = pathItem[method];
|
|
78
|
-
if (operation && typeof operation === "object") {
|
|
79
|
-
compressedPathItem[method] = {
|
|
80
|
-
...operation,
|
|
81
|
-
responses: [],
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
limitedPaths[path] = compressedPathItem;
|
|
86
|
-
}
|
|
87
|
-
if (missingRefs.length > 0) {
|
|
88
|
-
getLogger().warn(`Missing refs for OpenAPI spec, please check the spec: ${missingRefs.join(", ")}`);
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
paths: limitedPaths,
|
|
92
|
-
components: limitedComponents,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Extracts the ref from any object that looks like:
|
|
97
|
-
* {
|
|
98
|
-
* "$ref": "#/components/parameters/username"
|
|
99
|
-
* }
|
|
100
|
-
*/
|
|
101
|
-
function extractRefs(obj, refs = []) {
|
|
102
|
-
if (typeof obj !== "object" || obj === null)
|
|
103
|
-
return refs;
|
|
104
|
-
for (const key in obj) {
|
|
105
|
-
const value = obj[key];
|
|
106
|
-
if (typeof value === "object" && value !== null && "$ref" in value) {
|
|
107
|
-
refs.push(value.$ref);
|
|
108
|
-
}
|
|
109
|
-
if (typeof value === "object" && value !== null) {
|
|
110
|
-
extractRefs(value, refs);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return refs;
|
|
114
|
-
}
|
|
1
|
+
export {};
|
|
115
2
|
//# sourceMappingURL=open-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-api.js","sourceRoot":"","sources":["../../src/util/open-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"open-api.js","sourceRoot":"","sources":["../../src/util/open-api.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superblocksteam/vite-plugin-file-sync",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.52-next.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20.19.0",
|
|
@@ -72,13 +72,13 @@
|
|
|
72
72
|
"@lezer/python": "^1.1.15",
|
|
73
73
|
"@opentelemetry/api": "^1.9.0",
|
|
74
74
|
"@opentelemetry/api-logs": "^0.203.0",
|
|
75
|
-
"@superblocksteam/ai-service-templates": "2.0.
|
|
76
|
-
"@superblocksteam/library": "2.0.
|
|
77
|
-
"@superblocksteam/library-shared": "2.0.
|
|
78
|
-
"@superblocksteam/linter": "2.0.
|
|
79
|
-
"@superblocksteam/shared": "v0.
|
|
75
|
+
"@superblocksteam/ai-service-templates": "2.0.52-next.0",
|
|
76
|
+
"@superblocksteam/library": "2.0.52-next.0",
|
|
77
|
+
"@superblocksteam/library-shared": "2.0.52-next.0",
|
|
78
|
+
"@superblocksteam/linter": "2.0.52-next.0",
|
|
79
|
+
"@superblocksteam/shared": "v0.9545.0",
|
|
80
80
|
"@superblocksteam/types": "^0.1925.0",
|
|
81
|
-
"@superblocksteam/util": "2.0.
|
|
81
|
+
"@superblocksteam/util": "2.0.52-next.0",
|
|
82
82
|
"@typescript-eslint/parser": "^8.32.1",
|
|
83
83
|
"acorn": "^8.14.0",
|
|
84
84
|
"ai": "5.0.33",
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type JsonDbSchema } from "../../prompt-builder-service/builders/dbschema-intent.js";
|
|
2
|
-
import { TableBasedIntegrationMetadata } from "./table-based.js";
|
|
3
|
-
import type { LLMProvider } from "../../llm/types.js";
|
|
4
|
-
import type { SdkIntegrationTable } from "../../types.js";
|
|
5
|
-
export declare class DatabaseIntegrationMetadata extends TableBasedIntegrationMetadata {
|
|
6
|
-
static refineMetadataForPrompt({ metadata, prompt, llmProvider, }: {
|
|
7
|
-
metadata: Record<string, any>;
|
|
8
|
-
prompt: string;
|
|
9
|
-
llmProvider: LLMProvider;
|
|
10
|
-
}): Promise<Record<string, any>>;
|
|
11
|
-
static dbTablesForPrompt(dbSchema: JsonDbSchema, prompt: string, llmProvider: LLMProvider): Promise<string[]>;
|
|
12
|
-
static getSchemaChunks(schema: JsonDbSchema): JsonDbSchema[];
|
|
13
|
-
static trimSchema(tables: SdkIntegrationTable[], toKeep: string[]): SdkIntegrationTable[];
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=database.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/database.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,0DAA0D,CAAC;AAOlE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,qBAAa,2BAA4B,SAAQ,6BAA6B;WAC/C,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;WAsEnB,iBAAiB,CAC5B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC;IAgDpB,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,EAAE;IA2C5D,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,EAAE,MAAM,EAAE,GACf,mBAAmB,EAAE;CASzB"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { generateObject } from "ai";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
import { getLogger } from "../../../util/logger.js";
|
|
4
|
-
import { buildDbSchemaIntentPrompt, } from "../../prompt-builder-service/builders/dbschema-intent.js";
|
|
5
|
-
import { logLLMCallStart, callLLMWithTiming, validateLLMResult, MAX_TOKENS_PER_CHUNK, } from "./llm-utils.js";
|
|
6
|
-
import { TableBasedIntegrationMetadata } from "./table-based.js";
|
|
7
|
-
export class DatabaseIntegrationMetadata extends TableBasedIntegrationMetadata {
|
|
8
|
-
static async refineMetadataForPrompt({ metadata, prompt, llmProvider, }) {
|
|
9
|
-
const normalizedMetadata = await TableBasedIntegrationMetadata.refineMetadataForPrompt({
|
|
10
|
-
metadata,
|
|
11
|
-
prompt,
|
|
12
|
-
llmProvider,
|
|
13
|
-
});
|
|
14
|
-
if (!Array.isArray(normalizedMetadata?.schema?.tables)) {
|
|
15
|
-
return metadata;
|
|
16
|
-
}
|
|
17
|
-
const totalTables = normalizedMetadata.schema.tables.length;
|
|
18
|
-
getLogger().info(`Starting table filtering for ${totalTables} tables`);
|
|
19
|
-
const tables = new Set();
|
|
20
|
-
const schemaChunks = this.getSchemaChunks(normalizedMetadata.schema);
|
|
21
|
-
getLogger().info(`Split into ${schemaChunks.length} chunks for metadata processing`);
|
|
22
|
-
const startTime = Date.now();
|
|
23
|
-
// TODO: should we use Promise.all instead of Promise.allSettled? (do we want to proceed on partial failures?)
|
|
24
|
-
const results = await Promise.allSettled(schemaChunks.map(async (schemaChunk) => {
|
|
25
|
-
const tableSubset = await this.dbTablesForPrompt(schemaChunk, prompt, llmProvider);
|
|
26
|
-
return tableSubset;
|
|
27
|
-
}));
|
|
28
|
-
const elapsedSeconds = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
29
|
-
let successCount = 0;
|
|
30
|
-
let failureCount = 0;
|
|
31
|
-
for (const result of results) {
|
|
32
|
-
if (result.status === "fulfilled") {
|
|
33
|
-
successCount++;
|
|
34
|
-
for (const table of result.value) {
|
|
35
|
-
tables.add(table);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
failureCount++;
|
|
40
|
-
getLogger().warn(`Failed to refine metadata chunk: ${result.reason}`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
getLogger().info(`Metadata refinement completed in ${elapsedSeconds}s: ${successCount} chunks succeeded, ${failureCount} chunks failed, ${tables.size} relevant tables found.`);
|
|
44
|
-
// If all chunks failed, throw an error
|
|
45
|
-
if (successCount === 0 && failureCount > 0) {
|
|
46
|
-
throw new Error(`All ${failureCount} metadata refinement chunks failed.`);
|
|
47
|
-
}
|
|
48
|
-
const newTables = this.trimSchema(normalizedMetadata.schema.tables, Array.from(tables));
|
|
49
|
-
normalizedMetadata.schema.tables = newTables;
|
|
50
|
-
return normalizedMetadata;
|
|
51
|
-
}
|
|
52
|
-
static async dbTablesForPrompt(dbSchema, prompt, llmProvider) {
|
|
53
|
-
const { prompt: refineSchemaPrompt } = buildDbSchemaIntentPrompt(prompt, dbSchema);
|
|
54
|
-
const model = llmProvider.modelForTask("openApiIntent");
|
|
55
|
-
logLLMCallStart(refineSchemaPrompt, model.modelId, model.provider);
|
|
56
|
-
const flexibleSchema = z.object({
|
|
57
|
-
tables: z
|
|
58
|
-
.array(z.string())
|
|
59
|
-
.describe("The tables that the user wants to access"),
|
|
60
|
-
});
|
|
61
|
-
const { result } = await callLLMWithTiming("Database schema refinement", "refineDbSchema", model.modelId, model.provider, async () => {
|
|
62
|
-
return await generateObject({
|
|
63
|
-
model,
|
|
64
|
-
schema: flexibleSchema,
|
|
65
|
-
prompt: refineSchemaPrompt,
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
if (!validateLLMResult("Database schema refinement", result?.object, "tables")) {
|
|
69
|
-
return [];
|
|
70
|
-
}
|
|
71
|
-
// Filter to only include tables that exist in this chunk
|
|
72
|
-
const validChunkTableNames = new Set(dbSchema.tables.map((t) => t.name).filter(Boolean));
|
|
73
|
-
const filteredTables = result.object.tables.filter((tableName) => {
|
|
74
|
-
return validChunkTableNames.has(tableName);
|
|
75
|
-
});
|
|
76
|
-
return filteredTables;
|
|
77
|
-
}
|
|
78
|
-
static getSchemaChunks(schema) {
|
|
79
|
-
const container = JSON.parse(JSON.stringify(schema));
|
|
80
|
-
const tables = container.tables;
|
|
81
|
-
delete container.tables;
|
|
82
|
-
const chunks = [];
|
|
83
|
-
let currentChunkTables = [];
|
|
84
|
-
let currentChunkTokens = 0;
|
|
85
|
-
const baseTokens = Math.ceil(JSON.stringify(container).length / 4);
|
|
86
|
-
for (const table of tables) {
|
|
87
|
-
const tableJson = JSON.stringify(table);
|
|
88
|
-
const tableTokens = Math.ceil(tableJson.length / 4);
|
|
89
|
-
// If adding this table would exceed the limit, start a new chunk
|
|
90
|
-
if (currentChunkTokens + tableTokens + baseTokens > MAX_TOKENS_PER_CHUNK &&
|
|
91
|
-
currentChunkTables.length > 0) {
|
|
92
|
-
chunks.push({
|
|
93
|
-
...container,
|
|
94
|
-
tables: currentChunkTables,
|
|
95
|
-
});
|
|
96
|
-
currentChunkTables = [table];
|
|
97
|
-
currentChunkTokens = tableTokens;
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
currentChunkTables.push(table);
|
|
101
|
-
currentChunkTokens += tableTokens;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
// Add the last chunk if it has tables
|
|
105
|
-
if (currentChunkTables.length > 0) {
|
|
106
|
-
chunks.push({
|
|
107
|
-
...container,
|
|
108
|
-
tables: currentChunkTables,
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
return chunks;
|
|
112
|
-
}
|
|
113
|
-
static trimSchema(tables, toKeep) {
|
|
114
|
-
const toKeepSet = new Set(toKeep);
|
|
115
|
-
const refinedTables = tables.filter((table) => {
|
|
116
|
-
return toKeepSet.has(table.name);
|
|
117
|
-
});
|
|
118
|
-
return refinedTables;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
//# sourceMappingURL=database.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { DatabaseIntegrationMetadata } from "./database.js";
|
|
2
|
-
import type { LLMProvider } from "../../llm/types.js";
|
|
3
|
-
import type { SdkIntegrationTable } from "../../types.js";
|
|
4
|
-
export declare class DatabricksIntegrationMetadata extends DatabaseIntegrationMetadata {
|
|
5
|
-
static refineMetadataForPrompt({ metadata, prompt, llmProvider, }: {
|
|
6
|
-
metadata: Record<string, any>;
|
|
7
|
-
prompt: string;
|
|
8
|
-
llmProvider: LLMProvider;
|
|
9
|
-
}): Promise<Record<string, any>>;
|
|
10
|
-
/**
|
|
11
|
-
* Normalize Databricks table names to full qualified format (catalog.schema.table)
|
|
12
|
-
* This makes them usable by the parent's LLM filtering logic
|
|
13
|
-
*/
|
|
14
|
-
private static normalizeTableNames;
|
|
15
|
-
private static transformToHierarchical;
|
|
16
|
-
/**
|
|
17
|
-
* Override to keep full qualified names without catalog-stripping normalization
|
|
18
|
-
*/
|
|
19
|
-
static dbTablesForPrompt(dbSchema: any, prompt: string, llmProvider: any): Promise<string[]>;
|
|
20
|
-
/**
|
|
21
|
-
* Override to handle matching with full qualified names
|
|
22
|
-
*/
|
|
23
|
-
static trimSchema(tables: SdkIntegrationTable[], toKeep: string[]): SdkIntegrationTable[];
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=databricks.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"databricks.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/databricks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAY1D,qBAAa,6BAA8B,SAAQ,2BAA2B;WAC/C,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;IAsBhC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAgDlC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA6EtC;;OAEG;WACmB,iBAAiB,CACrC,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,GAAG,GACf,OAAO,CAAC,MAAM,EAAE,CAAC;IAgDpB;;OAEG;WACa,UAAU,CACxB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,MAAM,EAAE,MAAM,EAAE,GACf,mBAAmB,EAAE;CAYzB"}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { generateObject } from "ai";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
import { getLogger } from "../../../util/logger.js";
|
|
4
|
-
import { traceLLM } from "../../llmobs/helpers.js";
|
|
5
|
-
import { buildDbSchemaIntentPrompt } from "../../prompt-builder-service/builders/dbschema-intent.js";
|
|
6
|
-
import { DatabaseIntegrationMetadata } from "./database.js";
|
|
7
|
-
export class DatabricksIntegrationMetadata extends DatabaseIntegrationMetadata {
|
|
8
|
-
static async refineMetadataForPrompt({ metadata, prompt, llmProvider, }) {
|
|
9
|
-
// If no prompt provided, just do structural transformation without filtering
|
|
10
|
-
if (!prompt || prompt.trim() === "") {
|
|
11
|
-
return this.transformToHierarchical(metadata);
|
|
12
|
-
}
|
|
13
|
-
// First, normalize the Databricks table names to full qualified format
|
|
14
|
-
// so the LLM filtering works correctly
|
|
15
|
-
const normalizedMetadata = this.normalizeTableNames(metadata);
|
|
16
|
-
// Apply the parent's refinement (LLM-based table filtering, etc.)
|
|
17
|
-
// This works on the flat structure with normalized names
|
|
18
|
-
const filteredMetadata = await super.refineMetadataForPrompt({
|
|
19
|
-
metadata: normalizedMetadata,
|
|
20
|
-
prompt,
|
|
21
|
-
llmProvider,
|
|
22
|
-
});
|
|
23
|
-
// Transform the filtered result into hierarchical catalog structure
|
|
24
|
-
return this.transformToHierarchical(filteredMetadata);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Normalize Databricks table names to full qualified format (catalog.schema.table)
|
|
28
|
-
* This makes them usable by the parent's LLM filtering logic
|
|
29
|
-
*/
|
|
30
|
-
static normalizeTableNames(metadata) {
|
|
31
|
-
const schema = metadata.schema || metadata.dbSchema;
|
|
32
|
-
if (!schema || !schema.tables || !Array.isArray(schema.tables)) {
|
|
33
|
-
return metadata;
|
|
34
|
-
}
|
|
35
|
-
const normalizedTables = schema.tables.map((table) => {
|
|
36
|
-
// In the current structure:
|
|
37
|
-
// - table.schema contains the CATALOG name (e.g., "instacart")
|
|
38
|
-
// - table.name contains SCHEMA.TABLE (e.g., "default.customers")
|
|
39
|
-
const catalogName = table.schema || "default";
|
|
40
|
-
const nameParts = table.name.split(".");
|
|
41
|
-
let schemaName;
|
|
42
|
-
let tableName;
|
|
43
|
-
if (nameParts.length === 2) {
|
|
44
|
-
schemaName = nameParts[0] || "default";
|
|
45
|
-
tableName = nameParts[1] || table.name;
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
schemaName = "default";
|
|
49
|
-
tableName = table.name;
|
|
50
|
-
}
|
|
51
|
-
// Create the full qualified name
|
|
52
|
-
const fullName = `${catalogName}.${schemaName}.${tableName}`;
|
|
53
|
-
// Return table with normalized name for filtering
|
|
54
|
-
return {
|
|
55
|
-
...table,
|
|
56
|
-
name: fullName, // Use full qualified name for filtering
|
|
57
|
-
_originalCatalog: catalogName,
|
|
58
|
-
_originalSchema: schemaName,
|
|
59
|
-
_originalTableName: tableName,
|
|
60
|
-
};
|
|
61
|
-
});
|
|
62
|
-
return {
|
|
63
|
-
schema: {
|
|
64
|
-
tables: normalizedTables,
|
|
65
|
-
schemas: schema.schemas,
|
|
66
|
-
},
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
static transformToHierarchical(metadata) {
|
|
70
|
-
const schema = metadata.schema || metadata.dbSchema;
|
|
71
|
-
if (!schema || !schema.tables || !Array.isArray(schema.tables)) {
|
|
72
|
-
return metadata;
|
|
73
|
-
}
|
|
74
|
-
// Group tables by catalog and schema
|
|
75
|
-
const catalogMap = new Map();
|
|
76
|
-
for (const table of schema.tables) {
|
|
77
|
-
// If the table has been normalized, use the _original* fields
|
|
78
|
-
// Otherwise, parse from the existing structure
|
|
79
|
-
const catalogName = table._originalCatalog || table.schema || "default";
|
|
80
|
-
const schemaName = table._originalSchema || "default";
|
|
81
|
-
const tableName = table._originalTableName || table.name;
|
|
82
|
-
// Get or create catalog entry
|
|
83
|
-
if (!catalogMap.has(catalogName)) {
|
|
84
|
-
catalogMap.set(catalogName, new Map());
|
|
85
|
-
}
|
|
86
|
-
const schemaMap = catalogMap.get(catalogName);
|
|
87
|
-
// Get or create schema entry within catalog
|
|
88
|
-
if (!schemaMap.has(schemaName)) {
|
|
89
|
-
schemaMap.set(schemaName, []);
|
|
90
|
-
}
|
|
91
|
-
const tables = schemaMap.get(schemaName);
|
|
92
|
-
// Create the full qualified name for convenience
|
|
93
|
-
const fullName = `${catalogName}.${schemaName}.${tableName}`;
|
|
94
|
-
// Clean up the table object and remove temporary fields
|
|
95
|
-
const cleanTable = { ...table };
|
|
96
|
-
delete cleanTable._originalCatalog;
|
|
97
|
-
delete cleanTable._originalSchema;
|
|
98
|
-
delete cleanTable._originalTableName;
|
|
99
|
-
// Add table with updated structure
|
|
100
|
-
tables.push({
|
|
101
|
-
...cleanTable,
|
|
102
|
-
name: tableName, // Just the table name
|
|
103
|
-
schema: schemaName, // Just the schema name
|
|
104
|
-
catalog: catalogName, // Add catalog field
|
|
105
|
-
fullName, // Full qualified name for easy reference
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
// Build the hierarchical structure
|
|
109
|
-
const catalogs = [];
|
|
110
|
-
for (const [catalogName, schemaMap] of catalogMap.entries()) {
|
|
111
|
-
const schemas = [];
|
|
112
|
-
for (const [schemaName, tables] of schemaMap.entries()) {
|
|
113
|
-
schemas.push({
|
|
114
|
-
name: schemaName,
|
|
115
|
-
tables,
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
catalogs.push({
|
|
119
|
-
name: catalogName,
|
|
120
|
-
schemas,
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
return {
|
|
124
|
-
schema: {
|
|
125
|
-
catalogs,
|
|
126
|
-
},
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Override to keep full qualified names without catalog-stripping normalization
|
|
131
|
-
*/
|
|
132
|
-
static async dbTablesForPrompt(dbSchema, prompt, llmProvider) {
|
|
133
|
-
const { prompt: refineSchemaPrompt } = buildDbSchemaIntentPrompt(prompt, dbSchema);
|
|
134
|
-
const model = llmProvider.modelForTask("openApiIntent");
|
|
135
|
-
const flexibleSchema = z.object({
|
|
136
|
-
tables: z
|
|
137
|
-
.array(z.string())
|
|
138
|
-
.describe("The tables that the user wants to access"),
|
|
139
|
-
});
|
|
140
|
-
const result = await traceLLM("refineDbSchema", model.modelId, model.provider, async () => {
|
|
141
|
-
return await generateObject({
|
|
142
|
-
model,
|
|
143
|
-
schema: flexibleSchema,
|
|
144
|
-
prompt: refineSchemaPrompt,
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
|
-
if (!result?.object?.tables) {
|
|
148
|
-
getLogger().warn(`No tables returned from model. Result: ${JSON.stringify(result)}`);
|
|
149
|
-
return [];
|
|
150
|
-
}
|
|
151
|
-
// For Databricks, don't normalize - keep full qualified names (catalog.schema.table)
|
|
152
|
-
const validChunkTableNames = new Set(dbSchema.tables.map((t) => t.name).filter(Boolean));
|
|
153
|
-
// Filter to only include tables that exist in this chunk
|
|
154
|
-
// Match exactly on full qualified names
|
|
155
|
-
const filteredTables = result.object.tables.filter((tableName) => {
|
|
156
|
-
return validChunkTableNames.has(tableName);
|
|
157
|
-
});
|
|
158
|
-
return filteredTables;
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Override to handle matching with full qualified names
|
|
162
|
-
*/
|
|
163
|
-
static trimSchema(tables, toKeep) {
|
|
164
|
-
// For Databricks, match against full qualified names
|
|
165
|
-
const toKeepSet = new Set(toKeep);
|
|
166
|
-
const refinedTables = tables.filter((table) => {
|
|
167
|
-
// The table.name should be the full qualified name at this point
|
|
168
|
-
// (e.g., "instacart.default.customers")
|
|
169
|
-
return toKeepSet.has(table.name);
|
|
170
|
-
});
|
|
171
|
-
return refinedTables;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
//# sourceMappingURL=databricks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"databricks.js","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/databricks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
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 graphqlTypesForPrompt(schema: any, prompt: string, llmProvider: LLMProvider): Promise<string[]>;
|
|
11
|
-
static prefilterSchemaForLLM(schema: any): any;
|
|
12
|
-
static filterGraphQLSchema(schema: any, typeNamesToKeep: string[]): any;
|
|
13
|
-
static simplifyTypeRef(typeRef: any): any;
|
|
14
|
-
static getGraphQLSchemaChunks(schema: any): any[];
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=graphql-based.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-based.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/graphql-based.ts"],"names":[],"mappings":"AAUA,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;WA+ElB,qBAAqB,CAChC,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC;IAkDpB,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;IAiBzC,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE;CA8ClD"}
|