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 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` prop).
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` prop).
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:async(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});
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:async(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};
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.10",
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
- "react-monaco-editor",
43
- "ai-monaco-editor",
44
- "monacopilot",
45
- "ai-editor"
37
+ "ai",
38
+ "auto-completion",
39
+ "github-copilot"
46
40
  ],
47
41
  "homepage": "https://monacopilot.vercel.app",
48
42
  "repository": {