ide-assi 0.47.0 → 0.49.0

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.
@@ -193456,7 +193456,7 @@ class IdeAssi extends HTMLElement
193456
193456
 
193457
193457
 
193458
193458
  #init = (info) => {
193459
- this.settings = this.shadowRoot.querySelector("nx-ai-settings");
193459
+ this.settings = this.shadowRoot.querySelector("ide-assi-settings");
193460
193460
 
193461
193461
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
193462
193462
 
@@ -193574,6 +193574,152 @@ export default Home;
193574
193574
 
193575
193575
  customElements.define("ide-assi", IdeAssi);
193576
193576
 
193577
+ class ideAssiSettings extends HTMLElement
193578
+ {
193579
+ constructor() {
193580
+ console.log("construct");
193581
+
193582
+ super();
193583
+ this.attachShadow({ mode: 'open' });
193584
+ }
193585
+
193586
+ get geminiApiKey() { return this.shadowRoot.querySelector("#geminiApiKey").value; };
193587
+ set geminiApiKey(v) { this.shadowRoot.querySelector("#geminiApiKey").value = v; };
193588
+
193589
+ get openaiApiKey() { return this.shadowRoot.querySelector("#openaiApiKey").value };
193590
+ set openaiApiKey(v) { this.shadowRoot.querySelector("#openaiApiKey").value = v; };
193591
+
193592
+ get ollamaUrl() { return this.shadowRoot.querySelector("#ollamaUrl").value; };
193593
+ set ollamaUrl(v) { this.shadowRoot.querySelector("#ollamaUrl").value = v; };
193594
+
193595
+ get qdrantUrl() { return this.shadowRoot.querySelector("#qdrantUrl").value; };
193596
+ set qdrantUrl(v) { this.shadowRoot.querySelector("#qdrantUrl").value = v; };
193597
+
193598
+ get server() {
193599
+ return this.shadowRoot.querySelector('input[name="server"]:checked')?.value;
193600
+ };
193601
+ set server(v) {
193602
+ const elem = this.shadowRoot.querySelector(`input[name="server"][value="${v}"]`);
193603
+ if (elem) elem.checked = true;
193604
+
193605
+ this.shadowRoot.querySelectorAll('input[name="server"]').forEach(el => {
193606
+ el.dispatchEvent(new Event("change"));
193607
+ });
193608
+ };
193609
+
193610
+ get model() {
193611
+ return this.shadowRoot.querySelector(`#${this.server}Model`)?.value;
193612
+ };
193613
+ set model(v) {
193614
+ const elem = this.shadowRoot.querySelector(`#${this.server}Model`);
193615
+ if (elem) {
193616
+ elem.value = v;
193617
+ elem.dispatchEvent(new Event("change"));
193618
+ }
193619
+
193620
+ /**
193621
+ this.dispatchEvent(new CustomEvent("setting-change", {
193622
+ detail: { server: this.server, model: this.model }
193623
+ })); */
193624
+ };
193625
+
193626
+ connectedCallback() {
193627
+
193628
+ this.shadowRoot.innerHTML = `
193629
+ <style>
193630
+ @import "https://cdn.jsdelivr.net/npm/ninegrid@${ninegrid.version}/dist/css/ai.css";
193631
+ ${ninegrid.getCustomPath(this,"ai.css")}
193632
+ </style>
193633
+
193634
+ <div class="line subject">
193635
+ <label for="server">Server:</label>
193636
+ </div>
193637
+ <div class="line contents">
193638
+ <label><input name="server" type="radio" value="gemini" checked>Gemini</label>
193639
+ <label><input name="server" type="radio" value="openai">Open AI</label>
193640
+ <label><input name="server" type="radio" value="ollama">Ollama</label>
193641
+ </div>
193642
+ <div class="line gemini-bak" style="display:none;">
193643
+ <label>API Key: <input id="geminiApiKey" value=""/></label>
193644
+ </div>
193645
+ <div class="line openai-bak" style="display:none;">
193646
+ <label>API Key: <input id="openaiApiKey" value=""/></label>
193647
+ </div>
193648
+ <div class="line subject ollama">
193649
+ <label for="ollamaUrl">Server Url:</label>
193650
+ </div>
193651
+ <div class="line contents ollama">
193652
+ <input type="text" id="ollamaUrl" value="http://localhost:11434"/></label>
193653
+ </div>
193654
+ <div class="line subject ollama">
193655
+ <label for="ollamaModel">Model:</label>
193656
+ </div>
193657
+ <div class="line contents ollama">
193658
+ <select id="ollamaModel">
193659
+ <option value="phi4:14b">phi4:14b</option>
193660
+ <option value="llama3.1:8b">llama3.1:8b</option>
193661
+ <option value="mistral:7b">mistral:7b</option>
193662
+ </select>
193663
+ </div>
193664
+ <div class="line subject gemini">
193665
+ <label for="geminiModel">Model:</label>
193666
+ </div>
193667
+ <div class="line contents gemini">
193668
+ <select id="geminiModel">
193669
+ <option value="gemini-2.5-flash-preview-04-17">gemini-2.5-flash-preview-04-17</option>
193670
+ <option value="gemini-pro">gemini-pro</option>
193671
+ </select>
193672
+ </div>
193673
+ <div class="line subject openai">
193674
+ <label for="openaiModel">Model:</label>
193675
+ </div>
193676
+ <div class="line contents openai">
193677
+ <select id="openaiModel">
193678
+ <option value="gpt-4">gpt-4</option>
193679
+ <option value="gpt-4o">gpt-4o</option>
193680
+ <option value="gpt-3.5-turbo">gpt-3.5-turbo</option>
193681
+ </select>
193682
+ </div>
193683
+
193684
+ <div class="line subject qdrant">
193685
+ <label for="qdrantUrl">Qdrant Url:</label>
193686
+ </div>
193687
+ <div class="line contents qdrant">
193688
+ <input type="text" id="qdrantUrl" value="http://localhost:6333"/>
193689
+ </div>
193690
+
193691
+ <div class="line subject analyze">
193692
+ <input id="chkAnalyze" type="checkbox" checked> <input id="txtAnalyze" type="number" value="100"><label>건 미만인 경우 데이타 분석 요청</label>
193693
+ </div>
193694
+ `;
193695
+
193696
+ this.#init();
193697
+
193698
+ setTimeout(() => {
193699
+ this.server = "gemini";
193700
+ }, 0);
193701
+ };
193702
+
193703
+
193704
+
193705
+ #init = () => {
193706
+
193707
+ this.shadowRoot.querySelectorAll('input[name="server"]').forEach((radio) => {
193708
+ radio.addEventListener("change", () => {
193709
+ const server = this.shadowRoot.querySelector('input[name="server"]:checked').value;
193710
+
193711
+ ["gemini","openai","ollama"].forEach(v => {
193712
+ this.shadowRoot.querySelectorAll('.' + v).forEach((elem) => {
193713
+ elem.style.display = (server === v) ? "flex" : "none";
193714
+ });
193715
+ });
193716
+ });
193717
+ });
193718
+ }
193719
+ }
193720
+
193721
+ customElements.define("ide-assi-settings", ideAssiSettings);
193722
+
193577
193723
  //import "./components/ideAssi.js";
