vault backup: 2025-08-12 16:40:13
This commit is contained in:
1 parent
7ca0264f26
commit
b084c2ead0
38 files changed
+11586
-9500
No files matched your search
Vendored
+5
-3
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"choices": [],
|
||||
"macros": [],
|
||||
"inputPrompt": "single-line",
|
||||
"devMode": false,
|
||||
"templateFolderPath": "",
|
||||
"announceUpdates": true,
|
||||
"version": "1.18.1",
|
||||
"version": "2.1.0",
|
||||
"disableOnlineFeatures": true,
|
||||
"enableRibbonIcon": false,
|
||||
"showCaptureNotification": true,
|
||||
"ai": {
|
||||
"defaultModel": "Ask me",
|
||||
"defaultSystemPrompt": "As an AI assistant within Obsidian, your primary goal is to help users manage their ideas and knowledge more effectively. Format your responses using Markdown syntax. Please use the [[Obsidian]] link format. You can write aliases for the links by writing [[Obsidian|the alias after the pipe symbol]]. To use mathematical notation, use LaTeX syntax. LaTeX syntax for larger equations should be on separate lines, surrounded with double dollar signs ($$). You can also inline math expressions by wrapping it in $ symbols. For example, use $$w_{ij}^{\text{new}}:=w_{ij}^{\text{current}}+etacdotdelta_jcdot x_{ij}$$ on a separate line, but you can write \"($eta$ = learning rate, $delta_j$ = error term, $x_{ij}$ = input)\" inline.",
|
||||
@@ -69,6 +69,8 @@
|
||||
"incrementFileNameSettingMoveToDefaultBehavior": true,
|
||||
"mutualExclusionInsertAfterAndWriteToBottomOfFile": true,
|
||||
"setVersionAfterUpdateModalRelease": true,
|
||||
"addDefaultAIProviders": true
|
||||
"addDefaultAIProviders": true,
|
||||
"removeMacroIndirection": true,
|
||||
"migrateFileOpeningSettings": true
|
||||
}
|
||||
}
|
||||
Vendored
+64
-55
@@ -3,79 +3,88 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
||||
if you want to view the source, please visit the github repository of this plugin
|
||||
*/
|
||||
|
||||
var zR=Object.create;var Jc=Object.defineProperty;var xR=Object.getOwnPropertyDescriptor;var UR=Object.getOwnPropertyNames;var BR=Object.getPrototypeOf,rR=Object.prototype.hasOwnProperty;var OR=(l,I,G)=>I in l?Jc(l,I,{enumerable:!0,configurable:!0,writable:!0,value:G}):l[I]=G;var EV=(l,I)=>()=>(I||l((I={exports:{}}).exports,I),I.exports),MR=(l,I)=>{for(var G in I)Jc(l,G,{get:I[G],enumerable:!0})},JV=(l,I,G,b)=>{if(I&&typeof I=="object"||typeof I=="function")for(let Z of UR(I))!rR.call(l,Z)&&Z!==G&&Jc(l,Z,{get:()=>I[Z],enumerable:!(b=xR(I,Z))||b.enumerable});return l};var MN=(l,I,G)=>(G=l!=null?zR(BR(l)):{},JV(I||!l||!l.__esModule?Jc(G,"default",{value:l,enumerable:!0}):G,l)),jR=l=>JV(Jc({},"__esModule",{value:!0}),l);var sI=(l,I,G)=>OR(l,typeof I!="symbol"?I+"":I,G);var ca=EV(zd=>{"use strict";zd.byteLength=yH;zd.toByteArray=CH;zd.fromByteArray=LH;var El=[],TG=[],sH=typeof Uint8Array<"u"?Uint8Array:Array,VY="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(qb=0,ba=VY.length;qb<ba;++qb)El[qb]=VY[qb],TG[VY.charCodeAt(qb)]=qb;var qb,ba;TG[45]=62;TG[95]=63;function Za(l){var I=l.length;if(I%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var G=l.indexOf("=");G===-1&&(G=I);var b=G===I?0:4-G%4;return[G,b]}function yH(l){var I=Za(l),G=I[0],b=I[1];return(G+b)*3/4-b}function eH(l,I,G){return(I+G)*3/4-G}function CH(l){var I,G=Za(l),b=G[0],Z=G[1],c=new sH(eH(l,b,Z)),W=0,d=Z>0?b-4:b,N;for(N=0;N<d;N+=4)I=TG[l.charCodeAt(N)]<<18|TG[l.charCodeAt(N+1)]<<12|TG[l.charCodeAt(N+2)]<<6|TG[l.charCodeAt(N+3)],c[W++]=I>>16&255,c[W++]=I>>8&255,c[W++]=I&255;return Z===2&&(I=TG[l.charCodeAt(N)]<<2|TG[l.charCodeAt(N+1)]>>4,c[W++]=I&255),Z===1&&(I=TG[l.charCodeAt(N)]<<10|TG[l.charCodeAt(N+1)]<<4|TG[l.charCodeAt(N+2)]>>2,c[W++]=I>>8&255,c[W++]=I&255),c}function gH(l){return El[l>>18&63]+El[l>>12&63]+El[l>>6&63]+El[l&63]}function AH(l,I,G){for(var b,Z=[],c=I;c<G;c+=3)b=(l[c]<<16&16711680)+(l[c+1]<<8&65280)+(l[c+2]&255),Z.push(gH(b));return Z.join("")}function LH(l){for(var I,G=l.length,b=G%3,Z=[],c=16383,W=0,d=G-b;W<d;W+=c)Z.push(AH(l,W,W+c>d?d:W+c));return b===1?(I=l[G-1],Z.push(El[I>>2]+El[I<<4&63]+"==")):b===2&&(I=(l[G-2]<<8)+l[G-1],Z.push(El[I>>10]+El[I>>4&63]+El[I<<2&63]+"=")),Z.join("")}});var IR=EV(Al=>{"use strict";Object.defineProperty(Al,"__esModule",{value:!0});require("obsidian");var ql=class extends Error{},sY=class extends ql{constructor(I){super(`Invalid DateTime: ${I.toMessage()}`)}},yY=class extends ql{constructor(I){super(`Invalid Interval: ${I.toMessage()}`)}},eY=class extends ql{constructor(I){super(`Invalid Duration: ${I.toMessage()}`)}},$b=class extends ql{},IN=class extends ql{constructor(I){super(`Invalid unit ${I}`)}},JG=class extends ql{},Cl=class extends ql{constructor(){super("Zone is an abstract class")}},B="numeric",al="short",oG="long",GN={year:B,month:B,day:B},IF={year:B,month:al,day:B},bp={year:B,month:al,day:B,weekday:al},GF={year:B,month:oG,day:B},lF={year:B,month:oG,day:B,weekday:oG},bF={hour:B,minute:B},ZF={hour:B,minute:B,second:B},cF={hour:B,minute:B,second:B,timeZoneName:al},WF={hour:B,minute:B,second:B,timeZoneName:oG},dF={hour:B,minute:B,hourCycle:"h23"},NF={hour:B,minute:B,second:B,hourCycle:"h23"},mF={hour:B,minute:B,second:B,hourCycle:"h23",timeZoneName:al},YF={hour:B,minute:B,second:B,hourCycle:"h23",timeZoneName:oG},VF={year:B,month:B,day:B,hour:B,minute:B},hF={year:B,month:B,day:B,hour:B,minute:B,second:B},aF={year:B,month:al,day:B,hour:B,minute:B},FF={year:B,month:al,day:B,hour:B,minute:B,second:B},Zp={year:B,month:al,day:B,weekday:al,hour:B,minute:B},RF={year:B,month:oG,day:B,hour:B,minute:B,timeZoneName:al},XF={year:B,month:oG,day:B,hour:B,minute:B,second:B,timeZoneName:al},QF={year:B,month:oG,day:B,weekday:oG,hour:B,minute:B,timeZoneName:oG},HF={year:B,month:oG,day:B,weekday:oG,hour:B,minute:B,second:B,timeZoneName:oG},lZ=class{get type(){throw new Cl}get name(){throw new Cl}get ianaName(){return this.name}get isUniversal(){throw new Cl}offsetName(I,G){throw new Cl}formatOffset(I,G){throw new Cl}offset(I){throw new Cl}equals(I){throw new Cl}get isValid(){throw new Cl}},pY=null,lN=class l extends lZ{static get instance(){return pY===null&&(pY=new l),pY}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(I,{format:G,locale:b}){return uF(I,G,b)}formatOffset(I,G){return VW(this.offset(I),G)}offset(I){return-new Date(I).getTimezoneOffset()}equals(I){return I.type==="system"}get isValid(){return!0}},_d={};function cp(l){return _d[l]||(_d[l]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:l,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),_d[l]}var Wp={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function dp(l,I){let G=l.format(I).replace(/\u200E/g,""),b=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(G),[,Z,c,W,d,N,m,Y]=b;return[W,Z,c,d,N,m,Y]}function Np(l,I){let G=l.formatToParts(I),b=[];Line truncated
|
||||
`||R.charAt(i)==="\r"&&R.charAt(i+1)!==`
|
||||
`)&&(L++,k===0&&(k=i+1)),i--}var f=e+L,nI=p-k;return E[p]={line:f,lineStart:k},{offset:p,line:f+1,column:nI+1}}function x(R){if(!F(R))throw new Error("not a parser: "+R)}function GI(R,p){return typeof R=="string"?R.charAt(p):R[p]}function lI(R){if(typeof R!="number")throw new Error("not a number: "+R)}function aI(R){if(typeof R!="function")throw new Error("not a function: "+R)}function hI(R){if(typeof R!="string")throw new Error("not a string: "+R)}var vI=2,zG=3,kI=8,$G=5*kI,lG=4*kI,YG=" ";function Il(R,p){return new Array(p+1).join(R)}function o(R,p,E){var e=p-R.length;return e<=0?R:Il(E,e)+R}function NI(R,p,E,e){return{from:R-p>0?R-p:0,to:R+E>e?e:R+E}}function QI(R,p){var E,e,L,k,i,f=p.index,nI=f.offset,XG=1;if(nI===R.length)return"Got the end of the input";if(y(R)){var ZG=nI-nI%kI,il=nI-ZG,sG=NI(ZG,$G,lG+kI,R.length),zl=m(function(KI){return m(function(mZ){return o(mZ.toString(16),2,"0")},KI)},function(KI,mZ){var YZ=KI.length,nb=[],VZ=0;if(YZ<=mZ)return[KI.slice()];for(var hZ=0;hZ<YZ;hZ++)nb[VZ]||nb.push([]),nb[VZ].push(KI[hZ]),(hZ+1)%mZ==0&&VZ++;return nb}(R.slice(sG.from,sG.to).toJSON().data,kI));k=function(KI){return KI.from===0&&KI.to===1?{from:KI.from,to:KI.to}:{from:KI.from/kI,to:Math.floor(KI.to/kI)}}(sG),e=ZG/kI,E=3*il,il>=4&&(E+=1),XG=2,L=m(function(KI){return KI.length<=4?KI.join(" "):KI.slice(0,4).join(" ")+" "+KI.slice(4).join(" ")},zl),(i=(8*(k.to>0?k.to-1:k.to)).toString(16).length)<2&&(i=2)}else{var NZ=R.split(/\r\n|[\n\r\u2028\u2029]/);E=f.column-1,e=f.line-1,k=NI(e,vI,zG,NZ.length),L=NZ.slice(k.from,k.to),i=k.to.toString().length}var iR=e-k.from;return y(R)&&(i=(8*(k.to>0?k.to-1:k.to)).toString(16).length)<2&&(i=2),N(function(KI,mZ,YZ){var nb,VZ=YZ===iR,hZ=VZ?"> ":YG;return nb=y(R)?o((8*(k.from+YZ)).toString(16),i,"0"):o((k.from+YZ+1).toString(),i," "),[].concat(KI,[hZ+nb+" | "+mZ],VZ?[YG+Il(" ",i)+" | "+o("",E," ")+Il("^",XG)]:[])},[],L).join(`
|
||||
`)}function bG(R,p){return[`
|
||||
`,"-- PARSING FAILED "+Il("-",50),`
|
||||
var sw=Object.create;var Cd=Object.defineProperty;var vw=Object.getOwnPropertyDescriptor;var Ew=Object.getOwnPropertyNames;var Jw=Object.getPrototypeOf,yw=Object.prototype.hasOwnProperty;var Cw=(b,I,G)=>I in b?Cd(b,I,{enumerable:!0,configurable:!0,writable:!0,value:G}):b[I]=G;var DY=(b,I)=>()=>(I||b((I={exports:{}}).exports,I),I.exports),Wl=(b,I)=>{for(var G in I)Cd(b,G,{get:I[G],enumerable:!0})},op=(b,I,G,l)=>{if(I&&typeof I=="object"||typeof I=="function")for(let Z of Ew(I))!yw.call(b,Z)&&Z!==G&&Cd(b,Z,{get:()=>I[Z],enumerable:!(l=vw(I,Z))||l.enumerable});return b};var EI=(b,I,G)=>(G=b!=null?sw(Jw(b)):{},op(I||!b||!b.__esModule?Cd(G,"default",{value:b,enumerable:!0}):G,b)),gw=b=>op(Cd({},"__esModule",{value:!0}),b);var O=(b,I,G)=>Cw(b,typeof I!="symbol"?I+"":I,G);var HQ=DY((u2,t2)=>{(function(b,I){typeof u2=="object"&&typeof t2<"u"?t2.exports=I():typeof define=="function"&&define.amd?define(I):(b=typeof globalThis<"u"?globalThis:b||self).dayjs_plugin_quarterOfYear=I()})(u2,function(){"use strict";var b="month",I="quarter";return function(G,l){var Z=l.prototype;Z.quarter=function(d){return this.$utils().u(d)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(d-1))};var c=Z.add;Z.add=function(d,m){return d=Number(d),this.$utils().p(m)===I?this.add(3*d,b):c.bind(this)(d,m)};var W=Z.startOf;Z.startOf=function(d,m){var N=this.$utils(),Y=!!N.u(m)||m;if(N.p(d)===I){var V=this.quarter()-1;return Y?this.month(3*V).startOf(b).startOf("day"):this.month(3*V+2).endOf(b).endOf("day")}return W.bind(this)(d,m)}}})});var gI=DY((e2,w2)=>{(function(b,I){typeof e2=="object"&&typeof w2<"u"?w2.exports=I():typeof define=="function"&&define.amd?define(I):(b=typeof globalThis<"u"?globalThis:b||self).dayjs=I()})(e2,function(){"use strict";var b=1e3,I=6e4,G=36e5,l="millisecond",Z="second",c="minute",W="hour",d="day",m="week",N="month",Y="quarter",V="year",a="date",h="Invalid Date",R=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,H=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(C){var i=["th","st","nd","rd"],A=C%100;return"["+C+(i[(A-20)%10]||i[A]||i[0])+"]"}},n=function(C,i,A){var j=String(C);return!j||j.length>=i?C:""+Array(i+1-j.length).join(A)+C},t={s:n,z:function(C){var i=-C.utcOffset(),A=Math.abs(i),j=Math.floor(A/60),k=A%60;return(i<=0?"+":"-")+n(j,2,"0")+":"+n(k,2,"0")},m:function C(i,A){if(i.date()<A.date())return-C(A,i);var j=12*(A.year()-i.year())+(A.month()-i.month()),k=i.clone().add(j,N),T=A-k<0,GI=i.clone().add(j+(T?-1:1),N);return+(-(j+(A-k)/(T?k-GI:GI-k))||0)},a:function(C){return C<0?Math.ceil(C)||0:Math.floor(C)},p:function(C){return{M:N,y:V,w:m,d,D:a,h:W,m:c,s:Z,ms:l,Q:Y}[C]||String(C||"").toLowerCase().replace(/s$/,"")},u:function(C){return C===void 0}},s="en",X={};X[s]=p;var v="$isDayjsObject",z=function(C){return C instanceof _||!(!C||!C[v])},w=function C(i,A,j){var k;if(!i)return s;if(typeof i=="string"){var T=i.toLowerCase();X[T]&&(k=T),A&&(X[T]=A,k=T);var GI=i.split("-");if(!k&&GI.length>1)return C(GI[0])}else{var dI=i.name;X[dI]=i,k=dI}return!j&&k&&(s=k),k||!j&&s},o=function(C,i){if(z(C))return C.clone();var A=typeof i=="object"?i:{};return A.date=C,A.args=arguments,new _(A)},e=t;e.l=w,e.i=z,e.w=function(C,i){return o(C,{locale:i.$L,utc:i.$u,x:i.$x,$offset:i.$offset})};var _=function(){function C(A){this.$L=w(A.locale,null,!0),this.parse(A),this.$x=this.$x||A.x||{},this[v]=!0}var i=C.prototype;return i.parse=function(A){this.$d=function(j){var k=j.date,T=j.utc;if(k===null)return new Date(NaN);if(e.u(k))return new Date;if(k instanceof Date)return new Date(k);if(typeof k=="string"&&!/Z$/i.test(k)){var GI=k.match(R);if(GI){var dI=GI[2]-1||0,uI=(GI[7]||"0").substring(0,3);return T?new Date(Date.UTC(GI[1],dI,GI[3]||1,GI[4]||0,GI[5]||0,GI[6]||0,uI)):new Date(GI[1],dI,GI[3]||1,GI[4]||0,GI[5]||0,GI[6]||0,uI)}}return new Date(k)}(A),this.init()},i.init=function(){var A=this.$d;this.$y=A.getFullYear(),this.$M=A.getMonth(),this.$D=A.getDate(),this.$W=A.getDay(),this.$H=A.getHours(),this.$m=A.getMinutes(),this.$s=A.getSeconds(),this.$ms=A.getMilliseconds()},i.$utils=function(){return e},i.isValid=function(){return this.$d.toString()!==h},i.isSame=function(A,j){var k=o(A);return this.startOf(j)<=k&&k<=this.endOf(j)},i.isAfter=function(A,j){return o(A)<this.startOf(j)},i.isBefore=function(A,j){return this.endOf(j)<o(A)},i.$g=function(A,j,k){return e.u(A)?this[j]:this.set(k,A)},i.unix=function(){return Math.floor(this.valueOf()/1e3)},i.valueOf=function(){return this.$d.getTime()},i.startOf=function(A,j){var k=this,T=!!e.u(j)||j,GI=e.p(A),dI=function(YG,MI){var x=e.w(k.$u?Date.UTC(k.$y,MI,YG):new Date(k.$y,MI,YG),k);return T?x:x.endOf(d)},uI=function(YG,MI){return e.w(k.toDate()[YG].apply(k.toDate("s"),(T?[0,0,0,0]:[23,Line truncated
|
||||
`||F.charAt(q)==="\r"&&F.charAt(q+1)!==`
|
||||
`)&&(M++,D===0&&(D=q+1)),q--}var hI=L+M,TI=u-D;return J[u]={line:hI,lineStart:D},{offset:u,line:hI+1,column:TI+1}}function C(F){if(!X(F))throw new Error("not a parser: "+F)}function i(F,u){return typeof F=="string"?F.charAt(u):F[u]}function A(F){if(typeof F!="number")throw new Error("not a number: "+F)}function j(F){if(typeof F!="function")throw new Error("not a function: "+F)}function k(F){if(typeof F!="string")throw new Error("not a string: "+F)}var T=2,GI=3,dI=8,uI=5*dI,HI=4*dI,vI=" ";function KI(F,u){return new Array(u+1).join(F)}function OI(F,u,J){var L=u-F.length;return L<=0?F:KI(J,L)+F}function AI(F,u,J,L){return{from:F-u>0?F-u:0,to:F+J>L?L:F+J}}function DI(F,u){var J,L,M,D,q,hI=u.index,TI=hI.offset,PG=1;if(TI===F.length)return"Got the end of the input";if(z(F)){var iG=TI-TI%dI,xb=TI-iG,Ql=AI(iG,uI,HI+dI,F.length),Ub=N(function(XG){return N(function(Mc){return OI(Mc.toString(16),2,"0")},XG)},function(XG,Mc){var jc=XG.length,kZ=[],Kc=0;if(jc<=Mc)return[XG.slice()];for(var Dc=0;Dc<jc;Dc++)kZ[Kc]||kZ.push([]),kZ[Kc].push(XG[Dc]),(Dc+1)%Mc==0&&Kc++;return kZ}(F.slice(Ql.from,Ql.to).toJSON().data,dI));D=function(XG){return XG.from===0&&XG.to===1?{from:XG.from,to:XG.to}:{from:XG.from/dI,to:Math.floor(XG.to/dI)}}(Ql),L=iG/dI,J=3*xb,xb>=4&&(J+=1),PG=2,M=N(function(XG){return XG.length<=4?XG.join(" "):XG.slice(0,4).join(" ")+" "+XG.slice(4).join(" ")},Ub),(q=(8*(D.to>0?D.to-1:D.to)).toString(16).length)<2&&(q=2)}else{var Oc=F.split(/\r\n|[\n\r\u2028\u2029]/);J=hI.column-1,L=hI.line-1,D=AI(L,T,GI,Oc.length),M=Oc.slice(D.from,D.to),q=D.to.toString().length}var ww=L-D.from;return z(F)&&(q=(8*(D.to>0?D.to-1:D.to)).toString(16).length)<2&&(q=2),m(function(XG,Mc,jc){var kZ,Kc=jc===ww,Dc=Kc?"> ":vI;return kZ=z(F)?OI((8*(D.from+jc)).toString(16),q,"0"):OI((D.from+jc+1).toString(),q," "),[].concat(XG,[Dc+kZ+" | "+Mc],Kc?[vI+KI(" ",q)+" | "+OI("",J," ")+KI("^",PG)]:[])},[],M).join(`
|
||||
`)}function YG(F,u){return[`
|
||||
`,"-- PARSING FAILED "+KI("-",50),`
|
||||
|
||||
`,QI(R,p),`
|
||||
`,DI(F,u),`
|
||||
|
||||
`,(E=p.expected,E.length===1?`Expected:
|
||||
`,(J=u.expected,J.length===1?`Expected:
|
||||
|
||||
`+E[0]:`Expected one of the following:
|
||||
`+J[0]:`Expected one of the following:
|
||||
|
||||
`+E.join(", ")),`
|
||||
`].join("");var E}function Xl(R){return R.flags!==void 0?R.flags:[R.global?"g":"",R.ignoreCase?"i":"",R.multiline?"m":"",R.unicode?"u":"",R.sticky?"y":""].join("")}function Ib(){for(var R=[].slice.call(arguments),p=R.length,E=0;E<p;E+=1)x(R[E]);return c(function(e,L){for(var k,i=new Array(p),f=0;f<p;f+=1){if(!(k=t(R[f]._(e,L),k)).status)return k;i[f]=k.value,L=k.index}return t(v(L,i),k)})}function kl(){var R=[].slice.call(arguments);if(R.length===0)throw new Error("seqMap needs at least one argument");var p=R.pop();return aI(p),Ib.apply(null,R).map(function(E){return p.apply(null,E)})}function Gb(){var R=[].slice.call(arguments),p=R.length;if(p===0)return pb("zero alternates");for(var E=0;E<p;E+=1)x(R[E]);return c(function(e,L){for(var k,i=0;i<R.length;i+=1)if((k=t(R[i]._(e,L),k)).status)return k;return k})}function CW(R,p){return ZZ(R,p).or(Ql([]))}function ZZ(R,p){return x(R),x(p),kl(R,p.then(R).many(),function(E,e){return[E].concat(e)})}function Hb(R){hI(R);var p="'"+R+"'";return c(function(E,e){var L=e+R.length,k=E.slice(e,L);return k===R?v(L,k):J(e,p)})}function Gl(R,p){(function(L){if(!(L instanceof RegExp))throw new Error("not a regexp: "+L);for(var k=Xl(L),i=0;i<k.length;i++){var f=k.charAt(i);if(f!=="i"&&f!=="m"&&f!=="u"&&f!=="s")throw new Error('unsupported regexp flag "'+f+'": '+L)}})(R),arguments.length>=2?lI(p):p=0;var E=function(L){return RegExp("^(?:"+L.source+")",Xl(L))}(R),e=""+R;return c(function(L,k){var i=E.exec(L.slice(k));if(i){if(0<=p&&p<=i.length){var f=i[0],nI=i[p];return v(k+f.length,nI)}return J(k,"valid match group (0 to "+i.length+") in "+e)}return J(k,e)})}function Ql(R){return c(function(p,E){return v(E,R)})}function pb(R){return c(function(p,E){return J(E,R)})}function cZ(R){if(F(R))return c(function(p,E){var e=R._(p,E);return e.index=E,e.value="",e});if(typeof R=="string")return cZ(Hb(R));if(R instanceof RegExp)return cZ(Gl(R));throw new Error("not a string, regexp, or parser: "+R)}function gW(R){return x(R),c(function(p,E){var e=R._(p,E),L=p.slice(E,e.index);return e.status?J(E,'not "'+L+'"'):v(E,null)})}function xG(R){return aI(R),c(function(p,E){var e=GI(p,E);return E<p.length&&R(e)?v(E+1,e):J(E,"a character/byte matching "+R)})}function ub(R,p){arguments.length<2&&(p=R,R=void 0);var E=c(function(e,L){return E._=p()._,E._(e,L)});return R?E.desc(R):E}function WZ(){return pb("fantasy-land/empty")}W.parse=function(R){if(typeof R!="string"&&!y(R))throw new Error(".parse must be called with a string or Buffer as its argument");var p,E=this.skip(dZ)._(R,0);return p=E.status?{status:!0,value:E.value}:{status:!1,index:S(R,E.furthest),expected:E.expected},delete O[R],p},W.tryParse=function(R){var p=this.parse(R);if(p.status)return p.value;var E=bG(R,p),e=new Error(E);throw e.type="ParsimmonError",e.result=p,e},W.assert=function(R,p){return this.chain(function(E){return R(E)?Ql(E):pb(p)})},W.or=function(R){return Gb(this,R)},W.trim=function(R){return this.wrap(R,R)},W.wrap=function(R,p){return kl(R,this,p,function(E,e){return e})},W.thru=function(R){return R(this)},W.then=function(R){return x(R),Ib(this,R).map(function(p){return p[1]})},W.many=function(){var R=this;return c(function(p,E){for(var e=[],L=void 0;;){if(!(L=t(R._(p,E),L)).status)return t(v(E,e),L);if(E===L.index)throw new Error("infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause");E=L.index,e.push(L.value)}})},W.tieWith=function(R){return hI(R),this.map(function(p){if(function(L){if(!n(L))throw new Error("not an array: "+L)}(p),p.length){hI(p[0]);for(var E=p[0],e=1;e<p.length;e++)hI(p[e]),E+=R+p[e];return E}return""})},W.tie=function(){return this.tieWith("")},W.times=function(R,p){var E=this;return arguments.length<2&&(p=R),lI(R),lI(p),c(function(e,L){for(var k=[],i=void 0,f=void 0,nI=0;nI<R;nI+=1){if(f=t(i=E._(e,L),f),!i.status)return f;L=i.index,k.push(i.value)}for(;nI<p&&(f=t(i=E._(e,L),f),i.status);nI+=1)L=i.index,k.push(i.value);return t(v(L,k),f)})},W.result=function(R){return this.map(function(){return R})},W.atMost=function(R){return this.times(0,R)},W.atLeast=function(R){return kl(this.times(R),this.many(),function(p,E){return p.concat(E)})},W.map=function(R){aI(R);var p=this;return c(function(E,e){var L=p._(E,e);return L.status?t(v(L.index,R(L.value)),L):L})},W.contramap=function(R){aI(R);var p=this;return c(function(E,e){var L=p.parse(R(E.slice(e)));return L.status?v(e+E.length,L.value):L})},W.promap=function(R,p){return aI(R),aI(p),this.contramap(R).map(p)},W.skip=function(R){return Ib(this,R).map(function(p){return p[0]})},W.mark=function(){return kl(lb,this,lb,function(R,p,E){return{start:R,value:p,end:E}})},W.node=function(R){return kl(lb,this,lb,function(p,E,e){return{name:R,value:E,start:p,end:e}})},W.sepBy=function(R){return CW(this,R)},W.sepBy1=function(R){return ZZ(this,R)},W.lookahead=function(R){return this.skip(cZ(R))},W.notFollowedBy=function(R){return this.skip(gW(R))},W.desc=function(R){n(R)||(R=[R]);var p=this;return
Line truncated
|
||||
`),vV=Hb(`\r
|
||||
`),tV=Gb(vV,wV,nV).desc("newline"),kR=Gb(tV,dZ);c.all=AW,c.alt=Gb,c.any=Ec,c.cr=nV,c.createLanguage=function(R){var p={};for(var E in R)({}).hasOwnProperty.call(R,E)&&function(e){p[e]=ub(function(){return R[e](p)})}(E);return p},c.crlf=vV,c.custom=function(R){return c(R(v,J))},c.digit=LW,c.digits=oW,c.empty=WZ,c.end=kR,c.eof=dZ,c.fail=pb,c.formatError=bG,c.index=lb,c.isParser=F,c.lazy=ub,c.letter=gR,c.letters=AR,c.lf=wV,c.lookahead=cZ,c.makeFailure=J,c.makeSuccess=v,c.newline=tV,c.noneOf=function(R){return xG(function(p){return R.indexOf(p)<0}).desc("none of '"+R+"'")},c.notFollowedBy=gW,c.of=Ql,c.oneOf=function(R){for(var p=R.split(""),E=0;E<p.length;E++)p[E]="'"+p[E]+"'";return xG(function(e){return R.indexOf(e)>=0}).desc(p)},c.optWhitespace=LR,c.Parser=c,c.range=function(R,p){return xG(function(E){return R<=E&&E<=p}).desc(R+"-"+p)},c.regex=Gl,c.regexp=Gl,c.sepBy=CW,c.sepBy1=ZZ,c.seq=Ib,c.seqMap=kl,c.seqObj=function(){for(var R,p={},E=0,e=(R=arguments,Array.prototype.slice.call(R)),L=e.length,k=0;k<L;k+=1){var i=e[k];if(!F(i)){if(n(i)&&i.length===2&&typeof i[0]=="string"&&F(i[1])){var f=i[0];if(Object.prototype.hasOwnProperty.call(p,f))throw new Error("seqObj: duplicate key "+f);p[f]=!0,E++;continue}throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.")}}if(E===0)throw new Error("seqObj expects at least one named parser, found zero");return c(function(nI,XG){for(var ZG,il={},sG=0;sG<L;sG+=1){var zl,NZ;if(n(e[sG])?(zl=e[sG][0],NZ=e[sG][1]):(zl=null,NZ=e[sG]),!(ZG=t(NZ._(nI,XG),ZG)).status)return ZG;zl&&(il[zl]=ZG.value),XG=ZG.index}return t(v(XG,il),ZG)})},c.string=Hb,c.succeed=Ql,c.takeWhile=function(R){return aI(R),c(function(p,E){for(var e=E;e<p.length&&R(GI(p,e));)e++;return v(e,p.slice(E,e))})},c.test=xG,c.whitespace=oR,c["fantasy-land/empty"]=WZ,c["fantasy-land/of"]=Ql,c.Binary={bitSeq:a,bitSeqObj:function(R){h();var p={},E=0,e=m(function(k){if(n(k)){var i=k;if(i.length!==2)throw new Error("["+i.join(", ")+"] should be length 2, got length "+i.length);if(hI(i[0]),lI(i[1]),Object.prototype.hasOwnProperty.call(p,i[0]))throw new Error("duplicate key in bitSeqObj: "+i[0]);return p[i[0]]=!0,E++,i}return lI(k),[null,k]},R);if(E<1)throw new Error("bitSeqObj expects at least one named pair, got ["+R.join(", ")+"]");var L=m(function(k){return k[0]},e);return a(m(function(k){return k[1]},e)).map(function(k){return N(function(i,f){return f[0]!==null&&(i[f[0]]=f[1]),i},{},m(function(i,f){return[i,k[f]]},L))})},byte:function(R){if(h(),lI(R),R>255)throw new Error("Value specified to byte constructor ("+R+"=0x"+R.toString(16)+") is larger in value than a single byte.");var p=(R>15?"0x":"0x0")+R.toString(16);return c(function(E,e){var L=GI(E,e);return L===R?v(e+1,L):J(e,p)})},buffer:function(R){return X("buffer",R).map(function(p){return Buffer.from(p)})},encodedString:function(R,p){return X("string",p).map(function(E){return E.toString(R)})},uintBE:w,uint8BE:w(1),uint16BE:w(2),uint32BE:w(4),uintLE:u,uint8LE:u(1),uint16LE:u(2),uint32LE:u(4),intBE:s,int8BE:s(1),int16BE:s(2),int32BE:s(4),intLE:C,int8LE:C(1),int16LE:C(2),int32LE:C(4),floatBE:X("floatBE",4).map(function(R){return R.readFloatBE(0)}),floatLE:X("floatLE",4).map(function(R){return R.readFloatLE(0)}),doubleBE:X("doubleBE",8).map(function(R){return R.readDoubleBE(0)}),doubleLE:X("doubleLE",8).map(function(R){return R.readDoubleLE(0)})},G.exports=c}])})})(dN,dN.exports);var Q=dN.exports,IV=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC3\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF
Line truncated
|
||||
`)[0];let b=G.substring(2).trim();return Q.makeSuccess(I+G.length,b)}),namedField:l=>Q.alt(l.explicitNamedField,Gu(hl.field).map(([I,G])=>mN.named(lu(G),I))),sortField:l=>Q.seqMap(hl.field.skip(Q.optWhitespace),Q.regexp(/ASCENDING|DESCENDING|ASC|DESC/i).atMost(1),(I,G)=>{let b=G.length==0?"ascending":G[0].toLowerCase();return b=="desc"&&(b="descending"),b=="asc"&&(b="ascending"),{field:I,direction:b}}),headerClause:l=>l.queryType.chain(I=>{switch(I){case"table":return $a(()=>({type:I,fields:[],showId:!0}),Q.seqMap(Q.regexp(/WITHOUT\s+ID/i).skip(Q.optWhitespace).atMost(1),Q.sepBy(l.namedField,Q.string(",").trim(Q.optWhitespace)),(G,b)=>({type:I,fields:b,showId:G.length==0})));case"list":return $a(()=>({type:I,format:void 0,showId:!0}),Q.seqMap(Q.regexp(/WITHOUT\s+ID/i).skip(Q.optWhitespace).atMost(1),hl.field.atMost(1),(G,b)=>({type:I,format:b.length==1?b[0]:void 0,showId:G.length==0})));case"task":return Q.succeed({type:I});case"calendar":return Q.whitespace.then(Q.seqMap(l.namedField,G=>({type:I,showId:!0,field:G})));default:return Q.fail(`Unrecognized query type '${I}'`)}}).desc("TABLE or LIST or TASK or CALENDAR"),fromClause:l=>Q.seqMap(Q.regexp(/FROM/i),Q.whitespace,hl.source,(I,G,b)=>b),whereClause:l=>Q.seqMap(Q.regexp(/WHERE/i),Q.whitespace,hl.field,(I,G,b)=>({type:"where",clause:b})).desc("WHERE <expression>"),sortByClause:l=>Q.seqMap(Q.regexp(/SORT/i),Q.whitespace,l.sortField.sepBy1(Q.string(",").trim(Q.optWhitespace)),(I,G,b)=>({type:"sort",fields:b})).desc("SORT field [ASC/DESC]"),limitClause:l=>Q.seqMap(Q.regexp(/LIMIT/i),Q.whitespace,hl.field,(I,G,b)=>({type:"limit",amount:b})).desc("LIMIT <value>"),flattenClause:l=>Q.seqMap(Q.regexp(/FLATTEN/i).skip(Q.whitespace),l.namedField,(I,G)=>({type:"flatten",field:G})).desc("FLATTEN <value> [AS <name>]"),groupByClause:l=>Q.seqMap(Q.regexp(/GROUP BY/i).skip(Q.whitespace),l.namedField,(I,G)=>({type:"group",field:G})).desc("GROUP BY <value> [AS <name>]"),clause:l=>Q.alt(l.fromClause,l.whereClause,l.sortByClause,l.limitClause,l.groupByClause,l.flattenClause),query:l=>Q.seqMap(l.headerClause.trim(JY),l.fromClause.trim(JY).atMost(1),l.clause.trim(JY).many(),(I,G,b)=>({header:I,source:G.length==0?gl.folder(""):G[0],operations:b,settings:$Y}))}),JY=Q.alt(Q.whitespace,$F.comment).many().map(l=>l.join("")),bu=l=>l?l.plugins.plugins.dataview?.api:window.DataviewAPI,Zu=l=>l.plugins.enabledPlugins.has("dataview");Al.DATE_SHORTHANDS=KY;Al.DURATION_TYPES=jY;Al.EXPRESSION=hl;Al.KEYWORDS=DY;Al.QUERY_LANGUAGE=$F;Al.getAPI=bu;Al.isPluginEnabled=Zu;Al.parseField=Iu});var Su={};MR(Su,{default:()=>XI});module.exports=jR(Su);var CR=require("obsidian");var Rl=require("obsidian");function QG(){}function SN(l){return l()}function sV(){return Object.create(null)}function tI(l){l.forEach(SN)}function EI(l){return typeof l=="function"}function HI(l,I){return l!=l?I==I:l!==I||l&&typeof l=="object"||typeof l=="function"}function yV(l){return Object.keys(l).length===0}function iW(l){return l&&EI(l.destroy)?l.destroy:QG}var eV=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global,KN=class l{constructor(I){this.options=I,this._listeners="WeakMap"in eV?new WeakMap:void 0}observe(I,G){return this._listeners.set(I,G),this._getObserver().observe(I,this.options),()=>{this._listeners.delete(I),this._observer.unobserve(I)}}_getObserver(){var I;return(I=this._observer)!==null&&I!==void 0?I:this._observer=new ResizeObserver(G=>{var b;for(let Z of G)l.entries.set(Z.target,Z),(b=this._listeners.get(Z.target))===null||b===void 0||b(Z)})}};KN.entries="WeakMap"in eV?new WeakMap:void 0;var CV=!1;function KR(){CV=!0}function DR(){CV=!1}function A(l,I){l.appendChild(I)}function fI(l,I,G){let b=TR(l);if(!b.getElementById(I)){let Z=z("style");Z.id=I,Z.textContent=G,SR(b,Z)}}function TR(l){if(!l)return document;let I=l.getRootNode?l.getRootNode():l.ownerDocument;return I&&I.host?I:l.ownerDocument}function SR(l,I){return A(l.head||l,I),I.sheet}function dI(l,I,G){l.insertBefore(I,G||null)}function bI(l){l.parentNode&&l.parentNode.removeChild(l)}function gV(l,I){for(let G=0;G<l.length;G+=1)l[G]&&l[G].d(I)}function z(l){return document.createElement(l)}function VG(l){return document.createTextNode(l)}function ZI(){return VG(" ")}function bb(){return VG("")}function D(l,I,G,b){return l.addEventListener(I,G,b),()=>l.removeEventListener(I,G,b)}function g(l,I,G){G==null?l.removeAttribute(I):l.getAttribute(I)!==G&&l.setAttribute(I,G)}function qN(l){return l===""?null:+l}function qR(l){return Array.from(l.childNodes)}function UG(l,I){I=""+I,l.data!==I&&(l.data=I)}function XZ(l,I){l.value=I??""}function QZ(l,I,G,b){G==null?l.style.removeProperty(I):l.style.setProperty(I,G,b?"important":"")}function fN(l,I,G){for(let b=0;b<l.options.length;b+=1){let Z=l.options[b];if(Z.__value===I){Z.selected=!0;return}}(!G||I!==void 0)&&(l.selectedIndex=-1)}function AV(l){let I=l.querySelector(":checked");return I&&I.__value}function fR(l,I,{bubbles:G=!1,cancelable:b=!1}={}){let Z=document.createEvent("CustomEvent");retur
Line truncated
|
||||
`+J.join(", ")),`
|
||||
`].join("");var J}function MI(F){return F.flags!==void 0?F.flags:[F.global?"g":"",F.ignoreCase?"i":"",F.multiline?"m":"",F.unicode?"u":"",F.sticky?"y":""].join("")}function x(){for(var F=[].slice.call(arguments),u=F.length,J=0;J<u;J+=1)C(F[J]);return c(function(L,M){for(var D,q=new Array(u),hI=0;hI<u;hI+=1){if(!(D=e(F[hI]._(L,M),D)).status)return D;q[hI]=D.value,M=D.index}return e(w(M,q),D)})}function FI(){var F=[].slice.call(arguments);if(F.length===0)throw new Error("seqMap needs at least one argument");var u=F.pop();return j(u),x.apply(null,F).map(function(J){return u.apply(null,J)})}function nI(){var F=[].slice.call(arguments),u=F.length;if(u===0)return iZ("zero alternates");for(var J=0;J<u;J+=1)C(F[J]);return c(function(L,M){for(var D,q=0;q<F.length;q+=1)if((D=e(F[q]._(L,M),D)).status)return D;return D})}function UG(F,u){return zc(F,u).or(pb([]))}function zc(F,u){return C(F),C(u),FI(F,u.then(F).many(),function(J,L){return[J].concat(L)})}function AZ(F){k(F);var u="'"+F+"'";return c(function(J,L){var M=L+F.length,D=J.slice(L,M);return D===F?w(M,D):o(L,u)})}function _l(F,u){(function(M){if(!(M instanceof RegExp))throw new Error("not a regexp: "+M);for(var D=MI(M),q=0;q<D.length;q++){var hI=D.charAt(q);if(hI!=="i"&&hI!=="m"&&hI!=="u"&&hI!=="s")throw new Error('unsupported regexp flag "'+hI+'": '+M)}})(F),arguments.length>=2?A(u):u=0;var J=function(M){return RegExp("^(?:"+M.source+")",MI(M))}(F),L=""+F;return c(function(M,D){var q=J.exec(M.slice(D));if(q){if(0<=u&&u<=q.length){var hI=q[0],TI=q[u];return w(D+hI.length,TI)}return o(D,"valid match group (0 to "+q.length+") in "+L)}return o(D,L)})}function pb(F){return c(function(u,J){return w(J,F)})}function iZ(F){return c(function(u,J){return o(J,F)})}function xc(F){if(X(F))return c(function(u,J){var L=F._(u,J);return L.index=J,L.value="",L});if(typeof F=="string")return xc(AZ(F));if(F instanceof RegExp)return xc(_l(F));throw new Error("not a string, regexp, or parser: "+F)}function OY(F){return C(F),c(function(u,J){var L=F._(u,J),M=u.slice(J,L.index);return L.status?o(J,'not "'+M+'"'):w(J,null)})}function yl(F){return j(F),c(function(u,J){var L=i(u,J);return J<u.length&&F(L)?w(J+1,L):o(J,"a character/byte matching "+F)})}function LZ(F,u){arguments.length<2&&(u=F,F=void 0);var J=c(function(L,M){return J._=u()._,J._(L,M)});return F?J.desc(F):J}function Uc(){return iZ("fantasy-land/empty")}W.parse=function(F){if(typeof F!="string"&&!z(F))throw new Error(".parse must be called with a string or Buffer as its argument");var u,J=this.skip(Bc)._(F,0);return u=J.status?{status:!0,value:J.value}:{status:!1,index:bI(F,J.furthest),expected:J.expected},delete _[F],u},W.tryParse=function(F){var u=this.parse(F);if(u.status)return u.value;var J=YG(F,u),L=new Error(J);throw L.type="ParsimmonError",L.result=u,L},W.assert=function(F,u){return this.chain(function(J){return F(J)?pb(J):iZ(u)})},W.or=function(F){return nI(this,F)},W.trim=function(F){return this.wrap(F,F)},W.wrap=function(F,u){return FI(F,this,u,function(J,L){return L})},W.thru=function(F){return F(this)},W.then=function(F){return C(F),x(this,F).map(function(u){return u[1]})},W.many=function(){var F=this;return c(function(u,J){for(var L=[],M=void 0;;){if(!(M=e(F._(u,J),M)).status)return e(w(J,L),M);if(J===M.index)throw new Error("infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause");J=M.index,L.push(M.value)}})},W.tieWith=function(F){return k(F),this.map(function(u){if(function(M){if(!v(M))throw new Error("not an array: "+M)}(u),u.length){k(u[0]);for(var J=u[0],L=1;L<u.length;L++)k(u[L]),J+=F+u[L];return J}return""})},W.tie=function(){return this.tieWith("")},W.times=function(F,u){var J=this;return arguments.length<2&&(u=F),A(F),A(u),c(function(L,M){for(var D=[],q=void 0,hI=void 0,TI=0;TI<F;TI+=1){if(hI=e(q=J._(L,M),hI),!q.status)return hI;M=q.index,D.push(q.value)}for(;TI<u&&(hI=e(q=J._(L,M),hI),q.status);TI+=1)M=q.index,D.push(q.value);return e(w(M,D),hI)})},W.result=function(F){return this.map(function(){return F})},W.atMost=function(F){return this.times(0,F)},W.atLeast=function(F){return FI(this.times(F),this.many(),function(u,J){return u.concat(J)})},W.map=function(F){j(F);var u=this;return c(function(J,L){var M=u._(J,L);return M.status?e(w(M.index,F(M.value)),M):M})},W.contramap=function(F){j(F);var u=this;return c(function(J,L){var M=u.parse(F(J.slice(L)));return M.status?w(L+J.length,M.value):M})},W.promap=function(F,u){return j(F),j(u),this.contramap(F).map(u)},W.skip=function(F){return x(this,F).map(function(u){return u[0]})},W.mark=function(){return FI(dZ,this,dZ,function(F,u,J){return{start:F,value:u,end:J}})},W.node=function(F){return FI(dZ,this,dZ,function(u,J,L){return{name:F,value:J,start:u,end:L}})},W.sepBy=function(F){return UG(this,F)},W.sepBy1=function(F){return zc(this,F)},W.lookahead=function(F){return this.skip(xc(F))},W.notFollowedBy=function(F){return this.skip(OY(F))},W.desc=function(F){v(F)||(F=[F]);var u=this;ret
Line truncated
|
||||
`),Cp=AZ(`\r
|
||||
`),gp=nI(Cp,yp,Jp).desc("newline"),ew=nI(gp,Bc);c.all=MY,c.alt=nI,c.any=yd,c.cr=Jp,c.createLanguage=function(F){var u={};for(var J in F)({}).hasOwnProperty.call(F,J)&&function(L){u[L]=LZ(function(){return F[L](u)})}(J);return u},c.crlf=Cp,c.custom=function(F){return c(F(w,o))},c.digit=jY,c.digits=KY,c.empty=Uc,c.end=ew,c.eof=Bc,c.fail=iZ,c.formatError=YG,c.index=dZ,c.isParser=X,c.lazy=LZ,c.letter=Hw,c.letters=nw,c.lf=yp,c.lookahead=xc,c.makeFailure=o,c.makeSuccess=w,c.newline=gp,c.noneOf=function(F){return yl(function(u){return F.indexOf(u)<0}).desc("none of '"+F+"'")},c.notFollowedBy=OY,c.of=pb,c.oneOf=function(F){for(var u=F.split(""),J=0;J<u.length;J++)u[J]="'"+u[J]+"'";return yl(function(L){return F.indexOf(L)>=0}).desc(u)},c.optWhitespace=uw,c.Parser=c,c.range=function(F,u){return yl(function(J){return F<=J&&J<=u}).desc(F+"-"+u)},c.regex=_l,c.regexp=_l,c.sepBy=UG,c.sepBy1=zc,c.seq=x,c.seqMap=FI,c.seqObj=function(){for(var F,u={},J=0,L=(F=arguments,Array.prototype.slice.call(F)),M=L.length,D=0;D<M;D+=1){var q=L[D];if(!X(q)){if(v(q)&&q.length===2&&typeof q[0]=="string"&&X(q[1])){var hI=q[0];if(Object.prototype.hasOwnProperty.call(u,hI))throw new Error("seqObj: duplicate key "+hI);u[hI]=!0,J++;continue}throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.")}}if(J===0)throw new Error("seqObj expects at least one named parser, found zero");return c(function(TI,PG){for(var iG,xb={},Ql=0;Ql<M;Ql+=1){var Ub,Oc;if(v(L[Ql])?(Ub=L[Ql][0],Oc=L[Ql][1]):(Ub=null,Oc=L[Ql]),!(iG=e(Oc._(TI,PG),iG)).status)return iG;Ub&&(xb[Ub]=iG.value),PG=iG.index}return e(w(PG,xb),iG)})},c.string=AZ,c.succeed=pb,c.takeWhile=function(F){return j(F),c(function(u,J){for(var L=J;L<u.length&&F(i(u,L));)L++;return w(L,u.slice(J,L))})},c.test=yl,c.whitespace=tw,c["fantasy-land/empty"]=Uc,c["fantasy-land/of"]=pb,c.Binary={bitSeq:h,bitSeqObj:function(F){a();var u={},J=0,L=N(function(D){if(v(D)){var q=D;if(q.length!==2)throw new Error("["+q.join(", ")+"] should be length 2, got length "+q.length);if(k(q[0]),A(q[1]),Object.prototype.hasOwnProperty.call(u,q[0]))throw new Error("duplicate key in bitSeqObj: "+q[0]);return u[q[0]]=!0,J++,q}return A(D),[null,D]},F);if(J<1)throw new Error("bitSeqObj expects at least one named pair, got ["+F.join(", ")+"]");var M=N(function(D){return D[0]},L);return h(N(function(D){return D[1]},L)).map(function(D){return m(function(q,hI){return hI[0]!==null&&(q[hI[0]]=hI[1]),q},{},N(function(q,hI){return[q,D[hI]]},M))})},byte:function(F){if(a(),A(F),F>255)throw new Error("Value specified to byte constructor ("+F+"=0x"+F.toString(16)+") is larger in value than a single byte.");var u=(F>15?"0x":"0x0")+F.toString(16);return c(function(J,L){var M=i(J,L);return M===F?w(L+1,M):o(L,u)})},buffer:function(F){return R("buffer",F).map(function(u){return Buffer.from(u)})},encodedString:function(F,u){return R("string",u).map(function(J){return J.toString(F)})},uintBE:p,uint8BE:p(1),uint16BE:p(2),uint32BE:p(4),uintLE:n,uint8LE:n(1),uint16LE:n(2),uint32LE:n(4),intBE:t,int8BE:t(1),int16BE:t(2),int32BE:t(4),intLE:s,int8LE:s(1),int16LE:s(2),int32LE:s(4),floatBE:R("floatBE",4).map(function(F){return F.readFloatBE(0)}),floatLE:R("floatLE",4).map(function(F){return F.readFloatLE(0)}),doubleBE:R("doubleBE",8).map(function(F){return F.readDoubleBE(0)}),doubleLE:R("doubleLE",8).map(function(F){return F.readDoubleLE(0)})},G.exports=c}])})})(Oa,Oa.exports);var Q=Oa.exports,AX=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC3\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uLine truncated
|
||||
`)[0];let l=G.substring(2).trim();return Q.makeSuccess(I+G.length,l)}),namedField:b=>Q.alt(b.explicitNamedField,Yg(Yb.field).map(([I,G])=>ja.named(Vg(G),I))),sortField:b=>Q.seqMap(Yb.field.skip(Q.optWhitespace),Q.regexp(/ASCENDING|DESCENDING|ASC|DESC/i).atMost(1),(I,G)=>{let l=G.length==0?"ascending":G[0].toLowerCase();return l=="desc"&&(l="descending"),l=="asc"&&(l="ascending"),{field:I,direction:l}}),headerClause:b=>b.queryType.chain(I=>{switch(I){case"table":return Ou(()=>({type:I,fields:[],showId:!0}),Q.seqMap(Q.regexp(/WITHOUT\s+ID/i).skip(Q.optWhitespace).atMost(1),Q.sepBy(b.namedField,Q.string(",").trim(Q.optWhitespace)),(G,l)=>({type:I,fields:l,showId:G.length==0})));case"list":return Ou(()=>({type:I,format:void 0,showId:!0}),Q.seqMap(Q.regexp(/WITHOUT\s+ID/i).skip(Q.optWhitespace).atMost(1),Yb.field.atMost(1),(G,l)=>({type:I,format:l.length==1?l[0]:void 0,showId:G.length==0})));case"task":return Q.succeed({type:I});case"calendar":return Q.whitespace.then(Q.seqMap(b.namedField,G=>({type:I,showId:!0,field:G})));default:return Q.fail(`Unrecognized query type '${I}'`)}}).desc("TABLE or LIST or TASK or CALENDAR"),fromClause:b=>Q.seqMap(Q.regexp(/FROM/i),Q.whitespace,Yb.source,(I,G,l)=>l),whereClause:b=>Q.seqMap(Q.regexp(/WHERE/i),Q.whitespace,Yb.field,(I,G,l)=>({type:"where",clause:l})).desc("WHERE <expression>"),sortByClause:b=>Q.seqMap(Q.regexp(/SORT/i),Q.whitespace,b.sortField.sepBy1(Q.string(",").trim(Q.optWhitespace)),(I,G,l)=>({type:"sort",fields:l})).desc("SORT field [ASC/DESC]"),limitClause:b=>Q.seqMap(Q.regexp(/LIMIT/i),Q.whitespace,Yb.field,(I,G,l)=>({type:"limit",amount:l})).desc("LIMIT <value>"),flattenClause:b=>Q.seqMap(Q.regexp(/FLATTEN/i).skip(Q.whitespace),b.namedField,(I,G)=>({type:"flatten",field:G})).desc("FLATTEN <value> [AS <name>]"),groupByClause:b=>Q.seqMap(Q.regexp(/GROUP BY/i).skip(Q.whitespace),b.namedField,(I,G)=>({type:"group",field:G})).desc("GROUP BY <value> [AS <name>]"),clause:b=>Q.alt(b.fromClause,b.whereClause,b.sortByClause,b.limitClause,b.groupByClause,b.flattenClause),query:b=>Q.seqMap(b.headerClause.trim(cX),b.fromClause.trim(cX).atMost(1),b.clause.trim(cX).many(),(I,G,l)=>({header:I,source:G.length==0?gb.folder(""):G[0],operations:l,settings:oX}))}),cX=Q.alt(Q.whitespace,Ot.comment).many().map(b=>b.join("")),ag=b=>b?b.plugins.plugins.dataview?.api:window.DataviewAPI,hg=b=>b.plugins.enabledPlugins.has("dataview");ob.DATE_SHORTHANDS=wX;ob.DURATION_TYPES=eX;ob.EXPRESSION=Yb;ob.KEYWORDS=sX;ob.QUERY_LANGUAGE=Ot;ob.getAPI=ag;ob.isPluginEnabled=hg;ob.parseField=Ng});var _A={};Wl(_A,{default:()=>zI});module.exports=gw(_A);var Qw=require("obsidian");var fl=require("obsidian");function LG(){}function I2(b){return b()}function TY(){return Object.create(null)}function JI(b){b.forEach(I2)}function rI(b){return typeof b=="function"}function UI(b,I){return b!=b?I==I:b!==I||b&&typeof b=="object"||typeof b=="function"}function Ap(b){return Object.keys(b).length===0}function SY(b){return b&&rI(b.destroy)?b.destroy:LG}var G2=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var qY=class b{constructor(I){O(this,"_listeners","WeakMap"in G2?new WeakMap:void 0);O(this,"_observer");O(this,"options");this.options=I}observe(I,G){return this._listeners.set(I,G),this._getObserver().observe(I,this.options),()=>{this._listeners.delete(I),this._observer.unobserve(I)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(I=>{for(let G of I)b.entries.set(G.target,G),this._listeners.get(G.target)?.(G)}))}};qY.entries="WeakMap"in G2?new WeakMap:void 0;var ip=!1;function Lp(){ip=!0}function kp(){ip=!1}function U(b,I){b.appendChild(I)}function eG(b,I,G){let l=rp(b);if(!l.getElementById(I)){let Z=K("style");Z.id=I,Z.textContent=G,iw(l,Z)}}function rp(b){if(!b)return document;let I=b.getRootNode?b.getRootNode():b.ownerDocument;return I&&I.host?I:b.ownerDocument}function iw(b,I){return U(b.head||b,I),I.sheet}function XI(b,I,G){b.insertBefore(I,G||null)}function RI(b){b.parentNode&&b.parentNode.removeChild(b)}function zp(b,I){for(let G=0;G<b.length;G+=1)b[G]&&b[G].d(I)}function K(b){return document.createElement(b)}function wG(b){return document.createTextNode(b)}function pI(){return wG(" ")}function mZ(){return wG("")}function $(b,I,G,l){return b.addEventListener(I,G,l),()=>b.removeEventListener(I,G,l)}function E(b,I,G){G==null?b.removeAttribute(I):b.getAttribute(I)!==G&&b.setAttribute(I,G)}function l2(b){return b===""?null:+b}function xp(b){return Array.from(b.childNodes)}function dl(b,I){I=""+I,b.data!==I&&(b.data=I)}function Qb(b,I){b.value=I??""}function Tc(b,I,G,l){G==null?b.style.removeProperty(I):b.style.setProperty(I,G,l?"important":"")}function b2(b,I,G){for(let l=0;l<b.options.length;l+=1){let Z=b.options[l];if(Z.__value===I){Z.selected=!0;return}}(!G||I!==void 0)&&(b.selectedIndex=-1)}function Up(b){let I=b.querySelector(":checked");return I&&I.__value}function fY(b,I,{bubbles:G=!1,cancelable:l=!1}={}){return new CustomEvent(b,{detail:I,bubbles:G,cancelable:l
Line truncated
|
||||
tags: ${JSON.stringify(Array.from(this._tags).sort())},
|
||||
knownValues: ${JSON.stringify(this.knownValues)},
|
||||
impliedValues: ${JSON.stringify(this.impliedValues)}},
|
||||
reference: ${JSON.stringify(this.reference)}]`}dayjs(){return(0,v2.default)(this.dateWithoutTimezoneAdjustment())}date(){let I=this.dateWithoutTimezoneAdjustment(),G=this.reference.getSystemTimezoneAdjustmentMinute(I,this.get("timezoneOffset"));return new Date(I.getTime()+G*6e4)}addTag(I){return this._tags.add(I),this}addTags(I){for(let G of I)this._tags.add(G);return this}tags(){return new Set(this._tags)}dateWithoutTimezoneAdjustment(){let I=new Date(this.get("year"),this.get("month")-1,this.get("day"),this.get("hour"),this.get("minute"),this.get("second"),this.get("millisecond"));return I.setFullYear(this.get("year")),I}static createRelativeFromReference(I,G){let l=wQ(I.getDateWithAdjustedTimezone(),G),Z=new b(I);return Z.addTag("result/relativeDate"),G.hour||G.minute||G.second?(Z.addTag("result/relativeDateAndTime"),uQ(Z,l),nQ(Z,l),Z.assign("timezoneOffset",I.getTimezoneOffset())):(tQ(Z,l),Z.imply("timezoneOffset",I.getTimezoneOffset()),G.day?(Z.assign("day",l.getDate()),Z.assign("month",l.getMonth()+1),Z.assign("year",l.getFullYear()),Z.assign("weekday",l.getDay())):G.week?(Z.assign("day",l.getDate()),Z.assign("month",l.getMonth()+1),Z.assign("year",l.getFullYear()),Z.imply("weekday",l.getDay())):(Z.imply("day",l.getDate()),G.month?(Z.assign("month",l.getMonth()+1),Z.assign("year",l.getFullYear())):(Z.imply("month",l.getMonth()+1),G.year?Z.assign("year",l.getFullYear()):Z.imply("year",l.getFullYear())))),Z}},yI=class b{constructor(I,G,l,Z,c){O(this,"refDate");O(this,"index");O(this,"text");O(this,"reference");O(this,"start");O(this,"end");this.reference=I,this.refDate=I.instant,this.index=G,this.text=l,this.start=Z||new r(I),this.end=c}clone(){let I=new b(this.reference,this.index,this.text);return I.start=this.start?this.start.clone():null,I.end=this.end?this.end.clone():null,I}date(){return this.start.date()}addTag(I){return this.start.addTag(I),this.end&&this.end.addTag(I),this}addTags(I){return this.start.addTags(I),this.end&&this.end.addTags(I),this}tags(){let I=new Set(this.start.tags());if(this.end)for(let G of this.end.tags())I.add(G);return I}toString(){let I=Array.from(this.tags()).sort();return`[ParsingResult {index: ${this.index}, text: '${this.text}', tags: ${JSON.stringify(I)} ...}]`}};function Il(b,I,G="\\s{0,5},?\\s{0,5}"){let l=I.replace(/\((?!\?)/g,"(?:");return`${b}${l}(?:${G}${l}){0,10}`}function Is(b){let I;return b instanceof Array?I=[...b]:b instanceof Map?I=Array.from(b.keys()):I=Object.keys(b),I}function S(b){return`(?:${Is(b).sort((G,l)=>l.length-G.length).join("|").replace(/\./g,"\\.")})`}var vQ=EI(gI(),1);function Nl(b){return b<100&&(b>50?b=b+1900:b=b+2e3),b}function LI(b,I,G){let l=(0,vQ.default)(b),Z=l;Z=Z.month(G-1),Z=Z.date(I),Z=Z.year(l.year());let c=Z.add(1,"y"),W=Z.add(-1,"y");return Math.abs(c.diff(l))<Math.abs(Z.diff(l))?Z=c:Math.abs(W.diff(l))<Math.abs(Z.diff(l))&&(Z=W),Z.year()}var VV={sunday:0,sun:0,"sun.":0,monday:1,mon:1,"mon.":1,tuesday:2,tue:2,"tue.":2,wednesday:3,wed:3,"wed.":3,thursday:4,thurs:4,"thurs.":4,thur:4,"thur.":4,thu:4,"thu.":4,friday:5,fri:5,"fri.":5,saturday:6,sat:6,"sat.":6},y2={january:1,february:2,march:3,april:4,may:5,june:6,july:7,august:8,september:9,october:10,november:11,december:12},Cl={...y2,jan:1,"jan.":1,feb:2,"feb.":2,mar:3,"mar.":3,apr:4,"apr.":4,jun:6,"jun.":6,jul:7,"jul.":7,aug:8,"aug.":8,sep:9,"sep.":9,sept:9,"sept.":9,oct:10,"oct.":10,nov:11,"nov.":11,dec:12,"dec.":12},E2={one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12},J2={first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19,twentieth:20,"twenty first":21,"twenty-first":21,"twenty second":22,"twenty-second":22,"twenty third":23,"twenty-third":23,"twenty fourth":24,"twenty-fourth":24,"twenty fifth":25,"twenty-fifth":25,"twenty sixth":26,"twenty-sixth":26,"twenty seventh":27,"twenty-seventh":27,"twenty eighth":28,"twenty-eighth":28,"twenty ninth":29,"twenty-ninth":29,thirtieth:30,"thirty first":31,"thirty-first":31},JQ={second:"second",seconds:"second",minute:"minute",minutes:"minute",hour:"hour",hours:"hour",day:"d",days:"d",week:"week",weeks:"week",month:"month",months:"month",quarter:"quarter",quarters:"quarter",year:"year",years:"year"},kd={s:"second",sec:"second",second:"second",seconds:"second",m:"minute",min:"minute",mins:"minute",minute:"minute",minutes:"minute",h:"hour",hr:"hour",hrs:"hour",hour:"hour",hours:"hour",d:"d",day:"d",days:"d",w:"w",week:"week",weeks:"week",mo:"month",mon:"month",mos:"month",month:"month",months:"month",qtr:"quarter",quarter:"quarter",quarters:"quarter",y:"year",yr:"year",year:"year",years:"year",...JQ},yQ=`(?:${S(E2)}|[0-9]+|[0-9]+\\.[0-9]+|half(?:\\s{0,2}an?)?|an?\\b(?:\\s{0,2}few)?|few|several|the|a?\\s{0,2}couple\\s{0,2}(?:of)?)`;function Gs(b){let I=b.toLowerCase();return E2[I]!==void 0?E2[I]:I==="a"||I==="an"||I=="the"?1:I.match(/
Line truncated
|
||||
`)?"":`
|
||||
`;Z.replaceRange(a+I,V);break}}}}function N1(b,I){return b.commands.findCommand(I)}function l0(b,I){N1(b,I)&&(delete b.commands.commands[I],delete b.commands.editorCommands[I])}function KN(b){return b.vault.getAllLoadedFiles().filter(I=>I instanceof eb.TFolder).map(I=>I.path)}function DN(b){let I=b.split("::").map(G=>G.trim()).filter(Boolean);return{basename:I[0],memberAccess:I.slice(1)}}async function vW(b,I,G={}){let{location:l="tab",direction:Z="vertical",mode:c,focus:W=!0,eState:d}=G,m=typeof I=="string"?b.vault.getAbstractFileByPath(I):I;if(!m)throw new Error(`File not found: ${String(I)}`);let N;switch(l){case"reuse":N=b.workspace.getLeaf(!1);break;case"tab":N=b.workspace.getLeaf("tab");break;case"split":N=b.workspace.getLeaf("split",Z);break;case"window":N=b.workspace.getLeaf("window");break;case"left-sidebar":N=b.workspace.getLeftLeaf(!0);break;case"right-sidebar":N=b.workspace.getRightLeaf(!0);break;default:N=b.workspace.getLeaf("tab")}if(!N)throw new Error("Could not obtain a workspace leaf.");if(await N.openFile(m),c&&c!=="default"&&!(typeof c=="object"&&c.mode==="default")){let Y=N.getViewState(),V={...Y.state??{}};c==="preview"||typeof c=="object"&&c.mode==="preview"?(V.mode="preview",delete V.source):c==="source"?(V.mode="source",V.source=!0):c==="live"||c==="live-preview"?(V.mode="source",V.source=!1):typeof c=="object"&&c.mode==="source"&&(V.mode="source",V.source=c.source),await N.setViewState({...Y,state:{...V,...d}})}return W&&b.workspace.setActiveLeaf(N,{focus:!0}),N}function TV(b,I){let G;return b.workspace.iterateRootLeaves(l=>{let Z=l.view;if(Z instanceof eb.FileView&&Z.file&&I.path===Z.file.path){G=l;return}}),G!==void 0?(b.workspace.setActiveLeaf(G),!0):!1}async function SV(b,I){let G=I.vault.getAbstractFileByPath(b.path);if(!G){B.logError(`failed to load file ${b.path}.`);return}if(G instanceof eb.TFile){let l=V=>window.require&&window.require(V),Z={},c={exports:Z},W=await I.vault.read(G);window.eval(`(function(require, module, exports) { ${W}
|
||||
})`)(l,c,Z);let m=Z.default||c.exports;if(!m)return;let N=m,{memberAccess:Y}=DN(b.name);if(Y&&Y.length>0){let V;for(;V=Y.shift();)N=N[V]}return N}}function b0(b,I){let G=structuredClone(b);for(let l of I)delete G[l];return G}function Z0(b,I){let G=b.vault.getAbstractFileByPath(I);return!!G&&G instanceof eb.TFolder}function EW(b,I){return b.vault.getMarkdownFiles().filter(G=>G.path.startsWith(I))}function Y1(b){let I=b.frontmatter;if(!I)return[];let G=Object.entries(I);if(!G.length)return[];let l=G.filter(([c,W])=>{let d=c.toLowerCase();return d==="tags"||d==="tag"});return l?l.flatMap(([c,W])=>{if(typeof W=="string")return W.split(/,|\s+/).map(d=>d.trim());if(Array.isArray(W))return W}).filter(c=>!!c):[]}function V1(b,I){let G=b.metadataCache.getFileCache(I);if(!G)return[];let l=[];return G.frontmatter&&l.push(...Y1(G)),G.tags&&Array.isArray(G.tags)&&l.push(...G.tags.map(Z=>Z.tag.replace(/^\#/,""))),l}function c0(b,I){let G=I.replace(/^\#/,"");return b.vault.getMarkdownFiles().filter(l=>V1(b,l).includes(G))}var QZ=class{constructor(){this.variables=new Map}hasConcreteVariable(I){if(!this.variables.has(I))return!1;let G=this.variables.get(I);return G!=null}setTitle(I){this.variables.set("title",I)}replacer(I,G,l){return I.replace(G,function(){return l})}replaceDateInString(I){let G=I;for(;cV.test(G);){let l=cV.exec(G),Z;if(l&&l[1]){let c=l[1].replace("+","").trim();V2.test(c)&&(Z=parseInt(c))}G=this.replacer(G,cV,Db({offset:Z}))}for(;fc.test(G);){let l=fc.exec(G);if(!l)throw new Error(`Unable to parse date format. Invalid syntax in: "${G.substring(Math.max(0,G.search(fc)-10),Math.min(G.length,G.search(fc)+30))}..."`);let Z=l[1],c;if(l[2]){let W=l[2].replace("+","").trim();V2.test(W)&&(c=parseInt(W))}G=this.replacer(G,fc,Db({format:Z,offset:c}))}return G}replaceTimeInString(I){let G=I;for(;Pc.test(G);){if(!Pc.exec(G))throw new Error(`Unable to parse time format. Invalid syntax in: "${G.substring(Math.max(0,G.search(Pc)-10),Math.min(G.length,G.search(Pc)+30))}..."`);G=this.replacer(G,Pc,Db({format:"HH:mm"}))}for(;_c.test(G);){let l=_c.exec(G);if(!l)throw new Error(`Unable to parse formatted time. Invalid syntax in: "${G.substring(Math.max(0,G.search(_c)-10),Math.min(G.length,G.search(_c)+30))}..."`);let Z=l[1];G=this.replacer(G,_c,Db({format:Z}))}return G}async replaceValueInString(I){let G=I;for(this.variables.has("value")&&(this.value=this.variables.get("value"));a2.test(G);)this.value||(this.value=await this.promptForValue()),G=this.replacer(G,a2,this.value);return G}async replaceSelectedInString(I){let G=I,l=await this.getSelectedText();for(;F2.test(G);)G=this.replacer(G,F2,l);return G}async replaceClipboardInString(I){let G=I,l=await this.getClipboardContent();for(;X2.test(G);)G=this.replacer(G,X2,l);return G}async replaceLinkToCurrentFileInString(I){let G=this.getCurrentFileLink(),l=I;if(!G&&WV.test(l))throw new Error("Unable to get current file path. Make sure you have a file open in the editor.");if(!G)return l;for(;WV.test(l);)l=this.replacer(l,WV,G);return l}async replaceVariableInString(I){let G=I;for(;$c.test(G);){let l=$c.exec(G);if(!l)throw new Error(`Unable to parse variable. Invalid syntax in: "${G.substring(Math.max(0,G.search($c)-10),Math.min(G.length,G.search($c)+30))}..."`);let Z=l[1],c="";if(Z){let W=Z.indexOf("|");if(W!==-1&&(c=Z.substring(W+1).trim(),Z=Z.substring(0,W).trim()),!this.hasConcreteVariable(Z)){let d=Z.split(","),m="";d.length===1?m=await this.promptForVariable(Z):m=await this.suggestForValue(d),!m&&c&&(m=c),this.variables.set(Z,m)}G=this.replacer(G,$c,this.getVariableValue(Z))}else break}return G}async replaceFieldVarInString(I){let G=I;for(;IW.test(G);){let l=IW.exec(G);if(!l)throw new Error(`Unable to parse field variable. Invalid syntax in: "${G.substring(Math.max(0,G.search(IW)-10),Math.min(G.length,G.search(IW)+30))}..."`);let Z=l[1]+(l[2]||"");if(Z)this.hasConcreteVariable(Z)||this.variables.set(Z,await this.suggestForField(Z)),G=this.replacer(G,IW,this.getVariableValue(Z));else break}return G}async replaceMathValueInString(I){let G=I;for(;h2.test(G);){let l=await this.promptForMathValue();G=this.replacer(G,h2,l)}return G}async replaceMacrosInString(I){let G=I;for(;dV.test(G);){let l=dV.exec(G);if(!l||!l[1])continue;let Z=l[1],c=await this.getMacroValue(Z);G=this.replacer(G,dV,c?c.toString():"")}return G}async replaceDateVariableInString(I){let G=I;for(;MZ.test(G);){let l=MZ.exec(G);if(!l||!l[1]||!l[2])break;let Z=l[1].trim(),c=l[2].trim(),W=l[3]?.trim()||void 0;if(!Z||!c)break;if(Z&&c){if(!this.variables.get(Z)){let Y=await this.promptForVariable(Z,{type:"VDATE",dateFormat:c,defaultValue:W});if(this.variables.set(Z,Y),!this.dateParser)throw new Error("Date parser is not available");let V=this.dateParser.parseDate(Y);if(V)this.variables.set(Z,`@date:${V.moment.toISOString()}`);else throw new Error(`unable to parse date variable ${Y}`)}let m="",N=this.variables.get(Z);if(N&&N.startsWith("@date:")){let Y=N.substring(6);if(this.dateParser&&window.moment){let V=window.mom
Line truncated
|
||||
`,l++):c=="\\"?(G+="\\",l++):G+="\\":G+=Z}return G}replaceRandomInString(I){let G=I;for(;p2.test(G);){let l=p2.exec(G);if(!l||!l[1])continue;let Z=parseInt(l[1]);if(Z<=0||Z>100)throw new Error(`Random string length must be between 1 and 100. Got: ${Z}`);let c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",W="";for(let d=0;d<Z;d++)W+=c.charAt(Math.floor(Math.random()*c.length));G=G.replace(l[0],W)}return G}replaceTitleInString(I){let G=I,l=this.getVariableValue("title");for(;R2.test(G);)G=this.replacer(G,R2,l);return G}};var a1={title:"My Document Title",name:"Document Name",project:"Project Alpha",category:"Notes",author:"Your Name",status:"Draft",priority:"High",tag:"important",type:"meeting",client:"Acme Corp"},h1={clipboard:"clipboard_content",date:"formatted_date",time:"current_time",random:"random_value",uuid:"unique_id"},R1=[{pattern:/date|time/i,example:"2024-01-15"},{pattern:/title|name/i,example:"Example Title"},{pattern:/tag/i,example:"important"},{pattern:/category|type/i,example:"Notes"},{pattern:/author|user/i,example:"Your Name"},{pattern:/project/i,example:"Project Alpha"},{pattern:/status/i,example:"In Progress"},{pattern:/priority/i,example:"High"},{pattern:/number|count|id/i,example:"001"}];function qV(b){let I=b.toLowerCase(),G=a1[I];return G||`${b}_example`}function fV(b){return h1[b.toLowerCase()]||`${b}_output`}function PV(b){for(let{pattern:I,example:G}of R1)if(I.test(b))return G;return`${b}_value`}function _V(b){return b.length>0?`${b[0]} (${b.length} options)`:"suggestion_list"}function $V(b){return b?.path?b.basename:"current_file"}var wb=class{static generate(I,G=new Date){let l=G.getFullYear(),Z=(G.getMonth()+1).toString().padStart(2,"0"),c=G.getDate().toString().padStart(2,"0"),W=G.getHours().toString().padStart(2,"0"),d=G.getMinutes().toString().padStart(2,"0"),m=G.getSeconds().toString().padStart(2,"0");return I.replace(/YYYY/g,l.toString()).replace(/YY/g,l.toString().slice(-2)).replace(/MMMM/g,this.MONTH_NAMES[G.getMonth()]).replace(/MMM/g,this.MONTH_NAMES_SHORT[G.getMonth()]).replace(/MM/g,Z).replace(/M/g,(G.getMonth()+1).toString()).replace(/dddd/g,this.DAY_NAMES[G.getDay()]).replace(/ddd/g,this.DAY_NAMES_SHORT[G.getDay()]).replace(/DD/g,c).replace(/D/g,G.getDate().toString()).replace(/HH/g,W).replace(/H/g,G.getHours().toString()).replace(/mm/g,d).replace(/m/g,G.getMinutes().toString()).replace(/ss/g,m).replace(/s/g,G.getSeconds().toString()).replace(/ww/g,this.getWeekNumber(G).toString().padStart(2,"0")).replace(/w/g,this.getWeekNumber(G).toString())}static getWeekNumber(I){let G=new Date(I.getFullYear(),0,1),l=(I.getTime()-G.getTime())/864e5;return Math.ceil((l+G.getDay()+1)/7)}};wb.MONTH_NAMES=["January","February","March","April","May","June","July","August","September","October","November","December"],wb.MONTH_NAMES_SHORT=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wb.DAY_NAMES=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],wb.DAY_NAMES_SHORT=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var JW=class extends QZ{constructor(G,l){super();this.app=G;this.dateParser=l||Kb}async format(G){let l=G;try{l=await this.replaceMacrosInString(l),l=this.replaceDateInString(l),l=this.replaceTimeInString(l),l=await this.replaceValueInString(l),l=await this.replaceSelectedInString(l),l=await this.replaceClipboardInString(l),l=await this.replaceDateVariableInString(l),l=await this.replaceVariableInString(l),l=await this.replaceFieldVarInString(l),l=this.replaceRandomInString(l)}catch{return G}return`Preview: ${l}`}promptForValue(G){return G||"user input"}getVariableValue(G){return qV(G)}getCurrentFileLink(){return $V(this.app.workspace.getActiveFile())}suggestForValue(G){return _V(G)}promptForMathValue(){return Promise.resolve("calculation_result")}getMacroValue(G){return fV(G)}async promptForVariable(G,l){return PV(G)}async getTemplateContent(G){return`[${G.split("/").pop()?.replace(".md","")||G} template content...]`}async getSelectedText(){return"selected_text"}async getClipboardContent(){return"clipboard_content"}async suggestForField(G){return`${G}_field_value`}async replaceDateVariableInString(G){let l=G;return l=l.replace(new RegExp(MZ.source,"gi"),(Z,c,W)=>{let d=c?.trim(),m=W?.trim();if(!d||!m)return Z;let N=new Date,Y;try{Y=wb.generate(m,N)}catch{Y=`[${m}]`}return Y}),l}replaceRandomInString(G){let l=G;return l=l.replace(/{{RANDOM:(\d+)}}/gi,(Z,c)=>{let W=parseInt(c);if(W<=0||W>100)return Z;let d="ABC123",m="";for(let N=0;N<Math.min(W,6);N++)m+=d.charAt(N%d.length);return W>6&&(m+="..."),m}),l}};var TN=require("obsidian");var yW=class{constructor(I){this.app=I}async createFolder(I){await this.app.vault.adapter.exists(I)||await this.app.vault.createFolder(I)}normalizeMarkdownFilePath(I,G){let l=I?`${I}/`:"",Z=G.replace(Ad,"");return`${l}${Z}.md`}async fileExists(I){return await this.app.vault.adapter.exists(I)}getFileByPath(I){let G=this.app.vault.getAbstractFileByPath(I);if(!G)throw B.logError(`${I} not fLine truncated
|
||||
<div class="qa-suggestion-content">
|
||||
<span class="suggestion-main-text">${d}</span>
|
||||
${m}
|
||||
${N}
|
||||
</div>
|
||||
<span class="suggestion-sub-text">${N}</span>
|
||||
`,this.addHoverTooltip(b,Z)}addHoverTooltip(G,b){let Z,c=()=>{clearTimeout(Z),document.querySelector(".qa-file-tooltip")?.remove()};G.addEventListener("mouseenter",()=>{c(),Z=setTimeout(async()=>{let d=this.createTooltip(b);d&&(document.body.appendChild(d),this.positionTooltip(d,G))},200)}),G.addEventListener("mouseleave",c),G.addEventListener("blur",c);let W=()=>c();document.addEventListener("scroll",W,{passive:!0}),G._tooltipCleanup=()=>{c(),document.removeEventListener("scroll",W)}}createTooltip(G){let b=this.app.vault.getAbstractFileByPath(G.path);if(!b||!(b instanceof dY.TFile))return null;let Z=document.createElement("div");return Z.className="qa-file-tooltip",Z.innerHTML=`
|
||||
<div class="qa-tooltip-header">${b.basename}</div>
|
||||
<span class="suggestion-sub-text">${m}</span>
|
||||
`,this.addHoverTooltip(l,Z)}addHoverTooltip(G,l){let Z,c=()=>{clearTimeout(Z),document.querySelector(".qa-file-tooltip")?.remove()};G.addEventListener("mouseenter",()=>{c(),Z=setTimeout(async()=>{let d=this.createTooltip(l);d&&(document.body.appendChild(d),this.positionTooltip(d,G))},200)}),G.addEventListener("mouseleave",c),G.addEventListener("blur",c);let W=()=>c();document.addEventListener("scroll",W,{passive:!0}),G._tooltipCleanup=()=>{c(),document.removeEventListener("scroll",W)}}createTooltip(G){let l=this.app.vault.getAbstractFileByPath(G.path);if(!l||!(l instanceof BF.TFile))return null;let Z=document.createElement("div");return Z.className="qa-file-tooltip",Z.innerHTML=`
|
||||
<div class="qa-tooltip-header">${l.basename}</div>
|
||||
<div class="qa-tooltip-content">
|
||||
<div>Path: ${b.path}</div>
|
||||
<div>Modified: ${new Date(b.stat.mtime).toLocaleDateString()}</div>
|
||||
<div>Path: ${l.path}</div>
|
||||
<div>Modified: ${new Date(l.stat.mtime).toLocaleDateString()}</div>
|
||||
</div>
|
||||
`,Z}positionTooltip(G,b){let Z=b.getBoundingClientRect();G.style.position="fixed",G.style.left=`${Z.right+10}px`,G.style.top=`${Z.top}px`,G.style.zIndex="1000"}close(){document.querySelectorAll(".qaFileSuggestionItem").forEach(Z=>{Z._tooltipCleanup&&Z._tooltipCleanup()}),document.querySelectorAll(".qa-file-tooltip").forEach(Z=>Z.remove()),super.close()}async selectSuggestion(G){if(this.inputEl.selectionStart===null)return;let b=this.inputEl.selectionStart,Z=this.lastInput.length,c=this.inputEl.value,W=0,d=this.inputEl.value.slice(b-this.lastInput.length-3,b-this.lastInput.length)==="![[";if(G.matchType==="unresolved")W=this.makeLinkManually(c,G.displayText.replace(/.md$/,""),b,Z);else if(G.matchType==="heading"||G.matchType==="block"){let N=G.displayText;W=this.makeLinkManually(c,N,b,Z)}else if(d)W=this.makeLinkManually(c,G.displayText,b,Z);else{let N=this.app.vault.getAbstractFileByPath(G.file.path);if(N instanceof dY.TFile){let m=G.matchType==="alias"?G.displayText:void 0;W=this.makeLinkObsidianMethod(N,c,b,Z,m)}else W=this.makeLinkManually(c,G.displayText,b,Z)}this.inputEl.trigger("input"),this.close(),this.inputEl.setSelectionRange(W,W)}makeLinkObsidianMethod(G,b,Z,c,W){let d=this.app.vault.getAbstractFileByPath(G.path),N=this.app.fileManager.generateMarkdownLink(d,"","",W??"");return this.inputEl.value=this.getNewInputValueForFileLink(b,N,Z,c),Z-c+N.length+2}makeLinkManually(G,b,Z,c){return this.inputEl.value=this.getNewInputValueForFileName(G,b,Z,c),Z-c+b.length+2}getNewInputValueForFileLink(G,b,Z,c){return`${G.substr(0,Z-c-2)}${b}${G.substr(Z)}`}getNewInputValueForFileName(G,b,Z,c){return`${G.substr(0,Z-c)}${b}]]${G.substr(Z)}`}};var OZ=class extends vG{constructor(G,b){super(G,b);this.app=G;this.inputEl=b;this.lastInput="";this.lastInputStart=0;this.refreshTagIndex(),XI.instance.registerEvent(this.app.metadataCache.on("resolved",()=>this.refreshTagIndex()))}refreshTagIndex(){let G=this.app.metadataCache.getTags(),b=Object.keys(G);this.tagSet=new Set(b),this.sortedTags=b.sort((Z,c)=>Z.length!==c.length?Z.length-c.length:Z.localeCompare(c)),this.fuse=new tG(this.sortedTags,{threshold:.4,includeScore:!0,keys:[""]})}getSuggestions(G){if(this.inputEl.selectionStart===null)return[];let b=this.inputEl.selectionStart,Z=G.slice(0,b),c=Q2.exec(Z);if(!c)return[];let W=Z.lastIndexOf("[[");if(W!==-1&&W<c.index)return[];let d=c[1];this.lastInput=d,this.lastInputStart=c.index;let N=this.sortedTags.filter(h=>h.toLowerCase().startsWith(d.toLowerCase())).slice(0,5),m=this.fuse.search(d).filter(h=>h.score<.8).map(h=>h.item).slice(0,10),Y=new Set(N),V=[...N];for(let h of m)!Y.has(h)&&V.length<15&&(V.push(h),Y.add(h));return V}renderSuggestion(G,b){let Z=this.renderMatch(G,this.lastInput);b.innerHTML=Z}selectSuggestion(G){let b=this.inputEl;if(b.selectionStart===null)return;let Z=b.selectionStart,W=b.value.lastIndexOf("#",Z-1);if(W===-1)return;let d=G.startsWith("#")?G:`#${G}`;Nd(b,W,Z,d,{dispatchInput:!1}),this.close()}};var yI=class l extends MZ.Modal{constructor(G,b,Z,c){super(G);this.header=b;this.didSubmit=!1;this.submitClickCallback=G=>this.submit();this.cancelClickCallback=G=>this.cancel();this.submitEnterCallback=G=>{!G.isComposing&&G.key==="Enter"&&(G.preventDefault(),this.submit())};this.placeholder=Z??"",this.input=c??"",this.waitForClose=new Promise((W,d)=>{this.resolvePromise=W,this.rejectPromise=d}),this.display(),this.open(),this.fileSuggester=new rZ(G,this.inputComponent.inputEl),this.tagSuggester=new OZ(G,this.inputComponent.inputEl)}static Prompt(G,b,Z,c){return new l(G,b,Z,c).waitForClose}display(){this.containerEl.addClass("quickAddModal","qaInputPrompt"),this.contentEl.empty(),this.titleEl.textContent=this.header;let G=this.contentEl.createDiv();this.inputComponent=this.createInputField(G,this.placeholder,this.input),this.createButtonBar(G)}createInputField(G,b,Z){let c=new MZ.TextComponent(G);return c.inputEl.style.width="100%",c.setPlaceholder(b??"").setValue(Z??"").onChange(W=>this.input=W).inputEl.addEventListener("keydown",this.submitEnterCallback),c}createButton(G,b,Z){let c=new MZ.ButtonComponent(G);return c.setButtonText(b).onClick(Z),c}createButtonBar(G){let b=G.createDiv();this.createButton(b,"Ok",this.submitClickCallback).setCta().buttonEl.style.marginRight="0",this.createButton(b,"Cancel",this.cancelClickCallback),b.style.display="flex",b.style.flexDirection="row-reverse",b.style.justifyContent="flex-start",b.style.marginTop="1rem",b.style.gap="0.5rem"}submit(){this.didSubmit=!0,this.close()}cancel(){this.close()}resolveInput(){this.didSubmit?this.resolvePromise(this.input):this.rejectPromise("No input given.")}removeInputListener(){this.inputComponent.inputEl.removeEventListener("keydown",this.submitEnterCallback)}onOpen(){super.onOpen(),this.inputComponent.inputEl.focus(),this.inputComponent.inputEl.select()}onClose(){super.onClose(),this.resolveInput(),this.removeInputListener()}};var Tb=class Tb{register(I){return Tb.loggers.push(I),this}logError(I){let G=I instanceof Error?I.mess
Line truncated
|
||||
})`)(b,c,Z);let N=Z.default||c.exports;if(!N)return;let m=N,{memberAccess:Y}=GW(l.name);if(Y&&Y.length>0){let V;for(;V=Y.shift();)m=m[V]}return m}}function q2(l,I){let G=structuredClone(l);for(let b of I)delete G[b];return G}function f2(l){let I=c=>c.type==="Template",G=c=>c.type==="Macro",b=c=>c.type==="Capture",Z=c=>c.type==="Multi";return I(l)||G(l)||b(l)||Z(l)}function P2(l,I){let G=l.vault.getAbstractFileByPath(I);return!!G&&G instanceof Ml.TFolder}function KZ(l,I){return l.vault.getMarkdownFiles().filter(G=>G.path.startsWith(I))}function wH(l){let I=l.frontmatter;if(!I)return[];let G=Object.entries(I);if(!G.length)return[];let b=G.filter(([c,W])=>{let d=c.toLowerCase();return d==="tags"||d==="tag"});return b?b.flatMap(([c,W])=>{if(typeof W=="string")return W.split(/,|\s+/).map(d=>d.trim());if(Array.isArray(W))return W}).filter(c=>!!c):[]}function vH(l,I){let G=l.metadataCache.getFileCache(I);if(!G)return[];let b=[];return G.frontmatter&&b.push(...wH(G)),G.tags&&Array.isArray(G.tags)&&b.push(...G.tags.map(Z=>Z.tag.replace(/^\#/,""))),b}function _2(l,I){let G=I.replace(/^\#/,"");return l.vault.getMarkdownFiles().filter(b=>vH(l,b).includes(G))}var Vb=class{constructor(){this.variables=new Map}replacer(I,G,b){return I.replace(G,function(){return b})}replaceDateInString(I){let G=I;for(;ad.test(G);){let b=ad.exec(G),Z;if(b&&b[1]){let c=b[1].replace("+","").trim();Bm.test(c)&&(Z=parseInt(c))}G=this.replacer(G,ad,jl({offset:Z}))}for(;LZ.test(G);){let b=LZ.exec(G);if(!b)throw new Error(`Unable to parse date format. Invalid syntax in: "${G.substring(Math.max(0,G.search(LZ)-10),Math.min(G.length,G.search(LZ)+30))}..."`);let Z=b[1],c;if(b[2]){let W=b[2].replace("+","").trim();Bm.test(W)&&(c=parseInt(W))}G=this.replacer(G,LZ,jl({format:Z,offset:c}))}return G}replaceTimeInString(I){let G=I;for(;oZ.test(G);){if(!oZ.exec(G))throw new Error(`Unable to parse time format. Invalid syntax in: "${G.substring(Math.max(0,G.search(oZ)-10),Math.min(G.length,G.search(oZ)+30))}..."`);G=this.replacer(G,oZ,jl({format:"HH:mm"}))}for(;kZ.test(G);){let b=kZ.exec(G);if(!b)throw new Error(`Unable to parse formatted time. Invalid syntax in: "${G.substring(Math.max(0,G.search(kZ)-10),Math.min(G.length,G.search(kZ)+30))}..."`);let Z=b[1];G=this.replacer(G,kZ,jl({format:Z}))}return G}async replaceValueInString(I){let G=I;for(this.variables.has("value")&&(this.value=this.variables.get("value"));rm.test(G);)this.value||(this.value=await this.promptForValue()),G=this.replacer(G,rm,this.value);return G}async replaceSelectedInString(I){let G=I,b=await this.getSelectedText();for(;Mm.test(G);)G=this.replacer(G,Mm,b);return G}async replaceLinkToCurrentFileInString(I){let G=this.getCurrentFileLink(),b=I;if(!G&&Fd.test(b))throw new Error("Unable to get current file path. Make sure you have a file open in the editor.");if(!G)return b;for(;Fd.test(b);)b=this.replacer(b,Fd,G);return b}async replaceVariableInString(I){let G=I;for(;iZ.test(G);){let b=iZ.exec(G);if(!b)throw new Error(`Unable to parse variable. Invalid syntax in: "${G.substring(Math.max(0,G.search(iZ)-10),Math.min(G.length,G.search(iZ)+30))}..."`);let Z=b[1],c="";if(Z){let W=Z.indexOf("|");if(W!==-1&&(c=Z.substring(W+1).trim(),Z=Z.substring(0,W).trim()),!this.getVariableValue(Z)){let d=Z.split(","),N="";d.length===1?N=await this.promptForVariable(Z):N=await this.suggestForValue(d),!N&&c&&(N=c),this.variables.set(Z,N)}G=this.replacer(G,iZ,this.getVariableValue(Z))}else break}return G}async replaceFieldVarInString(I){let G=I;for(;zZ.test(G);){let b=zZ.exec(G);if(!b)throw new Error(`Unable to parse field variable. Invalid syntax in: "${G.substring(Math.max(0,G.search(zZ)-10),Math.min(G.length,G.search(zZ)+30))}..."`);let Z=b[1]+(b[2]||"");if(Z)this.getVariableValue(Z)||this.variables.set(Z,await this.suggestForField(Z)),G=this.replacer(G,zZ,this.getVariableValue(Z));else break}return G}async replaceMathValueInString(I){let G=I;for(;Om.test(G);){let b=await this.promptForMathValue();G=this.replacer(G,Om,b)}return G}async replaceMacrosInString(I){let G=I;for(;Rd.test(G);){let b=Rd.exec(G);if(!b||!b[1])continue;let Z=b[1],c=await this.getMacroValue(Z);G=this.replacer(G,Rd,c?c.toString():"")}return G}async replaceDateVariableInString(I){let G=I;for(;Mb.test(G);){let b=Mb.exec(G);if(!b||!b[1]||!b[2])break;let Z=b[1].trim(),c=b[2].trim();if(!Z||!c)break;if(Z&&c){if(!this.variables.get(Z)){let m=await this.promptForVariable(Z);this.variables.set(Z,m);let Y=this.getNaturalLanguageDates();if(!Y||!Y.parseDate||typeof Y.parseDate!="function")throw new Error(`VDATE variable "${Z}" requires the Natural Language Dates plugin to be installed and enabled.`);let V=Y.parseDate(m);if(V)this.variables.set(Z,`@date:${V.moment.toISOString()}`);else throw new Error(`unable to parse date variable ${m}`)}let d="",N=this.variables.get(Z);if(N&&N.startsWith("@date:")){let m=N.substring(6),Y=this.getNaturalLanguageDates();if(Y&&Y.parseDate&&typeof Y.parseDate=="function"){let V=window.moment(m);V&&V.isValid()&&(d=V.for
Line truncated
|
||||
`,b++):c=="\\"?(G+="\\",b++):G+="\\":G+=Z}return G}};var tH={title:"My Document Title",name:"Document Name",project:"Project Alpha",category:"Notes",author:"Your Name",status:"Draft",priority:"High",tag:"important",type:"meeting",client:"Acme Corp"},EH={clipboard:"clipboard_content",date:"formatted_date",time:"current_time",random:"random_value",uuid:"unique_id"},JH=[{pattern:/date|time/i,example:"2024-01-15"},{pattern:/title|name/i,example:"Example Title"},{pattern:/tag/i,example:"important"},{pattern:/category|type/i,example:"Notes"},{pattern:/author|user/i,example:"Your Name"},{pattern:/project/i,example:"Project Alpha"},{pattern:/status/i,example:"In Progress"},{pattern:/priority/i,example:"High"},{pattern:/number|count|id/i,example:"001"}];function yd(l){let I=l.toLowerCase(),G=tH[I];return G||`${l}_example`}function ed(l){return EH[l.toLowerCase()]||`${l}_output`}function Cd(l){for(let{pattern:I,example:G}of JH)if(I.test(l))return G;return`${l}_value`}function gd(l){return l.length>0?`${l[0]} (${l.length} options)`:"suggestion_list"}function Ad(l){return l?.path?l.basename:"current_file"}var tl=class{static generate(I,G=new Date){let b=G.getFullYear(),Z=(G.getMonth()+1).toString().padStart(2,"0"),c=G.getDate().toString().padStart(2,"0"),W=G.getHours().toString().padStart(2,"0"),d=G.getMinutes().toString().padStart(2,"0"),N=G.getSeconds().toString().padStart(2,"0");return I.replace(/YYYY/g,b.toString()).replace(/YY/g,b.toString().slice(-2)).replace(/MMMM/g,this.MONTH_NAMES[G.getMonth()]).replace(/MMM/g,this.MONTH_NAMES_SHORT[G.getMonth()]).replace(/MM/g,Z).replace(/M/g,(G.getMonth()+1).toString()).replace(/dddd/g,this.DAY_NAMES[G.getDay()]).replace(/ddd/g,this.DAY_NAMES_SHORT[G.getDay()]).replace(/DD/g,c).replace(/D/g,G.getDate().toString()).replace(/HH/g,W).replace(/H/g,G.getHours().toString()).replace(/mm/g,d).replace(/m/g,G.getMinutes().toString()).replace(/ss/g,N).replace(/s/g,G.getSeconds().toString()).replace(/ww/g,this.getWeekNumber(G).toString().padStart(2,"0")).replace(/w/g,this.getWeekNumber(G).toString())}static getWeekNumber(I){let G=new Date(I.getFullYear(),0,1),b=(I.getTime()-G.getTime())/864e5;return Math.ceil((b+G.getDay()+1)/7)}};tl.MONTH_NAMES=["January","February","March","April","May","June","July","August","September","October","November","December"],tl.MONTH_NAMES_SHORT=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tl.DAY_NAMES=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],tl.DAY_NAMES_SHORT=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var DZ=class extends Vb{constructor(G){super();this.app=G}async format(G){let b=G;try{b=await this.replaceMacrosInString(b),b=this.replaceDateInString(b),b=this.replaceTimeInString(b),b=await this.replaceValueInString(b),b=await this.replaceDateVariableInString(b),b=await this.replaceVariableInString(b),b=await this.replaceFieldVarInString(b)}catch{return G}return`Preview: ${b}`}promptForValue(G){return G||"user input"}getVariableValue(G){return yd(G)}getCurrentFileLink(){return Ad(this.app.workspace.getActiveFile())}getNaturalLanguageDates(){return vl(this.app)}suggestForValue(G){return gd(G)}promptForMathValue(){return Promise.resolve("calculation_result")}getMacroValue(G){return ed(G)}async promptForVariable(G){return Cd(G)}async getTemplateContent(G){return`[${G.split("/").pop()?.replace(".md","")||G} template content...]`}async getSelectedText(){return"selected_text"}suggestForField(G){return`${G}_field_value`}async replaceDateVariableInString(G){let b=G;return b=b.replace(new RegExp(Mb.source,"gi"),(Z,c,W)=>{let d=c?.trim(),N=W?.trim();if(!d||!N)return Z;let m=new Date,Y;try{Y=tl.generate(N,m)}catch{Y=`[${N}]`}return Y}),b}};var pG=class extends vG{constructor(G,b,Z,c=!1){super(G,b);this.app=G;this.inputEl=b;this.plugin=Z;this.suggestForFileNames=c;this.lastInput="";this.lastInputStart=0;this.tokenDefinitions=[{regex:p2,token:1,suggestion:"{{DATE:}}",cursorOffset:2},{regex:H2,token:0,suggestion:xm},{regex:e2,token:10,suggestion:Y2},{regex:u2,token:4,suggestion:Um},{regex:n2,token:3,suggestion:Ob},{regex:s2,token:9,suggestion:V2},{regex:y2,token:11,suggestion:a2},{regex:w2,token:5,suggestion:"{{VALUE:}}",cursorOffset:2},{regex:v2,token:2,suggestion:"{{VDATE:}}",cursorOffset:2}];this.contextualTokens=[{regex:t2,token:6,suggestion:h2},{regex:E2,token:8,suggestion:"{{TEMPLATE:"},{regex:J2,token:7,suggestion:"{{MACRO:"}];this.macroNames=this.plugin.settings.macros.map(W=>W.name),this.templatePaths=this.plugin.getTemplateFiles().map(W=>W.path)}async getSuggestions(G){if(this.inputEl.selectionStart===null)return[];let b=this.inputEl.selectionStart,Z=G.lastIndexOf("{{",b-1);if(Z===-1)return[];let c=G.slice(Z,b);if(c.includes("}}"))return[];if(c.includes(":"))return[];let W=[],d=[...this.tokenDefinitions,...this.suggestForFileNames?[]:this.contextualTokens];for(let N of d){let m=N.regex.exec(c);m&&m.index+m[0].length===c.length&&(this.lastInput=m[0],this.lastInputType=N.token,this.lastInputStart=b-
Line truncated
|
||||
`).filter(Boolean).reduce((b,Z)=>{let[c,W,...d]=Z.split(" "),N=Number.parseInt(W,10);return d.forEach((m,Y)=>b[m]=N+Y),b},{});for(let[b,Z]of Object.entries(G)){let c=Wa.default.toByteArray(b);this.rankMap.set(c.join(","),Z),this.textMap.set(Z,c)}this.specialTokens={...l.special_tokens,...I},this.inverseSpecialTokens=Object.entries(this.specialTokens).reduce((b,[Z,c])=>(b[c]=this.textEncoder.encode(Z),b),{})}encode(l,I=[],G="all"){let b=new RegExp(this.patStr,"ug"),Z=hY.specialTokenRegex(Object.keys(this.specialTokens)),c=[],W=new Set(I==="all"?Object.keys(this.specialTokens):I),d=new Set(G==="all"?Object.keys(this.specialTokens).filter(m=>!W.has(m)):G);if(d.size>0){let m=hY.specialTokenRegex([...d]),Y=l.match(m);if(Y!=null)throw new Error(`The text contains a special token that is not allowed: ${Y[0]}`)}let N=0;for(;;){let m=null,Y=N;for(;Z.lastIndex=Y,m=Z.exec(l),!(m==null||W.has(m[0]));)Y=m.index+1;let V=m?.index??l.length;for(let a of l.substring(N,V).matchAll(b)){let X=this.textEncoder.encode(a[0]),H=this.rankMap.get(X.join(","));if(H!=null){c.push(H);continue}c.push(...xH(X,this.rankMap))}if(m==null)break;let h=this.specialTokens[m[0]];c.push(h),N=m.index+m[0].length}return c}decode(l){let I=[],G=0;for(let c=0;c<l.length;++c){let W=l[c],d=this.textMap.get(W)??this.inverseSpecialTokens[W];d!=null&&(I.push(d),G+=d.length)}let b=new Uint8Array(G),Z=0;for(let c of I)b.set(c,Z),Z+=c.length;return this.textDecoder.decode(b)}},Kl=hY;iH(Kl,"specialTokenRegex",l=>new RegExp(l.map(I=>UH(I)).join("|"),"g"));function aY(l){switch(l){case"gpt2":return"gpt2";case"code-cushman-001":case"code-cushman-002":case"code-davinci-001":case"code-davinci-002":case"cushman-codex":case"davinci-codex":case"davinci-002":case"text-davinci-002":case"text-davinci-003":return"p50k_base";case"code-davinci-edit-001":case"text-davinci-edit-001":return"p50k_edit";case"ada":case"babbage":case"babbage-002":case"code-search-ada-code-001":case"code-search-babbage-code-001":case"curie":case"davinci":case"text-ada-001":case"text-babbage-001":case"text-curie-001":case"text-davinci-001":case"text-search-ada-doc-001":case"text-search-babbage-doc-001":case"text-search-curie-doc-001":case"text-search-davinci-doc-001":case"text-similarity-ada-001":case"text-similarity-babbage-001":case"text-similarity-curie-001":case"text-similarity-davinci-001":return"r50k_base";case"gpt-3.5-turbo-instruct-0914":case"gpt-3.5-turbo-instruct":case"gpt-3.5-turbo-16k-0613":case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo":case"gpt-4-32k-0613":case"gpt-4-32k-0314":case"gpt-4-32k":case"gpt-4-0613":case"gpt-4-0314":case"gpt-4":case"gpt-3.5-turbo-1106":case"gpt-35-turbo":case"gpt-4-1106-preview":case"gpt-4-vision-preview":case"gpt-3.5-turbo-0125":case"gpt-4-turbo":case"gpt-4-turbo-2024-04-09":case"gpt-4-turbo-preview":case"gpt-4-0125-preview":case"text-embedding-ada-002":case"text-embedding-3-small":case"text-embedding-3-large":return"cl100k_base";case"gpt-4o":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":case"gpt-4o-2024-11-20":case"gpt-4o-mini-2024-07-18":case"gpt-4o-mini":case"gpt-4o-search-preview":case"gpt-4o-search-preview-2025-03-11":case"gpt-4o-mini-search-preview":case"gpt-4o-mini-search-preview-2025-03-11":case"gpt-4o-audio-preview":case"gpt-4o-audio-preview-2024-12-17":case"gpt-4o-audio-preview-2024-10-01":case"gpt-4o-mini-audio-preview":case"gpt-4o-mini-audio-preview-2024-12-17":case"o1":case"o1-2024-12-17":case"o1-mini":case"o1-mini-2024-09-12":case"o1-preview":case"o1-preview-2024-09-12":case"o1-pro":case"o1-pro-2025-03-19":case"o3":case"o3-2025-04-16":case"o3-mini":case"o3-mini-2025-01-31":case"o4-mini":case"o4-mini-2025-04-16":case"chatgpt-4o-latest":case"gpt-4o-realtime":case"gpt-4o-realtime-preview-2024-10-01":case"gpt-4o-realtime-preview-2024-12-17":case"gpt-4o-mini-realtime-preview":case"gpt-4o-mini-realtime-preview-2024-12-17":case"gpt-4.1":case"gpt-4.1-2025-04-14":case"gpt-4.1-mini":case"gpt-4.1-mini-2025-04-14":case"gpt-4.1-nano":case"gpt-4.1-nano-2025-04-14":case"gpt-4.5-preview":case"gpt-4.5-preview-2025-02-27":return"o200k_base";default:throw new Error("Unknown model")}}var BH={explicit_n_vocab:50257,pat_str:"'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+",special_tokens:{"<|endoftext|>":50256},bpe_ranks:"! 0 IQ== Ig== Iw== JA== JQ== Jg== Jw== KA== KQ== Kg== Kw== LA== LQ== Lg== Lw== MA== MQ== Mg== Mw== NA== NQ== Ng== Nw== OA== OQ== Og== Ow== PA== PQ== Pg== Pw== QA== QQ== Qg== Qw== RA== RQ== Rg== Rw== SA== SQ== Sg== Sw== TA== TQ== Tg== Tw== UA== UQ== Ug== Uw== VA== VQ== Vg== Vw== WA== WQ== Wg== Ww== XA== XQ== Xg== Xw== YA== YQ== Yg== Yw== ZA== ZQ== Zg== Zw== aA== aQ== ag== aw== bA== bQ== bg== bw== cA== cQ== cg== cw== dA== dQ== dg== dw== eA== eQ== eg== ew== fA== fQ== fg== oQ== og== ow== pA== pQ== pg== pw== qA== qQ== qg== qw== rA== rg== rw== sA== sQ== sg== sw== tA== tQ== tg== tw== uA== uQ== ug== uw== vA== vQ== vg== vw== wA== wQ== wg== ww== xA== xQ== xg== xw== yA== yQ==
Line truncated
|
||||
! 50257 ICA= ICAg ICAgIA== ICAgICA= ICAgICAg ICAgICAgIA== ICAgICAgICA= ICAgICAgICAg ICAgICAgICAgIA== ICAgICAgICAgICA= ICAgICAgICAgICAg ICAgICAgICAgICAgIA== ICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIA== ICAgICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIA== ICAgICAgICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIA== ICAgICAgICAgICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIA==`},OH={pat_str:"'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+",special_tokens:{"<|endoftext|>":50256,"<|fim_prefix|>":50281,"<|fim_middle|>":50282,"<|fim_suffix|>":50283},bpe_ranks:`! 0 IQ== Ig== Iw== JA== JQ== Jg== Jw== KA== KQ== Kg== Kw== LA== LQ== Lg== Lw== MA== MQ== Mg== Mw== NA== NQ== Ng== Nw== OA== OQ== Og== Ow== PA== PQ== Pg== Pw== QA== QQ== Qg== Qw== RA== RQ== Rg== Rw== SA== SQ== Sg== Sw== TA== TQ== Tg== Tw== UA== UQ== Ug== Uw== VA== VQ== Vg== Vw== WA== WQ== Wg== Ww== XA== XQ== Xg== Xw== YA== YQ== Yg== Yw== ZA== ZQ== Zg== Zw== aA== aQ== ag== aw== bA== bQ== bg== bw== cA== cQ== cg== cw== dA== dQ== dg== dw== eA== eQ== eg== ew== fA== fQ== fg== oQ== og== ow== pA== pQ== pg== pw== qA== qQ== qg== qw== rA== rg== rw== sA== sQ== sg== sw== tA== tQ== tg== tw== uA== uQ== ug== uw== vA== vQ== vg== vw== wA== wQ== wg== ww== xA== xQ== xg== xw== yA== yQ== yg== yw== zA== zQ== zg== zw== 0A== 0Q== 0g== 0w== 1A== 1Q== 1g== 1w== 2A== 2Q== 2g== 2w== 3A== 3Q== 3g== 3w== 4A== 4Q== 4g== 4w== 5A== 5Q== 5g== 5w== 6A== 6Q== 6g== 6w== 7A== 7Q== 7g== 7w== 8A== 8Q== 8g== 8w== 9A== 9Q== 9g== 9w== +A== +Q== +g== +w== /A== /Q== /g== /w== AA== AQ== Ag== Aw== BA== BQ== Bg== Bw== CA== CQ== Cg== Cw== DA== DQ== Dg== Dw== EA== EQ== Eg== Ew== FA== FQ== Fg== Fw== GA== GQ== Gg== Gw== HA== HQ== Hg== Hw== IA== fw== gA== gQ== gg== gw== hA== hQ== hg== hw== iA== iQ== ig== iw== jA== jQ== jg== jw== kA== kQ== kg== kw== lA== lQ== lg== lw== mA== mQ== mg== mw== nA== nQ== ng== nw== oA== rQ== IHQ= IGE= aGU= aW4= cmU= b24= IHRoZQ== ZXI= IHM= YXQ= IHc= IG8= ZW4= IGM= aXQ= aXM= YW4= b3I= ZXM= IGI= ZWQ= IGY= aW5n IHA= b3U= IGFu YWw= YXI= IHRv IG0= IG9m IGlu IGQ= IGg= IGFuZA== aWM= YXM= bGU= IHRo aW9u b20= bGw= ZW50 IG4= IGw= c3Q= IHJl dmU= IGU= cm8= bHk= IGJl IGc= IFQ= Y3Q= IFM= aWQ= b3Q= IEk= dXQ= ZXQ= IEE= IGlz IG9u aW0= YW0= b3c= YXk= YWQ= c2U= IHRoYXQ= IEM= aWc= IGZvcg== YWM= IHk= dmVy dXI= IHU= bGQ= IHN0 IE0= J3M= IGhl IGl0 YXRpb24= aXRo aXI= Y2U= IHlvdQ== aWw= IEI= IHdo b2w= IFA= IHdpdGg= IDE= dGVy Y2g= IGFz IHdl ICg= bmQ= aWxs IEQ= aWY= IDI= YWc= ZXJz a2U= ICI= IEg= ZW0= IGNvbg== IFc= IFI= aGVy IHdhcw== IHI= b2Q= IEY= dWw= YXRl IGF0 cmk= cHA= b3Jl IFRoZQ== IHNl dXM= IHBybw== IGhh dW0= IGFyZQ== IGRl YWlu YW5k IG9y aWdo ZXN0 aXN0 YWI= cm9t IE4= dGg= IGNvbQ== IEc= dW4= b3A= MDA= IEw= IG5vdA== ZXNz IGV4 IHY= cmVz IEU= ZXc= aXR5 YW50 IGJ5 ZWw= b3M= b3J0 b2M= cXU= IGZyb20= IGhhdmU= IHN1 aXZl b3VsZA== IHNo IHRoaXM= bnQ= cmE= cGU= aWdodA== YXJ0 bWVudA== IGFs dXN0 ZW5k LS0= YWxs IE8= YWNr IGNo IGxl aWVz cmVk YXJk 4oA= b3V0 IEo= IGFi ZWFy aXY= YWxseQ== b3Vy b3N0 Z2g= cHQ= IHBs YXN0 IGNhbg== YWs= b21l dWQ= VGhl IGhpcw== IGRv IGdv IGhhcw== Z2U= J3Q= IFU= cm91 IHNh IGo= IGJ1dA== IHdvcg== IGFsbA== ZWN0 IGs= YW1l IHdpbGw= b2s= IHdoZQ== IHRoZXk= aWRl MDE= ZmY= aWNo cGw= dGhlcg== IHRy Li4= IGludA== aWU= dXJl YWdl IG5l aWFs YXA= aW5l aWNl IG1l IG91dA== YW5z b25l b25n aW9ucw== IHdobw== IEs= IHVw IHRoZWly IGFk IDM= IHVz YXRlZA== b3Vz IG1vcmU= dWU= b2c= IFN0 aW5k aWtl IHNv aW1l cGVy LiI= YmVy aXo= YWN0 IG9uZQ== IHNhaWQ= IC0= YXJl IHlvdXI= Y2M= IFRo IGNs ZXA= YWtl YWJsZQ== aXA= IGNvbnQ= IHdoaWNo aWE= IGlt IGFib3V0 IHdlcmU= dmVyeQ== dWI= IGhhZA== IGVu IGNvbXA= LCI= IElu IHVu IGFn aXJl YWNl YXU= YXJ5 IHdvdWxk YXNz cnk= IOKA Y2w= b29r ZXJl c28= IFY= aWdu aWI= IG9mZg== IHRl dmVu IFk= aWxl b3Nl aXRl b3Jt IDIwMQ== IHJlcw== IG1hbg== IHBlcg== IG90aGVy b3Jk dWx0 IGJlZW4= IGxpa2U= YXNl YW5jZQ== a3M= YXlz b3du ZW5jZQ== IGRpcw== Y3Rpb24= IGFueQ== IGFwcA== IHNw aW50 cmVzcw== YXRpb25z YWls IDQ= aWNhbA== IHRoZW0= IGhlcg== b3VudA== IENo IGFy IGlm IHRoZXJl IHBl IHllYXI= YXY= IG15 IHNvbWU= IHdoZW4= b3VnaA== YWNo IHRoYW4= cnU= b25k aWNr IG92ZXI= dmVs IHF1 Cgo= IHNj cmVhdA== cmVl IEl0 b3VuZA== cG9ydA== IGFsc28= IHBhcnQ= ZnRlcg== IGtu IGJlYw== IHRpbWU= ZW5z IDU= b3BsZQ== IHdoYXQ= IG5v ZHU= bWVy YW5n IG5ldw== LS0tLQ== IGdldA== b3J5 aXRpb24= aW5ncw== IGp1c3Q= IGludG8= IDA= ZW50cw== b3Zl dGU= IHBlb3BsZQ== IHByZQ== IGl0cw== IHJlYw== IHR3 aWFu aXJzdA== YXJr b3Jz IHdvcms= YWRl b2I= IHNoZQ== IG91cg== d24= aW5r bGlj IDE5 IEhl aXNo bmRlcg== YXVzZQ== IGhpbQ== b25z IFs= IHJv Zm9ybQ== aWxk YXRlcw== dmVycw== IG9ubHk= b2xs IHNwZQ== Y2s= ZWxs YW1w IGFjYw== IGJs aW91cw== dXJu ZnQ= b29k IGhvdw== aGVk ICc= IGFmdGVy YXc= IGF0dA== b3Y= bmU= IHBsYXk= ZXJ2 aWN0 IGNvdWxk aXR0 IGFt IGZpcnN0 IDY= IGFjdA== ICQ= ZWM= aGluZw== dWFs dWxs IGNvbW0= b3k= b2xk Y2Vz YXRlcg== IGZl IGJldA== d2U= aWZm IHR3bw== b2Nr IGJhY2s= KS4= aWRlbnQ= IHVuZGVy cm91Z2g= c2Vs eHQ= IG1heQ== cm91bmQ= IHBv cGg= aXNz IGRlcw== IG1vLine truncated
|
||||
! 50257 ICA= ICAg ICAgIA== ICAgICA= ICAgICAg ICAgICAgIA== ICAgICAgICA= ICAgICAgICAg ICAgICAgICAgIA== ICAgICAgICAgICA= ICAgICAgICAgICAg ICAgICAgICAgICAgIA== ICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIA== ICAgICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIA== ICAgICAgICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIA== ICAgICAgICAgICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIA==`},MH={explicit_n_vocab:50257,pat_str:"'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+",special_tokens:{"<|endoftext|>":50256},bpe_ranks:"! 0 IQ== Ig== Iw== JA== JQ== Jg== Jw== KA== KQ== Kg== Kw== LA== LQ== Lg== Lw== MA== MQ== Mg== Mw== NA== NQ== Ng== Nw== OA== OQ== Og== Ow== PA== PQ== Pg== Pw== QA== QQ== Qg== Qw== RA== RQ== Rg== Rw== SA== SQ== Sg== Sw== TA== TQ== Tg== Tw== UA== UQ== Ug== Uw== VA== VQ== Vg== Vw== WA== WQ== Wg== Ww== XA== XQ== Xg== Xw== YA== YQ== Yg== Yw== ZA== ZQ== Zg== Zw== aA== aQ== ag== aw== bA== bQ== bg== bw== cA== cQ== cg== cw== dA== dQ== dg== dw== eA== eQ== eg== ew== fA== fQ== fg== oQ== og== ow== pA== pQ== pg== pw== qA== qQ== qg== qw== rA== rg== rw== sA== sQ== sg== sw== tA== tQ== tg== tw== uA== uQ== ug== uw== vA== vQ== vg== vw== wA== wQ== wg== ww== xA== xQ== xg== xw== yA== yQ== yg== yw== zA== zQ== zg== zw== 0A== 0Q== 0g== 0w== 1A== 1Q== 1g== 1w== 2A== 2Q== 2g== 2w== 3A== 3Q== 3g== 3w== 4A== 4Q== 4g== 4w== 5A== 5Q== 5g== 5w== 6A== 6Q== 6g== 6w== 7A== 7Q== 7g== 7w== 8A== 8Q== 8g== 8w== 9A== 9Q== 9g== 9w== +A== +Q== +g== +w== /A== /Q== /g== /w== AA== AQ== Ag== Aw== BA== BQ== Bg== Bw== CA== CQ== Cg== Cw== DA== DQ== Dg== Dw== EA== EQ== Eg== Ew== FA== FQ== Fg== Fw== GA== GQ== Gg== Gw== HA== HQ== Hg== Hw== IA== fw== gA== gQ== gg== gw== hA== hQ== hg== hw== iA== iQ== ig== iw== jA== jQ== jg== jw== kA== kQ== kg== kw== lA== lQ== lg== lw== mA== mQ== mg== mw== nA== nQ== ng== nw== oA== rQ== IHQ= IGE= aGU= aW4= cmU= b24= IHRoZQ== ZXI= IHM= YXQ= IHc= IG8= ZW4= IGM= aXQ= aXM= YW4= b3I= ZXM= IGI= ZWQ= IGY= aW5n IHA= b3U= IGFu YWw= YXI= IHRv IG0= IG9m IGlu IGQ= IGg= IGFuZA== aWM= YXM= bGU= IHRo aW9u b20= bGw= ZW50 IG4= IGw= c3Q= IHJl dmU= IGU= cm8= bHk= IGJl IGc= IFQ= Y3Q= IFM= aWQ= b3Q= IEk= dXQ= ZXQ= IEE= IGlz IG9u aW0= YW0= b3c= YXk= YWQ= c2U= IHRoYXQ= IEM= aWc= IGZvcg== YWM= IHk= dmVy dXI= IHU= bGQ= IHN0 IE0= J3M= IGhl IGl0 YXRpb24= aXRo aXI= Y2U= IHlvdQ== aWw= IEI= IHdo b2w= IFA= IHdpdGg= IDE= dGVy Y2g= IGFz IHdl ICg= bmQ= aWxs IEQ= aWY= IDI= YWc= ZXJz a2U= ICI= IEg= ZW0= IGNvbg== IFc= IFI= aGVy IHdhcw== IHI= b2Q= IEY= dWw= YXRl IGF0 cmk= cHA= b3Jl IFRoZQ== IHNl dXM= IHBybw== IGhh dW0= IGFyZQ== IGRl YWlu YW5k IG9y aWdo ZXN0 aXN0 YWI= cm9t IE4= dGg= IGNvbQ== IEc= dW4= b3A= MDA= IEw= IG5vdA== ZXNz IGV4 IHY= cmVz IEU= ZXc= aXR5 YW50 IGJ5 ZWw= b3M= b3J0 b2M= cXU= IGZyb20= IGhhdmU= IHN1 aXZl b3VsZA== IHNo IHRoaXM= bnQ= cmE= cGU= aWdodA== YXJ0 bWVudA== IGFs dXN0 ZW5k LS0= YWxs IE8= YWNr IGNo IGxl aWVz cmVk YXJk 4oA= b3V0 IEo= IGFi ZWFy aXY= YWxseQ== b3Vy b3N0 Z2g= cHQ= IHBs YXN0 IGNhbg== YWs= b21l dWQ= VGhl IGhpcw== IGRv IGdv IGhhcw== Z2U= J3Q= IFU= cm91 IHNh IGo= IGJ1dA== IHdvcg== IGFsbA== ZWN0 IGs= YW1l IHdpbGw= b2s= IHdoZQ== IHRoZXk= aWRl MDE= ZmY= aWNo cGw= dGhlcg== IHRy Li4= IGludA== aWU= dXJl YWdl IG5l aWFs YXA= aW5l aWNl IG1l IG91dA== YW5z b25l b25n aW9ucw== IHdobw== IEs= IHVw IHRoZWly IGFk IDM= IHVz YXRlZA== b3Vz IG1vcmU= dWU= b2c= IFN0 aW5k aWtl IHNv aW1l cGVy LiI= YmVy aXo= YWN0 IG9uZQ== IHNhaWQ= IC0= YXJl IHlvdXI= Y2M= IFRo IGNs ZXA= YWtl YWJsZQ== aXA= IGNvbnQ= IHdoaWNo aWE= IGlt IGFib3V0 IHdlcmU= dmVyeQ== dWI= IGhhZA== IGVu IGNvbXA= LCI= IElu IHVu IGFn aXJl YWNl YXU= YXJ5 IHdvdWxk YXNz cnk= IOKA Y2w= b29r ZXJl c28= IFY= aWdu aWI= IG9mZg== IHRl dmVu IFk= aWxl b3Nl aXRl b3Jt IDIwMQ== IHJlcw== IG1hbg== IHBlcg== IG90aGVy b3Jk dWx0 IGJlZW4= IGxpa2U= YXNl YW5jZQ== a3M= YXlz b3du ZW5jZQ== IGRpcw== Y3Rpb24= IGFueQ== IGFwcA== IHNw aW50 cmVzcw== YXRpb25z YWls IDQ= aWNhbA== IHRoZW0= IGhlcg== b3VudA== IENo IGFy IGlm IHRoZXJl IHBl IHllYXI= YXY= IG15 IHNvbWU= IHdoZW4= b3VnaA== YWNo IHRoYW4= cnU= b25k aWNr IG92ZXI= dmVs IHF1 Cgo= IHNj cmVhdA== cmVl IEl0 b3VuZA== cG9ydA== IGFsc28= IHBhcnQ= ZnRlcg== IGtu IGJlYw== IHRpbWU= ZW5z IDU= b3BsZQ== IHdoYXQ= IG5v ZHU= bWVy YW5n IG5ldw== LS0tLQ== IGdldA== b3J5 aXRpb24= aW5ncw== IGp1c3Q= IGludG8= IDA= ZW50cw== b3Zl dGU= IHBlb3BsZQ== IHByZQ== IGl0cw== IHJlYw== IHR3 aWFu aXJzdA== YXJr b3Jz IHdvcms= YWRl b2I= IHNoZQ== IG91cg== d24= aW5r bGlj IDE5 IEhl aXNo bmRlcg== YXVzZQ== IGhpbQ== b25z IFs= IHJv Zm9ybQ== aWxk YXRlcw== dmVycw== IG9ubHk= b2xs IHNwZQ== Y2s= ZWxs YW1w IGFjYw== IGJs aW91cw== dXJu ZnQ= b29k IGhvdw== aGVk ICc= IGFmdGVy YXc= IGF0dA== b3Y= bmU= IHBsYXk= ZXJ2 aWN0 IGNvdWxk aXR0 IGFt IGZpcnN0 IDY= IGFjdA== ICQ= ZWM= aGluZw== dWFs dWxs IGNvbW0= b3k= b2xk Y2Vz YXRlcg== IGZl IGJldA== d2U= aWZm IHR3bw== b2Nr IGJhY2s= KS4= aWRlbnQ= IHVuZGVy cm91Z2g= c2Vs eHQ= IG1heQ== cm91bmQ= IHBv cGg= aXNz IGRlcw== IG1vc3Q= IGRpZA== IGFkZA== amVjdA== IGluYw== Zm9yZ
Line truncated
|
||||
`,Z}positionTooltip(G,l){let Z=l.getBoundingClientRect();G.style.position="fixed",G.style.left=`${Z.right+10}px`,G.style.top=`${Z.top}px`,G.style.zIndex="1000"}close(){document.querySelectorAll(".qaFileSuggestionItem").forEach(Z=>{let c=Z;c._tooltipCleanup&&c._tooltipCleanup()}),document.querySelectorAll(".qa-file-tooltip").forEach(Z=>Z.remove()),super.close()}async selectSuggestion(G){if(this.inputEl.selectionStart===null)return;let l=this.inputEl.selectionStart,Z=this.lastInput.length,c=this.inputEl.value,W=0,d=this.inputEl.value.slice(l-this.lastInput.length-3,l-this.lastInput.length)==="![[";if(G.matchType==="unresolved")W=this.makeLinkManually(c,G.displayText.replace(/.md$/,""),l,Z);else if(G.matchType==="heading"||G.matchType==="block"){let m=G.displayText;W=this.makeLinkManually(c,m,l,Z)}else if(d)W=this.makeLinkManually(c,G.displayText,l,Z);else{let m=this.app.vault.getAbstractFileByPath(G.file.path);if(m instanceof BF.TFile){let N=G.matchType==="alias"?G.displayText:void 0;W=this.makeLinkObsidianMethod(m,c,l,Z,N)}else W=this.makeLinkManually(c,G.displayText,l,Z)}this.inputEl.trigger("input"),this.close(),this.inputEl.setSelectionRange(W,W)}makeLinkObsidianMethod(G,l,Z,c,W){let d=this.app.vault.getAbstractFileByPath(G.path),m=this.app.fileManager.generateMarkdownLink(d,"","",W??"");return this.inputEl.value=this.getNewInputValueForFileLink(l,m,Z,c),Z-c+m.length+2}makeLinkManually(G,l,Z,c){return this.inputEl.value=this.getNewInputValueForFileName(G,l,Z,c),Z-c+l.length+2}getNewInputValueForFileLink(G,l,Z,c){return`${G.substr(0,Z-c-2)}${l}${G.substr(Z)}`}getNewInputValueForFileName(G,l,Z,c){return`${G.substr(0,Z-c)}${l}]]${G.substr(Z)}`}};var rW=class extends hl{constructor(G,l){super(G,l);this.app=G;this.inputEl=l;this.lastInput="";this.lastInputStart=0;this.lastInputLength=0;this.refreshTagIndex(),zI.instance.registerEvent(this.app.metadataCache.on("resolved",()=>this.refreshTagIndex()))}refreshTagIndex(){let G=this.app.metadataCache.getTags(),l=Object.keys(G);this.tagSet=new Set(l),this.sortedTags=l.sort((Z,c)=>Z.length!==c.length?Z.length-c.length:Z.localeCompare(c)),this.fuse=new Rl(this.sortedTags,{threshold:.4,includeScore:!0,keys:[""]})}getSuggestions(G){if(this.inputEl.selectionStart===null)return[];let l=this.inputEl.selectionStart,Z=G.slice(0,l),c=lQ.exec(Z);if(!c)return[];let W=Z.lastIndexOf("[[");if(c.index===void 0)return[];if(W!==-1&&W<c.index)return[];let d=c[1];this.lastInput=d,this.lastInputStart=c.index,this.lastInputLength=c[0].length;let m=this.sortedTags.filter(a=>a.toLowerCase().startsWith(d.toLowerCase())).slice(0,5),N=this.fuse.search(d).filter(a=>a.score!==void 0&&a.score<.8).map(a=>a.item).slice(0,10),Y=new Set(m),V=[...m];for(let a of N)!Y.has(a)&&V.length<15&&(V.push(a),Y.add(a));return V}renderSuggestion(G,l){let Z=this.renderMatch(G,this.lastInput);l.innerHTML=Z}selectSuggestion(G){let l=this.inputEl;if(l.selectionStart===null)return;let Z=this.lastInputStart,c=Z+this.lastInputLength,W=G.startsWith("#")?G:`#${G}`;Wa(l,Z,c,W,{fromCompletion:!0}),this.close()}};var $I=class b extends zW.Modal{constructor(G,l,Z,c){super(G);this.header=l;this.didSubmit=!1;this.submitClickCallback=G=>this.submit();this.cancelClickCallback=G=>this.cancel();this.submitEnterCallback=G=>{!G.isComposing&&G.key==="Enter"&&(G.preventDefault(),this.submit())};this.placeholder=Z??"",this.input=c??"",this.waitForClose=new Promise((W,d)=>{this.resolvePromise=W,this.rejectPromise=d}),this.display(),this.open(),this.fileSuggester=new kW(G,this.inputComponent.inputEl),this.tagSuggester=new rW(G,this.inputComponent.inputEl)}static Prompt(G,l,Z,c){return new b(G,l,Z,c).waitForClose}display(){this.containerEl.addClass("quickAddModal","qaInputPrompt"),this.contentEl.empty(),this.titleEl.textContent=this.header;let G=this.contentEl.createDiv();this.inputComponent=this.createInputField(G,this.placeholder,this.input),this.createButtonBar(G)}createInputField(G,l,Z){let c=new zW.TextComponent(G);return c.inputEl.style.width="100%",c.setPlaceholder(l??"").setValue(Z??"").onChange(W=>this.input=W).inputEl.addEventListener("keydown",this.submitEnterCallback),c}createButton(G,l,Z){let c=new zW.ButtonComponent(G);return c.setButtonText(l).onClick(Z),c}createButtonBar(G){let l=G.createDiv();this.createButton(l,"Ok",this.submitClickCallback).setCta().buttonEl.style.marginRight="0",this.createButton(l,"Cancel",this.cancelClickCallback),l.style.display="flex",l.style.flexDirection="row-reverse",l.style.justifyContent="flex-start",l.style.marginTop="1rem",l.style.gap="0.5rem"}submit(){this.didSubmit=!0,this.close()}cancel(){this.close()}resolveInput(){this.didSubmit?this.resolvePromise(this.input):this.rejectPromise("No input given.")}removeInputListener(){this.inputComponent.inputEl.removeEventListener("keydown",this.submitEnterCallback)}onOpen(){super.onOpen(),this.inputComponent.inputEl.focus(),this.inputComponent.inputEl.select()}onClose(){super.onClose(),this.resolveInput(),this.removeInputListener()}};var lY=require
Line truncated
|
||||
`).filter(Boolean).reduce((l,Z)=>{let[c,W,...d]=Z.split(" "),m=Number.parseInt(W,10);return d.forEach((N,Y)=>l[N]=m+Y),l},{});for(let[l,Z]of Object.entries(G)){let c=T0.default.toByteArray(l);this.rankMap.set(c.join(","),Z),this.textMap.set(Z,c)}this.specialTokens={...b.special_tokens,...I},this.inverseSpecialTokens=Object.entries(this.specialTokens).reduce((l,[Z,c])=>(l[c]=this.textEncoder.encode(Z),l),{})}encode(b,I=[],G="all"){let l=new RegExp(this.patStr,"ug"),Z=MF.specialTokenRegex(Object.keys(this.specialTokens)),c=[],W=new Set(I==="all"?Object.keys(this.specialTokens):I),d=new Set(G==="all"?Object.keys(this.specialTokens).filter(N=>!W.has(N)):G);if(d.size>0){let N=MF.specialTokenRegex([...d]),Y=b.match(N);if(Y!=null)throw new Error(`The text contains a special token that is not allowed: ${Y[0]}`)}let m=0;for(;;){let N=null,Y=m;for(;Z.lastIndex=Y,N=Z.exec(b),!(N==null||W.has(N[0]));)Y=N.index+1;let V=N?.index??b.length;for(let h of b.substring(m,V).matchAll(l)){let R=this.textEncoder.encode(h[0]),H=this.rankMap.get(R.join(","));if(H!=null){c.push(H);continue}c.push(...Oy(R,this.rankMap))}if(N==null)break;let a=this.specialTokens[N[0]];c.push(a),m=N.index+N[0].length}return c}decode(b){let I=[],G=0;for(let c=0;c<b.length;++c){let W=b[c],d=this.textMap.get(W)??this.inverseSpecialTokens[W];d!=null&&(I.push(d),G+=d.length)}let l=new Uint8Array(G),Z=0;for(let c of I)l.set(c,Z),Z+=c.length;return this.textDecoder.decode(l)}},_b=MF;Uy(_b,"specialTokenRegex",b=>new RegExp(b.map(I=>My(I)).join("|"),"g"));function jF(b){switch(b){case"gpt2":return"gpt2";case"code-cushman-001":case"code-cushman-002":case"code-davinci-001":case"code-davinci-002":case"cushman-codex":case"davinci-codex":case"davinci-002":case"text-davinci-002":case"text-davinci-003":return"p50k_base";case"code-davinci-edit-001":case"text-davinci-edit-001":return"p50k_edit";case"ada":case"babbage":case"babbage-002":case"code-search-ada-code-001":case"code-search-babbage-code-001":case"curie":case"davinci":case"text-ada-001":case"text-babbage-001":case"text-curie-001":case"text-davinci-001":case"text-search-ada-doc-001":case"text-search-babbage-doc-001":case"text-search-curie-doc-001":case"text-search-davinci-doc-001":case"text-similarity-ada-001":case"text-similarity-babbage-001":case"text-similarity-curie-001":case"text-similarity-davinci-001":return"r50k_base";case"gpt-3.5-turbo-instruct-0914":case"gpt-3.5-turbo-instruct":case"gpt-3.5-turbo-16k-0613":case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo":case"gpt-4-32k-0613":case"gpt-4-32k-0314":case"gpt-4-32k":case"gpt-4-0613":case"gpt-4-0314":case"gpt-4":case"gpt-3.5-turbo-1106":case"gpt-35-turbo":case"gpt-4-1106-preview":case"gpt-4-vision-preview":case"gpt-3.5-turbo-0125":case"gpt-4-turbo":case"gpt-4-turbo-2024-04-09":case"gpt-4-turbo-preview":case"gpt-4-0125-preview":case"text-embedding-ada-002":case"text-embedding-3-small":case"text-embedding-3-large":return"cl100k_base";case"gpt-4o":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":case"gpt-4o-2024-11-20":case"gpt-4o-mini-2024-07-18":case"gpt-4o-mini":case"gpt-4o-search-preview":case"gpt-4o-search-preview-2025-03-11":case"gpt-4o-mini-search-preview":case"gpt-4o-mini-search-preview-2025-03-11":case"gpt-4o-audio-preview":case"gpt-4o-audio-preview-2024-12-17":case"gpt-4o-audio-preview-2024-10-01":case"gpt-4o-mini-audio-preview":case"gpt-4o-mini-audio-preview-2024-12-17":case"o1":case"o1-2024-12-17":case"o1-mini":case"o1-mini-2024-09-12":case"o1-preview":case"o1-preview-2024-09-12":case"o1-pro":case"o1-pro-2025-03-19":case"o3":case"o3-2025-04-16":case"o3-mini":case"o3-mini-2025-01-31":case"o4-mini":case"o4-mini-2025-04-16":case"chatgpt-4o-latest":case"gpt-4o-realtime":case"gpt-4o-realtime-preview-2024-10-01":case"gpt-4o-realtime-preview-2024-12-17":case"gpt-4o-mini-realtime-preview":case"gpt-4o-mini-realtime-preview-2024-12-17":case"gpt-4.1":case"gpt-4.1-2025-04-14":case"gpt-4.1-mini":case"gpt-4.1-mini-2025-04-14":case"gpt-4.1-nano":case"gpt-4.1-nano-2025-04-14":case"gpt-4.5-preview":case"gpt-4.5-preview-2025-02-27":return"o200k_base";default:throw new Error("Unknown model")}}var jy={explicit_n_vocab:50257,pat_str:"'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+",special_tokens:{"<|endoftext|>":50256},bpe_ranks:"! 0 IQ== Ig== Iw== JA== JQ== Jg== Jw== KA== KQ== Kg== Kw== LA== LQ== Lg== Lw== MA== MQ== Mg== Mw== NA== NQ== Ng== Nw== OA== OQ== Og== Ow== PA== PQ== Pg== Pw== QA== QQ== Qg== Qw== RA== RQ== Rg== Rw== SA== SQ== Sg== Sw== TA== TQ== Tg== Tw== UA== UQ== Ug== Uw== VA== VQ== Vg== Vw== WA== WQ== Wg== Ww== XA== XQ== Xg== Xw== YA== YQ== Yg== Yw== ZA== ZQ== Zg== Zw== aA== aQ== ag== aw== bA== bQ== bg== bw== cA== cQ== cg== cw== dA== dQ== dg== dw== eA== eQ== eg== ew== fA== fQ== fg== oQ== og== ow== pA== pQ== pg== pw== qA== qQ== qg== qw== rA== rg== rw== sA== sQ== sg== sw== tA== tQ== tg== tw== uA== uQ== ug== uw== vA== vQ== vg== vw== wA== wQ== wg== ww== xA== xQ== xg== xw== yA== yQ==
Line truncated
|
||||
! 50257 ICA= ICAg ICAgIA== ICAgICA= ICAgICAg ICAgICAgIA== ICAgICAgICA= ICAgICAgICAg ICAgICAgICAgIA== ICAgICAgICAgICA= ICAgICAgICAgICAg ICAgICAgICAgICAgIA== ICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIA== ICAgICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIA== ICAgICAgICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIA== ICAgICAgICAgICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIA==`},Dy={pat_str:"'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+",special_tokens:{"<|endoftext|>":50256,"<|fim_prefix|>":50281,"<|fim_middle|>":50282,"<|fim_suffix|>":50283},bpe_ranks:`! 0 IQ== Ig== Iw== JA== JQ== Jg== Jw== KA== KQ== Kg== Kw== LA== LQ== Lg== Lw== MA== MQ== Mg== Mw== NA== NQ== Ng== Nw== OA== OQ== Og== Ow== PA== PQ== Pg== Pw== QA== QQ== Qg== Qw== RA== RQ== Rg== Rw== SA== SQ== Sg== Sw== TA== TQ== Tg== Tw== UA== UQ== Ug== Uw== VA== VQ== Vg== Vw== WA== WQ== Wg== Ww== XA== XQ== Xg== Xw== YA== YQ== Yg== Yw== ZA== ZQ== Zg== Zw== aA== aQ== ag== aw== bA== bQ== bg== bw== cA== cQ== cg== cw== dA== dQ== dg== dw== eA== eQ== eg== ew== fA== fQ== fg== oQ== og== ow== pA== pQ== pg== pw== qA== qQ== qg== qw== rA== rg== rw== sA== sQ== sg== sw== tA== tQ== tg== tw== uA== uQ== ug== uw== vA== vQ== vg== vw== wA== wQ== wg== ww== xA== xQ== xg== xw== yA== yQ== yg== yw== zA== zQ== zg== zw== 0A== 0Q== 0g== 0w== 1A== 1Q== 1g== 1w== 2A== 2Q== 2g== 2w== 3A== 3Q== 3g== 3w== 4A== 4Q== 4g== 4w== 5A== 5Q== 5g== 5w== 6A== 6Q== 6g== 6w== 7A== 7Q== 7g== 7w== 8A== 8Q== 8g== 8w== 9A== 9Q== 9g== 9w== +A== +Q== +g== +w== /A== /Q== /g== /w== AA== AQ== Ag== Aw== BA== BQ== Bg== Bw== CA== CQ== Cg== Cw== DA== DQ== Dg== Dw== EA== EQ== Eg== Ew== FA== FQ== Fg== Fw== GA== GQ== Gg== Gw== HA== HQ== Hg== Hw== IA== fw== gA== gQ== gg== gw== hA== hQ== hg== hw== iA== iQ== ig== iw== jA== jQ== jg== jw== kA== kQ== kg== kw== lA== lQ== lg== lw== mA== mQ== mg== mw== nA== nQ== ng== nw== oA== rQ== IHQ= IGE= aGU= aW4= cmU= b24= IHRoZQ== ZXI= IHM= YXQ= IHc= IG8= ZW4= IGM= aXQ= aXM= YW4= b3I= ZXM= IGI= ZWQ= IGY= aW5n IHA= b3U= IGFu YWw= YXI= IHRv IG0= IG9m IGlu IGQ= IGg= IGFuZA== aWM= YXM= bGU= IHRo aW9u b20= bGw= ZW50 IG4= IGw= c3Q= IHJl dmU= IGU= cm8= bHk= IGJl IGc= IFQ= Y3Q= IFM= aWQ= b3Q= IEk= dXQ= ZXQ= IEE= IGlz IG9u aW0= YW0= b3c= YXk= YWQ= c2U= IHRoYXQ= IEM= aWc= IGZvcg== YWM= IHk= dmVy dXI= IHU= bGQ= IHN0 IE0= J3M= IGhl IGl0 YXRpb24= aXRo aXI= Y2U= IHlvdQ== aWw= IEI= IHdo b2w= IFA= IHdpdGg= IDE= dGVy Y2g= IGFz IHdl ICg= bmQ= aWxs IEQ= aWY= IDI= YWc= ZXJz a2U= ICI= IEg= ZW0= IGNvbg== IFc= IFI= aGVy IHdhcw== IHI= b2Q= IEY= dWw= YXRl IGF0 cmk= cHA= b3Jl IFRoZQ== IHNl dXM= IHBybw== IGhh dW0= IGFyZQ== IGRl YWlu YW5k IG9y aWdo ZXN0 aXN0 YWI= cm9t IE4= dGg= IGNvbQ== IEc= dW4= b3A= MDA= IEw= IG5vdA== ZXNz IGV4 IHY= cmVz IEU= ZXc= aXR5 YW50 IGJ5 ZWw= b3M= b3J0 b2M= cXU= IGZyb20= IGhhdmU= IHN1 aXZl b3VsZA== IHNo IHRoaXM= bnQ= cmE= cGU= aWdodA== YXJ0 bWVudA== IGFs dXN0 ZW5k LS0= YWxs IE8= YWNr IGNo IGxl aWVz cmVk YXJk 4oA= b3V0 IEo= IGFi ZWFy aXY= YWxseQ== b3Vy b3N0 Z2g= cHQ= IHBs YXN0 IGNhbg== YWs= b21l dWQ= VGhl IGhpcw== IGRv IGdv IGhhcw== Z2U= J3Q= IFU= cm91 IHNh IGo= IGJ1dA== IHdvcg== IGFsbA== ZWN0 IGs= YW1l IHdpbGw= b2s= IHdoZQ== IHRoZXk= aWRl MDE= ZmY= aWNo cGw= dGhlcg== IHRy Li4= IGludA== aWU= dXJl YWdl IG5l aWFs YXA= aW5l aWNl IG1l IG91dA== YW5z b25l b25n aW9ucw== IHdobw== IEs= IHVw IHRoZWly IGFk IDM= IHVz YXRlZA== b3Vz IG1vcmU= dWU= b2c= IFN0 aW5k aWtl IHNv aW1l cGVy LiI= YmVy aXo= YWN0 IG9uZQ== IHNhaWQ= IC0= YXJl IHlvdXI= Y2M= IFRo IGNs ZXA= YWtl YWJsZQ== aXA= IGNvbnQ= IHdoaWNo aWE= IGlt IGFib3V0 IHdlcmU= dmVyeQ== dWI= IGhhZA== IGVu IGNvbXA= LCI= IElu IHVu IGFn aXJl YWNl YXU= YXJ5 IHdvdWxk YXNz cnk= IOKA Y2w= b29r ZXJl c28= IFY= aWdu aWI= IG9mZg== IHRl dmVu IFk= aWxl b3Nl aXRl b3Jt IDIwMQ== IHJlcw== IG1hbg== IHBlcg== IG90aGVy b3Jk dWx0 IGJlZW4= IGxpa2U= YXNl YW5jZQ== a3M= YXlz b3du ZW5jZQ== IGRpcw== Y3Rpb24= IGFueQ== IGFwcA== IHNw aW50 cmVzcw== YXRpb25z YWls IDQ= aWNhbA== IHRoZW0= IGhlcg== b3VudA== IENo IGFy IGlm IHRoZXJl IHBl IHllYXI= YXY= IG15 IHNvbWU= IHdoZW4= b3VnaA== YWNo IHRoYW4= cnU= b25k aWNr IG92ZXI= dmVs IHF1 Cgo= IHNj cmVhdA== cmVl IEl0 b3VuZA== cG9ydA== IGFsc28= IHBhcnQ= ZnRlcg== IGtu IGJlYw== IHRpbWU= ZW5z IDU= b3BsZQ== IHdoYXQ= IG5v ZHU= bWVy YW5n IG5ldw== LS0tLQ== IGdldA== b3J5 aXRpb24= aW5ncw== IGp1c3Q= IGludG8= IDA= ZW50cw== b3Zl dGU= IHBlb3BsZQ== IHByZQ== IGl0cw== IHJlYw== IHR3 aWFu aXJzdA== YXJr b3Jz IHdvcms= YWRl b2I= IHNoZQ== IG91cg== d24= aW5r bGlj IDE5 IEhl aXNo bmRlcg== YXVzZQ== IGhpbQ== b25z IFs= IHJv Zm9ybQ== aWxk YXRlcw== dmVycw== IG9ubHk= b2xs IHNwZQ== Y2s= ZWxs YW1w IGFjYw== IGJs aW91cw== dXJu ZnQ= b29k IGhvdw== aGVk ICc= IGFmdGVy YXc= IGF0dA== b3Y= bmU= IHBsYXk= ZXJ2 aWN0 IGNvdWxk aXR0 IGFt IGZpcnN0 IDY= IGFjdA== ICQ= ZWM= aGluZw== dWFs dWxs IGNvbW0= b3k= b2xk Y2Vz YXRlcg== IGZl IGJldA== d2U= aWZm IHR3bw== b2Nr IGJhY2s= KS4= aWRlbnQ= IHVuZGVy cm91Z2g= c2Vs eHQ= IG1heQ== cm91bmQ= IHBv cGg= aXNz IGRlcw== IG1vLine truncated
|
||||
! 50257 ICA= ICAg ICAgIA== ICAgICA= ICAgICAg ICAgICAgIA== ICAgICAgICA= ICAgICAgICAg ICAgICAgICAgIA== ICAgICAgICAgICA= ICAgICAgICAgICAg ICAgICAgICAgICAgIA== ICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIA== ICAgICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIA== ICAgICAgICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIA== ICAgICAgICAgICAgICAgICAgICAgICA= ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIA==`},Ty={explicit_n_vocab:50257,pat_str:"'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+",special_tokens:{"<|endoftext|>":50256},bpe_ranks:"! 0 IQ== Ig== Iw== JA== JQ== Jg== Jw== KA== KQ== Kg== Kw== LA== LQ== Lg== Lw== MA== MQ== Mg== Mw== NA== NQ== Ng== Nw== OA== OQ== Og== Ow== PA== PQ== Pg== Pw== QA== QQ== Qg== Qw== RA== RQ== Rg== Rw== SA== SQ== Sg== Sw== TA== TQ== Tg== Tw== UA== UQ== Ug== Uw== VA== VQ== Vg== Vw== WA== WQ== Wg== Ww== XA== XQ== Xg== Xw== YA== YQ== Yg== Yw== ZA== ZQ== Zg== Zw== aA== aQ== ag== aw== bA== bQ== bg== bw== cA== cQ== cg== cw== dA== dQ== dg== dw== eA== eQ== eg== ew== fA== fQ== fg== oQ== og== ow== pA== pQ== pg== pw== qA== qQ== qg== qw== rA== rg== rw== sA== sQ== sg== sw== tA== tQ== tg== tw== uA== uQ== ug== uw== vA== vQ== vg== vw== wA== wQ== wg== ww== xA== xQ== xg== xw== yA== yQ== yg== yw== zA== zQ== zg== zw== 0A== 0Q== 0g== 0w== 1A== 1Q== 1g== 1w== 2A== 2Q== 2g== 2w== 3A== 3Q== 3g== 3w== 4A== 4Q== 4g== 4w== 5A== 5Q== 5g== 5w== 6A== 6Q== 6g== 6w== 7A== 7Q== 7g== 7w== 8A== 8Q== 8g== 8w== 9A== 9Q== 9g== 9w== +A== +Q== +g== +w== /A== /Q== /g== /w== AA== AQ== Ag== Aw== BA== BQ== Bg== Bw== CA== CQ== Cg== Cw== DA== DQ== Dg== Dw== EA== EQ== Eg== Ew== FA== FQ== Fg== Fw== GA== GQ== Gg== Gw== HA== HQ== Hg== Hw== IA== fw== gA== gQ== gg== gw== hA== hQ== hg== hw== iA== iQ== ig== iw== jA== jQ== jg== jw== kA== kQ== kg== kw== lA== lQ== lg== lw== mA== mQ== mg== mw== nA== nQ== ng== nw== oA== rQ== IHQ= IGE= aGU= aW4= cmU= b24= IHRoZQ== ZXI= IHM= YXQ= IHc= IG8= ZW4= IGM= aXQ= aXM= YW4= b3I= ZXM= IGI= ZWQ= IGY= aW5n IHA= b3U= IGFu YWw= YXI= IHRv IG0= IG9m IGlu IGQ= IGg= IGFuZA== aWM= YXM= bGU= IHRo aW9u b20= bGw= ZW50 IG4= IGw= c3Q= IHJl dmU= IGU= cm8= bHk= IGJl IGc= IFQ= Y3Q= IFM= aWQ= b3Q= IEk= dXQ= ZXQ= IEE= IGlz IG9u aW0= YW0= b3c= YXk= YWQ= c2U= IHRoYXQ= IEM= aWc= IGZvcg== YWM= IHk= dmVy dXI= IHU= bGQ= IHN0 IE0= J3M= IGhl IGl0 YXRpb24= aXRo aXI= Y2U= IHlvdQ== aWw= IEI= IHdo b2w= IFA= IHdpdGg= IDE= dGVy Y2g= IGFz IHdl ICg= bmQ= aWxs IEQ= aWY= IDI= YWc= ZXJz a2U= ICI= IEg= ZW0= IGNvbg== IFc= IFI= aGVy IHdhcw== IHI= b2Q= IEY= dWw= YXRl IGF0 cmk= cHA= b3Jl IFRoZQ== IHNl dXM= IHBybw== IGhh dW0= IGFyZQ== IGRl YWlu YW5k IG9y aWdo ZXN0 aXN0 YWI= cm9t IE4= dGg= IGNvbQ== IEc= dW4= b3A= MDA= IEw= IG5vdA== ZXNz IGV4 IHY= cmVz IEU= ZXc= aXR5 YW50 IGJ5 ZWw= b3M= b3J0 b2M= cXU= IGZyb20= IGhhdmU= IHN1 aXZl b3VsZA== IHNo IHRoaXM= bnQ= cmE= cGU= aWdodA== YXJ0 bWVudA== IGFs dXN0 ZW5k LS0= YWxs IE8= YWNr IGNo IGxl aWVz cmVk YXJk 4oA= b3V0 IEo= IGFi ZWFy aXY= YWxseQ== b3Vy b3N0 Z2g= cHQ= IHBs YXN0 IGNhbg== YWs= b21l dWQ= VGhl IGhpcw== IGRv IGdv IGhhcw== Z2U= J3Q= IFU= cm91 IHNh IGo= IGJ1dA== IHdvcg== IGFsbA== ZWN0 IGs= YW1l IHdpbGw= b2s= IHdoZQ== IHRoZXk= aWRl MDE= ZmY= aWNo cGw= dGhlcg== IHRy Li4= IGludA== aWU= dXJl YWdl IG5l aWFs YXA= aW5l aWNl IG1l IG91dA== YW5z b25l b25n aW9ucw== IHdobw== IEs= IHVw IHRoZWly IGFk IDM= IHVz YXRlZA== b3Vz IG1vcmU= dWU= b2c= IFN0 aW5k aWtl IHNv aW1l cGVy LiI= YmVy aXo= YWN0 IG9uZQ== IHNhaWQ= IC0= YXJl IHlvdXI= Y2M= IFRo IGNs ZXA= YWtl YWJsZQ== aXA= IGNvbnQ= IHdoaWNo aWE= IGlt IGFib3V0 IHdlcmU= dmVyeQ== dWI= IGhhZA== IGVu IGNvbXA= LCI= IElu IHVu IGFn aXJl YWNl YXU= YXJ5 IHdvdWxk YXNz cnk= IOKA Y2w= b29r ZXJl c28= IFY= aWdu aWI= IG9mZg== IHRl dmVu IFk= aWxl b3Nl aXRl b3Jt IDIwMQ== IHJlcw== IG1hbg== IHBlcg== IG90aGVy b3Jk dWx0 IGJlZW4= IGxpa2U= YXNl YW5jZQ== a3M= YXlz b3du ZW5jZQ== IGRpcw== Y3Rpb24= IGFueQ== IGFwcA== IHNw aW50 cmVzcw== YXRpb25z YWls IDQ= aWNhbA== IHRoZW0= IGhlcg== b3VudA== IENo IGFy IGlm IHRoZXJl IHBl IHllYXI= YXY= IG15 IHNvbWU= IHdoZW4= b3VnaA== YWNo IHRoYW4= cnU= b25k aWNr IG92ZXI= dmVs IHF1 Cgo= IHNj cmVhdA== cmVl IEl0 b3VuZA== cG9ydA== IGFsc28= IHBhcnQ= ZnRlcg== IGtu IGJlYw== IHRpbWU= ZW5z IDU= b3BsZQ== IHdoYXQ= IG5v ZHU= bWVy YW5n IG5ldw== LS0tLQ== IGdldA== b3J5 aXRpb24= aW5ncw== IGp1c3Q= IGludG8= IDA= ZW50cw== b3Zl dGU= IHBlb3BsZQ== IHByZQ== IGl0cw== IHJlYw== IHR3 aWFu aXJzdA== YXJr b3Jz IHdvcms= YWRl b2I= IHNoZQ== IG91cg== d24= aW5r bGlj IDE5 IEhl aXNo bmRlcg== YXVzZQ== IGhpbQ== b25z IFs= IHJv Zm9ybQ== aWxk YXRlcw== dmVycw== IG9ubHk= b2xs IHNwZQ== Y2s= ZWxs YW1w IGFjYw== IGJs aW91cw== dXJu ZnQ= b29k IGhvdw== aGVk ICc= IGFmdGVy YXc= IGF0dA== b3Y= bmU= IHBsYXk= ZXJ2 aWN0 IGNvdWxk aXR0 IGFt IGZpcnN0 IDY= IGFjdA== ICQ= ZWM= aGluZw== dWFs dWxs IGNvbW0= b3k= b2xk Y2Vz YXRlcg== IGZl IGJldA== d2U= aWZm IHR3bw== b2Nr IGJhY2s= KS4= aWRlbnQ= IHVuZGVy cm91Z2g= c2Vs eHQ= IG1heQ== cm91bmQ= IHBv cGg= aXNz IGRlcw== IG1vc3Q= IGRpZA== IGFkZA== amVjdA== IGluYw== Zm9yZ
Line truncated
|
||||
|
||||
${I}`:""}`;function Ud(l){if(l){let I=new Va.Notice(Ya("starting",""),1e6);return{setMessage:(G,b)=>{I.setMessage(Ya(G,b))},hide:()=>I.hide()}}return{setMessage:(I,G)=>{U.logMessage(`(${I}) ${G}`)},hide:()=>{}}}var gG=(l,I)=>{let G=I.name==="gpt-3.5-turbo-16k"?"gpt-3.5-turbo":I.name;G=G==="gpt-4-1106-preview"?"gpt-4":G,G=G==="gpt-3.5-turbo-1106"?"gpt-3.5-turbo":G;try{return da(G).encode(l).length}catch{return FY("cl100k_base").encode(l).length}};async function fH(l,I,G){if(typeof l!="function")throw new TypeError("Callback must be a function.");if(!(I instanceof Promise))throw new TypeError("Promise must be an instance of Promise.");if(typeof G!="number"||G<=0)throw new TypeError("Interval must be a positive number.");let b=!1;for(I.finally(()=>{b=!0});!b;)l(),await sleep(G)}async function PH(l,I,G){let b;if(I.enable)b=G.find(d=>d.path.endsWith(I.name));else{let d=G.map(N=>N.basename);b=await aG.Suggest(l,d,G)}CG(b,"Prompt template does not exist");let Z=b.path,c=l.vault.getAbstractFileByPath(Z);CG(c instanceof ha.TFile,`${Z} is not a file`);let W=await l.vault.cachedRead(c);return[b.basename,W]}async function aa(l,I,G){if(M.getState().disableOnlineFeatures)throw new Error("Blocking request to OpenAI: Online features are disabled in settings.");let b=Ud(I.showAssistantMessages);try{let{apiKey:Z,model:c,outputVariableName:W,promptTemplate:d,systemPrompt:N,promptTemplateFolder:m}=I,Y=KZ(l,m),[V,h]=await PH(l,d,Y);b.setMessage("waiting","QuickAdd is formatting the prompt template.");let a=await G(h),X=["prompting",`Using prompt template "${V}".`];b.setMessage(X[0],X[1]);let w=xd(l,Z,c,N,I.modelOptions)(a),s=(await QY(w,100,n=>{b.setMessage(X[0],`${X[1]} (${(n/1e3).toFixed(2)}s)`)},n=>{b.setMessage("finished",`Took ${(n/1e3).toFixed(2)}s.`)})).content,C=("> "+s).replace(/\n/g,`
|
||||
> `),F={[W]:s,[`${W}-quoted`]:C};return setTimeout(()=>b.hide(),5e3),F}catch(Z){b.setMessage("dead",Z.message),setTimeout(()=>b.hide(),5e3)}}async function QY(l,I,G,b){let Z=Date.now();return await fH(()=>G(Date.now()-Z),l,I),b(Date.now()-Z),await l}async function Fa(l,I,G){if(M.getState().disableOnlineFeatures)throw new Error("Blocking request to OpenAI: Online features are disabled in settings.");let b=Ud(I.showAssistantMessages);try{let{apiKey:Z,model:c,outputVariableName:W,systemPrompt:d,prompt:N,modelOptions:m}=I;b.setMessage("waiting","QuickAdd is formatting the prompt template.");let Y=await G(N),V=["prompting","Using custom prompt."];b.setMessage(V[0],V[1]);let a=xd(l,Z,c,d,m)(Y),H=(await QY(a,100,s=>{b.setMessage(V[0],`${V[1]} (${(s/1e3).toFixed(2)}s)`)},s=>{b.setMessage("finished",`Took ${(s/1e3).toFixed(2)}s.`)})).content,w=("> "+H).replace(/\n/g,`
|
||||
> `),u={[W]:H,[`${W}-quoted`]:w};return setTimeout(()=>b.hide(),5e3),u}catch(Z){b.setMessage("dead",Z.message),setTimeout(()=>b.hide(),5e3)}}var XY=class{constructor(I,G){this.maxRequests=I;this.intervalMs=G;this.queue=[];this.pendingPromises=[]}add(I){return new Promise((G,b)=>{this.queue.push(async()=>{try{G(await I())}catch(Z){b(Z)}}),this.schedule()})}schedule(){if(this.queue.length===0||this.pendingPromises.length>=this.maxRequests)return;let I=this.queue.shift();if(!I)return;let G=I();this.pendingPromises.push(G),G.finally(()=>{this.pendingPromises=this.pendingPromises.filter(b=>b!==G),this.schedule()}),setTimeout(()=>this.schedule(),this.intervalMs)}};async function Ra(l,I,G){if(M.getState().disableOnlineFeatures)throw new Error("Blocking request to OpenAI: Online features are disabled in settings.");let b=Ud(I.showAssistantMessages);try{let{apiKey:Z,model:c,outputVariableName:W,systemPrompt:d,promptTemplate:N,text:m,modelOptions:Y}=I;b.setMessage("chunking","Creating prompt chunks with text and prompt template");let V=I.chunkSeparator||/\n/g,h=m.split(V),a=gG(d,c),X=await G(N,{chunk:" "}),H=gG(X,c),w=ma(c.name)/2-a,u=I.shouldMerge??!0,s=[],C=w-H;if(u){let GI=[],lI="",aI=0;for(let hI of h){let vI=gG(hI,c)+1;if(vI>C)throw new Error(`The chunk "${hI.slice(0,25)}..." is too large to fit in a single prompt.`);aI+vI<C?(lI+=hI,aI+=vI):(GI.push(lI),lI=hI,aI=vI)}lI!==""&&GI.push(lI);for(let hI of GI){let vI=await G(N,{chunk:hI});s.push(vI)}}else for(let GI of h){let lI=gG(GI,c);if(lI>w)throw new Error(`Chunk size (${lI}) is larger than the maximum chunk size (${w}). Please check your chunk separator.`);let aI=await G(N,{chunk:GI});s.push(aI)}let F=xd(l,Z,c,d,Y),n=["prompting",`${s.length} prompts being sent.`];b.setMessage(n[0],n[1]);let y=new XY(5,1e3*30),v=Promise.all(s.map(GI=>y.add(()=>F(GI)))),O=(await QY(v,100,GI=>{b.setMessage(n[0],`${n[1]} (${(GI/1e3).toFixed(2)}s)`)},GI=>{b.setMessage("finished",`Took ${(GI/1e3).toFixed(2)}s.`)})).map(GI=>GI.content).join(I.resultJoiner),S=("> "+O).replace(/\n/g,`
|
||||
> `),x={[W]:O,[`${W}-quoted`]:S};return setTimeout(()=>b.hide(),5e3),x}catch(Z){b.setMessage("dead",Z.message),setTimeout(()=>b.hide(),5e3)}}var Bd=class{static filterFiles(I,G,b){return Object.keys(G).length===0?I:I.filter(Z=>!(G.folder&&!this.matchesFolder(Z,G.folder)||G.tags&&G.tags.length>0&&!this.matchesTags(Z,G.tags,b)))}static matchesFolder(I,G){let b=this.normalizePath(G),Z=this.normalizePath(I.path);return Z.startsWith(b+"/")||Z.substring(0,Z.lastIndexOf("/"))===b}static matchesTags(I,G,b){let Z=b(I);if(!Z||!Z.tags)return!1;let c=Z.tags.map(W=>W.tag.startsWith("#")?W.tag.substring(1):W.tag);return G.every(W=>c.includes(W))}static normalizePath(I){return I.replace(/^\/+|\/+$/g,"")}};var cW=class cW{static parseInlineFields(I){let G=new Map,b=this.removeCodeBlocksAndFrontmatter(I),Z;for(;(Z=cW.INLINE_FIELD_REGEX.exec(b))!==null;){let c=Z[1].trim(),W=Z[2].trim();W&&(G.has(c)||G.set(c,new Set),W.includes(",")?W.split(",").map(N=>N.trim()).filter(N=>N.length>0).forEach(N=>G.get(c)?.add(N)):G.get(c)?.add(W))}return cW.INLINE_FIELD_REGEX.lastIndex=0,G}static removeCodeBlocksAndFrontmatter(I){let G=/^---\r?\n[\s\S]*?\r?\n---\r?\n/;I=I.replace(G,"");let b=/```[\s\S]*?```|`[^`]*`/g;return I=I.replace(b,""),I}static getFieldValues(I,G){return this.parseInlineFields(I).get(G)||new Set}};cW.INLINE_FIELD_REGEX=/(?:^|[\n\r])[ \t]*(?![-*+][ \t]+\[[ xX]\])([^:\n\r]+?)::[ \t]*(.*)$/gmu;var PZ=cW;var Dl=class l{constructor(){this.cache=new Map;this.TTL=5*60*1e3;this.MAX_CACHE_ENTRIES=100;this.MAX_VALUES_PER_ENTRY=1e3;this.cleanupInterval=null}static getInstance(){return l.instance||(l.instance=new l),l.instance}startAutomaticCleanup(I){if(this.cleanupInterval===null&&typeof window<"u"){let G=window.setInterval(()=>{this.cleanExpired()},6e4);this.cleanupInterval=I(G)}}get(I,G){let b=this.makeKey(I,G),Z=this.cache.get(b);return Z?Date.now()-Z.timestamp>this.TTL?(this.cache.delete(b),null):new Set(Z.values):null}set(I,G,b){let Z=this.makeKey(I,b),c=new Set,W=0;for(let d of G){if(W>=this.MAX_VALUES_PER_ENTRY)break;c.add(d),W++}this.cache.size>=this.MAX_CACHE_ENTRIES&&!this.cache.has(Z)&&this.evictOldestEntries(1),this.cache.set(Z,{values:c,timestamp:Date.now()})}evictOldestEntries(I){let G=Array.from(this.cache.entries()).sort(([,b],[,Z])=>b.timestamp-Z.timestamp).slice(0,I);for(let[b]of G)this.cache.delete(b)}clear(I){if(I){let G=[];for(let b of this.cache.keys())(b.startsWith(`${I}:`)||b===I)&&G.push(b);for(let b of G)this.cache.delete(b)}else this.cache.clear()}cleanExpired(){let I=Date.now(),G=[];for(let[b,Z]of this.cache.entries())I-Z.timestamp>this.TTL&&G.push(b);for(let b of G)this.cache.delete(b)}getStats(){return{size:this.cache.size,maxSize:this.MAX_CACHE_ENTRIES,cleanupInterval:this.cleanupInterval}}destroy(){this.cleanupInterval=null,this.cache.clear()}makeKey(I,G){return G?`${I}:${G}`:I}};var _Z=class{static GetApi(I,G,b){return{inputPrompt:(Z,c,W)=>this.inputPrompt(I,Z,c,W),wideInputPrompt:(Z,c,W)=>this.wideInputPrompt(I,Z,c,W),yesNoPrompt:(Z,c)=>this.yesNoPrompt(I,Z,c),infoDialog:(Z,c)=>this.infoDialog(I,Z,c),suggester:(Z,c)=>this.suggester(I,Z,c),checkboxPrompt:(Z,c)=>this.checkboxPrompt(I,Z,c),executeChoice:async(Z,c)=>{let W=G.getChoiceByName(Z);W||wI(new Error(`Choice named '${Z}' not found`),"API executeChoice error"),c&&Object.keys(c).forEach(d=>{b.variables.set(d,c[d])}),await b.execute(W),b.variables.clear()},format:async(Z,c,W=!0)=>{c&&Object.keys(c).forEach(N=>{b.variables.set(N,c[N])});let d=await new sl(I,G,b).formatFileContent(Z);return W&&b.variables.clear(),d},ai:{prompt:async(Z,c,W)=>{let d=M.getState(),N=d.ai;if(d.disableOnlineFeatures)throw new Error("Rejecting request to `prompt` via API AI module. Online features are disabled in settings.");let m=this.GetApi(I,G,b).format,Y;if(typeof c=="string"){let a=ml(c);if(!a)throw new Error(`Model '${c}' not found.`);Y=a}else Y=c;let V=fb(Y.name);if(!V)throw new Error(`Model '${Y.name}' not found in any provider`);let h=await Fa(I,{model:Y,prompt:Z,apiKey:V.apiKey,modelOptions:W?.modelOptions??{},outputVariableName:W?.variableName??"output",showAssistantMessages:W?.showAssistantMessages??!0,systemPrompt:W?.systemPrompt??N.defaultSystemPrompt},(a,X)=>m(a,X,!1));return h?(W?.shouldAssignVariables&&Object.assign(b.variables,h),h):(wI(new Error("AI Assistant returned null"),"AI Prompt error"),{})},chunkedPrompt:async(Z,c,W,d,N)=>{let m=M.getState(),Y=m.ai;if(m.disableOnlineFeatures)throw new Error("Rejecting request to `prompt` via API AI module. Online features are disabled in settings.");let V=this.GetApi(I,G,b).format,h;if(typeof W=="string"){let H=ml(W);if(!H)throw new Error(`Model ${W} not found.`);h=H}else h=W;let a=fb(h.name);if(!a)throw new Error(`Model '${h.name}' not found in any provider`);let X=await Ra(I,{model:h,text:Z,promptTemplate:c,chunkSeparator:d?.chunkSeparator??/\n/,apiKey:a.apiKey,modelOptions:d?.modelOptions??{},outputVariableName:d?.variableName??"output",showAssistantMessages:d?.showAssistantMessages??!0,systemPrompt:d?.systLine truncated
|
||||
`,shouldMerge:d?.shouldMerge??!0},(H,w)=>{let u={...N,...w};return V(H,u,!1)});return X?(d?.shouldAssignVariables&&Object.assign(b.variables,X),X):(wI(new Error("AI Assistant returned null"),"Chunked AI Prompt error"),{})},getModels:()=>Jl(),getMaxTokens:Z=>{let c=ml(Z);if(!c)throw new Error(`Model ${Z} not found.`);return c.maxTokens},countTokens(Z,c){return gG(Z,c)}},utility:{getClipboard:async()=>await navigator.clipboard.readText(),setClipboard:async Z=>await navigator.clipboard.writeText(Z),getSelectedText:()=>{let Z=I.workspace.getActiveViewOfType(Xa.MarkdownView);if(!Z){wI(new Error("No active view"),"Could not get selected text");return}if(!Z.editor.somethingSelected()){wI(new Error("No text selected"),"Could not get selected text");return}return Z.editor.getSelection()}},date:{now:(Z,c)=>jl({format:Z,offset:c}),tomorrow:Z=>jl({format:Z,offset:1}),yesterday:Z=>jl({format:Z,offset:-1})},fieldSuggestions:{getFieldValues:async(Z,c)=>{let W={folder:c?.folder,tags:c?.tags,inline:c?.includeInline??!1},d=I.vault.getMarkdownFiles();d=Bd.filterFiles(d,W,m=>I.metadataCache.getFileCache(m));let N=new Set;for(let m of d){let V=I.metadataCache.getFileCache(m)?.frontmatter?.[Z];if(V!=null){if(Array.isArray(V))V.forEach(h=>{let a=h.toString().trim();a&&N.add(a)});else if(typeof V!="object"){let h=V.toString().trim();h&&N.add(h)}}if(W.inline){let h=await I.vault.read(m);PZ.getFieldValues(h,Z).forEach(X=>N.add(X))}}return Array.from(N).sort()},clearCache:Z=>{Dl.getInstance().clear(Z)}}}}static async inputPrompt(I,G,b,Z){try{return await yI.Prompt(I,G,b,Z)}catch{return}}static async wideInputPrompt(I,G,b,Z){try{return await Sb.Prompt(I,G,b,Z)}catch{return}}static async yesNoPrompt(I,G,b){try{return await MG.Prompt(I,G,b)}catch{return}}static async infoDialog(I,G,b){try{return await bW.Show(I,G,b)}catch{return}}static async suggester(I,G,b){try{let Z;return typeof G=="function"?Z=b.map(G):Z=G,await aG.Suggest(I,Z,b)}catch{return}}static async checkboxPrompt(I,G,b){try{return await ZW.Open(I,G,b)}catch{return}}};var $Z=class extends SZ{};var FG=class{constructor(I,G){this.name=I,this.type=G,this.id=xl()}};var Qa=require("obsidian");var GG=class extends FG{constructor(I){super(I,"EditorCommand"),this.editorCommandType=I}static getSelectedText(I){return this.getActiveMarkdownView(I).editor.getSelection()}static getActiveMarkdownView(I){let G=I.workspace.getActiveViewOfType(Qa.MarkdownView);if(!G)throw U.logError("no active markdown view."),new Error("no active markdown view.");return G}};var Ic=class extends GG{constructor(){super("Cut")}static async run(I){let G=GG.getSelectedText(I),b=GG.getActiveMarkdownView(I);if(!G){U.logError("nothing selected.");return}await navigator.clipboard.writeText(G),b.editor.replaceSelection("")}};var lc=class extends GG{constructor(){super("Copy")}static async run(I){let G=GG.getSelectedText(I);await navigator.clipboard.writeText(G)}};var bc=class extends GG{constructor(){super("Paste")}static async run(I){let G=await navigator.clipboard.readText(),b=GG.getActiveMarkdownView(I);if(!b){U.logError("no active markdown view.");return}b.editor.replaceSelection(G)}};var Zc=class extends GG{constructor(){super("Select active line")}static run(I){let G=GG.getActiveMarkdownView(I),{line:b}=G.editor.getCursor(),c=G.editor.getLine(b).length;G.editor.setSelection({line:b,ch:0},{line:b,ch:c})}};var cc=class extends GG{constructor(){super("Select link on active line")}static run(I){let G=GG.getActiveMarkdownView(I),{line:b}=G.editor.getCursor(),Z=G.editor.getLine(b),c=C2.exec(Z);if(!c){U.logError(`no internal link found on line ${b}.`);return}let W=c.index,d=c[0].length+W;G.editor.setSelection({line:b,ch:W},{line:b,ch:d})}};function Ha(l){return new Promise(I=>setTimeout(I,l))}function HY(l){return l.split(`
|
||||
`)}function pa(l){return l.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}var yl=class extends $Z{constructor(I,G,b,Z,c,W){super(I),this.choice=b,this.plugin=G,this.macros=Z,this.choiceExecutor=c,this.params={app:this.app,quickAddApi:_Z.GetApi(I,G,c),variables:{},obsidian:_H},W?.forEach((d,N)=>{this.params.variables[N]=d})}async run(){let I=this.choice.macroId??this.choice?.macro?.id,G=this.macros.find(b=>b.id===I);if(!G||!G?.commands){U.logError(`No commands in the selected macro. Did you select a macro for '${this.choice.name}'?`);return}await this.executeCommands(G.commands)}async executeCommands(I){for(let G of I)G?.type==="Obsidian"&&this.executeObsidianCommand(G),G?.type==="UserScript"&&await this.executeUserScript(G),G?.type==="Choice"&&await this.executeChoice(G),G?.type==="Wait"&&await Ha(G.time),G?.type==="NestedChoice"&&await this.executeNestedChoice(G),G?.type==="EditorCommand"&&await this.executeEditorCommand(G),G?.type==="AIAssistant"&&await this.executeAIAssistant(G),Object.keys(this.params.variables).forEach(b=>{this.choiceExecutor.variables.set(b,this.params.variables[b])})}async executeUserScript(I){let G=await sd(I,this.app);if(!G){U.logError(`failed to load user script ${I.path}.`);return}G.settings&&(this.userScriptCommand=I);try{await this.userScriptDelegator(G)}catch(b){wI(b,`Failed to run user script ${I.name}`)}this.userScriptCommand&&(this.userScriptCommand=null)}async runScriptWithSettings(I,G){if(typeof I!="function"&&I.entry&&typeof I.entry=="function")return await this.onExportIsFunction(I.entry,G.settings);if(typeof I=="function")return await this.onExportIsFunction(I,G.settings)}async userScriptDelegator(I){switch(typeof I){case"function":this.userScriptCommand?await this.runScriptWithSettings(I,this.userScriptCommand):await this.onExportIsFunction(I);break;case"object":await this.onExportIsObject(I);break;case"bigint":case"boolean":case"number":case"string":this.output=I.toString();break;default:U.logError(`user script in macro for '${this.choice.name}' is invalid`)}}async onExportIsFunction(I,G){this.output=await I(this.params,G||{})}async onExportIsObject(I){if(Object.keys(I).length===0)throw new Error(`user script in macro for '${this.choice.name}' is an empty object`);if(this.userScriptCommand&&I.entry!==null){await this.runScriptWithSettings(I,this.userScriptCommand);return}try{let G=Object.keys(I),b=await aG.Suggest(this.app,G,G);await this.userScriptDelegator(I[b])}catch(G){wI(G,"Error in script object handling","LOG")}}executeObsidianCommand(I){this.app.commands.executeCommandById(I.commandId)}async executeChoice(I){let G=this.plugin.getChoiceById(I.choiceId);if(!G){U.logError("choice could not be found.");return}await this.choiceExecutor.execute(G)}async executeNestedChoice(I){let G=I.choice;if(!G){U.logError(`choice in ${I.name} is invalid`);return}await this.choiceExecutor.execute(G)}async executeEditorCommand(I){switch(I.editorCommandType){case"Cut":await Ic.run(this.app);break;case"Copy":await lc.run(this.app);break;case"Paste":await bc.run(this.app);break;case"Select active line":Zc.run(this.app);break;case"Select link on active line":cc.run(this.app);break}}async executeAIAssistant(I){if(M.getState().disableOnlineFeatures)throw new Error("Blocking request to OpenAI: Online features are disabled in settings.");let G=M.getState().ai,b=Jl(),Z=I.model==="Ask me"?await aG.Suggest(this.app,b,b):I.model,c=ml(Z);if(!c)throw new Error(`Model ${Z} not found with any provider.`);let W=new sl(this.app,XI.instance,this.choiceExecutor),d=fb(c.name);if(!d)throw new Error(`Model ${c.name} not found in the AI providers settings.`);let N=await aa(this.app,{apiKey:d.apiKey,model:c,outputVariableName:I.outputVariableName,promptTemplate:I.promptTemplate,promptTemplateFolder:G.promptTemplatesFolderPath,systemPrompt:I.systemPrompt,showAssistantMessages:G.showAssistant,modelOptions:I.modelParameters},async m=>W.formatFileContent(m));for(let m in N)this.choiceExecutor.variables.set(m,N[m])}};var rd=class extends yl{constructor(I,G,b,Z,c){super(I,G,null,b,Z,c)}async runAndGetOutput(I){let{basename:G,memberAccess:b}=GW(I),Z=this.macros.find(c=>c.name===G);if(!Z)throw U.logError(`macro '${I}' does not exist.`),new Error(`macro '${I}' does not exist.`);return b&&b.length>0&&(this.memberAccess=b),await this.executeCommands(Z.commands),this.output}async onExportIsObject(I){if(!this.memberAccess)return await super.onExportIsObject(I);let G=I;this.memberAccess.forEach(b=>{G=G[b]}),await this.userScriptDelegator(G)}};var GR=require("obsidian");var Od=class extends yl{constructor(I,G,b,Z){super(I,G,null,null,b,Z)}async runAndGetOutput(I){let G=Object.getPrototypeOf(async function(){}).constructor;return await new G(I).bind(this.params,this).call()}};var EG=require("obsidian");var cI="\u261A",$H=["\\!","\\,","\\:","\\>","\\;","\\#","\\$","\\%","\\&","\\","_","{ }","|",`^{${cI}}${cI}`,`[${cI}]${cI}`,"\\above","\\abovewithdelims","\\acute","\\aleph","\\alpha","\\amalg","\\And","\\angle","\\approx","\
Line truncated
|
||||
${cI}
|
||||
\\end{${l}}${cI}`}var ua=[...$H,...Ip.map(Gp)];var na=require("obsidian");var lp=new RegExp(/\\([a-z{}A-Z0-9]*)$/),Md=class extends vG{constructor(G){super(XI.instance.app,G);this.inputEl=G;this.lastInput="";this.symbols=Object.assign([],ua),this.elementsRendered=this.symbols.reduce((b,Z)=>{try{b[Z.toString()]=(0,na.renderMath)(Z,!0)}catch{}return b},{})}getSuggestions(G){if(this.inputEl.selectionStart===null)return[];let b=this.inputEl.selectionStart,Z=G.substr(0,b),c=Z.lastIndexOf("\\"),W=Z.substr(c),d=lp.exec(W),N=[];return d&&(this.lastInput=d[1],N=this.symbols.filter(V=>V.toLowerCase().contains(this.lastInput))),new tG(N,{findAllMatches:!0,threshold:.8}).search(this.lastInput).map(V=>V.item)}renderSuggestion(G,b){G&&(b.setText(G),b.append(this.elementsRendered[G]))}selectSuggestion(G){if(this.inputEl.selectionStart===null)return;let b=this.inputEl.selectionStart,Z=this.lastInput.length,c=this.inputEl.value,W=0,d=G.replace(/\\\\/g,"\\");if(this.inputEl.value=`${c.substr(0,b-Z-1)}${d}${c.substr(b)}`,W=b-Z+G.length-1,this.inputEl.trigger("input"),this.close(),G.contains(cI)){let N=this.inputEl.value.indexOf(cI);this.inputEl.value=this.inputEl.value.replace(cI,""),this.inputEl.setSelectionRange(N,N)}else this.inputEl.setSelectionRange(W,W)}};var jd=class l extends EG.Modal{constructor(){super(XI.instance.app);this.didSubmit=!1;this.keybindListener=G=>{G.ctrlKey&&G.key==="Enter"&&this.submit(),G.key==="Tab"&&(G.preventDefault(),this.cursorToGoTo())};this.submitClickCallback=G=>this.submit();this.cancelClickCallback=G=>this.cancel();this.open(),this.display(),this.waitForClose=new Promise((G,b)=>{this.resolvePromise=G,this.rejectPromise=b}),new Md(this.inputEl),this.inputEl.focus(),this.inputEl.select()}static Prompt(){return new l().waitForClose}display(){this.containerEl.addClass("quickAddModal","qaMathModal"),this.contentEl.empty();let G=this.contentEl.createDiv();G.className="math math-block is-loaded";let b=new EG.TextAreaComponent(this.contentEl);b.inputEl.style.width="100%",b.inputEl.style.height="10rem",this.inputEl=b.inputEl,b.onChange((0,EG.debounce)(async Z=>await this.mathjaxLoop(G,Z),50)),b.inputEl.addEventListener("keydown",this.keybindListener),this.createButtonBar(this.contentEl.createDiv())}async onOpen(){super.onOpen(),await(0,EG.loadMathJax)()}async mathjaxLoop(G,b){let Z=(0,EG.renderMath)(b,!0);await(0,EG.finishRenderMath)(),G.empty(),G.append(Z)}cursorToGoTo(){if(this.inputEl.value.contains(cI)){let G=this.inputEl.value.indexOf(cI);this.inputEl.value=this.inputEl.value.replace(cI,""),this.inputEl.setSelectionRange(G,G)}}createButton(G,b,Z){let c=new EG.ButtonComponent(G);return c.setButtonText(b).onClick(Z),c}createButtonBar(G){let b=G.createDiv();this.createButton(b,"Ok",this.submitClickCallback).setCta().buttonEl.style.marginRight="0",this.createButton(b,"Cancel",this.cancelClickCallback),b.style.display="flex",b.style.flexDirection="row-reverse",b.style.justifyContent="flex-start",b.style.marginTop="1rem",b.style.gap="0.5rem"}removeInputListeners(){this.inputEl.removeEventListener("keydown",this.keybindListener)}resolveInput(){let G=this.inputEl.value.replace("\\n","\\\\n").replace(new RegExp(cI,"g"),"");this.didSubmit?this.resolvePromise(G):this.rejectPromise("No input given.")}submit(){this.didSubmit=!0,this.close()}cancel(){this.close()}onClose(){super.onClose(),this.resolveInput(),this.removeInputListeners()}};var Wc=class{factory(){return XI.instance.settings.inputPrompt==="multi-line"?Sb:yI}};var wa=require("obsidian"),el=class l extends wa.FuzzySuggestModal{constructor(G,b,Z,c={}){super(G);this.displayItems=b;this.items=Z;this.promise=new Promise((W,d)=>{this.resolvePromise=W,this.rejectPromise=d}),this.inputEl.addEventListener("keydown",W=>{if(W.code!=="Tab"||!("chooser"in this))return;let{values:d,selectedItem:N}=this.chooser,{value:m}=this.inputEl;this.inputEl.value=d[N].item??m}),c.placeholder&&this.setPlaceholder(c.placeholder),c.limit&&(this.limit=c.limit),c.emptyStateText&&(this.emptyStateText=c.emptyStateText),this.open()}static Suggest(G,b,Z,c={}){return new l(G,b,Z,c).promise}getItemText(G){return G===this.inputEl.value?G:this.displayItems[this.items.indexOf(G)]}getItems(){return this.inputEl.value===""?this.items:[this.inputEl.value,...this.items]}selectSuggestion(G,b){this.resolved=!0,super.selectSuggestion(G,b)}onChooseItem(G,b){this.resolved=!0,this.resolvePromise(G)}onClose(){super.onClose(),this.resolved||this.rejectPromise("no input given.")}};var Kd=class{static parse(I){let G=I.split("|").map(c=>c.trim()),b=G[0],Z={};for(let c=1;c<G.length;c++){let W=G[c],d=W.indexOf(":");if(d===-1)continue;let N=W.substring(0,d).trim(),m=W.substring(d+1).trim();switch(N){case"folder":Z.folder=m;break;case"tag":Z.tags||(Z.tags=[]);let Y=m.startsWith("#")?m.substring(1):m;Z.tags.push(Y);break;case"inline":Z.inline=m.toLowerCase()==="true";break;case"default":Z.defaultValue=m;break;case"default-empty":Z.defaultEmpty=m.toLowerCase()==="true";break;case"default-always":Z.default
Line truncated
|
||||
${I}`:""}`;function Ha(b){if(b){let I=new _0.Notice(P0("starting",""),1e6);return{setMessage:(G,l)=>{I.setMessage(P0(G,l))},hide:()=>I.hide()}}return{setMessage:(I,G)=>{B.logMessage(`(${I}) ${G}`)},hide:()=>{}}}var el=(b,I)=>{let G=I.name==="gpt-3.5-turbo-16k"?"gpt-3.5-turbo":I.name;G=G==="gpt-4-1106-preview"?"gpt-4":G,G=G==="gpt-3.5-turbo-1106"?"gpt-3.5-turbo":G;try{return S0(G).encode(b).length}catch{return KF("cl100k_base").encode(b).length}};async function l5(b,I,G){if(typeof b!="function")throw new TypeError("Callback must be a function.");if(!(I instanceof Promise))throw new TypeError("Promise must be an instance of Promise.");if(typeof G!="number"||G<=0)throw new TypeError("Interval must be a positive number.");let l=!1;for(I.finally(()=>{l=!0});!l;)b(),await sleep(G)}async function b5(b,I,G){let l;if(I.enable)l=G.find(d=>d.path.endsWith(I.name));else{let d=G.map(m=>m.basename);l=await jG.Suggest(b,d,G)}tl(l,"Prompt template does not exist");let Z=l.path,c=b.vault.getAbstractFileByPath(Z);tl(c instanceof $0.TFile,`${Z} is not a file`);let W=await b.vault.cachedRead(c);return[l.basename,W]}async function Iu(b,I,G){if(lI.getState().disableOnlineFeatures)throw new Error("Blocking request to OpenAI: Online features are disabled in settings.");let l=Ha(I.showAssistantMessages);try{let{apiKey:Z,model:c,outputVariableName:W,promptTemplate:d,systemPrompt:m,promptTemplateFolder:N}=I,Y=EW(b,N),[V,a]=await b5(b,d,Y);l.setMessage("waiting","QuickAdd is formatting the prompt template.");let h=await G(a),R=["prompting",`Using prompt template "${V}".`];l.setMessage(R[0],R[1]);let p=Qa(b,Z,c,m,I.modelOptions)(h),t=(await TF(p,100,v=>{l.setMessage(R[0],`${R[1]} (${(v/1e3).toFixed(2)}s)`)},v=>{l.setMessage("finished",`Took ${(v/1e3).toFixed(2)}s.`)})).content,s=("> "+t).replace(/\n/g,`
|
||||
> `),X={[W]:t,[`${W}-quoted`]:s};return setTimeout(()=>l.hide(),5e3),X}catch(Z){l.setMessage("dead",Z.message),setTimeout(()=>l.hide(),5e3)}}async function TF(b,I,G,l){let Z=Date.now();return await l5(()=>G(Date.now()-Z),b,I),l(Date.now()-Z),await b}async function Gu(b,I,G){if(lI.getState().disableOnlineFeatures)throw new Error("Blocking request to OpenAI: Online features are disabled in settings.");let l=Ha(I.showAssistantMessages);try{let{apiKey:Z,model:c,outputVariableName:W,systemPrompt:d,prompt:m,modelOptions:N}=I;l.setMessage("waiting","QuickAdd is formatting the prompt template.");let Y=await G(m),V=["prompting","Using custom prompt."];l.setMessage(V[0],V[1]);let h=Qa(b,Z,c,d,N)(Y),H=(await TF(h,100,t=>{l.setMessage(V[0],`${V[1]} (${(t/1e3).toFixed(2)}s)`)},t=>{l.setMessage("finished",`Took ${(t/1e3).toFixed(2)}s.`)})).content,p=("> "+H).replace(/\n/g,`
|
||||
> `),n={[W]:H,[`${W}-quoted`]:p};return setTimeout(()=>l.hide(),5e3),n}catch(Z){l.setMessage("dead",Z.message),setTimeout(()=>l.hide(),5e3)}}var DF=class{constructor(I,G){this.maxRequests=I;this.intervalMs=G;this.queue=[];this.pendingPromises=[]}add(I){return new Promise((G,l)=>{this.queue.push(async()=>{try{G(await I())}catch(Z){l(Z)}}),this.schedule()})}schedule(){if(this.queue.length===0||this.pendingPromises.length>=this.maxRequests)return;let I=this.queue.shift();if(!I)return;let G=I();this.pendingPromises.push(G),G.finally(()=>{this.pendingPromises=this.pendingPromises.filter(l=>l!==G),this.schedule()}),setTimeout(()=>this.schedule(),this.intervalMs)}};async function lu(b,I,G){if(lI.getState().disableOnlineFeatures)throw new Error("Blocking request to OpenAI: Online features are disabled in settings.");let l=Ha(I.showAssistantMessages);try{let{apiKey:Z,model:c,outputVariableName:W,systemPrompt:d,promptTemplate:m,text:N,modelOptions:Y}=I;l.setMessage("chunking","Creating prompt chunks with text and prompt template");let V=I.chunkSeparator||/\n/g,a=N.split(V),h=el(d,c),R=await G(m,{chunk:" "}),H=el(R,c),p=f0(c.name)/2-h,n=I.shouldMerge??!0,t=[],s=p-H;if(n){let i=[],A="",j=0;for(let k of a){let T=el(k,c)+1;if(T>s)throw new Error(`The chunk "${k.slice(0,25)}..." is too large to fit in a single prompt.`);j+T<s?(A+=k,j+=T):(i.push(A),A=k,j=T)}A!==""&&i.push(A);for(let k of i){let T=await G(m,{chunk:k});t.push(T)}}else for(let i of a){let A=el(i,c);if(A>p)throw new Error(`Chunk size (${A}) is larger than the maximum chunk size (${p}). Please check your chunk separator.`);let j=await G(m,{chunk:i});t.push(j)}let X=Qa(b,Z,c,d,Y),v=["prompting",`${t.length} prompts being sent.`];l.setMessage(v[0],v[1]);let z=new DF(5,1e3*30),w=Promise.all(t.map(i=>z.add(()=>X(i)))),_=(await TF(w,100,i=>{l.setMessage(v[0],`${v[1]} (${(i/1e3).toFixed(2)}s)`)},i=>{l.setMessage("finished",`Took ${(i/1e3).toFixed(2)}s.`)})).map(i=>i.content).join(I.resultJoiner),bI=("> "+_).replace(/\n/g,`
|
||||
> `),C={[W]:_,[`${W}-quoted`]:bI};return setTimeout(()=>l.hide(),5e3),C}catch(Z){l.setMessage("dead",Z.message),setTimeout(()=>l.hide(),5e3)}}var na=class{static filterFiles(I,G,l){return Object.keys(G).length===0?I:I.filter(Z=>!(G.folder&&!this.matchesFolder(Z,G.folder)||G.tags&&G.tags.length>0&&!this.matchesTags(Z,G.tags,l)))}static matchesFolder(I,G){let l=this.normalizePath(G),Z=this.normalizePath(I.path);return Z.startsWith(l+"/")||Z.substring(0,Z.lastIndexOf("/"))===l}static matchesTags(I,G,l){let Z=l(I);if(!Z||!Z.tags)return!1;let c=Z.tags.map(W=>W.tag.startsWith("#")?W.tag.substring(1):W.tag);return G.every(W=>c.includes(W))}static normalizePath(I){return I.replace(/^\/+|\/+$/g,"")}};var cY=class cY{static parseInlineFields(I){let G=new Map,l=this.removeCodeBlocksAndFrontmatter(I),Z;for(;(Z=cY.INLINE_FIELD_REGEX.exec(l))!==null;){let c=Z[1].trim(),W=Z[2].trim();W&&(G.has(c)||G.set(c,new Set),W.includes(",")?W.split(",").map(m=>m.trim()).filter(m=>m.length>0).forEach(m=>G.get(c)?.add(m)):G.get(c)?.add(W))}return cY.INLINE_FIELD_REGEX.lastIndex=0,G}static removeCodeBlocksAndFrontmatter(I){let G=/^---\r?\n[\s\S]*?\r?\n---\r?\n/;I=I.replace(G,"");let l=/```[\s\S]*?```|`[^`]*`/g;return I=I.replace(l,""),I}static getFieldValues(I,G){return this.parseInlineFields(I).get(G)||new Set}};cY.INLINE_FIELD_REGEX=/(?:^|[\n\r])[ \t]*(?![-*+][ \t]+\[[ xX]\])([^:\n\r]+?)::[ \t]*(.*)$/gmu;var BW=cY;var $b=class b{constructor(){this.cache=new Map;this.TTL=5*60*1e3;this.MAX_CACHE_ENTRIES=100;this.MAX_VALUES_PER_ENTRY=1e3;this.cleanupInterval=null}static getInstance(){return b.instance||(b.instance=new b),b.instance}startAutomaticCleanup(I){if(this.cleanupInterval===null&&typeof window<"u"){let G=window.setInterval(()=>{this.cleanExpired()},6e4);this.cleanupInterval=I(G)}}get(I,G){let l=this.makeKey(I,G),Z=this.cache.get(l);return Z?Date.now()-Z.timestamp>this.TTL?(this.cache.delete(l),null):new Set(Z.values):null}set(I,G,l){let Z=this.makeKey(I,l),c=new Set,W=0;for(let d of G){if(W>=this.MAX_VALUES_PER_ENTRY)break;c.add(d),W++}this.cache.size>=this.MAX_CACHE_ENTRIES&&!this.cache.has(Z)&&this.evictOldestEntries(1),this.cache.set(Z,{values:c,timestamp:Date.now()})}evictOldestEntries(I){let G=Array.from(this.cache.entries()).sort(([,l],[,Z])=>l.timestamp-Z.timestamp).slice(0,I);for(let[l]of G)this.cache.delete(l)}clear(I){if(I){let G=[];for(let l of this.cache.keys())(l.startsWith(`${I}:`)||l===I)&&G.push(l);for(let l of G)this.cache.delete(l)}else this.cache.clear()}cleanExpired(){let I=Date.now(),G=[];for(let[l,Z]of this.cache.entries())I-Z.timestamp>this.TTL&&G.push(l);for(let l of G)this.cache.delete(l)}getStats(){return{size:this.cache.size,maxSize:this.MAX_CACHE_ENTRIES,cleanupInterval:this.cleanupInterval}}destroy(){this.cleanupInterval=null,this.cache.clear()}makeKey(I,G){return G?`${I}:${G}`:I}};var OW=class{static GetApi(I,G,l){return{inputPrompt:(Z,c,W)=>this.inputPrompt(I,Z,c,W),wideInputPrompt:(Z,c,W)=>this.wideInputPrompt(I,Z,c,W),yesNoPrompt:(Z,c)=>this.yesNoPrompt(I,Z,c),infoDialog:(Z,c)=>this.infoDialog(I,Z,c),suggester:(Z,c,W,d=!1)=>this.suggester(I,Z,c,W,d),checkboxPrompt:(Z,c)=>this.checkboxPrompt(I,Z,c),executeChoice:async(Z,c)=>{let W=G.getChoiceByName(Z);W||jI(new Error(`Choice named '${Z}' not found`),"API executeChoice error"),c&&Object.keys(c).forEach(d=>{l.variables.set(d,c[d])}),await l.execute(W),l.variables.clear()},format:async(Z,c,W=!0)=>{c&&Object.keys(c).forEach(m=>{l.variables.set(m,c[m])});let d=await new Wb(I,G,l).formatFileContent(Z);return W&&l.variables.clear(),d},ai:{prompt:async(Z,c,W)=>{let d=lI.getState(),m=d.ai;if(d.disableOnlineFeatures)throw new Error("Rejecting request to `prompt` via API AI module. Online features are disabled in settings.");let N=this.GetApi(I,G,l).format,Y;if(typeof c=="string"){let h=cb(c);if(!h)throw new Error(`Model '${c}' not found.`);Y=h}else Y=c;let V=sc(Y.name);if(!V)throw new Error(`Model '${Y.name}' not found in any provider`);let a=await Gu(I,{model:Y,prompt:Z,apiKey:V.apiKey,modelOptions:W?.modelOptions??{},outputVariableName:W?.variableName??"output",showAssistantMessages:W?.showAssistantMessages??!0,systemPrompt:W?.systemPrompt??m.defaultSystemPrompt},(h,R)=>N(h,R,!1));return a?(W?.shouldAssignVariables&&Object.assign(l.variables,a),a):(jI(new Error("AI Assistant returned null"),"AI Prompt error"),{})},chunkedPrompt:async(Z,c,W,d,m)=>{let N=lI.getState(),Y=N.ai;if(N.disableOnlineFeatures)throw new Error("Rejecting request to `prompt` via API AI module. Online features are disabled in settings.");let V=this.GetApi(I,G,l).format,a;if(typeof W=="string"){let H=cb(W);if(!H)throw new Error(`Model ${W} not found.`);a=H}else a=W;let h=sc(a.name);if(!h)throw new Error(`Model '${a.name}' not found in any provider`);let R=await lu(I,{model:a,text:Z,promptTemplate:c,chunkSeparator:d?.chunkSeparator??/\n/,apiKey:h.apiKey,modelOptions:d?.modelOptions??{},outputVariableName:d?.variableName??"output",showAssistantMessages:d?.showAssistantMessages??!0,systemLine truncated
|
||||
`,shouldMerge:d?.shouldMerge??!0},(H,p)=>{let n={...m,...p};return V(H,n,!1)});return R?(d?.shouldAssignVariables&&Object.assign(l.variables,R),R):(jI(new Error("AI Assistant returned null"),"Chunked AI Prompt error"),{})},getModels:()=>Jb(),getMaxTokens:Z=>{let c=cb(Z);if(!c)throw new Error(`Model ${Z} not found.`);return c.maxTokens},countTokens(Z,c){return el(Z,c)}},utility:{getClipboard:async()=>await navigator.clipboard.readText(),setClipboard:async Z=>await navigator.clipboard.writeText(Z),getSelectedText:()=>{let Z=I.workspace.getActiveViewOfType(bu.MarkdownView);if(!Z){jI(new Error("No active view"),"Could not get selected text");return}if(!Z.editor.somethingSelected()){jI(new Error("No text selected"),"Could not get selected text");return}return Z.editor.getSelection()}},date:{now:(Z,c)=>Db({format:Z,offset:c}),tomorrow:Z=>Db({format:Z,offset:1}),yesterday:Z=>Db({format:Z,offset:-1})},fieldSuggestions:{getFieldValues:async(Z,c)=>{let W={folder:c?.folder,tags:c?.tags,inline:c?.includeInline??!1},d=I.vault.getMarkdownFiles();d=na.filterFiles(d,W,N=>I.metadataCache.getFileCache(N));let m=new Set;for(let N of d){let V=I.metadataCache.getFileCache(N)?.frontmatter?.[Z];if(V!=null){if(Array.isArray(V))V.forEach(a=>{let h=a.toString().trim();h&&m.add(h)});else if(typeof V!="object"){let a=V.toString().trim();a&&m.add(a)}}if(W.inline){let a=await I.vault.read(N);BW.getFieldValues(a,Z).forEach(R=>m.add(R))}}return Array.from(m).sort()},clearCache:Z=>{$b.getInstance().clear(Z)}}}}static async inputPrompt(I,G,l,Z){try{return await $I.Prompt(I,G,l,Z)}catch{return}}static async wideInputPrompt(I,G,l,Z){try{return await ec.Prompt(I,G,l,Z)}catch{return}}static async yesNoPrompt(I,G,l){try{return await Bl.Prompt(I,G,l)}catch{return}}static async infoDialog(I,G,l){try{return await bY.Show(I,G,l)}catch{return}}static async suggester(I,G,l,Z,c=!1){try{let W;return typeof G=="function"?W=l.map(G):W=G,c?await Ol.Suggest(I,W,l,Z?{placeholder:Z}:{}):await jG.Suggest(I,W,l,Z)}catch{return}}static async checkboxPrompt(I,G,l){try{return await ZY.Open(I,G,l)}catch{return}}};var MW=class extends yW{};var rG=[];for(let b=0;b<256;++b)rG.push((b+256).toString(16).slice(1));function Zu(b,I=0){return(rG[b[I+0]]+rG[b[I+1]]+rG[b[I+2]]+rG[b[I+3]]+"-"+rG[b[I+4]]+rG[b[I+5]]+"-"+rG[b[I+6]]+rG[b[I+7]]+"-"+rG[b[I+8]]+rG[b[I+9]]+"-"+rG[b[I+10]]+rG[b[I+11]]+rG[b[I+12]]+rG[b[I+13]]+rG[b[I+14]]+rG[b[I+15]]).toLowerCase()}var SF,Z5=new Uint8Array(16);function qF(){if(!SF){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");SF=crypto.getRandomValues.bind(crypto)}return SF(Z5)}var c5=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),fF={randomUUID:c5};function W5(b,I,G){if(fF.randomUUID&&!I&&!b)return fF.randomUUID();b=b||{};let l=b.random??b.rng?.()??qF();if(l.length<16)throw new Error("Random bytes length must be >= 16");if(l[6]=l[6]&15|64,l[8]=l[8]&63|128,I){if(G=G||0,G<0||G+16>I.length)throw new RangeError(`UUID byte range ${G}:${G+15} is out of buffer bounds`);for(let Z=0;Z<16;++Z)I[G+Z]=l[Z];return I}return Zu(l)}var jl=W5;var KG=class{constructor(I,G){this.name=I,this.type=G,this.id=jl()}};var cu=require("obsidian");var dG=class extends KG{constructor(I){super(I,"EditorCommand"),this.editorCommandType=I}static getSelectedText(I){return this.getActiveMarkdownView(I).editor.getSelection()}static getActiveMarkdownView(I){let G=I.workspace.getActiveViewOfType(cu.MarkdownView);if(!G)throw B.logError("no active markdown view."),new Error("no active markdown view.");return G}};var jW=class extends dG{constructor(){super("Cut")}static async run(I){let G=dG.getSelectedText(I),l=dG.getActiveMarkdownView(I);if(!G){B.logError("nothing selected.");return}await navigator.clipboard.writeText(G),l.editor.replaceSelection("")}};var KW=class extends dG{constructor(){super("Copy")}static async run(I){let G=dG.getSelectedText(I);await navigator.clipboard.writeText(G)}};var DW=class extends dG{constructor(){super("Paste")}static async run(I){let G=await navigator.clipboard.readText(),l=dG.getActiveMarkdownView(I);if(!l){B.logError("no active markdown view.");return}l.editor.replaceSelection(G)}};var Wu=require("obsidian");var TW=class extends dG{constructor(){super("Paste with format")}static async run(I){let G=dG.getActiveMarkdownView(I);if(!G){B.logError("no active markdown view.");return}let l="";try{if("read"in navigator.clipboard&&navigator.clipboard.read){let Z=await navigator.clipboard.read(),c=!1;for(let W of Z)if(W.types.includes("text/html")){let m=await(await W.getType("text/html")).text();l=await(0,Wu.htmlToMarkdown)(m),c=!0;break}c||(l=await navigator.clipboard.readText())}else l=await navigator.clipboard.readText();G.editor.replaceSelection(l)}catch(Z){B.logWarning(`Formatted paste failed. Falling back to plain text: ${Z}`);try{let c=await navigator.clipboard.readText();G.editor.replaceSelection(c)}catch(c){B.l
Line truncated
|
||||
`)}var mu=require("obsidian"),yb=class extends MW{constructor(I,G,l,Z,c){super(I),this.choice=l,this.plugin=G,this.macro=l?.macro,this.choiceExecutor=Z,this.params={app:this.app,quickAddApi:OW.GetApi(I,G,Z),variables:{},obsidian:d5},c?.forEach((W,d)=>{this.params.variables[d]=W})}async run(){if(!this.macro||!this.macro.commands){B.logError(`No commands in the macro for choice '${this.choice.name}'`);return}await this.executeCommands(this.macro.commands)}getOutput(){return this.output}async executeCommands(I){for(let G of I)G?.type==="Obsidian"&&this.executeObsidianCommand(G),G?.type==="UserScript"&&await this.executeUserScript(G),G?.type==="Choice"&&await this.executeChoice(G),G?.type==="Wait"&&await du(G.time),G?.type==="NestedChoice"&&await this.executeNestedChoice(G),G?.type==="EditorCommand"&&await this.executeEditorCommand(G),G?.type==="AIAssistant"&&await this.executeAIAssistant(G),G?.type==="OpenFile"&&await this.executeOpenFile(G),Object.keys(this.params.variables).forEach(l=>{this.choiceExecutor.variables.set(l,this.params.variables[l])})}async executeUserScript(I){let G=await SV(I,this.app);if(!G){B.logError(`failed to load user script ${I.path}.`);return}G.settings&&(this.userScriptCommand=I);try{await this.userScriptDelegator(G)}catch(l){jI(l,`Failed to run user script ${I.name}`)}this.userScriptCommand&&(this.userScriptCommand=null)}async runScriptWithSettings(I,G){if(typeof I!="function"&&I.entry&&typeof I.entry=="function")return await this.onExportIsFunction(I.entry,G.settings);if(typeof I=="function")return await this.onExportIsFunction(I,G.settings)}async userScriptDelegator(I){switch(typeof I){case"function":this.userScriptCommand?await this.runScriptWithSettings(I,this.userScriptCommand):await this.onExportIsFunction(I);break;case"object":await this.onExportIsObject(I);break;case"bigint":case"boolean":case"number":case"string":this.output=I.toString();break;default:B.logError(`user script in macro for '${this.choice.name}' is invalid`)}}async onExportIsFunction(I,G){this.output=await I(this.params,G||{})}async onExportIsObject(I){if(Object.keys(I).length===0)throw new Error(`user script in macro for '${this.choice.name}' is an empty object`);if(this.userScriptCommand&&I.entry!==null){await this.runScriptWithSettings(I,this.userScriptCommand);return}try{let G=Object.keys(I),l=await jG.Suggest(this.app,G,G);await this.userScriptDelegator(I[l])}catch(G){jI(G,"Error in script object handling","LOG")}}executeObsidianCommand(I){this.app.commands.executeCommandById(I.commandId)}async executeChoice(I){let G=this.plugin.getChoiceById(I.choiceId);if(!G){B.logError("choice could not be found.");return}await this.choiceExecutor.execute(G)}async executeNestedChoice(I){let G=I.choice;if(!G){B.logError(`choice in ${I.name} is invalid`);return}await this.choiceExecutor.execute(G)}async executeEditorCommand(I){switch(I.editorCommandType){case"Cut":await jW.run(this.app);break;case"Copy":await KW.run(this.app);break;case"Paste":await DW.run(this.app);break;case"Paste with format":await TW.run(this.app);break;case"Select active line":SW.run(this.app);break;case"Select link on active line":qW.run(this.app);break}}async executeAIAssistant(I){if(lI.getState().disableOnlineFeatures)throw new Error("Blocking request to OpenAI: Online features are disabled in settings.");let G=lI.getState().ai,l=Jb(),Z=I.model==="Ask me"?await jG.Suggest(this.app,l,l):I.model,c=cb(Z);if(!c)throw new Error(`Model ${Z} not found with any provider.`);let W=new Wb(this.app,zI.instance,this.choiceExecutor),d=sc(c.name);if(!d)throw new Error(`Model ${c.name} not found in the AI providers settings.`);let m=await Iu(this.app,{apiKey:d.apiKey,model:c,outputVariableName:I.outputVariableName,promptTemplate:I.promptTemplate,promptTemplateFolder:G.promptTemplatesFolderPath,systemPrompt:I.systemPrompt,showAssistantMessages:G.showAssistant,modelOptions:I.modelParameters},async N=>W.formatFileContent(N));for(let N in m)this.choiceExecutor.variables.set(N,m[N])}async executeOpenFile(I){try{let Z=(await new Wb(this.app,zI.instance,this.choiceExecutor).formatFileName(I.filePath,"")).replace(/\\/g,"/"),c="/"+Z;if(c.includes("..")||c.includes("//")){B.logError(`OpenFile: Path traversal not allowed in '${Z}'`);return}let W=this.app.vault.getAbstractFileByPath(Z);if(!W||!(W instanceof mu.TFile)){B.logError(`OpenFile: '${Z}' does not exist or is not a file`);return}await vW(this.app,W,{location:I.openInNewTab?"split":"tab",direction:I.direction==="horizontal"?"horizontal":"vertical",focus:!0,mode:"default"})}catch(G){B.logError(`OpenFile: Failed to open file '${I.filePath}': ${G.message}`)}}};var ua=class{constructor(I,G,l,Z,c){this.app=I;this.plugin=G;this.choices=l;this.choiceExecutor=Z,c?(this.variables=c,this.choiceExecutor.variables=c):Z.variables?this.variables=Z.variables:(this.variables=new Map,this.choiceExecutor.variables=this.variables)}async runAndGetOutput(I){let{basename:G,memberAccess:l}=DN(I),Z=m=>(m??"").trim(),c=Tb(this.choices).find
Line truncated
|
||||
${wI}
|
||||
\\end{${b}}${wI}`}var Nu=[...m5,...N5.map(Y5)];var Yu=require("obsidian");var V5=new RegExp(/\\([a-z{}A-Z0-9]*)$/),ea=class extends hl{constructor(G){super(zI.instance.app,G);this.inputEl=G;this.lastInput="";this.symbols=Object.assign([],Nu),this.elementsRendered=this.symbols.reduce((l,Z)=>{try{l[Z.toString()]=(0,Yu.renderMath)(Z,!0)}catch{}return l},{})}getSuggestions(G){if(this.inputEl.selectionStart===null)return[];let l=this.inputEl.selectionStart,Z=G.substr(0,l),c=Z.lastIndexOf("\\"),W=Z.substr(c),d=V5.exec(W),m=[];return d&&(this.lastInput=d[1],m=this.symbols.filter(V=>V.toLowerCase().contains(this.lastInput))),new Rl(m,{findAllMatches:!0,threshold:.8}).search(this.lastInput).map(V=>V.item)}renderSuggestion(G,l){G&&(l.setText(G),l.append(this.elementsRendered[G]))}selectSuggestion(G){if(this.inputEl.selectionStart===null)return;let l=this.inputEl.selectionStart,Z=this.lastInput.length,c=this.inputEl.value,W=0,d=G.replace(/\\\\/g,"\\");if(this.inputEl.value=`${c.substr(0,l-Z-1)}${d}${c.substr(l)}`,W=l-Z+G.length-1,this.inputEl.trigger("input"),this.close(),G.contains(wI)){let m=this.inputEl.value.indexOf(wI);this.inputEl.value=this.inputEl.value.replace(wI,""),this.inputEl.setSelectionRange(m,m)}else this.inputEl.setSelectionRange(W,W)}};var wa=class b extends Fl.Modal{constructor(){super(zI.instance.app);this.didSubmit=!1;this.keybindListener=G=>{G.ctrlKey&&G.key==="Enter"&&this.submit(),G.key==="Tab"&&(G.preventDefault(),this.cursorToGoTo())};this.submitClickCallback=G=>this.submit();this.cancelClickCallback=G=>this.cancel();this.open(),this.display(),this.waitForClose=new Promise((G,l)=>{this.resolvePromise=G,this.rejectPromise=l}),new ea(this.inputEl),this.inputEl.focus(),this.inputEl.select()}static Prompt(){return new b().waitForClose}display(){this.containerEl.addClass("quickAddModal","qaMathModal"),this.contentEl.empty();let G=this.contentEl.createDiv();G.className="math math-block is-loaded";let l=new Fl.TextAreaComponent(this.contentEl);l.inputEl.style.width="100%",l.inputEl.style.height="10rem",this.inputEl=l.inputEl,l.onChange((0,Fl.debounce)(async Z=>await this.mathjaxLoop(G,Z),50)),l.inputEl.addEventListener("keydown",this.keybindListener),this.createButtonBar(this.contentEl.createDiv())}async onOpen(){super.onOpen(),await(0,Fl.loadMathJax)()}async mathjaxLoop(G,l){let Z=(0,Fl.renderMath)(l,!0);await(0,Fl.finishRenderMath)(),G.empty(),G.append(Z)}cursorToGoTo(){if(this.inputEl.value.contains(wI)){let G=this.inputEl.value.indexOf(wI);this.inputEl.value=this.inputEl.value.replace(wI,""),this.inputEl.setSelectionRange(G,G)}}createButton(G,l,Z){let c=new Fl.ButtonComponent(G);return c.setButtonText(l).onClick(Z),c}createButtonBar(G){let l=G.createDiv();this.createButton(l,"Ok",this.submitClickCallback).setCta().buttonEl.style.marginRight="0",this.createButton(l,"Cancel",this.cancelClickCallback),l.style.display="flex",l.style.flexDirection="row-reverse",l.style.justifyContent="flex-start",l.style.marginTop="1rem",l.style.gap="0.5rem"}removeInputListeners(){this.inputEl.removeEventListener("keydown",this.keybindListener)}resolveInput(){let G=this.inputEl.value.replace("\\n","\\\\n").replace(new RegExp(wI,"g"),"");this.didSubmit?this.resolvePromise(G):this.rejectPromise("No input given.")}submit(){this.didSubmit=!0,this.close()}cancel(){this.close()}onClose(){super.onClose(),this.resolveInput(),this.removeInputListeners()}};var fW=class{factory(){return zI.instance.settings.inputPrompt==="multi-line"?ec:$I}};var sa=require("obsidian");function Vu(b,I,G=Kb){if(!b||!b.trim())return{isValid:!1,error:"Empty input"};try{let l=G.parseDate(b);if(l?.moment?.isValid()){let Z=l.moment.toISOString(),c=I?l.moment.format(I):l.moment.format("YYYY-MM-DD");return{isValid:!0,isoString:Z,formatted:c}}else return{isValid:!1,error:"Unable to parse date"}}catch(l){return{isValid:!1,error:`Parse error: ${l instanceof Error?l.message:"Unknown error"}`}}}var PW=class PW extends $I{constructor(G,l,Z,c,W){super(G,l,Z,c??"");this.isOpen=!0;this.dateFormat=W||"YYYY-MM-DD",this.defaultValue=c,this.currentInput=c??"",this.updatePreviewDebounced=(0,sa.debounce)(this.updatePreview.bind(this),250,!0),this.defaultValue&&this.updatePreview()}static Prompt(G,l,Z,c,W){return new PW(G,l,Z,c,W).waitForClose}createInputField(G,l,Z){let c=new sa.TextComponent(G);return c.inputEl.style.width="100%",c.setPlaceholder(l??"").setValue(Z??"").onChange(W=>{this.currentInput=W,this.input=W,this.updatePreviewDebounced()}).inputEl.addEventListener("keydown",this.submitEnterCallback),this.currentInput=Z??"",this.createPreviewElement(G),c}createPreviewElement(G){let l=G.createDiv("vdate-preview-container");l.style.marginTop="0.5rem",l.style.padding="0.5rem",l.style.backgroundColor="var(--background-modifier-form-field)",l.style.borderRadius="4px",l.style.fontSize="0.9em";let Z=l.createEl("div",{text:"Preview:",cls:"vdate-preview-label"});Z.style.fontWeight="600",Z.style.marginBottom="0.25rem",Z.style.color="var(--text-muted)",this.previewEl=l.cr
Line truncated
|
||||
|
||||
Suggested values for ${b}: ${V.slice(0,3).join(", ")}`)}return await yI.Prompt(this.app,`Enter value for ${b}`,Y)}let m=`Enter value for ${b}`;return N.hasDefaultValue&&(m=`Enter value for ${b} (default: ${Z.defaultValue})`),await el.Suggest(this.app,N.values,N.values,{placeholder:m})}generateCacheKey(G){let b=[];return G.folder&&b.push(`folder:${G.folder}`),G.tags&&b.push(`tags:${G.tags.join(",")}`),G.inline&&b.push("inline:true"),G.caseSensitive&&b.push("case-sensitive:true"),G.excludeFolders&&b.push(`exclude-folders:${G.excludeFolders.join(",")}`),G.excludeTags&&b.push(`exclude-tags:${G.excludeTags.join(",")}`),G.excludeFiles&&b.push(`exclude-files:${G.excludeFiles.join(",")}`),G.defaultValue&&b.push(`default:${G.defaultValue}`),G.defaultEmpty&&b.push("default-empty:true"),G.defaultAlways&&b.push("default-always:true"),b.join("|")}async getMacroValue(G){let b=new rd(this.app,this.plugin,this.plugin.settings.macros,this.choiceExecutor,this.variables),Z=await b.runAndGetOutput(G)??"";return Object.keys(b.params.variables).forEach(c=>{this.variables.set(c,b.params.variables[c])}),Z}async getTemplateContent(G){return await new Xb(this.app,this.plugin,G,this.choiceExecutor).run()}async getSelectedText(){let G=this.app.workspace.getActiveViewOfType(GR.MarkdownView);return G?G.editor.getSelection():""}async replaceInlineJavascriptInString(G){let b=G;for(;qc.test(b);){let c=qc.exec(b)?.at(1)?.trim();if(c){let W=new Od(this.app,this.plugin,this.choiceExecutor,this.variables),d=await W.runAndGetOutput(c);for(let N in W.params.variables)this.variables.set(N,W.params.variables[N]);b=typeof d=="string"?this.replacer(b,qc,d):this.replacer(b,qc,"")}}return b}async collectValuesManually(G,b){let Z=new Set,c=this.app.vault.getMarkdownFiles();c=FN.filterFiles(c,b,d=>this.app.metadataCache.getFileCache(d));let W=50;for(let d=0;d<c.length;d+=W){let m=c.slice(d,d+W).map(async V=>{let h=new Set;try{let X=this.app.metadataCache.getFileCache(V)?.frontmatter?.[G];if(X!=null){if(Array.isArray(X))X.forEach(H=>{let w=String(H).trim();w&&h.add(w)});else if(typeof X!="object"){let H=String(X).trim();H&&h.add(H)}}if(b.inline)try{let H=await this.app.vault.read(V);PZ.getFieldValues(H,G).forEach(u=>h.add(u))}catch(H){console.warn(`Could not read file ${V.path} for inline field parsing:`,H)}}catch(a){console.warn(`Could not process metadata for file ${V.path}:`,a)}return h}),Y=await Promise.all(m);for(let V of Y)for(let h of V)Z.add(h)}return Z}};var lR=require("obsidian");var Hc=class extends SZ{constructor(G,b,Z){super(G);this.plugin=b;this.templater=vd(G),this.formatter=new sl(G,b,Z)}async getOrCreateFolder(G){let b;if(G.length>1){if(b=await aG.Suggest(this.app,G,G),!b)throw new Error("No folder selected.")}else b=G[0];return b?await this.createFolder(b):b="",b}async getFormattedFilePath(G,b,Z){let c=await this.formatter.formatFileName(b,Z);return this.normalizeMarkdownFilePath(G,c)}getTemplateExtension(G){return Sc.test(G)?".canvas":".md"}normalizeTemplateFilePath(G,b,Z){let c=G?`${G}/`:"",W=this.getTemplateExtension(Z),d=b.replace(Tc,"").replace(Sc,"");return`${c}${d}${W}`}async incrementFileName(G){let b=Yd.exec(G),Z=b&&typeof b.at=="function"?b?.at(1):void 0,c=await this.app.vault.adapter.exists(G),W=G,d=Sc.test(G)?".canvas":".md";if(c&&Z){let m=parseInt(Z);if(!m)throw new Error("detected numbers but couldn't get them.");W=W.replace(Yd,`${m+1}${d}`)}else c&&(W=W.replace(Yd,`1${d}`));return await this.app.vault.adapter.exists(W)&&(W=await this.incrementFileName(W)),W}async createFileWithTemplate(G,b){try{let Z=await this.getTemplateContent(b),c=await this.formatter.formatFileContent(Z),W=await this.createFileWithInput(G,c);return await jZ(this.app,W),W}catch(Z){return wI(Z,"Could not create file with template"),null}}async overwriteFileWithTemplate(G,b){try{let Z=await this.getTemplateContent(b),c=await this.formatter.formatFileContent(Z);return await this.app.vault.modify(G,c),await jZ(this.app,G),G}catch(Z){return wI(Z,"Could not overwrite file with template"),null}}async appendToFileWithTemplate(G,b,Z){try{let c=await this.getTemplateContent(b),W=await this.formatter.formatFileContent(c),d=await this.app.vault.cachedRead(G),N=Z==="top"?`${W}
|
||||
${d}`:`${d}
|
||||
${W}`;return await this.app.vault.modify(G,N),await jZ(this.app,G),G}catch(c){return wI(c,"Could not append to file with template"),null}}async getTemplateContent(G){let b=G;!Tc.test(G)&&!Sc.test(G)&&(b+=".md");let Z=this.app.vault.getAbstractFileByPath(b);if(!(Z instanceof lR.TFile))throw new Error(`Template file not found at path "${b}".`);return await this.app.vault.cachedRead(Z)}};var Xb=class extends Hc{constructor(G,b,Z,c){super(G,b,c);this.templatePath=Z}async run(){let G=await this.getTemplateContent(this.templatePath);return G||U.logError(`Template ${this.templatePath} not found.`),G=await this.formatter.formatFileContent(G),G}};var kG=class extends Vb{constructor(G,b){super();this.app=G;this.plugin=b}async format(G){let b=G;try{b=this.replaceDateInString(b),b=this.replaceTimeInString(b),b=await this.replaceValueInString(b),b=await this.replaceDateVariableInString(b),b=await this.replaceVariableInString(b),b=await this.replaceLinkToCurrentFileInString(b),b=await this.replaceMacrosInString(b),b=await this.replaceTemplateInString(b),b=await this.replaceFieldVarInString(b),b=this.replaceLinebreakInString(b)}catch{return G}return b}promptForValue(G){return G||"user input"}getVariableValue(G){return yd(G)}getCurrentFileLink(){return Ad(this.app.workspace.getActiveFile())}getNaturalLanguageDates(){return vl(this.app)}suggestForValue(G){return gd(G)}getMacroValue(G){return ed(G)}promptForMathValue(){return Promise.resolve("calculation_result")}promptForVariable(G){return Promise.resolve(Cd(G))}async getTemplateContent(G){try{return await new Xb(this.app,this.plugin,G,void 0).run()}catch{return`Template (not found): ${G}`}}async getSelectedText(){return"selected_text"}async suggestForField(G){return Promise.resolve(`${G}_field_value`)}async replaceDateVariableInString(G){let b=G;return b=b.replace(new RegExp(Mb.source,"gi"),(Z,c,W)=>{let d=c?.trim(),N=W?.trim();if(!d||!N)return Z;let m=new Date,Y;try{Y=tl.generate(N,m)}catch{Y=`[${N} format]`}return Y}),b}};var pc=class extends Yb{constructor(G,b,Z){super(G);this.plugin=Z;this.choice=b,this.display()}display(){this.containerEl.addClass("captureChoiceBuilder"),this.contentEl.empty(),this.addCenteredChoiceNameHeader(this.choice),this.addCapturedToSetting(),this.choice?.captureToActiveFile||(this.addCreateIfNotExistsSetting(),this.choice?.createFileIfItDoesntExist?.enabled&&this.addCreateWithTemplateSetting()),this.addTaskSetting(),this.addPrependSetting(),this.addAppendLinkSetting(),this.addInsertAfterSetting(),this.choice.captureToActiveFile||(this.addOpenFileSetting(),this.choice.openFile&&this.addOpenFileInNewTabSetting()),this.addFormatSetting()}addCapturedToSetting(){let G;new eI.Setting(this.contentEl).setName("Capture To").setDesc("File to capture to. Supports some format syntax.");let b=this.contentEl.createDiv("captureToContainer"),Z=b.createDiv("captureToActiveFileContainer"),c=Z.createEl("span");c.textContent="Capture to active file";let W=new eI.ToggleComponent(Z);if(W.setValue(this.choice?.captureToActiveFile),W.onChange(d=>{this.choice.captureToActiveFile=d,this.reload()}),!this.choice?.captureToActiveFile){let d=b.createDiv("captureToFileContainer"),N=d.createEl("span"),m=new DZ(this.app);(async()=>N.textContent=await m.format(this.choice.captureTo))();let Y=new eI.TextComponent(d);Y.setPlaceholder("File name format"),G=Y,Y.inputEl.style.width="100%",Y.inputEl.style.marginBottom="8px",Y.setValue(this.choice.captureTo).setDisabled(this.choice?.captureToActiveFile).onChange(async h=>{this.choice.captureTo=h,N.textContent=await m.format(h)});let V=[...this.app.vault.getMarkdownFiles().map(h=>h.path),...F2];new mG(this.app,G.inputEl,V,50)}}addPrependSetting(){new eI.Setting(this.contentEl).setName("Write to bottom of file").setDesc(`Put value at the bottom of the file - otherwise at the ${this.choice?.captureToActiveFile?"active cursor location":"top"}.`).addToggle(b=>{b.setValue(this.choice.prepend),b.onChange(Z=>{this.choice.prepend=Z,this.choice.prepend&&this.choice.insertAfter.enabled&&(this.choice.insertAfter.enabled=!1,this.reload())})})}addTaskSetting(){new eI.Setting(this.contentEl).setName("Task").setDesc("Formats the value as a task.").addToggle(b=>{b.setValue(this.choice.task),b.onChange(Z=>this.choice.task=Z)})}addAppendLinkSetting(){new eI.Setting(this.contentEl).setName("Append link").setDesc("Add a link on your current cursor position, linking to the file you're capturing to.").addToggle(b=>{b.setValue(this.choice.appendLink),b.onChange(Z=>this.choice.appendLink=Z)})}addInsertAfterSetting(){let G;new eI.Setting(this.contentEl).setName("Insert after").setDesc("Insert capture after specified line. Accepts format syntax.").addToggle(W=>{W.setValue(this.choice.insertAfter.enabled),W.onChange(d=>{this.choice.insertAfter.enabled=d,G.setDisabled(!d),this.choice.insertAfter.enabled&&this.choice.prepend&&(this.choice.prepend=!1),this.reload()})});let Z=this.contentEl.createEl("span"),c=new kG(this.app,this.plugin);(async()=>Z.innerText=awai
Line truncated
|
||||
${v?"Deleting this choice will delete all ("+n.choices.length+") choices inside it!":""}
|
||||
${y?"Deleting this choice will delete the macro associated with it!":""}
|
||||
`)&&(y&&(G(9,Z=Z.filter(t=>t.id!==n.macroId)),W(Z)),G(0,b=b.filter(t=>hR(n.id,t))),N.removeCommandForChoice(n),c(b))}async function V(F){let{choice:n}=F.detail,y;if(n.type==="Multi"){y=n;let v=await yI.Prompt(d,`Rename ${n.name}`,"",n.name);if(!v)return;y.name=v}else{let v=H(n);if(!v)throw new Error("Invalid choice type");y=await v.waitForClose}y&&(G(0,b=b.map(v=>mV(v,y))),N.removeCommandForChoice(n),N.addCommandForChoice(y),c(b))}async function h(F){let{choice:n}=F.detail,y={...n,command:!n.command};y.command?N.addCommandForChoice(y):N.removeCommandForChoice(y),G(0,b=b.map(v=>mV(v,y))),c(b)}async function a(F){let{choice:n}=F.detail,y=X(n);G(0,b=[...b,y]),c(b)}function X(F){if(!f2(F))throw new Error("Invalid choice type");let n;switch(F.type){case"Template":n=new gb(`${F.name} (copy)`);break;case"Capture":n=new Ab(`${F.name} (copy)`);break;case"Macro":n=new xc(`${F.name} (copy)`);break;case"Multi":n=new Lb(`${F.name} (copy)`);break}return F.type!=="Multi"?Object.assign(n,q2(F,["id","name"])):n.choices=F.choices.map(y=>X(y)),n}function H(F){switch(F.type){case"Template":return new TZ(d,F,N);case"Capture":return new pc(d,F,N);case"Macro":return new wN(d,F,Z,M.getState().choices);case"Multi":default:break}}async function w(){let F=await new vN(d,N,Z,b).waitForClose;F&&(W(F),G(9,Z=F))}async function u(){let F=await new EN(d,M.getState().ai).waitForClose;F&&M.setState(n=>({...n,ai:F}))}function s(F){b=F,G(0,b)}let C=F=>c(F.detail.choices);return l.$$set=F=>{"choices"in F&&G(0,b=F.choices),"macros"in F&&G(9,Z=F.macros),"saveChoices"in F&&G(1,c=F.saveChoices),"saveMacros"in F&&G(10,W=F.saveMacros),"app"in F&&G(11,d=F.app),"plugin"in F&&G(12,N=F.plugin)},[b,c,m,Y,V,h,a,w,u,Z,W,d,N,s,C]}var YV=class extends RI{constructor(I){super(),pI(this,I,eu,yu,HI,{choices:0,macros:9,saveChoices:1,saveMacros:10,app:11,plugin:12},Ju)}},aR=YV;var Cu={name:"OpenAI",endpoint:"https://api.openai.com/v1",apiKey:"",models:[{name:"text-davinci-003",maxTokens:4096},{name:"gpt-3.5-turbo",maxTokens:4096},{name:"gpt-3.5-turbo-16k",maxTokens:16384},{name:"gpt-3.5-turbo-1106",maxTokens:16385},{name:"gpt-4",maxTokens:8192},{name:"gpt-4-32k",maxTokens:32768},{name:"gpt-4-1106-preview",maxTokens:128e3},{name:"gpt-4-turbo",maxTokens:128e3},{name:"gpt-4o",maxTokens:128e3},{name:"gpt-4o-mini",maxTokens:128e3}]},JN=[Cu];var id={choices:[],macros:[],inputPrompt:"single-line",devMode:!1,templateFolderPath:"",announceUpdates:!0,version:"0.0.0",disableOnlineFeatures:!0,enableRibbonIcon:!1,ai:{defaultModel:"Ask me",defaultSystemPrompt:'As an AI assistant within Obsidian, your primary goal is to help users manage their ideas and knowledge more effectively. Format your responses using Markdown syntax. Please use the [[Obsidian]] link format. You can write aliases for the links by writing [[Obsidian|the alias after the pipe symbol]]. To use mathematical notation, use LaTeX syntax. LaTeX syntax for larger equations should be on separate lines, surrounded with double dollar signs ($$). You can also inline math expressions by wrapping it in $ symbols. For example, use $$w_{ij}^{ ext{new}}:=w_{ij}^{ ext{current}}+etacdotdelta_jcdot x_{ij}$$ on a separate line, but you can write "($eta$ = learning rate, $delta_j$ = error term, $x_{ij}$ = input)" inline.',promptTemplatesFolderPath:"",showAssistant:!0,providers:JN},migrations:{migrateToMacroIDFromEmbeddedMacro:!1,useQuickAddTemplateFolder:!1,incrementFileNameSettingMoveToDefaultBehavior:!1,mutualExclusionInsertAfterAndWriteToBottomOfFile:!1,setVersionAfterUpdateModalRelease:!1,addDefaultAIProviders:!1}},sN=class extends Rl.PluginSettingTab{constructor(I,G){super(I,G),this.plugin=G}display(){let{containerEl:I}=this;I.empty(),I.createEl("h2",{text:"QuickAdd Settings"}),this.addChoicesSetting(),this.addUseMultiLineInputPromptSetting(),this.addTemplateFolderPathSetting(),this.addAnnounceUpdatesSetting(),this.addDisableOnlineFeaturesSetting(),this.addEnableRibbonIconSetting()}addAnnounceUpdatesSetting(){let I=new Rl.Setting(this.containerEl);I.setName("Announce Updates"),I.setDesc("Display release notes when a new version is installed. This includes new features, demo videos, and bug fixes."),I.addToggle(G=>{G.setValue(M.getState().announceUpdates),G.onChange(b=>{M.setState({announceUpdates:b})})})}hide(){this.choiceView&&this.choiceView.$destroy()}addChoicesSetting(){let I=new Rl.Setting(this.containerEl);I.infoEl.remove(),I.settingEl.style.display="block",this.choiceView=new aR({target:I.settingEl,props:{app:this.app,plugin:this.plugin,choices:M.getState().choices,saveChoices:G=>{M.setState({choices:G})},macros:M.getState().macros,saveMacros:G=>{M.setState({macros:G})}}})}addUseMultiLineInputPromptSetting(){new Rl.Setting(this.containerEl).setName("Use Multi-line Input Prompt").setDesc("Use multi-line input prompt instead of single-line input prompt").addToggle(I=>I.setValue(this.plugin.settings.inputPrompt==="multi-line").setTooltip("Use multi-line input prompt").onChange(G=>{G?M.setState({inputPrompt:
Line truncated
|
||||
`:""}${Z}`}if(this.choice.insertAfter.enabled)return await this.insertAfterHandler(Z);let W=this.file?this.getFrontmatterEndPosition(this.file):null;return W?this.insertTextAfterPositionInBody(Z,this.fileContent,W):`${Z}${this.fileContent}`}async formatContentOnly(G){let b=await super.formatFileContent(G);return b=this.replaceLinebreakInString(b),b.trim()===""?this.fileContent:b}async insertAfterHandler(G){let b=await this.format(this.choice.insertAfter.after),Z=new RegExp(`\\s*${pa(b.replace("\\n",""))}\\s*`),c=HY(this.fileContent),W=c.findIndex(N=>Z.test(N));if(W===-1){if(this.choice.insertAfter?.createIfNotFound)return await this.createInsertAfterIfNotFound(G);wI(new Error("Unable to find insert after line in file"),"Insert After Error")}if(this.choice.insertAfter?.insertAtEnd){if(!this.file)throw new Error("Tried to get sections without file.");W=gN(c,W,!!this.choice.insertAfter.considerSubsections)??c.length-1}return this.insertTextAfterPositionInBody(G,this.fileContent,W)}async createInsertAfterIfNotFound(G){let Z=`${this.replaceLinebreakInString(await this.format(this.choice.insertAfter.after))}
|
||||
${G}`;if(this.choice.insertAfter?.createIfNotFoundLocation===Dc){let c=this.file?this.getFrontmatterEndPosition(this.file):-1;return this.insertTextAfterPositionInBody(Z,this.fileContent,c)}if(this.choice.insertAfter?.createIfNotFoundLocation===Vd)return`${this.fileContent}
|
||||
${Z}`;if(this.choice.insertAfter?.createIfNotFoundLocation===hd)try{let c=this.app.workspace.getActiveViewOfType(QR.MarkdownView);if(!c)throw new Error("No active view.");let d=c.editor.getCursor().line;if(this.choice.insertAfter?.insertAtEnd){if(!this.file)throw new Error("Tried to get sections without file.");let m=HY(this.fileContent);d=gN(m,d,!!this.choice.insertAfter.considerSubsections)??m.length-1}return this.insertTextAfterPositionInBody(Z,this.fileContent,d)}catch(c){wI(c,`Unable to insert line '${this.choice.insertAfter.after}' at cursor position`)}}getFrontmatterEndPosition(G){let b=this.app.metadataCache.getFileCache(G);return!b||!b.frontmatter?(U.logMessage("could not get frontmatter. Maybe there isn't any."),-1):b.frontmatterPosition?b.frontmatterPosition.end.line:-1}insertTextAfterPositionInBody(G,b,Z){if(Z===-1){let N=!this.choice.task;return`${G}${N?`
|
||||
`:""}${b}`}let c=b.split(`
|
||||
Suggested values for ${l}: ${V.slice(0,3).join(", ")}`)}return await $I.Prompt(this.app,`Enter value for ${l}`,Y)}let N=`Enter value for ${l}`;return m.hasDefaultValue&&(N=`Enter value for ${l} (default: ${Z.defaultValue})`),await Ol.Suggest(this.app,m.values,m.values,{placeholder:N})}generateCacheKey(G){let l=[];return G.folder&&l.push(`folder:${G.folder}`),G.tags&&l.push(`tags:${G.tags.join(",")}`),G.inline&&l.push("inline:true"),G.caseSensitive&&l.push("case-sensitive:true"),G.excludeFolders&&l.push(`exclude-folders:${G.excludeFolders.join(",")}`),G.excludeTags&&l.push(`exclude-tags:${G.excludeTags.join(",")}`),G.excludeFiles&&l.push(`exclude-files:${G.excludeFiles.join(",")}`),G.defaultValue&&l.push(`default:${G.defaultValue}`),G.defaultEmpty&&l.push("default-empty:true"),G.defaultAlways&&l.push("default-always:true"),l.join("|")}async getMacroValue(G){let l=new ua(this.app,this.plugin,this.plugin.settings.choices,this.choiceExecutor,this.variables),Z=await l.runAndGetOutput(G)??"";return l.getVariables().forEach((c,W)=>{this.variables.set(W,c)}),Z}async getTemplateContent(G){return await new sZ(this.app,this.plugin,G,this.choiceExecutor).run()}async getSelectedText(){let G=this.app.workspace.getActiveViewOfType(jt.MarkdownView);return G?G.editor.getSelection():""}async getClipboardContent(){try{return await navigator.clipboard.readText()}catch{return""}}async replaceInlineJavascriptInString(G){let l=G;for(;Ld.test(l);){let c=Ld.exec(l)?.at(1)?.trim();if(c){let W=new ta(this.app,this.plugin,this.choiceExecutor,this.variables),d=await W.runAndGetOutput(c);for(let m in W.params.variables)this.variables.set(m,W.params.variables[m]);l=typeof d=="string"?this.replacer(l,Ld,d):this.replacer(l,Ld,"")}}return l}async collectValuesManually(G,l){let Z=new Set,c=this.app.vault.getMarkdownFiles();c=qa.filterFiles(c,l,d=>this.app.metadataCache.getFileCache(d));let W=50;for(let d=0;d<c.length;d+=W){let N=c.slice(d,d+W).map(async V=>{let a=new Set;try{let R=this.app.metadataCache.getFileCache(V)?.frontmatter?.[G];if(R!=null){if(Array.isArray(R))R.forEach(H=>{let p=String(H).trim();p&&a.add(p)});else if(typeof R!="object"){let H=String(R).trim();H&&a.add(H)}}if(l.inline)try{let H=await this.app.vault.read(V);BW.getFieldValues(H,G).forEach(n=>a.add(n))}catch(H){B.logWarning(`Could not read file ${V.path} for inline field parsing: ${H}`)}}catch(h){B.logWarning(`Could not process metadata for file ${V.path}: ${h}`)}return a}),Y=await Promise.all(N);for(let V of Y)for(let a of V)Z.add(a)}return Z}};var Kt=require("obsidian");var Nd=class extends yW{constructor(G,l,Z){super(G);this.plugin=l;this.templater=jV(G),this.formatter=new Wb(G,l,Z)}async getOrCreateFolder(G){let l;if(G.length>1){if(l=await jG.Suggest(this.app,G,G),!l)throw new Error("No folder selected.")}else l=G[0];return l?await this.createFolder(l):l="",l}async getFormattedFilePath(G,l,Z){let c=await this.formatter.formatFileName(l,Z);return this.normalizeMarkdownFilePath(G,c)}getTemplateExtension(G){return id.test(G)?".canvas":".md"}normalizeTemplateFilePath(G,l,Z){let c=G?`${G}/`:"",W=this.getTemplateExtension(Z),d=l.replace(Ad,"").replace(id,"");return`${c}${d}${W}`}async incrementFileName(G){let l=lV.exec(G),Z=l&&typeof l.at=="function"?l?.at(1):void 0,c=await this.app.vault.adapter.exists(G),W=G,d=id.test(G)?".canvas":".md";if(c&&Z){let N=parseInt(Z);if(!N)throw new Error("detected numbers but couldn't get them.");W=W.replace(lV,`${N+1}${d}`)}else c&&(W=W.replace(lV,`1${d}`));return await this.app.vault.adapter.exists(W)&&(W=await this.incrementFileName(W)),W}async createFileWithTemplate(G,l){try{let Z=await this.getTemplateContent(l),c=G.split("/").pop()?.replace(/\.md$/,"")||"";this.formatter.setTitle(c);let W=await this.formatter.formatFileContent(Z),d=await this.createFileWithInput(G,W);return await hc(this.app,d),d}catch(Z){return jI(Z,"Could not create file with template"),null}}async overwriteFileWithTemplate(G,l){try{let Z=await this.getTemplateContent(l),c=G.basename;this.formatter.setTitle(c);let W=await this.formatter.formatFileContent(Z);return await this.app.vault.modify(G,W),await hc(this.app,G),G}catch(Z){return jI(Z,"Could not overwrite file with template"),null}}async appendToFileWithTemplate(G,l,Z){try{let c=await this.getTemplateContent(l),W=G.basename;this.formatter.setTitle(W);let d=await this.formatter.formatFileContent(c),m=await this.app.vault.cachedRead(G),N=Z==="top"?`${d}
|
||||
${m}`:`${m}
|
||||
${d}`;return await this.app.vault.modify(G,N),await hc(this.app,G),G}catch(c){return jI(c,"Could not append to file with template"),null}}async getTemplateContent(G){let l=G;!Ad.test(G)&&!id.test(G)&&(l+=".md");let Z=this.app.vault.getAbstractFileByPath(l);if(!(Z instanceof Kt.TFile))throw new Error(`Template file not found at path "${l}".`);return await this.app.vault.cachedRead(Z)}};var sZ=class extends Nd{constructor(G,l,Z,c){super(G,l,c);this.templatePath=Z}async run(){let G=await this.getTemplateContent(this.templatePath);return G||B.logError(`Template ${this.templatePath} not found.`),G=await this.formatter.formatFileContent(G),G}};var El=class extends QZ{constructor(G,l,Z){super();this.app=G;this.plugin=l;this.dateParser=Z||Kb}async format(G){let l=G;try{l=this.replaceDateInString(l),l=this.replaceTimeInString(l),l=await this.replaceValueInString(l),l=await this.replaceSelectedInString(l),l=await this.replaceClipboardInString(l),l=await this.replaceDateVariableInString(l),l=await this.replaceVariableInString(l),l=await this.replaceLinkToCurrentFileInString(l),l=await this.replaceMacrosInString(l),l=await this.replaceTemplateInString(l),l=await this.replaceFieldVarInString(l),l=this.replaceRandomInString(l),l=this.replaceLinebreakInString(l)}catch{return G}return l}promptForValue(G){return G||"user input"}getVariableValue(G){return qV(G)}getCurrentFileLink(){return $V(this.app.workspace.getActiveFile())}suggestForValue(G){return _V(G)}getMacroValue(G){return fV(G)}promptForMathValue(){return Promise.resolve("calculation_result")}promptForVariable(G,l){return Promise.resolve(PV(G))}async getTemplateContent(G){try{return await new sZ(this.app,this.plugin,G,void 0).run()}catch{return`Template (not found): ${G}`}}async getSelectedText(){return"selected_text"}async getClipboardContent(){return"clipboard_content"}async suggestForField(G){return Promise.resolve(`${G}_field_value`)}async replaceDateVariableInString(G){let l=G;return l=l.replace(new RegExp(MZ.source,"gi"),(Z,c,W,d)=>{let m=c?.trim(),N=W?.trim(),Y=d?.trim();if(!m||!N)return Z;let V=new Date,a;try{a=wb.generate(N,V)}catch{a=`[${N} format]`}return Y&&(a+=` (default: ${Y})`),a}),l}replaceRandomInString(G){let l=G;return l=l.replace(/{{RANDOM:(\d+)}}/gi,(Z,c)=>{let W=parseInt(c);if(W<=0||W>100)return Z;let d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",m="";for(let N=0;N<Math.min(W,8);N++)m+=d.charAt(Math.floor(Math.random()*d.length));return W>8&&(m+=`... (${W} chars)`),m}),l}};function Rg(b){return typeof b=="object"&&b!==null&&"enabled"in b&&"placement"in b}function vZ(b){return Rg(b)?b:{enabled:b,placement:"replaceSelection"}}var bl=class extends hl{constructor(G,l,Z,c=!1){super(G,l);this.app=G;this.inputEl=l;this.plugin=Z;this.suggestForFileNames=c;this.lastInput="";this.lastInputStart=0;this.tokenDefinitions=[{regex:ZQ,token:1,suggestion:"{{DATE:}}",cursorOffset:2},{regex:bQ,token:0,suggestion:N2},{regex:pQ,token:10,suggestion:Tp},{regex:cQ,token:4,suggestion:Y2},{regex:WQ,token:3,suggestion:OZ},{regex:aQ,token:9,suggestion:Sp},{regex:RQ,token:11,suggestion:Pp},{regex:FQ,token:12,suggestion:_p},{regex:XQ,token:13,suggestion:"{{RANDOM:}}",cursorOffset:2},{regex:dQ,token:5,suggestion:"{{VALUE:}}",cursorOffset:2},{regex:mQ,token:2,suggestion:"{{VDATE:}}",cursorOffset:2}];this.contextualTokens=[{regex:NQ,token:6,suggestion:qp},{regex:hQ,token:14,suggestion:fp},{regex:YQ,token:8,suggestion:"{{TEMPLATE:"},{regex:VQ,token:7,suggestion:"{{MACRO:"}];this.macroNames=Tb(this.plugin.settings.choices).filter(W=>W.type==="Macro").map(W=>W.name),this.templatePaths=this.plugin.getTemplateFiles().map(W=>W.path)}async getSuggestions(G){if(this.inputEl.selectionStart===null)return[];let l=this.inputEl.selectionStart,Z=G.lastIndexOf("{{",l-1);if(Z===-1)return[];let c=G.slice(Z,l);if(c.includes("}}"))return[];if(c.includes(":"))return[];let W=[],d=[...this.tokenDefinitions,...this.suggestForFileNames?[]:this.contextualTokens];for(let m of d){let N=m.regex.exec(c);N&&N.index+N[0].length===c.length&&(this.lastInput=N[0],this.lastInputType=m.token,this.lastInputStart=l-N[0].length,W.includes(m.suggestion)||W.push(m.suggestion),m.token===8?W.push(...this.templatePaths.map(Y=>`{{TEMPLATE:${Y}}}`)):m.token===7?W.push(...this.macroNames.map(Y=>`{{MACRO:${Y}}}`)):m.token===2&&W.push("{{VDATE:date,YYYY-MM-DD}}","{{VDATE:date,YYYY-MM-DD|today}}","{{VDATE:dueDate,YYYY-MM-DD|next monday}}"))}return W}selectSuggestion(G){if(this.inputEl.selectionStart===null)return;let l=this.inputEl.selectionStart,Z=this.lastInputStart,c=l;Wa(this.inputEl,Z,c,G,{fromCompletion:!0});let W=G.includes(":")?2:0;if(W){let d=Z+G.length-W;this.inputEl.setSelectionRange(d,d)}this.close()}renderSuggestion(G,l){if(!G)return;let Z=this.renderMatch(G,this.getCurrentQuery());l.innerHTML=Z}getTokenDefinition(G){return[...this.tokenDefinitions,...this.contextualTokens].find(l=>l.token===G)}};var zG=class extends hl{constructor(G,l,Z,c=1/0){super(G,l);this.app=G;this.inputEl=l;this.item
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yg(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yY(b,I){var G=typeof Symbol<"u"&&b[Symbol.iterator]||b["@@iterator"];if(!G){if(Array.isArray(b)||(G=DX(b))||I&&b&&typeof b.length=="number"){G&&(b=G);var l=0,Z=function(){};return{s:Z,n:function(){return l>=b.length?{done:!0}:{done:!1,value:b[l++]}},e:function(m){throw m},f:Z}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var c=!0,W=!1,d;return{s:function(){G=G.call(b)},n:function(){var m=G.next();return c=m.done,m},e:function(m){W=!0,d=m},f:function(){try{!c&&G.return!=null&&G.return()}finally{if(W)throw d}}}}var Cg="finalize",gg="consider";function pd(b,I,G){b.dispatchEvent(new CustomEvent(Cg,{detail:{items:I,info:G}}))}function gZ(b,I,G){b.dispatchEvent(new CustomEvent(gg,{detail:{items:I,info:G}}))}var dh="draggedEntered",CY="draggedLeft",mh="draggedOverIndex",TX="draggedLeftDocument",Gh={LEFT_FOR_ANOTHER:"leftForAnother",OUTSIDE_OF_ANY:"outsideOfAny"};function og(b,I,G){b.dispatchEvent(new CustomEvent(dh,{detail:{indexObj:I,draggedEl:G}}))}function Ag(b,I,G){b.dispatchEvent(new CustomEvent(CY,{detail:{draggedEl:I,type:Gh.LEFT_FOR_ANOTHER,theOtherDz:G}}))}function ig(b,I){b.dispatchEvent(new CustomEvent(CY,{detail:{draggedEl:I,type:Gh.OUTSIDE_OF_ANY}}))}function Lg(b,I,G){b.dispatchEvent(new CustomEvent(mh,{detail:{indexObj:I,draggedEl:G}}))}function kg(b){window.dispatchEvent(new CustomEvent(TX,{detail:{draggedEl:b}}))}var cl={DRAG_STARTED:"dragStarted",DRAGGED_ENTERED:dh,DRAGGED_ENTERED_ANOTHER:"dragEnteredAnother",DRAGGED_OVER_INDEX:mh,DRAGGED_LEFT:CY,DRAGGED_LEFT_ALL:"draggedLeftAll",DROPPED_INTO_ZONE:"droppedIntoZone",DROPPED_INTO_ANOTHER:"droppedIntoAnother",DROPPED_OUTSIDE_OF_ANY:"droppedOutsideOfAny",DRAG_STOPPED:"dragStopped"},qG={POINTER:"pointer",KEYBOARD:"keyboard"},Nh="isDndShadowItem",Yh="data-is-dnd-shadow-item-internal",rg="data-is-dnd-shadow-item-hint",kc="id:dnd-shadow-placeholder-0000",zg="dnd-action-dragged-el",AG="id",xX=0;function me(){xX++}function Ne(){if(xX===0)throw new Error("Bug! trying to decrement when there are no dropzones");xX--}var SX=typeof window>"u",QI=function(){};function UX(b){var I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,G,l=I?Og(b):b.getBoundingClientRect(),Z=getComputedStyle(b),c=Z.transform;if(c){var W,d,m,N;if(c.startsWith("matrix3d("))G=c.slice(9,-1).split(/, /),W=+G[0],d=+G[5],m=+G[12],N=+G[13];else if(c.startsWith("matrix("))G=c.slice(7,-1).split(/, /),W=+G[0],d=+G[3],m=+G[4],N=+G[5];else return l;var Y=Z.transformOrigin,V=l.x-m-(1-W)*parseFloat(Y),a=l.y-N-(1-d)*parseFloat(Y.slice(Y.indexOf(" ")+1)),h=W?l.width/W:b.offsetWidth,R=d?l.height/d:b.offsetHeight;return{x:V,y:a,width:h,height:R,top:a,right:V+h,bottom:a+R,left:V}}else return l}function Ye(b){var I=UX(b);return{top:I.top+window.scrollY,bottom:I.bottom+window.scrollY,left:I.left+window.scrollX,right:I.right+window.scrollX}}function Ve(b){var I=b.getBoundingClientRect();return{top:I.top+window.scrollY,bottom:I.bottom+window.scrollY,left:I.left+window.scrollX,right:I.right+window.scrollX}}function ae(b){return{x:(b.left+b.right)/2,y:(b.top+b.bottom)/2}}function xg(b,I){return Math.sqrt(Math.pow(b.x-I.x,2)+Math.pow(b.y-I.y,2))}function Vh(b,I){return b.y<=I.bottom&&b.y>=I.top&&b.x>=I.left&&b.x<=I.right}function vY(b){return ae(Ve(b))}function Pt(b,I){var G=vY(b),l=Ye(I);return Vh(G,l)}function Ug(b,I){var G=vY(b),l=vY(I);return xg(G,l)}function Bg(b){var I=Ve(b);return I.right<0||I.left>document.documentElement.scrollWidth||I.bottom<0||I.top>document.documentElement.scrollHeight}function Og(b){for(var I=b.getBoundingClientRect(),G={top:I.top,bottom:I.bottom,left:I.left,right:I.right},l=b.parentElement;l&&l!==document.body;){var Z=l.getBoundingClientRect(),c=window.getComputedStyle(l).overflowY,W=window.getComputedStyle(l).overflowX,d=c==="scroll"||c==="auto",m=W==="scroll"||W==="auto";d&&(G.top=Math.max(G.top,Z.top),G.bottom=Math.min(G.bottom,Z.bottom)),m&&(G.left=Math.max(G.left,Z.left),G.right=Math.min(G.right,Z.right)),l=l.parentElement}return G.top=Math.max(G.top,0),G.bottom=Math.min(G.bottom,window.innerHeight),G.left=Math.max(G.left,0),G.right=Math.min(G.right,window.innerWidth),{top:G.top,bottom:G.bottom,left:G.left,right:G.right,width:Math.max(0,G.right-G.left),height:Math.max(0,G.bottom-G.top)}}var Rd;function qX(){QI(function(){return"resetting indexes cache"}),Rd=new Map}qX();function Mg(b){var I=Array.from(b.children).findIndex(function(G){return G.getAttribute(Yh)});if(I>=0)return Rd.has(b)||Rd.set(b,new Map),Rd.get(b).set(I,Ye(b.children[I])),I}function jg(b,I){if(!Pt(b,I))return null;var G=I.children;if(G.length===0)return{index:0,isProximityBased:!0};for(var l=Mg(I),Z=0;Z<G.length;Z++)if(Pt(b,G[Z])){var c=Rd.has(I)&&Rd.get(I).get(Z);return c&&!Vh(vY(b),c)?{index:l,isProximityBased:!1}:{index:Z,isProximityBased:!1}}for(var W=Number.MAX_VALUE,d=void 0,m=0;m<G.length;m++){var N=Ug(b,G[m]);N<W&&(W=N,d=m)}return{index:d,isProximityBased:!0}}function hb(b){return JSON.stringify(b,null,2)}function lh(b){if(!b)throw new Error("cannot get depth of a falsy node");return he(b,0)}function he(b){var I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return b.parentElement?he(b.parentElement,I+1):I-1}function Kg(b,I){if(Object.keys(b).length!==Object.keys(I).length)return!1;for(var G in b)if(!{}.hasOwnProper
Line truncated
|
||||
${G?"Deleting this choice will delete all ("+b.choices.length+") choices inside it!":""}
|
||||
${l?"Deleting this choice will delete its macro commands!":""}
|
||||
`)}async function re(b,I,G){if(b.type==="Multi"){let Z=await $I.Prompt(I,`Rename ${b.name}`,"",b.name);return Z?{...b,name:Z}:void 0}let l=ZA(b,I,G);if(!l)throw new Error("Invalid choice type");return await l.waitForClose}function ze(b){return{...b,command:!b.command}}var Eh=class{constructor(I){this.plugin=I}enableCommand(I){this.plugin.addCommandForChoice(I)}disableCommand(I){this.plugin.removeCommandForChoice(I)}updateCommand(I,G){this.plugin.removeCommandForChoice(I),this.plugin.addCommandForChoice(G)}};var rb=require("obsidian");var nG=require("obsidian");var xe=require("obsidian");var Jh=null,cA=24*60*60*1e3;async function kY(){if(Jh&&Date.now()-Jh.fetchedAt<cA)return Jh.data;if(lI.getState().disableOnlineFeatures)throw new Error("Fetching models directory is disabled: Online features are turned off.");let I=await(await(0,xe.requestUrl)({url:"https://models.dev/api.json",method:"GET"})).json;return Jh={data:I,fetchedAt:Date.now()},I}function WA(b){let I=b.toLowerCase();return I.includes("openai.com")?"openai":I.includes("openrouter.ai")?"openrouter":I.includes("generativelanguage.googleapis.com")?"google":I.includes("anthropic.com")||I.includes("anthropic")?"anthropic":I.includes("groq.com")?"groq":I.includes("together.ai")?"togetherai":I.includes("huggingface.co")||I.includes("huggingface")?"huggingface":I.includes("github")&&I.includes("models")?"github-models":I.includes("bedrock")||I.includes("aws")?"amazon-bedrock":I.includes("modelscope")?"modelscope":I.includes("dashscope")?"alibaba":I.includes("fireworks.ai")?"fireworks-ai":I.includes("vercel")?"vercel":I.includes("inference.net")?"inference":I.includes("z.ai")||I.includes("zhipu")?"zhipuai":I.includes("deepseek.com")?"deepseek":I.includes("cerebras")?"cerebras":I.includes("venice.ai")?"venice":I.includes("upstage.ai")?"upstage":I.includes("llama.com")||I.includes("api.llama.com")?"llama":I.includes("morphllm")?"morph":I.includes("inceptionlabs.ai")?"inception":I.includes("deepinfra")?"deepinfra":I.includes("gateway.opencode.ai")?"opencode":I.includes("router.huggingface.co")?"huggingface":I.includes("inference.wandb.ai")?"wandb":I.includes("api.githubcopilot.com")?"github-copilot":I.includes("api.openai.com")?"openai":null}async function yh(b){let I=await kY(),G=WA(b.endpoint);if(!G||!(G in I))throw new Error(`Could not determine models.dev provider for endpoint: ${b.endpoint}`);let l=I[G];return Object.values(l.models)}function Ch(b){return b.map(I=>({name:I.id,maxTokens:Math.max(1,Math.floor(I.limit?.context??128e3))}))}function mp(b,I){let G=new Set(b.map(Z=>Z.name)),l=I.filter(Z=>!G.has(Z.name));return b.concat(l)}var kb=require("obsidian");var gh=class extends kb.Modal{constructor(G,l){super(G);this.allModels=[];this.filtered=[];this.selectedIds=new Set;this.mode="add";this.provider=l,this.waitForClose=new Promise((Z,c)=>{this.resolvePromise=Z,this.rejectPromise=c}),this.open(),this.loadData().then(()=>this.display())}async loadData(){try{await kY(),this.allModels=await yh(this.provider),this.filtered=this.allModels.slice()}catch(G){new kb.Notice(`Failed to load model directory: ${G.message??G}`)}}display(){this.contentEl.empty(),this.modalEl.style.width="min(100vw - 32px, 980px)",this.modalEl.style.maxWidth="980px",this.contentEl.style.maxHeight="min(85vh, 800px)",this.contentEl.style.overflowY="auto",this.contentEl.createEl("h2",{text:`Browse models for ${this.provider.name}`}).style.textAlign="center",new kb.Setting(this.contentEl).setName("Search").addText(l=>{l.setPlaceholder("Filter by name or id").onChange(Z=>{let c=Z.trim().toLowerCase();this.filtered=this.allModels.filter(W=>W.id.toLowerCase().includes(c)||(W.name??"").toLowerCase().includes(c)),this.renderList()})}).addExtraButton(l=>{l.setIcon("check"),l.setTooltip("Select all"),l.onClick(()=>{this.filtered.forEach(Z=>this.selectedIds.add(Z.id)),this.renderList()})}).addExtraButton(l=>{l.setIcon("x"),l.setTooltip("Clear selection"),l.onClick(()=>{this.selectedIds.clear(),this.renderList()})}),new kb.Setting(this.contentEl).setName("Import mode").setDesc("Add will append new models. Replace will overwrite existing models with the selected list.").addDropdown(l=>{l.addOption("add","Add only"),l.addOption("replace","Replace existing"),l.setValue(this.mode),l.onChange(Z=>this.mode=Z)}).addButton(l=>{l.setButtonText("Import selected").setCta().onClick(()=>this.importSelected())});let G=this.contentEl.createDiv({cls:"qa-model-directory"});G.style.maxHeight=window.innerWidth<640?"55vh":"60vh",G.style.overflowY="auto",G.style.padding="6px",this.renderList()}renderList(){let G=this.contentEl.querySelector(".qa-model-directory");if(G){G.empty();for(let l of this.filtered){let Z=G.createDiv({cls:"qa-model-row"});Z.style.display="flex",Z.style.alignItems="center",Z.style.gap="8px";let c=document.createElement("input");c.type="checkbox",c.checked=this.selectedIds.has(l.id),c.onchange=()=>{c.checked?this.selectedIds.add(l.id):this.selectedIds.delete(l.id)},Z.appendChild(c);let
Line truncated
|
||||
`)}}).join(`
|
||||
`)}}var Gw=b=>b.join(""),CA=b=>b.split(/\b/),gA=Iw("<<<<<<< YOUR CHANGES","=======",">>>>>>> APP AUTHORS CHANGES",Gw),oA={splitFunction:CA,joinFunction:Gw,conflictFunction:gA};function tp(b,I,G,l={}){l=Object.assign({},oA,l);let[Z,c,W]=[b,I,G].map(N=>l.splitFunction.call(l,N)),d=UY.merge(Z,c,W);return BY.collateMerge(d,l.joinFunction,l.conflictFunction)}var lw=tp;var cw=require("obsidian");function bw(b,I){return b.line===I.line}function AA(b){let I=[];return b.forEach((G,l)=>{let Z=G.match(/^(#+)[\s]+(.*)$/);Z&&I.push({level:Z[1].length,text:Z[2],line:l})}),I}function Dh(b,I,G=!1){let l=AA(b),Z=l.find(N=>N.line===I),c=!!Z;if(!c&&G)throw new Error(`Target line ${I} is not a heading, but we are trying to find the end of its section.`);if(!c&&!G){let N=Zw(b,I,Y=>Y.trim()==="");return N!==null&&N>I?N-1:I}let W=b.length-1,d=iA(Z,l,b,G),m=rA(b,d,N=>N.trim()!=="");if(m!==null){if(m<I)return I;let N=b[m+1].trim()==="";return m+1===W&&!N?d:m===0?m+1:m}return d}function iA(b,I,G,l){let Z=I.findIndex(Y=>bw(Y,b)),c=Z===I.length-1,W=G.length-1;if(c)return W;let[d,m]=LA(b,I);if(m&&d===I.length)return W;if(m&&l)return I[d].line-1;if(m&&!l)return I[Z+1].line;if(!l&&!m){let Y=kA(b.line,I);return Y===null?W:Y}return W}function LA(b,I){let G=I.findIndex(Z=>bw(Z,b)),l=Zw(I,G,Z=>Z.level<=b.level);return l===null?[-1,!1]:[l,!0]}function kA(b,I){let G=I.findIndex(l=>l.line>b);return G===-1?null:G}function rA(b,I,G){for(let l=I-1;l>=0;l--)if(G(b[l]))return l;return null}function Zw(b,I,G){for(let l=I+1;l<b.length;l++)if(G(b[l]))return l;return null}var Th=class extends Wb{constructor(){super(...arguments);this.file=null;this.fileContent="";this.templaterProcessed=!1}async formatContentWithFile(G,l,Z,c){if(this.choice=l,this.file=c,this.fileContent=Z,!l||!c||Z===null)return G;let W=l.insertAfter.enabled||l.prepend||!l.captureToActiveFile;return await this.formatFileContent(G,W)}async formatContent(G,l){return this.choice=l,l?await this.formatFileContent(G):G}async formatFileContent(G,l=!0){let Z=await super.formatFileContent(G);if(Z=this.replaceLinebreakInString(Z),l&&this.file&&!this.templaterProcessed){let d=await KV(this.app,Z,this.file);d&&(Z=d),this.templaterProcessed=!0}if(Z.trim()==="")return this.fileContent;if(this.choice.prepend){let d=!this.choice.task;return`${this.fileContent}${d?`
|
||||
`:""}${Z}`}if(this.choice.insertAfter.enabled)return await this.insertAfterHandler(Z);let W=this.file?this.getFrontmatterEndPosition(this.file):null;return W?this.insertTextAfterPositionInBody(Z,this.fileContent,W):`${Z}${this.fileContent}`}async formatContentOnly(G){let l=await super.formatFileContent(G);return l=this.replaceLinebreakInString(l),l.trim()===""?this.fileContent:l}normalizeTarget(G){return G.replace("\\n","").trimEnd()}findInsertAfterIndex(G,l){let Z=this.normalizeTarget(l),c=-1;for(let W=0;W<G.length;W++){let d=G[W].trimStart();if(d===Z)return W;if(d.startsWith(Z)){let m=d.slice(Z.length);if(/^\s*$/.test(m))return W;c===-1&&(c=W)}}return c}async insertAfterHandler(G){let l=await this.format(this.choice.insertAfter.after),Z=PF(this.fileContent),c=this.findInsertAfterIndex(Z,l);if(c===-1){if(this.choice.insertAfter?.createIfNotFound)return await this.createInsertAfterIfNotFound(G);jI(new Error("Unable to find insert after line in file"),"Insert After Error")}if(this.choice.insertAfter?.insertAtEnd){if(!this.file)throw new Error("Tried to get sections without file.");c=Dh(Z,c,!!this.choice.insertAfter.considerSubsections)??Z.length-1}return this.insertTextAfterPositionInBody(G,this.fileContent,c)}async createInsertAfterIfNotFound(G){let Z=`${this.replaceLinebreakInString(await this.format(this.choice.insertAfter.after))}
|
||||
${G}`;if(this.choice.insertAfter?.createIfNotFoundLocation===od){let c=this.file?this.getFrontmatterEndPosition(this.file):-1;return this.insertTextAfterPositionInBody(Z,this.fileContent,c)}if(this.choice.insertAfter?.createIfNotFoundLocation===bV)return`${this.fileContent}
|
||||
${Z}`;if(this.choice.insertAfter?.createIfNotFoundLocation===ZV)try{let c=this.app.workspace.getActiveViewOfType(cw.MarkdownView);if(!c)throw new Error("No active view.");let d=c.editor.getCursor().line;if(this.choice.insertAfter?.insertAtEnd){if(!this.file)throw new Error("Tried to get sections without file.");let N=PF(this.fileContent);d=Dh(N,d,!!this.choice.insertAfter.considerSubsections)??N.length-1}return this.insertTextAfterPositionInBody(Z,this.fileContent,d)}catch(c){jI(c,`Unable to insert line '${this.choice.insertAfter.after}' at cursor position`)}}getFrontmatterEndPosition(G){let l=this.app.metadataCache.getFileCache(G);return!l||!l.frontmatter?(B.logMessage("could not get frontmatter. Maybe there isn't any."),-1):l.frontmatterPosition?l.frontmatterPosition.end.line:-1}insertTextAfterPositionInBody(G,l,Z){if(Z===-1){let m=!this.choice.task;return`${G}${m?`
|
||||
`:""}${l}`}let c=l.split(`
|
||||
`),W=c.slice(0,Z+1).join(`
|
||||
`),d=c.slice(Z+1).join(`
|
||||
`);return`${W}
|
||||
${G}${d}`}};var LN=class{isResolved(){return!this.hasConflicts}isConflicted(){return this.hasConflicts}},JW=class l extends LN{constructor(I,G,b){super(),this.left=I,this.base=G,this.right=b,this.hasConflicts=!0}static create(I){return new l(I.left,I.base,I.right)}apply(I){return l.create({left:I(this.left),base:I(this.base),right:I(this.right)})}},_G=class l extends LN{constructor(I){super(),this.hasConflicts=!1,this.result=I}combine(I){this.result=this.result.concat(I.result)}apply(I){return new l(I(this.result))}};var Pl=class l{constructor(I,G){this.left=I,this.right=G}static executeDiff(I,G){if(!I.push)throw new Error("Argument is not an array");let b=l.diff(I,G);return new aV(I,G,b).convertToTypedOutput()}static diff(I,G){return new l(I,G).performDiff()}performDiff(){let I=this.identifyUniquePositions();I.sort((c,W)=>W[0]-c[0]);let[G,b]=this.findNextChange(),Z=new oN(G,b,[]);return I.forEach(c=>{Z=this.getDifferences(Z,c)}),Z.changeRanges}getDifferences(I,G){let[b,Z]=[I.leftChangePos,I.rightChangePos],[c,W]=G;if(c<b||W<Z)return I;{let[d,N,m,Y]=this.findPrevChange(b,Z,c-1,W-1),[V,h]=this.findNextChange(c+1,W+1),a=this.appendChangeRange(I.changeRanges,d,N,m,Y);return new oN(V,h,a)}}findNextChange(I=0,G=0){let b=this.left.slice(I)||[],Z=this.right.slice(G)||[],c=this.mismatchOffset(b,Z);return[I+c,G+c]}findPrevChange(I,G,b,Z){if(I>b||G>Z)return[I,b,G,Z];{let c=this.left.slice(I,b+1).reverse()||[],W=this.right.slice(G,Z+1).reverse()||[],d=this.mismatchOffset(c,W);return[I,b-d,G,Z-d]}}mismatchOffset(I,G){let b=Math.max(I.length,G.length);for(let Z=0;Z<b;Z++)if(I[Z]!==G[Z])return Z;return Math.min(I.length,G.length)}identifyUniquePositions(){let I=this.findUnique(this.left),G=this.findUnique(this.right),b=new Set(...I.keys()),Z=new Set(...G.keys()),W=[...new Set([...b].filter(d=>Z.has(d)))].map(d=>[I.get(d),G.get(d)]);return W.unshift([this.left.length,this.right.length]),W}findUnique(I){let G=new Map;I.forEach((Z,c)=>{G.set(Z,new hV(c,!G.has(Z)))});let b=new Map;for(let[Z,c]of G.entries())c.unique&&b.set(Z,c.pos);return b}appendChangeRange(I,G,b,Z,c){return G<=b&&Z<=c?I.push(new sW(ol.change,G+1,b+1,Z+1,c+1)):G<=b?I.push(new sW(ol.remove,G+1,b+1,Z+1,Z)):Z<=c&&I.push(new sW(ol.add,G+1,G,Z+1,c+1)),I}},hV=class{constructor(I,G){this.pos=I,this.unique=G}},wc=class{constructor(I,G){this.text=I,this.low=G}},aV=class{constructor(I,G,b){this.oldTextArray=I,this.newTextArray=G,this.chunks=b,this.oldText=[],this.newText=[]}convertToTypedOutput(){let I=new FV(0,0);return this.chunks.forEach(G=>{let[b,Z]=this.setTextNodeIndexes(G,I.oldIndex,I.newIndex),[c,W]=this.appendChanges(G,I.oldIndex+b,I.newIndex+Z);I.oldIndex=c,I.newIndex=W}),this.setTheRemainingTextNodeIndexes(I.oldIndex,I.newIndex),{oldText:this.oldText,newText:this.newText}}setTextNodeIndexes(I,G,b){let Z=0;for(;G+Z<I.leftLo-1;)this.oldText.push(new wc(this.oldTextArray[G+Z],b+Z)),Z+=1;let c=0;for(;b+c<I.rightLo-1;)this.newText.push(new wc(this.newTextArray[b+c],G+c)),c+=1;return[Z,c]}appendChanges(I,G,b){for(;G<=I.leftHi-1;)this.oldText.push(this.oldTextArray[G]),G+=1;for(;b<=I.rightHi-1;)this.newText.push(this.newTextArray[b]),b+=1;return[G,b]}setTheRemainingTextNodeIndexes(I,G){let b=0;for(;I+b<this.oldTextArray.length;)this.oldText.push(new wc(this.oldTextArray[I+b],G+b)),b+=1;for(;G+b<this.newTextArray.length;)this.newText.push(new wc(this.newTextArray[G+b],I+b)),b+=1}},FV=class{constructor(I,G){this.oldIndex=I,this.newIndex=G}},ol;(function(l){l.change="change",l.add="add",l.remove="remove"})(ol||(ol={}));var sW=class{constructor(I,G,b,Z,c){this.action=I,this.leftLo=G,this.leftHi=b,this.rightLo=Z,this.rightHi=c}},oN=class{constructor(I,G,b){this.leftChangePos=I,this.rightChangePos=G,this.changeRanges=b}};var kN=class l{constructor(I,G,b,Z,c){this.code=I,this.baseLo=G,this.baseHi=b,this.sideLo=Z,this.sideHi=c}static fromChangeRange(I){return new l(I.action,I.leftLo,I.leftHi,I.rightLo,I.rightHi)}},vc=class l{constructor(I,G,b){this.left=I,this.base=G,this.right=b}static executeDiff(I,G,b){return new l(I,G,b).getDifferences()}getDifferences(){let I=Pl.diff(this.base,this.left).map(b=>kN.fromChangeRange(b)),G=Pl.diff(this.base,this.right).map(b=>kN.fromChangeRange(b));return this.collapseDifferences(new iN(I,G))}collapseDifferences(I,G=[]){if(I.isFinished())return G;{let b=new iN,Z=I.chooseSide(),c=I.dequeue();return b.enqueue(Z,c),I.switchSides(),this.buildResultQueue(I,c.baseHi,b),G.push(this.determineDifference(b,Z,I.switchSides())),this.collapseDifferences(I,G)}}buildResultQueue(I,G,b){if(this.queueIsFinished(I.peek(),G))return b;{let Z=I.dequeue();return b.enqueue(I.currentSide,Z),G<Z.baseHi?(I.switchSides(),this.buildResultQueue(I,Z.baseHi,b)):this.buildResultQueue(I,G,b)}}queueIsFinished(I,G){return I.length===0||I[0].baseLo>G+1}determineDifference(I,G,b){let Z=I.get(G)[0].baseLo,c=I.get(b),W=c[c.length-1].baseHi,[d,N]=this.diffableEndpoints(I.get(SI.left),Z,W),[m,Y]=this.diffableEndpoints(I.get(SI.right),Z,W),V=this.left.slice(d-1,N),h=this.right.
Line truncated
|
||||
`)}}).join(`
|
||||
`)}}var pR=l=>l.join(""),iu=l=>l.split(/\b/),zu=HR("<<<<<<< YOUR CHANGES","=======",">>>>>>> APP AUTHORS CHANGES",pR),xu={splitFunction:iu,joinFunction:pR,conflictFunction:zu};function QV(l,I,G,b={}){b=Object.assign({},xu,b);let[Z,c,W]=[l,I,G].map(m=>b.splitFunction.call(b,m)),d=yW.merge(Z,c,W);return eW.collateMerge(d,b.joinFunction,b.conflictFunction)}var uR=QV;var zN=class extends $Z{constructor(G,b,Z,c){super(G);this.choiceExecutor=c;this.choice=Z,this.plugin=b,this.formatter=new AN(G,b,c)}async run(){try{let G=await this.getFormattedPathToCaptureTo(this.choice.captureToActiveFile),b=this.getCaptureContent(),Z;if(await this.fileExists(G))Z=this.onFileExists.bind(this);else if(this.choice?.createFileIfItDoesntExist?.enabled)Z=this.onCreateFileIfItDoesntExist.bind(this);else{U.logWarning(`The file ${G} does not exist and "Create file if it doesn't exist" is disabled.`);return}let{file:c,newFileContent:W,captureContent:d}=await Z(G,b);if(this.choice.captureToActiveFile&&!this.choice.prepend&&!this.choice.insertAfter.enabled){let N=await td(this.app,d,c);$c(N,this.app)}else await this.app.vault.modify(c,W),await jZ(this.app,c);if(this.choice.appendLink){let N=this.app.fileManager.generateMarkdownLink(c,"");$c(N,this.app)}this.choice.openFile&&c&&(Jd(this.app,c)||await Ed(this.app,c,{openInNewTab:this.choice.openFileInNewTab.enabled,direction:this.choice.openFileInNewTab.direction,focus:this.choice.openFileInNewTab.focus,mode:this.choice.openFileInMode}))}catch(G){wI(G,`Error running capture choice "${this.choice.name}"`)}}getCaptureContent(){let G;return this.choice.format.enabled?G=this.choice.format.format:G=Ob,this.choice.task&&(G=`- [ ] ${G}
|
||||
`),G}async getFormattedPathToCaptureTo(G){if(G){let m=this.app.workspace.getActiveFile();return CG(m,"Cannot capture to active file - no active file."),m.path}let b=this.choice.captureTo,Z=await this.formatFilePath(b),c=Z.replace(/^\/$|\/\.md$|^\.md$/,""),W=c==="",d=W||P2(this.app,c),N=Z.startsWith("#");if(d)return this.selectFileInFolder(c,W);if(N){let m=Z.replace(/\.md$/,"");return this.selectFileWithTag(m)}return Z}async selectFileInFolder(G,b){let Z=G.endsWith("/")||b?G:`${G}/`,c=KZ(this.app,Z);CG(c.length>0,`Folder ${Z} is empty.`);let W=c.map(m=>m.path),d=await el.Suggest(this.app,W.map(m=>m.replace(Z,"")),W);CG(!!d&&d.length>0,"No file selected for capture.");let N=d.startsWith(`${Z}`)?d:`${Z}/${d}`;return await this.formatFilePath(N)}async selectFileWithTag(G){let b=G.startsWith("#")?G:`#${G}`,Z=_2(this.app,b);CG(Z.length>0,`No files with tag ${G}.`);let c=Z.map(d=>d.path),W=await el.Suggest(this.app,c,c);return CG(!!W&&W.length>0,"No file selected for capture."),await this.formatFilePath(W)}async onFileExists(G,b){let Z=this.getFileByPath(G);if(!Z)throw new Error("File not found");let c=await this.formatter.formatContentOnly(b),W=await this.app.vault.read(Z),d=await this.formatter.formatContentWithFile(c,this.choice,W,Z),N=await this.app.vault.read(Z),m=d;if(N!==W){let Y=uR(N,W,d);CG(!Y.isSuccess,()=>`The file ${G} has been modified since the last read.
|
||||
${G}${d}`}};function Ww(b){return b.captureToActiveFile&&!b.prepend&&!b.insertAfter.enabled?"currentLine":b.insertAfter.enabled?"insertAfter":b.prepend?"prepend":"append"}var dw=4e3,Sh=class extends MW{constructor(G,l,Z,c){super(G);this.choiceExecutor=c;this.choice=Z,this.plugin=l,this.formatter=new Th(G,l,c)}showSuccessNotice(G,{wasNewFile:l,action:Z}){let c=`'${G.basename}'`;if(l){new ep.Notice(`Created and captured to ${c}`,dw);return}let W="";switch(Z){case"currentLine":W=`Captured to current line in ${c}`;break;case"prepend":W=`Captured to top of ${c}`;break;case"append":W=`Captured to ${c}`;break;case"insertAfter":{let d=this.choice.insertAfter.after;W=d?`Captured to ${c} under '${d}'`:`Captured to ${c}`;break}}new ep.Notice(W,dw)}async run(){try{let G=await this.getFormattedPathToCaptureTo(this.choice.captureToActiveFile),l=this.getCaptureContent(),Z,c=await this.fileExists(G);if(c)Z=this.onFileExists.bind(this);else if(this.choice?.createFileIfItDoesntExist?.enabled)Z=this.onCreateFileIfItDoesntExist.bind(this);else{B.logWarning(`The file ${G} does not exist and "Create file if it doesn't exist" is disabled.`);return}let{file:W,newFileContent:d,captureContent:m}=await Z(G,l);if(this.choice.captureToActiveFile&&!this.choice.prepend&&!this.choice.insertAfter.enabled){let Y=await KV(this.app,m,W);G0(Y,this.app)}else await this.app.vault.modify(W,d),await hc(this.app,W);if(this.plugin.settings.showCaptureNotification){let Y=Ww(this.choice);this.showSuccessNotice(W,{wasNewFile:!c,action:Y})}let N=vZ(this.choice.appendLink);N.enabled&&DV(this.app,this.app.fileManager.generateMarkdownLink(W,""),N.placement),this.choice.openFile&&W&&(TV(this.app,W)||await vW(this.app,W,this.choice.fileOpening))}catch(G){jI(G,`Error running capture choice "${this.choice.name}"`)}}getCaptureContent(){let G;return this.choice.format.enabled?G=this.choice.format.format:G=OZ,this.choice.task&&(G=`- [ ] ${G}
|
||||
`),G}async getFormattedPathToCaptureTo(G){if(G){let N=this.app.workspace.getActiveFile();return tl(N,"Cannot capture to active file - no active file."),N.path}let l=this.choice.captureTo,Z=await this.formatFilePath(l),c=Z.replace(/^\/$|\/\.md$|^\.md$/,""),W=c==="",d=W||Z0(this.app,c),m=Z.startsWith("#");if(d)return this.selectFileInFolder(c,W);if(m){let N=Z.replace(/\.md$/,"");return this.selectFileWithTag(N)}return Z}async selectFileInFolder(G,l){let Z=G.endsWith("/")||l?G:`${G}/`,c=EW(this.app,Z);tl(c.length>0,`Folder ${Z} is empty.`);let W=c.map(N=>N.path),d=await Ol.Suggest(this.app,W.map(N=>N.replace(Z,"")),W);tl(!!d&&d.length>0,"No file selected for capture.");let m=d.startsWith(`${Z}`)?d:`${Z}/${d}`;return await this.formatFilePath(m)}async selectFileWithTag(G){let l=G.startsWith("#")?G:`#${G}`,Z=c0(this.app,l);tl(Z.length>0,`No files with tag ${G}.`);let c=Z.map(d=>d.path),W=await Ol.Suggest(this.app,c,c);return tl(!!W&&W.length>0,"No file selected for capture."),await this.formatFilePath(W)}async onFileExists(G,l){let Z=this.getFileByPath(G);if(!Z)throw new Error("File not found");this.formatter.setTitle(Z.basename);let c=await this.formatter.formatContentOnly(l),W=await this.app.vault.read(Z),d=await this.formatter.formatContentWithFile(c,this.choice,W,Z),m=await this.app.vault.read(Z),N=d;if(m!==W){let Y=lw(m,W,d);tl(!Y.isSuccess,()=>`The file ${G} has been modified since the last read.
|
||||
QuickAdd could not merge the versions two without conflicts, and will not modify the file.
|
||||
This is in order to prevent data loss.`),m=Y.joinedResults()}return{file:Z,newFileContent:m,captureContent:c}}async onCreateFileIfItDoesntExist(G,b){let Z=await this.formatter.formatContentOnly(b),c="";this.choice.createFileIfItDoesntExist.createWithTemplate&&(c=await new Xb(this.app,this.plugin,this.choice.createFileIfItDoesntExist.template,this.choiceExecutor).run());let W=await this.createFileWithInput(G,c),d=await this.app.vault.cachedRead(W),N=await this.formatter.formatContentWithFile(Z,this.choice,d,W);return{file:W,newFileContent:N,captureContent:Z}}async formatFilePath(G){let b=await this.formatter.formatFileName(G,this.choice.name);return this.normalizeMarkdownFilePath("",b)}};var xN=require("obsidian");var Qb=class l extends xN.FuzzySuggestModal{constructor(G,b,Z){super(G.app);this.plugin=G;this.choices=b;this.choiceExecutor=new $l(this.app,this.plugin);Z&&(this.choiceExecutor=Z)}static Open(G,b,Z){new l(G,b,Z).open()}renderSuggestion(G,b){b.empty(),xN.MarkdownRenderer.renderMarkdown(G.item.name,b,"",this.plugin),b.classList.add("quickadd-choice-suggestion")}getItemText(G){return G.name}getItems(){return this.choices}async onChooseItem(G,b){G.type==="Multi"?this.onChooseMultiType(G):await this.choiceExecutor.execute(G)}onChooseMultiType(G){let b=[...G.choices];G.name!="\u2190 Back"&&b.push(new Lb("\u2190 Back").addChoices(this.choices)),l.Open(this.plugin,b)}};var $l=class{constructor(I,G){this.app=I;this.plugin=G;this.variables=new Map}async execute(I){switch(I.type){case"Template":{let G=I;await this.onChooseTemplateType(G);break}case"Capture":{let G=I;await this.onChooseCaptureType(G);break}case"Macro":{let G=I;await this.onChooseMacroType(G);break}case"Multi":{let G=I;this.onChooseMultiType(G);break}default:break}}async onChooseTemplateType(I){await new CN(this.app,this.plugin,I,this).run()}async onChooseCaptureType(I){await new zN(this.app,this.plugin,I,this).run()}async onChooseMacroType(I){let G=new yl(this.app,this.plugin,I,this.plugin.settings.macros,this,this.variables);await G.run(),Object.entries(G.params.variables).forEach(([b,Z])=>{this.variables.set(b,Z)})}onChooseMultiType(I){Qb.Open(this.plugin,I.choices,this)}};var nR={description:"Migrate to macro ID from embedded macro in macro choices.",migrate:async l=>{function I(G){if(G.type==="Multi"){let Z=G,c=Z.choices.map(I);return Z={...Z,choices:c},Z}if(G.type!=="Macro")return G;let b=G;return b.macro&&(b.macroId=b.macro.id,delete b.macro),b}l.settings.choices=l.settings.choices.map(I),await l.saveSettings()}};var wR={description:"Use QuickAdd template folder instead of Obsidian templates plugin folder / Templater templates folder.",migrate:async l=>{try{let I=l.app.plugins.plugins.templater,G=l.app.internalPlugins.plugins.templates;if(!I&&!G){U.logMessage("No template plugin found. Skipping migration.");return}if(G){let b=G.instance.options;b.folder&&(l.settings.templateFolderPath=b.folder,U.logMessage("Migrated template folder path to Obsidian Templates' setting."))}if(I){let b=I.settings;b.template_folder&&(l.settings.templateFolderPath=b.template_folder,U.logMessage("Migrated template folder path to Templaters setting."))}}catch(I){throw U.logError("Failed to migrate template folder path."),I}}};function UN(l){return l===null||typeof l!="object"||!("type"in l)||!("choices"in l)?!1:l.type==="Multi"&&l.choices!==void 0}function BN(l){return l===null||typeof l!="object"||!("choice"in l)?!1:l.choice!==void 0}function HV(l){return typeof l!="object"||l===null?!1:"incrementFileName"in l}function vR(l){for(let I of l)UN(I)&&(I.choices=vR(I.choices)),HV(I)&&(I.setFileExistsBehavior=!0,I.fileExistsMode="Increment the file name",delete I.incrementFileName);return l}function Uu(l){for(let I of l)if(Array.isArray(I.commands))for(let G of I.commands)BN(G)&&HV(G.choice)&&(G.choice.setFileExistsBehavior=!0,G.choice.fileExistsMode="Increment the file name",delete G.choice.incrementFileName);return l}var Bu={description:"'Increment file name' setting moved to 'Set default behavior if file already exists' setting",migrate:async l=>{let I=structuredClone(l.settings.choices),G=vR(I),b=structuredClone(l.settings.macros),Z=Uu(b);l.settings.choices=structuredClone(G),l.settings.macros=structuredClone(Z)}},tR=Bu;function pV(l){return l.type==="Capture"}function ER(l){for(let I of l)UN(I)&&(I.choices=ER(I.choices)),pV(I)&&I.insertAfter.enabled&&I.prepend&&(I.prepend=!1);return l}function ru(l){for(let I of l)if(Array.isArray(I.commands))for(let G of I.commands)BN(G)&&pV(G.choice)&&G.choice.insertAfter.enabled&&G.choice.prepend&&(G.choice.prepend=!1);return l}var Ou={description:"Mutual exclusion of insertAfter and writeToBottomOfFile settings. If insertAfter is enabled, writeToBottomOfFile is disabled. To support changes in settings UI.",migrate:async l=>{let I=structuredClone(l.settings.choices),G=ER(I),b=structuredClone(l.settings.macros),Z=ru(b);l.settings.choices=G,l.settings.macros=Z}},JR=Ou;var Mu={description:"Set version to the current plugin ve
Line truncated
|
||||
This is in order to prevent data loss.`),N=Y.joinedResults()}return{file:Z,newFileContent:N,captureContent:c}}async onCreateFileIfItDoesntExist(G,l){let Z=G.split("/").pop()?.replace(/\.md$/,"")||"";this.formatter.setTitle(Z);let c=await this.formatter.formatContentOnly(l),W="";this.choice.createFileIfItDoesntExist.createWithTemplate&&(W=await new sZ(this.app,this.plugin,this.choice.createFileIfItDoesntExist.template,this.choiceExecutor).run());let d=await this.createFileWithInput(G,W);this.choice.createFileIfItDoesntExist.createWithTemplate&&W&&await hc(this.app,d);let m=await this.app.vault.cachedRead(d),N=await this.formatter.formatContentWithFile(c,this.choice,m,d);return{file:d,newFileContent:N,captureContent:c}}async formatFilePath(G){let l=await this.formatter.formatFileName(G,this.choice.name);return this.normalizeMarkdownFilePath("",l)}};var qh=require("obsidian");var oZ=class b extends qh.FuzzySuggestModal{constructor(G,l,Z){super(G.app);this.plugin=G;this.choices=l;this.choiceExecutor=new WZ(this.app,this.plugin);Z&&(this.choiceExecutor=Z)}static Open(G,l,Z){new b(G,l,Z).open()}renderSuggestion(G,l){l.empty(),qh.MarkdownRenderer.renderMarkdown(G.item.name,l,"",this.plugin),l.classList.add("quickadd-choice-suggestion")}getItemText(G){return G.name}getItems(){return this.choices}async onChooseItem(G,l){G.type==="Multi"?this.onChooseMultiType(G):await this.choiceExecutor.execute(G)}onChooseMultiType(G){let l=[...G.choices];G.name!="\u2190 Back"&&l.push(new td("\u2190 Back").addChoices(this.choices)),b.Open(this.plugin,l)}};var WZ=class{constructor(I,G){this.app=I;this.plugin=G;this.variables=new Map}async execute(I){switch(I.type){case"Template":{let G=I;await this.onChooseTemplateType(G);break}case"Capture":{let G=I;await this.onChooseCaptureType(G);break}case"Macro":{let G=I;await this.onChooseMacroType(G);break}case"Multi":{let G=I;this.onChooseMultiType(G);break}default:break}}async onChooseTemplateType(I){await new Bh(this.app,this.plugin,I,this).run()}async onChooseCaptureType(I){await new Sh(this.app,this.plugin,I,this).run()}async onChooseMacroType(I){let G=new yb(this.app,this.plugin,I,this,this.variables);await G.run(),Object.entries(G.params.variables).forEach(([l,Z])=>{this.variables.set(l,Z)})}onChooseMultiType(I){oZ.Open(this.plugin,I.choices,this)}};var mw={description:"Use QuickAdd template folder instead of Obsidian templates plugin folder / Templater templates folder.",migrate:async b=>{try{let I=b.app.plugins.plugins.templater,G=b.app.internalPlugins.plugins.templates;if(!I&&!G){B.logMessage("No template plugin found. Skipping migration.");return}if(G){let l=G.instance.options;l.folder&&(b.settings.templateFolderPath=l.folder,B.logMessage("Migrated template folder path to Obsidian Templates' setting."))}if(I){let l=I.settings;l.template_folder&&(b.settings.templateFolderPath=l.template_folder,B.logMessage("Migrated template folder path to Templaters setting."))}}catch(I){throw B.logError("Failed to migrate template folder path."),I}}};function fh(b){return b===null||typeof b!="object"||!("type"in b)||!("choices"in b)?!1:b.type==="Multi"&&b.choices!==void 0}function Ph(b){return b===null||typeof b!="object"||!("choice"in b)?!1:b.choice!==void 0}function wp(b){return typeof b!="object"||b===null?!1:"incrementFileName"in b}function Nw(b){for(let I of b)fh(I)&&(I.choices=Nw(I.choices)),wp(I)&&(I.setFileExistsBehavior=!0,I.fileExistsMode="Increment the file name",delete I.incrementFileName);return b}function zA(b){for(let I of b)if(Array.isArray(I.commands))for(let G of I.commands)Ph(G)&&wp(G.choice)&&(G.choice.setFileExistsBehavior=!0,G.choice.fileExistsMode="Increment the file name",delete G.choice.incrementFileName);return b}var xA={description:"'Increment file name' setting moved to 'Set default behavior if file already exists' setting",migrate:async b=>{let I=structuredClone(b.settings.choices),G=Nw(I),l=structuredClone(b.settings.macros||[]),Z=zA(l);b.settings.choices=structuredClone(G),b.settings.macros=Z}},Yw=xA;function sp(b){return b.type==="Capture"}function Vw(b){for(let I of b)fh(I)&&(I.choices=Vw(I.choices)),sp(I)&&I.insertAfter.enabled&&I.prepend&&(I.prepend=!1);return b}function UA(b){for(let I of b)if(Array.isArray(I.commands))for(let G of I.commands)Ph(G)&&sp(G.choice)&&G.choice.insertAfter.enabled&&G.choice.prepend&&(G.choice.prepend=!1);return b}var BA={description:"Mutual exclusion of insertAfter and writeToBottomOfFile settings. If insertAfter is enabled, writeToBottomOfFile is disabled. To support changes in settings UI.",migrate:async b=>{let I=structuredClone(b.settings.choices),G=Vw(I),l=structuredClone(b.settings.macros||[]),Z=UA(l);b.settings.choices=G,b.settings.macros=Z}},aw=BA;var OA={description:"Set version to the current plugin version.",migrate:async b=>{lI.setState({version:b.manifest.version})}},hw=OA;var MA={description:"Add default AI providers to the settings.",migrate:async b=>{let I=lI.getState().ai,G=rh.map(l=>(l.name==="OpenAI"&&"OpenAIApiKe
Line truncated
|
||||
|
||||
${Z}
|
||||
|
||||
QuickAdd will now revert to backup.`),l.settings=b}}l.saveSettings()}var eR=Ku;var tc=require("obsidian");async function Du(l,I,G){let b=await fetch(`https://api.github.com/repos/${l}/${I}/releases`),Z=await b.json();if(!b.ok&&"message"in Z||!Array.isArray(Z))throw new Error(`Failed to fetch releases: ${Z.message??"Unknown error"}`);let c=Z.findIndex(W=>W.tag_name===G);if(c===-1)throw new Error(`Could not find release with tag ${G}`);return Z.slice(0,c).filter(W=>!W.draft&&!W.prerelease)}function Tu(l,I=1){let G=l.split(`
|
||||
`);for(let b=0;b<G.length;b++)G[b].startsWith("#")&&(G[b]="#".repeat(I)+G[b]);return G.join(`
|
||||
`)}var rN=class extends tc.Modal{constructor(I,G){super(I),this.previousVersion=G,this.releaseNotesPromise=Du("chhoumann","quickadd",G),this.releaseNotesPromise.then(b=>{if(this.releases=b,this.releases.length===0){this.close();return}this.display()}).catch(b=>{U.logError(`Failed to fetch release notes: ${b}`)})}onOpen(){let{contentEl:I}=this;I.empty(),I.createEl("h1",{text:"Fetching release notes..."})}onClose(){let{contentEl:I}=this;I.empty()}display(){let{contentEl:I}=this;I.empty(),I.classList.add("quickadd-update-modal-container");let G=`### New in QuickAdd v${this.releases[0].tag_name}
|
||||
`,b="Thank you for using QuickAdd! If you like the plugin, please consider supporting me by buying me a coffee. With your sponsorship, I'll be able to contribute more to my existing projects, start new ones, and be more responsive to issues & feature requests.",Z='<div class="quickadd-bmac-container"><a href="https://www.buymeacoffee.com/chhoumann" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 40px !important;width: 144px !important;" ></a></div>',c=I.createDiv("quickadd-update-modal"),W=this.releases.map(Y=>Y.body).join(`
|
||||
QuickAdd will now revert to backup.`),b.settings=l}}b.saveSettings()}var pw=qA;var Jd=require("obsidian");async function fA(b,I,G){let l=await fetch(`https://api.github.com/repos/${b}/${I}/releases`),Z=await l.json();if(!l.ok&&"message"in Z||!Array.isArray(Z))throw new Error(`Failed to fetch releases: ${Z.message??"Unknown error"}`);let c=Z.findIndex(W=>W.tag_name===G);if(c===-1)throw new Error(`Could not find release with tag ${G}`);return Z.slice(0,c).filter(W=>!W.draft&&!W.prerelease)}function PA(b,I=1){let G=b.split(`
|
||||
`);for(let l=0;l<G.length;l++)G[l].startsWith("#")&&(G[l]="#".repeat(I)+G[l]);return G.join(`
|
||||
`)}var _h=class extends Jd.Modal{constructor(I,G){super(I),this.previousVersion=G,this.releaseNotesPromise=fA("chhoumann","quickadd",G),this.releaseNotesPromise.then(l=>{if(this.releases=l,this.releases.length===0){this.close();return}this.display()}).catch(l=>{B.logError(`Failed to fetch release notes: ${l}`)})}onOpen(){let{contentEl:I}=this;I.empty(),I.createEl("h1",{text:"Fetching release notes..."})}onClose(){let{contentEl:I}=this;I.empty()}display(){let{contentEl:I}=this;I.empty(),I.classList.add("quickadd-update-modal-container");let G=`### New in QuickAdd v${this.releases[0].tag_name}
|
||||
`,l="Thank you for using QuickAdd! If you like the plugin, please consider supporting me by buying me a coffee. With your sponsorship, I'll be able to contribute more to my existing projects, start new ones, and be more responsive to issues & feature requests.",Z='<div class="quickadd-bmac-container"><a href="https://www.buymeacoffee.com/chhoumann" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 40px !important;width: 144px !important;" ></a></div>',c=I.createDiv("quickadd-update-modal"),W=this.releases.map(Y=>Y.body).join(`
|
||||
---
|
||||
`),d=`And now, here is everything new in QuickAdd since your last update (v${this.previousVersion}):`,m=`${G}
|
||||
${b}
|
||||
`),d=`And now, here is everything new in QuickAdd since your last update (v${this.previousVersion}):`,N=`${G}
|
||||
${l}
|
||||
${Z}
|
||||
I'd love to get your feedback on QuickAdd! Please fill out this <a href="https://forms.gle/WRq1ewcKK8qmkqps6">feedback form</a> to let me know what you think.
|
||||
|
||||
@@ -83,6 +92,6 @@ ${d}
|
||||
|
||||
---
|
||||
|
||||
${Tu(W)}`;tc.MarkdownRenderer.renderMarkdown(m,c,this.app.vault.getRoot().path,new tc.Component)}};var qI=require("obsidian");var ON=class extends qI.Modal{constructor(G,b){super(G);this.showAdvancedSettings=!1;this.settings=b,this.waitForClose=new Promise((Z,c)=>{this.rejectPromise=c,this.resolvePromise=Z}),this.open(),this.display()}get systemPromptTokenLength(){let G=ml(this.settings.model);return G?gG(this.settings.systemPrompt,G):Number.POSITIVE_INFINITY}display(){this.contentEl.empty();let G=this.contentEl.createEl("h2",{text:`${this.settings.name} Settings`});G.style.textAlign="center",G.style.cursor="pointer",G.style.userSelect="none",G.addEventListener("click",async()=>{try{let b=await yI.Prompt(this.app,"New name",this.settings.name,this.settings.name);b&&b!==this.settings.name&&(this.settings.name=b,this.reload())}catch{}}),this.addResultJoinerSetting(this.contentEl),this.addChunkSeparatorSetting(this.contentEl),this.addMaxTokensSetting(this.contentEl),this.addMergeChunksSetting(this.contentEl),this.addModelSetting(this.contentEl),this.addOutputVariableNameSetting(this.contentEl),this.addShowAdvancedSettingsToggle(this.contentEl),this.showAdvancedSettings&&(this.settings.modelParameters||(this.settings.modelParameters={}),this.addTemperatureSetting(this.contentEl),this.addTopPSetting(this.contentEl),this.addFrequencyPenaltySetting(this.contentEl),this.addPresencePenaltySetting(this.contentEl)),this.addSystemPromptSetting(this.contentEl)}reload(){this.contentEl.empty(),this.display()}addModelSetting(G){new qI.Setting(G).setName("Model").setDesc("The model the AI Assistant will use").addDropdown(b=>{let Z=Jl();for(let c of Z)b.addOption(c,c);b.addOption("Ask me","Ask me"),b.setValue(this.settings.model),b.onChange(c=>{this.settings.model=c,this.reload()})})}addOutputVariableNameSetting(G){new qI.Setting(G).setName("Output variable name").setDesc("The name of the variable used to store the AI Assistant output, i.e. {{value:output}}.").addText(b=>{b.setValue(this.settings.outputVariableName).onChange(Z=>{this.settings.outputVariableName=Z})})}addSystemPromptSetting(G){new qI.Setting(G).setName("System Prompt").setDesc("The system prompt for the AI Assistant");let b=this.contentEl.createEl("div"),Z=b.createEl("span");Z.style.color="var(--text-muted-color)",b.appendChild(Z);let c=new qI.TextAreaComponent(G);c.setValue(this.settings.systemPrompt).onChange(async m=>{this.settings.systemPrompt=m,d.innerText=await W.format(m),N()}),new pG(this.app,c.inputEl,XI.instance);let W=new kG(this.app,XI.instance);c.inputEl.style.width="100%",c.inputEl.style.height="100px",c.inputEl.style.minHeight="100px",c.inputEl.style.marginBottom="1em";let d=this.contentEl.createEl("span"),N=(0,qI.debounce)(()=>{Z.innerText=`Token count: ${this.systemPromptTokenLength}`},50);N(),(async()=>d.innerText=await W.format(this.settings.systemPrompt??""))()}addShowAdvancedSettingsToggle(G){new qI.Setting(G).setName("Show advanced settings").setDesc("Show advanced settings such as temperature, top p, and frequency penalty.").addToggle(b=>{b.setValue(this.showAdvancedSettings),b.onChange(Z=>{this.showAdvancedSettings=Z,this.reload()})})}addTemperatureSetting(G){new qI.Setting(G).setName("Temperature").setDesc("Sampling temperature. Higher values like 0.8 makes the output more random, whereas lower values like 0.2 will make it more focused and deterministic. The default is 1.").addSlider(b=>{b.setLimits(0,1,.1),b.setDynamicTooltip(),b.setValue(this.settings.modelParameters.temperature??1),b.onChange(Z=>{this.settings.modelParameters.temperature=Z})})}addTopPSetting(G){new qI.Setting(G).setName("Top P").setDesc("Nucleus sampling - consider this an alternative to temperature. The model considers the results of the tokens with top_p probability mass. 0.1 means only tokens compromising the top 10% probability mass are considered. The default is 1.").addSlider(b=>{b.setLimits(0,1,.1),b.setDynamicTooltip(),b.setValue(this.settings.modelParameters.top_p??1),b.onChange(Z=>{this.settings.modelParameters.top_p=Z})})}addFrequencyPenaltySetting(G){new qI.Setting(G).setName("Frequency Penalty").setDesc("Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. The default is 0.").addSlider(b=>{b.setLimits(0,2,.1),b.setDynamicTooltip(),b.setValue(this.settings.modelParameters.frequency_penalty??0),b.onChange(Z=>{this.settings.modelParameters.frequency_penalty=Z})})}addPresencePenaltySetting(G){new qI.Setting(G).setName("Presence Penalty").setDesc("Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. The default is 0.").addSlider(b=>{b.setLimits(0,2,.1),b.setDynamicTooltip(),b.setValue(this.settings.modelParameters.presence_penalty??0),b.onChange(Z=>{this.settings.modelParameters.presence_penalty=Z})})}addResultJoinerSetting(G){new qI.Setting(G).setName("Result Jo
Line truncated
|
||||
${PA(W)}`;Jd.MarkdownRenderer.renderMarkdown(N,c,this.app.vault.getRoot().path,new Jd.Component)}};var tG=require("obsidian");var $h=class extends tG.Modal{constructor(G,l){super(G);this.showAdvancedSettings=!1;this.settings=l,this.waitForClose=new Promise((Z,c)=>{this.rejectPromise=c,this.resolvePromise=Z}),this.open(),this.display()}get systemPromptTokenLength(){let G=cb(this.settings.model);return G?el(this.settings.systemPrompt,G):Number.POSITIVE_INFINITY}display(){this.contentEl.empty();let G=this.contentEl.createEl("h2",{text:`${this.settings.name} Settings`});G.style.textAlign="center",G.style.cursor="pointer",G.style.userSelect="none",G.addEventListener("click",async()=>{try{let l=await $I.Prompt(this.app,"New name",this.settings.name,this.settings.name);l&&l!==this.settings.name&&(this.settings.name=l,this.reload())}catch{}}),this.addResultJoinerSetting(this.contentEl),this.addChunkSeparatorSetting(this.contentEl),this.addMaxTokensSetting(this.contentEl),this.addMergeChunksSetting(this.contentEl),this.addModelSetting(this.contentEl),this.addOutputVariableNameSetting(this.contentEl),this.addShowAdvancedSettingsToggle(this.contentEl),this.showAdvancedSettings&&(this.settings.modelParameters||(this.settings.modelParameters={}),this.addTemperatureSetting(this.contentEl),this.addTopPSetting(this.contentEl),this.addFrequencyPenaltySetting(this.contentEl),this.addPresencePenaltySetting(this.contentEl)),this.addSystemPromptSetting(this.contentEl)}reload(){this.contentEl.empty(),this.display()}addModelSetting(G){new tG.Setting(G).setName("Model").setDesc("The model the AI Assistant will use").addDropdown(l=>{let Z=Jb();for(let c of Z)l.addOption(c,c);l.addOption("Ask me","Ask me"),l.setValue(this.settings.model),l.onChange(c=>{this.settings.model=c,this.reload()})})}addOutputVariableNameSetting(G){new tG.Setting(G).setName("Output variable name").setDesc("The name of the variable used to store the AI Assistant output, i.e. {{value:output}}.").addText(l=>{l.setValue(this.settings.outputVariableName).onChange(Z=>{this.settings.outputVariableName=Z})})}addSystemPromptSetting(G){new tG.Setting(G).setName("System Prompt").setDesc("The system prompt for the AI Assistant");let l=this.contentEl.createEl("div"),Z=l.createEl("span");Z.style.color="var(--text-muted-color)",l.appendChild(Z);let c=new tG.TextAreaComponent(G);c.setValue(this.settings.systemPrompt).onChange(async N=>{this.settings.systemPrompt=N,d.innerText=await W.format(N),m()}),new bl(this.app,c.inputEl,zI.instance);let W=new El(this.app,zI.instance);c.inputEl.style.width="100%",c.inputEl.style.height="100px",c.inputEl.style.minHeight="100px",c.inputEl.style.marginBottom="1em";let d=this.contentEl.createEl("span"),m=(0,tG.debounce)(()=>{Z.innerText=`Token count: ${this.systemPromptTokenLength}`},50);m(),(async()=>d.innerText=await W.format(this.settings.systemPrompt??""))()}addShowAdvancedSettingsToggle(G){new tG.Setting(G).setName("Show advanced settings").setDesc("Show advanced settings such as temperature, top p, and frequency penalty.").addToggle(l=>{l.setValue(this.showAdvancedSettings),l.onChange(Z=>{this.showAdvancedSettings=Z,this.reload()})})}addTemperatureSetting(G){new tG.Setting(G).setName("Temperature").setDesc("Sampling temperature. Higher values like 0.8 makes the output more random, whereas lower values like 0.2 will make it more focused and deterministic. The default is 1.").addSlider(l=>{l.setLimits(0,1,.1),l.setDynamicTooltip(),l.setValue(this.settings.modelParameters.temperature??1),l.onChange(Z=>{this.settings.modelParameters.temperature=Z})})}addTopPSetting(G){new tG.Setting(G).setName("Top P").setDesc("Nucleus sampling - consider this an alternative to temperature. The model considers the results of the tokens with top_p probability mass. 0.1 means only tokens compromising the top 10% probability mass are considered. The default is 1.").addSlider(l=>{l.setLimits(0,1,.1),l.setDynamicTooltip(),l.setValue(this.settings.modelParameters.top_p??1),l.onChange(Z=>{this.settings.modelParameters.top_p=Z})})}addFrequencyPenaltySetting(G){new tG.Setting(G).setName("Frequency Penalty").setDesc("Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. The default is 0.").addSlider(l=>{l.setLimits(0,2,.1),l.setDynamicTooltip(),l.setValue(this.settings.modelParameters.frequency_penalty??0),l.onChange(Z=>{this.settings.modelParameters.frequency_penalty=Z})})}addPresencePenaltySetting(G){new tG.Setting(G).setName("Presence Penalty").setDesc("Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. The default is 0.").addSlider(l=>{l.setLimits(0,2,.1),l.setDynamicTooltip(),l.setValue(this.settings.modelParameters.presence_penalty??0),l.onChange(Z=>{this.settings.modelParameters.presence_penalty=Z})})}addResultJoinerSetting(G){new tG.Setting(G).setName("Result Jo
Line truncated
|
||||
|
||||
/* nosourcemap */
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"id": "quickadd",
|
||||
"name": "QuickAdd",
|
||||
"version": "1.18.1",
|
||||
"version": "2.1.0",
|
||||
"minAppVersion": "1.6.0",
|
||||
"description": "Quickly add new pages or content to your vault.",
|
||||
"author": "Christian B. B. Houmann",
|
||||
|
||||
Reference in new issue
Block a user