@checkstack/catalog-common 1.2.11 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,64 @@
1
1
  # @checkstack/catalog-common
2
2
 
3
+ ## 1.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 3c34b07: Complete SLO Reliability Engine frontend and backend
8
+
9
+ **Frontend** — 7 new visualization components:
10
+
11
+ - `StreakCounter`: Fire-themed compliance streak counter with color-coded flame and best-streak trophy
12
+ - `AchievementBadge`: Emoji-labeled badges for 9 achievement types with hover tooltip
13
+ - `AttributionChart`: Horizontal stacked bar showing error budget split (self/upstream/remaining)
14
+ - `DowntimeTimeline`: Dot-and-line timeline with attribution badges and timestamps
15
+ - `SloTrendChart`: Pure SVG availability trend line chart from daily snapshots
16
+ - `MilestoneFeed`: Organization-wide milestone feed on the SLO overview sidebar
17
+ - `DependencyExclusionConfig`: Interactive upstream dependency picker for SLO editor
18
+
19
+ **Backend** — Weekly digest scheduled integration event:
20
+
21
+ - `weekly-digest.ts`: Cron job (Monday 09:00 UTC) emitting SLO performance summary
22
+ - Top/worst performers, breach counts, and streak data delivered via configured notification channels
23
+ - New `sloWeeklyDigest` hook registered as integration event
24
+
25
+ - Updated dependencies [d1a2796]
26
+ - @checkstack/common@0.6.5
27
+ - @checkstack/frontend-api@0.3.9
28
+ - @checkstack/auth-common@0.6.1
29
+
30
+ ## 1.3.0
31
+
32
+ ### Minor Changes
33
+
34
+ - 3f36a64: Add System Dependencies plugin
35
+
36
+ Introduces the system dependencies feature with three new core plugins and
37
+ extends the catalog with a new SystemEditorSlot extension point.
38
+
39
+ **New plugins:**
40
+
41
+ - **dependency-common**: Shared Zod schemas, RPC contract with resource-level access control, signal definitions, and routes
42
+ - **dependency-backend**: Drizzle schema, DependencyService with cycle detection, WarningEvaluationService with transitive impact matrix, RPC router with signal broadcasting, and per-user canvas node position persistence
43
+ - **dependency-frontend**: DependencyBadge (dashboard), DependencyAlert (system details), DependencyEditor (system editor dialog), and interactive DependencyMapPage (React Flow canvas)
44
+
45
+ **Catalog extensions:**
46
+
47
+ - **catalog-common**: New `SystemEditorSlot` for plugin-injected sections in the system editor dialog
48
+ - **catalog-frontend**: `SystemEditor` renders the slot after TeamAccessEditor for existing systems
49
+
50
+ **Key capabilities:**
51
+
52
+ - Directional dependency edges between systems (source depends on target)
53
+ - Three impact types: informational, degraded, critical
54
+ - Transitive multi-hop warning propagation with toggle switch
55
+ - Cycle detection at creation time with graphical chain visualization
56
+ - Health check-level dependency rules
57
+ - Interactive dependency map with drag-to-connect, edge click editor, and auto-saving node positions
58
+ - Inline editing of dependencies in both the system editor and the map canvas
59
+ - Team-based resource-level access control on all mutation endpoints
60
+ - Realtime signal-driven UI updates
61
+
3
62
  ## 1.2.11
4
63
 
5
64
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@checkstack/catalog-common",
3
- "version": "1.2.11",
3
+ "version": "1.3.1",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -9,14 +9,14 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "@checkstack/common": "0.6.4",
12
- "@checkstack/auth-common": "0.5.7",
12
+ "@checkstack/auth-common": "0.6.0",
13
13
  "@checkstack/frontend-api": "0.3.8",
14
14
  "@orpc/contract": "^1.13.14",
15
15
  "zod": "^4.2.1"
16
16
  },
17
17
  "devDependencies": {
18
18
  "typescript": "^5.7.2",
19
- "@checkstack/tsconfig": "0.0.4",
19
+ "@checkstack/tsconfig": "0.0.5",
20
20
  "@checkstack/scripts": "0.1.2"
21
21
  },
22
22
  "scripts": {
@@ -72,6 +72,7 @@ export const catalogContract = {
72
72
  operationType: "query",
73
73
  userType: "public",
74
74
  access: [catalogAccess.system.read],
75
+ instanceAccess: { idParam: "systemId" },
75
76
  })
76
77
  .input(z.object({ systemId: z.string() }))
77
78
  .output(SystemSchema.nullable()),
package/src/slots.ts CHANGED
@@ -72,3 +72,22 @@ export const CatalogSystemActionsSlot = createSlot<{
72
72
  export const SystemStateBadgesSlot = createSlot<{ system: System }>(
73
73
  "plugin.catalog.system-state-badges"
74
74
  );
75
+
76
+ /**
77
+ * Slot for extending the System Editor dialog with additional sections.
78
+ * Only rendered when editing an existing system (not during creation).
79
+ * Extensions receive the system ID.
80
+ *
81
+ * @example
82
+ * // In your plugin
83
+ * import { SystemEditorSlot } from "@checkstack/catalog-common";
84
+ *
85
+ * extensions: [{
86
+ * id: "my-plugin.system-editor",
87
+ * slotId: SystemEditorSlot.id,
88
+ * component: ({ systemId }) => <MySection systemId={systemId} />,
89
+ * }]
90
+ */
91
+ export const SystemEditorSlot = createSlot<{ systemId: string }>(
92
+ "plugin.catalog.system-editor"
93
+ );