@gitsense/gsc-utils 0.2.27 → 0.2.28

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.
@@ -2327,7 +2327,7 @@ var verifyAndCorrectLineNumbers_1 = {
2327
2327
 
2328
2328
  /**
2329
2329
  * Component: PatchUtils Verify and Correct Hunk Headers
2330
- * Block-UUID: 61c74798-bddb-47e1-be48-4a102659933c
2330
+ * Block-UUID: 013f7f2d-0077-4cec-bd22-3bf2fc81f222
2331
2331
  * Parent-UUID: 2308ed72-91ff-48ba-bc80-310c23c01ff1
2332
2332
  * Version: 1.0.0
2333
2333
  * Description: Verifies and corrects the hunk headers within a patch based on the line number prefixes in the content lines.
@@ -2526,7 +2526,7 @@ var verifyAndCorrectHunkHeaders_1 = {
2526
2526
 
2527
2527
  /**
2528
2528
  * Component: PatchUtils Detect and Fix Redundant Changes
2529
- * Block-UUID: ffd6e8fc-399d-4254-827c-ef17e2f7d0d5
2529
+ * Block-UUID: bb354364-b497-412c-9570-b39355da8153
2530
2530
  * Parent-UUID: 2308ed72-91ff-48ba-bc80-310c23c01ff1
2531
2531
  * Version: 1.0.0
2532
2532
  * Description: Detects and optionally fixes redundant changes in a patch where content is deleted and re-added identically.
@@ -12433,7 +12433,7 @@ var defaultPromptLoader = {
12433
12433
 
12434
12434
  /*
12435
12435
  * Component: AnalyzerUtils Updater
12436
- * Block-UUID: 8a7b6c5d-4e3f-2a1b-9c8d-7e6f5a4b3c2d
12436
+ * Block-UUID: aee32ada-81d8-4d44-b0a3-5613ba166d1e
12437
12437
  * Parent-UUID: N/A
12438
12438
  * Version: 1.0.0
12439
12439
  * Description: Provides utility functions for updating analyzer configurations, including renaming and metadata updates.
@@ -12808,7 +12808,7 @@ var AnalyzerUtils$1 = {
12808
12808
 
12809
12809
  /**
12810
12810
  * Component: LLMUtils
12811
- * Block-UUID: a3106054-42f1-474f-96f3-182d66eb19a0
12811
+ * Block-UUID: b8536c11-ed0b-4538-b3ff-35da94e67012
12812
12812
  * Parent-UUID: N/A
12813
12813
  * Version: 1.0.0
12814
12814
  * Description: Provides utility functions related to Large Language Model interactions, such as token estimation.
@@ -12952,7 +12952,7 @@ var DateUtils$1 = {
12952
12952
 
12953
12953
  /**
12954
12954
  * Component: Formatter Utilities
12955
- * Block-UUID: 9b1e07bf-e92c-43c1-9ac0-5dacdb7ae618
12955
+ * Block-UUID: 8512c809-87b0-4f90-af9d-b3dca204c4de
12956
12956
  * Parent-UUID: 9c07d12f-5a05-4402-99d2-85d872d7b2f7
12957
12957
  * Version: 1.0.0
12958
12958
  * Description: Utility functions for formatting content in GitSense Chat
@@ -13009,11 +13009,11 @@ var FormatterUtils$1 = {
13009
13009
  * Component: DomUtils Helper Functions
13010
13010
  * Block-UUID: 9a8e8e8e-8b15-4346-bbfa-740e6a5d2d79
13011
13011
  * Parent-UUID: 8a528728-ce54-4445-946d-1743fb4b16be
13012
- * Version: 1.3.0
13012
+ * Version: 1.3.1
13013
13013
  * Description: Provides helper functions for creating and manipulating DOM elements.
13014
13014
  * Language: JavaScript
13015
13015
  * Created-at: 2025-12-14T04:18:40.180Z
13016
- * Authors: Gemini 2.5 Pro (v1.0.0), Gemini 2.5 Flash (v1.1.0), Qwen 3 Coder 480B - Cerebras (v1.2.0), GLM-4.6 (v1.2.1), GLM-4.6 (v1.3.0)
13016
+ * Authors: Gemini 2.5 Pro (v1.0.0), Gemini 2.5 Flash (v1.1.0), Qwen 3 Coder 480B - Cerebras (v1.2.0), GLM-4.6 (v1.2.1), GLM-4.6 (v1.3.0), GLM-4.6 (v1.3.1)
13017
13017
  */
13018
13018
 
13019
13019
  function createElement(type, params) {
@@ -13258,24 +13258,38 @@ const h$1 = {
13258
13258
  createPre: (params) => {
13259
13259
  return createElement("pre", params);
13260
13260
  },
13261
- createSelect: (params) => { // Added
13262
- // name, disabled etc handled by createElement
13263
- const select = createElement("select", params);
13261
+ createSelect: (params) => {
13262
+ // Extract value before creating the select element
13263
+ const { value, ...selectParams } = params || {};
13264
+
13265
+ // Create select element without the value initially
13266
+ const select = createElement("select", selectParams);
13264
13267
 
13265
13268
  // Handle options array if provided
13266
13269
  if (params && params.options && Array.isArray(params.options)) {
13267
13270
  params.options.forEach(option => {
13268
13271
  if (option && typeof option === 'object') {
13272
+ // Check if this option should be selected based on the value
13273
+ const isSelected = (value !== undefined && value !== null) &&
13274
+ (option.value === value ||
13275
+ (value === '' && option.value === '') ||
13276
+ (value === null && option.value === null));
13277
+
13269
13278
  const optionElement = createElement("option", {
13270
13279
  value: option.value,
13271
13280
  text: option.text,
13272
- selected: option.selected
13281
+ selected: isSelected || option.selected
13273
13282
  });
13274
13283
  select.appendChild(optionElement);
13275
13284
  }
13276
13285
  });
13277
13286
  }
13278
13287
 
13288
+ // Set the value after options are added to ensure proper selection
13289
+ if (value !== undefined && value !== null) {
13290
+ select.value = value;
13291
+ }
13292
+
13279
13293
  return select;
13280
13294
  },
13281
13295
  createSpan: (params) => {
@@ -23566,7 +23580,7 @@ let SVGUtils$1 = class SVGUtils {
23566
23580
  * @returns {Element} SVG element
23567
23581
  */
23568
23582
  static archive(params) {
23569
- const xml = `<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill-rule='evenodd' d='M1.75 2.5a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25H1.75zM0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0114.25 6H1.75A1.75 1.75 0 010 4.25v-1.5zM1.75 7a.75.75 0 01.75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-5.5a.75.75 0 111.5 0v5.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25v-5.5A.75.75 0 011.75 7zm4.5 1a.75.75 0 000 1.5h3.5a.75.75 0 100-1.5h-3.5z'></path></svg>`;
23583
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0 1 14.25 6H1.75A1.75 1.75 0 0 1 0 4.25ZM1.75 7a.75.75 0 0 1 .75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-5.5a.75.75 0 0 1 1.5 0v5.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25v-5.5A.75.75 0 0 1 1.75 7Zm0-4.5a.25.25 0 0 0-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25ZM6.25 8h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5Z"></path></svg>`;
23570
23584
  return this.create(xml, params);
23571
23585
  }
23572
23586
 
@@ -23892,6 +23906,16 @@ let SVGUtils$1 = class SVGUtils {
23892
23906
  return this.create(xml, params);
23893
23907
  }
23894
23908
 
23909
+ /**
23910
+ * Generate commentDiscussions24 SVG icon
23911
+ * @param {Object} params - Configuration parameters
23912
+ * @returns {Element} SVG element
23913
+ */
23914
+ static commentDiscussions24(params) {
23915
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path></svg>`;
23916
+ return this.create(xml, params);
23917
+ }
23918
+
23895
23919
  /**
23896
23920
  * Generate commit SVG icon
23897
23921
  * @param {Object} params - Configuration parameters
@@ -23902,6 +23926,16 @@ let SVGUtils$1 = class SVGUtils {
23902
23926
  return this.create(xml, params);
23903
23927
  }
23904
23928
 
23929
+ /**
23930
+ * Generate commit SVG icon
23931
+ * @param {Object} params - Configuration parameters
23932
+ * @returns {Element} SVG element
23933
+ */
23934
+ static compose24(params) {
23935
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M1 21.25V4a1.75 1.75 0 0 1 1.75-1.75h7.51a.75.75 0 0 1 0 1.5H2.75A.25.25 0 0 0 2.5 4v17.25a.25.25 0 0 0 .25.25H20a.25.25 0 0 0 .25-.25V13a.75.75 0 0 1 1.5 0v8.25c0 .464-.184.909-.513 1.237A1.746 1.746 0 0 1 20 23H2.75A1.75 1.75 0 0 1 1 21.25Z"></path><path d="M19.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.25.929a.751.751 0 0 1-.928-.927l.929-3.25c.082-.287.235-.547.445-.758l8.61-8.61Zm-7.55 9.67a.241.241 0 0 0-.063.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064L19.19 6.25l-1.44-1.44Zm8.964-8.61a.245.245 0 0 0-.177-.073.245.245 0 0 0-.177.073L18.811 3.75l1.439 1.44 1.263-1.263a.245.245 0 0 0 .073-.177.245.245 0 0 0-.073-.177Z"></path></svg>`;
23936
+ return this.create(xml, params);
23937
+ }
23938
+
23905
23939
  /**
23906
23940
  * Generate container SVG icon
23907
23941
  * @param {Object} params - Configuration parameters
@@ -23932,6 +23966,16 @@ let SVGUtils$1 = class SVGUtils {
23932
23966
  return this.create(xml, params);
23933
23967
  }
23934
23968
 
23969
+ /**
23970
+ * Generate crosshairs SVG icon
23971
+ * @param {Object} params - Configuration parameters
23972
+ * @returns {Element} SVG element
23973
+ */
23974
+ static crosshairs(params) {
23975
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M14 8A6 6 0 1 1 2 8a6 6 0 0 1 12 0Zm-1.5 0a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Z"></path><path d="M5 7.25a.75.75 0 0 1 0 1.5H1a.75.75 0 0 1 0-1.5Zm3-7a.75.75 0 0 1 .75.75v4a.75.75 0 0 1-1.5 0V1A.75.75 0 0 1 8 .25Zm7 7a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1 0-1.5Zm-7 3a.75.75 0 0 1 .75.75v4a.75.75 0 0 1-1.5 0v-4a.75.75 0 0 1 .75-.75Z"></path></svg>`;
23976
+ return this.create(xml, params);
23977
+ }
23978
+
23935
23979
  /**
23936
23980
  * Generate deepSeek SVG icon
23937
23981
  * @param {Object} params - Configuration parameters
@@ -23983,8 +24027,6 @@ let SVGUtils$1 = class SVGUtils {
23983
24027
  return this.create(xml, params);
23984
24028
  }
23985
24029
 
23986
-
23987
-
23988
24030
  /**
23989
24031
  * Generate dot SVG icon
23990
24032
  * @param {Object} params - Configuration parameters
@@ -24337,6 +24379,16 @@ let SVGUtils$1 = class SVGUtils {
24337
24379
  return this.create(xml, params);
24338
24380
  }
24339
24381
 
24382
+ /**
24383
+ * Generate lock SVG icon
24384
+ * @param {Object} params - Configuration parameters
24385
+ * @returns {Element} SVG element
24386
+ */
24387
+ static lock(params) {
24388
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z"></path></svg>`;
24389
+ return this.create(xml, params);
24390
+ }
24391
+
24340
24392
  /**
24341
24393
  * Generate lightBulb SVG icon
24342
24394
  * @param {Object} params - Configuration parameters
@@ -24389,6 +24441,16 @@ let SVGUtils$1 = class SVGUtils {
24389
24441
  return this.create(xml, params);
24390
24442
  }
24391
24443
 
24444
+ /**
24445
+ * Generate moveToEnd SVG icon
24446
+ * @param {Object} params - Configuration parameters
24447
+ * @returns {Element} SVG element
24448
+ */
24449
+ static moveToEnd(params) {
24450
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="m10.78 8.53-3.75 3.75a.749.749 0 1 1-1.06-1.06l2.469-2.47H1.75a.75.75 0 0 1 0-1.5h6.689L5.97 4.78a.749.749 0 1 1 1.06-1.06l3.75 3.75a.749.749 0 0 1 0 1.06ZM13 12.25v-8.5a.75.75 0 0 1 1.5 0v8.5a.75.75 0 0 1-1.5 0Z"></path></svg>`;
24451
+ return this.create(xml, params);
24452
+ }
24453
+
24392
24454
  /**
24393
24455
  * Generate northStar SVG icon
24394
24456
  * @param {Object} params - Configuration parameters
@@ -24409,6 +24471,16 @@ let SVGUtils$1 = class SVGUtils {
24409
24471
  return this.create(xml, params);
24410
24472
  }
24411
24473
 
24474
+ /**
24475
+ * Generate note24 SVG icon
24476
+ * @param {Object} params - Configuration parameters
24477
+ * @returns {Element} SVG element
24478
+ */
24479
+ static note24(params) {
24480
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V4.75a.25.25 0 0 0-.25-.25Z"></path><path d="M5 8.75A.75.75 0 0 1 5.75 8h11.5a.75.75 0 0 1 0 1.5H5.75A.75.75 0 0 1 5 8.75Zm0 4a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75Z"></path></svg>`;
24481
+ return this.create(xml, params);
24482
+ }
24483
+
24412
24484
  /**
24413
24485
  * Generate openAI SVG icon
24414
24486
  * @param {Object} params - Configuration parameters
@@ -24475,7 +24547,17 @@ let SVGUtils$1 = class SVGUtils {
24475
24547
  * @returns {Element} SVG element
24476
24548
  */
24477
24549
  static pin(params) {
24478
- const xml = `<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill-rule='evenodd' d='M4.456.734a1.75 1.75 0 012.826.504l.613 1.327a3.081 3.081 0 002.084 1.707l2.454.584c1.332.317 1.8 1.972.832 2.94L11.06 10l3.72 3.72a.75.75 0 11-1.061 1.06L10 11.06l-2.204 2.205c-.968.968-2.623.5-2.94-.832l-.584-2.454a3.081 3.081 0 00-1.707-2.084l-1.327-.613a1.75 1.75 0 01-.504-2.826L4.456.734zM5.92 1.866a.25.25 0 00-.404-.072L1.794 5.516a.25.25 0 00.072.404l1.328.613A4.582 4.582 0 015.73 9.63l.584 2.454a.25.25 0 00.42.12l5.47-5.47a.25.25 0 00-.12-.42L9.63 5.73a4.581 4.581 0 01-3.098-2.537L5.92 1.866z'></path></svg>`;
24550
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="m11.294.984 3.722 3.722a1.75 1.75 0 0 1-.504 2.826l-1.327.613a3.089 3.089 0 0 0-1.707 2.084l-.584 2.454c-.317 1.332-1.972 1.8-2.94.832L5.75 11.311 1.78 15.28a.749.749 0 1 1-1.06-1.06l3.969-3.97-2.204-2.204c-.968-.968-.5-2.623.832-2.94l2.454-.584a3.08 3.08 0 0 0 2.084-1.707l.613-1.327a1.75 1.75 0 0 1 2.826-.504ZM6.283 9.723l2.732 2.731a.25.25 0 0 0 .42-.119l.584-2.454a4.586 4.586 0 0 1 2.537-3.098l1.328-.613a.25.25 0 0 0 .072-.404l-3.722-3.722a.25.25 0 0 0-.404.072l-.613 1.328a4.584 4.584 0 0 1-3.098 2.537l-2.454.584a.25.25 0 0 0-.119.42l2.731 2.732Z"></path></svg>`;
24551
+ return this.create(xml, params);
24552
+ }
24553
+
24554
+ /**
24555
+ * Generate pin24 SVG icon
24556
+ * @param {Object} params - Configuration parameters
24557
+ * @returns {Element} SVG element
24558
+ */
24559
+ static pin24(params) {
24560
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="m16.114 1.553 6.333 6.333a1.75 1.75 0 0 1-.603 2.869l-1.63.633a5.67 5.67 0 0 0-3.395 3.725l-1.131 3.959a1.75 1.75 0 0 1-2.92.757L9 16.061l-5.595 5.594a.749.749 0 1 1-1.06-1.06L7.939 15l-3.768-3.768a1.75 1.75 0 0 1 .757-2.92l3.959-1.131a5.666 5.666 0 0 0 3.725-3.395l.633-1.63a1.75 1.75 0 0 1 2.869-.603ZM5.232 10.171l8.597 8.597a.25.25 0 0 0 .417-.108l1.131-3.959A7.17 7.17 0 0 1 19.67 9.99l1.63-.634a.25.25 0 0 0 .086-.409l-6.333-6.333a.25.25 0 0 0-.409.086l-.634 1.63a7.17 7.17 0 0 1-4.711 4.293L5.34 9.754a.25.25 0 0 0-.108.417Z"></path></svg>`;
24479
24561
  return this.create(xml, params);
24480
24562
  }
24481
24563
 
@@ -24591,6 +24673,16 @@ let SVGUtils$1 = class SVGUtils {
24591
24673
  return this.create(xml, params);
24592
24674
  }
24593
24675
 
24676
+ /**
24677
+ * Generate sparkle SVG icon
24678
+ * @param {Object} params - Configuration parameters
24679
+ * @returns {Element} SVG element
24680
+ */
24681
+ static sparkle(params) {
24682
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M7.198.57c.275-.752 1.34-.752 1.615 0l.849 2.317a5.819 5.819 0 0 0 3.462 3.463l2.317.848c.753.275.753 1.34 0 1.615l-2.317.849a5.815 5.815 0 0 0-3.462 3.462l-.849 2.317c-.275.753-1.34.753-1.615 0l-.848-2.317a5.819 5.819 0 0 0-3.463-3.462L.57 8.813c-.752-.275-.752-1.34 0-1.615l2.317-.848A5.823 5.823 0 0 0 6.35 2.887L7.198.57Zm.562 2.833A7.323 7.323 0 0 1 3.403 7.76l-.673.246.673.246a7.324 7.324 0 0 1 4.357 4.356l.246.673.246-.673a7.322 7.322 0 0 1 4.356-4.356l.673-.246-.673-.246a7.324 7.324 0 0 1-4.356-4.357l-.246-.673-.246.673Z"></path></svg>`;
24683
+ return this.create(xml, params);
24684
+ }
24685
+
24594
24686
  /**
24595
24687
  * Generate square SVG icon
24596
24688
  * @param {Object} params - Configuration parameters
@@ -2325,7 +2325,7 @@ var verifyAndCorrectLineNumbers_1 = {
2325
2325
 
2326
2326
  /**
2327
2327
  * Component: PatchUtils Verify and Correct Hunk Headers
2328
- * Block-UUID: 61c74798-bddb-47e1-be48-4a102659933c
2328
+ * Block-UUID: 013f7f2d-0077-4cec-bd22-3bf2fc81f222
2329
2329
  * Parent-UUID: 2308ed72-91ff-48ba-bc80-310c23c01ff1
2330
2330
  * Version: 1.0.0
2331
2331
  * Description: Verifies and corrects the hunk headers within a patch based on the line number prefixes in the content lines.
@@ -2524,7 +2524,7 @@ var verifyAndCorrectHunkHeaders_1 = {
2524
2524
 
2525
2525
  /**
2526
2526
  * Component: PatchUtils Detect and Fix Redundant Changes
2527
- * Block-UUID: ffd6e8fc-399d-4254-827c-ef17e2f7d0d5
2527
+ * Block-UUID: bb354364-b497-412c-9570-b39355da8153
2528
2528
  * Parent-UUID: 2308ed72-91ff-48ba-bc80-310c23c01ff1
2529
2529
  * Version: 1.0.0
2530
2530
  * Description: Detects and optionally fixes redundant changes in a patch where content is deleted and re-added identically.
@@ -12431,7 +12431,7 @@ var defaultPromptLoader = {
12431
12431
 
12432
12432
  /*
12433
12433
  * Component: AnalyzerUtils Updater
12434
- * Block-UUID: 8a7b6c5d-4e3f-2a1b-9c8d-7e6f5a4b3c2d
12434
+ * Block-UUID: aee32ada-81d8-4d44-b0a3-5613ba166d1e
12435
12435
  * Parent-UUID: N/A
12436
12436
  * Version: 1.0.0
12437
12437
  * Description: Provides utility functions for updating analyzer configurations, including renaming and metadata updates.
@@ -12806,7 +12806,7 @@ var AnalyzerUtils$1 = {
12806
12806
 
12807
12807
  /**
12808
12808
  * Component: LLMUtils
12809
- * Block-UUID: a3106054-42f1-474f-96f3-182d66eb19a0
12809
+ * Block-UUID: b8536c11-ed0b-4538-b3ff-35da94e67012
12810
12810
  * Parent-UUID: N/A
12811
12811
  * Version: 1.0.0
12812
12812
  * Description: Provides utility functions related to Large Language Model interactions, such as token estimation.
@@ -12950,7 +12950,7 @@ var DateUtils$1 = {
12950
12950
 
12951
12951
  /**
12952
12952
  * Component: Formatter Utilities
12953
- * Block-UUID: 9b1e07bf-e92c-43c1-9ac0-5dacdb7ae618
12953
+ * Block-UUID: 8512c809-87b0-4f90-af9d-b3dca204c4de
12954
12954
  * Parent-UUID: 9c07d12f-5a05-4402-99d2-85d872d7b2f7
12955
12955
  * Version: 1.0.0
12956
12956
  * Description: Utility functions for formatting content in GitSense Chat
@@ -13007,11 +13007,11 @@ var FormatterUtils$1 = {
13007
13007
  * Component: DomUtils Helper Functions
13008
13008
  * Block-UUID: 9a8e8e8e-8b15-4346-bbfa-740e6a5d2d79
13009
13009
  * Parent-UUID: 8a528728-ce54-4445-946d-1743fb4b16be
13010
- * Version: 1.3.0
13010
+ * Version: 1.3.1
13011
13011
  * Description: Provides helper functions for creating and manipulating DOM elements.
13012
13012
  * Language: JavaScript
13013
13013
  * Created-at: 2025-12-14T04:18:40.180Z
13014
- * Authors: Gemini 2.5 Pro (v1.0.0), Gemini 2.5 Flash (v1.1.0), Qwen 3 Coder 480B - Cerebras (v1.2.0), GLM-4.6 (v1.2.1), GLM-4.6 (v1.3.0)
13014
+ * Authors: Gemini 2.5 Pro (v1.0.0), Gemini 2.5 Flash (v1.1.0), Qwen 3 Coder 480B - Cerebras (v1.2.0), GLM-4.6 (v1.2.1), GLM-4.6 (v1.3.0), GLM-4.6 (v1.3.1)
13015
13015
  */
13016
13016
 
13017
13017
  function createElement(type, params) {
@@ -13256,24 +13256,38 @@ const h$1 = {
13256
13256
  createPre: (params) => {
13257
13257
  return createElement("pre", params);
13258
13258
  },
13259
- createSelect: (params) => { // Added
13260
- // name, disabled etc handled by createElement
13261
- const select = createElement("select", params);
13259
+ createSelect: (params) => {
13260
+ // Extract value before creating the select element
13261
+ const { value, ...selectParams } = params || {};
13262
+
13263
+ // Create select element without the value initially
13264
+ const select = createElement("select", selectParams);
13262
13265
 
13263
13266
  // Handle options array if provided
13264
13267
  if (params && params.options && Array.isArray(params.options)) {
13265
13268
  params.options.forEach(option => {
13266
13269
  if (option && typeof option === 'object') {
13270
+ // Check if this option should be selected based on the value
13271
+ const isSelected = (value !== undefined && value !== null) &&
13272
+ (option.value === value ||
13273
+ (value === '' && option.value === '') ||
13274
+ (value === null && option.value === null));
13275
+
13267
13276
  const optionElement = createElement("option", {
13268
13277
  value: option.value,
13269
13278
  text: option.text,
13270
- selected: option.selected
13279
+ selected: isSelected || option.selected
13271
13280
  });
13272
13281
  select.appendChild(optionElement);
13273
13282
  }
13274
13283
  });
13275
13284
  }
13276
13285
 
13286
+ // Set the value after options are added to ensure proper selection
13287
+ if (value !== undefined && value !== null) {
13288
+ select.value = value;
13289
+ }
13290
+
13277
13291
  return select;
13278
13292
  },
13279
13293
  createSpan: (params) => {
@@ -23564,7 +23578,7 @@ let SVGUtils$1 = class SVGUtils {
23564
23578
  * @returns {Element} SVG element
23565
23579
  */
23566
23580
  static archive(params) {
23567
- const xml = `<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill-rule='evenodd' d='M1.75 2.5a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25H1.75zM0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0114.25 6H1.75A1.75 1.75 0 010 4.25v-1.5zM1.75 7a.75.75 0 01.75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-5.5a.75.75 0 111.5 0v5.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25v-5.5A.75.75 0 011.75 7zm4.5 1a.75.75 0 000 1.5h3.5a.75.75 0 100-1.5h-3.5z'></path></svg>`;
23581
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0 1 14.25 6H1.75A1.75 1.75 0 0 1 0 4.25ZM1.75 7a.75.75 0 0 1 .75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-5.5a.75.75 0 0 1 1.5 0v5.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25v-5.5A.75.75 0 0 1 1.75 7Zm0-4.5a.25.25 0 0 0-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25ZM6.25 8h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5Z"></path></svg>`;
23568
23582
  return this.create(xml, params);
23569
23583
  }
23570
23584
 
@@ -23890,6 +23904,16 @@ let SVGUtils$1 = class SVGUtils {
23890
23904
  return this.create(xml, params);
23891
23905
  }
23892
23906
 
23907
+ /**
23908
+ * Generate commentDiscussions24 SVG icon
23909
+ * @param {Object} params - Configuration parameters
23910
+ * @returns {Element} SVG element
23911
+ */
23912
+ static commentDiscussions24(params) {
23913
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path></svg>`;
23914
+ return this.create(xml, params);
23915
+ }
23916
+
23893
23917
  /**
23894
23918
  * Generate commit SVG icon
23895
23919
  * @param {Object} params - Configuration parameters
@@ -23900,6 +23924,16 @@ let SVGUtils$1 = class SVGUtils {
23900
23924
  return this.create(xml, params);
23901
23925
  }
23902
23926
 
23927
+ /**
23928
+ * Generate commit SVG icon
23929
+ * @param {Object} params - Configuration parameters
23930
+ * @returns {Element} SVG element
23931
+ */
23932
+ static compose24(params) {
23933
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M1 21.25V4a1.75 1.75 0 0 1 1.75-1.75h7.51a.75.75 0 0 1 0 1.5H2.75A.25.25 0 0 0 2.5 4v17.25a.25.25 0 0 0 .25.25H20a.25.25 0 0 0 .25-.25V13a.75.75 0 0 1 1.5 0v8.25c0 .464-.184.909-.513 1.237A1.746 1.746 0 0 1 20 23H2.75A1.75 1.75 0 0 1 1 21.25Z"></path><path d="M19.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.25.929a.751.751 0 0 1-.928-.927l.929-3.25c.082-.287.235-.547.445-.758l8.61-8.61Zm-7.55 9.67a.241.241 0 0 0-.063.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064L19.19 6.25l-1.44-1.44Zm8.964-8.61a.245.245 0 0 0-.177-.073.245.245 0 0 0-.177.073L18.811 3.75l1.439 1.44 1.263-1.263a.245.245 0 0 0 .073-.177.245.245 0 0 0-.073-.177Z"></path></svg>`;
23934
+ return this.create(xml, params);
23935
+ }
23936
+
23903
23937
  /**
23904
23938
  * Generate container SVG icon
23905
23939
  * @param {Object} params - Configuration parameters
@@ -23930,6 +23964,16 @@ let SVGUtils$1 = class SVGUtils {
23930
23964
  return this.create(xml, params);
23931
23965
  }
23932
23966
 
23967
+ /**
23968
+ * Generate crosshairs SVG icon
23969
+ * @param {Object} params - Configuration parameters
23970
+ * @returns {Element} SVG element
23971
+ */
23972
+ static crosshairs(params) {
23973
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M14 8A6 6 0 1 1 2 8a6 6 0 0 1 12 0Zm-1.5 0a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Z"></path><path d="M5 7.25a.75.75 0 0 1 0 1.5H1a.75.75 0 0 1 0-1.5Zm3-7a.75.75 0 0 1 .75.75v4a.75.75 0 0 1-1.5 0V1A.75.75 0 0 1 8 .25Zm7 7a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1 0-1.5Zm-7 3a.75.75 0 0 1 .75.75v4a.75.75 0 0 1-1.5 0v-4a.75.75 0 0 1 .75-.75Z"></path></svg>`;
23974
+ return this.create(xml, params);
23975
+ }
23976
+
23933
23977
  /**
23934
23978
  * Generate deepSeek SVG icon
23935
23979
  * @param {Object} params - Configuration parameters
@@ -23981,8 +24025,6 @@ let SVGUtils$1 = class SVGUtils {
23981
24025
  return this.create(xml, params);
23982
24026
  }
23983
24027
 
23984
-
23985
-
23986
24028
  /**
23987
24029
  * Generate dot SVG icon
23988
24030
  * @param {Object} params - Configuration parameters
@@ -24335,6 +24377,16 @@ let SVGUtils$1 = class SVGUtils {
24335
24377
  return this.create(xml, params);
24336
24378
  }
24337
24379
 
24380
+ /**
24381
+ * Generate lock SVG icon
24382
+ * @param {Object} params - Configuration parameters
24383
+ * @returns {Element} SVG element
24384
+ */
24385
+ static lock(params) {
24386
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z"></path></svg>`;
24387
+ return this.create(xml, params);
24388
+ }
24389
+
24338
24390
  /**
24339
24391
  * Generate lightBulb SVG icon
24340
24392
  * @param {Object} params - Configuration parameters
@@ -24387,6 +24439,16 @@ let SVGUtils$1 = class SVGUtils {
24387
24439
  return this.create(xml, params);
24388
24440
  }
24389
24441
 
24442
+ /**
24443
+ * Generate moveToEnd SVG icon
24444
+ * @param {Object} params - Configuration parameters
24445
+ * @returns {Element} SVG element
24446
+ */
24447
+ static moveToEnd(params) {
24448
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="m10.78 8.53-3.75 3.75a.749.749 0 1 1-1.06-1.06l2.469-2.47H1.75a.75.75 0 0 1 0-1.5h6.689L5.97 4.78a.749.749 0 1 1 1.06-1.06l3.75 3.75a.749.749 0 0 1 0 1.06ZM13 12.25v-8.5a.75.75 0 0 1 1.5 0v8.5a.75.75 0 0 1-1.5 0Z"></path></svg>`;
24449
+ return this.create(xml, params);
24450
+ }
24451
+
24390
24452
  /**
24391
24453
  * Generate northStar SVG icon
24392
24454
  * @param {Object} params - Configuration parameters
@@ -24407,6 +24469,16 @@ let SVGUtils$1 = class SVGUtils {
24407
24469
  return this.create(xml, params);
24408
24470
  }
24409
24471
 
24472
+ /**
24473
+ * Generate note24 SVG icon
24474
+ * @param {Object} params - Configuration parameters
24475
+ * @returns {Element} SVG element
24476
+ */
24477
+ static note24(params) {
24478
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V4.75a.25.25 0 0 0-.25-.25Z"></path><path d="M5 8.75A.75.75 0 0 1 5.75 8h11.5a.75.75 0 0 1 0 1.5H5.75A.75.75 0 0 1 5 8.75Zm0 4a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75Z"></path></svg>`;
24479
+ return this.create(xml, params);
24480
+ }
24481
+
24410
24482
  /**
24411
24483
  * Generate openAI SVG icon
24412
24484
  * @param {Object} params - Configuration parameters
@@ -24473,7 +24545,17 @@ let SVGUtils$1 = class SVGUtils {
24473
24545
  * @returns {Element} SVG element
24474
24546
  */
24475
24547
  static pin(params) {
24476
- const xml = `<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill-rule='evenodd' d='M4.456.734a1.75 1.75 0 012.826.504l.613 1.327a3.081 3.081 0 002.084 1.707l2.454.584c1.332.317 1.8 1.972.832 2.94L11.06 10l3.72 3.72a.75.75 0 11-1.061 1.06L10 11.06l-2.204 2.205c-.968.968-2.623.5-2.94-.832l-.584-2.454a3.081 3.081 0 00-1.707-2.084l-1.327-.613a1.75 1.75 0 01-.504-2.826L4.456.734zM5.92 1.866a.25.25 0 00-.404-.072L1.794 5.516a.25.25 0 00.072.404l1.328.613A4.582 4.582 0 015.73 9.63l.584 2.454a.25.25 0 00.42.12l5.47-5.47a.25.25 0 00-.12-.42L9.63 5.73a4.581 4.581 0 01-3.098-2.537L5.92 1.866z'></path></svg>`;
24548
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="m11.294.984 3.722 3.722a1.75 1.75 0 0 1-.504 2.826l-1.327.613a3.089 3.089 0 0 0-1.707 2.084l-.584 2.454c-.317 1.332-1.972 1.8-2.94.832L5.75 11.311 1.78 15.28a.749.749 0 1 1-1.06-1.06l3.969-3.97-2.204-2.204c-.968-.968-.5-2.623.832-2.94l2.454-.584a3.08 3.08 0 0 0 2.084-1.707l.613-1.327a1.75 1.75 0 0 1 2.826-.504ZM6.283 9.723l2.732 2.731a.25.25 0 0 0 .42-.119l.584-2.454a4.586 4.586 0 0 1 2.537-3.098l1.328-.613a.25.25 0 0 0 .072-.404l-3.722-3.722a.25.25 0 0 0-.404.072l-.613 1.328a4.584 4.584 0 0 1-3.098 2.537l-2.454.584a.25.25 0 0 0-.119.42l2.731 2.732Z"></path></svg>`;
24549
+ return this.create(xml, params);
24550
+ }
24551
+
24552
+ /**
24553
+ * Generate pin24 SVG icon
24554
+ * @param {Object} params - Configuration parameters
24555
+ * @returns {Element} SVG element
24556
+ */
24557
+ static pin24(params) {
24558
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="m16.114 1.553 6.333 6.333a1.75 1.75 0 0 1-.603 2.869l-1.63.633a5.67 5.67 0 0 0-3.395 3.725l-1.131 3.959a1.75 1.75 0 0 1-2.92.757L9 16.061l-5.595 5.594a.749.749 0 1 1-1.06-1.06L7.939 15l-3.768-3.768a1.75 1.75 0 0 1 .757-2.92l3.959-1.131a5.666 5.666 0 0 0 3.725-3.395l.633-1.63a1.75 1.75 0 0 1 2.869-.603ZM5.232 10.171l8.597 8.597a.25.25 0 0 0 .417-.108l1.131-3.959A7.17 7.17 0 0 1 19.67 9.99l1.63-.634a.25.25 0 0 0 .086-.409l-6.333-6.333a.25.25 0 0 0-.409.086l-.634 1.63a7.17 7.17 0 0 1-4.711 4.293L5.34 9.754a.25.25 0 0 0-.108.417Z"></path></svg>`;
24477
24559
  return this.create(xml, params);
24478
24560
  }
24479
24561
 
@@ -24589,6 +24671,16 @@ let SVGUtils$1 = class SVGUtils {
24589
24671
  return this.create(xml, params);
24590
24672
  }
24591
24673
 
24674
+ /**
24675
+ * Generate sparkle SVG icon
24676
+ * @param {Object} params - Configuration parameters
24677
+ * @returns {Element} SVG element
24678
+ */
24679
+ static sparkle(params) {
24680
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M7.198.57c.275-.752 1.34-.752 1.615 0l.849 2.317a5.819 5.819 0 0 0 3.462 3.463l2.317.848c.753.275.753 1.34 0 1.615l-2.317.849a5.815 5.815 0 0 0-3.462 3.462l-.849 2.317c-.275.753-1.34.753-1.615 0l-.848-2.317a5.819 5.819 0 0 0-3.463-3.462L.57 8.813c-.752-.275-.752-1.34 0-1.615l2.317-.848A5.823 5.823 0 0 0 6.35 2.887L7.198.57Zm.562 2.833A7.323 7.323 0 0 1 3.403 7.76l-.673.246.673.246a7.324 7.324 0 0 1 4.357 4.356l.246.673.246-.673a7.322 7.322 0 0 1 4.356-4.356l.673-.246-.673-.246a7.324 7.324 0 0 1-4.356-4.357l-.246-.673-.246.673Z"></path></svg>`;
24681
+ return this.create(xml, params);
24682
+ }
24683
+
24592
24684
  /**
24593
24685
  * Generate square SVG icon
24594
24686
  * @param {Object} params - Configuration parameters
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitsense/gsc-utils",
3
- "version": "0.2.27",
3
+ "version": "0.2.28",
4
4
  "description": "Utilities for GitSense Chat (GSC)",
5
5
  "main": "dist/gsc-utils.cjs.js",
6
6
  "module": "dist/gsc-utils.esm.js",
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Component: AnalyzerUtils Updater
3
- * Block-UUID: 8a7b6c5d-4e3f-2a1b-9c8d-7e6f5a4b3c2d
3
+ * Block-UUID: aee32ada-81d8-4d44-b0a3-5613ba166d1e
4
4
  * Parent-UUID: N/A
5
5
  * Version: 1.0.0
6
6
  * Description: Provides utility functions for updating analyzer configurations, including renaming and metadata updates.
package/src/DomUtils.js CHANGED
@@ -2,11 +2,11 @@
2
2
  * Component: DomUtils Helper Functions
3
3
  * Block-UUID: 9a8e8e8e-8b15-4346-bbfa-740e6a5d2d79
4
4
  * Parent-UUID: 8a528728-ce54-4445-946d-1743fb4b16be
5
- * Version: 1.3.0
5
+ * Version: 1.3.1
6
6
  * Description: Provides helper functions for creating and manipulating DOM elements.
7
7
  * Language: JavaScript
8
8
  * Created-at: 2025-12-14T04:18:40.180Z
9
- * Authors: Gemini 2.5 Pro (v1.0.0), Gemini 2.5 Flash (v1.1.0), Qwen 3 Coder 480B - Cerebras (v1.2.0), GLM-4.6 (v1.2.1), GLM-4.6 (v1.3.0)
9
+ * Authors: Gemini 2.5 Pro (v1.0.0), Gemini 2.5 Flash (v1.1.0), Qwen 3 Coder 480B - Cerebras (v1.2.0), GLM-4.6 (v1.2.1), GLM-4.6 (v1.3.0), GLM-4.6 (v1.3.1)
10
10
  */
11
11
 
12
12
 
@@ -252,24 +252,38 @@ const h = {
252
252
  createPre: (params) => {
253
253
  return createElement("pre", params);
254
254
  },
255
- createSelect: (params) => { // Added
256
- // name, disabled etc handled by createElement
257
- const select = createElement("select", params);
255
+ createSelect: (params) => {
256
+ // Extract value before creating the select element
257
+ const { value, ...selectParams } = params || {};
258
+
259
+ // Create select element without the value initially
260
+ const select = createElement("select", selectParams);
258
261
 
259
262
  // Handle options array if provided
260
263
  if (params && params.options && Array.isArray(params.options)) {
261
264
  params.options.forEach(option => {
262
265
  if (option && typeof option === 'object') {
266
+ // Check if this option should be selected based on the value
267
+ const isSelected = (value !== undefined && value !== null) &&
268
+ (option.value === value ||
269
+ (value === '' && option.value === '') ||
270
+ (value === null && option.value === null));
271
+
263
272
  const optionElement = createElement("option", {
264
273
  value: option.value,
265
274
  text: option.text,
266
- selected: option.selected
275
+ selected: isSelected || option.selected
267
276
  });
268
277
  select.appendChild(optionElement);
269
278
  }
270
279
  });
271
280
  }
272
281
 
282
+ // Set the value after options are added to ensure proper selection
283
+ if (value !== undefined && value !== null) {
284
+ select.value = value;
285
+ }
286
+
273
287
  return select;
274
288
  },
275
289
  createSpan: (params) => {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Component: Formatter Utilities
3
- * Block-UUID: 9b1e07bf-e92c-43c1-9ac0-5dacdb7ae618
3
+ * Block-UUID: 8512c809-87b0-4f90-af9d-b3dca204c4de
4
4
  * Parent-UUID: 9c07d12f-5a05-4402-99d2-85d872d7b2f7
5
5
  * Version: 1.0.0
6
6
  * Description: Utility functions for formatting content in GitSense Chat
package/src/LLMUtils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Component: LLMUtils
3
- * Block-UUID: a3106054-42f1-474f-96f3-182d66eb19a0
3
+ * Block-UUID: b8536c11-ed0b-4538-b3ff-35da94e67012
4
4
  * Parent-UUID: N/A
5
5
  * Version: 1.0.0
6
6
  * Description: Provides utility functions related to Large Language Model interactions, such as token estimation.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Component: PatchUtils Detect and Fix Redundant Changes
3
- * Block-UUID: ffd6e8fc-399d-4254-827c-ef17e2f7d0d5
3
+ * Block-UUID: bb354364-b497-412c-9570-b39355da8153
4
4
  * Parent-UUID: 2308ed72-91ff-48ba-bc80-310c23c01ff1
5
5
  * Version: 1.0.0
6
6
  * Description: Detects and optionally fixes redundant changes in a patch where content is deleted and re-added identically.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Component: PatchUtils Verify and Correct Hunk Headers
3
- * Block-UUID: 61c74798-bddb-47e1-be48-4a102659933c
3
+ * Block-UUID: 013f7f2d-0077-4cec-bd22-3bf2fc81f222
4
4
  * Parent-UUID: 2308ed72-91ff-48ba-bc80-310c23c01ff1
5
5
  * Version: 1.0.0
6
6
  * Description: Verifies and corrects the hunk headers within a patch based on the line number prefixes in the content lines.
package/src/SVGUtils.js CHANGED
@@ -83,7 +83,7 @@ class SVGUtils {
83
83
  * @returns {Element} SVG element
84
84
  */
85
85
  static archive(params) {
86
- const xml = `<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill-rule='evenodd' d='M1.75 2.5a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25H1.75zM0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0114.25 6H1.75A1.75 1.75 0 010 4.25v-1.5zM1.75 7a.75.75 0 01.75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-5.5a.75.75 0 111.5 0v5.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25v-5.5A.75.75 0 011.75 7zm4.5 1a.75.75 0 000 1.5h3.5a.75.75 0 100-1.5h-3.5z'></path></svg>`;
86
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0 1 14.25 6H1.75A1.75 1.75 0 0 1 0 4.25ZM1.75 7a.75.75 0 0 1 .75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-5.5a.75.75 0 0 1 1.5 0v5.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25v-5.5A.75.75 0 0 1 1.75 7Zm0-4.5a.25.25 0 0 0-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25ZM6.25 8h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5Z"></path></svg>`;
87
87
  return this.create(xml, params);
88
88
  }
89
89
 
@@ -409,6 +409,16 @@ class SVGUtils {
409
409
  return this.create(xml, params);
410
410
  }
411
411
 
412
+ /**
413
+ * Generate commentDiscussions24 SVG icon
414
+ * @param {Object} params - Configuration parameters
415
+ * @returns {Element} SVG element
416
+ */
417
+ static commentDiscussions24(params) {
418
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path></svg>`;
419
+ return this.create(xml, params);
420
+ }
421
+
412
422
  /**
413
423
  * Generate commit SVG icon
414
424
  * @param {Object} params - Configuration parameters
@@ -419,6 +429,16 @@ class SVGUtils {
419
429
  return this.create(xml, params);
420
430
  }
421
431
 
432
+ /**
433
+ * Generate commit SVG icon
434
+ * @param {Object} params - Configuration parameters
435
+ * @returns {Element} SVG element
436
+ */
437
+ static compose24(params) {
438
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M1 21.25V4a1.75 1.75 0 0 1 1.75-1.75h7.51a.75.75 0 0 1 0 1.5H2.75A.25.25 0 0 0 2.5 4v17.25a.25.25 0 0 0 .25.25H20a.25.25 0 0 0 .25-.25V13a.75.75 0 0 1 1.5 0v8.25c0 .464-.184.909-.513 1.237A1.746 1.746 0 0 1 20 23H2.75A1.75 1.75 0 0 1 1 21.25Z"></path><path d="M19.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.25.929a.751.751 0 0 1-.928-.927l.929-3.25c.082-.287.235-.547.445-.758l8.61-8.61Zm-7.55 9.67a.241.241 0 0 0-.063.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064L19.19 6.25l-1.44-1.44Zm8.964-8.61a.245.245 0 0 0-.177-.073.245.245 0 0 0-.177.073L18.811 3.75l1.439 1.44 1.263-1.263a.245.245 0 0 0 .073-.177.245.245 0 0 0-.073-.177Z"></path></svg>`;
439
+ return this.create(xml, params);
440
+ }
441
+
422
442
  /**
423
443
  * Generate container SVG icon
424
444
  * @param {Object} params - Configuration parameters
@@ -449,6 +469,16 @@ class SVGUtils {
449
469
  return this.create(xml, params);
450
470
  }
451
471
 
472
+ /**
473
+ * Generate crosshairs SVG icon
474
+ * @param {Object} params - Configuration parameters
475
+ * @returns {Element} SVG element
476
+ */
477
+ static crosshairs(params) {
478
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M14 8A6 6 0 1 1 2 8a6 6 0 0 1 12 0Zm-1.5 0a4.5 4.5 0 1 0-9 0 4.5 4.5 0 0 0 9 0Z"></path><path d="M5 7.25a.75.75 0 0 1 0 1.5H1a.75.75 0 0 1 0-1.5Zm3-7a.75.75 0 0 1 .75.75v4a.75.75 0 0 1-1.5 0V1A.75.75 0 0 1 8 .25Zm7 7a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1 0-1.5Zm-7 3a.75.75 0 0 1 .75.75v4a.75.75 0 0 1-1.5 0v-4a.75.75 0 0 1 .75-.75Z"></path></svg>`;
479
+ return this.create(xml, params);
480
+ }
481
+
452
482
  /**
453
483
  * Generate deepSeek SVG icon
454
484
  * @param {Object} params - Configuration parameters
@@ -500,8 +530,6 @@ class SVGUtils {
500
530
  return this.create(xml, params);
501
531
  }
502
532
 
503
-
504
-
505
533
  /**
506
534
  * Generate dot SVG icon
507
535
  * @param {Object} params - Configuration parameters
@@ -854,6 +882,16 @@ class SVGUtils {
854
882
  return this.create(xml, params);
855
883
  }
856
884
 
885
+ /**
886
+ * Generate lock SVG icon
887
+ * @param {Object} params - Configuration parameters
888
+ * @returns {Element} SVG element
889
+ */
890
+ static lock(params) {
891
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z"></path></svg>`;
892
+ return this.create(xml, params);
893
+ }
894
+
857
895
  /**
858
896
  * Generate lightBulb SVG icon
859
897
  * @param {Object} params - Configuration parameters
@@ -906,6 +944,16 @@ class SVGUtils {
906
944
  return this.create(xml, params);
907
945
  }
908
946
 
947
+ /**
948
+ * Generate moveToEnd SVG icon
949
+ * @param {Object} params - Configuration parameters
950
+ * @returns {Element} SVG element
951
+ */
952
+ static moveToEnd(params) {
953
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="m10.78 8.53-3.75 3.75a.749.749 0 1 1-1.06-1.06l2.469-2.47H1.75a.75.75 0 0 1 0-1.5h6.689L5.97 4.78a.749.749 0 1 1 1.06-1.06l3.75 3.75a.749.749 0 0 1 0 1.06ZM13 12.25v-8.5a.75.75 0 0 1 1.5 0v8.5a.75.75 0 0 1-1.5 0Z"></path></svg>`;
954
+ return this.create(xml, params);
955
+ }
956
+
909
957
  /**
910
958
  * Generate northStar SVG icon
911
959
  * @param {Object} params - Configuration parameters
@@ -926,6 +974,16 @@ class SVGUtils {
926
974
  return this.create(xml, params);
927
975
  }
928
976
 
977
+ /**
978
+ * Generate note24 SVG icon
979
+ * @param {Object} params - Configuration parameters
980
+ * @returns {Element} SVG element
981
+ */
982
+ static note24(params) {
983
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V4.75a.25.25 0 0 0-.25-.25Z"></path><path d="M5 8.75A.75.75 0 0 1 5.75 8h11.5a.75.75 0 0 1 0 1.5H5.75A.75.75 0 0 1 5 8.75Zm0 4a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75Z"></path></svg>`;
984
+ return this.create(xml, params);
985
+ }
986
+
929
987
  /**
930
988
  * Generate openAI SVG icon
931
989
  * @param {Object} params - Configuration parameters
@@ -992,7 +1050,17 @@ class SVGUtils {
992
1050
  * @returns {Element} SVG element
993
1051
  */
994
1052
  static pin(params) {
995
- const xml = `<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill-rule='evenodd' d='M4.456.734a1.75 1.75 0 012.826.504l.613 1.327a3.081 3.081 0 002.084 1.707l2.454.584c1.332.317 1.8 1.972.832 2.94L11.06 10l3.72 3.72a.75.75 0 11-1.061 1.06L10 11.06l-2.204 2.205c-.968.968-2.623.5-2.94-.832l-.584-2.454a3.081 3.081 0 00-1.707-2.084l-1.327-.613a1.75 1.75 0 01-.504-2.826L4.456.734zM5.92 1.866a.25.25 0 00-.404-.072L1.794 5.516a.25.25 0 00.072.404l1.328.613A4.582 4.582 0 015.73 9.63l.584 2.454a.25.25 0 00.42.12l5.47-5.47a.25.25 0 00-.12-.42L9.63 5.73a4.581 4.581 0 01-3.098-2.537L5.92 1.866z'></path></svg>`;
1053
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="m11.294.984 3.722 3.722a1.75 1.75 0 0 1-.504 2.826l-1.327.613a3.089 3.089 0 0 0-1.707 2.084l-.584 2.454c-.317 1.332-1.972 1.8-2.94.832L5.75 11.311 1.78 15.28a.749.749 0 1 1-1.06-1.06l3.969-3.97-2.204-2.204c-.968-.968-.5-2.623.832-2.94l2.454-.584a3.08 3.08 0 0 0 2.084-1.707l.613-1.327a1.75 1.75 0 0 1 2.826-.504ZM6.283 9.723l2.732 2.731a.25.25 0 0 0 .42-.119l.584-2.454a4.586 4.586 0 0 1 2.537-3.098l1.328-.613a.25.25 0 0 0 .072-.404l-3.722-3.722a.25.25 0 0 0-.404.072l-.613 1.328a4.584 4.584 0 0 1-3.098 2.537l-2.454.584a.25.25 0 0 0-.119.42l2.731 2.732Z"></path></svg>`;
1054
+ return this.create(xml, params);
1055
+ }
1056
+
1057
+ /**
1058
+ * Generate pin24 SVG icon
1059
+ * @param {Object} params - Configuration parameters
1060
+ * @returns {Element} SVG element
1061
+ */
1062
+ static pin24(params) {
1063
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="m16.114 1.553 6.333 6.333a1.75 1.75 0 0 1-.603 2.869l-1.63.633a5.67 5.67 0 0 0-3.395 3.725l-1.131 3.959a1.75 1.75 0 0 1-2.92.757L9 16.061l-5.595 5.594a.749.749 0 1 1-1.06-1.06L7.939 15l-3.768-3.768a1.75 1.75 0 0 1 .757-2.92l3.959-1.131a5.666 5.666 0 0 0 3.725-3.395l.633-1.63a1.75 1.75 0 0 1 2.869-.603ZM5.232 10.171l8.597 8.597a.25.25 0 0 0 .417-.108l1.131-3.959A7.17 7.17 0 0 1 19.67 9.99l1.63-.634a.25.25 0 0 0 .086-.409l-6.333-6.333a.25.25 0 0 0-.409.086l-.634 1.63a7.17 7.17 0 0 1-4.711 4.293L5.34 9.754a.25.25 0 0 0-.108.417Z"></path></svg>`;
996
1064
  return this.create(xml, params);
997
1065
  }
998
1066
 
@@ -1108,6 +1176,16 @@ class SVGUtils {
1108
1176
  return this.create(xml, params);
1109
1177
  }
1110
1178
 
1179
+ /**
1180
+ * Generate sparkle SVG icon
1181
+ * @param {Object} params - Configuration parameters
1182
+ * @returns {Element} SVG element
1183
+ */
1184
+ static sparkle(params) {
1185
+ const xml = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M7.198.57c.275-.752 1.34-.752 1.615 0l.849 2.317a5.819 5.819 0 0 0 3.462 3.463l2.317.848c.753.275.753 1.34 0 1.615l-2.317.849a5.815 5.815 0 0 0-3.462 3.462l-.849 2.317c-.275.753-1.34.753-1.615 0l-.848-2.317a5.819 5.819 0 0 0-3.463-3.462L.57 8.813c-.752-.275-.752-1.34 0-1.615l2.317-.848A5.823 5.823 0 0 0 6.35 2.887L7.198.57Zm.562 2.833A7.323 7.323 0 0 1 3.403 7.76l-.673.246.673.246a7.324 7.324 0 0 1 4.357 4.356l.246.673.246-.673a7.322 7.322 0 0 1 4.356-4.356l.673-.246-.673-.246a7.324 7.324 0 0 1-4.356-4.357l-.246-.673-.246.673Z"></path></svg>`;
1186
+ return this.create(xml, params);
1187
+ }
1188
+
1111
1189
  /**
1112
1190
  * Generate square SVG icon
1113
1191
  * @param {Object} params - Configuration parameters