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
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/alert.tsx:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/src/components/ui/alert.tsx"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Import React, class-variance-authority, and utility helpers for alert UI components"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provide the base dependencies used by Alert and its variants"]
|
|
4
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/alert.tsx" layer="ui" related_files=".framework/src/lib/utils.ts"]
|
|
5
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="React, cva, VariantProps, and cn available in module scope" errors="none" side_effects="none"]
|
|
6
|
+
// CIL[DOC-MICRO logic_summary="Import React namespace, cva and VariantProps, and project cn utility" notable_decisions="Uses cva for type-safe Tailwind class variance"]
|
|
7
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
8
|
+
// CIL[DOC-STABILITY stable]
|
|
9
|
+
// CIL[DOC-AUDIENCE audience="developers"]
|
|
10
|
+
|
|
1
11
|
|
|
2
12
|
|
|
3
13
|
|
|
@@ -5,40 +15,26 @@
|
|
|
5
15
|
|
|
6
16
|
|
|
7
17
|
|
|
8
|
-
// CIL[BEGIN chunk_id="alert_module_header_1783883196" type="module_header" identity="module_header" parent="none"]
|
|
9
|
-
// CIL[DOC-MACRO purpose="Import React and styling dependencies for Alert component"]
|
|
10
|
-
// CIL[DOC-RESPONSIBILITY responsibility="Provide external dependencies for Alert UI components"]
|
|
11
|
-
// CIL[DOC-CONTEXT module="alert" layer="ui" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"\\\"]"]
|
|
12
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="React, cva, VariantProps, cn" errors="none" side_effects="none"]
|
|
13
|
-
// CIL[DOC-MICRO logic_summary="Imports React, class-variance-authority for styling variants, and utility function" notable_decisions="[]"]
|
|
14
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
15
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
16
|
-
// CIL[DOC-AUDIENCE audience="developer"]
|
|
17
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/ui/dialog.tsx, .framework/src/components/ui/table-primitives.tsx, \."]
|
|
18
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
19
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
20
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
21
|
-
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
22
|
-
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
23
18
|
import * as React from "react"
|
|
24
19
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
25
20
|
|
|
26
21
|
import { cn } from "@/lib/utils"
|
|
27
|
-
// CIL[
|
|
28
|
-
// CIL[
|
|
29
|
-
// CIL[DOC-
|
|
30
|
-
// CIL[DOC-
|
|
31
|
-
// CIL[DOC-CONTEXT module="alert" layer="ui" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/functions/_shared/principal.ts\",\"\\\"]"]
|
|
32
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="alertVariants function" errors="none" side_effects="none"]
|
|
33
|
-
// CIL[DOC-MICRO logic_summary="Creates class-variance-authority configuration with default and destructive variants" notable_decisions="[]"]
|
|
34
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
35
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
36
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 1. 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/functions/_shared/principal.ts, \."]
|
|
37
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 1."]
|
|
38
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
39
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
22
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Import React, class-variance-authority, and utility helpers for alert UI components'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
23
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
24
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
25
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
40
26
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
41
27
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
28
|
+
// CIL[END stable_id="~/.framework/src/components/ui/alert.tsx:module_header:module_header"]
|
|
29
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/alert.tsx:alertVariants:constant" type="constant" identity="alertVariants" parent="~/.framework/src/components/ui/alert.tsx"]
|
|
30
|
+
// CIL[DOC-MACRO purpose="Define the CVA class-variance config for alert styles"]
|
|
31
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Generate the class string used by the Alert component based on variant"]
|
|
32
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/alert.tsx" layer="ui" related_files=".framework/src/components/ui/alert.tsx,.framework/src/lib/utils.ts"]
|
|
33
|
+
// CIL[DOC-CONTRACT inputs="variant: 'default' | 'destructive'" outputs="string of Tailwind utility classes" errors="none" side_effects="none"]
|
|
34
|
+
// CIL[DOC-MICRO logic_summary="Use cva to compose grid, border, padding, text, and SVG layout classes; supports default and destructive variants" notable_decisions="Includes data-slot and svg selectors for layout when icons are present"]
|
|
35
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
36
|
+
// CIL[DOC-STABILITY stable]
|
|
37
|
+
// CIL[DOC-AUDIENCE audience="developers"]
|
|
42
38
|
const alertVariants = cva(
|
|
43
39
|
"group/alert relative grid w-full gap-0.5 rounded-lg border px-2 py-1.5 text-left text-xs/relaxed has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-1.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-3.5",
|
|
44
40
|
{
|
|
@@ -54,21 +50,23 @@ const alertVariants = cva(
|
|
|
54
50
|
},
|
|
55
51
|
}
|
|
56
52
|
)
|
|
57
|
-
// CIL[
|
|
58
|
-
// CIL[
|
|
59
|
-
// CIL[DOC-
|
|
60
|
-
// CIL[DOC-
|
|
61
|
-
// CIL[DOC-CONTEXT module="alert" layer="ui" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
62
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX div element" errors="none" side_effects="renders DOM"]
|
|
63
|
-
// CIL[DOC-MICRO logic_summary="Creates div with alert role, applies variants via cva, spreads remaining props" notable_decisions="[]"]
|
|
64
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
65
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
66
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/src/components/ui/dialog.tsx, .framework/src/components/ui/table-primitives.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
67
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
68
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
69
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
53
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Define the CVA class-variance config for alert styles'; 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"]
|
|
70
57
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
71
58
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
59
|
+
// CIL[END stable_id="~/.framework/src/components/ui/alert.tsx:alertVariants:constant"]
|
|
60
|
+
|
|
61
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/alert.tsx:Alert:component" type="component" identity="Alert" parent="~/.framework/src/components/ui/alert.tsx"]
|
|
62
|
+
// CIL[DOC-MACRO purpose="Render an accessible alert container with a variant class"]
|
|
63
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Combine the selected alert variant classes with an optional custom className"]
|
|
64
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/alert.tsx" layer="ui" related_files=".framework/src/components/ui/alert.tsx,.framework/src/lib/utils.ts"]
|
|
65
|
+
// CIL[DOC-CONTRACT inputs="className?: string, variant?: 'default' | 'destructive', ...props: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>" outputs="JSX div with role='alert'" errors="none" side_effects="none"]
|
|
66
|
+
// CIL[DOC-MICRO logic_summary="Apply cva alertVariants to variant and merge with className using cn" notable_decisions="Spreads remaining props onto the div for full accessibility and event support"]
|
|
67
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
68
|
+
// CIL[DOC-STABILITY stable]
|
|
69
|
+
// CIL[DOC-AUDIENCE audience="developers"]
|
|
72
70
|
function Alert({
|
|
73
71
|
className,
|
|
74
72
|
variant,
|
|
@@ -83,21 +81,23 @@ function Alert({
|
|
|
83
81
|
/>
|
|
84
82
|
)
|
|
85
83
|
}
|
|
86
|
-
// CIL[
|
|
87
|
-
// CIL[
|
|
88
|
-
// CIL[DOC-
|
|
89
|
-
// CIL[DOC-
|
|
90
|
-
// CIL[DOC-CONTEXT module="alert" layer="ui" related_files="[\".framework/src/components/ui/dialog.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
91
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX div element" errors="none" side_effects="renders DOM"]
|
|
92
|
-
// CIL[DOC-MICRO logic_summary="Creates div with medium font weight, handles icon layout, link styling" notable_decisions="[]"]
|
|
93
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
94
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
95
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/components/ui/table-primitives.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
96
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
97
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
98
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
84
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render an accessible alert container with a variant class'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
85
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
86
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
87
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
99
88
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
100
89
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
90
|
+
// CIL[END stable_id="~/.framework/src/components/ui/alert.tsx:Alert:component"]
|
|
91
|
+
|
|
92
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/alert.tsx:AlertTitle:component" type="component" identity="AlertTitle" parent="~/.framework/src/components/ui/alert.tsx"]
|
|
93
|
+
// CIL[DOC-MACRO purpose="Render the title element inside an Alert"]
|
|
94
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Display a bold, underlined-link title that aligns with optional alert icons"]
|
|
95
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/alert.tsx" layer="ui" related_files=".framework/src/components/ui/alert.tsx,.framework/src/lib/utils.ts"]
|
|
96
|
+
// CIL[DOC-CONTRACT inputs="className?: string, ...props: React.ComponentProps<'div'>" outputs="JSX div with data-slot='alert-title'" errors="none" side_effects="none"]
|
|
97
|
+
// CIL[DOC-MICRO logic_summary="Use cn to merge default font and group styles with className" notable_decisions="Styles inline links with underline and hover foreground color"]
|
|
98
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
99
|
+
// CIL[DOC-STABILITY stable]
|
|
100
|
+
// CIL[DOC-AUDIENCE audience="developers"]
|
|
101
101
|
function AlertTitle({ className, ...props }: React.ComponentProps<"div">) {
|
|
102
102
|
return (
|
|
103
103
|
<div
|
|
@@ -110,21 +110,23 @@ function AlertTitle({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
110
110
|
/>
|
|
111
111
|
)
|
|
112
112
|
}
|
|
113
|
-
// CIL[
|
|
114
|
-
// CIL[
|
|
115
|
-
// CIL[DOC-
|
|
116
|
-
// CIL[DOC-
|
|
117
|
-
// CIL[DOC-CONTEXT module="alert" layer="ui" related_files="[\".framework/functions/_shared/schema-utils.ts\",\".framework/src/components/ui/table-primitives.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
118
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX div element" errors="none" side_effects="renders DOM"]
|
|
119
|
-
// CIL[DOC-MICRO logic_summary="Creates div with small relaxed text, balanced layout, link and paragraph styling" notable_decisions="[]"]
|
|
120
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
121
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
122
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/functions/_shared/schema-utils.ts, .framework/src/components/ui/table-primitives.tsx, .framework/src/components/ui/dialog.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
123
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
124
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
125
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
113
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the title element inside an Alert'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
114
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
115
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
116
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
126
117
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
127
118
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
119
|
+
// CIL[END stable_id="~/.framework/src/components/ui/alert.tsx:AlertTitle:component"]
|
|
120
|
+
|
|
121
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/alert.tsx:AlertDescription:component" type="component" identity="AlertDescription" parent="~/.framework/src/components/ui/alert.tsx"]
|
|
122
|
+
// CIL[DOC-MACRO purpose="Render the description body inside an Alert"]
|
|
123
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Display muted, balanced text for additional alert details"]
|
|
124
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/alert.tsx" layer="ui" related_files=".framework/src/components/ui/alert.tsx,.framework/src/lib/utils.ts"]
|
|
125
|
+
// CIL[DOC-CONTRACT inputs="className?: string, ...props: React.ComponentProps<'div'>" outputs="JSX div with data-slot='alert-description'" errors="none" side_effects="none"]
|
|
126
|
+
// CIL[DOC-MICRO logic_summary="Use cn to merge muted text and link styles with className" notable_decisions="Paragraphs except the last receive a bottom margin"]
|
|
127
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
128
|
+
// CIL[DOC-STABILITY stable]
|
|
129
|
+
// CIL[DOC-AUDIENCE audience="developers"]
|
|
128
130
|
function AlertDescription({
|
|
129
131
|
className,
|
|
130
132
|
...props
|
|
@@ -140,21 +142,23 @@ function AlertDescription({
|
|
|
140
142
|
/>
|
|
141
143
|
)
|
|
142
144
|
}
|
|
143
|
-
// CIL[
|
|
144
|
-
// CIL[
|
|
145
|
-
// CIL[DOC-
|
|
146
|
-
// CIL[DOC-
|
|
147
|
-
// CIL[DOC-CONTEXT module="alert" layer="ui" related_files="[]"]
|
|
148
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="JSX div element" errors="none" side_effects="renders DOM"]
|
|
149
|
-
// CIL[DOC-MICRO logic_summary="Creates absolutely positioned div in top-right corner of alert" notable_decisions="[]"]
|
|
150
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
151
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
152
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
153
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
154
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
155
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
145
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the description body inside an Alert'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
146
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
147
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
148
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
156
149
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
157
150
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
151
|
+
// CIL[END stable_id="~/.framework/src/components/ui/alert.tsx:AlertDescription:component"]
|
|
152
|
+
|
|
153
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/alert.tsx:AlertAction:component" type="component" identity="AlertAction" parent="~/.framework/src/components/ui/alert.tsx"]
|
|
154
|
+
// CIL[DOC-MACRO purpose="Render an action element anchored to the top-right of an Alert"]
|
|
155
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Position an action control within the alert layout"]
|
|
156
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/alert.tsx" layer="ui" related_files=".framework/src/components/ui/alert.tsx,.framework/src/lib/utils.ts"]
|
|
157
|
+
// CIL[DOC-CONTRACT inputs="className?: string, ...props: React.ComponentProps<'div'>" outputs="JSX div with data-slot='alert-action'" errors="none" side_effects="none"]
|
|
158
|
+
// CIL[DOC-MICRO logic_summary="Use cn to absolutely position the action at top-1.5 right-2" notable_decisions="Padding on the alert is adjusted via parent has-data-[slot=alert-action] selector"]
|
|
159
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
160
|
+
// CIL[DOC-STABILITY stable]
|
|
161
|
+
// CIL[DOC-AUDIENCE audience="developers"]
|
|
158
162
|
function AlertAction({ className, ...props }: React.ComponentProps<"div">) {
|
|
159
163
|
return (
|
|
160
164
|
<div
|
|
@@ -164,20 +168,27 @@ function AlertAction({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
164
168
|
/>
|
|
165
169
|
)
|
|
166
170
|
}
|
|
167
|
-
// CIL[
|
|
168
|
-
// CIL[
|
|
169
|
-
// CIL[DOC-
|
|
170
|
-
// CIL[DOC-
|
|
171
|
-
// CIL[DOC-CONTEXT module="alert" layer="ui" related_files="[]"]
|
|
172
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="exported components" errors="none" side_effects="module exports"]
|
|
173
|
-
// CIL[DOC-MICRO logic_summary="Exports Alert, AlertTitle, AlertDescription, AlertAction components" notable_decisions="[]"]
|
|
174
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
175
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
176
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
177
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
178
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
179
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
171
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render an action element anchored to the top-right of an Alert'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
172
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
173
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
174
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
180
175
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
181
176
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
177
|
+
// CIL[END stable_id="~/.framework/src/components/ui/alert.tsx:AlertAction:component"]
|
|
178
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/alert.tsx:exports:variable" type="variable" identity="exports" parent="~/.framework/src/components/ui/alert.tsx"]
|
|
179
|
+
// CIL[DOC-MACRO purpose="Expose Alert subcomponents for external use"]
|
|
180
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Export the public API of the alert UI kit"]
|
|
181
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/alert.tsx" layer="ui" related_files=".framework/src/components/ui/alert.tsx,.framework/src/lib/utils.ts"]
|
|
182
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Alert, AlertTitle, AlertDescription, AlertAction named exports" errors="none" side_effects="none"]
|
|
183
|
+
// CIL[DOC-MICRO logic_summary="Named export list for all alert components" notable_decisions="Keeps a flat export surface"]
|
|
184
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
185
|
+
// CIL[DOC-STABILITY stable]
|
|
186
|
+
// CIL[DOC-AUDIENCE audience="developers"]
|
|
182
187
|
export { Alert, AlertTitle, AlertDescription, AlertAction }
|
|
183
|
-
// CIL[
|
|
188
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Expose Alert subcomponents for external use'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
189
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
190
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
191
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
192
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
193
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
194
|
+
// CIL[END stable_id="~/.framework/src/components/ui/alert.tsx:exports:variable"]
|
|
@@ -1,58 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
// CIL[
|
|
5
|
-
// CIL[DOC-
|
|
6
|
-
// CIL[DOC-
|
|
7
|
-
// CIL[DOC-
|
|
8
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="AspectRatioPrimitive, client directive" errors="none" side_effects="none"]
|
|
9
|
-
// CIL[DOC-MICRO logic_summary="Imports Radix UI AspectRatio primitive and client directive" notable_decisions="[]"]
|
|
10
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/aspect-ratio.tsx:use_client:directive" type="directive" identity="use_client" parent="none"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Declare client-side execution boundary for Next.js"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Mark this module as client-only so it can use React hooks and JSX"]
|
|
4
|
+
// CIL[DOC-CONTEXT module="components/ui/aspect-ratio" layer="ui" related_files=".framework/src/components/ui/aspect-ratio.tsx"]
|
|
5
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="\"use client\" directive" errors="none" side_effects="none"]
|
|
6
|
+
// CIL[DOC-MICRO logic_summary="Adds the React use client directive at the top of the file" notable_decisions="[]"]
|
|
7
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
11
8
|
// CIL[DOC-STABILITY stability="stable"]
|
|
12
|
-
|
|
13
|
-
// CIL[DOC-VECTOR type="context" content="
|
|
14
|
-
// CIL[DOC-VECTOR type="blast_radius" content="
|
|
15
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies
|
|
16
|
-
// CIL[DOC-VECTOR type="constraint" content="
|
|
9
|
+
"use client"
|
|
10
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Declare client-side execution boundary for Next.js'; No verified external callers; imports: none"]
|
|
11
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
12
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
13
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
17
14
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
18
15
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
19
|
-
|
|
16
|
+
// CIL[END stable_id="~/.framework/src/components/ui/aspect-ratio.tsx:use_client:directive"]
|
|
20
17
|
|
|
21
|
-
|
|
22
|
-
// CIL[
|
|
23
|
-
// CIL[
|
|
24
|
-
// CIL[DOC-
|
|
25
|
-
// CIL[DOC-
|
|
26
|
-
// CIL[DOC-
|
|
27
|
-
// CIL[DOC-
|
|
28
|
-
// CIL[DOC-MICRO logic_summary="Simple wrapper around Radix AspectRatio Root primitive, adds data-slot attribute for styling hooks" notable_decisions="[\"]
|
|
29
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
18
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/aspect-ratio.tsx:module_header:module_header" type="module_header" identity="module_header" parent="none"]
|
|
19
|
+
// CIL[DOC-MACRO purpose="Import the Radix UI AspectRatio primitive for re-export and wrapping"]
|
|
20
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Bring in the external UI primitive dependency"]
|
|
21
|
+
// CIL[DOC-CONTEXT module="components/ui/aspect-ratio" layer="ui" related_files=".framework/src/components/ui/aspect-ratio.tsx"]
|
|
22
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="imported AspectRatioPrimitive" errors="none" side_effects="adds module dependency"]
|
|
23
|
+
// CIL[DOC-MICRO logic_summary="Imports AspectRatio from radix-ui" notable_decisions="[]"]
|
|
24
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
30
25
|
// CIL[DOC-STABILITY stability="stable"]
|
|
31
|
-
// CIL[DOC-
|
|
32
|
-
|
|
33
|
-
// CIL[DOC-VECTOR type="
|
|
34
|
-
// CIL[DOC-VECTOR type="
|
|
26
|
+
// CIL[DOC-AUDIENCE audience="ui component consumers and maintainers"]
|
|
27
|
+
import { AspectRatio as AspectRatioPrimitive } from "radix-ui"
|
|
28
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Import the Radix UI AspectRatio primitive for re-export and wrapping'; No verified external callers; imports: none"]
|
|
29
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
30
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
31
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
35
32
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
36
33
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
34
|
+
// CIL[END stable_id="~/.framework/src/components/ui/aspect-ratio.tsx:module_header:module_header"]
|
|
35
|
+
|
|
36
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/aspect-ratio.tsx:aspectratio:function" type="function" identity="AspectRatio" parent="none"]
|
|
37
|
+
// CIL[DOC-MACRO purpose="Render a thin wrapper around Radix UI AspectRatio.Root with a data-slot attribute"]
|
|
38
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provide a consistent, project-specific aspect-ratio component API"]
|
|
39
|
+
// CIL[DOC-CONTEXT module="components/ui/aspect-ratio" layer="ui" related_files=".framework/src/components/ui/aspect-ratio.tsx"]
|
|
40
|
+
// CIL[DOC-CONTRACT inputs="props: React.ComponentProps<typeof AspectRatioPrimitive.Root>" outputs="JSX element" errors="prop type mismatch" side_effects="renders DOM"]
|
|
41
|
+
// CIL[DOC-MICRO logic_summary="Spreads incoming props onto AspectRatioPrimitive.Root and sets the data-slot attribute" notable_decisions="[]"]
|
|
42
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
43
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
37
44
|
function AspectRatio({
|
|
38
45
|
...props
|
|
39
46
|
}: React.ComponentProps<typeof AspectRatioPrimitive.Root>) {
|
|
40
47
|
return <AspectRatioPrimitive.Root data-slot="aspect-ratio" {...props} />
|
|
41
48
|
}
|
|
42
|
-
// CIL[
|
|
43
|
-
// CIL[
|
|
44
|
-
// CIL[DOC-
|
|
45
|
-
// CIL[DOC-
|
|
46
|
-
// CIL[DOC-CONTEXT module="aspect-ratio" layer="ui" related_files="[\".framework/src/components/ui/dialog.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\".framework/functions/_shared/principal.ts\",\"\\\"]"]
|
|
47
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="exported AspectRatio" errors="none" side_effects="module exports"]
|
|
48
|
-
// CIL[DOC-MICRO logic_summary="Named export of AspectRatio component for consumption by other modules" notable_decisions="[\"]
|
|
49
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
50
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
51
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/pages/admin/RolesPage.tsx, .framework/functions/_shared/principal.ts, \."]
|
|
52
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
53
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
54
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
49
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a thin wrapper around Radix UI AspectRatio.Root with a data-slot attribute'; No verified external callers; imports: none"]
|
|
50
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
51
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
52
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
55
53
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
56
54
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
55
|
+
// CIL[END stable_id="~/.framework/src/components/ui/aspect-ratio.tsx:aspectratio:function"]
|
|
56
|
+
|
|
57
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/aspect-ratio.tsx:export_aspectratio:export" type="export" identity="export_aspectratio" parent="none"]
|
|
58
|
+
// CIL[DOC-MACRO purpose="Expose the AspectRatio component for public consumption"]
|
|
59
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Named export of the AspectRatio component"]
|
|
60
|
+
// CIL[DOC-CONTEXT module="components/ui/aspect-ratio" layer="ui" related_files=".framework/src/components/ui/aspect-ratio.tsx"]
|
|
61
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="named export AspectRatio" errors="none" side_effects="none"]
|
|
62
|
+
// CIL[DOC-MICRO logic_summary="Exports the local AspectRatio function as a named export" notable_decisions="[]"]
|
|
63
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
64
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
57
65
|
export { AspectRatio }
|
|
58
|
-
// CIL[
|
|
66
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Expose the AspectRatio component for public consumption'; No verified external callers; imports: none"]
|
|
67
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
68
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
69
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
70
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
71
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
72
|
+
// CIL[END stable_id="~/.framework/src/components/ui/aspect-ratio.tsx:export_aspectratio:export"]
|