spine-framework 0.3.144 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +76 -0
- package/.framework/.spine-manifest.json +19 -0
- package/.framework/cli/commands/agents.ts +61 -33
- package/.framework/cli/commands/auth.ts +60 -28
- package/.framework/cli/commands/create-app.ts +212 -80
- package/.framework/cli/commands/dev.ts +184 -68
- package/.framework/cli/commands/doctor.ts +324 -152
- package/.framework/cli/commands/generate.ts +119 -68
- package/.framework/cli/commands/init.ts +141 -242
- package/.framework/cli/commands/install-app.ts +1336 -314
- package/.framework/cli/commands/items.ts +31 -29
- package/.framework/cli/commands/migrate.ts +299 -156
- package/.framework/cli/commands/migrations.ts +62 -30
- package/.framework/cli/commands/pipelines.ts +31 -29
- package/.framework/cli/commands/status.ts +105 -45
- package/.framework/cli/commands/system.ts +47 -42
- package/.framework/cli/commands/test.ts +161 -102
- package/.framework/cli/commands/upgrade.ts +260 -0
- package/.framework/cli/commands/validate-app.ts +517 -161
- package/.framework/cli/context.ts +117 -85
- package/.framework/cli/env-loader.ts +74 -43
- package/.framework/cli/index.ts +70 -46
- package/.framework/cli/lib/project-files.ts +404 -0
- package/.framework/docs/guides/testing-guide.md +1 -1
- package/.framework/docs/runtime-types.md +72 -72
- package/.framework/functions/_shared/access.ts +84 -0
- package/.framework/functions/_shared/agent-runner.ts +5051 -1026
- package/.framework/functions/_shared/app-manifest.ts +214 -94
- package/.framework/functions/_shared/ast.ts +214 -0
- package/.framework/functions/_shared/audit.ts +91 -55
- package/.framework/functions/_shared/cil.ts +368 -127
- package/.framework/functions/_shared/db.ts +337 -68
- package/.framework/functions/_shared/funnel.ts +228 -0
- package/.framework/functions/_shared/geo.ts +105 -0
- package/.framework/functions/_shared/hash-api-key.ts +94 -17
- package/.framework/functions/_shared/index.ts +22 -224
- package/.framework/functions/_shared/kb.ts +832 -58
- package/.framework/functions/_shared/llm.ts +118 -18
- package/.framework/functions/_shared/logging.ts +317 -19
- package/.framework/functions/_shared/middleware.ts +701 -131
- package/.framework/functions/_shared/notify.ts +70 -0
- package/.framework/functions/_shared/outcomes.ts +34 -19
- package/.framework/functions/_shared/permissions.ts +501 -315
- package/.framework/functions/_shared/pipeline-runner.ts +704 -155
- package/.framework/functions/_shared/principal.ts +436 -263
- package/.framework/functions/_shared/rate-limit.ts +233 -0
- package/.framework/functions/_shared/resolve-credentials.ts +86 -19
- package/.framework/functions/_shared/resolve-ids.ts +203 -139
- package/.framework/functions/_shared/retry-deliveries.ts +51 -16
- package/.framework/functions/_shared/schema-utils.ts +602 -521
- package/.framework/functions/_shared/security.ts +345 -0
- package/.framework/functions/_shared/testing.ts +197 -172
- package/.framework/functions/_shared/tracing.ts +351 -21
- package/.framework/functions/_shared/trigger-engine.ts +425 -136
- package/.framework/functions/_shared/webhook-registration.ts +71 -70
- package/.framework/functions/_shared/webhook-registry.ts +126 -83
- package/.framework/functions/account-nodes.ts +30 -30
- package/.framework/functions/adapters/generic-webhook-inbound.ts +49 -16
- package/.framework/functions/adapters/generic-webhook-outbound.ts +17 -17
- package/.framework/functions/adapters/openai-outbound.ts +15 -16
- package/.framework/functions/admin-data.ts +596 -173
- package/.framework/functions/admin-funnel.ts +64 -60
- package/.framework/functions/admin-install-funnel.ts +84 -66
- package/.framework/functions/admin-signals.ts +69 -51
- package/.framework/functions/ai-agents.ts +431 -106
- package/.framework/functions/ai-interactions.ts +186 -112
- package/.framework/functions/api-keys.ts +107 -107
- package/.framework/functions/apps.ts +154 -136
- package/.framework/functions/auth.ts +83 -65
- package/.framework/functions/cil-agent-ingest.ts +189 -232
- package/.framework/functions/cil-agent.ts +433 -177
- package/.framework/functions/cil-callmap.ts +642 -430
- package/.framework/functions/cil-config.ts +139 -135
- package/.framework/functions/cil-context.ts +214 -127
- package/.framework/functions/cil-doc.ts +587 -458
- package/.framework/functions/cil-embeddings.ts +453 -364
- package/.framework/functions/cil-graph.ts +427 -142
- package/.framework/functions/cil-ingest.ts +1418 -1154
- package/.framework/functions/cil-pipeline.ts +276 -21
- package/.framework/functions/cil-project.ts +659 -132
- package/.framework/functions/cil-validate.ts +198 -164
- package/.framework/functions/debug-auth.ts +57 -55
- package/.framework/functions/deliveries.ts +80 -21
- package/.framework/functions/embeddings.ts +1023 -318
- package/.framework/functions/eval-harness.ts +146 -108
- package/.framework/functions/integration-outbound.ts +205 -75
- package/.framework/functions/integration-routes.ts +128 -23
- package/.framework/functions/integrations.ts +125 -100
- package/.framework/functions/invites.ts +1095 -460
- package/.framework/functions/item-progress.ts +158 -102
- package/.framework/functions/kb.ts +34 -10
- package/.framework/functions/logs.ts +133 -133
- package/.framework/functions/observability.ts +152 -122
- package/.framework/functions/pipeline-executions.ts +147 -132
- package/.framework/functions/pipelines.ts +134 -119
- package/.framework/functions/prompt-configs.ts +96 -80
- package/.framework/functions/roles.ts +112 -82
- package/.framework/functions/security.ts +450 -0
- package/.framework/functions/system-cron.ts +117 -80
- package/.framework/functions/system.ts +158 -98
- package/.framework/functions/tests.ts +29 -29
- package/.framework/functions/timers.ts +94 -95
- package/.framework/functions/trigger-scheduler.ts +10 -0
- package/.framework/functions/triggers.ts +179 -149
- package/.framework/functions/types.ts +137 -125
- package/.framework/mcp/index.ts +133 -0
- package/.framework/mcp/load-env.ts +60 -0
- package/.framework/mcp/shared/app-manifest.ts +275 -0
- package/.framework/mcp/shared/db.ts +477 -0
- package/.framework/mcp/shared/kb.ts +118 -0
- package/.framework/mcp/tools/architect.ts +431 -0
- package/.framework/mcp/tools/cil/context.ts +345 -0
- package/.framework/mcp/tools/cil/graph.ts +242 -0
- package/.framework/mcp/tools/cil/ingest.ts +1217 -0
- package/.framework/mcp/tools/cil/pipeline-orchestrator.ts +693 -0
- package/.framework/mcp/tools/cil/pipeline.ts +767 -0
- package/.framework/mcp/tools/cil/project.ts +791 -0
- package/.framework/mcp/tools/cil/retrieval.ts +336 -0
- package/.framework/mcp/tools/cil/search-core.ts +454 -0
- package/.framework/mcp/tools/cil/search.ts +97 -0
- package/.framework/mcp/tools/cil/suggest.ts +186 -0
- package/.framework/mcp/tools/cil/validate.ts +1369 -0
- package/.framework/mcp/tools/kb/delete.ts +139 -0
- package/.framework/mcp/tools/kb/index.ts +52 -0
- package/.framework/mcp/tools/kb/ingest.ts +84 -0
- package/.framework/mcp/tools/kb/list-types.ts +102 -0
- package/.framework/mcp/tools/kb/publish.ts +100 -0
- package/.framework/mcp/tools/kb/reindex.ts +86 -0
- package/.framework/mcp/tools/kb/revoke.ts +85 -0
- package/.framework/mcp/tools/kb/search.ts +101 -0
- package/.framework/mcp/tools/kb/upsert.ts +125 -0
- package/.framework/mcp/tools/observability.ts +510 -0
- package/.framework/migrations/001_core_schema.sql +15 -0
- package/.framework/migrations/002_core_rls_and_functions.sql +15 -0
- package/.framework/migrations/003_core_system_data.sql +16 -1
- package/.framework/migrations/004_core_rpc_and_broker.sql +17 -1
- package/.framework/migrations/005_core_observability.sql +17 -1
- package/.framework/migrations/006_security_hardening_rls.sql +15 -0
- package/.framework/migrations/007_kb_article_list.sql +17 -1
- package/.framework/migrations/008_items_target.sql +15 -0
- package/.framework/migrations/009_roles_slug_unique.sql +15 -0
- package/.framework/migrations/010_auth_user_trigger.sql +15 -0
- package/.framework/migrations/011_spine_system_account.sql +16 -0
- package/.framework/migrations/012_service_role_grants.sql +16 -0
- package/.framework/migrations/013_get_account_apps_role_filter.sql +15 -0
- package/.framework/migrations/014_apps_required_roles.sql +16 -0
- package/.framework/migrations/015_types_kind_slug_unique.sql +20 -0
- package/.framework/migrations/016_cil_types.sql +281 -0
- package/.framework/migrations/017_cil_stable_ids.sql +37 -0
- package/.framework/migrations/018_runtime_tables.sql +129 -0
- package/.framework/migrations/019_agent_prompt_columns.sql +56 -0
- package/.framework/migrations/020_schema_reconciliation.sql +67 -0
- package/.framework/migrations/021_kb_embedding_lifecycle.sql +31 -0
- package/.framework/migrations/032_cil_status_migration.sql +73 -0
- package/.framework/migrations/033_cil_versioning.sql +73 -0
- package/.framework/migrations/034_match_embeddings_knn.sql +115 -0
- package/.framework/migrations/035_rate_limits.sql +55 -0
- package/.framework/migrations/036_demo_record_flags.sql +72 -0
- package/.framework/migrations/037_kb_types_canonical.sql +244 -0
- package/.framework/migrations/038_drop_demo_record_flags.sql +38 -0
- package/.framework/migrations/042_registration_hierarchy.sql +309 -0
- package/.framework/migrations/043_policy_actor_cleanup.sql +39 -0
- package/.framework/migrations/044_match_embeddings_filtered_knn.sql +151 -0
- package/.framework/migrations/045_security_critical_rls.sql +139 -0
- package/.framework/migrations/046_security_missing_rls.sql +79 -0
- package/.framework/migrations/047_people_updated_by.sql +27 -0
- package/.framework/migrations/048_watcher_last_seen_at.sql +24 -0
- package/.framework/migrations/049_security_blocklist.sql +148 -0
- package/.framework/migrations/050_notifications.sql +49 -0
- package/.framework/migrations/051_message_agent_fields.sql +74 -0
- package/.framework/migrations/052_registration_security.sql +421 -0
- package/.framework/migrations/053_builtin_action_seeds.sql +66 -0
- package/.framework/migrations/054_kb_ingest_lease.sql +157 -0
- package/.framework/migrations/055_type_id_drift_reconciliation.sql +33 -0
- package/.framework/migrations/056_slug_column_reconciliation.sql +38 -0
- package/.framework/migrations/057_pipelines_slug_identity.sql +14 -0
- package/.framework/migrations/058_account_data_field_declarations.sql +53 -0
- package/.framework/migrations/059_registration_placement_fixes.sql +269 -0
- package/.framework/migrations/060_account_person_record_permissions.sql +38 -0
- package/.framework/migrations/061_fk_dedup.sql +32 -0
- package/.framework/public/spine-logo.svg +10 -3
- package/.framework/scripts/app-install-cli.ts +190 -93
- package/.framework/scripts/assemble-frontend.sh +127 -44
- package/.framework/scripts/assemble-functions.sh +128 -30
- package/.framework/scripts/boundary-check.sh +6 -2
- package/.framework/scripts/build-manifest.sh +24 -68
- package/.framework/scripts/check-core-integrity.sh +15 -76
- package/.framework/scripts/checksum-manifest.mts +343 -0
- package/.framework/scripts/cil-migrate-markers.ts +403 -0
- package/.framework/scripts/fix-cil-markers.mjs +176 -0
- package/.framework/scripts/verify-integrity.sh +21 -57
- package/.framework/scripts/verify-manifest.mts +305 -0
- package/.framework/seeds/types/funnel_signal_use.json +74 -21
- package/.framework/seeds/types/spine_instance.json +73 -21
- package/.framework/src/App.tsx +118 -72
- package/.framework/src/apps/admin/index.tsx +855 -58
- package/.framework/src/components/AppWrapper.tsx +43 -45
- package/.framework/src/components/CustomAppLoader.tsx +160 -116
- package/.framework/src/components/admin/AdminListPage.tsx +46 -44
- package/.framework/src/components/admin/AdminSidebar.tsx +57 -47
- package/.framework/src/components/admin/AdminStatsCard.tsx +46 -44
- package/.framework/src/components/admin/PageInstructions.tsx +98 -2
- package/.framework/src/components/admin/SortableTableHeader.tsx +44 -45
- package/.framework/src/components/app-shell/GenericAppShell.tsx +64 -65
- package/.framework/src/components/app-shell/GenericDetailPage.tsx +44 -47
- package/.framework/src/components/app-shell/GenericListPage.tsx +45 -49
- package/.framework/src/components/app-sidebar.tsx +42 -45
- package/.framework/src/components/auth/ProtectedRoute.tsx +48 -41
- package/.framework/src/components/auth/TurnstileWidget.tsx +27 -0
- package/.framework/src/components/kb/KBArticleEditor.tsx +231 -22
- package/.framework/src/components/kb/KBArticleList.tsx +251 -10
- package/.framework/src/components/layout/AppShell.tsx +51 -45
- package/.framework/src/components/layout/Header.tsx +42 -43
- package/.framework/src/components/layout/Layout.tsx +46 -46
- package/.framework/src/components/layout/Sidebar.tsx +196 -96
- package/.framework/src/components/runtime/DataDetailHeader.tsx +55 -30
- package/.framework/src/components/runtime/DataDetailPage.tsx +31 -269
- package/.framework/src/components/runtime/DataFilters.tsx +49 -74
- package/.framework/src/components/runtime/DataHeader.tsx +53 -32
- package/.framework/src/components/runtime/DataListPage.tsx +51 -155
- package/.framework/src/components/runtime/DataStats.tsx +66 -44
- package/.framework/src/components/runtime/DataTable.tsx +49 -149
- package/.framework/src/components/runtime/SchemaDetailForm.tsx +45 -75
- package/.framework/src/components/runtime/index.ts +119 -16
- package/.framework/src/components/search-form.tsx +46 -29
- package/.framework/src/components/shared/AgentView.tsx +65 -48
- package/.framework/src/components/shared/FieldRenderer.tsx +144 -50
- package/.framework/src/components/shared/InviteManager.tsx +207 -97
- package/.framework/src/components/shared/MemberList.tsx +97 -0
- package/.framework/src/components/shared/SchemaFields.tsx +107 -86
- package/.framework/src/components/ui/DataTable.tsx +80 -68
- package/.framework/src/components/ui/Form.tsx +157 -146
- package/.framework/src/components/ui/ItemCard.tsx +74 -67
- package/.framework/src/components/ui/ItemListView.tsx +73 -68
- package/.framework/src/components/ui/LoadingSpinner.tsx +43 -48
- package/.framework/src/components/ui/Modal.tsx +78 -68
- package/.framework/src/components/ui/RichTextEditor.tsx +89 -69
- package/.framework/src/components/ui/accordion.tsx +85 -86
- package/.framework/src/components/ui/alert-dialog.tsx +197 -184
- package/.framework/src/components/ui/alert.tsx +105 -94
- package/.framework/src/components/ui/aspect-ratio.tsx +57 -43
- package/.framework/src/components/ui/avatar.tsx +122 -107
- package/.framework/src/components/ui/badge.tsx +60 -55
- package/.framework/src/components/ui/breadcrumb.tsx +127 -128
- package/.framework/src/components/ui/button-group.tsx +86 -72
- package/.framework/src/components/ui/button.tsx +71 -50
- package/.framework/src/components/ui/calendar.tsx +72 -57
- package/.framework/src/components/ui/card.tsx +136 -129
- package/.framework/src/components/ui/carousel.tsx +226 -107
- package/.framework/src/components/ui/chart.tsx +252 -147
- package/.framework/src/components/ui/checkbox.tsx +43 -44
- package/.framework/src/components/ui/collapsible.tsx +86 -71
- package/.framework/src/components/ui/combobox.tsx +282 -249
- package/.framework/src/components/ui/command.tsx +158 -146
- package/.framework/src/components/ui/context-menu.tsx +239 -240
- package/.framework/src/components/ui/dialog.tsx +174 -157
- package/.framework/src/components/ui/direction.tsx +72 -56
- package/.framework/src/components/ui/drawer.tsx +168 -169
- package/.framework/src/components/ui/dropdown-menu.tsx +254 -223
- package/.framework/src/components/ui/empty.tsx +131 -120
- package/.framework/src/components/ui/field.tsx +205 -173
- package/.framework/src/components/ui/hover-card.tsx +71 -72
- package/.framework/src/components/ui/input-group.tsx +148 -133
- package/.framework/src/components/ui/input-otp.tsx +99 -86
- package/.framework/src/components/ui/input.tsx +43 -41
- package/.framework/src/components/ui/item.tsx +207 -185
- package/.framework/src/components/ui/kbd.tsx +57 -56
- package/.framework/src/components/ui/label.tsx +45 -41
- package/.framework/src/components/ui/menubar.tsx +268 -236
- package/.framework/src/components/ui/native-select.tsx +85 -86
- package/.framework/src/components/ui/navigation-menu.tsx +166 -156
- package/.framework/src/components/ui/pagination.tsx +131 -141
- package/.framework/src/components/ui/popover.tsx +125 -128
- package/.framework/src/components/ui/progress.tsx +47 -44
- package/.framework/src/components/ui/radio-group.tsx +60 -55
- package/.framework/src/components/ui/resizable.tsx +85 -72
- package/.framework/src/components/ui/scroll-area.tsx +57 -58
- package/.framework/src/components/ui/select.tsx +182 -169
- package/.framework/src/components/ui/separator.tsx +42 -43
- package/.framework/src/components/ui/sheet.tsx +170 -159
- package/.framework/src/components/ui/sidebar.tsx +395 -398
- package/.framework/src/components/ui/skeleton.tsx +42 -43
- package/.framework/src/components/ui/slider.tsx +61 -44
- package/.framework/src/components/ui/sonner.tsx +44 -44
- package/.framework/src/components/ui/spinner.tsx +47 -42
- package/.framework/src/components/ui/switch.tsx +56 -42
- package/.framework/src/components/ui/table-primitives.tsx +272 -132
- package/.framework/src/components/ui/table.tsx +140 -142
- package/.framework/src/components/ui/tabs.tsx +110 -93
- package/.framework/src/components/ui/textarea.tsx +43 -44
- package/.framework/src/components/ui/toggle-group.tsx +87 -71
- package/.framework/src/components/ui/toggle.tsx +56 -56
- package/.framework/src/components/ui/tooltip.tsx +99 -85
- package/.framework/src/contexts/AppContext.tsx +166 -114
- package/.framework/src/contexts/AuthContext.tsx +232 -137
- package/.framework/src/hooks/use-mobile.ts +43 -44
- package/.framework/src/hooks/useApi.ts +185 -172
- package/.framework/src/hooks/useAppPath.ts +31 -29
- package/.framework/src/hooks/useApps.ts +77 -42
- package/.framework/src/hooks/useEntityList.ts +66 -29
- package/.framework/src/hooks/useEntityRecord.ts +76 -32
- package/.framework/src/hooks/useForm.ts +62 -30
- package/.framework/src/hooks/useListSchema.ts +60 -43
- package/.framework/src/hooks/useSchemaRecord.ts +115 -95
- package/.framework/src/lib/api.ts +258 -134
- package/.framework/src/lib/registration.ts +181 -0
- package/.framework/src/lib/supabase.ts +118 -81
- package/.framework/src/lib/utils.ts +266 -266
- package/.framework/src/main.tsx +43 -44
- package/.framework/src/pages/DashboardPage.tsx +44 -43
- package/.framework/src/pages/NoAppPage.tsx +50 -0
- package/.framework/src/pages/NotFoundPage.tsx +32 -29
- package/.framework/src/pages/SetupPage.tsx +34 -33
- package/.framework/src/pages/admin/AIAgentDetailPage.tsx +69 -58
- package/.framework/src/pages/admin/AIAgentsPage.tsx +43 -40
- package/.framework/src/pages/admin/APIKeyDetailPage.tsx +63 -55
- package/.framework/src/pages/admin/APIKeysPage.tsx +44 -42
- package/.framework/src/pages/admin/AlertsConfigPage.tsx +117 -94
- package/.framework/src/pages/admin/AppDetailPage.tsx +48 -42
- package/.framework/src/pages/admin/AppsPage.tsx +45 -42
- package/.framework/src/pages/admin/DeliveriesPage.tsx +49 -17
- package/.framework/src/pages/admin/DesignedPage.tsx +31 -30
- package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +58 -0
- package/.framework/src/pages/admin/EmbeddingsPage.tsx +49 -0
- package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +31 -29
- package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +46 -29
- package/.framework/src/pages/admin/IntegratedDashboard.tsx +32 -29
- package/.framework/src/pages/admin/IntegrationDetailPage.tsx +68 -55
- package/.framework/src/pages/admin/IntegrationsPage.tsx +45 -42
- package/.framework/src/pages/admin/InvitesPage.tsx +60 -44
- package/.framework/src/pages/admin/LogsPage.tsx +87 -137
- package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +31 -29
- package/.framework/src/pages/admin/ObservabilityDashboard.tsx +150 -89
- package/.framework/src/pages/admin/PipelineDetailPage.tsx +77 -104
- package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +44 -43
- package/.framework/src/pages/admin/PipelinesPage.tsx +59 -145
- package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +53 -42
- package/.framework/src/pages/admin/PromptConfigsPage.tsx +47 -117
- package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +31 -44
- package/.framework/src/pages/admin/RoleDetailPage.tsx +49 -92
- package/.framework/src/pages/admin/RolesPage.tsx +47 -164
- package/.framework/src/pages/admin/SecurityPage.tsx +310 -0
- package/.framework/src/pages/admin/SelectTestPage.tsx +30 -32
- package/.framework/src/pages/admin/ShadcnTestPage.tsx +37 -44
- package/.framework/src/pages/admin/SimpleDashboard.tsx +32 -44
- package/.framework/src/pages/admin/TestRunDetailPage.tsx +97 -44
- package/.framework/src/pages/admin/TestingDashboard.tsx +126 -71
- package/.framework/src/pages/admin/TimerDetailPage.tsx +67 -55
- package/.framework/src/pages/admin/TimersPage.tsx +44 -42
- package/.framework/src/pages/admin/TriggerDetailPage.tsx +47 -42
- package/.framework/src/pages/admin/TriggersPage.tsx +58 -57
- package/.framework/src/pages/admin/TypeDetailPage.tsx +91 -55
- package/.framework/src/pages/admin/TypesPage.tsx +45 -42
- package/.framework/src/pages/admin/cil/CILAgentPage.tsx +258 -128
- package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +127 -123
- package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +308 -235
- package/.framework/src/pages/admin/cil/CILFileListPage.tsx +159 -110
- package/.framework/src/pages/admin/cil/CILFileSelectPage.tsx +432 -0
- package/.framework/src/pages/admin/cil/CILGraphPage.tsx +200 -178
- package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +286 -239
- package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +211 -90
- package/.framework/src/pages/admin/cil/CILSearchPage.tsx +156 -143
- package/.framework/src/pages/admin/cil/CILSuggestionsPage.tsx +379 -0
- package/.framework/src/pages/admin/cil/CILVersionsPage.tsx +337 -0
- package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +219 -214
- package/.framework/src/pages/admin/kb/KBAdminPage.tsx +64 -0
- package/.framework/src/pages/auth/AuthConfirmPage.tsx +135 -65
- package/.framework/src/pages/auth/ForgotPasswordPage.tsx +39 -31
- package/.framework/src/pages/auth/LoginPage.tsx +38 -32
- package/.framework/src/pages/auth/PendingApprovalPage.tsx +31 -28
- package/.framework/src/pages/auth/RegisterPage.tsx +429 -155
- package/.framework/src/pages/spine-framework/APIPage.tsx +33 -30
- package/.framework/src/pages/spine-framework/CLIPage.tsx +32 -30
- package/.framework/src/types/auth.ts +101 -93
- package/.framework/src/types/types.ts +283 -262
- package/.framework/templates/project.json +87 -0
- package/.framework/templates/spine.config.neutral.json +7 -0
- package/.framework/tests/api/api-surface.test.ts +381 -0
- package/.framework/tests/fixtures/seed.ts +427 -0
- package/.framework/tests/fixtures/teardown.ts +228 -0
- package/.framework/tests/reporter.ts +351 -0
- package/.framework/tests/setup.ts +135 -0
- package/.framework/tests/ui/ui-sweep.ts +278 -0
- package/.framework/tests/unit/admin-data-logger.test.ts +310 -0
- package/.framework/tests/unit/agent-runner.test.ts +2389 -0
- package/.framework/tests/unit/ai-interactions.test.ts +81 -0
- package/.framework/tests/unit/app-manifest.test.ts +359 -0
- package/.framework/tests/unit/assembly-scripts.test.ts +172 -0
- package/.framework/tests/unit/cil-determinism.test.ts +85 -0
- package/.framework/tests/unit/core-isolation.test.ts +153 -0
- package/.framework/tests/unit/funnel-signals.test.ts +135 -0
- package/.framework/tests/unit/install-app.test.ts +1759 -0
- package/.framework/tests/unit/invites-security.test.ts +572 -0
- package/.framework/tests/unit/kb-ingest-lease.test.ts +287 -0
- package/.framework/tests/unit/kb-search.test.ts +119 -0
- package/.framework/tests/unit/migrate.test.ts +509 -0
- package/.framework/tests/unit/notify.test.ts +136 -0
- package/.framework/tests/unit/permissions.test.ts +269 -0
- package/.framework/tests/unit/pipeline-runner.test.ts +755 -0
- package/.framework/tests/unit/principal-cache.test.ts +138 -0
- package/.framework/tests/unit/retrieval-golden.test.ts +520 -0
- package/.framework/tests/unit/runtime-isolation.test.ts +642 -0
- package/.framework/tests/unit/schema-utils.test.ts +225 -0
- package/.framework/tests/unit/trigger-engine.test.ts +513 -0
- package/.framework/tests/unit/validate-app.test.ts +527 -0
- package/README.md +34 -3
- package/bin/spine-framework.cjs +1 -0
- package/config/tailwind.config.cjs +7 -0
- package/config/tsconfig.functions.json +42 -0
- package/config/tsconfig.json +37 -9
- package/config/vite.config.ts +31 -2
- package/netlify.toml +31 -3
- package/package.json +46 -29
- package/scripts/assemble-frontend.sh +127 -44
- package/scripts/assemble-functions.sh +127 -29
- package/scripts/boundary-check.sh +6 -2
- package/scripts/build-manifest.sh +24 -68
- package/scripts/checksum-manifest.mts +345 -0
- package/scripts/dev-clean.sh +86 -0
- package/scripts/dev-netlify.sh +49 -0
- package/scripts/netlify-dev-wrapper.sh +2 -0
- package/scripts/verify-install.ts +358 -0
- package/scripts/verify-integrity.sh +21 -57
- package/scripts/verify-manifest.mts +305 -0
- package/templates/project/gitignore +45 -0
- package/{config → templates/project}/package-lock.json +22335 -9366
- package/vitest.config.ts +46 -0
- package/.framework/public/spine.config.json +0 -91
- package/config/deno.lock +0 -108
- package/config/tsconfig.node.tsbuildinfo +0 -1
- package/config/tsconfig.tsbuildinfo +0 -1
- package/config/vite.config.d.ts +0 -2
- package/custom/.devin/AGENT.md +0 -357
- package/custom/.devin/skills/install-app/SKILL.md +0 -39
- package/custom/.devin/skills/spine-workbench-discovery/SKILL.md +0 -39
- package/custom/.devin/skills/spine-workbench-idea/SKILL.md +0 -36
- package/custom/.devin/skills/spine-workbench-implement/SKILL.md +0 -46
- package/custom/.devin/skills/spine-workbench-initiative/SKILL.md +0 -28
- package/custom/.devin/skills/spine-workbench-plan/SKILL.md +0 -38
- package/custom/.devin/workflows/app-install.yaml +0 -83
- package/custom/README.md +0 -79
- package/docs/README.md +0 -15
- package/scripts/app-install-cli.ts +0 -286
- package/scripts/check-core-integrity.sh +0 -82
- package/scripts/ingest-chunks.cjs +0 -202
- package/scripts/kb-chunk-parser.cjs +0 -312
- package/scripts/kb-chunk-parser.ts +0 -330
- package/scripts/kb-ingest-docs.ts +0 -203
- package/scripts/load-test-app-install.ts +0 -484
- package/scripts/test-login.js +0 -33
- package/spine.config.json +0 -91
|
@@ -1,128 +1,115 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// CIL[BEGIN chunk_id="drawer_module_header_1783844098" type="module_header" identity="imports" parent="none"]
|
|
14
|
-
// CIL[DOC-MACRO purpose="Import dependencies for drawer components"]
|
|
15
|
-
// CIL[DOC-RESPONSIBILITY responsibility="Import React, Vaul primitives and utilities"]
|
|
16
|
-
// CIL[DOC-CONTEXT module="drawer" layer="ui" related_files="[\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"\\\"]"]
|
|
17
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="React, Vaul primitives, utilities" errors="none" side_effects="none"]
|
|
18
|
-
// CIL[DOC-MICRO logic_summary="Imports React, Vaul Drawer primitives and styling utilities" notable_decisions="[]"]
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/drawer.tsx:module_header:module_header"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Provides module-level imports for the Vaul-based drawer UI primitives"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Import React, Vaul DrawerPrimitive, and the cn class-merging utility"]
|
|
4
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" 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 the dependencies used by all drawer subcomponents in this module" notable_decisions="[]"]
|
|
19
7
|
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
20
8
|
// CIL[DOC-STABILITY stability="stable"]
|
|
21
|
-
// CIL[DOC-AUDIENCE audience="
|
|
22
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/ui/table-primitives.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, \."]
|
|
23
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
24
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
25
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
26
|
-
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
27
|
-
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
9
|
+
// CIL[DOC-AUDIENCE audience="framework-ui"]
|
|
28
10
|
import * as React from "react"
|
|
29
11
|
import { Drawer as DrawerPrimitive } from "vaul"
|
|
30
12
|
import { cn } from "@/lib/utils"
|
|
31
|
-
// CIL[
|
|
32
|
-
// CIL[
|
|
33
|
-
// CIL[DOC-
|
|
34
|
-
// CIL[DOC-
|
|
35
|
-
// CIL[DOC-CONTEXT module="drawer" layer="ui" related_files="[\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
36
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Drawer root component" errors="none" side_effects="renders DOM"]
|
|
37
|
-
// CIL[DOC-MICRO logic_summary="Wraps Vaul Drawer.Root with data-slot attribute" notable_decisions="[]"]
|
|
38
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
39
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
40
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 1. Direct calls: 0. Related files: .framework/src/components/ui/table-primitives.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
41
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 2."]
|
|
42
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
43
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
13
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Provides module-level imports for the Vaul-based drawer UI primitives'; 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"]
|
|
44
17
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
45
18
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
19
|
+
// CIL[END stable_id="~/.framework/src/components/ui/drawer.tsx:module_header:module_header"]
|
|
20
|
+
|
|
21
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/drawer.tsx:Drawer:function"]
|
|
22
|
+
// CIL[DOC-MACRO purpose="Wraps Vaul DrawerPrimitive.Root and sets the drawer data-slot"]
|
|
23
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render the root drawer container with a consistent data-slot attribute"]
|
|
24
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/drawer.tsx,.framework/src/lib/utils.ts"]
|
|
25
|
+
// CIL[DOC-CONTRACT inputs="props: ComponentProps of DrawerPrimitive.Root" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
26
|
+
// CIL[DOC-MICRO logic_summary="Forwards all props to DrawerPrimitive.Root and applies data-slot drawer" notable_decisions="[]"]
|
|
27
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
28
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
46
29
|
function Drawer({
|
|
47
30
|
...props
|
|
48
31
|
}: React.ComponentProps<typeof DrawerPrimitive.Root>) {
|
|
49
32
|
return <DrawerPrimitive.Root data-slot="drawer" {...props} />
|
|
50
33
|
}
|
|
51
|
-
// CIL[
|
|
52
|
-
// CIL[
|
|
53
|
-
// CIL[DOC-
|
|
54
|
-
// CIL[DOC-
|
|
55
|
-
// CIL[DOC-CONTEXT module="drawer" layer="ui" related_files="[\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
56
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Drawer trigger" errors="none" side_effects="renders DOM"]
|
|
57
|
-
// CIL[DOC-MICRO logic_summary="Wraps Vaul Drawer.Trigger with data-slot attribute" notable_decisions="[]"]
|
|
58
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
59
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
60
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 1. Direct calls: 0. Related files: .framework/src/components/ui/table-primitives.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
61
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 2."]
|
|
62
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
63
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
34
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Wraps Vaul DrawerPrimitive.Root and sets the drawer data-slot'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
35
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
36
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
37
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
64
38
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
65
39
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
40
|
+
// CIL[END stable_id="~/.framework/src/components/ui/drawer.tsx:Drawer:function"]
|
|
41
|
+
|
|
42
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerTrigger:function"]
|
|
43
|
+
// CIL[DOC-MACRO purpose="Wraps Vaul DrawerPrimitive.Trigger and sets the drawer-trigger data-slot"]
|
|
44
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a trigger element that opens or closes the drawer"]
|
|
45
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/drawer.tsx,.framework/src/lib/utils.ts"]
|
|
46
|
+
// CIL[DOC-CONTRACT inputs="props: ComponentProps of DrawerPrimitive.Trigger" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
47
|
+
// CIL[DOC-MICRO logic_summary="Forwards all props to DrawerPrimitive.Trigger and applies data-slot drawer-trigger" notable_decisions="[]"]
|
|
48
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
49
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
66
50
|
function DrawerTrigger({
|
|
67
51
|
...props
|
|
68
52
|
}: React.ComponentProps<typeof DrawerPrimitive.Trigger>) {
|
|
69
53
|
return <DrawerPrimitive.Trigger data-slot="drawer-trigger" {...props} />
|
|
70
54
|
}
|
|
71
|
-
// CIL[
|
|
72
|
-
// CIL[
|
|
73
|
-
// CIL[DOC-
|
|
74
|
-
// CIL[DOC-
|
|
75
|
-
// CIL[DOC-CONTEXT module="drawer" layer="ui" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
76
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Drawer portal" errors="none" side_effects="renders DOM"]
|
|
77
|
-
// CIL[DOC-MICRO logic_summary="Wraps Vaul Drawer.Portal with data-slot attribute" notable_decisions="[]"]
|
|
78
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
79
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
80
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 1. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/src/components/ui/table-primitives.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
81
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 2."]
|
|
82
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
83
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
55
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Wraps Vaul DrawerPrimitive.Trigger and sets the drawer-trigger data-slot'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
56
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
57
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
58
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
84
59
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
85
60
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
61
|
+
// CIL[END stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerTrigger:function"]
|
|
62
|
+
|
|
63
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerPortal:function"]
|
|
64
|
+
// CIL[DOC-MACRO purpose="Wraps Vaul DrawerPrimitive.Portal and sets the drawer-portal data-slot"]
|
|
65
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a portal that teleports drawer content into the document body"]
|
|
66
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/drawer.tsx,.framework/src/lib/utils.ts"]
|
|
67
|
+
// CIL[DOC-CONTRACT inputs="props: ComponentProps of DrawerPrimitive.Portal" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
68
|
+
// CIL[DOC-MICRO logic_summary="Forwards all props to DrawerPrimitive.Portal and applies data-slot drawer-portal" notable_decisions="[]"]
|
|
69
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
70
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
86
71
|
function DrawerPortal({
|
|
87
72
|
...props
|
|
88
73
|
}: React.ComponentProps<typeof DrawerPrimitive.Portal>) {
|
|
89
74
|
return <DrawerPrimitive.Portal data-slot="drawer-portal" {...props} />
|
|
90
75
|
}
|
|
91
|
-
// CIL[
|
|
92
|
-
// CIL[
|
|
93
|
-
// CIL[DOC-
|
|
94
|
-
// CIL[DOC-
|
|
95
|
-
// CIL[DOC-CONTEXT module="drawer" layer="ui" related_files="[\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
96
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Drawer close" errors="none" side_effects="renders DOM"]
|
|
97
|
-
// CIL[DOC-MICRO logic_summary="Wraps Vaul Drawer.Close with data-slot attribute" 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. Direct callers: 1. Direct calls: 0. Related files: .framework/src/components/ui/table-primitives.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
101
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 1."]
|
|
102
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
103
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
76
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Wraps Vaul DrawerPrimitive.Portal and sets the drawer-portal data-slot'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
77
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
78
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
79
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
104
80
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
105
81
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
82
|
+
// CIL[END stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerPortal:function"]
|
|
83
|
+
|
|
84
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerClose:function"]
|
|
85
|
+
// CIL[DOC-MACRO purpose="Wraps Vaul DrawerPrimitive.Close and sets the drawer-close data-slot"]
|
|
86
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a button or element that closes the drawer"]
|
|
87
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/drawer.tsx,.framework/src/lib/utils.ts"]
|
|
88
|
+
// CIL[DOC-CONTRACT inputs="props: ComponentProps of DrawerPrimitive.Close" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
89
|
+
// CIL[DOC-MICRO logic_summary="Forwards all props to DrawerPrimitive.Close and applies data-slot drawer-close" notable_decisions="[]"]
|
|
90
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
91
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
106
92
|
function DrawerClose({
|
|
107
93
|
...props
|
|
108
94
|
}: React.ComponentProps<typeof DrawerPrimitive.Close>) {
|
|
109
95
|
return <DrawerPrimitive.Close data-slot="drawer-close" {...props} />
|
|
110
96
|
}
|
|
111
|
-
// CIL[
|
|
112
|
-
// CIL[
|
|
113
|
-
// CIL[DOC-
|
|
114
|
-
// CIL[DOC-
|
|
115
|
-
// CIL[DOC-CONTEXT module="drawer" layer="ui" related_files="[]"]
|
|
116
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled overlay" errors="none" side_effects="renders DOM"]
|
|
117
|
-
// CIL[DOC-MICRO logic_summary="Creates semi-transparent backdrop with blur and animations" notable_decisions="[]"]
|
|
118
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
119
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
120
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
121
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
122
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
123
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
97
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Wraps Vaul DrawerPrimitive.Close and sets the drawer-close data-slot'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
98
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
99
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
100
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
124
101
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
125
102
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
103
|
+
// CIL[END stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerClose:function"]
|
|
104
|
+
|
|
105
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerOverlay:function"]
|
|
106
|
+
// CIL[DOC-MACRO purpose="Renders a fixed backdrop overlay behind the drawer content"]
|
|
107
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provide a darkened, optionally blurred overlay with open and close animations"]
|
|
108
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/drawer.tsx,.framework/src/lib/utils.ts"]
|
|
109
|
+
// CIL[DOC-CONTRACT inputs="className: optional string, props: ComponentProps of DrawerPrimitive.Overlay" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
110
|
+
// CIL[DOC-MICRO logic_summary="Uses cn to merge a fixed inset-0 black/80 backdrop class with any supplied className" notable_decisions="[]"]
|
|
111
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
112
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
126
113
|
function DrawerOverlay({
|
|
127
114
|
className,
|
|
128
115
|
...props
|
|
@@ -138,21 +125,22 @@ function DrawerOverlay({
|
|
|
138
125
|
/>
|
|
139
126
|
)
|
|
140
127
|
}
|
|
141
|
-
// CIL[
|
|
142
|
-
// CIL[
|
|
143
|
-
// CIL[DOC-
|
|
144
|
-
// CIL[DOC-
|
|
145
|
-
// CIL[DOC-CONTEXT module="drawer" layer="ui" related_files="[]"]
|
|
146
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="drawer content" errors="none" side_effects="renders DOM"]
|
|
147
|
-
// CIL[DOC-MICRO logic_summary="Creates directional drawer with overlay, animations and drag handle" notable_decisions="[]"]
|
|
148
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
149
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
150
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
151
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
152
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
153
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
128
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Renders a fixed backdrop overlay behind the drawer content'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
129
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
130
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
131
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
154
132
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
155
133
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
134
|
+
// CIL[END stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerOverlay:function"]
|
|
135
|
+
|
|
136
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerContent:function"]
|
|
137
|
+
// CIL[DOC-MACRO purpose="Composes the portal, overlay, and content for the drawer"]
|
|
138
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render the drawer content surface with direction-aware positioning and a drag handle"]
|
|
139
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/drawer.tsx,.framework/src/lib/utils.ts"]
|
|
140
|
+
// CIL[DOC-CONTRACT inputs="className: optional string, children: optional ReactNode, props: ComponentProps of DrawerPrimitive.Content" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
141
|
+
// CIL[DOC-MICRO logic_summary="Wraps DrawerPortal and DrawerOverlay, then renders a styled Vaul content panel with responsive width and a centered drag handle" notable_decisions="[]"]
|
|
142
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
143
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
156
144
|
function DrawerContent({
|
|
157
145
|
className,
|
|
158
146
|
children,
|
|
@@ -175,21 +163,22 @@ function DrawerContent({
|
|
|
175
163
|
</DrawerPortal>
|
|
176
164
|
)
|
|
177
165
|
}
|
|
178
|
-
// CIL[
|
|
179
|
-
// CIL[
|
|
180
|
-
// CIL[DOC-
|
|
181
|
-
// CIL[DOC-
|
|
182
|
-
// CIL[DOC-CONTEXT module="drawer" layer="ui" related_files="[\".framework/migrations/015_simplify_apps_table.sql\",\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\"]"]
|
|
183
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled header div" errors="none" side_effects="renders DOM"]
|
|
184
|
-
// CIL[DOC-MICRO logic_summary="Creates responsive header container with directional text alignment" notable_decisions="[]"]
|
|
185
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
186
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
187
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/migrations/015_simplify_apps_table.sql, .framework/src/components/ui/table-primitives.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx."]
|
|
188
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
189
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
190
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
166
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Composes the portal, overlay, and content for the drawer'; 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"]
|
|
191
170
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
192
171
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
172
|
+
// CIL[END stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerContent:function"]
|
|
173
|
+
|
|
174
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerHeader:function"]
|
|
175
|
+
// CIL[DOC-MACRO purpose="Provides a titled header area inside a drawer"]
|
|
176
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a flex column header with direction-aware text alignment"]
|
|
177
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/drawer.tsx,.framework/src/lib/utils.ts"]
|
|
178
|
+
// CIL[DOC-CONTRACT inputs="className: optional string, props: ComponentProps of div" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
179
|
+
// CIL[DOC-MICRO logic_summary="Uses cn to merge flex column padding classes, centering text for top and bottom directions on small screens" notable_decisions="[]"]
|
|
180
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
181
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
193
182
|
function DrawerHeader({ className, ...props }: React.ComponentProps<"div">) {
|
|
194
183
|
return (
|
|
195
184
|
<div
|
|
@@ -202,21 +191,22 @@ function DrawerHeader({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
202
191
|
/>
|
|
203
192
|
)
|
|
204
193
|
}
|
|
205
|
-
// CIL[
|
|
206
|
-
// CIL[
|
|
207
|
-
// CIL[DOC-
|
|
208
|
-
// CIL[DOC-
|
|
209
|
-
// CIL[DOC-CONTEXT module="drawer" layer="ui" related_files="[]"]
|
|
210
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled footer div" errors="none" side_effects="renders DOM"]
|
|
211
|
-
// CIL[DOC-MICRO logic_summary="Creates auto-margin footer container with flex layout" notable_decisions="[]"]
|
|
212
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
213
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
214
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
215
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
216
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
217
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
194
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Provides a titled header area inside a drawer'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
195
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
196
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
197
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
218
198
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
219
199
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
200
|
+
// CIL[END stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerHeader:function"]
|
|
201
|
+
|
|
202
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerFooter:function"]
|
|
203
|
+
// CIL[DOC-MACRO purpose="Provides a footer area at the bottom of a drawer"]
|
|
204
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a flex column footer with auto top margin and padding"]
|
|
205
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/drawer.tsx,.framework/src/lib/utils.ts"]
|
|
206
|
+
// CIL[DOC-CONTRACT inputs="className: optional string, props: ComponentProps of div" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
207
|
+
// CIL[DOC-MICRO logic_summary="Uses cn to merge auto top margin, flex column, and padding classes" notable_decisions="[]"]
|
|
208
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
209
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
220
210
|
function DrawerFooter({ className, ...props }: React.ComponentProps<"div">) {
|
|
221
211
|
return (
|
|
222
212
|
<div
|
|
@@ -226,21 +216,22 @@ function DrawerFooter({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
226
216
|
/>
|
|
227
217
|
)
|
|
228
218
|
}
|
|
229
|
-
// CIL[
|
|
230
|
-
// CIL[
|
|
231
|
-
// CIL[DOC-
|
|
232
|
-
// CIL[DOC-
|
|
233
|
-
// CIL[DOC-CONTEXT module="drawer" layer="ui" related_files="[]"]
|
|
234
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled title" errors="none" side_effects="renders DOM"]
|
|
235
|
-
// CIL[DOC-MICRO logic_summary="Creates heading-styled title with font and foreground color" notable_decisions="[]"]
|
|
236
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
237
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
238
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
239
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
240
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
241
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
219
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Provides a footer area at the bottom of a drawer'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
220
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
221
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
222
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
242
223
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
243
224
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
225
|
+
// CIL[END stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerFooter:function"]
|
|
226
|
+
|
|
227
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerTitle:function"]
|
|
228
|
+
// CIL[DOC-MACRO purpose="Wraps Vaul DrawerPrimitive.Title and sets the drawer-title data-slot"]
|
|
229
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render the accessible title element for the drawer"]
|
|
230
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/drawer.tsx,.framework/src/lib/utils.ts"]
|
|
231
|
+
// CIL[DOC-CONTRACT inputs="className: optional string, props: ComponentProps of DrawerPrimitive.Title" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
232
|
+
// CIL[DOC-MICRO logic_summary="Forwards all props to DrawerPrimitive.Title and applies font-heading styling" notable_decisions="[]"]
|
|
233
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
234
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
244
235
|
function DrawerTitle({
|
|
245
236
|
className,
|
|
246
237
|
...props
|
|
@@ -256,21 +247,22 @@ function DrawerTitle({
|
|
|
256
247
|
/>
|
|
257
248
|
)
|
|
258
249
|
}
|
|
259
|
-
// CIL[
|
|
260
|
-
// CIL[
|
|
261
|
-
// CIL[DOC-
|
|
262
|
-
// CIL[DOC-
|
|
263
|
-
// CIL[DOC-CONTEXT module="drawer" layer="ui" related_files="[]"]
|
|
264
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled description" errors="none" side_effects="renders DOM"]
|
|
265
|
-
// CIL[DOC-MICRO logic_summary="Creates muted text styling for drawer descriptions" notable_decisions="[]"]
|
|
266
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
267
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
268
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
269
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
270
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
271
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
250
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Wraps Vaul DrawerPrimitive.Title and sets the drawer-title data-slot'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
251
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
252
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
253
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
272
254
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
273
255
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
256
|
+
// CIL[END stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerTitle:function"]
|
|
257
|
+
|
|
258
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerDescription:function"]
|
|
259
|
+
// CIL[DOC-MACRO purpose="Wraps Vaul DrawerPrimitive.Description and sets the drawer-description data-slot"]
|
|
260
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render the accessible description element for the drawer"]
|
|
261
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/drawer.tsx,.framework/src/lib/utils.ts"]
|
|
262
|
+
// CIL[DOC-CONTRACT inputs="className: optional string, props: ComponentProps of DrawerPrimitive.Description" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
263
|
+
// CIL[DOC-MICRO logic_summary="Forwards all props to DrawerPrimitive.Description and applies muted-foreground styling" notable_decisions="[]"]
|
|
264
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
265
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
274
266
|
function DrawerDescription({
|
|
275
267
|
className,
|
|
276
268
|
...props
|
|
@@ -283,21 +275,22 @@ function DrawerDescription({
|
|
|
283
275
|
/>
|
|
284
276
|
)
|
|
285
277
|
}
|
|
286
|
-
// CIL[
|
|
287
|
-
// CIL[
|
|
288
|
-
// CIL[DOC-
|
|
289
|
-
// CIL[DOC-
|
|
290
|
-
// CIL[DOC-CONTEXT module="drawer" layer="ui" related_files="[]"]
|
|
291
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="component exports" errors="none" side_effects="module exports"]
|
|
292
|
-
// CIL[DOC-MICRO logic_summary="Exports all drawer components for external usage" notable_decisions="[]"]
|
|
293
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
294
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
295
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
296
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
297
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
298
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
278
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Wraps Vaul DrawerPrimitive.Description and sets the drawer-description data-slot'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
279
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
280
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
281
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
299
282
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
300
283
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
284
|
+
// CIL[END stable_id="~/.framework/src/components/ui/drawer.tsx:DrawerDescription:function"]
|
|
285
|
+
|
|
286
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/drawer.tsx:module_exports:module_exports"]
|
|
287
|
+
// CIL[DOC-MACRO purpose="Re-exports all drawer UI subcomponents from this module"]
|
|
288
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Expose the public API of drawer primitives for consumption by other modules"]
|
|
289
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/drawer.tsx,.framework/src/lib/utils.ts"]
|
|
290
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Drawer, DrawerPortal, DrawerOverlay, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription" errors="none" side_effects="none"]
|
|
291
|
+
// CIL[DOC-MICRO logic_summary="Named exports of all wrapper functions in this file" notable_decisions="[]"]
|
|
292
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
293
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
301
294
|
export {
|
|
302
295
|
Drawer,
|
|
303
296
|
DrawerPortal,
|
|
@@ -310,4 +303,10 @@ export {
|
|
|
310
303
|
DrawerTitle,
|
|
311
304
|
DrawerDescription,
|
|
312
305
|
}
|
|
313
|
-
// CIL[
|
|
306
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Re-exports all drawer UI subcomponents from this module'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
307
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
308
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
309
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
310
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
311
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
312
|
+
// CIL[END stable_id="~/.framework/src/components/ui/drawer.tsx:module_exports:module_exports"]
|