@nightkatana/kronosys-app 1.0.0-beta.47 → 1.0.0-beta.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/action/route.js +2 -2
- package/.next/standalone/.next/server/app/changelog/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/guide/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/implementation/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/licenses/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/logs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/page.js +2 -2
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/reporting/page.js +2 -2
- package/.next/standalone/.next/server/app/reporting/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page.js +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/23.js +1 -1
- package/.next/standalone/.next/server/chunks/277.js +1 -1
- package/.next/standalone/.next/server/chunks/752.js +1 -1
- package/.next/standalone/.next/server/chunks/833.js +4 -4
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/static/chunks/{263-03252f2d2bb890f6.js → 263-ac204e69a784c66c.js} +4 -4
- package/.next/standalone/.next/static/chunks/400-cac6dc0640f386c4.js +1 -0
- package/.next/standalone/.next/static/chunks/569-c51ef642c85ebfa7.js +1 -0
- package/.next/standalone/.next/static/chunks/840-28f9828e00e2f8c3.js +1 -0
- package/.next/standalone/.next/static/chunks/app/{page-c5be0f23f5bc42fd.js → page-1766656a21070335.js} +2 -2
- package/.next/standalone/.next/static/chunks/app/reporting/page-0615e693da39c7c7.js +1 -0
- package/.next/standalone/.next/static/chunks/app/settings/page-4c3075515a042cab.js +1 -0
- package/.next/standalone/.next/static/css/4405bf3014ccb6d4.css +1 -0
- package/.next/standalone/kronosys-package-meta.json +1 -1
- package/.next/standalone/package.json +1 -1
- package/package.json +1 -1
- package/.next/standalone/.next/static/chunks/400-0712be036ac1563b.js +0 -1
- package/.next/standalone/.next/static/chunks/569-888194622184e2b5.js +0 -1
- package/.next/standalone/.next/static/chunks/840-83aa65cc3eee5ac5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/reporting/page-1738eebf3ccd3c9b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/settings/page-6bc04b3bf71dae02.js +0 -1
- package/.next/standalone/.next/static/css/41cda4997910c076.css +0 -1
- /package/.next/standalone/.next/static/{avcm-ovgKMfMptYtGWnMT → 3fUAt3ojvE1CqWQDFTi7g}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{avcm-ovgKMfMptYtGWnMT → 3fUAt3ojvE1CqWQDFTi7g}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
exports.id=277,exports.ids=[277],exports.modules={5007:(a,b,c)=>{"use strict";c.d(b,{Ag:()=>r,C:()=>p,CW:()=>s,GA:()=>U,H8:()=>ab,K2:()=>N,Me:()=>ad,Oe:()=>H,Pe:()=>ac,Q0:()=>aa,Qk:()=>I,SF:()=>z,SU:()=>Z,VX:()=>P,Wz:()=>V,Y6:()=>W,_n:()=>w,aB:()=>O,aZ:()=>g,f$:()=>K,f7:()=>T,gh:()=>F,iJ:()=>q,id:()=>x,im:()=>v,kD:()=>n,m_:()=>Q,nb:()=>o,od:()=>L,qY:()=>f,qc:()=>Y,uN:()=>M,vz:()=>S,wE:()=>G,wt:()=>R,xJ:()=>k,xO:()=>X,xp:()=>J,yx:()=>u});var d=c(77598),e=c(18611);function f(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:void 0}function g(a,b){let c="string"==typeof b?b.trim():"",d=f(a.current);if(!c)return d?{session:d,isLive:!0}:null;if(d&&String(d.sessionId??"")===c)return{session:d,isLive:!0};let e=(a.history||[]).find(a=>String(a.sessionId??"")===c);if(e)return{session:e,isLive:!1};let g=(a.historyArchived||[]).find(a=>String(a.sessionId??"")===c);return g?{session:g,isLive:!1}:null}function h(a){return Array.isArray(a.activeTasks)?[...a.activeTasks]:[]}function i(a){return Array.isArray(a.tasks)?[...a.tasks]:[]}function j(a){let b="string"==typeof a.startTime?a.startTime.trim():"";if(!b)return NaN;let c=Date.parse(b);return Number.isFinite(c)?c:NaN}function k(a,b=Date.now()){if(!0===a.isDone)return!1;let c=j(a);return Number.isFinite(c)&&c>b}function l(a,b){let c=String(b.id??"").trim();if(!c)return!1;let d=h(a);return!d.some(a=>String(a.id)===c)&&(d.push(b),a.activeTasks=d,a.activeTask=b,!0)}function m(a){let b=a[w];if("string"==typeof b&&""!==b.trim()){let c=Date.parse(b);Number.isFinite(c)&&I(a,c)}delete a[w],delete a[z]}function n(a,b=Date.now()){let c=[];if(r(a,(a,d)=>{if(!0===a.isDone||!0===a.manualTaskTimerPaused||""!==String(a.activeSubtaskTimerId??"").trim())return;let e=j(a);if(!Number.isFinite(e)||e>b)return;let f=a[w],g="string"==typeof f&&""!==f.trim()?Date.parse(f):NaN;Number.isFinite(g)&&g>=e||c.push({taskId:d,startMs:e})}),0===c.length)return!1;c.sort((a,b)=>a.startMs-b.startMs);let d=!1;for(let b=0;b<c.length;b++){let{taskId:e,startMs:f}=c[b],g=q(a,e);if(!g)continue;l(a,g)&&(d=!0);let h=new Date(f).toISOString();0===b?(s(a,e),g[w]=h,g[z]=h):(m(g),g.manualTaskTimerPaused=!0),d=!0}return d}function o(a,b=Date.now(),c){let d=[];if(r(a,(a,c)=>{if(!0!==a.isDone)return;let e=j(a);if(!Number.isFinite(e)||e>b)return;let f="string"==typeof a.endTime&&""!==a.endTime.trim()?a.endTime.trim():"string"==typeof a[x]?String(a[x]).trim():"";if(!f)return;let g=Date.parse(f);Number.isFinite(g)&&!(g<=b)&&d.push({taskId:c,endIso:new Date(g).toISOString()})}),0===d.length)return!1;let e=!1;for(let{taskId:f,endIso:g}of d){if(!M(a,f,{timerMode:"paused"},{isLive:c?.isLive===!0}))continue;let d=q(a,f);d&&(d.manualTaskTimerPaused=!1),R(a,f,g,b)&&(e=!0)}return e}function p(a,b=Date.now()){let c=!1;return r(a,a=>{k(a,b)&&"string"==typeof a[w]&&""!==String(a[w]).trim()&&(m(a),c=!0)}),c}function q(a,b){for(let c of h(a))if(String(c.id)===b)return c;let c=f(a.activeTask);return c&&String(c.id)===b?c:i(a).find(a=>String(a.id)===b)??null}function r(a,b){let c=new Set;for(let d of h(a)){let a=String(d.id??"");!a||c.has(a)||(c.add(a),b(d,a))}let d=f(a.activeTask);if(d){let a=String(d.id??"");a&&!c.has(a)&&(c.add(a),b(d,a))}for(let d of i(a)){let a=String(d.id??"");!a||c.has(a)||(c.add(a),b(d,a))}}function s(a,b){r(a,a=>{K(a)});let c=String(b);r(a,(a,b)=>{!0!==a.isDone&&b!==c&&!0!==a.manualTaskTimerPaused&&I(a)}),r(a,(a,b)=>{!0!==a.isDone&&(a.manualTaskTimerPaused=b!==c)}),r(a,(a,b)=>{b===c&&!0!==a.isDone&&!0!==a.manualTaskTimerPaused&&J(a)})}function t(a){return Array.isArray(a.subtasks)||(a.subtasks=[]),a.subtasks}function u(a){let b=function(a){let b=0;for(let c of t(a)){if(!c||"object"!=typeof c||Array.isArray(c))continue;let a=c.durationMs;b+=Math.max(0,Math.floor("number"==typeof a&&Number.isFinite(a)?a:0))}return b}(a),c=a.durationMs;b>("number"==typeof c&&Number.isFinite(c)?Math.max(0,Math.floor(c)):0)&&(a.durationMs=b)}let v="subtaskTimerStartedAt",w="mainTimerSegmentStartedAt",x="scheduledEndAt",y="taskTimerLaps",z="taskCurrentLapStartedAt";function A(a){return Array.isArray(a[y])||(a[y]=[]),a[y]}function B(a,b,c){if(!Number.isFinite(b)||!Number.isFinite(c)||c<b)return;let d=Math.max(0,Math.floor(c-b));d<1e3||A(a).push({startTime:new Date(b).toISOString(),endTime:new Date(c).toISOString(),durationMs:d})}function C(a){if("number"==typeof a.durationMs&&Number.isFinite(a.durationMs))return Math.max(0,Math.floor(a.durationMs));let b=Date.parse(String(a.startTime??"")),c=Date.parse(String(a.endTime??""));return Number.isFinite(b)&&Number.isFinite(c)&&!(c<b)?Math.max(0,Math.floor(c-b)):0}function D(a){let b,c=Array.isArray(b=a[y])&&0!==b.length?b.reduce((a,b)=>!b||"object"!=typeof b||Array.isArray(b)?a:a+C(b),0):0;if(c>0){let b=Date.parse(String(a.startTime??"")),d=Date.parse(String(a.endTime??""));Number.isFinite(b)&&Number.isFinite(d)&&d>b?a.durationMs=Math.min(c,Math.max(0,Math.floor(d-b))):a.durationMs=c,u(a)}}function E(a){if(!0!==a.isDone)return;let b=A(a),c=Date.parse(String(a.startTime??"")),d=Date.parse(String(a.endTime??""));if(!Number.isFinite(c)||!Number.isFinite(d)||d<c)return;let e=Math.max(1e3,Math.floor(d-c));if(1===b.length){let f=b[0];f.startTime=new Date(c).toISOString(),f.endTime=new Date(d).toISOString(),f.durationMs=e,a.durationMs=e;return}if(b.length>1){let a=b[b.length-1],c=Date.parse(String(a.startTime??""));Number.isFinite(c)&&c<d&&(a.endTime=new Date(d).toISOString(),a.durationMs=Math.max(1e3,Math.floor(d-c)))}}function F(a,b,c,d){let e=q(a,b);if(!e)return!1;let f=A(e);if(!Number.isInteger(c)||c<0||c>=f.length)return!1;let g=f[c],h="string"==typeof g.startTime?g.startTime.trim():"",i="string"==typeof g.endTime?g.endTime.trim():"",j="string"==typeof d.startTime&&""!==d.startTime.trim()?d.startTime.trim():h,k="string"==typeof d.endTime&&""!==d.endTime.trim()?d.endTime.trim():i,l=Date.parse(j),m=Date.parse(k);if(!Number.isFinite(l)||!Number.isFinite(m)||m<l)return!1;let n=Math.max(0,Math.floor(m-l));if(n<1e3)return!1;if(c>0){let a=Date.parse(String(f[c-1].endTime??""));if(Number.isFinite(a)&&l<a)return!1}if(c<f.length-1){let a=Date.parse(String(f[c+1].startTime??""));if(Number.isFinite(a)&&m>a)return!1}let o=C(g);g.startTime=new Date(l).toISOString(),g.endTime=new Date(m).toISOString(),g.durationMs=n;let p="number"==typeof e.durationMs&&Number.isFinite(e.durationMs)?Math.max(0,Math.floor(e.durationMs)):0;return e.durationMs=Math.max(0,p-o+n),u(e),!0}function G(a,b,c){let d=q(a,b);if(!d)return!1;let e=A(d);if(!Number.isInteger(c)||c<0||c>=e.length)return!1;let f=C(e[c]);e.splice(c,1);let g="number"==typeof d.durationMs&&Number.isFinite(d.durationMs)?Math.max(0,Math.floor(d.durationMs)):0;return d.durationMs=Math.max(0,g-f),u(d),!0}function H(a,b,c,d){let e=q(a,b);if(!e)return!1;let f=Date.parse(c),g=Date.parse(d);if(!Number.isFinite(f)||!Number.isFinite(g)||g<=f)return!1;let h=Math.max(0,Math.floor(g-f));if(h<1e3)return!1;A(e).push({startTime:c,endTime:d,durationMs:h});let i="number"==typeof e.durationMs&&Number.isFinite(e.durationMs)?Math.max(0,Math.floor(e.durationMs)):0;return e.durationMs=i+h,u(e),!0}function I(a,b=Date.now()){if(""!==String(a.activeSubtaskTimerId??"").trim())return;let c=a[w];if("string"!=typeof c||""===c.trim())return;let d=Date.parse(c);if(!Number.isFinite(d))return void delete a[w];let e=Math.max(0,Math.floor(b-d)),f="number"==typeof a.durationMs&&Number.isFinite(a.durationMs)?Number(a.durationMs):0;a.durationMs=Math.floor(f+e);let g=a[z],h="string"==typeof g&&""!==g.trim()?Date.parse(g):NaN;B(a,Number.isFinite(h)?h:d,b),delete a[w],delete a[z],u(a)}function J(a){if(!0===a.isDone||!0===a.manualTaskTimerPaused||""!==String(a.activeSubtaskTimerId??"").trim())return;let b=a[w];if("string"==typeof b&&""!==b.trim()){let c=a[z];("string"!=typeof c||""===c.trim())&&(a[z]=b);return}let c=new Date().toISOString();a[w]=c,a[z]=c}function K(a,b=Date.now()){let c=String(a.activeSubtaskTimerId??"").trim();if(!c)return;let d=a[v],e="string"==typeof d&&""!==d.trim()?Date.parse(d):"number"==typeof d&&Number.isFinite(d)?d:NaN;if(!Number.isFinite(e)){a.activeSubtaskTimerId=null,delete a[v];return}let f=Math.max(0,b-e),g=t(a).find(a=>String(a.id)===c);if(g&&"object"==typeof g&&!Array.isArray(g)){let a="number"==typeof g.durationMs&&Number.isFinite(g.durationMs)?g.durationMs:0;g.durationMs=Math.floor(Number(a)+f)}let h="number"==typeof a.durationMs&&Number.isFinite(a.durationMs)?Number(a.durationMs):0;a.durationMs=Math.floor(h+f);let i=a[z],j="string"==typeof i&&""!==i.trim()?Date.parse(i):NaN;B(a,Number.isFinite(j)?j:e,b),a.activeSubtaskTimerId=null,delete a[v],delete a[z],u(a)}function L(a,b,c,d,g){let j=q(a,b);if(!j||!0===j.isDone)return!1;let k="number"==typeof g?.completionInstantMs&&Number.isFinite(g.completionInstantMs)?g.completionInstantMs:Date.now();for(let a of(K(j,k),I(j,k),j.isDone=!0,j.endTime=new Date(k).toISOString(),delete j[x],j.shouldCommit=c,j.manualTaskTimerPaused=!1,t(j)))a&&"object"==typeof a&&!Array.isArray(a)&&(a.done=!0);j.tags=(0,e.iW)(j.tags??[],d),u(j);let l=Date.parse("string"==typeof j.startTime?j.startTime:"");("number"==typeof j.durationMs&&Number.isFinite(j.durationMs)?Math.max(0,Math.floor(j.durationMs)):0)<=0&&Number.isFinite(l)&&k>l&&(j.durationMs=Math.floor(k-l)),D(j),E(j);let m=i(a),n=m.findIndex(a=>String(a.id)===b);n>=0?m[n]=j:m.push(j),a.tasks=m;let o=h(a).filter(a=>String(a.id)!==b);a.activeTasks=o;let p=f(a.activeTask);return(p&&String(p.id)===b||!p&&o.length>0)&&(a.activeTask=o[0]??null),!0}function M(a,b,c,d){let e=q(a,b);if(!e||!0!==e.isDone)return!1;let f=c?.timerMode==="resume"||c?.timerMode==="paused"||c?.timerMode==="manual"||c?.timerMode==="reset"?c.timerMode:"paused",g="number"==typeof c?.manualDurationMs&&Number.isFinite(c.manualDurationMs)?Math.max(0,Math.floor(c.manualDurationMs)):null;for(let a of("reset"===f?e.durationMs=0:"manual"===f&&null!==g&&(e.durationMs=g),u(e),e.isDone=!1,delete e.endTime,delete e.shouldCommit,delete e[x],delete e[w],delete e[z],delete e[v],e.activeSubtaskTimerId=null,t(e)))a&&"object"==typeof a&&!Array.isArray(a)&&(a.done=!1);if(d?.isLive===!0&&""===("string"==typeof a.endAt?a.endAt.trim():""))a.tasks=i(a).filter(a=>String(a.id)!==b),l(a,e),"resume"===f?c?.parallelTimer===!0?(e.manualTaskTimerPaused=!1,J(e)):s(a,b):e.manualTaskTimerPaused=!0;else{e.manualTaskTimerPaused=!0;let c=i(a),d=c.findIndex(a=>String(a.id)===b);d>=0&&(c[d]=e,a.tasks=c)}return!0}function N(a,b){let c=q(a,b);if(!c)return!1;K(c),I(c),a.activeTasks=h(a).filter(a=>String(a.id)!==b),a.tasks=i(a).filter(a=>String(a.id)!==b);let d=f(a.activeTask);if(d&&String(d.id)===b){let b=a.activeTasks[0]??null;a.activeTask=b}return!0}function O(a,b,c,d){let g=!1,j=a=>{String(a.id??"")===b&&(g=!0,"string"==typeof c.name&&(a.name=c.name),Array.isArray(c.tags)&&(a.tags=(0,e.iW)(c.tags,d)),void 0!==c.project&&(a.project=c.project),void 0!==c.personalProject&&(a.personalProject=!0===c.personalProject),"string"==typeof c.note&&(a.note=c.note),void 0!==c.ganttColor&&(null===c.ganttColor?delete a.ganttColor:a.ganttColor=c.ganttColor))};for(let b of h(a))j(b);let k=f(a.activeTask);for(let b of(k&&j(k),i(a)))j(b);return g}function P(a,b,c,d){let e=q(a,b);if(!e)return!1;let f=Date.parse(c);if(!Number.isFinite(f))return!1;let g=Date.parse("string"==typeof e.endTime&&""!==e.endTime.trim()?e.endTime.trim():"string"==typeof e[x]?String(e[x]).trim():"");if(Number.isFinite(g)&&f>g)return!1;let h=Date.now(),i=d?.lapAdjustMode??(!0!==e.isDone&&f<=h&&function(a){let b=a[w];if("string"==typeof b&&""!==b.trim())return!0;let c=a[z];return"string"==typeof c&&""!==c.trim()}(e)?"align_start":void 0),j=""===String(e.activeSubtaskTimerId??"").trim()&&!0!==e.isDone&&"string"==typeof e[w]&&""!==String(e[w]).trim(),k=!0===e.manualTaskTimerPaused;j&&!k&&("flush"===i?I(e,h):"align_start"===i&&(delete e[w],delete e[z]));let l="number"==typeof e.durationMs&&Number.isFinite(e.durationMs)?Math.max(0,Math.floor(e.durationMs)):0,n=d?.durationAdjustMode??"from_bounds",o="number"==typeof d?.manualDurationMs&&Number.isFinite(d.manualDurationMs)?Math.max(0,Math.floor(d.manualDurationMs)):null;if(e.startTime=new Date(f).toISOString(),"keep"===n?e.durationMs=l:"manual"===n&&null!==o?e.durationMs=o:Number.isFinite(g)&&g>=f?!0!==e.isDone&&g>h?e.durationMs="align_start"===i?l:Math.max(0,Math.floor(h-f)):e.durationMs=Math.max(0,Math.floor(g-f)):"align_start"===i?e.durationMs=l:e.durationMs=Math.max(0,Math.floor(h-f)),""===String(e.activeSubtaskTimerId??"").trim()&&!0!==e.isDone)if(f>h)m(e),e.manualTaskTimerPaused=!1;else if(k){if(k&&"align_start"===i){let a=new Date(f).toISOString();e[w]=a,e[z]=a}}else{let a="align_start"===i?new Date(f).toISOString():new Date(h).toISOString();e[w]=a,("align_start"===i||"string"!=typeof e[z]||""===String(e[z]).trim())&&(e[z]=a)}return"keep"===n&&u(e),!0===e.isDone&&(E(e),D(e),E(e)),!0}function Q(a,b,c,d){let e=q(a,b);if(!e||!0!==e.isDone)return!1;let f=Date.parse(c);if(!Number.isFinite(f))return!1;let g=Date.parse("string"==typeof e.startTime?e.startTime:"");if(!Number.isFinite(g)||f<g)return!1;let h="number"==typeof e.durationMs&&Number.isFinite(e.durationMs)?Math.max(0,Math.floor(e.durationMs)):0,i=d?.durationAdjustMode??"from_bounds",j="number"==typeof d?.manualDurationMs&&Number.isFinite(d.manualDurationMs)?Math.max(0,Math.floor(d.manualDurationMs)):null;return e.endTime=new Date(f).toISOString(),"keep"===i?e.durationMs=h:"manual"===i&&null!==j?e.durationMs=j:e.durationMs=Math.max(0,Math.floor(f-g)),"keep"===i&&u(e),E(e),D(e),!0}function R(a,b,c,d=Date.now()){let e=q(a,b);if(!e||!0===e.isDone)return!1;let f=Date.parse(c);if(!Number.isFinite(f))return!1;let g=Date.parse("string"==typeof e.startTime?e.startTime:"");return!!Number.isFinite(g)&&!(f<g)&&(f<=d?L(a,b,!1,void 0,{completionInstantMs:f}):(e[x]=new Date(f).toISOString(),!0))}function S(a,b,c){let d=q(a,b);return!!d&&!0!==d.isDone&&(c?(K(d),I(d),d.manualTaskTimerPaused=!0):(K(d),s(a,b)),!0)}function T(a,b,c){let d=q(a,b);if(!d)return!1;let e=t(d).find(a=>String(a.id)===c);if(!e)return!1;let f=String(c),g=String(d.activeSubtaskTimerId??"")===f,h=!e.done;return g&&h&&K(d),e.done=h,!0}function U(a,b,c,d){let e=q(a,b);if(!e)return!1;let f=t(e).find(a=>String(a.id)===c);return!!f&&(f.title=d,!0)}function V(a,b,c){let d,e=q(a,b);if(!e)return!1;if(null==c)return K(e),!0;let f=String(c);if(!t(e).find(a=>String(a.id)===f))return!1;I(e),d=String(String(b)),r(a,(a,b)=>{b===d||!0!==a.isDone&&(!0!==a.manualTaskTimerPaused&&I(a),K(a))}),r(a,(a,b)=>{!0===a.isDone||b!==d&&(a.manualTaskTimerPaused=!0)}),K(e),e.activeSubtaskTimerId=f;let g=new Date().toISOString();return e[v]=g,e[z]=g,e.manualTaskTimerPaused=!1,!0}function W(a,b,c){let d=q(a,b);if(!d)return!1;let e=String(c);String(d.activeSubtaskTimerId??"")===e&&K(d);let f=t(d).filter(a=>String(a.id)!==e);return d.subtasks=f,u(d),!0}function X(a,b,c){let d=q(a,b);if(!d)return!1;let e=t(d);if(e.length<=1)return!1;let f=new Set(e.map(a=>String(a.id)));if(c.length!==f.size)return!1;let g=new Set;for(let a of c){let b=String(a);if(!f.has(b)||g.has(b))return!1;g.add(b)}let h=new Map(e.map(a=>[String(a.id),a]));return d.subtasks=c.map(a=>h.get(String(a))),!0}function Y(a,b,c){let e=q(a,b);if(!e||!0===e.isDone)return!1;let f=t(e);return f.push({id:(0,d.randomUUID)(),title:c,done:!1,durationMs:0}),e.subtasks=f,!0}function Z(a,b,c,f){let g=Date.parse("string"==typeof b.startTime?b.startTime:""),h=Date.parse("string"==typeof b.endTime?b.endTime:"");if(!Number.isFinite(g)||!Number.isFinite(h)||h<=g)return!1;let j="number"==typeof b.durationMs&&Number.isFinite(b.durationMs)?Math.floor(b.durationMs):NaN;if(!Number.isFinite(j)||j<=0||j>h-g)return!1;let k=Array.isArray(b.subtasks)?b.subtasks.map(a=>({id:(0,d.randomUUID)(),title:"string"==typeof a.title?a.title.trim():"",done:!0===a.done,durationMs:0})).filter(a=>a.title.length>0):[],l={id:c,name:b.name.trim(),startTime:b.startTime,endTime:b.endTime,durationMs:j,isDone:!0,kronoFocusCycles:0,tags:(0,e.iW)(b.tags,f),project:b.project??null,personalProject:!0===b.personalProject,note:"string"==typeof b.note?b.note:"",subtasks:k},m=i(a);return m.push(l),a.tasks=m,!0}function $(a,b){let c=f(a.current);for(let d of(c&&b(c),a.history||[]))b(d);for(let c of a.historyArchived||[])b(c)}function _(a,b,c){if(!Array.isArray(a.tags))return;let d=a.tags;a.tags=(0,e.iW)(d.filter(a=>(0,e.$U)(a).toLowerCase()!==b),c)}function aa(a,b,c){let d=(0,e.$U)(b).toLowerCase();a.knownTags=(a.knownTags||[]).filter(a=>(0,e.$U)(a).toLowerCase()!==d),a.userKnownTags=(a.userKnownTags||[]).filter(a=>(0,e.$U)(a).toLowerCase()!==d),a.excludedSuggestionTags=(a.excludedSuggestionTags||[]).filter(a=>(0,e.$U)(a).toLowerCase()!==d);let g={...f(a.tagDescriptions)??{}};delete g[d],a.tagDescriptions=g,$(a,a=>{for(let b of[...h(a),...i(a)])_(b,d,c);let b=f(a.activeTask);b&&_(b,d,c)})}function ab(a,b){let c=(0,e.qu)(b).toLowerCase();a.knownProjects=(a.knownProjects||[]).filter(a=>(0,e.qu)(a).toLowerCase()!==c);let d={...f(a.projectDescriptions)??{}};delete d[c],a.projectDescriptions=d,$(a,a=>{for(let b of[...h(a),...i(a)]){let a=b.project;"string"==typeof a&&(0,e.qu)(a).toLowerCase()===c&&(b.project=null)}let b=f(a.activeTask);if(b){let a=b.project;"string"==typeof a&&(0,e.qu)(a).toLowerCase()===c&&(b.project=null)}})}function ac(a,b,c,d){let g=(0,e.$U)(b),j=(0,e.$U)(c);if(!g||!j||g.toLowerCase()===j.toLowerCase())return;let k=g.toLowerCase(),l=j.toLowerCase(),m=a=>{let b=[],c=new Set;for(let d of a){let a=(0,e.$U)(d);if(!a)continue;let f=a.toLowerCase()===k?j:a,g=f.toLowerCase();c.has(g)||(c.add(g),b.push(f))}return b};a.knownTags=m(a.knownTags||[]),a.userKnownTags=m(a.userKnownTags||[]),a.excludedSuggestionTags=m(a.excludedSuggestionTags||[]);let n={...f(a.tagDescriptions)??{}},o="string"==typeof n[k]?n[k]:"";o&&!n[l]&&(n[l]=o),delete n[k],a.tagDescriptions=n,$(a,a=>{for(let b of[...h(a),...i(a)]){if(!Array.isArray(b.tags))continue;let a=b.tags.map(a=>{let b=(0,e.$U)(a);return b.toLowerCase()===k?j:b});b.tags=(0,e.iW)(a,d)}let b=f(a.activeTask);if(!b||!Array.isArray(b.tags))return;let c=b.tags.map(a=>{let b=(0,e.$U)(a);return b.toLowerCase()===k?j:b});b.tags=(0,e.iW)(c,d)})}function ad(a,b,c,d){let g=(0,e.qu)(b),j=(0,e.qu)(c);if(!g||!j||g.toLowerCase()===j.toLowerCase())return;let k=g.toLowerCase(),l=j.toLowerCase(),m=d?.personalOnly===!0;if(m){let b=[],c=new Set;for(let d of a.knownPersonalProjects||[]){let a=(0,e.qu)(d);if(!a)continue;let f=a.toLowerCase()===k?j:a,g=f.toLowerCase();c.has(g)||(c.add(g),b.push(f))}a.knownPersonalProjects=b}else{let b=[],c=new Set;for(let d of a.knownProjects||[]){let a=(0,e.qu)(d);if(!a)continue;let f=a.toLowerCase()===k?j:a,g=f.toLowerCase();c.has(g)||(c.add(g),b.push(f))}a.knownProjects=b}let n={...f(a.projectDescriptions)??{}},o="string"==typeof n[k]?n[k]:"";o&&!n[l]&&(n[l]=o),delete n[k],a.projectDescriptions=n,$(a,a=>{for(let b of[...h(a),...i(a)])("string"==typeof b.project?(0,e.qu)(b.project):"").toLowerCase()===k&&m===(!0===b.personalProject)&&(b.project=j);let b=f(a.activeTask);b&&("string"==typeof b.project?(0,e.qu)(b.project):"").toLowerCase()===k&&m===(!0===b.personalProject)&&(b.project=j)})}},18611:(a,b,c)=>{"use strict";function d(a){let b=a;return(b=(b=(b=(b=(b=(b=(b=(b=(b=(b=(b=(b=(b=b.replace(/```[\s\S]*?```/g," ")).replace(/`([^`]+)`/g,"$1")).replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1")).replace(/\[([^\]]+)\]\([^)]+\)/g,"$1")).replace(/^#{1,6}\s+/gm,"")).replace(/^\s*>\s?/gm,"")).replace(/^\s*[-*+]\s+\[[ xX]\]\s+/gm,"")).replace(/^\s*[-*+]\s+/gm,"")).replace(/^\s*\d+\.\s+/gm,"")).replace(/\|/g," ")).replace(/(\*\*|__)(.*?)\1/g,"$2")).replace(/(\*|_)(.*?)\1/g,"$2")).replace(/~~(.*?)~~/g,"$1")).replace(/\s+/g," ").trim()}c.d(b,{ol:()=>s,hk:()=>y,qu:()=>j,$U:()=>q,iW:()=>v,H_:()=>o,ax:()=>t,uA:()=>u,v8:()=>l,jM:()=>k,xm:()=>x,Bl:()=>w,ZW:()=>p});let e=/(?:^|\s)#([^\s#]+)|(?<=[^\s#])#([^\s#]+)/g;function f(a){let b,c=a.replace(/\s+/g," ").trim(),d=/(?:^|\s)([@!])([^\s@!#]+)(?:#([^\s#]+))?/g,e=/(?<=[^\s!#])(!)([^\s@!#]+)(?:#([^\s#]+))?/g,f=(a,b,c,d,e,f)=>{let g=e+f,h=c.trim();if(h)if(void 0!==d&&d.length>0){let c=d.trim();if(!c||c.includes("#"))return;a.push({start:e,end:g,plain:!1,sigil:b,projRaw:h,loc:c})}else h.includes("#")||a.push({start:e,end:g,plain:!0,sigil:b,projRaw:h})},g=[];for(;null!==(b=d.exec(c));)f(g,b[1],b[2],b[3],b.index,b[0].length);for(;null!==(b=e.exec(c));)f(g,"!",b[2],b[3],b.index,b[0].length);g.sort((a,b)=>a.start-b.start||b.end-a.end);let h=[],i=-1;for(let a of g)a.start<i||(h.push(a),i=a.end);return h}function g(a){let b=a.trim(),c=b.indexOf("#");if(c<=0||c>=b.length-1)return null;let d=b.slice(0,c).trim(),e=b.slice(c+1).trim();return!d||!e||e.includes("#")?null:{projectKey:d,localTag:e}}function h(a,b){let c=b?.trim();return c?a.filter(a=>(function(a,b){let c=g(a);if(!c)return!0;let d=b?.trim();return!!d&&c.projectKey.toLowerCase()===j(d).toLowerCase()})(a,c)):a.filter(a=>null===g(a))}function i(a){let{core:b,scopedTags:c,scopedProjectHint:d,scopedHintPersonal:e}=function(a){let b,c,d=a.replace(/\s+/g," ").trim(),e=f(d).filter(a=>!a.plain),g=[],h=new Set;for(let a of e){if(!a.loc)continue;let d=j(a.projRaw),e=a.loc.trim();if(!d||!e)continue;b=d,c="!"===a.sigil;let f=`${d}#${e}`,i=f.toLowerCase();h.has(i)||(h.add(i),g.push(f))}let i=d;for(let a of[...e].sort((a,b)=>b.start-a.start))i=`${i.slice(0,a.start)} ${i.slice(a.end)}`;return{core:i=i.replace(/\s+/g," ").trim(),scopedTags:g,scopedProjectHint:b,scopedHintPersonal:c}}(a),{core:g,project:h,plainPersonal:i}=function(a){let b,c,d=a.replace(/\s+/g," ").trim(),e=f(d).filter(a=>a.plain);for(let a of e)b=j(a.projRaw),c="!"===a.sigil;let g=d;for(let a of[...e].sort((a,b)=>b.start-a.start))g=`${g.slice(0,a.start)} ${g.slice(a.end)}`;return{core:g=g.replace(/\s+/g," ").trim(),project:b,plainPersonal:c}}(b),k=h??d;return{core:g,project:k,scopedTags:c,personalProject:!!(k&&(void 0!==h?!0===i:!0===e))}}function j(a){return a.replace(/^[@!]+/,"").trim()}function k(a){if(!/[@!]/.test(a))return;let{project:b}=i(a);return b??null}function l(a){if(!/[@!]/.test(a))return;let{project:b,personalProject:c}=i(a);return!!b&&c}function m(a,b){let c=new Set,d=[],e=a=>{let b=q(a).trim();if(!b)return;let e=b.toLowerCase();c.has(e)||(c.add(e),d.push(b))};for(let b of a)e(b);for(let a of b)e(a);return d}function n(a){let{core:b,scopedTags:c}=i(a),d=[],f=new Set;for(let a of function(a){let b,c=RegExp(e.source,"g"),d=[],f=0;for(;null!==(b=c.exec(a));){if(b.index>f){let c=a.slice(f,b.index);c.length>0&&d.push({kind:"text",value:c})}let c=(b[1]||b[2]||"").trim();c.length>0&&d.push({kind:"tag",value:`#${c}`}),f=b.index+b[0].length}if(f<a.length){let b=a.slice(f);b.length>0&&d.push({kind:"text",value:b})}return 0===d.length&&a.trim().length>0&&d.push({kind:"text",value:a}),d}(b)){if("tag"!==a.kind)continue;let b=a.value.replace(/^#/,"").trim();if(0===b.length)continue;let c=b.toLowerCase();f.has(c)||(f.add(c),d.push(b))}return m(c,d)}function o(a){let b,{core:c,project:d,scopedTags:f,personalProject:g}=i(a),{name:j,tags:k}=(b=n(c),{name:c.replace(RegExp(e.source,"g"),"").replace(/\s+/g," ").trim(),tags:b});return{name:j,tags:h(m(f,k),d??null),project:d,personalProject:!!(d&&g)}}function p(a){let{name:b,tags:c}=o(a),e=d(b.trim());return e.length>0?e:c.length>0?"—":d(a.trim())||"—"}function q(a){return a.replace(/^#/,"")}let r="default",s="default";function t(a){let b=a&&"object"==typeof a&&!Array.isArray(a)?a:void 0;return!b||!1!==b.taskDefaultTagBucketEnabled}function u(a){let b=a&&"object"==typeof a&&!Array.isArray(a)?a:void 0;return!b||!1!==b.taskStripDefaultTagWhenExplicitTags}function v(a,b){let c=Array.isArray(a)?a:[],d=[],e=new Set;for(let a of c){let b=q(String(a)).trim();if(!b)continue;let c=b.toLowerCase();e.has(c)||(e.add(c),d.push(b))}if(0===d.length)return b?.assignDefaultTagBucket===!1?[]:[r];if(b?.stripDefaultTagWhenExplicitTags!==!1){let a=d.filter(a=>{let b;return""!==(b=a.trim())&&q(b).toLowerCase()!==r});if(a.length>0&&a.length<d.length)return a}return d}function w(a,b,c,d){return v(h(y(a,b),c??null),d)}function x(a,b,c){let d=o(a),e=a.trim();return d.name.trim()||(b.length>0?b[0]:"")||e||(c?j(c):"")}function y(a,b){let c=n(a),d=new Set,e=[],f=a=>{let b=q(a),c=b.toLowerCase();!b||d.has(c)||(d.add(c),e.push(b))};for(let a of c)f(a);for(let a of b??[])f(a);return e}},18937:(a,b,c)=>{"use strict";c.d(b,{$Y:()=>j,Fj:()=>k,Oz:()=>e,cU:()=>g,kP:()=>f,mm:()=>h,pn:()=>d,vt:()=>i});let d="pomodoro",e="pomodoroDeadlineAtMs",f="pomodoroCycles",g="startPomodoro",h="pausePomodoro",i="resetPomodoro",j="setPomodoroWorkDuration",k=g},21795:(a,b,c)=>{"use strict";c.d(b,{$D:()=>k,HU:()=>m,L:()=>i,PZ:()=>l,oQ:()=>j,yY:()=>g});var d=c(67205),e=c(5007),f=c(51963);let g="sessionWallSegmentStartedAt";function h(a){return!!("string"==typeof a.sessionId?a.sessionId.trim():"")&&!0!==a.archived&&!0!==a.isPaused&&("string"!=typeof a.endAt||""===a.endAt.trim())}function i(a,b=Date.now()){let c=a[g];if("string"!=typeof c||""===c.trim())return;let d=Date.parse(c);if(!Number.isFinite(d))return void delete a[g];let e=Math.max(0,b-d),f="number"==typeof a.sessionDurationMinutes&&Number.isFinite(a.sessionDurationMinutes)?Number(a.sessionDurationMinutes):0;a.sessionDurationMinutes=f+e/6e4,delete a[g]}function j(a,b){let c=(0,e.qY)(a.current);if(!c||!("string"==typeof c.sessionId?c.sessionId.trim():""))return;(0,e.Ag)(c,a=>{!0!==a.isDone&&((0,e.f$)(a),(0,e.Qk)(a),a.manualTaskTimerPaused=!0)}),i(c,b);let g=Date.parse("string"==typeof c.startAt?c.startAt.trim():""),h="number"==typeof c.sessionDurationMinutes&&Number.isFinite(c.sessionDurationMinutes)?Number(c.sessionDurationMinutes):0;Number.isFinite(g)&&b>g&&(c.sessionDurationMinutes=(0,d.k3)(g,b,h)),c.endAt=new Date(b).toISOString(),delete c.scheduledEndAt,delete c.sessionEndReasonKind,delete c.sessionEndReasonNote,(0,f.Y)(a),a.current=void 0}function k(a){return!0===a.isPaused&&(a.isPaused=!1,l(a),!0)}function l(a){if(!h(a))return;let b=a[g];("string"!=typeof b||""===b.trim())&&(a[g]=new Date().toISOString())}function m(a,b=Date.now()){let c=(0,e.qY)(a.current);if(!c||!h(c))return!1;let d="string"==typeof c.scheduledEndAt?c.scheduledEndAt.trim():"";if(d){let c=Date.parse(d);if(Number.isFinite(c)&&c<=b)return j(a,c),!0}let f=c[g];if("string"!=typeof f||""===f.trim())return c[g]=new Date(b).toISOString(),!0;let i=Date.parse(f);if(!Number.isFinite(i))return c[g]=new Date(b).toISOString(),!0;let k=Math.max(0,b-i);if(k<=0)return!1;let l="number"==typeof c.sessionDurationMinutes&&Number.isFinite(c.sessionDurationMinutes)?Number(c.sessionDurationMinutes):0;return c.sessionDurationMinutes=l+k/6e4,c[g]=new Date(b).toISOString(),!0}},22621:(a,b,c)=>{"use strict";function d(){return{autoStart:!0,enabled:!0,usageProfile:"manager",anonymizePaths:!1,flushIntervalSeconds:15,heartbeatIntervalSeconds:120,maxBufferedEvents:500,historyStoragePath:"",historyPartition:"daily",sessionExportFormat:"json",csvDelimiter:",",sessionStartMode:"continue",autoGitSync:!1,gitRemoteUrl:"",gitlabTokenStored:!1,gitlabTokenFromEnv:!1,gitlabApiVerified:!1,gitlabApiBaseUrl:"",mongodbEnabled:!1,mongodbDatabaseName:"kronosys",mongodbCollectionName:"sessions",mongodbHost:"127.0.0.1",mongodbPort:27017,mongodbUsername:"",mongodbAuthSource:"admin",showWelcomeOnStartup:!0,dashboardSessionDurationAlertHours:24,dashboardShowKronoFocusInHeader:!0,dashboardShowKronoFocusInTaskOps:!0,taskDefaultTagBucketEnabled:!0,taskStripDefaultTagWhenExplicitTags:!0,taskMinimumDurationMinutes:30,dashboardAllowTaskStartTimeEdit:!0,dashboardAllowSessionStartTimeEdit:!0,dashboardAllowTaskEndTimeEdit:!0,dashboardAllowSessionEndTimeEdit:!0,workspaceLocExcludedDirectoryNames:["node_modules",".git","dist","out","build",".next","coverage","target","__pycache__",".venv","venv","vendor",".turbo",".cache",".idea"],workspaceLocExcludedPathPatterns:[],localPersistenceDriver:"sqlite",localApiPort:5566,dashboardWebUrl:"http://kronosys:5555",dashboardWebPort:5555,dashboardDisplayTimeZone:"America/Toronto",dashboardUse24HourClock:!0,dashboardCalendarWeekStartsOn:"sunday",dashboardLightThemeVariant:"soft",dashboardSemanticChipAccessibleMode:!1,dashboardBaseDailyHours:7.5,dashboardBaseDailyToleranceMinutes:10,dashboardWeekendDays:"sat,sun",dashboardDefaultSessionNameTemplate:"",dashboardDefaultPlannedSessionStart:"07:00",dashboardDefaultPlannedSessionEnd:"16:00",dashboardSessionExtendMinutes:30,scheduleEnabled:!1,scheduleDays:[1,2,3,4,5],scheduleStartTime:"09:00",scheduleEndTime:"17:00",scheduleCreateDailySession:!0,scheduleTransferTasks:!0,schedulePauseTasks:!0,plannedSessions:[],reportingCalendarDayMarkers:{},developmentUseProductionData:!1,dualDataEnvironmentEnabled:!1,activeDataEnvironment:"production"}}c.d(b,{W:()=>d})},40864:(a,b,c)=>{"use strict";c.d(b,{jG:()=>j,nc:()=>k,oS:()=>i,zV:()=>l});var d=c(73024),e=c(48161),f=c(76760);let g="dev-data-preference.json";function h(){if("darwin"===process.platform)return f.join(e.homedir(),"Library","Application Support","Kronosys",g);if("win32"===process.platform){let a=process.env.LOCALAPPDATA||f.join(e.homedir(),"AppData","Local");return f.join(a,"Kronosys",g)}return f.join(e.homedir(),".config","kronosys",g)}function i(){return h()}function j(){let a=h();try{let b=d.readFileSync(a,"utf8"),c=JSON.parse(b);return!0===c.useProductionDataInDevelopment}catch{return!1}}function k(a){let b=h();d.mkdirSync(f.dirname(b),{recursive:!0}),d.writeFileSync(b,`${JSON.stringify({useProductionDataInDevelopment:a},null,2)}
|
|
1
|
+
exports.id=277,exports.ids=[277],exports.modules={5007:(a,b,c)=>{"use strict";c.d(b,{Ag:()=>r,C:()=>p,CW:()=>s,GA:()=>U,H8:()=>ab,K2:()=>N,Me:()=>ad,Oe:()=>H,Pe:()=>ac,Q0:()=>aa,Qk:()=>I,SF:()=>z,SU:()=>Z,VX:()=>P,Wz:()=>V,Y6:()=>W,_n:()=>w,aB:()=>O,aZ:()=>g,f$:()=>K,f7:()=>T,gh:()=>F,iJ:()=>q,id:()=>x,im:()=>v,kD:()=>n,m_:()=>Q,nb:()=>o,od:()=>L,qY:()=>f,qc:()=>Y,uN:()=>M,vz:()=>S,wE:()=>G,wt:()=>R,xJ:()=>k,xO:()=>X,xp:()=>J,yx:()=>u});var d=c(77598),e=c(18611);function f(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:void 0}function g(a,b){let c="string"==typeof b?b.trim():"",d=f(a.current);if(!c)return d?{session:d,isLive:!0}:null;if(d&&String(d.sessionId??"")===c)return{session:d,isLive:!0};let e=(a.history||[]).find(a=>String(a.sessionId??"")===c);if(e)return{session:e,isLive:!1};let g=(a.historyArchived||[]).find(a=>String(a.sessionId??"")===c);return g?{session:g,isLive:!1}:null}function h(a){return Array.isArray(a.activeTasks)?[...a.activeTasks]:[]}function i(a){return Array.isArray(a.tasks)?[...a.tasks]:[]}function j(a){let b="string"==typeof a.startTime?a.startTime.trim():"";if(!b)return NaN;let c=Date.parse(b);return Number.isFinite(c)?c:NaN}function k(a,b=Date.now()){if(!0===a.isDone)return!1;let c=j(a);return Number.isFinite(c)&&c>b}function l(a,b){let c=String(b.id??"").trim();if(!c)return!1;let d=h(a);return!d.some(a=>String(a.id)===c)&&(d.push(b),a.activeTasks=d,a.activeTask=b,!0)}function m(a){let b=a[w];if("string"==typeof b&&""!==b.trim()){let c=Date.parse(b);Number.isFinite(c)&&I(a,c)}delete a[w],delete a[z]}function n(a,b=Date.now()){let c=[];if(r(a,(a,d)=>{if(!0===a.isDone||!0===a.manualTaskTimerPaused||""!==String(a.activeSubtaskTimerId??"").trim())return;let e=j(a);if(!Number.isFinite(e)||e>b)return;let f=a[w],g="string"==typeof f&&""!==f.trim()?Date.parse(f):NaN;Number.isFinite(g)&&g>=e||c.push({taskId:d,startMs:e})}),0===c.length)return!1;c.sort((a,b)=>a.startMs-b.startMs);let d=!1;for(let b=0;b<c.length;b++){let{taskId:e,startMs:f}=c[b],g=q(a,e);if(!g)continue;l(a,g)&&(d=!0);let h=new Date(f).toISOString();0===b?(s(a,e),g[w]=h,g[z]=h):(m(g),g.manualTaskTimerPaused=!0),d=!0}return d}function o(a,b=Date.now(),c){let d=[];if(r(a,(a,c)=>{if(!0!==a.isDone)return;let e=j(a);if(!Number.isFinite(e)||e>b)return;let f="string"==typeof a.endTime&&""!==a.endTime.trim()?a.endTime.trim():"string"==typeof a[x]?String(a[x]).trim():"";if(!f)return;let g=Date.parse(f);Number.isFinite(g)&&!(g<=b)&&d.push({taskId:c,endIso:new Date(g).toISOString()})}),0===d.length)return!1;let e=!1;for(let{taskId:f,endIso:g}of d){if(!M(a,f,{timerMode:"paused"},{isLive:c?.isLive===!0}))continue;let d=q(a,f);if(d){d.manualTaskTimerPaused=!1;let a=new Date(b).toISOString();d[w]=a,d[z]=a,e=!0}R(a,f,g,b)&&(e=!0)}return e}function p(a,b=Date.now()){let c=!1;return r(a,a=>{k(a,b)&&"string"==typeof a[w]&&""!==String(a[w]).trim()&&(m(a),c=!0)}),c}function q(a,b){for(let c of h(a))if(String(c.id)===b)return c;let c=f(a.activeTask);return c&&String(c.id)===b?c:i(a).find(a=>String(a.id)===b)??null}function r(a,b){let c=new Set;for(let d of h(a)){let a=String(d.id??"");!a||c.has(a)||(c.add(a),b(d,a))}let d=f(a.activeTask);if(d){let a=String(d.id??"");a&&!c.has(a)&&(c.add(a),b(d,a))}for(let d of i(a)){let a=String(d.id??"");!a||c.has(a)||(c.add(a),b(d,a))}}function s(a,b){r(a,a=>{K(a)});let c=String(b);r(a,(a,b)=>{!0!==a.isDone&&b!==c&&!0!==a.manualTaskTimerPaused&&I(a)}),r(a,(a,b)=>{!0!==a.isDone&&(a.manualTaskTimerPaused=b!==c)}),r(a,(a,b)=>{b===c&&!0!==a.isDone&&!0!==a.manualTaskTimerPaused&&J(a)})}function t(a){return Array.isArray(a.subtasks)||(a.subtasks=[]),a.subtasks}function u(a){let b=function(a){let b=0;for(let c of t(a)){if(!c||"object"!=typeof c||Array.isArray(c))continue;let a=c.durationMs;b+=Math.max(0,Math.floor("number"==typeof a&&Number.isFinite(a)?a:0))}return b}(a),c=a.durationMs;b>("number"==typeof c&&Number.isFinite(c)?Math.max(0,Math.floor(c)):0)&&(a.durationMs=b)}let v="subtaskTimerStartedAt",w="mainTimerSegmentStartedAt",x="scheduledEndAt",y="taskTimerLaps",z="taskCurrentLapStartedAt";function A(a){return Array.isArray(a[y])||(a[y]=[]),a[y]}function B(a,b,c){if(!Number.isFinite(b)||!Number.isFinite(c)||c<b)return;let d=Math.max(0,Math.floor(c-b));d<1e3||A(a).push({startTime:new Date(b).toISOString(),endTime:new Date(c).toISOString(),durationMs:d})}function C(a){if("number"==typeof a.durationMs&&Number.isFinite(a.durationMs))return Math.max(0,Math.floor(a.durationMs));let b=Date.parse(String(a.startTime??"")),c=Date.parse(String(a.endTime??""));return Number.isFinite(b)&&Number.isFinite(c)&&!(c<b)?Math.max(0,Math.floor(c-b)):0}function D(a){let b,c=Array.isArray(b=a[y])&&0!==b.length?b.reduce((a,b)=>!b||"object"!=typeof b||Array.isArray(b)?a:a+C(b),0):0;if(c>0){let b=Date.parse(String(a.startTime??"")),d=Date.parse(String(a.endTime??""));Number.isFinite(b)&&Number.isFinite(d)&&d>b?a.durationMs=Math.min(c,Math.max(0,Math.floor(d-b))):a.durationMs=c,u(a)}}function E(a){if(!0!==a.isDone)return;let b=A(a),c=Date.parse(String(a.startTime??"")),d=Date.parse(String(a.endTime??""));if(!Number.isFinite(c)||!Number.isFinite(d)||d<c)return;let e=Math.max(1e3,Math.floor(d-c));if(1===b.length){let f=b[0];f.startTime=new Date(c).toISOString(),f.endTime=new Date(d).toISOString(),f.durationMs=e,a.durationMs=e;return}if(b.length>1){let a=b[b.length-1],c=Date.parse(String(a.startTime??""));Number.isFinite(c)&&c<d&&(a.endTime=new Date(d).toISOString(),a.durationMs=Math.max(1e3,Math.floor(d-c)))}}function F(a,b,c,d){let e=q(a,b);if(!e)return!1;let f=A(e);if(!Number.isInteger(c)||c<0||c>=f.length)return!1;let g=f[c],h="string"==typeof g.startTime?g.startTime.trim():"",i="string"==typeof g.endTime?g.endTime.trim():"",j="string"==typeof d.startTime&&""!==d.startTime.trim()?d.startTime.trim():h,k="string"==typeof d.endTime&&""!==d.endTime.trim()?d.endTime.trim():i,l=Date.parse(j),m=Date.parse(k);if(!Number.isFinite(l)||!Number.isFinite(m)||m<l)return!1;let n=Math.max(0,Math.floor(m-l));if(n<1e3)return!1;if(c>0){let a=Date.parse(String(f[c-1].endTime??""));if(Number.isFinite(a)&&l<a)return!1}if(c<f.length-1){let a=Date.parse(String(f[c+1].startTime??""));if(Number.isFinite(a)&&m>a)return!1}let o=C(g);g.startTime=new Date(l).toISOString(),g.endTime=new Date(m).toISOString(),g.durationMs=n;let p="number"==typeof e.durationMs&&Number.isFinite(e.durationMs)?Math.max(0,Math.floor(e.durationMs)):0;return e.durationMs=Math.max(0,p-o+n),u(e),!0}function G(a,b,c){let d=q(a,b);if(!d)return!1;let e=A(d);if(!Number.isInteger(c)||c<0||c>=e.length)return!1;let f=C(e[c]);e.splice(c,1);let g="number"==typeof d.durationMs&&Number.isFinite(d.durationMs)?Math.max(0,Math.floor(d.durationMs)):0;return d.durationMs=Math.max(0,g-f),u(d),!0}function H(a,b,c,d){let e=q(a,b);if(!e)return!1;let f=Date.parse(c),g=Date.parse(d);if(!Number.isFinite(f)||!Number.isFinite(g)||g<=f)return!1;let h=Math.max(0,Math.floor(g-f));if(h<1e3)return!1;A(e).push({startTime:c,endTime:d,durationMs:h});let i="number"==typeof e.durationMs&&Number.isFinite(e.durationMs)?Math.max(0,Math.floor(e.durationMs)):0;return e.durationMs=i+h,u(e),!0}function I(a,b=Date.now()){if(""!==String(a.activeSubtaskTimerId??"").trim())return;let c=a[w];if("string"!=typeof c||""===c.trim())return;let d=Date.parse(c);if(!Number.isFinite(d))return void delete a[w];let e=Math.max(0,Math.floor(b-d)),f="number"==typeof a.durationMs&&Number.isFinite(a.durationMs)?Number(a.durationMs):0;a.durationMs=Math.floor(f+e);let g=a[z],h="string"==typeof g&&""!==g.trim()?Date.parse(g):NaN;B(a,Number.isFinite(h)?h:d,b),delete a[w],delete a[z],u(a)}function J(a){if(!0===a.isDone||!0===a.manualTaskTimerPaused||""!==String(a.activeSubtaskTimerId??"").trim())return;let b=a[w];if("string"==typeof b&&""!==b.trim()){let c=a[z];("string"!=typeof c||""===c.trim())&&(a[z]=b);return}let c=new Date().toISOString();a[w]=c,a[z]=c}function K(a,b=Date.now()){let c=String(a.activeSubtaskTimerId??"").trim();if(!c)return;let d=a[v],e="string"==typeof d&&""!==d.trim()?Date.parse(d):"number"==typeof d&&Number.isFinite(d)?d:NaN;if(!Number.isFinite(e)){a.activeSubtaskTimerId=null,delete a[v];return}let f=Math.max(0,b-e),g=t(a).find(a=>String(a.id)===c);if(g&&"object"==typeof g&&!Array.isArray(g)){let a="number"==typeof g.durationMs&&Number.isFinite(g.durationMs)?g.durationMs:0;g.durationMs=Math.floor(Number(a)+f)}let h="number"==typeof a.durationMs&&Number.isFinite(a.durationMs)?Number(a.durationMs):0;a.durationMs=Math.floor(h+f);let i=a[z],j="string"==typeof i&&""!==i.trim()?Date.parse(i):NaN;B(a,Number.isFinite(j)?j:e,b),a.activeSubtaskTimerId=null,delete a[v],delete a[z],u(a)}function L(a,b,c,d,g){let j=q(a,b);if(!j||!0===j.isDone)return!1;let k="number"==typeof g?.completionInstantMs&&Number.isFinite(g.completionInstantMs)?g.completionInstantMs:Date.now();for(let a of(K(j,k),I(j,k),j.isDone=!0,j.endTime=new Date(k).toISOString(),delete j[x],j.shouldCommit=c,j.manualTaskTimerPaused=!1,t(j)))a&&"object"==typeof a&&!Array.isArray(a)&&(a.done=!0);j.tags=(0,e.iW)(j.tags??[],d),u(j);let l=Date.parse("string"==typeof j.startTime?j.startTime:"");("number"==typeof j.durationMs&&Number.isFinite(j.durationMs)?Math.max(0,Math.floor(j.durationMs)):0)<=0&&Number.isFinite(l)&&k>l&&(j.durationMs=Math.floor(k-l)),D(j),E(j);let m=i(a),n=m.findIndex(a=>String(a.id)===b);n>=0?m[n]=j:m.push(j),a.tasks=m;let o=h(a).filter(a=>String(a.id)!==b);a.activeTasks=o;let p=f(a.activeTask);return(p&&String(p.id)===b||!p&&o.length>0)&&(a.activeTask=o[0]??null),!0}function M(a,b,c,d){let e=q(a,b);if(!e||!0!==e.isDone)return!1;let f=c?.timerMode==="resume"||c?.timerMode==="paused"||c?.timerMode==="manual"||c?.timerMode==="reset"?c.timerMode:"paused",g="number"==typeof c?.manualDurationMs&&Number.isFinite(c.manualDurationMs)?Math.max(0,Math.floor(c.manualDurationMs)):null;for(let a of("reset"===f?e.durationMs=0:"manual"===f&&null!==g&&(e.durationMs=g),u(e),e.isDone=!1,delete e.endTime,delete e.shouldCommit,delete e[x],delete e[w],delete e[z],delete e[v],e.activeSubtaskTimerId=null,t(e)))a&&"object"==typeof a&&!Array.isArray(a)&&(a.done=!1);if(d?.isLive===!0&&""===("string"==typeof a.endAt?a.endAt.trim():""))a.tasks=i(a).filter(a=>String(a.id)!==b),l(a,e),"resume"===f?c?.parallelTimer===!0?(e.manualTaskTimerPaused=!1,J(e)):s(a,b):e.manualTaskTimerPaused=!0;else{e.manualTaskTimerPaused=!0;let c=i(a),d=c.findIndex(a=>String(a.id)===b);d>=0&&(c[d]=e,a.tasks=c)}return!0}function N(a,b){let c=q(a,b);if(!c)return!1;K(c),I(c),a.activeTasks=h(a).filter(a=>String(a.id)!==b),a.tasks=i(a).filter(a=>String(a.id)!==b);let d=f(a.activeTask);if(d&&String(d.id)===b){let b=a.activeTasks[0]??null;a.activeTask=b}return!0}function O(a,b,c,d){let g=!1,j=a=>{String(a.id??"")===b&&(g=!0,"string"==typeof c.name&&(a.name=c.name),Array.isArray(c.tags)&&(a.tags=(0,e.iW)(c.tags,d)),void 0!==c.project&&(a.project=c.project),void 0!==c.personalProject&&(a.personalProject=!0===c.personalProject),"string"==typeof c.note&&(a.note=c.note),void 0!==c.ganttColor&&(null===c.ganttColor?delete a.ganttColor:a.ganttColor=c.ganttColor))};for(let b of h(a))j(b);let k=f(a.activeTask);for(let b of(k&&j(k),i(a)))j(b);return g}function P(a,b,c,d){let e=q(a,b);if(!e)return!1;let f=Date.parse(c);if(!Number.isFinite(f))return!1;let g=Date.parse("string"==typeof e.endTime&&""!==e.endTime.trim()?e.endTime.trim():"string"==typeof e[x]?String(e[x]).trim():"");if(Number.isFinite(g)&&f>g)return!1;let h=Date.now(),i=d?.lapAdjustMode??(!0!==e.isDone&&f<=h&&function(a){let b=a[w];if("string"==typeof b&&""!==b.trim())return!0;let c=a[z];return"string"==typeof c&&""!==c.trim()}(e)?"align_start":void 0),j=""===String(e.activeSubtaskTimerId??"").trim()&&!0!==e.isDone&&"string"==typeof e[w]&&""!==String(e[w]).trim(),k=!0===e.manualTaskTimerPaused;j&&!k&&("flush"===i?I(e,h):"align_start"===i&&(delete e[w],delete e[z]));let l="number"==typeof e.durationMs&&Number.isFinite(e.durationMs)?Math.max(0,Math.floor(e.durationMs)):0,n=d?.durationAdjustMode??"from_bounds",o="number"==typeof d?.manualDurationMs&&Number.isFinite(d.manualDurationMs)?Math.max(0,Math.floor(d.manualDurationMs)):null;if(e.startTime=new Date(f).toISOString(),"keep"===n?e.durationMs=l:"manual"===n&&null!==o?e.durationMs=o:Number.isFinite(g)&&g>=f?!0!==e.isDone&&g>h?e.durationMs="align_start"===i?l:Math.max(0,Math.floor(h-f)):e.durationMs=Math.max(0,Math.floor(g-f)):"align_start"===i?e.durationMs=l:e.durationMs=Math.max(0,Math.floor(h-f)),""===String(e.activeSubtaskTimerId??"").trim()&&!0!==e.isDone)if(f>h)m(e),e.manualTaskTimerPaused=!1;else if(k){if(k&&"align_start"===i){let a=new Date(f).toISOString();e[w]=a,e[z]=a}}else{let a="align_start"===i?new Date(f).toISOString():new Date(h).toISOString();e[w]=a,("align_start"===i||"string"!=typeof e[z]||""===String(e[z]).trim())&&(e[z]=a)}return"keep"===n&&u(e),!0===e.isDone&&(E(e),D(e),E(e)),!0}function Q(a,b,c,d){let e=q(a,b);if(!e||!0!==e.isDone)return!1;let f=Date.parse(c);if(!Number.isFinite(f))return!1;let g=Date.parse("string"==typeof e.startTime?e.startTime:"");if(!Number.isFinite(g)||f<g)return!1;let h="number"==typeof e.durationMs&&Number.isFinite(e.durationMs)?Math.max(0,Math.floor(e.durationMs)):0,i=d?.durationAdjustMode??"from_bounds",j="number"==typeof d?.manualDurationMs&&Number.isFinite(d.manualDurationMs)?Math.max(0,Math.floor(d.manualDurationMs)):null;return e.endTime=new Date(f).toISOString(),"keep"===i?e.durationMs=h:"manual"===i&&null!==j?e.durationMs=j:e.durationMs=Math.max(0,Math.floor(f-g)),"keep"===i&&u(e),E(e),D(e),!0}function R(a,b,c,d=Date.now()){let e=q(a,b);if(!e||!0===e.isDone)return!1;let f=Date.parse(c);if(!Number.isFinite(f))return!1;let g=Date.parse("string"==typeof e.startTime?e.startTime:"");return!!Number.isFinite(g)&&!(f<g)&&(f<=d?L(a,b,!1,void 0,{completionInstantMs:f}):(e[x]=new Date(f).toISOString(),!0))}function S(a,b,c){let d=q(a,b);return!!d&&!0!==d.isDone&&(c?(K(d),I(d),d.manualTaskTimerPaused=!0):(K(d),s(a,b)),!0)}function T(a,b,c){let d=q(a,b);if(!d)return!1;let e=t(d).find(a=>String(a.id)===c);if(!e)return!1;let f=String(c),g=String(d.activeSubtaskTimerId??"")===f,h=!e.done;return g&&h&&K(d),e.done=h,!0}function U(a,b,c,d){let e=q(a,b);if(!e)return!1;let f=t(e).find(a=>String(a.id)===c);return!!f&&(f.title=d,!0)}function V(a,b,c){let d,e=q(a,b);if(!e)return!1;if(null==c)return K(e),!0;let f=String(c);if(!t(e).find(a=>String(a.id)===f))return!1;I(e),d=String(String(b)),r(a,(a,b)=>{b===d||!0!==a.isDone&&(!0!==a.manualTaskTimerPaused&&I(a),K(a))}),r(a,(a,b)=>{!0===a.isDone||b!==d&&(a.manualTaskTimerPaused=!0)}),K(e),e.activeSubtaskTimerId=f;let g=new Date().toISOString();return e[v]=g,e[z]=g,e.manualTaskTimerPaused=!1,!0}function W(a,b,c){let d=q(a,b);if(!d)return!1;let e=String(c);String(d.activeSubtaskTimerId??"")===e&&K(d);let f=t(d).filter(a=>String(a.id)!==e);return d.subtasks=f,u(d),!0}function X(a,b,c){let d=q(a,b);if(!d)return!1;let e=t(d);if(e.length<=1)return!1;let f=new Set(e.map(a=>String(a.id)));if(c.length!==f.size)return!1;let g=new Set;for(let a of c){let b=String(a);if(!f.has(b)||g.has(b))return!1;g.add(b)}let h=new Map(e.map(a=>[String(a.id),a]));return d.subtasks=c.map(a=>h.get(String(a))),!0}function Y(a,b,c){let e=q(a,b);if(!e||!0===e.isDone)return!1;let f=t(e);return f.push({id:(0,d.randomUUID)(),title:c,done:!1,durationMs:0}),e.subtasks=f,!0}function Z(a,b,c,f){let g=Date.parse("string"==typeof b.startTime?b.startTime:""),h=Date.parse("string"==typeof b.endTime?b.endTime:"");if(!Number.isFinite(g)||!Number.isFinite(h)||h<=g)return!1;let j="number"==typeof b.durationMs&&Number.isFinite(b.durationMs)?Math.floor(b.durationMs):NaN;if(!Number.isFinite(j)||j<=0||j>h-g)return!1;let k=Array.isArray(b.subtasks)?b.subtasks.map(a=>({id:(0,d.randomUUID)(),title:"string"==typeof a.title?a.title.trim():"",done:!0===a.done,durationMs:0})).filter(a=>a.title.length>0):[],l={id:c,name:b.name.trim(),startTime:b.startTime,endTime:b.endTime,durationMs:j,isDone:!0,kronoFocusCycles:0,tags:(0,e.iW)(b.tags,f),project:b.project??null,personalProject:!0===b.personalProject,note:"string"==typeof b.note?b.note:"",subtasks:k},m=i(a);return m.push(l),a.tasks=m,!0}function $(a,b){let c=f(a.current);for(let d of(c&&b(c),a.history||[]))b(d);for(let c of a.historyArchived||[])b(c)}function _(a,b,c){if(!Array.isArray(a.tags))return;let d=a.tags;a.tags=(0,e.iW)(d.filter(a=>(0,e.$U)(a).toLowerCase()!==b),c)}function aa(a,b,c){let d=(0,e.$U)(b).toLowerCase();a.knownTags=(a.knownTags||[]).filter(a=>(0,e.$U)(a).toLowerCase()!==d),a.userKnownTags=(a.userKnownTags||[]).filter(a=>(0,e.$U)(a).toLowerCase()!==d),a.excludedSuggestionTags=(a.excludedSuggestionTags||[]).filter(a=>(0,e.$U)(a).toLowerCase()!==d);let g={...f(a.tagDescriptions)??{}};delete g[d],a.tagDescriptions=g,$(a,a=>{for(let b of[...h(a),...i(a)])_(b,d,c);let b=f(a.activeTask);b&&_(b,d,c)})}function ab(a,b){let c=(0,e.qu)(b).toLowerCase();a.knownProjects=(a.knownProjects||[]).filter(a=>(0,e.qu)(a).toLowerCase()!==c);let d={...f(a.projectDescriptions)??{}};delete d[c],a.projectDescriptions=d,$(a,a=>{for(let b of[...h(a),...i(a)]){let a=b.project;"string"==typeof a&&(0,e.qu)(a).toLowerCase()===c&&(b.project=null)}let b=f(a.activeTask);if(b){let a=b.project;"string"==typeof a&&(0,e.qu)(a).toLowerCase()===c&&(b.project=null)}})}function ac(a,b,c,d){let g=(0,e.$U)(b),j=(0,e.$U)(c);if(!g||!j||g.toLowerCase()===j.toLowerCase())return;let k=g.toLowerCase(),l=j.toLowerCase(),m=a=>{let b=[],c=new Set;for(let d of a){let a=(0,e.$U)(d);if(!a)continue;let f=a.toLowerCase()===k?j:a,g=f.toLowerCase();c.has(g)||(c.add(g),b.push(f))}return b};a.knownTags=m(a.knownTags||[]),a.userKnownTags=m(a.userKnownTags||[]),a.excludedSuggestionTags=m(a.excludedSuggestionTags||[]);let n={...f(a.tagDescriptions)??{}},o="string"==typeof n[k]?n[k]:"";o&&!n[l]&&(n[l]=o),delete n[k],a.tagDescriptions=n,$(a,a=>{for(let b of[...h(a),...i(a)]){if(!Array.isArray(b.tags))continue;let a=b.tags.map(a=>{let b=(0,e.$U)(a);return b.toLowerCase()===k?j:b});b.tags=(0,e.iW)(a,d)}let b=f(a.activeTask);if(!b||!Array.isArray(b.tags))return;let c=b.tags.map(a=>{let b=(0,e.$U)(a);return b.toLowerCase()===k?j:b});b.tags=(0,e.iW)(c,d)})}function ad(a,b,c,d){let g=(0,e.qu)(b),j=(0,e.qu)(c);if(!g||!j||g.toLowerCase()===j.toLowerCase())return;let k=g.toLowerCase(),l=j.toLowerCase(),m=d?.personalOnly===!0;if(m){let b=[],c=new Set;for(let d of a.knownPersonalProjects||[]){let a=(0,e.qu)(d);if(!a)continue;let f=a.toLowerCase()===k?j:a,g=f.toLowerCase();c.has(g)||(c.add(g),b.push(f))}a.knownPersonalProjects=b}else{let b=[],c=new Set;for(let d of a.knownProjects||[]){let a=(0,e.qu)(d);if(!a)continue;let f=a.toLowerCase()===k?j:a,g=f.toLowerCase();c.has(g)||(c.add(g),b.push(f))}a.knownProjects=b}let n={...f(a.projectDescriptions)??{}},o="string"==typeof n[k]?n[k]:"";o&&!n[l]&&(n[l]=o),delete n[k],a.projectDescriptions=n,$(a,a=>{for(let b of[...h(a),...i(a)])("string"==typeof b.project?(0,e.qu)(b.project):"").toLowerCase()===k&&m===(!0===b.personalProject)&&(b.project=j);let b=f(a.activeTask);b&&("string"==typeof b.project?(0,e.qu)(b.project):"").toLowerCase()===k&&m===(!0===b.personalProject)&&(b.project=j)})}},18611:(a,b,c)=>{"use strict";function d(a){let b=a;return(b=(b=(b=(b=(b=(b=(b=(b=(b=(b=(b=(b=(b=b.replace(/```[\s\S]*?```/g," ")).replace(/`([^`]+)`/g,"$1")).replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1")).replace(/\[([^\]]+)\]\([^)]+\)/g,"$1")).replace(/^#{1,6}\s+/gm,"")).replace(/^\s*>\s?/gm,"")).replace(/^\s*[-*+]\s+\[[ xX]\]\s+/gm,"")).replace(/^\s*[-*+]\s+/gm,"")).replace(/^\s*\d+\.\s+/gm,"")).replace(/\|/g," ")).replace(/(\*\*|__)(.*?)\1/g,"$2")).replace(/(\*|_)(.*?)\1/g,"$2")).replace(/~~(.*?)~~/g,"$1")).replace(/\s+/g," ").trim()}c.d(b,{ol:()=>s,hk:()=>y,qu:()=>j,$U:()=>q,iW:()=>v,H_:()=>o,ax:()=>t,uA:()=>u,v8:()=>l,jM:()=>k,xm:()=>x,Bl:()=>w,ZW:()=>p});let e=/(?:^|\s)#([^\s#]+)|(?<=[^\s#])#([^\s#]+)/g;function f(a){let b,c=a.replace(/\s+/g," ").trim(),d=/(?:^|\s)([@!])([^\s@!#]+)(?:#([^\s#]+))?/g,e=/(?<=[^\s!#])(!)([^\s@!#]+)(?:#([^\s#]+))?/g,f=(a,b,c,d,e,f)=>{let g=e+f,h=c.trim();if(h)if(void 0!==d&&d.length>0){let c=d.trim();if(!c||c.includes("#"))return;a.push({start:e,end:g,plain:!1,sigil:b,projRaw:h,loc:c})}else h.includes("#")||a.push({start:e,end:g,plain:!0,sigil:b,projRaw:h})},g=[];for(;null!==(b=d.exec(c));)f(g,b[1],b[2],b[3],b.index,b[0].length);for(;null!==(b=e.exec(c));)f(g,"!",b[2],b[3],b.index,b[0].length);g.sort((a,b)=>a.start-b.start||b.end-a.end);let h=[],i=-1;for(let a of g)a.start<i||(h.push(a),i=a.end);return h}function g(a){let b=a.trim(),c=b.indexOf("#");if(c<=0||c>=b.length-1)return null;let d=b.slice(0,c).trim(),e=b.slice(c+1).trim();return!d||!e||e.includes("#")?null:{projectKey:d,localTag:e}}function h(a,b){let c=b?.trim();return c?a.filter(a=>(function(a,b){let c=g(a);if(!c)return!0;let d=b?.trim();return!!d&&c.projectKey.toLowerCase()===j(d).toLowerCase()})(a,c)):a.filter(a=>null===g(a))}function i(a){let{core:b,scopedTags:c,scopedProjectHint:d,scopedHintPersonal:e}=function(a){let b,c,d=a.replace(/\s+/g," ").trim(),e=f(d).filter(a=>!a.plain),g=[],h=new Set;for(let a of e){if(!a.loc)continue;let d=j(a.projRaw),e=a.loc.trim();if(!d||!e)continue;b=d,c="!"===a.sigil;let f=`${d}#${e}`,i=f.toLowerCase();h.has(i)||(h.add(i),g.push(f))}let i=d;for(let a of[...e].sort((a,b)=>b.start-a.start))i=`${i.slice(0,a.start)} ${i.slice(a.end)}`;return{core:i=i.replace(/\s+/g," ").trim(),scopedTags:g,scopedProjectHint:b,scopedHintPersonal:c}}(a),{core:g,project:h,plainPersonal:i}=function(a){let b,c,d=a.replace(/\s+/g," ").trim(),e=f(d).filter(a=>a.plain);for(let a of e)b=j(a.projRaw),c="!"===a.sigil;let g=d;for(let a of[...e].sort((a,b)=>b.start-a.start))g=`${g.slice(0,a.start)} ${g.slice(a.end)}`;return{core:g=g.replace(/\s+/g," ").trim(),project:b,plainPersonal:c}}(b),k=h??d;return{core:g,project:k,scopedTags:c,personalProject:!!(k&&(void 0!==h?!0===i:!0===e))}}function j(a){return a.replace(/^[@!]+/,"").trim()}function k(a){if(!/[@!]/.test(a))return;let{project:b}=i(a);return b??null}function l(a){if(!/[@!]/.test(a))return;let{project:b,personalProject:c}=i(a);return!!b&&c}function m(a,b){let c=new Set,d=[],e=a=>{let b=q(a).trim();if(!b)return;let e=b.toLowerCase();c.has(e)||(c.add(e),d.push(b))};for(let b of a)e(b);for(let a of b)e(a);return d}function n(a){let{core:b,scopedTags:c}=i(a),d=[],f=new Set;for(let a of function(a){let b,c=RegExp(e.source,"g"),d=[],f=0;for(;null!==(b=c.exec(a));){if(b.index>f){let c=a.slice(f,b.index);c.length>0&&d.push({kind:"text",value:c})}let c=(b[1]||b[2]||"").trim();c.length>0&&d.push({kind:"tag",value:`#${c}`}),f=b.index+b[0].length}if(f<a.length){let b=a.slice(f);b.length>0&&d.push({kind:"text",value:b})}return 0===d.length&&a.trim().length>0&&d.push({kind:"text",value:a}),d}(b)){if("tag"!==a.kind)continue;let b=a.value.replace(/^#/,"").trim();if(0===b.length)continue;let c=b.toLowerCase();f.has(c)||(f.add(c),d.push(b))}return m(c,d)}function o(a){let b,{core:c,project:d,scopedTags:f,personalProject:g}=i(a),{name:j,tags:k}=(b=n(c),{name:c.replace(RegExp(e.source,"g"),"").replace(/\s+/g," ").trim(),tags:b});return{name:j,tags:h(m(f,k),d??null),project:d,personalProject:!!(d&&g)}}function p(a){let{name:b,tags:c}=o(a),e=d(b.trim());return e.length>0?e:c.length>0?"—":d(a.trim())||"—"}function q(a){return a.replace(/^#/,"")}let r="default",s="default";function t(a){let b=a&&"object"==typeof a&&!Array.isArray(a)?a:void 0;return!b||!1!==b.taskDefaultTagBucketEnabled}function u(a){let b=a&&"object"==typeof a&&!Array.isArray(a)?a:void 0;return!b||!1!==b.taskStripDefaultTagWhenExplicitTags}function v(a,b){let c=Array.isArray(a)?a:[],d=[],e=new Set;for(let a of c){let b=q(String(a)).trim();if(!b)continue;let c=b.toLowerCase();e.has(c)||(e.add(c),d.push(b))}if(0===d.length)return b?.assignDefaultTagBucket===!1?[]:[r];if(b?.stripDefaultTagWhenExplicitTags!==!1){let a=d.filter(a=>{let b;return""!==(b=a.trim())&&q(b).toLowerCase()!==r});if(a.length>0&&a.length<d.length)return a}return d}function w(a,b,c,d){return v(h(y(a,b),c??null),d)}function x(a,b,c){let d=o(a),e=a.trim();return d.name.trim()||(b.length>0?b[0]:"")||e||(c?j(c):"")}function y(a,b){let c=n(a),d=new Set,e=[],f=a=>{let b=q(a),c=b.toLowerCase();!b||d.has(c)||(d.add(c),e.push(b))};for(let a of c)f(a);for(let a of b??[])f(a);return e}},18937:(a,b,c)=>{"use strict";c.d(b,{$Y:()=>j,Fj:()=>k,Oz:()=>e,cU:()=>g,kP:()=>f,mm:()=>h,pn:()=>d,vt:()=>i});let d="pomodoro",e="pomodoroDeadlineAtMs",f="pomodoroCycles",g="startPomodoro",h="pausePomodoro",i="resetPomodoro",j="setPomodoroWorkDuration",k=g},21795:(a,b,c)=>{"use strict";c.d(b,{$D:()=>k,HU:()=>m,L:()=>i,PZ:()=>l,oQ:()=>j,yY:()=>g});var d=c(67205),e=c(5007),f=c(51963);let g="sessionWallSegmentStartedAt";function h(a){return!!("string"==typeof a.sessionId?a.sessionId.trim():"")&&!0!==a.archived&&!0!==a.isPaused&&("string"!=typeof a.endAt||""===a.endAt.trim())}function i(a,b=Date.now()){let c=a[g];if("string"!=typeof c||""===c.trim())return;let d=Date.parse(c);if(!Number.isFinite(d))return void delete a[g];let e=Math.max(0,b-d),f="number"==typeof a.sessionDurationMinutes&&Number.isFinite(a.sessionDurationMinutes)?Number(a.sessionDurationMinutes):0;a.sessionDurationMinutes=f+e/6e4,delete a[g]}function j(a,b){let c=(0,e.qY)(a.current);if(!c||!("string"==typeof c.sessionId?c.sessionId.trim():""))return;(0,e.Ag)(c,a=>{!0!==a.isDone&&((0,e.f$)(a),(0,e.Qk)(a),a.manualTaskTimerPaused=!0)}),i(c,b);let g=Date.parse("string"==typeof c.startAt?c.startAt.trim():""),h="number"==typeof c.sessionDurationMinutes&&Number.isFinite(c.sessionDurationMinutes)?Number(c.sessionDurationMinutes):0;Number.isFinite(g)&&b>g&&(c.sessionDurationMinutes=(0,d.k3)(g,b,h)),c.endAt=new Date(b).toISOString(),delete c.scheduledEndAt,delete c.sessionEndReasonKind,delete c.sessionEndReasonNote,(0,f.Y)(a),a.current=void 0}function k(a){return!0===a.isPaused&&(a.isPaused=!1,l(a),!0)}function l(a){if(!h(a))return;let b=a[g];("string"!=typeof b||""===b.trim())&&(a[g]=new Date().toISOString())}function m(a,b=Date.now()){let c=(0,e.qY)(a.current);if(!c||!h(c))return!1;let d="string"==typeof c.scheduledEndAt?c.scheduledEndAt.trim():"";if(d){let c=Date.parse(d);if(Number.isFinite(c)&&c<=b)return j(a,c),!0}let f=c[g];if("string"!=typeof f||""===f.trim())return c[g]=new Date(b).toISOString(),!0;let i=Date.parse(f);if(!Number.isFinite(i))return c[g]=new Date(b).toISOString(),!0;let k=Math.max(0,b-i);if(k<=0)return!1;let l="number"==typeof c.sessionDurationMinutes&&Number.isFinite(c.sessionDurationMinutes)?Number(c.sessionDurationMinutes):0;return c.sessionDurationMinutes=l+k/6e4,c[g]=new Date(b).toISOString(),!0}},22621:(a,b,c)=>{"use strict";function d(){return{autoStart:!0,enabled:!0,usageProfile:"manager",anonymizePaths:!1,flushIntervalSeconds:15,heartbeatIntervalSeconds:120,maxBufferedEvents:500,historyStoragePath:"",historyPartition:"daily",sessionExportFormat:"json",csvDelimiter:",",sessionStartMode:"continue",autoGitSync:!1,gitRemoteUrl:"",gitlabTokenStored:!1,gitlabTokenFromEnv:!1,gitlabApiVerified:!1,gitlabApiBaseUrl:"",mongodbEnabled:!1,mongodbDatabaseName:"kronosys",mongodbCollectionName:"sessions",mongodbHost:"127.0.0.1",mongodbPort:27017,mongodbUsername:"",mongodbAuthSource:"admin",showWelcomeOnStartup:!0,dashboardSessionDurationAlertHours:24,dashboardShowKronoFocusInHeader:!0,dashboardShowKronoFocusInTaskOps:!0,taskDefaultTagBucketEnabled:!0,taskStripDefaultTagWhenExplicitTags:!0,taskMinimumDurationMinutes:30,dashboardAllowTaskStartTimeEdit:!0,dashboardAllowSessionStartTimeEdit:!0,dashboardAllowTaskEndTimeEdit:!0,dashboardAllowSessionEndTimeEdit:!0,workspaceLocExcludedDirectoryNames:["node_modules",".git","dist","out","build",".next","coverage","target","__pycache__",".venv","venv","vendor",".turbo",".cache",".idea"],workspaceLocExcludedPathPatterns:[],localPersistenceDriver:"sqlite",localApiPort:5566,dashboardWebUrl:"http://kronosys:5555",dashboardWebPort:5555,dashboardDisplayTimeZone:"America/Toronto",dashboardUse24HourClock:!0,dashboardCalendarWeekStartsOn:"sunday",dashboardLightThemeVariant:"soft",dashboardSemanticChipAccessibleMode:!1,dashboardBaseDailyHours:7.5,dashboardBaseDailyToleranceMinutes:10,dashboardWeekendDays:"sat,sun",dashboardDefaultSessionNameTemplate:"",dashboardDefaultPlannedSessionStart:"07:00",dashboardDefaultPlannedSessionEnd:"16:00",dashboardSessionExtendMinutes:30,scheduleEnabled:!1,scheduleDays:[1,2,3,4,5],scheduleStartTime:"09:00",scheduleEndTime:"17:00",scheduleCreateDailySession:!0,scheduleTransferTasks:!0,schedulePauseTasks:!0,plannedSessions:[],reportingCalendarDayMarkers:{},reportingCalendarProvince:"",developmentUseProductionData:!1,dualDataEnvironmentEnabled:!1,activeDataEnvironment:"production"}}c.d(b,{W:()=>d})},40864:(a,b,c)=>{"use strict";c.d(b,{jG:()=>j,nc:()=>k,oS:()=>i,zV:()=>l});var d=c(73024),e=c(48161),f=c(76760);let g="dev-data-preference.json";function h(){if("darwin"===process.platform)return f.join(e.homedir(),"Library","Application Support","Kronosys",g);if("win32"===process.platform){let a=process.env.LOCALAPPDATA||f.join(e.homedir(),"AppData","Local");return f.join(a,"Kronosys",g)}return f.join(e.homedir(),".config","kronosys",g)}function i(){return h()}function j(){let a=h();try{let b=d.readFileSync(a,"utf8"),c=JSON.parse(b);return!0===c.useProductionDataInDevelopment}catch{return!1}}function k(a){let b=h();d.mkdirSync(f.dirname(b),{recursive:!0}),d.writeFileSync(b,`${JSON.stringify({useProductionDataInDevelopment:a},null,2)}
|
|
2
2
|
`,"utf8")}function l(a){if(!a)return!1;let b=a.trim().toLowerCase();return"1"===b||"true"===b||"yes"===b||"on"===b}},47031:(a,b,c)=>{"use strict";c.d(b,{Ty:()=>e,hg:()=>f});let d=new Set(["planned","early","overrun","other"]);function e(a){let b="string"==typeof a?a.trim():"";return d.has(b)?b:""}function f(a){return"string"!=typeof a?"":a.trim().slice(0,500)}},51611:(a,b,c)=>{"use strict";c.d(b,{Ae:()=>q,VF:()=>l,cV:()=>j,fb:()=>m,iz:()=>n,jE:()=>p,ng:()=>o,vF:()=>k});var d=c(73024),e=c(48161),f=c(76760),g=c(94782);c(40864);let h=null;function i(a){if("darwin"===process.platform)return f.join(e.homedir(),"Library","Application Support","Kronosys",a);if("win32"===process.platform){let b=process.env.LOCALAPPDATA||f.join(e.homedir(),"AppData","Local");return f.join(b,"Kronosys",a)}return f.join(e.homedir(),".local","share","kronosys",a)}function j(){return i("v4")}function k(){return i("v4-qa")}function l(a){let b=a.replace(/\\/g,"/");return b.endsWith("/v4-qa")||b.endsWith("\\v4-qa")?"qa":"production"}function m(){let a=process.env.TRACE_DATA_DIR?.trim();return a?f.resolve(a):(0,g.ll)()?i("qa"===(0,g.YW)()?"v4-qa":"v4"):i("v4")}function n(){return h||(h=m()),h}function o(){return n()!==m()}function p(){h=null}function q(){let a=n();return d.mkdirSync(a,{recursive:!0}),a}},51963:(a,b,c)=>{"use strict";c.d(b,{Y:()=>f});var d=c(47031),e=c(5007);function f(a){let b=(0,e.qY)(a.current);if(!b)return;let c="string"==typeof b.sessionId?b.sessionId.trim():"";if(!c)return;let f=[...a.history||[]].filter(a=>a.sessionId!==c),g={sessionId:c,sessionName:b.sessionName??"",sessionNote:b.sessionNote??"",savedAt:new Date().toISOString(),createdAt:b.createdAt??b.startAt??null,startAt:b.startAt??null,endAt:b.endAt??null,sessionDurationMinutes:b.sessionDurationMinutes,tasks:b.tasks??[],activeTasks:b.activeTasks??[],activeTask:b.activeTask??null,archived:!0===b.archived};"string"==typeof b.scheduledStartAt&&""!==b.scheduledStartAt.trim()&&(g.scheduledStartAt=b.scheduledStartAt),"number"==typeof b.sessionStartOffsetMinutes&&Number.isFinite(b.sessionStartOffsetMinutes)&&(g.sessionStartOffsetMinutes=b.sessionStartOffsetMinutes);let h=(0,d.Ty)(b.sessionEndReasonKind);h&&(g.sessionEndReasonKind=h);let i=(0,d.hg)(b.sessionEndReasonNote);i.length>0&&(g.sessionEndReasonNote=i),f.unshift(g),a.history=f}},67205:(a,b,c)=>{"use strict";function d(a,b,c,d,e){return Number.isFinite(d)&&Number.isFinite(e)&&!(e<=d)?Math.max(.1,(e-d)/6e4-(Number.isFinite(a)&&Number.isFinite(b)&&b>a?Number.isFinite(a)&&Number.isFinite(b)&&!(b<=a)?Math.max(0,(b-a)/6e4-(Number.isFinite(c)?Math.max(0,c):0)):0:0)):Math.max(.1,c)}function e(a,b,c){return Number.isFinite(a)&&Number.isFinite(b)&&!(b<=a)?Math.max(.1,Math.min(Number.isFinite(c)?Math.max(0,c):0,(b-a)/6e4)):Math.max(.1,c)}c.d(b,{k3:()=>e,kz:()=>d})},71947:(a,b,c)=>{"use strict";c.d(b,{x:()=>i,y:()=>h});var d=c(80099),e=c(76760),f=c(51611);let g=null;function h(){if(g){try{g.close()}catch{}g=null}(0,f.jE)()}function i(){if(g)return g;let a=(0,f.Ae)(),b=e.join(a,"kronosys.sqlite");(g=new d.DatabaseSync(b)).exec("PRAGMA journal_mode = WAL;");var c=g;c.exec(`
|
|
3
3
|
CREATE TABLE IF NOT EXISTS app_meta (
|
|
4
4
|
key TEXT PRIMARY KEY NOT NULL,
|