@wix/ditto-codegen-public 1.0.431 → 1.0.433

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.
Files changed (2) hide show
  1. package/dist/out.js +147 -45
  2. package/package.json +2 -2
package/dist/out.js CHANGED
@@ -11458,7 +11458,19 @@ INSTRUCTIONS:
11458
11458
  function buildIterationPrompt(chatHistory) {
11459
11459
  return buildPrompt(buildIterationBasePrompt(chatHistory));
11460
11460
  }
11461
- function buildRecoveryPrompt(originalPrompt, filesChanged, error) {
11461
+ var INCREMENTAL_WRITE_STRATEGY = `WHY THE PREVIOUS SESSION FAILED:
11462
+ A single tool call tried to produce more content than one turn can stream, so it was cut off
11463
+ and nothing was saved. The same approach will fail again.
11464
+
11465
+ RECOVERY STRATEGY:
11466
+ 1. One file per tool call, ~200 lines or 1,500 words at most.
11467
+ 2. For anything larger, write the first section, then append the rest with follow-up edits,
11468
+ or split it across several files and import them.
11469
+ 3. Prefer many small steps over one big step.`;
11470
+ function buildRecoveryPrompt(originalPrompt, filesChanged, error, failureReason) {
11471
+ const strategy = failureReason === "stall" ? `
11472
+ ${INCREMENTAL_WRITE_STRATEGY}
11473
+ ` : "";
11462
11474
  return buildPrompt(`You are continuing a code generation task that was interrupted due to a session error.
11463
11475
 
11464
11476
  ORIGINAL TASK:
@@ -11469,7 +11481,7 @@ ${(0, prompt_utils_1.formatFilesList)(filesChanged)}
11469
11481
 
11470
11482
  PREVIOUS SESSION ERROR:
11471
11483
  ${error}
11472
-
11484
+ ${strategy}
11473
11485
  INSTRUCTIONS:
11474
11486
  1. Review the files listed above that were already created/modified in the previous session
11475
11487
  2. Continue with any remaining work needed to fulfill the original task
@@ -16517,13 +16529,14 @@ var require_process_manager = __commonJS({
16517
16529
  "dist/opencode-integration/process-manager.js"(exports2) {
16518
16530
  "use strict";
16519
16531
  Object.defineProperty(exports2, "__esModule", { value: true });
16520
- exports2.KILL_GRACE_PERIOD_MS = exports2.IDLE_CHECK_INTERVAL_MS = exports2.IDLE_TIMEOUT_MS = void 0;
16532
+ exports2.MAX_STARTS_WITHOUT_FINISH = exports2.KILL_GRACE_PERIOD_MS = exports2.IDLE_CHECK_INTERVAL_MS = exports2.IDLE_TIMEOUT_MS = void 0;
16521
16533
  exports2.clearTimers = clearTimers;
16522
16534
  exports2.killProcess = killProcess;
16523
16535
  var logger_12 = require_logger();
16524
16536
  exports2.IDLE_TIMEOUT_MS = 6e5;
16525
16537
  exports2.IDLE_CHECK_INTERVAL_MS = 15e3;
16526
16538
  exports2.KILL_GRACE_PERIOD_MS = 5e3;
16539
+ exports2.MAX_STARTS_WITHOUT_FINISH = 3;
16527
16540
  function clearTimers(timers) {
16528
16541
  if (timers.timeoutId) {
16529
16542
  clearTimeout(timers.timeoutId);
@@ -16570,24 +16583,13 @@ var require_result_builder = __commonJS({
16570
16583
  Object.defineProperty(exports2, "__esModule", { value: true });
16571
16584
  exports2.createTimeoutResult = createTimeoutResult;
16572
16585
  exports2.createSuccessResult = createSuccessResult;
16586
+ exports2.createFailedResult = createFailedResult;
16573
16587
  exports2.createSpawnErrorResult = createSpawnErrorResult;
16574
16588
  var ditto_codegen_types_12 = require_dist4();
16575
16589
  var tool_usage_1 = require_tool_usage();
16576
16590
  var parser_1 = require_parser();
16577
16591
  function createTimeoutResult(message, stdout, stderr, startTime) {
16578
- return {
16579
- success: false,
16580
- exitCode: null,
16581
- stdout,
16582
- stderr,
16583
- agentMessage: (0, parser_1.parseAnswerText)(stdout),
16584
- error: new ditto_codegen_types_12.TimeoutError(message),
16585
- durationMs: Date.now() - startTime,
16586
- requiredPermissions: [],
16587
- usage: (0, parser_1.parseUsageStats)(stdout),
16588
- skillsUsed: [],
16589
- toolUsage: (0, tool_usage_1.emptyToolUsage)()
16590
- };
16592
+ return createFailedResult(new ditto_codegen_types_12.TimeoutError(message), stdout, stderr, startTime);
16591
16593
  }
16592
16594
  function createSuccessResult(code, stdout, stderr, startTime) {
16593
16595
  return {
@@ -16608,6 +16610,21 @@ var require_result_builder = __commonJS({
16608
16610
  toolUsage: (0, tool_usage_1.emptyToolUsage)()
16609
16611
  };
16610
16612
  }
16613
+ function createFailedResult(error, stdout, stderr, startTime) {
16614
+ return {
16615
+ success: false,
16616
+ exitCode: null,
16617
+ stdout,
16618
+ stderr,
16619
+ agentMessage: (0, parser_1.parseAnswerText)(stdout),
16620
+ error,
16621
+ durationMs: Date.now() - startTime,
16622
+ requiredPermissions: [],
16623
+ usage: (0, parser_1.parseUsageStats)(stdout),
16624
+ skillsUsed: [],
16625
+ toolUsage: (0, tool_usage_1.emptyToolUsage)()
16626
+ };
16627
+ }
16611
16628
  function createSpawnErrorResult(errorMessage, stdout, stderr, startTime) {
16612
16629
  return {
16613
16630
  success: false,
@@ -16636,12 +16653,14 @@ var require_process_handlers = __commonJS({
16636
16653
  Object.defineProperty(exports2, "__esModule", { value: true });
16637
16654
  exports2.setupTotalTimeout = setupTotalTimeout;
16638
16655
  exports2.setupIdleWatchdog = setupIdleWatchdog;
16656
+ exports2.trackTurnProgress = trackTurnProgress;
16639
16657
  exports2.setupStdoutHandler = setupStdoutHandler;
16640
16658
  exports2.setupStderrHandler = setupStderrHandler;
16641
16659
  exports2.setupCloseHandler = setupCloseHandler;
16642
16660
  exports2.setupErrorHandler = setupErrorHandler;
16643
16661
  var parser_1 = require_parser();
16644
16662
  var config_12 = require_config();
16663
+ var ditto_codegen_types_12 = require_dist4();
16645
16664
  var process_manager_1 = require_process_manager();
16646
16665
  var result_builder_1 = require_result_builder();
16647
16666
  var logger_12 = require_logger();
@@ -16666,6 +16685,49 @@ var require_process_handlers = __commonJS({
16666
16685
  }
16667
16686
  }, process_manager_1.IDLE_CHECK_INTERVAL_MS);
16668
16687
  }
16688
+ function trackTurnProgress(state, event) {
16689
+ if (event.type === "step_finish") {
16690
+ state.startsWithoutFinish = 0;
16691
+ return;
16692
+ }
16693
+ if (event.type !== "step_start")
16694
+ return;
16695
+ state.startsWithoutFinish += 1;
16696
+ if (state.startsWithoutFinish < process_manager_1.MAX_STARTS_WITHOUT_FINISH)
16697
+ return;
16698
+ throw new ditto_codegen_types_12.TimeoutError(`Process stalled - ${process_manager_1.MAX_STARTS_WITHOUT_FINISH} turns started without completing`);
16699
+ }
16700
+ function handleStdoutLine(ctx, line, trackProgress) {
16701
+ ctx.taskTracker.processLine(line);
16702
+ if (!line.trim())
16703
+ return null;
16704
+ let event = null;
16705
+ try {
16706
+ event = JSON.parse(line);
16707
+ logger_12.logger.debug("[OpenCode] stdout", (0, parser_1.summarizeOpenCodeLine)(event));
16708
+ } catch {
16709
+ logger_12.logger.debug("[OpenCode] stdout", { line: line.slice(0, 200) });
16710
+ }
16711
+ if (!event || !trackProgress)
16712
+ return null;
16713
+ try {
16714
+ trackTurnProgress(ctx.state, event);
16715
+ return null;
16716
+ } catch (error) {
16717
+ return error instanceof ditto_codegen_types_12.TimeoutError ? error : new ditto_codegen_types_12.TimeoutError(String(error));
16718
+ }
16719
+ }
16720
+ function failStalledRun(ctx, stall) {
16721
+ logger_12.logger.warn("[OpenCode] Killing stalled process", {
16722
+ error: stall.message,
16723
+ startsWithoutFinish: ctx.state.startsWithoutFinish
16724
+ });
16725
+ (0, process_manager_1.killProcess)(ctx.child, ctx.state.resolved);
16726
+ ctx.finalize({
16727
+ ...(0, result_builder_1.createFailedResult)(stall, ctx.state.stdout, ctx.state.stderr, ctx.startTime),
16728
+ stalled: true
16729
+ });
16730
+ }
16669
16731
  function setupStdoutHandler(ctx, onStdout) {
16670
16732
  ctx.child?.stdout?.on("data", (data) => {
16671
16733
  const text = data.toString();
@@ -16674,21 +16736,18 @@ var require_process_handlers = __commonJS({
16674
16736
  ctx.state.lineBuffer += text;
16675
16737
  const lines = ctx.state.lineBuffer.split("\n");
16676
16738
  ctx.state.lineBuffer = lines.pop() || "";
16739
+ let stall = null;
16677
16740
  for (const line of lines) {
16678
- ctx.taskTracker.processLine(line);
16679
- if (line.trim()) {
16680
- try {
16681
- logger_12.logger.debug("[OpenCode] stdout", (0, parser_1.summarizeOpenCodeLine)(JSON.parse(line)));
16682
- } catch {
16683
- logger_12.logger.debug("[OpenCode] stdout", { line: line.slice(0, 200) });
16684
- }
16685
- }
16741
+ const found = handleStdoutLine(ctx, line, !stall && !ctx.state.resolved);
16742
+ stall ??= found;
16686
16743
  }
16687
16744
  if (onStdout) {
16688
16745
  onStdout(text);
16689
16746
  } else {
16690
16747
  process.stdout.write(text);
16691
16748
  }
16749
+ if (stall && !ctx.state.resolved)
16750
+ failStalledRun(ctx, stall);
16692
16751
  });
16693
16752
  }
16694
16753
  function setupStderrHandler(ctx, onStderr) {
@@ -16725,6 +16784,7 @@ var require_executor = __commonJS({
16725
16784
  "use strict";
16726
16785
  Object.defineProperty(exports2, "__esModule", { value: true });
16727
16786
  exports2.notifyValidatorOutputsToSlack = notifyValidatorOutputsToSlack;
16787
+ exports2.classifyAttempt = classifyAttempt;
16728
16788
  exports2.executeOpenCode = executeOpenCode;
16729
16789
  exports2.resolveFinalRunCost = resolveFinalRunCost;
16730
16790
  var child_process_1 = require("child_process");
@@ -16742,6 +16802,7 @@ var require_executor = __commonJS({
16742
16802
  var process_handlers_1 = require_process_handlers();
16743
16803
  var logger_12 = require_logger();
16744
16804
  var MAX_RETRIES = 5;
16805
+ var MAX_STALL_ATTEMPTS = 2;
16745
16806
  async function notifyValidatorOutputsToSlack(stdout, costUsd) {
16746
16807
  try {
16747
16808
  const store = job_context_storage_12.jobContextStorage.getStore();
@@ -16773,12 +16834,33 @@ var require_executor = __commonJS({
16773
16834
  });
16774
16835
  }
16775
16836
  }
16837
+ function failureReason(result) {
16838
+ if (result.stalled)
16839
+ return "stall";
16840
+ if ((0, parser_1.hasSessionError)(result.stdout))
16841
+ return "session error";
16842
+ if (result.error instanceof ditto_codegen_types_12.ProcessExecutionError) {
16843
+ return "process execution error";
16844
+ }
16845
+ if (!result.success && result.error instanceof ditto_codegen_types_12.TimeoutError) {
16846
+ return "timeout";
16847
+ }
16848
+ return null;
16849
+ }
16850
+ function classifyAttempt(result, stalls) {
16851
+ const reason = failureReason(result);
16852
+ if (!reason)
16853
+ return { retryable: false, reason: null };
16854
+ return { retryable: stalls < MAX_STALL_ATTEMPTS, reason };
16855
+ }
16776
16856
  async function executeOpenCode(options) {
16777
16857
  let lastResult = null;
16778
16858
  let accumulatedUsage = (0, parser_1.createEmptyUsageStats)();
16779
16859
  const accumulatedSkills = [];
16780
16860
  const toolUsage = new tool_usage_1.ToolUsageCollector();
16781
16861
  let currentPrompt = options.prompt;
16862
+ let lastFailureReason = null;
16863
+ let stalls = 0;
16782
16864
  let continueSession = options.continueSession ?? false;
16783
16865
  const env = (0, config_12.getOpenCodeEnv)(options.projectId, job_context_storage_12.jobContextStorage.getStore()?.kind);
16784
16866
  const statsBaseline = await (0, cost_tracker_1.fetchOpenCodeStats)(options.outputPath, env);
@@ -16786,20 +16868,25 @@ var require_executor = __commonJS({
16786
16868
  logger_12.logger.debug("[OpenCode] Stats baseline before run", { baselineCost });
16787
16869
  for (let attempt = 1; attempt <= MAX_RETRIES; attempt++) {
16788
16870
  if (attempt > 1) {
16789
- logger_12.logger.info(`[OpenCode] Retry attempt ${attempt}/${MAX_RETRIES} - starting fresh session with recovery context`);
16871
+ const failureDetail = lastResult?.error?.message || lastResult?.stderr || "Process timed out";
16872
+ logger_12.logger.info(`[OpenCode] Retry attempt ${attempt}/${MAX_RETRIES} after ${lastFailureReason} - starting fresh session with recovery context`, { reason: lastFailureReason, detail: failureDetail.slice(0, 500) });
16790
16873
  const filesChanged = await (0, git_file_changes_1.collectGitFileChanges)(options.outputPath, options.gitBaseline);
16791
- currentPrompt = (0, prompts_1.buildRecoveryPrompt)(options.prompt, filesChanged, lastResult?.error?.message || lastResult?.stderr || "Process timed out");
16874
+ currentPrompt = (0, prompts_1.buildRecoveryPrompt)(options.prompt, filesChanged, failureDetail, lastFailureReason);
16792
16875
  continueSession = false;
16793
16876
  }
16794
16877
  const result = await executeOpenCodeOnce({ ...options, prompt: currentPrompt, continueSession }, attempt, toolUsage);
16795
16878
  accumulatedUsage = (0, parser_1.mergeUsageStats)(accumulatedUsage, result.usage);
16796
16879
  accumulatedSkills.push(...result.skillsUsed);
16797
- const errorMsg = result.error?.message.toLowerCase() ?? "";
16798
- const isIdleTimeout = !result.success && errorMsg.includes("idle timeout");
16799
- const isSessionError = (0, parser_1.hasSessionError)(result.stdout);
16800
- const isProcessError = result.error instanceof ditto_codegen_types_12.ProcessExecutionError;
16801
- const isRetryableFailure = isIdleTimeout || isSessionError || isProcessError;
16802
- if (!isRetryableFailure) {
16880
+ if (result.stalled)
16881
+ stalls += 1;
16882
+ const { retryable, reason } = classifyAttempt(result, stalls);
16883
+ if (!retryable) {
16884
+ if (reason) {
16885
+ logger_12.logger.warn(`[OpenCode] Not retrying after ${reason}`, {
16886
+ attempt,
16887
+ stalls
16888
+ });
16889
+ }
16803
16890
  accumulatedUsage = await resolveFinalRunCost(accumulatedUsage, options, baselineCost);
16804
16891
  const finalResult2 = {
16805
16892
  ...result,
@@ -16812,10 +16899,11 @@ var require_executor = __commonJS({
16812
16899
  return finalResult2;
16813
16900
  }
16814
16901
  lastResult = result;
16815
- const reason = isSessionError ? "session error" : isProcessError ? "process execution error" : "idle timeout";
16902
+ lastFailureReason = reason;
16816
16903
  logger_12.logger.warn(`[OpenCode] Attempt failed due to ${reason}, will retry`, {
16817
16904
  attempt,
16818
- maxRetries: MAX_RETRIES
16905
+ maxRetries: MAX_RETRIES,
16906
+ detail: (result.error?.message || result.stderr || "").slice(0, 500)
16819
16907
  });
16820
16908
  }
16821
16909
  logger_12.logger.warn("[OpenCode] All retry attempts exhausted", {
@@ -16866,7 +16954,8 @@ var require_executor = __commonJS({
16866
16954
  stderr: "",
16867
16955
  lineBuffer: "",
16868
16956
  lastOutputTime: Date.now(),
16869
- resolved: false
16957
+ resolved: false,
16958
+ startsWithoutFinish: 0
16870
16959
  };
16871
16960
  const timers = {
16872
16961
  timeoutId: null,
@@ -22133,11 +22222,19 @@ var require_biEvents = __commonJS({
22133
22222
  var types_1 = require_types_impl();
22134
22223
  var biLogger_1 = require_biLogger();
22135
22224
  var logger_12 = require_logger();
22225
+ var MAX_JOB_INPUT_LENGTH = 3e4;
22226
+ var TRUNCATION_SUFFIX = "\u2026";
22136
22227
  var JOB_STATUS_MAP = {
22137
22228
  COMPLETED: "successful",
22138
22229
  FAILED: "error",
22139
22230
  CANCELLED: "stopped"
22140
22231
  };
22232
+ function truncateJobInput(jobInput) {
22233
+ if (!jobInput || jobInput.length <= MAX_JOB_INPUT_LENGTH) {
22234
+ return jobInput;
22235
+ }
22236
+ return jobInput.slice(0, MAX_JOB_INPUT_LENGTH - TRUNCATION_SUFFIX.length) + TRUNCATION_SUFFIX;
22237
+ }
22141
22238
  function skillsArrayToMap(skills) {
22142
22239
  const map = {};
22143
22240
  for (const skill of skills) {
@@ -22168,6 +22265,7 @@ var require_biEvents = __commonJS({
22168
22265
  }
22169
22266
  const codegenAgentParams = {
22170
22267
  job_id: report.jobId,
22268
+ job_input: truncateJobInput(report.jobInput),
22171
22269
  extra_data: report.extraData,
22172
22270
  Job_cost: report.jobCost,
22173
22271
  dev_machine_session_id: report.devMachineSessionId,
@@ -22377,7 +22475,7 @@ var require_opencode_init = __commonJS({
22377
22475
  if (!store?.jobId || !store?.taskId) {
22378
22476
  throw new Error("Job context not available - jobId and taskId are required");
22379
22477
  }
22380
- const { jobId, taskId, kind } = store;
22478
+ const { jobId, taskId, kind, userInput } = store;
22381
22479
  const localJobContext = { jobId, taskId };
22382
22480
  const environment = process.env.CODEGEN_ENVIRONMENT ?? types_1.Environment.UNKNOWN_ENVIRONMENT;
22383
22481
  const flowStartTime = Date.now();
@@ -22397,7 +22495,8 @@ var require_opencode_init = __commonJS({
22397
22495
  await (0, biEvents_1.reportSessionStart)({
22398
22496
  ...biBase,
22399
22497
  taskModel: config_12.DEFAULT_MODEL,
22400
- taskType: kind
22498
+ taskType: kind,
22499
+ jobInput: userInput
22401
22500
  });
22402
22501
  const outputPath = (0, codegen_flow_helpers_12.getOutputPath)();
22403
22502
  const gitBaseline = await (0, git_file_changes_1.captureGitBaseline)(outputPath);
@@ -22590,7 +22689,7 @@ var require_opencode_iterate = __commonJS({
22590
22689
  if (!store?.jobId || !store?.taskId) {
22591
22690
  throw new Error("Job context not available - jobId and taskId are required");
22592
22691
  }
22593
- const { jobId, taskId, kind } = store;
22692
+ const { jobId, taskId, kind, userInput } = store;
22594
22693
  const localJobContext = { jobId, taskId };
22595
22694
  const environment = process.env.CODEGEN_ENVIRONMENT ?? types_1.Environment.UNKNOWN_ENVIRONMENT;
22596
22695
  const flowStartTime = Date.now();
@@ -22610,7 +22709,8 @@ var require_opencode_iterate = __commonJS({
22610
22709
  await (0, biEvents_1.reportSessionStart)({
22611
22710
  ...biBase,
22612
22711
  taskModel: config_12.DEFAULT_MODEL,
22613
- taskType: kind
22712
+ taskType: kind,
22713
+ jobInput: userInput
22614
22714
  });
22615
22715
  const outputPath = (0, codegen_flow_helpers_12.getOutputPath)();
22616
22716
  const gitBaseline = await (0, git_file_changes_1.captureGitBaseline)(outputPath);
@@ -22787,7 +22887,7 @@ var require_opencode_ask = __commonJS({
22787
22887
  if (!store?.jobId || !store?.taskId) {
22788
22888
  throw new Error("Job context not available - jobId and taskId are required");
22789
22889
  }
22790
- const { jobId, taskId, kind } = store;
22890
+ const { jobId, taskId, kind, userInput } = store;
22791
22891
  const localJobContext = { jobId, taskId };
22792
22892
  const environment = process.env.CODEGEN_ENVIRONMENT ?? types_1.Environment.UNKNOWN_ENVIRONMENT;
22793
22893
  const flowStartTime = Date.now();
@@ -22807,7 +22907,8 @@ var require_opencode_ask = __commonJS({
22807
22907
  await (0, biEvents_1.reportSessionStart)({
22808
22908
  ...biBase,
22809
22909
  taskModel: config_12.DEFAULT_MODEL,
22810
- taskType: kind
22910
+ taskType: kind,
22911
+ jobInput: userInput
22811
22912
  });
22812
22913
  const outputPath = (0, codegen_flow_helpers_12.getOutputPath)();
22813
22914
  const gitBaseline = await (0, git_file_changes_1.captureGitBaseline)(outputPath);
@@ -23637,11 +23738,10 @@ async function main(ctx) {
23637
23738
  var getFirstTask = (job) => {
23638
23739
  return job.tasks?.[0];
23639
23740
  };
23640
- function buildPluginsForTask(jobId, taskId, kind, payload) {
23741
+ function buildPluginsForTask(jobId, taskId, kind, userInput) {
23641
23742
  if (kind !== CodeGenService_1.TaskKind.INIT_CODEGEN && kind !== CodeGenService_1.TaskKind.ITERATE_CODEGEN && kind !== CodeGenService_1.TaskKind.FIX_GIT_CONFLICTS) {
23642
23743
  return void 0;
23643
23744
  }
23644
- const userInput = extractUserInput(kind, payload);
23645
23745
  const host = (0, plugin_host_1.buildPluginHost)();
23646
23746
  return (0, environments_1.getCodegenEnvironmentConfig)().plugins.map((factory) => factory({
23647
23747
  host,
@@ -23659,7 +23759,7 @@ function extractUserInput(kind, payload) {
23659
23759
  if (kind === CodeGenService_1.TaskKind.INIT_CODEGEN) {
23660
23760
  return payload.blueprint?.summary?.trim() || void 0;
23661
23761
  }
23662
- if (kind === CodeGenService_1.TaskKind.ITERATE_CODEGEN || kind === CodeGenService_1.TaskKind.FIX_GIT_CONFLICTS) {
23762
+ if (kind === CodeGenService_1.TaskKind.ITERATE_CODEGEN || kind === CodeGenService_1.TaskKind.FIX_GIT_CONFLICTS || kind === CodeGenService_1.TaskKind.ASK_CODEGEN) {
23663
23763
  const history = payload.history ?? [];
23664
23764
  for (let i = history.length - 1; i >= 0; i--) {
23665
23765
  if (history[i].role === "USER") {
@@ -23680,12 +23780,14 @@ async function processJob(job) {
23680
23780
  return;
23681
23781
  }
23682
23782
  const payload = task.input ?? task.payload ?? {};
23683
- const plugins = buildPluginsForTask(jobId, task.id, task.kind, payload);
23783
+ const userInput = extractUserInput(task.kind, payload);
23784
+ const plugins = buildPluginsForTask(jobId, task.id, task.kind, userInput);
23684
23785
  await job_context_storage_1.jobContextStorage.run({
23685
23786
  jobId,
23686
23787
  taskId: task.id,
23687
23788
  kind: task.kind,
23688
23789
  plugins,
23790
+ userInput,
23689
23791
  metasiteId: context_1.ctx.metasiteId
23690
23792
  }, async () => {
23691
23793
  logger_1.logger.info("[Job] Start processing", { taskKind: task.kind });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/ditto-codegen-public",
3
- "version": "1.0.431",
3
+ "version": "1.0.433",
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": "85a0210cddb251eaf19067e588dd30dc2a73f6bb94352b5b386068d3"
32
+ "falconPackageHash": "1601a0c2e0fc0a29a1d23a9101dd1760a021d72adbd91767267f436d"
33
33
  }