agentwrangler 0.1.1-next.fbbbe7f → 0.1.1-next.fbd0f08
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/dist/detector/measurement.js +3 -2
- package/dist/ingest/pricing.js +6 -0
- package/dist/query/api/outcomes.js +2 -1
- package/dist/query/api/overview.js +5 -1
- package/dist/ui/assets/{BarChart-p1usctxJ.js → BarChart-BwFZrcLn.js} +3 -3
- package/dist/ui/assets/{BriefsPage-CneqLVGC.js → BriefsPage-CtJwHLOh.js} +1 -1
- package/dist/ui/assets/CacheWriteSpikesChart-zJIJWO41.js +1 -0
- package/dist/ui/assets/{chart-theme-JH5aQymO.js → CartesianChart-qApXl3Ak.js} +36 -36
- package/dist/ui/assets/{Chip-Bu6udQGq.js → Chip-Cpt_fEc9.js} +1 -1
- package/dist/ui/assets/ComposedChart-DYf1wymW.js +1 -0
- package/dist/ui/assets/{EmptyState-CvQeJjjG.js → EmptyState-DL8gAVnJ.js} +1 -1
- package/dist/ui/assets/FlavorDecomposition-CvJW78M9.js +1 -0
- package/dist/ui/assets/{FrictionCell-OafGLGxT.js → FrictionCell-DciiSd3L.js} +1 -1
- package/dist/ui/assets/{GlossaryPage-BmOP3Syj.js → GlossaryPage-BMkZGt2D.js} +1 -1
- package/dist/ui/assets/{HotSessionsPage-FoxuuDLF.js → HotSessionsPage-Ejn385bb.js} +1 -1
- package/dist/ui/assets/{InfoTip-Dx7BHpBu.js → InfoTip-Ckc9_LpJ.js} +1 -1
- package/dist/ui/assets/{Legend--q6-rQGk.js → Legend-C_YMp0Rv.js} +3 -3
- package/dist/ui/assets/{Line-DzVtUwF4.js → Line-DU4UvEBO.js} +1 -1
- package/dist/ui/assets/OverviewPage-BcEKdWZj.js +2 -0
- package/dist/ui/assets/{RecommendationsPage-CRTpzcHs.js → RecommendationsPage-CHfuNP_W.js} +1 -1
- package/dist/ui/assets/{Scatter-Cr_hCkjG.js → Scatter-CNetVLuX.js} +1 -1
- package/dist/ui/assets/SessionDetailPage-CYm5Gxo0.js +1 -0
- package/dist/ui/assets/{SettingsPage-BPVQyjlc.js → SettingsPage-DjgGZj8N.js} +1 -1
- package/dist/ui/assets/{Skeleton-CcD61x7q.js → Skeleton-BO9mXDXU.js} +1 -1
- package/dist/ui/assets/{SpendPercentileChip-BaQhJQAn.js → SpendPercentileChip-BvaZ8Lzi.js} +1 -1
- package/dist/ui/assets/TrendChart-DKy9aH5G.js +1 -0
- package/dist/ui/assets/WorkspaceDetailPage-dutc4EpN.js +1 -0
- package/dist/ui/assets/WorkspacesPage-isSML2fh.js +1 -0
- package/dist/ui/assets/chart-theme-BPPMjbVX.js +1 -0
- package/dist/ui/assets/graphicalItemSelectors-DgKF1Dg2.js +1 -0
- package/dist/ui/assets/{index-DRhoA51c.js → index-CUyiomzU.js} +2 -2
- package/dist/ui/assets/{useExperimentalActions-BPDdswCN.js → useExperimentalActions-BeDSmwBu.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/CacheWriteSpikesChart-zNRZbzy9.js +0 -1
- package/dist/ui/assets/ComposedChart-8D5E-Po_.js +0 -1
- package/dist/ui/assets/FlavorDecomposition-xcMLA50f.js +0 -1
- package/dist/ui/assets/OverviewPage-BjSQYNvS.js +0 -2
- package/dist/ui/assets/SessionDetailPage-Dd3u8kVI.js +0 -1
- package/dist/ui/assets/TrendChart-Baz3GGgE.js +0 -1
- package/dist/ui/assets/WorkspaceDetailPage-yk4z_EtQ.js +0 -1
- package/dist/ui/assets/WorkspacesPage-BDtclXJP.js +0 -1
- package/dist/ui/assets/graphicalItemSelectors-CCbl8AKC.js +0 -1
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
*
|
|
21
21
|
* Injected `now: Date` everywhere — never call new Date() in this module.
|
|
22
22
|
*/
|
|
23
|
+
import { PREMIUM_MODEL_SQL } from "../ingest/pricing.js";
|
|
23
24
|
import { GLOBAL_WORKSPACE_ID } from "./context-probe.js";
|
|
24
25
|
import { isD1SourceBackedRecommendation, parseD1SourceIdentity } from "./d1-source-identity.js";
|
|
25
26
|
/** Wait ≥1 day after adoption before entering MEASURING. */
|
|
@@ -82,14 +83,14 @@ function avgFloorContext(db, scopeWorkspaceId, fromIso, toIso) {
|
|
|
82
83
|
/**
|
|
83
84
|
* D4 signal: routing-adherence score = ROUND(100 × (1 − premium_share)) over
|
|
84
85
|
* non-sidechain reconciled turns in [fromIso, toIso), where premium = model
|
|
85
|
-
*
|
|
86
|
+
* matches PREMIUM_MODEL_SQL (Opus/Fable/Mythos). The data-model's "mechanical turn" classifier is not yet
|
|
86
87
|
* shipped, so all reconciled turns are the mechanical set (conservative proxy —
|
|
87
88
|
* documented in the W4 build digest).
|
|
88
89
|
*/
|
|
89
90
|
function routingAdherenceScore(db, scopeWorkspaceId, fromIso, toIso) {
|
|
90
91
|
const scoped = scopeWorkspaceId !== null;
|
|
91
92
|
const sql = `SELECT COUNT(*) AS n,
|
|
92
|
-
AVG(CASE WHEN
|
|
93
|
+
AVG(CASE WHEN ${PREMIUM_MODEL_SQL} THEN 1.0 ELSE 0.0 END) AS premium_share
|
|
93
94
|
FROM turns
|
|
94
95
|
WHERE is_sidechain = 0 AND provisional = 0 AND ts >= ? AND ts < ? ${scoped ? "AND workspace_id = ?" : ""}`;
|
|
95
96
|
const params = scoped ? [fromIso, toIso, scopeWorkspaceId] : [fromIso, toIso];
|
package/dist/ingest/pricing.js
CHANGED
|
@@ -62,6 +62,12 @@ export function modelTier(model) {
|
|
|
62
62
|
}
|
|
63
63
|
return null;
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* SQL predicate matching premium-priced models on a `model` column: Opus plus
|
|
67
|
+
* the Fable/Mythos families (Fable's $10/$50 base is 2× Opus). Shared by every
|
|
68
|
+
* premium-share aggregate so the family list can't drift between queries.
|
|
69
|
+
*/
|
|
70
|
+
export const PREMIUM_MODEL_SQL = "(model LIKE '%opus%' OR model LIKE '%fable%' OR model LIKE '%mythos%')";
|
|
65
71
|
function addDaysIso(iso, days) {
|
|
66
72
|
const d = new Date(iso);
|
|
67
73
|
d.setUTCDate(d.getUTCDate() + days);
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* SQL references: Data Model v2 §2 lines 261-275 / 303-314 / 329-334.
|
|
13
13
|
*/
|
|
14
|
+
import { PREMIUM_MODEL_SQL } from "../../ingest/pricing.js";
|
|
14
15
|
import { getQueryDb } from "../db-context.js";
|
|
15
16
|
import { buildResponse } from "../envelope.js";
|
|
16
17
|
// ---------------------------------------------------------------------------
|
|
@@ -136,7 +137,7 @@ export function listWorkspaceOutcomes() {
|
|
|
136
137
|
const lrByWs = new Map(lrRows.map((r) => [r.workspace_id, r.linkage_rate]));
|
|
137
138
|
const adherenceRows = db
|
|
138
139
|
.prepare(`SELECT workspace_id, COUNT(*) AS n,
|
|
139
|
-
AVG(CASE WHEN
|
|
140
|
+
AVG(CASE WHEN ${PREMIUM_MODEL_SQL} THEN 1.0 ELSE 0.0 END) AS premium_share
|
|
140
141
|
FROM turns
|
|
141
142
|
WHERE is_sidechain = 0 AND provisional = 0
|
|
142
143
|
GROUP BY workspace_id`)
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* windows/cutoffs, maps rows to the frozen DTOs, and attaches the envelope.
|
|
11
11
|
*/
|
|
12
12
|
import { loadConfig } from "../../daemon/config.js";
|
|
13
|
+
import { PREMIUM_MODEL_SQL } from "../../ingest/pricing.js";
|
|
13
14
|
import { getQueryDb } from "../db-context.js";
|
|
14
15
|
import { forecastFromDb } from "../forecast.js";
|
|
15
16
|
import { contextPerTurnByModel, globalSpend, hasStaleClaim, liveSessionCount, liveSessions, spendByWorkspace, } from "../spend.js";
|
|
@@ -224,7 +225,9 @@ export function listWorkspaces(filters) {
|
|
|
224
225
|
+ cache_write_5m + cache_write_1h + cache_write_other)
|
|
225
226
|
ELSE NULL END AS cache_write_pct,
|
|
226
227
|
CAST(SUM(CASE WHEN model LIKE '%opus%' THEN 1 ELSE 0 END) AS REAL)
|
|
227
|
-
/ NULLIF(COUNT(*), 0) AS opus_pct
|
|
228
|
+
/ NULLIF(COUNT(*), 0) AS opus_pct,
|
|
229
|
+
CAST(SUM(CASE WHEN ${PREMIUM_MODEL_SQL} THEN 1 ELSE 0 END) AS REAL)
|
|
230
|
+
/ NULLIF(COUNT(*), 0) AS premium_pct
|
|
228
231
|
FROM turns WHERE ts >= ? AND ts < ?
|
|
229
232
|
GROUP BY workspace_id`)
|
|
230
233
|
.all(from, to));
|
|
@@ -245,6 +248,7 @@ export function listWorkspaces(filters) {
|
|
|
245
248
|
avg_context_per_turn: agg?.avg_context_per_turn ?? null,
|
|
246
249
|
cache_write_pct: agg?.cache_write_pct ?? null,
|
|
247
250
|
opus_pct: agg?.opus_pct ?? null,
|
|
251
|
+
premium_pct: agg?.premium_pct ?? null,
|
|
248
252
|
};
|
|
249
253
|
});
|
|
250
254
|
return makeResponse({ items, next_cursor: null }, {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{r as u}from"./index-
|
|
2
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ia(e,a){if(e){if(typeof e=="string")return fe(e,a);var t={}.toString.call(e).slice(8,-1);return t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set"?Array.from(e):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?fe(e,a):void 0}}function fe(e,a){(a==null||a>e.length)&&(a=e.length);for(var t=0,r=Array(a);t<a;t++)r[t]=e[t];return r}function Pa(e,a){var t=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t!=null){var r,n,i,o,s=[],c=!0,l=!1;try{if(i=(t=t.call(e)).next,a!==0)for(;!(c=(r=i.call(t)).done)&&(s.push(r.value),s.length!==a);c=!0);}catch(d){l=!0,n=d}finally{try{if(!c&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(l)throw n}}return s}}function ka(e){if(Array.isArray(e))return e}var me=(e,a,t)=>{var r=t??e;if(!V(r))return
|
|
3
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mt(e,a){if(e){if(typeof e=="string")return ye(e,a);var t={}.toString.call(e).slice(8,-1);return t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set"?Array.from(e):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?ye(e,a):void 0}}function ye(e,a){(a==null||a>e.length)&&(a=e.length);for(var t=0,r=Array(a);t<a;t++)r[t]=e[t];return r}function pt(e,a){var t=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t!=null){var r,n,i,o,s=[],c=!0,l=!1;try{if(i=(t=t.call(e)).next,a!==0)for(;!(c=(r=i.call(t)).done)&&(s.push(r.value),s.length!==a);c=!0);}catch(d){l=!0,n=d}finally{try{if(!c&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(l)throw n}}return s}}function ht(e){if(Array.isArray(e))return e}function D(){return D=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},D.apply(null,arguments)}function xe(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function A(e){for(var a=1;a<arguments.length;a++){var t=arguments[a]!=null?arguments[a]:{};a%2?xe(Object(t),!0).forEach(function(r){yt(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):xe(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function yt(e,a,t){return(a=xt(a))in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function xt(e){var a=gt(e,"string");return typeof a=="symbol"?a:a+""}function gt(e,a){if(typeof e!="object"||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var r=t.call(e,a);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}function U(e,a){if(e==null)return{};var t,r,n=bt(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)===-1&&{}.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}function bt(e,a){if(e==null)return{};var t={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(a.indexOf(r)!==-1)continue;t[r]=e[r]}return t}var At=e=>{var a=e.dataKey,t=e.name,r=e.fill,n=e.legendType,i=e.hide;return[{inactive:i,dataKey:a,type:n,color:r,value:Pe(t,a),payload:e}]},It=u.memo(e=>{var a=e.dataKey,t=e.stroke,r=e.strokeWidth,n=e.fill,i=e.name,o=e.hide,s=e.unit,c=e.formatter,l=e.tooltipType,d=e.id,v={dataDefinedOnItem:void 0,getPosition:ea,settings:{stroke:t,strokeWidth:r,fill:n,dataKey:a,nameKey:void 0,name:Pe(i,a),hide:o,type:l,color:n,unit:s,formatter:c,graphicalItemId:d}};return u.createElement(Je,{tooltipEntrySettings:v})});function Pt(e){var a=G(Be),t=e.data,r=e.dataKey,n=e.background,i=e.allOtherBarProps,o=i.onMouseEnter,s=i.onMouseLeave,c=i.onClick,l=U(i,ut),d=Ee(o,r,i.id),v=Se(s),f=Oe(c,r,i.id);if(!n||t==null)return null;var y=ca(n);return u.createElement(ae,{zIndex:Ma(n,ee.barBackground)},t.map((m,x)=>{m.value;var h=m.background;m.tooltipPosition;var b=U(m,ct);if(!h)return null;var g=d(m,m.originalDataIndex),I=v(m,m.originalDataIndex),p=f(m,m.originalDataIndex),k=A(A(A(A(A({option:n,isActive:String(m.originalDataIndex)===a},b),{},{fill:"#eee"},h),y),we(l,m,x)),{},{onMouseEnter:g,onMouseLeave:I,onClick:p,dataKey:r,index:x,className:"recharts-bar-background-rectangle"});return u.createElement(re,D({key:"background-bar-".concat(x)},k))}))}function kt(e){var a=e.showLabels,t=e.children,r=e.rects,n=r==null?void 0:r.map(i=>{var o={x:i.x,y:i.y,width:i.width,lowerWidth:i.width,upperWidth:i.width,height:i.height};return A(A({},o),{},{value:i.value,payload:i.payload,parentViewBox:i.parentViewBox,viewBox:o,fill:i.fill})});return u.createElement(ma,{value:a?n:void 0},t)}function Bt(e){var a=e.shape,t=e.activeBar,r=e.baseProps,n=e.entry,i=e.index,o=e.dataKey,s=G(Be),c=G(ha),l=t&&String(n.originalDataIndex)===s&&(c==null||o===c),d=s!=null&&(String(n.originalDataIndex)!==s||c!=null&&o!==c),v=u.useState(!1),f=he(v,2),y=f[0],m=f[1],x=u.useState(!1),h=he(x,2),b=h[0],g=h[1];u.useEffect(()=>{var P;return l?(m(!0),P=requestAnimationFrame(()=>{g(!0)})):(g(!1),d&&m(!1)),()=>{cancelAnimationFrame(P)}},[l,d]);var I=u.useCallback(()=>{l||m(!1)},[l]),p=l&&b,k=l||y,B;l?t===!0?B=a:B=t:B=a;var w=u.createElement(re,D({},r,{name:String(r.name)},n,{isActive:p,option:B,index:i,dataKey:o,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:I}));return k?u.createElement(ae,{zIndex:ee.activeBar},u.createElement(je,{index:n.originalDataIndex},w)):w}function Et(e){var a=e.shape,t=e.baseProps,r=e.entry,n=e.index,i=e.dataKey;return u.createElement(re,D({},t,{name:String(t.name)},r,{isActive:!1,option:a,index:n,dataKey:i,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function St(e){var a,t=e.data,r=e.props,n=e.animationElapsedTime,i=e.isAnimating,o=e.isEntrance,s=(a=pa(r))!==null&&a!==void 0?a:{},c=s.id,l=U(s,dt),d=r.shape,v=r.dataKey,f=r.activeBar,y=r.onMouseEnter,m=r.onClick,x=r.onMouseLeave,h=U(r,vt),b=Ee(y,v,c),g=Se(x),I=Oe(m,v,c);return t?u.createElement(u.Fragment,null,t.map((p,k)=>u.createElement(je,D({index:p.originalDataIndex,key:"rectangle-".concat(p==null?void 0:p.x,"-").concat(p==null?void 0:p.y,"-").concat(p==null?void 0:p.value,"-").concat(k),className:"recharts-bar-rectangle"},we(h,p,k),{onMouseEnter:b(p,p.originalDataIndex),onMouseLeave:g(p,p.originalDataIndex),onClick:I(p,p.originalDataIndex)}),f?u.createElement(Bt,{shape:d,activeBar:f,baseProps:l,entry:p,index:k,dataKey:v,animationElapsedTime:n,isAnimating:i,isEntrance:o}):u.createElement(Et,{shape:d,baseProps:l,entry:p,index:k,dataKey:v,animationElapsedTime:n,isAnimating:i,isEntrance:o})))):null}var Ot=(e,a,t)=>e==null?[]:a===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>{if(r.status==="removed")return t==="horizontal"?[A(A({},r.prev),{},{height:O(r.prev.height,0,a),y:O(r.prev.y,r.prev.y+r.prev.height,a)})]:[A(A({},r.prev),{},{width:O(r.prev.width,0,a)})];if(r.status==="matched")return[A(A({},r.next),{},{x:O(r.prev.x,r.next.x,a),y:O(r.prev.y,r.next.y,a),width:O(r.prev.width,r.next.width,a),height:O(r.prev.height,r.next.height,a)})];var n=r.next;return t==="horizontal"?[A(A({},n),{},{height:O(0,n.height,a),y:O(n.stackedBarStart,n.y,a)})]:[A(A({},n),{},{width:O(0,n.width,a),x:O(n.stackedBarStart,n.x,a)})]});function wt(e){var a=e.props,t=e.previousRectanglesRef,r=a.data,n=a.isAnimationActive,i=a.animationBegin,o=a.animationDuration,s=a.animationEasing,c=a.animationInterpolateFn,l=a.layout,d=da(a.onAnimationStart,a.onAnimationEnd),v=d.isAnimating,f=d.handleAnimationStart,y=d.handleAnimationEnd;return u.createElement(kt,{showLabels:!v,rects:r},u.createElement(va,{animationInput:r,animationIdPrefix:"recharts-bar-",items:r,previousItemsRef:t,isAnimationActive:n,animationBegin:i,animationDuration:o,animationEasing:s,onAnimationStart:f,onAnimationEnd:y,animationInterpolateFn:c,animationMatchBy:a.animationMatchBy,layout:l},(m,x,h)=>u.createElement(_,null,u.createElement(St,{props:a,data:m,animationElapsedTime:x,isAnimating:v||x<1,isEntrance:h}))),u.createElement(fa,{label:a.label}),a.children)}function Ct(e){var a=u.useRef(null);return u.createElement(wt,{previousRectanglesRef:a,props:e})}var Me=0,Dt=(e,a)=>{var t=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:t,errorVal:ke(e,a)}};class jt extends u.PureComponent{render(){var a=this.props,t=a.hide,r=a.data,n=a.dataKey,i=a.className,o=a.xAxisId,s=a.yAxisId,c=a.needClip,l=a.background,d=a.id;if(t||r==null)return null;var v=oa("recharts-bar",i),f=d;return u.createElement(_,{className:v,id:d},c&&u.createElement("defs",null,u.createElement(la,{clipPathId:f,xAxisId:o,yAxisId:s})),u.createElement(_,{className:"recharts-bar-rectangles",clipPath:c?"url(#clipPath-".concat(f,")"):void 0},u.createElement(Pt,{data:r,dataKey:n,background:l,allOtherBarProps:this.props}),u.createElement(Ct,this.props)))}}var Mt={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:Ot,animationMatchBy:He,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:Me,shape:te,xAxisId:0,yAxisId:0,zIndex:ee.bar};function Kt(e){var a=e.xAxisId,t=e.yAxisId,r=e.hide,n=e.legendType,i=e.minPointSize,o=e.activeBar,s=e.animationBegin,c=e.animationDuration,l=e.animationEasing,d=e.isAnimationActive,v=aa(a,t),f=v.needClip,y=ta(),m=Ie(),x=ra(e.children,ia),h=G(I=>tt(I,e.id,m,x));if(y!=="vertical"&&y!=="horizontal")return null;var b,g=h==null?void 0:h[0];return g==null||g.height==null||g.width==null?b=0:b=y==="vertical"?g.height/2:g.width/2,u.createElement(na,{xAxisId:a,yAxisId:t,data:h,dataPointFormatter:Dt,errorBarOffset:b},u.createElement(jt,D({},e,{layout:y,needClip:f,data:h,xAxisId:a,yAxisId:t,hide:r,legendType:n,minPointSize:i,activeBar:o,animationBegin:s,animationDuration:c,animationEasing:l,isAnimationActive:d})))}function zt(e){var a=e.layout,t=e.barSettings,r=t.dataKey,n=t.minPointSize,i=t.hasCustomShape,o=e.pos,s=e.bandSize,c=e.xAxis,l=e.yAxis,d=e.xAxisTicks,v=e.yAxisTicks,f=e.stackedData,y=e.displayedData,m=e.offset,x=e.cells,h=e.parentViewBox,b=e.dataStartIndex,g=a==="horizontal"?l:c,I=f?g.scale.domain():null,p=sa({numericAxis:g}),k=g.scale.map(p);return y.map((B,w)=>{var P,L,M,E,S,Z;if(f){var ne=f[w+b];if(ne==null)return null;P=ua(ne,I)}else P=ke(B,r),Array.isArray(P)||(P=[p,P]);var C=Ra(n,Me)(P[1],w);if(a==="horizontal"){var q,H=l.scale.map(P[0]),N=l.scale.map(P[1]);if(H==null||N==null)return null;L=de({axis:c,ticks:d,bandSize:s,offset:o.offset,entry:B,index:w}),M=(q=N??H)!==null&&q!==void 0?q:void 0,E=o.size;var ie=H-N;if(S=ya(ie)?0:ie,Z={x:L,y:m.top,width:E,height:m.height},Math.abs(C)>0&&Math.abs(S)<Math.abs(C)){var oe=ve(S||C)*(Math.abs(C)-Math.abs(S));M-=oe,S+=oe}}else{var X=c.scale.map(P[0]),le=c.scale.map(P[1]);if(X==null||le==null)return null;if(L=X,M=de({axis:l,ticks:v,bandSize:s,offset:o.offset,entry:B,index:w}),E=le-X,S=o.size,Z={x:m.left,y:M,width:m.width,height:S},Math.abs(C)>0&&Math.abs(E)<Math.abs(C)){var Ke=ve(E||C)*(Math.abs(C)-Math.abs(E));E+=Ke}}if(L==null||M==null||E==null||S==null||!i&&(E===0||S===0))return null;var ze=A(A({},B),{},{stackedBarStart:k,x:L,y:M,width:E,height:S,value:f?P:P[1],payload:B,background:Z,tooltipPosition:{x:L+E/2,y:M+S/2},parentViewBox:h,originalDataIndex:w},x&&x[w]&&x[w].props);return ze}).filter(Boolean)}function Lt(e){var a=qe(e,Mt),t=ot(a.stackId),r=Ie();return u.createElement(Xe,{id:a.id,type:"bar"},n=>u.createElement(u.Fragment,null,u.createElement(Ye,{legendPayload:At(a)}),u.createElement(It,{dataKey:a.dataKey,stroke:a.stroke,strokeWidth:a.strokeWidth,fill:a.fill,name:a.name,hide:a.hide,unit:a.unit,formatter:a.formatter,tooltipType:a.tooltipType,id:n}),u.createElement(Qe,{type:"bar",id:n,data:void 0,xAxisId:a.xAxisId,yAxisId:a.yAxisId,zAxisId:0,dataKey:a.dataKey,stackId:t,hide:a.hide,barSize:a.barSize,minPointSize:a.minPointSize,maxBarSize:a.maxBarSize,isPanorama:r,hasCustomShape:a.shape!=null&&a.shape!==te}),u.createElement(ae,{zIndex:a.zIndex},u.createElement(Kt,D({},a,{id:n})))))}var Tt=u.memo(Lt,Ze);Tt.displayName="Bar";var Ft=["axis","item"],Wt=u.forwardRef((e,a)=>u.createElement(xa,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Ft,tooltipPayloadSearcher:ga,categoricalChartProps:e,ref:a}));export{Wt as B,Tt as a};
|
|
1
|
+
import{r as u}from"./index-CUyiomzU.js";import{aX as Le,a2 as V,aY as q,n as J,g as Te,aZ as Re,o as se,a1 as Fe,c as j,a_ as Ne,a$ as $e,s as F,a as We,d as T,e as R,f as ge,h as be,b0 as Ae,b1 as _e,b2 as Ge,k as ue,b3 as Ue,b4 as ce,x as Ve,L as _,p as Ze,r as Xe,D as ee,aN as Ye,t as Ie,v as He,S as qe,w as Je,Z as ae,y as O,z as Pe,A as Qe,B as ea,G as aa,E as ta,aO as ra,H as G,a9 as na,aP as ia,N as ke,J as oa,M as la,b5 as sa,b6 as ua,b7 as de,ay as Be,aR as Ee,aS as Se,aT as Oe,aA as ca,aa as we,U as da,W as va,_ as fa,$ as ma,l as pa,b8 as ha,a3 as ya,b9 as ve,a4 as xa,a5 as ga}from"./CartesianChart-qApXl3Ak.js";import{s as K,a as z}from"./graphicalItemSelectors-DgKF1Dg2.js";function ba(e,a){return ka(e)||Pa(e,a)||Ia(e,a)||Aa()}function Aa(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ia(e,a){if(e){if(typeof e=="string")return fe(e,a);var t={}.toString.call(e).slice(8,-1);return t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set"?Array.from(e):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?fe(e,a):void 0}}function fe(e,a){(a==null||a>e.length)&&(a=e.length);for(var t=0,r=Array(a);t<a;t++)r[t]=e[t];return r}function Pa(e,a){var t=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t!=null){var r,n,i,o,s=[],c=!0,l=!1;try{if(i=(t=t.call(e)).next,a!==0)for(;!(c=(r=i.call(t)).done)&&(s.push(r.value),s.length!==a);c=!0);}catch(d){l=!0,n=d}finally{try{if(!c&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(l)throw n}}return s}}function ka(e){if(Array.isArray(e))return e}var me=(e,a,t)=>{var r=t??e;if(!V(r))return q(r,a,0)},Ba=(e,a,t)=>{var r={},n=e.filter(Le),i=e.filter(l=>l.stackId==null),o=n.reduce((l,d)=>{var v=l[d.stackId];return v==null&&(v=[]),v.push(d),l[d.stackId]=v,l},r),s=Object.entries(o).map(l=>{var d,v=ba(l,2),f=v[0],y=v[1],m=y.map(h=>h.dataKey),x=me(a,t,(d=y[0])===null||d===void 0?void 0:d.barSize);return{stackId:f,dataKeys:m,barSize:x}}),c=i.map(l=>{var d=[l.dataKey].filter(f=>f!=null),v=me(a,t,l.barSize);return{stackId:void 0,dataKeys:d,barSize:v}});return[...s,...c]};function pe(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function W(e){for(var a=1;a<arguments.length;a++){var t=arguments[a]!=null?arguments[a]:{};a%2?pe(Object(t),!0).forEach(function(r){Ea(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):pe(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function Ea(e,a,t){return(a=Sa(a))in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function Sa(e){var a=Oa(e,"string");return typeof a=="symbol"?a:a+""}function Oa(e,a){if(typeof e!="object"||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var r=t.call(e,a);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}function wa(e,a,t,r,n){var i,o=r.length;if(!(o<1)){var s=q(e,t,0,!0),c,l=[];if(J((i=r[0])===null||i===void 0?void 0:i.barSize)){var d=!1,v=t/o,f=r.reduce((g,I)=>g+(I.barSize||0),0);f+=(o-1)*s,f>=t&&(f-=(o-1)*s,s=0),f>=t&&v>0&&(d=!0,v*=.9,f=o*v);var y=Math.round((t-f)/2),m={offset:y-s,size:0};c=r.reduce((g,I)=>{var p,k={stackId:I.stackId,dataKeys:I.dataKeys,position:{offset:m.offset+m.size+s,size:d?v:(p=I.barSize)!==null&&p!==void 0?p:0}},B=[...g,k];return m=k.position,B},l)}else{var x=q(a,t,0,!0);t-2*x-(o-1)*s<=0&&(s=0);var h=(t-2*x-(o-1)*s)/o;h>1&&(h=Math.round(h));var b=J(n)?Math.min(h,n):h;c=r.reduce((g,I,p)=>[...g,{stackId:I.stackId,dataKeys:I.dataKeys,position:{offset:x+o*(h-b)/2+(b+s)*p,size:b}}],l)}return c}}var Ca=(e,a,t,r,n,i,o)=>{var s=V(o)?a:o,c=wa(t,r,n!==i?n:i,e,s);return n!==i&&c!=null&&(c=c.map(l=>W(W({},l),{},{position:W(W({},l.position),{},{offset:l.position.offset-n/2})}))),c},Da=(e,a)=>{var t=Te(a);if(!(!e||t==null||a==null)){var r=a.stackId;if(r!=null){var n=e[r];if(n){var i=n.stackedData;if(i)return i.find(o=>o.key===t)}}}},ja=(e,a)=>{if(!(e==null||a==null)){var t=e.find(r=>r.stackId===a.stackId&&a.dataKey!=null&&r.dataKeys.includes(a.dataKey));if(t!=null)return t.position}};function Ma(e,a){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&J(e.zIndex)?e.zIndex:a}var Ka="Invariant failed";function za(e,a){throw new Error(Ka)}var La=["option"];function Ta(e,a){if(e==null)return{};var t,r,n=Ra(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)===-1&&{}.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}function Ra(e,a){if(e==null)return{};var t={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(a.indexOf(r)!==-1)continue;t[r]=e[r]}return t}var te=Re;function re(e){var a=e.option,t=Ta(e,La);return u.createElement(Fe,{option:a,DefaultShape:te,shapeProps:t,activeClassName:"recharts-active-bar",inActiveClassName:"recharts-inactive-bar"})}var Fa=function(a){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(r,n)=>{if(se(a))return a;var i=se(r)||V(r);return i?a(r,n):(i||za(),t)}},Na=(e,a,t)=>t,$a=(e,a)=>a,$=j([be,$a],(e,a)=>e.filter(t=>t.type==="bar").find(t=>t.id===a)),Wa=j([$],e=>e==null?void 0:e.maxBarSize),_a=(e,a,t,r)=>r,Ga=j([F,be,K,z,Na],(e,a,t,r,n)=>a.filter(i=>e==="horizontal"?i.xAxisId===t:i.yAxisId===r).filter(i=>i.isPanorama===n).filter(i=>i.hide===!1).filter(i=>i.type==="bar")),Ua=(e,a,t)=>{var r=F(e),n=K(e,a),i=z(e,a);if(!(n==null||i==null))return r==="horizontal"?ue(e,"yAxis",i,t):ue(e,"xAxis",n,t)},Va=(e,a)=>{var t=F(e),r=K(e,a),n=z(e,a);if(!(r==null||n==null))return t==="horizontal"?ce(e,"xAxis",r):ce(e,"yAxis",n)},Za=j([Ga,Ue,Va],Ba),Xa=(e,a,t)=>{var r,n,i=$(e,a);if(i==null)return 0;var o=K(e,a),s=z(e,a);if(o==null||s==null)return 0;var c=F(e),l=Ae(e),d=i.maxBarSize,v=V(d)?l:d,f,y;return c==="horizontal"?(f=T(e,"xAxis",o,t),y=R(e,"xAxis",o,t)):(f=T(e,"yAxis",s,t),y=R(e,"yAxis",s,t)),(r=(n=ge(f,y,!0))!==null&&n!==void 0?n:v)!==null&&r!==void 0?r:0},Ce=(e,a,t)=>{var r=F(e),n=K(e,a),i=z(e,a);if(!(n==null||i==null)){var o,s;return r==="horizontal"?(o=T(e,"xAxis",n,t),s=R(e,"xAxis",n,t)):(o=T(e,"yAxis",i,t),s=R(e,"yAxis",i,t)),ge(o,s)}},Ya=j([Za,Ae,_e,Ge,Xa,Ce,Wa],Ca),Ha=(e,a,t)=>{var r=K(e,a);if(r!=null)return T(e,"xAxis",r,t)},qa=(e,a,t)=>{var r=z(e,a);if(r!=null)return T(e,"yAxis",r,t)},Ja=(e,a,t)=>{var r=K(e,a);if(r!=null)return R(e,"xAxis",r,t)},Qa=(e,a,t)=>{var r=z(e,a);if(r!=null)return R(e,"yAxis",r,t)},et=j([Ya,$],ja),at=j([Ua,$],Da),tt=j([Ne,$e,Ha,qa,Ja,Qa,et,F,We,Ce,at,$,_a],(e,a,t,r,n,i,o,s,c,l,d,v,f)=>{var y=c.chartData,m=c.dataStartIndex,x=c.dataEndIndex;if(!(v==null||o==null||a==null||s!=="horizontal"&&s!=="vertical"||t==null||r==null||n==null||i==null||l==null)){var h=v.data,b;if(h!=null&&h.length>0?b=h:b=y==null?void 0:y.slice(m,x+1),b!=null)return zt({layout:s,barSettings:v,pos:o,parentViewBox:a,bandSize:l,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:i,stackedData:d,displayedData:b,offset:e,cells:f,dataStartIndex:m})}}),rt=["index"];function Q(){return Q=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},Q.apply(null,arguments)}function nt(e,a){if(e==null)return{};var t,r,n=it(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)===-1&&{}.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}function it(e,a){if(e==null)return{};var t={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(a.indexOf(r)!==-1)continue;t[r]=e[r]}return t}var De=u.createContext(void 0),ot=e=>{var a=u.useContext(De);if(a!=null)return a.stackId;if(e!=null)return Ve(e)},lt=(e,a)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(a),st=e=>{var a=u.useContext(De);if(a!=null){var t=a.stackId;return"url(#".concat(lt(t,e),")")}},je=e=>{var a=e.index,t=nt(e,rt),r=st(a);return u.createElement(_,Q({className:"recharts-bar-stack-layer",clipPath:r},t))},ut=["onMouseEnter","onMouseLeave","onClick"],ct=["value","background","tooltipPosition"],dt=["id"],vt=["onMouseEnter","onClick","onMouseLeave"];function he(e,a){return ht(e)||pt(e,a)||mt(e,a)||ft()}function ft(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
3
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mt(e,a){if(e){if(typeof e=="string")return ye(e,a);var t={}.toString.call(e).slice(8,-1);return t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set"?Array.from(e):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?ye(e,a):void 0}}function ye(e,a){(a==null||a>e.length)&&(a=e.length);for(var t=0,r=Array(a);t<a;t++)r[t]=e[t];return r}function pt(e,a){var t=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t!=null){var r,n,i,o,s=[],c=!0,l=!1;try{if(i=(t=t.call(e)).next,a!==0)for(;!(c=(r=i.call(t)).done)&&(s.push(r.value),s.length!==a);c=!0);}catch(d){l=!0,n=d}finally{try{if(!c&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(l)throw n}}return s}}function ht(e){if(Array.isArray(e))return e}function D(){return D=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},D.apply(null,arguments)}function xe(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function A(e){for(var a=1;a<arguments.length;a++){var t=arguments[a]!=null?arguments[a]:{};a%2?xe(Object(t),!0).forEach(function(r){yt(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):xe(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function yt(e,a,t){return(a=xt(a))in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function xt(e){var a=gt(e,"string");return typeof a=="symbol"?a:a+""}function gt(e,a){if(typeof e!="object"||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var r=t.call(e,a);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}function U(e,a){if(e==null)return{};var t,r,n=bt(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],a.indexOf(t)===-1&&{}.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}function bt(e,a){if(e==null)return{};var t={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(a.indexOf(r)!==-1)continue;t[r]=e[r]}return t}var At=e=>{var a=e.dataKey,t=e.name,r=e.fill,n=e.legendType,i=e.hide;return[{inactive:i,dataKey:a,type:n,color:r,value:Pe(t,a),payload:e}]},It=u.memo(e=>{var a=e.dataKey,t=e.stroke,r=e.strokeWidth,n=e.fill,i=e.name,o=e.hide,s=e.unit,c=e.formatter,l=e.tooltipType,d=e.id,v={dataDefinedOnItem:void 0,getPosition:ea,settings:{stroke:t,strokeWidth:r,fill:n,dataKey:a,nameKey:void 0,name:Pe(i,a),hide:o,type:l,color:n,unit:s,formatter:c,graphicalItemId:d}};return u.createElement(Qe,{tooltipEntrySettings:v})});function Pt(e){var a=G(Be),t=e.data,r=e.dataKey,n=e.background,i=e.allOtherBarProps,o=i.onMouseEnter,s=i.onMouseLeave,c=i.onClick,l=U(i,ut),d=Ee(o,r,i.id),v=Se(s),f=Oe(c,r,i.id);if(!n||t==null)return null;var y=ca(n);return u.createElement(ae,{zIndex:Ma(n,ee.barBackground)},t.map((m,x)=>{m.value;var h=m.background;m.tooltipPosition;var b=U(m,ct);if(!h)return null;var g=d(m,m.originalDataIndex),I=v(m,m.originalDataIndex),p=f(m,m.originalDataIndex),k=A(A(A(A(A({option:n,isActive:String(m.originalDataIndex)===a},b),{},{fill:"#eee"},h),y),we(l,m,x)),{},{onMouseEnter:g,onMouseLeave:I,onClick:p,dataKey:r,index:x,className:"recharts-bar-background-rectangle"});return u.createElement(re,D({key:"background-bar-".concat(x)},k))}))}function kt(e){var a=e.showLabels,t=e.children,r=e.rects,n=r==null?void 0:r.map(i=>{var o={x:i.x,y:i.y,width:i.width,lowerWidth:i.width,upperWidth:i.width,height:i.height};return A(A({},o),{},{value:i.value,payload:i.payload,parentViewBox:i.parentViewBox,viewBox:o,fill:i.fill})});return u.createElement(ma,{value:a?n:void 0},t)}function Bt(e){var a=e.shape,t=e.activeBar,r=e.baseProps,n=e.entry,i=e.index,o=e.dataKey,s=G(Be),c=G(ha),l=t&&String(n.originalDataIndex)===s&&(c==null||o===c),d=s!=null&&(String(n.originalDataIndex)!==s||c!=null&&o!==c),v=u.useState(!1),f=he(v,2),y=f[0],m=f[1],x=u.useState(!1),h=he(x,2),b=h[0],g=h[1];u.useEffect(()=>{var P;return l?(m(!0),P=requestAnimationFrame(()=>{g(!0)})):(g(!1),d&&m(!1)),()=>{cancelAnimationFrame(P)}},[l,d]);var I=u.useCallback(()=>{l||m(!1)},[l]),p=l&&b,k=l||y,B;l?t===!0?B=a:B=t:B=a;var w=u.createElement(re,D({},r,{name:String(r.name)},n,{isActive:p,option:B,index:i,dataKey:o,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:I}));return k?u.createElement(ae,{zIndex:ee.activeBar},u.createElement(je,{index:n.originalDataIndex},w)):w}function Et(e){var a=e.shape,t=e.baseProps,r=e.entry,n=e.index,i=e.dataKey;return u.createElement(re,D({},t,{name:String(t.name)},r,{isActive:!1,option:a,index:n,dataKey:i,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function St(e){var a,t=e.data,r=e.props,n=e.animationElapsedTime,i=e.isAnimating,o=e.isEntrance,s=(a=pa(r))!==null&&a!==void 0?a:{},c=s.id,l=U(s,dt),d=r.shape,v=r.dataKey,f=r.activeBar,y=r.onMouseEnter,m=r.onClick,x=r.onMouseLeave,h=U(r,vt),b=Ee(y,v,c),g=Se(x),I=Oe(m,v,c);return t?u.createElement(u.Fragment,null,t.map((p,k)=>u.createElement(je,D({index:p.originalDataIndex,key:"rectangle-".concat(p==null?void 0:p.x,"-").concat(p==null?void 0:p.y,"-").concat(p==null?void 0:p.value,"-").concat(k),className:"recharts-bar-rectangle"},we(h,p,k),{onMouseEnter:b(p,p.originalDataIndex),onMouseLeave:g(p,p.originalDataIndex),onClick:I(p,p.originalDataIndex)}),f?u.createElement(Bt,{shape:d,activeBar:f,baseProps:l,entry:p,index:k,dataKey:v,animationElapsedTime:n,isAnimating:i,isEntrance:o}):u.createElement(Et,{shape:d,baseProps:l,entry:p,index:k,dataKey:v,animationElapsedTime:n,isAnimating:i,isEntrance:o})))):null}var Ot=(e,a,t)=>e==null?[]:a===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>{if(r.status==="removed")return t==="horizontal"?[A(A({},r.prev),{},{height:O(r.prev.height,0,a),y:O(r.prev.y,r.prev.y+r.prev.height,a)})]:[A(A({},r.prev),{},{width:O(r.prev.width,0,a)})];if(r.status==="matched")return[A(A({},r.next),{},{x:O(r.prev.x,r.next.x,a),y:O(r.prev.y,r.next.y,a),width:O(r.prev.width,r.next.width,a),height:O(r.prev.height,r.next.height,a)})];var n=r.next;return t==="horizontal"?[A(A({},n),{},{height:O(0,n.height,a),y:O(n.stackedBarStart,n.y,a)})]:[A(A({},n),{},{width:O(0,n.width,a),x:O(n.stackedBarStart,n.x,a)})]});function wt(e){var a=e.props,t=e.previousRectanglesRef,r=a.data,n=a.isAnimationActive,i=a.animationBegin,o=a.animationDuration,s=a.animationEasing,c=a.animationInterpolateFn,l=a.layout,d=da(a.onAnimationStart,a.onAnimationEnd),v=d.isAnimating,f=d.handleAnimationStart,y=d.handleAnimationEnd;return u.createElement(kt,{showLabels:!v,rects:r},u.createElement(va,{animationInput:r,animationIdPrefix:"recharts-bar-",items:r,previousItemsRef:t,isAnimationActive:n,animationBegin:i,animationDuration:o,animationEasing:s,onAnimationStart:f,onAnimationEnd:y,animationInterpolateFn:c,animationMatchBy:a.animationMatchBy,layout:l},(m,x,h)=>u.createElement(_,null,u.createElement(St,{props:a,data:m,animationElapsedTime:x,isAnimating:v||x<1,isEntrance:h}))),u.createElement(fa,{label:a.label}),a.children)}function Ct(e){var a=u.useRef(null);return u.createElement(wt,{previousRectanglesRef:a,props:e})}var Me=0,Dt=(e,a)=>{var t=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:t,errorVal:ke(e,a)}};class jt extends u.PureComponent{render(){var a=this.props,t=a.hide,r=a.data,n=a.dataKey,i=a.className,o=a.xAxisId,s=a.yAxisId,c=a.needClip,l=a.background,d=a.id;if(t||r==null)return null;var v=oa("recharts-bar",i),f=d;return u.createElement(_,{className:v,id:d},c&&u.createElement("defs",null,u.createElement(la,{clipPathId:f,xAxisId:o,yAxisId:s})),u.createElement(_,{className:"recharts-bar-rectangles",clipPath:c?"url(#clipPath-".concat(f,")"):void 0},u.createElement(Pt,{data:r,dataKey:n,background:l,allOtherBarProps:this.props}),u.createElement(Ct,this.props)))}}var Mt={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:Ot,animationMatchBy:Ye,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:Me,shape:te,xAxisId:0,yAxisId:0,zIndex:ee.bar};function Kt(e){var a=e.xAxisId,t=e.yAxisId,r=e.hide,n=e.legendType,i=e.minPointSize,o=e.activeBar,s=e.animationBegin,c=e.animationDuration,l=e.animationEasing,d=e.isAnimationActive,v=aa(a,t),f=v.needClip,y=ta(),m=Ie(),x=ra(e.children,ia),h=G(I=>tt(I,e.id,m,x));if(y!=="vertical"&&y!=="horizontal")return null;var b,g=h==null?void 0:h[0];return g==null||g.height==null||g.width==null?b=0:b=y==="vertical"?g.height/2:g.width/2,u.createElement(na,{xAxisId:a,yAxisId:t,data:h,dataPointFormatter:Dt,errorBarOffset:b},u.createElement(jt,D({},e,{layout:y,needClip:f,data:h,xAxisId:a,yAxisId:t,hide:r,legendType:n,minPointSize:i,activeBar:o,animationBegin:s,animationDuration:c,animationEasing:l,isAnimationActive:d})))}function zt(e){var a=e.layout,t=e.barSettings,r=t.dataKey,n=t.minPointSize,i=t.hasCustomShape,o=e.pos,s=e.bandSize,c=e.xAxis,l=e.yAxis,d=e.xAxisTicks,v=e.yAxisTicks,f=e.stackedData,y=e.displayedData,m=e.offset,x=e.cells,h=e.parentViewBox,b=e.dataStartIndex,g=a==="horizontal"?l:c,I=f?g.scale.domain():null,p=sa({numericAxis:g}),k=g.scale.map(p);return y.map((B,w)=>{var P,L,M,E,S,Z;if(f){var ne=f[w+b];if(ne==null)return null;P=ua(ne,I)}else P=ke(B,r),Array.isArray(P)||(P=[p,P]);var C=Fa(n,Me)(P[1],w);if(a==="horizontal"){var X,Y=l.scale.map(P[0]),N=l.scale.map(P[1]);if(Y==null||N==null)return null;L=de({axis:c,ticks:d,bandSize:s,offset:o.offset,entry:B,index:w}),M=(X=N??Y)!==null&&X!==void 0?X:void 0,E=o.size;var ie=Y-N;if(S=ya(ie)?0:ie,Z={x:L,y:m.top,width:E,height:m.height},Math.abs(C)>0&&Math.abs(S)<Math.abs(C)){var oe=ve(S||C)*(Math.abs(C)-Math.abs(S));M-=oe,S+=oe}}else{var H=c.scale.map(P[0]),le=c.scale.map(P[1]);if(H==null||le==null)return null;if(L=H,M=de({axis:l,ticks:v,bandSize:s,offset:o.offset,entry:B,index:w}),E=le-H,S=o.size,Z={x:m.left,y:M,width:m.width,height:S},Math.abs(C)>0&&Math.abs(E)<Math.abs(C)){var Ke=ve(E||C)*(Math.abs(C)-Math.abs(E));E+=Ke}}if(L==null||M==null||E==null||S==null||!i&&(E===0||S===0))return null;var ze=A(A({},B),{},{stackedBarStart:k,x:L,y:M,width:E,height:S,value:f?P:P[1],payload:B,background:Z,tooltipPosition:{x:L+E/2,y:M+S/2},parentViewBox:h,originalDataIndex:w},x&&x[w]&&x[w].props);return ze}).filter(Boolean)}function Lt(e){var a=Xe(e,Mt),t=ot(a.stackId),r=Ie();return u.createElement(He,{id:a.id,type:"bar"},n=>u.createElement(u.Fragment,null,u.createElement(qe,{legendPayload:At(a)}),u.createElement(It,{dataKey:a.dataKey,stroke:a.stroke,strokeWidth:a.strokeWidth,fill:a.fill,name:a.name,hide:a.hide,unit:a.unit,formatter:a.formatter,tooltipType:a.tooltipType,id:n}),u.createElement(Je,{type:"bar",id:n,data:void 0,xAxisId:a.xAxisId,yAxisId:a.yAxisId,zAxisId:0,dataKey:a.dataKey,stackId:t,hide:a.hide,barSize:a.barSize,minPointSize:a.minPointSize,maxBarSize:a.maxBarSize,isPanorama:r,hasCustomShape:a.shape!=null&&a.shape!==te}),u.createElement(ae,{zIndex:a.zIndex},u.createElement(Kt,D({},a,{id:n})))))}var Tt=u.memo(Lt,Ze);Tt.displayName="Bar";var Rt=["axis","item"],Wt=u.forwardRef((e,a)=>u.createElement(xa,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Rt,tooltipPayloadSearcher:ga,categoricalChartProps:e,ref:a}));export{Wt as B,Tt as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as p,f as D,a as P,b as y,c as B,d as I,j as t}from"./index-
|
|
1
|
+
import{r as p,f as D,a as P,b as y,c as B,d as I,j as t}from"./index-CUyiomzU.js";import{w as q}from"./workspace-label-CysPJNc0.js";import{I as g}from"./InfoTip-Ckc9_LpJ.js";import{b as Y}from"./prompt-templates-DhR4Qoy9.js";import{f as G}from"./FrictionCell-DciiSd3L.js";import"./Chip-Cpt_fEc9.js";const V=1e6,R=5,K=3;function c(e){return Number.isFinite(e)?e:0}function m(e){return c(e)/V}function W(e){let r=0,s=0;for(const d of e.buckets)r+=c(d.cache_creation_tokens),s+=c(d.cache_read_tokens);const o=r+s;return o===0?0:r/o}function E(e,r){return e.filter(s=>r===null||s.workspace_id===r)}const A={LOW:0,ELEVATED:1,HIGH:2};function X(e){if(e.length===0)return null;let r="LOW";for(const s of e){const o=G({api_error_count:s.api_error_count,tool_error_count:s.tool_error_count,test_fail_count:s.test_fail_count,compaction_count:s.compaction_count,interrupt_count:s.interrupt_count,user_turn_count:s.user_turn_count,turn_count:s.turns});A[o]>A[r]&&(r=o)}return r}function j(e,r){return{current:e,prior:r,delta:r===null?null:e-r}}function z(e,r){return c(r.cost_equiv_u)-c(e.cost_equiv_u)||e.session_id.localeCompare(r.session_id)}function J(e,r){const s=+(e.flavor!=="TURNKEY")-+(r.flavor!=="TURNKEY"),o=e.modeled_savings_usd_per_wk??Number.NEGATIVE_INFINITY,d=r.modeled_savings_usd_per_wk??Number.NEGATIVE_INFINITY;return s||d-o||e.detector_id.localeCompare(r.detector_id)||e.id.localeCompare(r.id)}function Q(e){const r=e.hotSessions.filter(n=>e.scopeWorkspaceId===null||n.workspace_id===e.scopeWorkspaceId).slice().sort(z).slice(0,R).map(n=>({session_id:n.session_id,usd:m(n.cost_equiv_u),turns:c(n.turns),avg_context_tokens:c(n.avg_context_tokens),model:n.model}));let s=0,o=0,d=0;for(const n of e.cacheTrend.buckets)s+=c(n.cache_creation_tokens),o+=c(n.cache_read_tokens),d+=c(n.turns);const x=s+o,b=e.recs.map(n=>{const f=Y(n);return f===null?null:{id:n.rec_id,detector_id:n.detector_id,lever:n.lever,flavor:f.flavor,modeled_savings_usd_per_wk:n.modeled_savings_u_per_wk===null?null:m(n.modeled_savings_u_per_wk),prompt:f.text}}).filter(n=>n!==null).sort(J),h=E(e.hotSessions,e.scopeWorkspaceId),l=e.prior!==void 0&&c(e.prior.overview.turns_total)>0?e.prior:null;return{scope:{label:e.scopeLabel,workspace_id:e.scopeWorkspaceId},verdict:{cost_usd:m(e.overview.cost_equiv_u),hot_session_count:h.length,peak_friction:X(h)},deltas:{spend_usd:j(m(e.overview.cost_equiv_u),l===null?null:m(l.overview.cost_equiv_u)),cache_write_share:j(W(e.cacheTrend),l===null?null:W(l.cacheTrend)),hot_session_count:j(h.length,l===null?null:E(l.hotSessions,e.scopeWorkspaceId).length)},actions:b.slice(0,K),overview:{cost_usd:m(e.overview.cost_equiv_u),turns:c(e.overview.turns),turns_total:c(e.overview.turns_total)},attribution:{hot_sessions:r,context_per_turn:e.overview.context_per_turn.map(n=>({model:n.model,turns:c(n.n),avg_context_per_turn:c(n.avg_context_per_turn),avg_output_per_turn:c(n.avg_output_per_turn),usd_per_turn:n.usd_per_turn===null?null:c(n.usd_per_turn)})),model_mix:e.overview.model_mix.map(n=>({model:n.model,turns:c(n.turns)})),cache_mix:{bucket_count:e.cacheTrend.buckets.length,spike_bucket_count:e.cacheTrend.spike_buckets.length,cache_write_tokens:s,cache_read_tokens:o,cache_read_share:x===0?0:o/x,turns:d}}}}function a(e){return c(e).toLocaleString(void 0,{maximumFractionDigits:6})}function k(e){const r=e.prior===null?"—":a(e.prior),s=e.delta===null?"—":a(e.delta);return`${a(e.current)} (prior ${r}, delta ${s})`}function Z(e){const r=[`# Brief: ${e.scope.label}`,"","## Verdict",`- Cost equivalent USD: ${a(e.verdict.cost_usd)}`,`- Hot sessions: ${a(e.verdict.hot_session_count)}`,`- Peak friction: ${e.verdict.peak_friction??"none"}`,"","## Change vs prior 7 days",`- Spend equivalent USD: ${k(e.deltas.spend_usd)}`,`- Cache-write share: ${k(e.deltas.cache_write_share)}`,`- Hot sessions: ${k(e.deltas.hot_session_count)}`,"","## Do these three things",`- Actions: ${a(e.actions.length)}`];return e.actions.forEach((s,o)=>{r.push(`### ${o+1}. ${s.detector_id}: ${s.id}`),r.push(`- Lever: ${s.lever}`),r.push(`- Mode: ${s.flavor}`),r.push(`- Modeled savings USD/week: ${s.modeled_savings_usd_per_wk===null?"0":a(s.modeled_savings_usd_per_wk)}`),r.push("- Prompt artifact:"),r.push(s.prompt)}),r.push("","<details>","","## Attribution",`- Hot sessions: ${a(e.attribution.hot_sessions.length)}`,...e.attribution.hot_sessions.map(s=>`- Session ${s.session_id}: USD ${a(s.usd)}, turns ${a(s.turns)}, context ${a(s.avg_context_tokens)}, model ${s.model}`),`- Context models: ${a(e.attribution.context_per_turn.length)}`,...e.attribution.context_per_turn.map(s=>{const o=s.usd_per_turn===null?"unpriced 0":`USD/turn ${a(s.usd_per_turn)}`;return`- Model ${s.model}: turns ${a(s.turns)}, context/turn ${a(s.avg_context_per_turn)}, output/turn ${a(s.avg_output_per_turn)}, ${o}`}),`- Model mix entries: ${a(e.attribution.model_mix.length)}`,...e.attribution.model_mix.map(s=>`- Model mix ${s.model}: turns ${a(s.turns)}`),`- Cache mix: ${a(e.attribution.cache_mix.bucket_count)} buckets, ${a(e.attribution.cache_mix.spike_bucket_count)} spikes, ${a(e.attribution.cache_mix.cache_write_tokens)} write tokens, ${a(e.attribution.cache_mix.cache_read_tokens)} read tokens, ${a(e.attribution.cache_mix.cache_read_share)} read share, ${a(e.attribution.cache_mix.turns)} turns`,"","</details>"),r.join(`
|
|
2
2
|
`)}const M=7,L=1440*60*1e3;function ee(e=new Date){const r=e.getTime(),s=r-M*L,o=s-M*L;return{current:{from:new Date(s).toISOString(),to:new Date(r).toISOString()},prior:{from:new Date(o).toISOString(),to:new Date(s).toISOString()},label:`${new Date(s).toLocaleDateString()} – ${new Date(r).toLocaleDateString()}`}}function u(e){return e.toLocaleString(void 0,{maximumFractionDigits:2})}function v(e){return`$${u(e)}`}function O(e){return`${(e*100).toLocaleString(void 0,{maximumFractionDigits:1})}%`}function te(e,r){if(r===null)return"Global";const s=e.find(o=>o.workspace_id===r);return s===void 0?r:q(s)}function se({delta:e,format:r}){if(e.delta===null)return t.jsx("span",{className:"brief-tile-delta brief-tile-delta-none",title:"No prior-week data to compare",children:"— vs prior week"});const s=e.delta>0?"up":e.delta<0?"down":"flat",o=s==="up"?"▲":s==="down"?"▼":"▬",d=e.delta>0?"+":"";return t.jsxs("span",{className:`brief-tile-delta brief-tile-delta-${s}`,children:[o," ",d,r(e.delta)," vs prior week"]})}function N({label:e,value:r,delta:s,format:o}){return t.jsxs("div",{className:"brief-tile",children:[t.jsx("div",{className:"brief-tile-label",children:e}),t.jsx("div",{className:"brief-tile-value",children:r}),t.jsx(se,{delta:s,format:o})]})}function re({brief:e}){const{cache_mix:r,hot_sessions:s}=e.attribution;return t.jsxs("details",{className:"briefs-details",children:[t.jsx("summary",{children:"Attribution & hot sessions"}),t.jsx("div",{className:"table-wrap",children:t.jsxs("table",{children:[t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{scope:"col",children:"Measure"}),t.jsx("th",{scope:"col",children:"Value"})]})}),t.jsxs("tbody",{children:[t.jsxs("tr",{children:[t.jsx("td",{children:"Cost equivalent"}),t.jsx("td",{children:v(e.overview.cost_usd)})]}),t.jsxs("tr",{children:[t.jsx("td",{children:"Reconciled turns"}),t.jsx("td",{children:u(e.overview.turns)})]}),t.jsxs("tr",{children:[t.jsx("td",{children:"Total turns"}),t.jsx("td",{children:u(e.overview.turns_total)})]}),t.jsxs("tr",{children:[t.jsx("td",{children:"Cache write tokens"}),t.jsx("td",{children:u(r.cache_write_tokens)})]}),t.jsxs("tr",{children:[t.jsx("td",{children:"Cache read tokens"}),t.jsx("td",{children:u(r.cache_read_tokens)})]}),t.jsxs("tr",{children:[t.jsx("td",{children:"Hot sessions"}),t.jsx("td",{children:u(s.length)})]})]})]})}),s.length>0&&t.jsx("div",{className:"table-wrap",children:t.jsxs("table",{children:[t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{scope:"col",children:"Session"}),t.jsx("th",{scope:"col",children:"Cost"}),t.jsx("th",{scope:"col",children:"Turns"}),t.jsx("th",{scope:"col",children:"Context / turn"}),t.jsx("th",{scope:"col",children:"Model"})]})}),t.jsx("tbody",{children:s.map(o=>t.jsxs("tr",{children:[t.jsx("td",{children:o.session_id}),t.jsx("td",{children:v(o.usd)}),t.jsx("td",{children:u(o.turns)}),t.jsx("td",{children:u(o.avg_context_tokens)}),t.jsx("td",{children:o.model})]},o.session_id))})]})})]})}function de(){const[e,r]=p.useState({status:"loading"}),[s,o]=p.useState(null),[d,x]=p.useState(!1),[b,h]=p.useState(null),l=p.useMemo(()=>ee(),[]);p.useEffect(()=>{let i=!1;return Promise.all([D(l.current),P(l.current),y(l.current),B(),I(l.current),D(l.prior),y(l.prior),I(l.prior)]).then(([_,w,S,$,U,T,C,F])=>{if(!i){if(_.data===null||w.data===null||S.data===null||$.data===null||T.data===null||C.data===null)throw new Error("Brief data was unavailable");r({status:"ok",overview:_.data,workspaces:w.data.items,cacheTrend:S.data,recs:$.data,hotSessions:U,priorOverview:T.data,priorCacheTrend:C.data,priorHotSessions:F})}}).catch(_=>{i||r({status:"error",message:String(_)})}),()=>{i=!0}},[l]);const n=e.status==="ok"?Q({scopeLabel:te(e.workspaces,s),scopeWorkspaceId:s,overview:e.overview,hotSessions:e.hotSessions,cacheTrend:e.cacheTrend,recs:e.recs.active.filter(i=>s===null||i.scope_workspace_id===null||i.scope_workspace_id===s),prior:{overview:e.priorOverview,hotSessions:e.priorHotSessions,cacheTrend:e.priorCacheTrend}}):null;async function f(){n!==null&&(await navigator.clipboard.writeText(Z(n)),x(!0),window.setTimeout(()=>x(!1),2e3))}async function H(i,_){await navigator.clipboard.writeText(_),h(i),window.setTimeout(()=>h(w=>w===i?null:w),2e3)}return t.jsxs("div",{className:"briefs-page",children:[t.jsx("div",{className:"page-top",children:t.jsxs("div",{className:"page-title",children:[t.jsx("h1",{children:"Briefs"}),t.jsx("p",{className:"page-sub",children:"This week in one page: verdict, what changed, what to do"})]})}),e.status==="loading"&&t.jsx("div",{className:"card","aria-busy":"true",children:"Loading brief data..."}),e.status==="error"&&t.jsxs("div",{className:"banner banner-error",role:"alert",children:["Could not load brief: ",e.message]}),e.status==="ok"&&n!==null&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"briefs-controls",children:[t.jsxs("label",{className:"briefs-scope",htmlFor:"briefs-scope",children:["Scope",t.jsxs("select",{id:"briefs-scope",value:s??"",onChange:i=>o(i.target.value||null),children:[t.jsx("option",{value:"",children:"Global"}),e.workspaces.map(i=>t.jsx("option",{value:i.workspace_id,children:q(i)},i.workspace_id))]})]}),t.jsx("span",{className:"briefs-window",title:"Rolling seven-day window",children:l.label}),t.jsx("button",{type:"button",className:"btn-primary",onClick:()=>void f(),children:d?"Copied":"Copy as markdown"})]}),t.jsx("section",{className:"card briefs-verdict","aria-labelledby":"briefs-verdict-heading",children:t.jsxs("h2",{id:"briefs-verdict-heading",className:"briefs-verdict-line",children:[t.jsx("strong",{children:v(n.verdict.cost_usd)})," ",t.jsx(g,{label:"What cap-weighted equivalent means",content:"Cost weighted the way your usage cap counts it — cache reads count roughly a tenth of fresh tokens. It's the number that actually moves you toward a limit, not raw token cost.",children:"cap-weighted equivalent"}),t.jsx("span",{className:"briefs-verdict-sep",children:" · "}),u(n.verdict.hot_session_count)," hot sessions",t.jsx("span",{className:"briefs-verdict-sep",children:" · "}),n.verdict.peak_friction===null?t.jsx("span",{className:"briefs-friction",children:"no friction signal"}):t.jsxs("span",{className:`briefs-friction briefs-friction-${n.verdict.peak_friction}`,children:[t.jsx(g,{label:"What peak friction means",content:"The single worst per-session friction band across this scope's hot sessions, not an average. It flags whether any one session went badly, which an average would hide.",children:"peak friction"})," ",n.verdict.peak_friction]})]})}),t.jsxs("div",{className:"brief-tiles-head",children:[t.jsx("span",{className:"brief-tiles-heading",children:"Week-over-week changes"}),t.jsx(g,{label:"What the delta tiles show",content:"Change versus the prior 7 days for spend, cache-write share, and hot-session count. A green delta is improvement; a red one is where this week got worse."})]}),t.jsxs("div",{className:"brief-tiles",children:[t.jsx(N,{label:"Spend equivalent",value:v(n.deltas.spend_usd.current),delta:n.deltas.spend_usd,format:v}),t.jsx(N,{label:"Cache-write share",value:O(n.deltas.cache_write_share.current),delta:n.deltas.cache_write_share,format:O}),t.jsx(N,{label:"Hot sessions",value:u(n.deltas.hot_session_count.current),delta:n.deltas.hot_session_count,format:u})]}),t.jsxs("section",{className:"card briefs-actions","aria-labelledby":"briefs-actions-heading",children:[t.jsx("div",{className:"section-head",children:t.jsx("h2",{id:"briefs-actions-heading",children:"Do these three things"})}),n.actions.length===0?t.jsx("p",{className:"kpi-off-hint",children:"No active recommendations were returned for this scope."}):t.jsx("ol",{className:"briefs-action-list",children:n.actions.map(i=>t.jsxs("li",{className:"briefs-action",children:[t.jsxs("div",{className:"briefs-action-main",children:[t.jsx("strong",{children:i.lever}),t.jsxs("span",{className:"kpi-off-hint",children:[i.detector_id," · ",i.flavor," · modeled savings"," ",i.modeled_savings_usd_per_wk===null?"unavailable":`${v(i.modeled_savings_usd_per_wk)} / week`]})]}),t.jsx("button",{type:"button",className:"btn-secondary briefs-action-copy",onClick:()=>void H(i.id,i.prompt),children:b===i.id?"Copied":"Copy prompt"})]},i.id))})]}),t.jsx(re,{brief:n})]})]})}export{de as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as l,j as m}from"./index-CUyiomzU.js";import{C as be}from"./Chip-Cpt_fEc9.js";import{u as Ie,c as Pe}from"./Skeleton-BO9mXDXU.js";import{s as K,g as O,C as Ee}from"./chart-theme-BPPMjbVX.js";import{c as B,s as q,a as Se,b as Ce,d as se,e as le,g as Le,i as oe,f as _,h as Ne,j as je,k as Oe,u as we,l as ce,m as Y,L as M,n as z,o as j,p as De,r as Re,D as We,q as Be,t as de,v as Te,S as Ke,w as Me,x as ze,y as F,z as ue,A as Fe,B as Ve,E as $e,F as Ge,G as Xe,H as Ye,I as He,J as qe,K as Ue,Z as Ze,M as Qe,N as H,O as ee,P as Je,Q as _e,U as ea,V as ae,W as aa,_ as ta,$ as ia,a0 as na,a1 as ra,a2 as sa,a3 as la,R as oa,C as ca,X as da,Y as ua,T as pa}from"./CartesianChart-qApXl3Ak.js";import{C as ha}from"./ComposedChart-DYf1wymW.js";import{L as ma}from"./Legend-C_YMp0Rv.js";import{g as va,A as te,D as fa,R as ya,S as xa}from"./Scatter-CNetVLuX.js";import{s as U,a as Z}from"./graphicalItemSelectors-DgKF1Dg2.js";var pe=(e,a,t)=>se(e,"xAxis",U(e,a),t),he=(e,a,t)=>le(e,"xAxis",U(e,a),t),me=(e,a,t)=>se(e,"yAxis",Z(e,a),t),ve=(e,a,t)=>le(e,"yAxis",Z(e,a),t),Aa=B([q,pe,me,he,ve],(e,a,t,i,r)=>oe(e,"xAxis")?_(a,i,!1):_(t,r,!1)),ga=(e,a)=>a,Q=B([Ne,ga],(e,a)=>e.filter(t=>t.type==="area").find(t=>t.id===a)),fe=e=>{var a=q(e),t=oe(a,"xAxis");return t?"yAxis":"xAxis"},ka=(e,a)=>{var t=fe(e);return t==="yAxis"?Z(e,a):U(e,a)},ye=(e,a,t)=>Oe(e,fe(e),ka(e,a),t),ba=B([Q,ye],(e,a)=>{var t;if(!(e==null||a==null)){var i=e.stackId,r=Le(e);if(!(i==null||r==null)){var n=(t=a[i])===null||t===void 0?void 0:t.stackedData,c=n==null?void 0:n.find(s=>s.key===r);if(c!=null)return c.map(s=>[s[0],s[1]])}}}),Ia=B([Q,ye],(e,a)=>{if(!(e==null||e.stackId==null||a==null)){var t=a[e.stackId];if(t!=null)return t.graphicalItems.map(i=>i.dataKey).filter(je)}}),Pa=B([q,pe,me,he,ve,ba,Se,Aa,Q,Ce,Ia],(e,a,t,i,r,n,c,s,d,u,p)=>{var o=c.chartData,v=c.dataStartIndex,I=c.dataEndIndex;if(!(d==null||e!=="horizontal"&&e!=="vertical"||a==null||t==null||i==null||r==null||i.length===0||r.length===0||s==null)){var f=d.data,y;if(f&&f.length>0?y=f:y=o==null?void 0:o.slice(v,I+1),y!=null)return Za({layout:e,xAxis:a,yAxis:t,xAxisTicks:i,yAxisTicks:r,dataStartIndex:v,areaSettings:d,stackedData:n,displayedData:y,chartBaseValue:u,bandSize:s,stackDataKeys:p})}}),Ea=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],Sa=["id","baseLine"];function W(){return W=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var i in t)({}).hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},W.apply(null,arguments)}function ie(e,a){if(e==null)return{};var t,i,r=Ca(e,a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)t=n[i],a.indexOf(t)===-1&&{}.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function Ca(e,a){if(e==null)return{};var t={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(a.indexOf(i)!==-1)continue;t[i]=e[i]}return t}function La(e){var a,t,i=e.alpha,r=e.baseLine,n=e.points,c=e.strokeWidth,s=(a=n[0])===null||a===void 0?void 0:a.x,d=(t=n[n.length-1])===null||t===void 0?void 0:t.x;if(!z(s)||!z(d))return null;var u=i*Math.abs(s-d),p=Math.max(...n.map(o=>o.y||0));return j(r)?p=Math.max(r,p):r&&Array.isArray(r)&&r.length&&(p=Math.max(...r.map(o=>o.y||0),p)),j(p)?l.createElement("rect",{x:s<d?s:s-u,y:0,width:u,height:Math.floor(p+(c?parseInt("".concat(c),10):1))}):null}function Na(e){var a,t,i=e.alpha,r=e.baseLine,n=e.points,c=e.strokeWidth,s=(a=n[0])===null||a===void 0?void 0:a.y,d=(t=n[n.length-1])===null||t===void 0?void 0:t.y;if(!z(s)||!z(d))return null;var u=i*Math.abs(s-d),p=Math.max(...n.map(o=>o.x||0));return j(r)?p=Math.max(r,p):r&&Array.isArray(r)&&r.length&&(p=Math.max(...r.map(o=>o.x||0),p)),j(p)?l.createElement("rect",{x:0,y:s<d?s:s-u,width:p+(c?parseInt("".concat(c),10):1),height:Math.floor(u)}):null}function ja(e){var a=e.alpha,t=e.layout,i=e.points,r=e.baseLine,n=e.strokeWidth;return t==="vertical"?l.createElement(Na,{alpha:a,points:i,baseLine:r,strokeWidth:n}):l.createElement(La,{alpha:a,points:i,baseLine:r,strokeWidth:n})}function Oa(e){var a=e.animationElapsedTime,t=a===void 0?1:a,i=e.isAnimating,r=i===void 0?!1:i,n=e.isEntrance,c=n===void 0?!1:n,s=e.layout,d=e.isRange,u=e.stroke,p=e.connectNulls,o=ie(e,Ea),v=s==="vertical"?"vertical":"horizontal",I=p??!1,f=we(),y=o.id,x=o.baseLine,A=ie(o,Sa),g=ce(A),S=l.createElement(Y,W({},o,{id:y,baseLine:x,connectNulls:I,stroke:"none",className:"recharts-area-area",layout:v})),L=u!=="none"&&l.createElement(Y,W({},g,{className:"recharts-area-curve",layout:v,type:o.type,connectNulls:I,fill:"none",stroke:u,points:o.points})),k=u!=="none"&&d&&Array.isArray(x)&&l.createElement(Y,W({},g,{className:"recharts-area-curve",layout:v,type:o.type,connectNulls:I,fill:"none",stroke:u,points:x}));if(c&&(r||t<1)){var h;return l.createElement(M,null,l.createElement("defs",null,l.createElement("clipPath",{id:f},l.createElement(ja,{alpha:t,points:(h=o.points)!==null&&h!==void 0?h:[],baseLine:x,layout:v,strokeWidth:o.strokeWidth}))),l.createElement(M,{clipPath:"url(#".concat(f,")")},S,L,k))}return l.createElement(l.Fragment,null,S,L,k)}var wa=["id"],Da=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function V(){return V=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var i in t)({}).hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},V.apply(null,arguments)}function xe(e,a){if(e==null)return{};var t,i,r=Ra(e,a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)t=n[i],a.indexOf(t)===-1&&{}.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function Ra(e,a){if(e==null)return{};var t={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(a.indexOf(i)!==-1)continue;t[i]=e[i]}return t}function ne(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);a&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,i)}return t}function w(e){for(var a=1;a<arguments.length;a++){var t=arguments[a]!=null?arguments[a]:{};a%2?ne(Object(t),!0).forEach(function(i){Wa(e,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ne(Object(t)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(t,i))})}return e}function Wa(e,a,t){return(a=Ba(a))in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function Ba(e){var a=Ta(e,"string");return typeof a=="symbol"?a:a+""}function Ta(e,a){if(typeof e!="object"||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var i=t.call(e,a);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}var Ka=(e,a)=>e==null?[]:a===1?e.flatMap(t=>t.status==="removed"?[]:[t.next]):e.flatMap(t=>t.status==="matched"?[w(w({},t.next),{},{x:F(t.prev.x,t.next.x,a),y:F(t.prev.y,t.next.y,a)})]:t.status==="added"?[t.next]:[]),Ae={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:Be,animationInterpolateFn:Ka,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:Oa,xAxisId:0,yAxisId:0,zIndex:We.area};function $(e,a){return e&&e!=="none"?e:a}var Ma=e=>{var a=e.dataKey,t=e.name,i=e.stroke,r=e.fill,n=e.legendType,c=e.hide;return[{inactive:c,dataKey:a,type:n,color:$(i,r),value:ue(t,a),payload:e}]},za=l.memo(e=>{var a=e.dataKey,t=e.data,i=e.stroke,r=e.strokeWidth,n=e.fill,c=e.name,s=e.hide,d=e.unit,u=e.formatter,p=e.tooltipType,o=e.id,v={dataDefinedOnItem:t,getPosition:Ve,settings:{stroke:i,strokeWidth:r,fill:n,dataKey:a,nameKey:void 0,name:ue(c,a),hide:s,type:p,color:$(i,n),unit:d,formatter:u,graphicalItemId:o}};return l.createElement(Fe,{tooltipEntrySettings:v})});function Fa(e){var a=e.clipPathId,t=e.points,i=e.props,r=i.needClip,n=i.dot,c=i.dataKey,s=ce(i);return l.createElement(fa,{points:t,dot:n,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:c,baseProps:s,needClip:r,clipPathId:a})}function Va(e){var a=e.showLabels,t=e.children,i=e.points,r=i.map(n=>{var c,s,d={x:(c=n.x)!==null&&c!==void 0?c:0,y:(s=n.y)!==null&&s!==void 0?s:0,width:0,lowerWidth:0,upperWidth:0,height:0};return w(w({},d),{},{value:n.value,payload:n.payload,parentViewBox:void 0,viewBox:d,fill:void 0})});return l.createElement(ia,{value:a?r:void 0},t)}function $a(e){var a=e.points,t=e.baseLine,i=e.needClip,r=e.clipPathId,n=e.props,c=e.animationElapsedTime,s=e.isAnimating,d=e.isEntrance,u=n.layout,p=n.type,o=n.stroke,v=n.connectNulls,I=n.isRange,f=n.shape,y=n.id,x=xe(n,wa),A=na(x),g=w(w({},A),{},{id:y,points:a,connectNulls:v,type:p,baseLine:t,layout:u,stroke:o,isRange:I,animationElapsedTime:c,isAnimating:s,isEntrance:d});return l.createElement(l.Fragment,null,(a==null?void 0:a.length)>1&&l.createElement(M,{clipPath:i?"url(#clipPath-".concat(r,")"):void 0},l.createElement(ra,{option:f,DefaultShape:Ae.shape,shapeProps:g})),l.createElement(Fa,{points:a,props:x,clipPathId:r}))}function Ga(e,a,t){if(j(e)){var i=j(a)?a:void 0;return F(i,e,t)}if(sa(e)||la(e)){var r=j(a)?a:void 0;return F(r,0,t)}return e}function Xa(e){var a=e.needClip,t=e.clipPathId,i=e.props,r=e.previousPointsRef,n=e.previousBaselineRef,c=i.points,s=i.baseLine,d=i.isAnimationActive,u=i.animationBegin,p=i.animationDuration,o=i.animationEasing,v=i.animationMatchBy,I=i.animationInterpolateFn,f=l.useMemo(()=>({points:c,baseLine:s}),[c,s]),y=Je(f,n),x=_e(),A=ea(i.onAnimationStart,i.onAnimationEnd),g=A.isAnimating,S=A.handleAnimationStart,L=A.handleAnimationEnd,k=y.startValue;if(x==null)return null;var h;return Array.isArray(s)&&Array.isArray(k)?h=ae(k,s,v):Array.isArray(s)?h=ae(null,s,v):h=null,l.createElement(aa,{animationInput:f,animationIdPrefix:"recharts-area-",items:c,previousItemsRef:r,isAnimationActive:d,animationBegin:u,animationDuration:p,animationEasing:o,onAnimationStart:S,onAnimationEnd:L,animationInterpolateFn:I,animationMatchBy:v,layout:x},(P,b,C)=>{var E;return b===1?E=s:Array.isArray(s)?E=I(h,b,x):E=C?s:Ga(s,k,b),y.syncStepValue(E,b),l.createElement(Va,{showLabels:!g,points:c},i.children,l.createElement($a,{points:P,baseLine:E,needClip:a,clipPathId:t,props:i,animationElapsedTime:b,isAnimating:g||b<1,isEntrance:C}),l.createElement(ta,{label:i.label}))})}function Ya(e){var a=e.needClip,t=e.clipPathId,i=e.props,r=l.useRef(null),n=l.useRef();return l.createElement(Xa,{needClip:a,clipPathId:t,props:i,previousPointsRef:r,previousBaselineRef:n})}class Ha extends l.PureComponent{render(){var a=this.props,t=a.hide,i=a.dot,r=a.points,n=a.className,c=a.top,s=a.left,d=a.needClip,u=a.xAxisId,p=a.yAxisId,o=a.width,v=a.height,I=a.id,f=a.baseLine,y=a.zIndex;if(t)return null;var x=qe("recharts-area",n),A=I,g=va(i),S=g.r,L=g.strokeWidth,k=Ue(i),h=S*2+L,P=d?"url(#clipPath-".concat(k?"":"dots-").concat(A,")"):void 0;return l.createElement(Ze,{zIndex:y},l.createElement(M,{className:x},d&&l.createElement("defs",null,l.createElement(Qe,{clipPathId:A,xAxisId:u,yAxisId:p}),!k&&l.createElement("clipPath",{id:"clipPath-dots-".concat(A)},l.createElement("rect",{x:s-h/2,y:c-h/2,width:o+h,height:v+h}))),l.createElement(Ya,{needClip:d,clipPathId:A,props:this.props})),l.createElement(te,{points:r,mainColor:$(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:P}),this.props.isRange&&Array.isArray(f)&&l.createElement(te,{points:f,mainColor:$(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:P}))}}function qa(e){var a,t=e.activeDot,i=e.animationBegin,r=e.animationDuration,n=e.animationEasing,c=e.connectNulls,s=e.dot,d=e.fill,u=e.fillOpacity,p=e.hide,o=e.isAnimationActive,v=e.legendType,I=e.stroke,f=e.xAxisId,y=e.yAxisId,x=xe(e,Da),A=$e(),g=Ge(),S=Xe(f,y),L=S.needClip,k=de(),h=(a=Ye(G=>Pa(G,e.id,k)))!==null&&a!==void 0?a:{},P=h.points,b=h.isRange,C=h.baseLine,E=He();if(A!=="horizontal"&&A!=="vertical"||E==null||g!=="AreaChart"&&g!=="ComposedChart")return null;var N=E.height,D=E.width,R=E.x,T=E.y;return!P||!P.length?null:l.createElement(Ha,V({},x,{activeDot:t,animationBegin:i,animationDuration:r,animationEasing:n,baseLine:C,connectNulls:c,dot:s,fill:d,fillOpacity:u,height:N,hide:p,layout:A,isAnimationActive:o,isRange:b,legendType:v,needClip:L,points:P,stroke:I,width:D,left:R,top:T,xAxisId:f,yAxisId:y}))}var Ua=(e,a,t,i,r)=>{var n=t??a;if(j(n))return n;var c=e==="horizontal"?r:i,s=c.scale.domain();if(c.type==="number"){var d=Math.max(s[0],s[1]),u=Math.min(s[0],s[1]);return n==="dataMin"?u:n==="dataMax"||d<0?d:Math.max(Math.min(s[0],s[1]),0)}return n==="dataMin"?s[0]:n==="dataMax"?s[1]:s[0]};function Za(e){var a=e.areaSettings,t=a.connectNulls,i=a.baseValue,r=a.dataKey,n=e.stackedData,c=e.layout,s=e.chartBaseValue,d=e.xAxis,u=e.yAxis,p=e.displayedData,o=e.dataStartIndex,v=e.xAxisTicks,I=e.yAxisTicks,f=e.bandSize,y=e.stackDataKeys,x=n&&n.length,A=Ua(c,s,i,d,u),g=c==="horizontal",S=!1,L=p.map((h,P)=>{var b,C,E,N;if(x)N=n[o+P];else{var D=H(h,r);Array.isArray(D)?(N=D,S=!0):N=[A,D]}var R=(b=(C=N)===null||C===void 0?void 0:C[1])!==null&&b!==void 0?b:null,T=H(h,r),G=x&&T==null&&y!=null&&y.length>0&&y.every(ke=>H(h,ke)==null),J=R==null||x&&!t&&T==null||G;if(g){var X;return{x:ee({axis:d,ticks:v,bandSize:f,entry:h,index:P}),y:J?null:(X=u.scale.map(R))!==null&&X!==void 0?X:null,value:N,payload:h}}return{x:J?null:(E=d.scale.map(R))!==null&&E!==void 0?E:null,y:ee({axis:u,ticks:I,bandSize:f,entry:h,index:P}),value:N,payload:h}}),k;return x||S?k=L.map(h=>{var P,b=Array.isArray(h.value)?h.value[0]:null;if(g){var C;return{x:h.x,y:b!=null&&h.y!=null&&(C=u.scale.map(b))!==null&&C!==void 0?C:null,payload:h.payload}}return{x:b!=null&&(P=d.scale.map(b))!==null&&P!==void 0?P:null,y:h.y,payload:h.payload}}):k=g?u.scale.map(A):d.scale.map(A),{points:L,baseLine:k??0,isRange:S}}function Qa(e){var a=Re(e,Ae),t=de();return l.createElement(Te,{id:a.id,type:"area"},i=>l.createElement(l.Fragment,null,l.createElement(Ke,{legendPayload:Ma(a)}),l.createElement(za,{dataKey:a.dataKey,data:a.data,stroke:a.stroke,strokeWidth:a.strokeWidth,fill:a.fill,name:a.name,hide:a.hide,unit:a.unit,formatter:a.formatter,tooltipType:a.tooltipType,id:i}),l.createElement(Me,{type:"area",id:i,data:a.data,dataKey:a.dataKey,xAxisId:a.xAxisId,yAxisId:a.yAxisId,zAxisId:0,stackId:ze(a.stackId),hide:a.hide,barSize:void 0,baseValue:a.baseValue,isPanorama:t,connectNulls:a.connectNulls}),l.createElement(qa,V({},a,{id:i}))))}var ge=l.memo(Qa,De);ge.displayName="Area";function re(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}K`:String(Math.round(e))}function Ja(e){if(e.length<3)return null;const a=e.map(r=>r.cache_creation_tokens),t=a.reduce((r,n)=>r+n,0)/a.length,i=a.reduce((r,n)=>r+(n-t)**2,0)/a.length;return t+2*Math.sqrt(i)}function _a(e,a){const t=new Set(a);return e.map(i=>({...i,spike_value:t.has(i.bucket)?i.cache_creation_tokens:null}))}const et="insideTopLeft";function dt({state:e}){const a=Ie(),[t,i]=l.useState(!0),r=!a&&t;if(l.useEffect(()=>{e.status==="ok"&&e.value.data!==null&&i(!1)},[e]),e.status==="loading")return m.jsx("div",{className:"card","aria-busy":"true","aria-label":"Loading cache write spike chart",children:m.jsx(Pe,{})});if(e.status==="error")return m.jsxs("div",{className:"card",children:[m.jsx("div",{className:"kpi-off",children:"N/A"}),m.jsx("div",{className:"kpi-off-hint",children:"Cache write timeline unavailable"})]});const n=e.value.data;if(n===null||n.buckets.length===0)return m.jsxs("div",{className:"card",children:[m.jsx("div",{className:"section-head",children:m.jsx("h2",{children:"Cache writes over time · spike = likely miss event"})}),m.jsx("div",{className:"banner banner-info",children:m.jsx("span",{children:"No cache write data in this window."})})]});const{buckets:c,spike_buckets:s}=n,d=Ja(c),u=_a(c,s),p=u.some(o=>o.spike_value!==null);return m.jsxs("div",{className:"card",children:[m.jsxs("div",{className:"section-head",children:[m.jsx("h2",{children:"Cache writes over time · spike = likely miss event"}),m.jsx("div",{className:"chips",children:m.jsx(be,{kind:"LIST_EQUIV"})})]}),m.jsx("p",{className:"kpi-fn",style:{marginBottom:4},children:"Rising writes vs reads signals cache misses (A1 §09 · D8 companion view)"}),m.jsx("p",{className:"kpi-fn",style:{color:"var(--amber, #f39c12)",marginBottom:8},children:"⚠ TTL 5m/1h volatile · Spike threshold is TTL-sensitive · active TTL unknown (run /usage to confirm)"}),m.jsx(oa,{width:"100%",height:220,children:m.jsxs(ha,{data:u,margin:{top:4,right:20,bottom:4,left:8},children:[m.jsx("defs",{children:m.jsxs("linearGradient",{id:"cache-write-gradient",x1:"0",x2:"0",y1:"0",y2:"1",children:[m.jsx("stop",{offset:"0%",stopColor:K[1],stopOpacity:.24}),m.jsx("stop",{offset:"100%",stopColor:K[1],stopOpacity:0})]})}),m.jsx(ca,{...O.grid}),m.jsx(da,{dataKey:"bucket",axisLine:O.axisLine,tickLine:O.tickLine,tickCount:O.tickCount,interval:"preserveStartEnd",tick:{fontSize:11},tickFormatter:o=>o.slice(5)}),m.jsx(ua,{axisLine:O.axisLine,tickLine:O.tickLine,tickFormatter:re,tick:{fontSize:11}}),m.jsx(pa,{content:m.jsx(Ee,{labelFormatter:o=>`Bucket: ${String(o??"")}`,nameFormatter:o=>o==="cache_creation_tokens"?"cache writes":o==="spike_value"?"spike (miss event)":String(o??"Value"),valueFormatter:o=>typeof o=="number"?re(o):String(o??"N/A")})}),m.jsx(ma,{formatter:o=>o==="cache_creation_tokens"?"cache writes":o}),m.jsx(ge,{dataKey:"cache_creation_tokens",type:"step",fill:"url(#cache-write-gradient)",stroke:K[1],dot:!1,isAnimationActive:r}),d!==null&&m.jsx(ya,{y:d,stroke:"var(--red, #e74c3c)",strokeDasharray:"4 4",label:{value:"spike threshold",position:et,offset:8,fontSize:11}}),p&&m.jsx(xa,{dataKey:"spike_value",fill:K[4],name:"spike (miss event)",isAnimationActive:r})]})})]})}export{et as SPIKE_THRESHOLD_LABEL_POSITION,_a as buildCacheWriteChartRows,dt as default};
|