vibe64 0.1.46 → 0.1.48
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/bin/run.js +1657 -1631
- package/bin/upgrade-state.js +2563 -2515
- package/dist/assets/{GithubBrowserTabs-D-Z3TlA8.js → GithubBrowserTabs-_l6htLOV.js} +1 -1
- package/dist/assets/{LocalDatabaseServer-6VzPWZxG.js → LocalDatabaseServer-ih_gadbx.js} +1 -1
- package/dist/assets/{Vibe64AuthSettingsButton-TLwqAxDo.js → Vibe64AuthSettingsButton-BZsCIA2Z.js} +1 -1
- package/dist/assets/{Vibe64DashboardShell-B4dQ-oHD.js → Vibe64DashboardShell-DFE-2tFZ.js} +1 -1
- package/dist/assets/{Vibe64DatabaseWorkspace-Bh5WIPOj.js → Vibe64DatabaseWorkspace-BdvxuFPT.js} +1 -1
- package/dist/assets/{Vibe64OutputControls-DtybwgL3.js → Vibe64OutputControls-DsCbasR0.js} +1 -1
- package/dist/assets/{Vibe64RepositoryWorkspace-idDg94lc.js → Vibe64RepositoryWorkspace-CVN2HKCB.js} +1 -1
- package/dist/assets/{Vibe64SessionFiles-Z9zxosyl.js → Vibe64SessionFiles-DKo5wd8-.js} +2 -3
- package/dist/assets/{Vibe64UiStoryboardView-CrCDWMdR.js → Vibe64UiStoryboardView-BYqVdBAt.js} +1 -1
- package/dist/assets/{Vibe64UnavailableSessions-TqsxvGSf.js → Vibe64UnavailableSessions-CQjgoaS0.js} +1 -1
- package/dist/assets/{_sessionId_-7F1VGOou.js → _sessionId_-ByUkrRd7.js} +1 -1
- package/dist/assets/{_slug_-Bq84T_Iv.js → _slug_-hep_be7Z.js} +3 -3
- package/dist/assets/{access-Cx9RH95J.js → access-CWZMu-ND.js} +1 -1
- package/dist/assets/{app-DPx4KKOa.js → app-D_itm2S5.js} +1 -1
- package/dist/assets/asyncModuleRecovery-DJsn5NrL.js +1 -0
- package/dist/assets/{changes-DYsuQLFW.js → changes-BYuFfnEm.js} +1 -1
- package/dist/assets/{client-BYsDPxR3.js → client-B88Jggew.js} +1 -1
- package/dist/assets/client-CP2EwnrY.js +1 -0
- package/dist/assets/{conversation-3ln-WnbL.css → conversation-CSDHdGDb.css} +1 -1
- package/dist/assets/conversation-DG9lp25w.js +8 -0
- package/dist/assets/conversation-DL4AODd9.js +13 -0
- package/dist/assets/{dashboard-CWswAbYP.js → dashboard-R4qgYv8O.js} +1 -1
- package/dist/assets/english-definitions-CdIGswXU.js +1 -0
- package/dist/assets/{env-X7EOFLtl.js → env-DtkytCtq.js} +1 -1
- package/dist/assets/{health-C0f6s-G1.js → health-Ut9eZrbK.js} +1 -1
- package/dist/assets/{history-BQjETNB9.js → history-BrmvkGgi.js} +1 -1
- package/dist/assets/{incoming-COpY201m.js → incoming-CicEs40v.js} +1 -1
- package/dist/assets/{index-MWACm8Pp.css → index-B-dukXUB.css} +1 -1
- package/dist/assets/index-DZgCwvFD.js +136 -0
- package/dist/assets/{integrations-BBkvNRHu.js → integrations-QHeHC-C9.js} +10 -2
- package/dist/assets/issues-Ds7iAQFQ.js +1 -0
- package/dist/assets/{learning-B8_wHoe1.js → learning-Dq0xbg3x.js} +1 -1
- package/dist/assets/linkPath-Ch9eft18.js +1 -0
- package/dist/assets/{placement-DXvgK433.js → placement-BNmlke_j.js} +1 -1
- package/dist/assets/placement-DYM3JJ-F.js +1 -0
- package/dist/assets/{publish-CeLZE2AG.js → publish-eErG67LW.js} +1 -1
- package/dist/assets/pull-requests-DHLK83qZ.js +1 -0
- package/dist/assets/{repository-BNPt7UWc.js → repository-DWw1VFIQ.js} +1 -1
- package/dist/assets/{settings-lecRzZ-r.js → settings-QkwnoNn3.js} +1 -1
- package/dist/assets/{studioGateApi-BVdclhPL.js → studioGateApi-mkX1eOTX.js} +1 -1
- package/dist/assets/{studioUrls-CGKCbM_d.js → studioUrls-B0-GdWh8.js} +1 -1
- package/dist/assets/{useArchivedVibe64Sessions-DHYRnyJD.js → useArchivedVibe64Sessions-Biy_4sxD.js} +1 -1
- package/dist/assets/useCommand-DhwB5k1w.js +1 -0
- package/dist/assets/useEndpointResource-tVvsJvd4.js +1 -0
- package/dist/assets/usePaths-Y6UuQxmI.js +1 -0
- package/dist/assets/{useUiFeedback-B51xtCAK.js → useUiFeedback-DLUToc5y.js} +1 -1
- package/dist/assets/useVibe64ConversationLog-jM3KOvN7.js +1 -0
- package/dist/assets/{useVibe64DatabaseTools-BE_yXZFn.js → useVibe64DatabaseTools-Cac_aZnv.js} +1 -1
- package/dist/assets/{useVibe64ProjectScope-D7b8n1gx.js → useVibe64ProjectScope-DXjsKKhl.js} +1 -1
- package/dist/assets/useVibe64SessionData-FGnNvFfK.js +1 -0
- package/dist/assets/{useVibe64SessionSelection-CDaX4uwY.js → useVibe64SessionSelection-Bgsif-tm.js} +1 -1
- package/dist/assets/{useVibe64SystemGraph-CDDcsye4.js → useVibe64SystemGraph-idV9zXa9.js} +1 -1
- package/dist/assets/{useVibe64Terminal-Zr3Mig2L.js → useVibe64Terminal-B9EWJ9Ba.js} +2 -2
- package/dist/assets/vibe64ProjectScope.local-l5_-E6pq.js +1 -0
- package/dist/assets/{vibe64SessionFocus-DzqbVq60.js → vibe64SessionFocus-CDIB5Gpr.js} +1 -1
- package/dist/index.html +25 -22
- package/docs/colleague-usage/coding-agents.md +4 -7
- package/docs/colleague-usage/preview-browser-checks.md +5 -3
- package/node_modules/@jskit-ai/assistant-core/CHANGELOG.md +539 -0
- package/node_modules/@jskit-ai/assistant-core/locales/en.json +383 -0
- package/node_modules/@jskit-ai/assistant-core/package.json +3 -2
- package/node_modules/@jskit-ai/assistant-runtime/CHANGELOG.md +138 -0
- package/node_modules/@jskit-ai/assistant-runtime/locales/en.json +136 -0
- package/node_modules/@jskit-ai/assistant-runtime/package.json +3 -2
- package/node_modules/@jskit-ai/assistant-runtime/src/server/repositories/assistantConfigRepository.js +223 -203
- package/node_modules/@jskit-ai/assistant-runtime/src/server/repositories/conversationsRepository.js +286 -266
- package/node_modules/@jskit-ai/assistant-runtime/src/server/repositories/messagesRepository.js +270 -250
- package/node_modules/@jskit-ai/assistant-voice/locales/en.json +182 -0
- package/node_modules/@jskit-ai/assistant-voice/package.json +3 -2
- package/node_modules/@jskit-ai/connector-google-calendar/CHANGELOG.md +83 -0
- package/node_modules/@jskit-ai/connector-google-calendar/locales/en.json +91 -0
- package/node_modules/@jskit-ai/connector-google-calendar/package.json +4 -3
- package/node_modules/@jskit-ai/connectors-catalog/CHANGELOG.md +1722 -0
- package/node_modules/@jskit-ai/connectors-catalog/README.md +11 -0
- package/node_modules/@jskit-ai/connectors-catalog/locales/en.json +3139 -0
- package/node_modules/@jskit-ai/connectors-catalog/package.json +5 -4
- package/node_modules/@jskit-ai/connectors-core/CHANGELOG.md +183 -0
- package/node_modules/@jskit-ai/connectors-core/locales/en.json +92 -0
- package/node_modules/@jskit-ai/connectors-core/package.json +3 -2
- package/node_modules/@jskit-ai/http-runtime/CHANGELOG.md +31 -0
- package/node_modules/@jskit-ai/http-runtime/locales/en.json +14 -0
- package/node_modules/@jskit-ai/http-runtime/package.json +3 -2
- package/node_modules/@jskit-ai/kernel/CHANGELOG.md +182 -0
- package/node_modules/@jskit-ai/kernel/locales/en.json +94 -0
- package/node_modules/@jskit-ai/kernel/package.json +6 -2
- package/node_modules/@jskit-ai/payments-core/CHANGELOG.md +128 -0
- package/node_modules/@jskit-ai/payments-core/locales/en.json +77 -0
- package/node_modules/@jskit-ai/payments-core/package.json +3 -2
- package/node_modules/@jskit-ai/realtime/CHANGELOG.md +20 -0
- package/node_modules/@jskit-ai/realtime/locales/en.json +14 -0
- package/node_modules/@jskit-ai/realtime/package.json +3 -2
- package/node_modules/@jskit-ai/resource-core/package.json +1 -1
- package/node_modules/@jskit-ai/resource-crud-core/package.json +1 -1
- package/node_modules/@jskit-ai/uploads-runtime/CHANGELOG.md +35 -0
- package/node_modules/@jskit-ai/uploads-runtime/locales/en.json +15 -0
- package/node_modules/@jskit-ai/uploads-runtime/package.json +3 -2
- package/node_modules/@local/vibe64-execution/src/host/execHelper.js +15 -14
- package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +493 -453
- package/node_modules/@local/vibe64-genesis/src/server/index.js +109 -108
- package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +119 -119
- package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +106 -106
- package/node_modules/@local/vibe64-terminals/src/server/opencodeSessionEnvironmentPlugin.js +195 -175
- package/package.json +14 -14
- package/server.bundle.mjs +41988 -40760
- package/dist/assets/conversation-Bn7wpATa.js +0 -2
- package/dist/assets/conversation-CNcCrV-R.js +0 -16
- package/dist/assets/definitions-CEbi4qae.js +0 -1
- package/dist/assets/index-CBo1BEk6.js +0 -138
- package/dist/assets/issues-BiSiUd5o.js +0 -1
- package/dist/assets/placement-B5T1LR7m.js +0 -1
- package/dist/assets/pull-requests-pTdQOT7i.js +0 -1
- package/dist/assets/useCommand-Epd2yHhQ.js +0 -1
- package/dist/assets/useEndpointResource-DBRQISI_.js +0 -1
- package/dist/assets/usePaths-DdAnjVDj.js +0 -1
- package/dist/assets/useVibe64ConversationLog-DboM3tYN.js +0 -1
- package/dist/assets/useVibe64SessionData-CreWtQAO.js +0 -1
- package/dist/assets/vibe64ProjectScope.local-BxTBYuRg.js +0 -1
package/dist/assets/{Vibe64RepositoryWorkspace-idDg94lc.js → Vibe64RepositoryWorkspace-CVN2HKCB.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as __toESM,t as __commonJSMin}from"./rolldown-runtime-DBalRfVu.js";import{D as createVNode,E as createTextVNode,Ht as watch,On as unref,Pt as useId,Zn as normalizeClass,_ as createBaseVNode,b as createElementBlock,bt as renderList,ct as onMounted,er as normalizeStyle,g as computed,gn as reactive,it as onBeforeUnmount,mt as openBlock,o as Fragment,pn as onScopeDispose,qt as withCtx,tr as toDisplayString,v as createBlock,vn as ref,w as createSlots,y as createCommentVNode}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{_ as VIcon,p as VProgressLinear}from"./VAvatar-H2hyOWlB.js";import{d as getHttpWebClient}from"./vibe64ProjectScope.local-
|
|
1
|
+
import{a as __toESM,t as __commonJSMin}from"./rolldown-runtime-DBalRfVu.js";import{D as createVNode,E as createTextVNode,Ht as watch,On as unref,Pt as useId,Zn as normalizeClass,_ as createBaseVNode,b as createElementBlock,bt as renderList,ct as onMounted,er as normalizeStyle,g as computed,gn as reactive,it as onBeforeUnmount,mt as openBlock,o as Fragment,pn as onScopeDispose,qt as withCtx,tr as toDisplayString,v as createBlock,vn as ref,w as createSlots,y as createCommentVNode}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{_ as VIcon,p as VProgressLinear}from"./VAvatar-H2hyOWlB.js";import{d as getHttpWebClient}from"./vibe64ProjectScope.local-l5_-E6pq.js";import{t as VChip}from"./VChip-Uixfx461.js";import{Sr as mdiSourceRepository,U as mdiChevronRight,X as mdiClose,Y as mdiClockOutline,br as mdiSourceMerge,c as mdiAccountOutline,et as mdiCloudRefreshOutline,jt as mdiFileCompare,vr as mdiSourceBranchSync,yr as mdiSourceCommit}from"./mdi-X9prU-DG.js";import{t as VBtn}from"./VBtn-Sj5jAuOx.js";import{t as VAlert}from"./VAlert-7_VM9EUm.js";import{t as VDivider}from"./VDivider-AUQb_N9d.js";import{t as VSheet}from"./VSheet-CMhyReNa.js";import{t as VDialog}from"./VDialog-Drp3yzSH.js";import{i as VCardTitle,n as VCardText,o as VCardActions,t as VCard}from"./VCard-DExT9Cji.js";import{t as VSpacer}from"./VSpacer-BSTt0_VA.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{n as useRealtimeEvent}from"./useRealtimeEvent-BNXVwzFG.js";import{t as StudioErrorNotice_default}from"./StudioErrorNotice-DudSuU3G.js";import{r as writeLocalStorageJson,t as readLocalStorageJson}from"./browserLocalStorage-B4C7rHrs.js";import"./shared-BEwrtWSp.js";import{t as vibe64ApiError}from"./vibe64ApiResponses-B4VY77Q_.js";import{$ as vibe64SessionChangeDiffPath,C as readRefOrGetterValue,M as VIBE64_SOURCE_EDITOR_FILE_CHANGED_EVENT,Q as vibe64RepositoryVersionFilesPath,X as vibe64RepositoryHistoryPath,Z as vibe64RepositoryVersionDiffPath,et as vibe64SessionChangesPath,j as VIBE64_SESSION_CHANGED_EVENT,tt as vibe64SessionCheckUpdatesPath}from"./index-DZgCwvFD.js";import{t as Vibe64TemporaryAiFixAction_default}from"./Vibe64TemporaryAiFixAction-CV26vPTg.js";import{n as diffWordsWithSpace,r as diffChars}from"./libesm-CR-iGldz.js";import{n as repositoryStatusRealtimeShouldRefresh,r as repositoryStatusSessionId,t as repositoryStatusRealtimeNeedsCanonicalCheck}from"./vibe64RepositoryRealtime-C-J0I5jY.js";import{t as Vibe64DashboardPageHeader_default}from"./Vibe64DashboardPageHeader-BhPHQu6p.js";function nonnegativeInteger(value){const number=Number(value);return Number.isSafeInteger(number)&&number>=0?number:0}function repositoryUpdateRelationship(aheadValue=0,behindValue=0){const ahead=nonnegativeInteger(aheadValue);const behind=nonnegativeInteger(behindValue);if(ahead>0&&behind>0)return`diverged`;if(behind>0)return`behind`;if(ahead>0)return`ahead`;return`current`}var LineType;(function(LineType){LineType[`INSERT`]=`insert`;LineType[`DELETE`]=`delete`;LineType[`CONTEXT`]=`context`})(LineType||(LineType={}));var OutputFormatType={LINE_BY_LINE:`line-by-line`,SIDE_BY_SIDE:`side-by-side`};var LineMatchingType={LINES:`lines`,WORDS:`words`,NONE:`none`};var DiffStyleType={WORD:`word`,CHAR:`char`};var ColorSchemeType;(function(ColorSchemeType){ColorSchemeType[`AUTO`]=`auto`;ColorSchemeType[`DARK`]=`dark`;ColorSchemeType[`LIGHT`]=`light`})(ColorSchemeType||(ColorSchemeType={}));var regex=RegExp(`[`+[`-`,`[`,`]`,`/`,`{`,`}`,`(`,`)`,`*`,`+`,`?`,`.`,`\\`,`^`,`$`,`|`].join(`\\`)+`]`,`g`);function escapeForRegExp(str){return str.replace(regex,`\\$&`)}function unifyPath(path){return path?path.replace(/\\/g,`/`):path}function hashCode(text){let i,chr,len;let hash=0;for(i=0,len=text.length;i<len;i++){chr=text.charCodeAt(i);hash=(hash<<5)-hash+chr;hash|=0}return hash}function max(arr){const length=arr.length;let max=-Infinity;for(let i=0;i<length;i++)max=Math.max(max,arr[i]);return max}function getExtension(filename,language){const filenameParts=filename.split(`.`);return filenameParts.length>1?filenameParts[filenameParts.length-1]:language}function startsWithAny(str,prefixes){return prefixes.reduce((startsWith,prefix)=>startsWith||str.startsWith(prefix),false)}var baseDiffFilenamePrefixes=[`a/`,`b/`,`i/`,`w/`,`c/`,`o/`];function getFilename(line,linePrefix,extraPrefix){const prefixes=extraPrefix!==void 0?[...baseDiffFilenamePrefixes,extraPrefix]:baseDiffFilenamePrefixes;const[,filename=``]=(linePrefix?new RegExp(`^${escapeForRegExp(linePrefix)} "?(.+?)"?$`):new RegExp(`^"?(.+?)"?$`)).exec(line)||[];const matchingPrefix=prefixes.find(p=>filename.indexOf(p)===0);return(matchingPrefix?filename.slice(matchingPrefix.length):filename).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,``)}function getSrcFilename(line,srcPrefix){return getFilename(line,`---`,srcPrefix)}function getDstFilename(line,dstPrefix){return getFilename(line,`+++`,dstPrefix)}function parse(diffInput,config={}){const files=[];let currentFile=null;let currentBlock=null;let oldLine=null;let oldLine2=null;let newLine=null;let possibleOldName=null;let possibleNewName=null;const oldFileNameHeader=`--- `;const newFileNameHeader=`+++ `;const hunkHeaderPrefix=`@@`;const oldMode=/^old mode (\d{6})/;const newMode=/^new mode (\d{6})/;const deletedFileMode=/^deleted file mode (\d{6})/;const newFileMode=/^new file mode (\d{6})/;const copyFrom=/^copy from "?(.+)"?/;const copyTo=/^copy to "?(.+)"?/;const renameFrom=/^rename from "?(.+)"?/;const renameTo=/^rename to "?(.+)"?/;const similarityIndex=/^similarity index (\d+)%/;const dissimilarityIndex=/^dissimilarity index (\d+)%/;const index=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/;const binaryFiles=/^Binary files (.*) and (.*) differ/;const binaryDiff=/^GIT binary patch/;const combinedIndex=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/;const combinedMode=/^mode (\d{6}),(\d{6})\.\.(\d{6})/;const combinedNewFile=/^new file mode (\d{6})/;const combinedDeletedFile=/^deleted file mode (\d{6}),(\d{6})/;const diffLines=diffInput.replace(/\/g,``).replace(/\r\n?/g,`
|
|
2
2
|
`).split(`
|
|
3
3
|
`);function saveBlock(){if(currentBlock!==null&¤tFile!==null){currentFile.blocks.push(currentBlock);currentBlock=null}}function saveFile(){if(currentFile!==null){if(!currentFile.oldName&&possibleOldName!==null)currentFile.oldName=possibleOldName;if(!currentFile.newName&&possibleNewName!==null)currentFile.newName=possibleNewName;if(currentFile.newName){files.push(currentFile);currentFile=null}}possibleOldName=null;possibleNewName=null}function startFile(){saveBlock();saveFile();currentFile={blocks:[],deletedLines:0,addedLines:0}}function startBlock(line){saveBlock();let values;if(currentFile!==null){if(values=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(line)){currentFile.isCombined=false;oldLine=parseInt(values[1],10);newLine=parseInt(values[2],10)}else if(values=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(line)){currentFile.isCombined=true;oldLine=parseInt(values[1],10);oldLine2=parseInt(values[2],10);newLine=parseInt(values[3],10)}else{if(line.startsWith(hunkHeaderPrefix))console.error(`Failed to parse lines, starting in 0!`);oldLine=0;newLine=0;currentFile.isCombined=false}}currentBlock={lines:[],oldStartLine:oldLine,oldStartLine2:oldLine2,newStartLine:newLine,header:line}}function createLine(line){if(currentFile===null||currentBlock===null||oldLine===null||newLine===null)return;const currentLine={content:line};const addedPrefixes=currentFile.isCombined?[`+ `,` +`,`++`]:[`+`];const deletedPrefixes=currentFile.isCombined?[`- `,` -`,`--`]:[`-`];if(startsWithAny(line,addedPrefixes)){currentFile.addedLines++;currentLine.type=LineType.INSERT;currentLine.oldNumber=void 0;currentLine.newNumber=newLine++}else if(startsWithAny(line,deletedPrefixes)){currentFile.deletedLines++;currentLine.type=LineType.DELETE;currentLine.oldNumber=oldLine++;currentLine.newNumber=void 0}else{currentLine.type=LineType.CONTEXT;currentLine.oldNumber=oldLine++;currentLine.newNumber=newLine++}currentBlock.lines.push(currentLine)}function existHunkHeader(line,lineIdx){let idx=lineIdx;while(idx<diffLines.length-3){if(line.startsWith(`diff`))return false;if(diffLines[idx].startsWith(oldFileNameHeader)&&diffLines[idx+1].startsWith(newFileNameHeader)&&diffLines[idx+2].startsWith(hunkHeaderPrefix))return true;idx++}return false}diffLines.forEach((line,lineIndex)=>{if(!line||line.startsWith(`*`))return;let values;const prevLine=diffLines[lineIndex-1];const nxtLine=diffLines[lineIndex+1];const afterNxtLine=diffLines[lineIndex+2];if(line.startsWith(`diff --git`)||line.startsWith(`diff --combined`)){startFile();if(values=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(line)){possibleOldName=getFilename(values[1],void 0,config.dstPrefix);possibleNewName=getFilename(values[2],void 0,config.srcPrefix)}if(currentFile===null)throw new Error(`Where is my file !!!`);currentFile.isGitDiff=true;return}if(line.startsWith(`Binary files`)&&!(currentFile===null||currentFile===void 0?void 0:currentFile.isGitDiff)){startFile();if(values=/^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(line)){possibleOldName=getFilename(values[1],void 0,config.dstPrefix);possibleNewName=getFilename(values[2],void 0,config.srcPrefix)}if(currentFile===null)throw new Error(`Where is my file !!!`);currentFile.isBinary=true;return}if(!currentFile||!currentFile.isGitDiff&¤tFile&&line.startsWith(oldFileNameHeader)&&nxtLine.startsWith(newFileNameHeader)&&afterNxtLine.startsWith(hunkHeaderPrefix))startFile();if(currentFile===null||currentFile===void 0?void 0:currentFile.isTooBig)return;if(currentFile&&(typeof config.diffMaxChanges===`number`&¤tFile.addedLines+currentFile.deletedLines>config.diffMaxChanges||typeof config.diffMaxLineLength===`number`&&line.length>config.diffMaxLineLength)){currentFile.isTooBig=true;currentFile.addedLines=0;currentFile.deletedLines=0;currentFile.blocks=[];currentBlock=null;startBlock(typeof config.diffTooBigMessage===`function`?config.diffTooBigMessage(files.length):`Diff too big to be displayed`);return}if(line.startsWith(oldFileNameHeader)&&nxtLine.startsWith(newFileNameHeader)||line.startsWith(newFileNameHeader)&&prevLine.startsWith(oldFileNameHeader)){if(currentFile&&!currentFile.oldName&&line.startsWith(`--- `)&&(values=getSrcFilename(line,config.srcPrefix))){currentFile.oldName=values;currentFile.language=getExtension(currentFile.oldName,currentFile.language);return}if(currentFile&&!currentFile.newName&&line.startsWith(`+++ `)&&(values=getDstFilename(line,config.dstPrefix))){currentFile.newName=values;currentFile.language=getExtension(currentFile.newName,currentFile.language);return}}if(currentFile&&(line.startsWith(hunkHeaderPrefix)||currentFile.isGitDiff&¤tFile.oldName&¤tFile.newName&&!currentBlock)){startBlock(line);return}if(currentBlock&&(line.startsWith(`+`)||line.startsWith(`-`)||line.startsWith(` `))){createLine(line);return}const doesNotExistHunkHeader=!existHunkHeader(line,lineIndex);if(currentFile===null)throw new Error(`Where is my file !!!`);if(values=oldMode.exec(line))currentFile.oldMode=values[1];else if(values=newMode.exec(line))currentFile.newMode=values[1];else if(values=deletedFileMode.exec(line)){currentFile.deletedFileMode=values[1];currentFile.isDeleted=true}else if(values=newFileMode.exec(line)){currentFile.newFileMode=values[1];currentFile.isNew=true}else if(values=copyFrom.exec(line)){if(doesNotExistHunkHeader)currentFile.oldName=values[1];currentFile.isCopy=true}else if(values=copyTo.exec(line)){if(doesNotExistHunkHeader)currentFile.newName=values[1];currentFile.isCopy=true}else if(values=renameFrom.exec(line)){if(doesNotExistHunkHeader)currentFile.oldName=values[1];currentFile.isRename=true}else if(values=renameTo.exec(line)){if(doesNotExistHunkHeader)currentFile.newName=values[1];currentFile.isRename=true}else if(values=binaryFiles.exec(line)){currentFile.isBinary=true;currentFile.oldName=getFilename(values[1],void 0,config.srcPrefix);currentFile.newName=getFilename(values[2],void 0,config.dstPrefix);startBlock(`Binary file`)}else if(binaryDiff.test(line)){currentFile.isBinary=true;startBlock(line)}else if(values=similarityIndex.exec(line))currentFile.unchangedPercentage=parseInt(values[1],10);else if(values=dissimilarityIndex.exec(line))currentFile.changedPercentage=parseInt(values[1],10);else if(values=index.exec(line)){currentFile.checksumBefore=values[1];currentFile.checksumAfter=values[2];if(values[3])currentFile.mode=values[3]}else if(values=combinedIndex.exec(line)){currentFile.checksumBefore=[values[2],values[3]];currentFile.checksumAfter=values[1]}else if(values=combinedMode.exec(line)){currentFile.oldMode=[values[2],values[3]];currentFile.newMode=values[1]}else if(values=combinedNewFile.exec(line)){currentFile.newFileMode=values[1];currentFile.isNew=true}else if(values=combinedDeletedFile.exec(line)){currentFile.deletedFileMode=values[1];currentFile.isDeleted=true}});saveBlock();saveFile();return files}function levenshtein(a,b){if(a.length===0)return b.length;if(b.length===0)return a.length;const matrix=[];let i=0;for(;i<=b.length;i++)matrix[i]=[i];let j=0;for(;j<=a.length;j++)matrix[0][j]=j;for(i=1;i<=b.length;i++)for(j=1;j<=a.length;j++)if(b.charAt(i-1)===a.charAt(j-1))matrix[i][j]=matrix[i-1][j-1];else matrix[i][j]=Math.min(matrix[i-1][j-1]+1,Math.min(matrix[i][j-1]+1,matrix[i-1][j]+1));return matrix[b.length][a.length]}function newDistanceFn(str){return(x,y)=>{const xValue=str(x).trim();const yValue=str(y).trim();return levenshtein(xValue,yValue)/(xValue.length+yValue.length)}}function newMatcherFn(distance){function findBestMatch(a,b,cache=new Map){let bestMatchDist=Infinity;let bestMatch;for(let i=0;i<a.length;++i)for(let j=0;j<b.length;++j){const cacheKey=JSON.stringify([a[i],b[j]]);let md;if(!(cache.has(cacheKey)&&(md=cache.get(cacheKey)))){md=distance(a[i],b[j]);cache.set(cacheKey,md)}if(md<bestMatchDist){bestMatchDist=md;bestMatch={indexA:i,indexB:j,score:bestMatchDist}}}return bestMatch}function group(a,b,level=0,cache=new Map){const bm=findBestMatch(a,b,cache);if(!bm||a.length+b.length<3)return[[a,b]];const a1=a.slice(0,bm.indexA);const b1=b.slice(0,bm.indexB);const aMatch=[a[bm.indexA]];const bMatch=[b[bm.indexB]];const tailA=bm.indexA+1;const tailB=bm.indexB+1;const a2=a.slice(tailA);const b2=b.slice(tailB);const group1=group(a1,b1,level+1,cache);const groupMatch=group(aMatch,bMatch,level+1,cache);const group2=group(a2,b2,level+1,cache);let result=groupMatch;if(bm.indexA>0||bm.indexB>0)result=group1.concat(result);if(a.length>tailA||b.length>tailB)result=result.concat(group2);return result}return group}var CSSLineClass={INSERTS:`d2h-ins`,DELETES:`d2h-del`,CONTEXT:`d2h-cntx`,INFO:`d2h-info`,INSERT_CHANGES:`d2h-ins d2h-change`,DELETE_CHANGES:`d2h-del d2h-change`};var defaultRenderConfig={matching:LineMatchingType.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:DiffStyleType.WORD,colorScheme:ColorSchemeType.LIGHT};var separator=`/`;var distance=newDistanceFn(change=>change.value);var matcher=newMatcherFn(distance);function isDevNullName(name){return name.indexOf(`dev/null`)!==-1}function removeInsElements(line){return line.replace(/(<ins[^>]*>((.|\n)*?)<\/ins>)/g,``)}function removeDelElements(line){return line.replace(/(<del[^>]*>((.|\n)*?)<\/del>)/g,``)}function toCSSClass(lineType){switch(lineType){case LineType.CONTEXT:return CSSLineClass.CONTEXT;case LineType.INSERT:return CSSLineClass.INSERTS;case LineType.DELETE:return CSSLineClass.DELETES}}function colorSchemeToCss(colorScheme){switch(colorScheme){case ColorSchemeType.DARK:return`d2h-dark-color-scheme`;case ColorSchemeType.AUTO:return`d2h-auto-color-scheme`;case ColorSchemeType.LIGHT:default:return`d2h-light-color-scheme`}}function prefixLength(isCombined){return isCombined?2:1}function escapeForHtml(str){return str.slice(0).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`).replace(/\//g,`/`)}function deconstructLine(line,isCombined,escape=true){const indexToSplit=prefixLength(isCombined);return{prefix:line.substring(0,indexToSplit),content:escape?escapeForHtml(line.substring(indexToSplit)):line.substring(indexToSplit)}}function filenameDiff(file){const oldFilename=unifyPath(file.oldName);const newFilename=unifyPath(file.newName);if(oldFilename!==newFilename&&!isDevNullName(oldFilename)&&!isDevNullName(newFilename)){const prefixPaths=[];const suffixPaths=[];const oldFilenameParts=oldFilename.split(separator);const newFilenameParts=newFilename.split(separator);const oldFilenamePartsSize=oldFilenameParts.length;const newFilenamePartsSize=newFilenameParts.length;let i=0;let j=oldFilenamePartsSize-1;let k=newFilenamePartsSize-1;while(i<j&&i<k)if(oldFilenameParts[i]===newFilenameParts[i]){prefixPaths.push(newFilenameParts[i]);i+=1}else break;while(j>i&&k>i)if(oldFilenameParts[j]===newFilenameParts[k]){suffixPaths.unshift(newFilenameParts[k]);j-=1;k-=1}else break;const finalPrefix=prefixPaths.join(separator);const finalSuffix=suffixPaths.join(separator);const oldRemainingPath=oldFilenameParts.slice(i,j+1).join(separator);const newRemainingPath=newFilenameParts.slice(i,k+1).join(separator);if(finalPrefix.length&&finalSuffix.length)return finalPrefix+`/{`+oldRemainingPath+` → `+newRemainingPath+`}/`+finalSuffix;else if(finalPrefix.length)return finalPrefix+`/{`+oldRemainingPath+` → `+newRemainingPath+`}`;else if(finalSuffix.length)return`{`+oldRemainingPath+` → `+newRemainingPath+`}/`+finalSuffix;return oldFilename+` → `+newFilename}else if(!isDevNullName(newFilename))return newFilename;else return oldFilename}function getHtmlId(file){return`d2h-${hashCode(filenameDiff(file)).toString().slice(-6)}`}function getFileIcon(file){let templateName=`file-changed`;if(file.isRename)templateName=`file-renamed`;else if(file.isCopy)templateName=`file-renamed`;else if(file.isNew)templateName=`file-added`;else if(file.isDeleted)templateName=`file-deleted`;else if(file.newName!==file.oldName)templateName=`file-renamed`;return templateName}function diffHighlight(diffLine1,diffLine2,isCombined,config={}){const{matching,maxLineLengthHighlight,matchWordsThreshold,diffStyle}=Object.assign(Object.assign({},defaultRenderConfig),config);const line1=deconstructLine(diffLine1,isCombined,false);const line2=deconstructLine(diffLine2,isCombined,false);if(line1.content.length>maxLineLengthHighlight||line2.content.length>maxLineLengthHighlight)return{oldLine:{prefix:line1.prefix,content:escapeForHtml(line1.content)},newLine:{prefix:line2.prefix,content:escapeForHtml(line2.content)}};const diff=diffStyle===`char`?diffChars(line1.content,line2.content):diffWordsWithSpace(line1.content,line2.content);const changedWords=[];if(diffStyle===`word`&&matching===`words`){const removed=diff.filter(element=>element.removed);const added=diff.filter(element=>element.added);matcher(added,removed).forEach(chunk=>{if(chunk[0].length===1&&chunk[1].length===1){if(distance(chunk[0][0],chunk[1][0])<matchWordsThreshold){changedWords.push(chunk[0][0]);changedWords.push(chunk[1][0])}}})}const highlightedLine=diff.reduce((highlightedLine,part)=>{const elemType=part.added?`ins`:part.removed?`del`:null;const addClass=changedWords.indexOf(part)>-1?` class="d2h-change"`:``;const escapedValue=escapeForHtml(part.value);return elemType!==null?`${highlightedLine}<${elemType}${addClass}>${escapedValue}</${elemType}>`:`${highlightedLine}${escapedValue}`},``);return{oldLine:{prefix:line1.prefix,content:removeInsElements(highlightedLine)},newLine:{prefix:line2.prefix,content:removeDelElements(highlightedLine)}}}var baseTemplatesPath$2=`file-summary`;var iconsBaseTemplatesPath$2=`icon`;var defaultFileListRendererConfig={colorScheme:defaultRenderConfig.colorScheme};var FileListRenderer=class{constructor(hoganUtils,config={}){this.hoganUtils=hoganUtils;this.config=Object.assign(Object.assign({},defaultFileListRendererConfig),config)}render(diffFiles){const files=diffFiles.map(file=>this.hoganUtils.render(baseTemplatesPath$2,`line`,{fileHtmlId:getHtmlId(file),oldName:file.oldName,newName:file.newName,fileName:filenameDiff(file),deletedLines:`-`+file.deletedLines,addedLines:`+`+file.addedLines},{fileIcon:this.hoganUtils.template(iconsBaseTemplatesPath$2,getFileIcon(file))})).join(`
|
|
4
4
|
`);return this.hoganUtils.render(baseTemplatesPath$2,`wrapper`,{colorScheme:colorSchemeToCss(this.config.colorScheme),filesNumber:diffFiles.length,files})}};var defaultLineByLineRendererConfig=Object.assign(Object.assign({},defaultRenderConfig),{renderNothingWhenEmpty:false,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200});var genericTemplatesPath$1=`generic`;var baseTemplatesPath$1=`line-by-line`;var iconsBaseTemplatesPath$1=`icon`;var tagsBaseTemplatesPath$1=`tag`;var LineByLineRenderer=class{constructor(hoganUtils,config={}){this.hoganUtils=hoganUtils;this.config=Object.assign(Object.assign({},defaultLineByLineRendererConfig),config)}render(diffFiles){const diffsHtml=diffFiles.map(file=>{let diffs;if(file.blocks.length)diffs=this.generateFileHtml(file);else diffs=this.generateEmptyDiff();return this.makeFileDiffHtml(file,diffs)}).join(`
|