p-backlog 0.4.0 → 0.5.1

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +50 -30
  3. package/README.ru.md +50 -30
  4. package/dist/cli.js +670 -265
  5. package/dist/web/assets/{CodeTab-C87LaJFD.js → CodeTab-D3I5lIJJ.js} +1 -1
  6. package/dist/web/assets/CostTab-8f2AC5ER.js +1 -0
  7. package/dist/web/assets/EffectTab-1jObLK9a.js +1 -0
  8. package/dist/web/assets/Figure-BHBCd7Dt.js +1 -0
  9. package/dist/web/assets/OverviewTab-DjNyxzJq.js +1 -0
  10. package/dist/web/assets/QualityTab-W2NdYBhI.js +1 -0
  11. package/dist/web/assets/StatsPage-rJH3k8Ye.js +1 -0
  12. package/dist/web/assets/StatsTabState-BoimPoKm.js +1 -0
  13. package/dist/web/assets/{StatsTable-BXG0IS8p.js → StatsTable-B0tbx68M.js} +1 -1
  14. package/dist/web/assets/{UnavailableRepos-KiTvsm1X.js → UnavailableRepos-SpC6Dzwu.js} +1 -1
  15. package/dist/web/assets/cx-DDl6tKXq.js +58 -0
  16. package/dist/web/assets/{index-AJ1Qzly1.js → index-C8xqRmo-.js} +2 -2
  17. package/dist/web/assets/start-YlC0KTe5.js +38 -0
  18. package/dist/web/assets/use-grain-series-Bx70IZvb.js +55 -0
  19. package/dist/web/assets/value-dot-B7BsbWBD.js +1 -0
  20. package/dist/web/index.html +1 -1
  21. package/package.json +2 -1
  22. package/skill/backlog/SKILL.md +2 -2
  23. package/skill/backlog-en/SKILL.md +2 -2
  24. package/dist/web/assets/ChartTooltip-DWaDSRan.js +0 -55
  25. package/dist/web/assets/CostTab-D4ByOnHX.js +0 -1
  26. package/dist/web/assets/EffectTab-Dq06ghtZ.js +0 -1
  27. package/dist/web/assets/Figure-BC1eGh3_.js +0 -1
  28. package/dist/web/assets/OverviewTab-BBmohHJR.js +0 -1
  29. package/dist/web/assets/QualityTab-Rb7zRcGH.js +0 -1
  30. package/dist/web/assets/StatsPage-Dtyc1gAc.js +0 -1
  31. package/dist/web/assets/StatsTabState-Br-8FgKd.js +0 -1
  32. package/dist/web/assets/cx-CNNf0q6V.js +0 -58
  33. package/dist/web/assets/rolldown-runtime-hePW80VL.js +0 -1
  34. package/dist/web/assets/start-BGXTwsB0.js +0 -38
  35. package/dist/web/assets/value-dot-W-8PsGpd.js +0 -1
  36. /package/dist/web/assets/{ChartTooltip-tQC8-pw2.css → use-grain-series-tQC8-pw2.css} +0 -0
