@wix/ditto-codegen-public 1.0.435 → 1.0.437
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 +111 -99
- package/package.json +2 -2
package/dist/out.js
CHANGED
|
@@ -13294,6 +13294,7 @@ var require_checkpoint = __commonJS({
|
|
|
13294
13294
|
return message.slice(0, MAX_COMMIT_MESSAGE_LENGTH - TRUNCATION_SUFFIX.length) + TRUNCATION_SUFFIX;
|
|
13295
13295
|
};
|
|
13296
13296
|
var CHECKPOINT_CONFLICT_CODE = "CHECKPOINT_CONFLICT";
|
|
13297
|
+
var FIX_GIT_CONFLICTS_TASK_KIND = "FIX_GIT_CONFLICTS";
|
|
13297
13298
|
var useCodeProjectOrchestrator = () => process.env.USE_CODE_PROJECT_ORCHESTRATOR === "true";
|
|
13298
13299
|
var collaboratorLiveSyncEnabled = () => process.env.STUDIO2_COLLABORATOR_LIVE_SYNC === "true";
|
|
13299
13300
|
var readApplicationErrorCode = (error) => {
|
|
@@ -13410,41 +13411,49 @@ var require_checkpoint = __commonJS({
|
|
|
13410
13411
|
} catch (error) {
|
|
13411
13412
|
if (useCodeProjectOrchestrator() && collaboratorLiveSyncEnabled() && job.siteBranchId && isCheckpointConflict(error)) {
|
|
13412
13413
|
const files = readConflictedFiles(error);
|
|
13413
|
-
|
|
13414
|
-
|
|
13415
|
-
if (!conflictResolutionJobId) {
|
|
13416
|
-
throw new Error("resolveCheckpointConflict returned no conflict resolution job id");
|
|
13417
|
-
}
|
|
13418
|
-
outcome = {
|
|
13419
|
-
status: "resolvingGitConflicts",
|
|
13420
|
-
conflictResolutionJobId,
|
|
13421
|
-
conflictedFiles: files
|
|
13422
|
-
};
|
|
13423
|
-
await host.jobs.updatePayload({ jobId: job.jobId, taskId: job.taskId }, {
|
|
13424
|
-
checkpointStatus: "resolvingGitConflicts",
|
|
13425
|
-
conflictResolutionJobId,
|
|
13426
|
-
conflictedFiles: files
|
|
13427
|
-
}).catch((payloadError) => {
|
|
13428
|
-
host.logger.warn("[Checkpoint] failed to publish the resolving-conflicts state", {
|
|
13429
|
-
projectId: job.projectId,
|
|
13430
|
-
conflictResolutionJobId,
|
|
13431
|
-
error: payloadError instanceof Error ? payloadError.message : String(payloadError)
|
|
13432
|
-
});
|
|
13433
|
-
});
|
|
13434
|
-
host.logger.info("[Checkpoint] git conflicts handed to AI resolution", {
|
|
13414
|
+
if (job.kind === FIX_GIT_CONFLICTS_TASK_KIND) {
|
|
13415
|
+
host.logger.warn("[Checkpoint] conflict during a conflict-resolution run, skipping resolve", {
|
|
13435
13416
|
projectId: job.projectId,
|
|
13436
13417
|
siteBranchId: job.siteBranchId,
|
|
13437
|
-
conflictResolutionJobId,
|
|
13438
13418
|
files
|
|
13439
13419
|
});
|
|
13440
|
-
|
|
13441
|
-
|
|
13442
|
-
|
|
13443
|
-
|
|
13444
|
-
|
|
13445
|
-
|
|
13446
|
-
|
|
13447
|
-
|
|
13420
|
+
} else {
|
|
13421
|
+
try {
|
|
13422
|
+
const conflictResolutionJobId = await callResolveCheckpointConflict(orchestratorHttpClient, job.siteBranchId);
|
|
13423
|
+
if (!conflictResolutionJobId) {
|
|
13424
|
+
throw new Error("resolveCheckpointConflict returned no conflict resolution job id");
|
|
13425
|
+
}
|
|
13426
|
+
outcome = {
|
|
13427
|
+
status: "resolvingGitConflicts",
|
|
13428
|
+
conflictResolutionJobId,
|
|
13429
|
+
conflictedFiles: files
|
|
13430
|
+
};
|
|
13431
|
+
await host.jobs.updatePayload({ jobId: job.jobId, taskId: job.taskId }, {
|
|
13432
|
+
checkpointStatus: "resolvingGitConflicts",
|
|
13433
|
+
conflictResolutionJobId,
|
|
13434
|
+
conflictedFiles: files
|
|
13435
|
+
}).catch((payloadError) => {
|
|
13436
|
+
host.logger.warn("[Checkpoint] failed to publish the resolving-conflicts state", {
|
|
13437
|
+
projectId: job.projectId,
|
|
13438
|
+
conflictResolutionJobId,
|
|
13439
|
+
error: payloadError instanceof Error ? payloadError.message : String(payloadError)
|
|
13440
|
+
});
|
|
13441
|
+
});
|
|
13442
|
+
host.logger.info("[Checkpoint] git conflicts handed to AI resolution", {
|
|
13443
|
+
projectId: job.projectId,
|
|
13444
|
+
siteBranchId: job.siteBranchId,
|
|
13445
|
+
conflictResolutionJobId,
|
|
13446
|
+
files
|
|
13447
|
+
});
|
|
13448
|
+
return;
|
|
13449
|
+
} catch (resolveError) {
|
|
13450
|
+
host.logger.error("[Checkpoint] git conflict resolution dispatch failed", {
|
|
13451
|
+
projectId: job.projectId,
|
|
13452
|
+
siteBranchId: job.siteBranchId,
|
|
13453
|
+
files,
|
|
13454
|
+
error: resolveError instanceof Error ? resolveError.message : String(resolveError)
|
|
13455
|
+
});
|
|
13456
|
+
}
|
|
13448
13457
|
}
|
|
13449
13458
|
}
|
|
13450
13459
|
outcome = { status: "failed", error };
|
|
@@ -17449,36 +17458,6 @@ var require_OpenCodeOrchestrator = __commonJS({
|
|
|
17449
17458
|
}
|
|
17450
17459
|
});
|
|
17451
17460
|
|
|
17452
|
-
// dist/flows/codegen-flow-helpers.js
|
|
17453
|
-
var require_codegen_flow_helpers = __commonJS({
|
|
17454
|
-
"dist/flows/codegen-flow-helpers.js"(exports2) {
|
|
17455
|
-
"use strict";
|
|
17456
|
-
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
|
|
17457
|
-
return mod && mod.__esModule ? mod : { "default": mod };
|
|
17458
|
-
};
|
|
17459
|
-
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
17460
|
-
exports2.updateJobPayload = updateJobPayload;
|
|
17461
|
-
exports2.updateParentTaskStatus = updateParentTaskStatus;
|
|
17462
|
-
exports2.getOutputPath = getOutputPath;
|
|
17463
|
-
var path_1 = __importDefault2(require("path"));
|
|
17464
|
-
var codeGenerationService_12 = require_codeGenerationService();
|
|
17465
|
-
var utils_1 = require_utils9();
|
|
17466
|
-
var DEFAULT_OUTPUT_PATH = "generated-app";
|
|
17467
|
-
async function updateJobPayload(jobContext, payload) {
|
|
17468
|
-
await codeGenerationService_12.codeGenerationService.updateJob(jobContext.jobId, payload);
|
|
17469
|
-
}
|
|
17470
|
-
async function updateParentTaskStatus(jobContext, status, error) {
|
|
17471
|
-
await codeGenerationService_12.codeGenerationService.updateTask(jobContext.jobId, jobContext.taskId, status, {
|
|
17472
|
-
...error ? { error: (0, utils_1.serializeError)(error) } : {}
|
|
17473
|
-
});
|
|
17474
|
-
}
|
|
17475
|
-
function getOutputPath() {
|
|
17476
|
-
const outputDir = process.env.OUTPUT_PATH || DEFAULT_OUTPUT_PATH;
|
|
17477
|
-
return outputDir.startsWith("/") ? outputDir : path_1.default.join(process.cwd(), outputDir);
|
|
17478
|
-
}
|
|
17479
|
-
}
|
|
17480
|
-
});
|
|
17481
|
-
|
|
17482
17461
|
// dist/flows/agent-io.js
|
|
17483
17462
|
var require_agent_io = __commonJS({
|
|
17484
17463
|
"dist/flows/agent-io.js"(exports2) {
|
|
@@ -17539,6 +17518,51 @@ var require_agent_io = __commonJS({
|
|
|
17539
17518
|
}
|
|
17540
17519
|
});
|
|
17541
17520
|
|
|
17521
|
+
// dist/flows/codegen-flow-helpers.js
|
|
17522
|
+
var require_codegen_flow_helpers = __commonJS({
|
|
17523
|
+
"dist/flows/codegen-flow-helpers.js"(exports2) {
|
|
17524
|
+
"use strict";
|
|
17525
|
+
var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
|
|
17526
|
+
return mod && mod.__esModule ? mod : { "default": mod };
|
|
17527
|
+
};
|
|
17528
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
17529
|
+
exports2.updateJobPayload = updateJobPayload;
|
|
17530
|
+
exports2.buildFailedRunPayload = buildFailedRunPayload;
|
|
17531
|
+
exports2.updateParentTaskStatus = updateParentTaskStatus;
|
|
17532
|
+
exports2.getOutputPath = getOutputPath;
|
|
17533
|
+
var path_1 = __importDefault2(require("path"));
|
|
17534
|
+
var codeGenerationService_12 = require_codeGenerationService();
|
|
17535
|
+
var git_file_changes_1 = require_git_file_changes();
|
|
17536
|
+
var collect_extensions_created_1 = require_collect_extensions_created();
|
|
17537
|
+
var agent_io_1 = require_agent_io();
|
|
17538
|
+
var utils_1 = require_utils9();
|
|
17539
|
+
var DEFAULT_OUTPUT_PATH = "generated-app";
|
|
17540
|
+
async function updateJobPayload(jobContext, payload) {
|
|
17541
|
+
await codeGenerationService_12.codeGenerationService.updateJob(jobContext.jobId, payload);
|
|
17542
|
+
}
|
|
17543
|
+
async function buildFailedRunPayload(error, outputPath, gitBaseline) {
|
|
17544
|
+
const files = await (0, git_file_changes_1.collectGitFileChanges)(outputPath, gitBaseline);
|
|
17545
|
+
const extensions = await (0, collect_extensions_created_1.buildExtensionsJobPayload)(outputPath, files);
|
|
17546
|
+
return {
|
|
17547
|
+
requiredPermissions: [],
|
|
17548
|
+
error,
|
|
17549
|
+
files,
|
|
17550
|
+
...(0, agent_io_1.readAgentOutput)(outputPath),
|
|
17551
|
+
extensions
|
|
17552
|
+
};
|
|
17553
|
+
}
|
|
17554
|
+
async function updateParentTaskStatus(jobContext, status, error) {
|
|
17555
|
+
await codeGenerationService_12.codeGenerationService.updateTask(jobContext.jobId, jobContext.taskId, status, {
|
|
17556
|
+
...error ? { error: (0, utils_1.serializeError)(error) } : {}
|
|
17557
|
+
});
|
|
17558
|
+
}
|
|
17559
|
+
function getOutputPath() {
|
|
17560
|
+
const outputDir = process.env.OUTPUT_PATH || DEFAULT_OUTPUT_PATH;
|
|
17561
|
+
return outputDir.startsWith("/") ? outputDir : path_1.default.join(process.cwd(), outputDir);
|
|
17562
|
+
}
|
|
17563
|
+
}
|
|
17564
|
+
});
|
|
17565
|
+
|
|
17542
17566
|
// dist/opencode-integration/inject-created-by.js
|
|
17543
17567
|
var require_inject_created_by = __commonJS({
|
|
17544
17568
|
"dist/opencode-integration/inject-created-by.js"(exports2) {
|
|
@@ -22692,6 +22716,7 @@ var require_opencode_init = __commonJS({
|
|
|
22692
22716
|
});
|
|
22693
22717
|
const outputPath = (0, codegen_flow_helpers_12.getOutputPath)();
|
|
22694
22718
|
const gitBaseline = await (0, git_file_changes_1.captureGitBaseline)(outputPath);
|
|
22719
|
+
store.gitBaseline = gitBaseline;
|
|
22695
22720
|
const orchestrator = new OpenCodeOrchestrator_1.OpenCodeOrchestrator();
|
|
22696
22721
|
let caughtError;
|
|
22697
22722
|
try {
|
|
@@ -22752,16 +22777,8 @@ var require_opencode_init = __commonJS({
|
|
|
22752
22777
|
} catch (error) {
|
|
22753
22778
|
caughtError = error;
|
|
22754
22779
|
const codegenError = (0, ditto_codegen_types_2.toCodegenError)(error);
|
|
22755
|
-
const
|
|
22756
|
-
|
|
22757
|
-
const extensions = await (0, collect_extensions_created_1.buildExtensionsJobPayload)(outputPath, files);
|
|
22758
|
-
await (0, codegen_flow_helpers_12.updateJobPayload)(localJobContext, {
|
|
22759
|
-
requiredPermissions: [],
|
|
22760
|
-
error: codegenError,
|
|
22761
|
-
files,
|
|
22762
|
-
...agentOutput,
|
|
22763
|
-
extensions
|
|
22764
|
-
});
|
|
22780
|
+
const failedRunPayload = await (0, codegen_flow_helpers_12.buildFailedRunPayload)(codegenError, outputPath, gitBaseline);
|
|
22781
|
+
await (0, codegen_flow_helpers_12.updateJobPayload)(localJobContext, failedRunPayload);
|
|
22765
22782
|
await (0, codegen_flow_helpers_12.updateParentTaskStatus)(localJobContext, ditto_codegen_types_12.Status.FAILED, codegenError);
|
|
22766
22783
|
const taskCost = orchestrator.lastUsage ? Math.round(orchestrator.lastUsage.cost * 1e6) : void 0;
|
|
22767
22784
|
await (0, biEvents_1.reportSessionEnd)({
|
|
@@ -22770,7 +22787,7 @@ var require_opencode_init = __commonJS({
|
|
|
22770
22787
|
taskType: kind,
|
|
22771
22788
|
taskCost,
|
|
22772
22789
|
taskStatus: ditto_codegen_types_12.Status.FAILED,
|
|
22773
|
-
agentOutput: JSON.stringify({ files }),
|
|
22790
|
+
agentOutput: JSON.stringify({ files: failedRunPayload.files }),
|
|
22774
22791
|
jobDuration: String(Date.now() - flowStartTime)
|
|
22775
22792
|
});
|
|
22776
22793
|
await (0, biEvents_1.reportSessionError)({
|
|
@@ -22906,6 +22923,7 @@ var require_opencode_iterate = __commonJS({
|
|
|
22906
22923
|
});
|
|
22907
22924
|
const outputPath = (0, codegen_flow_helpers_12.getOutputPath)();
|
|
22908
22925
|
const gitBaseline = await (0, git_file_changes_1.captureGitBaseline)(outputPath);
|
|
22926
|
+
store.gitBaseline = gitBaseline;
|
|
22909
22927
|
const iterationOrchestrator = new OpenCodeIterationOrchestrator_1.OpenCodeIterationOrchestrator();
|
|
22910
22928
|
let caughtError;
|
|
22911
22929
|
try {
|
|
@@ -22956,16 +22974,8 @@ var require_opencode_iterate = __commonJS({
|
|
|
22956
22974
|
} catch (error) {
|
|
22957
22975
|
caughtError = error;
|
|
22958
22976
|
const codegenError = (0, ditto_codegen_types_2.toCodegenError)(error);
|
|
22959
|
-
const
|
|
22960
|
-
|
|
22961
|
-
const extensions = await (0, collect_extensions_created_1.buildExtensionsJobPayload)(outputPath, files);
|
|
22962
|
-
await (0, codegen_flow_helpers_12.updateJobPayload)(localJobContext, {
|
|
22963
|
-
requiredPermissions: [],
|
|
22964
|
-
error: codegenError,
|
|
22965
|
-
files,
|
|
22966
|
-
...agentOutput,
|
|
22967
|
-
extensions
|
|
22968
|
-
});
|
|
22977
|
+
const failedRunPayload = await (0, codegen_flow_helpers_12.buildFailedRunPayload)(codegenError, outputPath, gitBaseline);
|
|
22978
|
+
await (0, codegen_flow_helpers_12.updateJobPayload)(localJobContext, failedRunPayload);
|
|
22969
22979
|
await (0, codegen_flow_helpers_12.updateParentTaskStatus)(localJobContext, ditto_codegen_types_12.Status.FAILED, codegenError);
|
|
22970
22980
|
const taskCost = iterationOrchestrator.lastUsage ? Math.round(iterationOrchestrator.lastUsage.cost * 1e6) : void 0;
|
|
22971
22981
|
await (0, biEvents_1.reportSessionEnd)({
|
|
@@ -22974,7 +22984,7 @@ var require_opencode_iterate = __commonJS({
|
|
|
22974
22984
|
taskType: kind,
|
|
22975
22985
|
taskCost,
|
|
22976
22986
|
taskStatus: ditto_codegen_types_12.Status.FAILED,
|
|
22977
|
-
agentOutput: JSON.stringify({ files }),
|
|
22987
|
+
agentOutput: JSON.stringify({ files: failedRunPayload.files }),
|
|
22978
22988
|
jobDuration: String(Date.now() - flowStartTime)
|
|
22979
22989
|
});
|
|
22980
22990
|
await (0, biEvents_1.reportSessionError)({
|
|
@@ -23104,6 +23114,7 @@ var require_opencode_ask = __commonJS({
|
|
|
23104
23114
|
});
|
|
23105
23115
|
const outputPath = (0, codegen_flow_helpers_12.getOutputPath)();
|
|
23106
23116
|
const gitBaseline = await (0, git_file_changes_1.captureGitBaseline)(outputPath);
|
|
23117
|
+
store.gitBaseline = gitBaseline;
|
|
23107
23118
|
const askOrchestrator = new OpenCodeAskOrchestrator_1.OpenCodeAskOrchestrator();
|
|
23108
23119
|
try {
|
|
23109
23120
|
(0, cli_listeners_1.attachOrchestratorListeners)(askOrchestrator);
|
|
@@ -23284,6 +23295,7 @@ var require_opencode_fix_git_conflicts = __commonJS({
|
|
|
23284
23295
|
});
|
|
23285
23296
|
const outputPath = (0, codegen_flow_helpers_12.getOutputPath)();
|
|
23286
23297
|
const gitBaseline = await (0, git_file_changes_1.captureGitBaseline)(outputPath);
|
|
23298
|
+
store.gitBaseline = gitBaseline;
|
|
23287
23299
|
const orchestrator = new OpenCodeGitConflictsOrchestrator_1.OpenCodeGitConflictsOrchestrator();
|
|
23288
23300
|
let caughtError;
|
|
23289
23301
|
try {
|
|
@@ -23459,6 +23471,7 @@ var require_job_timeout_monitor = __commonJS({
|
|
|
23459
23471
|
var logger_12 = require_logger();
|
|
23460
23472
|
var context_12 = require_context();
|
|
23461
23473
|
var job_context_storage_12 = require_job_context_storage();
|
|
23474
|
+
var codegen_flow_helpers_12 = require_codegen_flow_helpers();
|
|
23462
23475
|
var types_1 = require_types_impl();
|
|
23463
23476
|
var biEvents_1 = require_biEvents();
|
|
23464
23477
|
exports2.JOB_TIMEOUT_MS = 1e3 * 60 * 20;
|
|
@@ -23486,31 +23499,30 @@ var require_job_timeout_monitor = __commonJS({
|
|
|
23486
23499
|
});
|
|
23487
23500
|
try {
|
|
23488
23501
|
logger_12.logger.info("[Job] Timeout detected, exiting", logContext);
|
|
23489
|
-
const
|
|
23502
|
+
const job = await this.codeGenerationService.getJob(jobId);
|
|
23503
|
+
const codegenError = this.resolveTimeoutError(jobId, job);
|
|
23490
23504
|
await (0, utils_1.updateAllRunningTasks)(jobId, ditto_codegen_types_12.Status.FAILED, codegenError);
|
|
23491
|
-
await this.codeGenerationService.
|
|
23492
|
-
|
|
23505
|
+
await this.codeGenerationService.updateJobStatus(jobId, ditto_codegen_types_12.Status.FAILED);
|
|
23506
|
+
const failedRunPayload = await (0, codegen_flow_helpers_12.buildFailedRunPayload)(codegenError, (0, codegen_flow_helpers_12.getOutputPath)(), job_context_storage_12.jobContextStorage.getStore()?.gitBaseline ?? "");
|
|
23507
|
+
await this.codeGenerationService.updateJob(jobId, {
|
|
23508
|
+
...job?.payload,
|
|
23509
|
+
...failedRunPayload
|
|
23510
|
+
});
|
|
23511
|
+
logger_12.logger.info("[Job] Marked job as failed, failed all running tasks", logContext);
|
|
23493
23512
|
await this.reportTimeoutBi(jobId, codegenError);
|
|
23494
23513
|
process.exit();
|
|
23495
23514
|
} catch (error) {
|
|
23496
|
-
logger_12.logger.error("[Job] Failed to mark timed-out job as
|
|
23515
|
+
logger_12.logger.error("[Job] Failed to mark timed-out job as failed", {
|
|
23497
23516
|
...logContext,
|
|
23498
23517
|
error: error instanceof Error ? error.message : String(error)
|
|
23499
23518
|
});
|
|
23519
|
+
throw error;
|
|
23500
23520
|
}
|
|
23501
23521
|
}
|
|
23502
|
-
|
|
23503
|
-
|
|
23504
|
-
|
|
23505
|
-
|
|
23506
|
-
if (pendingDecision?.id) {
|
|
23507
|
-
return new ditto_codegen_types_12.UserDecisionTimeoutError(jobId, pendingDecision.id);
|
|
23508
|
-
}
|
|
23509
|
-
} catch (error) {
|
|
23510
|
-
logger_12.logger.warn("[Job] Could not determine timeout error type", {
|
|
23511
|
-
jobId,
|
|
23512
|
-
error: error instanceof Error ? error.message : String(error)
|
|
23513
|
-
});
|
|
23522
|
+
resolveTimeoutError(jobId, job) {
|
|
23523
|
+
const pendingDecision = job?.pendingUserDecisions?.find((decision) => !decision.response?.selectedOptionId);
|
|
23524
|
+
if (pendingDecision?.id) {
|
|
23525
|
+
return new ditto_codegen_types_12.UserDecisionTimeoutError(jobId, pendingDecision.id);
|
|
23514
23526
|
}
|
|
23515
23527
|
return new ditto_codegen_types_12.TimeoutError(`Job exceeded timeout of ${exports2.JOB_TIMEOUT_MS}ms`);
|
|
23516
23528
|
}
|
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.437",
|
|
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": "fa7b527ce78aed885889951926ab8c492e1b9f58e57ba82962990fbf"
|
|
33
33
|
}
|