monacopilot 0.9.5 → 0.9.7
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/build/index.js +1 -1
- package/build/index.mjs +1 -1
- package/package.json +1 -1
package/build/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";var I=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var re=Object.prototype.hasOwnProperty;var ne=(t,e)=>{for(var o in e)I(t,o,{get:e[o],enumerable:!0})},ie=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of oe(e))!re.call(t,i)&&i!==o&&I(t,i,{get:()=>e[i],enumerable:!(r=te(e,i))||r.enumerable});return t};var se=t=>ie(I({},"__esModule",{value:!0}),t);var fe={};ne(fe,{Copilot:()=>O,registerCopilot:()=>ee});module.exports=se(fe);var b=()=>{},S=(t,e=1e3)=>{let o=null;return(...i)=>(o&&clearTimeout(o),new Promise((n,s)=>{o=setTimeout(()=>{t(...i).then(n).catch(s)},e)}))},B=t=>!t||t.length===0?"":t.length===1?t[0]:`${t.slice(0,-1).join(", ")} and ${t.slice(-1)}`;var x=(t,e)=>e.getLineContent(t.lineNumber)[t.column-1],$=(t,e)=>e.getLineContent(t.lineNumber).slice(t.column-1),u=(t,e)=>e.getLineContent(t.lineNumber).slice(0,t.column-1),_=t=>{let e=t.split(`
|
|
2
2
|
`);return e[e.length-1].length};var g=(t,e)=>e.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:t.lineNumber,endColumn:t.column}),L=(t,e)=>e.getValueInRange({startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:e.getLineCount(),endColumn:e.getLineMaxColumn(e.getLineCount())});var D=async(t,e,o={})=>{let r={"Content-Type":"application/json",...o.headers},i=e==="POST"&&o.body?JSON.stringify(o.body):void 0,n=await fetch(t,{method:e,headers:r,body:i,signal:o.signal});if(!n.ok)throw new Error(`${o.error||"Network error"}: ${n.statusText}`);return n.json()},le=(t,e)=>D(t,"GET",e),me=(t,e,o)=>D(t,"POST",{...o,body:e}),T={GET:le,POST:me};var P=class{constructor(e,o){this.formattedCompletion="";this.originalCompletion="";this.model=e,this.cursorPosition=o,this.lineCount=e.getLineCount()}ignoreBlankLines(){return this.formattedCompletion.trimStart()===""&&this.originalCompletion!==`
|
|
3
|
-
`&&(this.formattedCompletion=this.formattedCompletion.trim()),this}normalise(e){return e?.trim()??""}removeDuplicatesFromStartOfCompletion(){let e=g(this.cursorPosition,this.model).trim(),o=this.normalise(this.formattedCompletion),r=0,i=Math.min(o.length,e.length);for(let n=1;n<=i;n++){let s=e.slice(-n),m=o.slice(0,n);if(s===m)r=n;else break}return r>0&&(this.formattedCompletion=this.formattedCompletion.slice(r)),this}preventDuplicateLines(){for(let e=this.cursorPosition.lineNumber+1;e<this.cursorPosition.lineNumber+3&&e<this.lineCount;e++){let o=this.model.getLineContent(e);if(this.normalise(o)===this.normalise(this.originalCompletion))return this.formattedCompletion="",this}return this}removeInvalidLineBreaks(){return this.formattedCompletion=this.formattedCompletion.trimEnd(),this}trimStart(){let e=this.formattedCompletion.search(/\S/);return e>this.cursorPosition.column-1&&(this.formattedCompletion=this.formattedCompletion.slice(e)),this}format(e){return this.originalCompletion=e,this.formattedCompletion=e,this.ignoreBlankLines().removeDuplicatesFromStartOfCompletion().preventDuplicateLines().removeInvalidLineBreaks().trimStart(),this.formattedCompletion}};var ae=10,h=[],q=(t,e)=>h.filter(o=>{let r=e.getValueInRange(o.range);return u(t,e).startsWith(o.textBeforeCursorInLine)&&(o.range.startLineNumber===t.lineNumber&&t.column===o.range.startColumn||o.completion.startsWith(r)&&o.range.startLineNumber===t.lineNumber&&t.column>=o.range.startColumn-r.length&&t.column<=o.range.endColumn)}),k=t=>{h.length>=ae&&h.shift(),h.push(t)},F=()=>{h.length=0};var U={llama:"
|
|
3
|
+
`&&(this.formattedCompletion=this.formattedCompletion.trim()),this}normalise(e){return e?.trim()??""}removeDuplicatesFromStartOfCompletion(){let e=g(this.cursorPosition,this.model).trim(),o=this.normalise(this.formattedCompletion),r=0,i=Math.min(o.length,e.length);for(let n=1;n<=i;n++){let s=e.slice(-n),m=o.slice(0,n);if(s===m)r=n;else break}return r>0&&(this.formattedCompletion=this.formattedCompletion.slice(r)),this}preventDuplicateLines(){for(let e=this.cursorPosition.lineNumber+1;e<this.cursorPosition.lineNumber+3&&e<this.lineCount;e++){let o=this.model.getLineContent(e);if(this.normalise(o)===this.normalise(this.originalCompletion))return this.formattedCompletion="",this}return this}removeInvalidLineBreaks(){return this.formattedCompletion=this.formattedCompletion.trimEnd(),this}trimStart(){let e=this.formattedCompletion.search(/\S/);return e>this.cursorPosition.column-1&&(this.formattedCompletion=this.formattedCompletion.slice(e)),this}format(e){return this.originalCompletion=e,this.formattedCompletion=e,this.ignoreBlankLines().removeDuplicatesFromStartOfCompletion().preventDuplicateLines().removeInvalidLineBreaks().trimStart(),this.formattedCompletion}};var ae=10,h=[],q=(t,e)=>h.filter(o=>{let r=e.getValueInRange(o.range);return u(t,e).startsWith(o.textBeforeCursorInLine)&&(o.range.startLineNumber===t.lineNumber&&t.column===o.range.startColumn||o.completion.startsWith(r)&&o.range.startLineNumber===t.lineNumber&&t.column>=o.range.startColumn-r.length&&t.column<=o.range.endColumn)}),k=t=>{h.length>=ae&&h.shift(),h.push(t)},F=()=>{h.length=0};var U={llama:"llama3-70b-8192"},y="llama",G="https://api.groq.com/openai/v1/chat/completions";var j=new Set(['"',"'","`","{","}","[","]","(",")",","," ",":","."]);var W=(t,e)=>{let o=x(t,e);return!!o&&!j.has(o)},H=(t,e)=>{let o=$(t,e).trim(),r=u(t,e).trim();return t.column<=3&&(o!==""||r!=="")};var K=(t,e,o,r)=>{let i=(t.match(/\n/g)||[]).length,n=_(t),s=x(o,r);return{startLineNumber:o.lineNumber,startColumn:o.column,endLineNumber:o.lineNumber+i,endColumn:t.includes(s)?o.lineNumber===e.startLineNumber&&i===0?o.column+n:n:o.column}},V=(t,e,o)=>new P(t,e).format(o),c=t=>({items:t,enableForwardStability:!0});var R=class{constructor(e,o){this.cursorPosition=e,this.model=o}shouldProvideCompletions(){return!W(this.cursorPosition,this.model)&&!H(this.cursorPosition,this.model)}};var M=class{static getModel(){return this.model}static setModel(e){this.model=e}};M.model=y;var N=M;var v=class{constructor(e){this.error=e}logError(e,o,r){console.error(`${e}: ${o}`,r)}monacopilotError(e){this.logError("MONACO_PILOT_ERROR",e,this.error)}apiError(e){this.logError("API_ERROR",e,this.error)}completionError(e){this.logError("COMPLETION_ERROR",e,this.error)}predictionError(e){this.logError("PREDICTION_ERROR",e,this.error)}editorError(e){this.logError("EDITOR_ERROR",e,this.error)}unexpectedError(){this.error instanceof Error?this.logError("UNEXPECTED_ERROR",this.error.message,this.error.stack):this.logError("UNKNOWN_ERROR",String(this.error))}},a=t=>new v(t);var f="<cursor>",Y=t=>t==="javascript"?"latest JavaScript":t,J=t=>{switch(t){case"fill-in-the-middle":return"filling in the middle of the code";case"completion":return"completing the code"}},z=t=>{let e=Y(t.language),o=J(t.editorState.completionMode);return`You are a world-class${e?` ${e}`:""} coding assistant renowned for your exceptional expertise in ${o}.`},pe=(t,e)=>{if(!t?.length&&!e)return"";let o=t?` using ${B(t)}`:"",r=Y(e);return`The code is written${r?` in ${r}`:""}${o}.`},Q=t=>{let{filename:e,language:o,technologies:r,editorState:i,textBeforeCursor:n,textAfterCursor:s,externalContext:m}=t,p=J(i.completionMode),E=e?`the file named ${e}`:"a larger project",l=`You will be presented with a code snippet in '<code>' tag where the cursor location is marked with '${f}'.
|
|
4
4
|
Your task is to assist with ${p}. This code is part of ${E}. Please `;switch(i.completionMode){case"fill-in-the-middle":l+=`generate a completion to fill the middle of the code around '${f}'.
|
|
5
5
|
Ensure the completion replaces '${f}' precisely, maintaining consistency, semantic accuracy, and relevance to the context.
|
|
6
6
|
The completion must start exactly from the cursor position without any preceding or following characters,
|
package/build/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var O=()=>{},A=(t,e=1e3)=>{let o=null;return(...i)=>(o&&clearTimeout(o),new Promise((n,s)=>{o=setTimeout(()=>{t(...i).then(n).catch(s)},e)}))},S=t=>!t||t.length===0?"":t.length===1?t[0]:`${t.slice(0,-1).join(", ")} and ${t.slice(-1)}`;var x=(t,e)=>e.getLineContent(t.lineNumber)[t.column-1],B=(t,e)=>e.getLineContent(t.lineNumber).slice(t.column-1),u=(t,e)=>e.getLineContent(t.lineNumber).slice(0,t.column-1),$=t=>{let e=t.split(`
|
|
2
2
|
`);return e[e.length-1].length};var g=(t,e)=>e.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:t.lineNumber,endColumn:t.column}),I=(t,e)=>e.getValueInRange({startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:e.getLineCount(),endColumn:e.getLineMaxColumn(e.getLineCount())});var _=async(t,e,o={})=>{let r={"Content-Type":"application/json",...o.headers},i=e==="POST"&&o.body?JSON.stringify(o.body):void 0,n=await fetch(t,{method:e,headers:r,body:i,signal:o.signal});if(!n.ok)throw new Error(`${o.error||"Network error"}: ${n.statusText}`);return n.json()},Z=(t,e)=>_(t,"GET",e),ee=(t,e,o)=>_(t,"POST",{...o,body:e}),T={GET:Z,POST:ee};var P=class{constructor(e,o){this.formattedCompletion="";this.originalCompletion="";this.model=e,this.cursorPosition=o,this.lineCount=e.getLineCount()}ignoreBlankLines(){return this.formattedCompletion.trimStart()===""&&this.originalCompletion!==`
|
|
3
|
-
`&&(this.formattedCompletion=this.formattedCompletion.trim()),this}normalise(e){return e?.trim()??""}removeDuplicatesFromStartOfCompletion(){let e=g(this.cursorPosition,this.model).trim(),o=this.normalise(this.formattedCompletion),r=0,i=Math.min(o.length,e.length);for(let n=1;n<=i;n++){let s=e.slice(-n),m=o.slice(0,n);if(s===m)r=n;else break}return r>0&&(this.formattedCompletion=this.formattedCompletion.slice(r)),this}preventDuplicateLines(){for(let e=this.cursorPosition.lineNumber+1;e<this.cursorPosition.lineNumber+3&&e<this.lineCount;e++){let o=this.model.getLineContent(e);if(this.normalise(o)===this.normalise(this.originalCompletion))return this.formattedCompletion="",this}return this}removeInvalidLineBreaks(){return this.formattedCompletion=this.formattedCompletion.trimEnd(),this}trimStart(){let e=this.formattedCompletion.search(/\S/);return e>this.cursorPosition.column-1&&(this.formattedCompletion=this.formattedCompletion.slice(e)),this}format(e){return this.originalCompletion=e,this.formattedCompletion=e,this.ignoreBlankLines().removeDuplicatesFromStartOfCompletion().preventDuplicateLines().removeInvalidLineBreaks().trimStart(),this.formattedCompletion}};var te=10,h=[],D=(t,e)=>h.filter(o=>{let r=e.getValueInRange(o.range);return u(t,e).startsWith(o.textBeforeCursorInLine)&&(o.range.startLineNumber===t.lineNumber&&t.column===o.range.startColumn||o.completion.startsWith(r)&&o.range.startLineNumber===t.lineNumber&&t.column>=o.range.startColumn-r.length&&t.column<=o.range.endColumn)}),q=t=>{h.length>=te&&h.shift(),h.push(t)},k=()=>{h.length=0};var F={llama:"
|
|
3
|
+
`&&(this.formattedCompletion=this.formattedCompletion.trim()),this}normalise(e){return e?.trim()??""}removeDuplicatesFromStartOfCompletion(){let e=g(this.cursorPosition,this.model).trim(),o=this.normalise(this.formattedCompletion),r=0,i=Math.min(o.length,e.length);for(let n=1;n<=i;n++){let s=e.slice(-n),m=o.slice(0,n);if(s===m)r=n;else break}return r>0&&(this.formattedCompletion=this.formattedCompletion.slice(r)),this}preventDuplicateLines(){for(let e=this.cursorPosition.lineNumber+1;e<this.cursorPosition.lineNumber+3&&e<this.lineCount;e++){let o=this.model.getLineContent(e);if(this.normalise(o)===this.normalise(this.originalCompletion))return this.formattedCompletion="",this}return this}removeInvalidLineBreaks(){return this.formattedCompletion=this.formattedCompletion.trimEnd(),this}trimStart(){let e=this.formattedCompletion.search(/\S/);return e>this.cursorPosition.column-1&&(this.formattedCompletion=this.formattedCompletion.slice(e)),this}format(e){return this.originalCompletion=e,this.formattedCompletion=e,this.ignoreBlankLines().removeDuplicatesFromStartOfCompletion().preventDuplicateLines().removeInvalidLineBreaks().trimStart(),this.formattedCompletion}};var te=10,h=[],D=(t,e)=>h.filter(o=>{let r=e.getValueInRange(o.range);return u(t,e).startsWith(o.textBeforeCursorInLine)&&(o.range.startLineNumber===t.lineNumber&&t.column===o.range.startColumn||o.completion.startsWith(r)&&o.range.startLineNumber===t.lineNumber&&t.column>=o.range.startColumn-r.length&&t.column<=o.range.endColumn)}),q=t=>{h.length>=te&&h.shift(),h.push(t)},k=()=>{h.length=0};var F={llama:"llama3-70b-8192"},y="llama",U="https://api.groq.com/openai/v1/chat/completions";var G=new Set(['"',"'","`","{","}","[","]","(",")",","," ",":","."]);var j=(t,e)=>{let o=x(t,e);return!!o&&!G.has(o)},W=(t,e)=>{let o=B(t,e).trim(),r=u(t,e).trim();return t.column<=3&&(o!==""||r!=="")};var H=(t,e,o,r)=>{let i=(t.match(/\n/g)||[]).length,n=$(t),s=x(o,r);return{startLineNumber:o.lineNumber,startColumn:o.column,endLineNumber:o.lineNumber+i,endColumn:t.includes(s)?o.lineNumber===e.startLineNumber&&i===0?o.column+n:n:o.column}},K=(t,e,o)=>new P(t,e).format(o),c=t=>({items:t,enableForwardStability:!0});var R=class{constructor(e,o){this.cursorPosition=e,this.model=o}shouldProvideCompletions(){return!j(this.cursorPosition,this.model)&&!W(this.cursorPosition,this.model)}};var M=class{static getModel(){return this.model}static setModel(e){this.model=e}};M.model=y;var b=M;var L=class{constructor(e){this.error=e}logError(e,o,r){console.error(`${e}: ${o}`,r)}monacopilotError(e){this.logError("MONACO_PILOT_ERROR",e,this.error)}apiError(e){this.logError("API_ERROR",e,this.error)}completionError(e){this.logError("COMPLETION_ERROR",e,this.error)}predictionError(e){this.logError("PREDICTION_ERROR",e,this.error)}editorError(e){this.logError("EDITOR_ERROR",e,this.error)}unexpectedError(){this.error instanceof Error?this.logError("UNEXPECTED_ERROR",this.error.message,this.error.stack):this.logError("UNKNOWN_ERROR",String(this.error))}},a=t=>new L(t);var f="<cursor>",V=t=>t==="javascript"?"latest JavaScript":t,Y=t=>{switch(t){case"fill-in-the-middle":return"filling in the middle of the code";case"completion":return"completing the code"}},J=t=>{let e=V(t.language),o=Y(t.editorState.completionMode);return`You are a world-class${e?` ${e}`:""} coding assistant renowned for your exceptional expertise in ${o}.`},oe=(t,e)=>{if(!t?.length&&!e)return"";let o=t?` using ${S(t)}`:"",r=V(e);return`The code is written${r?` in ${r}`:""}${o}.`},z=t=>{let{filename:e,language:o,technologies:r,editorState:i,textBeforeCursor:n,textAfterCursor:s,externalContext:m}=t,p=Y(i.completionMode),E=e?`the file named ${e}`:"a larger project",l=`You will be presented with a code snippet in '<code>' tag where the cursor location is marked with '${f}'.
|
|
4
4
|
Your task is to assist with ${p}. This code is part of ${E}. Please `;switch(i.completionMode){case"fill-in-the-middle":l+=`generate a completion to fill the middle of the code around '${f}'.
|
|
5
5
|
Ensure the completion replaces '${f}' precisely, maintaining consistency, semantic accuracy, and relevance to the context.
|
|
6
6
|
The completion must start exactly from the cursor position without any preceding or following characters,
|