@superblocksteam/vite-plugin-file-sync 2.0.12-next.9 → 2.0.13-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/evals/fixtures/doordash-prompt-integrations.d.ts +43 -0
- package/dist/ai-service/evals/fixtures/doordash-prompt-integrations.d.ts.map +1 -0
- package/dist/ai-service/evals/fixtures/doordash-prompt-integrations.js +2172 -0
- package/dist/ai-service/evals/fixtures/doordash-prompt-integrations.js.map +1 -0
- package/dist/ai-service/evals/fixtures/j-and-j-prompt-integrations.d.ts +43 -0
- package/dist/ai-service/evals/fixtures/j-and-j-prompt-integrations.d.ts.map +1 -0
- package/dist/ai-service/evals/fixtures/j-and-j-prompt-integrations.js +2172 -0
- package/dist/ai-service/evals/fixtures/j-and-j-prompt-integrations.js.map +1 -0
- package/dist/ai-service/evals/fixtures/linkedin-prompt-integrations.d.ts +43 -0
- package/dist/ai-service/evals/fixtures/linkedin-prompt-integrations.d.ts.map +1 -0
- package/dist/ai-service/evals/fixtures/linkedin-prompt-integrations.js +2172 -0
- package/dist/ai-service/evals/fixtures/linkedin-prompt-integrations.js.map +1 -0
- package/dist/ai-service/evals/fixtures/pfizer-prompt-integrations.d.ts +36 -0
- package/dist/ai-service/evals/fixtures/pfizer-prompt-integrations.d.ts.map +1 -0
- package/dist/ai-service/evals/fixtures/pfizer-prompt-integrations.js +2166 -0
- package/dist/ai-service/evals/fixtures/pfizer-prompt-integrations.js.map +1 -0
- package/dist/ai-service/evals/helpers/eval-scoring.d.ts +50 -0
- package/dist/ai-service/evals/helpers/eval-scoring.d.ts.map +1 -0
- package/dist/ai-service/evals/helpers/eval-scoring.js +262 -0
- package/dist/ai-service/evals/helpers/eval-scoring.js.map +1 -0
- package/dist/ai-service/evals/helpers/index.d.ts +35 -0
- package/dist/ai-service/evals/helpers/index.d.ts.map +1 -0
- package/dist/ai-service/evals/helpers/index.js +367 -0
- package/dist/ai-service/evals/helpers/index.js.map +1 -0
- package/dist/ai-service/evals/lib/modal-config.d.ts +8 -0
- package/dist/ai-service/evals/lib/modal-config.d.ts.map +1 -0
- package/dist/ai-service/evals/lib/modal-config.js +23 -0
- package/dist/ai-service/evals/lib/modal-config.js.map +1 -0
- package/dist/ai-service/evals/load-env-vars.d.ts +2 -0
- package/dist/ai-service/evals/load-env-vars.d.ts.map +1 -0
- package/dist/ai-service/evals/load-env-vars.js +11 -0
- package/dist/ai-service/evals/load-env-vars.js.map +1 -0
- package/dist/ai-service/integration-validator.d.ts.map +1 -1
- package/dist/ai-service/integration-validator.js +0 -1
- package/dist/ai-service/integration-validator.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/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.js +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/parsing/entity/to-value-entity.d.ts.map +1 -1
- package/dist/parsing/entity/to-value-entity.js +3 -4
- package/dist/parsing/entity/to-value-entity.js.map +1 -1
- package/dist/parsing/events/index.d.ts.map +1 -1
- package/dist/parsing/events/index.js +1 -1
- package/dist/parsing/events/index.js.map +1 -1
- package/dist/parsing/events/to-code-events.d.ts.map +1 -1
- package/dist/parsing/events/to-code-events.js +36 -22
- package/dist/parsing/events/to-code-events.js.map +1 -1
- package/dist/parsing/events/to-value-events.d.ts +1 -1
- package/dist/parsing/events/to-value-events.d.ts.map +1 -1
- package/dist/parsing/events/to-value-events.js +111 -66
- package/dist/parsing/events/to-value-events.js.map +1 -1
- package/dist/refactor/entities.d.ts.map +1 -1
- package/dist/refactor/entities.js +4 -0
- package/dist/refactor/entities.js.map +1 -1
- package/dist/sb-scope-manager.d.ts.map +1 -1
- package/dist/sb-scope-manager.js +9 -0
- package/dist/sb-scope-manager.js.map +1 -1
- package/package.json +7 -6
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import { mkdir, mkdtemp, rm, writeFile, symlink } from "node:fs/promises";
|
|
4
|
+
import os from "node:os";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import superblocksLinter from "@superblocksteam/linter";
|
|
7
|
+
import ddTrace, {} from "dd-trace";
|
|
8
|
+
import { ESLint } from "eslint";
|
|
9
|
+
import { expect, beforeEach, afterEach } from "vitest";
|
|
10
|
+
import packageJson from "../../../../package.json" with { type: "json" };
|
|
11
|
+
import { OperationQueue } from "../../../util/operation-queue.js";
|
|
12
|
+
import { AppShell } from "../../app-interface/shell.js";
|
|
13
|
+
import { BoltArtifactProcessor } from "../../artifacts/bolt.js";
|
|
14
|
+
import { Paths } from "../../const.js";
|
|
15
|
+
import { matchMultiplePaths, matchPath } from "../../transform/shared.js";
|
|
16
|
+
export const waitForNextTick = () => new Promise((resolve) => setTimeout(resolve, 1000));
|
|
17
|
+
export async function wrapLLM(fn, options) {
|
|
18
|
+
if (options?.devFixture &&
|
|
19
|
+
process.env.SUPERBLOCKS_AI_SERVICE_EVALS_USE_DEV_FIXTURES === "true" &&
|
|
20
|
+
process.env.CI !== "true") {
|
|
21
|
+
console.log(`Using dev fixture: ${options.devFixture} for test: ${expect.getState().currentTestName}`);
|
|
22
|
+
const result = await readFile(path.resolve(__dirname, "../", options.devFixture), "utf8");
|
|
23
|
+
return { text: result };
|
|
24
|
+
}
|
|
25
|
+
// const llmobs = options?.llmobs ?? null;
|
|
26
|
+
const { llmobs } = ddTrace;
|
|
27
|
+
if (process.env.SUPERBLOCKS_AI_SERVICE_EVALS_TRACING_ENABLED !== "true") {
|
|
28
|
+
return fn();
|
|
29
|
+
}
|
|
30
|
+
const testName = expect.getState().currentTestName ?? "unknown-vitest-test";
|
|
31
|
+
const wrappedFn = llmobs.wrap({ name: `test:${testName}`, kind: "llm", ...options?.spanOptions }, fn);
|
|
32
|
+
return await wrappedFn();
|
|
33
|
+
}
|
|
34
|
+
export function extractArtifacts(text) {
|
|
35
|
+
const artifactProcessor = new BoltArtifactProcessor();
|
|
36
|
+
return artifactProcessor.extractFileArtifacts(text);
|
|
37
|
+
}
|
|
38
|
+
export async function readDemoAppArtifacts(patterns = ["**/*.{ts,tsx,yaml,css}", "package.json"]) {
|
|
39
|
+
const defaultAppPath = path.resolve(__dirname, "../../../../../demo-apps/code-demo-app");
|
|
40
|
+
const fsOperationQueue = new OperationQueue();
|
|
41
|
+
const appShell = new AppShell({
|
|
42
|
+
appRootDirPath: defaultAppPath,
|
|
43
|
+
fsOperationQueue,
|
|
44
|
+
});
|
|
45
|
+
return await appShell.readFiles(patterns);
|
|
46
|
+
}
|
|
47
|
+
async function writeArtifacts(artifacts, tempDir) {
|
|
48
|
+
return Promise.all(artifacts.map(async (artifact) => {
|
|
49
|
+
const fullPath = path.join(tempDir, artifact.filePath);
|
|
50
|
+
await mkdir(path.dirname(fullPath), { recursive: true });
|
|
51
|
+
await writeFile(fullPath, artifact.content);
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
export function groupArtifacts(artifacts) {
|
|
55
|
+
const pagePathMatcher = matchPath(Paths.PageIndexes);
|
|
56
|
+
const pageScopeMatcher = matchPath(Paths.PageScopes);
|
|
57
|
+
const apiPathMatcher = matchPath(Paths.GeneratedApis);
|
|
58
|
+
const componentPathsMatcher = matchMultiplePaths(Paths.ComponentsFile, Paths.ComponentsFolder);
|
|
59
|
+
return artifacts.reduce((acc, file) => {
|
|
60
|
+
const pagePathMatch = pagePathMatcher(file.filePath);
|
|
61
|
+
const pageScopeMatch = pageScopeMatcher(file.filePath);
|
|
62
|
+
const apiPathMatch = apiPathMatcher(file.filePath);
|
|
63
|
+
const componentPathsMatch = componentPathsMatcher(file.filePath);
|
|
64
|
+
if (file.filePath === Paths.PackageJson) {
|
|
65
|
+
acc.packageJson = file;
|
|
66
|
+
}
|
|
67
|
+
else if (pagePathMatch.matched) {
|
|
68
|
+
acc.pages.push({
|
|
69
|
+
...file,
|
|
70
|
+
params: pagePathMatch.params,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
else if (pageScopeMatch.matched) {
|
|
74
|
+
acc.scopes.push({
|
|
75
|
+
...file,
|
|
76
|
+
params: pageScopeMatch.params,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
else if (apiPathMatch.matched) {
|
|
80
|
+
acc.apis.push({
|
|
81
|
+
...file,
|
|
82
|
+
params: apiPathMatch.params,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
else if (componentPathsMatch.matched) {
|
|
86
|
+
acc.components.push({
|
|
87
|
+
...file,
|
|
88
|
+
params: componentPathsMatch.params,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
acc.other.push(file);
|
|
93
|
+
}
|
|
94
|
+
return acc;
|
|
95
|
+
}, {
|
|
96
|
+
packageJson: null,
|
|
97
|
+
scopes: [],
|
|
98
|
+
pages: [],
|
|
99
|
+
apis: [],
|
|
100
|
+
components: [],
|
|
101
|
+
other: [],
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
export function useTempDir() {
|
|
105
|
+
let tempDir;
|
|
106
|
+
beforeEach(async () => {
|
|
107
|
+
tempDir = await mkdtemp(path.join(os.tmpdir(), "sb-ai-evals-"));
|
|
108
|
+
});
|
|
109
|
+
afterEach(async () => {
|
|
110
|
+
await rm(tempDir, { recursive: true, force: true });
|
|
111
|
+
});
|
|
112
|
+
return (testName) => {
|
|
113
|
+
if (testName) {
|
|
114
|
+
// Create unique subdirectory for each test
|
|
115
|
+
const sanitizedTestName = testName.replace(/[^a-zA-Z0-9-]/g, "-");
|
|
116
|
+
return path.join(tempDir, sanitizedTestName);
|
|
117
|
+
}
|
|
118
|
+
return tempDir;
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
export function setupTracing() {
|
|
122
|
+
const tracingEnabled = process.env.SUPERBLOCKS_AI_SERVICE_EVALS_TRACING_ENABLED === "true";
|
|
123
|
+
if (tracingEnabled) {
|
|
124
|
+
// Initialize dd-trace for LLM Observability (like dev-tracer)
|
|
125
|
+
process.env.DD_SITE = "datadoghq.com";
|
|
126
|
+
ddTrace.init({
|
|
127
|
+
env: "test-evals",
|
|
128
|
+
service: "ai-service-evals",
|
|
129
|
+
version: packageJson.version,
|
|
130
|
+
plugins: false,
|
|
131
|
+
tags: {
|
|
132
|
+
"test.suite": "ai-evals",
|
|
133
|
+
"test.environment": "vitest",
|
|
134
|
+
},
|
|
135
|
+
llmobs: {
|
|
136
|
+
mlApp: "superblocks-ai-evals",
|
|
137
|
+
agentlessEnabled: true,
|
|
138
|
+
},
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
export async function runLinter(artifacts, tempDir) {
|
|
143
|
+
await writeArtifacts(artifacts
|
|
144
|
+
.filter(({ filePath }) => matchPath(Paths.GeneratedApis)(filePath).matched === false)
|
|
145
|
+
.concat(await readDemoAppArtifacts(["tsconfig.json"])), tempDir);
|
|
146
|
+
const eslint = new ESLint({
|
|
147
|
+
overrideConfigFile: true,
|
|
148
|
+
baseConfig: superblocksLinter
|
|
149
|
+
.config({
|
|
150
|
+
rules: {
|
|
151
|
+
"@typescript-eslint/no-unsafe-return": "off",
|
|
152
|
+
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
153
|
+
"@typescript-eslint/no-unsafe-call": "off",
|
|
154
|
+
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
155
|
+
"@typescript-eslint/no-unsafe-argument": "off",
|
|
156
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
157
|
+
},
|
|
158
|
+
}, {
|
|
159
|
+
files: ["**/*.tsx"],
|
|
160
|
+
rules: {
|
|
161
|
+
"superblocks/no-arrow-event-handlers": "warn",
|
|
162
|
+
"superblocks/no-duplicate-names": "error",
|
|
163
|
+
"superblocks/no-expression-jsx": "warn",
|
|
164
|
+
"superblocks/no-expression-props": "warn",
|
|
165
|
+
"superblocks/no-react-hooks-in-page": "warn",
|
|
166
|
+
"superblocks/no-computed-jsx-child": "error",
|
|
167
|
+
"superblocks/no-state-mutation-in-computed": "error",
|
|
168
|
+
"superblocks/no-variable-props": "warn",
|
|
169
|
+
"superblocks/wrap-bound-identifiers-computed": "error",
|
|
170
|
+
},
|
|
171
|
+
})
|
|
172
|
+
.map((configPart) => {
|
|
173
|
+
// we have to do some massaging of the superblocksLinter config
|
|
174
|
+
// to prevent typescript from complaining and to prevent eslint
|
|
175
|
+
// from balking at the loaded config during runtime
|
|
176
|
+
if (configPart &&
|
|
177
|
+
typeof configPart === "object" &&
|
|
178
|
+
"parser" in configPart) {
|
|
179
|
+
const { parser, ...rest } = configPart;
|
|
180
|
+
return {
|
|
181
|
+
...rest,
|
|
182
|
+
languageOptions: {
|
|
183
|
+
...(rest.languageOptions ?? {}),
|
|
184
|
+
parser,
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
return configPart;
|
|
189
|
+
}),
|
|
190
|
+
ignore: false,
|
|
191
|
+
cwd: tempDir,
|
|
192
|
+
});
|
|
193
|
+
const lintResults = await eslint.lintFiles(path.join(tempDir, "**/*.{ts,tsx}"));
|
|
194
|
+
const formatter = await eslint.loadFormatter("stylish");
|
|
195
|
+
const errorResults = ESLint.getErrorResults(lintResults);
|
|
196
|
+
return formatter.format(errorResults);
|
|
197
|
+
}
|
|
198
|
+
function parseLintResults(results) {
|
|
199
|
+
let totalErrors = 0;
|
|
200
|
+
let totalWarnings = 0;
|
|
201
|
+
const ruleBreakdown = {};
|
|
202
|
+
for (const result of results) {
|
|
203
|
+
totalErrors += result.errorCount;
|
|
204
|
+
totalWarnings += result.warningCount;
|
|
205
|
+
for (const message of result.messages) {
|
|
206
|
+
const ruleId = message.ruleId || "unknown";
|
|
207
|
+
if (!ruleBreakdown[ruleId]) {
|
|
208
|
+
ruleBreakdown[ruleId] = { errors: 0, warnings: 0 };
|
|
209
|
+
}
|
|
210
|
+
if (message.severity === 2) {
|
|
211
|
+
ruleBreakdown[ruleId].errors++;
|
|
212
|
+
}
|
|
213
|
+
else if (message.severity === 1) {
|
|
214
|
+
ruleBreakdown[ruleId].warnings++;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return {
|
|
219
|
+
errorCount: totalErrors,
|
|
220
|
+
warningCount: totalWarnings,
|
|
221
|
+
ruleBreakdown,
|
|
222
|
+
hasErrors: totalErrors > 0,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
export async function runLinterCLI(artifacts, tempDir) {
|
|
226
|
+
await writeArtifacts(artifacts
|
|
227
|
+
.filter(({ filePath }) => matchPath(Paths.GeneratedApis)(filePath).matched === false)
|
|
228
|
+
.concat(await readDemoAppArtifacts(["tsconfig.json"])), tempDir);
|
|
229
|
+
// Create a symlink to node_modules in the temp directory for plugin resolution
|
|
230
|
+
const projectRoot = path.resolve(__dirname, "../../../..");
|
|
231
|
+
const sourceNodeModules = path.join(projectRoot, "node_modules");
|
|
232
|
+
const tempNodeModules = path.join(tempDir, "node_modules");
|
|
233
|
+
try {
|
|
234
|
+
await symlink(sourceNodeModules, tempNodeModules, "dir");
|
|
235
|
+
}
|
|
236
|
+
catch (error) {
|
|
237
|
+
// Symlink might fail on some systems, continue without it
|
|
238
|
+
console.warn("Could not create node_modules symlink:", error);
|
|
239
|
+
}
|
|
240
|
+
// Write ESLint config file to temp directory that imports superblocksLinter
|
|
241
|
+
const configPath = path.join(tempDir, "eslint.config.cjs");
|
|
242
|
+
const configContent = `
|
|
243
|
+
const superblocksLinter = require("@superblocksteam/linter").default;
|
|
244
|
+
|
|
245
|
+
// Get the base config
|
|
246
|
+
const baseConfigs = superblocksLinter.config(
|
|
247
|
+
{
|
|
248
|
+
rules: {
|
|
249
|
+
"@typescript-eslint/no-unsafe-return": "off",
|
|
250
|
+
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
251
|
+
"@typescript-eslint/no-unsafe-call": "off",
|
|
252
|
+
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
253
|
+
"@typescript-eslint/no-unsafe-argument": "off",
|
|
254
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
255
|
+
},
|
|
256
|
+
}
|
|
257
|
+
);
|
|
258
|
+
|
|
259
|
+
module.exports = baseConfigs.map((configPart) => {
|
|
260
|
+
// we have to do some massaging of the superblocksLinter config
|
|
261
|
+
// to prevent typescript from complaining and to prevent eslint
|
|
262
|
+
// from balking at the loaded config during runtime
|
|
263
|
+
if (
|
|
264
|
+
configPart &&
|
|
265
|
+
typeof configPart === "object" &&
|
|
266
|
+
"parser" in configPart
|
|
267
|
+
) {
|
|
268
|
+
const { parser, ...rest } = configPart;
|
|
269
|
+
return {
|
|
270
|
+
...rest,
|
|
271
|
+
languageOptions: {
|
|
272
|
+
...(rest.languageOptions ?? {}),
|
|
273
|
+
parser,
|
|
274
|
+
// Disable TypeScript project service to avoid compilation issues
|
|
275
|
+
parserOptions: {
|
|
276
|
+
...(rest.languageOptions?.parserOptions ?? {}),
|
|
277
|
+
projectService: false,
|
|
278
|
+
project: false,
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
// Add superblocks rules to the config that already has the plugin defined
|
|
285
|
+
if (
|
|
286
|
+
configPart &&
|
|
287
|
+
typeof configPart === "object" &&
|
|
288
|
+
"plugins" in configPart &&
|
|
289
|
+
configPart.plugins &&
|
|
290
|
+
typeof configPart.plugins === "object" &&
|
|
291
|
+
"superblocks" in configPart.plugins
|
|
292
|
+
) {
|
|
293
|
+
return {
|
|
294
|
+
...configPart,
|
|
295
|
+
files: ["**/*.tsx"],
|
|
296
|
+
rules: {
|
|
297
|
+
...(configPart.rules || {}),
|
|
298
|
+
"superblocks/no-arrow-event-handlers": "warn",
|
|
299
|
+
"superblocks/no-duplicate-names": "error",
|
|
300
|
+
"superblocks/no-expression-jsx": "warn",
|
|
301
|
+
"superblocks/no-expression-props": "warn",
|
|
302
|
+
"superblocks/no-react-hooks-in-page": "warn",
|
|
303
|
+
"superblocks/no-computed-jsx-child": "error",
|
|
304
|
+
"superblocks/no-state-mutation-in-computed": "error",
|
|
305
|
+
"superblocks/no-variable-props": "warn",
|
|
306
|
+
"superblocks/wrap-bound-identifiers-computed": "error",
|
|
307
|
+
},
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
return configPart;
|
|
312
|
+
});
|
|
313
|
+
`;
|
|
314
|
+
await writeFile(configPath, configContent);
|
|
315
|
+
// Run ESLint CLI as separate process from temp directory
|
|
316
|
+
return new Promise((resolve, reject) => {
|
|
317
|
+
const eslintProcess = spawn("npx", [
|
|
318
|
+
"eslint",
|
|
319
|
+
"--config",
|
|
320
|
+
"eslint.config.cjs",
|
|
321
|
+
"--format",
|
|
322
|
+
"json",
|
|
323
|
+
"**/*.{ts,tsx}",
|
|
324
|
+
], {
|
|
325
|
+
cwd: tempDir,
|
|
326
|
+
stdio: "pipe",
|
|
327
|
+
});
|
|
328
|
+
let stdout = "";
|
|
329
|
+
let stderr = "";
|
|
330
|
+
eslintProcess.stdout?.on("data", (data) => {
|
|
331
|
+
stdout += data.toString();
|
|
332
|
+
});
|
|
333
|
+
eslintProcess.stderr?.on("data", (data) => {
|
|
334
|
+
stderr += data.toString();
|
|
335
|
+
});
|
|
336
|
+
eslintProcess.on("close", (code) => {
|
|
337
|
+
if (code === 0) {
|
|
338
|
+
// No lint errors or warnings
|
|
339
|
+
resolve({
|
|
340
|
+
errorCount: 0,
|
|
341
|
+
warningCount: 0,
|
|
342
|
+
ruleBreakdown: {},
|
|
343
|
+
hasErrors: false,
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
else if (code === 1) {
|
|
347
|
+
// Lint issues found, parse JSON output
|
|
348
|
+
try {
|
|
349
|
+
const results = JSON.parse(stdout);
|
|
350
|
+
const lintResult = parseLintResults(results);
|
|
351
|
+
resolve(lintResult);
|
|
352
|
+
}
|
|
353
|
+
catch (error) {
|
|
354
|
+
reject(new Error(`Failed to parse ESLint JSON output: ${error instanceof Error ? error.message : String(error)}`));
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
// ESLint failed to run
|
|
359
|
+
reject(new Error(`ESLint CLI failed with code ${code}:\n${stderr}`));
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
eslintProcess.on("error", (error) => {
|
|
363
|
+
reject(new Error(`Failed to spawn ESLint process: ${error.message}`));
|
|
364
|
+
});
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/evals/helpers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal-config.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/evals/lib/modal-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAa1C,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,gBAAgB,MAAM,KAAG,WAavD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
2
|
+
import { loadEnvVars } from "../load-env-vars.js";
|
|
3
|
+
loadEnvVars();
|
|
4
|
+
const modelClients = {
|
|
5
|
+
anthropic: createAnthropic({
|
|
6
|
+
apiKey: process.env.SUPERBLOCKS_AI_SERVICE_EVALS_ANTHROPIC_API_KEY,
|
|
7
|
+
}),
|
|
8
|
+
};
|
|
9
|
+
export const getModelConfig = (classification) => {
|
|
10
|
+
switch (classification) {
|
|
11
|
+
case "new_app":
|
|
12
|
+
return {
|
|
13
|
+
model: modelClients.anthropic("claude-4-sonnet-20250514"),
|
|
14
|
+
maxTokens: 32000,
|
|
15
|
+
};
|
|
16
|
+
default:
|
|
17
|
+
return {
|
|
18
|
+
model: modelClients.anthropic("claude-4-sonnet-20250514"),
|
|
19
|
+
maxTokens: 32000,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=modal-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal-config.js","sourceRoot":"","sources":["../../../../src/ai-service/evals/lib/modal-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,WAAW,EAAE,CAAC;AAEd,MAAM,YAAY,GAEd;IACF,SAAS,EAAE,eAAe,CAAC;QACzB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,8CAA8C;KACnE,CAAC;CACH,CAAC;AAQF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,cAAsB,EAAe,EAAE;IACpE,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO;gBACL,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,0BAA0B,CAAC;gBACzD,SAAS,EAAE,KAAK;aACjB,CAAC;QACJ;YACE,OAAO;gBACL,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,0BAA0B,CAAC;gBACzD,SAAS,EAAE,KAAK;aACjB,CAAC;IACN,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-env-vars.d.ts","sourceRoot":"","sources":["../../../src/ai-service/evals/load-env-vars.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,YAIvB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import { config } from "@dotenvx/dotenvx";
|
|
4
|
+
// Execute on module load before any other modules try to use
|
|
5
|
+
// the env vars
|
|
6
|
+
export const loadEnvVars = () => {
|
|
7
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
8
|
+
const __dirname = path.dirname(__filename);
|
|
9
|
+
config({ path: path.resolve(__dirname, ".env") });
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=load-env-vars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-env-vars.js","sourceRoot":"","sources":["../../../src/ai-service/evals/load-env-vars.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,6DAA6D;AAC7D,eAAe;AACf,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-validator.d.ts","sourceRoot":"","sources":["../../src/ai-service/integration-validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEtF,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,YAAY,EAAE,EACrB,qBAAqB,EAAE,wBAAwB,EAAE,GAChD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"integration-validator.d.ts","sourceRoot":"","sources":["../../src/ai-service/integration-validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEtF,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,YAAY,EAAE,EACrB,qBAAqB,EAAE,wBAAwB,EAAE,GAChD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAqCjC"}
|
|
@@ -7,7 +7,6 @@ export function getIntegrationErrorsInFiles(files, availableIntegrations) {
|
|
|
7
7
|
const integrationErrors = {};
|
|
8
8
|
for (const file of files) {
|
|
9
9
|
const integrationReferences = extractIntegrationReferences(file.content);
|
|
10
|
-
console.log("Integration references: ", integrationReferences);
|
|
11
10
|
for (const ref of integrationReferences) {
|
|
12
11
|
if (!availableIntegrationIds.has(ref.id)) {
|
|
13
12
|
if (!integrationErrors[file.filePath]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-validator.js","sourceRoot":"","sources":["../../src/ai-service/integration-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAI/E,MAAM,UAAU,2BAA2B,CACzC,KAAqB,EACrB,qBAAiD;IAEjD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,uBAAuB,GAAG,IAAI,GAAG,CACrC,qBAAqB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC3E,CAAC;IAEF,MAAM,CAAC,KAAK,CACV,+CAA+C,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CACvF,CAAC;IAEF,MAAM,iBAAiB,GAA6B,EAAE,CAAC;IAEvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,qBAAqB,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzE,
|
|
1
|
+
{"version":3,"file":"integration-validator.js","sourceRoot":"","sources":["../../src/ai-service/integration-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -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-07-
|
|
4
|
+
// Generated at: 2025-07-14T21:25:24.147Z
|
|
5
5
|
export const content = "## Button\n\nThe following is the type definition for the Button component.\n\n```typescript\ninterface ButtonProps {\n label?: string;\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 width?: Dim;\n height?: Dim;\n minWidth?: Dim;\n maxWidth?: Dim;\n minHeight?: Dim;\n maxHeight?: Dim;\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 /** @default true */\n isVisible?: boolean;\n /** @default \"primary\" */\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n icon?: string;\n /** @default \"left\" */\n iconPosition?: \"left\" | \"right\";\n /** @default \"Computed at runtime\" */\n textStyle?: TextStyleWithVariant;\n /** @default \"Computed at runtime\" */\n backgroundColor?: string;\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 /** @default \"Computed at runtime\" */\n borderRadius?: { topLeft: Dim; topRight: Dim; bottomLeft: Dim; bottomRight: Dim };\n /** @default \"center\" */\n horizontalAlign?: \"left\" | \"center\" | \"right\";\n loading?: boolean;\n /** @default false */\n isDisabled?: boolean;\n onClick?: EventFlow;\n}\n```\n";
|
|
6
6
|
//# sourceMappingURL=ButtonPropsDocs.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
// Auto-generated from CheckboxPropsDocs.md
|
|
3
3
|
// Do not edit this file directly
|
|
4
|
-
// Generated at: 2025-07-
|
|
4
|
+
// Generated at: 2025-07-14T21:25:24.146Z
|
|
5
5
|
export const content = "## Checkbox\n\nThe following is the type definition for the Checkbox component.\n\n```typescript\ninterface CheckboxProps {\n /** @default \"\" */\n label?: string;\n /** @default true */\n defaultChecked?: boolean;\n /** @default {\"variant\":\"inputLabel\"} */\n labelStyle?: TextStyleWithVariant;\n loading?: boolean;\n width?: Dim;\n height?: Dim;\n minWidth?: Dim;\n maxWidth?: Dim;\n minHeight?: Dim;\n maxHeight?: Dim;\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 /** @default true */\n isVisible?: boolean;\n required?: boolean;\n /** @default false */\n isDisabled?: boolean;\n /** @default \"tooltip\" */\n errorMessagePlacement?: \"tooltip\" | \"inline\";\n /** @default \"\" */\n customValidationRule?: string;\n /** @default \"\" */\n customErrorMessage?: string;\n onCheckChange?: EventFlow;\n}\n```\n\nAnd the following properties can be referenced on this component in the Superblocks state object:\n\n```typescript\ninterface CheckboxComponentState {\n value?: boolean;\n /** @default {} */\n validationErrors?: any;\n /** @default true */\n isValid?: boolean;\n showError?: boolean;\n}\n```\n\nAnd the following properties are settable via BindEntity.{propertyName} = newValue;\n\n```typescript\ninterface CheckboxMetaProperties {\n /** @default false */\n isTouched?: boolean;\n isChecked?: boolean;\n}\n```\n";
|
|
6
6
|
//# sourceMappingURL=CheckboxPropsDocs.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
// Auto-generated from ColumnPropsDocs.md
|
|
3
3
|
// Do not edit this file directly
|
|
4
|
-
// Generated at: 2025-07-
|
|
4
|
+
// Generated at: 2025-07-14T21:25:24.146Z
|
|
5
5
|
export const content = "## Column\n\nThe following is the type definition for the Column component.\n\n```typescript\ninterface ColumnProps {\n /** @default \"vertical\" */\n layout?: \"freeform\" | \"vertical\" | \"horizontal\";\n /** @default \"top\" */\n verticalAlign?: \"top\" | \"center\" | \"bottom\" | \"space-between\" | \"space-around\";\n /** @default \"left\" */\n horizontalAlign?: \"left\" | \"center\" | \"right\" | \"space-between\" | \"space-around\";\n /** @default {\"mode\":\"px\",\"value\":12} */\n spacing?: Dim;\n /** @default {\"top\":{\"mode\":\"px\",\"value\":12},\"bottom\":{\"mode\":\"px\",\"value\":12},\"left\":{\"mode\":\"px\",\"value\":12},\"right\":{\"mode\":\"px\",\"value\":12}} */\n padding?: { left: Dim; right: Dim; top: Dim; bottom: Dim };\n /** @default {\"mode\":\"fill\",\"value\":1} */\n width?: Dim;\n /** @default {\"mode\":\"fill\",\"value\":1} */\n height?: Dim;\n minWidth?: Dim;\n maxWidth?: Dim;\n /** @default 12 */\n columns?: number;\n /** @default 12 */\n rowHeight?: Dim;\n /** @default true */\n shouldScrollContents?: boolean;\n /** @default true */\n isVisible?: boolean;\n backgroundColor?: string;\n border?: { left: Border; right: Border; top: Border; bottom: Border };\n loading?: boolean;\n}\n```\n";
|
|
6
6
|
//# sourceMappingURL=ColumnPropsDocs.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
// Auto-generated from ContainerPropsDocs.md
|
|
3
3
|
// Do not edit this file directly
|
|
4
|
-
// Generated at: 2025-07-
|
|
4
|
+
// Generated at: 2025-07-14T21:25:24.144Z
|
|
5
5
|
export const content = "## Container\n\nThe following is the type definition for the Container component.\n\n```typescript\ninterface ContainerProps {\n /** @default \"vertical\" */\n layout?: \"freeform\" | \"vertical\" | \"horizontal\";\n /** @default \"top\" */\n verticalAlign?: \"top\" | \"center\" | \"bottom\" | \"space-between\" | \"space-around\";\n /** @default \"left\" */\n horizontalAlign?: \"left\" | \"center\" | \"right\" | \"space-between\" | \"space-around\";\n /** @default {\"mode\":\"px\",\"value\":12} */\n spacing?: Dim;\n /** @default {\"top\":{\"mode\":\"px\",\"value\":0},\"bottom\":{\"mode\":\"px\",\"value\":0},\"left\":{\"mode\":\"px\",\"value\":0},\"right\":{\"mode\":\"px\",\"value\":0}} */\n padding?: { left: Dim; right: Dim; top: Dim; bottom: Dim };\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 width?: Dim;\n height?: Dim;\n minWidth?: Dim;\n maxWidth?: Dim;\n minHeight?: Dim;\n maxHeight?: Dim;\n /** @default 12 */\n columns?: number;\n /** @default 12 */\n rowHeight?: Dim;\n /** @default true */\n shouldScrollContents?: boolean;\n /** @default true */\n isVisible?: boolean;\n /** @default \"none\" */\n variant?: \"none\" | \"card\";\n backgroundColor?: string;\n border?: { left: Border; right: Border; top: Border; bottom: Border };\n borderRadius?: { topLeft: Dim; topRight: Dim; bottomLeft: Dim; bottomRight: Dim };\n loading?: boolean;\n}\n```\n";
|
|
6
6
|
//# sourceMappingURL=ContainerPropsDocs.js.map
|