monacopilot 0.9.10 → 0.9.11
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.d.mts +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.js +1 -1
- package/build/index.mjs +1 -1
- package/package.json +4 -10
package/build/index.d.mts
CHANGED
|
@@ -42,7 +42,7 @@ interface RegisterCopilotOptions {
|
|
|
42
42
|
/**
|
|
43
43
|
* The technologies (libraries, frameworks, etc.) you want to use for the completion.
|
|
44
44
|
* This can provide technology-specific completions.
|
|
45
|
-
* If you don't specify a technology, the completion will be specific to the language (provided as the `language`
|
|
45
|
+
* If you don't specify a technology, the completion will be specific to the language (provided as the `language`).
|
|
46
46
|
*
|
|
47
47
|
* @example
|
|
48
48
|
* ['react', 'nextjs', 'tailwindcss', 'tanstack/react-query']
|
package/build/index.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ interface RegisterCopilotOptions {
|
|
|
42
42
|
/**
|
|
43
43
|
* The technologies (libraries, frameworks, etc.) you want to use for the completion.
|
|
44
44
|
* This can provide technology-specific completions.
|
|
45
|
-
* If you don't specify a technology, the completion will be specific to the language (provided as the `language`
|
|
45
|
+
* If you don't specify a technology, the completion will be specific to the language (provided as the `language`).
|
|
46
46
|
*
|
|
47
47
|
* @example
|
|
48
48
|
* ['react', 'nextjs', 'tailwindcss', 'tanstack/react-query']
|
package/build/index.js
CHANGED
|
@@ -51,4 +51,4 @@ Additional context from related files:
|
|
|
51
51
|
`,c+=a.map(C=>`// Path: ${C.path}
|
|
52
52
|
${C.content}
|
|
53
53
|
`).join(`
|
|
54
|
-
`)),c.endsWith(".")?c:`${c}.`};var Ce="application/json",te=async({filename:o,endpoint:e,language:t,technologies:r,externalContext:n,model:i,position:s})=>{try{let{completion:a}=await y.POST(e,{completionMetadata:ge({filename:o,position:s,model:i,language:t,technologies:r,externalContext:n})},{headers:{"Content-Type":Ce},error:"Error while fetching completion item"});return a||null}catch(a){return m(a,"FETCH_COMPLETION_ITEM_ERROR"),null}},ge=({filename:o,position:e,model:t,language:r,technologies:n,externalContext:i})=>{let s=fe(e,t),a=g(e,t),l=b(e,t);return{filename:o,language:r,technologies:n,externalContext:i,textBeforeCursor:a,textAfterCursor:l,editorState:{completionMode:s}}},fe=(o,e)=>{let t=g(o,e),r=b(o,e);return t&&r?"fill-in-the-middle":"completion"};var O=class{constructor(e,t){if(!e)throw new Error("Groq API key is required to initialize Copilot.");this.apiKey=e,this.model=t?.model||H}async complete({completionMetadata:e}){try{let t=this.createRequestBody(e),r=this.createHeaders(),n=await y.POST(U,t,{headers:r});if(!n.choices?.length)throw new Error("No completion choices received from API");return{completion:n.choices[0].message.content}}catch(t){return m(t,"COPILOT_COMPLETION_FETCH_ERROR"),{error:"Failed to generate completion"}}}createRequestBody(e){return{...j,model:G[this.model],messages:[{role:"system",content:Z(e)},{role:"user",content:ee(e)}]}}createHeaders(){return{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"}}};var he=300,Ee=S(te,he),Te=async({monaco:o,model:e,position:t,token:r,isCompletionAccepted:n,onShowCompletion:i,options:s})=>{if(!new I(t,e).shouldProvideCompletions())return u([]);let a=q(t,e).map(l=>({insertText:l.completion,range:l.range}));if(a.length)return i(),u(a);if(r.isCancellationRequested||n)return u([]);try{let l=await Ee({...s,text:e.getValue(),model:e,position:t});if(l){let p=V(e,t,l),c=new o.Range(t.lineNumber,t.column,t.lineNumber,t.column),C=K(p,c,t,e);return k({completion:p,range:C,textBeforeCursorInLine:d(t,e)}),i(),u([{insertText:p,range:C}])}}catch(l){m(l,"FETCH_COMPLETION_ITEM_ERROR")}return u([])},oe=Te;var R=!1,M=!1,re=(o,e,t)=>{let r=[];try{let n=o.languages.registerInlineCompletionsProvider(t.language,{provideInlineCompletions:
|
|
54
|
+
`)),c.endsWith(".")?c:`${c}.`};var Ce="application/json",te=async({filename:o,endpoint:e,language:t,technologies:r,externalContext:n,model:i,position:s})=>{try{let{completion:a}=await y.POST(e,{completionMetadata:ge({filename:o,position:s,model:i,language:t,technologies:r,externalContext:n})},{headers:{"Content-Type":Ce},error:"Error while fetching completion item"});return a||null}catch(a){return m(a,"FETCH_COMPLETION_ITEM_ERROR"),null}},ge=({filename:o,position:e,model:t,language:r,technologies:n,externalContext:i})=>{let s=fe(e,t),a=g(e,t),l=b(e,t);return{filename:o,language:r,technologies:n,externalContext:i,textBeforeCursor:a,textAfterCursor:l,editorState:{completionMode:s}}},fe=(o,e)=>{let t=g(o,e),r=b(o,e);return t&&r?"fill-in-the-middle":"completion"};var O=class{constructor(e,t){if(!e)throw new Error("Groq API key is required to initialize Copilot.");this.apiKey=e,this.model=t?.model||H}async complete({completionMetadata:e}){try{let t=this.createRequestBody(e),r=this.createHeaders(),n=await y.POST(U,t,{headers:r});if(!n.choices?.length)throw new Error("No completion choices received from API");return{completion:n.choices[0].message.content}}catch(t){return m(t,"COPILOT_COMPLETION_FETCH_ERROR"),{error:"Failed to generate completion"}}}createRequestBody(e){return{...j,model:G[this.model],messages:[{role:"system",content:Z(e)},{role:"user",content:ee(e)}]}}createHeaders(){return{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"}}};var he=300,Ee=S(te,he),Te=async({monaco:o,model:e,position:t,token:r,isCompletionAccepted:n,onShowCompletion:i,options:s})=>{if(!new I(t,e).shouldProvideCompletions())return u([]);let a=q(t,e).map(l=>({insertText:l.completion,range:l.range}));if(a.length)return i(),u(a);if(r.isCancellationRequested||n)return u([]);try{let l=await Ee({...s,text:e.getValue(),model:e,position:t});if(l){let p=V(e,t,l),c=new o.Range(t.lineNumber,t.column,t.lineNumber,t.column),C=K(p,c,t,e);return k({completion:p,range:C,textBeforeCursorInLine:d(t,e)}),i(),u([{insertText:p,range:C}])}}catch(l){m(l,"FETCH_COMPLETION_ITEM_ERROR")}return u([])},oe=Te;var R=!1,M=!1,re=(o,e,t)=>{let r=[];try{let n=o.languages.registerInlineCompletionsProvider(t.language,{provideInlineCompletions:(s,a,l,p)=>oe({monaco:o,model:s,position:a,token:p,isCompletionAccepted:R,onShowCompletion:()=>M=!0,options:t}),freeInlineCompletions:w});r.push(n);let i=e.onKeyDown(s=>{let a=s.keyCode===o.KeyCode.Tab||s.keyCode===o.KeyCode.RightArrow&&s.metaKey;M&&a?(R=!0,M=!1):R=!1});return r.push(i),{deregister:()=>{r.forEach(s=>s.dispose()),F(),R=!1,M=!1}}}catch(n){return m(n,"REGISTER_COPILOT_ERROR"),{deregister:()=>r.forEach(i=>i.dispose())}}};0&&(module.exports={Copilot,registerCopilot});
|
package/build/index.mjs
CHANGED
|
@@ -51,4 +51,4 @@ Additional context from related files:
|
|
|
51
51
|
`,c+=a.map(C=>`// Path: ${C.path}
|
|
52
52
|
${C.content}
|
|
53
53
|
`).join(`
|
|
54
|
-
`)),c.endsWith(".")?c:`${c}.`};var se="application/json",ee=async({filename:o,endpoint:e,language:t,technologies:r,externalContext:i,model:n,position:s})=>{try{let{completion:a}=await y.POST(e,{completionMetadata:ae({filename:o,position:s,model:n,language:t,technologies:r,externalContext:i})},{headers:{"Content-Type":se},error:"Error while fetching completion item"});return a||null}catch(a){return m(a,"FETCH_COMPLETION_ITEM_ERROR"),null}},ae=({filename:o,position:e,model:t,language:r,technologies:i,externalContext:n})=>{let s=le(e,t),a=g(e,t),l=M(e,t);return{filename:o,language:r,technologies:i,externalContext:n,textBeforeCursor:a,textAfterCursor:l,editorState:{completionMode:s}}},le=(o,e)=>{let t=g(o,e),r=M(o,e);return t&&r?"fill-in-the-middle":"completion"};var N=class{constructor(e,t){if(!e)throw new Error("Groq API key is required to initialize Copilot.");this.apiKey=e,this.model=t?.model||G}async complete({completionMetadata:e}){try{let t=this.createRequestBody(e),r=this.createHeaders(),i=await y.POST(H,t,{headers:r});if(!i.choices?.length)throw new Error("No completion choices received from API");return{completion:i.choices[0].message.content}}catch(t){return m(t,"COPILOT_COMPLETION_FETCH_ERROR"),{error:"Failed to generate completion"}}}createRequestBody(e){return{...U,model:F[this.model],messages:[{role:"system",content:Q(e)},{role:"user",content:Z(e)}]}}createHeaders(){return{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"}}};var me=300,pe=w(ee,me),ce=async({monaco:o,model:e,position:t,token:r,isCompletionAccepted:i,onShowCompletion:n,options:s})=>{if(!new I(t,e).shouldProvideCompletions())return u([]);let a=D(t,e).map(l=>({insertText:l.completion,range:l.range}));if(a.length)return n(),u(a);if(r.isCancellationRequested||i)return u([]);try{let l=await pe({...s,text:e.getValue(),model:e,position:t});if(l){let p=K(e,t,l),c=new o.Range(t.lineNumber,t.column,t.lineNumber,t.column),C=z(p,c,t,e);return q({completion:p,range:C,textBeforeCursorInLine:d(t,e)}),n(),u([{insertText:p,range:C}])}}catch(l){m(l,"FETCH_COMPLETION_ITEM_ERROR")}return u([])},te=ce;var O=!1,R=!1,de=(o,e,t)=>{let r=[];try{let i=o.languages.registerInlineCompletionsProvider(t.language,{provideInlineCompletions:
|
|
54
|
+
`)),c.endsWith(".")?c:`${c}.`};var se="application/json",ee=async({filename:o,endpoint:e,language:t,technologies:r,externalContext:i,model:n,position:s})=>{try{let{completion:a}=await y.POST(e,{completionMetadata:ae({filename:o,position:s,model:n,language:t,technologies:r,externalContext:i})},{headers:{"Content-Type":se},error:"Error while fetching completion item"});return a||null}catch(a){return m(a,"FETCH_COMPLETION_ITEM_ERROR"),null}},ae=({filename:o,position:e,model:t,language:r,technologies:i,externalContext:n})=>{let s=le(e,t),a=g(e,t),l=M(e,t);return{filename:o,language:r,technologies:i,externalContext:n,textBeforeCursor:a,textAfterCursor:l,editorState:{completionMode:s}}},le=(o,e)=>{let t=g(o,e),r=M(o,e);return t&&r?"fill-in-the-middle":"completion"};var N=class{constructor(e,t){if(!e)throw new Error("Groq API key is required to initialize Copilot.");this.apiKey=e,this.model=t?.model||G}async complete({completionMetadata:e}){try{let t=this.createRequestBody(e),r=this.createHeaders(),i=await y.POST(H,t,{headers:r});if(!i.choices?.length)throw new Error("No completion choices received from API");return{completion:i.choices[0].message.content}}catch(t){return m(t,"COPILOT_COMPLETION_FETCH_ERROR"),{error:"Failed to generate completion"}}}createRequestBody(e){return{...U,model:F[this.model],messages:[{role:"system",content:Q(e)},{role:"user",content:Z(e)}]}}createHeaders(){return{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json"}}};var me=300,pe=w(ee,me),ce=async({monaco:o,model:e,position:t,token:r,isCompletionAccepted:i,onShowCompletion:n,options:s})=>{if(!new I(t,e).shouldProvideCompletions())return u([]);let a=D(t,e).map(l=>({insertText:l.completion,range:l.range}));if(a.length)return n(),u(a);if(r.isCancellationRequested||i)return u([]);try{let l=await pe({...s,text:e.getValue(),model:e,position:t});if(l){let p=K(e,t,l),c=new o.Range(t.lineNumber,t.column,t.lineNumber,t.column),C=z(p,c,t,e);return q({completion:p,range:C,textBeforeCursorInLine:d(t,e)}),n(),u([{insertText:p,range:C}])}}catch(l){m(l,"FETCH_COMPLETION_ITEM_ERROR")}return u([])},te=ce;var O=!1,R=!1,de=(o,e,t)=>{let r=[];try{let i=o.languages.registerInlineCompletionsProvider(t.language,{provideInlineCompletions:(s,a,l,p)=>te({monaco:o,model:s,position:a,token:p,isCompletionAccepted:O,onShowCompletion:()=>R=!0,options:t}),freeInlineCompletions:A});r.push(i);let n=e.onKeyDown(s=>{let a=s.keyCode===o.KeyCode.Tab||s.keyCode===o.KeyCode.RightArrow&&s.metaKey;R&&a?(O=!0,R=!1):O=!1});return r.push(n),{deregister:()=>{r.forEach(s=>s.dispose()),k(),O=!1,R=!1}}}catch(i){return m(i,"REGISTER_COPILOT_ERROR"),{deregister:()=>r.forEach(n=>n.dispose())}}};export{N as Copilot,de as registerCopilot};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monacopilot",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.11",
|
|
4
4
|
"description": "AI auto-completion for Monaco Editor",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"module": "./build/index.mjs",
|
|
@@ -23,26 +23,20 @@
|
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@ianvs/prettier-plugin-sort-imports": "^4.2.1",
|
|
25
25
|
"@types/node": "^20",
|
|
26
|
-
"@types/react": "^18.2.69",
|
|
27
|
-
"@types/react-dom": "^18.2.22",
|
|
28
26
|
"@typescript-eslint/eslint-plugin": "^7.3.1",
|
|
29
27
|
"eslint": "^8.57.0",
|
|
30
|
-
"eslint-plugin-react": "^7.34.1",
|
|
31
28
|
"groq-sdk": "^0.3.2",
|
|
32
29
|
"monaco-editor": "^0.50.0",
|
|
33
30
|
"prettier": "^3.2.5",
|
|
34
|
-
"react": "^18.2.0",
|
|
35
|
-
"react-dom": "^18.2.0",
|
|
36
31
|
"release-it": "^17.2.1",
|
|
37
32
|
"tsup": "^8.0.2",
|
|
38
33
|
"typescript": "^5.4.3"
|
|
39
34
|
},
|
|
40
35
|
"keywords": [
|
|
41
36
|
"monaco-editor",
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"ai-editor"
|
|
37
|
+
"ai",
|
|
38
|
+
"auto-completion",
|
|
39
|
+
"github-copilot"
|
|
46
40
|
],
|
|
47
41
|
"homepage": "https://monacopilot.vercel.app",
|
|
48
42
|
"repository": {
|