@wix/ditto-codegen-public 1.0.132 → 1.0.134

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 +281 -216
  2. package/package.json +2 -2
package/dist/out.js CHANGED
@@ -117209,6 +117209,23 @@ ${hasEmbeddedScriptExtensions ? (0, embeddedScriptDynamicParameters_1.embeddedSc
117209
117209
  }
117210
117210
  });
117211
117211
 
117212
+ // dist/agents/utils/caching.js
117213
+ var require_caching = __commonJS({
117214
+ "dist/agents/utils/caching.js"(exports2) {
117215
+ "use strict";
117216
+ Object.defineProperty(exports2, "__esModule", { value: true });
117217
+ exports2.withCaching = void 0;
117218
+ var withCaching = (ttl = "5m") => {
117219
+ return {
117220
+ anthropic: {
117221
+ cache_control: { type: "ephemeral", ttl }
117222
+ }
117223
+ };
117224
+ };
117225
+ exports2.withCaching = withCaching;
117226
+ }
117227
+ });
117228
+
117212
117229
  // ../../node_modules/zod/index.cjs
117213
117230
  var require_zod = __commonJS({
117214
117231
  "../../node_modules/zod/index.cjs"(exports2) {
@@ -117252,117 +117269,6 @@ var require_zod = __commonJS({
117252
117269
  }
117253
117270
  });
117254
117271
 
117255
- // dist/agents/utils.js
117256
- var require_utils11 = __commonJS({
117257
- "dist/agents/utils.js"(exports2) {
117258
- "use strict";
117259
- var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
117260
- return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
117261
- };
117262
- Object.defineProperty(exports2, "__esModule", { value: true });
117263
- exports2.extractApiNames = exports2.getErrorMessage = exports2.withCaching = exports2.FilesSchema = exports2.FileItemSchema = void 0;
117264
- exports2.shouldUseDataPrompt = shouldUseDataPrompt;
117265
- exports2.shouldUseDynamicParametersPrompt = shouldUseDynamicParametersPrompt;
117266
- exports2.loadRelevantFilesAsString = loadRelevantFilesAsString;
117267
- var zod_1 = require_zod();
117268
- var fs_1 = __importDefault2(require("fs"));
117269
- var path_1 = __importDefault2(require("path"));
117270
- var ditto_codegen_types_12 = require_dist();
117271
- exports2.FileItemSchema = zod_1.z.discriminatedUnion("operation", [
117272
- zod_1.z.object({
117273
- operation: zod_1.z.union([
117274
- zod_1.z.literal(ditto_codegen_types_12.ExtensionGenerationOperation.INSERT),
117275
- zod_1.z.literal(ditto_codegen_types_12.ExtensionGenerationOperation.UPDATE)
117276
- ]).describe("File operation: insert (new file), update (modify existing)").default(ditto_codegen_types_12.ExtensionGenerationOperation.INSERT),
117277
- path: zod_1.z.string().describe("Relative file path from project root"),
117278
- content: zod_1.z.string().describe("Complete file content as a string (for JSON files, stringify the object). Required for insert and update operations.")
117279
- }),
117280
- zod_1.z.object({
117281
- operation: zod_1.z.literal(ditto_codegen_types_12.ExtensionGenerationOperation.DELETE),
117282
- path: zod_1.z.string().describe("Relative file path from project root")
117283
- }),
117284
- zod_1.z.object({
117285
- operation: zod_1.z.literal(ditto_codegen_types_12.ExtensionGenerationOperation.EDIT),
117286
- path: zod_1.z.string().describe("Relative file path from project root"),
117287
- replacements: zod_1.z.array(zod_1.z.object({
117288
- oldString: zod_1.z.string().describe("The text to replace (must match the file contents exactly, including all whitespace and indentation)"),
117289
- newString: zod_1.z.string().describe("The edited text to replace the oldString"),
117290
- replaceAll: zod_1.z.boolean().optional().describe("Replace all occurrences of oldString (default false)")
117291
- })).min(1).describe("List of string replacements to apply")
117292
- })
117293
- ]).describe(`Representation of an operation that modifies a file on the local file system.
117294
- Use the 'insert' operation to create a new file.
117295
- Use the 'delete' operation to remove a file.
117296
- To modify a file, you can either use the 'edit' operation to replace a specific strings with new strings (THIS IS THE PREFERRED WAY TO MODIFY A FILE), or use the 'update' operation to replace the entire file with new content.`);
117297
- exports2.FilesSchema = zod_1.z.object({
117298
- files: zod_1.z.array(exports2.FileItemSchema).default([]).describe("An array of files")
117299
- });
117300
- var withCaching = (ttl = "5m") => {
117301
- return {
117302
- anthropic: {
117303
- cache_control: { type: "ephemeral", ttl }
117304
- }
117305
- };
117306
- };
117307
- exports2.withCaching = withCaching;
117308
- function shouldUseDataPrompt(params) {
117309
- const { plan, previousResources } = params;
117310
- return Boolean(plan?.collections?.length || previousResources?.collections?.length);
117311
- }
117312
- function shouldUseDynamicParametersPrompt(params) {
117313
- const { plan, previousResources } = params;
117314
- return Boolean(plan?.embeddedScriptParameters?.length || previousResources?.embeddedScriptParameters?.length);
117315
- }
117316
- function loadRelevantFiles(relevantFilePaths = [], basePath) {
117317
- return relevantFilePaths.map((filePath) => {
117318
- const fullPath = path_1.default.isAbsolute(basePath) ? path_1.default.join(basePath, filePath) : path_1.default.join(process.cwd(), basePath, filePath);
117319
- try {
117320
- if (!fs_1.default.existsSync(fullPath)) {
117321
- return `Path: ${filePath}
117322
-
117323
- [File does not exist]`;
117324
- }
117325
- const stats = fs_1.default.statSync(fullPath);
117326
- if (stats.isDirectory()) {
117327
- return `Path: ${filePath}
117328
-
117329
- [Path is a directory, not a file]`;
117330
- }
117331
- const content = fs_1.default.readFileSync(fullPath, "utf8");
117332
- return `Path: ${filePath}
117333
-
117334
- ${content}`;
117335
- } catch (error) {
117336
- return `Path: ${filePath}
117337
-
117338
- [Could not read file: ${error instanceof Error ? error.message : "Unknown error"}]`;
117339
- }
117340
- });
117341
- }
117342
- function loadRelevantFilesAsString(relevantFilePaths = [], basePath) {
117343
- const srcOnlyPaths = relevantFilePaths.filter((p) => {
117344
- const normalized = path_1.default.normalize(p);
117345
- return normalized.startsWith("src" + path_1.default.sep);
117346
- });
117347
- return loadRelevantFiles(srcOnlyPaths, basePath).join("\n\n---\n\n");
117348
- }
117349
- var getErrorMessage = (error) => {
117350
- if (error?.response?.data && error?.response?.data?.message.length > 0) {
117351
- return JSON.stringify(error.response.data);
117352
- } else if (error?.message && error?.message.length > 0) {
117353
- return JSON.stringify(error.message);
117354
- } else {
117355
- return JSON.stringify(error);
117356
- }
117357
- };
117358
- exports2.getErrorMessage = getErrorMessage;
117359
- var extractApiNames = (extension) => {
117360
- return extension.relatedApis?.map((api) => api.name).filter((name) => !!name) || [];
117361
- };
117362
- exports2.extractApiNames = extractApiNames;
117363
- }
117364
- });
117365
-
117366
117272
  // dist/ApiSpecSchema.js
117367
117273
  var require_ApiSpecSchema = __commonJS({
117368
117274
  "dist/ApiSpecSchema.js"(exports2) {
@@ -117865,7 +117771,7 @@ var require_PlannerAgent = __commonJS({
117865
117771
  var anthropic_1 = require_dist6();
117866
117772
  var ai_1 = require_dist10();
117867
117773
  var planner_1 = require_planner();
117868
- var utils_1 = require_utils11();
117774
+ var caching_1 = require_caching();
117869
117775
  var ditto_codegen_types_12 = require_dist();
117870
117776
  var PlannerAgentSchema_1 = require_PlannerAgentSchema();
117871
117777
  var forceDataPermissionsToAnyone_1 = require_forceDataPermissionsToAnyone();
@@ -117901,7 +117807,7 @@ ${error}` : ""}
117901
117807
  {
117902
117808
  role: "system",
117903
117809
  content: systemPrompt,
117904
- providerOptions: (0, utils_1.withCaching)("1h")
117810
+ providerOptions: (0, caching_1.withCaching)("1h")
117905
117811
  },
117906
117812
  {
117907
117813
  role: "user",
@@ -118912,6 +118818,14 @@ var require_data2 = __commonJS({
118912
118818
  );
118913
118819
  }
118914
118820
  }
118821
+
118822
+ <date_time_handling>
118823
+ - Date (date-only): Store as a string in "YYYY-MM-DD" format (as returned by <input type="date" />).
118824
+ - DateTime (date + time): Store as a Date object. Accept the YYYY-MM-DDTHH:mm format returned by <input type="datetime-local" /> and convert to a Date object using new Date().
118825
+ - Time (time-only): Store as a string in HH:mm or HH:mm:ss 24-hour format (as returned by <input type="time" />).
118826
+ - Use native JavaScript Date methods for parsing, formatting, and manipulating dates/times (e.g., new Date(), toISOString(), toLocaleString(), toLocaleDateString()).
118827
+ - Always validate incoming date/time values and provide graceful fallback or explicit error handling when values are invalid.
118828
+ </date_time_handling>
118915
118829
  </wix_data_docs>`;
118916
118830
  }
118917
118831
  });
@@ -119701,6 +119615,77 @@ ${useDynamicParameters ? (0, dynamicParameters_1.dynamicParametersManagementProm
119701
119615
  }
119702
119616
  });
119703
119617
 
119618
+ // dist/agents/utils/file-operations.js
119619
+ var require_file_operations = __commonJS({
119620
+ "dist/agents/utils/file-operations.js"(exports2) {
119621
+ "use strict";
119622
+ Object.defineProperty(exports2, "__esModule", { value: true });
119623
+ exports2.FilesSchema = exports2.FileItemSchema = void 0;
119624
+ var zod_1 = require_zod();
119625
+ var ditto_codegen_types_12 = require_dist();
119626
+ exports2.FileItemSchema = zod_1.z.discriminatedUnion("operation", [
119627
+ zod_1.z.object({
119628
+ operation: zod_1.z.union([
119629
+ zod_1.z.literal(ditto_codegen_types_12.ExtensionGenerationOperation.INSERT),
119630
+ zod_1.z.literal(ditto_codegen_types_12.ExtensionGenerationOperation.UPDATE)
119631
+ ]).describe("File operation: insert (new file), update (modify existing)").default(ditto_codegen_types_12.ExtensionGenerationOperation.INSERT),
119632
+ path: zod_1.z.string().describe("Relative file path from project root"),
119633
+ content: zod_1.z.string().describe("Complete file content as a string (for JSON files, stringify the object). Required for insert and update operations.")
119634
+ }),
119635
+ zod_1.z.object({
119636
+ operation: zod_1.z.literal(ditto_codegen_types_12.ExtensionGenerationOperation.DELETE),
119637
+ path: zod_1.z.string().describe("Relative file path from project root")
119638
+ }),
119639
+ zod_1.z.object({
119640
+ operation: zod_1.z.literal(ditto_codegen_types_12.ExtensionGenerationOperation.EDIT),
119641
+ path: zod_1.z.string().describe("Relative file path from project root"),
119642
+ replacements: zod_1.z.array(zod_1.z.object({
119643
+ oldString: zod_1.z.string().describe("The text to replace (must match the file contents exactly, including all whitespace and indentation)"),
119644
+ newString: zod_1.z.string().describe("The edited text to replace the oldString"),
119645
+ replaceAll: zod_1.z.boolean().optional().describe("Replace all occurrences of oldString (default false)")
119646
+ })).min(1).describe("List of string replacements to apply")
119647
+ })
119648
+ ]).describe(`Representation of an operation that modifies a file on the local file system.
119649
+ Use the 'insert' operation to create a new file.
119650
+ Use the 'delete' operation to remove a file.
119651
+ To modify a file, you can either use the 'edit' operation to replace a specific strings with new strings (THIS IS THE PREFERRED WAY TO MODIFY A FILE), or use the 'update' operation to replace the entire file with new content.`);
119652
+ exports2.FilesSchema = zod_1.z.object({
119653
+ files: zod_1.z.array(exports2.FileItemSchema).default([]).describe("An array of files")
119654
+ });
119655
+ }
119656
+ });
119657
+
119658
+ // dist/agents/utils/api.js
119659
+ var require_api3 = __commonJS({
119660
+ "dist/agents/utils/api.js"(exports2) {
119661
+ "use strict";
119662
+ Object.defineProperty(exports2, "__esModule", { value: true });
119663
+ exports2.extractApiNames = void 0;
119664
+ var extractApiNames = (extension) => {
119665
+ return extension.relatedApis?.map((api) => api.name).filter((name) => !!name) || [];
119666
+ };
119667
+ exports2.extractApiNames = extractApiNames;
119668
+ }
119669
+ });
119670
+
119671
+ // dist/agents/utils/prompt-selectors.js
119672
+ var require_prompt_selectors = __commonJS({
119673
+ "dist/agents/utils/prompt-selectors.js"(exports2) {
119674
+ "use strict";
119675
+ Object.defineProperty(exports2, "__esModule", { value: true });
119676
+ exports2.shouldUseDataPrompt = shouldUseDataPrompt;
119677
+ exports2.shouldUseDynamicParametersPrompt = shouldUseDynamicParametersPrompt;
119678
+ function shouldUseDataPrompt(params) {
119679
+ const { plan, previousResources } = params;
119680
+ return Boolean(plan?.collections?.length || previousResources?.collections?.length);
119681
+ }
119682
+ function shouldUseDynamicParametersPrompt(params) {
119683
+ const { plan, previousResources } = params;
119684
+ return Boolean(plan?.embeddedScriptParameters?.length || previousResources?.embeddedScriptParameters?.length);
119685
+ }
119686
+ }
119687
+ });
119688
+
119704
119689
  // dist/system-prompts/load-examples.js
119705
119690
  var require_load_examples = __commonJS({
119706
119691
  "dist/system-prompts/load-examples.js"(exports2) {
@@ -120389,6 +120374,53 @@ var require_dist12 = __commonJS({
120389
120374
  }
120390
120375
  });
120391
120376
 
120377
+ // dist/agents/utils/file-loading.js
120378
+ var require_file_loading = __commonJS({
120379
+ "dist/agents/utils/file-loading.js"(exports2) {
120380
+ "use strict";
120381
+ var __importDefault2 = exports2 && exports2.__importDefault || function(mod2) {
120382
+ return mod2 && mod2.__esModule ? mod2 : { "default": mod2 };
120383
+ };
120384
+ Object.defineProperty(exports2, "__esModule", { value: true });
120385
+ exports2.loadRelevantFilesAsString = loadRelevantFilesAsString;
120386
+ var fs_1 = __importDefault2(require("fs"));
120387
+ var path_1 = __importDefault2(require("path"));
120388
+ function loadRelevantFiles(relevantFilePaths = [], basePath) {
120389
+ return relevantFilePaths.map((filePath) => {
120390
+ const fullPath = path_1.default.isAbsolute(basePath) ? path_1.default.join(basePath, filePath) : path_1.default.join(process.cwd(), basePath, filePath);
120391
+ try {
120392
+ if (!fs_1.default.existsSync(fullPath)) {
120393
+ return `Path: ${filePath}
120394
+
120395
+ [File does not exist]`;
120396
+ }
120397
+ const stats = fs_1.default.statSync(fullPath);
120398
+ if (stats.isDirectory()) {
120399
+ return `Path: ${filePath}
120400
+
120401
+ [Path is a directory, not a file]`;
120402
+ }
120403
+ const content = fs_1.default.readFileSync(fullPath, "utf8");
120404
+ return `Path: ${filePath}
120405
+
120406
+ ${content}`;
120407
+ } catch (error) {
120408
+ return `Path: ${filePath}
120409
+
120410
+ [Could not read file: ${error instanceof Error ? error.message : "Unknown error"}]`;
120411
+ }
120412
+ });
120413
+ }
120414
+ function loadRelevantFilesAsString(relevantFilePaths = [], basePath) {
120415
+ const srcOnlyPaths = relevantFilePaths.filter((p) => {
120416
+ const normalized = path_1.default.normalize(p);
120417
+ return normalized.startsWith("src" + path_1.default.sep);
120418
+ });
120419
+ return loadRelevantFiles(srcOnlyPaths, basePath).join("\n\n---\n\n");
120420
+ }
120421
+ }
120422
+ });
120423
+
120392
120424
  // dist/agents/userPrompt.js
120393
120425
  var require_userPrompt = __commonJS({
120394
120426
  "dist/agents/userPrompt.js"(exports2) {
@@ -120397,7 +120429,7 @@ var require_userPrompt = __commonJS({
120397
120429
  exports2.buildUserPromptForCodeGenerationAgent = void 0;
120398
120430
  var types_1 = require_types_impl();
120399
120431
  var ditto_codegen_types_12 = require_dist();
120400
- var utils_1 = require_utils11();
120432
+ var file_loading_1 = require_file_loading();
120401
120433
  var buildUserPromptForCodeGenerationAgent = (params, primaryAction) => {
120402
120434
  const { extension, blueprint, scaffolds, userRequestSummary, relevantFilePaths, plan, basePath, previousResources } = params;
120403
120435
  const contextSections = [];
@@ -120414,7 +120446,7 @@ var require_userPrompt = __commonJS({
120414
120446
  ${userRequestSummary}`);
120415
120447
  }
120416
120448
  if (relevantFilePaths) {
120417
- const relevantFiles = (0, utils_1.loadRelevantFilesAsString)(relevantFilePaths, basePath);
120449
+ const relevantFiles = (0, file_loading_1.loadRelevantFilesAsString)(relevantFilePaths, basePath);
120418
120450
  contextSections.push(`
120419
120451
  ## RELEVANT FILES
120420
120452
  ${relevantFiles}`);
@@ -120517,7 +120549,10 @@ var require_DashboardPageAgent2 = __commonJS({
120517
120549
  var dashboardPagePrompt_1 = require_dashboardPagePrompt();
120518
120550
  var anthropic_1 = require_dist6();
120519
120551
  var ai_1 = require_dist10();
120520
- var utils_1 = require_utils11();
120552
+ var file_operations_1 = require_file_operations();
120553
+ var caching_1 = require_caching();
120554
+ var api_1 = require_api3();
120555
+ var prompt_selectors_1 = require_prompt_selectors();
120521
120556
  var load_examples_1 = require_load_examples();
120522
120557
  var codegen_common_logic_1 = require_dist12();
120523
120558
  var userPrompt_1 = require_userPrompt();
@@ -120536,10 +120571,10 @@ var require_DashboardPageAgent2 = __commonJS({
120536
120571
  async generate(params) {
120537
120572
  const { blueprint, plan } = params;
120538
120573
  const examples = (0, load_examples_1.loadExamples)([load_examples_1.types.DashboardPage]);
120539
- const useData = (0, utils_1.shouldUseDataPrompt)(params);
120574
+ const useData = (0, prompt_selectors_1.shouldUseDataPrompt)(params);
120540
120575
  const useApiSpec = Boolean(plan?.apiSpec);
120541
- const useDynamicParameters = (0, utils_1.shouldUseDynamicParametersPrompt)(params);
120542
- const apiNames = (0, utils_1.extractApiNames)(params.extension);
120576
+ const useDynamicParameters = (0, prompt_selectors_1.shouldUseDynamicParametersPrompt)(params);
120577
+ const apiNames = (0, api_1.extractApiNames)(params.extension);
120543
120578
  const systemPrompt = `${await this.buildSystemPrompt({ useData, useApiSpec, useDynamicParameters, apiNames })}
120544
120579
  ${examples}
120545
120580
  `;
@@ -120549,12 +120584,12 @@ ${examples}
120549
120584
  const model = (0, anthropic_1.createAnthropic)({ apiKey: this.apiKey })("claude-sonnet-4-5-20250929");
120550
120585
  const result = await (0, ai_1.generateObject)({
120551
120586
  model,
120552
- schema: utils_1.FilesSchema,
120587
+ schema: file_operations_1.FilesSchema,
120553
120588
  messages: [
120554
120589
  {
120555
120590
  role: "system",
120556
120591
  content: systemPrompt,
120557
- providerOptions: (0, utils_1.withCaching)("1h")
120592
+ providerOptions: (0, caching_1.withCaching)("1h")
120558
120593
  },
120559
120594
  {
120560
120595
  role: "user",
@@ -120647,7 +120682,9 @@ var require_SiteComponentAgent2 = __commonJS({
120647
120682
  exports2.SiteComponentAgent = void 0;
120648
120683
  var anthropic_1 = require_dist6();
120649
120684
  var ai_1 = require_dist10();
120650
- var utils_1 = require_utils11();
120685
+ var file_operations_1 = require_file_operations();
120686
+ var caching_1 = require_caching();
120687
+ var api_1 = require_api3();
120651
120688
  var siteComponentPrompt_1 = require_siteComponentPrompt();
120652
120689
  var codegen_common_logic_1 = require_dist12();
120653
120690
  var userPrompt_1 = require_userPrompt();
@@ -120665,7 +120702,7 @@ var require_SiteComponentAgent2 = __commonJS({
120665
120702
  }
120666
120703
  async generate(params) {
120667
120704
  const { blueprint, plan } = params;
120668
- const allApiNames = (0, utils_1.extractApiNames)(params.extension);
120705
+ const allApiNames = (0, api_1.extractApiNames)(params.extension);
120669
120706
  const useData = Boolean(plan?.collections?.length);
120670
120707
  const systemPrompt = `${await this.buildSystemPrompt(allApiNames, useData)}`;
120671
120708
  const appName = blueprint?.appName ? `'${blueprint.appName}'` : "";
@@ -120674,12 +120711,12 @@ var require_SiteComponentAgent2 = __commonJS({
120674
120711
  const model = (0, anthropic_1.createAnthropic)({ apiKey: this.apiKey })("claude-sonnet-4-5-20250929");
120675
120712
  const result = await (0, ai_1.generateObject)({
120676
120713
  model,
120677
- schema: utils_1.FilesSchema,
120714
+ schema: file_operations_1.FilesSchema,
120678
120715
  messages: [
120679
120716
  {
120680
120717
  role: "system",
120681
120718
  content: systemPrompt,
120682
- providerOptions: (0, utils_1.withCaching)("1h")
120719
+ providerOptions: (0, caching_1.withCaching)("1h")
120683
120720
  },
120684
120721
  {
120685
120722
  role: "user",
@@ -120772,7 +120809,9 @@ var require_CustomElementAgent2 = __commonJS({
120772
120809
  exports2.CustomElementAgent = void 0;
120773
120810
  var anthropic_1 = require_dist6();
120774
120811
  var ai_1 = require_dist10();
120775
- var utils_1 = require_utils11();
120812
+ var file_operations_1 = require_file_operations();
120813
+ var caching_1 = require_caching();
120814
+ var api_1 = require_api3();
120776
120815
  var customElementPrompt_1 = require_customElementPrompt();
120777
120816
  var load_examples_1 = require_load_examples();
120778
120817
  var codegen_common_logic_1 = require_dist12();
@@ -120792,7 +120831,7 @@ var require_CustomElementAgent2 = __commonJS({
120792
120831
  async generate(params) {
120793
120832
  const { blueprint, plan } = params;
120794
120833
  const examples = (0, load_examples_1.loadExamples)([load_examples_1.types.CustomElementWidget]);
120795
- const allApiNames = (0, utils_1.extractApiNames)(params.extension);
120834
+ const allApiNames = (0, api_1.extractApiNames)(params.extension);
120796
120835
  const useData = Boolean(plan?.collections?.length);
120797
120836
  const systemPrompt = `${await this.buildSystemPrompt(allApiNames, useData)}
120798
120837
  ${examples}
@@ -120803,12 +120842,12 @@ var require_CustomElementAgent2 = __commonJS({
120803
120842
  const model = (0, anthropic_1.createAnthropic)({ apiKey: this.apiKey })("claude-sonnet-4-5-20250929");
120804
120843
  const result = await (0, ai_1.generateObject)({
120805
120844
  model,
120806
- schema: utils_1.FilesSchema,
120845
+ schema: file_operations_1.FilesSchema,
120807
120846
  messages: [
120808
120847
  {
120809
120848
  role: "system",
120810
120849
  content: systemPrompt,
120811
- providerOptions: (0, utils_1.withCaching)("1h")
120850
+ providerOptions: (0, caching_1.withCaching)("1h")
120812
120851
  },
120813
120852
  {
120814
120853
  role: "user",
@@ -121052,7 +121091,10 @@ var require_SPIAgent2 = __commonJS({
121052
121091
  var servicePluginPrompt_1 = require_servicePluginPrompt();
121053
121092
  var anthropic_1 = require_dist6();
121054
121093
  var ai_1 = require_dist10();
121055
- var utils_1 = require_utils11();
121094
+ var file_operations_1 = require_file_operations();
121095
+ var caching_1 = require_caching();
121096
+ var api_1 = require_api3();
121097
+ var prompt_selectors_1 = require_prompt_selectors();
121056
121098
  var load_examples_1 = require_load_examples();
121057
121099
  var codegen_common_logic_1 = require_dist12();
121058
121100
  var userPrompt_1 = require_userPrompt();
@@ -121072,8 +121114,8 @@ var require_SPIAgent2 = __commonJS({
121072
121114
  const { extension, blueprint } = params;
121073
121115
  const examples = (0, load_examples_1.loadExamples)([load_examples_1.types.ServicePluginExtension]);
121074
121116
  const allSpiNames = extension.relatedSpis?.map((spi) => spi.name).filter((name) => !!name) || [];
121075
- const apiNames = (0, utils_1.extractApiNames)(params.extension);
121076
- const useData = (0, utils_1.shouldUseDataPrompt)(params);
121117
+ const apiNames = (0, api_1.extractApiNames)(params.extension);
121118
+ const useData = (0, prompt_selectors_1.shouldUseDataPrompt)(params);
121077
121119
  const systemPrompt = `${this.buildSystemPrompt(allSpiNames, apiNames, useData)}
121078
121120
  ${examples}
121079
121121
  `;
@@ -121085,12 +121127,12 @@ ${examples}
121085
121127
  })("claude-sonnet-4-5-20250929");
121086
121128
  const result = await (0, ai_1.generateObject)({
121087
121129
  model,
121088
- schema: utils_1.FilesSchema,
121130
+ schema: file_operations_1.FilesSchema,
121089
121131
  messages: [
121090
121132
  {
121091
121133
  role: "system",
121092
121134
  content: systemPrompt,
121093
- providerOptions: (0, utils_1.withCaching)("1h")
121135
+ providerOptions: (0, caching_1.withCaching)("1h")
121094
121136
  },
121095
121137
  {
121096
121138
  role: "user",
@@ -121182,7 +121224,10 @@ var require_BackendEventAgent2 = __commonJS({
121182
121224
  exports2.BackendEventAgent = void 0;
121183
121225
  var anthropic_1 = require_dist6();
121184
121226
  var ai_1 = require_dist10();
121185
- var utils_1 = require_utils11();
121227
+ var file_operations_1 = require_file_operations();
121228
+ var caching_1 = require_caching();
121229
+ var prompt_selectors_1 = require_prompt_selectors();
121230
+ var api_1 = require_api3();
121186
121231
  var backendEventPrompt_1 = require_backendEventPrompt();
121187
121232
  var load_examples_1 = require_load_examples();
121188
121233
  var codegen_common_logic_1 = require_dist12();
@@ -121202,8 +121247,8 @@ var require_BackendEventAgent2 = __commonJS({
121202
121247
  async generate(params) {
121203
121248
  const { blueprint } = params;
121204
121249
  const examples = (0, load_examples_1.loadExamples)([load_examples_1.types.BackendEvent]);
121205
- const allApiNames = (0, utils_1.extractApiNames)(params.extension);
121206
- const useData = (0, utils_1.shouldUseDataPrompt)(params);
121250
+ const allApiNames = (0, api_1.extractApiNames)(params.extension);
121251
+ const useData = (0, prompt_selectors_1.shouldUseDataPrompt)(params);
121207
121252
  const systemPrompt = `${this.buildSystemPrompt(allApiNames, useData)}
121208
121253
  ${examples}
121209
121254
  `;
@@ -121213,12 +121258,12 @@ ${examples}
121213
121258
  const model = (0, anthropic_1.createAnthropic)({ apiKey: this.apiKey })("claude-sonnet-4-5-20250929");
121214
121259
  const result = await (0, ai_1.generateObject)({
121215
121260
  model,
121216
- schema: utils_1.FilesSchema,
121261
+ schema: file_operations_1.FilesSchema,
121217
121262
  messages: [
121218
121263
  {
121219
121264
  role: "system",
121220
121265
  content: systemPrompt,
121221
- providerOptions: (0, utils_1.withCaching)("1h")
121266
+ providerOptions: (0, caching_1.withCaching)("1h")
121222
121267
  },
121223
121268
  {
121224
121269
  role: "user",
@@ -121341,7 +121386,8 @@ var require_BackendApiAgent2 = __commonJS({
121341
121386
  exports2.BackendApiAgent = void 0;
121342
121387
  var anthropic_1 = require_dist6();
121343
121388
  var backendApi_1 = require_backendApi();
121344
- var utils_1 = require_utils11();
121389
+ var file_operations_1 = require_file_operations();
121390
+ var caching_1 = require_caching();
121345
121391
  var ai_1 = require_dist10();
121346
121392
  var codegen_common_logic_1 = require_dist12();
121347
121393
  var userPrompt_1 = require_userPrompt();
@@ -121364,12 +121410,12 @@ var require_BackendApiAgent2 = __commonJS({
121364
121410
  const model = (0, anthropic_1.createAnthropic)({ apiKey: this.apiKey })("claude-sonnet-4-5-20250929");
121365
121411
  const result = await (0, ai_1.generateObject)({
121366
121412
  model,
121367
- schema: utils_1.FilesSchema,
121413
+ schema: file_operations_1.FilesSchema,
121368
121414
  messages: [
121369
121415
  {
121370
121416
  role: "system",
121371
121417
  content: systemPrompt,
121372
- providerOptions: (0, utils_1.withCaching)("1h")
121418
+ providerOptions: (0, caching_1.withCaching)("1h")
121373
121419
  },
121374
121420
  {
121375
121421
  role: "user",
@@ -121637,7 +121683,10 @@ var require_EmbeddedScriptAgent2 = __commonJS({
121637
121683
  exports2.EmbeddedScriptAgent = exports2.EmbeddedScriptType = exports2.EmbeddedScriptPlacement = void 0;
121638
121684
  var anthropic_1 = require_dist6();
121639
121685
  var ai_1 = require_dist10();
121640
- var utils_1 = require_utils11();
121686
+ var file_operations_1 = require_file_operations();
121687
+ var caching_1 = require_caching();
121688
+ var api_1 = require_api3();
121689
+ var prompt_selectors_1 = require_prompt_selectors();
121641
121690
  var load_examples_1 = require_load_examples();
121642
121691
  var zod_1 = __importDefault2(require_zod());
121643
121692
  var embededScript_1 = require_embededScript();
@@ -121657,7 +121706,7 @@ var require_EmbeddedScriptAgent2 = __commonJS({
121657
121706
  EmbeddedScriptType2["ADVERTISING"] = "ADVERTISING";
121658
121707
  })(EmbeddedScriptType || (exports2.EmbeddedScriptType = EmbeddedScriptType = {}));
121659
121708
  var EmbeddedScriptSchema = zod_1.default.object({
121660
- files: zod_1.default.array(utils_1.FileItemSchema).default([]),
121709
+ files: zod_1.default.array(file_operations_1.FileItemSchema).default([]),
121661
121710
  scriptType: zod_1.default.enum(Object.values(EmbeddedScriptType)),
121662
121711
  placement: zod_1.default.enum(Object.values(EmbeddedScriptPlacement))
121663
121712
  });
@@ -121676,9 +121725,9 @@ var require_EmbeddedScriptAgent2 = __commonJS({
121676
121725
  async generate(params) {
121677
121726
  const { blueprint } = params;
121678
121727
  const examples = (0, load_examples_1.loadExamples)([load_examples_1.types.EmbeddedScript]);
121679
- const hasDynamicParameters = (0, utils_1.shouldUseDynamicParametersPrompt)(params);
121680
- const apiNames = (0, utils_1.extractApiNames)(params.extension);
121681
- const useData = (0, utils_1.shouldUseDataPrompt)(params);
121728
+ const hasDynamicParameters = (0, prompt_selectors_1.shouldUseDynamicParametersPrompt)(params);
121729
+ const apiNames = (0, api_1.extractApiNames)(params.extension);
121730
+ const useData = (0, prompt_selectors_1.shouldUseDataPrompt)(params);
121682
121731
  const systemPrompt = `${this.buildSystemPrompt(hasDynamicParameters, apiNames, useData)}
121683
121732
  ${examples}
121684
121733
  `;
@@ -121693,7 +121742,7 @@ ${examples}
121693
121742
  {
121694
121743
  role: "system",
121695
121744
  content: systemPrompt,
121696
- providerOptions: (0, utils_1.withCaching)("1h")
121745
+ providerOptions: (0, caching_1.withCaching)("1h")
121697
121746
  },
121698
121747
  {
121699
121748
  role: "user",
@@ -121938,7 +121987,7 @@ var require_IterationAgent = __commonJS({
121938
121987
  var anthropic_1 = require_dist6();
121939
121988
  var ai_1 = require_dist10();
121940
121989
  var zod_1 = require_zod();
121941
- var utils_1 = require_utils11();
121990
+ var caching_1 = require_caching();
121942
121991
  var iterationAgentPrompt_1 = require_iterationAgentPrompt();
121943
121992
  var AgentsRegistry_1 = require_AgentsRegistry();
121944
121993
  var codegen_common_logic_1 = require_dist12();
@@ -122011,7 +122060,7 @@ ${(0, formatExtensions_1.formatExtensions)(relevantExtensions)}`
122011
122060
  {
122012
122061
  role: "system",
122013
122062
  content: this.buildSystemPrompt(),
122014
- providerOptions: (0, utils_1.withCaching)("1h")
122063
+ providerOptions: (0, caching_1.withCaching)("1h")
122015
122064
  },
122016
122065
  { role: "user", content: userContent }
122017
122066
  ],
@@ -122257,7 +122306,8 @@ var require_DashboardDecisionAgent = __commonJS({
122257
122306
  var ai_1 = require_dist10();
122258
122307
  var zod_1 = require_zod();
122259
122308
  var autoPatternPrompt_1 = require_autoPatternPrompt();
122260
- var utils_1 = require_utils11();
122309
+ var caching_1 = require_caching();
122310
+ var prompt_selectors_1 = require_prompt_selectors();
122261
122311
  var types_1 = require_types_impl();
122262
122312
  var userPrompt_1 = require_userPrompt();
122263
122313
  var autoPatternsLlmConfig = zod_1.z.object({
@@ -122322,7 +122372,7 @@ var require_DashboardDecisionAgent = __commonJS({
122322
122372
  const hasEmbeddedScriptExtension = blueprint?.extensions?.some((ext) => ext.type === types_1.ExtensionType.EMBEDDED_SCRIPT) ?? false;
122323
122373
  const hasOneDashboardPageExtension = blueprint?.extensions?.filter((ext) => ext.type === types_1.ExtensionType.DASHBOARD_PAGE).length === 1;
122324
122374
  const shouldImplementEmbeddedScriptParameters = hasOneDashboardPageExtension && hasEmbeddedScriptExtension;
122325
- const hasCollections = (0, utils_1.shouldUseDataPrompt)(params);
122375
+ const hasCollections = (0, prompt_selectors_1.shouldUseDataPrompt)(params);
122326
122376
  if (!hasCollections || shouldImplementEmbeddedScriptParameters) {
122327
122377
  return true;
122328
122378
  }
@@ -122345,7 +122395,7 @@ var require_DashboardDecisionAgent = __commonJS({
122345
122395
  {
122346
122396
  role: "system",
122347
122397
  content: systemPrompt,
122348
- providerOptions: (0, utils_1.withCaching)("1h")
122398
+ providerOptions: (0, caching_1.withCaching)("1h")
122349
122399
  },
122350
122400
  {
122351
122401
  role: "user",
@@ -123321,7 +123371,8 @@ var require_ExtensionSelectorAgent = __commonJS({
123321
123371
  var fs_1 = __importDefault2(require("fs"));
123322
123372
  var path_1 = __importDefault2(require("path"));
123323
123373
  var tree_node_cli_1 = __importDefault2(require_src32());
123324
- var utils_1 = require_utils11();
123374
+ var caching_1 = require_caching();
123375
+ var file_loading_1 = require_file_loading();
123325
123376
  var extensionsRelevancePrompt_1 = require_extensionsRelevancePrompt();
123326
123377
  var ditto_codegen_types_12 = require_dist();
123327
123378
  var TOOL_NAMES = {
@@ -123436,7 +123487,7 @@ ${filesList}`);
123436
123487
  const model = (0, anthropic_1.createAnthropic)({ apiKey: this.apiKey })("claude-3-5-haiku-latest");
123437
123488
  const historyStr = this.formatChatHistory(chatHistory);
123438
123489
  const relevantFilePaths = extension.files || [];
123439
- const relevantFilesContent = (0, utils_1.loadRelevantFilesAsString)(relevantFilePaths, outputPath);
123490
+ const relevantFilesContent = (0, file_loading_1.loadRelevantFilesAsString)(relevantFilePaths, outputPath);
123440
123491
  const userContent = [
123441
123492
  `
123442
123493
  Full Chat History:
@@ -123465,7 +123516,7 @@ ${relevantFilesContent}`
123465
123516
  {
123466
123517
  role: "system",
123467
123518
  content: systemPrompt,
123468
- providerOptions: (0, utils_1.withCaching)("1h")
123519
+ providerOptions: (0, caching_1.withCaching)("1h")
123469
123520
  },
123470
123521
  { role: "user", content: userContent }
123471
123522
  ],
@@ -124560,7 +124611,7 @@ var require_fs = __commonJS({
124560
124611
  });
124561
124612
 
124562
124613
  // ../../node_modules/fs-extra/lib/mkdirs/utils.js
124563
- var require_utils12 = __commonJS({
124614
+ var require_utils11 = __commonJS({
124564
124615
  "../../node_modules/fs-extra/lib/mkdirs/utils.js"(exports2, module2) {
124565
124616
  "use strict";
124566
124617
  var path2 = require("path");
@@ -124582,7 +124633,7 @@ var require_make_dir = __commonJS({
124582
124633
  "../../node_modules/fs-extra/lib/mkdirs/make-dir.js"(exports2, module2) {
124583
124634
  "use strict";
124584
124635
  var fs4 = require_fs();
124585
- var { checkPath } = require_utils12();
124636
+ var { checkPath } = require_utils11();
124586
124637
  var getMode = (options) => {
124587
124638
  const defaults = { mode: 511 };
124588
124639
  if (typeof options === "number") return options;
@@ -125475,7 +125526,7 @@ var require_ensure = __commonJS({
125475
125526
  });
125476
125527
 
125477
125528
  // ../../node_modules/jsonfile/utils.js
125478
- var require_utils13 = __commonJS({
125529
+ var require_utils12 = __commonJS({
125479
125530
  "../../node_modules/jsonfile/utils.js"(exports2, module2) {
125480
125531
  function stringify(obj, { EOL = "\n", finalEOL = true, replacer = null, spaces } = {}) {
125481
125532
  const EOF = finalEOL ? EOL : "";
@@ -125500,7 +125551,7 @@ var require_jsonfile = __commonJS({
125500
125551
  _fs = require("fs");
125501
125552
  }
125502
125553
  var universalify = require_universalify();
125503
- var { stringify, stripBom } = require_utils13();
125554
+ var { stringify, stripBom } = require_utils12();
125504
125555
  async function _readFile(file, options = {}) {
125505
125556
  if (typeof options === "string") {
125506
125557
  options = { encoding: options };
@@ -125611,7 +125662,7 @@ var require_output_file = __commonJS({
125611
125662
  var require_output_json = __commonJS({
125612
125663
  "../../node_modules/fs-extra/lib/json/output-json.js"(exports2, module2) {
125613
125664
  "use strict";
125614
- var { stringify } = require_utils13();
125665
+ var { stringify } = require_utils12();
125615
125666
  var { outputFile } = require_output_file();
125616
125667
  async function outputJson(file, data, options = {}) {
125617
125668
  const str = stringify(data, options);
@@ -125625,7 +125676,7 @@ var require_output_json = __commonJS({
125625
125676
  var require_output_json_sync = __commonJS({
125626
125677
  "../../node_modules/fs-extra/lib/json/output-json-sync.js"(exports2, module2) {
125627
125678
  "use strict";
125628
- var { stringify } = require_utils13();
125679
+ var { stringify } = require_utils12();
125629
125680
  var { outputFileSync } = require_output_file();
125630
125681
  function outputJsonSync(file, data, options) {
125631
125682
  const str = stringify(data, options);
@@ -126269,7 +126320,7 @@ var require_glob_parent = __commonJS({
126269
126320
  });
126270
126321
 
126271
126322
  // ../../node_modules/braces/lib/utils.js
126272
- var require_utils14 = __commonJS({
126323
+ var require_utils13 = __commonJS({
126273
126324
  "../../node_modules/braces/lib/utils.js"(exports2) {
126274
126325
  "use strict";
126275
126326
  exports2.isInteger = (num) => {
@@ -126354,7 +126405,7 @@ var require_utils14 = __commonJS({
126354
126405
  var require_stringify = __commonJS({
126355
126406
  "../../node_modules/braces/lib/stringify.js"(exports2, module2) {
126356
126407
  "use strict";
126357
- var utils = require_utils14();
126408
+ var utils = require_utils13();
126358
126409
  module2.exports = (ast, options = {}) => {
126359
126410
  const stringify = (node, parent = {}) => {
126360
126411
  const invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);
@@ -126807,7 +126858,7 @@ var require_compile = __commonJS({
126807
126858
  "../../node_modules/braces/lib/compile.js"(exports2, module2) {
126808
126859
  "use strict";
126809
126860
  var fill = require_fill_range();
126810
- var utils = require_utils14();
126861
+ var utils = require_utils13();
126811
126862
  var compile = (ast, options = {}) => {
126812
126863
  const walk = (node, parent = {}) => {
126813
126864
  const invalidBlock = utils.isInvalidBrace(parent);
@@ -126860,7 +126911,7 @@ var require_expand = __commonJS({
126860
126911
  "use strict";
126861
126912
  var fill = require_fill_range();
126862
126913
  var stringify = require_stringify();
126863
- var utils = require_utils14();
126914
+ var utils = require_utils13();
126864
126915
  var append = (queue = "", stash = "", enclose = false) => {
126865
126916
  const result = [];
126866
126917
  queue = [].concat(queue);
@@ -127548,7 +127599,7 @@ var require_constants6 = __commonJS({
127548
127599
  });
127549
127600
 
127550
127601
  // ../../node_modules/picomatch/lib/utils.js
127551
- var require_utils15 = __commonJS({
127602
+ var require_utils14 = __commonJS({
127552
127603
  "../../node_modules/picomatch/lib/utils.js"(exports2) {
127553
127604
  "use strict";
127554
127605
  var path2 = require("path");
@@ -127612,7 +127663,7 @@ var require_utils15 = __commonJS({
127612
127663
  var require_scan = __commonJS({
127613
127664
  "../../node_modules/picomatch/lib/scan.js"(exports2, module2) {
127614
127665
  "use strict";
127615
- var utils = require_utils15();
127666
+ var utils = require_utils14();
127616
127667
  var {
127617
127668
  CHAR_ASTERISK,
127618
127669
  /* * */
@@ -127943,7 +127994,7 @@ var require_parse5 = __commonJS({
127943
127994
  "../../node_modules/picomatch/lib/parse.js"(exports2, module2) {
127944
127995
  "use strict";
127945
127996
  var constants = require_constants6();
127946
- var utils = require_utils15();
127997
+ var utils = require_utils14();
127947
127998
  var {
127948
127999
  MAX_LENGTH,
127949
128000
  POSIX_REGEX_SOURCE,
@@ -128718,7 +128769,7 @@ var require_picomatch = __commonJS({
128718
128769
  var path2 = require("path");
128719
128770
  var scan = require_scan();
128720
128771
  var parse = require_parse5();
128721
- var utils = require_utils15();
128772
+ var utils = require_utils14();
128722
128773
  var constants = require_constants6();
128723
128774
  var isObject = (val) => val && typeof val === "object" && !Array.isArray(val);
128724
128775
  var picomatch = (glob, options, returnState = false) => {
@@ -128867,7 +128918,7 @@ var require_micromatch = __commonJS({
128867
128918
  var util = require("util");
128868
128919
  var braces = require_braces();
128869
128920
  var picomatch = require_picomatch2();
128870
- var utils = require_utils15();
128921
+ var utils = require_utils14();
128871
128922
  var isEmptyString = (v) => v === "" || v === "./";
128872
128923
  var hasBraces = (v) => {
128873
128924
  const index = v.indexOf("{");
@@ -129346,7 +129397,7 @@ var require_string = __commonJS({
129346
129397
  });
129347
129398
 
129348
129399
  // ../../node_modules/fast-glob/out/utils/index.js
129349
- var require_utils16 = __commonJS({
129400
+ var require_utils15 = __commonJS({
129350
129401
  "../../node_modules/fast-glob/out/utils/index.js"(exports2) {
129351
129402
  "use strict";
129352
129403
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -129374,7 +129425,7 @@ var require_tasks = __commonJS({
129374
129425
  "use strict";
129375
129426
  Object.defineProperty(exports2, "__esModule", { value: true });
129376
129427
  exports2.convertPatternGroupToTask = exports2.convertPatternGroupsToTasks = exports2.groupPatternsByBaseDirectory = exports2.getNegativePatternsAsPositive = exports2.getPositivePatterns = exports2.convertPatternsToTasks = exports2.generate = void 0;
129377
- var utils = require_utils16();
129428
+ var utils = require_utils15();
129378
129429
  function generate(input, settings) {
129379
129430
  const patterns = processPatterns(input, settings);
129380
129431
  const ignore = processPatterns(settings.ignore, settings);
@@ -129717,7 +129768,7 @@ var require_fs4 = __commonJS({
129717
129768
  });
129718
129769
 
129719
129770
  // ../../node_modules/@nodelib/fs.scandir/out/utils/index.js
129720
- var require_utils17 = __commonJS({
129771
+ var require_utils16 = __commonJS({
129721
129772
  "../../node_modules/@nodelib/fs.scandir/out/utils/index.js"(exports2) {
129722
129773
  "use strict";
129723
129774
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -129752,7 +129803,7 @@ var require_async4 = __commonJS({
129752
129803
  var fsStat = require_out();
129753
129804
  var rpl = require_run_parallel();
129754
129805
  var constants_1 = require_constants7();
129755
- var utils = require_utils17();
129806
+ var utils = require_utils16();
129756
129807
  var common = require_common4();
129757
129808
  function read(directory, settings, callback) {
129758
129809
  if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
@@ -129861,7 +129912,7 @@ var require_sync4 = __commonJS({
129861
129912
  exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0;
129862
129913
  var fsStat = require_out();
129863
129914
  var constants_1 = require_constants7();
129864
- var utils = require_utils17();
129915
+ var utils = require_utils16();
129865
129916
  var common = require_common4();
129866
129917
  function read(directory, settings) {
129867
129918
  if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
@@ -130685,7 +130736,7 @@ var require_reader3 = __commonJS({
130685
130736
  Object.defineProperty(exports2, "__esModule", { value: true });
130686
130737
  var path2 = require("path");
130687
130738
  var fsStat = require_out();
130688
- var utils = require_utils16();
130739
+ var utils = require_utils15();
130689
130740
  var Reader = class {
130690
130741
  constructor(_settings) {
130691
130742
  this._settings = _settings;
@@ -130818,7 +130869,7 @@ var require_matcher = __commonJS({
130818
130869
  "../../node_modules/fast-glob/out/providers/matchers/matcher.js"(exports2) {
130819
130870
  "use strict";
130820
130871
  Object.defineProperty(exports2, "__esModule", { value: true });
130821
- var utils = require_utils16();
130872
+ var utils = require_utils15();
130822
130873
  var Matcher = class {
130823
130874
  constructor(_patterns, _settings, _micromatchOptions) {
130824
130875
  this._patterns = _patterns;
@@ -130906,7 +130957,7 @@ var require_deep = __commonJS({
130906
130957
  "../../node_modules/fast-glob/out/providers/filters/deep.js"(exports2) {
130907
130958
  "use strict";
130908
130959
  Object.defineProperty(exports2, "__esModule", { value: true });
130909
- var utils = require_utils16();
130960
+ var utils = require_utils15();
130910
130961
  var partial_1 = require_partial();
130911
130962
  var DeepFilter = class {
130912
130963
  constructor(_settings, _micromatchOptions) {
@@ -130971,7 +131022,7 @@ var require_entry = __commonJS({
130971
131022
  "../../node_modules/fast-glob/out/providers/filters/entry.js"(exports2) {
130972
131023
  "use strict";
130973
131024
  Object.defineProperty(exports2, "__esModule", { value: true });
130974
- var utils = require_utils16();
131025
+ var utils = require_utils15();
130975
131026
  var EntryFilter = class {
130976
131027
  constructor(_settings, _micromatchOptions) {
130977
131028
  this._settings = _settings;
@@ -131059,7 +131110,7 @@ var require_error2 = __commonJS({
131059
131110
  "../../node_modules/fast-glob/out/providers/filters/error.js"(exports2) {
131060
131111
  "use strict";
131061
131112
  Object.defineProperty(exports2, "__esModule", { value: true });
131062
- var utils = require_utils16();
131113
+ var utils = require_utils15();
131063
131114
  var ErrorFilter = class {
131064
131115
  constructor(_settings) {
131065
131116
  this._settings = _settings;
@@ -131080,7 +131131,7 @@ var require_entry2 = __commonJS({
131080
131131
  "../../node_modules/fast-glob/out/providers/transformers/entry.js"(exports2) {
131081
131132
  "use strict";
131082
131133
  Object.defineProperty(exports2, "__esModule", { value: true });
131083
- var utils = require_utils16();
131134
+ var utils = require_utils15();
131084
131135
  var EntryTransformer = class {
131085
131136
  constructor(_settings) {
131086
131137
  this._settings = _settings;
@@ -131370,7 +131421,7 @@ var require_out4 = __commonJS({
131370
131421
  var stream_1 = require_stream5();
131371
131422
  var sync_1 = require_sync8();
131372
131423
  var settings_1 = require_settings4();
131373
- var utils = require_utils16();
131424
+ var utils = require_utils15();
131374
131425
  async function FastGlob(source, options) {
131375
131426
  assertPatternsInput2(source);
131376
131427
  const works = getWorks(source, async_1.default, options);
@@ -132423,7 +132474,7 @@ ${errorMessages.join("\n")}`;
132423
132474
  });
132424
132475
 
132425
132476
  // dist/utils.js
132426
- var require_utils18 = __commonJS({
132477
+ var require_utils17 = __commonJS({
132427
132478
  "dist/utils.js"(exports2) {
132428
132479
  "use strict";
132429
132480
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -132761,7 +132812,7 @@ var require_fixFlow = __commonJS({
132761
132812
  };
132762
132813
  Object.defineProperty(exports2, "__esModule", { value: true });
132763
132814
  exports2.startFixFlow = startFixFlow;
132764
- var utils_1 = require_utils18();
132815
+ var utils_1 = require_utils17();
132765
132816
  var ValidatorFactory_1 = __importDefault2(require_ValidatorFactory());
132766
132817
  var FixerFactory_1 = __importDefault2(require_FixerFactory());
132767
132818
  var ditto_codegen_types_12 = require_dist();
@@ -132880,6 +132931,19 @@ var require_naturalJsonStringify = __commonJS({
132880
132931
  }
132881
132932
  });
132882
132933
 
132934
+ // dist/agents/utils/route.js
132935
+ var require_route = __commonJS({
132936
+ "dist/agents/utils/route.js"(exports2) {
132937
+ "use strict";
132938
+ Object.defineProperty(exports2, "__esModule", { value: true });
132939
+ exports2.slugify = void 0;
132940
+ var slugify = (str = "") => {
132941
+ return str.toLowerCase().replace(/[^a-zA-Z0-9\s-_]/g, "").replace(/\s+/g, "-");
132942
+ };
132943
+ exports2.slugify = slugify;
132944
+ }
132945
+ });
132946
+
132883
132947
  // dist/extensions/extensionGenerators.js
132884
132948
  var require_extensionGenerators = __commonJS({
132885
132949
  "dist/extensions/extensionGenerators.js"(exports2) {
@@ -132898,6 +132962,7 @@ var require_extensionGenerators = __commonJS({
132898
132962
  var EmbeddedScriptAgent_1 = require_EmbeddedScriptAgent2();
132899
132963
  var ditto_codegen_types_12 = require_dist();
132900
132964
  var naturalJsonStringify_1 = require_naturalJsonStringify();
132965
+ var route_1 = require_route();
132901
132966
  var ExtensionFactory = class {
132902
132967
  static generateExtension({ extension, outputPath, scaffoldPath, generatedConfig }) {
132903
132968
  const scaffoldDir = path_1.default.dirname(scaffoldPath);
@@ -133039,7 +133104,7 @@ var require_extensionGenerators = __commonJS({
133039
133104
  }
133040
133105
  }
133041
133106
  static createDashboardPageData(id, name, scaffoldDir) {
133042
- const routePath = name.toLowerCase().replace(/\s+/g, "-");
133107
+ const routePath = (0, route_1.slugify)(name);
133043
133108
  const component = getScaffoldPath(scaffoldDir, "page.tsx");
133044
133109
  return {
133045
133110
  id,
@@ -133977,7 +134042,7 @@ var require_domain = __commonJS({
133977
134042
  });
133978
134043
 
133979
134044
  // ../../node_modules/@wix/metro-runtime/dist/cjs/serialization/utils.js
133980
- var require_utils19 = __commonJS({
134045
+ var require_utils18 = __commonJS({
133981
134046
  "../../node_modules/@wix/metro-runtime/dist/cjs/serialization/utils.js"(exports2) {
133982
134047
  "use strict";
133983
134048
  exports2.__esModule = true;
@@ -134003,7 +134068,7 @@ var require_serialization = __commonJS({
134003
134068
  "../../node_modules/@wix/metro-runtime/dist/cjs/serialization/index.js"(exports2) {
134004
134069
  "use strict";
134005
134070
  exports2.__esModule = true;
134006
- var _utils = require_utils19();
134071
+ var _utils = require_utils18();
134007
134072
  Object.keys(_utils).forEach(function(key) {
134008
134073
  if (key === "default" || key === "__esModule") return;
134009
134074
  if (key in exports2 && exports2[key] === _utils[key]) return;
@@ -134013,7 +134078,7 @@ var require_serialization = __commonJS({
134013
134078
  });
134014
134079
 
134015
134080
  // ../../node_modules/@wix/metro-runtime/dist/cjs/utils.js
134016
- var require_utils20 = __commonJS({
134081
+ var require_utils19 = __commonJS({
134017
134082
  "../../node_modules/@wix/metro-runtime/dist/cjs/utils.js"(exports2) {
134018
134083
  "use strict";
134019
134084
  exports2.__esModule = true;
@@ -134037,7 +134102,7 @@ var require_url_resolver = __commonJS({
134037
134102
  "use strict";
134038
134103
  exports2.__esModule = true;
134039
134104
  exports2.resolveUrl = resolveUrl;
134040
- var _utils = require_utils20();
134105
+ var _utils = require_utils19();
134041
134106
  var USER_DOMAIN = "_";
134042
134107
  var DOMAINS = ["wix.com", "editorx.com"];
134043
134108
  var WIX_API_DOMAINS = ["42.wixprod.net", "uw2-edt-1.wixprod.net"];
@@ -134682,7 +134747,7 @@ var require_converters = __commonJS({
134682
134747
  });
134683
134748
 
134684
134749
  // ../../node_modules/@wix/metro-runtime/dist/cjs/serializer/utils.js
134685
- var require_utils21 = __commonJS({
134750
+ var require_utils20 = __commonJS({
134686
134751
  "../../node_modules/@wix/metro-runtime/dist/cjs/serializer/utils.js"(exports2) {
134687
134752
  "use strict";
134688
134753
  exports2.__esModule = true;
@@ -134713,7 +134778,7 @@ var require_ambassador_index = __commonJS({
134713
134778
  var _domain = require_domain();
134714
134779
  var _serializer = require_serializer();
134715
134780
  var _converters = require_converters();
134716
- var _utils = require_utils21();
134781
+ var _utils = require_utils20();
134717
134782
  var ambassadorConverters = (0, _utils.typeToConverterSet)([..._converters.protobufConverters]);
134718
134783
  function serializer(rootSchema, depSchemas = {}) {
134719
134784
  const transform = (0, _serializer.schemaSerializer)(rootSchema, depSchemas, ambassadorConverters);
@@ -135557,7 +135622,7 @@ var require_authorization = __commonJS({
135557
135622
  });
135558
135623
 
135559
135624
  // ../../node_modules/@wix/headers/dist/cjs/utils.js
135560
- var require_utils22 = __commonJS({
135625
+ var require_utils21 = __commonJS({
135561
135626
  "../../node_modules/@wix/headers/dist/cjs/utils.js"(exports2) {
135562
135627
  "use strict";
135563
135628
  exports2.__esModule = true;
@@ -135582,7 +135647,7 @@ var require_artifact_id = __commonJS({
135582
135647
  "use strict";
135583
135648
  exports2.__esModule = true;
135584
135649
  exports2.artifactId = artifactId;
135585
- var _utils = require_utils22();
135650
+ var _utils = require_utils21();
135586
135651
  function artifactId(override) {
135587
135652
  const artifactIdToUse = (0, _utils.isNode)() ? process.env.ARTIFACT_ID ?? process.env.APP_NAME ?? "" : "";
135588
135653
  return {
@@ -135929,7 +135994,7 @@ var require_env_util = __commonJS({
135929
135994
  });
135930
135995
 
135931
135996
  // ../../node_modules/@wix/http-client/dist/src/utils.js
135932
- var require_utils23 = __commonJS({
135997
+ var require_utils22 = __commonJS({
135933
135998
  "../../node_modules/@wix/http-client/dist/src/utils.js"(exports2) {
135934
135999
  "use strict";
135935
136000
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -136081,7 +136146,7 @@ var require_headers = __commonJS({
136081
136146
  exports2.isWixDomain = exports2.composeHeaders = exports2.requestIdOrEmptyString = void 0;
136082
136147
  var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
136083
136148
  var headers_1 = require_cjs3();
136084
- var utils_1 = require_utils23();
136149
+ var utils_1 = require_utils22();
136085
136150
  var whitelist_json_1 = tslib_1.__importDefault(require_whitelist());
136086
136151
  function requestIdOrEmptyString(response) {
136087
136152
  var _a2;
@@ -136163,7 +136228,7 @@ var require_bind = __commonJS({
136163
136228
  });
136164
136229
 
136165
136230
  // ../../node_modules/@wix/http-client/node_modules/axios/lib/utils.js
136166
- var require_utils24 = __commonJS({
136231
+ var require_utils23 = __commonJS({
136167
136232
  "../../node_modules/@wix/http-client/node_modules/axios/lib/utils.js"(exports2, module2) {
136168
136233
  "use strict";
136169
136234
  var bind = require_bind();
@@ -136423,7 +136488,7 @@ var require_buildFullPath = __commonJS({
136423
136488
  var require_buildURL = __commonJS({
136424
136489
  "../../node_modules/@wix/http-client/node_modules/axios/lib/helpers/buildURL.js"(exports2, module2) {
136425
136490
  "use strict";
136426
- var utils = require_utils24();
136491
+ var utils = require_utils23();
136427
136492
  function encode(val) {
136428
136493
  return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
136429
136494
  }
@@ -137080,7 +137145,7 @@ var require_package4 = __commonJS({
137080
137145
  var require_http = __commonJS({
137081
137146
  "../../node_modules/@wix/http-client/node_modules/axios/lib/adapters/http.js"(exports2, module2) {
137082
137147
  "use strict";
137083
- var utils = require_utils24();
137148
+ var utils = require_utils23();
137084
137149
  var settle = require_settle();
137085
137150
  var buildFullPath = require_buildFullPath();
137086
137151
  var buildURL = require_buildURL();
@@ -137942,7 +138007,7 @@ var require_dist16 = __commonJS({
137942
138007
  var require_InterceptorManager = __commonJS({
137943
138008
  "../../node_modules/@wix/http-client/node_modules/axios/lib/core/InterceptorManager.js"(exports2, module2) {
137944
138009
  "use strict";
137945
- var utils = require_utils24();
138010
+ var utils = require_utils23();
137946
138011
  function InterceptorManager() {
137947
138012
  this.handlers = [];
137948
138013
  }
@@ -137975,7 +138040,7 @@ var require_InterceptorManager = __commonJS({
137975
138040
  var require_normalizeHeaderName = __commonJS({
137976
138041
  "../../node_modules/@wix/http-client/node_modules/axios/lib/helpers/normalizeHeaderName.js"(exports2, module2) {
137977
138042
  "use strict";
137978
- var utils = require_utils24();
138043
+ var utils = require_utils23();
137979
138044
  module2.exports = function normalizeHeaderName(headers, normalizedName) {
137980
138045
  utils.forEach(headers, function processHeader(value, name) {
137981
138046
  if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
@@ -137991,7 +138056,7 @@ var require_normalizeHeaderName = __commonJS({
137991
138056
  var require_cookies2 = __commonJS({
137992
138057
  "../../node_modules/@wix/http-client/node_modules/axios/lib/helpers/cookies.js"(exports2, module2) {
137993
138058
  "use strict";
137994
- var utils = require_utils24();
138059
+ var utils = require_utils23();
137995
138060
  module2.exports = utils.isStandardBrowserEnv() ? (
137996
138061
  // Standard browser envs support document.cookie
137997
138062
  /* @__PURE__ */ (function standardBrowserEnv() {
@@ -138043,7 +138108,7 @@ var require_cookies2 = __commonJS({
138043
138108
  var require_parseHeaders = __commonJS({
138044
138109
  "../../node_modules/@wix/http-client/node_modules/axios/lib/helpers/parseHeaders.js"(exports2, module2) {
138045
138110
  "use strict";
138046
- var utils = require_utils24();
138111
+ var utils = require_utils23();
138047
138112
  var ignoreDuplicateOf = [
138048
138113
  "age",
138049
138114
  "authorization",
@@ -138095,7 +138160,7 @@ var require_parseHeaders = __commonJS({
138095
138160
  var require_isURLSameOrigin = __commonJS({
138096
138161
  "../../node_modules/@wix/http-client/node_modules/axios/lib/helpers/isURLSameOrigin.js"(exports2, module2) {
138097
138162
  "use strict";
138098
- var utils = require_utils24();
138163
+ var utils = require_utils23();
138099
138164
  module2.exports = utils.isStandardBrowserEnv() ? (
138100
138165
  // Standard browser envs have full support of the APIs needed to test
138101
138166
  // whether the request URL is of the same origin as current location.
@@ -138142,7 +138207,7 @@ var require_isURLSameOrigin = __commonJS({
138142
138207
  var require_xhr = __commonJS({
138143
138208
  "../../node_modules/@wix/http-client/node_modules/axios/lib/adapters/xhr.js"(exports2, module2) {
138144
138209
  "use strict";
138145
- var utils = require_utils24();
138210
+ var utils = require_utils23();
138146
138211
  var settle = require_settle();
138147
138212
  var cookies = require_cookies2();
138148
138213
  var buildURL = require_buildURL();
@@ -138271,7 +138336,7 @@ var require_xhr = __commonJS({
138271
138336
  var require_defaults = __commonJS({
138272
138337
  "../../node_modules/@wix/http-client/node_modules/axios/lib/defaults.js"(exports2, module2) {
138273
138338
  "use strict";
138274
- var utils = require_utils24();
138339
+ var utils = require_utils23();
138275
138340
  var normalizeHeaderName = require_normalizeHeaderName();
138276
138341
  var enhanceError = require_enhanceError();
138277
138342
  var DEFAULT_CONTENT_TYPE = {
@@ -138381,7 +138446,7 @@ var require_defaults = __commonJS({
138381
138446
  var require_transformData = __commonJS({
138382
138447
  "../../node_modules/@wix/http-client/node_modules/axios/lib/core/transformData.js"(exports2, module2) {
138383
138448
  "use strict";
138384
- var utils = require_utils24();
138449
+ var utils = require_utils23();
138385
138450
  var defaults = require_defaults();
138386
138451
  module2.exports = function transformData(data, headers, fns) {
138387
138452
  var context2 = this || defaults;
@@ -138407,7 +138472,7 @@ var require_isCancel = __commonJS({
138407
138472
  var require_dispatchRequest = __commonJS({
138408
138473
  "../../node_modules/@wix/http-client/node_modules/axios/lib/core/dispatchRequest.js"(exports2, module2) {
138409
138474
  "use strict";
138410
- var utils = require_utils24();
138475
+ var utils = require_utils23();
138411
138476
  var transformData = require_transformData();
138412
138477
  var isCancel = require_isCancel();
138413
138478
  var defaults = require_defaults();
@@ -138468,7 +138533,7 @@ var require_dispatchRequest = __commonJS({
138468
138533
  var require_mergeConfig = __commonJS({
138469
138534
  "../../node_modules/@wix/http-client/node_modules/axios/lib/core/mergeConfig.js"(exports2, module2) {
138470
138535
  "use strict";
138471
- var utils = require_utils24();
138536
+ var utils = require_utils23();
138472
138537
  module2.exports = function mergeConfig(config1, config2) {
138473
138538
  config2 = config2 || {};
138474
138539
  var config = {};
@@ -138627,7 +138692,7 @@ var require_validator = __commonJS({
138627
138692
  var require_Axios = __commonJS({
138628
138693
  "../../node_modules/@wix/http-client/node_modules/axios/lib/core/Axios.js"(exports2, module2) {
138629
138694
  "use strict";
138630
- var utils = require_utils24();
138695
+ var utils = require_utils23();
138631
138696
  var buildURL = require_buildURL();
138632
138697
  var InterceptorManager = require_InterceptorManager();
138633
138698
  var dispatchRequest = require_dispatchRequest();
@@ -138817,7 +138882,7 @@ var require_isAxiosError = __commonJS({
138817
138882
  var require_axios = __commonJS({
138818
138883
  "../../node_modules/@wix/http-client/node_modules/axios/lib/axios.js"(exports2, module2) {
138819
138884
  "use strict";
138820
- var utils = require_utils24();
138885
+ var utils = require_utils23();
138821
138886
  var bind = require_bind();
138822
138887
  var Axios = require_Axios();
138823
138888
  var mergeConfig = require_mergeConfig();
@@ -138862,7 +138927,7 @@ var require_options = __commonJS({
138862
138927
  exports2.getUrlHeaders = exports2.buildAllHeaders = exports2.buildOptions = void 0;
138863
138928
  var constants_1 = require_constants8();
138864
138929
  var headers_1 = require_headers();
138865
- var utils_1 = require_utils23();
138930
+ var utils_1 = require_utils22();
138866
138931
  var buildOptions = ({ requestOptions, urlObject, headers, globalConfig = {
138867
138932
  httpMockServer: {
138868
138933
  enabled: false
@@ -138972,7 +139037,7 @@ var require_http_client = __commonJS({
138972
139037
  var error_1 = require_error3();
138973
139038
  var headers_1 = require_headers();
138974
139039
  var options_1 = require_options();
138975
- var utils_1 = require_utils23();
139040
+ var utils_1 = require_utils22();
138976
139041
  var HttpClient = class {
138977
139042
  constructor(opts = {}) {
138978
139043
  this.opts = opts;
@@ -139328,7 +139393,7 @@ var require_codegen_flow_helpers = __commonJS({
139328
139393
  var path_1 = __importDefault2(require("path"));
139329
139394
  var codeGenerationService_1 = require_codeGenerationService();
139330
139395
  var ditto_codegen_types_12 = require_dist();
139331
- var utils_1 = require_utils18();
139396
+ var utils_1 = require_utils17();
139332
139397
  var http_1 = require_http_impl();
139333
139398
  var http_client_1 = require_index_node();
139334
139399
  var orchestrator_1 = require_orchestrator();
@@ -353433,7 +353498,7 @@ var require_job_cancellation_monitor = __commonJS({
353433
353498
  Object.defineProperty(exports2, "__esModule", { value: true });
353434
353499
  exports2.JobCancellationMonitor = void 0;
353435
353500
  var ditto_codegen_types_12 = require_dist();
353436
- var utils_1 = require_utils18();
353501
+ var utils_1 = require_utils17();
353437
353502
  var STATUS_CHECK_INTERVAL_MS = 2e3;
353438
353503
  var JobCancellationMonitor = class {
353439
353504
  constructor(codeGenerationService) {
@@ -353482,7 +353547,7 @@ var require_job_timeout_monitor = __commonJS({
353482
353547
  Object.defineProperty(exports2, "__esModule", { value: true });
353483
353548
  exports2.JobTimeoutMonitor = exports2.JOB_TIMEOUT_MS = void 0;
353484
353549
  var ditto_codegen_types_12 = require_dist();
353485
- var utils_1 = require_utils18();
353550
+ var utils_1 = require_utils17();
353486
353551
  exports2.JOB_TIMEOUT_MS = 1e3 * 60 * 10;
353487
353552
  var JobTimeoutMonitor = class {
353488
353553
  constructor(codeGenerationService) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/ditto-codegen-public",
3
- "version": "1.0.132",
3
+ "version": "1.0.134",
4
4
  "description": "AI-powered Wix CLI app generator - standalone executable",
5
5
  "scripts": {
6
6
  "build": "node build.mjs",
@@ -24,5 +24,5 @@
24
24
  "@wix/ditto-codegen": "1.0.0",
25
25
  "esbuild": "^0.25.9"
26
26
  },
27
- "falconPackageHash": "1bc006685dbca30953ee68ff676a0a93e320daa3e8b3c97b21dbe579"
27
+ "falconPackageHash": "c08037c2ea822fc061a14fb04f0ae2359e7a007c0aa11f0b17cc8544"
28
28
  }