@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.
Files changed (137) hide show
  1. package/dist/panels.bundle.js +942 -11
  2. package/dist/panels.bundle.js.map +1 -1
  3. package/package.json +2 -2
  4. package/dist/adapters/PanelFileSystemAdapter.d.ts +0 -82
  5. package/dist/adapters/PanelFileSystemAdapter.d.ts.map +0 -1
  6. package/dist/demo/DemoApp.d.ts +0 -13
  7. package/dist/demo/DemoApp.d.ts.map +0 -1
  8. package/dist/demo/DemoApp.stories.d.ts +0 -71
  9. package/dist/demo/DemoApp.stories.d.ts.map +0 -1
  10. package/dist/demo/api/browser.d.ts +0 -15
  11. package/dist/demo/api/browser.d.ts.map +0 -1
  12. package/dist/demo/api/handlers.d.ts +0 -8
  13. package/dist/demo/api/handlers.d.ts.map +0 -1
  14. package/dist/demo/components/BookDetails/BookDetails.d.ts +0 -16
  15. package/dist/demo/components/BookDetails/BookDetails.d.ts.map +0 -1
  16. package/dist/demo/components/CardCatalog/CardCatalog.d.ts +0 -16
  17. package/dist/demo/components/CardCatalog/CardCatalog.d.ts.map +0 -1
  18. package/dist/demo/components/ReadingRoom/ReadingRoom.d.ts +0 -17
  19. package/dist/demo/components/ReadingRoom/ReadingRoom.d.ts.map +0 -1
  20. package/dist/demo/data/mockData.d.ts +0 -33
  21. package/dist/demo/data/mockData.d.ts.map +0 -1
  22. package/dist/demo/data/types.d.ts +0 -168
  23. package/dist/demo/data/types.d.ts.map +0 -1
  24. package/dist/index.d.ts +0 -57
  25. package/dist/index.d.ts.map +0 -1
  26. package/dist/mocks/panelContext.d.ts +0 -31
  27. package/dist/mocks/panelContext.d.ts.map +0 -1
  28. package/dist/mocks/vvfConfigs.d.ts +0 -32
  29. package/dist/mocks/vvfConfigs.d.ts.map +0 -1
  30. package/dist/panels/BookAnalogyExplainerPanel.d.ts +0 -7
  31. package/dist/panels/BookAnalogyExplainerPanel.d.ts.map +0 -1
  32. package/dist/panels/BookAnalogyExplainerPanel.stories.d.ts +0 -33
  33. package/dist/panels/BookAnalogyExplainerPanel.stories.d.ts.map +0 -1
  34. package/dist/panels/CanvasDetailPanel.d.ts +0 -31
  35. package/dist/panels/CanvasDetailPanel.d.ts.map +0 -1
  36. package/dist/panels/CanvasDetailPanel.stories.d.ts +0 -50
  37. package/dist/panels/CanvasDetailPanel.stories.d.ts.map +0 -1
  38. package/dist/panels/CanvasEditorPanel.d.ts +0 -27
  39. package/dist/panels/CanvasEditorPanel.d.ts.map +0 -1
  40. package/dist/panels/CanvasEditorPanel.stories.d.ts +0 -32
  41. package/dist/panels/CanvasEditorPanel.stories.d.ts.map +0 -1
  42. package/dist/panels/CanvasListPanel.d.ts +0 -13
  43. package/dist/panels/CanvasListPanel.d.ts.map +0 -1
  44. package/dist/panels/CanvasListPanel.stories.d.ts +0 -57
  45. package/dist/panels/CanvasListPanel.stories.d.ts.map +0 -1
  46. package/dist/panels/CanvasTypesExplainerPanel.d.ts +0 -7
  47. package/dist/panels/CanvasTypesExplainerPanel.d.ts.map +0 -1
  48. package/dist/panels/CanvasTypesExplainerPanel.stories.d.ts +0 -33
  49. package/dist/panels/CanvasTypesExplainerPanel.stories.d.ts.map +0 -1
  50. package/dist/panels/ChangeImpactAnalysisExplainerPanel.d.ts +0 -7
  51. package/dist/panels/ChangeImpactAnalysisExplainerPanel.d.ts.map +0 -1
  52. package/dist/panels/ChangeImpactAnalysisExplainerPanel.stories.d.ts +0 -33
  53. package/dist/panels/ChangeImpactAnalysisExplainerPanel.stories.d.ts.map +0 -1
  54. package/dist/panels/ControlTowerIntegration.stories.d.ts +0 -12
  55. package/dist/panels/ControlTowerIntegration.stories.d.ts.map +0 -1
  56. package/dist/panels/EventControllerPanel.d.ts +0 -32
  57. package/dist/panels/EventControllerPanel.d.ts.map +0 -1
  58. package/dist/panels/EventControllerPanel.stories.d.ts +0 -53
  59. package/dist/panels/EventControllerPanel.stories.d.ts.map +0 -1
  60. package/dist/panels/EventRecorderPanel.d.ts +0 -54
  61. package/dist/panels/EventRecorderPanel.d.ts.map +0 -1
  62. package/dist/panels/EventRecorderPanel.stories.d.ts +0 -12
  63. package/dist/panels/EventRecorderPanel.stories.d.ts.map +0 -1
  64. package/dist/panels/EventRecordingIntegration.stories.d.ts +0 -21
  65. package/dist/panels/EventRecordingIntegration.stories.d.ts.map +0 -1
  66. package/dist/panels/HierarchicalCanvasCompositionExplainerPanel.d.ts +0 -7
  67. package/dist/panels/HierarchicalCanvasCompositionExplainerPanel.d.ts.map +0 -1
  68. package/dist/panels/HierarchicalCanvasCompositionExplainerPanel.stories.d.ts +0 -33
  69. package/dist/panels/HierarchicalCanvasCompositionExplainerPanel.stories.d.ts.map +0 -1
  70. package/dist/panels/LibraryAnchoringExplainerPanel.d.ts +0 -7
  71. package/dist/panels/LibraryAnchoringExplainerPanel.d.ts.map +0 -1
  72. package/dist/panels/LibraryAnchoringExplainerPanel.stories.d.ts +0 -33
  73. package/dist/panels/LibraryAnchoringExplainerPanel.stories.d.ts.map +0 -1
  74. package/dist/panels/MonorepoComposabilityExplainerPanel.d.ts +0 -7
  75. package/dist/panels/MonorepoComposabilityExplainerPanel.d.ts.map +0 -1
  76. package/dist/panels/MonorepoComposabilityExplainerPanel.stories.d.ts +0 -33
  77. package/dist/panels/MonorepoComposabilityExplainerPanel.stories.d.ts.map +0 -1
  78. package/dist/panels/MultipleCanvasViewsExplainerPanel.d.ts +0 -7
  79. package/dist/panels/MultipleCanvasViewsExplainerPanel.d.ts.map +0 -1
  80. package/dist/panels/MultipleCanvasViewsExplainerPanel.stories.d.ts +0 -33
  81. package/dist/panels/MultipleCanvasViewsExplainerPanel.stories.d.ts.map +0 -1
  82. package/dist/panels/NarrativeExplainerPanel.d.ts +0 -7
  83. package/dist/panels/NarrativeExplainerPanel.d.ts.map +0 -1
  84. package/dist/panels/NarrativeExplainerPanel.stories.d.ts +0 -23
  85. package/dist/panels/NarrativeExplainerPanel.stories.d.ts.map +0 -1
  86. package/dist/panels/ProductionDebuggingExplainerPanel.d.ts +0 -7
  87. package/dist/panels/ProductionDebuggingExplainerPanel.d.ts.map +0 -1
  88. package/dist/panels/ProductionDebuggingExplainerPanel.stories.d.ts +0 -33
  89. package/dist/panels/ProductionDebuggingExplainerPanel.stories.d.ts.map +0 -1
  90. package/dist/panels/RuntimeValidationExplainerPanel.d.ts +0 -7
  91. package/dist/panels/RuntimeValidationExplainerPanel.d.ts.map +0 -1
  92. package/dist/panels/RuntimeValidationExplainerPanel.stories.d.ts +0 -33
  93. package/dist/panels/RuntimeValidationExplainerPanel.stories.d.ts.map +0 -1
  94. package/dist/panels/ScenarioEnumerationExplainerPanel.d.ts +0 -7
  95. package/dist/panels/ScenarioEnumerationExplainerPanel.d.ts.map +0 -1
  96. package/dist/panels/ScenarioEnumerationExplainerPanel.stories.d.ts +0 -33
  97. package/dist/panels/ScenarioEnumerationExplainerPanel.stories.d.ts.map +0 -1
  98. package/dist/panels/TelemetryCoverageExplainerPanel.d.ts +0 -7
  99. package/dist/panels/TelemetryCoverageExplainerPanel.d.ts.map +0 -1
  100. package/dist/panels/TelemetryCoverageExplainerPanel.stories.d.ts +0 -33
  101. package/dist/panels/TelemetryCoverageExplainerPanel.stories.d.ts.map +0 -1
  102. package/dist/panels/TestVsProductionExplainerPanel.d.ts +0 -7
  103. package/dist/panels/TestVsProductionExplainerPanel.d.ts.map +0 -1
  104. package/dist/panels/TestVsProductionExplainerPanel.stories.d.ts +0 -33
  105. package/dist/panels/TestVsProductionExplainerPanel.stories.d.ts.map +0 -1
  106. package/dist/panels/canvas-list/components/CanvasCard.d.ts +0 -13
  107. package/dist/panels/canvas-list/components/CanvasCard.d.ts.map +0 -1
  108. package/dist/panels/canvas-list/hooks/useCanvasData.d.ts +0 -18
  109. package/dist/panels/canvas-list/hooks/useCanvasData.d.ts.map +0 -1
  110. package/dist/panels/execution-viewer/EventNodeMapper.d.ts +0 -46
  111. package/dist/panels/execution-viewer/EventNodeMapper.d.ts.map +0 -1
  112. package/dist/panels/execution-viewer/ExecutionLoader.d.ts +0 -128
  113. package/dist/panels/execution-viewer/ExecutionLoader.d.ts.map +0 -1
  114. package/dist/panels/execution-viewer/ExecutionStats.d.ts +0 -11
  115. package/dist/panels/execution-viewer/ExecutionStats.d.ts.map +0 -1
  116. package/dist/panels/execution-viewer/NarrativeLoader.d.ts +0 -65
  117. package/dist/panels/execution-viewer/NarrativeLoader.d.ts.map +0 -1
  118. package/dist/panels/execution-viewer/NarrativeRenderer.d.ts +0 -19
  119. package/dist/panels/execution-viewer/NarrativeRenderer.d.ts.map +0 -1
  120. package/dist/panels/execution-viewer/NarrativeTemplatePanel.d.ts +0 -15
  121. package/dist/panels/execution-viewer/NarrativeTemplatePanel.d.ts.map +0 -1
  122. package/dist/panels/execution-viewer/TestEventPanel.d.ts +0 -47
  123. package/dist/panels/execution-viewer/TestEventPanel.d.ts.map +0 -1
  124. package/dist/panels/execution-viewer/narrative-converter.d.ts +0 -45
  125. package/dist/panels/execution-viewer/narrative-converter.d.ts.map +0 -1
  126. package/dist/panels/principal-view/ConfigLoader.d.ts +0 -43
  127. package/dist/panels/principal-view/ConfigLoader.d.ts.map +0 -1
  128. package/dist/panels/principal-view/EmptyStateContent.d.ts +0 -12
  129. package/dist/panels/principal-view/EmptyStateContent.d.ts.map +0 -1
  130. package/dist/panels/principal-view/ErrorStateContent.d.ts +0 -14
  131. package/dist/panels/principal-view/ErrorStateContent.d.ts.map +0 -1
  132. package/dist/stubs/codebase-quality-lenses-stub.d.ts +0 -26
  133. package/dist/stubs/codebase-quality-lenses-stub.d.ts.map +0 -1
  134. package/dist/tools/index.d.ts +0 -32
  135. package/dist/tools/index.d.ts.map +0 -1
  136. package/dist/types/index.d.ts +0 -7
  137. package/dist/types/index.d.ts.map +0 -1
@@ -53249,13 +53249,8 @@ const CanvasDetailPanel = ({
53249
53249
  setState((prev) => ({ ...prev, viewMode: mode }));
53250
53250
  }, []);
53251
53251
  const handleOpenInEditor = useCallback(() => {
53252
- var _a2;
53253
- if (!state.canvas || !state.selectedCanvasId) {
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: canvasPath,
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: "fixed",
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,