@industry-theme/principal-view-panels 0.3.1 → 0.3.3
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/panels.bundle.js +942 -11
- package/dist/panels.bundle.js.map +1 -1
- package/package.json +2 -2
- package/dist/adapters/PanelFileSystemAdapter.d.ts +0 -82
- package/dist/adapters/PanelFileSystemAdapter.d.ts.map +0 -1
- package/dist/demo/DemoApp.d.ts +0 -13
- package/dist/demo/DemoApp.d.ts.map +0 -1
- package/dist/demo/DemoApp.stories.d.ts +0 -71
- package/dist/demo/DemoApp.stories.d.ts.map +0 -1
- package/dist/demo/api/browser.d.ts +0 -15
- package/dist/demo/api/browser.d.ts.map +0 -1
- package/dist/demo/api/handlers.d.ts +0 -8
- package/dist/demo/api/handlers.d.ts.map +0 -1
- package/dist/demo/components/BookDetails/BookDetails.d.ts +0 -16
- package/dist/demo/components/BookDetails/BookDetails.d.ts.map +0 -1
- package/dist/demo/components/CardCatalog/CardCatalog.d.ts +0 -16
- package/dist/demo/components/CardCatalog/CardCatalog.d.ts.map +0 -1
- package/dist/demo/components/ReadingRoom/ReadingRoom.d.ts +0 -17
- package/dist/demo/components/ReadingRoom/ReadingRoom.d.ts.map +0 -1
- package/dist/demo/data/mockData.d.ts +0 -33
- package/dist/demo/data/mockData.d.ts.map +0 -1
- package/dist/demo/data/types.d.ts +0 -168
- package/dist/demo/data/types.d.ts.map +0 -1
- package/dist/index.d.ts +0 -57
- package/dist/index.d.ts.map +0 -1
- package/dist/mocks/panelContext.d.ts +0 -31
- package/dist/mocks/panelContext.d.ts.map +0 -1
- package/dist/mocks/vvfConfigs.d.ts +0 -32
- package/dist/mocks/vvfConfigs.d.ts.map +0 -1
- package/dist/panels/BookAnalogyExplainerPanel.d.ts +0 -7
- package/dist/panels/BookAnalogyExplainerPanel.d.ts.map +0 -1
- package/dist/panels/BookAnalogyExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/BookAnalogyExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/CanvasDetailPanel.d.ts +0 -31
- package/dist/panels/CanvasDetailPanel.d.ts.map +0 -1
- package/dist/panels/CanvasDetailPanel.stories.d.ts +0 -50
- package/dist/panels/CanvasDetailPanel.stories.d.ts.map +0 -1
- package/dist/panels/CanvasEditorPanel.d.ts +0 -27
- package/dist/panels/CanvasEditorPanel.d.ts.map +0 -1
- package/dist/panels/CanvasEditorPanel.stories.d.ts +0 -32
- package/dist/panels/CanvasEditorPanel.stories.d.ts.map +0 -1
- package/dist/panels/CanvasListPanel.d.ts +0 -13
- package/dist/panels/CanvasListPanel.d.ts.map +0 -1
- package/dist/panels/CanvasListPanel.stories.d.ts +0 -57
- package/dist/panels/CanvasListPanel.stories.d.ts.map +0 -1
- package/dist/panels/CanvasTypesExplainerPanel.d.ts +0 -7
- package/dist/panels/CanvasTypesExplainerPanel.d.ts.map +0 -1
- package/dist/panels/CanvasTypesExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/CanvasTypesExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/ChangeImpactAnalysisExplainerPanel.d.ts +0 -7
- package/dist/panels/ChangeImpactAnalysisExplainerPanel.d.ts.map +0 -1
- package/dist/panels/ChangeImpactAnalysisExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/ChangeImpactAnalysisExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/ControlTowerIntegration.stories.d.ts +0 -12
- package/dist/panels/ControlTowerIntegration.stories.d.ts.map +0 -1
- package/dist/panels/EventControllerPanel.d.ts +0 -32
- package/dist/panels/EventControllerPanel.d.ts.map +0 -1
- package/dist/panels/EventControllerPanel.stories.d.ts +0 -53
- package/dist/panels/EventControllerPanel.stories.d.ts.map +0 -1
- package/dist/panels/EventRecorderPanel.d.ts +0 -54
- package/dist/panels/EventRecorderPanel.d.ts.map +0 -1
- package/dist/panels/EventRecorderPanel.stories.d.ts +0 -12
- package/dist/panels/EventRecorderPanel.stories.d.ts.map +0 -1
- package/dist/panels/EventRecordingIntegration.stories.d.ts +0 -21
- package/dist/panels/EventRecordingIntegration.stories.d.ts.map +0 -1
- package/dist/panels/HierarchicalCanvasCompositionExplainerPanel.d.ts +0 -7
- package/dist/panels/HierarchicalCanvasCompositionExplainerPanel.d.ts.map +0 -1
- package/dist/panels/HierarchicalCanvasCompositionExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/HierarchicalCanvasCompositionExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/LibraryAnchoringExplainerPanel.d.ts +0 -7
- package/dist/panels/LibraryAnchoringExplainerPanel.d.ts.map +0 -1
- package/dist/panels/LibraryAnchoringExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/LibraryAnchoringExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/MonorepoComposabilityExplainerPanel.d.ts +0 -7
- package/dist/panels/MonorepoComposabilityExplainerPanel.d.ts.map +0 -1
- package/dist/panels/MonorepoComposabilityExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/MonorepoComposabilityExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/MultipleCanvasViewsExplainerPanel.d.ts +0 -7
- package/dist/panels/MultipleCanvasViewsExplainerPanel.d.ts.map +0 -1
- package/dist/panels/MultipleCanvasViewsExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/MultipleCanvasViewsExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/NarrativeExplainerPanel.d.ts +0 -7
- package/dist/panels/NarrativeExplainerPanel.d.ts.map +0 -1
- package/dist/panels/NarrativeExplainerPanel.stories.d.ts +0 -23
- package/dist/panels/NarrativeExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/ProductionDebuggingExplainerPanel.d.ts +0 -7
- package/dist/panels/ProductionDebuggingExplainerPanel.d.ts.map +0 -1
- package/dist/panels/ProductionDebuggingExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/ProductionDebuggingExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/RuntimeValidationExplainerPanel.d.ts +0 -7
- package/dist/panels/RuntimeValidationExplainerPanel.d.ts.map +0 -1
- package/dist/panels/RuntimeValidationExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/RuntimeValidationExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/ScenarioEnumerationExplainerPanel.d.ts +0 -7
- package/dist/panels/ScenarioEnumerationExplainerPanel.d.ts.map +0 -1
- package/dist/panels/ScenarioEnumerationExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/ScenarioEnumerationExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/TelemetryCoverageExplainerPanel.d.ts +0 -7
- package/dist/panels/TelemetryCoverageExplainerPanel.d.ts.map +0 -1
- package/dist/panels/TelemetryCoverageExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/TelemetryCoverageExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/TestVsProductionExplainerPanel.d.ts +0 -7
- package/dist/panels/TestVsProductionExplainerPanel.d.ts.map +0 -1
- package/dist/panels/TestVsProductionExplainerPanel.stories.d.ts +0 -33
- package/dist/panels/TestVsProductionExplainerPanel.stories.d.ts.map +0 -1
- package/dist/panels/canvas-list/components/CanvasCard.d.ts +0 -13
- package/dist/panels/canvas-list/components/CanvasCard.d.ts.map +0 -1
- package/dist/panels/canvas-list/hooks/useCanvasData.d.ts +0 -18
- package/dist/panels/canvas-list/hooks/useCanvasData.d.ts.map +0 -1
- package/dist/panels/execution-viewer/EventNodeMapper.d.ts +0 -46
- package/dist/panels/execution-viewer/EventNodeMapper.d.ts.map +0 -1
- package/dist/panels/execution-viewer/ExecutionLoader.d.ts +0 -128
- package/dist/panels/execution-viewer/ExecutionLoader.d.ts.map +0 -1
- package/dist/panels/execution-viewer/ExecutionStats.d.ts +0 -11
- package/dist/panels/execution-viewer/ExecutionStats.d.ts.map +0 -1
- package/dist/panels/execution-viewer/NarrativeLoader.d.ts +0 -65
- package/dist/panels/execution-viewer/NarrativeLoader.d.ts.map +0 -1
- package/dist/panels/execution-viewer/NarrativeRenderer.d.ts +0 -19
- package/dist/panels/execution-viewer/NarrativeRenderer.d.ts.map +0 -1
- package/dist/panels/execution-viewer/NarrativeTemplatePanel.d.ts +0 -15
- package/dist/panels/execution-viewer/NarrativeTemplatePanel.d.ts.map +0 -1
- package/dist/panels/execution-viewer/TestEventPanel.d.ts +0 -47
- package/dist/panels/execution-viewer/TestEventPanel.d.ts.map +0 -1
- package/dist/panels/execution-viewer/narrative-converter.d.ts +0 -45
- package/dist/panels/execution-viewer/narrative-converter.d.ts.map +0 -1
- package/dist/panels/principal-view/ConfigLoader.d.ts +0 -43
- package/dist/panels/principal-view/ConfigLoader.d.ts.map +0 -1
- package/dist/panels/principal-view/EmptyStateContent.d.ts +0 -12
- package/dist/panels/principal-view/EmptyStateContent.d.ts.map +0 -1
- package/dist/panels/principal-view/ErrorStateContent.d.ts +0 -14
- package/dist/panels/principal-view/ErrorStateContent.d.ts.map +0 -1
- package/dist/stubs/codebase-quality-lenses-stub.d.ts +0 -26
- package/dist/stubs/codebase-quality-lenses-stub.d.ts.map +0 -1
- package/dist/tools/index.d.ts +0 -32
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.d.ts.map +0 -1
package/dist/panels.bundle.js
CHANGED
|
@@ -53249,13 +53249,8 @@ const CanvasDetailPanel = ({
|
|
|
53249
53249
|
setState((prev) => ({ ...prev, viewMode: mode }));
|
|
53250
53250
|
}, []);
|
|
53251
53251
|
const handleOpenInEditor = useCallback(() => {
|
|
53252
|
-
|
|
53253
|
-
|
|
53254
|
-
return;
|
|
53255
|
-
}
|
|
53256
|
-
const canvasPath = canvasPathProp || ((_a2 = state.canvas.pv) == null ? void 0 : _a2.name) ? `.principal-views/${state.canvas.pv.name}.otel.canvas` : null;
|
|
53257
|
-
if (!canvasPath) {
|
|
53258
|
-
console.warn("[CanvasDetailPanel] Cannot open in editor: canvas path not available");
|
|
53252
|
+
if (!state.canvas || !state.selectedCanvasId || !canvasPathProp) {
|
|
53253
|
+
console.warn("[CanvasDetailPanel] Cannot open in editor: missing canvas path prop");
|
|
53259
53254
|
return;
|
|
53260
53255
|
}
|
|
53261
53256
|
if (eventsRef.current) {
|
|
@@ -53268,7 +53263,7 @@ const CanvasDetailPanel = ({
|
|
|
53268
53263
|
canvasId: state.selectedCanvasId,
|
|
53269
53264
|
canvas: {
|
|
53270
53265
|
id: state.selectedCanvasId,
|
|
53271
|
-
path:
|
|
53266
|
+
path: canvasPathProp,
|
|
53272
53267
|
name: state.canvasName || state.selectedCanvasId
|
|
53273
53268
|
}
|
|
53274
53269
|
}
|
|
@@ -53743,19 +53738,21 @@ const CanvasDetailPanel = ({
|
|
|
53743
53738
|
"button",
|
|
53744
53739
|
{
|
|
53745
53740
|
onClick: handleOpenInEditor,
|
|
53741
|
+
disabled: !canvasPathProp,
|
|
53746
53742
|
style: {
|
|
53747
53743
|
padding: "6px 12px",
|
|
53748
53744
|
background: "#2a2a2a",
|
|
53749
53745
|
border: "1px solid #3a3a3a",
|
|
53750
53746
|
borderRadius: "4px",
|
|
53751
53747
|
color: "#fff",
|
|
53752
|
-
cursor: "pointer",
|
|
53748
|
+
cursor: canvasPathProp ? "pointer" : "not-allowed",
|
|
53749
|
+
opacity: canvasPathProp ? 1 : 0.5,
|
|
53753
53750
|
display: "flex",
|
|
53754
53751
|
alignItems: "center",
|
|
53755
53752
|
gap: "6px",
|
|
53756
53753
|
fontSize: "13px"
|
|
53757
53754
|
},
|
|
53758
|
-
title: "Open in Canvas Editor",
|
|
53755
|
+
title: canvasPathProp ? "Open in Canvas Editor" : "Canvas path not available",
|
|
53759
53756
|
children: [
|
|
53760
53757
|
/* @__PURE__ */ jsx(Pencil, { size: 14 }),
|
|
53761
53758
|
/* @__PURE__ */ jsx("span", { children: "Edit" })
|
|
@@ -56329,6 +56326,7 @@ const CanvasListPanel = ({
|
|
|
56329
56326
|
ref: panelRef,
|
|
56330
56327
|
tabIndex: -1,
|
|
56331
56328
|
style: {
|
|
56329
|
+
position: "relative",
|
|
56332
56330
|
padding: "clamp(12px, 3vw, 20px)",
|
|
56333
56331
|
fontFamily: theme.fonts.body,
|
|
56334
56332
|
height: "100%",
|
|
@@ -56617,7 +56615,7 @@ const CanvasListPanel = ({
|
|
|
56617
56615
|
}
|
|
56618
56616
|
),
|
|
56619
56617
|
showHelp && /* @__PURE__ */ jsx("div", { style: {
|
|
56620
|
-
position: "
|
|
56618
|
+
position: "absolute",
|
|
56621
56619
|
inset: 0,
|
|
56622
56620
|
backgroundColor: "rgba(0, 0, 0, 0.5)",
|
|
56623
56621
|
display: "flex",
|
|
@@ -63961,6 +63959,936 @@ const ChangeImpactAnalysisExplainerPanel = ({ className }) => {
|
|
|
63961
63959
|
}
|
|
63962
63960
|
);
|
|
63963
63961
|
};
|
|
63962
|
+
const Step1TraditionalDevelopment = () => {
|
|
63963
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
63964
|
+
/* @__PURE__ */ jsxs("svg", { viewBox: "0 0 600 250", style: { width: "100%", height: "auto" }, children: [
|
|
63965
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
63966
|
+
/* @__PURE__ */ jsx("circle", { cx: "100", cy: "100", r: "30", fill: "#3b82f6", stroke: "#60a5fa", strokeWidth: "2" }),
|
|
63967
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "105", textAnchor: "middle", fill: "#fff", fontSize: "28", children: "👨💻" }),
|
|
63968
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "150", textAnchor: "middle", fill: "#94a3b8", fontSize: "12", fontWeight: "600", children: "DEVELOPER" })
|
|
63969
|
+
] }),
|
|
63970
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
63971
|
+
/* @__PURE__ */ jsx("line", { x1: "140", y1: "100", x2: "220", y2: "100", stroke: "#10b981", strokeWidth: "2", markerEnd: "url(#arrowgreen)" }),
|
|
63972
|
+
/* @__PURE__ */ jsx("text", { x: "180", y: "90", textAnchor: "middle", fill: "#10b981", fontSize: "10", fontWeight: "600", children: "Builds Code" }),
|
|
63973
|
+
/* @__PURE__ */ jsx("text", { x: "180", y: "118", textAnchor: "middle", fill: "#10b981", fontSize: "9", children: "Gains Expertise" })
|
|
63974
|
+
] }),
|
|
63975
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
63976
|
+
/* @__PURE__ */ jsx("rect", { x: "230", y: "70", width: "120", height: "60", fill: "#1e293b", stroke: "#475569", strokeWidth: "2", rx: "4" }),
|
|
63977
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "92", textAnchor: "middle", fill: "#94a3b8", fontSize: "11", fontWeight: "600", children: "CODE" }),
|
|
63978
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "106", textAnchor: "middle", fill: "#64748b", fontSize: "9", children: "system.ts" }),
|
|
63979
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "120", textAnchor: "middle", fill: "#64748b", fontSize: "9", children: "features.ts" })
|
|
63980
|
+
] }),
|
|
63981
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
63982
|
+
/* @__PURE__ */ jsx("line", { x1: "290", y1: "140", x2: "290", y2: "180", stroke: "#3b82f6", strokeWidth: "2", markerEnd: "url(#arrowblue)" }),
|
|
63983
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "165", fill: "#3b82f6", fontSize: "10", fontWeight: "600", children: "Monitors" })
|
|
63984
|
+
] }),
|
|
63985
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
63986
|
+
/* @__PURE__ */ jsx("rect", { x: "230", y: "190", width: "120", height: "45", fill: "#064e3b", stroke: "#059669", strokeWidth: "2", rx: "4" }),
|
|
63987
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "210", textAnchor: "middle", fill: "#6ee7b7", fontSize: "11", fontWeight: "600", children: "PRODUCTION" }),
|
|
63988
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "224", textAnchor: "middle", fill: "#a7f3d0", fontSize: "9", children: "Running System" })
|
|
63989
|
+
] }),
|
|
63990
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
63991
|
+
/* @__PURE__ */ jsx(
|
|
63992
|
+
"path",
|
|
63993
|
+
{
|
|
63994
|
+
d: "M 360 100 Q 420 100, 420 160 Q 420 220, 360 220",
|
|
63995
|
+
stroke: "#fbbf24",
|
|
63996
|
+
strokeWidth: "2",
|
|
63997
|
+
fill: "none",
|
|
63998
|
+
strokeDasharray: "5,5",
|
|
63999
|
+
markerEnd: "url(#arrowyellow)"
|
|
64000
|
+
}
|
|
64001
|
+
),
|
|
64002
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "160", fill: "#fbbf24", fontSize: "10", fontWeight: "600", children: "Developer" }),
|
|
64003
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "172", fill: "#fbbf24", fontSize: "10", fontWeight: "600", children: "Knowledge" }),
|
|
64004
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "184", fill: "#fbbf24", fontSize: "10", fontWeight: "600", children: "= Monitoring" })
|
|
64005
|
+
] }),
|
|
64006
|
+
/* @__PURE__ */ jsxs("defs", { children: [
|
|
64007
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowgreen", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#10b981" }) }),
|
|
64008
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowblue", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#3b82f6" }) }),
|
|
64009
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowyellow", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#fbbf24" }) })
|
|
64010
|
+
] })
|
|
64011
|
+
] }),
|
|
64012
|
+
/* @__PURE__ */ jsxs("div", { style: {
|
|
64013
|
+
fontSize: "14px",
|
|
64014
|
+
color: "#cbd5e1",
|
|
64015
|
+
backgroundColor: "#1e293b",
|
|
64016
|
+
padding: "16px",
|
|
64017
|
+
borderRadius: "6px",
|
|
64018
|
+
border: "1px solid #475569"
|
|
64019
|
+
}, children: [
|
|
64020
|
+
/* @__PURE__ */ jsx("strong", { children: "Traditional Development:" }),
|
|
64021
|
+
" Engineers built deep system knowledge while writing code. Their expertise was the monitoring system - they could debug because they understood every piece."
|
|
64022
|
+
] })
|
|
64023
|
+
] });
|
|
64024
|
+
};
|
|
64025
|
+
const Step2AgentDevelopment = () => {
|
|
64026
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
64027
|
+
/* @__PURE__ */ jsxs("svg", { viewBox: "0 0 600 250", style: { width: "100%", height: "auto" }, children: [
|
|
64028
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64029
|
+
/* @__PURE__ */ jsx("circle", { cx: "100", cy: "100", r: "30", fill: "#3b82f6", stroke: "#60a5fa", strokeWidth: "2" }),
|
|
64030
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "105", textAnchor: "middle", fill: "#fff", fontSize: "28", children: "👨💻" }),
|
|
64031
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "150", textAnchor: "middle", fill: "#94a3b8", fontSize: "12", fontWeight: "600", children: "DEVELOPER" })
|
|
64032
|
+
] }),
|
|
64033
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64034
|
+
/* @__PURE__ */ jsx("line", { x1: "130", y1: "80", x2: "210", y2: "50", stroke: "#a78bfa", strokeWidth: "2", markerEnd: "url(#arrowpurple)" }),
|
|
64035
|
+
/* @__PURE__ */ jsx("text", { x: "170", y: "55", textAnchor: "middle", fill: "#a78bfa", fontSize: "10", fontWeight: "600", children: "Directs" })
|
|
64036
|
+
] }),
|
|
64037
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64038
|
+
/* @__PURE__ */ jsx("rect", { x: "220", y: "20", width: "100", height: "50", fill: "#4c1d95", stroke: "#a78bfa", strokeWidth: "2", rx: "4" }),
|
|
64039
|
+
/* @__PURE__ */ jsx("text", { x: "270", y: "42", textAnchor: "middle", fill: "#e9d5ff", fontSize: "24", children: "🤖" }),
|
|
64040
|
+
/* @__PURE__ */ jsx("text", { x: "270", y: "63", textAnchor: "middle", fill: "#c4b5fd", fontSize: "10", fontWeight: "600", children: "AI AGENT" })
|
|
64041
|
+
] }),
|
|
64042
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64043
|
+
/* @__PURE__ */ jsx("line", { x1: "270", y1: "80", x2: "270", y2: "120", stroke: "#ef4444", strokeWidth: "2", markerEnd: "url(#arrowred)", strokeDasharray: "5,5" }),
|
|
64044
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "105", fill: "#ef4444", fontSize: "10", fontWeight: "600", children: "Generates" }),
|
|
64045
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "117", fill: "#ef4444", fontSize: "9", children: "Without Context" })
|
|
64046
|
+
] }),
|
|
64047
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64048
|
+
/* @__PURE__ */ jsx("rect", { x: "220", y: "130", width: "100", height: "60", fill: "#1e293b", stroke: "#ef4444", strokeWidth: "2", rx: "4" }),
|
|
64049
|
+
/* @__PURE__ */ jsx("text", { x: "270", y: "150", textAnchor: "middle", fill: "#94a3b8", fontSize: "11", fontWeight: "600", children: "CODE" }),
|
|
64050
|
+
/* @__PURE__ */ jsx("text", { x: "270", y: "164", textAnchor: "middle", fill: "#64748b", fontSize: "9", children: "agent-gen.ts" }),
|
|
64051
|
+
/* @__PURE__ */ jsx("text", { x: "270", y: "178", textAnchor: "middle", fill: "#64748b", fontSize: "9", children: "auto-feat.ts" }),
|
|
64052
|
+
/* @__PURE__ */ jsx("text", { x: "245", y: "148", fill: "#ef4444", fontSize: "24", children: "⚠️" })
|
|
64053
|
+
] }),
|
|
64054
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64055
|
+
/* @__PURE__ */ jsx("rect", { x: "380", y: "130", width: "120", height: "60", fill: "#7f1d1d", stroke: "#ef4444", strokeWidth: "2", rx: "4" }),
|
|
64056
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "152", textAnchor: "middle", fill: "#fca5a5", fontSize: "11", fontWeight: "600", children: "PRODUCTION" }),
|
|
64057
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "166", textAnchor: "middle", fill: "#fca5a5", fontSize: "9", children: "Unknown Behavior" }),
|
|
64058
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "180", textAnchor: "middle", fill: "#fca5a5", fontSize: "9", children: "No Understanding" })
|
|
64059
|
+
] }),
|
|
64060
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64061
|
+
/* @__PURE__ */ jsx("line", { x1: "330", y1: "160", x2: "370", y2: "160", stroke: "#64748b", strokeWidth: "2", markerEnd: "url(#arrowgray)" }),
|
|
64062
|
+
/* @__PURE__ */ jsx("text", { x: "350", y: "150", textAnchor: "middle", fill: "#64748b", fontSize: "9", children: "Deploy" })
|
|
64063
|
+
] }),
|
|
64064
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64065
|
+
/* @__PURE__ */ jsx(
|
|
64066
|
+
"path",
|
|
64067
|
+
{
|
|
64068
|
+
d: "M 100 130 Q 100 200, 440 200",
|
|
64069
|
+
stroke: "#ef4444",
|
|
64070
|
+
strokeWidth: "3",
|
|
64071
|
+
fill: "none",
|
|
64072
|
+
strokeDasharray: "5,5"
|
|
64073
|
+
}
|
|
64074
|
+
),
|
|
64075
|
+
/* @__PURE__ */ jsx("text", { x: "70", y: "225", fill: "#ef4444", fontSize: "11", fontWeight: "700", children: "❌ KNOWLEDGE GAP" }),
|
|
64076
|
+
/* @__PURE__ */ jsx("text", { x: "240", y: "225", fill: "#ef4444", fontSize: "9", children: "Developer didn't build it = No debugging context" })
|
|
64077
|
+
] }),
|
|
64078
|
+
/* @__PURE__ */ jsxs("defs", { children: [
|
|
64079
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowpurple", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#a78bfa" }) }),
|
|
64080
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowred", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#ef4444" }) }),
|
|
64081
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowgray", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#64748b" }) })
|
|
64082
|
+
] })
|
|
64083
|
+
] }),
|
|
64084
|
+
/* @__PURE__ */ jsxs("div", { style: {
|
|
64085
|
+
fontSize: "14px",
|
|
64086
|
+
color: "#fca5a5",
|
|
64087
|
+
backgroundColor: "#7f1d1d",
|
|
64088
|
+
padding: "16px",
|
|
64089
|
+
borderRadius: "6px",
|
|
64090
|
+
border: "1px solid #ef4444"
|
|
64091
|
+
}, children: [
|
|
64092
|
+
/* @__PURE__ */ jsx("strong", { children: "The Agent Gap:" }),
|
|
64093
|
+
" AI generates code without building developer understanding. When issues arise in production, there's no expertise to rely on. Traditional monitoring can't fill this gap."
|
|
64094
|
+
] })
|
|
64095
|
+
] });
|
|
64096
|
+
};
|
|
64097
|
+
const Step3TheGap = () => {
|
|
64098
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
64099
|
+
/* @__PURE__ */ jsxs("svg", { viewBox: "0 0 600 320", style: { width: "100%", height: "auto" }, children: [
|
|
64100
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "25", textAnchor: "middle", fill: "#94a3b8", fontSize: "14", fontWeight: "700", children: "THE MONITORING GAP" }),
|
|
64101
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64102
|
+
/* @__PURE__ */ jsx("rect", { x: "40", y: "50", width: "220", height: "250", fill: "#1e293b", stroke: "#475569", strokeWidth: "2", rx: "6" }),
|
|
64103
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "75", textAnchor: "middle", fill: "#10b981", fontSize: "12", fontWeight: "600", children: "TRADITIONAL (Before)" }),
|
|
64104
|
+
/* @__PURE__ */ jsx("rect", { x: "60", y: "90", width: "180", height: "50", fill: "#064e3b", stroke: "#059669", strokeWidth: "1.5", rx: "4" }),
|
|
64105
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "108", textAnchor: "middle", fill: "#6ee7b7", fontSize: "11", fontWeight: "600", children: "Developer Expertise" }),
|
|
64106
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "122", textAnchor: "middle", fill: "#a7f3d0", fontSize: "9", children: "Built while coding" }),
|
|
64107
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "133", textAnchor: "middle", fill: "#a7f3d0", fontSize: "9", children: "Deep system knowledge" }),
|
|
64108
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "160", textAnchor: "middle", fill: "#94a3b8", fontSize: "10", children: "+" }),
|
|
64109
|
+
/* @__PURE__ */ jsx("rect", { x: "60", y: "170", width: "180", height: "45", fill: "#0f172a", stroke: "#334155", strokeWidth: "1.5", rx: "4" }),
|
|
64110
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "188", textAnchor: "middle", fill: "#94a3b8", fontSize: "11", fontWeight: "600", children: "Basic Monitoring" }),
|
|
64111
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "202", textAnchor: "middle", fill: "#64748b", fontSize: "9", children: "Logs, metrics, traces" }),
|
|
64112
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "235", textAnchor: "middle", fill: "#10b981", fontSize: "11", children: "=" }),
|
|
64113
|
+
/* @__PURE__ */ jsx("rect", { x: "60", y: "245", width: "180", height: "40", fill: "#064e3b", stroke: "#059669", strokeWidth: "2", rx: "4" }),
|
|
64114
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "264", textAnchor: "middle", fill: "#6ee7b7", fontSize: "11", fontWeight: "700", children: "✓ Effective Monitoring" }),
|
|
64115
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "277", textAnchor: "middle", fill: "#a7f3d0", fontSize: "9", children: "Human knowledge filled gaps" })
|
|
64116
|
+
] }),
|
|
64117
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64118
|
+
/* @__PURE__ */ jsx("rect", { x: "340", y: "50", width: "220", height: "250", fill: "#1e293b", stroke: "#475569", strokeWidth: "2", rx: "6" }),
|
|
64119
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "75", textAnchor: "middle", fill: "#ef4444", fontSize: "12", fontWeight: "600", children: "AI-ERA (Now)" }),
|
|
64120
|
+
/* @__PURE__ */ jsx("rect", { x: "360", y: "90", width: "180", height: "50", fill: "#7f1d1d", stroke: "#ef4444", strokeWidth: "1.5", rx: "4" }),
|
|
64121
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "108", textAnchor: "middle", fill: "#fca5a5", fontSize: "11", fontWeight: "600", children: "❌ No Expertise" }),
|
|
64122
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "122", textAnchor: "middle", fill: "#fca5a5", fontSize: "9", children: "AI wrote the code" }),
|
|
64123
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "133", textAnchor: "middle", fill: "#fca5a5", fontSize: "9", children: "Developer has no context" }),
|
|
64124
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "160", textAnchor: "middle", fill: "#94a3b8", fontSize: "10", children: "+" }),
|
|
64125
|
+
/* @__PURE__ */ jsx("rect", { x: "360", y: "170", width: "180", height: "45", fill: "#0f172a", stroke: "#334155", strokeWidth: "1.5", rx: "4" }),
|
|
64126
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "188", textAnchor: "middle", fill: "#94a3b8", fontSize: "11", fontWeight: "600", children: "Basic Monitoring" }),
|
|
64127
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "202", textAnchor: "middle", fill: "#64748b", fontSize: "9", children: "Same logs, metrics, traces" }),
|
|
64128
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "235", textAnchor: "middle", fill: "#ef4444", fontSize: "11", children: "=" }),
|
|
64129
|
+
/* @__PURE__ */ jsx("rect", { x: "360", y: "245", width: "180", height: "40", fill: "#7f1d1d", stroke: "#ef4444", strokeWidth: "2", rx: "4" }),
|
|
64130
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "264", textAnchor: "middle", fill: "#fca5a5", fontSize: "11", fontWeight: "700", children: "❌ Monitoring Gap" }),
|
|
64131
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "277", textAnchor: "middle", fill: "#fca5a5", fontSize: "9", children: "No knowledge to fill gaps" })
|
|
64132
|
+
] }),
|
|
64133
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64134
|
+
/* @__PURE__ */ jsx("path", { d: "M 280 200 L 320 200", stroke: "#fbbf24", strokeWidth: "3", markerEnd: "url(#arrowyellow2)" }),
|
|
64135
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "190", textAnchor: "middle", fill: "#fbbf24", fontSize: "11", fontWeight: "700", children: "THE GAP" })
|
|
64136
|
+
] }),
|
|
64137
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("marker", { id: "arrowyellow2", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#fbbf24" }) }) })
|
|
64138
|
+
] }),
|
|
64139
|
+
/* @__PURE__ */ jsxs("div", { style: {
|
|
64140
|
+
fontSize: "14px",
|
|
64141
|
+
color: "#fef3c7",
|
|
64142
|
+
backgroundColor: "#78350f",
|
|
64143
|
+
padding: "16px",
|
|
64144
|
+
borderRadius: "6px",
|
|
64145
|
+
border: "2px solid #fbbf24"
|
|
64146
|
+
}, children: [
|
|
64147
|
+
/* @__PURE__ */ jsx("strong", { children: "The Critical Gap:" }),
|
|
64148
|
+
" Traditional monitoring worked because developer expertise filled the gaps. With AI agents, that expertise is missing. ",
|
|
64149
|
+
/* @__PURE__ */ jsx("strong", { children: "We need tools to encapsulate what was once in developers' heads." })
|
|
64150
|
+
] })
|
|
64151
|
+
] });
|
|
64152
|
+
};
|
|
64153
|
+
const Step4ImplicationsDevelopers = () => {
|
|
64154
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
64155
|
+
/* @__PURE__ */ jsxs("svg", { viewBox: "0 0 600 280", style: { width: "100%", height: "auto" }, children: [
|
|
64156
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "25", textAnchor: "middle", fill: "#94a3b8", fontSize: "14", fontWeight: "700", children: "WHAT THIS MEANS FOR DEVELOPERS" }),
|
|
64157
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64158
|
+
/* @__PURE__ */ jsx("rect", { x: "40", y: "50", width: "250", height: "100", fill: "#1e293b", stroke: "#60a5fa", strokeWidth: "2", rx: "6" }),
|
|
64159
|
+
/* @__PURE__ */ jsx("text", { x: "165", y: "72", textAnchor: "middle", fill: "#60a5fa", fontSize: "12", fontWeight: "700", children: "Every Engineer = Team Lead" }),
|
|
64160
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "92", fill: "#94a3b8", fontSize: "10", children: "✓ Manages AI agents making changes" }),
|
|
64161
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "108", fill: "#94a3b8", fontSize: "10", children: "✓ Reviews agent-generated code" }),
|
|
64162
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "124", fill: "#94a3b8", fontSize: "10", children: "✓ Ensures quality & correctness" }),
|
|
64163
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "140", fill: "#10b981", fontSize: "10", fontWeight: "600", children: "→ Time shifts from coding to oversight" })
|
|
64164
|
+
] }),
|
|
64165
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64166
|
+
/* @__PURE__ */ jsx("rect", { x: "310", y: "50", width: "250", height: "100", fill: "#7f1d1d", stroke: "#ef4444", strokeWidth: "2", rx: "6" }),
|
|
64167
|
+
/* @__PURE__ */ jsx("text", { x: "435", y: "72", textAnchor: "middle", fill: "#fca5a5", fontSize: "12", fontWeight: "700", children: "The Challenge" }),
|
|
64168
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "92", fill: "#fca5a5", fontSize: "10", children: "❌ Can't fully trust agent output" }),
|
|
64169
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "108", fill: "#fca5a5", fontSize: "10", children: "❌ No context for debugging issues" }),
|
|
64170
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "124", fill: "#fca5a5", fontSize: "10", children: "❌ Traditional tools don't help" }),
|
|
64171
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "140", fill: "#fca5a5", fontSize: "10", fontWeight: "600", children: "→ Can't leverage agents without risk" })
|
|
64172
|
+
] }),
|
|
64173
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64174
|
+
/* @__PURE__ */ jsx("rect", { x: "40", y: "170", width: "520", height: "90", fill: "#064e3b", stroke: "#10b981", strokeWidth: "3", rx: "6" }),
|
|
64175
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "195", textAnchor: "middle", fill: "#6ee7b7", fontSize: "13", fontWeight: "700", children: "WHAT DEVELOPERS NEED" }),
|
|
64176
|
+
/* @__PURE__ */ jsxs("text", { x: "60", y: "218", fill: "#a7f3d0", fontSize: "11", children: [
|
|
64177
|
+
"1. ",
|
|
64178
|
+
/* @__PURE__ */ jsx("tspan", { fontWeight: "600", children: "Encode Expectations:" }),
|
|
64179
|
+
" Define what the system should do"
|
|
64180
|
+
] }),
|
|
64181
|
+
/* @__PURE__ */ jsxs("text", { x: "60", y: "235", fill: "#a7f3d0", fontSize: "11", children: [
|
|
64182
|
+
"2. ",
|
|
64183
|
+
/* @__PURE__ */ jsx("tspan", { fontWeight: "600", children: "Automatic Validation:" }),
|
|
64184
|
+
" Verify agent changes against expectations"
|
|
64185
|
+
] }),
|
|
64186
|
+
/* @__PURE__ */ jsxs("text", { x: "60", y: "252", fill: "#a7f3d0", fontSize: "11", children: [
|
|
64187
|
+
"3. ",
|
|
64188
|
+
/* @__PURE__ */ jsx("tspan", { fontWeight: "600", children: "Confidence to Deploy:" }),
|
|
64189
|
+
" Trust that agents' work is correct"
|
|
64190
|
+
] })
|
|
64191
|
+
] })
|
|
64192
|
+
] }),
|
|
64193
|
+
/* @__PURE__ */ jsxs("div", { style: {
|
|
64194
|
+
fontSize: "14px",
|
|
64195
|
+
color: "#cbd5e1",
|
|
64196
|
+
backgroundColor: "#1e293b",
|
|
64197
|
+
padding: "16px",
|
|
64198
|
+
borderRadius: "6px",
|
|
64199
|
+
border: "1px solid #475569"
|
|
64200
|
+
}, children: [
|
|
64201
|
+
/* @__PURE__ */ jsx("strong", { children: "The Opportunity:" }),
|
|
64202
|
+
" Developers have time to craft system expectations instead of writing every line. They need tools that turn those expectations into automated verification - making agent work trustworthy."
|
|
64203
|
+
] })
|
|
64204
|
+
] });
|
|
64205
|
+
};
|
|
64206
|
+
const AgentMonitoringGapExplainerPanel = ({
|
|
64207
|
+
className
|
|
64208
|
+
}) => {
|
|
64209
|
+
var _a;
|
|
64210
|
+
const [activeSection, setActiveSection] = useState("traditional");
|
|
64211
|
+
const sections2 = [
|
|
64212
|
+
{ id: "traditional", title: "Traditional Development", component: Step1TraditionalDevelopment },
|
|
64213
|
+
{ id: "agent-era", title: "Agent Era", component: Step2AgentDevelopment },
|
|
64214
|
+
{ id: "the-gap", title: "The Gap", component: Step3TheGap },
|
|
64215
|
+
{ id: "implications", title: "What Developers Need", component: Step4ImplicationsDevelopers }
|
|
64216
|
+
];
|
|
64217
|
+
const ActiveComponent = ((_a = sections2.find((s) => s.id === activeSection)) == null ? void 0 : _a.component) || Step1TraditionalDevelopment;
|
|
64218
|
+
return /* @__PURE__ */ jsxs("div", { className, style: {
|
|
64219
|
+
backgroundColor: "#0f172a",
|
|
64220
|
+
color: "#cbd5e1",
|
|
64221
|
+
padding: "24px",
|
|
64222
|
+
fontFamily: "system-ui, -apple-system, sans-serif",
|
|
64223
|
+
minHeight: "100vh"
|
|
64224
|
+
}, children: [
|
|
64225
|
+
/* @__PURE__ */ jsxs("div", { style: { marginBottom: "24px" }, children: [
|
|
64226
|
+
/* @__PURE__ */ jsx("h1", { style: {
|
|
64227
|
+
fontSize: "24px",
|
|
64228
|
+
fontWeight: "700",
|
|
64229
|
+
color: "#f1f5f9",
|
|
64230
|
+
marginBottom: "8px"
|
|
64231
|
+
}, children: "The Agent Monitoring Gap" }),
|
|
64232
|
+
/* @__PURE__ */ jsx("p", { style: {
|
|
64233
|
+
fontSize: "14px",
|
|
64234
|
+
color: "#94a3b8",
|
|
64235
|
+
margin: 0
|
|
64236
|
+
}, children: "Why traditional monitoring fails with AI-generated code" })
|
|
64237
|
+
] }),
|
|
64238
|
+
/* @__PURE__ */ jsx("div", { style: {
|
|
64239
|
+
display: "flex",
|
|
64240
|
+
gap: "8px",
|
|
64241
|
+
marginBottom: "24px",
|
|
64242
|
+
borderBottom: "1px solid #334155",
|
|
64243
|
+
paddingBottom: "12px"
|
|
64244
|
+
}, children: sections2.map((section) => /* @__PURE__ */ jsx(
|
|
64245
|
+
"button",
|
|
64246
|
+
{
|
|
64247
|
+
onClick: () => setActiveSection(section.id),
|
|
64248
|
+
style: {
|
|
64249
|
+
padding: "8px 16px",
|
|
64250
|
+
backgroundColor: activeSection === section.id ? "#3b82f6" : "#1e293b",
|
|
64251
|
+
color: activeSection === section.id ? "#fff" : "#94a3b8",
|
|
64252
|
+
border: "1px solid",
|
|
64253
|
+
borderColor: activeSection === section.id ? "#60a5fa" : "#334155",
|
|
64254
|
+
borderRadius: "6px",
|
|
64255
|
+
cursor: "pointer",
|
|
64256
|
+
fontSize: "13px",
|
|
64257
|
+
fontWeight: activeSection === section.id ? "600" : "400",
|
|
64258
|
+
transition: "all 0.2s"
|
|
64259
|
+
},
|
|
64260
|
+
children: section.title
|
|
64261
|
+
},
|
|
64262
|
+
section.id
|
|
64263
|
+
)) }),
|
|
64264
|
+
/* @__PURE__ */ jsx("div", { style: {
|
|
64265
|
+
backgroundColor: "#1e293b",
|
|
64266
|
+
borderRadius: "8px",
|
|
64267
|
+
padding: "24px",
|
|
64268
|
+
border: "1px solid #334155"
|
|
64269
|
+
}, children: /* @__PURE__ */ jsx(ActiveComponent, {}) })
|
|
64270
|
+
] });
|
|
64271
|
+
};
|
|
64272
|
+
const Step1WhatAreStories = () => {
|
|
64273
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
64274
|
+
/* @__PURE__ */ jsxs("svg", { viewBox: "0 0 600 240", style: { width: "100%", height: "auto" }, children: [
|
|
64275
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "25", textAnchor: "middle", fill: "#94a3b8", fontSize: "14", fontWeight: "700", children: "STORIES = HOW HUMANS UNDERSTAND SYSTEMS" }),
|
|
64276
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64277
|
+
/* @__PURE__ */ jsx("rect", { x: "40", y: "50", width: "240", height: "170", fill: "#1e293b", stroke: "#ef4444", strokeWidth: "2", rx: "6" }),
|
|
64278
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "73", textAnchor: "middle", fill: "#fca5a5", fontSize: "12", fontWeight: "700", children: "❌ Traditional Monitoring" }),
|
|
64279
|
+
/* @__PURE__ */ jsx("rect", { x: "60", y: "85", width: "200", height: "120", fill: "#0f172a", stroke: "#334155", strokeWidth: "1.5", rx: "4" }),
|
|
64280
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "100", textAnchor: "middle", fill: "#64748b", fontSize: "9", fontFamily: "monospace", children: "span.duration = 1234ms" }),
|
|
64281
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "115", textAnchor: "middle", fill: "#64748b", fontSize: "9", fontFamily: "monospace", children: "http.status_code = 200" }),
|
|
64282
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "130", textAnchor: "middle", fill: "#64748b", fontSize: "9", fontFamily: "monospace", children: "db.query.count = 12" }),
|
|
64283
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "145", textAnchor: "middle", fill: "#64748b", fontSize: "9", fontFamily: "monospace", children: 'event.type = "order.created"' }),
|
|
64284
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "160", textAnchor: "middle", fill: "#64748b", fontSize: "9", fontFamily: "monospace", children: 'trace.id = "abc123..."' }),
|
|
64285
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "175", textAnchor: "middle", fill: "#64748b", fontSize: "9", fontFamily: "monospace", children: "error.count = 0" }),
|
|
64286
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "190", textAnchor: "middle", fill: "#64748b", fontSize: "9", fontFamily: "monospace", children: "..." }),
|
|
64287
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "215", textAnchor: "middle", fill: "#fca5a5", fontSize: "10", fontStyle: "italic", children: "Needle in haystack" })
|
|
64288
|
+
] }),
|
|
64289
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64290
|
+
/* @__PURE__ */ jsx("line", { x1: "290", y1: "135", x2: "310", y2: "135", stroke: "#3b82f6", strokeWidth: "2", markerEnd: "url(#arrowblue)" }),
|
|
64291
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "127", textAnchor: "middle", fill: "#3b82f6", fontSize: "10", fontWeight: "600", children: "vs" })
|
|
64292
|
+
] }),
|
|
64293
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64294
|
+
/* @__PURE__ */ jsx("rect", { x: "320", y: "50", width: "240", height: "170", fill: "#064e3b", stroke: "#10b981", strokeWidth: "2", rx: "6" }),
|
|
64295
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "73", textAnchor: "middle", fill: "#6ee7b7", fontSize: "12", fontWeight: "700", children: "✓ System Stories" }),
|
|
64296
|
+
/* @__PURE__ */ jsx("rect", { x: "340", y: "85", width: "200", height: "120", fill: "#022c22", stroke: "#059669", strokeWidth: "1.5", rx: "4" }),
|
|
64297
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "103", textAnchor: "middle", fill: "#d1fae5", fontSize: "11", fontWeight: "600", children: 'Story: "User Checkout"' }),
|
|
64298
|
+
/* @__PURE__ */ jsx("text", { x: "350", y: "120", fill: "#a7f3d0", fontSize: "9", children: "When user completes checkout:" }),
|
|
64299
|
+
/* @__PURE__ */ jsx("text", { x: "355", y: "135", fill: "#a7f3d0", fontSize: "9", children: "• Payment processes in <2s" }),
|
|
64300
|
+
/* @__PURE__ */ jsx("text", { x: "355", y: "148", fill: "#a7f3d0", fontSize: "9", children: "• Order confirmation sent" }),
|
|
64301
|
+
/* @__PURE__ */ jsx("text", { x: "355", y: "161", fill: "#a7f3d0", fontSize: "9", children: "• Inventory decremented" }),
|
|
64302
|
+
/* @__PURE__ */ jsx("text", { x: "355", y: "174", fill: "#a7f3d0", fontSize: "9", children: "• Analytics event fired" }),
|
|
64303
|
+
/* @__PURE__ */ jsx("text", { x: "355", y: "187", fill: "#a7f3d0", fontSize: "9", children: "• User redirected to success" }),
|
|
64304
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "215", textAnchor: "middle", fill: "#6ee7b7", fontSize: "10", fontStyle: "italic", children: "Human-readable expectations" })
|
|
64305
|
+
] }),
|
|
64306
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("marker", { id: "arrowblue", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#3b82f6" }) }) })
|
|
64307
|
+
] }),
|
|
64308
|
+
/* @__PURE__ */ jsxs("div", { style: {
|
|
64309
|
+
fontSize: "14px",
|
|
64310
|
+
color: "#d1fae5",
|
|
64311
|
+
backgroundColor: "#064e3b",
|
|
64312
|
+
padding: "16px",
|
|
64313
|
+
borderRadius: "6px",
|
|
64314
|
+
border: "1px solid #059669"
|
|
64315
|
+
}, children: [
|
|
64316
|
+
/* @__PURE__ */ jsx("strong", { children: "Stories work because:" }),
|
|
64317
|
+
' Humans naturally think in narratives, not metrics. "User checkout should take <2s and send confirmation" is clearer than tracking 50 telemetry signals.'
|
|
64318
|
+
] })
|
|
64319
|
+
] });
|
|
64320
|
+
};
|
|
64321
|
+
const Step2HowStoriesWork = () => {
|
|
64322
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
64323
|
+
/* @__PURE__ */ jsxs("svg", { viewBox: "0 0 600 280", style: { width: "100%", height: "auto" }, children: [
|
|
64324
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64325
|
+
/* @__PURE__ */ jsx("rect", { x: "30", y: "30", width: "180", height: "80", fill: "#1e293b", stroke: "#60a5fa", strokeWidth: "2", rx: "6" }),
|
|
64326
|
+
/* @__PURE__ */ jsx("text", { x: "120", y: "52", textAnchor: "middle", fill: "#60a5fa", fontSize: "11", fontWeight: "700", children: "1. DEFINE STORY" }),
|
|
64327
|
+
/* @__PURE__ */ jsx("text", { x: "40", y: "70", fill: "#cbd5e1", fontSize: "9", children: 'Story: "Payment Flow"' }),
|
|
64328
|
+
/* @__PURE__ */ jsx("text", { x: "45", y: "84", fill: "#94a3b8", fontSize: "8", children: "Expected behavior:" }),
|
|
64329
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "96", fill: "#94a3b8", fontSize: "8", children: "• Charge succeeds" }),
|
|
64330
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "105", fill: "#94a3b8", fontSize: "8", children: "• Receipt generated" })
|
|
64331
|
+
] }),
|
|
64332
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64333
|
+
/* @__PURE__ */ jsx("line", { x1: "220", y1: "70", x2: "270", y2: "70", stroke: "#10b981", strokeWidth: "2", markerEnd: "url(#arrowgreen)" }),
|
|
64334
|
+
/* @__PURE__ */ jsx("text", { x: "245", y: "65", textAnchor: "middle", fill: "#10b981", fontSize: "9", children: "Maps to" })
|
|
64335
|
+
] }),
|
|
64336
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64337
|
+
/* @__PURE__ */ jsx("rect", { x: "280", y: "30", width: "180", height: "80", fill: "#0f172a", stroke: "#6366f1", strokeWidth: "2", rx: "6" }),
|
|
64338
|
+
/* @__PURE__ */ jsx("text", { x: "370", y: "52", textAnchor: "middle", fill: "#a78bfa", fontSize: "11", fontWeight: "700", children: "2. TELEMETRY SIGNALS" }),
|
|
64339
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "70", fill: "#c4b5fd", fontSize: "8", fontFamily: "monospace", children: 'span: "ProcessPayment"' }),
|
|
64340
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "82", fill: "#c4b5fd", fontSize: "8", fontFamily: "monospace", children: 'event: "payment.success"' }),
|
|
64341
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "94", fill: "#c4b5fd", fontSize: "8", fontFamily: "monospace", children: 'event: "receipt.generated"' }),
|
|
64342
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "106", fill: "#c4b5fd", fontSize: "8", fontFamily: "monospace", children: "attr: amount, customer_id" })
|
|
64343
|
+
] }),
|
|
64344
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64345
|
+
/* @__PURE__ */ jsx("line", { x1: "370", y1: "120", x2: "370", y2: "160", stroke: "#fbbf24", strokeWidth: "2", markerEnd: "url(#arrowyellow)" }),
|
|
64346
|
+
/* @__PURE__ */ jsx("text", { x: "400", y: "145", fill: "#fbbf24", fontSize: "9", children: "Monitors" })
|
|
64347
|
+
] }),
|
|
64348
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64349
|
+
/* @__PURE__ */ jsx("rect", { x: "280", y: "170", width: "180", height: "80", fill: "#064e3b", stroke: "#059669", strokeWidth: "2", rx: "6" }),
|
|
64350
|
+
/* @__PURE__ */ jsx("text", { x: "370", y: "192", textAnchor: "middle", fill: "#6ee7b7", fontSize: "11", fontWeight: "700", children: "3. PRODUCTION SYSTEM" }),
|
|
64351
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "210", fill: "#a7f3d0", fontSize: "9", children: "Real telemetry events" }),
|
|
64352
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "224", fill: "#a7f3d0", fontSize: "9", children: "flowing from system" }),
|
|
64353
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "238", fill: "#10b981", fontSize: "9", fontWeight: "600", children: "✓ Story validated in real-time" })
|
|
64354
|
+
] }),
|
|
64355
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64356
|
+
/* @__PURE__ */ jsx(
|
|
64357
|
+
"path",
|
|
64358
|
+
{
|
|
64359
|
+
d: "M 270 210 Q 120 210, 120 120",
|
|
64360
|
+
stroke: "#3b82f6",
|
|
64361
|
+
strokeWidth: "2",
|
|
64362
|
+
fill: "none",
|
|
64363
|
+
strokeDasharray: "5,5",
|
|
64364
|
+
markerEnd: "url(#arrowblue2)"
|
|
64365
|
+
}
|
|
64366
|
+
),
|
|
64367
|
+
/* @__PURE__ */ jsx("text", { x: "180", y: "230", fill: "#3b82f6", fontSize: "9", children: "Alert if story breaks" })
|
|
64368
|
+
] }),
|
|
64369
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64370
|
+
/* @__PURE__ */ jsx("circle", { cx: "120", cy: "195", r: "25", fill: "#3b82f6", stroke: "#60a5fa", strokeWidth: "2" }),
|
|
64371
|
+
/* @__PURE__ */ jsx("text", { x: "120", y: "200", textAnchor: "middle", fill: "#fff", fontSize: "20", children: "👨💻" }),
|
|
64372
|
+
/* @__PURE__ */ jsx("text", { x: "120", y: "235", textAnchor: "middle", fill: "#94a3b8", fontSize: "9", fontWeight: "600", children: "ENGINEER" }),
|
|
64373
|
+
/* @__PURE__ */ jsx("text", { x: "120", y: "247", textAnchor: "middle", fill: "#10b981", fontSize: "8", children: "Gets alerts" })
|
|
64374
|
+
] }),
|
|
64375
|
+
/* @__PURE__ */ jsxs("defs", { children: [
|
|
64376
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowgreen", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#10b981" }) }),
|
|
64377
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowyellow", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#fbbf24" }) }),
|
|
64378
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowblue2", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#3b82f6" }) })
|
|
64379
|
+
] })
|
|
64380
|
+
] }),
|
|
64381
|
+
/* @__PURE__ */ jsxs("div", { style: {
|
|
64382
|
+
fontSize: "14px",
|
|
64383
|
+
color: "#cbd5e1",
|
|
64384
|
+
backgroundColor: "#1e293b",
|
|
64385
|
+
padding: "16px",
|
|
64386
|
+
borderRadius: "6px",
|
|
64387
|
+
border: "1px solid #475569"
|
|
64388
|
+
}, children: [
|
|
64389
|
+
/* @__PURE__ */ jsx("strong", { children: "How it works:" }),
|
|
64390
|
+
" Define expected behavior as a story → Map to telemetry signals → Monitor production in real-time → Get alerts when expectations are violated."
|
|
64391
|
+
] })
|
|
64392
|
+
] });
|
|
64393
|
+
};
|
|
64394
|
+
const Step3AvoidNeedleInHaystack = () => {
|
|
64395
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
64396
|
+
/* @__PURE__ */ jsxs("svg", { viewBox: "0 0 600 300", style: { width: "100%", height: "auto" }, children: [
|
|
64397
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "25", textAnchor: "middle", fill: "#94a3b8", fontSize: "14", fontWeight: "700", children: "AVOIDING THE NEEDLE IN THE HAYSTACK" }),
|
|
64398
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64399
|
+
/* @__PURE__ */ jsx("rect", { x: "40", y: "50", width: "240", height: "220", fill: "#7f1d1d", stroke: "#ef4444", strokeWidth: "2", rx: "6" }),
|
|
64400
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "73", textAnchor: "middle", fill: "#fca5a5", fontSize: "12", fontWeight: "700", children: "❌ Reactive Monitoring" }),
|
|
64401
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "88", textAnchor: "middle", fill: "#fca5a5", fontSize: "9", children: '"Something is wrong, find it!"' }),
|
|
64402
|
+
/* @__PURE__ */ jsx("rect", { x: "60", y: "100", width: "200", height: "130", fill: "#450a0a", stroke: "#991b1b", strokeWidth: "1.5", rx: "4" }),
|
|
64403
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "118", textAnchor: "middle", fill: "#7f1d1d", fontSize: "40", children: "🌾" }),
|
|
64404
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "155", fill: "#fca5a5", fontSize: "8", fontFamily: "monospace", children: "10,000 spans/sec" }),
|
|
64405
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "168", fill: "#fca5a5", fontSize: "8", fontFamily: "monospace", children: "500 services" }),
|
|
64406
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "181", fill: "#fca5a5", fontSize: "8", fontFamily: "monospace", children: "millions of events" }),
|
|
64407
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "194", fill: "#fca5a5", fontSize: "8", fontFamily: "monospace", children: "complex traces" }),
|
|
64408
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "207", fill: "#fca5a5", fontSize: "8", fontFamily: "monospace", children: "distributed systems" }),
|
|
64409
|
+
/* @__PURE__ */ jsx("text", { x: "180", y: "175", fill: "#ef4444", fontSize: "28", children: "📍" }),
|
|
64410
|
+
/* @__PURE__ */ jsx("text", { x: "160", y: "248", textAnchor: "middle", fill: "#fca5a5", fontSize: "10", fontStyle: "italic", children: "Hours hunting for root cause" })
|
|
64411
|
+
] }),
|
|
64412
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64413
|
+
/* @__PURE__ */ jsx("line", { x1: "290", y1: "160", x2: "310", y2: "160", stroke: "#10b981", strokeWidth: "3", markerEnd: "url(#arrowgreen2)" }),
|
|
64414
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "150", textAnchor: "middle", fill: "#10b981", fontSize: "10", fontWeight: "700", children: "VS" })
|
|
64415
|
+
] }),
|
|
64416
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64417
|
+
/* @__PURE__ */ jsx("rect", { x: "320", y: "50", width: "240", height: "220", fill: "#064e3b", stroke: "#10b981", strokeWidth: "2", rx: "6" }),
|
|
64418
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "73", textAnchor: "middle", fill: "#6ee7b7", fontSize: "12", fontWeight: "700", children: "✓ Proactive Stories" }),
|
|
64419
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "88", textAnchor: "middle", fill: "#a7f3d0", fontSize: "9", children: '"This is what should happen"' }),
|
|
64420
|
+
/* @__PURE__ */ jsx("rect", { x: "340", y: "100", width: "200", height: "130", fill: "#022c22", stroke: "#059669", strokeWidth: "1.5", rx: "4" }),
|
|
64421
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "120", textAnchor: "middle", fill: "#d1fae5", fontSize: "10", fontWeight: "600", children: "Expected Stories:" }),
|
|
64422
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64423
|
+
/* @__PURE__ */ jsx("circle", { cx: "355", cy: "138", r: "4", fill: "#10b981" }),
|
|
64424
|
+
/* @__PURE__ */ jsx("text", { x: "365", y: "142", fill: "#a7f3d0", fontSize: "9", children: "✓ User Login (Active)" })
|
|
64425
|
+
] }),
|
|
64426
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64427
|
+
/* @__PURE__ */ jsx("circle", { cx: "355", cy: "155", r: "4", fill: "#10b981" }),
|
|
64428
|
+
/* @__PURE__ */ jsx("text", { x: "365", y: "159", fill: "#a7f3d0", fontSize: "9", children: "✓ Checkout Flow (Active)" })
|
|
64429
|
+
] }),
|
|
64430
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64431
|
+
/* @__PURE__ */ jsx("circle", { cx: "355", cy: "172", r: "4", fill: "#10b981" }),
|
|
64432
|
+
/* @__PURE__ */ jsx("text", { x: "365", y: "176", fill: "#a7f3d0", fontSize: "9", children: "✓ Payment Process (Active)" })
|
|
64433
|
+
] }),
|
|
64434
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64435
|
+
/* @__PURE__ */ jsx("circle", { cx: "355", cy: "189", r: "4", fill: "#ef4444" }),
|
|
64436
|
+
/* @__PURE__ */ jsx("text", { x: "365", y: "193", fill: "#fca5a5", fontSize: "9", children: "❌ Email Send (VIOLATED!)" }),
|
|
64437
|
+
/* @__PURE__ */ jsx("text", { x: "375", y: "203", fill: "#fbbf24", fontSize: "8", children: "→ Immediate alert" })
|
|
64438
|
+
] }),
|
|
64439
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64440
|
+
/* @__PURE__ */ jsx("circle", { cx: "355", cy: "215", r: "4", fill: "#10b981" }),
|
|
64441
|
+
/* @__PURE__ */ jsx("text", { x: "365", y: "219", fill: "#a7f3d0", fontSize: "9", children: "✓ Analytics Track (Active)" })
|
|
64442
|
+
] }),
|
|
64443
|
+
/* @__PURE__ */ jsx("text", { x: "440", y: "248", textAnchor: "middle", fill: "#6ee7b7", fontSize: "10", fontStyle: "italic", children: "Know immediately what broke" })
|
|
64444
|
+
] }),
|
|
64445
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("marker", { id: "arrowgreen2", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#10b981" }) }) })
|
|
64446
|
+
] }),
|
|
64447
|
+
/* @__PURE__ */ jsxs("div", { style: {
|
|
64448
|
+
fontSize: "14px",
|
|
64449
|
+
color: "#d1fae5",
|
|
64450
|
+
backgroundColor: "#064e3b",
|
|
64451
|
+
padding: "16px",
|
|
64452
|
+
borderRadius: "6px",
|
|
64453
|
+
border: "1px solid #059669"
|
|
64454
|
+
}, children: [
|
|
64455
|
+
/* @__PURE__ */ jsx("strong", { children: "The Key Insight:" }),
|
|
64456
|
+
" Instead of searching millions of events for problems, define expected behaviors upfront. When a story is violated, you know exactly what broke and why."
|
|
64457
|
+
] })
|
|
64458
|
+
] });
|
|
64459
|
+
};
|
|
64460
|
+
const Step4AgentIntegration = () => {
|
|
64461
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
64462
|
+
/* @__PURE__ */ jsxs("svg", { viewBox: "0 0 600 340", style: { width: "100%", height: "auto" }, children: [
|
|
64463
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "25", textAnchor: "middle", fill: "#94a3b8", fontSize: "14", fontWeight: "700", children: "STORIES MAKE AGENT WORK TRUSTWORTHY" }),
|
|
64464
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64465
|
+
/* @__PURE__ */ jsx("rect", { x: "40", y: "50", width: "160", height: "80", fill: "#4c1d95", stroke: "#a78bfa", strokeWidth: "2", rx: "6" }),
|
|
64466
|
+
/* @__PURE__ */ jsx("text", { x: "120", y: "70", textAnchor: "middle", fill: "#e9d5ff", fontSize: "11", fontWeight: "700", children: "1. AGENT WRITES CODE" }),
|
|
64467
|
+
/* @__PURE__ */ jsx("text", { x: "120", y: "88", textAnchor: "middle", fill: "#e9d5ff", fontSize: "24", children: "🤖" }),
|
|
64468
|
+
/* @__PURE__ */ jsx("text", { x: "120", y: "110", textAnchor: "middle", fill: "#c4b5fd", fontSize: "9", children: "Makes change to" }),
|
|
64469
|
+
/* @__PURE__ */ jsx("text", { x: "120", y: "122", textAnchor: "middle", fill: "#c4b5fd", fontSize: "9", children: "checkout flow" })
|
|
64470
|
+
] }),
|
|
64471
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64472
|
+
/* @__PURE__ */ jsx("line", { x1: "210", y1: "90", x2: "270", y2: "90", stroke: "#3b82f6", strokeWidth: "2", markerEnd: "url(#arrowblue3)" }),
|
|
64473
|
+
/* @__PURE__ */ jsx("text", { x: "240", y: "82", textAnchor: "middle", fill: "#3b82f6", fontSize: "9", children: "Deploy" })
|
|
64474
|
+
] }),
|
|
64475
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64476
|
+
/* @__PURE__ */ jsx("rect", { x: "280", y: "50", width: "160", height: "80", fill: "#1e293b", stroke: "#60a5fa", strokeWidth: "2", rx: "6" }),
|
|
64477
|
+
/* @__PURE__ */ jsx("text", { x: "360", y: "70", textAnchor: "middle", fill: "#60a5fa", fontSize: "11", fontWeight: "700", children: "2. STORIES VALIDATE" }),
|
|
64478
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "90", fill: "#94a3b8", fontSize: "9", children: 'Story: "Checkout"' }),
|
|
64479
|
+
/* @__PURE__ */ jsx("text", { x: "295", y: "103", fill: "#a7f3d0", fontSize: "8", children: "✓ Payment processes" }),
|
|
64480
|
+
/* @__PURE__ */ jsx("text", { x: "295", y: "114", fill: "#fca5a5", fontSize: "8", children: "❌ Email not sent!" })
|
|
64481
|
+
] }),
|
|
64482
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64483
|
+
/* @__PURE__ */ jsx("line", { x1: "360", y1: "140", x2: "360", y2: "180", stroke: "#ef4444", strokeWidth: "2", markerEnd: "url(#arrowred)" }),
|
|
64484
|
+
/* @__PURE__ */ jsx("text", { x: "380", y: "165", fill: "#ef4444", fontSize: "9", fontWeight: "600", children: "Alert!" })
|
|
64485
|
+
] }),
|
|
64486
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64487
|
+
/* @__PURE__ */ jsx("rect", { x: "280", y: "190", width: "160", height: "80", fill: "#7f1d1d", stroke: "#ef4444", strokeWidth: "2", rx: "6" }),
|
|
64488
|
+
/* @__PURE__ */ jsx("text", { x: "360", y: "210", textAnchor: "middle", fill: "#fca5a5", fontSize: "11", fontWeight: "700", children: "3. IMMEDIATE FEEDBACK" }),
|
|
64489
|
+
/* @__PURE__ */ jsx("text", { x: "360", y: "228", textAnchor: "middle", fill: "#fca5a5", fontSize: "24", children: "⚠️" }),
|
|
64490
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "250", fill: "#fca5a5", fontSize: "9", children: '"Agent broke checkout' }),
|
|
64491
|
+
/* @__PURE__ */ jsx("text", { x: "290", y: "262", fill: "#fca5a5", fontSize: "9", children: 'confirmation emails"' })
|
|
64492
|
+
] }),
|
|
64493
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64494
|
+
/* @__PURE__ */ jsx(
|
|
64495
|
+
"path",
|
|
64496
|
+
{
|
|
64497
|
+
d: "M 270 230 Q 220 230, 220 190",
|
|
64498
|
+
stroke: "#fbbf24",
|
|
64499
|
+
strokeWidth: "2",
|
|
64500
|
+
fill: "none",
|
|
64501
|
+
markerEnd: "url(#arrowyellow2)"
|
|
64502
|
+
}
|
|
64503
|
+
),
|
|
64504
|
+
/* @__PURE__ */ jsx("text", { x: "235", y: "225", fill: "#fbbf24", fontSize: "9", children: "Fix & redeploy" })
|
|
64505
|
+
] }),
|
|
64506
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64507
|
+
/* @__PURE__ */ jsx("rect", { x: "40", y: "190", width: "160", height: "80", fill: "#064e3b", stroke: "#10b981", strokeWidth: "2", rx: "6" }),
|
|
64508
|
+
/* @__PURE__ */ jsx("text", { x: "120", y: "210", textAnchor: "middle", fill: "#6ee7b7", fontSize: "11", fontWeight: "700", children: "4. CONFIDENCE" }),
|
|
64509
|
+
/* @__PURE__ */ jsx("text", { x: "120", y: "228", textAnchor: "middle", fill: "#10b981", fontSize: "24", children: "✓" }),
|
|
64510
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "250", fill: "#a7f3d0", fontSize: "9", children: "All stories pass =" }),
|
|
64511
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "262", fill: "#a7f3d0", fontSize: "9", children: "Safe to trust agent" })
|
|
64512
|
+
] }),
|
|
64513
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64514
|
+
/* @__PURE__ */ jsx("rect", { x: "40", y: "290", width: "520", height: "40", fill: "#1e293b", stroke: "#60a5fa", strokeWidth: "2", rx: "6" }),
|
|
64515
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "310", textAnchor: "middle", fill: "#60a5fa", fontSize: "11", fontWeight: "700", children: "RESULT: Engineers can leverage agents without fear" }),
|
|
64516
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "323", textAnchor: "middle", fill: "#94a3b8", fontSize: "9", children: "Stories act as automated acceptance tests for all agent changes" })
|
|
64517
|
+
] }),
|
|
64518
|
+
/* @__PURE__ */ jsxs("defs", { children: [
|
|
64519
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowblue3", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#3b82f6" }) }),
|
|
64520
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowred", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#ef4444" }) }),
|
|
64521
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowyellow2", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#fbbf24" }) })
|
|
64522
|
+
] })
|
|
64523
|
+
] }),
|
|
64524
|
+
/* @__PURE__ */ jsxs("div", { style: {
|
|
64525
|
+
fontSize: "14px",
|
|
64526
|
+
color: "#d1fae5",
|
|
64527
|
+
backgroundColor: "#064e3b",
|
|
64528
|
+
padding: "16px",
|
|
64529
|
+
borderRadius: "6px",
|
|
64530
|
+
border: "1px solid #059669"
|
|
64531
|
+
}, children: [
|
|
64532
|
+
/* @__PURE__ */ jsx("strong", { children: "Why This Works:" }),
|
|
64533
|
+
" Every engineer now spends time defining system stories instead of writing all code. Stories automatically verify agent changes in production. When all stories pass, you can trust the agent's work."
|
|
64534
|
+
] })
|
|
64535
|
+
] });
|
|
64536
|
+
};
|
|
64537
|
+
const SystemStoriesSolutionExplainerPanel = ({
|
|
64538
|
+
className
|
|
64539
|
+
}) => {
|
|
64540
|
+
var _a;
|
|
64541
|
+
const [activeSection, setActiveSection] = useState("what");
|
|
64542
|
+
const sections2 = [
|
|
64543
|
+
{ id: "what", title: "What Are Stories?", component: Step1WhatAreStories },
|
|
64544
|
+
{ id: "how", title: "How They Work", component: Step2HowStoriesWork },
|
|
64545
|
+
{ id: "avoid-haystack", title: "Avoid Haystack Problem", component: Step3AvoidNeedleInHaystack },
|
|
64546
|
+
{ id: "agent-integration", title: "Agent Integration", component: Step4AgentIntegration }
|
|
64547
|
+
];
|
|
64548
|
+
const ActiveComponent = ((_a = sections2.find((s) => s.id === activeSection)) == null ? void 0 : _a.component) || Step1WhatAreStories;
|
|
64549
|
+
return /* @__PURE__ */ jsxs("div", { className, style: {
|
|
64550
|
+
backgroundColor: "#0f172a",
|
|
64551
|
+
color: "#cbd5e1",
|
|
64552
|
+
padding: "24px",
|
|
64553
|
+
fontFamily: "system-ui, -apple-system, sans-serif",
|
|
64554
|
+
minHeight: "100vh"
|
|
64555
|
+
}, children: [
|
|
64556
|
+
/* @__PURE__ */ jsxs("div", { style: { marginBottom: "24px" }, children: [
|
|
64557
|
+
/* @__PURE__ */ jsx("h1", { style: {
|
|
64558
|
+
fontSize: "24px",
|
|
64559
|
+
fontWeight: "700",
|
|
64560
|
+
color: "#f1f5f9",
|
|
64561
|
+
marginBottom: "8px"
|
|
64562
|
+
}, children: "System Stories: The Solution" }),
|
|
64563
|
+
/* @__PURE__ */ jsx("p", { style: {
|
|
64564
|
+
fontSize: "14px",
|
|
64565
|
+
color: "#94a3b8",
|
|
64566
|
+
margin: 0
|
|
64567
|
+
}, children: "How stories transform telemetry into trustworthy agent monitoring" })
|
|
64568
|
+
] }),
|
|
64569
|
+
/* @__PURE__ */ jsx("div", { style: {
|
|
64570
|
+
display: "flex",
|
|
64571
|
+
gap: "8px",
|
|
64572
|
+
marginBottom: "24px",
|
|
64573
|
+
borderBottom: "1px solid #334155",
|
|
64574
|
+
paddingBottom: "12px",
|
|
64575
|
+
flexWrap: "wrap"
|
|
64576
|
+
}, children: sections2.map((section) => /* @__PURE__ */ jsx(
|
|
64577
|
+
"button",
|
|
64578
|
+
{
|
|
64579
|
+
onClick: () => setActiveSection(section.id),
|
|
64580
|
+
style: {
|
|
64581
|
+
padding: "8px 16px",
|
|
64582
|
+
backgroundColor: activeSection === section.id ? "#3b82f6" : "#1e293b",
|
|
64583
|
+
color: activeSection === section.id ? "#fff" : "#94a3b8",
|
|
64584
|
+
border: "1px solid",
|
|
64585
|
+
borderColor: activeSection === section.id ? "#60a5fa" : "#334155",
|
|
64586
|
+
borderRadius: "6px",
|
|
64587
|
+
cursor: "pointer",
|
|
64588
|
+
fontSize: "13px",
|
|
64589
|
+
fontWeight: activeSection === section.id ? "600" : "400",
|
|
64590
|
+
transition: "all 0.2s"
|
|
64591
|
+
},
|
|
64592
|
+
children: section.title
|
|
64593
|
+
},
|
|
64594
|
+
section.id
|
|
64595
|
+
)) }),
|
|
64596
|
+
/* @__PURE__ */ jsx("div", { style: {
|
|
64597
|
+
backgroundColor: "#1e293b",
|
|
64598
|
+
borderRadius: "8px",
|
|
64599
|
+
padding: "24px",
|
|
64600
|
+
border: "1px solid #334155"
|
|
64601
|
+
}, children: /* @__PURE__ */ jsx(ActiveComponent, {}) })
|
|
64602
|
+
] });
|
|
64603
|
+
};
|
|
64604
|
+
const Step1AgentAdoption = () => {
|
|
64605
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
64606
|
+
/* @__PURE__ */ jsxs("svg", { viewBox: "0 0 600 280", style: { width: "100%", height: "auto" }, children: [
|
|
64607
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "25", textAnchor: "middle", fill: "#94a3b8", fontSize: "14", fontWeight: "700", children: "THE AGENT REVOLUTION IS HERE" }),
|
|
64608
|
+
/* @__PURE__ */ jsx("line", { x1: "50", y1: "100", x2: "550", y2: "100", stroke: "#475569", strokeWidth: "3" }),
|
|
64609
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64610
|
+
/* @__PURE__ */ jsx("circle", { cx: "100", cy: "100", r: "8", fill: "#64748b" }),
|
|
64611
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "125", textAnchor: "middle", fill: "#94a3b8", fontSize: "11", fontWeight: "600", children: "2020" }),
|
|
64612
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "140", textAnchor: "middle", fill: "#64748b", fontSize: "9", children: "GPT-3" }),
|
|
64613
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "152", textAnchor: "middle", fill: "#64748b", fontSize: "9", children: "Copilot beta" })
|
|
64614
|
+
] }),
|
|
64615
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64616
|
+
/* @__PURE__ */ jsx("circle", { cx: "220", cy: "100", r: "10", fill: "#3b82f6" }),
|
|
64617
|
+
/* @__PURE__ */ jsx("text", { x: "220", y: "125", textAnchor: "middle", fill: "#94a3b8", fontSize: "11", fontWeight: "600", children: "2022" }),
|
|
64618
|
+
/* @__PURE__ */ jsx("text", { x: "220", y: "140", textAnchor: "middle", fill: "#60a5fa", fontSize: "9", children: "ChatGPT" }),
|
|
64619
|
+
/* @__PURE__ */ jsx("text", { x: "220", y: "152", textAnchor: "middle", fill: "#60a5fa", fontSize: "9", children: "GitHub Copilot GA" }),
|
|
64620
|
+
/* @__PURE__ */ jsx("text", { x: "220", y: "164", textAnchor: "middle", fill: "#60a5fa", fontSize: "9", children: "~30% code assist" })
|
|
64621
|
+
] }),
|
|
64622
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64623
|
+
/* @__PURE__ */ jsx("circle", { cx: "380", cy: "100", r: "12", fill: "#8b5cf6" }),
|
|
64624
|
+
/* @__PURE__ */ jsx("text", { x: "380", y: "125", textAnchor: "middle", fill: "#94a3b8", fontSize: "11", fontWeight: "600", children: "2024" }),
|
|
64625
|
+
/* @__PURE__ */ jsx("text", { x: "380", y: "140", textAnchor: "middle", fill: "#c4b5fd", fontSize: "9", children: "Claude Sonnet 3.5" }),
|
|
64626
|
+
/* @__PURE__ */ jsx("text", { x: "380", y: "152", textAnchor: "middle", fill: "#c4b5fd", fontSize: "9", children: "Cursor, Claude Code" }),
|
|
64627
|
+
/* @__PURE__ */ jsx("text", { x: "380", y: "164", textAnchor: "middle", fill: "#c4b5fd", fontSize: "9", children: "Agents write entire features" }),
|
|
64628
|
+
/* @__PURE__ */ jsx("text", { x: "380", y: "176", textAnchor: "middle", fill: "#a78bfa", fontSize: "9", fontWeight: "600", children: "~50-80% agent-written" })
|
|
64629
|
+
] }),
|
|
64630
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64631
|
+
/* @__PURE__ */ jsx("circle", { cx: "500", cy: "100", r: "14", fill: "#10b981" }),
|
|
64632
|
+
/* @__PURE__ */ jsx("text", { x: "500", y: "125", textAnchor: "middle", fill: "#94a3b8", fontSize: "11", fontWeight: "700", children: "2025+" }),
|
|
64633
|
+
/* @__PURE__ */ jsx("text", { x: "500", y: "140", textAnchor: "middle", fill: "#6ee7b7", fontSize: "9", children: "Autonomous agents" }),
|
|
64634
|
+
/* @__PURE__ */ jsx("text", { x: "500", y: "152", textAnchor: "middle", fill: "#6ee7b7", fontSize: "9", children: "Full feature ownership" }),
|
|
64635
|
+
/* @__PURE__ */ jsx("text", { x: "500", y: "164", textAnchor: "middle", fill: "#6ee7b7", fontSize: "9", children: "Engineers = reviewers" }),
|
|
64636
|
+
/* @__PURE__ */ jsx("text", { x: "500", y: "176", textAnchor: "middle", fill: "#10b981", fontSize: "9", fontWeight: "700", children: "~90%+ agent-written" })
|
|
64637
|
+
] }),
|
|
64638
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64639
|
+
/* @__PURE__ */ jsx(
|
|
64640
|
+
"path",
|
|
64641
|
+
{
|
|
64642
|
+
d: "M 100 250 Q 220 240, 380 200 Q 440 180, 500 150",
|
|
64643
|
+
stroke: "#10b981",
|
|
64644
|
+
strokeWidth: "3",
|
|
64645
|
+
fill: "none",
|
|
64646
|
+
markerEnd: "url(#arrowgreen)"
|
|
64647
|
+
}
|
|
64648
|
+
),
|
|
64649
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "230", textAnchor: "middle", fill: "#10b981", fontSize: "11", fontWeight: "600", children: "Exponential Agent Adoption" })
|
|
64650
|
+
] }),
|
|
64651
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("marker", { id: "arrowgreen", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#10b981" }) }) })
|
|
64652
|
+
] }),
|
|
64653
|
+
/* @__PURE__ */ jsxs("div", { style: {
|
|
64654
|
+
fontSize: "14px",
|
|
64655
|
+
color: "#d1fae5",
|
|
64656
|
+
backgroundColor: "#064e3b",
|
|
64657
|
+
padding: "16px",
|
|
64658
|
+
borderRadius: "6px",
|
|
64659
|
+
border: "1px solid #059669"
|
|
64660
|
+
}, children: [
|
|
64661
|
+
/* @__PURE__ */ jsx("strong", { children: "200%+ YoY Growth:" }),
|
|
64662
|
+
` AI coding assistants went from autocomplete to writing entire features in 3 years. GitHub Copilot, Cursor, Claude Code are now table stakes. The question isn't "if" but "how much" code is agent-generated.`
|
|
64663
|
+
] })
|
|
64664
|
+
] });
|
|
64665
|
+
};
|
|
64666
|
+
const Step2GrowingGap = () => {
|
|
64667
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
64668
|
+
/* @__PURE__ */ jsxs("svg", { viewBox: "0 0 600 300", style: { width: "100%", height: "auto" }, children: [
|
|
64669
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "25", textAnchor: "middle", fill: "#94a3b8", fontSize: "14", fontWeight: "700", children: "THE EXPERIENCE GAP IS GROWING" }),
|
|
64670
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64671
|
+
/* @__PURE__ */ jsx("rect", { x: "40", y: "50", width: "220", height: "220", fill: "#1e293b", stroke: "#60a5fa", strokeWidth: "2", rx: "6" }),
|
|
64672
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "72", textAnchor: "middle", fill: "#60a5fa", fontSize: "12", fontWeight: "700", children: "CODE VOLUME" }),
|
|
64673
|
+
/* @__PURE__ */ jsx("rect", { x: "60", y: "220", width: "40", height: "30", fill: "#3b82f6" }),
|
|
64674
|
+
/* @__PURE__ */ jsx("text", { x: "80", y: "264", textAnchor: "middle", fill: "#94a3b8", fontSize: "9", children: "2020" }),
|
|
64675
|
+
/* @__PURE__ */ jsx("rect", { x: "110", y: "190", width: "40", height: "60", fill: "#3b82f6" }),
|
|
64676
|
+
/* @__PURE__ */ jsx("text", { x: "130", y: "264", textAnchor: "middle", fill: "#94a3b8", fontSize: "9", children: "2022" }),
|
|
64677
|
+
/* @__PURE__ */ jsx("rect", { x: "160", y: "140", width: "40", height: "110", fill: "#6366f1" }),
|
|
64678
|
+
/* @__PURE__ */ jsx("text", { x: "180", y: "264", textAnchor: "middle", fill: "#94a3b8", fontSize: "9", children: "2024" }),
|
|
64679
|
+
/* @__PURE__ */ jsx("rect", { x: "210", y: "90", width: "40", height: "160", fill: "#8b5cf6" }),
|
|
64680
|
+
/* @__PURE__ */ jsx("text", { x: "230", y: "264", textAnchor: "middle", fill: "#94a3b8", fontSize: "9", children: "2026" }),
|
|
64681
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "95", textAnchor: "middle", fill: "#a78bfa", fontSize: "20", children: "📈" }),
|
|
64682
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "115", textAnchor: "middle", fill: "#c4b5fd", fontSize: "10", fontWeight: "600", children: "10x more code" }),
|
|
64683
|
+
/* @__PURE__ */ jsx("text", { x: "150", y: "128", textAnchor: "middle", fill: "#c4b5fd", fontSize: "9", children: "Agents ship faster" })
|
|
64684
|
+
] }),
|
|
64685
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64686
|
+
/* @__PURE__ */ jsx("rect", { x: "340", y: "50", width: "220", height: "220", fill: "#1e293b", stroke: "#ef4444", strokeWidth: "2", rx: "6" }),
|
|
64687
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "72", textAnchor: "middle", fill: "#fca5a5", fontSize: "12", fontWeight: "700", children: "DEVELOPER CONTEXT" }),
|
|
64688
|
+
/* @__PURE__ */ jsx("rect", { x: "360", y: "140", width: "40", height: "110", fill: "#10b981" }),
|
|
64689
|
+
/* @__PURE__ */ jsx("text", { x: "380", y: "264", textAnchor: "middle", fill: "#94a3b8", fontSize: "9", children: "2020" }),
|
|
64690
|
+
/* @__PURE__ */ jsx("rect", { x: "410", y: "170", width: "40", height: "80", fill: "#fbbf24" }),
|
|
64691
|
+
/* @__PURE__ */ jsx("text", { x: "430", y: "264", textAnchor: "middle", fill: "#94a3b8", fontSize: "9", children: "2022" }),
|
|
64692
|
+
/* @__PURE__ */ jsx("rect", { x: "460", y: "210", width: "40", height: "40", fill: "#f97316" }),
|
|
64693
|
+
/* @__PURE__ */ jsx("text", { x: "480", y: "264", textAnchor: "middle", fill: "#94a3b8", fontSize: "9", children: "2024" }),
|
|
64694
|
+
/* @__PURE__ */ jsx("rect", { x: "510", y: "235", width: "40", height: "15", fill: "#ef4444" }),
|
|
64695
|
+
/* @__PURE__ */ jsx("text", { x: "530", y: "264", textAnchor: "middle", fill: "#94a3b8", fontSize: "9", children: "2026" }),
|
|
64696
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "95", textAnchor: "middle", fill: "#fca5a5", fontSize: "20", children: "📉" }),
|
|
64697
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "115", textAnchor: "middle", fill: "#fca5a5", fontSize: "10", fontWeight: "600", children: "90% less context" }),
|
|
64698
|
+
/* @__PURE__ */ jsx("text", { x: "450", y: "128", textAnchor: "middle", fill: "#fca5a5", fontSize: "9", children: "Didn't write code" })
|
|
64699
|
+
] }),
|
|
64700
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64701
|
+
/* @__PURE__ */ jsx("path", { d: "M 270 160 L 330 160", stroke: "#fbbf24", strokeWidth: "4", strokeDasharray: "8,4" }),
|
|
64702
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "155", textAnchor: "middle", fill: "#fbbf24", fontSize: "11", fontWeight: "700", children: "WIDENING" }),
|
|
64703
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "175", textAnchor: "middle", fill: "#fbbf24", fontSize: "11", fontWeight: "700", children: "GAP" })
|
|
64704
|
+
] })
|
|
64705
|
+
] }),
|
|
64706
|
+
/* @__PURE__ */ jsxs("div", { style: {
|
|
64707
|
+
fontSize: "14px",
|
|
64708
|
+
color: "#fef3c7",
|
|
64709
|
+
backgroundColor: "#78350f",
|
|
64710
|
+
padding: "16px",
|
|
64711
|
+
borderRadius: "6px",
|
|
64712
|
+
border: "2px solid #fbbf24"
|
|
64713
|
+
}, children: [
|
|
64714
|
+
/* @__PURE__ */ jsx("strong", { children: "The Scissors Problem:" }),
|
|
64715
|
+
" Code volume exploding while developer understanding plummets. Junior devs manage agent output without context. Senior devs lose touch with details. Traditional monitoring can't bridge this gap."
|
|
64716
|
+
] })
|
|
64717
|
+
] });
|
|
64718
|
+
};
|
|
64719
|
+
const Step3InfrastructureReady = () => {
|
|
64720
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
64721
|
+
/* @__PURE__ */ jsxs("svg", { viewBox: "0 0 600 280", style: { width: "100%", height: "auto" }, children: [
|
|
64722
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "25", textAnchor: "middle", fill: "#94a3b8", fontSize: "14", fontWeight: "700", children: "TELEMETRY INFRASTRUCTURE IS MATURE" }),
|
|
64723
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64724
|
+
/* @__PURE__ */ jsx("rect", { x: "80", y: "200", width: "440", height: "60", fill: "#064e3b", stroke: "#059669", strokeWidth: "2", rx: "6" }),
|
|
64725
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "222", textAnchor: "middle", fill: "#6ee7b7", fontSize: "12", fontWeight: "700", children: "MATURE FOUNDATION" }),
|
|
64726
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "240", fill: "#a7f3d0", fontSize: "10", children: "✓ OpenTelemetry standard" }),
|
|
64727
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "253", fill: "#a7f3d0", fontSize: "10", children: "✓ Distributed tracing" }),
|
|
64728
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "240", fill: "#a7f3d0", fontSize: "10", children: "✓ Cloud-native observability" }),
|
|
64729
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "253", fill: "#a7f3d0", fontSize: "10", children: "✓ Wide adoption" })
|
|
64730
|
+
] }),
|
|
64731
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64732
|
+
/* @__PURE__ */ jsx("rect", { x: "80", y: "120", width: "440", height: "60", fill: "#7f1d1d", stroke: "#ef4444", strokeWidth: "2", strokeDasharray: "8,4", rx: "6" }),
|
|
64733
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "142", textAnchor: "middle", fill: "#fca5a5", fontSize: "12", fontWeight: "700", children: "MISSING: INTELLIGENCE LAYER" }),
|
|
64734
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "160", fill: "#fca5a5", fontSize: "10", children: "❌ No behavior expectations" }),
|
|
64735
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "173", fill: "#fca5a5", fontSize: "10", children: "❌ No story understanding" }),
|
|
64736
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "160", fill: "#fca5a5", fontSize: "10", children: "❌ No agent validation" }),
|
|
64737
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "173", fill: "#fca5a5", fontSize: "10", children: "❌ Reactive, not proactive" })
|
|
64738
|
+
] }),
|
|
64739
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64740
|
+
/* @__PURE__ */ jsx("rect", { x: "80", y: "40", width: "440", height: "60", fill: "#1e40af", stroke: "#3b82f6", strokeWidth: "3", rx: "6" }),
|
|
64741
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "62", textAnchor: "middle", fill: "#60a5fa", fontSize: "13", fontWeight: "700", children: "PRINCIPAL AI: THE INTELLIGENCE LAYER" }),
|
|
64742
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "80", fill: "#bfdbfe", fontSize: "10", children: "✓ Story-based expectations" }),
|
|
64743
|
+
/* @__PURE__ */ jsx("text", { x: "100", y: "93", fill: "#bfdbfe", fontSize: "10", children: "✓ Telemetry synthesis" }),
|
|
64744
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "80", fill: "#bfdbfe", fontSize: "10", children: "✓ Agent workflow integration" }),
|
|
64745
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "93", fill: "#bfdbfe", fontSize: "10", children: "✓ Automated validation" })
|
|
64746
|
+
] }),
|
|
64747
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64748
|
+
/* @__PURE__ */ jsx("line", { x1: "300", y1: "110", x2: "300", y2: "115", stroke: "#3b82f6", strokeWidth: "2", markerEnd: "url(#arrowblue)" }),
|
|
64749
|
+
/* @__PURE__ */ jsx("line", { x1: "300", y1: "190", x2: "300", y2: "195", stroke: "#10b981", strokeWidth: "2", markerEnd: "url(#arrowgreen2)" })
|
|
64750
|
+
] }),
|
|
64751
|
+
/* @__PURE__ */ jsxs("defs", { children: [
|
|
64752
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowblue", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#3b82f6" }) }),
|
|
64753
|
+
/* @__PURE__ */ jsx("marker", { id: "arrowgreen2", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#10b981" }) })
|
|
64754
|
+
] })
|
|
64755
|
+
] }),
|
|
64756
|
+
/* @__PURE__ */ jsxs("div", { style: {
|
|
64757
|
+
fontSize: "14px",
|
|
64758
|
+
color: "#cbd5e1",
|
|
64759
|
+
backgroundColor: "#1e293b",
|
|
64760
|
+
padding: "16px",
|
|
64761
|
+
borderRadius: "6px",
|
|
64762
|
+
border: "1px solid #475569"
|
|
64763
|
+
}, children: [
|
|
64764
|
+
/* @__PURE__ */ jsx("strong", { children: "Perfect Timing:" }),
|
|
64765
|
+
" OpenTelemetry and distributed tracing solved the data collection problem. The infrastructure is ready for an intelligent layer that understands behavior, not just metrics."
|
|
64766
|
+
] })
|
|
64767
|
+
] });
|
|
64768
|
+
};
|
|
64769
|
+
const Step4MarketOpportunity = () => {
|
|
64770
|
+
return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
64771
|
+
/* @__PURE__ */ jsxs("svg", { viewBox: "0 0 600 320", style: { width: "100%", height: "auto" }, children: [
|
|
64772
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "25", textAnchor: "middle", fill: "#94a3b8", fontSize: "14", fontWeight: "700", children: "CONVERGING MARKET FORCES" }),
|
|
64773
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64774
|
+
/* @__PURE__ */ jsx("rect", { x: "40", y: "50", width: "250", height: "80", fill: "#4c1d95", stroke: "#a78bfa", strokeWidth: "2", rx: "6" }),
|
|
64775
|
+
/* @__PURE__ */ jsx("text", { x: "165", y: "72", textAnchor: "middle", fill: "#e9d5ff", fontSize: "12", fontWeight: "700", children: "🤖 AGENT ADOPTION" }),
|
|
64776
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "90", fill: "#c4b5fd", fontSize: "10", children: "• Every team using AI coding tools" }),
|
|
64777
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "104", fill: "#c4b5fd", fontSize: "10", children: "• 50-80% code now agent-generated" }),
|
|
64778
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "118", fill: "#c4b5fd", fontSize: "10", children: "• Growing dependency on automation" })
|
|
64779
|
+
] }),
|
|
64780
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64781
|
+
/* @__PURE__ */ jsx("rect", { x: "310", y: "50", width: "250", height: "80", fill: "#1e40af", stroke: "#3b82f6", strokeWidth: "2", rx: "6" }),
|
|
64782
|
+
/* @__PURE__ */ jsx("text", { x: "435", y: "72", textAnchor: "middle", fill: "#bfdbfe", fontSize: "12", fontWeight: "700", children: "⚡ PRODUCTIVITY PRESSURE" }),
|
|
64783
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "90", fill: "#bfdbfe", fontSize: "10", children: "• Ship faster with fewer engineers" }),
|
|
64784
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "104", fill: "#bfdbfe", fontSize: "10", children: "• Do more with AI leverage" }),
|
|
64785
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "118", fill: "#bfdbfe", fontSize: "10", children: "• Need confidence to deploy" })
|
|
64786
|
+
] }),
|
|
64787
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64788
|
+
/* @__PURE__ */ jsx("rect", { x: "40", y: "150", width: "250", height: "80", fill: "#7c2d12", stroke: "#f97316", strokeWidth: "2", rx: "6" }),
|
|
64789
|
+
/* @__PURE__ */ jsx("text", { x: "165", y: "172", textAnchor: "middle", fill: "#fed7aa", fontSize: "12", fontWeight: "700", children: "🌐 SYSTEM COMPLEXITY" }),
|
|
64790
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "190", fill: "#fed7aa", fontSize: "10", children: "• Microservices proliferation" }),
|
|
64791
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "204", fill: "#fed7aa", fontSize: "10", children: "• Distributed systems everywhere" }),
|
|
64792
|
+
/* @__PURE__ */ jsx("text", { x: "50", y: "218", fill: "#fed7aa", fontSize: "10", children: "• Traditional monitoring overwhelmed" })
|
|
64793
|
+
] }),
|
|
64794
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64795
|
+
/* @__PURE__ */ jsx("rect", { x: "310", y: "150", width: "250", height: "80", fill: "#7f1d1d", stroke: "#ef4444", strokeWidth: "2", rx: "6" }),
|
|
64796
|
+
/* @__PURE__ */ jsx("text", { x: "435", y: "172", textAnchor: "middle", fill: "#fca5a5", fontSize: "12", fontWeight: "700", children: "🧠 KNOWLEDGE PROBLEM" }),
|
|
64797
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "190", fill: "#fca5a5", fontSize: "10", children: "• Junior devs managing agent output" }),
|
|
64798
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "204", fill: "#fca5a5", fontSize: "10", children: "• Team scaling loses context" }),
|
|
64799
|
+
/* @__PURE__ */ jsx("text", { x: "320", y: "218", fill: "#fca5a5", fontSize: "10", children: "• Tribal knowledge doesn't scale" })
|
|
64800
|
+
] }),
|
|
64801
|
+
/* @__PURE__ */ jsxs("g", { children: [
|
|
64802
|
+
/* @__PURE__ */ jsx("path", { d: "M 165 140 L 300 270", stroke: "#10b981", strokeWidth: "2", markerEnd: "url(#arrowgreen3)" }),
|
|
64803
|
+
/* @__PURE__ */ jsx("path", { d: "M 435 140 L 300 270", stroke: "#10b981", strokeWidth: "2", markerEnd: "url(#arrowgreen3)" }),
|
|
64804
|
+
/* @__PURE__ */ jsx("path", { d: "M 165 240 L 300 270", stroke: "#10b981", strokeWidth: "2", markerEnd: "url(#arrowgreen3)" }),
|
|
64805
|
+
/* @__PURE__ */ jsx("path", { d: "M 435 240 L 300 270", stroke: "#10b981", strokeWidth: "2", markerEnd: "url(#arrowgreen3)" }),
|
|
64806
|
+
/* @__PURE__ */ jsx("circle", { cx: "300", cy: "275", r: "30", fill: "#064e3b", stroke: "#10b981", strokeWidth: "3" }),
|
|
64807
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "280", textAnchor: "middle", fill: "#6ee7b7", fontSize: "12", fontWeight: "700", children: "PERFECT" }),
|
|
64808
|
+
/* @__PURE__ */ jsx("text", { x: "300", y: "293", textAnchor: "middle", fill: "#6ee7b7", fontSize: "12", fontWeight: "700", children: "TIMING" })
|
|
64809
|
+
] }),
|
|
64810
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("marker", { id: "arrowgreen3", markerWidth: "10", markerHeight: "10", refX: "9", refY: "3", orient: "auto", markerUnits: "strokeWidth", children: /* @__PURE__ */ jsx("path", { d: "M0,0 L0,6 L9,3 z", fill: "#10b981" }) }) })
|
|
64811
|
+
] }),
|
|
64812
|
+
/* @__PURE__ */ jsxs("div", { style: {
|
|
64813
|
+
fontSize: "14px",
|
|
64814
|
+
color: "#d1fae5",
|
|
64815
|
+
backgroundColor: "#064e3b",
|
|
64816
|
+
padding: "16px",
|
|
64817
|
+
borderRadius: "6px",
|
|
64818
|
+
border: "2px solid #10b981"
|
|
64819
|
+
}, children: [
|
|
64820
|
+
/* @__PURE__ */ jsx("strong", { children: "Why Now:" }),
|
|
64821
|
+
" Agent adoption + productivity pressure + system complexity + knowledge distribution = urgent need for story-based monitoring. The market timing has never been better."
|
|
64822
|
+
] })
|
|
64823
|
+
] });
|
|
64824
|
+
};
|
|
64825
|
+
const WhyNowAgentRevolutionExplainerPanel = ({
|
|
64826
|
+
className
|
|
64827
|
+
}) => {
|
|
64828
|
+
var _a;
|
|
64829
|
+
const [activeSection, setActiveSection] = useState("adoption");
|
|
64830
|
+
const sections2 = [
|
|
64831
|
+
{ id: "adoption", title: "Agent Adoption", component: Step1AgentAdoption },
|
|
64832
|
+
{ id: "growing-gap", title: "Growing Gap", component: Step2GrowingGap },
|
|
64833
|
+
{ id: "infrastructure", title: "Infrastructure Ready", component: Step3InfrastructureReady },
|
|
64834
|
+
{ id: "market", title: "Market Opportunity", component: Step4MarketOpportunity }
|
|
64835
|
+
];
|
|
64836
|
+
const ActiveComponent = ((_a = sections2.find((s) => s.id === activeSection)) == null ? void 0 : _a.component) || Step1AgentAdoption;
|
|
64837
|
+
return /* @__PURE__ */ jsxs("div", { className, style: {
|
|
64838
|
+
backgroundColor: "#0f172a",
|
|
64839
|
+
color: "#cbd5e1",
|
|
64840
|
+
padding: "24px",
|
|
64841
|
+
fontFamily: "system-ui, -apple-system, sans-serif",
|
|
64842
|
+
minHeight: "100vh"
|
|
64843
|
+
}, children: [
|
|
64844
|
+
/* @__PURE__ */ jsxs("div", { style: { marginBottom: "24px" }, children: [
|
|
64845
|
+
/* @__PURE__ */ jsx("h1", { style: {
|
|
64846
|
+
fontSize: "24px",
|
|
64847
|
+
fontWeight: "700",
|
|
64848
|
+
color: "#f1f5f9",
|
|
64849
|
+
marginBottom: "8px"
|
|
64850
|
+
}, children: "Why Now: The Agent Revolution" }),
|
|
64851
|
+
/* @__PURE__ */ jsx("p", { style: {
|
|
64852
|
+
fontSize: "14px",
|
|
64853
|
+
color: "#94a3b8",
|
|
64854
|
+
margin: 0
|
|
64855
|
+
}, children: "Understanding the perfect market timing for story-based monitoring" })
|
|
64856
|
+
] }),
|
|
64857
|
+
/* @__PURE__ */ jsx("div", { style: {
|
|
64858
|
+
display: "flex",
|
|
64859
|
+
gap: "8px",
|
|
64860
|
+
marginBottom: "24px",
|
|
64861
|
+
borderBottom: "1px solid #334155",
|
|
64862
|
+
paddingBottom: "12px",
|
|
64863
|
+
flexWrap: "wrap"
|
|
64864
|
+
}, children: sections2.map((section) => /* @__PURE__ */ jsx(
|
|
64865
|
+
"button",
|
|
64866
|
+
{
|
|
64867
|
+
onClick: () => setActiveSection(section.id),
|
|
64868
|
+
style: {
|
|
64869
|
+
padding: "8px 16px",
|
|
64870
|
+
backgroundColor: activeSection === section.id ? "#3b82f6" : "#1e293b",
|
|
64871
|
+
color: activeSection === section.id ? "#fff" : "#94a3b8",
|
|
64872
|
+
border: "1px solid",
|
|
64873
|
+
borderColor: activeSection === section.id ? "#60a5fa" : "#334155",
|
|
64874
|
+
borderRadius: "6px",
|
|
64875
|
+
cursor: "pointer",
|
|
64876
|
+
fontSize: "13px",
|
|
64877
|
+
fontWeight: activeSection === section.id ? "600" : "400",
|
|
64878
|
+
transition: "all 0.2s"
|
|
64879
|
+
},
|
|
64880
|
+
children: section.title
|
|
64881
|
+
},
|
|
64882
|
+
section.id
|
|
64883
|
+
)) }),
|
|
64884
|
+
/* @__PURE__ */ jsx("div", { style: {
|
|
64885
|
+
backgroundColor: "#1e293b",
|
|
64886
|
+
borderRadius: "8px",
|
|
64887
|
+
padding: "24px",
|
|
64888
|
+
border: "1px solid #334155"
|
|
64889
|
+
}, children: /* @__PURE__ */ jsx(ActiveComponent, {}) })
|
|
64890
|
+
] });
|
|
64891
|
+
};
|
|
63964
64892
|
class PanelFileSystemAdapter {
|
|
63965
64893
|
constructor(options) {
|
|
63966
64894
|
this.fileContentCache = /* @__PURE__ */ new Map();
|
|
@@ -64214,6 +65142,7 @@ const onPackageUnload = async () => {
|
|
|
64214
65142
|
console.log("Panel package unloading - Principal View Panels");
|
|
64215
65143
|
};
|
|
64216
65144
|
export {
|
|
65145
|
+
AgentMonitoringGapExplainerPanel,
|
|
64217
65146
|
BookAnalogyExplainerPanel,
|
|
64218
65147
|
CanvasDetailPanel,
|
|
64219
65148
|
CanvasEditorPanel,
|
|
@@ -64230,8 +65159,10 @@ export {
|
|
|
64230
65159
|
ProductionDebuggingExplainerPanel,
|
|
64231
65160
|
RuntimeValidationExplainerPanel,
|
|
64232
65161
|
ScenarioEnumerationExplainerPanel,
|
|
65162
|
+
SystemStoriesSolutionExplainerPanel,
|
|
64233
65163
|
TelemetryCoverageExplainerPanel,
|
|
64234
65164
|
TestVsProductionExplainerPanel,
|
|
65165
|
+
WhyNowAgentRevolutionExplainerPanel,
|
|
64235
65166
|
focusNodeTool,
|
|
64236
65167
|
onPackageLoad,
|
|
64237
65168
|
onPackageUnload,
|