aicommit2 2.5.6 → 2.5.8
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/README.md +26 -0
- package/dist/ai.service-7cce5ee0.mjs +17 -0
- package/dist/{anthropic.service-68956862.mjs → anthropic.service-96c06fb4.mjs} +1 -1
- package/dist/{bedrock.service-9933a587.mjs → bedrock.service-c4a4966a.mjs} +1 -1
- package/dist/cli-0dd7e35c.mjs +273 -0
- package/dist/cli.mjs +1 -1
- package/dist/{codestral.service-0390f41e.mjs → codestral.service-87eb83a7.mjs} +1 -1
- package/dist/{cohere.service-7282793a.mjs → cohere.service-57428091.mjs} +1 -1
- package/dist/{deep-seek.service-689940ee.mjs → deep-seek.service-ddd3ae03.mjs} +1 -1
- package/dist/{gemini.service-595d667c.mjs → gemini.service-561a56c3.mjs} +1 -1
- package/dist/{github-models.service-a89f5f34.mjs → github-models.service-181c9920.mjs} +1 -1
- package/dist/{groq.service-41276877.mjs → groq.service-2d3c6f6f.mjs} +1 -1
- package/dist/{hugging-face.service-50193927.mjs → hugging-face.service-73d6cacd.mjs} +1 -1
- package/dist/{mistral.service-14601dd7.mjs → mistral.service-f1a0c8d4.mjs} +1 -1
- package/dist/{ollama.service-f01b8d7a.mjs → ollama.service-c7689836.mjs} +1 -1
- package/dist/{openai-compatible.service-d8949180.mjs → openai-compatible.service-0f3f1008.mjs} +1 -1
- package/dist/{openai-aca766eb.mjs → openai-f7aae8f3.mjs} +11 -10
- package/dist/{openai.service-f4ea1dc7.mjs → openai.service-cac0981d.mjs} +1 -1
- package/dist/openrouter.service-393bb505.mjs +1 -0
- package/dist/perplexity.service-6563c4f1.mjs +1 -0
- package/package.json +1 -1
- package/dist/ai.service-9119469d.mjs +0 -17
- package/dist/cli-c30dd603.mjs +0 -273
- package/dist/perplexity.service-c2894100.mjs +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import g from"chalk";import{concatMap as f,from as u,map as y,catchError as P}from"rxjs";import{fromPromise as x}from"rxjs/internal/observable/innerFrom";import{A as b,l as I,a as k,b as R,c as M,e as v,d as E}from"./ai.service-9119469d.mjs";import{D as N,b as S,g as D,H as $}from"./cli-c30dd603.mjs";import"fs";import"path";import"@pacote/xxhash";import"winston";import"cleye";import"module";import"crypto";import"os";import"node:buffer";import"node:path";import"node:child_process";import"node:process";import"child_process";import"node:url";import"node:os";import"assert";import"events";import"node:fs";import"buffer";import"stream";import"util";import"node:util";import"inquirer";import"fs/promises";import"readline";import"figlet";import"gradient-string";import"ora";import"inquirer-reactive-list-prompt";import"winston-daily-rotate-file";import"axios";import"url";import"node:fs/promises";import"chokidar";import"rxjs/operators";class O extends b{constructor(t){super(t),this.params=t,this.apiKey="",this.colors={primary:"#20808D",secondary:"#FFF"},this.serviceName=g.bgHex(this.colors.primary).hex(this.colors.secondary).bold("[Perplexity]"),this.errorPrefix=g.red.bold("[Perplexity]"),this.apiKey=this.params.config.key}getServiceSpecificErrorMessage(t){const e=t.message||"";return e.includes("API key")||e.includes("api_key")?"Invalid API key. Check your Perplexity API key in configuration":e.includes("rate_limit")||e.includes("Rate limit")?"Rate limit exceeded. Wait a moment and try again, or upgrade your Perplexity plan":e.includes("model")||e.includes("Model")?"Model not found or not accessible. Check if the Perplexity model name is correct":e.includes("overloaded")||e.includes("capacity")?"Perplexity service is overloaded. Try again in a few minutes":e.includes("403")||e.includes("Forbidden")?"Access denied. Your API key may not have permission for this Perplexity model":e.includes("404")||e.includes("Not Found")?"Model or endpoint not found. Check your Perplexity model configuration":e.includes("500")||e.includes("Internal Server Error")?"Perplexity server error. Try again later":null}generateCommitMessage$(){return x(this.generateMessage("commit")).pipe(f(t=>u(t)),y(this.formatAsChoice),P(this.handleError$))}generateCodeReview$(){return x(this.generateMessage("review")).pipe(f(t=>u(t)),y(this.formatCodeReviewAsChoice),P(this.handleError$))}extractJSONFromError(t){const e=/[{[]{1}([,:{}[\]0-9.\-+Eaeflnr-u \n\r\t]|".*?")+[}\]]{1}/gis,r=t.match(e);return r?Object.assign({},...r.map(o=>JSON.parse(o))):{error:{message:"Unknown error"}}}async generateMessage(t){const e=this.params.stagedDiff.diff,{systemPrompt:r,systemPromptPath:o,codeReviewPromptPath:s,logging:n,locale:m,generate:a,type:c,maxLength:l}=this.params.config,i={...N,locale:m,maxLength:l,type:c,generate:a,systemPrompt:r,systemPromptPath:o,codeReviewPromptPath:s,vcs_branch:this.params.branchName||""},h=t==="review"?S(i):D(i),p=`Here is the diff: ${e}`,A=`${this.params.config.url||"https://api.perplexity.ai"}/chat/completions`,C={Authorization:`Bearer ${this.apiKey}`,"content-type":"application/json"};I(e,t,"Perplexity",this.params.config.model,A,C,n),k(e,t,"Perplexity",h,p,n);const d=await this.createChatCompletions(h,p,t);return t==="review"?this.parseCodeReview(d):this.parseMessage(d,c,a)}async createChatCompletions(t,e,r){const o=this.params.stagedDiff.diff,{logging:s}=this.params.config,n={model:this.params.config.model,messages:[{role:"system",content:t},{role:"user",content:e}],temperature:this.params.config.temperature,top_p:this.params.config.topP,max_tokens:this.params.config.maxTokens,stream:!1};R(o,r,"Perplexity",n,s);const m=Date.now();try{const a=this.params.config.url||"https://api.perplexity.ai",c=await new $({method:"POST",baseURL:`${a}/chat/completions`,timeout:this.params.config.timeout}).setHeaders({Authorization:`Bearer ${this.apiKey}`,"content-type":"application/json"}).setBody(n).execute(),l=Date.now()-m,i=c.data;if(M(o,r,"Perplexity",i,s),!i.choices||i.choices.length===0||!i.choices[0].message?.content)throw v(o,r,"Perplexity",{message:"No Content on response",result:i},s),new Error("No Content on response. Please open a Bug report");const p=i.choices[0].message.content;return E(o,r,"Perplexity",l,p,s),p}catch(a){throw v(o,r,"Perplexity",a,s),a}}}export{O as PerplexityService};
|