chore: regenerate stale .pi-map.md / .pi-map.index.md project maps

Project map had drifted: claimed recharts unused (was used), ObservabilityPage.tsx
exists (refactored to service-tabs/), missed JellyfinNowPlayingWidget +
authentik/backups service types. Regenerate to reflect post-change reality:
new Qbittorrent/LineSeriesChart/Prometheus{Gauge,Mean}Widget files,
service_data.py/qbittorrent_store.py, canonical prometheus-charting +
service-storage specs, archived changes.
This commit is contained in:
Developer
2026-07-09 14:05:56 +00:00
parent 98f17f6e5d
commit ec7ebd7013
189 changed files with 1215 additions and 428 deletions
+8 -3
View File
@@ -2,13 +2,16 @@
dir: frontend/src/integrations
## role
Frontend integration layer that maps backend service types and widgets to their corresponding React components, metadata, and configuration schemas.
Central registry and integration layer that maps external services and built-in widgets to their React components, metadata, and navigation entries.
## parent
index: frontend/src/.pi-map.index.md
map: frontend/src/.pi-map.md
## children
-
- frontend/src/integrations/__tests__
index: frontend/src/integrations/__tests__/.pi-map.index.md
map: frontend/src/integrations/__tests__/.pi-map.md
## files
- navEntries.ts
- registry.test.ts
- registry.ts
## links
@@ -16,8 +19,10 @@ index: frontend/src/integrations/.pi-map.index.md
map: frontend/src/integrations/.pi-map.md
## workflows
- change integrations behavior
read: registry.ts
read: navEntries.ts, registry.ts
- update integrations tests
read: registry.test.ts
- explore integrations subdirectories
index: frontend/src/integrations/__tests__/.pi-map.index.md
## dirty
-
+13 -10
View File
@@ -4,27 +4,30 @@ dir: frontend/src/integrations
index: frontend/src/integrations/.pi-map.index.md
## role
Frontend integration layer that maps backend service types and widgets to their corresponding React components, metadata, and configuration schemas.
Central registry and integration layer that maps external services and built-in widgets to their React components, metadata, and navigation entries.
## files
- registry.test.ts | Tests the service and widget registry module, verifying correct service registrations, widget bindings, and widget resolution logic. | dep: vitest, ./registry, ../types
- registry.ts | Defines a frontend registry mapping service types and built-in widgets to their React components, metadata, and config schemas, with a resolver to look up widgets by instance. | exp: WidgetComponentProps, ServiceWidgetBinding, ServiceBinding, SERVICE_REGISTRY, BUILTIN_WIDGETS, ResolvedWidget, func:getServiceBinding(serviceType: string) → ServiceBinding | undefined, func:getBuiltinBinding(kind: string) → ServiceWidgetBinding | undefined, func:resolveWidget(widget: WidgetInstance, services: ServiceInstance[]) → ResolvedWidget | undefined, call:services.find, call:getServiceBinding, call:binding?.widgets.find, call:getBuiltinBinding, func:enrichServiceTypes(types: ServiceTypeInfo[]) → ServiceTypeInfo[] | dep: react, ../widgets/AlertmanagerAlertsWidget, ../widgets/BackupsWidget, ../widgets/GrafanaLinkWidget, ../widgets/JellyfinWidget, ../widgets/PrometheusMetricWidget, ../widgets/SshTaskWidget, ../widgets/StaticWidget, ../types, AlertmanagerAlertsWidget, BackupsWidget, GrafanaLinkWidget, JellyfinWidget, PrometheusMetricWidget, SshTaskWidget, StaticWidget, types
- navEntries.ts | Defines a static mapping of service types to their navigation entries and provides a filter function to return only entries for currently configured services. | exp: NavEntry, SERVICE_TYPE_NAV_ENTRIES, func:configuredNavEntries(configuredTypes: Set<string>) → NavEntry[], call:SERVICE_TYPE_NAV_ENTRIES.filter, call:configuredTypes.has | dep: lucide-react
- registry.test.ts | Tests the service and widget registry module, validating service registrations, widget bindings, and widget resolution logic. | dep: vitest, ./registry, ../types
- registry.ts | Maps service types and built-in widgets to their respective React components, metadata, and config schemas, and provides lookup functions to resolve widget instances. | exp: WidgetComponentProps, ServiceWidgetBinding, ServiceBinding, SERVICE_REGISTRY, BUILTIN_WIDGETS, ResolvedWidget, func:getServiceBinding(serviceType: string) → ServiceBinding | undefined, func:getBuiltinBinding(kind: string) → ServiceWidgetBinding | undefined, func:resolveWidget(widget: WidgetInstance, services: ServiceInstance[]) → ResolvedWidget | undefined, call:services.find, call:getServiceBinding, call:binding?.widgets.find, call:getBuiltinBinding, func:enrichServiceTypes(types: ServiceTypeInfo[]) → ServiceTypeInfo[] | dep: react, ../widgets/AlertmanagerAlertsWidget, ../widgets/BackupsWidget, ../widgets/PrometheusChartWidget, ../widgets/PrometheusGaugeWidget, ../widgets/PrometheusMeanWidget, ../widgets/JellyfinWidget, ../widgets/JellyfinNowPlayingWidget, ../widgets/PrometheusMetricWidget, ../widgets/QbittorrentActiveTorrentsWidget, ../widgets/QbittorrentSpeedWidget, ../widgets/QbittorrentTotalsWidget, ../widgets/SshTaskWidget, ../widgets/StaticWidget, ../types, various widget components, types
## arch
Registry pattern implementing a centralized lookup dictionary with a resolver function to dynamically discover and instantiate the correct widget components based on service instances.
Registry pattern with static mappings, lookup/resolution functions, and filter utilities to dynamically expose only configured service integrations.
## tags
service, binding, widget, widgets, registry, types, builtin, get
service, widgets, widget, binding, nav, entries, types, registry
## symbols
- configuredNavEntries
- getServiceBinding
- getBuiltinBinding
- resolveWidget
- enrichServiceTypes
- WidgetComponentProps
- ServiceWidgetBinding
- ServiceBinding
- SERVICE_REGISTRY
- NavEntry
- SERVICE_TYPE_NAV_ENTRIES
- call:SERVICE_TYPE_NAV_ENTRIES.filter
## workflows
- change integrations behavior
read: registry.ts
read: navEntries.ts, registry.ts
- update integrations tests
read: registry.test.ts
- explore integrations subdirectories
index: frontend/src/integrations/__tests__/.pi-map.index.md
## dirty
-
@@ -0,0 +1,20 @@
# frontend/src/integrations/__tests__ (index)
dir: frontend/src/integrations/__tests__
## role
Test suite that validates navigation entry generation logic for service type configurations.
## parent
index: frontend/src/integrations/.pi-map.index.md
map: frontend/src/integrations/.pi-map.md
## children
-
## files
- navEntries.test.ts
## links
index: frontend/src/integrations/__tests__/.pi-map.index.md
map: frontend/src/integrations/__tests__/.pi-map.md
## workflows
- update __tests__ tests
read: navEntries.test.ts
## dirty
-
@@ -0,0 +1,20 @@
# frontend/src/integrations/__tests__
dir: frontend/src/integrations/__tests__
index: frontend/src/integrations/__tests__/.pi-map.index.md
## role
Test suite that validates navigation entry generation logic for service type configurations.
## files
- navEntries.test.ts | Tests the `configuredNavEntries` function and `SERVICE_TYPE_NAV_ENTRIES` constant to verify correct navigation entry generation based on configured service types. | dep: vitest, ../navEntries
## arch
Unit testing pattern verifying pure functions and constants produce expected navigation structures based on input configuration.
## tags
nav, service, entries.test, tests, configurednaventries, type, entries, constant
## symbols
-
## workflows
- update __tests__ tests
read: navEntries.test.ts
## dirty
-