spine-framework 0.3.145 → 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 +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
|
@@ -5,43 +5,50 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
// CIL[
|
|
11
|
-
// CIL[DOC-CONTEXT module="tabs
|
|
12
|
-
// CIL[DOC-
|
|
13
|
-
// CIL[DOC-
|
|
14
|
-
// CIL[DOC-
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/tabs.tsx:use_client:constant" type="constant" identity="use_client" parent="~/.framework/src/components/ui/tabs.tsx"]
|
|
11
|
+
// CIL[DOC-CONTEXT module="components/ui/tabs" layer="ui" related_files=".framework/src/components/ui/tabs.tsx,.framework/src/lib/utils.ts"]
|
|
12
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
13
|
+
// CIL[DOC-MACRO purpose="Next.js use client directive"]
|
|
14
|
+
// CIL[DOC-MICRO logic_summary="Marks this module as a client component"]
|
|
15
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="client rendering directive" side_effects="none" errors=""]
|
|
15
16
|
// CIL[DOC-STABILITY stability="stable"]
|
|
16
|
-
|
|
17
|
-
// CIL[DOC-VECTOR type="context" content="
|
|
18
|
-
// CIL[DOC-VECTOR type="blast_radius" content="
|
|
19
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies
|
|
20
|
-
// CIL[DOC-VECTOR type="constraint" content="
|
|
17
|
+
"use client"
|
|
18
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Next.js use client directive'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
19
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
20
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
21
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
21
22
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
22
23
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
23
|
-
|
|
24
|
+
// CIL[END stable_id="~/.framework/src/components/ui/tabs.tsx:use_client:constant"]
|
|
24
25
|
|
|
26
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/tabs.tsx:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/src/components/ui/tabs.tsx"]
|
|
27
|
+
// CIL[DOC-MACRO purpose="shadcn/ui Tabs component module built on Radix UI"]
|
|
28
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/lib/utils.ts"]
|
|
29
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
30
|
+
// CIL[DOC-AUDIENCE audience="frontend"]
|
|
31
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
25
32
|
import * as React from "react"
|
|
26
33
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
27
34
|
import { Tabs as TabsPrimitive } from "radix-ui"
|
|
28
35
|
|
|
29
36
|
import { cn } from "@/lib/utils"
|
|
30
|
-
// CIL[
|
|
31
|
-
// CIL[
|
|
32
|
-
// CIL[DOC-
|
|
33
|
-
// CIL[DOC-
|
|
34
|
-
// CIL[DOC-CONTEXT module="tabs-ui" layer="ui-components" 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\",\"\\\"]"]
|
|
35
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX element" errors="none" side_effects="renders DOM"]
|
|
36
|
-
// CIL[DOC-MICRO logic_summary="Wraps Radix UI Root with orientation-aware styling" notable_decisions="[]"]
|
|
37
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
38
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
39
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui-components. 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, \."]
|
|
40
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
41
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
42
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
37
|
+
// CIL[DOC-VECTOR type="context" content="purpose='shadcn/ui Tabs component module built on Radix UI'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
38
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
39
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
40
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
43
41
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
44
42
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
43
|
+
// CIL[END stable_id="~/.framework/src/components/ui/tabs.tsx:module_header:module_header"]
|
|
44
|
+
|
|
45
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/tabs.tsx:Tabs:component" type="component" identity="Tabs" parent="~/.framework/src/components/ui/tabs.tsx"]
|
|
46
|
+
// CIL[DOC-CONTEXT module="components/ui/tabs" layer="ui" related_files=".framework/src/components/ui/tabs.tsx,.framework/src/lib/utils.ts"]
|
|
47
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
48
|
+
// CIL[DOC-MACRO purpose="Renders a styled Radix Tabs root wrapper"]
|
|
49
|
+
// CIL[DOC-MICRO logic_summary="Spreads props onto TabsPrimitive.Root with default horizontal orientation and cn styling"]
|
|
50
|
+
// CIL[DOC-CONTRACT inputs="className: string, orientation: 'horizontal'|'vertical', ...props: TabsPrimitive.Root props" outputs="JSX.Element" side_effects="none" errors=""]
|
|
51
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
45
52
|
function Tabs({
|
|
46
53
|
className,
|
|
47
54
|
orientation = "horizontal",
|
|
@@ -59,21 +66,23 @@ function Tabs({
|
|
|
59
66
|
/>
|
|
60
67
|
)
|
|
61
68
|
}
|
|
62
|
-
// CIL[
|
|
63
|
-
// CIL[
|
|
64
|
-
// CIL[DOC-
|
|
65
|
-
// CIL[DOC-
|
|
66
|
-
// CIL[DOC-CONTEXT module="tabs-ui" layer="ui-components" related_files="[\".framework/functions/_shared/principal.ts\",\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"\\\"]"]
|
|
67
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="cva config object" errors="none" side_effects="none"]
|
|
68
|
-
// CIL[DOC-MICRO logic_summary="Creates default and line variants with orientation-aware styles" notable_decisions="[]"]
|
|
69
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
70
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
71
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui-components. Direct callers: 1. Direct calls: 0. Related files: .framework/functions/_shared/principal.ts, .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/pages/admin/IntegrationsPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, \."]
|
|
72
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 1."]
|
|
73
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
74
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
69
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Renders a styled Radix Tabs root wrapper'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
70
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
71
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
72
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
75
73
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
76
74
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
75
|
+
// CIL[END stable_id="~/.framework/src/components/ui/tabs.tsx:Tabs:component"]
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/tabs.tsx:tabsListVariants:constant" type="constant" identity="tabsListVariants" parent="~/.framework/src/components/ui/tabs.tsx"]
|
|
80
|
+
// CIL[DOC-CONTEXT module="components/ui/tabs" layer="ui" related_files=".framework/src/components/ui/tabs.tsx,.framework/src/lib/utils.ts"]
|
|
81
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
82
|
+
// CIL[DOC-MACRO purpose="CVA style variants for the tabs list container"]
|
|
83
|
+
// CIL[DOC-MICRO logic_summary="Defines default and line variants with rounded styling"]
|
|
84
|
+
// CIL[DOC-CONTRACT inputs="variant: 'default'|'line'" outputs="merged className string" side_effects="none" errors=""]
|
|
85
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
77
86
|
const tabsListVariants = cva(
|
|
78
87
|
"group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-8 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",
|
|
79
88
|
{
|
|
@@ -88,21 +97,22 @@ const tabsListVariants = cva(
|
|
|
88
97
|
},
|
|
89
98
|
}
|
|
90
99
|
)
|
|
91
|
-
// CIL[
|
|
92
|
-
// CIL[
|
|
93
|
-
// CIL[DOC-
|
|
94
|
-
// CIL[DOC-
|
|
95
|
-
// CIL[DOC-CONTEXT module="tabs-ui" layer="ui-components" related_files="[\".framework/migrations/015_simplify_apps_table.sql\",\".framework/src/components/ui/table-primitives.tsx\",\".framework/functions/_shared/db.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
|
|
96
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX element" errors="none" side_effects="renders DOM"]
|
|
97
|
-
// CIL[DOC-MICRO logic_summary="Wraps Radix List with variant-aware styling using tabsListVariants" notable_decisions="[]"]
|
|
98
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
99
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
100
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui-components. Direct callers: 0. Direct calls: 0. Related files: .framework/migrations/015_simplify_apps_table.sql, .framework/src/components/ui/table-primitives.tsx, .framework/functions/_shared/db.ts, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
|
|
101
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
102
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
103
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
100
|
+
// CIL[DOC-VECTOR type="context" content="purpose='CVA style variants for the tabs list container'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
101
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
102
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
103
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
104
104
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
105
105
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
106
|
+
// CIL[END stable_id="~/.framework/src/components/ui/tabs.tsx:tabsListVariants:constant"]
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/tabs.tsx:TabsList:component" type="component" identity="TabsList" parent="~/.framework/src/components/ui/tabs.tsx"]
|
|
110
|
+
// CIL[DOC-CONTEXT module="components/ui/tabs" layer="ui" related_files=".framework/src/components/ui/tabs.tsx,.framework/src/lib/utils.ts"]
|
|
111
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
112
|
+
// CIL[DOC-MACRO purpose="Renders the list of tab triggers"]
|
|
113
|
+
// CIL[DOC-MICRO logic_summary="Composes the radix list with the tabsListVariants CVA output and optional className"]
|
|
114
|
+
// CIL[DOC-CONTRACT inputs="className: string, variant: 'default'|'line', VariantProps, ...props" outputs="JSX.Element" side_effects="none" errors=""]
|
|
115
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
106
116
|
function TabsList({
|
|
107
117
|
className,
|
|
108
118
|
variant = "default",
|
|
@@ -118,21 +128,23 @@ function TabsList({
|
|
|
118
128
|
/>
|
|
119
129
|
)
|
|
120
130
|
}
|
|
121
|
-
// CIL[
|
|
122
|
-
// CIL[
|
|
123
|
-
// CIL[DOC-
|
|
124
|
-
// CIL[DOC-
|
|
125
|
-
// CIL[DOC-CONTEXT module="tabs-ui" layer="ui-components" related_files="[\".framework/migrations/015_simplify_apps_table.sql\",\".framework/src/components/ui/table-primitives.tsx\",\".framework/functions/_shared/db.ts\",\"\\\"]"]
|
|
126
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX element" errors="none" side_effects="renders DOM"]
|
|
127
|
-
// CIL[DOC-MICRO logic_summary="Wraps Radix Trigger with extensive state-aware styling and orientation support" notable_decisions="[]"]
|
|
128
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
129
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
130
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui-components. Direct callers: 0. Direct calls: 0. Related files: .framework/migrations/015_simplify_apps_table.sql, .framework/src/components/ui/table-primitives.tsx, .framework/functions/_shared/db.ts, \."]
|
|
131
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
132
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
133
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
131
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Renders the list of tab triggers'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
132
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
133
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
134
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
134
135
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
135
136
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
137
|
+
// CIL[END stable_id="~/.framework/src/components/ui/tabs.tsx:TabsList:component"]
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/tabs.tsx:TabsTrigger:component" type="component" identity="TabsTrigger" parent="~/.framework/src/components/ui/tabs.tsx"]
|
|
142
|
+
// CIL[DOC-CONTEXT module="components/ui/tabs" layer="ui" related_files=".framework/src/components/ui/tabs.tsx,.framework/src/lib/utils.ts"]
|
|
143
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
144
|
+
// CIL[DOC-MACRO purpose="Renders an individual tab trigger button"]
|
|
145
|
+
// CIL[DOC-MICRO logic_summary="Applies focus, hover, active and disabled styles to a radix trigger"]
|
|
146
|
+
// CIL[DOC-CONTRACT inputs="className: string, ...props: TabsPrimitive.Trigger props" outputs="JSX.Element" side_effects="none" errors=""]
|
|
147
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
136
148
|
function TabsTrigger({
|
|
137
149
|
className,
|
|
138
150
|
...props
|
|
@@ -151,21 +163,21 @@ function TabsTrigger({
|
|
|
151
163
|
/>
|
|
152
164
|
)
|
|
153
165
|
}
|
|
154
|
-
// CIL[
|
|
155
|
-
// CIL[
|
|
156
|
-
// CIL[DOC-
|
|
157
|
-
// CIL[DOC-
|
|
158
|
-
// CIL[DOC-CONTEXT module="tabs-ui" layer="ui-components" related_files="[]"]
|
|
159
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX element" errors="none" side_effects="renders DOM"]
|
|
160
|
-
// CIL[DOC-MICRO logic_summary="Wraps Radix Content with flex layout and outline removal" notable_decisions="[]"]
|
|
161
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
162
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
163
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui-components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
164
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
165
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
166
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
166
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Renders an individual tab trigger button'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
167
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
168
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
169
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
167
170
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
168
171
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
172
|
+
// CIL[END stable_id="~/.framework/src/components/ui/tabs.tsx:TabsTrigger:component"]
|
|
173
|
+
|
|
174
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/tabs.tsx:TabsContent:component" type="component" identity="TabsContent" parent="~/.framework/src/components/ui/tabs.tsx"]
|
|
175
|
+
// CIL[DOC-CONTEXT module="components/ui/tabs" layer="ui" related_files=".framework/src/components/ui/tabs.tsx,.framework/src/lib/utils.ts"]
|
|
176
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
177
|
+
// CIL[DOC-MACRO purpose="Renders the panel shown for the active tab"]
|
|
178
|
+
// CIL[DOC-MICRO logic_summary="Wraps TabsPrimitive.Content with a flexible outline style; data-[state=inactive]:hidden guarantees inactive panels are display:none even when callers add display utilities — the Radix `hidden` attribute alone loses specificity to classes like `flex`" notable_decisions="hide-by-data-state rather than relying on the hidden attribute so display utilities on panel content never leak inactive tabs"]
|
|
179
|
+
// CIL[DOC-CONTRACT inputs="className: string, ...props: TabsPrimitive.Content props" outputs="JSX.Element" side_effects="none" errors=""]
|
|
180
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
169
181
|
function TabsContent({
|
|
170
182
|
className,
|
|
171
183
|
...props
|
|
@@ -173,25 +185,30 @@ function TabsContent({
|
|
|
173
185
|
return (
|
|
174
186
|
<TabsPrimitive.Content
|
|
175
187
|
data-slot="tabs-content"
|
|
176
|
-
className={cn("flex-1 text-sm outline-none", className)}
|
|
188
|
+
className={cn("flex-1 text-sm outline-none data-[state=inactive]:hidden", className)}
|
|
177
189
|
{...props}
|
|
178
190
|
/>
|
|
179
191
|
)
|
|
180
192
|
}
|
|
181
|
-
// CIL[
|
|
182
|
-
// CIL[
|
|
183
|
-
// CIL[DOC-
|
|
184
|
-
// CIL[DOC-
|
|
185
|
-
// CIL[DOC-CONTEXT module="tabs-ui" layer="ui-components" related_files="[]"]
|
|
186
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="named exports" errors="none" side_effects="module exports"]
|
|
187
|
-
// CIL[DOC-MICRO logic_summary="Exports Tabs, TabsList, TabsTrigger, TabsContent, and tabsListVariants" notable_decisions="[]"]
|
|
188
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
189
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
190
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui-components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
191
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
192
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
193
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
193
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Renders the panel shown for the active tab'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
194
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
195
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
196
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
194
197
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
195
198
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
199
|
+
// CIL[END stable_id="~/.framework/src/components/ui/tabs.tsx:TabsContent:component"]
|
|
200
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/tabs.tsx:exports:variable" type="variable" identity="exports" parent="~/.framework/src/components/ui/tabs.tsx"]
|
|
201
|
+
// CIL[DOC-CONTEXT module="components/ui/tabs" layer="ui" related_files=".framework/src/components/ui/tabs.tsx,.framework/src/lib/utils.ts"]
|
|
202
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
203
|
+
// CIL[DOC-MACRO purpose="Public exports of the tabs UI primitives"]
|
|
204
|
+
// CIL[DOC-MICRO logic_summary="Re-exports Tabs, TabsList, TabsTrigger, TabsContent and tabsListVariants"]
|
|
205
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="named exports" side_effects="none" errors=""]
|
|
206
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
196
207
|
export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }
|
|
197
|
-
// CIL[
|
|
208
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Public exports of the tabs UI primitives'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
209
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
210
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
211
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
212
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
213
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
214
|
+
// CIL[END stable_id="~/.framework/src/components/ui/tabs.tsx:exports:variable"]
|
|
@@ -1,39 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
// CIL[
|
|
5
|
-
// CIL[DOC-
|
|
6
|
-
// CIL[DOC-
|
|
7
|
-
// CIL[DOC-
|
|
8
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="React, cn" errors="none" side_effects="none"]
|
|
9
|
-
// CIL[DOC-MICRO logic_summary="Imports required libraries and utilities for textarea component" notable_decisions="[]"]
|
|
10
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/textarea.tsx:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/src/components/ui/textarea.tsx"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Provides the Textarea UI component for the design system"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Import React and the className utility and expose the Textarea component for use across the app"]
|
|
4
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/lib/utils.ts"]
|
|
5
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="none"]
|
|
6
|
+
// CIL[DOC-MICRO logic_summary="Imports React and the cn class-merging utility for the Textarea component" 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: ui-components. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/src/components/layout/Sidebar.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 * as React from "react"
|
|
20
11
|
|
|
21
12
|
import { cn } from "@/lib/utils"
|
|
22
|
-
// CIL[
|
|
23
|
-
// CIL[
|
|
24
|
-
// CIL[DOC-
|
|
25
|
-
// CIL[DOC-
|
|
26
|
-
// CIL[DOC-CONTEXT module="textarea-ui" layer="ui-components" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/layout/Sidebar.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"\\\"]"]
|
|
27
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX element" errors="none" side_effects="renders DOM"]
|
|
28
|
-
// CIL[DOC-MICRO logic_summary="Wraps textarea with responsive styling, focus states, and accessibility features" 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: ui-components. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/src/components/layout/Sidebar.tsx, .framework/src/pages/admin/RolesPage.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/functions/_shared/schema-utils.ts, \."]
|
|
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."]
|
|
13
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Provides the Textarea UI component for the design system'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
14
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
15
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
16
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
35
17
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
36
18
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
19
|
+
// CIL[END stable_id="~/.framework/src/components/ui/textarea.tsx:module_header:module_header"]
|
|
20
|
+
|
|
21
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/textarea.tsx:textarea:function" type="function" identity="textarea" parent="~/.framework/src/components/ui/textarea.tsx:module_header:module_header"]
|
|
22
|
+
// CIL[DOC-MACRO purpose="Renders a styled HTML textarea element for forms"]
|
|
23
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a multi-line text input with Tailwind styling and forwarded props"]
|
|
24
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/textarea.tsx,.framework/src/lib/utils.ts"]
|
|
25
|
+
// CIL[DOC-CONTRACT inputs="className?: string, ...props: React.ComponentProps<'textarea'>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
26
|
+
// CIL[DOC-MICRO logic_summary="Wraps an HTML textarea with data-slot and applies utility classes including sizing, border, focus ring, and disabled/invalid states" notable_decisions="[]"]
|
|
27
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
28
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
37
29
|
function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
|
|
38
30
|
return (
|
|
39
31
|
<textarea
|
|
@@ -46,20 +38,27 @@ function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
|
|
|
46
38
|
/>
|
|
47
39
|
)
|
|
48
40
|
}
|
|
49
|
-
// CIL[
|
|
50
|
-
// CIL[
|
|
51
|
-
// CIL[DOC-
|
|
52
|
-
// CIL[DOC-
|
|
53
|
-
// CIL[DOC-CONTEXT module="textarea-ui" layer="ui-components" 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\",\"\\\"]"]
|
|
54
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="named exports" errors="none" side_effects="module exports"]
|
|
55
|
-
// CIL[DOC-MICRO logic_summary="Exports Textarea component for external use" notable_decisions="[]"]
|
|
56
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
57
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
58
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui-components. 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, \."]
|
|
59
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
60
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
61
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
41
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Renders a styled HTML textarea element for forms'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
42
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
43
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
44
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
62
45
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
63
46
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
47
|
+
// CIL[END stable_id="~/.framework/src/components/ui/textarea.tsx:textarea:function"]
|
|
48
|
+
|
|
49
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/textarea.tsx:export:export" type="export" identity="export" parent="~/.framework/src/components/ui/textarea.tsx:module_header:module_header"]
|
|
50
|
+
// CIL[DOC-MACRO purpose="Re-exports the Textarea component for module consumers"]
|
|
51
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Make the Textarea component available to other modules"]
|
|
52
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/textarea.tsx,.framework/src/lib/utils.ts"]
|
|
53
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Textarea named export" errors="none" side_effects="none"]
|
|
54
|
+
// CIL[DOC-MICRO logic_summary="Named export of the Textarea component" notable_decisions="[]"]
|
|
55
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
56
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
64
57
|
export { Textarea }
|
|
65
|
-
// CIL[
|
|
58
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Re-exports the Textarea component for module consumers'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
59
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
60
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
61
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
62
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
63
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
64
|
+
// CIL[END stable_id="~/.framework/src/components/ui/textarea.tsx:export:export"]
|