@wix/ditto-codegen-public 1.0.448 → 1.0.450
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/out.js +175 -44
- package/package.json +2 -2
package/dist/out.js
CHANGED
|
@@ -11707,6 +11707,7 @@ var require_constants5 = __commonJS({
|
|
|
11707
11707
|
exports2.detectExtension = detectExtension;
|
|
11708
11708
|
exports2.toTitleCase = toTitleCase;
|
|
11709
11709
|
exports2.extractExtensionName = extractExtensionName;
|
|
11710
|
+
exports2.matchQuotedExtensionConfigProperty = matchQuotedExtensionConfigProperty;
|
|
11710
11711
|
exports2.extractExtensionDisplayTitle = extractExtensionDisplayTitle;
|
|
11711
11712
|
exports2.injectCreatedBy = injectCreatedBy;
|
|
11712
11713
|
var ditto_codegen_types_12 = require_dist4();
|
|
@@ -11937,10 +11938,17 @@ skills or wix-mcp for SDK-shape errors; returns when the build is clean
|
|
|
11937
11938
|
or reports what it couldn't fix. Validation step only \u2014 never generates features.`;
|
|
11938
11939
|
var VALIDATOR_PROMPT = `Run 'validate({ runBuild: true })', fix the errors it reports, and re-run until
|
|
11939
11940
|
it passes. You are fixing EXISTING code \u2014 do NOT add features or rewrite whole
|
|
11940
|
-
files
|
|
11941
|
+
files, and do NOT run 'npx wix generate manifest' \u2014 that is the caller's step.
|
|
11942
|
+
NEVER force a green build by suppressing types: no 'as any', no
|
|
11941
11943
|
'@ts-ignore', no NEW '@ts-expect-error', and do NOT switch a correct named import to
|
|
11942
11944
|
'import * as' just to satisfy tsc \u2014 that ships code that compiles but breaks
|
|
11943
|
-
at runtime.
|
|
11945
|
+
at runtime. Just as forbidden is satisfying tsc by CHANGING RUNTIME BEHAVIOUR:
|
|
11946
|
+
do not add values to 'defaultProps' the component should not default (an empty
|
|
11947
|
+
'id' or 'className' is a behaviour change, not a fix), and do not weaken a
|
|
11948
|
+
constraint into a no-op ('Omit<T, never>' is just 'T'). When a type error means
|
|
11949
|
+
the shape a skill taught does not match the real exported type, fix the code to
|
|
11950
|
+
the real type and report the mismatch.
|
|
11951
|
+
Leave an EXISTING '@ts-expect-error' alone when a skill mandates it
|
|
11944
11952
|
(e.g. a context provider's 'moduleSpecifier' import); removing it is not a fix.
|
|
11945
11953
|
A type error on a Wix SDK method/namespace/parameter means the call is WRONG: look up the correct
|
|
11946
11954
|
usage via skills or wix-mcp ('SearchWixSDKDocumentation' \u2192
|
|
@@ -15571,7 +15579,7 @@ IMPLEMENTATION WORKFLOW:
|
|
|
15571
15579
|
2. **Research**: Load the \`wix-app\` skill per extension type. SKIP this step entirely if the skill + KNOWN WIX APIS cover everything (common for dashboard + data-collection apps). Otherwise delegate ONLY to search for an API you genuinely can't identify \u2014 \`codegen-wix-docs\` (SDK), \`codegen-wds-docs\` (WDS), both in ONE response if both needed; pass each the question, not a known doc link \u2014 and wait for the summaries before building.
|
|
15572
15580
|
3. **Build**: Write files incrementally \u2014 group by logical section, NOT all at once. For complex tasks (300+ total lines across files), split into multiple \`batch-write\` calls. NEVER hold back writing until all code is planned \u2014 write each logical piece as soon as it is ready. Build all extensions before registering.
|
|
15573
15581
|
4. **Register**: Register all extensions in \`src/extensions.ts\`.
|
|
15574
|
-
5. **Validate**: Dispatch ONE \`task({ subagent: "codegen-validator", prompt: "Run validate({ runBuild: true }) \u2014 it typechecks AND builds in a single pass (tsc runs first and fails fast before the build). Fix any errors and re-run until it passes. Pass installDeps: true only if package.json changed and npm install was not already run in this session." })\`. Wait for the subagent to return. Do NOT call \`validate\` directly from the primary agent, and do NOT make a separate tsc-only call first \u2014 the single runBuild pass already fails fast on type errors. VERIFY the subagent actually FINISHED with a clean build: read its returned summary and confirm it converged. If it reports remaining/unresolved errors or was cut off before finishing (e.g. "Maximum steps reached"), do NOT treat it as success \u2014 re-dispatch \`codegen-validator\` to finish the remaining errors before moving on. After the validator confirms a clean build, if you created or modified an EDITOR_REACT_COMPONENT extension in this task, run \`npx wix generate manifest\` via bash (
|
|
15582
|
+
5. **Validate**: Dispatch ONE \`task({ subagent: "codegen-validator", prompt: "Run validate({ runBuild: true }) \u2014 it typechecks AND builds in a single pass (tsc runs first and fails fast before the build). Fix any errors and re-run until it passes. Pass installDeps: true only if package.json changed and npm install was not already run in this session." })\`. Wait for the subagent to return. Do NOT call \`validate\` directly from the primary agent, and do NOT make a separate tsc-only call first \u2014 the single runBuild pass already fails fast on type errors. VERIFY the subagent actually FINISHED with a clean build: read its returned summary and confirm it converged. If it reports remaining/unresolved errors or was cut off before finishing (e.g. "Maximum steps reached"), do NOT treat it as success \u2014 re-dispatch \`codegen-validator\` to finish the remaining errors before moving on. After the validator confirms a clean build, if you created or modified an EDITOR_REACT_COMPONENT extension in this task, run \`npx wix generate manifest\` via bash (the validator is instructed not to run it, so this is the only run).
|
|
15575
15583
|
6. **Declare permissions**: If the generated code requires Wix app permissions, call \`required-permissions\` ONCE with their SCOPE IDs (see PERMISSIONS below). Skip this step entirely if no permissions are needed.
|
|
15576
15584
|
7. **Final message**: Your last message is returned to the user as the codegen output \u2014 keep it short and plain (a sentence or two on what the app now does). Do NOT mention permissions/scopes here (see PERMISSIONS) and follow OUTPUT MESSAGE below.
|
|
15577
15585
|
8. **Stop**: STOP immediately. Do NOT refactor, clean up, or verify.
|
|
@@ -15581,6 +15589,10 @@ FILE CREATION:
|
|
|
15581
15589
|
- Keep each file under 200 lines. Split into types.ts, utils.ts if needed.
|
|
15582
15590
|
- Do NOT output comments in code unless they explain non-obvious logic.
|
|
15583
15591
|
|
|
15592
|
+
GENERATED FILES:
|
|
15593
|
+
- \`src/extensions/site/components/**/*.generated.ts\` is an auto-generated editor-react-component manifest \u2014 NEVER hand-edit. Change a manifest VALUE in the component's \`*.extension.ts\`; change anything else in the \`*.tsx\` / \`*.module.css\` / \`*.props.ts\` source, then regenerate (workflow step 5). No other \`.generated.ts\` path is affected.
|
|
15594
|
+
- A write guard rejects \`write\`/\`edit\`/\`batch-write\`/\`multi-edit\` there, dropping the ENTIRE call \u2014 never batch that path with real edits, or those are lost too and must be resubmitted.
|
|
15595
|
+
|
|
15584
15596
|
TYPESCRIPT:
|
|
15585
15597
|
- The project enables \`verbatimModuleSyntax\`. Type-only imports MUST use \`import type\`.
|
|
15586
15598
|
|
|
@@ -17646,44 +17658,67 @@ var require_opencode_runner = __commonJS({
|
|
|
17646
17658
|
}
|
|
17647
17659
|
});
|
|
17648
17660
|
|
|
17649
|
-
// dist/opencode-integration/
|
|
17650
|
-
var
|
|
17651
|
-
"dist/opencode-integration/
|
|
17661
|
+
// dist/opencode-integration/extension-metadata.js
|
|
17662
|
+
var require_extension_metadata = __commonJS({
|
|
17663
|
+
"dist/opencode-integration/extension-metadata.js"(exports2) {
|
|
17652
17664
|
"use strict";
|
|
17653
17665
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
17654
|
-
exports2.
|
|
17655
|
-
exports2.
|
|
17666
|
+
exports2.buildJobExtension = exports2.resolveFilePath = exports2.isFileInExtensionFolder = exports2.getExtensionDirectory = void 0;
|
|
17667
|
+
exports2.collectDataCollectionEntries = collectDataCollectionEntries;
|
|
17656
17668
|
var path_12 = require("path");
|
|
17657
17669
|
var promises_1 = require("fs/promises");
|
|
17658
|
-
var ditto_codegen_types_12 = require_dist4();
|
|
17659
17670
|
var constants_1 = require_constants5();
|
|
17660
17671
|
var DATA_COLLECTION_MARKER = /import\s+(?:type\s+)?\{[^}]*\bDataCollection\b[^}]*\}\s+from\s+['"](?:@wix\/astro\/builders|@wix\/custom-extensions)['"]/;
|
|
17661
17672
|
var getExtensionDirectory = (extensionDefinitionPath) => `${path_12.posix.dirname(extensionDefinitionPath)}/`;
|
|
17662
|
-
|
|
17673
|
+
exports2.getExtensionDirectory = getExtensionDirectory;
|
|
17674
|
+
var isFileInExtensionFolder = (filePath, extensionDefinitionPath) => filePath === extensionDefinitionPath || filePath.startsWith((0, exports2.getExtensionDirectory)(extensionDefinitionPath));
|
|
17675
|
+
exports2.isFileInExtensionFolder = isFileInExtensionFolder;
|
|
17663
17676
|
var resolveFilePath = (outputPath, filePath) => (0, path_12.isAbsolute)(filePath) ? filePath : (0, path_12.join)(outputPath, filePath);
|
|
17664
|
-
|
|
17665
|
-
|
|
17666
|
-
extensionType,
|
|
17667
|
-
title: (0, constants_1.extractExtensionDisplayTitle)(contentForTitle, titlePath),
|
|
17668
|
-
files: [...files],
|
|
17669
|
-
isSpi: (0, constants_1.isSpiExtension)(extensionType)
|
|
17670
|
-
});
|
|
17671
|
-
async function collectDataCollectionEntries(outputPath, parentExtensionFile, folderFiles) {
|
|
17677
|
+
exports2.resolveFilePath = resolveFilePath;
|
|
17678
|
+
async function collectDataCollectionEntries(outputPath, parentPath, folderFiles) {
|
|
17672
17679
|
const entries = [];
|
|
17680
|
+
const parentChange = folderFiles.find((file) => file.path === parentPath);
|
|
17673
17681
|
for (const file of folderFiles) {
|
|
17674
|
-
if (file.path ===
|
|
17682
|
+
if (file.path === parentPath)
|
|
17675
17683
|
continue;
|
|
17676
17684
|
try {
|
|
17677
|
-
const content = await (0, promises_1.readFile)(resolveFilePath(outputPath, file.path), "utf-8");
|
|
17685
|
+
const content = await (0, promises_1.readFile)((0, exports2.resolveFilePath)(outputPath, file.path), "utf-8");
|
|
17678
17686
|
if (!DATA_COLLECTION_MARKER.test(content))
|
|
17679
17687
|
continue;
|
|
17680
|
-
entries.push(buildJobExtension(
|
|
17688
|
+
entries.push((0, exports2.buildJobExtension)(parentPath, "dataCollection", content, file.path, parentChange ? [parentChange, file] : [file]));
|
|
17681
17689
|
} catch {
|
|
17682
17690
|
continue;
|
|
17683
17691
|
}
|
|
17684
17692
|
}
|
|
17685
17693
|
return entries;
|
|
17686
17694
|
}
|
|
17695
|
+
var buildJobExtension = (definitionPath, extensionType, contentForTitle, titlePath, files) => {
|
|
17696
|
+
const routePath = (0, constants_1.matchQuotedExtensionConfigProperty)(contentForTitle, "routePath");
|
|
17697
|
+
const id = (0, constants_1.matchQuotedExtensionConfigProperty)(contentForTitle, "id");
|
|
17698
|
+
return {
|
|
17699
|
+
path: definitionPath,
|
|
17700
|
+
extensionType,
|
|
17701
|
+
title: (0, constants_1.extractExtensionDisplayTitle)(contentForTitle, titlePath),
|
|
17702
|
+
...routePath !== null && { routePath },
|
|
17703
|
+
...id !== null && { id },
|
|
17704
|
+
files: [...files],
|
|
17705
|
+
isSpi: (0, constants_1.isSpiExtension)(extensionType)
|
|
17706
|
+
};
|
|
17707
|
+
};
|
|
17708
|
+
exports2.buildJobExtension = buildJobExtension;
|
|
17709
|
+
}
|
|
17710
|
+
});
|
|
17711
|
+
|
|
17712
|
+
// dist/opencode-integration/collect-extensions-created.js
|
|
17713
|
+
var require_collect_extensions_created = __commonJS({
|
|
17714
|
+
"dist/opencode-integration/collect-extensions-created.js"(exports2) {
|
|
17715
|
+
"use strict";
|
|
17716
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
17717
|
+
exports2.collectInsertedExtensionsMetadata = collectInsertedExtensionsMetadata;
|
|
17718
|
+
var promises_1 = require("fs/promises");
|
|
17719
|
+
var ditto_codegen_types_12 = require_dist4();
|
|
17720
|
+
var constants_1 = require_constants5();
|
|
17721
|
+
var extension_metadata_1 = require_extension_metadata();
|
|
17687
17722
|
async function collectInsertedExtensionsMetadata(outputPath, files) {
|
|
17688
17723
|
const results = [];
|
|
17689
17724
|
for (const fileChange of files) {
|
|
@@ -17692,26 +17727,121 @@ var require_collect_extensions_created = __commonJS({
|
|
|
17692
17727
|
if (!(0, constants_1.isExtensionsFile)(fileChange.path))
|
|
17693
17728
|
continue;
|
|
17694
17729
|
try {
|
|
17695
|
-
const content = await (0, promises_1.readFile)(resolveFilePath(outputPath, fileChange.path), "utf-8");
|
|
17730
|
+
const content = await (0, promises_1.readFile)((0, extension_metadata_1.resolveFilePath)(outputPath, fileChange.path), "utf-8");
|
|
17731
|
+
const extensionType = (0, constants_1.detectExtension)(content);
|
|
17732
|
+
if (!extensionType)
|
|
17733
|
+
continue;
|
|
17734
|
+
const folderFiles = files.filter((file) => (0, extension_metadata_1.isFileInExtensionFolder)(file.path, fileChange.path));
|
|
17735
|
+
if (extensionType === "dataCollections") {
|
|
17736
|
+
const dataCollectionEntries = await (0, extension_metadata_1.collectDataCollectionEntries)(outputPath, fileChange.path, folderFiles);
|
|
17737
|
+
results.push(...dataCollectionEntries);
|
|
17738
|
+
continue;
|
|
17739
|
+
}
|
|
17740
|
+
results.push((0, extension_metadata_1.buildJobExtension)(fileChange.path, extensionType, content, fileChange.path, folderFiles));
|
|
17741
|
+
} catch {
|
|
17742
|
+
continue;
|
|
17743
|
+
}
|
|
17744
|
+
}
|
|
17745
|
+
return results;
|
|
17746
|
+
}
|
|
17747
|
+
}
|
|
17748
|
+
});
|
|
17749
|
+
|
|
17750
|
+
// dist/opencode-integration/collect-extensions-updated.js
|
|
17751
|
+
var require_collect_extensions_updated = __commonJS({
|
|
17752
|
+
"dist/opencode-integration/collect-extensions-updated.js"(exports2) {
|
|
17753
|
+
"use strict";
|
|
17754
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
17755
|
+
exports2.collectUpdatedExtensionsMetadata = collectUpdatedExtensionsMetadata;
|
|
17756
|
+
var child_process_1 = require("child_process");
|
|
17757
|
+
var path_12 = require("path");
|
|
17758
|
+
var util_1 = require("util");
|
|
17759
|
+
var promises_1 = require("fs/promises");
|
|
17760
|
+
var constants_1 = require_constants5();
|
|
17761
|
+
var logger_12 = require_logger();
|
|
17762
|
+
var extension_metadata_1 = require_extension_metadata();
|
|
17763
|
+
var execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
|
|
17764
|
+
var ownsItsFolder = (candidate) => {
|
|
17765
|
+
if (!(0, constants_1.isExtensionsFile)(candidate))
|
|
17766
|
+
return false;
|
|
17767
|
+
const directory = path_12.posix.dirname(candidate);
|
|
17768
|
+
return directory !== "." && path_12.posix.dirname(directory) !== ".";
|
|
17769
|
+
};
|
|
17770
|
+
async function listCandidateDefinitionPaths(outputPath) {
|
|
17771
|
+
try {
|
|
17772
|
+
const { stdout } = await execFileAsync("git", ["ls-files", "-z"], {
|
|
17773
|
+
cwd: outputPath,
|
|
17774
|
+
maxBuffer: 10 * 1024 * 1024
|
|
17775
|
+
});
|
|
17776
|
+
return stdout.split("\0").filter(Boolean).filter(ownsItsFolder);
|
|
17777
|
+
} catch (error) {
|
|
17778
|
+
logger_12.logger.error("[OpenCode] Failed to list extension definition files", {
|
|
17779
|
+
error: error instanceof Error ? error.message : String(error)
|
|
17780
|
+
});
|
|
17781
|
+
return [];
|
|
17782
|
+
}
|
|
17783
|
+
}
|
|
17784
|
+
var resolveOwningDefinitionPath = (filePath, candidates) => {
|
|
17785
|
+
if ((0, constants_1.isExtensionsFile)(filePath))
|
|
17786
|
+
return filePath;
|
|
17787
|
+
let longest;
|
|
17788
|
+
let longestFolderLength = -1;
|
|
17789
|
+
for (const candidate of candidates) {
|
|
17790
|
+
const folder = `${path_12.posix.dirname(candidate)}/`;
|
|
17791
|
+
if (filePath.startsWith(folder) && folder.length > longestFolderLength) {
|
|
17792
|
+
longest = candidate;
|
|
17793
|
+
longestFolderLength = folder.length;
|
|
17794
|
+
}
|
|
17795
|
+
}
|
|
17796
|
+
return longest;
|
|
17797
|
+
};
|
|
17798
|
+
async function collectUpdatedExtensionsMetadata(outputPath, files, insertedDefinitionPaths) {
|
|
17799
|
+
const candidates = await listCandidateDefinitionPaths(outputPath);
|
|
17800
|
+
const definitionPaths = /* @__PURE__ */ new Set();
|
|
17801
|
+
for (const fileChange of files) {
|
|
17802
|
+
const definitionPath = resolveOwningDefinitionPath(fileChange.path, candidates);
|
|
17803
|
+
if (definitionPath && !insertedDefinitionPaths.has(definitionPath)) {
|
|
17804
|
+
definitionPaths.add(definitionPath);
|
|
17805
|
+
}
|
|
17806
|
+
}
|
|
17807
|
+
const results = [];
|
|
17808
|
+
for (const definitionPath of definitionPaths) {
|
|
17809
|
+
try {
|
|
17810
|
+
const content = await (0, promises_1.readFile)((0, extension_metadata_1.resolveFilePath)(outputPath, definitionPath), "utf-8");
|
|
17696
17811
|
const extensionType = (0, constants_1.detectExtension)(content);
|
|
17697
17812
|
if (!extensionType)
|
|
17698
17813
|
continue;
|
|
17699
|
-
const folderFiles = files.filter((file) => isFileInExtensionFolder(file.path,
|
|
17814
|
+
const folderFiles = files.filter((file) => (0, extension_metadata_1.isFileInExtensionFolder)(file.path, definitionPath));
|
|
17700
17815
|
if (extensionType === "dataCollections") {
|
|
17701
|
-
const dataCollectionEntries = await collectDataCollectionEntries(outputPath,
|
|
17816
|
+
const dataCollectionEntries = await (0, extension_metadata_1.collectDataCollectionEntries)(outputPath, definitionPath, folderFiles);
|
|
17702
17817
|
results.push(...dataCollectionEntries);
|
|
17703
17818
|
continue;
|
|
17704
17819
|
}
|
|
17705
|
-
results.push(buildJobExtension(
|
|
17820
|
+
results.push((0, extension_metadata_1.buildJobExtension)(definitionPath, extensionType, content, definitionPath, folderFiles));
|
|
17706
17821
|
} catch {
|
|
17707
17822
|
continue;
|
|
17708
17823
|
}
|
|
17709
17824
|
}
|
|
17710
17825
|
return results;
|
|
17711
17826
|
}
|
|
17827
|
+
}
|
|
17828
|
+
});
|
|
17829
|
+
|
|
17830
|
+
// dist/opencode-integration/extensions-job-payload.js
|
|
17831
|
+
var require_extensions_job_payload = __commonJS({
|
|
17832
|
+
"dist/opencode-integration/extensions-job-payload.js"(exports2) {
|
|
17833
|
+
"use strict";
|
|
17834
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
17835
|
+
exports2.buildExtensionsJobPayload = buildExtensionsJobPayload;
|
|
17836
|
+
var ditto_codegen_types_12 = require_dist4();
|
|
17837
|
+
var constants_1 = require_constants5();
|
|
17838
|
+
var collect_extensions_created_1 = require_collect_extensions_created();
|
|
17839
|
+
var collect_extensions_updated_1 = require_collect_extensions_updated();
|
|
17712
17840
|
async function buildExtensionsJobPayload(outputPath, files) {
|
|
17713
|
-
const created = await collectInsertedExtensionsMetadata(outputPath, files);
|
|
17714
|
-
|
|
17841
|
+
const created = await (0, collect_extensions_created_1.collectInsertedExtensionsMetadata)(outputPath, files);
|
|
17842
|
+
const insertedDefinitionPaths = new Set(files.filter((file) => file.operation === ditto_codegen_types_12.ExtensionGenerationOperation.INSERT && (0, constants_1.isExtensionsFile)(file.path)).map((file) => file.path));
|
|
17843
|
+
const updated = await (0, collect_extensions_updated_1.collectUpdatedExtensionsMetadata)(outputPath, files, insertedDefinitionPaths);
|
|
17844
|
+
return { created, updated };
|
|
17715
17845
|
}
|
|
17716
17846
|
}
|
|
17717
17847
|
});
|
|
@@ -17721,7 +17851,7 @@ var require_opencode_integration = __commonJS({
|
|
|
17721
17851
|
"dist/opencode-integration/index.js"(exports2) {
|
|
17722
17852
|
"use strict";
|
|
17723
17853
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
17724
|
-
exports2.
|
|
17854
|
+
exports2.buildExtensionsJobPayload = exports2.collectInsertedExtensionsMetadata = exports2.OpenCodeTaskTracker = exports2.runOpenCodeGitConflicts = exports2.runOpenCodeAsk = exports2.runOpenCodeIteration = exports2.runOpenCodeInit = void 0;
|
|
17725
17855
|
var opencode_runner_1 = require_opencode_runner();
|
|
17726
17856
|
Object.defineProperty(exports2, "runOpenCodeInit", { enumerable: true, get: function() {
|
|
17727
17857
|
return opencode_runner_1.runOpenCodeInit;
|
|
@@ -17740,12 +17870,13 @@ var require_opencode_integration = __commonJS({
|
|
|
17740
17870
|
return task_tracker_1.OpenCodeTaskTracker;
|
|
17741
17871
|
} });
|
|
17742
17872
|
var collect_extensions_created_1 = require_collect_extensions_created();
|
|
17743
|
-
Object.defineProperty(exports2, "buildExtensionsJobPayload", { enumerable: true, get: function() {
|
|
17744
|
-
return collect_extensions_created_1.buildExtensionsJobPayload;
|
|
17745
|
-
} });
|
|
17746
17873
|
Object.defineProperty(exports2, "collectInsertedExtensionsMetadata", { enumerable: true, get: function() {
|
|
17747
17874
|
return collect_extensions_created_1.collectInsertedExtensionsMetadata;
|
|
17748
17875
|
} });
|
|
17876
|
+
var extensions_job_payload_1 = require_extensions_job_payload();
|
|
17877
|
+
Object.defineProperty(exports2, "buildExtensionsJobPayload", { enumerable: true, get: function() {
|
|
17878
|
+
return extensions_job_payload_1.buildExtensionsJobPayload;
|
|
17879
|
+
} });
|
|
17749
17880
|
}
|
|
17750
17881
|
});
|
|
17751
17882
|
|
|
@@ -17885,7 +18016,7 @@ var require_codegen_flow_helpers = __commonJS({
|
|
|
17885
18016
|
var path_12 = __importDefault2(require("path"));
|
|
17886
18017
|
var codeGenerationService_12 = require_codeGenerationService();
|
|
17887
18018
|
var git_file_changes_1 = require_git_file_changes();
|
|
17888
|
-
var
|
|
18019
|
+
var extensions_job_payload_1 = require_extensions_job_payload();
|
|
17889
18020
|
var agent_io_1 = require_agent_io();
|
|
17890
18021
|
var utils_12 = require_utils9();
|
|
17891
18022
|
var DEFAULT_OUTPUT_PATH = "generated-app";
|
|
@@ -17894,7 +18025,7 @@ var require_codegen_flow_helpers = __commonJS({
|
|
|
17894
18025
|
}
|
|
17895
18026
|
async function buildFailedRunPayload(error, outputPath, gitBaseline) {
|
|
17896
18027
|
const files = await (0, git_file_changes_1.collectGitFileChanges)(outputPath, gitBaseline);
|
|
17897
|
-
const extensions = await (0,
|
|
18028
|
+
const extensions = await (0, extensions_job_payload_1.buildExtensionsJobPayload)(outputPath, files);
|
|
17898
18029
|
return {
|
|
17899
18030
|
requiredPermissions: [],
|
|
17900
18031
|
error,
|
|
@@ -23031,7 +23162,7 @@ var require_opencode_init = __commonJS({
|
|
|
23031
23162
|
var model_knobs_1 = require_model_knobs();
|
|
23032
23163
|
var git_file_changes_1 = require_git_file_changes();
|
|
23033
23164
|
var inject_created_by_1 = require_inject_created_by();
|
|
23034
|
-
var
|
|
23165
|
+
var extensions_job_payload_1 = require_extensions_job_payload();
|
|
23035
23166
|
var biEvents_1 = require_biEvents();
|
|
23036
23167
|
var executor_1 = require_executor();
|
|
23037
23168
|
var report_expensive_run_1 = require_report_expensive_run();
|
|
@@ -23094,7 +23225,7 @@ var require_opencode_init = __commonJS({
|
|
|
23094
23225
|
store.lastAgentMessage = result.agentMessage;
|
|
23095
23226
|
const files = await (0, git_file_changes_1.collectGitFileChanges)(outputPath, gitBaseline);
|
|
23096
23227
|
const agentOutput = (0, agent_io_1.readAgentOutput)(outputPath);
|
|
23097
|
-
const extensions = await (0,
|
|
23228
|
+
const extensions = await (0, extensions_job_payload_1.buildExtensionsJobPayload)(outputPath, files);
|
|
23098
23229
|
await (0, inject_created_by_1.injectCreatedByIntoExtensionFiles)(outputPath, extensions.created);
|
|
23099
23230
|
await (0, codegen_flow_helpers_12.updateJobPayload)(localJobContext, {
|
|
23100
23231
|
requiredPermissions: result.requiredPermissions,
|
|
@@ -23247,7 +23378,7 @@ var require_opencode_iterate = __commonJS({
|
|
|
23247
23378
|
var model_knobs_1 = require_model_knobs();
|
|
23248
23379
|
var git_file_changes_1 = require_git_file_changes();
|
|
23249
23380
|
var inject_created_by_1 = require_inject_created_by();
|
|
23250
|
-
var
|
|
23381
|
+
var extensions_job_payload_1 = require_extensions_job_payload();
|
|
23251
23382
|
var executor_1 = require_executor();
|
|
23252
23383
|
var report_expensive_run_1 = require_report_expensive_run();
|
|
23253
23384
|
var biEvents_1 = require_biEvents();
|
|
@@ -23298,7 +23429,7 @@ var require_opencode_iterate = __commonJS({
|
|
|
23298
23429
|
store.lastAgentMessage = result.agentMessage;
|
|
23299
23430
|
const files = await (0, git_file_changes_1.collectGitFileChanges)(outputPath, gitBaseline);
|
|
23300
23431
|
const agentOutput = (0, agent_io_1.readAgentOutput)(outputPath);
|
|
23301
|
-
const extensions = await (0,
|
|
23432
|
+
const extensions = await (0, extensions_job_payload_1.buildExtensionsJobPayload)(outputPath, files);
|
|
23302
23433
|
await (0, inject_created_by_1.injectCreatedByIntoExtensionFiles)(outputPath, extensions.created);
|
|
23303
23434
|
await (0, codegen_flow_helpers_12.updateJobPayload)(localJobContext, {
|
|
23304
23435
|
requiredPermissions: result.requiredPermissions,
|
|
@@ -23448,7 +23579,7 @@ var require_opencode_ask = __commonJS({
|
|
|
23448
23579
|
var model_knobs_1 = require_model_knobs();
|
|
23449
23580
|
var git_file_changes_1 = require_git_file_changes();
|
|
23450
23581
|
var inject_created_by_1 = require_inject_created_by();
|
|
23451
|
-
var
|
|
23582
|
+
var extensions_job_payload_1 = require_extensions_job_payload();
|
|
23452
23583
|
var biEvents_1 = require_biEvents();
|
|
23453
23584
|
var runOpencodeAskFlow = async (chatHistory) => {
|
|
23454
23585
|
const store = job_context_storage_12.jobContextStorage.getStore();
|
|
@@ -23492,7 +23623,7 @@ var require_opencode_ask = __commonJS({
|
|
|
23492
23623
|
gitBaseline
|
|
23493
23624
|
});
|
|
23494
23625
|
const files = await (0, git_file_changes_1.collectGitFileChanges)(outputPath, gitBaseline);
|
|
23495
|
-
const extensions = await (0,
|
|
23626
|
+
const extensions = await (0, extensions_job_payload_1.buildExtensionsJobPayload)(outputPath, files);
|
|
23496
23627
|
await (0, inject_created_by_1.injectCreatedByIntoExtensionFiles)(outputPath, extensions.created);
|
|
23497
23628
|
await (0, codegen_flow_helpers_12.updateJobPayload)(localJobContext, {
|
|
23498
23629
|
files,
|
|
@@ -23518,7 +23649,7 @@ var require_opencode_ask = __commonJS({
|
|
|
23518
23649
|
} catch (error) {
|
|
23519
23650
|
const codegenError = (0, ditto_codegen_types_2.toCodegenError)(error);
|
|
23520
23651
|
const files = await (0, git_file_changes_1.collectGitFileChanges)(outputPath, gitBaseline);
|
|
23521
|
-
const extensions = await (0,
|
|
23652
|
+
const extensions = await (0, extensions_job_payload_1.buildExtensionsJobPayload)(outputPath, files);
|
|
23522
23653
|
await (0, codegen_flow_helpers_12.updateJobPayload)(localJobContext, {
|
|
23523
23654
|
files,
|
|
23524
23655
|
extensions,
|
|
@@ -23628,7 +23759,7 @@ var require_opencode_fix_git_conflicts = __commonJS({
|
|
|
23628
23759
|
var logger_12 = require_logger();
|
|
23629
23760
|
var model_knobs_1 = require_model_knobs();
|
|
23630
23761
|
var git_file_changes_1 = require_git_file_changes();
|
|
23631
|
-
var
|
|
23762
|
+
var extensions_job_payload_1 = require_extensions_job_payload();
|
|
23632
23763
|
var executor_1 = require_executor();
|
|
23633
23764
|
var report_expensive_run_1 = require_report_expensive_run();
|
|
23634
23765
|
var biEvents_1 = require_biEvents();
|
|
@@ -23676,7 +23807,7 @@ var require_opencode_fix_git_conflicts = __commonJS({
|
|
|
23676
23807
|
});
|
|
23677
23808
|
store.lastAgentMessage = result.agentMessage;
|
|
23678
23809
|
const files = await (0, git_file_changes_1.collectGitFileChanges)(outputPath, gitBaseline);
|
|
23679
|
-
const extensions = await (0,
|
|
23810
|
+
const extensions = await (0, extensions_job_payload_1.buildExtensionsJobPayload)(outputPath, files);
|
|
23680
23811
|
await (0, codegen_flow_helpers_12.updateJobPayload)(localJobContext, {
|
|
23681
23812
|
requiredPermissions: result.requiredPermissions,
|
|
23682
23813
|
agentMessage: result.agentMessage,
|
|
@@ -23716,7 +23847,7 @@ var require_opencode_fix_git_conflicts = __commonJS({
|
|
|
23716
23847
|
caughtError = error;
|
|
23717
23848
|
const codegenError = (0, ditto_codegen_types_12.toCodegenError)(error);
|
|
23718
23849
|
const files = await (0, git_file_changes_1.collectGitFileChanges)(outputPath, gitBaseline);
|
|
23719
|
-
const extensions = await (0,
|
|
23850
|
+
const extensions = await (0, extensions_job_payload_1.buildExtensionsJobPayload)(outputPath, files);
|
|
23720
23851
|
await (0, codegen_flow_helpers_12.updateJobPayload)(localJobContext, {
|
|
23721
23852
|
requiredPermissions: [],
|
|
23722
23853
|
error: codegenError,
|
|
@@ -24397,7 +24528,7 @@ var require_generated_files_guard = __commonJS({
|
|
|
24397
24528
|
exports2.writeGeneratedFilesGuardPlugin = writeGeneratedFilesGuardPlugin;
|
|
24398
24529
|
var generated_plugins_1 = require_generated_plugins();
|
|
24399
24530
|
var ERC_MANIFEST_RE = /(^|\/)src\/extensions\/site\/components\/.+\.generated\.tsx?$/;
|
|
24400
|
-
exports2.GUARD_MESSAGE = "BLOCKED:
|
|
24531
|
+
exports2.GUARD_MESSAGE = "BLOCKED: this editor-react-component manifest is auto-generated. Do not create or edit it by hand \u2014 edit the *.tsx / *.module.css / *.props.ts source and regenerate with `npx wix build && npx wix generate manifest`, or override values in the component's *.extension.ts. Do not re-attempt the blocked path; the whole call was rejected, so resubmit any other paths it carried \u2014 they were not written. Only *.generated.ts under src/extensions/site/components/ is blocked.";
|
|
24401
24532
|
function isEditorComponentManifest(path) {
|
|
24402
24533
|
return ERC_MANIFEST_RE.test(path);
|
|
24403
24534
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/ditto-codegen-public",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.450",
|
|
4
4
|
"description": "AI-powered Wix CLI app generator - standalone executable",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "node build.mjs",
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"esbuild": "^0.27.2",
|
|
30
30
|
"vitest": "^4.0.16"
|
|
31
31
|
},
|
|
32
|
-
"falconPackageHash": "
|
|
32
|
+
"falconPackageHash": "aad01f2edbf17040d46676c57f7067a74d44ee6df2af105d575f65b2"
|
|
33
33
|
}
|