@appland/appmap 3.139.0 → 3.139.1
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.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [@appland/appmap-v3.139.1](https://github.com/getappmap/appmap-js/compare/@appland/appmap-v3.139.0...@appland/appmap-v3.139.1) (2024-04-29)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* Update dependencies ([1760d12](https://github.com/getappmap/appmap-js/commit/1760d1278ac8327d049da2549a013a86e5c1ad58))
|
|
7
|
+
|
|
1
8
|
# [@appland/appmap-v3.139.0](https://github.com/getappmap/appmap-js/compare/@appland/appmap-v3.138.0...@appland/appmap-v3.139.0) (2024-04-29)
|
|
2
9
|
|
|
3
10
|
|
package/built/html/appmap.js
CHANGED
|
@@ -859,12 +859,12 @@ See exactly how functions, web services, data stores, security, I/O and dependen
|
|
|
859
859
|
When you ask Navie a question, this area will reflect the information that Navie is
|
|
860
860
|
aware of when answering. You can use this information to better understand how Navie is
|
|
861
861
|
responding.
|
|
862
|
-
`)])])])}]},function(e){e&&e("data-v-6f6ec660_0",{source:".context[data-v-6f6ec660]{font-size:.9rem;color:#808b98;width:100%;min-height:100%}.context__count[data-v-6f6ec660]{font-size:.8rem;font-weight:400;color:#b8bec6;margin-left:.5rem;background-color:rgba(168,168,255,.15);border-radius:4rem;width:1.25rem;height:1.25rem;display:inline-flex;justify-content:center;align-items:center}.context h2[data-v-6f6ec660]{margin-top:0;margin-bottom:2rem;color:#e3e5e8}.context h3[data-v-6f6ec660]{color:#e1e2e2}.context__body__no-appmaps[data-v-6f6ec660]{padding:0 1rem;margin-bottom:2.5rem}.context__body__table[data-v-6f6ec660]{display:flex;flex-direction:column;padding:.25rem .5rem;margin-bottom:2.5rem}.context__body__table>*[data-v-6f6ec660]{border-bottom:1px solid #242c41}.context__body__table[data-v-6f6ec660]>:last-child{border-bottom:none}.context__notice-container[data-v-6f6ec660]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.context__notice[data-v-6f6ec660]{margin:0 auto;width:40%;min-width:180px;background-color:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);border-radius:.5rem;padding:1rem;color:rgba(255,255,255,.75);line-height:1.5}.context__notice h2[data-v-6f6ec660]{margin-top:0;margin-bottom:.5rem;color:rgba(255,255,255,.75)}",map:void 0,media:void 0})},{name:"v-context",components:{VContextItem:z({render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"context__body__table-row"},[r("div",{staticClass:"context__body__table-row__header",on:{click:e.openLocation}},[e.isCodeSnippet?r("v-code-icon",{staticClass:"row-icon"}):r("v-white-appmap-logo",{staticClass:"row-icon"}),e._v(" "),r("div",{staticClass:"row-text"},[e._v(e._s(e.header))])],1),e._v(" "),e.isSequenceDiagram?e._e():r("div",{staticClass:"context__body__table-row__content",attrs:{"data-cy":"context-item-content"}},[r("span",{domProps:{innerHTML:e._s(e.highlightedContent)}})])])},staticRenderFns:[]},function(e){e&&e("data-v-
|
|
862
|
+
`)])])])}]},function(e){e&&e("data-v-6f6ec660_0",{source:".context[data-v-6f6ec660]{font-size:.9rem;color:#808b98;width:100%;min-height:100%}.context__count[data-v-6f6ec660]{font-size:.8rem;font-weight:400;color:#b8bec6;margin-left:.5rem;background-color:rgba(168,168,255,.15);border-radius:4rem;width:1.25rem;height:1.25rem;display:inline-flex;justify-content:center;align-items:center}.context h2[data-v-6f6ec660]{margin-top:0;margin-bottom:2rem;color:#e3e5e8}.context h3[data-v-6f6ec660]{color:#e1e2e2}.context__body__no-appmaps[data-v-6f6ec660]{padding:0 1rem;margin-bottom:2.5rem}.context__body__table[data-v-6f6ec660]{display:flex;flex-direction:column;padding:.25rem .5rem;margin-bottom:2.5rem}.context__body__table>*[data-v-6f6ec660]{border-bottom:1px solid #242c41}.context__body__table[data-v-6f6ec660]>:last-child{border-bottom:none}.context__notice-container[data-v-6f6ec660]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.context__notice[data-v-6f6ec660]{margin:0 auto;width:40%;min-width:180px;background-color:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);border-radius:.5rem;padding:1rem;color:rgba(255,255,255,.75);line-height:1.5}.context__notice h2[data-v-6f6ec660]{margin-top:0;margin-bottom:.5rem;color:rgba(255,255,255,.75)}",map:void 0,media:void 0})},{name:"v-context",components:{VContextItem:z({render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"context__body__table-row"},[r("div",{staticClass:"context__body__table-row__header",attrs:{"data-cy":"context-item-header"},on:{click:e.openLocation}},[e.isCodeSnippet?r("v-code-icon",{staticClass:"row-icon"}):r("v-white-appmap-logo",{staticClass:"row-icon"}),e._v(" "),r("div",{staticClass:"row-text"},[e._v(e._s(e.header))])],1),e._v(" "),e.isSequenceDiagram?e._e():r("div",{staticClass:"context__body__table-row__content",attrs:{"data-cy":"context-item-content"}},[r("span",{domProps:{innerHTML:e._s(e.highlightedContent)}})])])},staticRenderFns:[]},function(e){e&&e("data-v-80719294_0",{source:".context__body__table-row{border-bottom:1px solid #343742}.context__body__table-row__header{padding:.65rem;cursor:pointer;color:#b8bec6;display:flex;height:100%}.context__body__table-row__header .row-icon{margin-right:.75rem;width:18px}.context__body__table-row__header .row-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context__body__table-row__header:hover{background-color:rgba(200,200,255,.25)!important}.context__body__table-row__header.dark{background-color:rgba(0,0,0,.85)}.context__body__table-row__content{margin:0 0 2rem 1rem}.context__body__table-row__content span{line-height:1.3rem}.context__body__table-row__content span hr{border:none;border-top:1px solid rgba(255,255,255,.1);margin:1rem 0}.context__body__table-row__content span a{color:#0097fa;text-decoration:none}.context__body__table-row__content span a:hover{color:#2eacff;text-decoration:underline}.context__body__table-row__content span .md-code-snippet{margin:1rem 0;border-radius:.5rem;background-color:rgba(0,0,0,.1);border:1px solid rgba(255,255,255,.1);overflow:hidden}.context__body__table-row__content span .md-code-snippet pre{margin:0;border:0;border-radius:0;overflow:auto}.context__body__table-row__content span .md-code-snippet__header{display:flex;justify-content:space-between;align-items:center;background-color:rgba(0,0,0,.4);border-bottom:1px solid rgba(255,255,255,.1)}.context__body__table-row__content span .md-code-snippet__language{display:inline-block;padding:.25rem 1rem;border-right:1px solid rgba(255,255,255,.1);color:#e2e4e5}.context__body__table-row__content span .md-code-snippet__copy{display:inline-block;padding:.25rem 1rem;border-left:1px solid rgba(255,255,255,.1);color:#e2e4e5;cursor:pointer;transition:background-color .5s ease-in-out}.context__body__table-row__content span .md-code-snippet__copy svg{height:16px;width:16px}.context__body__table-row__content span .md-code-snippet__copy svg path{fill:#e2e4e5}.context__body__table-row__content span .md-code-snippet__copy:hover{background-color:rgba(255,255,255,.2)}.context__body__table-row__content span .md-code-snippet__copy:active{background-color:#4362b1;transition:background-color 0s}.context__body__table-row__content span code{border-radius:6px;background-color:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.1);padding:.25em .25rem 0 .25rem;color:#e2e4e5}.context__body__table-row__content span pre{padding:1rem;border-radius:.5rem;background-color:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.1)}.context__body__table-row__content span pre code{border:0;background-color:transparent;padding:0}",map:void 0,media:void 0})},{name:"v-context-item",components:{VCodeIcon:Qse,VWhiteAppmapLogo:xS},props:{contextItem:{type:Object,required:!0}},computed:{highlightedContent(){return this.isSequenceDiagram?"":this.getContext()},language(){switch(this.contextItem.type){case"code-snippet":return this.contextItem.location.replace(/:\d+(-\d+)?$/,"").split(".").pop();case"sequence-diagram":return"plantuml";case"data-request":if(this.contextItem.content.startsWith("query:"))return"sql";default:return"plaintext"}},header(){if(this.contextItem.location){if(this.contextItem.type==="code-snippet")return this.contextItem.location;{let[e]=this.contextItem.location.split(":");return e.split(/[\\/]/).pop().split(".").shift().replace(/_/g," ")}}return this.stripPrefix(this.contextItem.content).slice(0,25)+"..."},isCodeSnippet(){return this.contextItem.type==="code-snippet"},isSequenceDiagram(){return this.contextItem.type==="sequence-diagram"}},methods:{toggleContent(){this.showContent=!this.showContent},getContext(){let e=`\`\`\`${this.language}
|
|
863
863
|
${this.stripPrefix(this.contextItem.content)}
|
|
864
864
|
\`\`\`
|
|
865
865
|
|
|
866
866
|
`;return this.renderMarkdown(e)},stripPrefix:e=>e.replace(/^[a-z]+:/,""),renderMarkdown(e){let t=F$e.parse(e);return YN.default.sanitize(t)},async writeToClipboard(e){e&&typeof e=="string"&&this.hasClipboardAPI&&await navigator.clipboard.writeText(e.replace(/\n/g,`
|
|
867
|
-
`))},bindCopyButtons(){this.hasClipboardAPI&&this.$el.querySelectorAll(".md-code-snippet__copy").forEach(e=>{e.addEventListener("click",async()=>{let t=e.closest(".md-code-snippet").querySelector("code");t&&await this.writeToClipboard(t.innerText)})})},hasClipboardAPI:()=>navigator&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function",openLocation(){this.contextItem.location&&this.$root.$emit("open-location",this.contextItem.location)}},mounted(){this.bindCopyButtons()}},void 0,!1,void 0,!1,J,void 0,void 0),VButton:Bn},props:{appmapStats:{type:Array,required:!1},contextResponse:{type:Array,required:!1}},computed:{numAppMaps(){return(this.appmapStats||[]).reduce((e,{numAppMaps:t})=>e+t,0)},contextTypes:()=>({"sequence-diagram":"Sequence Diagrams","data-request":"Data Requests","code-snippet":"Code Snippets"}),contextTypeKeys(){return Object.keys(this.contextTypes)}},methods:{hasContext(e){return this.contextResponse.some(t=>t.type===e)},contextItems(e){return this.contextResponse.filter(t=>t.type===e)},contextItemCount(e){return this.contextItems(e).length},openInstallInstructions(){this.$root.$emit("open-install-instructions")}}},"data-v-6f6ec660",!1,void 0,!1,J,void 0,void 0),G$e=z({render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"modal"},[r("div",{staticClass:"modal__bg",on:{click:function(n){return e.$emit("close")}}}),e._v(" "),r("div",{staticClass:"modal__content"},[e._t("default")],2)])},staticRenderFns:[]},function(e){e&&e("data-v-79847a78_0",{source:".modal__bg[data-v-79847a78]{background-color:rgba(0,0,0,.5);backdrop-filter:blur(.25rem);position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:1000}.modal__content[data-v-79847a78]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;padding:1rem;border-radius:4px}",map:void 0,media:void 0})},De.extend({name:"v-modal",methods:{handleKeydown(e){e.key==="Escape"&&this.$emit("close")}},mounted(){window.addEventListener("keydown",this.handleKeydown)},destroyed(){window.removeEventListener("keydown",this.handleKeydown)}}),"data-v-79847a78",!1,void 0,!1,J,void 0,void 0),q$e=z({render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"llm-configuration"},[e.modalVisible?r("v-modal",{attrs:{"data-cy":"llm-config-modal"},on:{close:e.hideModal}},[r("div",{staticClass:"config-options"},[e.isLocal?r("div",{staticClass:"option",attrs:{"data-cy":"llm-modal-option","data-option":"default"},on:{click:function(n){return e.selectOption("default")}}},[r("h1",[e._v("Use the Navie backend")]),e._v(" "),r("p",[e._v("Instantly get access to Navie without any additional configuration.")])]):e._e(),e._v(" "),r("a",{attrs:{href:"https://appmap.io/docs/navie/bring-your-own-model.html",target:"_blank","data-cy":"llm-modal-option","data-option":"byom"}},[r("div",{staticClass:"option"},[r("h1",[e._v("Use your own model")]),e._v(" "),r("p",[e._v(`
|
|
867
|
+
`))},bindCopyButtons(){this.hasClipboardAPI&&this.$el.querySelectorAll(".md-code-snippet__copy").forEach(e=>{e.addEventListener("click",async()=>{let t=e.closest(".md-code-snippet").querySelector("code");t&&await this.writeToClipboard(t.innerText)})})},hasClipboardAPI:()=>navigator&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function",openLocation(){this.contextItem.location&&this.$root.$emit("open-location",this.contextItem.location,this.contextItem.directory)}},mounted(){this.bindCopyButtons()}},void 0,!1,void 0,!1,J,void 0,void 0),VButton:Bn},props:{appmapStats:{type:Array,required:!1},contextResponse:{type:Array,required:!1}},computed:{numAppMaps(){return(this.appmapStats||[]).reduce((e,{numAppMaps:t})=>e+t,0)},contextTypes:()=>({"sequence-diagram":"Sequence Diagrams","data-request":"Data Requests","code-snippet":"Code Snippets"}),contextTypeKeys(){return Object.keys(this.contextTypes)}},methods:{hasContext(e){return this.contextResponse.some(t=>t.type===e)},contextItems(e){return this.contextResponse.filter(t=>t.type===e)},contextItemCount(e){return this.contextItems(e).length},openInstallInstructions(){this.$root.$emit("open-install-instructions")}}},"data-v-6f6ec660",!1,void 0,!1,J,void 0,void 0),G$e=z({render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"modal"},[r("div",{staticClass:"modal__bg",on:{click:function(n){return e.$emit("close")}}}),e._v(" "),r("div",{staticClass:"modal__content"},[e._t("default")],2)])},staticRenderFns:[]},function(e){e&&e("data-v-79847a78_0",{source:".modal__bg[data-v-79847a78]{background-color:rgba(0,0,0,.5);backdrop-filter:blur(.25rem);position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:1000}.modal__content[data-v-79847a78]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;padding:1rem;border-radius:4px}",map:void 0,media:void 0})},De.extend({name:"v-modal",methods:{handleKeydown(e){e.key==="Escape"&&this.$emit("close")}},mounted(){window.addEventListener("keydown",this.handleKeydown)},destroyed(){window.removeEventListener("keydown",this.handleKeydown)}}),"data-v-79847a78",!1,void 0,!1,J,void 0,void 0),q$e=z({render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"llm-configuration"},[e.modalVisible?r("v-modal",{attrs:{"data-cy":"llm-config-modal"},on:{close:e.hideModal}},[r("div",{staticClass:"config-options"},[e.isLocal?r("div",{staticClass:"option",attrs:{"data-cy":"llm-modal-option","data-option":"default"},on:{click:function(n){return e.selectOption("default")}}},[r("h1",[e._v("Use the Navie backend")]),e._v(" "),r("p",[e._v("Instantly get access to Navie without any additional configuration.")])]):e._e(),e._v(" "),r("a",{attrs:{href:"https://appmap.io/docs/navie/bring-your-own-model.html",target:"_blank","data-cy":"llm-modal-option","data-option":"byom"}},[r("div",{staticClass:"option"},[r("h1",[e._v("Use your own model")]),e._v(" "),r("p",[e._v(`
|
|
868
868
|
Configure Navie to use a specific LLM by adjusting the environment variables used by
|
|
869
869
|
the AppMap extension.
|
|
870
870
|
`)]),e._v(" "),r("v-external-link",{staticClass:"icon right"})],1)]),e._v(" "),r("div",{staticClass:"option",attrs:{"data-cy":"llm-modal-option","data-option":"byok"},on:{click:function(n){return e.selectOption("own-key")}}},[r("h1",[e._v("Use your own OpenAI API key")]),e._v(" "),r("p",[e._v("Input your own OpenAI API key to use it with Navie.")])])])]):e._e(),e._v(" "),r("v-button",{staticClass:"button",attrs:{kind:"ghost","data-cy":"llm-config-button"},nativeOn:{click:function(n){return e.showModal.apply(null,arguments)}}},[r("v-cog-solid",{staticClass:"icon"})],1),e._v(" "),r("span",[r("b",[e._v("Model:")]),e._v(" "),r("span",{staticClass:"llm-model-name",attrs:{"data-cy":"llm-model"}},[e._v(e._s(e.modelName))]),e._v(" "),r("i",{attrs:{"data-cy":"llm-provider"}},[e._v("("+e._s(e.modelSubtext)+")")])])],1)},staticRenderFns:[]},function(e){e&&e("data-v-3422b36c_0",{source:".llm-configuration[data-v-3422b36c]{border-radius:.5rem;background-color:#32354d;display:flex;padding:1rem;width:fit-content;font-size:12px;align-items:center;border:1px solid rgba(255,255,255,.1)}.llm-configuration .button[data-v-3422b36c]{padding:.5rem}.llm-configuration .button[data-v-3422b36c]:hover{background-color:#32354d}.llm-configuration .icon[data-v-3422b36c]{width:14px;fill:#e3e5e8}.llm-configuration .right[data-v-3422b36c]{float:right}.llm-configuration i[data-v-3422b36c]{opacity:.5}.llm-configuration span[data-v-3422b36c]{padding-left:.5rem}.llm-configuration .llm-model-name[data-v-3422b36c]{padding-left:0}.llm-configuration .config-options[data-v-3422b36c]{display:flex;flex-direction:column;gap:1rem}.llm-configuration .config-options a[data-v-3422b36c]:-webkit-any-link{text-decoration:none;color:inherit}.llm-configuration .config-options .option[data-v-3422b36c]{background-color:#242c41;padding:2em 1em;border-radius:.5rem;border:1px solid #677497;cursor:pointer}.llm-configuration .config-options .option[data-v-3422b36c]:hover{background-color:#4e69b0;transition:all .2s ease-in-out;color:#fff}.llm-configuration .config-options .option h1[data-v-3422b36c]{font-size:16px;margin-bottom:.5rem}",map:void 0,media:void 0})},De.extend({components:{VButton:Bn,VCogSolid:kse,VModal:G$e,VExternalLink:VN},props:{model:{type:String,required:!1},baseUrl:{type:String,required:!1}},data:()=>({modalVisible:!1}),computed:{isLocal(){return this.baseUrl!==void 0},modelName(){return this.model??"GPT-4 Turbo"},modelSubtext(){if(!this.baseUrl)return"default";try{let{hostname:e}=new URL(this.baseUrl);return e.match(/(openai.azure.com|api.microsoft.com)$/i)!==null?"via Azure OpenAI":e.match(/^api.openai.com$/i)!==null?"via OpenAI":e.match(/^(localhost|127.0.0.1)$/i)!==null?"via localhost":e}catch{return"default"}}},methods:{showModal(){this.modalVisible=!0},hideModal(){this.modalVisible=!1},selectOption(e){this.$root.$emit("select-llm-option",e),this.hideModal()}}}),"data-v-3422b36c",!1,void 0,!1,J,void 0,void 0),Y$e=Hoe();function Tu(e,t,r){if(t)e&&e({message:t.toString()});else if(r)if(r.code)e&&e(r);else{let n=r.message||r.toString();e&&e({message:`An unexpected error occurred: ${n}`})}}var UN=class extends ase.EventEmitter{constructor(r){super();se(this,"client");this.client=r}explain(r,n){let i,a,o;typeof r=="string"?i=r:(i=r.question,a=r.codeSelection,o=r.appmaps);let s={question:i,appmaps:o,threadId:n,codeSelection:a};return new Promise((l,c)=>{this.client.request("explain",s,(u,d,p)=>{if(u||d)return Tu(c,u,d);this.pollForStatus(p.userMessageId),this.onAck(p.userMessageId,p.threadId),l(p.userMessageId)})})}pollForStatus(r,n=500){let i=0,a=setInterval(()=>{this.client.request("explain.status",{userMessageId:r},(o,s,l)=>{if(s&&s.code===404&&clearInterval(a),o||s)return Tu(this.onError.bind(this),o,s);this.emit("status",l);let c=l.explanation||[],u=c.length-i;if(u>0){let d=c.slice(-u);for(let p of d)this.onToken(p,r)}i=c.length,["complete","error"].includes(l.step)&&(clearInterval(a),this.onComplete())})},n)}onError(r){this.emit("error",r)}onAck(r,n){this.emit("ack",r,n)}onToken(r,n){this.emit("token",r,n)}onComplete(){this.emit("complete")}},GN=class{constructor(t){se(this,"client");var r;this.client=typeof t=="number"?(r=t,new Y$e(function(n,i){let a={method:"POST",body:n,headers:{"Content-Type":"application/json"}};window.fetch(`http://localhost:${r}`,a).then(function(o){return o.text()}).then(function(o){i(null,o)}).catch(function(o){i(o)})},{})):t}appmapStats(){return new Promise((t,r)=>{this.client.request(kS.AppMapRpc.Stats.V2.Method,{},function(n,i,a){if(n||i)return Tu(r,n,i);t(a)})})}appmapData(t,r){return new Promise((n,i)=>{this.client.request("appmap.data",{appmap:t,filter:r},function(a,o,s){if(a||o)return Tu(i,a,o);n(s)})})}appmapMetadata(t){return new Promise((r,n)=>{this.client.request("appmap.metadata",{appmap:t},function(i,a,o){if(i||a)return Tu(n,i,a);r(o)})})}configuration(){return new Promise((t,r)=>{this.client.request(kS.ConfigurationRpc.V2.Get.Method,void 0,(n,i,a)=>{if(n||i)return Tu(r,n,i);t(a)})})}explain(){return new UN(this.client)}};function H$e(e,t){let r,n=!1;function i(){let a=typeof t=="function"?t():t;n=!1,r=setTimeout(()=>{r=void 0,n&&i()},a),e()}return()=>{r?n=!0:i()}}var z$e=z({render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"chat-search-container",on:{mousemove:e.makeResizing,mouseup:e.stopResizing,mouseleave:e.stopResizing}},[r("div",{ref:"chatContainer",staticClass:"chat-container",attrs:{"data-cy":"resize-left"}},[r("v-chat",{ref:"vchat",staticClass:"chat-search-chat",attrs:{"send-message":e.sendMessage,"status-label":e.searchStatusLabel,question:e.question,"input-placeholder":e.inputPlaceholder},on:{clear:e.clear,isChatting:e.setIsChatting}},[e.showStatus?r("v-context-status",{attrs:{"appmap-stats":e.appmapStats}}):e._e(),e._v(" "),e.configLoaded&&!e.isChatting?r("v-llm-configuration",{attrs:{"data-cy":"llm-config","base-url":e.baseUrl,model:e.model}}):e._e()],1)],1),e._v(" "),r("div",{staticClass:"chat-search-container--drag",attrs:{"data-cy":"resize-handle"},on:{mousedown:e.startResizing}}),e._v(" "),r("div",{staticClass:"search-container"},[r("v-context",{staticClass:"no-match-instructions",attrs:{"appmap-stats":e.appmapStats,"context-response":e.contextResponse}})],1)])},staticRenderFns:[]},function(e){e&&e("data-v-54d016a0_0",{source:".chat-search-container[data-v-54d016a0]{display:grid;grid-template-columns:auto auto 1fr;min-width:100%;max-width:100vw;height:100vh;background-color:#242c41}.chat-search-container .chat-container[data-v-54d016a0]{overflow:hidden;min-width:375px;width:60vw;display:flex;flex-direction:column;background-color:#292c39}.chat-search-container .chat-container .navie-intro[data-v-54d016a0]{padding:1rem;align-self:center;margin:0 auto;padding:2rem;padding-bottom:0}.chat-search-container .chat-container .navie-intro a[data-v-54d016a0]{color:#768ecb;text-decoration:none}.chat-search-container .chat-container .navie-intro a[data-v-54d016a0]:hover{color:#4362b1}.chat-search-container .chat-container .chat-search-chat[data-v-54d016a0]{min-width:auto;margin:0;max-width:none!important}.chat-search-container .chat-search-container--drag[data-v-54d016a0]{width:4px;background:rgba(0,0,0,.1);cursor:col-resize;z-index:100}.chat-search-container .chat-search-container--drag[data-v-54d016a0]:hover{background:rgba(255,255,255,.1)}.chat-search-container .context-container[data-v-54d016a0],.chat-search-container .search-container[data-v-54d016a0]{font-size:1rem;color:#e3e5e8;flex-direction:column;overflow-y:auto;background-color:#14151b}.chat-search-container .instructions[data-v-54d016a0]{min-width:20rem}.chat-search-container .search-container[data-v-54d016a0]{max-height:100vh;display:flex;flex-direction:column;padding:1rem}.chat-search-container .search-container h2[data-v-54d016a0]{font-size:1.2rem;margin-right:1rem}.chat-search-container .search-container .appmap[data-v-54d016a0]{padding-top:.4rem;height:100%!important}.chat-search-container .search-container .appmap-empty[data-v-54d016a0]{height:100%;background-color:#010306;margin-top:0}",map:void 0,media:void 0})},{name:"v-chat-search",components:{VChat:Kse,VContext:U$e,VContextStatus:k$e,VLlmConfiguration:q$e},mixins:[Wse],props:{question:{type:String},appmapRpcPort:{type:Number},appmapRpcFn:{type:Function},savedFilters:{type:Array,default:()=>[]},appmaps:{type:Array,default:()=>[]},targetAppmapData:{type:Object},targetAppmapFsPath:{type:String},appmapYmlPresent:Boolean,mostRecentAppMaps:Array},data(){return{searchResponse:void 0,searching:!1,searchStatus:void 0,searchId:0,selectedSearchResultId:void 0,isPanelResizing:!1,initialPanelWidth:0,initialClientX:0,searchStatusLabel:void 0,appmapStats:void 0,searchStatusLabels:{"build-vector-terms":"Optimizing search terms","search-appmaps":"Searching AppMaps","collect-context":"Collecting context","expand-context":"Expanding context","build-prompt":"Building prompt",explain:"Explaining with AI"},ask:void 0,isChatting:!1,loadAppMapStats:H$e(async()=>{let e=this.rpcClient();try{this.appmapStats=await e.appmapStats()}catch(t){console.error("Error loading appmap stats",t)}},()=>Math.max(1e3,5*(this.appmapStats?.numAppMaps??0))),targetAppmap:this.targetAppmapData,configLoaded:!1,baseUrl:void 0,model:void 0}},watch:{mostRecentAppMaps(){this.loadAppMapStats()},searchResponse:async function(e){if(!e)return void(this.selectedSearchResultId=void 0);let t=e,r=this.rpcClient(),n=0;for(let i of t.results){let a=await r.appmapMetadata(i.appmap);i.id=["search-result",this.searchId,n].join("_"),i.metadata=a,n+=1}t.results.length>0&&(this.selectedSearchResultId=t.results[0].id)},selectedSearchResultId:async function(e){this.$nextTick((async()=>{if(!this.$refs.vappmap)return;if(!e)return void this.$refs.vappmap.resetDiagram();let t=this.rpcClient(),r=this.selectedSearchResult,n=await t.appmapData(r.appmap);await this.$refs.vappmap.loadData(n),this.$refs.vappmap.setState(JSON.stringify({selectedObjects:r.events.map(i=>i.fqid)}))}).bind(this))},statusStep:function(e){if(e){if(e)if(this.searchStatus?.step){let t=this.searchStatusLabels[this.searchStatus.step];t&&(this.searchStatusLabel=[t,"..."].join(""))}else this.searchStatusLabel=void 0}else this.searchStatusLabel=void 0}},computed:{showStatus(){return!this.targetAppmap&&this.appmapStats&&!this.isChatting},targetAppmapName(){return this.targetAppmap?.metadata?.name},inputPlaceholder(){return this.targetAppmap?"What do you want to know about this AppMap?":"How can I help?"},statusStep(){return this.searchStatus?this.searchStatus.step:void 0},contextResponse(){return this.searchStatus?.contextResponse||this.createContextResponse()},selectedSearchResult(){if(this.searchResponse&&this.selectedSearchResultId)return this.searchResponse.results.find(e=>e.id===this.selectedSearchResultId)},hasAppMaps(){return this.appmapStats?.some(({numAppMaps:e})=>e>0)??!1}},methods:{createContextResponse(){if(!this.searchStatus)return;let{codeObjects:e,sequenceDiagrams:t,codeSnippets:r}=this.searchStatus,n=[];return e?.forEach(i=>{n.push({type:"data-request",content:i})}),t?.forEach(i=>{n.push({type:"sequence-diagram",content:i})}),r&&Object.keys(r).forEach(i=>{n.push({location:i,type:"code-snippet",content:this.searchStatus.codeSnippets[i]})}),n.length!==0?n:void 0},askAboutWorkspace(){this.targetAppmap=void 0,this.$refs.vchat.resetAppMaps(),this.$refs.vchat.clear()},getAppMapState(){return this.$refs.vappmap?.getState()},setAppMapState(e){this.$refs.vappmap?.setState(e)},updateFilters(e){this.$store.commit(SET_SAVED_FILTERS,e)},async sendMessage(e,t=[],r=[]){let n;return this.ask=this.rpcClient().explain(),this.searching=!0,this.lastStatusLabel=void 0,new Promise((i,a)=>{let o=!this.$refs.vchat.getMessage({isUser:!1}),s=this.$refs.vchat.addSystemMessage(),l,c="Analyzing your project";o&&(l={title:c},s.tools.push(l));let u=()=>{l&&l.title===c&&(l.title="Project analysis complete",l.complete=!0)},d=()=>{this.searching=!1,u(),s.complete=!0,i()},p=v=>{d(),this.$refs.vchat.onError(v,s),a()};this.ask.on("ack",(v,E)=>{n=E,this.$refs.vchat.onAck(v,E)}),this.ask.on("token",(v,E)=>{s.messageId||(s.messageId=E),u(),this.$refs.vchat.addToken(v,n,E)}),this.ask.on("error",p),this.ask.on("status",v=>{if(this.searchStatus=v,!this.searchResponse&&v.searchResponse&&(this.searchResponse=v.searchResponse,l)){let E=this.searchResponse.results.length;l.title="Project analysis complete",this.targetAppmap||(l.status=`Found ${E} relevant AppMap${E===1?"":"s"}`),l.complete=!0}}),this.ask.on("complete",d);let m={question:e};r.length>0&&(m.appmaps=r),t.length>0&&(m.codeSelection=t.join(`
|