@@ -0,0 +1 @@
1
+ import{kn as e,vn as t,yn as n}from"./cx-DDl6tKXq.js";import{A as r,At as i,B as a,C as o,Ct as s,D as c,Dt as l,E as u,Et as d,F as f,G as p,H as m,I as h,J as g,K as _,L as v,O as y,Ot as b,P as x,R as S,S as C,St as w,T,Tt as E,U as D,Y as ee,Z as O,_t as te,at as ne,ct as re,dt as ie,et as ae,ft as oe,gt as k,h as se,ht as A,j as ce,kt as j,mt as M,nt as le,ot as N,rt as ue,st as de,tt as fe,ut as pe,vt as P,wt as me,x as he,xt as F,z as ge}from"./use-grain-series-Bx70IZvb.js";var I=e(n());function L(){return L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},L.apply(null,arguments)}var R=e=>{var t=e.cx,n=e.cy,r=e.r,a=e.className,o=i(`recharts-dot`,a);return w(t)&&w(n)&&w(r)?I.createElement(`circle`,L({},b(e),te(e),{className:o,cx:t,cy:n,r})):null},_e=[`points`];function z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function B(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?z(Object(n),!0).forEach(function(t){ve(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ve(e,t,n){return(t=ye(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ye(e){var t=be(e,`string`);return typeof t==`symbol`?t:t+``}function be(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function V(){return V=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},V.apply(null,arguments)}function xe(e,t){if(e==null)return{};var n,r,i=Se(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Se(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Ce(e){var t=e.option,n=e.dotProps,r=e.className;if((0,I.isValidElement)(t))return(0,I.cloneElement)(t,n);if(typeof t==`function`)return t(n);var a=i(r,typeof t==`boolean`?``:t.className),o=n??{};o.points;var s=xe(o,_e);return I.createElement(R,V({},s,{className:a}))}function we(e,t){return e==null?!1:t?!0:e.length===1}function H(e){var t=e.points,n=e.dot,r=e.className,i=e.dotClassName,a=e.dataKey,o=e.baseProps,s=e.needClip,c=e.clipPathId,u=e.zIndex,d=u===void 0?O.scatter:u;if(!we(t,n))return null;var f=S(n),p=l(n),m=t.map((e,r)=>{var s=B(B(B({r:3},o),p),{},{index:r,cx:e.x??void 0,cy:e.y??void 0,dataKey:a,value:e.value,payload:e.payload,points:t});return I.createElement(Ce,{key:`dot-${r}`,option:n,dotProps:s,className:i})}),h={};return s&&c!=null&&(h.clipPath=`url(#clipPath-${f?``:`dots-`}${c})`),I.createElement(D,{zIndex:d},I.createElement(E,V({className:r},h),m))}function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function W(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?U(Object(n),!0).forEach(function(t){Te(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Te(e,t,n){return(t=Ee(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ee(e){var t=De(e,`string`);return typeof t==`symbol`?t:t+``}function De(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Oe=e=>{var t=e.point,n=e.childIndex,r=e.mainColor,i=e.activeDot,a=e.dataKey,o=e.clipPath;if(i===!1||t.x==null||t.y==null)return null;var s=W(W(W({},{index:n,dataKey:a,cx:t.x,cy:t.y,r:4,fill:r??`none`,strokeWidth:2,stroke:`#fff`,payload:t.payload,value:t.value}),j(i)),te(i)),c=(0,I.isValidElement)(i)?(0,I.cloneElement)(i,s):typeof i==`function`?i(s):I.createElement(R,s);return I.createElement(E,{className:`recharts-active-dot`,clipPath:o},c)};function G(e){var t=e.points,n=e.mainColor,r=e.activeDot,i=e.itemDataKey,a=e.clipPath,o=e.zIndex,s=o===void 0?O.activeDot:o,c=A(p),l=T();if(t==null||l==null)return null;var u=t.find(e=>l.includes(e.payload));return F(u)?null:I.createElement(D,{zIndex:s},I.createElement(Oe,{point:u,childIndex:Number(c),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var ke=[`animationElapsedTime`,`isAnimating`,`isEntrance`,`visibleLength`,`strokeDasharray`,`connectNulls`];function K(){return K=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},K.apply(null,arguments)}function Ae(e,t){if(e==null)return{};var n,r,i=je(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function je(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Me(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function q(e,t){return`${t}px ${e}px`}function Ne(e){return e.length%2==0?e:[...e,...e]}function Pe(e,t){for(var n=[],r=0;r<t;++r)n.push(...e);return n}function Fe(e,t,n){var r=Ne(n),i=r.reduce((e,t)=>e+t,0);if(!i)return q(t,e);for(var a=Math.floor(e/i),o=e%i,s=[],c=0,l=0;c<r.length;l+=(u=r[c])??0,++c){var u,d=r[c];if(d!=null&&l+d>o){s=[...r.slice(0,c),o-l];break}}var f=s.length%2==0?[0,t]:[t];return[...Pe(r,a),...s,...f].map(e=>`${e}px`).join(`, `)}function Ie(e,t,n){return e?Fe(n,t,`${e}`.split(/[,\s]+/gim).map(e=>parseFloat(e))):q(t,n)}function Le(e){e.animationElapsedTime,e.isAnimating,e.isEntrance;var t=e.visibleLength,n=e.strokeDasharray,r=e.connectNulls,i=Ae(e,ke),a=r??!1,o;if(t!=null){var s=i.pathRef;o=Ie(n,Me(s?.current??null),t)}else n!=null&&(o=String(n));return I.createElement(fe,K({},i,{connectNulls:a,strokeDasharray:o}))}function Re(e){var t=(0,I.useRef)(0),n=(0,I.useRef)(0),r=(0,I.useRef)(!1),i=(0,I.useRef)(e);return i.current!==e&&(t.current=n.current,i.current=e),(0,I.useCallback)((e,i)=>{if(r.current)return null;var a=Math.min(me(t.current+e*i),i);return e>0&&i>0&&(n.current=Math.max(n.current,a),a>=i)?(r.current=!0,null):a},[])}var J=(e,t,n,r)=>_(e,`xAxis`,t,r),ze=(e,t,n,r)=>g(e,`xAxis`,t,r),Be=(e,t,n,r)=>_(e,`yAxis`,n,r),Ve=(e,t,n,r)=>g(e,`yAxis`,n,r),He=M([ue,J,Be,ze,Ve],(e,t,n,r,i)=>oe(e,`xAxis`)?de(t,r,!1):de(n,i,!1)),Ue=(e,t,n,r,i)=>i;function We(e){return e.type===`line`}var Ge=M([ee,Ue],(e,t)=>e.filter(We).find(e=>e.id===t)),Ke=M([ue,J,Be,ze,Ve,Ge,He,ae],(e,t,n,r,i,a,o,s)=>{var c=s.chartData,l=s.dataStartIndex,u=s.dataEndIndex;if(!(a==null||t==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null||e!==`horizontal`&&e!==`vertical`)){var d=a.dataKey,f=a.data,p=f!=null&&f.length>0?f:c?.slice(l,u+1);if(p!=null)return pt({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataKey:d,bandSize:o,displayedData:p})}});function qe(e){var t=j(e),n=3,r=2;if(t!=null){var i=t.r,a=t.strokeWidth,o=Number(i),s=Number(a);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(s)||s<0)&&(s=r),{r:o,strokeWidth:s}}return{r:n,strokeWidth:r}}var Je=[`id`],Ye=[`type`,`layout`,`connectNulls`,`needClip`,`shape`,`strokeDasharray`],Xe=[`activeDot`,`animateNewValues`,`animationBegin`,`animationDuration`,`animationEasing`,`connectNulls`,`dot`,`hide`,`isAnimationActive`,`label`,`legendType`,`xAxisId`,`yAxisId`,`id`];function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Y.apply(null,arguments)}function X(e,t){if(e==null)return{};var n,r,i=Ze(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Ze(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Q(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Z(Object(n),!0).forEach(function(t){Qe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Z(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Qe(e,t,n){return(t=$e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $e(e){var t=et(e,`string`);return typeof t==`symbol`?t:t+``}function et(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function tt(e){try{return e&&e.getTotalLength&&e.getTotalLength()||0}catch{return 0}}function nt(e){var t=0,n=0;for(var r of e)r.status===`matched`&&r.prev.x!=null&&r.next.x!=null&&(t+=r.next.x-r.prev.x,n++);return n>0?t/n:0}var $={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:`ease`,animationInterpolateFn:(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(e=>e.status===`removed`?[]:[e.next]);var n=nt(e),r=[];for(var i of e)if(i.status===`matched`)r.push(Q(Q({},i.next),{},{x:P(i.prev.x,i.next.x,t),y:P(i.prev.y,i.next.y,t)}));else if(i.status===`added`){if(i.next.x!=null){var a=i.next.x-n;r.push(Q(Q({},i.next),{},{x:P(a,i.next.x,t),y:i.next.y}))}else r.push(i.next)}else if(i.status===`removed`&&i.prev.x!=null){var o=i.prev.x+n;r.push(Q(Q({},i.prev),{},{x:P(i.prev.x,o,t),y:i.prev.y}))}return r},animationMatchBy:x,connectNulls:!1,dot:!0,fill:`#fff`,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`line`,shape:Le,stroke:`#3182bd`,strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:O.line,type:`linear`},rt=e=>{var t=e.dataKey,n=e.name,r=e.stroke,i=e.legendType;return[{inactive:e.hide,dataKey:t,type:i,color:r,value:pe(n,t),payload:e}]},it=I.memo(e=>{var t=e.dataKey,n=e.data,r=e.stroke,i=e.strokeWidth,a=e.fill,o=e.name,c=e.hide,l=e.unit,u=e.formatter,d=e.tooltipType,f=e.id,p={dataDefinedOnItem:n,getPosition:s,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:t,nameKey:void 0,name:pe(o,t),hide:c,type:d,color:r,unit:l,formatter:u,graphicalItemId:f}};return I.createElement(h,{tooltipEntrySettings:p})});function at(e){var t=e.clipPathId,n=e.points,r=e.props,i=r.dot,a=r.dataKey,o=r.needClip;r.id;var s=X(r,Je),c=b(s);return I.createElement(H,{points:n,dot:i,className:`recharts-line-dots`,dotClassName:`recharts-line-dot`,dataKey:a,baseProps:c,needClip:o,clipPathId:t})}function ot(e){var t=e.showLabels,n=e.children,r=e.points,i=(0,I.useMemo)(()=>r?.map(e=>{var t={x:e.x??0,y:e.y??0,width:0,lowerWidth:0,upperWidth:0,height:0};return Q(Q({},t),{},{value:e.value,payload:e.payload,viewBox:t,parentViewBox:void 0,fill:void 0})}),[r]);return I.createElement(ge,{value:t?i:void 0},n)}function st(e){var t=e.clipPathId,n=e.pathRef,r=e.points,i=e.props,a=e.animationElapsedTime,o=e.isAnimating,s=e.isEntrance,c=e.visibleLength,l=i.type,u=i.layout,f=i.connectNulls,p=i.needClip,m=i.shape,h=i.strokeDasharray,g=X(i,Ye),_=Q(Q({},d(g)),{},{fill:`none`,className:`recharts-line-curve`,clipPath:p?`url(#clipPath-${t})`:void 0,points:r,type:l,layout:u,connectNulls:f,strokeDasharray:h??i.strokeDasharray,pathRef:n,animationElapsedTime:a,isAnimating:o,isEntrance:i.animateNewValues?s:!1,visibleLength:c});return I.createElement(I.Fragment,null,r?.length>1&&I.createElement(v,{option:m,DefaultShape:$.shape,shapeProps:_}),I.createElement(at,{points:r,clipPathId:t,props:i}))}function ct(e){var t=e.clipPathId,n=e.props,i=e.pathRef,o=e.previousPointsRef,s=n.points,c=n.isAnimationActive,l=n.animationBegin,u=n.animationDuration,d=n.animationEasing,f=n.animationMatchBy,p=n.animationInterpolateFn,m=n.layout,h=tt(i.current),g=ce(n.onAnimationStart,n.onAnimationEnd),_=g.isAnimating,v=g.handleAnimationStart,y=g.handleAnimationEnd,b=!_,x=Re(s),S=(0,I.useCallback)(e=>e>0&&h>0,[h]);return I.createElement(ot,{points:s,showLabels:b},n.children,I.createElement(r,{animationInput:s,animationIdPrefix:`recharts-line-`,items:s,previousItemsRef:o,isAnimationActive:c,animationBegin:l,animationDuration:u,animationEasing:d,onAnimationStart:v,onAnimationEnd:y,animationInterpolateFn:p,animationMatchBy:f,shouldUpdatePreviousRef:S,layout:m},(e,r,a)=>{var o=_||r<1,s=o?x(r,h):null;return I.createElement(st,{props:n,points:e,clipPathId:t,pathRef:i,animationElapsedTime:r,isAnimating:o,isEntrance:a,visibleLength:s})}),I.createElement(a,{label:n.label}))}function lt(e){var t=e.clipPathId,n=e.props,r=(0,I.useRef)(null),i=(0,I.useRef)(null);return I.createElement(ct,{props:n,clipPathId:t,previousPointsRef:r,pathRef:i})}var ut=(e,t)=>({x:e.x??void 0,y:e.y??void 0,value:e.value,errorVal:ie(e.payload,t)}),dt=class extends I.Component{render(){var e=this.props,t=e.hide,n=e.dot,r=e.points,a=e.className,s=e.xAxisId,c=e.yAxisId,l=e.top,u=e.left,d=e.width,f=e.height,p=e.id,m=e.needClip,h=e.zIndex;if(t)return null;var g=i(`recharts-line`,a),_=p,v=qe(n),y=v.r,b=v.strokeWidth,x=S(n),C=y*2+b,w=m?`url(#clipPath-${x?``:`dots-`}${_})`:void 0;return I.createElement(D,{zIndex:h},I.createElement(E,{className:g},m&&I.createElement(`defs`,null,I.createElement(he,{clipPathId:_,xAxisId:s,yAxisId:c}),!x&&I.createElement(`clipPath`,{id:`clipPath-dots-${_}`},I.createElement(`rect`,{x:u-C/2,y:l-C/2,width:d+C,height:f+C}))),I.createElement(o,{xAxisId:s,yAxisId:c,data:r,dataPointFormatter:ut,errorBarOffset:0},I.createElement(lt,{props:this.props,clipPathId:_}))),I.createElement(G,{activeDot:this.props.activeDot,points:r,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:w}))}};function ft(e){var t=k(e,$),n=t.activeDot,r=t.animateNewValues,i=t.animationBegin,a=t.animationDuration,o=t.animationEasing,s=t.connectNulls,c=t.dot,l=t.hide,d=t.isAnimationActive,f=t.label,p=t.legendType,m=t.xAxisId,h=t.yAxisId,g=t.id,_=X(t,Xe),v=C(m,h).needClip,y=u(),b=ne(),x=N(),S=A(e=>Ke(e,m,h,x,g));if(b!==`horizontal`&&b!==`vertical`||S==null||y==null)return null;var w=y.height,T=y.width,E=y.x,D=y.y;return I.createElement(dt,Y({},_,{id:g,connectNulls:s,dot:c,activeDot:n,animateNewValues:r,animationBegin:i,animationDuration:a,animationEasing:o,isAnimationActive:d,hide:l,label:f,legendType:p,xAxisId:m,yAxisId:h,points:S,layout:b,height:w,width:T,left:E,top:D,needClip:v}))}function pt(e){var t=e.layout,n=e.xAxis,r=e.yAxis,i=e.xAxisTicks,a=e.yAxisTicks,o=e.dataKey,s=e.bandSize;return e.displayedData.map((e,c)=>{var l=ie(e,o);if(t===`horizontal`)return{x:re({axis:n,ticks:i,bandSize:s,entry:e,index:c}),y:(F(l)?null:r.scale.map(l))??null,value:l,payload:e};var u=F(l)?null:n.scale.map(l),d=re({axis:r,ticks:a,bandSize:s,entry:e,index:c});return u==null||d==null?null:{x:u,y:d,value:l,payload:e}}).filter(Boolean)}function mt(e){var t=k(e,$),n=N();return I.createElement(y,{id:t.id,type:`line`},e=>I.createElement(I.Fragment,null,I.createElement(f,{legendPayload:rt(t)}),I.createElement(it,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:e}),I.createElement(c,{type:`line`,id:e,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:n}),I.createElement(ft,Y({},t,{id:e}))))}var ht=I.memo(mt,le);ht.displayName=`Line`;var gt=[`axis`],_t=(0,I.forwardRef)((e,t)=>I.createElement(se,{chartName:`ComposedChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:gt,tooltipPayloadSearcher:m,categoricalChartProps:e,ref:t})),vt=t(),yt=3.5;function bt(e){return function({cx:t,cy:n,value:r,index:i}){return typeof r!=`number`||r===0||t===void 0||n===void 0?(0,vt.jsx)(`g`,{},i):(0,vt.jsx)(`circle`,{cx:t,cy:n,r:yt,fill:e,stroke:`var(--surface-raised)`,strokeWidth:1.5},i)}}export{G as a,qe as i,_t as n,H as o,ht as r,bt as t};
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <title>Backlog</title>
7
- <script type="module" crossorigin src="/assets/index-AJ1Qzly1.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-C8xqRmo-.js"></script>
8
8
  </head>
9
9
  <body>
10
10
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "p-backlog",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "description": "Keep pull requests clean and audit findings safe: a local, autonomous backlog for Claude Code. The agent files out-of-scope issues as Markdown tasks with context and re-checks them as code changes. Optional web UI with metrics.",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -50,6 +50,7 @@
50
50
  "dev": "concurrently -k -n server,web \"tsx watch src/server/main.ts\" \"vite\"",
51
51
  "test:e2e": "playwright test",
52
52
  "screenshots": "npm run build && tsx scripts/screenshots/make.ts",
53
+ "plugins": "tsx scripts/build-plugins.ts",
53
54
  "test:package": "vitest run --config vitest.package.config.ts",
54
55
  "prepare": "npm run build",
55
56
  "test:coverage": "vitest run --coverage",
@@ -112,8 +112,8 @@ description: Use when, while working on code, you notice a problem outside the c
112
112
 
113
113
  ## Перепроверить задачи
114
114
 
115
- Когда: сообщение хука «после последней проверки менялся код задач», просьба «проверь беклог» или
116
- «почисти беклог».
115
+ Когда: сообщение хука «после последней проверки менялся код задач» (в Cursor оно приходит следующим
116
+ сообщением), просьба «проверь беклог» или «почисти беклог».
117
117
 
118
118
  1. `backlog check --json` из репозитория проекта (из другого каталога — `--project <id>`). Висячие ссылки,
119
119
  завершённые эпики и сдвинутые `source` он уже исправил сам — это поле `fixed`, список `{ kind, taskId, … }`:
@@ -120,8 +120,8 @@ array) — fix them together, closing each one.
120
120
 
121
121
  ## Re-check tasks
122
122
 
123
- When: the hook message "code changed for tasks since the last check", a request to "check the backlog", or
124
- "clean up the backlog".
123
+ When: the hook message "code changed for tasks since the last check" (in Cursor it arrives as a follow-up
124
+ message), a request to "check the backlog", or "clean up the backlog".
125
125
 
126
126
  1. `backlog check --json` from the project's repository (from another directory — `--project <id>`).
127
127
  Dangling references, completed epics, and shifted `source` — it already fixed those itself; that's the