@mcarvin/smart-diff 2.3.2 → 3.0.0
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 +42 -8
- package/dist/index.cjs +85 -37
- package/dist/index.cjs.map +1 -1
- package/dist/index.min.cjs +1 -1
- package/dist/index.min.cjs.map +1 -1
- package/dist/index.min.mjs +1 -1
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.min.umd.js +1 -1
- package/dist/index.min.umd.js.map +1 -1
- package/dist/index.mjs +86 -38
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +87 -40
- package/dist/index.umd.js.map +1 -1
- package/dist/typings/git/diffNumstatParse.d.ts +1 -0
- package/dist/typings/git/diffTypes.d.ts +1 -0
- package/dist/typings/git/gitDiff.d.ts +1 -0
- package/dist/typings/git/gitDiffOps.d.ts +9 -7
- package/dist/typings/index.d.ts +3 -3
- package/package.json +4 -6
package/dist/index.min.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("ai"),require("node:path"),require("simple-git")):"function"==typeof define&&define.amd?define(["exports","ai","node:path","simple-git"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).jsTemplate={},e.ai,e.node_path,e.simpleGit)}(this,function(e,t,n,i){"use strict";function o(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{l(i.next(e))}catch(e){r(e)}}function a(e){try{l(i.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,a)}l((i=i.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;const r='You are a senior software engineer helping developers understand code and configuration changes from the git context they supplied.\nYou receive: commit subject lines (when available), changed file paths, and unified git patch(es)—either one range diff or concatenated per-commit patches, depending on how the diff was produced. Patches may be truncated mid-section with an explicit marker—do not infer changes beyond visible lines.\nExplain what changed in terms of behavior, APIs, data, configuration, security, and operational risk. Tie claims to the patch when possible.\nProduce a concise, developer-focused summary in Markdown.\nUse sections that fit the change (for example: Highlights, Breaking or risky changes, API / contract changes, Data & schema, Configuration & infra, Security & auth, Tests & quality). Omit empty sections.\nGroup related changes; do not list every individual file. When multiple commits appear in the context, briefly separate notable themes by commit when helpful.\nIf the user message includes a Team line, use that exact team name in the summary title (for example: "## <Team> – Change summary" or similar).',s="No LLM provider configured. Set LLM_PROVIDER (openai | openai-compatible | anthropic | google | bedrock | mistral | cohere | groq | xai | deepseek), or a provider API key (OPENAI_API_KEY, LLM_API_KEY, ANTHROPIC_API_KEY, GOOGLE_GENERATIVE_AI_API_KEY, MISTRAL_API_KEY, COHERE_API_KEY, GROQ_API_KEY, XAI_API_KEY, DEEPSEEK_API_KEY), or LLM_BASE_URL / OPENAI_BASE_URL for an OpenAI-compatible gateway, or JSON in OPENAI_DEFAULT_HEADERS / LLM_DEFAULT_HEADERS. Alternatively pass llmModelProvider to generateSummary or summarizeGitDiff.",a={openai:"gpt-4o-mini","openai-compatible":"gpt-4o-mini",anthropic:"claude-3-5-haiku-latest",google:"gemini-2.0-flash",bedrock:"anthropic.claude-3-5-haiku-20241022-v1:0",mistral:"mistral-small-latest",cohere:"command-r-08-2024",groq:"llama-3.1-8b-instant",xai:"grok-2-latest",deepseek:"deepseek-chat"},l=new Set(["openai","openai-compatible","anthropic","google","bedrock","mistral","cohere","groq","xai","deepseek"]);function d(e){var t;const n=null===(t=process.env[e])||void 0===t?void 0:t.trim();return n&&n.length>0?n:void 0}function c(){var e;return null!==(e=d("LLM_BASE_URL"))&&void 0!==e?e:d("OPENAI_BASE_URL")}function u(e){const t=null==e?void 0:e.trim();if(!t)return{};try{const e=JSON.parse(t);if("object"!=typeof e||null===e||Array.isArray(e))return{};const n={};for(const[t,i]of Object.entries(e))"string"==typeof i&&i.length>0&&(n[t]=i);return n}catch(e){return{}}}function f(){const e=u(process.env.OPENAI_DEFAULT_HEADERS),t=u(process.env.LLM_DEFAULT_HEADERS),n=Object.assign(Object.assign({},e),t);return Object.keys(n).length>0?n:void 0}function m(){var e;return null!==(e=d("LLM_API_KEY"))&&void 0!==e?e:d("OPENAI_API_KEY")}function p(){var e,t;const n=null===(e=d("LLM_PROVIDER"))||void 0===e?void 0:e.toLowerCase();return n&&(i=n,l.has(i))?n:c()?"openai-compatible":m()?"openai":d("ANTHROPIC_API_KEY")?"anthropic":(null!==(t=d("GOOGLE_GENERATIVE_AI_API_KEY"))&&void 0!==t?t:d("GOOGLE_API_KEY"))?"google":d("MISTRAL_API_KEY")?"mistral":d("COHERE_API_KEY")?"cohere":d("GROQ_API_KEY")?"groq":d("XAI_API_KEY")?"xai":d("DEEPSEEK_API_KEY")?"deepseek":f()?"openai":void 0;var i}function h(){return void 0!==p()}function g(e){return a[e]}function v(e,t,n){return o(this,void 0,void 0,function*(){try{return yield n()}catch(n){throw function(e){const t=new Error(`Failed to load optional provider package "${e.pkg}" for LLM_PROVIDER="${e.provider}". Install it with \`npm install ${e.pkg}\`.`);return t.cause=e.cause,t}({provider:e,pkg:t,cause:n})}})}function E(){return o(this,arguments,void 0,function*(e={}){var t,n,i;const r=null!==(t=e.provider)&&void 0!==t?t:p();if(!r)throw new Error("No LLM provider could be resolved. Set LLM_PROVIDER or a provider API key (OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_GENERATIVE_AI_API_KEY, MISTRAL_API_KEY, COHERE_API_KEY, GROQ_API_KEY, XAI_API_KEY, DEEPSEEK_API_KEY), or LLM_BASE_URL for an OpenAI-compatible gateway.");const s=null!==(i=null!==(n=e.model)&&void 0!==n?n:d("LLM_MODEL"))&&void 0!==i?i:g(r);switch(r){case"openai":return function(e){return o(this,void 0,void 0,function*(){const{createOpenAI:t}=yield import("@ai-sdk/openai"),n=m(),i=f();return t(Object.assign(Object.assign({},n?{apiKey:n}:{}),i?{headers:i}:{}))(e)})}(s);case"openai-compatible":return function(e){return o(this,void 0,void 0,function*(){var t;const{createOpenAICompatible:n}=yield import("@ai-sdk/openai-compatible"),i=c();if(!i)throw new Error("openai-compatible provider requires LLM_BASE_URL or OPENAI_BASE_URL to be set.");const o=m(),r=f();return n(Object.assign(Object.assign({name:null!==(t=d("LLM_PROVIDER_NAME"))&&void 0!==t?t:"openai-compatible",baseURL:i},o?{apiKey:o}:{}),r?{headers:r}:{}))(e)})}(s);case"anthropic":return function(e){return o(this,void 0,void 0,function*(){const t=yield v("anthropic","@ai-sdk/anthropic",()=>import("@ai-sdk/anthropic")),n=d("ANTHROPIC_API_KEY");return t.createAnthropic(n?{apiKey:n}:void 0)(e)})}(s);case"google":return function(e){return o(this,void 0,void 0,function*(){var t;const n=yield v("google","@ai-sdk/google",()=>import("@ai-sdk/google")),i=null!==(t=d("GOOGLE_GENERATIVE_AI_API_KEY"))&&void 0!==t?t:d("GOOGLE_API_KEY");return n.createGoogleGenerativeAI(i?{apiKey:i}:void 0)(e)})}(s);case"bedrock":return function(e){return o(this,void 0,void 0,function*(){return(yield v("bedrock","@ai-sdk/amazon-bedrock",()=>import("@ai-sdk/amazon-bedrock"))).createAmazonBedrock()(e)})}(s);case"mistral":return function(e){return o(this,void 0,void 0,function*(){const t=yield v("mistral","@ai-sdk/mistral",()=>import("@ai-sdk/mistral")),n=d("MISTRAL_API_KEY");return t.createMistral(n?{apiKey:n}:void 0)(e)})}(s);case"cohere":return function(e){return o(this,void 0,void 0,function*(){const t=yield v("cohere","@ai-sdk/cohere",()=>import("@ai-sdk/cohere")),n=d("COHERE_API_KEY");return t.createCohere(n?{apiKey:n}:void 0)(e)})}(s);case"groq":return function(e){return o(this,void 0,void 0,function*(){const t=yield v("groq","@ai-sdk/groq",()=>import("@ai-sdk/groq")),n=d("GROQ_API_KEY");return t.createGroq(n?{apiKey:n}:void 0)(e)})}(s);case"xai":return function(e){return o(this,void 0,void 0,function*(){const t=yield v("xai","@ai-sdk/xai",()=>import("@ai-sdk/xai")),n=d("XAI_API_KEY");return t.createXai(n?{apiKey:n}:void 0)(e)})}(s);case"deepseek":return function(e){return o(this,void 0,void 0,function*(){const t=yield v("deepseek","@ai-sdk/deepseek",()=>import("@ai-sdk/deepseek")),n=d("DEEPSEEK_API_KEY");return t.createDeepSeek(n?{apiKey:n}:void 0)(e)})}(s);default:throw new Error(`Unhandled LLM provider: ${String(r)}`)}})}function _(e){var t,n;if(void 0!==e&&Number.isFinite(e)&&e>0)return Math.trunc(e);const i=(null===(t=process.env.LLM_MAX_DIFF_CHARS)||void 0===t?void 0:t.trim())||(null===(n=process.env.OPENAI_MAX_DIFF_CHARS)||void 0===n?void 0:n.trim());if(i){const e=Number.parseInt(i,10);if(Number.isFinite(e)&&e>0)return e}return 12e4}function y(e,t){if(e.length<=t)return e;const n=`\n\n--- TRUNCATED: unified diff was ${e.length} characters; only the first ${t} were sent. Narrow the ref range, adjust commit/path filters, or raise maxDiffChars / LLM_MAX_DIFF_CHARS only if your model context allows. ---\n`;return e.slice(0,t)+n}function A(e){return o(this,void 0,void 0,function*(){var n;const{diffText:i,fileNames:a,commits:l,flags:d,llmModelProvider:c,diffSummary:u}=e;if(!c&&!h())throw new Error(s);const f=_(d.maxDiffChars),m=i.length>f,p=function(e,t,n,i,o){var r,s;const a=e.from,l=null!==(r=e.to)&&void 0!==r?r:"HEAD",d=null===(s=e.team)||void 0===s?void 0:s.trim(),c=(new Date).toISOString(),u=d?`Team: ${d}\n`:"",f=function(e){var t,n;const i=(null!==(t=e.commitMessageIncludeRegexes)&&void 0!==t?t:[]).map(e=>e.trim()).filter(Boolean),o=(null!==(n=e.commitMessageExcludeRegexes)&&void 0!==n?n:[]).map(e=>e.trim()).filter(Boolean),r=i.length>0?`Commit message include regexes (OR): ${i.map(e=>JSON.stringify(e)).join(", ")}\n`:"",s=o.length>0?`Commit message exclude regexes: ${o.map(e=>JSON.stringify(e)).join(", ")}\n`:"";if(!r&&!s)return"Commit message filters: none.\nGit context shape: single unified diff for the full ref range.\n";return`${r}${s}Git context shape: concatenated per-commit unified patches for commits that pass the message filters.\n`}(e),m=t.length>0?t.map(e=>`- ${e.hash.slice(0,7)} ${e.message.replace(/\r?\n/g," ")}`).join("\n"):"- (no commits in range after filtering)",p=n.length>0?n.join("\n"):"(no paths in diff scope)",h=o?`=== Structured git context (JSON summary) ===\n${JSON.stringify(o,null,2)}\n\n`:"";return`${u}Date: ${c}\n\nGit refs: ${a}..${l}\n`+f+"\n=== Included commits (subject lines) ===\n"+`${m}\n\n=== Changed paths ===\n`+`${p}\n\n`+h+"=== Git context (unified diff(s); patches may be truncated with an explicit marker) ===\n"+i}(d,l,a,y(i,f),u),g=null!==(n=d.systemPrompt)&&void 0!==n?n:r,v=function(){var e;const t=null!==(e=process.env.LLM_MAX_TOKENS)&&void 0!==e?e:process.env.OPENAI_MAX_TOKENS,n=void 0!==t?Number.parseInt(t,10):4e3;return Number.isFinite(n)&&n>0?n:4e3}(),A=yield function(e,n,i,r,s){return o(this,void 0,void 0,function*(){const o=r?yield r():yield E(Object.assign(Object.assign({},s.provider?{provider:s.provider}:{}),s.model?{model:s.model}:{})),a=(yield t.generateText({model:o,system:n,prompt:e,temperature:.2,maxOutputTokens:i})).text.trim();return a.length>0?a:"No summary generated by the model."})}(p,g,v,c,d);return m?`> **Truncated diff:** The unified diff was ${i.length} characters; only the first ${f} were sent to the model. The summary may not reflect the full change set. Narrow the ref range, adjust path filters, or raise \`maxDiffChars\` / \`LLM_MAX_DIFF_CHARS\`—often together with switching to a model whose context window can fit a larger prompt.\n\n`+A:A})}function P(e){const t=e.trim().replace(/\\/g,"/").replace(/^\/+/,"").replace(/\/+$/,"");return t.length>0?t:"."}function I(e,t){const i=n.resolve(e,t);if(n.relative(e,i).split(/[/\\]/).includes(".."))throw new Error(`Path escapes repository root: ${JSON.stringify(t)}`)}function L(e,t){var n,i,o,r;const s=null!==(i=null===(n=null==t?void 0:t.includeFolders)||void 0===n?void 0:n.filter(e=>e.trim().length>0))&&void 0!==i?i:[],a=null!==(r=null===(o=null==t?void 0:t.excludeFolders)||void 0===o?void 0:o.filter(e=>e.trim().length>0))&&void 0!==r?r:[],l=s.map(P).filter(e=>"."!==e&&""!==e),d=a.map(P).filter(e=>"."!==e&&""!==e),c=l.length>0?l:["."];for(const t of c)I(e,t);for(const t of d)I(e,t);const u=[];if(0===l.length)u.push(".");else for(const e of l)u.push(e);for(const e of d)u.push(`:(exclude)${e}`);return u}function x(e,t){try{return new RegExp(e,"i")}catch(n){throw new Error(`Invalid ${t} regular expression: ${JSON.stringify(e)}`)}}function O(e,t,n){const i=(null!=t?t:[]).map(e=>e.trim()).filter(e=>e.length>0),o=(null!=n?n:[]).map(e=>e.trim()).filter(e=>e.length>0),r=i.map((e,t)=>x(e,`commit message include pattern[${t}]`)),s=o.map((e,t)=>x(e,`commit message exclude pattern[${t}]`));return e.filter(e=>function(e,t,n){for(const t of n)if(t.test(e))return!1;return!(t.length>0&&!t.some(t=>t.test(e)))}(e.message,r,s))}const k=["package-lock.json","yarn.lock","pnpm-lock.yaml","npm-shrinkwrap.json","bun.lockb","go.sum","Cargo.lock","Gemfile.lock","composer.lock","Pipfile.lock","poetry.lock","uv.lock","Podfile.lock","node_modules","dist","build","out","coverage","__snapshots__"];function b(e){return!Number.isFinite(e)||e<0?0:Math.trunc(e)}function R(e){const t=[];return void 0!==(null==e?void 0:e.contextLines)&&t.push(`-U${b(e.contextLines)}`),(null==e?void 0:e.ignoreWhitespace)&&t.push("-w"),t}const w=["diff --git ","index ","new file mode ","deleted file mode ","old mode ","new mode ","similarity index ","dissimilarity index ","rename from ","rename to ","copy from ","copy to "];function M(e){return e.split(/\r?\n/).filter(e=>!function(e){for(const t of w)if(e.startsWith(t))return!0;return!1}(e)).join("\n")}function S(e){return/^--- (a\/|b\/|"a\/|"b\/|\/dev\/null)/.test(e)||/^\+\+\+ (a\/|b\/|"a\/|"b\/|\/dev\/null)/.test(e)}function D(e,t){if(!(null==t?void 0:t.stripDiffPreamble)&&void 0===(null==t?void 0:t.maxHunkLines))return e;let n=e;return t.stripDiffPreamble&&(n=M(n)),void 0!==t.maxHunkLines&&(n=function(e,t){const n=b(t),i=e.split(/\r?\n/),o=[];let r=!1,s=[];const a=()=>{if(s.length>n){const e=s.length-n;o.push(...s.slice(0,n)),o.push(`[... ${e} diff line${1===e?"":"s"} elided ...]`)}else o.push(...s);s=[],r=!1};for(const e of i)e.startsWith("@@")?(r&&a(),o.push(e),r=!0):e.startsWith("diff --git ")||S(e)?(r&&a(),o.push(e)):r?s.push(e):o.push(e);return r&&a(),o.join("\n")}(n,t.maxHunkLines)),n}const $={A:"added",D:"deleted",R:"renamed",C:"copied",T:"type-changed",M:"modified"};function K(e){var t;return null!==(t=$[e.charAt(0)])&&void 0!==t?t:"unknown"}function N(e,t){if(e===t)return e;const n=["deleted","added","renamed","copied","type-changed","modified","unknown"];return n.indexOf(e)<=n.indexOf(t)?e:t}function T(e){const t=e.split("\t");let n=null;if(t.length>=2){const e=t[0],i=K(e),o=e.startsWith("R")||e.startsWith("C");o&&t.length>=3?n={path:t[2],status:i,oldPath:t[1]}:o||(n={path:t[1],status:i})}return n}function C(e){const t=e.split("\t");if(t.length<3)return null;const n=t[0],i=t[1],o=t.slice(2).join("\t"),r="-"!==n&&Number.parseInt(n,10)||0,s="-"!==i&&Number.parseInt(i,10)||0,a=function(e){const t=/^(.*?)\{(.+?) => (.+?)\}(.*)$/.exec(e);return t?`${t[1]}${t[3].trim()}${t[4]}`:e}(o);return{key:a,additions:r,deletions:s}}function Y(e){const t=e.split("\t");if(t.length<3)return null;const n=K(t.shift()),i=t[0],o=t[1],r=i&&"-"!==i&&Number.parseInt(i,10)||0,s=o&&"-"!==o&&Number.parseInt(o,10)||0;return 3===t.length?{status:n,additions:r,deletions:s,newPath:t[2]}:4===t.length?{status:n,additions:r,deletions:s,oldPath:t[2],newPath:t[3]}:null}function G(e,t){var n,i;const{newPath:o,status:r,additions:s,deletions:a,oldPath:l}=t,d=e.get(o);d?(d.additions+=s,d.deletions+=a,d.status=N(d.status,r),l&&(d.oldPath=null!==(n=d.oldPath)&&void 0!==n?n:l),d.newPath=null!==(i=d.newPath)&&void 0!==i?i:o):e.set(o,{path:o,status:r,additions:s,deletions:a,oldPath:l,newPath:l?o:void 0})}const F={added:"A",deleted:"D",renamed:"R100",copied:"C100","type-changed":"T",modified:"M",unknown:"X"};function j(e,t){const n=(i=e.status,F[i]);var i;return e.oldPath?`${n}\t${t.additions}\t${t.deletions}\t${e.oldPath}\t${e.path}`:`${n}\t${t.additions}\t${t.deletions}\t${e.path}`}function H(e,t){var n;const i=new Map;!function(e,t){var n;for(const i of e.split(/\r?\n/)){const e=i.trim();if(!e)continue;const o=C(e);if(!o)continue;const r=null!==(n=t.get(o.key))&&void 0!==n?n:{additions:0,deletions:0};t.set(o.key,{additions:r.additions+o.additions,deletions:r.deletions+o.deletions})}}(t,i);const o=function(e){var t;const n=new Map;for(const i of e){const e=n.get(i.path);e?(e.status=N(e.status,i.status),i.oldPath&&(e.oldPath=null!==(t=e.oldPath)&&void 0!==t?t:i.oldPath)):n.set(i.path,Object.assign({},i))}return n}(function(e){const t=[];for(const n of e.split(/\r?\n/)){const e=n.trim();if(!e)continue;const i=T(e);i&&t.push(i)}return t}(e)),r=[];for(const[e,t]of o){const o=null!==(n=i.get(e))&&void 0!==n?n:{additions:0,deletions:0};r.push(j(t,o))}return function(e){const t=new Map;for(const n of e.split(/\r?\n/)){const e=n.trim();if(!e)continue;const i=Y(e);i&&G(t,i)}const n=Array.from(t.values());return{files:n,totalFiles:n.length,totalAdditions:n.reduce((e,t)=>e+t.additions,0),totalDeletions:n.reduce((e,t)=>e+t.deletions,0)}}(r.join("\n"))}function U(e=process.cwd()){return i.simpleGit(e)}function B(e,t,n){return o(this,void 0,void 0,function*(){return(yield e.log({from:t,to:n})).all})}function q(e){return o(this,void 0,void 0,function*(){return(yield e.revparse(["--show-toplevel"])).trim()})}function X(e,t,n){return o(this,void 0,void 0,function*(){const i=null!=n?n:yield q(e);return{repoRoot:i,specs:L(i,t)}})}function W(e,t){return o(this,void 0,void 0,function*(){const{from:n,to:i,commits:o,filterByCommits:r,pathFilter:s,repoRootOverride:a,shaping:l}=t,{specs:d}=yield X(e,s,a),c=R(l);if(!r){return D(yield e.diff([...c,`${n}..${i}`,"--",...d]),l)}return(yield Promise.all(o.map(t=>e.diff([...c,`${t.hash}^!`,"--",...d])))).map(e=>D(e,l)).filter(Boolean).join("\n")})}function V(e,t){return o(this,void 0,void 0,function*(){const{from:n,to:i,commits:r,filterByCommits:s,pathFilter:a,repoRootOverride:l,shaping:d}=t,{specs:c}=yield X(e,a,l),u=(null==d?void 0:d.ignoreWhitespace)?["-w"]:[];if(!s){const[t,o]=yield Promise.all([e.diff([...u,"--numstat",`${n}..${i}`,"--",...c]),e.diff([...u,"--name-status",`${n}..${i}`,"--",...c])]);return H(o,t)}const f=yield Promise.all(r.map(t=>o(this,void 0,void 0,function*(){const n=`${t.hash}^!`,[i,o]=yield Promise.all([e.diff([...u,"--numstat",n,"--",...c]),e.diff([...u,"--name-status",n,"--",...c])]);return{numOutput:i,nameOutput:o}})));return H(f.map(e=>e.nameOutput).filter(Boolean).join("\n"),f.map(e=>e.numOutput).filter(Boolean).join("\n"))})}function J(e,t){return o(this,void 0,void 0,function*(){const{from:n,to:i,commits:r,filterByCommits:s,pathFilter:a,repoRootOverride:l}=t,{specs:d}=yield X(e,a,l);if(!s){return(yield e.diff(["--name-only",`${n}..${i}`,"--",...d])).split(/\r?\n/).map(e=>e.trim()).filter(Boolean)}const c=new Set;return yield Promise.all(r.map(t=>o(this,void 0,void 0,function*(){(yield e.show(["--name-only","--pretty=format:",t.hash,"--",...d])).split(/\r?\n/).map(e=>e.trim()).filter(Boolean).forEach(e=>c.add(e))}))),Array.from(c)})}function z(e){return(null!=e?e:[]).some(e=>e.trim().length>0)}e.DEFAULT_GIT_DIFF_SYSTEM_PROMPT=r,e.DEFAULT_NOISE_EXCLUDES=k,e.LLM_GATEWAY_REQUIRED_MESSAGE=s,e.buildDiffPathspecs=L,e.buildDiffShapingGitArgs=R,e.createGitClient=U,e.defaultModelForProvider=g,e.detectLlmProvider=p,e.filterCommitsByMessageRegexes=O,e.generateSummary=A,e.getChangedFiles=J,e.getCommits=B,e.getDiff=W,e.getDiffSummary=V,e.getRepoRoot=q,e.isLlmProviderConfigured=h,e.parseLlmDefaultHeadersFromEnv=f,e.resolveLanguageModel=E,e.resolveLlmBaseUrl=c,e.resolveLlmMaxDiffChars=_,e.shapeUnifiedDiff=D,e.summarizeGitDiff=function(e){return o(this,void 0,void 0,function*(){var t,n;const i=null!==(t=e.git)&&void 0!==t?t:U(e.cwd),o=e.from,r=null!==(n=e.to)&&void 0!==n?n:"HEAD",s=function(e){var t;const n=null!==(t=e.excludeFolders)&&void 0!==t?t:[];if(!e.excludeDefaultNoise)return n.length>0?n:void 0;const i=new Set,o=[];for(const e of[...k,...n]){const t=e.trim();t&&!i.has(t)&&(i.add(t),o.push(e))}return o}(e),a=z(e.includeFolders)||z(s)?{includeFolders:e.includeFolders,excludeFolders:s}:void 0,l=yield B(i,o,r),d=O(l,e.commitMessageIncludeRegexes,e.commitMessageExcludeRegexes),c=function(e,t,n){return!(!z(n.commitMessageIncludeRegexes)&&!z(n.commitMessageExcludeRegexes))||t.length!==e.length}(l,d,e),u=function(e){const t={};return void 0!==e.contextLines&&(t.contextLines=e.contextLines),e.ignoreWhitespace&&(t.ignoreWhitespace=!0),e.stripDiffPreamble&&(t.stripDiffPreamble=!0),void 0!==e.maxHunkLines&&(t.maxHunkLines=e.maxHunkLines),Object.keys(t).length>0?t:void 0}(e),f={from:o,to:r,commits:d,filterByCommits:c,pathFilter:a,shaping:u},[m,p,h]=yield Promise.all([W(i,f),J(i,f),V(i,f)]);return A({diffText:m,fileNames:p,commits:d,flags:{from:o,to:r,team:e.teamName,model:e.model,provider:e.provider,maxDiffChars:e.maxDiffChars,systemPrompt:e.systemPrompt,commitMessageIncludeRegexes:e.commitMessageIncludeRegexes,commitMessageExcludeRegexes:e.commitMessageExcludeRegexes},llmModelProvider:e.llmModelProvider,diffSummary:h})})},e.truncateUnifiedDiffForLlm=y});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("ai"),require("node:path"),require("node:child_process"),require("node:util")):"function"==typeof define&&define.amd?define(["exports","ai","node:path","node:child_process","node:util"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).jsTemplate={},e.ai,e.node_path,e.node_child_process,e.node_util)}(this,function(e,t,n,i,o){"use strict";function r(e,t,n,i){return new(n||(n=Promise))(function(o,r){function s(e){try{l(i.next(e))}catch(e){r(e)}}function a(e){try{l(i.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,a)}l((i=i.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;const s='You are a senior software engineer helping developers understand code and configuration changes from the git context they supplied.\nYou receive: commit subject lines (when available), changed file paths, and unified git patch(es)—either one range diff or concatenated per-commit patches, depending on how the diff was produced. Patches may be truncated mid-section with an explicit marker—do not infer changes beyond visible lines.\nExplain what changed in terms of behavior, APIs, data, configuration, security, and operational risk. Tie claims to the patch when possible.\nProduce a concise, developer-focused summary in Markdown.\nUse sections that fit the change (for example: Highlights, Breaking or risky changes, API / contract changes, Data & schema, Configuration & infra, Security & auth, Tests & quality). Omit empty sections.\nGroup related changes; do not list every individual file. When multiple commits appear in the context, briefly separate notable themes by commit when helpful.\nIf the user message includes a Team line, use that exact team name in the summary title (for example: "## <Team> – Change summary" or similar).',a="No LLM provider configured. Set LLM_PROVIDER (openai | openai-compatible | anthropic | google | bedrock | mistral | cohere | groq | xai | deepseek), or a provider API key (OPENAI_API_KEY, LLM_API_KEY, ANTHROPIC_API_KEY, GOOGLE_GENERATIVE_AI_API_KEY, MISTRAL_API_KEY, COHERE_API_KEY, GROQ_API_KEY, XAI_API_KEY, DEEPSEEK_API_KEY), or LLM_BASE_URL / OPENAI_BASE_URL for an OpenAI-compatible gateway, or JSON in OPENAI_DEFAULT_HEADERS / LLM_DEFAULT_HEADERS. Alternatively pass llmModelProvider to generateSummary or summarizeGitDiff.",l={openai:"gpt-4o-mini","openai-compatible":"gpt-4o-mini",anthropic:"claude-haiku-4-5-20251001",google:"gemini-2.0-flash",bedrock:"anthropic.claude-3-5-haiku-20241022-v1:0",mistral:"mistral-small-latest",cohere:"command-r-08-2024",groq:"llama-3.1-8b-instant",xai:"grok-2-latest",deepseek:"deepseek-chat"},d=new Set(["openai","openai-compatible","anthropic","google","bedrock","mistral","cohere","groq","xai","deepseek"]);function c(e){var t;const n=null===(t=process.env[e])||void 0===t?void 0:t.trim();return n&&n.length>0?n:void 0}function u(){var e;return null!==(e=c("LLM_BASE_URL"))&&void 0!==e?e:c("OPENAI_BASE_URL")}function f(e){const t=null==e?void 0:e.trim();if(!t)return{};try{const e=JSON.parse(t);if("object"!=typeof e||null===e||Array.isArray(e))return{};const n={};for(const[t,i]of Object.entries(e))"string"==typeof i&&i.length>0&&(n[t]=i);return n}catch(e){return{}}}function m(){const e=f(process.env.OPENAI_DEFAULT_HEADERS),t=f(process.env.LLM_DEFAULT_HEADERS),n=Object.assign(Object.assign({},e),t);return Object.keys(n).length>0?n:void 0}function p(){var e;return null!==(e=c("LLM_API_KEY"))&&void 0!==e?e:c("OPENAI_API_KEY")}function h(){var e,t,n;const i=null===(e=c("LLM_PROVIDER"))||void 0===e?void 0:e.toLowerCase();return i&&(o=i,d.has(o))?i:u()?"openai-compatible":p()?"openai":c("ANTHROPIC_API_KEY")?"anthropic":(null!==(t=c("GOOGLE_GENERATIVE_AI_API_KEY"))&&void 0!==t?t:c("GOOGLE_API_KEY"))?"google":c("MISTRAL_API_KEY")?"mistral":c("COHERE_API_KEY")?"cohere":c("GROQ_API_KEY")?"groq":c("XAI_API_KEY")?"xai":c("DEEPSEEK_API_KEY")?"deepseek":(null!==(n=c("AWS_ACCESS_KEY_ID"))&&void 0!==n?n:c("AWS_PROFILE"))?"bedrock":m()?"openai":void 0;var o}function v(){return void 0!==h()}function g(e){return l[e]}function E(e,t,n){return r(this,void 0,void 0,function*(){try{return yield n()}catch(n){throw function(e){const t=new Error(`Failed to load optional provider package "${e.pkg}" for LLM_PROVIDER="${e.provider}". Install it with \`npm install ${e.pkg}\`.`);return t.cause=e.cause,t}({provider:e,pkg:t,cause:n})}})}function _(){return r(this,arguments,void 0,function*(e={}){var t,n,i;const o=null!==(t=e.provider)&&void 0!==t?t:h();if(!o)throw new Error("No LLM provider could be resolved. Set LLM_PROVIDER or a provider API key (OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_GENERATIVE_AI_API_KEY, MISTRAL_API_KEY, COHERE_API_KEY, GROQ_API_KEY, XAI_API_KEY, DEEPSEEK_API_KEY), or LLM_BASE_URL for an OpenAI-compatible gateway.");const s=null!==(i=null!==(n=e.model)&&void 0!==n?n:c("LLM_MODEL"))&&void 0!==i?i:g(o);switch(o){case"openai":return function(e){return r(this,void 0,void 0,function*(){const t=yield E("openai","@ai-sdk/openai",()=>import("@ai-sdk/openai")),n=p(),i=m();return t.createOpenAI(Object.assign(Object.assign({},n?{apiKey:n}:{}),i?{headers:i}:{}))(e)})}(s);case"openai-compatible":return function(e){return r(this,void 0,void 0,function*(){var t;const{createOpenAICompatible:n}=yield E("openai-compatible","@ai-sdk/openai-compatible",()=>import("@ai-sdk/openai-compatible")),i=u();if(!i)throw new Error("openai-compatible provider requires LLM_BASE_URL or OPENAI_BASE_URL to be set.");const o=p(),r=m();return n(Object.assign(Object.assign({name:null!==(t=c("LLM_PROVIDER_NAME"))&&void 0!==t?t:"openai-compatible",baseURL:i},o?{apiKey:o}:{}),r?{headers:r}:{}))(e)})}(s);case"anthropic":return function(e){return r(this,void 0,void 0,function*(){const t=yield E("anthropic","@ai-sdk/anthropic",()=>import("@ai-sdk/anthropic")),n=c("ANTHROPIC_API_KEY");return t.createAnthropic(n?{apiKey:n}:void 0)(e)})}(s);case"google":return function(e){return r(this,void 0,void 0,function*(){var t;const n=yield E("google","@ai-sdk/google",()=>import("@ai-sdk/google")),i=null!==(t=c("GOOGLE_GENERATIVE_AI_API_KEY"))&&void 0!==t?t:c("GOOGLE_API_KEY");return n.createGoogleGenerativeAI(i?{apiKey:i}:void 0)(e)})}(s);case"bedrock":return function(e){return r(this,void 0,void 0,function*(){return(yield E("bedrock","@ai-sdk/amazon-bedrock",()=>import("@ai-sdk/amazon-bedrock"))).createAmazonBedrock()(e)})}(s);case"mistral":return function(e){return r(this,void 0,void 0,function*(){const t=yield E("mistral","@ai-sdk/mistral",()=>import("@ai-sdk/mistral")),n=c("MISTRAL_API_KEY");return t.createMistral(n?{apiKey:n}:void 0)(e)})}(s);case"cohere":return function(e){return r(this,void 0,void 0,function*(){const t=yield E("cohere","@ai-sdk/cohere",()=>import("@ai-sdk/cohere")),n=c("COHERE_API_KEY");return t.createCohere(n?{apiKey:n}:void 0)(e)})}(s);case"groq":return function(e){return r(this,void 0,void 0,function*(){const t=yield E("groq","@ai-sdk/groq",()=>import("@ai-sdk/groq")),n=c("GROQ_API_KEY");return t.createGroq(n?{apiKey:n}:void 0)(e)})}(s);case"xai":return function(e){return r(this,void 0,void 0,function*(){const t=yield E("xai","@ai-sdk/xai",()=>import("@ai-sdk/xai")),n=c("XAI_API_KEY");return t.createXai(n?{apiKey:n}:void 0)(e)})}(s);case"deepseek":return function(e){return r(this,void 0,void 0,function*(){const t=yield E("deepseek","@ai-sdk/deepseek",()=>import("@ai-sdk/deepseek")),n=c("DEEPSEEK_API_KEY");return t.createDeepSeek(n?{apiKey:n}:void 0)(e)})}(s);default:throw new Error(`Unhandled LLM provider: ${String(o)}`)}})}function y(e){var t,n;if(void 0!==e&&Number.isFinite(e)&&e>0)return Math.trunc(e);const i=(null===(t=process.env.LLM_MAX_DIFF_CHARS)||void 0===t?void 0:t.trim())||(null===(n=process.env.OPENAI_MAX_DIFF_CHARS)||void 0===n?void 0:n.trim());if(i){const e=Number.parseInt(i,10);if(Number.isFinite(e)&&e>0)return e}return 12e4}function A(e,t){if(e.length<=t)return e;const n=`\n\n--- TRUNCATED: unified diff was ${e.length} characters; only the first ${t} were sent. Narrow the ref range, adjust commit/path filters, or raise maxDiffChars / LLM_MAX_DIFF_CHARS only if your model context allows. ---\n`;return e.slice(0,t)+n}function P(){var e;const t=null===(e=process.env.LLM_TEMPERATURE)||void 0===e?void 0:e.trim();if(t){const e=Number.parseFloat(t);if(Number.isFinite(e))return Math.min(2,Math.max(0,e))}return.2}function I(e){return r(this,void 0,void 0,function*(){var n;const{diffText:i,fileNames:o,commits:l,flags:d,llmModelProvider:c,diffSummary:u}=e;if(!c&&!v())throw new Error(a);const f=y(d.maxDiffChars),m=i.length>f,p=function(e,t,n,i,o){var r,s;const a=e.from,l=null!==(r=e.to)&&void 0!==r?r:"HEAD",d=null===(s=e.team)||void 0===s?void 0:s.trim(),c=(new Date).toISOString(),u=d?`Team: ${d}\n`:"",f=function(e){var t,n;const i=(null!==(t=e.commitMessageIncludeRegexes)&&void 0!==t?t:[]).map(e=>e.trim()).filter(Boolean),o=(null!==(n=e.commitMessageExcludeRegexes)&&void 0!==n?n:[]).map(e=>e.trim()).filter(Boolean),r=i.length>0?`Commit message include regexes (OR): ${i.map(e=>JSON.stringify(e)).join(", ")}\n`:"",s=o.length>0?`Commit message exclude regexes: ${o.map(e=>JSON.stringify(e)).join(", ")}\n`:"";if(!r&&!s)return"Commit message filters: none.\nGit context shape: single unified diff for the full ref range.\n";return`${r}${s}Git context shape: concatenated per-commit unified patches for commits that pass the message filters.\n`}(e),m=t.length>0?t.map(e=>`- ${e.hash.slice(0,7)} ${e.message.replace(/\r?\n/g," ")}`).join("\n"):"- (no commits in range after filtering)",p=n.length>0?n.join("\n"):"(no paths in diff scope)",h=o?`=== Structured git context (JSON summary) ===\n${JSON.stringify(o,null,2)}\n\n`:"";return`${u}Date: ${c}\n\nGit refs: ${a}..${l}\n`+f+"\n=== Included commits (subject lines) ===\n"+`${m}\n\n=== Changed paths ===\n`+`${p}\n\n`+h+"=== Git context (unified diff(s); patches may be truncated with an explicit marker) ===\n"+i}(d,l,o,A(i,f),u),h=null!==(n=d.systemPrompt)&&void 0!==n?n:s,g=function(){var e;const t=null!==(e=process.env.LLM_MAX_TOKENS)&&void 0!==e?e:process.env.OPENAI_MAX_TOKENS,n=void 0!==t?Number.parseInt(t,10):4e3;return Number.isFinite(n)&&n>0?n:4e3}(),E=yield function(e,n,i,o,s){return r(this,void 0,void 0,function*(){const r=o?yield o():yield _(Object.assign(Object.assign({},s.provider?{provider:s.provider}:{}),s.model?{model:s.model}:{})),a=(yield t.generateText({model:r,system:n,prompt:e,temperature:P(),maxOutputTokens:i})).text.trim();return a.length>0?a:"No summary generated by the model."})}(p,h,g,c,d);return m?`> **Truncated diff:** The unified diff was ${i.length} characters; only the first ${f} were sent to the model. The summary may not reflect the full change set. Narrow the ref range, adjust path filters, or raise \`maxDiffChars\` / \`LLM_MAX_DIFF_CHARS\`—often together with switching to a model whose context window can fit a larger prompt.\n\n`+E:E})}function L(e){const t=e.trim().replace(/\\/g,"/").replace(/^\/+/,"").replace(/\/+$/,"");return t.length>0?t:"."}function b(e,t){const i=n.resolve(e),o=n.resolve(e,t);if(o!==i&&!o.startsWith(i+n.sep))throw new Error(`Path escapes repository root: ${JSON.stringify(t)}`)}function x(e,t){var n,i,o,r;const s=null!==(i=null===(n=null==t?void 0:t.includeFolders)||void 0===n?void 0:n.filter(e=>e.trim().length>0))&&void 0!==i?i:[],a=null!==(r=null===(o=null==t?void 0:t.excludeFolders)||void 0===o?void 0:o.filter(e=>e.trim().length>0))&&void 0!==r?r:[],l=s.map(L).filter(e=>"."!==e&&""!==e),d=a.map(L).filter(e=>"."!==e&&""!==e),c=l.length>0?l:["."];for(const t of c)b(e,t);for(const t of d)b(e,t);const u=[];if(0===l.length)u.push(".");else for(const e of l)u.push(e);for(const e of d)u.push(`:(exclude)${e}`);return u}function O(e,t){try{return new RegExp(e,"i")}catch(n){throw new Error(`Invalid ${t} regular expression: ${JSON.stringify(e)}`)}}function k(e,t,n){const i=(null!=t?t:[]).map(e=>e.trim()).filter(e=>e.length>0),o=(null!=n?n:[]).map(e=>e.trim()).filter(e=>e.length>0),r=i.map((e,t)=>O(e,`commit message include pattern[${t}]`)),s=o.map((e,t)=>O(e,`commit message exclude pattern[${t}]`));return e.filter(e=>function(e,t,n){for(const t of n)if(t.test(e))return!1;return!(t.length>0&&!t.some(t=>t.test(e)))}(e.message,r,s))}const R=["package-lock.json","yarn.lock","pnpm-lock.yaml","npm-shrinkwrap.json","bun.lockb","go.sum","Cargo.lock","Gemfile.lock","composer.lock","Pipfile.lock","poetry.lock","uv.lock","Podfile.lock","node_modules","dist","build","out","coverage","__snapshots__"];function w(e){return!Number.isFinite(e)||e<0?0:Math.trunc(e)}function M(e){const t=[];return void 0!==(null==e?void 0:e.contextLines)&&t.push(`-U${w(e.contextLines)}`),(null==e?void 0:e.ignoreWhitespace)&&t.push("-w"),t}const S=["diff --git ","index ","new file mode ","deleted file mode ","old mode ","new mode ","similarity index ","dissimilarity index ","rename from ","rename to ","copy from ","copy to "];function D(e){return e.split(/\r?\n/).filter(e=>!function(e){for(const t of S)if(e.startsWith(t))return!0;return!1}(e)).join("\n")}function $(e){return/^--- (a\/|b\/|"a\/|"b\/|\/dev\/null)/.test(e)||/^\+\+\+ (a\/|b\/|"a\/|"b\/|\/dev\/null)/.test(e)}function N(e,t){if(!(null==t?void 0:t.stripDiffPreamble)&&void 0===(null==t?void 0:t.maxHunkLines))return e;let n=e;return t.stripDiffPreamble&&(n=D(n)),void 0!==t.maxHunkLines&&(n=function(e,t){const n=w(t),i=e.split(/\r?\n/),o=[];let r=!1,s=[];const a=()=>{if(s.length>n){const e=s.length-n;o.push(...s.slice(0,n)),o.push(`[... ${e} diff line${1===e?"":"s"} elided ...]`)}else o.push(...s);s=[],r=!1};for(const e of i)e.startsWith("@@")?(r&&a(),o.push(e),r=!0):e.startsWith("diff --git ")||$(e)?(r&&a(),o.push(e)):r?s.push(e):o.push(e);return r&&a(),o.join("\n")}(n,t.maxHunkLines)),n}const K={A:"added",D:"deleted",R:"renamed",C:"copied",T:"type-changed",M:"modified"};function T(e){var t;return null!==(t=K[e.charAt(0)])&&void 0!==t?t:"unknown"}function C(e,t){if(e===t)return e;const n=["deleted","added","renamed","copied","type-changed","modified","unknown"];return n.indexOf(e)<=n.indexOf(t)?e:t}function F(e){const t=e.split("\t");let n=null;if(t.length>=2){const e=t[0],i=T(e),o=e.startsWith("R")||e.startsWith("C");o&&t.length>=3?n={path:t[2],status:i,oldPath:t[1]}:o||(n={path:t[1],status:i})}return n}function Y(e){const t=e.split("\t");if(t.length<3)return null;const n=t[0],i=t[1],o=t.slice(2).join("\t"),r="-"===n||"-"===i||void 0,s="-"!==n&&Number.parseInt(n,10)||0,a="-"!==i&&Number.parseInt(i,10)||0,l=function(e){const t=/^(.*?)\{(.+?) => (.+?)\}(.*)$/.exec(e);return t?`${t[1]}${t[3].trim()}${t[4]}`:e}(o);return Object.assign({key:l,additions:s,deletions:a},r?{binary:r}:{})}function G(e){const t=e.split("\t");if(t.length<3)return null;const n=T(t.shift()),i=t[0],o=t[1],r=i&&"-"!==i&&Number.parseInt(i,10)||0,s=o&&"-"!==o&&Number.parseInt(o,10)||0;return 3===t.length?{status:n,additions:r,deletions:s,newPath:t[2]}:4===t.length?{status:n,additions:r,deletions:s,oldPath:t[2],newPath:t[3]}:null}function j(e,t){var n,i;const{newPath:o,status:r,additions:s,deletions:a,oldPath:l}=t,d=e.get(o);d?(d.additions+=s,d.deletions+=a,d.status=C(d.status,r),l&&(d.oldPath=null!==(n=d.oldPath)&&void 0!==n?n:l),d.newPath=null!==(i=d.newPath)&&void 0!==i?i:o):e.set(o,{path:o,status:r,additions:s,deletions:a,oldPath:l,newPath:l?o:void 0})}const H={added:"A",deleted:"D",renamed:"R100",copied:"C100","type-changed":"T",modified:"M",unknown:"X"};function B(e,t){const n=(i=e.status,H[i]);var i;return e.oldPath?`${n}\t${t.additions}\t${t.deletions}\t${e.oldPath}\t${e.path}`:`${n}\t${t.additions}\t${t.deletions}\t${e.path}`}function U(e,t){var n,i;const o=new Map;!function(e,t){var n;for(const i of e.split(/\r?\n/)){const e=i.trim();if(!e)continue;const o=Y(e);if(!o)continue;const r=null!==(n=t.get(o.key))&&void 0!==n?n:{additions:0,deletions:0},s=o.binary||r.binary||void 0;t.set(o.key,Object.assign({additions:r.additions+o.additions,deletions:r.deletions+o.deletions},s?{binary:s}:{}))}}(t,o);const r=function(e){var t;const n=new Map;for(const i of e){const e=n.get(i.path);e?(e.status=C(e.status,i.status),i.oldPath&&(e.oldPath=null!==(t=e.oldPath)&&void 0!==t?t:i.oldPath)):n.set(i.path,Object.assign({},i))}return n}(function(e){const t=[];for(const n of e.split(/\r?\n/)){const e=n.trim();if(!e)continue;const i=F(e);i&&t.push(i)}return t}(e)),s=[];for(const[e,t]of r){const i=null!==(n=o.get(e))&&void 0!==n?n:{additions:0,deletions:0};s.push(B(t,i))}const a=function(e){const t=new Map;for(const n of e.split(/\r?\n/)){const e=n.trim();if(!e)continue;const i=G(e);i&&j(t,i)}const n=Array.from(t.values());return{files:n,totalFiles:n.length,totalAdditions:n.reduce((e,t)=>e+t.additions,0),totalDeletions:n.reduce((e,t)=>e+t.deletions,0)}}(s.join("\n"));for(const e of a.files)(null===(i=o.get(e.path))||void 0===i?void 0:i.binary)&&(e.binary=!0);return a}const q=o.promisify(i.execFile);function W(e=process.cwd(),t){return{run:n=>q("git",n,Object.assign({cwd:e,maxBuffer:104857600},void 0!==t?{timeout:t}:{})).then(({stdout:e})=>e)}}function X(e,t,n){return r(this,void 0,void 0,function*(){return(yield e.run(["log","--format=%H%x1f%s",`${t}..${n}`])).split("\n").filter(Boolean).map(e=>{const t=e.indexOf("");return{hash:t>=0?e.slice(0,t):e,message:t>=0?e.slice(t+1):""}})})}function V(e){return r(this,void 0,void 0,function*(){return(yield e.run(["rev-parse","--show-toplevel"])).trim()})}function J(e,t,n){return r(this,void 0,void 0,function*(){const i=null!=n?n:yield V(e);return{repoRoot:i,specs:x(i,t)}})}function z(e,t){return r(this,void 0,void 0,function*(){const{from:n,to:i,commits:o,filterByCommits:r,pathFilter:s,repoRootOverride:a,shaping:l}=t,{specs:d}=yield J(e,s,a),c=M(l);if(!r){return N(yield e.run(["diff",...c,`${n}..${i}`,"--",...d]),l)}return(yield Promise.all(o.map(t=>e.run(["diff",...c,`${t.hash}^!`,"--",...d])))).map(e=>N(e,l)).filter(Boolean).join("\n")})}function Q(e,t){return r(this,void 0,void 0,function*(){const{from:n,to:i,commits:o,filterByCommits:s,pathFilter:a,repoRootOverride:l,shaping:d}=t,{specs:c}=yield J(e,a,l),u=(null==d?void 0:d.ignoreWhitespace)?["-w"]:[];if(!s){const[t,o]=yield Promise.all([e.run(["diff",...u,"--numstat",`${n}..${i}`,"--",...c]),e.run(["diff",...u,"--name-status",`${n}..${i}`,"--",...c])]);return U(o,t)}const f=yield Promise.all(o.map(t=>r(this,void 0,void 0,function*(){const n=`${t.hash}^!`,[i,o]=yield Promise.all([e.run(["diff",...u,"--numstat",n,"--",...c]),e.run(["diff",...u,"--name-status",n,"--",...c])]);return{numOutput:i,nameOutput:o}})));return U(f.map(e=>e.nameOutput).filter(Boolean).join("\n"),f.map(e=>e.numOutput).filter(Boolean).join("\n"))})}function Z(e,t){return r(this,void 0,void 0,function*(){const{from:n,to:i,commits:o,filterByCommits:s,pathFilter:a,repoRootOverride:l}=t,{specs:d}=yield J(e,a,l);if(!s){return(yield e.run(["diff","--name-only",`${n}..${i}`,"--",...d])).split(/\r?\n/).map(e=>e.trim()).filter(Boolean).sort()}const c=yield Promise.all(o.map(t=>r(this,void 0,void 0,function*(){return(yield e.run(["show","--name-only","--pretty=format:",t.hash,"--",...d])).split(/\r?\n/).map(e=>e.trim()).filter(Boolean)})));return[...new Set(c.flat())].sort()})}function ee(e){return(null!=e?e:[]).some(e=>e.trim().length>0)}e.DEFAULT_GIT_DIFF_SYSTEM_PROMPT=s,e.DEFAULT_NOISE_EXCLUDES=R,e.LLM_GATEWAY_REQUIRED_MESSAGE=a,e.buildDiffPathspecs=x,e.buildDiffShapingGitArgs=M,e.createGitClient=W,e.defaultModelForProvider=g,e.detectLlmProvider=h,e.filterCommitsByMessageRegexes=k,e.generateSummary=I,e.getChangedFiles=Z,e.getCommits=X,e.getDiff=z,e.getDiffSummary=Q,e.getRepoRoot=V,e.isLlmProviderConfigured=v,e.parseLlmDefaultHeadersFromEnv=m,e.resolveLanguageModel=_,e.resolveLlmBaseUrl=u,e.resolveLlmMaxDiffChars=y,e.shapeUnifiedDiff=N,e.summarizeGitDiff=function(e){return r(this,void 0,void 0,function*(){var t,n;const i=null!==(t=e.git)&&void 0!==t?t:W(e.cwd),o=e.from,r=null!==(n=e.to)&&void 0!==n?n:"HEAD",s=function(e){var t;const n=null!==(t=e.excludeFolders)&&void 0!==t?t:[];if(!e.excludeDefaultNoise)return n.length>0?n:void 0;const i=new Set,o=[];for(const e of[...R,...n]){const t=e.trim();t&&!i.has(t)&&(i.add(t),o.push(e))}return o}(e),a=ee(e.includeFolders)||ee(s)?{includeFolders:e.includeFolders,excludeFolders:s}:void 0,l=yield X(i,o,r),d=k(l,e.commitMessageIncludeRegexes,e.commitMessageExcludeRegexes),c=function(e,t,n){return!(!ee(n.commitMessageIncludeRegexes)&&!ee(n.commitMessageExcludeRegexes))||t.length!==e.length}(l,d,e),u=function(e){const t={};return void 0!==e.contextLines&&(t.contextLines=e.contextLines),e.ignoreWhitespace&&(t.ignoreWhitespace=!0),e.stripDiffPreamble&&(t.stripDiffPreamble=!0),void 0!==e.maxHunkLines&&(t.maxHunkLines=e.maxHunkLines),Object.keys(t).length>0?t:void 0}(e),f={from:o,to:r,commits:d,filterByCommits:c,pathFilter:a,shaping:u},[m,p,h]=yield Promise.all([z(i,f),Z(i,f),Q(i,f)]);return I({diffText:m,fileNames:p,commits:d,flags:{from:o,to:r,team:e.teamName,model:e.model,provider:e.provider,maxDiffChars:e.maxDiffChars,systemPrompt:e.systemPrompt,commitMessageIncludeRegexes:e.commitMessageIncludeRegexes,commitMessageExcludeRegexes:e.commitMessageExcludeRegexes},llmModelProvider:e.llmModelProvider,diffSummary:h})})},e.truncateUnifiedDiffForLlm=A});
|
|
2
2
|
//# sourceMappingURL=index.min.umd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.min.umd.js","sources":["../node_modules/tslib/tslib.es6.js","../src/ai/aiConstants.ts","../src/ai/llmProviders.ts","../src/ai/aiSummary.ts","../src/git/diffPathspecs.ts","../src/git/commitMessageFilter.ts","../src/git/diffShaping.ts","../src/git/diffGitStatus.ts","../src/git/diffNameStatusParse.ts","../src/git/diffNumstatParse.ts","../src/git/diffSummaryParse.ts","../src/git/diffSummaryBuild.ts","../src/git/gitDiffOps.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","SuppressedError","DEFAULT_GIT_DIFF_SYSTEM_PROMPT","LLM_GATEWAY_REQUIRED_MESSAGE","DEFAULT_MODEL_BY_PROVIDER","openai","anthropic","google","bedrock","mistral","cohere","groq","xai","deepseek","VALID_PROVIDERS","Set","readEnv","name","_a","process","env","trim","length","undefined","resolveLlmBaseUrl","parseHeaderJsonObject","raw","trimmed","parsed","JSON","parse","Array","isArray","out","key","Object","entries","parseLlmDefaultHeadersFromEnv","base","OPENAI_DEFAULT_HEADERS","override","LLM_DEFAULT_HEADERS","merged","assign","keys","resolveOpenAiApiKey","detectLlmProvider","explicit","toLowerCase","has","_b","isLlmProviderConfigured","defaultModelForProvider","provider","importOptional","pkg","loader","cause","failure","err","Error","wrapMissingPeer","resolveLanguageModel","this","arguments","options","modelId","_c","model","createOpenAI","import","apiKey","headers","createOpenAiModel","createOpenAICompatible","baseURL","createOpenAiCompatibleModel","mod","createAnthropic","createAnthropicModel","createGoogleGenerativeAI","createGoogleModel","createAmazonBedrock","createBedrockModel","createMistral","createMistralModel","createCohere","createCohereModel","createGroq","createGroqModel","createXai","createXaiModel","createDeepSeek","createDeepseekModel","String","resolveLlmMaxDiffChars","cliOverride","Number","isFinite","Math","trunc","LLM_MAX_DIFF_CHARS","OPENAI_MAX_DIFF_CHARS","parseInt","truncateUnifiedDiffForLlm","diffText","maxChars","marker","slice","generateSummary","input","fileNames","commits","flags","llmModelProvider","diffSummary","maxDiffChars","diffTruncated","userContent","from","to","team","ts","Date","toISOString","teamLine","filterBlock","includes","commitMessageIncludeRegexes","map","s","filter","Boolean","excludes","commitMessageExcludeRegexes","incLine","r","stringify","join","excLine","formatRegexFilterLines","commitBlock","c","hash","message","replace","pathsBlock","structuredDiffSection","buildUserContent","systemPrompt","maxOutputTokens","LLM_MAX_TOKENS","OPENAI_MAX_TOKENS","resolveMaxOutputTokens","summary","text","generateText","system","prompt","temperature","callLlm","normalizeRepoRelativePath","p","noTrailingSlash","assertPathUnderRepo","repoRoot","userPath","abs","relative","split","buildDiffPathspecs","pathFilter","includeRaw","includeFolders","excludeRaw","_d","excludeFolders","toValidate","inc","exc","specs","push","compileRegex","pattern","label","RegExp","filterCommitsByMessageRegexes","includePatterns","excludePatterns","includeRes","i","excludeRes","ex","test","some","commitMessagePassesFilters","DEFAULT_NOISE_EXCLUDES","normalizeContextLines","buildDiffShapingGitArgs","shaping","args","contextLines","ignoreWhitespace","PREAMBLE_NOISE_PREFIXES","stripPreambleLines","line","prefix","startsWith","isPreambleNoiseLine","isFileHeaderLine","shapeUnifiedDiff","stripDiffPreamble","maxHunkLines","limit","lines","inHunk","hunkBuf","flushHunk","elided","elideLargeHunks","GIT_STATUS_BY_FIRST_CHAR","A","D","R","C","T","M","mapGitStatus","statusCode","charAt","mergeStatus","existing","precedence","indexOf","parseNameStatusLine","parts","entry","statusToken","status","isRenameOrCopy","path","oldPath","parseNumStatLine","addStr","delStr","pathField","additions","deletions","brace","exec","numStatPathToLookupKey","parseTabDiffSummaryLine","shift","add0","del0","newPath","mergeParsedDiffSummaryLine","fileMap","get","set","STATUS_TO_SYNTHETIC_PREFIX","added","deleted","renamed","copied","modified","unknown","buildSyntheticDiffLine","meta","counts","buildDiffSummaryFromGitOutputs","nameStatusOutput","numStatOutput","numMap","Map","into","rawLine","prev","accumulateNumStat","mergedName","byPath","mergeNameEntriesByPath","parseNameStatusLines","syntheticLines","diffOutput","files","values","totalFiles","totalAdditions","reduce","sum","file","totalDeletions","parseDiffSummary","createGitClient","cwd","simpleGit","getCommits","git","log","all","getRepoRoot","revparse","getDiffPathContext","repoRootOverride","getDiff","query","filterByCommits","shapingArgs","diff","getDiffSummary","whitespaceArgs","numOutput","nameOutput","pairs","range","getChangedFiles","f","fileSet","show","forEach","add","hasNonEmptyTrimmed","arr","effectiveExcludeFolders","userExcludes","excludeDefaultNoise","seen","buildEffectiveExcludeFolders","allCommits","filteredCommits","filtered","opts","shouldFilterByCommits","buildShapingFromOptions","rangeQuery","teamName"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.min.umd.js","sources":["../node_modules/tslib/tslib.es6.js","../src/ai/aiConstants.ts","../src/ai/llmProviders.ts","../src/ai/aiSummary.ts","../src/git/diffPathspecs.ts","../src/git/commitMessageFilter.ts","../src/git/diffShaping.ts","../src/git/diffGitStatus.ts","../src/git/diffNameStatusParse.ts","../src/git/diffNumstatParse.ts","../src/git/diffSummaryParse.ts","../src/git/diffSummaryBuild.ts","../src/git/gitDiffOps.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","SuppressedError","DEFAULT_GIT_DIFF_SYSTEM_PROMPT","LLM_GATEWAY_REQUIRED_MESSAGE","DEFAULT_MODEL_BY_PROVIDER","openai","anthropic","google","bedrock","mistral","cohere","groq","xai","deepseek","VALID_PROVIDERS","Set","readEnv","name","_a","process","env","trim","length","undefined","resolveLlmBaseUrl","parseHeaderJsonObject","raw","trimmed","parsed","JSON","parse","Array","isArray","out","key","Object","entries","parseLlmDefaultHeadersFromEnv","base","OPENAI_DEFAULT_HEADERS","override","LLM_DEFAULT_HEADERS","merged","assign","keys","resolveOpenAiApiKey","detectLlmProvider","explicit","toLowerCase","has","_b","_c","isLlmProviderConfigured","defaultModelForProvider","provider","importOptional","pkg","loader","cause","failure","err","Error","wrapMissingPeer","resolveLanguageModel","this","arguments","options","modelId","model","mod","import","apiKey","headers","createOpenAI","createOpenAiModel","createOpenAICompatible","baseURL","createOpenAiCompatibleModel","createAnthropic","createAnthropicModel","createGoogleGenerativeAI","createGoogleModel","createAmazonBedrock","createBedrockModel","createMistral","createMistralModel","createCohere","createCohereModel","createGroq","createGroqModel","createXai","createXaiModel","createDeepSeek","createDeepseekModel","String","resolveLlmMaxDiffChars","cliOverride","Number","isFinite","Math","trunc","LLM_MAX_DIFF_CHARS","OPENAI_MAX_DIFF_CHARS","parseInt","truncateUnifiedDiffForLlm","diffText","maxChars","marker","slice","resolveLlmTemperature","LLM_TEMPERATURE","parseFloat","min","max","generateSummary","input","fileNames","commits","flags","llmModelProvider","diffSummary","maxDiffChars","diffTruncated","userContent","from","to","team","ts","Date","toISOString","teamLine","filterBlock","includes","commitMessageIncludeRegexes","map","s","filter","Boolean","excludes","commitMessageExcludeRegexes","incLine","r","stringify","join","excLine","formatRegexFilterLines","commitBlock","c","hash","message","replace","pathsBlock","structuredDiffSection","buildUserContent","systemPrompt","maxOutputTokens","LLM_MAX_TOKENS","OPENAI_MAX_TOKENS","resolveMaxOutputTokens","summary","text","generateText","system","prompt","temperature","callLlm","normalizeRepoRelativePath","p","noTrailingSlash","assertPathUnderRepo","repoRoot","userPath","absRoot","abs","startsWith","sep","buildDiffPathspecs","pathFilter","includeRaw","includeFolders","excludeRaw","_d","excludeFolders","toValidate","inc","exc","specs","push","compileRegex","pattern","label","RegExp","filterCommitsByMessageRegexes","includePatterns","excludePatterns","includeRes","i","excludeRes","ex","test","some","commitMessagePassesFilters","DEFAULT_NOISE_EXCLUDES","normalizeContextLines","buildDiffShapingGitArgs","shaping","args","contextLines","ignoreWhitespace","PREAMBLE_NOISE_PREFIXES","stripPreambleLines","split","line","prefix","isPreambleNoiseLine","isFileHeaderLine","shapeUnifiedDiff","stripDiffPreamble","maxHunkLines","limit","lines","inHunk","hunkBuf","flushHunk","elided","elideLargeHunks","GIT_STATUS_BY_FIRST_CHAR","A","D","R","C","T","M","mapGitStatus","statusCode","charAt","mergeStatus","existing","precedence","indexOf","parseNameStatusLine","parts","entry","statusToken","status","isRenameOrCopy","path","oldPath","parseNumStatLine","addStr","delStr","pathField","binary","additions","deletions","brace","exec","numStatPathToLookupKey","parseTabDiffSummaryLine","shift","add0","del0","newPath","mergeParsedDiffSummaryLine","fileMap","get","set","STATUS_TO_SYNTHETIC_PREFIX","added","deleted","renamed","copied","modified","unknown","buildSyntheticDiffLine","meta","counts","buildDiffSummaryFromGitOutputs","nameStatusOutput","numStatOutput","numMap","Map","into","rawLine","prev","accumulateNumStat","mergedName","byPath","mergeNameEntriesByPath","parseNameStatusLines","syntheticLines","diffOutput","files","values","totalFiles","totalAdditions","reduce","sum","file","totalDeletions","parseDiffSummary","execFileAsync","promisify","execFile","createGitClient","cwd","timeout","run","maxBuffer","stdout","getCommits","git","getRepoRoot","getDiffPathContext","repoRootOverride","getDiff","query","filterByCommits","shapingArgs","all","getDiffSummary","whitespaceArgs","numOutput","nameOutput","pairs","range","getChangedFiles","f","sort","results","flat","hasNonEmptyTrimmed","arr","effectiveExcludeFolders","userExcludes","excludeDefaultNoise","seen","add","buildEffectiveExcludeFolders","allCommits","filteredCommits","filtered","opts","shouldFilterByCommits","buildShapingFromOptions","rangeQuery","teamName"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { generateText } from 'ai';
|
|
2
|
-
import { resolve,
|
|
3
|
-
import {
|
|
2
|
+
import { resolve, sep } from 'node:path';
|
|
3
|
+
import { execFile } from 'node:child_process';
|
|
4
|
+
import { promisify } from 'node:util';
|
|
4
5
|
|
|
5
6
|
/******************************************************************************
|
|
6
7
|
Copyright (c) Microsoft Corporation.
|
|
@@ -51,7 +52,7 @@ const LLM_GATEWAY_REQUIRED_MESSAGE = "No LLM provider configured. Set LLM_PROVID
|
|
|
51
52
|
const DEFAULT_MODEL_BY_PROVIDER = {
|
|
52
53
|
openai: "gpt-4o-mini",
|
|
53
54
|
"openai-compatible": "gpt-4o-mini",
|
|
54
|
-
anthropic: "claude-
|
|
55
|
+
anthropic: "claude-haiku-4-5-20251001",
|
|
55
56
|
google: "gemini-2.0-flash",
|
|
56
57
|
bedrock: "anthropic.claude-3-5-haiku-20241022-v1:0",
|
|
57
58
|
mistral: "mistral-small-latest",
|
|
@@ -118,7 +119,7 @@ function resolveOpenAiApiKey() {
|
|
|
118
119
|
return (_a = readEnv("LLM_API_KEY")) !== null && _a !== void 0 ? _a : readEnv("OPENAI_API_KEY");
|
|
119
120
|
}
|
|
120
121
|
function detectLlmProvider() {
|
|
121
|
-
var _a, _b;
|
|
122
|
+
var _a, _b, _c;
|
|
122
123
|
const explicit = (_a = readEnv("LLM_PROVIDER")) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
123
124
|
if (explicit && isValidProviderId(explicit)) {
|
|
124
125
|
return explicit;
|
|
@@ -143,6 +144,8 @@ function detectLlmProvider() {
|
|
|
143
144
|
return "xai";
|
|
144
145
|
if (readEnv("DEEPSEEK_API_KEY"))
|
|
145
146
|
return "deepseek";
|
|
147
|
+
if ((_c = readEnv("AWS_ACCESS_KEY_ID")) !== null && _c !== void 0 ? _c : readEnv("AWS_PROFILE"))
|
|
148
|
+
return "bedrock";
|
|
146
149
|
if (parseLlmDefaultHeadersFromEnv())
|
|
147
150
|
return "openai";
|
|
148
151
|
return undefined;
|
|
@@ -155,17 +158,17 @@ function defaultModelForProvider(provider) {
|
|
|
155
158
|
}
|
|
156
159
|
function createOpenAiModel(modelId) {
|
|
157
160
|
return __awaiter(this, void 0, void 0, function* () {
|
|
158
|
-
const
|
|
161
|
+
const mod = yield importOptional("openai", "@ai-sdk/openai", () => import('@ai-sdk/openai'));
|
|
159
162
|
const apiKey = resolveOpenAiApiKey();
|
|
160
163
|
const headers = parseLlmDefaultHeadersFromEnv();
|
|
161
|
-
const provider = createOpenAI(Object.assign(Object.assign({}, (apiKey ? { apiKey } : {})), (headers ? { headers } : {})));
|
|
164
|
+
const provider = mod.createOpenAI(Object.assign(Object.assign({}, (apiKey ? { apiKey } : {})), (headers ? { headers } : {})));
|
|
162
165
|
return provider(modelId);
|
|
163
166
|
});
|
|
164
167
|
}
|
|
165
168
|
function createOpenAiCompatibleModel(modelId) {
|
|
166
169
|
return __awaiter(this, void 0, void 0, function* () {
|
|
167
170
|
var _a;
|
|
168
|
-
const { createOpenAICompatible } = yield import('@ai-sdk/openai-compatible');
|
|
171
|
+
const { createOpenAICompatible } = yield importOptional("openai-compatible", "@ai-sdk/openai-compatible", () => import('@ai-sdk/openai-compatible'));
|
|
169
172
|
const baseURL = resolveLlmBaseUrl();
|
|
170
173
|
if (!baseURL) {
|
|
171
174
|
throw new Error("openai-compatible provider requires LLM_BASE_URL or OPENAI_BASE_URL to be set.");
|
|
@@ -328,6 +331,17 @@ function resolveMaxOutputTokens() {
|
|
|
328
331
|
const parsed = raw !== undefined ? Number.parseInt(raw, 10) : 4000;
|
|
329
332
|
return Number.isFinite(parsed) && parsed > 0 ? parsed : 4000;
|
|
330
333
|
}
|
|
334
|
+
function resolveLlmTemperature() {
|
|
335
|
+
var _a;
|
|
336
|
+
const raw = (_a = process.env.LLM_TEMPERATURE) === null || _a === void 0 ? void 0 : _a.trim();
|
|
337
|
+
if (raw) {
|
|
338
|
+
const parsed = Number.parseFloat(raw);
|
|
339
|
+
if (Number.isFinite(parsed)) {
|
|
340
|
+
return Math.min(2, Math.max(0, parsed));
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
return 0.2;
|
|
344
|
+
}
|
|
331
345
|
function generateSummary(input) {
|
|
332
346
|
return __awaiter(this, void 0, void 0, function* () {
|
|
333
347
|
var _a;
|
|
@@ -407,7 +421,7 @@ function callLlm(userContent, systemPrompt, maxOutputTokens, llmModelProvider, f
|
|
|
407
421
|
model,
|
|
408
422
|
system: systemPrompt,
|
|
409
423
|
prompt: userContent,
|
|
410
|
-
temperature:
|
|
424
|
+
temperature: resolveLlmTemperature(),
|
|
411
425
|
maxOutputTokens,
|
|
412
426
|
});
|
|
413
427
|
const text = result.text.trim();
|
|
@@ -422,10 +436,9 @@ function normalizeRepoRelativePath(p) {
|
|
|
422
436
|
return noTrailingSlash.length > 0 ? noTrailingSlash : ".";
|
|
423
437
|
}
|
|
424
438
|
function assertPathUnderRepo(repoRoot, userPath) {
|
|
439
|
+
const absRoot = resolve(repoRoot);
|
|
425
440
|
const abs = resolve(repoRoot, userPath);
|
|
426
|
-
|
|
427
|
-
const segments = rel.split(/[/\\]/);
|
|
428
|
-
if (segments.includes("..")) {
|
|
441
|
+
if (abs !== absRoot && !abs.startsWith(absRoot + sep)) {
|
|
429
442
|
throw new Error(`Path escapes repository root: ${JSON.stringify(userPath)}`);
|
|
430
443
|
}
|
|
431
444
|
}
|
|
@@ -703,10 +716,11 @@ function parseNumStatLine(line) {
|
|
|
703
716
|
const addStr = parts[0];
|
|
704
717
|
const delStr = parts[1];
|
|
705
718
|
const pathField = parts.slice(2).join("\t");
|
|
719
|
+
const binary = addStr === "-" || delStr === "-" ? true : undefined;
|
|
706
720
|
const additions = addStr !== "-" ? Number.parseInt(addStr, 10) || 0 : 0;
|
|
707
721
|
const deletions = delStr !== "-" ? Number.parseInt(delStr, 10) || 0 : 0;
|
|
708
722
|
const key = numStatPathToLookupKey(pathField);
|
|
709
|
-
return { key, additions, deletions };
|
|
723
|
+
return Object.assign({ key, additions, deletions }, (binary ? { binary } : {}));
|
|
710
724
|
}
|
|
711
725
|
function accumulateNumStat(numStatOutput, into) {
|
|
712
726
|
var _a;
|
|
@@ -718,10 +732,8 @@ function accumulateNumStat(numStatOutput, into) {
|
|
|
718
732
|
if (!parsed)
|
|
719
733
|
continue;
|
|
720
734
|
const prev = (_a = into.get(parsed.key)) !== null && _a !== void 0 ? _a : { additions: 0, deletions: 0 };
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
deletions: prev.deletions + parsed.deletions,
|
|
724
|
-
});
|
|
735
|
+
const binary = parsed.binary || prev.binary || undefined;
|
|
736
|
+
into.set(parsed.key, Object.assign({ additions: prev.additions + parsed.additions, deletions: prev.deletions + parsed.deletions }, (binary ? { binary } : {})));
|
|
725
737
|
}
|
|
726
738
|
}
|
|
727
739
|
|
|
@@ -811,7 +823,7 @@ function buildSyntheticDiffLine(meta, counts) {
|
|
|
811
823
|
return `${prefix}\t${counts.additions}\t${counts.deletions}\t${meta.path}`;
|
|
812
824
|
}
|
|
813
825
|
function buildDiffSummaryFromGitOutputs(nameStatusOutput, numStatOutput) {
|
|
814
|
-
var _a;
|
|
826
|
+
var _a, _b;
|
|
815
827
|
const numMap = new Map();
|
|
816
828
|
accumulateNumStat(numStatOutput, numMap);
|
|
817
829
|
const mergedName = mergeNameEntriesByPath(parseNameStatusLines(nameStatusOutput));
|
|
@@ -820,21 +832,39 @@ function buildDiffSummaryFromGitOutputs(nameStatusOutput, numStatOutput) {
|
|
|
820
832
|
const counts = (_a = numMap.get(path)) !== null && _a !== void 0 ? _a : { additions: 0, deletions: 0 };
|
|
821
833
|
syntheticLines.push(buildSyntheticDiffLine(meta, counts));
|
|
822
834
|
}
|
|
823
|
-
|
|
835
|
+
const summary = parseDiffSummary(syntheticLines.join("\n"));
|
|
836
|
+
for (const file of summary.files) {
|
|
837
|
+
if ((_b = numMap.get(file.path)) === null || _b === void 0 ? void 0 : _b.binary) {
|
|
838
|
+
file.binary = true;
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
return summary;
|
|
824
842
|
}
|
|
825
843
|
|
|
826
|
-
|
|
827
|
-
|
|
844
|
+
const execFileAsync = promisify(execFile);
|
|
845
|
+
function createGitClient(cwd = process.cwd(), timeout) {
|
|
846
|
+
return {
|
|
847
|
+
run: (args) => execFileAsync("git", args, Object.assign({ cwd, maxBuffer: 100 * 1024 * 1024 }, (timeout !== undefined ? { timeout } : {}))).then(({ stdout }) => stdout),
|
|
848
|
+
};
|
|
828
849
|
}
|
|
829
850
|
function getCommits(git, from, to) {
|
|
830
851
|
return __awaiter(this, void 0, void 0, function* () {
|
|
831
|
-
const
|
|
832
|
-
return
|
|
852
|
+
const output = yield git.run(["log", "--format=%H%x1f%s", `${from}..${to}`]);
|
|
853
|
+
return output
|
|
854
|
+
.split("\n")
|
|
855
|
+
.filter(Boolean)
|
|
856
|
+
.map((line) => {
|
|
857
|
+
const sep = line.indexOf("\x1f");
|
|
858
|
+
return {
|
|
859
|
+
hash: sep >= 0 ? line.slice(0, sep) : line,
|
|
860
|
+
message: sep >= 0 ? line.slice(sep + 1) : "",
|
|
861
|
+
};
|
|
862
|
+
});
|
|
833
863
|
});
|
|
834
864
|
}
|
|
835
865
|
function getRepoRoot(git) {
|
|
836
866
|
return __awaiter(this, void 0, void 0, function* () {
|
|
837
|
-
const root = yield git.
|
|
867
|
+
const root = yield git.run(["rev-parse", "--show-toplevel"]);
|
|
838
868
|
return root.trim();
|
|
839
869
|
});
|
|
840
870
|
}
|
|
@@ -851,7 +881,8 @@ function getDiff(git, query) {
|
|
|
851
881
|
const { specs } = yield getDiffPathContext(git, pathFilter, repoRootOverride);
|
|
852
882
|
const shapingArgs = buildDiffShapingGitArgs(shaping);
|
|
853
883
|
if (!filterByCommits) {
|
|
854
|
-
const raw = yield git.
|
|
884
|
+
const raw = yield git.run([
|
|
885
|
+
"diff",
|
|
855
886
|
...shapingArgs,
|
|
856
887
|
`${from}..${to}`,
|
|
857
888
|
"--",
|
|
@@ -859,7 +890,7 @@ function getDiff(git, query) {
|
|
|
859
890
|
]);
|
|
860
891
|
return shapeUnifiedDiff(raw, shaping);
|
|
861
892
|
}
|
|
862
|
-
const patches = yield Promise.all(commits.map((c) => git.
|
|
893
|
+
const patches = yield Promise.all(commits.map((c) => git.run(["diff", ...shapingArgs, `${c.hash}^!`, "--", ...specs])));
|
|
863
894
|
return patches
|
|
864
895
|
.map((p) => shapeUnifiedDiff(p, shaping))
|
|
865
896
|
.filter(Boolean)
|
|
@@ -873,14 +904,16 @@ function getDiffSummary(git, query) {
|
|
|
873
904
|
const whitespaceArgs = (shaping === null || shaping === void 0 ? void 0 : shaping.ignoreWhitespace) ? ["-w"] : [];
|
|
874
905
|
if (!filterByCommits) {
|
|
875
906
|
const [numOutput, nameOutput] = yield Promise.all([
|
|
876
|
-
git.
|
|
907
|
+
git.run([
|
|
908
|
+
"diff",
|
|
877
909
|
...whitespaceArgs,
|
|
878
910
|
"--numstat",
|
|
879
911
|
`${from}..${to}`,
|
|
880
912
|
"--",
|
|
881
913
|
...specs,
|
|
882
914
|
]),
|
|
883
|
-
git.
|
|
915
|
+
git.run([
|
|
916
|
+
"diff",
|
|
884
917
|
...whitespaceArgs,
|
|
885
918
|
"--name-status",
|
|
886
919
|
`${from}..${to}`,
|
|
@@ -893,8 +926,22 @@ function getDiffSummary(git, query) {
|
|
|
893
926
|
const pairs = yield Promise.all(commits.map((c) => __awaiter(this, void 0, void 0, function* () {
|
|
894
927
|
const range = `${c.hash}^!`;
|
|
895
928
|
const [numOutput, nameOutput] = yield Promise.all([
|
|
896
|
-
git.
|
|
897
|
-
|
|
929
|
+
git.run([
|
|
930
|
+
"diff",
|
|
931
|
+
...whitespaceArgs,
|
|
932
|
+
"--numstat",
|
|
933
|
+
range,
|
|
934
|
+
"--",
|
|
935
|
+
...specs,
|
|
936
|
+
]),
|
|
937
|
+
git.run([
|
|
938
|
+
"diff",
|
|
939
|
+
...whitespaceArgs,
|
|
940
|
+
"--name-status",
|
|
941
|
+
range,
|
|
942
|
+
"--",
|
|
943
|
+
...specs,
|
|
944
|
+
]),
|
|
898
945
|
]);
|
|
899
946
|
return { numOutput, nameOutput };
|
|
900
947
|
})));
|
|
@@ -914,7 +961,8 @@ function getChangedFiles(git, query) {
|
|
|
914
961
|
const { from, to, commits, filterByCommits, pathFilter, repoRootOverride } = query;
|
|
915
962
|
const { specs } = yield getDiffPathContext(git, pathFilter, repoRootOverride);
|
|
916
963
|
if (!filterByCommits) {
|
|
917
|
-
const output = yield git.
|
|
964
|
+
const output = yield git.run([
|
|
965
|
+
"diff",
|
|
918
966
|
"--name-only",
|
|
919
967
|
`${from}..${to}`,
|
|
920
968
|
"--",
|
|
@@ -923,24 +971,24 @@ function getChangedFiles(git, query) {
|
|
|
923
971
|
return output
|
|
924
972
|
.split(/\r?\n/)
|
|
925
973
|
.map((f) => f.trim())
|
|
926
|
-
.filter(Boolean)
|
|
974
|
+
.filter(Boolean)
|
|
975
|
+
.sort();
|
|
927
976
|
}
|
|
928
|
-
const
|
|
929
|
-
|
|
930
|
-
|
|
977
|
+
const results = yield Promise.all(commits.map((c) => __awaiter(this, void 0, void 0, function* () {
|
|
978
|
+
const output = yield git.run([
|
|
979
|
+
"show",
|
|
931
980
|
"--name-only",
|
|
932
981
|
"--pretty=format:",
|
|
933
982
|
c.hash,
|
|
934
983
|
"--",
|
|
935
984
|
...specs,
|
|
936
985
|
]);
|
|
937
|
-
output
|
|
986
|
+
return output
|
|
938
987
|
.split(/\r?\n/)
|
|
939
988
|
.map((f) => f.trim())
|
|
940
|
-
.filter(Boolean)
|
|
941
|
-
.forEach((f) => fileSet.add(f));
|
|
989
|
+
.filter(Boolean);
|
|
942
990
|
})));
|
|
943
|
-
return
|
|
991
|
+
return [...new Set(results.flat())].sort();
|
|
944
992
|
});
|
|
945
993
|
}
|
|
946
994
|
|