spine-framework 0.3.144 → 0.4.0
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 +5051 -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 +20 -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,37 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
// CIL[
|
|
5
|
-
// CIL[DOC-MACRO purpose="Import dependencies for Skeleton component"]
|
|
6
|
-
// CIL[DOC-RESPONSIBILITY responsibility="Import utility function for className merging"]
|
|
7
|
-
// CIL[DOC-CONTEXT module="skeleton" layer="frontend-component" related_files="[\".framework/src/components/layout/Sidebar.tsx\",\".framework/src/components/ui/dialog.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/skeleton.tsx:module_header:module_header" type="module_header" identity="module_header" parent="module_header"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Provides the Skeleton UI loading placeholder component for the design system"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Import utility styles and expose the Skeleton component for use across the app"]
|
|
4
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/lib/utils.ts"]
|
|
8
5
|
// CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="none"]
|
|
9
|
-
// CIL[DOC-MICRO logic_summary="
|
|
10
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.
|
|
6
|
+
// CIL[DOC-MICRO logic_summary="Imports className utility for component styling" notable_decisions="[]"]
|
|
7
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
11
8
|
// CIL[DOC-STABILITY stability="stable"]
|
|
12
|
-
// CIL[DOC-AUDIENCE audience="
|
|
13
|
-
// CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/layout/Sidebar.tsx, .framework/src/components/ui/dialog.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
|
|
14
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
15
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
16
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
17
|
-
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
18
|
-
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
9
|
+
// CIL[DOC-AUDIENCE audience="developers"]
|
|
19
10
|
import { cn } from "@/lib/utils"
|
|
20
|
-
// CIL[
|
|
21
|
-
// CIL[
|
|
22
|
-
// CIL[DOC-
|
|
23
|
-
// CIL[DOC-
|
|
24
|
-
// CIL[DOC-CONTEXT module="skeleton" layer="frontend-component" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/layout/Sidebar.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
25
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX skeleton element" errors="none" side_effects="renders UI elements"]
|
|
26
|
-
// CIL[DOC-MICRO logic_summary="Render div with pulse animation, rounded corners, and muted background" notable_decisions="[]"]
|
|
27
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
28
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
29
|
-
// CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/src/components/layout/Sidebar.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
30
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
31
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
32
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
11
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Provides the Skeleton UI loading placeholder component for the design system'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
12
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
13
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
14
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
33
15
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
34
16
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
17
|
+
// CIL[END stable_id="~/.framework/src/components/ui/skeleton.tsx:module_header:module_header"]
|
|
18
|
+
|
|
19
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/skeleton.tsx:skeleton:function" type="function" identity="skeleton" parent="module_header"]
|
|
20
|
+
// CIL[DOC-MACRO purpose="Renders an animated placeholder element while content loads"]
|
|
21
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a skeleton loading state with optional className and extra props"]
|
|
22
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/skeleton.tsx,.framework/src/lib/utils.ts"]
|
|
23
|
+
// CIL[DOC-CONTRACT inputs="className?: string, ...props: object" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
24
|
+
// CIL[DOC-MICRO logic_summary="Wraps a div with data-slot and applies utility classes" notable_decisions="[]"]
|
|
25
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
26
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
35
27
|
function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
|
|
36
28
|
return (
|
|
37
29
|
<div
|
|
@@ -41,20 +33,27 @@ function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
41
33
|
/>
|
|
42
34
|
)
|
|
43
35
|
}
|
|
44
|
-
// CIL[
|
|
45
|
-
// CIL[
|
|
46
|
-
// CIL[DOC-
|
|
47
|
-
// CIL[DOC-
|
|
48
|
-
// CIL[DOC-CONTEXT module="skeleton" layer="frontend-component" related_files="[\".framework/src/components/layout/Sidebar.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\".framework/src/components/ui/dialog.tsx\",\"\\\"]"]
|
|
49
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Skeleton component export" errors="none" side_effects="module export"]
|
|
50
|
-
// CIL[DOC-MICRO logic_summary="Export the Skeleton component for external use" notable_decisions="[]"]
|
|
51
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
52
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
53
|
-
// CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/layout/Sidebar.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/functions/custom_cil-embeddings.ts, .framework/src/components/ui/dialog.tsx, \."]
|
|
54
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
55
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
56
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
36
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Renders an animated placeholder element while content loads'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
37
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
38
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
39
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
57
40
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
58
41
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
42
|
+
// CIL[END stable_id="~/.framework/src/components/ui/skeleton.tsx:skeleton:function"]
|
|
43
|
+
|
|
44
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/skeleton.tsx:export:export" type="export" identity="export" parent="module_header"]
|
|
45
|
+
// CIL[DOC-MACRO purpose="Re-exports the Skeleton component for module consumers"]
|
|
46
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Make the Skeleton component available to other modules"]
|
|
47
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/skeleton.tsx,.framework/src/lib/utils.ts"]
|
|
48
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Skeleton named export" errors="none" side_effects="none"]
|
|
49
|
+
// CIL[DOC-MICRO logic_summary="Named export of the Skeleton component" notable_decisions="[]"]
|
|
50
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
51
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
59
52
|
export { Skeleton }
|
|
60
|
-
// CIL[
|
|
53
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Re-exports the Skeleton component for module consumers'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
54
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
55
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
56
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
57
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
58
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
59
|
+
// CIL[END stable_id="~/.framework/src/components/ui/skeleton.tsx:export:export"]
|
|
@@ -1,42 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
// CIL[
|
|
5
|
-
// CIL[DOC-
|
|
6
|
-
// CIL[DOC-
|
|
7
|
-
// CIL[DOC-
|
|
8
|
-
// CIL[DOC-
|
|
9
|
-
// CIL[DOC-
|
|
10
|
-
|
|
11
|
-
// CIL[DOC-
|
|
12
|
-
// CIL[DOC-
|
|
13
|
-
// CIL[DOC-VECTOR type="
|
|
14
|
-
// CIL[DOC-VECTOR type="
|
|
15
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
16
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/slider.tsx:use_client:module_directive" type="module_directive" identity="use_client" parent="~/.framework/src/components/ui/slider.tsx"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Declare this module as a client component for Next.js"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Mark this module for client-side rendering"]
|
|
4
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/slider.tsx" layer="ui" related_files=".framework/src/components/ui/slider.tsx,.framework/src/lib/utils.ts"]
|
|
5
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="use client directive applied to the module" errors="none" side_effects="none"]
|
|
6
|
+
// CIL[DOC-MICRO logic_summary="Emits the use client directive at the top of the module" notable_decisions="Required for React client components in Next.js"]
|
|
7
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.85" flags="[]"]
|
|
8
|
+
// CIL[DOC-STABILITY stable]
|
|
9
|
+
// CIL[DOC-AUDIENCE audience="component developers"]
|
|
10
|
+
"use client"
|
|
11
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Declare this module as a client component for Next.js'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
12
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
13
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
14
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
17
15
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
18
16
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
19
|
-
|
|
17
|
+
// CIL[END stable_id="~/.framework/src/components/ui/slider.tsx:use_client:module_directive"]
|
|
20
18
|
|
|
19
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/slider.tsx:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/src/components/ui/slider.tsx"]
|
|
20
|
+
// CIL[DOC-MACRO purpose="Import dependencies for the Slider component"]
|
|
21
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Load React, the Radix UI Slider primitive, and the cn class merge utility"]
|
|
22
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/slider.tsx" layer="ui" related_files=".framework/src/lib/utils.ts"]
|
|
23
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Imported React, SliderPrimitive, and cn bindings available to the module" errors="Module load fails if a peer dependency is missing" side_effects="none"]
|
|
24
|
+
// CIL[DOC-MICRO logic_summary="Imports React, the Slider primitive from radix-ui, and the cn Tailwind class merge utility" notable_decisions="Uses the @/lib/utils alias for cn"]
|
|
25
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.85" flags="[]"]
|
|
26
|
+
// CIL[DOC-STABILITY stable]
|
|
27
|
+
// CIL[DOC-AUDIENCE audience="component developers"]
|
|
21
28
|
import * as React from "react"
|
|
22
29
|
import { Slider as SliderPrimitive } from "radix-ui"
|
|
23
30
|
|
|
24
31
|
import { cn } from "@/lib/utils"
|
|
25
|
-
// CIL[
|
|
26
|
-
// CIL[
|
|
27
|
-
// CIL[DOC-
|
|
28
|
-
// CIL[DOC-
|
|
29
|
-
// CIL[DOC-CONTEXT module="slider" layer="frontend-component" related_files="[\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"\\\"]"]
|
|
30
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX slider element" errors="none" side_effects="renders UI elements"]
|
|
31
|
-
// CIL[DOC-MICRO logic_summary="Memoize values, render Radix UI primitive with track, range, and thumbs" notable_decisions="[]"]
|
|
32
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
33
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
34
|
-
// CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/table-primitives.tsx, custom/apps/portal/pages/ContentPage.tsx, custom/apps/cortex/functions/custom_cil-embeddings.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, \."]
|
|
35
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
36
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
37
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
32
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Import dependencies for the Slider component'; 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"]
|
|
38
36
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
39
37
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
38
|
+
// CIL[END stable_id="~/.framework/src/components/ui/slider.tsx:module_header:module_header"]
|
|
39
|
+
|
|
40
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/slider.tsx:slider:function" type="function" identity="Slider" parent="~/.framework/src/components/ui/slider.tsx"]
|
|
41
|
+
// CIL[DOC-MACRO purpose="Render an accessible range slider using Radix UI"]
|
|
42
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a styled slider with track, range, and thumb elements"]
|
|
43
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/slider.tsx" layer="ui" related_files=".framework/src/components/ui/slider.tsx,.framework/src/lib/utils.ts"]
|
|
44
|
+
// CIL[DOC-CONTRACT inputs="className, defaultValue, value, min, max, and Radix SliderPrimitive.Root props" outputs="React element implementing a horizontal or vertical range slider" errors="none" side_effects="none"]
|
|
45
|
+
// CIL[DOC-MICRO logic_summary="Computes the value array from props, then renders a Radix SliderPrimitive.Root with track, range, and thumb children" notable_decisions="Defaults min to 0 and max to 100; coerces a single value into a [min, max] range"]
|
|
46
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.85" flags="[]"]
|
|
47
|
+
// CIL[DOC-STABILITY stable]
|
|
48
|
+
// CIL[DOC-AUDIENCE audience="component developers"]
|
|
40
49
|
function Slider({
|
|
41
50
|
className,
|
|
42
51
|
defaultValue,
|
|
@@ -87,20 +96,28 @@ function Slider({
|
|
|
87
96
|
</SliderPrimitive.Root>
|
|
88
97
|
)
|
|
89
98
|
}
|
|
90
|
-
// CIL[
|
|
91
|
-
// CIL[
|
|
92
|
-
// CIL[DOC-
|
|
93
|
-
// CIL[DOC-
|
|
94
|
-
// CIL[DOC-CONTEXT module="slider" layer="frontend-component" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/src/pages/admin/RolesPage.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"\\\"]"]
|
|
95
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Slider component export" errors="none" side_effects="module export"]
|
|
96
|
-
// CIL[DOC-MICRO logic_summary="Export the Slider component for external use" notable_decisions="[]"]
|
|
97
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
98
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
99
|
-
// CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, .framework/src/pages/admin/RolesPage.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/IntegrationsPage.tsx, \."]
|
|
100
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
101
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
102
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
99
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render an accessible range slider using Radix UI'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
100
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
101
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
102
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
103
103
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
104
104
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
105
|
+
// CIL[END stable_id="~/.framework/src/components/ui/slider.tsx:slider:function"]
|
|
106
|
+
|
|
107
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/slider.tsx:export:export" type="export" identity="export" parent="~/.framework/src/components/ui/slider.tsx"]
|
|
108
|
+
// CIL[DOC-MACRO purpose="Export the Slider component for consumers"]
|
|
109
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Make the Slider component available to other modules"]
|
|
110
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/slider.tsx" layer="ui" related_files=".framework/src/components/ui/slider.tsx,.framework/src/lib/utils.ts"]
|
|
111
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Named export of the Slider component" errors="none" side_effects="none"]
|
|
112
|
+
// CIL[DOC-MICRO logic_summary="Re-exports the Slider function from this module" notable_decisions="Named export enables tree-shaking and explicit imports"]
|
|
113
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.85" flags="[]"]
|
|
114
|
+
// CIL[DOC-STABILITY stable]
|
|
115
|
+
// CIL[DOC-AUDIENCE audience="component developers"]
|
|
105
116
|
export { Slider }
|
|
106
|
-
// CIL[
|
|
117
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Export the Slider component for consumers'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
118
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
119
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
120
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
121
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
122
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
123
|
+
// CIL[END stable_id="~/.framework/src/components/ui/slider.tsx:export:export"]
|
|
@@ -1,39 +1,32 @@
|
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/sonner.tsx:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/src/components/ui/sonner.tsx"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Import next-themes hook, the sonner Toaster component, and Lucide icons for toast notifications"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provide theme-aware toaster dependencies and the icon set used for toast states"]
|
|
4
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/sonner.tsx" layer="ui" related_files=".framework/src/components/ui/sonner.tsx"]
|
|
5
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="useTheme, Sonner Toaster, ToasterProps, and Lucide icons available in module scope" errors="none" side_effects="none"]
|
|
6
|
+
// CIL[DOC-MICRO logic_summary="Imports useTheme from next-themes, the Toaster component and its props type from sonner, and five status icons from lucide-react" notable_decisions="Uses sonner v2 and lucide-react icons"]
|
|
7
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.9" flags="[]"]
|
|
8
|
+
// CIL[DOC-STABILITY stable]
|
|
9
|
+
// CIL[DOC-AUDIENCE audience="developers"]
|
|
1
10
|
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
// CIL[BEGIN chunk_id="sonner_module_header_1783757774" type="module_header" identity="module_header" parent="none"]
|
|
5
|
-
// CIL[DOC-MACRO purpose="Import dependencies for toast notification component"]
|
|
6
|
-
// CIL[DOC-RESPONSIBILITY responsibility="Import theme hook, Sonner library, and icons"]
|
|
7
|
-
// CIL[DOC-CONTEXT module="sonner" layer="frontend-component" related_files="[\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
|
|
8
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="none"]
|
|
9
|
-
// CIL[DOC-MICRO logic_summary="Import theme hook, Sonner toast library, and Lucide React icons" notable_decisions="[]"]
|
|
10
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
11
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
12
|
-
// CIL[DOC-AUDIENCE audience="developer"]
|
|
13
|
-
// CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/table-primitives.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
|
|
14
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
15
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
16
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
17
|
-
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
18
|
-
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
19
11
|
import { useTheme } from "next-themes"
|
|
20
12
|
import { Toaster as Sonner, type ToasterProps } from "sonner"
|
|
21
13
|
import { CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon, Loader2Icon } from "lucide-react"
|
|
22
|
-
// CIL[
|
|
23
|
-
// CIL[
|
|
24
|
-
// CIL[DOC-
|
|
25
|
-
// CIL[DOC-
|
|
26
|
-
// CIL[DOC-CONTEXT module="sonner" layer="frontend-component" related_files="[\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
27
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX toast container" errors="none" side_effects="renders UI elements"]
|
|
28
|
-
// CIL[DOC-MICRO logic_summary="Get theme, render Sonner with theme, icons, styles, and toast options" notable_decisions="[]"]
|
|
29
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
30
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
31
|
-
// CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/table-primitives.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
32
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
33
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
34
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
14
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Import next-themes hook, the sonner Toaster component, and Lucide icons for toast notifications'; No verified external callers; imports: none"]
|
|
15
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
16
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
17
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
35
18
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
36
19
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
20
|
+
// CIL[END stable_id="~/.framework/src/components/ui/sonner.tsx:module_header:module_header"]
|
|
21
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/sonner.tsx:toaster:constant" type="constant" identity="Toaster" parent="~/.framework/src/components/ui/sonner.tsx"]
|
|
22
|
+
// CIL[DOC-MACRO purpose="Render a theme-aware toast notification wrapper with custom Lucide icons and style variables"]
|
|
23
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Display sonner toast notifications using the current theme and a set of custom status icons"]
|
|
24
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/sonner.tsx" layer="ui" related_files=".framework/src/components/ui/sonner.tsx"]
|
|
25
|
+
// CIL[DOC-CONTRACT inputs="props: ToasterProps from sonner" outputs="JSX Sonner component configured with the active theme, CSS variables, custom icons, and a toast className" errors="none" side_effects="renders a React component tree"]
|
|
26
|
+
// CIL[DOC-MICRO logic_summary="Reads the current theme from next-themes, then renders the sonner Toaster with custom icons, CSS custom properties mapped to the Tailwind theme, and a cn-toast className" notable_decisions="Defaults the theme to system; maps --popover, --popover-foreground, --border, and --radius CSS variables"]
|
|
27
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.9" flags="[]"]
|
|
28
|
+
// CIL[DOC-STABILITY stable]
|
|
29
|
+
// CIL[DOC-AUDIENCE audience="developers"]
|
|
37
30
|
const Toaster = ({ ...props }: ToasterProps) => {
|
|
38
31
|
const { theme = "system" } = useTheme()
|
|
39
32
|
|
|
@@ -75,20 +68,27 @@ const Toaster = ({ ...props }: ToasterProps) => {
|
|
|
75
68
|
/>
|
|
76
69
|
)
|
|
77
70
|
}
|
|
78
|
-
// CIL[
|
|
79
|
-
// CIL[
|
|
80
|
-
// CIL[DOC-
|
|
81
|
-
// CIL[DOC-
|
|
82
|
-
// CIL[DOC-CONTEXT module="sonner" layer="frontend-component" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/src/pages/admin/RolesPage.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"\\\"]"]
|
|
83
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Toaster component export" errors="none" side_effects="module export"]
|
|
84
|
-
// CIL[DOC-MICRO logic_summary="Export the Toaster component for external use" notable_decisions="[]"]
|
|
85
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
86
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
87
|
-
// CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, .framework/src/pages/admin/RolesPage.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/IntegrationsPage.tsx, \."]
|
|
88
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
89
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
90
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
71
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a theme-aware toast notification wrapper with custom Lucide icons and style variables'; No verified external callers; imports: none"]
|
|
72
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
73
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
74
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
91
75
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
92
76
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
77
|
+
// CIL[END stable_id="~/.framework/src/components/ui/sonner.tsx:toaster:constant"]
|
|
78
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/sonner.tsx:exports:statement" type="statement" identity="exports" parent="~/.framework/src/components/ui/sonner.tsx"]
|
|
79
|
+
// CIL[DOC-MACRO purpose="Expose the configured Toaster component for external use"]
|
|
80
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Make the sonner Toaster wrapper available to other modules"]
|
|
81
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/sonner.tsx" layer="ui" related_files=".framework/src/components/ui/sonner.tsx"]
|
|
82
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Toaster named export" errors="none" side_effects="none"]
|
|
83
|
+
// CIL[DOC-MICRO logic_summary="Named export of the Toaster constant" notable_decisions="Flat export surface"]
|
|
84
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.9" flags="[]"]
|
|
85
|
+
// CIL[DOC-STABILITY stable]
|
|
86
|
+
// CIL[DOC-AUDIENCE audience="developers"]
|
|
93
87
|
export { Toaster }
|
|
94
|
-
// CIL[
|
|
88
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Expose the configured Toaster component for external use'; No verified external callers; imports: none"]
|
|
89
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
90
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
91
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
92
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
93
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
94
|
+
// CIL[END stable_id="~/.framework/src/components/ui/sonner.tsx:exports:statement"]
|
|
@@ -1,57 +1,62 @@
|
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/spinner.tsx:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/src/components/ui/spinner.tsx:file"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="shadcn/ui loading spinner component module"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provide a reusable Spinner loading indicator built on lucide-react"]
|
|
4
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/lib/utils.ts"]
|
|
5
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="cn, Loader2Icon, and Spinner component available to the module" errors="none" side_effects="none"]
|
|
6
|
+
// CIL[DOC-MICRO logic_summary="Imports the cn utility and Loader2Icon icon for the Spinner component" notable_decisions="[]"]
|
|
7
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
8
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
9
|
+
// CIL[DOC-AUDIENCE audience="frontend"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
1
14
|
|
|
2
15
|
|
|
3
16
|
|
|
4
|
-
// CIL[BEGIN chunk_id="spinner_module_header_1783757774" type="module_header" identity="module_header" parent="none"]
|
|
5
|
-
// CIL[DOC-MACRO purpose="Import dependencies for Spinner component"]
|
|
6
|
-
// CIL[DOC-RESPONSIBILITY responsibility="Import utility function and loading icon"]
|
|
7
|
-
// CIL[DOC-CONTEXT module="spinner" layer="frontend-component" related_files="[\".framework/src/components/layout/Sidebar.tsx\",\".framework/src/components/ui/dialog.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/portal/pages/CoursesPage.tsx\",\"\\\"]"]
|
|
8
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="none"]
|
|
9
|
-
// CIL[DOC-MICRO logic_summary="Import cn utility and Loader2Icon from Lucide React" notable_decisions="[]"]
|
|
10
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
11
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
12
|
-
// CIL[DOC-AUDIENCE audience="developer"]
|
|
13
|
-
// CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/layout/Sidebar.tsx, .framework/src/components/ui/dialog.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, custom/apps/portal/pages/ContentPage.tsx, custom/apps/portal/pages/CoursesPage.tsx, \."]
|
|
14
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
15
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
16
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
17
|
-
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
18
|
-
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
19
17
|
import { cn } from "@/lib/utils"
|
|
20
18
|
import { Loader2Icon } from "lucide-react"
|
|
21
|
-
// CIL[
|
|
22
|
-
// CIL[
|
|
23
|
-
// CIL[DOC-
|
|
24
|
-
// CIL[DOC-
|
|
25
|
-
// CIL[DOC-CONTEXT module="spinner" layer="frontend-component" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/layout/Sidebar.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/portal/pages/CoursesPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
26
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX spinner element" errors="none" side_effects="renders UI elements"]
|
|
27
|
-
// CIL[DOC-MICRO logic_summary="Render Loader2Icon with spinning animation and accessibility attributes" notable_decisions="[]"]
|
|
28
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
29
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
30
|
-
// CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/src/components/layout/Sidebar.tsx, custom/apps/portal/pages/ContentPage.tsx, custom/apps/portal/pages/CoursesPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
31
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
32
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
33
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
19
|
+
// CIL[DOC-VECTOR type="context" content="purpose='shadcn/ui loading spinner component module'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
20
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
21
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
22
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
34
23
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
35
24
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
25
|
+
// CIL[END stable_id="~/.framework/src/components/ui/spinner.tsx:module_header:module_header"]
|
|
26
|
+
|
|
27
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/spinner.tsx:spinner:function" type="function" identity="spinner" parent="~/.framework/src/components/ui/spinner.tsx:module_header:module_header"]
|
|
28
|
+
// CIL[DOC-MACRO purpose="Renders an accessible loading spinner icon"]
|
|
29
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a spinning loading indicator with default styling"]
|
|
30
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/spinner.tsx,.framework/src/lib/utils.ts"]
|
|
31
|
+
// CIL[DOC-CONTRACT inputs="className?: string, ...props: React.ComponentProps<'svg'>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
32
|
+
// CIL[DOC-MICRO logic_summary="Renders Loader2Icon with role=status, aria-label=Loading, default size and animation classes, and spreads remaining props" notable_decisions="[]"]
|
|
33
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
34
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
36
35
|
function Spinner({ className, ...props }: React.ComponentProps<"svg">) {
|
|
37
36
|
return (
|
|
38
37
|
<Loader2Icon role="status" aria-label="Loading" className={cn("size-4 animate-spin", className)} {...props} />
|
|
39
38
|
)
|
|
40
39
|
}
|
|
41
|
-
// CIL[
|
|
42
|
-
// CIL[
|
|
43
|
-
// CIL[DOC-
|
|
44
|
-
// CIL[DOC-
|
|
45
|
-
// CIL[DOC-CONTEXT module="spinner" layer="frontend-component" related_files="[\".framework/src/components/layout/Sidebar.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/src/components/ui/dialog.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\"\\\"]"]
|
|
46
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Spinner component export" errors="none" side_effects="module export"]
|
|
47
|
-
// CIL[DOC-MICRO logic_summary="Export the Spinner component for external use" notable_decisions="[]"]
|
|
48
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
49
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
50
|
-
// CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/layout/Sidebar.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, .framework/src/components/ui/dialog.tsx, custom/apps/portal/pages/ContentPage.tsx, \."]
|
|
51
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
52
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
53
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
40
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Renders an accessible loading spinner icon'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
41
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
42
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
43
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
54
44
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
55
45
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
46
|
+
// CIL[END stable_id="~/.framework/src/components/ui/spinner.tsx:spinner:function"]
|
|
47
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/spinner.tsx:spinner:export" type="export" identity="spinner" parent="~/.framework/src/components/ui/spinner.tsx:module_header:module_header"]
|
|
48
|
+
// CIL[DOC-MACRO purpose="Re-exports the Spinner component from the module"]
|
|
49
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Expose the Spinner component for external consumers"]
|
|
50
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/spinner.tsx,.framework/src/lib/utils.ts"]
|
|
51
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Named Spinner export" errors="none" side_effects="none"]
|
|
52
|
+
// CIL[DOC-MICRO logic_summary="Named export for the Spinner component" notable_decisions="[]"]
|
|
53
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
54
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
56
55
|
export { Spinner }
|
|
57
|
-
// CIL[
|
|
56
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Re-exports the Spinner component from the module'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
57
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
58
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
59
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
60
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
61
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
62
|
+
// CIL[END stable_id="~/.framework/src/components/ui/spinner.tsx:spinner:export"]
|