193578
193724
 
193579
193725
 
@@ -193452,7 +193452,7 @@ class IdeAssi extends HTMLElement
193452
193452
 
193453
193453
 
193454
193454
  #init = (info) => {
193455
- this.settings = this.shadowRoot.querySelector("nx-ai-settings");
193455
+ this.settings = this.shadowRoot.querySelector("ide-assi-settings");
193456
193456
 
193457
193457
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
193458
193458
 
@@ -193570,6 +193570,152 @@ export default Home;
193570
193570
 
193571
193571
  customElements.define("ide-assi", IdeAssi);
193572
193572
 
193573
+ class ideAssiSettings extends HTMLElement
193574
+ {
193575
+ constructor() {
193576
+ console.log("construct");
193577
+
193578
+ super();
193579
+ this.attachShadow({ mode: 'open' });
193580
+ }
193581
+
193582
+ get geminiApiKey() { return this.shadowRoot.querySelector("#geminiApiKey").value; };
193583
+ set geminiApiKey(v) { this.shadowRoot.querySelector("#geminiApiKey").value = v; };
193584
+
193585
+ get openaiApiKey() { return this.shadowRoot.querySelector("#openaiApiKey").value };
193586
+ set openaiApiKey(v) { this.shadowRoot.querySelector("#openaiApiKey").value = v; };
193587
+
193588
+ get ollamaUrl() { return this.shadowRoot.querySelector("#ollamaUrl").value; };
193589
+ set ollamaUrl(v) { this.shadowRoot.querySelector("#ollamaUrl").value = v; };
193590
+
193591
+ get qdrantUrl() { return this.shadowRoot.querySelector("#qdrantUrl").value; };
193592
+ set qdrantUrl(v) { this.shadowRoot.querySelector("#qdrantUrl").value = v; };
193593
+
193594
+ get server() {
193595
+ return this.shadowRoot.querySelector('input[name="server"]:checked')?.value;
193596
+ };
193597
+ set server(v) {
193598
+ const elem = this.shadowRoot.querySelector(`input[name="server"][value="${v}"]`);
193599
+ if (elem) elem.checked = true;
193600
+
193601
+ this.shadowRoot.querySelectorAll('input[name="server"]').forEach(el => {
193602
+ el.dispatchEvent(new Event("change"));
193603
+ });
193604
+ };
193605
+
193606
+ get model() {
193607
+ return this.shadowRoot.querySelector(`#${this.server}Model`)?.value;
193608
+ };
193609
+ set model(v) {
193610
+ const elem = this.shadowRoot.querySelector(`#${this.server}Model`);
193611
+ if (elem) {
193612
+ elem.value = v;
193613
+ elem.dispatchEvent(new Event("change"));
193614
+ }
193615
+
193616
+ /**
193617
+ this.dispatchEvent(new CustomEvent("setting-change", {
193618
+ detail: { server: this.server, model: this.model }
193619
+ })); */
193620
+ };
193621
+
193622
+ connectedCallback() {
193623
+
193624
+ this.shadowRoot.innerHTML = `
193625
+ <style>
193626
+ @import "https://cdn.jsdelivr.net/npm/ninegrid@${ninegrid.version}/dist/css/ai.css";
193627
+ ${ninegrid.getCustomPath(this,"ai.css")}
193628
+ </style>
193629
+
193630
+ <div class="line subject">
193631
+ <label for="server">Server:</label>
193632
+ </div>
193633
+ <div class="line contents">
193634
+ <label><input name="server" type="radio" value="gemini" checked>Gemini</label>
193635
+ <label><input name="server" type="radio" value="openai">Open AI</label>
193636
+ <label><input name="server" type="radio" value="ollama">Ollama</label>
193637
+ </div>
193638
+ <div class="line gemini-bak" style="display:none;">
193639
+ <label>API Key: <input id="geminiApiKey" value=""/></label>
193640
+ </div>
193641
+ <div class="line openai-bak" style="display:none;">
193642
+ <label>API Key: <input id="openaiApiKey" value=""/></label>
193643
+ </div>
193644
+ <div class="line subject ollama">
193645
+ <label for="ollamaUrl">Server Url:</label>
193646
+ </div>
193647
+ <div class="line contents ollama">
193648
+ <input type="text" id="ollamaUrl" value="http://localhost:11434"/></label>
193649
+ </div>
193650
+ <div class="line subject ollama">
193651
+ <label for="ollamaModel">Model:</label>
193652
+ </div>
193653
+ <div class="line contents ollama">
193654
+ <select id="ollamaModel">
193655
+ <option value="phi4:14b">phi4:14b</option>
193656
+ <option value="llama3.1:8b">llama3.1:8b</option>
193657
+ <option value="mistral:7b">mistral:7b</option>
193658
+ </select>
193659
+ </div>
193660
+ <div class="line subject gemini">
193661
+ <label for="geminiModel">Model:</label>
193662
+ </div>
193663
+ <div class="line contents gemini">
193664
+ <select id="geminiModel">
193665
+ <option value="gemini-2.5-flash-preview-04-17">gemini-2.5-flash-preview-04-17</option>
193666
+ <option value="gemini-pro">gemini-pro</option>
193667
+ </select>
193668
+ </div>
193669
+ <div class="line subject openai">
193670
+ <label for="openaiModel">Model:</label>
193671
+ </div>
193672
+ <div class="line contents openai">
193673
+ <select id="openaiModel">
193674
+ <option value="gpt-4">gpt-4</option>
193675
+ <option value="gpt-4o">gpt-4o</option>
193676
+ <option value="gpt-3.5-turbo">gpt-3.5-turbo</option>
193677
+ </select>
193678
+ </div>
193679
+
193680
+ <div class="line subject qdrant">
193681
+ <label for="qdrantUrl">Qdrant Url:</label>
193682
+ </div>
193683
+ <div class="line contents qdrant">
193684
+ <input type="text" id="qdrantUrl" value="http://localhost:6333"/>
193685
+ </div>
193686
+
193687
+ <div class="line subject analyze">
193688
+ <input id="chkAnalyze" type="checkbox" checked> <input id="txtAnalyze" type="number" value="100"><label>건 미만인 경우 데이타 분석 요청</label>
193689
+ </div>
193690
+ `;
193691
+
193692
+ this.#init();
193693
+
193694
+ setTimeout(() => {
193695
+ this.server = "gemini";
193696
+ }, 0);
193697
+ };
193698
+
193699
+
193700
+
193701
+ #init = () => {
193702
+
193703
+ this.shadowRoot.querySelectorAll('input[name="server"]').forEach((radio) => {
193704
+ radio.addEventListener("change", () => {
193705
+ const server = this.shadowRoot.querySelector('input[name="server"]:checked').value;
193706
+
193707
+ ["gemini","openai","ollama"].forEach(v => {
193708
+ this.shadowRoot.querySelectorAll('.' + v).forEach((elem) => {
193709
+ elem.style.display = (server === v) ? "flex" : "none";
193710
+ });
193711
+ });
193712
+ });
193713
+ });
193714
+ }
193715
+ }
193716
+
193717
+ customElements.define("ide-assi-settings", ideAssiSettings);
193718
+
193573
193719
  //import "./components/ideAssi.js";
