spine-framework 0.3.145 → 0.4.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/.env.example +76 -0
- package/.framework/.spine-manifest.json +19 -0
- package/.framework/cli/commands/agents.ts +61 -33
- package/.framework/cli/commands/auth.ts +60 -28
- package/.framework/cli/commands/create-app.ts +212 -80
- package/.framework/cli/commands/dev.ts +184 -68
- package/.framework/cli/commands/doctor.ts +324 -152
- package/.framework/cli/commands/generate.ts +119 -68
- package/.framework/cli/commands/init.ts +141 -242
- package/.framework/cli/commands/install-app.ts +1336 -314
- package/.framework/cli/commands/items.ts +31 -29
- package/.framework/cli/commands/migrate.ts +299 -156
- package/.framework/cli/commands/migrations.ts +62 -30
- package/.framework/cli/commands/pipelines.ts +31 -29
- package/.framework/cli/commands/status.ts +105 -45
- package/.framework/cli/commands/system.ts +47 -42
- package/.framework/cli/commands/test.ts +161 -102
- package/.framework/cli/commands/upgrade.ts +260 -0
- package/.framework/cli/commands/validate-app.ts +517 -161
- package/.framework/cli/context.ts +117 -85
- package/.framework/cli/env-loader.ts +74 -43
- package/.framework/cli/index.ts +70 -46
- package/.framework/cli/lib/project-files.ts +404 -0
- package/.framework/docs/guides/testing-guide.md +1 -1
- package/.framework/docs/runtime-types.md +72 -72
- package/.framework/functions/_shared/access.ts +84 -0
- package/.framework/functions/_shared/agent-runner.ts +5067 -1026
- package/.framework/functions/_shared/app-manifest.ts +214 -94
- package/.framework/functions/_shared/ast.ts +214 -0
- package/.framework/functions/_shared/audit.ts +91 -55
- package/.framework/functions/_shared/cil.ts +368 -127
- package/.framework/functions/_shared/db.ts +337 -68
- package/.framework/functions/_shared/funnel.ts +228 -0
- package/.framework/functions/_shared/geo.ts +105 -0
- package/.framework/functions/_shared/hash-api-key.ts +94 -17
- package/.framework/functions/_shared/index.ts +22 -224
- package/.framework/functions/_shared/kb.ts +832 -58
- package/.framework/functions/_shared/llm.ts +118 -18
- package/.framework/functions/_shared/logging.ts +317 -19
- package/.framework/functions/_shared/middleware.ts +701 -131
- package/.framework/functions/_shared/notify.ts +70 -0
- package/.framework/functions/_shared/outcomes.ts +34 -19
- package/.framework/functions/_shared/permissions.ts +501 -315
- package/.framework/functions/_shared/pipeline-runner.ts +704 -155
- package/.framework/functions/_shared/principal.ts +436 -263
- package/.framework/functions/_shared/rate-limit.ts +233 -0
- package/.framework/functions/_shared/resolve-credentials.ts +86 -19
- package/.framework/functions/_shared/resolve-ids.ts +203 -139
- package/.framework/functions/_shared/retry-deliveries.ts +51 -16
- package/.framework/functions/_shared/schema-utils.ts +602 -521
- package/.framework/functions/_shared/security.ts +345 -0
- package/.framework/functions/_shared/testing.ts +197 -172
- package/.framework/functions/_shared/tracing.ts +351 -21
- package/.framework/functions/_shared/trigger-engine.ts +425 -136
- package/.framework/functions/_shared/webhook-registration.ts +71 -70
- package/.framework/functions/_shared/webhook-registry.ts +126 -83
- package/.framework/functions/account-nodes.ts +30 -30
- package/.framework/functions/adapters/generic-webhook-inbound.ts +49 -16
- package/.framework/functions/adapters/generic-webhook-outbound.ts +17 -17
- package/.framework/functions/adapters/openai-outbound.ts +15 -16
- package/.framework/functions/admin-data.ts +596 -173
- package/.framework/functions/admin-funnel.ts +64 -60
- package/.framework/functions/admin-install-funnel.ts +84 -66
- package/.framework/functions/admin-signals.ts +69 -51
- package/.framework/functions/ai-agents.ts +431 -106
- package/.framework/functions/ai-interactions.ts +186 -112
- package/.framework/functions/api-keys.ts +107 -107
- package/.framework/functions/apps.ts +154 -136
- package/.framework/functions/auth.ts +83 -65
- package/.framework/functions/cil-agent-ingest.ts +189 -232
- package/.framework/functions/cil-agent.ts +433 -177
- package/.framework/functions/cil-callmap.ts +642 -430
- package/.framework/functions/cil-config.ts +139 -135
- package/.framework/functions/cil-context.ts +214 -127
- package/.framework/functions/cil-doc.ts +587 -458
- package/.framework/functions/cil-embeddings.ts +453 -364
- package/.framework/functions/cil-graph.ts +427 -142
- package/.framework/functions/cil-ingest.ts +1418 -1154
- package/.framework/functions/cil-pipeline.ts +276 -21
- package/.framework/functions/cil-project.ts +659 -132
- package/.framework/functions/cil-validate.ts +198 -164
- package/.framework/functions/debug-auth.ts +57 -55
- package/.framework/functions/deliveries.ts +80 -21
- package/.framework/functions/embeddings.ts +1023 -318
- package/.framework/functions/eval-harness.ts +146 -108
- package/.framework/functions/integration-outbound.ts +205 -75
- package/.framework/functions/integration-routes.ts +128 -23
- package/.framework/functions/integrations.ts +125 -100
- package/.framework/functions/invites.ts +1095 -460
- package/.framework/functions/item-progress.ts +158 -102
- package/.framework/functions/kb.ts +34 -10
- package/.framework/functions/logs.ts +133 -133
- package/.framework/functions/observability.ts +152 -122
- package/.framework/functions/pipeline-executions.ts +147 -132
- package/.framework/functions/pipelines.ts +134 -119
- package/.framework/functions/prompt-configs.ts +96 -80
- package/.framework/functions/roles.ts +112 -82
- package/.framework/functions/security.ts +450 -0
- package/.framework/functions/system-cron.ts +117 -80
- package/.framework/functions/system.ts +158 -98
- package/.framework/functions/tests.ts +29 -29
- package/.framework/functions/timers.ts +94 -95
- package/.framework/functions/trigger-scheduler.ts +10 -0
- package/.framework/functions/triggers.ts +179 -149
- package/.framework/functions/types.ts +137 -125
- package/.framework/mcp/index.ts +133 -0
- package/.framework/mcp/load-env.ts +60 -0
- package/.framework/mcp/shared/app-manifest.ts +275 -0
- package/.framework/mcp/shared/db.ts +477 -0
- package/.framework/mcp/shared/kb.ts +118 -0
- package/.framework/mcp/tools/architect.ts +431 -0
- package/.framework/mcp/tools/cil/context.ts +345 -0
- package/.framework/mcp/tools/cil/graph.ts +242 -0
- package/.framework/mcp/tools/cil/ingest.ts +1217 -0
- package/.framework/mcp/tools/cil/pipeline-orchestrator.ts +693 -0
- package/.framework/mcp/tools/cil/pipeline.ts +767 -0
- package/.framework/mcp/tools/cil/project.ts +791 -0
- package/.framework/mcp/tools/cil/retrieval.ts +336 -0
- package/.framework/mcp/tools/cil/search-core.ts +454 -0
- package/.framework/mcp/tools/cil/search.ts +97 -0
- package/.framework/mcp/tools/cil/suggest.ts +186 -0
- package/.framework/mcp/tools/cil/validate.ts +1369 -0
- package/.framework/mcp/tools/kb/delete.ts +139 -0
- package/.framework/mcp/tools/kb/index.ts +52 -0
- package/.framework/mcp/tools/kb/ingest.ts +84 -0
- package/.framework/mcp/tools/kb/list-types.ts +102 -0
- package/.framework/mcp/tools/kb/publish.ts +100 -0
- package/.framework/mcp/tools/kb/reindex.ts +86 -0
- package/.framework/mcp/tools/kb/revoke.ts +85 -0
- package/.framework/mcp/tools/kb/search.ts +101 -0
- package/.framework/mcp/tools/kb/upsert.ts +125 -0
- package/.framework/mcp/tools/observability.ts +510 -0
- package/.framework/migrations/001_core_schema.sql +15 -0
- package/.framework/migrations/002_core_rls_and_functions.sql +15 -0
- package/.framework/migrations/003_core_system_data.sql +16 -1
- package/.framework/migrations/004_core_rpc_and_broker.sql +17 -1
- package/.framework/migrations/005_core_observability.sql +17 -1
- package/.framework/migrations/006_security_hardening_rls.sql +15 -0
- package/.framework/migrations/007_kb_article_list.sql +17 -1
- package/.framework/migrations/008_items_target.sql +15 -0
- package/.framework/migrations/009_roles_slug_unique.sql +15 -0
- package/.framework/migrations/010_auth_user_trigger.sql +15 -0
- package/.framework/migrations/011_spine_system_account.sql +16 -0
- package/.framework/migrations/012_service_role_grants.sql +16 -0
- package/.framework/migrations/013_get_account_apps_role_filter.sql +15 -0
- package/.framework/migrations/014_apps_required_roles.sql +16 -0
- package/.framework/migrations/015_types_kind_slug_unique.sql +15 -0
- package/.framework/migrations/016_cil_types.sql +281 -0
- package/.framework/migrations/017_cil_stable_ids.sql +37 -0
- package/.framework/migrations/018_runtime_tables.sql +129 -0
- package/.framework/migrations/019_agent_prompt_columns.sql +56 -0
- package/.framework/migrations/020_schema_reconciliation.sql +67 -0
- package/.framework/migrations/021_kb_embedding_lifecycle.sql +31 -0
- package/.framework/migrations/032_cil_status_migration.sql +73 -0
- package/.framework/migrations/033_cil_versioning.sql +73 -0
- package/.framework/migrations/034_match_embeddings_knn.sql +115 -0
- package/.framework/migrations/035_rate_limits.sql +55 -0
- package/.framework/migrations/036_demo_record_flags.sql +72 -0
- package/.framework/migrations/037_kb_types_canonical.sql +244 -0
- package/.framework/migrations/038_drop_demo_record_flags.sql +38 -0
- package/.framework/migrations/042_registration_hierarchy.sql +309 -0
- package/.framework/migrations/043_policy_actor_cleanup.sql +39 -0
- package/.framework/migrations/044_match_embeddings_filtered_knn.sql +151 -0
- package/.framework/migrations/045_security_critical_rls.sql +139 -0
- package/.framework/migrations/046_security_missing_rls.sql +79 -0
- package/.framework/migrations/047_people_updated_by.sql +27 -0
- package/.framework/migrations/048_watcher_last_seen_at.sql +24 -0
- package/.framework/migrations/049_security_blocklist.sql +148 -0
- package/.framework/migrations/050_notifications.sql +49 -0
- package/.framework/migrations/051_message_agent_fields.sql +74 -0
- package/.framework/migrations/052_registration_security.sql +421 -0
- package/.framework/migrations/053_builtin_action_seeds.sql +66 -0
- package/.framework/migrations/054_kb_ingest_lease.sql +157 -0
- package/.framework/migrations/055_type_id_drift_reconciliation.sql +33 -0
- package/.framework/migrations/056_slug_column_reconciliation.sql +38 -0
- package/.framework/migrations/057_pipelines_slug_identity.sql +14 -0
- package/.framework/migrations/058_account_data_field_declarations.sql +53 -0
- package/.framework/migrations/059_registration_placement_fixes.sql +269 -0
- package/.framework/migrations/060_account_person_record_permissions.sql +38 -0
- package/.framework/migrations/061_fk_dedup.sql +32 -0
- package/.framework/public/spine-logo.svg +10 -3
- package/.framework/scripts/app-install-cli.ts +190 -93
- package/.framework/scripts/assemble-frontend.sh +127 -44
- package/.framework/scripts/assemble-functions.sh +128 -30
- package/.framework/scripts/boundary-check.sh +6 -2
- package/.framework/scripts/build-manifest.sh +24 -68
- package/.framework/scripts/check-core-integrity.sh +15 -76
- package/.framework/scripts/checksum-manifest.mts +343 -0
- package/.framework/scripts/cil-migrate-markers.ts +403 -0
- package/.framework/scripts/fix-cil-markers.mjs +176 -0
- package/.framework/scripts/verify-integrity.sh +21 -57
- package/.framework/scripts/verify-manifest.mts +305 -0
- package/.framework/seeds/types/funnel_signal_use.json +74 -21
- package/.framework/seeds/types/spine_instance.json +73 -21
- package/.framework/src/App.tsx +118 -72
- package/.framework/src/apps/admin/index.tsx +855 -58
- package/.framework/src/components/AppWrapper.tsx +43 -45
- package/.framework/src/components/CustomAppLoader.tsx +160 -116
- package/.framework/src/components/admin/AdminListPage.tsx +46 -44
- package/.framework/src/components/admin/AdminSidebar.tsx +57 -47
- package/.framework/src/components/admin/AdminStatsCard.tsx +46 -44
- package/.framework/src/components/admin/PageInstructions.tsx +98 -2
- package/.framework/src/components/admin/SortableTableHeader.tsx +44 -45
- package/.framework/src/components/app-shell/GenericAppShell.tsx +64 -65
- package/.framework/src/components/app-shell/GenericDetailPage.tsx +44 -47
- package/.framework/src/components/app-shell/GenericListPage.tsx +45 -49
- package/.framework/src/components/app-sidebar.tsx +42 -45
- package/.framework/src/components/auth/ProtectedRoute.tsx +48 -41
- package/.framework/src/components/auth/TurnstileWidget.tsx +27 -0
- package/.framework/src/components/kb/KBArticleEditor.tsx +231 -22
- package/.framework/src/components/kb/KBArticleList.tsx +251 -10
- package/.framework/src/components/layout/AppShell.tsx +51 -45
- package/.framework/src/components/layout/Header.tsx +42 -43
- package/.framework/src/components/layout/Layout.tsx +46 -46
- package/.framework/src/components/layout/Sidebar.tsx +196 -96
- package/.framework/src/components/runtime/DataDetailHeader.tsx +55 -30
- package/.framework/src/components/runtime/DataDetailPage.tsx +31 -269
- package/.framework/src/components/runtime/DataFilters.tsx +49 -74
- package/.framework/src/components/runtime/DataHeader.tsx +53 -32
- package/.framework/src/components/runtime/DataListPage.tsx +51 -155
- package/.framework/src/components/runtime/DataStats.tsx +66 -44
- package/.framework/src/components/runtime/DataTable.tsx +49 -149
- package/.framework/src/components/runtime/SchemaDetailForm.tsx +45 -75
- package/.framework/src/components/runtime/index.ts +119 -16
- package/.framework/src/components/search-form.tsx +46 -29
- package/.framework/src/components/shared/AgentView.tsx +65 -48
- package/.framework/src/components/shared/FieldRenderer.tsx +144 -50
- package/.framework/src/components/shared/InviteManager.tsx +207 -97
- package/.framework/src/components/shared/MemberList.tsx +97 -0
- package/.framework/src/components/shared/SchemaFields.tsx +107 -86
- package/.framework/src/components/ui/DataTable.tsx +80 -68
- package/.framework/src/components/ui/Form.tsx +157 -146
- package/.framework/src/components/ui/ItemCard.tsx +74 -67
- package/.framework/src/components/ui/ItemListView.tsx +73 -68
- package/.framework/src/components/ui/LoadingSpinner.tsx +43 -48
- package/.framework/src/components/ui/Modal.tsx +78 -68
- package/.framework/src/components/ui/RichTextEditor.tsx +89 -69
- package/.framework/src/components/ui/accordion.tsx +85 -86
- package/.framework/src/components/ui/alert-dialog.tsx +197 -184
- package/.framework/src/components/ui/alert.tsx +105 -94
- package/.framework/src/components/ui/aspect-ratio.tsx +57 -43
- package/.framework/src/components/ui/avatar.tsx +122 -107
- package/.framework/src/components/ui/badge.tsx +60 -55
- package/.framework/src/components/ui/breadcrumb.tsx +127 -128
- package/.framework/src/components/ui/button-group.tsx +86 -72
- package/.framework/src/components/ui/button.tsx +71 -50
- package/.framework/src/components/ui/calendar.tsx +72 -57
- package/.framework/src/components/ui/card.tsx +136 -129
- package/.framework/src/components/ui/carousel.tsx +226 -107
- package/.framework/src/components/ui/chart.tsx +252 -147
- package/.framework/src/components/ui/checkbox.tsx +43 -44
- package/.framework/src/components/ui/collapsible.tsx +86 -71
- package/.framework/src/components/ui/combobox.tsx +282 -249
- package/.framework/src/components/ui/command.tsx +158 -146
- package/.framework/src/components/ui/context-menu.tsx +239 -240
- package/.framework/src/components/ui/dialog.tsx +174 -157
- package/.framework/src/components/ui/direction.tsx +72 -56
- package/.framework/src/components/ui/drawer.tsx +168 -169
- package/.framework/src/components/ui/dropdown-menu.tsx +254 -223
- package/.framework/src/components/ui/empty.tsx +131 -120
- package/.framework/src/components/ui/field.tsx +205 -173
- package/.framework/src/components/ui/hover-card.tsx +71 -72
- package/.framework/src/components/ui/input-group.tsx +148 -133
- package/.framework/src/components/ui/input-otp.tsx +99 -86
- package/.framework/src/components/ui/input.tsx +43 -41
- package/.framework/src/components/ui/item.tsx +207 -185
- package/.framework/src/components/ui/kbd.tsx +57 -56
- package/.framework/src/components/ui/label.tsx +45 -41
- package/.framework/src/components/ui/menubar.tsx +268 -236
- package/.framework/src/components/ui/native-select.tsx +85 -86
- package/.framework/src/components/ui/navigation-menu.tsx +166 -156
- package/.framework/src/components/ui/pagination.tsx +131 -141
- package/.framework/src/components/ui/popover.tsx +125 -128
- package/.framework/src/components/ui/progress.tsx +47 -44
- package/.framework/src/components/ui/radio-group.tsx +60 -55
- package/.framework/src/components/ui/resizable.tsx +85 -72
- package/.framework/src/components/ui/scroll-area.tsx +57 -58
- package/.framework/src/components/ui/select.tsx +182 -169
- package/.framework/src/components/ui/separator.tsx +42 -43
- package/.framework/src/components/ui/sheet.tsx +170 -159
- package/.framework/src/components/ui/sidebar.tsx +395 -398
- package/.framework/src/components/ui/skeleton.tsx +42 -43
- package/.framework/src/components/ui/slider.tsx +61 -44
- package/.framework/src/components/ui/sonner.tsx +44 -44
- package/.framework/src/components/ui/spinner.tsx +47 -42
- package/.framework/src/components/ui/switch.tsx +56 -42
- package/.framework/src/components/ui/table-primitives.tsx +272 -132
- package/.framework/src/components/ui/table.tsx +140 -142
- package/.framework/src/components/ui/tabs.tsx +110 -93
- package/.framework/src/components/ui/textarea.tsx +43 -44
- package/.framework/src/components/ui/toggle-group.tsx +87 -71
- package/.framework/src/components/ui/toggle.tsx +56 -56
- package/.framework/src/components/ui/tooltip.tsx +99 -85
- package/.framework/src/contexts/AppContext.tsx +166 -114
- package/.framework/src/contexts/AuthContext.tsx +232 -137
- package/.framework/src/hooks/use-mobile.ts +43 -44
- package/.framework/src/hooks/useApi.ts +185 -172
- package/.framework/src/hooks/useAppPath.ts +31 -29
- package/.framework/src/hooks/useApps.ts +77 -42
- package/.framework/src/hooks/useEntityList.ts +66 -29
- package/.framework/src/hooks/useEntityRecord.ts +76 -32
- package/.framework/src/hooks/useForm.ts +62 -30
- package/.framework/src/hooks/useListSchema.ts +60 -43
- package/.framework/src/hooks/useSchemaRecord.ts +115 -95
- package/.framework/src/lib/api.ts +258 -134
- package/.framework/src/lib/registration.ts +181 -0
- package/.framework/src/lib/supabase.ts +118 -81
- package/.framework/src/lib/utils.ts +266 -266
- package/.framework/src/main.tsx +43 -44
- package/.framework/src/pages/DashboardPage.tsx +44 -43
- package/.framework/src/pages/NoAppPage.tsx +50 -0
- package/.framework/src/pages/NotFoundPage.tsx +32 -29
- package/.framework/src/pages/SetupPage.tsx +34 -33
- package/.framework/src/pages/admin/AIAgentDetailPage.tsx +69 -58
- package/.framework/src/pages/admin/AIAgentsPage.tsx +43 -40
- package/.framework/src/pages/admin/APIKeyDetailPage.tsx +63 -55
- package/.framework/src/pages/admin/APIKeysPage.tsx +44 -42
- package/.framework/src/pages/admin/AlertsConfigPage.tsx +117 -94
- package/.framework/src/pages/admin/AppDetailPage.tsx +48 -42
- package/.framework/src/pages/admin/AppsPage.tsx +45 -42
- package/.framework/src/pages/admin/DeliveriesPage.tsx +49 -17
- package/.framework/src/pages/admin/DesignedPage.tsx +31 -30
- package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +58 -0
- package/.framework/src/pages/admin/EmbeddingsPage.tsx +49 -0
- package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +31 -29
- package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +46 -29
- package/.framework/src/pages/admin/IntegratedDashboard.tsx +32 -29
- package/.framework/src/pages/admin/IntegrationDetailPage.tsx +68 -55
- package/.framework/src/pages/admin/IntegrationsPage.tsx +45 -42
- package/.framework/src/pages/admin/InvitesPage.tsx +60 -44
- package/.framework/src/pages/admin/LogsPage.tsx +87 -137
- package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +31 -29
- package/.framework/src/pages/admin/ObservabilityDashboard.tsx +150 -89
- package/.framework/src/pages/admin/PipelineDetailPage.tsx +77 -104
- package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +44 -43
- package/.framework/src/pages/admin/PipelinesPage.tsx +59 -145
- package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +53 -42
- package/.framework/src/pages/admin/PromptConfigsPage.tsx +47 -117
- package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +31 -44
- package/.framework/src/pages/admin/RoleDetailPage.tsx +49 -92
- package/.framework/src/pages/admin/RolesPage.tsx +47 -164
- package/.framework/src/pages/admin/SecurityPage.tsx +310 -0
- package/.framework/src/pages/admin/SelectTestPage.tsx +30 -32
- package/.framework/src/pages/admin/ShadcnTestPage.tsx +37 -44
- package/.framework/src/pages/admin/SimpleDashboard.tsx +32 -44
- package/.framework/src/pages/admin/TestRunDetailPage.tsx +97 -44
- package/.framework/src/pages/admin/TestingDashboard.tsx +126 -71
- package/.framework/src/pages/admin/TimerDetailPage.tsx +67 -55
- package/.framework/src/pages/admin/TimersPage.tsx +44 -42
- package/.framework/src/pages/admin/TriggerDetailPage.tsx +47 -42
- package/.framework/src/pages/admin/TriggersPage.tsx +58 -57
- package/.framework/src/pages/admin/TypeDetailPage.tsx +91 -55
- package/.framework/src/pages/admin/TypesPage.tsx +45 -42
- package/.framework/src/pages/admin/cil/CILAgentPage.tsx +258 -128
- package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +127 -123
- package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +308 -235
- package/.framework/src/pages/admin/cil/CILFileListPage.tsx +159 -110
- package/.framework/src/pages/admin/cil/CILFileSelectPage.tsx +432 -0
- package/.framework/src/pages/admin/cil/CILGraphPage.tsx +200 -178
- package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +286 -239
- package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +211 -90
- package/.framework/src/pages/admin/cil/CILSearchPage.tsx +156 -143
- package/.framework/src/pages/admin/cil/CILSuggestionsPage.tsx +379 -0
- package/.framework/src/pages/admin/cil/CILVersionsPage.tsx +337 -0
- package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +219 -214
- package/.framework/src/pages/admin/kb/KBAdminPage.tsx +64 -0
- package/.framework/src/pages/auth/AuthConfirmPage.tsx +135 -65
- package/.framework/src/pages/auth/ForgotPasswordPage.tsx +39 -31
- package/.framework/src/pages/auth/LoginPage.tsx +38 -32
- package/.framework/src/pages/auth/PendingApprovalPage.tsx +31 -28
- package/.framework/src/pages/auth/RegisterPage.tsx +429 -155
- package/.framework/src/pages/spine-framework/APIPage.tsx +33 -30
- package/.framework/src/pages/spine-framework/CLIPage.tsx +32 -30
- package/.framework/src/types/auth.ts +101 -93
- package/.framework/src/types/types.ts +283 -262
- package/.framework/templates/project.json +87 -0
- package/.framework/templates/spine.config.neutral.json +7 -0
- package/.framework/tests/api/api-surface.test.ts +381 -0
- package/.framework/tests/fixtures/seed.ts +427 -0
- package/.framework/tests/fixtures/teardown.ts +228 -0
- package/.framework/tests/reporter.ts +351 -0
- package/.framework/tests/setup.ts +135 -0
- package/.framework/tests/ui/ui-sweep.ts +278 -0
- package/.framework/tests/unit/admin-data-logger.test.ts +310 -0
- package/.framework/tests/unit/agent-runner.test.ts +2389 -0
- package/.framework/tests/unit/ai-interactions.test.ts +81 -0
- package/.framework/tests/unit/app-manifest.test.ts +359 -0
- package/.framework/tests/unit/assembly-scripts.test.ts +172 -0
- package/.framework/tests/unit/cil-determinism.test.ts +85 -0
- package/.framework/tests/unit/core-isolation.test.ts +153 -0
- package/.framework/tests/unit/funnel-signals.test.ts +135 -0
- package/.framework/tests/unit/install-app.test.ts +1759 -0
- package/.framework/tests/unit/invites-security.test.ts +572 -0
- package/.framework/tests/unit/kb-ingest-lease.test.ts +287 -0
- package/.framework/tests/unit/kb-search.test.ts +119 -0
- package/.framework/tests/unit/migrate.test.ts +509 -0
- package/.framework/tests/unit/notify.test.ts +136 -0
- package/.framework/tests/unit/permissions.test.ts +269 -0
- package/.framework/tests/unit/pipeline-runner.test.ts +755 -0
- package/.framework/tests/unit/principal-cache.test.ts +138 -0
- package/.framework/tests/unit/retrieval-golden.test.ts +520 -0
- package/.framework/tests/unit/runtime-isolation.test.ts +642 -0
- package/.framework/tests/unit/schema-utils.test.ts +225 -0
- package/.framework/tests/unit/trigger-engine.test.ts +513 -0
- package/.framework/tests/unit/validate-app.test.ts +527 -0
- package/README.md +34 -3
- package/bin/spine-framework.cjs +1 -0
- package/config/tailwind.config.cjs +7 -0
- package/config/tsconfig.functions.json +42 -0
- package/config/tsconfig.json +37 -9
- package/config/vite.config.ts +31 -2
- package/netlify.toml +31 -3
- package/package.json +46 -29
- package/scripts/assemble-frontend.sh +127 -44
- package/scripts/assemble-functions.sh +127 -29
- package/scripts/boundary-check.sh +6 -2
- package/scripts/build-manifest.sh +24 -68
- package/scripts/checksum-manifest.mts +345 -0
- package/scripts/dev-clean.sh +86 -0
- package/scripts/dev-netlify.sh +49 -0
- package/scripts/netlify-dev-wrapper.sh +2 -0
- package/scripts/verify-install.ts +358 -0
- package/scripts/verify-integrity.sh +21 -57
- package/scripts/verify-manifest.mts +305 -0
- package/templates/project/gitignore +45 -0
- package/{config → templates/project}/package-lock.json +22335 -9366
- package/vitest.config.ts +46 -0
- package/.framework/public/spine.config.json +0 -91
- package/config/deno.lock +0 -108
- package/config/tsconfig.node.tsbuildinfo +0 -1
- package/config/tsconfig.tsbuildinfo +0 -1
- package/config/vite.config.d.ts +0 -2
- package/custom/.devin/AGENT.md +0 -357
- package/custom/.devin/skills/install-app/SKILL.md +0 -39
- package/custom/.devin/skills/spine-workbench-discovery/SKILL.md +0 -39
- package/custom/.devin/skills/spine-workbench-idea/SKILL.md +0 -36
- package/custom/.devin/skills/spine-workbench-implement/SKILL.md +0 -46
- package/custom/.devin/skills/spine-workbench-initiative/SKILL.md +0 -28
- package/custom/.devin/skills/spine-workbench-plan/SKILL.md +0 -38
- package/custom/.devin/workflows/app-install.yaml +0 -83
- package/custom/README.md +0 -79
- package/docs/README.md +0 -15
- package/scripts/app-install-cli.ts +0 -286
- package/scripts/check-core-integrity.sh +0 -82
- package/scripts/ingest-chunks.cjs +0 -202
- package/scripts/kb-chunk-parser.cjs +0 -312
- package/scripts/kb-chunk-parser.ts +0 -330
- package/scripts/kb-ingest-docs.ts +0 -203
- package/scripts/load-test-app-install.ts +0 -484
- package/scripts/test-login.js +0 -33
- package/spine.config.json +0 -91
|
@@ -1,41 +1,101 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// CIL[BEGIN chunk_id="chart_module_header_1783881474" type="module_header" identity="module_header" parent="none"]
|
|
12
|
-
// CIL[DOC-MACRO purpose="Chart component library with Recharts integration"]
|
|
13
|
-
// CIL[DOC-RESPONSIBILITY responsibility="Provide chart infrastructure and configuration types"]
|
|
14
|
-
// CIL[DOC-CONTEXT module="ui.chart" layer="component" related_files="[\".framework/src/pages/admin/IntegrationsPage.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\"\\\"]"]
|
|
15
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Chart types, constants, context" errors="none" side_effects="none"]
|
|
16
|
-
// CIL[DOC-MICRO logic_summary="Defines chart configuration system, themes, and React context" notable_decisions="['theme-aware styling', 'flexible color configuration', 'context pattern']"]
|
|
17
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:use_client:directive" type="directive" identity="use_client" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Mark this module as a client-side React component"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Indicate the module must run in the browser"]
|
|
4
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
5
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="none" errors="" side_effects="none"]
|
|
6
|
+
// CIL[DOC-MICRO logic_summary="Next.js use client directive" notable_decisions="[]"]
|
|
7
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
18
8
|
// CIL[DOC-STABILITY stability="stable"]
|
|
19
|
-
|
|
20
|
-
// CIL[DOC-VECTOR type="context" content="
|
|
21
|
-
// CIL[DOC-VECTOR type="blast_radius" content="
|
|
22
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies
|
|
23
|
-
// CIL[DOC-VECTOR type="constraint" content="
|
|
9
|
+
"use client"
|
|
10
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Mark this module as a client-side React component'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
11
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
12
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
13
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
24
14
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
25
15
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:use_client:directive"]
|
|
17
|
+
|
|
18
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
19
|
+
// CIL[DOC-MACRO purpose="Import dependencies for the chart component module"]
|
|
20
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Load React, Recharts primitives, and the cn utility"]
|
|
21
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/lib/utils.ts"]
|
|
22
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="none" errors="" side_effects="none"]
|
|
23
|
+
// CIL[DOC-MICRO logic_summary="Imports React, Recharts, TooltipValueType, and cn" notable_decisions="[]"]
|
|
24
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
25
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
26
|
+
// CIL[DOC-AUDIENCE audience="frontend-developers"]
|
|
28
27
|
import * as React from "react"
|
|
29
28
|
import * as RechartsPrimitive from "recharts"
|
|
30
29
|
import type { TooltipValueType } from "recharts"
|
|
31
30
|
|
|
32
31
|
import { cn } from "@/lib/utils"
|
|
33
|
-
|
|
32
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Import dependencies for the chart component module'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
33
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
34
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
35
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
36
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
37
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
38
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:module_header:module_header"]
|
|
39
|
+
|
|
40
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:THEMES:constant" type="constant" identity="THEMES" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
41
|
+
// CIL[DOC-MACRO purpose="Define CSS selector prefixes for light and dark themes"]
|
|
42
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Map theme keys to CSS class prefixes"]
|
|
43
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
44
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="{ light: "", dark: ".dark" }" errors="" side_effects="none"]
|
|
45
|
+
// CIL[DOC-MICRO logic_summary="Object mapping light to empty and dark to .dark" notable_decisions="[]"]
|
|
46
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
47
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
34
48
|
const THEMES = { light: "", dark: ".dark" } as const
|
|
35
|
-
|
|
49
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Define CSS selector prefixes for light and dark themes'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
50
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
51
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
52
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
53
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
54
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
55
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:THEMES:constant"]
|
|
56
|
+
|
|
57
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:INITIAL_DIMENSION:constant" type="constant" identity="INITIAL_DIMENSION" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
58
|
+
// CIL[DOC-MACRO purpose="Provide default dimensions for the responsive chart container"]
|
|
59
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Supply fallback width and height before resize"]
|
|
60
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
61
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="{ width: 320, height: 200 }" errors="" side_effects="none"]
|
|
62
|
+
// CIL[DOC-MICRO logic_summary="Default width 320 and height 200 as const" notable_decisions="[]"]
|
|
63
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
64
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
36
65
|
const INITIAL_DIMENSION = { width: 320, height: 200 } as const
|
|
66
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Provide default dimensions for the responsive chart container'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
67
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
68
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
69
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
70
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
71
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
72
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:INITIAL_DIMENSION:constant"]
|
|
73
|
+
|
|
74
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:TooltipNameType:type" type="type" identity="TooltipNameType" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
75
|
+
// CIL[DOC-MACRO purpose="Allow tooltip names to be numbers or strings"]
|
|
76
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Type alias for tooltip label keys"]
|
|
77
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
78
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="number | string" errors="" side_effects="none"]
|
|
79
|
+
// CIL[DOC-MICRO logic_summary="Union of number and string" notable_decisions="[]"]
|
|
80
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
81
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
37
82
|
type TooltipNameType = number | string
|
|
38
|
-
|
|
83
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Allow tooltip names to be numbers or strings'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
84
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
85
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
86
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
87
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
88
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
89
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:TooltipNameType:type"]
|
|
90
|
+
|
|
91
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:ChartConfig:type" type="type" identity="ChartConfig" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
92
|
+
// CIL[DOC-MACRO purpose="Define the shape of chart color and label configuration"]
|
|
93
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Type the mapping of data keys to labels, icons, and theme-aware colors"]
|
|
94
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
95
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="ChartConfig type alias" errors="" side_effects="none"]
|
|
96
|
+
// CIL[DOC-MICRO logic_summary="Record of key to label, icon, and exclusive color or theme map" notable_decisions="[]"]
|
|
97
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
98
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
39
99
|
export type ChartConfig = Record<
|
|
40
100
|
string,
|
|
41
101
|
{
|
|
@@ -46,27 +106,58 @@ export type ChartConfig = Record<
|
|
|
46
106
|
| { color?: never; theme: Record<keyof typeof THEMES, string> }
|
|
47
107
|
)
|
|
48
108
|
>
|
|
49
|
-
|
|
109
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Define the shape of chart color and label configuration'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
110
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
111
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
112
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
113
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
114
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
115
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:ChartConfig:type"]
|
|
116
|
+
|
|
117
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:ChartContextProps:type" type="type" identity="ChartContextProps" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
118
|
+
// CIL[DOC-MACRO purpose="Type the chart context value"]
|
|
119
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Carry the active ChartConfig down the tree"]
|
|
120
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
121
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="{ config: ChartConfig }" errors="" side_effects="none"]
|
|
122
|
+
// CIL[DOC-MICRO logic_summary="Object containing the chart config" notable_decisions="[]"]
|
|
123
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
124
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
50
125
|
type ChartContextProps = {
|
|
51
126
|
config: ChartConfig
|
|
52
127
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
// CIL[
|
|
56
|
-
// CIL[
|
|
57
|
-
// CIL[DOC-
|
|
58
|
-
// CIL[DOC-
|
|
59
|
-
// CIL[
|
|
60
|
-
|
|
61
|
-
// CIL[
|
|
62
|
-
// CIL[DOC-
|
|
128
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Type the chart context value'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
129
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
130
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
131
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
132
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
133
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
134
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:ChartContextProps:type"]
|
|
135
|
+
|
|
136
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:ChartContext:constant" type="constant" identity="ChartContext" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
137
|
+
// CIL[DOC-MACRO purpose="Create a React context for chart configuration"]
|
|
138
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provide ChartContext to container and child components"]
|
|
139
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
140
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="React context" errors="" side_effects="none"]
|
|
141
|
+
// CIL[DOC-MICRO logic_summary="React.createContext with null default" notable_decisions="[]"]
|
|
142
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
63
143
|
// CIL[DOC-STABILITY stability="stable"]
|
|
64
|
-
|
|
65
|
-
// CIL[DOC-VECTOR type="
|
|
66
|
-
// CIL[DOC-VECTOR type="
|
|
67
|
-
// CIL[DOC-VECTOR type="
|
|
144
|
+
const ChartContext = React.createContext<ChartContextProps | null>(null)
|
|
145
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Create a React context for chart configuration'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
146
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
147
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
148
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
68
149
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
69
150
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
151
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:ChartContext:constant"]
|
|
152
|
+
|
|
153
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:useChart:hook" type="hook" identity="useChart" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
154
|
+
// CIL[DOC-MACRO purpose="Access the surrounding ChartContext value"]
|
|
155
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Return chart config or throw if outside a container"]
|
|
156
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
157
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="ChartConfig from context" errors="Error if context is null" side_effects="none"]
|
|
158
|
+
// CIL[DOC-MICRO logic_summary="useContext wrapper with missing-context guard" notable_decisions="[]"]
|
|
159
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
160
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
70
161
|
function useChart() {
|
|
71
162
|
const context = React.useContext(ChartContext)
|
|
72
163
|
|
|
@@ -76,21 +167,22 @@ function useChart() {
|
|
|
76
167
|
|
|
77
168
|
return context
|
|
78
169
|
}
|
|
79
|
-
// CIL[
|
|
80
|
-
// CIL[
|
|
81
|
-
// CIL[DOC-
|
|
82
|
-
// CIL[DOC-
|
|
83
|
-
// CIL[DOC-CONTEXT module="ui.chart" layer="component" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/functions/_shared/db.ts\",\"\\\"]"]
|
|
84
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="responsive chart container" errors="none" side_effects="provides context, renders DOM"]
|
|
85
|
-
// CIL[DOC-MICRO logic_summary="Generates unique chart ID, provides context, applies comprehensive styling" notable_decisions="['unique ID generation', 'comprehensive recharts styling', 'responsive container pattern']"]
|
|
86
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
87
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
88
|
-
// CIL[DOC-VECTOR type="context" content="Layer: component. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/ui/dialog.tsx, .framework/functions/_shared/principal.ts, .framework/functions/_shared/db.ts, \."]
|
|
89
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
90
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
91
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
170
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Access the surrounding ChartContext value'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
171
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
172
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
173
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
92
174
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
93
175
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
176
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:useChart:hook"]
|
|
177
|
+
|
|
178
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:ChartContainer:component" type="component" identity="ChartContainer" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
179
|
+
// CIL[DOC-MACRO purpose="Render a chart inside a styled responsive container"]
|
|
180
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Generate a unique chart id, provide config context, and wrap Recharts ResponsiveContainer"]
|
|
181
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
182
|
+
// CIL[DOC-CONTRACT inputs="id, className, children, config, initialDimension, div props" outputs="JSX wrapping ResponsiveContainer" errors="" side_effects="sets ChartContext.Provider"]
|
|
183
|
+
// CIL[DOC-MICRO logic_summary="Computes chartId, renders Provider, div, ChartStyle, and ResponsiveContainer" notable_decisions="[]"]
|
|
184
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
185
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
94
186
|
function ChartContainer({
|
|
95
187
|
id,
|
|
96
188
|
className,
|
|
@@ -132,21 +224,22 @@ function ChartContainer({
|
|
|
132
224
|
</ChartContext.Provider>
|
|
133
225
|
)
|
|
134
226
|
}
|
|
135
|
-
// CIL[
|
|
136
|
-
// CIL[
|
|
137
|
-
// CIL[DOC-
|
|
138
|
-
// CIL[DOC-
|
|
139
|
-
// CIL[DOC-CONTEXT module="ui.chart" layer="component" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"custom/apps/portal/pages/ContentPage.tsx\",\"\\\"]"]
|
|
140
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="style element with CSS variables" errors="none" side_effects="injects styles into DOM"]
|
|
141
|
-
// CIL[DOC-MICRO logic_summary="Creates CSS custom properties for chart colors across light/dark themes" notable_decisions="['dynamic CSS generation', 'theme-aware color system', 'dangerouslySetInnerHTML usage']"]
|
|
142
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
143
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
144
|
-
// CIL[DOC-VECTOR type="context" content="Layer: component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, custom/apps/portal/pages/ContentPage.tsx, \."]
|
|
145
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
146
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
147
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
227
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a chart inside a styled responsive container'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
228
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
229
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
230
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
148
231
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
149
232
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
233
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:ChartContainer:component"]
|
|
234
|
+
|
|
235
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:ChartStyle:component" type="component" identity="ChartStyle" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
236
|
+
// CIL[DOC-MACRO purpose="Generate CSS custom properties for chart colors per theme"]
|
|
237
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Inject a style tag mapping each config color to --color-* variables"]
|
|
238
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
239
|
+
// CIL[DOC-CONTRACT inputs="id, config" outputs="style element or null" errors="" side_effects="injects inline styles into DOM"]
|
|
240
|
+
// CIL[DOC-MICRO logic_summary="Filters color config, maps themes, and produces CSS variable rules" notable_decisions="[]"]
|
|
241
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
242
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
150
243
|
const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {
|
|
151
244
|
const colorConfig = Object.entries(config).filter(
|
|
152
245
|
([, config]) => config.theme ?? config.color
|
|
@@ -179,37 +272,39 @@ ${colorConfig
|
|
|
179
272
|
/>
|
|
180
273
|
)
|
|
181
274
|
}
|
|
182
|
-
// CIL[
|
|
183
|
-
// CIL[
|
|
184
|
-
// CIL[DOC-
|
|
185
|
-
// CIL[DOC-
|
|
186
|
-
// CIL[DOC-CONTEXT module="ui.chart" layer="component" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
187
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Recharts Primitive Tooltip" errors="none" side_effects="none"]
|
|
188
|
-
// CIL[DOC-MICRO logic_summary="Simple re-export for advanced tooltip customization" notable_decisions="['re-export pattern', 'library integration']"]
|
|
189
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
190
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
191
|
-
// CIL[DOC-VECTOR type="context" content="Layer: component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/src/components/ui/table-primitives.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
192
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
193
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
194
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
275
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Generate CSS custom properties for chart colors per theme'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
276
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
277
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
278
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
195
279
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
196
280
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
// CIL[BEGIN
|
|
200
|
-
// CIL[DOC-MACRO purpose="
|
|
201
|
-
// CIL[DOC-RESPONSIBILITY responsibility="
|
|
202
|
-
// CIL[DOC-CONTEXT module="ui
|
|
203
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="
|
|
204
|
-
// CIL[DOC-MICRO logic_summary="
|
|
205
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.
|
|
281
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:ChartStyle:component"]
|
|
282
|
+
|
|
283
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:ChartTooltip:constant" type="constant" identity="ChartTooltip" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
284
|
+
// CIL[DOC-MACRO purpose="Expose the Recharts Tooltip component under the Chart namespace"]
|
|
285
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Re-export RechartsPrimitive.Tooltip"]
|
|
286
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
287
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Tooltip component" errors="" side_effects="none"]
|
|
288
|
+
// CIL[DOC-MICRO logic_summary="Alias to RechartsPrimitive.Tooltip" notable_decisions="[]"]
|
|
289
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
206
290
|
// CIL[DOC-STABILITY stability="stable"]
|
|
207
|
-
|
|
208
|
-
// CIL[DOC-VECTOR type="
|
|
209
|
-
// CIL[DOC-VECTOR type="
|
|
210
|
-
// CIL[DOC-VECTOR type="
|
|
291
|
+
const ChartTooltip = RechartsPrimitive.Tooltip
|
|
292
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Expose the Recharts Tooltip component under the Chart namespace'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
293
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
294
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
295
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
211
296
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
212
297
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
298
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:ChartTooltip:constant"]
|
|
299
|
+
|
|
300
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:ChartTooltipContent:component" type="component" identity="ChartTooltipContent" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
301
|
+
// CIL[DOC-MACRO purpose="Render a customized tooltip for Recharts charts"]
|
|
302
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Format tooltip label, indicator, and payload values using chart config"]
|
|
303
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
304
|
+
// CIL[DOC-CONTRACT inputs="active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, Tooltip props, React" outputs="JSX tooltip or null" errors="" side_effects="none"]
|
|
305
|
+
// CIL[DOC-MICRO logic_summary="Computes label from payload and config, renders dot/line/dashed indicators and values" notable_decisions="[]"]
|
|
306
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
307
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
213
308
|
function ChartTooltipContent({
|
|
214
309
|
active,
|
|
215
310
|
payload,
|
|
@@ -363,37 +458,39 @@ function ChartTooltipContent({
|
|
|
363
458
|
</div>
|
|
364
459
|
)
|
|
365
460
|
}
|
|
366
|
-
// CIL[
|
|
367
|
-
// CIL[
|
|
368
|
-
// CIL[DOC-
|
|
369
|
-
// CIL[DOC-
|
|
370
|
-
// CIL[DOC-CONTEXT module="ui.chart" layer="component" related_files="[]"]
|
|
371
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Recharts Primitive Legend" errors="none" side_effects="none"]
|
|
372
|
-
// CIL[DOC-MICRO logic_summary="Simple re-export for advanced legend customization" notable_decisions="['re-export pattern', 'library integration']"]
|
|
373
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
374
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
375
|
-
// CIL[DOC-VECTOR type="context" content="Layer: component. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
376
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
377
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
378
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
461
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a customized tooltip for Recharts charts'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
462
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
463
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
464
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
379
465
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
380
466
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
// CIL[BEGIN
|
|
384
|
-
// CIL[DOC-MACRO purpose="
|
|
385
|
-
// CIL[DOC-RESPONSIBILITY responsibility="
|
|
386
|
-
// CIL[DOC-CONTEXT module="ui
|
|
387
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="
|
|
388
|
-
// CIL[DOC-MICRO logic_summary="
|
|
389
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.
|
|
467
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:ChartTooltipContent:component"]
|
|
468
|
+
|
|
469
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:ChartLegend:constant" type="constant" identity="ChartLegend" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
470
|
+
// CIL[DOC-MACRO purpose="Expose the Recharts Legend component under the Chart namespace"]
|
|
471
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Re-export RechartsPrimitive.Legend"]
|
|
472
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
473
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Legend component" errors="" side_effects="none"]
|
|
474
|
+
// CIL[DOC-MICRO logic_summary="Alias to RechartsPrimitive.Legend" notable_decisions="[]"]
|
|
475
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
390
476
|
// CIL[DOC-STABILITY stability="stable"]
|
|
391
|
-
|
|
392
|
-
// CIL[DOC-VECTOR type="
|
|
393
|
-
// CIL[DOC-VECTOR type="
|
|
394
|
-
// CIL[DOC-VECTOR type="
|
|
477
|
+
const ChartLegend = RechartsPrimitive.Legend
|
|
478
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Expose the Recharts Legend component under the Chart namespace'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
479
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
480
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
481
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
395
482
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
396
483
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
484
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:ChartLegend:constant"]
|
|
485
|
+
|
|
486
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:ChartLegendContent:component" type="component" identity="ChartLegendContent" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
487
|
+
// CIL[DOC-MACRO purpose="Render a customized legend for Recharts charts"]
|
|
488
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Map payload items to labels and color swatches using chart config"]
|
|
489
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
490
|
+
// CIL[DOC-CONTRACT inputs="className, hideIcon, payload, verticalAlign, nameKey, div props" outputs="JSX legend or null" errors="" side_effects="none"]
|
|
491
|
+
// CIL[DOC-MICRO logic_summary="Filters payload, resolves item config, renders icon or color dot with label" notable_decisions="[]"]
|
|
492
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
493
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
397
494
|
function ChartLegendContent({
|
|
398
495
|
className,
|
|
399
496
|
hideIcon = false,
|
|
@@ -448,21 +545,22 @@ function ChartLegendContent({
|
|
|
448
545
|
</div>
|
|
449
546
|
)
|
|
450
547
|
}
|
|
451
|
-
// CIL[
|
|
452
|
-
// CIL[
|
|
453
|
-
// CIL[DOC-
|
|
454
|
-
// CIL[DOC-
|
|
455
|
-
// CIL[DOC-CONTEXT module="ui.chart" layer="component" related_files="[]"]
|
|
456
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="ChartConfig item or undefined" errors="none" side_effects="none"]
|
|
457
|
-
// CIL[DOC-MICRO logic_summary="Handles nested payload structures and dynamic key resolution" notable_decisions="['defensive programming', 'nested object handling', 'key fallback strategy']"]
|
|
458
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
459
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
460
|
-
// CIL[DOC-VECTOR type="context" content="Layer: component. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
461
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
462
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
463
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
548
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a customized legend for Recharts charts'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
549
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
550
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
551
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
464
552
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
465
553
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
554
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:ChartLegendContent:component"]
|
|
555
|
+
|
|
556
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:getPayloadConfigFromPayload:function" type="function" identity="getPayloadConfigFromPayload" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
557
|
+
// CIL[DOC-MACRO purpose="Resolve the chart config entry for a payload item"]
|
|
558
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Determine which config key to use based on payload fields"]
|
|
559
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
560
|
+
// CIL[DOC-CONTRACT inputs="config: ChartConfig, payload: unknown, key: string" outputs="ChartConfig entry for the resolved key" errors="" side_effects="none"]
|
|
561
|
+
// CIL[DOC-MICRO logic_summary="Looks for key in payload and payload.payload, falls back to original key" notable_decisions="[]"]
|
|
562
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
563
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
466
564
|
function getPayloadConfigFromPayload(
|
|
467
565
|
config: ChartConfig,
|
|
468
566
|
payload: unknown,
|
|
@@ -498,21 +596,22 @@ function getPayloadConfigFromPayload(
|
|
|
498
596
|
|
|
499
597
|
return configLabelKey in config ? config[configLabelKey] : config[key]
|
|
500
598
|
}
|
|
501
|
-
// CIL[
|
|
502
|
-
// CIL[
|
|
503
|
-
// CIL[DOC-
|
|
504
|
-
// CIL[DOC-
|
|
505
|
-
// CIL[DOC-CONTEXT module="ui.chart" layer="component" related_files="[]"]
|
|
506
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="named exports of chart components" errors="none" side_effects="module exports"]
|
|
507
|
-
// CIL[DOC-MICRO logic_summary="Exports all chart components and utilities for consumption" notable_decisions="['comprehensive export strategy', 'named exports pattern']"]
|
|
508
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
509
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
510
|
-
// CIL[DOC-VECTOR type="context" content="Layer: component. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
511
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
512
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
513
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
599
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Resolve the chart config entry for a payload item'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
600
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
601
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
602
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
514
603
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
515
604
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
605
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:getPayloadConfigFromPayload:function"]
|
|
606
|
+
|
|
607
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/chart.tsx:exports:export" type="export" identity="exports" parent="~/.framework/src/components/ui/chart.tsx"]
|
|
608
|
+
// CIL[DOC-MACRO purpose="Export public chart components and helpers"]
|
|
609
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Expose ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, and ChartStyle"]
|
|
610
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/chart.tsx,.framework/src/lib/utils.ts"]
|
|
611
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="named exports" errors="" side_effects="none"]
|
|
612
|
+
// CIL[DOC-MICRO logic_summary="Named exports for chart primitives" notable_decisions="[]"]
|
|
613
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
614
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
516
615
|
export {
|
|
517
616
|
ChartContainer,
|
|
518
617
|
ChartTooltip,
|
|
@@ -521,4 +620,10 @@ export {
|
|
|
521
620
|
ChartLegendContent,
|
|
522
621
|
ChartStyle,
|
|
523
622
|
}
|
|
524
|
-
// CIL[
|
|
623
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Export public chart components and helpers'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
624
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
625
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
626
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
627
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
628
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
629
|
+
// CIL[END stable_id="~/.framework/src/components/ui/chart.tsx:exports:export"]
|