ide-assi 0.48.0 → 0.50.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.
@@ -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
 
@@ -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
 
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.48.0",
4
+ "version": "0.50.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
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