@wix/ditto-codegen-public 1.0.450 → 1.0.452

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 +74 -19
  2. package/package.json +2 -2
package/dist/out.js CHANGED
@@ -10514,12 +10514,16 @@ var require_logger = __commonJS({
10514
10514
  }
10515
10515
  exports2.logger = (() => {
10516
10516
  const environment = process.env.CODEGEN_ENVIRONMENT;
10517
+ const modelOverride = process.env.CODEGEN_MODEL_OVERRIDE;
10518
+ const smallModelOverride = process.env.CODEGEN_SMALL_MODEL_OVERRIDE;
10517
10519
  const getContextLogger = () => {
10518
10520
  const { jobId, metasiteId } = job_context_storage_12.jobContextStorage.getStore() ?? {};
10519
10521
  const data = {
10520
10522
  ...jobId ? { jobId } : {},
10521
10523
  ...metasiteId ? { metasiteId } : {},
10522
- ...environment ? { environment } : {}
10524
+ ...environment ? { environment } : {},
10525
+ ...modelOverride ? { modelOverride } : {},
10526
+ ...smallModelOverride ? { smallModelOverride } : {}
10523
10527
  };
10524
10528
  return createLogger(panoramaFactory.client(Object.keys(data).length > 0 ? { data } : void 0));
10525
10529
  };
@@ -11087,6 +11091,20 @@ var require_CodeGenService = __commonJS({
11087
11091
  ..."stderr" in error && { stderr: error.stderr }
11088
11092
  };
11089
11093
  }
11094
+ function toApiExtension(ext) {
11095
+ return {
11096
+ path: ext.path,
11097
+ extensionType: ext.extensionType,
11098
+ title: ext.title,
11099
+ isSpi: ext.isSpi,
11100
+ routePath: ext.routePath,
11101
+ id: ext.id,
11102
+ files: ext.files.map((f) => ({
11103
+ path: f.path,
11104
+ operation: FILE_OPERATION[f.operation] ?? types_1.FileOperation.UNKNOWN_FILE_OPERATION
11105
+ }))
11106
+ };
11107
+ }
11090
11108
  function toJobOutput(payload) {
11091
11109
  const { requiredPermissions, files, extensions, error, agentMessage, ...rest } = payload;
11092
11110
  return {
@@ -11095,16 +11113,8 @@ var require_CodeGenService = __commonJS({
11095
11113
  path: file.path,
11096
11114
  operation: FILE_OPERATION[file.operation] ?? types_1.FileOperation.UNKNOWN_FILE_OPERATION
11097
11115
  })),
11098
- extensions: extensions?.created?.map((ext) => ({
11099
- path: ext.path,
11100
- extensionType: ext.extensionType,
11101
- title: ext.title,
11102
- isSpi: ext.isSpi,
11103
- files: ext.files.map((f) => ({
11104
- path: f.path,
11105
- operation: FILE_OPERATION[f.operation] ?? types_1.FileOperation.UNKNOWN_FILE_OPERATION
11106
- }))
11107
- })),
11116
+ extensionsCreated: extensions?.created?.map(toApiExtension),
11117
+ extensionsUpdated: extensions?.updated?.map(toApiExtension),
11108
11118
  error: toApiError(error),
11109
11119
  agentMessage,
11110
11120
  agentOutput: Object.keys(rest).length > 0 ? rest : void 0
@@ -11823,9 +11833,11 @@ var require_model_knobs = __commonJS({
11823
11833
  Object.defineProperty(exports2, "__esModule", { value: true });
11824
11834
  exports2.DEFAULT_SMALL_MODEL = exports2.DEFAULT_MODEL = void 0;
11825
11835
  exports2.isOpenAiModel = isOpenAiModel;
11836
+ exports2.isGoogleModel = isGoogleModel;
11826
11837
  exports2.getModel = getModel;
11827
11838
  exports2.getSmallModel = getSmallModel;
11828
11839
  exports2.hasModelOverride = hasModelOverride;
11840
+ exports2.hasSmallModelOverride = hasSmallModelOverride;
11829
11841
  exports2.getReasoningEffort = getReasoningEffort;
11830
11842
  exports2.getSmallReasoningEffort = getSmallReasoningEffort;
11831
11843
  exports2.hasSmallReasoningEffortOverride = hasSmallReasoningEffortOverride;
@@ -11843,15 +11855,21 @@ var require_model_knobs = __commonJS({
11843
11855
  function isOpenAiModel(model) {
11844
11856
  return model.startsWith("openai/");
11845
11857
  }
11858
+ function isGoogleModel(model) {
11859
+ return model.startsWith("google/");
11860
+ }
11846
11861
  function getModel() {
11847
- return process.env.CODEGEN_MODEL_OVERRIDE || exports2.DEFAULT_MODEL;
11862
+ return process.env.CODEGEN_MODEL_OVERRIDE ?? exports2.DEFAULT_MODEL;
11848
11863
  }
11849
11864
  function getSmallModel() {
11850
- return process.env.CODEGEN_SMALL_MODEL_OVERRIDE || exports2.DEFAULT_SMALL_MODEL;
11865
+ return process.env.CODEGEN_SMALL_MODEL_OVERRIDE ?? exports2.DEFAULT_SMALL_MODEL;
11851
11866
  }
11852
11867
  function hasModelOverride() {
11853
11868
  return !!process.env.CODEGEN_MODEL_OVERRIDE;
11854
11869
  }
11870
+ function hasSmallModelOverride() {
11871
+ return !!process.env.CODEGEN_SMALL_MODEL_OVERRIDE;
11872
+ }
11855
11873
  function readEnumEnv(name, allowed) {
11856
11874
  const value = process.env[name];
11857
11875
  if (!value)
@@ -11866,7 +11884,7 @@ var require_model_knobs = __commonJS({
11866
11884
  if (!effort)
11867
11885
  return void 0;
11868
11886
  if (!isOpenAiModel(getModel()) || !isOpenAiModel(getSmallModel())) {
11869
- throw new Error("CODEGEN_REASONING_EFFORT requires BOTH the main and small models to be openai/* \u2014 set CODEGEN_MODEL_OVERRIDE and CODEGEN_SMALL_MODEL_OVERRIDE (reasoning-effort variants are invalid on Anthropic models).");
11887
+ throw new Error("CODEGEN_REASONING_EFFORT requires BOTH the main and small models to be openai/* \u2014 set CODEGEN_MODEL_OVERRIDE and CODEGEN_SMALL_MODEL_OVERRIDE (reasoning-effort variants are only supported on openai models).");
11870
11888
  }
11871
11889
  return effort;
11872
11890
  }
@@ -11875,7 +11893,7 @@ var require_model_knobs = __commonJS({
11875
11893
  if (!effort)
11876
11894
  return SMALL_MODEL_REASONING_EFFORT;
11877
11895
  if (!isOpenAiModel(getSmallModel())) {
11878
- throw new Error("CODEGEN_SMALL_MODEL_REASONING_EFFORT requires the small model to be openai/* \u2014 set CODEGEN_SMALL_MODEL_OVERRIDE (reasoning-effort variants are invalid on Anthropic models).");
11896
+ throw new Error("CODEGEN_SMALL_MODEL_REASONING_EFFORT requires the small model to be openai/* \u2014 set CODEGEN_SMALL_MODEL_OVERRIDE (reasoning-effort variants are only supported on openai models).");
11879
11897
  }
11880
11898
  return effort;
11881
11899
  }
@@ -15869,6 +15887,7 @@ var require_config = __commonJS({
15869
15887
  exports2.DEFAULT_TIMEOUT_MS = void 0;
15870
15888
  exports2.getAnthropicBaseUrl = getAnthropicBaseUrl;
15871
15889
  exports2.getOpenAiBaseUrl = getOpenAiBaseUrl;
15890
+ exports2.getGoogleBaseUrl = getGoogleBaseUrl;
15872
15891
  exports2.setCurrentAccessToken = setCurrentAccessToken;
15873
15892
  exports2.getCurrentAccessToken = getCurrentAccessToken;
15874
15893
  exports2.getOpenCodeEnv = getOpenCodeEnv;
@@ -15884,6 +15903,9 @@ var require_config = __commonJS({
15884
15903
  function usesOpenAiProvider() {
15885
15904
  return (0, model_knobs_1.isOpenAiModel)((0, model_knobs_1.getModel)()) || (0, model_knobs_1.isOpenAiModel)((0, model_knobs_1.getSmallModel)());
15886
15905
  }
15906
+ function usesGoogleProvider() {
15907
+ return (0, model_knobs_1.isGoogleModel)((0, model_knobs_1.getModel)()) || (0, model_knobs_1.isGoogleModel)((0, model_knobs_1.getSmallModel)());
15908
+ }
15887
15909
  var AI_PROXY_BASE_URL = process.env.CODEGEN_AI_PROXY_BASE_URL || "http://localhost:3001";
15888
15910
  function getAnthropicBaseUrl(projectId) {
15889
15911
  return `${AI_PROXY_BASE_URL}/projects/${projectId}/genai/anthropic`;
@@ -15891,6 +15913,9 @@ var require_config = __commonJS({
15891
15913
  function getOpenAiBaseUrl(projectId) {
15892
15914
  return `${AI_PROXY_BASE_URL}/projects/${projectId}/genai/openai`;
15893
15915
  }
15916
+ function getGoogleBaseUrl(projectId) {
15917
+ return `${AI_PROXY_BASE_URL}/projects/${projectId}/genai/google/v1beta`;
15918
+ }
15894
15919
  var currentAccessToken = process.env.WIX_ACCESS_TOKEN;
15895
15920
  function setCurrentAccessToken(token) {
15896
15921
  currentAccessToken = token;
@@ -15939,6 +15964,29 @@ var require_config = __commonJS({
15939
15964
  }
15940
15965
  };
15941
15966
  }
15967
+ if (usesGoogleProvider()) {
15968
+ provider.google = {
15969
+ options: {
15970
+ apiKey: "proxy-handled",
15971
+ baseURL: getGoogleBaseUrl(projectId),
15972
+ headers
15973
+ },
15974
+ // Wix AI proxy aliases not in models.dev — opencode would reject them
15975
+ // with ModelNotFoundError without these stubs. Empty records are enough;
15976
+ // opencode inherits the provider's npm (@ai-sdk/google) and baseURL.
15977
+ models: {
15978
+ "gemini-3.7-flash": {},
15979
+ "gemini-3.6-flash": {},
15980
+ "gemini-3.5-flash": {},
15981
+ "gemini-3.5-flash-lite": {},
15982
+ "gemini-3.1-pro-preview": {},
15983
+ "gemini-3.1-flash-lite": {},
15984
+ "gemini-2.5-pro": {},
15985
+ "gemini-2.5-flash": {},
15986
+ "gemini-2.5-flash-lite": {}
15987
+ }
15988
+ };
15989
+ }
15942
15990
  return provider;
15943
15991
  }
15944
15992
  var WIX_MCP_CONFIG = {
@@ -16073,6 +16121,10 @@ var require_config = __commonJS({
16073
16121
  // The provider block sets baseURL too; this also covers any AI-SDK path that
16074
16122
  // reads the env.
16075
16123
  ...usesOpenAiProvider() ? { OPENAI_BASE_URL: getOpenAiBaseUrl(projectId) } : {},
16124
+ ...usesGoogleProvider() ? {
16125
+ GOOGLE_GENERATIVE_AI_API_KEY: "proxy-handled",
16126
+ GOOGLE_GENERATIVE_AI_BASE_URL: getGoogleBaseUrl(projectId)
16127
+ } : {},
16076
16128
  OPENCODE_CONFIG_CONTENT: JSON.stringify(config),
16077
16129
  OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS: exports2.DEFAULT_TIMEOUT_MS.toString(),
16078
16130
  OPENCODE_DISABLE_LSP_DOWNLOAD: "true",
@@ -17355,6 +17407,7 @@ var require_executor = __commonJS({
17355
17407
  var child_process_1 = require("child_process");
17356
17408
  var ditto_codegen_types_12 = require_dist4();
17357
17409
  var config_12 = require_config();
17410
+ var model_knobs_1 = require_model_knobs();
17358
17411
  var job_context_storage_12 = require_job_context_storage();
17359
17412
  var parser_1 = require_parser();
17360
17413
  var codeGenerationService_12 = require_codeGenerationService();
@@ -17548,7 +17601,9 @@ var require_executor = __commonJS({
17548
17601
  attempt,
17549
17602
  maxRetries: MAX_RETRIES,
17550
17603
  workingDirectory: outputPath,
17551
- continueSession
17604
+ continueSession,
17605
+ model: (0, model_knobs_1.getModel)(),
17606
+ smallModel: (0, model_knobs_1.getSmallModel)()
17552
17607
  });
17553
17608
  logger_12.logger.debug("[OpenCode] Full prompt", { prompt });
17554
17609
  const env = (0, config_12.getOpenCodeEnv)(projectId, job_context_storage_12.jobContextStorage.getStore()?.kind);
@@ -23240,7 +23295,7 @@ var require_opencode_init = __commonJS({
23240
23295
  logger_12.logger.info("Codegen permissions", {
23241
23296
  requiredPermissions: result.requiredPermissions
23242
23297
  });
23243
- if (orchestrator.lastStdout) {
23298
+ if (orchestrator.lastStdout && !(0, model_knobs_1.hasModelOverride)() && !(0, model_knobs_1.hasSmallModelOverride)()) {
23244
23299
  void (0, executor_1.notifyValidatorOutputsToSlack)(orchestrator.lastStdout, result.usage.cost);
23245
23300
  void (0, report_expensive_run_1.notifyExpensiveRunToSlack)({
23246
23301
  usage: result.usage,
@@ -23444,7 +23499,7 @@ var require_opencode_iterate = __commonJS({
23444
23499
  logger_12.logger.info("Codegen permissions", {
23445
23500
  requiredPermissions: result.requiredPermissions
23446
23501
  });
23447
- if (iterationOrchestrator.lastStdout) {
23502
+ if (iterationOrchestrator.lastStdout && !(0, model_knobs_1.hasModelOverride)() && !(0, model_knobs_1.hasSmallModelOverride)()) {
23448
23503
  void (0, executor_1.notifyValidatorOutputsToSlack)(iterationOrchestrator.lastStdout, result.usage.cost);
23449
23504
  void (0, report_expensive_run_1.notifyExpensiveRunToSlack)({
23450
23505
  usage: result.usage,
@@ -23820,7 +23875,7 @@ var require_opencode_fix_git_conflicts = __commonJS({
23820
23875
  logger_12.logger.info("Codegen permissions", {
23821
23876
  requiredPermissions: result.requiredPermissions
23822
23877
  });
23823
- if (orchestrator.lastStdout) {
23878
+ if (orchestrator.lastStdout && !(0, model_knobs_1.hasModelOverride)() && !(0, model_knobs_1.hasSmallModelOverride)()) {
23824
23879
  void (0, executor_1.notifyValidatorOutputsToSlack)(orchestrator.lastStdout, result.usage.cost);
23825
23880
  void (0, report_expensive_run_1.notifyExpensiveRunToSlack)({
23826
23881
  usage: result.usage,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/ditto-codegen-public",
3
- "version": "1.0.450",
3
+ "version": "1.0.452",
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": "aad01f2edbf17040d46676c57f7067a74d44ee6df2af105d575f65b2"
32
+ "falconPackageHash": "65e2996e0fa8dbe90a89681b1686b9f93a0855ca097d5579e039d231"
33
33
  }