pi-mega-compact 0.20.31 → 0.20.33
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/config/vector-cortex-pcc.js +30 -0
- package/dist/config/vector-cortex.js +2 -2
- package/dist/config.js +1 -1
- package/dist/extensions/dashboard-server/api-contracts/endpoints/registry-ext.js +7 -0
- package/dist/extensions/dashboard-server/api-contracts/prefix-stability.js +8 -0
- package/dist/extensions/dashboard-server/route-dispatch.js +3 -1
- package/dist/extensions/dashboard-server/routes-prefix-stability.js +132 -0
- package/dist/extensions/dashboard-server/routes-rag-settings-helpers.js +1 -1
- package/dist/extensions/dashboard-server/routes-rag-settings-vector-cortex.js +1 -0
- package/dist/extensions/dashboard-server/routes.js +1 -0
- package/dist/extensions/mega-config.js +2 -1
- package/dist/extensions/mega-events/context-handler/tailResult.js +5 -1
- package/dist/extensions/mega-events/separated-prompt.js +4 -10
- package/dist/src/config/vector-cortex-pcc.js +30 -0
- package/dist/src/config/vector-cortex.js +2 -2
- package/dist/src/config.js +1 -1
- package/extensions/dashboard-client/dist/assets/{AreaChart-EL8l2Fcj.js → AreaChart-DjXp8u2Y.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{AreaChart-EL8l2Fcj.js.map → AreaChart-DjXp8u2Y.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{BarChart-TrwfSh0w.js → BarChart-BZbus-dR.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{BarChart-TrwfSh0w.js.map → BarChart-BZbus-dR.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/CacheTab-DQ2CjxVW.js +2 -0
- package/extensions/dashboard-client/dist/assets/CacheTab-DQ2CjxVW.js.map +1 -0
- package/extensions/dashboard-client/dist/assets/{EventsTab-CNrT-b7t.js → EventsTab-DUpnOV1p.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{EventsTab-CNrT-b7t.js.map → EventsTab-DUpnOV1p.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{HealthTab-CkBCFPk6.js → HealthTab-Bul_xjcn.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{HealthTab-CkBCFPk6.js.map → HealthTab-Bul_xjcn.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{MaintenanceTab-CcbKszwx.js → MaintenanceTab-DLUjdKd3.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{MaintenanceTab-CcbKszwx.js.map → MaintenanceTab-DLUjdKd3.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{MemoryMapTab-B2LvwScj.js → MemoryMapTab-BFy0hb6F.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{MemoryMapTab-B2LvwScj.js.map → MemoryMapTab-BFy0hb6F.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{MetricsTab-Dv_xZtOG.js → MetricsTab-BpYuUkq3.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{MetricsTab-Dv_xZtOG.js.map → MetricsTab-BpYuUkq3.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{OverviewTab-D7xwhpOl.js → OverviewTab-z7yuT-uq.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{OverviewTab-D7xwhpOl.js.map → OverviewTab-z7yuT-uq.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{ReposTab-BfhiPXdA.js → ReposTab-ClORoDy_.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{ReposTab-BfhiPXdA.js.map → ReposTab-ClORoDy_.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{SessionsTab-tQM0TQLp.js → SessionsTab-CUpehIt9.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{SessionsTab-tQM0TQLp.js.map → SessionsTab-CUpehIt9.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/SetupTab-Cii80Fdz.js +3 -0
- package/extensions/dashboard-client/dist/assets/{SetupTab-G-MkdQiR.js.map → SetupTab-Cii80Fdz.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{TimeSavedCard-CYltysD3.js → TimeSavedCard-BV2iCSdV.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{TimeSavedCard-CYltysD3.js.map → TimeSavedCard-BV2iCSdV.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{TurnsTab-1Y_Lpxx-.js → TurnsTab-1T86rHnD.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{TurnsTab-1Y_Lpxx-.js.map → TurnsTab-1T86rHnD.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{VcStatusBadge-BNHVeTG7.js → VcStatusBadge-DKPleja8.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{VcStatusBadge-BNHVeTG7.js.map → VcStatusBadge-DKPleja8.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{VectorCortexTab-goacPxL1.js → VectorCortexTab-BRzvd_pU.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{VectorCortexTab-goacPxL1.js.map → VectorCortexTab-BRzvd_pU.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{WikiTab-DTOemYtE.js → WikiTab-DKTILa1M.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{WikiTab-DTOemYtE.js.map → WikiTab-DKTILa1M.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{button-B_4j_PVR.js → button-5fSU8BZj.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{button-B_4j_PVR.js.map → button-5fSU8BZj.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{card-Ce58rSXG.js → card-BFUnpXE_.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{card-Ce58rSXG.js.map → card-BFUnpXE_.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/client-extra-BZbw21wu.js +2 -0
- package/extensions/dashboard-client/dist/assets/client-extra-BZbw21wu.js.map +1 -0
- package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-DtNoJ6fZ.js → generateCategoricalChart-xCzi6pWn.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-DtNoJ6fZ.js.map → generateCategoricalChart-xCzi6pWn.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{index-eoCm0uxj.js → index-DqjmZ88m.js} +21 -21
- package/extensions/dashboard-client/dist/assets/index-DqjmZ88m.js.map +1 -0
- package/extensions/dashboard-client/dist/assets/{switch-B9kM0N7R.js → switch-CeZUPf_e.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{switch-B9kM0N7R.js.map → switch-CeZUPf_e.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{toggle-BwoHYpMa.js → toggle-MQQwdkwD.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{toggle-BwoHYpMa.js.map → toggle-MQQwdkwD.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{useSSE-DohG5AGv.js → useSSE-BetS7QHN.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{useSSE-DohG5AGv.js.map → useSSE-BetS7QHN.js.map} +1 -1
- package/extensions/dashboard-client/dist/index.html +1 -1
- package/extensions/dashboard-client/src/api/client-extra.ts +53 -0
- package/extensions/dashboard-client/src/api/client-http.ts +81 -0
- package/extensions/dashboard-client/src/api/client.ts +11 -100
- package/extensions/dashboard-client/src/components/PrefixStabilityCard.tsx +98 -0
- package/extensions/dashboard-client/src/tabs/CacheTab.tsx +27 -0
- package/extensions/dashboard-server/api-contracts/endpoints/registry-ext.ts +15 -0
- package/extensions/dashboard-server/api-contracts/index.ts +6 -0
- package/extensions/dashboard-server/api-contracts/prefix-stability.ts +40 -0
- package/extensions/dashboard-server/route-dispatch.ts +2 -0
- package/extensions/dashboard-server/routes-prefix-stability.ts +142 -0
- package/extensions/dashboard-server/routes-rag-settings-helpers.ts +1 -1
- package/extensions/dashboard-server/routes-rag-settings-vector-cortex.ts +6 -0
- package/extensions/dashboard-server/routes.ts +1 -0
- package/extensions/mega-config.ts +2 -1
- package/extensions/mega-events/context-handler/tailResult.ts +5 -1
- package/extensions/mega-events/separated-prompt.ts +4 -11
- package/package.json +1 -1
- package/src/config/vector-cortex-pcc.ts +32 -0
- package/src/config/vector-cortex.ts +2 -2
- package/src/config.ts +1 -0
- package/extensions/dashboard-client/dist/assets/CacheTab-C3KWDFDm.js +0 -2
- package/extensions/dashboard-client/dist/assets/CacheTab-C3KWDFDm.js.map +0 -1
- package/extensions/dashboard-client/dist/assets/SetupTab-G-MkdQiR.js +0 -3
- package/extensions/dashboard-client/dist/assets/index-eoCm0uxj.js.map +0 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* config/vector-cortex-pcc.ts — PC-C dashboard prompt-cache visibility flag.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from vector-cortex.ts so that file stays under the 300-line soft
|
|
5
|
+
* limit (soft-as-hard gate), exactly as the vector-cortex-vc9{a,b,c,d}.ts
|
|
6
|
+
* siblings were. This is the PC-C dashboard per-turn prefix-stability flag.
|
|
7
|
+
* vector-cortex.ts re-exports it below and root src/config.ts re-exports it,
|
|
8
|
+
* so no consumer import path changes.
|
|
9
|
+
*
|
|
10
|
+
* The split is purely mechanical: PCC_ENABLED is byte-identical in name,
|
|
11
|
+
* semantics, and default to the sprint-flag convention it follows, and
|
|
12
|
+
* vector-cortex.ts re-exports it so every existing `from
|
|
13
|
+
* "./config/vector-cortex.js"` import keeps resolving unchanged.
|
|
14
|
+
*
|
|
15
|
+
* Pi-agnostic, dependency-free (PREVENT-PI-004 / PREVENT-011).
|
|
16
|
+
*/
|
|
17
|
+
import { sprintFlag } from "./vector-cortex-flag.js";
|
|
18
|
+
/**
|
|
19
|
+
* PC-C — dashboard per-turn prefix-stability visibility. Default ON.
|
|
20
|
+
* `MEGACOMPACT_PC_C=0` disables and is byte-identical to the predecessor
|
|
21
|
+
* (PC-B-era): /api/prefix-stability returns 404/disabled and the CacheTab
|
|
22
|
+
* renders exactly as before (stripe distribution + hit-rate trend only). When
|
|
23
|
+
* ON, the endpoint surfaces the per-turn stable-prefix ratio trend from the
|
|
24
|
+
* `prefix_stability` events in the monitoring log. The response contains
|
|
25
|
+
* aggregate ratios/counts only, never message content (EVAL-REDACT-002), and
|
|
26
|
+
* reads only the local events log (PREVENT-PI-004). This flag MUST also be a
|
|
27
|
+
* dashboard SETTINGS toggle (visible in config UI, never in EXCLUDED_SETTINGS),
|
|
28
|
+
* mirroring the other PC/VC flags.
|
|
29
|
+
*/
|
|
30
|
+
export const PCC_ENABLED = () => sprintFlag("MEGACOMPACT_PC_C");
|
|
@@ -249,6 +249,6 @@ export { VC9A_ENABLED } from "./vector-cortex-vc9a.js";
|
|
|
249
249
|
export { VC9B_ENABLED } from "./vector-cortex-vc9b.js";
|
|
250
250
|
export { VC9C_ENABLED } from "./vector-cortex-vc9c.js";
|
|
251
251
|
export { VC9D_ENABLED } from "./vector-cortex-vc9d.js";
|
|
252
|
-
|
|
253
|
-
//
|
|
252
|
+
export { PCC_ENABLED } from "./vector-cortex-pcc.js";
|
|
253
|
+
// Breaker constants (TRIAD_RESILIENCE.md §breaker) extracted to vector-cortex-breakers.ts.
|
|
254
254
|
export { BREAKER_WINDOW_MS, BREAKER_MIN_ATTEMPTS, BREAKER_PERF_FAILURES, BREAKER_PERF_FAILURE_RATE, BREAKER_CORRECTNESS_FAILURES, BREAKER_COOLDOWN_MS, BREAKER_PROBE_COUNT, BREAKER_RETRY_BASE_MS, BREAKER_RETRY_CAP_MS, BREAKER_RETRY_JITTER, BREAKER_HYSTERESIS_FAILURE_RATE, BREAKER_HYSTERESIS_BUDGET_P95_MS, BREAKER_MIN_HEALTHY_RESIDENCE_MS, } from "./vector-cortex-breakers.js";
|
package/dist/config.js
CHANGED
|
@@ -114,4 +114,4 @@ export const NEW_UI = () => ragEnabled("MEGACOMPACT_NEW_UI");
|
|
|
114
114
|
// default ON, `=0`/`_DISABLED` off. Re-exported from src/config/vector-cortex.ts
|
|
115
115
|
// so root consumers share one source of truth.
|
|
116
116
|
// ---------------------------------------------------------------------------
|
|
117
|
-
export { VC0A_ENABLED, VC0B_ENABLED, VC1A_ENABLED, VC0C_ENABLED, VC1B_ENABLED, VC1C_ENABLED, VC2A_ENABLED, VC2B_ENABLED, VC2C_ENABLED, VC3A_ENABLED, VC3B_ENABLED, VC3C_ENABLED, VC4A_ENABLED, VC4B_ENABLED, VC4C_ENABLED, VC5A_ENABLED, VC5B_ENABLED, VC5C_ENABLED, VC6A_ENABLED, VC6B_ENABLED, VC6C_ENABLED, VC7A_ENABLED, VC7B_ENABLED, VC7C_ENABLED, VC8A_ENABLED, VC8B_ENABLED, VC8C_ENABLED, VC9A_ENABLED, VC9B_ENABLED, VC9C_ENABLED, VC9D_ENABLED, BREAKER_WINDOW_MS, BREAKER_MIN_ATTEMPTS, BREAKER_PERF_FAILURES, BREAKER_PERF_FAILURE_RATE, BREAKER_CORRECTNESS_FAILURES, BREAKER_COOLDOWN_MS, BREAKER_PROBE_COUNT, BREAKER_RETRY_BASE_MS, BREAKER_RETRY_CAP_MS, BREAKER_RETRY_JITTER, BREAKER_HYSTERESIS_FAILURE_RATE, BREAKER_HYSTERESIS_BUDGET_P95_MS, BREAKER_MIN_HEALTHY_RESIDENCE_MS, } from "./config/vector-cortex.js";
|
|
117
|
+
export { VC0A_ENABLED, VC0B_ENABLED, VC1A_ENABLED, VC0C_ENABLED, VC1B_ENABLED, VC1C_ENABLED, VC2A_ENABLED, VC2B_ENABLED, VC2C_ENABLED, VC3A_ENABLED, VC3B_ENABLED, VC3C_ENABLED, VC4A_ENABLED, VC4B_ENABLED, VC4C_ENABLED, VC5A_ENABLED, VC5B_ENABLED, VC5C_ENABLED, VC6A_ENABLED, VC6B_ENABLED, VC6C_ENABLED, VC7A_ENABLED, VC7B_ENABLED, VC7C_ENABLED, VC8A_ENABLED, VC8B_ENABLED, VC8C_ENABLED, VC9A_ENABLED, VC9B_ENABLED, VC9C_ENABLED, VC9D_ENABLED, PCC_ENABLED, BREAKER_WINDOW_MS, BREAKER_MIN_ATTEMPTS, BREAKER_PERF_FAILURES, BREAKER_PERF_FAILURE_RATE, BREAKER_CORRECTNESS_FAILURES, BREAKER_COOLDOWN_MS, BREAKER_PROBE_COUNT, BREAKER_RETRY_BASE_MS, BREAKER_RETRY_CAP_MS, BREAKER_RETRY_JITTER, BREAKER_HYSTERESIS_FAILURE_RATE, BREAKER_HYSTERESIS_BUDGET_P95_MS, BREAKER_MIN_HEALTHY_RESIDENCE_MS, } from "./config/vector-cortex.js";
|
|
@@ -47,4 +47,11 @@ export const EXTRA_ENDPOINTS = {
|
|
|
47
47
|
path: "/api/setup-cortex-action-log",
|
|
48
48
|
description: "Bounded (8 KiB) redacted tail of a VC9B action log under <stateDir>/logs/vc9b/; the name must be a validated basename (path traversal rejected).",
|
|
49
49
|
},
|
|
50
|
+
// ─── PC-C Prompt-cache prefix stability (dashboard Cache tab) ───────
|
|
51
|
+
/** GET /api/prefix-stability — per-turn stable-prefix ratio trend (PC-C). */
|
|
52
|
+
prefixStability: {
|
|
53
|
+
method: "GET",
|
|
54
|
+
path: "/api/prefix-stability",
|
|
55
|
+
description: "Per-turn prompt-cache stable-prefix ratio trend (GET /api/prefix-stability?limit=N) read from prefix_stability rows in the local events log. Flag-off (MEGACOMPACT_PC_C=0) returns 404.",
|
|
56
|
+
},
|
|
50
57
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* api-contracts/prefix-stability.ts — Prompt-cache prefix-stability API contract (PC-C).
|
|
3
|
+
*
|
|
4
|
+
* Response shape for GET /api/prefix-stability?limit=50: per-turn stable-prefix
|
|
5
|
+
* ratio trend surfaced from the local monitoring events log (prefix_stability rows
|
|
6
|
+
* appended by tailResult.ts). Loopback-only data; zero network (PREVENT-PI-004).
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* PREVENT-PI-004: local filesystem read only, no network.
|
|
9
9
|
* PREVENT-011: no `any` type.
|
|
10
10
|
*/
|
|
11
|
-
import { handleIndex, handleRepoIndex, handleEvents, handleGameState, handleGameScores, handlePerfSamples, handlePerf, handleAchievements, handleSessions, handleTopics, handleTurns, handleMaintenance, handleProviderCache, handleMemoryStatus, handleCacheStripes, handleSetupStatus, handleSetupDetect, handleSetupConfigure, handleMemoryMap, handleRaptorTree, handleRaptorBuildHistory, handleContextHealth, handleCachePoison, handleHealthSettings, handleEmbedderHealth, handleRagSettings, handleRagMetrics, handleModelThresholds, handleWiki, handleVectorCortexEvaluation, handleVectorCortexHealth, handleVectorCortexBreakersReset, handleVectorCortexLedger, handleVectorCortexTopology, handleVectorCortexQuery, handleVectorCortexShards, handleVectorCortexResidual, handleVectorCortexReconstruct, handleVectorCortexPlans, handleVectorCortexRender, handleVectorCortexRollout, handleVectorCortexClosureProof, handleVectorCortexRestore, handleSetupCortexStatus, handleSetupCortexAction, handleSetupCortexActionLog, } from "./routes.js";
|
|
11
|
+
import { handleIndex, handleRepoIndex, handleEvents, handleGameState, handleGameScores, handlePerfSamples, handlePerf, handleAchievements, handleSessions, handleTopics, handleTurns, handleMaintenance, handleProviderCache, handleMemoryStatus, handleCacheStripes, handlePrefixStability, handleSetupStatus, handleSetupDetect, handleSetupConfigure, handleMemoryMap, handleRaptorTree, handleRaptorBuildHistory, handleContextHealth, handleCachePoison, handleHealthSettings, handleEmbedderHealth, handleRagSettings, handleRagMetrics, handleModelThresholds, handleWiki, handleVectorCortexEvaluation, handleVectorCortexHealth, handleVectorCortexBreakersReset, handleVectorCortexLedger, handleVectorCortexTopology, handleVectorCortexQuery, handleVectorCortexShards, handleVectorCortexResidual, handleVectorCortexReconstruct, handleVectorCortexPlans, handleVectorCortexRender, handleVectorCortexRollout, handleVectorCortexClosureProof, handleVectorCortexRestore, handleSetupCortexStatus, handleSetupCortexAction, handleSetupCortexActionLog, } from "./routes.js";
|
|
12
12
|
// VC6C repair lives in its own module (routes-vector-cortex-repair.ts) so the
|
|
13
13
|
// heal route file stays well under the 400-line extension soft limit.
|
|
14
14
|
import { handleVectorCortexRepair } from "./routes-vector-cortex-repair.js";
|
|
@@ -71,6 +71,8 @@ export function dispatchRoutes(req, res, ctx) {
|
|
|
71
71
|
return true;
|
|
72
72
|
if (handleCacheStripes(req, res, ctx))
|
|
73
73
|
return true;
|
|
74
|
+
if (handlePrefixStability(req, res, ctx))
|
|
75
|
+
return true;
|
|
74
76
|
if (handleSetupStatus(req, res, ctx))
|
|
75
77
|
return true;
|
|
76
78
|
if (handleSetupDetect(req, res, ctx))
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* dashboard-server/routes-prefix-stability.ts — Prompt-cache prefix-stability route (PC-C).
|
|
3
|
+
*
|
|
4
|
+
* GET /api/prefix-stability?limit=50 — reads recent prefix_stability rows from the
|
|
5
|
+
* local monitoring events log (ctx.eventsPath) and returns the per-turn stable-prefix
|
|
6
|
+
* ratio trend. Flag-off (MEGACOMPACT_PC_C=0) → 404, byte-identical to PC-B predecessor.
|
|
7
|
+
*
|
|
8
|
+
* Guardrails: PREVENT-PI-004 (loopback-only local dashboard), PREVENT-001 (null-safe
|
|
9
|
+
* JSON.parse), PREVENT-011 (no `any`). Zero network reads.
|
|
10
|
+
*/
|
|
11
|
+
import { readFileSync } from "node:fs";
|
|
12
|
+
/** Parse one events.log line into a generic JSON object, null-safe (PREVENT-001). */
|
|
13
|
+
function parseEventLine(line) {
|
|
14
|
+
try {
|
|
15
|
+
const parsed = JSON.parse(line);
|
|
16
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
17
|
+
return parsed;
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/** Read the tail of events.log and return only prefix_stability rows, newest last. */
|
|
26
|
+
function readPrefixStabilityEvents(eventsPath, limit) {
|
|
27
|
+
const samples = [];
|
|
28
|
+
let raw = "";
|
|
29
|
+
try {
|
|
30
|
+
raw = readFileSync(eventsPath, "utf-8"); // guardrails-allow PREVENT-PI-004: local events.log read (loopback dashboard)
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return samples;
|
|
34
|
+
}
|
|
35
|
+
for (const line of raw.split("\n")) {
|
|
36
|
+
if (!line.includes('"prefix_stability"'))
|
|
37
|
+
continue;
|
|
38
|
+
const obj = parseEventLine(line);
|
|
39
|
+
if (!obj)
|
|
40
|
+
continue;
|
|
41
|
+
// Only rows we appended (event === "prefix_stability").
|
|
42
|
+
if (obj.event !== "prefix_stability")
|
|
43
|
+
continue;
|
|
44
|
+
const ts = typeof obj.ts === "number" ? obj.ts : 0;
|
|
45
|
+
const stablePrefix = typeof obj.stablePrefix === "number" ? obj.stablePrefix : 0;
|
|
46
|
+
const totalMessages = typeof obj.totalMessages === "number" ? obj.totalMessages : 0;
|
|
47
|
+
const striping = typeof obj.striping === "string" ? obj.striping : "off";
|
|
48
|
+
const separation = typeof obj.separation === "string" ? obj.separation : "off";
|
|
49
|
+
samples.push({ ts, stablePrefix, totalMessages, separation, striping });
|
|
50
|
+
}
|
|
51
|
+
return samples.slice(-limit);
|
|
52
|
+
}
|
|
53
|
+
/** Classify the three-point trend across the returned window (head-mean vs tail-mean). */
|
|
54
|
+
function classifyTrend(ratios) {
|
|
55
|
+
if (ratios.length < 3)
|
|
56
|
+
return "stable";
|
|
57
|
+
const third = Math.max(1, Math.floor(ratios.length / 3));
|
|
58
|
+
const head = ratios.slice(0, third).reduce((a, b) => a + b, 0) / third;
|
|
59
|
+
const tail = ratios.slice(-third).reduce((a, b) => a + b, 0) / third;
|
|
60
|
+
const delta = tail - head;
|
|
61
|
+
if (delta > 0.05)
|
|
62
|
+
return "improving";
|
|
63
|
+
if (delta < -0.05)
|
|
64
|
+
return "degrading";
|
|
65
|
+
return "stable";
|
|
66
|
+
}
|
|
67
|
+
/** Positive sprint-flag check (matches sprintFlag: `=0`/`=false`/`_DISABLED=true` → OFF). */
|
|
68
|
+
function prefixStabilityEnabled() {
|
|
69
|
+
const v = process.env.MEGACOMPACT_PC_C;
|
|
70
|
+
if (v === "0" || v === "false")
|
|
71
|
+
return false;
|
|
72
|
+
const disabled = process.env.MEGACOMPACT_PC_C_DISABLED;
|
|
73
|
+
if (disabled === "true" || disabled === "1")
|
|
74
|
+
return false;
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
export function handlePrefixStability(req, res, ctx) {
|
|
78
|
+
if (!req.url?.startsWith("/api/prefix-stability"))
|
|
79
|
+
return false;
|
|
80
|
+
if (!prefixStabilityEnabled()) {
|
|
81
|
+
// guardrails-allow PREVENT-PI-004: loopback dashboard response (local)
|
|
82
|
+
res.writeHead(404, { "Content-Type": "application/json" });
|
|
83
|
+
res.end(JSON.stringify({ error: "not_found" }));
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
if (req.method !== "GET") {
|
|
87
|
+
// guardrails-allow PREVENT-PI-004: loopback dashboard response (local)
|
|
88
|
+
res.writeHead(405, { "Content-Type": "application/json" });
|
|
89
|
+
res.end(JSON.stringify({ error: "method_not_allowed" }));
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
let limit = 50;
|
|
93
|
+
if (req.url.includes("?")) {
|
|
94
|
+
const params = new URLSearchParams(req.url.slice(req.url.indexOf("?")));
|
|
95
|
+
const l = params.get("limit");
|
|
96
|
+
if (l != null) {
|
|
97
|
+
const n = parseInt(l, 10);
|
|
98
|
+
if (Number.isFinite(n) && n > 0)
|
|
99
|
+
limit = Math.min(n, 500);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
const events = readPrefixStabilityEvents(ctx.eventsPath, limit);
|
|
104
|
+
const turns = events.map((e, i) => ({
|
|
105
|
+
turnIndex: i,
|
|
106
|
+
stablePrefix: e.stablePrefix,
|
|
107
|
+
totalMessages: e.totalMessages,
|
|
108
|
+
ratio: e.totalMessages > 0 ? e.stablePrefix / e.totalMessages : 0,
|
|
109
|
+
striping: e.striping,
|
|
110
|
+
timestamp: new Date(e.ts).toISOString(),
|
|
111
|
+
}));
|
|
112
|
+
const avgRatio = turns.length
|
|
113
|
+
? turns.reduce((a, t) => a + t.ratio, 0) / turns.length
|
|
114
|
+
: 0;
|
|
115
|
+
const body = {
|
|
116
|
+
turns,
|
|
117
|
+
avgRatio: Math.round(avgRatio * 1000) / 1000,
|
|
118
|
+
trend: classifyTrend(turns.map((t) => t.ratio)),
|
|
119
|
+
count: turns.length,
|
|
120
|
+
lastScanAt: Date.now(),
|
|
121
|
+
};
|
|
122
|
+
// guardrails-allow PREVENT-PI-004: loopback dashboard response (local)
|
|
123
|
+
res.writeHead(200, { "Content-Type": "application/json" });
|
|
124
|
+
res.end(JSON.stringify(body));
|
|
125
|
+
}
|
|
126
|
+
catch (e) {
|
|
127
|
+
// guardrails-allow PREVENT-PI-004: loopback dashboard response (local)
|
|
128
|
+
res.writeHead(500, { "Content-Type": "application/json" });
|
|
129
|
+
res.end(JSON.stringify({ error: "prefix_stability_unavailable", detail: String(e) }));
|
|
130
|
+
}
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
@@ -51,7 +51,7 @@ export const SETTINGS = [
|
|
|
51
51
|
boolFlag("MEGACOMPACT_HYDE", "HyDE", "Generate hypothetical answer via LLM, embed it, RRF-fuse", true, true),
|
|
52
52
|
boolFlag("MEGACOMPACT_NEW_UI", "New Dashboard UI", "Tailwind + shadcn visual design (sidebar, glass panels)", true),
|
|
53
53
|
boolDirect("MEGACOMPACT_MESSAGE_SEPARATION", "Message Separation (P2)", "PLAN_V2: split conversation thread from tool results to grow stable cache prefix", true),
|
|
54
|
-
boolDirect("MEGACOMPACT_CACHE_STRIPING", "Cache Striping (P3)", "PLAN_V2: order stable context by stability score so durable chunks lead the prompt",
|
|
54
|
+
boolDirect("MEGACOMPACT_CACHE_STRIPING", "Cache Striping (P3)", "PLAN_V2: order stable context by stability score so durable chunks lead the prompt", true),
|
|
55
55
|
],
|
|
56
56
|
},
|
|
57
57
|
{
|
|
@@ -52,5 +52,6 @@ export const VECTOR_CORTEX_SETTINGS = {
|
|
|
52
52
|
boolDirect("MEGACOMPACT_VC9B", "VC9B Setup Cortex Actions", "Setup Cortex action drivers (POST /api/setup-cortex-action + GET /api/setup-cortex-action-log): confirmation-gated wrappers that fetch-model / bench / verify-asset by spawning only the committed local scripts (scripts/vc2-model-prep/fetch-model.sh, bench-onnx.mjs) or re-reading the committed encoder assets — never payload bytes, no network. Actions gated by an OPEN hard-gate item (HG-1/HG-3) return action_blocked_by_open_item and do NOT spawn. OFF = byte-identical predecessor (VC9A-era): the action POST returns a disabled/404 shape and flag-off bytes are unchanged.", true),
|
|
53
53
|
boolDirect("MEGACOMPACT_VC9C", "VC9C SetupTab Cortex Sub-tab", "SetupTab Cortex sub-tab (client UI): a Cortex sub-tab inside SetupTab that consumes the VC9A status endpoint (GET /api/setup-cortex-status) + the VC9B action endpoints. It surfaces the encoder mode A/B/C, asset digest prefix, qualification verdict + threshold failures, the open hard-gate blockers, and the confirmation-gated fetch/bench/verify actions. OFF = byte-identical predecessor (VC9B-era): the Cortex sub-tab is filtered from SUB_TABS and the Setup tab renders exactly as before.", true),
|
|
54
54
|
boolDirect("MEGACOMPACT_VC9D", "VC9D Embedder Detect Consolidation", "Embedder-detect consolidation + VC9 workstream roll-up: memoizes /api/setup-detect against the mutable input (resolved binary path + mtime) so consecutive requests reuse the result without re-spawning, and unifies the embedder + cortex sub-tabs' 5s poll contract. OFF = byte-identical predecessor (VC9C-era): detect spawns fresh per request and the embedder poll keeps its previous cadence.", true),
|
|
55
|
+
boolDirect("MEGACOMPACT_PC_C", "PC-C Dashboard Cache Visibility", "Dashboard per-turn prompt-cache visibility: surfaces the per-turn stable-prefix ratio trend (GET /api/prefix-stability) in the CacheTab PrefixStabilityCard. Reads aggregate ratios/counts from the local monitoring events log only — no payload bytes. OFF = byte-identical predecessor (PC-B-era): /api/prefix-stability returns 404 and the CacheTab omits the PrefixStabilityCard.", true),
|
|
55
56
|
],
|
|
56
57
|
};
|
|
@@ -17,6 +17,7 @@ export { handleSetupStatus, handleSetupDetect, handleSetupConfigure, } from "./r
|
|
|
17
17
|
export { handleMemoryMap } from "./routes-memory-map.js";
|
|
18
18
|
export { handleRaptorTree, handleRaptorBuildHistory } from "./routes-raptor.js";
|
|
19
19
|
export { handleCacheStripes } from "./routes-cache.js";
|
|
20
|
+
export { handlePrefixStability } from "./routes-prefix-stability.js";
|
|
20
21
|
export { handleContextHealth, handleCachePoison, handleHealthSettings, } from "./routes-health.js";
|
|
21
22
|
export { handleEmbedderHealth } from "./routes-embedder-health.js";
|
|
22
23
|
export { handleRagSettings } from "./routes-rag-settings.js";
|
|
@@ -170,7 +170,8 @@ export function loadConfig() {
|
|
|
170
170
|
// PC-A: positive sprint flag, default ON. =0 byte-identical to the
|
|
171
171
|
// pre-change OFF state (single gate lives at the call site in tailResult.ts).
|
|
172
172
|
messageSeparation: envBool("MEGACOMPACT_MESSAGE_SEPARATION", true),
|
|
173
|
-
|
|
173
|
+
// positive sprint flag: default ON, =0 byte-identical to OFF
|
|
174
|
+
cacheStriping: envBool("MEGACOMPACT_CACHE_STRIPING", true),
|
|
174
175
|
tuiWidget: envBool("MEGACOMPACT_TUI_WIDGET", true),
|
|
175
176
|
ragQueryReformulation: envBool("MEGACOMPACT_QUERY_REFORMULATION", false),
|
|
176
177
|
ragTieredRouter: envBool("MEGACOMPACT_TIERED_ROUTER", false),
|
|
@@ -61,7 +61,11 @@ export function buildTailResult(runtime, config, messages) {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
lastTurnPrefix.set(runtime, { sessionId, turn, fingerprints });
|
|
64
|
-
|
|
64
|
+
// PC-C: write to the always-on monitoring events log (appendEvent),
|
|
65
|
+
// not the debug-gated runtime logger (mega-compact.log), so the
|
|
66
|
+
// dashboard /api/prefix-stability endpoint can read this per-turn
|
|
67
|
+
// stable-prefix ratio from ctx.eventsPath. Same field shape.
|
|
68
|
+
runtime.appendEvent("prefix_stability", {
|
|
65
69
|
stablePrefix,
|
|
66
70
|
totalMessages: result.length,
|
|
67
71
|
separation: config.messageSeparation ? "v2" : "off",
|
|
@@ -169,18 +169,12 @@ export function refreshStripeAssignments(stateDir, epochId, limit = DEFAULT_STRI
|
|
|
169
169
|
* Build a cache-optimized prompt with 5 layers:
|
|
170
170
|
* 0 (system) -> 1 (summary) -> 2 (cache stripes) -> 3 (thread) -> 4 (tool)
|
|
171
171
|
*
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
* buildSeparatedPrompt (which returns messages unchanged).
|
|
172
|
+
* Positive sprint flag driven by config.cacheStriping at the call site
|
|
173
|
+
* (tailResult.ts); this function is pure and never reads process.env.
|
|
174
|
+
* With flag ON but no stripe rows for the epoch, it returns the base
|
|
175
|
+
* separated prompt unchanged (byte-identical to buildSeparatedPrompt).
|
|
177
176
|
*/
|
|
178
177
|
export function buildCacheOptimizedPrompt(messages, opts) {
|
|
179
|
-
const flag = process.env.MEGACOMPACT_CACHE_STRIPING;
|
|
180
|
-
if (flag === "0" || flag === "false" || flag === undefined || flag === "") {
|
|
181
|
-
// Flag OFF: delegate to buildSeparatedPrompt (byte-identical).
|
|
182
|
-
return buildSeparatedPrompt(messages, opts);
|
|
183
|
-
}
|
|
184
178
|
// Build the base 4-layer structure first.
|
|
185
179
|
const base = buildSeparatedPrompt(messages, opts);
|
|
186
180
|
// If base equals messages, separation is OFF — return unchanged.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* config/vector-cortex-pcc.ts — PC-C dashboard prompt-cache visibility flag.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from vector-cortex.ts so that file stays under the 300-line soft
|
|
5
|
+
* limit (soft-as-hard gate), exactly as the vector-cortex-vc9{a,b,c,d}.ts
|
|
6
|
+
* siblings were. This is the PC-C dashboard per-turn prefix-stability flag.
|
|
7
|
+
* vector-cortex.ts re-exports it below and root src/config.ts re-exports it,
|
|
8
|
+
* so no consumer import path changes.
|
|
9
|
+
*
|
|
10
|
+
* The split is purely mechanical: PCC_ENABLED is byte-identical in name,
|
|
11
|
+
* semantics, and default to the sprint-flag convention it follows, and
|
|
12
|
+
* vector-cortex.ts re-exports it so every existing `from
|
|
13
|
+
* "./config/vector-cortex.js"` import keeps resolving unchanged.
|
|
14
|
+
*
|
|
15
|
+
* Pi-agnostic, dependency-free (PREVENT-PI-004 / PREVENT-011).
|
|
16
|
+
*/
|
|
17
|
+
import { sprintFlag } from "./vector-cortex-flag.js";
|
|
18
|
+
/**
|
|
19
|
+
* PC-C — dashboard per-turn prefix-stability visibility. Default ON.
|
|
20
|
+
* `MEGACOMPACT_PC_C=0` disables and is byte-identical to the predecessor
|
|
21
|
+
* (PC-B-era): /api/prefix-stability returns 404/disabled and the CacheTab
|
|
22
|
+
* renders exactly as before (stripe distribution + hit-rate trend only). When
|
|
23
|
+
* ON, the endpoint surfaces the per-turn stable-prefix ratio trend from the
|
|
24
|
+
* `prefix_stability` events in the monitoring log. The response contains
|
|
25
|
+
* aggregate ratios/counts only, never message content (EVAL-REDACT-002), and
|
|
26
|
+
* reads only the local events log (PREVENT-PI-004). This flag MUST also be a
|
|
27
|
+
* dashboard SETTINGS toggle (visible in config UI, never in EXCLUDED_SETTINGS),
|
|
28
|
+
* mirroring the other PC/VC flags.
|
|
29
|
+
*/
|
|
30
|
+
export const PCC_ENABLED = () => sprintFlag("MEGACOMPACT_PC_C");
|
|
@@ -249,6 +249,6 @@ export { VC9A_ENABLED } from "./vector-cortex-vc9a.js";
|
|
|
249
249
|
export { VC9B_ENABLED } from "./vector-cortex-vc9b.js";
|
|
250
250
|
export { VC9C_ENABLED } from "./vector-cortex-vc9c.js";
|
|
251
251
|
export { VC9D_ENABLED } from "./vector-cortex-vc9d.js";
|
|
252
|
-
|
|
253
|
-
//
|
|
252
|
+
export { PCC_ENABLED } from "./vector-cortex-pcc.js";
|
|
253
|
+
// Breaker constants (TRIAD_RESILIENCE.md §breaker) extracted to vector-cortex-breakers.ts.
|
|
254
254
|
export { BREAKER_WINDOW_MS, BREAKER_MIN_ATTEMPTS, BREAKER_PERF_FAILURES, BREAKER_PERF_FAILURE_RATE, BREAKER_CORRECTNESS_FAILURES, BREAKER_COOLDOWN_MS, BREAKER_PROBE_COUNT, BREAKER_RETRY_BASE_MS, BREAKER_RETRY_CAP_MS, BREAKER_RETRY_JITTER, BREAKER_HYSTERESIS_FAILURE_RATE, BREAKER_HYSTERESIS_BUDGET_P95_MS, BREAKER_MIN_HEALTHY_RESIDENCE_MS, } from "./vector-cortex-breakers.js";
|
package/dist/src/config.js
CHANGED
|
@@ -114,4 +114,4 @@ export const NEW_UI = () => ragEnabled("MEGACOMPACT_NEW_UI");
|
|
|
114
114
|
// default ON, `=0`/`_DISABLED` off. Re-exported from src/config/vector-cortex.ts
|
|
115
115
|
// so root consumers share one source of truth.
|
|
116
116
|
// ---------------------------------------------------------------------------
|
|
117
|
-
export { VC0A_ENABLED, VC0B_ENABLED, VC1A_ENABLED, VC0C_ENABLED, VC1B_ENABLED, VC1C_ENABLED, VC2A_ENABLED, VC2B_ENABLED, VC2C_ENABLED, VC3A_ENABLED, VC3B_ENABLED, VC3C_ENABLED, VC4A_ENABLED, VC4B_ENABLED, VC4C_ENABLED, VC5A_ENABLED, VC5B_ENABLED, VC5C_ENABLED, VC6A_ENABLED, VC6B_ENABLED, VC6C_ENABLED, VC7A_ENABLED, VC7B_ENABLED, VC7C_ENABLED, VC8A_ENABLED, VC8B_ENABLED, VC8C_ENABLED, VC9A_ENABLED, VC9B_ENABLED, VC9C_ENABLED, VC9D_ENABLED, BREAKER_WINDOW_MS, BREAKER_MIN_ATTEMPTS, BREAKER_PERF_FAILURES, BREAKER_PERF_FAILURE_RATE, BREAKER_CORRECTNESS_FAILURES, BREAKER_COOLDOWN_MS, BREAKER_PROBE_COUNT, BREAKER_RETRY_BASE_MS, BREAKER_RETRY_CAP_MS, BREAKER_RETRY_JITTER, BREAKER_HYSTERESIS_FAILURE_RATE, BREAKER_HYSTERESIS_BUDGET_P95_MS, BREAKER_MIN_HEALTHY_RESIDENCE_MS, } from "./config/vector-cortex.js";
|
|
117
|
+
export { VC0A_ENABLED, VC0B_ENABLED, VC1A_ENABLED, VC0C_ENABLED, VC1B_ENABLED, VC1C_ENABLED, VC2A_ENABLED, VC2B_ENABLED, VC2C_ENABLED, VC3A_ENABLED, VC3B_ENABLED, VC3C_ENABLED, VC4A_ENABLED, VC4B_ENABLED, VC4C_ENABLED, VC5A_ENABLED, VC5B_ENABLED, VC5C_ENABLED, VC6A_ENABLED, VC6B_ENABLED, VC6C_ENABLED, VC7A_ENABLED, VC7B_ENABLED, VC7C_ENABLED, VC8A_ENABLED, VC8B_ENABLED, VC8C_ENABLED, VC9A_ENABLED, VC9B_ENABLED, VC9C_ENABLED, VC9D_ENABLED, PCC_ENABLED, BREAKER_WINDOW_MS, BREAKER_MIN_ATTEMPTS, BREAKER_PERF_FAILURES, BREAKER_PERF_FAILURE_RATE, BREAKER_CORRECTNESS_FAILURES, BREAKER_COOLDOWN_MS, BREAKER_PROBE_COUNT, BREAKER_RETRY_BASE_MS, BREAKER_RETRY_CAP_MS, BREAKER_RETRY_JITTER, BREAKER_HYSTERESIS_FAILURE_RATE, BREAKER_HYSTERESIS_BUDGET_P95_MS, BREAKER_MIN_HEALTHY_RESIDENCE_MS, } from "./config/vector-cortex.js";
|
package/extensions/dashboard-client/dist/assets/{AreaChart-EL8l2Fcj.js → AreaChart-DjXp8u2Y.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as R,c as W,m as T,i as C,d as F,A as ie,e as B,h as q,j as oe,k as G,l as se,n as le,u as ue,o as K,G as ce,p as J,q as Q,D as fe,g as pe,X as he,Y as de,f as me}from"./generateCategoricalChart-DtNoJ6fZ.js";import{R as p,F as ee,r as ve}from"./index-eoCm0uxj.js";var ye=["layout","type","stroke","connectNulls","isRange","ref"],be=["key"],te;function M(e){"@babel/helpers - typeof";return M=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M(e)}function ae(e,t){if(e==null)return{};var r=Ae(e,t),a,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function Ae(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},D.apply(this,arguments)}function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?U(Object(r),!0).forEach(function(a){E(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function ge(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Z(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,ne(a.key),a)}}function xe(e,t,r){return t&&Z(e.prototype,t),r&&Z(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Pe(e,t,r){return t=$(t),Oe(e,re()?Reflect.construct(t,r||[],$(e).constructor):t.apply(e,r))}function Oe(e,t){if(t&&(M(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ee(e)}function Ee(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(re=function(){return!!e})()}function $(e){return $=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$(e)}function we(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&X(e,t)}function X(e,t){return X=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,n){return a.__proto__=n,a},X(e,t)}function E(e,t,r){return t=ne(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ne(e){var t=_e(e,"string");return M(t)=="symbol"?t:t+""}function _e(e,t){if(M(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(M(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var L=function(e){function t(){var r;ge(this,t);for(var a=arguments.length,n=new Array(a),i=0;i<a;i++)n[i]=arguments[i];return r=Pe(this,t,[].concat(n)),E(r,"state",{isAnimationFinished:!0}),E(r,"id",ue("recharts-area-")),E(r,"handleAnimationEnd",function(){var o=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),K(o)&&o()}),E(r,"handleAnimationStart",function(){var o=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),K(o)&&o()}),r}return we(t,e),xe(t,[{key:"renderDots",value:function(a,n,i){var o=this.props.isAnimationActive,s=this.state.isAnimationFinished;if(o&&!s)return null;var u=this.props,l=u.dot,f=u.points,c=u.dataKey,h=R(this.props,!1),A=R(l,!0),g=f.map(function(v,O){var y=S(S(S({key:"dot-".concat(O),r:3},h),A),{},{index:O,cx:v.x,cy:v.y,dataKey:c,value:v.value,payload:v.payload,points:f});return t.renderDotItem(l,y)}),x={clipPath:a?"url(#clipPath-".concat(n?"":"dots-").concat(i,")"):null};return p.createElement(W,D({className:"recharts-area-dots"},x),g)}},{key:"renderHorizontalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].x,l=o[o.length-1].x,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.y||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.y||0})),c)),C(c)?p.createElement("rect",{x:u<l?u:u-f,y:0,width:f,height:Math.floor(c+(s?parseInt("".concat(s),10):1))}):null}},{key:"renderVerticalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].y,l=o[o.length-1].y,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.x||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.x||0})),c)),C(c)?p.createElement("rect",{x:0,y:u<l?u:u-f,width:c+(s?parseInt("".concat(s),10):1),height:Math.floor(f)}):null}},{key:"renderClipRect",value:function(a){var n=this.props.layout;return n==="vertical"?this.renderVerticalRect(a):this.renderHorizontalRect(a)}},{key:"renderAreaStatically",value:function(a,n,i,o){var s=this.props,u=s.layout,l=s.type,f=s.stroke,c=s.connectNulls,h=s.isRange;s.ref;var A=ae(s,ye);return p.createElement(W,{clipPath:i?"url(#clipPath-".concat(o,")"):null},p.createElement(F,D({},R(A,!0),{points:a,connectNulls:c,type:l,baseLine:n,layout:u,stroke:"none",className:"recharts-area-area"})),f!=="none"&&p.createElement(F,D({},R(this.props,!1),{className:"recharts-area-curve",layout:u,type:l,connectNulls:c,fill:"none",points:a})),f!=="none"&&h&&p.createElement(F,D({},R(this.props,!1),{className:"recharts-area-curve",layout:u,type:l,connectNulls:c,fill:"none",points:n})))}},{key:"renderAreaWithAnimation",value:function(a,n){var i=this,o=this.props,s=o.points,u=o.baseLine,l=o.isAnimationActive,f=o.animationBegin,c=o.animationDuration,h=o.animationEasing,A=o.animationId,g=this.state,x=g.prevPoints,v=g.prevBaseLine;return p.createElement(ie,{begin:f,duration:c,isActive:l,easing:h,from:{t:0},to:{t:1},key:"area-".concat(A),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(O){var y=O.t;if(x){var _=x.length/s.length,d=s.map(function(P,N){var k=Math.floor(N*_);if(x[k]){var j=x[k],I=B(j.x,P.x),V=B(j.y,P.y);return S(S({},P),{},{x:I(y),y:V(y)})}return P}),m;if(C(u)&&typeof u=="number"){var b=B(v,u);m=b(y)}else if(q(u)||oe(u)){var w=B(v,0);m=w(y)}else m=u.map(function(P,N){var k=Math.floor(N*_);if(v[k]){var j=v[k],I=B(j.x,P.x),V=B(j.y,P.y);return S(S({},P),{},{x:I(y),y:V(y)})}return P});return i.renderAreaStatically(d,m,a,n)}return p.createElement(W,null,p.createElement("defs",null,p.createElement("clipPath",{id:"animationClipPath-".concat(n)},i.renderClipRect(y))),p.createElement(W,{clipPath:"url(#animationClipPath-".concat(n,")")},i.renderAreaStatically(s,u,a,n)))})}},{key:"renderArea",value:function(a,n){var i=this.props,o=i.points,s=i.baseLine,u=i.isAnimationActive,l=this.state,f=l.prevPoints,c=l.prevBaseLine,h=l.totalLength;return u&&o&&o.length&&(!f&&h>0||!G(f,o)||!G(c,s))?this.renderAreaWithAnimation(a,n):this.renderAreaStatically(o,s,a,n)}},{key:"render",value:function(){var a,n=this.props,i=n.hide,o=n.dot,s=n.points,u=n.className,l=n.top,f=n.left,c=n.xAxis,h=n.yAxis,A=n.width,g=n.height,x=n.isAnimationActive,v=n.id;if(i||!s||!s.length)return null;var O=this.state.isAnimationFinished,y=s.length===1,_=ee("recharts-area",u),d=c&&c.allowDataOverflow,m=h&&h.allowDataOverflow,b=d||m,w=q(v)?this.id:v,P=(a=R(o,!1))!==null&&a!==void 0?a:{r:3,strokeWidth:2},N=P.r,k=N===void 0?3:N,j=P.strokeWidth,I=j===void 0?2:j,V=se(o)?o:{},Y=V.clipDot,H=Y===void 0?!0:Y,z=k*2+I;return p.createElement(W,{className:_},d||m?p.createElement("defs",null,p.createElement("clipPath",{id:"clipPath-".concat(w)},p.createElement("rect",{x:d?f:f-A/2,y:m?l:l-g/2,width:d?A:A*2,height:m?g:g*2})),!H&&p.createElement("clipPath",{id:"clipPath-dots-".concat(w)},p.createElement("rect",{x:f-z/2,y:l-z/2,width:A+z,height:g+z}))):null,y?null:this.renderArea(b,w),(o||y)&&this.renderDots(b,H,w),(!x||O)&&le.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(a,n){return a.animationId!==n.prevAnimationId?{prevAnimationId:a.animationId,curPoints:a.points,curBaseLine:a.baseLine,prevPoints:n.curPoints,prevBaseLine:n.curBaseLine}:a.points!==n.curPoints||a.baseLine!==n.curBaseLine?{curPoints:a.points,curBaseLine:a.baseLine}:null}}])}(ve.PureComponent);te=L;E(L,"displayName","Area");E(L,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!ce.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});E(L,"getBaseValue",function(e,t,r,a){var n=e.layout,i=e.baseValue,o=t.props.baseValue,s=o??i;if(C(s)&&typeof s=="number")return s;var u=n==="horizontal"?a:r,l=u.scale.domain();if(u.type==="number"){var f=Math.max(l[0],l[1]),c=Math.min(l[0],l[1]);return s==="dataMin"?c:s==="dataMax"||f<0?f:Math.max(Math.min(l[0],l[1]),0)}return s==="dataMin"?l[0]:s==="dataMax"?l[1]:l[0]});E(L,"getComposedData",function(e){var t=e.props,r=e.item,a=e.xAxis,n=e.yAxis,i=e.xAxisTicks,o=e.yAxisTicks,s=e.bandSize,u=e.dataKey,l=e.stackedData,f=e.dataStartIndex,c=e.displayedData,h=e.offset,A=t.layout,g=l&&l.length,x=te.getBaseValue(t,r,a,n),v=A==="horizontal",O=!1,y=c.map(function(d,m){var b;g?b=l[f+m]:(b=J(d,u),Array.isArray(b)?O=!0:b=[x,b]);var w=b[1]==null||g&&J(d,u)==null;return v?{x:Q({axis:a,ticks:i,bandSize:s,entry:d,index:m}),y:w?null:n.scale(b[1]),value:b,payload:d}:{x:w?null:a.scale(b[1]),y:Q({axis:n,ticks:o,bandSize:s,entry:d,index:m}),value:b,payload:d}}),_;return g||O?_=y.map(function(d){var m=Array.isArray(d.value)?d.value[0]:null;return v?{x:d.x,y:m!=null&&d.y!=null?n.scale(m):null}:{x:m!=null?a.scale(m):null,y:d.y}}):_=v?n.scale(x):a.scale(x),S({points:y,baseLine:_,layout:A,isRange:O},h)});E(L,"renderDotItem",function(e,t){var r;if(p.isValidElement(e))r=p.cloneElement(e,t);else if(K(e))r=e(t);else{var a=ee("recharts-area-dot",typeof e!="boolean"?e.className:""),n=t.key,i=ae(t,be);r=p.createElement(fe,D({},i,{key:n,className:a}))}return r});var ke=pe({chartName:"AreaChart",GraphicalChild:L,axisComponents:[{axisType:"xAxis",AxisComp:he},{axisType:"yAxis",AxisComp:de}],formatAxisMap:me});export{ke as A,L as a};
|
|
2
|
-
//# sourceMappingURL=AreaChart-
|
|
1
|
+
import{b as R,c as W,m as T,i as C,d as F,A as ie,e as B,h as q,j as oe,k as G,l as se,n as le,u as ue,o as K,G as ce,p as J,q as Q,D as fe,g as pe,X as he,Y as de,f as me}from"./generateCategoricalChart-xCzi6pWn.js";import{R as p,F as ee,r as ve}from"./index-DqjmZ88m.js";var ye=["layout","type","stroke","connectNulls","isRange","ref"],be=["key"],te;function M(e){"@babel/helpers - typeof";return M=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M(e)}function ae(e,t){if(e==null)return{};var r=Ae(e,t),a,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function Ae(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},D.apply(this,arguments)}function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?U(Object(r),!0).forEach(function(a){E(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function ge(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Z(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,ne(a.key),a)}}function xe(e,t,r){return t&&Z(e.prototype,t),r&&Z(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Pe(e,t,r){return t=$(t),Oe(e,re()?Reflect.construct(t,r||[],$(e).constructor):t.apply(e,r))}function Oe(e,t){if(t&&(M(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ee(e)}function Ee(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(re=function(){return!!e})()}function $(e){return $=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$(e)}function we(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&X(e,t)}function X(e,t){return X=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,n){return a.__proto__=n,a},X(e,t)}function E(e,t,r){return t=ne(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ne(e){var t=_e(e,"string");return M(t)=="symbol"?t:t+""}function _e(e,t){if(M(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(M(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var L=function(e){function t(){var r;ge(this,t);for(var a=arguments.length,n=new Array(a),i=0;i<a;i++)n[i]=arguments[i];return r=Pe(this,t,[].concat(n)),E(r,"state",{isAnimationFinished:!0}),E(r,"id",ue("recharts-area-")),E(r,"handleAnimationEnd",function(){var o=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),K(o)&&o()}),E(r,"handleAnimationStart",function(){var o=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),K(o)&&o()}),r}return we(t,e),xe(t,[{key:"renderDots",value:function(a,n,i){var o=this.props.isAnimationActive,s=this.state.isAnimationFinished;if(o&&!s)return null;var u=this.props,l=u.dot,f=u.points,c=u.dataKey,h=R(this.props,!1),A=R(l,!0),g=f.map(function(v,O){var y=S(S(S({key:"dot-".concat(O),r:3},h),A),{},{index:O,cx:v.x,cy:v.y,dataKey:c,value:v.value,payload:v.payload,points:f});return t.renderDotItem(l,y)}),x={clipPath:a?"url(#clipPath-".concat(n?"":"dots-").concat(i,")"):null};return p.createElement(W,D({className:"recharts-area-dots"},x),g)}},{key:"renderHorizontalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].x,l=o[o.length-1].x,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.y||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.y||0})),c)),C(c)?p.createElement("rect",{x:u<l?u:u-f,y:0,width:f,height:Math.floor(c+(s?parseInt("".concat(s),10):1))}):null}},{key:"renderVerticalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].y,l=o[o.length-1].y,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.x||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.x||0})),c)),C(c)?p.createElement("rect",{x:0,y:u<l?u:u-f,width:c+(s?parseInt("".concat(s),10):1),height:Math.floor(f)}):null}},{key:"renderClipRect",value:function(a){var n=this.props.layout;return n==="vertical"?this.renderVerticalRect(a):this.renderHorizontalRect(a)}},{key:"renderAreaStatically",value:function(a,n,i,o){var s=this.props,u=s.layout,l=s.type,f=s.stroke,c=s.connectNulls,h=s.isRange;s.ref;var A=ae(s,ye);return p.createElement(W,{clipPath:i?"url(#clipPath-".concat(o,")"):null},p.createElement(F,D({},R(A,!0),{points:a,connectNulls:c,type:l,baseLine:n,layout:u,stroke:"none",className:"recharts-area-area"})),f!=="none"&&p.createElement(F,D({},R(this.props,!1),{className:"recharts-area-curve",layout:u,type:l,connectNulls:c,fill:"none",points:a})),f!=="none"&&h&&p.createElement(F,D({},R(this.props,!1),{className:"recharts-area-curve",layout:u,type:l,connectNulls:c,fill:"none",points:n})))}},{key:"renderAreaWithAnimation",value:function(a,n){var i=this,o=this.props,s=o.points,u=o.baseLine,l=o.isAnimationActive,f=o.animationBegin,c=o.animationDuration,h=o.animationEasing,A=o.animationId,g=this.state,x=g.prevPoints,v=g.prevBaseLine;return p.createElement(ie,{begin:f,duration:c,isActive:l,easing:h,from:{t:0},to:{t:1},key:"area-".concat(A),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(O){var y=O.t;if(x){var _=x.length/s.length,d=s.map(function(P,N){var k=Math.floor(N*_);if(x[k]){var j=x[k],I=B(j.x,P.x),V=B(j.y,P.y);return S(S({},P),{},{x:I(y),y:V(y)})}return P}),m;if(C(u)&&typeof u=="number"){var b=B(v,u);m=b(y)}else if(q(u)||oe(u)){var w=B(v,0);m=w(y)}else m=u.map(function(P,N){var k=Math.floor(N*_);if(v[k]){var j=v[k],I=B(j.x,P.x),V=B(j.y,P.y);return S(S({},P),{},{x:I(y),y:V(y)})}return P});return i.renderAreaStatically(d,m,a,n)}return p.createElement(W,null,p.createElement("defs",null,p.createElement("clipPath",{id:"animationClipPath-".concat(n)},i.renderClipRect(y))),p.createElement(W,{clipPath:"url(#animationClipPath-".concat(n,")")},i.renderAreaStatically(s,u,a,n)))})}},{key:"renderArea",value:function(a,n){var i=this.props,o=i.points,s=i.baseLine,u=i.isAnimationActive,l=this.state,f=l.prevPoints,c=l.prevBaseLine,h=l.totalLength;return u&&o&&o.length&&(!f&&h>0||!G(f,o)||!G(c,s))?this.renderAreaWithAnimation(a,n):this.renderAreaStatically(o,s,a,n)}},{key:"render",value:function(){var a,n=this.props,i=n.hide,o=n.dot,s=n.points,u=n.className,l=n.top,f=n.left,c=n.xAxis,h=n.yAxis,A=n.width,g=n.height,x=n.isAnimationActive,v=n.id;if(i||!s||!s.length)return null;var O=this.state.isAnimationFinished,y=s.length===1,_=ee("recharts-area",u),d=c&&c.allowDataOverflow,m=h&&h.allowDataOverflow,b=d||m,w=q(v)?this.id:v,P=(a=R(o,!1))!==null&&a!==void 0?a:{r:3,strokeWidth:2},N=P.r,k=N===void 0?3:N,j=P.strokeWidth,I=j===void 0?2:j,V=se(o)?o:{},Y=V.clipDot,H=Y===void 0?!0:Y,z=k*2+I;return p.createElement(W,{className:_},d||m?p.createElement("defs",null,p.createElement("clipPath",{id:"clipPath-".concat(w)},p.createElement("rect",{x:d?f:f-A/2,y:m?l:l-g/2,width:d?A:A*2,height:m?g:g*2})),!H&&p.createElement("clipPath",{id:"clipPath-dots-".concat(w)},p.createElement("rect",{x:f-z/2,y:l-z/2,width:A+z,height:g+z}))):null,y?null:this.renderArea(b,w),(o||y)&&this.renderDots(b,H,w),(!x||O)&&le.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(a,n){return a.animationId!==n.prevAnimationId?{prevAnimationId:a.animationId,curPoints:a.points,curBaseLine:a.baseLine,prevPoints:n.curPoints,prevBaseLine:n.curBaseLine}:a.points!==n.curPoints||a.baseLine!==n.curBaseLine?{curPoints:a.points,curBaseLine:a.baseLine}:null}}])}(ve.PureComponent);te=L;E(L,"displayName","Area");E(L,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!ce.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});E(L,"getBaseValue",function(e,t,r,a){var n=e.layout,i=e.baseValue,o=t.props.baseValue,s=o??i;if(C(s)&&typeof s=="number")return s;var u=n==="horizontal"?a:r,l=u.scale.domain();if(u.type==="number"){var f=Math.max(l[0],l[1]),c=Math.min(l[0],l[1]);return s==="dataMin"?c:s==="dataMax"||f<0?f:Math.max(Math.min(l[0],l[1]),0)}return s==="dataMin"?l[0]:s==="dataMax"?l[1]:l[0]});E(L,"getComposedData",function(e){var t=e.props,r=e.item,a=e.xAxis,n=e.yAxis,i=e.xAxisTicks,o=e.yAxisTicks,s=e.bandSize,u=e.dataKey,l=e.stackedData,f=e.dataStartIndex,c=e.displayedData,h=e.offset,A=t.layout,g=l&&l.length,x=te.getBaseValue(t,r,a,n),v=A==="horizontal",O=!1,y=c.map(function(d,m){var b;g?b=l[f+m]:(b=J(d,u),Array.isArray(b)?O=!0:b=[x,b]);var w=b[1]==null||g&&J(d,u)==null;return v?{x:Q({axis:a,ticks:i,bandSize:s,entry:d,index:m}),y:w?null:n.scale(b[1]),value:b,payload:d}:{x:w?null:a.scale(b[1]),y:Q({axis:n,ticks:o,bandSize:s,entry:d,index:m}),value:b,payload:d}}),_;return g||O?_=y.map(function(d){var m=Array.isArray(d.value)?d.value[0]:null;return v?{x:d.x,y:m!=null&&d.y!=null?n.scale(m):null}:{x:m!=null?a.scale(m):null,y:d.y}}):_=v?n.scale(x):a.scale(x),S({points:y,baseLine:_,layout:A,isRange:O},h)});E(L,"renderDotItem",function(e,t){var r;if(p.isValidElement(e))r=p.cloneElement(e,t);else if(K(e))r=e(t);else{var a=ee("recharts-area-dot",typeof e!="boolean"?e.className:""),n=t.key,i=ae(t,be);r=p.createElement(fe,D({},i,{key:n,className:a}))}return r});var ke=pe({chartName:"AreaChart",GraphicalChild:L,axisComponents:[{axisType:"xAxis",AxisComp:he},{axisType:"yAxis",AxisComp:de}],formatAxisMap:me});export{ke as A,L as a};
|
|
2
|
+
//# sourceMappingURL=AreaChart-DjXp8u2Y.js.map
|