193574
193720
 
193575
193721
 
@@ -54,7 +54,7 @@ export class IdeAssi extends HTMLElement
54
54
 
55
55
 
56
56
  #init = (info) => {
57
- this.settings = this.shadowRoot.querySelector("nx-ai-settings");
57
+ this.settings = this.shadowRoot.querySelector("ide-assi-settings");
58
58
 
59
59
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
60
60
 
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  //import "./components/ideAssi.js";
2
2
 
3
3
  import { IdeAssi } from "./components/ideAssi.js";
4
+ import "./components/ideAssiSettings.js";
4
5
 
5
6
  export { IdeAssi }; // Named Export
6
7
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ide-assi",
3
3
  "type": "module",
4
- "version": "0.47.0",
4
+ "version": "0.49.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
@@ -54,7 +54,7 @@ export class IdeAssi extends HTMLElement
54
54
 
55
55
 
56
56
  #init = (info) => {
57
- this.settings = this.shadowRoot.querySelector("nx-ai-settings");
57
+ this.settings = this.shadowRoot.querySelector("ide-assi-settings");
58
58
 
59
59
  this.shadowRoot.querySelector("textarea").addEventListener("keydown", this.#keydownHandler);
60
60
 
package/src/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  //import "./components/ideAssi.js";
2
2
 
3
3
  import { IdeAssi } from "./components/ideAssi.js";
4
+ import "./components/ideAssiSettings.js";
4
5
 
5
6
  export { IdeAssi }; // Named Export
6
7