spine-framework 0.3.145 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +76 -0
- package/.framework/.spine-manifest.json +19 -0
- package/.framework/cli/commands/agents.ts +61 -33
- package/.framework/cli/commands/auth.ts +60 -28
- package/.framework/cli/commands/create-app.ts +212 -80
- package/.framework/cli/commands/dev.ts +184 -68
- package/.framework/cli/commands/doctor.ts +324 -152
- package/.framework/cli/commands/generate.ts +119 -68
- package/.framework/cli/commands/init.ts +141 -242
- package/.framework/cli/commands/install-app.ts +1336 -314
- package/.framework/cli/commands/items.ts +31 -29
- package/.framework/cli/commands/migrate.ts +299 -156
- package/.framework/cli/commands/migrations.ts +62 -30
- package/.framework/cli/commands/pipelines.ts +31 -29
- package/.framework/cli/commands/status.ts +105 -45
- package/.framework/cli/commands/system.ts +47 -42
- package/.framework/cli/commands/test.ts +161 -102
- package/.framework/cli/commands/upgrade.ts +260 -0
- package/.framework/cli/commands/validate-app.ts +517 -161
- package/.framework/cli/context.ts +117 -85
- package/.framework/cli/env-loader.ts +74 -43
- package/.framework/cli/index.ts +70 -46
- package/.framework/cli/lib/project-files.ts +404 -0
- package/.framework/docs/guides/testing-guide.md +1 -1
- package/.framework/docs/runtime-types.md +72 -72
- package/.framework/functions/_shared/access.ts +84 -0
- package/.framework/functions/_shared/agent-runner.ts +5067 -1026
- package/.framework/functions/_shared/app-manifest.ts +214 -94
- package/.framework/functions/_shared/ast.ts +214 -0
- package/.framework/functions/_shared/audit.ts +91 -55
- package/.framework/functions/_shared/cil.ts +368 -127
- package/.framework/functions/_shared/db.ts +337 -68
- package/.framework/functions/_shared/funnel.ts +228 -0
- package/.framework/functions/_shared/geo.ts +105 -0
- package/.framework/functions/_shared/hash-api-key.ts +94 -17
- package/.framework/functions/_shared/index.ts +22 -224
- package/.framework/functions/_shared/kb.ts +832 -58
- package/.framework/functions/_shared/llm.ts +118 -18
- package/.framework/functions/_shared/logging.ts +317 -19
- package/.framework/functions/_shared/middleware.ts +701 -131
- package/.framework/functions/_shared/notify.ts +70 -0
- package/.framework/functions/_shared/outcomes.ts +34 -19
- package/.framework/functions/_shared/permissions.ts +501 -315
- package/.framework/functions/_shared/pipeline-runner.ts +704 -155
- package/.framework/functions/_shared/principal.ts +436 -263
- package/.framework/functions/_shared/rate-limit.ts +233 -0
- package/.framework/functions/_shared/resolve-credentials.ts +86 -19
- package/.framework/functions/_shared/resolve-ids.ts +203 -139
- package/.framework/functions/_shared/retry-deliveries.ts +51 -16
- package/.framework/functions/_shared/schema-utils.ts +602 -521
- package/.framework/functions/_shared/security.ts +345 -0
- package/.framework/functions/_shared/testing.ts +197 -172
- package/.framework/functions/_shared/tracing.ts +351 -21
- package/.framework/functions/_shared/trigger-engine.ts +425 -136
- package/.framework/functions/_shared/webhook-registration.ts +71 -70
- package/.framework/functions/_shared/webhook-registry.ts +126 -83
- package/.framework/functions/account-nodes.ts +30 -30
- package/.framework/functions/adapters/generic-webhook-inbound.ts +49 -16
- package/.framework/functions/adapters/generic-webhook-outbound.ts +17 -17
- package/.framework/functions/adapters/openai-outbound.ts +15 -16
- package/.framework/functions/admin-data.ts +596 -173
- package/.framework/functions/admin-funnel.ts +64 -60
- package/.framework/functions/admin-install-funnel.ts +84 -66
- package/.framework/functions/admin-signals.ts +69 -51
- package/.framework/functions/ai-agents.ts +431 -106
- package/.framework/functions/ai-interactions.ts +186 -112
- package/.framework/functions/api-keys.ts +107 -107
- package/.framework/functions/apps.ts +154 -136
- package/.framework/functions/auth.ts +83 -65
- package/.framework/functions/cil-agent-ingest.ts +189 -232
- package/.framework/functions/cil-agent.ts +433 -177
- package/.framework/functions/cil-callmap.ts +642 -430
- package/.framework/functions/cil-config.ts +139 -135
- package/.framework/functions/cil-context.ts +214 -127
- package/.framework/functions/cil-doc.ts +587 -458
- package/.framework/functions/cil-embeddings.ts +453 -364
- package/.framework/functions/cil-graph.ts +427 -142
- package/.framework/functions/cil-ingest.ts +1418 -1154
- package/.framework/functions/cil-pipeline.ts +276 -21
- package/.framework/functions/cil-project.ts +659 -132
- package/.framework/functions/cil-validate.ts +198 -164
- package/.framework/functions/debug-auth.ts +57 -55
- package/.framework/functions/deliveries.ts +80 -21
- package/.framework/functions/embeddings.ts +1023 -318
- package/.framework/functions/eval-harness.ts +146 -108
- package/.framework/functions/integration-outbound.ts +205 -75
- package/.framework/functions/integration-routes.ts +128 -23
- package/.framework/functions/integrations.ts +125 -100
- package/.framework/functions/invites.ts +1095 -460
- package/.framework/functions/item-progress.ts +158 -102
- package/.framework/functions/kb.ts +34 -10
- package/.framework/functions/logs.ts +133 -133
- package/.framework/functions/observability.ts +152 -122
- package/.framework/functions/pipeline-executions.ts +147 -132
- package/.framework/functions/pipelines.ts +134 -119
- package/.framework/functions/prompt-configs.ts +96 -80
- package/.framework/functions/roles.ts +112 -82
- package/.framework/functions/security.ts +450 -0
- package/.framework/functions/system-cron.ts +117 -80
- package/.framework/functions/system.ts +158 -98
- package/.framework/functions/tests.ts +29 -29
- package/.framework/functions/timers.ts +94 -95
- package/.framework/functions/trigger-scheduler.ts +10 -0
- package/.framework/functions/triggers.ts +179 -149
- package/.framework/functions/types.ts +137 -125
- package/.framework/mcp/index.ts +133 -0
- package/.framework/mcp/load-env.ts +60 -0
- package/.framework/mcp/shared/app-manifest.ts +275 -0
- package/.framework/mcp/shared/db.ts +477 -0
- package/.framework/mcp/shared/kb.ts +118 -0
- package/.framework/mcp/tools/architect.ts +431 -0
- package/.framework/mcp/tools/cil/context.ts +345 -0
- package/.framework/mcp/tools/cil/graph.ts +242 -0
- package/.framework/mcp/tools/cil/ingest.ts +1217 -0
- package/.framework/mcp/tools/cil/pipeline-orchestrator.ts +693 -0
- package/.framework/mcp/tools/cil/pipeline.ts +767 -0
- package/.framework/mcp/tools/cil/project.ts +791 -0
- package/.framework/mcp/tools/cil/retrieval.ts +336 -0
- package/.framework/mcp/tools/cil/search-core.ts +454 -0
- package/.framework/mcp/tools/cil/search.ts +97 -0
- package/.framework/mcp/tools/cil/suggest.ts +186 -0
- package/.framework/mcp/tools/cil/validate.ts +1369 -0
- package/.framework/mcp/tools/kb/delete.ts +139 -0
- package/.framework/mcp/tools/kb/index.ts +52 -0
- package/.framework/mcp/tools/kb/ingest.ts +84 -0
- package/.framework/mcp/tools/kb/list-types.ts +102 -0
- package/.framework/mcp/tools/kb/publish.ts +100 -0
- package/.framework/mcp/tools/kb/reindex.ts +86 -0
- package/.framework/mcp/tools/kb/revoke.ts +85 -0
- package/.framework/mcp/tools/kb/search.ts +101 -0
- package/.framework/mcp/tools/kb/upsert.ts +125 -0
- package/.framework/mcp/tools/observability.ts +510 -0
- package/.framework/migrations/001_core_schema.sql +15 -0
- package/.framework/migrations/002_core_rls_and_functions.sql +15 -0
- package/.framework/migrations/003_core_system_data.sql +16 -1
- package/.framework/migrations/004_core_rpc_and_broker.sql +17 -1
- package/.framework/migrations/005_core_observability.sql +17 -1
- package/.framework/migrations/006_security_hardening_rls.sql +15 -0
- package/.framework/migrations/007_kb_article_list.sql +17 -1
- package/.framework/migrations/008_items_target.sql +15 -0
- package/.framework/migrations/009_roles_slug_unique.sql +15 -0
- package/.framework/migrations/010_auth_user_trigger.sql +15 -0
- package/.framework/migrations/011_spine_system_account.sql +16 -0
- package/.framework/migrations/012_service_role_grants.sql +16 -0
- package/.framework/migrations/013_get_account_apps_role_filter.sql +15 -0
- package/.framework/migrations/014_apps_required_roles.sql +16 -0
- package/.framework/migrations/015_types_kind_slug_unique.sql +15 -0
- package/.framework/migrations/016_cil_types.sql +281 -0
- package/.framework/migrations/017_cil_stable_ids.sql +37 -0
- package/.framework/migrations/018_runtime_tables.sql +129 -0
- package/.framework/migrations/019_agent_prompt_columns.sql +56 -0
- package/.framework/migrations/020_schema_reconciliation.sql +67 -0
- package/.framework/migrations/021_kb_embedding_lifecycle.sql +31 -0
- package/.framework/migrations/032_cil_status_migration.sql +73 -0
- package/.framework/migrations/033_cil_versioning.sql +73 -0
- package/.framework/migrations/034_match_embeddings_knn.sql +115 -0
- package/.framework/migrations/035_rate_limits.sql +55 -0
- package/.framework/migrations/036_demo_record_flags.sql +72 -0
- package/.framework/migrations/037_kb_types_canonical.sql +244 -0
- package/.framework/migrations/038_drop_demo_record_flags.sql +38 -0
- package/.framework/migrations/042_registration_hierarchy.sql +309 -0
- package/.framework/migrations/043_policy_actor_cleanup.sql +39 -0
- package/.framework/migrations/044_match_embeddings_filtered_knn.sql +151 -0
- package/.framework/migrations/045_security_critical_rls.sql +139 -0
- package/.framework/migrations/046_security_missing_rls.sql +79 -0
- package/.framework/migrations/047_people_updated_by.sql +27 -0
- package/.framework/migrations/048_watcher_last_seen_at.sql +24 -0
- package/.framework/migrations/049_security_blocklist.sql +148 -0
- package/.framework/migrations/050_notifications.sql +49 -0
- package/.framework/migrations/051_message_agent_fields.sql +74 -0
- package/.framework/migrations/052_registration_security.sql +421 -0
- package/.framework/migrations/053_builtin_action_seeds.sql +66 -0
- package/.framework/migrations/054_kb_ingest_lease.sql +157 -0
- package/.framework/migrations/055_type_id_drift_reconciliation.sql +33 -0
- package/.framework/migrations/056_slug_column_reconciliation.sql +38 -0
- package/.framework/migrations/057_pipelines_slug_identity.sql +14 -0
- package/.framework/migrations/058_account_data_field_declarations.sql +53 -0
- package/.framework/migrations/059_registration_placement_fixes.sql +269 -0
- package/.framework/migrations/060_account_person_record_permissions.sql +38 -0
- package/.framework/migrations/061_fk_dedup.sql +32 -0
- package/.framework/public/spine-logo.svg +10 -3
- package/.framework/scripts/app-install-cli.ts +190 -93
- package/.framework/scripts/assemble-frontend.sh +127 -44
- package/.framework/scripts/assemble-functions.sh +128 -30
- package/.framework/scripts/boundary-check.sh +6 -2
- package/.framework/scripts/build-manifest.sh +24 -68
- package/.framework/scripts/check-core-integrity.sh +15 -76
- package/.framework/scripts/checksum-manifest.mts +343 -0
- package/.framework/scripts/cil-migrate-markers.ts +403 -0
- package/.framework/scripts/fix-cil-markers.mjs +176 -0
- package/.framework/scripts/verify-integrity.sh +21 -57
- package/.framework/scripts/verify-manifest.mts +305 -0
- package/.framework/seeds/types/funnel_signal_use.json +74 -21
- package/.framework/seeds/types/spine_instance.json +73 -21
- package/.framework/src/App.tsx +118 -72
- package/.framework/src/apps/admin/index.tsx +855 -58
- package/.framework/src/components/AppWrapper.tsx +43 -45
- package/.framework/src/components/CustomAppLoader.tsx +160 -116
- package/.framework/src/components/admin/AdminListPage.tsx +46 -44
- package/.framework/src/components/admin/AdminSidebar.tsx +57 -47
- package/.framework/src/components/admin/AdminStatsCard.tsx +46 -44
- package/.framework/src/components/admin/PageInstructions.tsx +98 -2
- package/.framework/src/components/admin/SortableTableHeader.tsx +44 -45
- package/.framework/src/components/app-shell/GenericAppShell.tsx +64 -65
- package/.framework/src/components/app-shell/GenericDetailPage.tsx +44 -47
- package/.framework/src/components/app-shell/GenericListPage.tsx +45 -49
- package/.framework/src/components/app-sidebar.tsx +42 -45
- package/.framework/src/components/auth/ProtectedRoute.tsx +48 -41
- package/.framework/src/components/auth/TurnstileWidget.tsx +27 -0
- package/.framework/src/components/kb/KBArticleEditor.tsx +231 -22
- package/.framework/src/components/kb/KBArticleList.tsx +251 -10
- package/.framework/src/components/layout/AppShell.tsx +51 -45
- package/.framework/src/components/layout/Header.tsx +42 -43
- package/.framework/src/components/layout/Layout.tsx +46 -46
- package/.framework/src/components/layout/Sidebar.tsx +196 -96
- package/.framework/src/components/runtime/DataDetailHeader.tsx +55 -30
- package/.framework/src/components/runtime/DataDetailPage.tsx +31 -269
- package/.framework/src/components/runtime/DataFilters.tsx +49 -74
- package/.framework/src/components/runtime/DataHeader.tsx +53 -32
- package/.framework/src/components/runtime/DataListPage.tsx +51 -155
- package/.framework/src/components/runtime/DataStats.tsx +66 -44
- package/.framework/src/components/runtime/DataTable.tsx +49 -149
- package/.framework/src/components/runtime/SchemaDetailForm.tsx +45 -75
- package/.framework/src/components/runtime/index.ts +119 -16
- package/.framework/src/components/search-form.tsx +46 -29
- package/.framework/src/components/shared/AgentView.tsx +65 -48
- package/.framework/src/components/shared/FieldRenderer.tsx +144 -50
- package/.framework/src/components/shared/InviteManager.tsx +207 -97
- package/.framework/src/components/shared/MemberList.tsx +97 -0
- package/.framework/src/components/shared/SchemaFields.tsx +107 -86
- package/.framework/src/components/ui/DataTable.tsx +80 -68
- package/.framework/src/components/ui/Form.tsx +157 -146
- package/.framework/src/components/ui/ItemCard.tsx +74 -67
- package/.framework/src/components/ui/ItemListView.tsx +73 -68
- package/.framework/src/components/ui/LoadingSpinner.tsx +43 -48
- package/.framework/src/components/ui/Modal.tsx +78 -68
- package/.framework/src/components/ui/RichTextEditor.tsx +89 -69
- package/.framework/src/components/ui/accordion.tsx +85 -86
- package/.framework/src/components/ui/alert-dialog.tsx +197 -184
- package/.framework/src/components/ui/alert.tsx +105 -94
- package/.framework/src/components/ui/aspect-ratio.tsx +57 -43
- package/.framework/src/components/ui/avatar.tsx +122 -107
- package/.framework/src/components/ui/badge.tsx +60 -55
- package/.framework/src/components/ui/breadcrumb.tsx +127 -128
- package/.framework/src/components/ui/button-group.tsx +86 -72
- package/.framework/src/components/ui/button.tsx +71 -50
- package/.framework/src/components/ui/calendar.tsx +72 -57
- package/.framework/src/components/ui/card.tsx +136 -129
- package/.framework/src/components/ui/carousel.tsx +226 -107
- package/.framework/src/components/ui/chart.tsx +252 -147
- package/.framework/src/components/ui/checkbox.tsx +43 -44
- package/.framework/src/components/ui/collapsible.tsx +86 -71
- package/.framework/src/components/ui/combobox.tsx +282 -249
- package/.framework/src/components/ui/command.tsx +158 -146
- package/.framework/src/components/ui/context-menu.tsx +239 -240
- package/.framework/src/components/ui/dialog.tsx +174 -157
- package/.framework/src/components/ui/direction.tsx +72 -56
- package/.framework/src/components/ui/drawer.tsx +168 -169
- package/.framework/src/components/ui/dropdown-menu.tsx +254 -223
- package/.framework/src/components/ui/empty.tsx +131 -120
- package/.framework/src/components/ui/field.tsx +205 -173
- package/.framework/src/components/ui/hover-card.tsx +71 -72
- package/.framework/src/components/ui/input-group.tsx +148 -133
- package/.framework/src/components/ui/input-otp.tsx +99 -86
- package/.framework/src/components/ui/input.tsx +43 -41
- package/.framework/src/components/ui/item.tsx +207 -185
- package/.framework/src/components/ui/kbd.tsx +57 -56
- package/.framework/src/components/ui/label.tsx +45 -41
- package/.framework/src/components/ui/menubar.tsx +268 -236
- package/.framework/src/components/ui/native-select.tsx +85 -86
- package/.framework/src/components/ui/navigation-menu.tsx +166 -156
- package/.framework/src/components/ui/pagination.tsx +131 -141
- package/.framework/src/components/ui/popover.tsx +125 -128
- package/.framework/src/components/ui/progress.tsx +47 -44
- package/.framework/src/components/ui/radio-group.tsx +60 -55
- package/.framework/src/components/ui/resizable.tsx +85 -72
- package/.framework/src/components/ui/scroll-area.tsx +57 -58
- package/.framework/src/components/ui/select.tsx +182 -169
- package/.framework/src/components/ui/separator.tsx +42 -43
- package/.framework/src/components/ui/sheet.tsx +170 -159
- package/.framework/src/components/ui/sidebar.tsx +395 -398
- package/.framework/src/components/ui/skeleton.tsx +42 -43
- package/.framework/src/components/ui/slider.tsx +61 -44
- package/.framework/src/components/ui/sonner.tsx +44 -44
- package/.framework/src/components/ui/spinner.tsx +47 -42
- package/.framework/src/components/ui/switch.tsx +56 -42
- package/.framework/src/components/ui/table-primitives.tsx +272 -132
- package/.framework/src/components/ui/table.tsx +140 -142
- package/.framework/src/components/ui/tabs.tsx +110 -93
- package/.framework/src/components/ui/textarea.tsx +43 -44
- package/.framework/src/components/ui/toggle-group.tsx +87 -71
- package/.framework/src/components/ui/toggle.tsx +56 -56
- package/.framework/src/components/ui/tooltip.tsx +99 -85
- package/.framework/src/contexts/AppContext.tsx +166 -114
- package/.framework/src/contexts/AuthContext.tsx +232 -137
- package/.framework/src/hooks/use-mobile.ts +43 -44
- package/.framework/src/hooks/useApi.ts +185 -172
- package/.framework/src/hooks/useAppPath.ts +31 -29
- package/.framework/src/hooks/useApps.ts +77 -42
- package/.framework/src/hooks/useEntityList.ts +66 -29
- package/.framework/src/hooks/useEntityRecord.ts +76 -32
- package/.framework/src/hooks/useForm.ts +62 -30
- package/.framework/src/hooks/useListSchema.ts +60 -43
- package/.framework/src/hooks/useSchemaRecord.ts +115 -95
- package/.framework/src/lib/api.ts +258 -134
- package/.framework/src/lib/registration.ts +181 -0
- package/.framework/src/lib/supabase.ts +118 -81
- package/.framework/src/lib/utils.ts +266 -266
- package/.framework/src/main.tsx +43 -44
- package/.framework/src/pages/DashboardPage.tsx +44 -43
- package/.framework/src/pages/NoAppPage.tsx +50 -0
- package/.framework/src/pages/NotFoundPage.tsx +32 -29
- package/.framework/src/pages/SetupPage.tsx +34 -33
- package/.framework/src/pages/admin/AIAgentDetailPage.tsx +69 -58
- package/.framework/src/pages/admin/AIAgentsPage.tsx +43 -40
- package/.framework/src/pages/admin/APIKeyDetailPage.tsx +63 -55
- package/.framework/src/pages/admin/APIKeysPage.tsx +44 -42
- package/.framework/src/pages/admin/AlertsConfigPage.tsx +117 -94
- package/.framework/src/pages/admin/AppDetailPage.tsx +48 -42
- package/.framework/src/pages/admin/AppsPage.tsx +45 -42
- package/.framework/src/pages/admin/DeliveriesPage.tsx +49 -17
- package/.framework/src/pages/admin/DesignedPage.tsx +31 -30
- package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +58 -0
- package/.framework/src/pages/admin/EmbeddingsPage.tsx +49 -0
- package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +31 -29
- package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +46 -29
- package/.framework/src/pages/admin/IntegratedDashboard.tsx +32 -29
- package/.framework/src/pages/admin/IntegrationDetailPage.tsx +68 -55
- package/.framework/src/pages/admin/IntegrationsPage.tsx +45 -42
- package/.framework/src/pages/admin/InvitesPage.tsx +60 -44
- package/.framework/src/pages/admin/LogsPage.tsx +87 -137
- package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +31 -29
- package/.framework/src/pages/admin/ObservabilityDashboard.tsx +150 -89
- package/.framework/src/pages/admin/PipelineDetailPage.tsx +77 -104
- package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +44 -43
- package/.framework/src/pages/admin/PipelinesPage.tsx +59 -145
- package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +53 -42
- package/.framework/src/pages/admin/PromptConfigsPage.tsx +47 -117
- package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +31 -44
- package/.framework/src/pages/admin/RoleDetailPage.tsx +49 -92
- package/.framework/src/pages/admin/RolesPage.tsx +47 -164
- package/.framework/src/pages/admin/SecurityPage.tsx +310 -0
- package/.framework/src/pages/admin/SelectTestPage.tsx +30 -32
- package/.framework/src/pages/admin/ShadcnTestPage.tsx +37 -44
- package/.framework/src/pages/admin/SimpleDashboard.tsx +32 -44
- package/.framework/src/pages/admin/TestRunDetailPage.tsx +97 -44
- package/.framework/src/pages/admin/TestingDashboard.tsx +126 -71
- package/.framework/src/pages/admin/TimerDetailPage.tsx +67 -55
- package/.framework/src/pages/admin/TimersPage.tsx +44 -42
- package/.framework/src/pages/admin/TriggerDetailPage.tsx +47 -42
- package/.framework/src/pages/admin/TriggersPage.tsx +58 -57
- package/.framework/src/pages/admin/TypeDetailPage.tsx +91 -55
- package/.framework/src/pages/admin/TypesPage.tsx +45 -42
- package/.framework/src/pages/admin/cil/CILAgentPage.tsx +258 -128
- package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +127 -123
- package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +308 -235
- package/.framework/src/pages/admin/cil/CILFileListPage.tsx +159 -110
- package/.framework/src/pages/admin/cil/CILFileSelectPage.tsx +432 -0
- package/.framework/src/pages/admin/cil/CILGraphPage.tsx +200 -178
- package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +286 -239
- package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +211 -90
- package/.framework/src/pages/admin/cil/CILSearchPage.tsx +156 -143
- package/.framework/src/pages/admin/cil/CILSuggestionsPage.tsx +379 -0
- package/.framework/src/pages/admin/cil/CILVersionsPage.tsx +337 -0
- package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +219 -214
- package/.framework/src/pages/admin/kb/KBAdminPage.tsx +64 -0
- package/.framework/src/pages/auth/AuthConfirmPage.tsx +135 -65
- package/.framework/src/pages/auth/ForgotPasswordPage.tsx +39 -31
- package/.framework/src/pages/auth/LoginPage.tsx +38 -32
- package/.framework/src/pages/auth/PendingApprovalPage.tsx +31 -28
- package/.framework/src/pages/auth/RegisterPage.tsx +429 -155
- package/.framework/src/pages/spine-framework/APIPage.tsx +33 -30
- package/.framework/src/pages/spine-framework/CLIPage.tsx +32 -30
- package/.framework/src/types/auth.ts +101 -93
- package/.framework/src/types/types.ts +283 -262
- package/.framework/templates/project.json +87 -0
- package/.framework/templates/spine.config.neutral.json +7 -0
- package/.framework/tests/api/api-surface.test.ts +381 -0
- package/.framework/tests/fixtures/seed.ts +427 -0
- package/.framework/tests/fixtures/teardown.ts +228 -0
- package/.framework/tests/reporter.ts +351 -0
- package/.framework/tests/setup.ts +135 -0
- package/.framework/tests/ui/ui-sweep.ts +278 -0
- package/.framework/tests/unit/admin-data-logger.test.ts +310 -0
- package/.framework/tests/unit/agent-runner.test.ts +2389 -0
- package/.framework/tests/unit/ai-interactions.test.ts +81 -0
- package/.framework/tests/unit/app-manifest.test.ts +359 -0
- package/.framework/tests/unit/assembly-scripts.test.ts +172 -0
- package/.framework/tests/unit/cil-determinism.test.ts +85 -0
- package/.framework/tests/unit/core-isolation.test.ts +153 -0
- package/.framework/tests/unit/funnel-signals.test.ts +135 -0
- package/.framework/tests/unit/install-app.test.ts +1759 -0
- package/.framework/tests/unit/invites-security.test.ts +572 -0
- package/.framework/tests/unit/kb-ingest-lease.test.ts +287 -0
- package/.framework/tests/unit/kb-search.test.ts +119 -0
- package/.framework/tests/unit/migrate.test.ts +509 -0
- package/.framework/tests/unit/notify.test.ts +136 -0
- package/.framework/tests/unit/permissions.test.ts +269 -0
- package/.framework/tests/unit/pipeline-runner.test.ts +755 -0
- package/.framework/tests/unit/principal-cache.test.ts +138 -0
- package/.framework/tests/unit/retrieval-golden.test.ts +520 -0
- package/.framework/tests/unit/runtime-isolation.test.ts +642 -0
- package/.framework/tests/unit/schema-utils.test.ts +225 -0
- package/.framework/tests/unit/trigger-engine.test.ts +513 -0
- package/.framework/tests/unit/validate-app.test.ts +527 -0
- package/README.md +34 -3
- package/bin/spine-framework.cjs +1 -0
- package/config/tailwind.config.cjs +7 -0
- package/config/tsconfig.functions.json +42 -0
- package/config/tsconfig.json +37 -9
- package/config/vite.config.ts +31 -2
- package/netlify.toml +31 -3
- package/package.json +46 -29
- package/scripts/assemble-frontend.sh +127 -44
- package/scripts/assemble-functions.sh +127 -29
- package/scripts/boundary-check.sh +6 -2
- package/scripts/build-manifest.sh +24 -68
- package/scripts/checksum-manifest.mts +345 -0
- package/scripts/dev-clean.sh +86 -0
- package/scripts/dev-netlify.sh +49 -0
- package/scripts/netlify-dev-wrapper.sh +2 -0
- package/scripts/verify-install.ts +358 -0
- package/scripts/verify-integrity.sh +21 -57
- package/scripts/verify-manifest.mts +305 -0
- package/templates/project/gitignore +45 -0
- package/{config → templates/project}/package-lock.json +22335 -9366
- package/vitest.config.ts +46 -0
- package/.framework/public/spine.config.json +0 -91
- package/config/deno.lock +0 -108
- package/config/tsconfig.node.tsbuildinfo +0 -1
- package/config/tsconfig.tsbuildinfo +0 -1
- package/config/vite.config.d.ts +0 -2
- package/custom/.devin/AGENT.md +0 -357
- package/custom/.devin/skills/install-app/SKILL.md +0 -39
- package/custom/.devin/skills/spine-workbench-discovery/SKILL.md +0 -39
- package/custom/.devin/skills/spine-workbench-idea/SKILL.md +0 -36
- package/custom/.devin/skills/spine-workbench-implement/SKILL.md +0 -46
- package/custom/.devin/skills/spine-workbench-initiative/SKILL.md +0 -28
- package/custom/.devin/skills/spine-workbench-plan/SKILL.md +0 -38
- package/custom/.devin/workflows/app-install.yaml +0 -83
- package/custom/README.md +0 -79
- package/docs/README.md +0 -15
- package/scripts/app-install-cli.ts +0 -286
- package/scripts/check-core-integrity.sh +0 -82
- package/scripts/ingest-chunks.cjs +0 -202
- package/scripts/kb-chunk-parser.cjs +0 -312
- package/scripts/kb-chunk-parser.ts +0 -330
- package/scripts/kb-ingest-docs.ts +0 -203
- package/scripts/load-test-app-install.ts +0 -484
- package/scripts/test-login.js +0 -33
- package/spine.config.json +0 -91
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/src/components/ui/item.tsx"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Defines the UI item component family for list and detail surfaces"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Serves as the module-level entry point and owner for the item component family"]
|
|
4
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
5
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="named component exports" errors="none" side_effects="none"]
|
|
6
|
+
// CIL[DOC-MICRO logic_summary="Imports dependencies, defines style variants and exports the Item component family" notable_decisions="[]"]
|
|
7
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
8
|
+
// CIL[DOC-STABILITY stable]
|
|
9
|
+
// CIL[DOC-AUDIENCE audience="frontend-app-shell"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
1
14
|
|
|
2
15
|
|
|
3
16
|
|
|
@@ -12,42 +25,28 @@
|
|
|
12
25
|
|
|
13
26
|
|
|
14
27
|
|
|
15
|
-
// CIL[BEGIN chunk_id="item_module_header_1783796064" type="module_header" identity="module_header" parent="none"]
|
|
16
|
-
// CIL[DOC-MACRO purpose="Import dependencies for item UI components"]
|
|
17
|
-
// CIL[DOC-RESPONSIBILITY responsibility="Import React, CVA, Radix UI, and local utilities"]
|
|
18
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
|
|
19
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="imported modules" errors="none" side_effects="module imports"]
|
|
20
|
-
// CIL[DOC-MICRO logic_summary="Imports all necessary dependencies for item component system" notable_decisions="[]"]
|
|
21
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
22
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
23
|
-
// CIL[DOC-AUDIENCE audience="developer"]
|
|
24
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/src/components/ui/table-primitives.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
|
|
25
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
26
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
27
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
28
|
-
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
29
|
-
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
30
28
|
import * as React from "react"
|
|
31
29
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
32
30
|
import { Slot } from "radix-ui"
|
|
33
31
|
|
|
34
32
|
import { cn } from "@/lib/utils"
|
|
35
33
|
import { Separator } from "@/components/ui/separator"
|
|
36
|
-
// CIL[
|
|
37
|
-
// CIL[
|
|
38
|
-
// CIL[DOC-
|
|
39
|
-
// CIL[DOC-
|
|
40
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"\\\"]"]
|
|
41
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled list container" errors="none" side_effects="renders DOM element"]
|
|
42
|
-
// CIL[DOC-MICRO logic_summary="Creates flex container with responsive gap for item grouping" notable_decisions="[]"]
|
|
43
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
44
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
45
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, \."]
|
|
46
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
47
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
48
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
34
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Defines the UI item component family for list and detail surfaces'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
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"]
|
|
49
38
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
50
39
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
40
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:module_header:module_header"]
|
|
41
|
+
|
|
42
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:ItemGroup:component" type="component" identity="ItemGroup" parent="~/.framework/src/components/ui/item.tsx"]
|
|
43
|
+
// CIL[DOC-MACRO purpose="Container that wraps a list of item components with role=list and group styling"]
|
|
44
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Renders a list group container for item siblings"]
|
|
45
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
46
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="div JSX" errors="none" side_effects="none"]
|
|
47
|
+
// CIL[DOC-MICRO logic_summary="Renders a div with role=list, applies cva spacing for size variants, forwards props and className" notable_decisions="none"]
|
|
48
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
49
|
+
// CIL[DOC-STABILITY stable]
|
|
51
50
|
function ItemGroup({ className, ...props }: React.ComponentProps<"div">) {
|
|
52
51
|
return (
|
|
53
52
|
<div
|
|
@@ -61,21 +60,22 @@ function ItemGroup({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
61
60
|
/>
|
|
62
61
|
)
|
|
63
62
|
}
|
|
64
|
-
// CIL[
|
|
65
|
-
// CIL[
|
|
66
|
-
// CIL[DOC-
|
|
67
|
-
// CIL[DOC-
|
|
68
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"\\\"]"]
|
|
69
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="horizontal separator" errors="none" side_effects="renders DOM element"]
|
|
70
|
-
// CIL[DOC-MICRO logic_summary="Creates horizontal separator with margin spacing" notable_decisions="[]"]
|
|
71
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
72
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
73
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/src/components/ui/table-primitives.tsx, \."]
|
|
74
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
75
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
76
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
63
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Container that wraps a list of item components with role=list and group styling'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
64
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
65
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
66
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
77
67
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
78
68
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
69
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:ItemGroup:component"]
|
|
70
|
+
|
|
71
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:ItemSeparator:component" type="component" identity="ItemSeparator" parent="~/.framework/src/components/ui/item.tsx"]
|
|
72
|
+
// CIL[DOC-MACRO purpose="Horizontal separator for item groups"]
|
|
73
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Renders a horizontal separator between item group entries"]
|
|
74
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
75
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="Separator JSX" errors="none" side_effects="none"]
|
|
76
|
+
// CIL[DOC-MICRO logic_summary="Wraps the Separator component and applies my-2 margins" notable_decisions="none"]
|
|
77
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
78
|
+
// CIL[DOC-STABILITY stable]
|
|
79
79
|
function ItemSeparator({
|
|
80
80
|
className,
|
|
81
81
|
...props
|
|
@@ -89,21 +89,23 @@ function ItemSeparator({
|
|
|
89
89
|
/>
|
|
90
90
|
)
|
|
91
91
|
}
|
|
92
|
-
// CIL[
|
|
93
|
-
// CIL[
|
|
94
|
-
// CIL[DOC-
|
|
95
|
-
// CIL[DOC-
|
|
96
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/schema-utils.ts\",\".framework/src/components/ui/table-primitives.tsx\",\"\\\"]"]
|
|
97
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="CVA variant configuration" errors="none" side_effects="defines styling variants"]
|
|
98
|
-
// CIL[DOC-MICRO logic_summary="Defines variant and size options for item component styling" notable_decisions="[]"]
|
|
99
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
100
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
101
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 1. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/functions/_shared/principal.ts, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/schema-utils.ts, .framework/src/components/ui/table-primitives.tsx, \."]
|
|
102
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 1."]
|
|
103
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
104
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
92
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Horizontal separator for item groups'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
93
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
94
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
95
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
105
96
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
106
97
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
98
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:ItemSeparator:component"]
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:itemVariants:constant" type="constant" identity="itemVariants" parent="~/.framework/src/components/ui/item.tsx"]
|
|
102
|
+
// CIL[DOC-MACRO purpose="cva style recipe for the main Item wrapper"]
|
|
103
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provides a class-variance-authority style recipe for the main Item wrapper"]
|
|
104
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
105
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="cva variant object" errors="none" side_effects="none"]
|
|
106
|
+
// CIL[DOC-MICRO logic_summary="Defines default, outline and muted variants plus default and sm/xs sizes" notable_decisions="none"]
|
|
107
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
108
|
+
// CIL[DOC-STABILITY stable]
|
|
107
109
|
const itemVariants = cva(
|
|
108
110
|
"group/item flex w-full flex-wrap items-center rounded-md border text-xs/relaxed transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted",
|
|
109
111
|
{
|
|
@@ -125,21 +127,23 @@ const itemVariants = cva(
|
|
|
125
127
|
},
|
|
126
128
|
}
|
|
127
129
|
)
|
|
128
|
-
// CIL[
|
|
129
|
-
// CIL[
|
|
130
|
-
// CIL[DOC-
|
|
131
|
-
// CIL[DOC-
|
|
132
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[\".framework/src/components/ui/table-primitives.tsx\",\".framework/src/components/ui/dialog.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
133
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled item element" errors="none" side_effects="renders DOM element"]
|
|
134
|
-
// CIL[DOC-MICRO logic_summary="Creates main item component with variant support and asChild pattern" notable_decisions="[]"]
|
|
135
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
136
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
137
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/table-primitives.tsx, .framework/src/components/ui/dialog.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
138
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
139
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
140
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
130
|
+
// CIL[DOC-VECTOR type="context" content="purpose='cva style recipe for the main Item wrapper'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
131
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
132
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
133
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
141
134
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
142
135
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
136
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:itemVariants:constant"]
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:Item:component" type="component" identity="Item" parent="~/.framework/src/components/ui/item.tsx"]
|
|
140
|
+
// CIL[DOC-MACRO purpose="Main item wrapper component with size, variant and asChild support"]
|
|
141
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Renders the main item wrapper with variant, size and asChild support"]
|
|
142
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
143
|
+
// CIL[DOC-CONTRACT inputs="className, variant, size, asChild, VariantProps, ...props" outputs="div or Slot.Root JSX" errors="none" side_effects="none"]
|
|
144
|
+
// CIL[DOC-MICRO logic_summary="Selects Slot.Root or div based on asChild, applies itemVariants class and data attributes" notable_decisions="none"]
|
|
145
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
146
|
+
// CIL[DOC-STABILITY stable]
|
|
143
147
|
function Item({
|
|
144
148
|
className,
|
|
145
149
|
variant = "default",
|
|
@@ -159,21 +163,24 @@ function Item({
|
|
|
159
163
|
/>
|
|
160
164
|
)
|
|
161
165
|
}
|
|
162
|
-
// CIL[
|
|
163
|
-
// CIL[
|
|
164
|
-
// CIL[DOC-
|
|
165
|
-
// CIL[DOC-
|
|
166
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[]"]
|
|
167
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="CVA variant configuration" errors="none" side_effects="defines styling variants"]
|
|
168
|
-
// CIL[DOC-MICRO logic_summary="Defines variant options for item media components (default, icon, image)" notable_decisions="[]"]
|
|
169
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
170
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
171
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
172
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
173
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
174
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
166
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Main item wrapper component with size, variant and asChild support'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
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"]
|
|
175
170
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
176
171
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
172
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:Item:component"]
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:itemMediaVariants:constant" type="constant" identity="itemMediaVariants" parent="~/.framework/src/components/ui/item.tsx"]
|
|
177
|
+
// CIL[DOC-MACRO purpose="cva style recipe for item media (icon, image)"]
|
|
178
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provides a cva style recipe for item media (icon, image)"]
|
|
179
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
180
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="cva variant object" errors="none" side_effects="none"]
|
|
181
|
+
// CIL[DOC-MICRO logic_summary="Defines default, icon and image media variants with size-aware rules" notable_decisions="none"]
|
|
182
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
183
|
+
// CIL[DOC-STABILITY stable]
|
|
177
184
|
const itemMediaVariants = cva(
|
|
178
185
|
"flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none",
|
|
179
186
|
{
|
|
@@ -190,21 +197,23 @@ const itemMediaVariants = cva(
|
|
|
190
197
|
},
|
|
191
198
|
}
|
|
192
199
|
)
|
|
193
|
-
// CIL[
|
|
194
|
-
// CIL[
|
|
195
|
-
// CIL[DOC-
|
|
196
|
-
// CIL[DOC-
|
|
197
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[]"]
|
|
198
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled media container" errors="none" side_effects="renders DOM element"]
|
|
199
|
-
// CIL[DOC-MICRO logic_summary="Creates media container with variant support for icons and images" notable_decisions="[]"]
|
|
200
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
201
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
202
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
203
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
204
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
205
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
200
|
+
// CIL[DOC-VECTOR type="context" content="purpose='cva style recipe for item media (icon, image)'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
201
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
202
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
203
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
206
204
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
207
205
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
206
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:itemMediaVariants:constant"]
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:ItemMedia:component" type="component" identity="ItemMedia" parent="~/.framework/src/components/ui/item.tsx"]
|
|
210
|
+
// CIL[DOC-MACRO purpose="Renders media (icon, image) inside an item"]
|
|
211
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Renders media (icon, image) inside an item"]
|
|
212
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
213
|
+
// CIL[DOC-CONTRACT inputs="className, variant, ...props" outputs="div JSX" errors="none" side_effects="none"]
|
|
214
|
+
// CIL[DOC-MICRO logic_summary="Renders a div with item-media slot and itemMediaVariants classes" notable_decisions="none"]
|
|
215
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
216
|
+
// CIL[DOC-STABILITY stable]
|
|
208
217
|
function ItemMedia({
|
|
209
218
|
className,
|
|
210
219
|
variant = "default",
|
|
@@ -219,21 +228,23 @@ function ItemMedia({
|
|
|
219
228
|
/>
|
|
220
229
|
)
|
|
221
230
|
}
|
|
222
|
-
// CIL[
|
|
223
|
-
// CIL[
|
|
224
|
-
// CIL[DOC-
|
|
225
|
-
// CIL[DOC-
|
|
226
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[]"]
|
|
227
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled content container" errors="none" side_effects="renders DOM element"]
|
|
228
|
-
// CIL[DOC-MICRO logic_summary="Creates flex container for item content with responsive sizing" notable_decisions="[]"]
|
|
229
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
230
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
231
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
232
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
233
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
234
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
231
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Renders media (icon, image) inside an item'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
232
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
233
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
234
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
235
235
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
236
236
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
237
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:ItemMedia:component"]
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:ItemContent:component" type="component" identity="ItemContent" parent="~/.framework/src/components/ui/item.tsx"]
|
|
241
|
+
// CIL[DOC-MACRO purpose="Flexible content column for item main text"]
|
|
242
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Renders the flexible content column for item main text"]
|
|
243
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
244
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="div JSX" errors="none" side_effects="none"]
|
|
245
|
+
// CIL[DOC-MICRO logic_summary="Renders a flex column with item-content slot, supports adjacent sibling layout" notable_decisions="none"]
|
|
246
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
247
|
+
// CIL[DOC-STABILITY stable]
|
|
237
248
|
function ItemContent({ className, ...props }: React.ComponentProps<"div">) {
|
|
238
249
|
return (
|
|
239
250
|
<div
|
|
@@ -246,21 +257,22 @@ function ItemContent({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
246
257
|
/>
|
|
247
258
|
)
|
|
248
259
|
}
|
|
249
|
-
// CIL[
|
|
250
|
-
// CIL[
|
|
251
|
-
// CIL[DOC-
|
|
252
|
-
// CIL[DOC-
|
|
253
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[]"]
|
|
254
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled title element" errors="none" side_effects="renders DOM element"]
|
|
255
|
-
// CIL[DOC-MICRO logic_summary="Creates title element with truncation and underline styling" notable_decisions="[]"]
|
|
256
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
257
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
258
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
259
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
260
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
261
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
260
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Flexible content column for item main text'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
261
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
262
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
263
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
262
264
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
263
265
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
266
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:ItemContent:component"]
|
|
267
|
+
|
|
268
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:ItemTitle:component" type="component" identity="ItemTitle" parent="~/.framework/src/components/ui/item.tsx"]
|
|
269
|
+
// CIL[DOC-MACRO purpose="Title line for an item"]
|
|
270
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Renders a clamped single-line title inside an item"]
|
|
271
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
272
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="div JSX" errors="none" side_effects="none"]
|
|
273
|
+
// CIL[DOC-MICRO logic_summary="Renders a clamped single-line title with underline offset styling" notable_decisions="none"]
|
|
274
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
275
|
+
// CIL[DOC-STABILITY stable]
|
|
264
276
|
function ItemTitle({ className, ...props }: React.ComponentProps<"div">) {
|
|
265
277
|
return (
|
|
266
278
|
<div
|
|
@@ -273,21 +285,22 @@ function ItemTitle({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
273
285
|
/>
|
|
274
286
|
)
|
|
275
287
|
}
|
|
276
|
-
// CIL[
|
|
277
|
-
// CIL[
|
|
278
|
-
// CIL[DOC-
|
|
279
|
-
// CIL[DOC-
|
|
280
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[]"]
|
|
281
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled description element" errors="none" side_effects="renders DOM element"]
|
|
282
|
-
// CIL[DOC-MICRO logic_summary="Creates description element with truncation and link styling" notable_decisions="[]"]
|
|
283
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
284
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
285
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
286
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
287
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
288
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
288
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Title line for an item'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
289
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
290
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
291
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
289
292
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
290
293
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
294
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:ItemTitle:component"]
|
|
295
|
+
|
|
296
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:ItemDescription:component" type="component" identity="ItemDescription" parent="~/.framework/src/components/ui/item.tsx"]
|
|
297
|
+
// CIL[DOC-MACRO purpose="Secondary description text for an item"]
|
|
298
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Renders secondary description text for an item"]
|
|
299
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
300
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="p JSX" errors="none" side_effects="none"]
|
|
301
|
+
// CIL[DOC-MICRO logic_summary="Renders a clamped two-line muted paragraph with link hover styles" notable_decisions="none"]
|
|
302
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
303
|
+
// CIL[DOC-STABILITY stable]
|
|
291
304
|
function ItemDescription({ className, ...props }: React.ComponentProps<"p">) {
|
|
292
305
|
return (
|
|
293
306
|
<p
|
|
@@ -300,21 +313,22 @@ function ItemDescription({ className, ...props }: React.ComponentProps<"p">) {
|
|
|
300
313
|
/>
|
|
301
314
|
)
|
|
302
315
|
}
|
|
303
|
-
// CIL[
|
|
304
|
-
// CIL[
|
|
305
|
-
// CIL[DOC-
|
|
306
|
-
// CIL[DOC-
|
|
307
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[]"]
|
|
308
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled actions container" errors="none" side_effects="renders DOM element"]
|
|
309
|
-
// CIL[DOC-MICRO logic_summary="Creates flex container for item actions with gap spacing" notable_decisions="[]"]
|
|
310
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
311
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
312
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
313
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
314
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
315
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
316
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Secondary description text for an item'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
317
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
318
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
319
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
316
320
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
317
321
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
322
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:ItemDescription:component"]
|
|
323
|
+
|
|
324
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:ItemActions:component" type="component" identity="ItemActions" parent="~/.framework/src/components/ui/item.tsx"]
|
|
325
|
+
// CIL[DOC-MACRO purpose="Action buttons or controls attached to an item"]
|
|
326
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Renders action buttons or controls attached to an item"]
|
|
327
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
328
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="div JSX" errors="none" side_effects="none"]
|
|
329
|
+
// CIL[DOC-MICRO logic_summary="Renders a flex row with item-actions slot and gap-2 spacing" notable_decisions="none"]
|
|
330
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
331
|
+
// CIL[DOC-STABILITY stable]
|
|
318
332
|
function ItemActions({ className, ...props }: React.ComponentProps<"div">) {
|
|
319
333
|
return (
|
|
320
334
|
<div
|
|
@@ -324,21 +338,22 @@ function ItemActions({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
324
338
|
/>
|
|
325
339
|
)
|
|
326
340
|
}
|
|
327
|
-
// CIL[
|
|
328
|
-
// CIL[
|
|
329
|
-
// CIL[DOC-
|
|
330
|
-
// CIL[DOC-
|
|
331
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[]"]
|
|
332
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled header container" errors="none" side_effects="renders DOM element"]
|
|
333
|
-
// CIL[DOC-MICRO logic_summary="Creates full-width header container with justify-between layout" notable_decisions="[]"]
|
|
334
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
335
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
336
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
337
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
338
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
339
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
341
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Action buttons or controls attached to an item'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
342
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
343
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
344
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
340
345
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
341
346
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
347
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:ItemActions:component"]
|
|
348
|
+
|
|
349
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:ItemHeader:component" type="component" identity="ItemHeader" parent="~/.framework/src/components/ui/item.tsx"]
|
|
350
|
+
// CIL[DOC-MACRO purpose="Header row that spans the full item width"]
|
|
351
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Renders a header row that spans the full item width"]
|
|
352
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
353
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="div JSX" errors="none" side_effects="none"]
|
|
354
|
+
// CIL[DOC-MICRO logic_summary="Renders a basis-full row with item-header slot and justify-between" notable_decisions="none"]
|
|
355
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
356
|
+
// CIL[DOC-STABILITY stable]
|
|
342
357
|
function ItemHeader({ className, ...props }: React.ComponentProps<"div">) {
|
|
343
358
|
return (
|
|
344
359
|
<div
|
|
@@ -351,21 +366,22 @@ function ItemHeader({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
351
366
|
/>
|
|
352
367
|
)
|
|
353
368
|
}
|
|
354
|
-
// CIL[
|
|
355
|
-
// CIL[
|
|
356
|
-
// CIL[DOC-
|
|
357
|
-
// CIL[DOC-
|
|
358
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[]"]
|
|
359
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled footer container" errors="none" side_effects="renders DOM element"]
|
|
360
|
-
// CIL[DOC-MICRO logic_summary="Creates full-width footer container with justify-between layout" notable_decisions="[]"]
|
|
361
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
362
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
363
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
364
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
365
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
366
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
369
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Header row that spans the full item width'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
370
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
371
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
372
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
367
373
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
368
374
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
375
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:ItemHeader:component"]
|
|
376
|
+
|
|
377
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:ItemFooter:component" type="component" identity="ItemFooter" parent="~/.framework/src/components/ui/item.tsx"]
|
|
378
|
+
// CIL[DOC-MACRO purpose="Footer row that spans the full item width"]
|
|
379
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Renders a footer row that spans the full item width"]
|
|
380
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
381
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="div JSX" errors="none" side_effects="none"]
|
|
382
|
+
// CIL[DOC-MICRO logic_summary="Renders a basis-full row with item-footer slot and justify-between" notable_decisions="none"]
|
|
383
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
384
|
+
// CIL[DOC-STABILITY stable]
|
|
369
385
|
function ItemFooter({ className, ...props }: React.ComponentProps<"div">) {
|
|
370
386
|
return (
|
|
371
387
|
<div
|
|
@@ -378,21 +394,21 @@ function ItemFooter({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
378
394
|
/>
|
|
379
395
|
)
|
|
380
396
|
}
|
|
381
|
-
// CIL[
|
|
382
|
-
// CIL[
|
|
383
|
-
// CIL[DOC-
|
|
384
|
-
// CIL[DOC-
|
|
385
|
-
// CIL[DOC-CONTEXT module="item" layer="ui_components" related_files="[]"]
|
|
386
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="exported components" errors="none" side_effects="module exports"]
|
|
387
|
-
// CIL[DOC-MICRO logic_summary="Exports comprehensive item component system for consumption" notable_decisions="[]"]
|
|
388
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
389
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
390
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
391
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
392
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
393
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
397
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Footer row that spans the full item width'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
398
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
399
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
400
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
394
401
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
395
402
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
403
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:ItemFooter:component"]
|
|
404
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/item.tsx:exports:variable" type="variable" identity="exports" parent="~/.framework/src/components/ui/item.tsx"]
|
|
405
|
+
// CIL[DOC-MACRO purpose="Named exports for the item component family"]
|
|
406
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Exposes all public item subcomponents and style recipes"]
|
|
407
|
+
// CIL[DOC-CONTEXT module=".framework/src/components/ui/item" layer="ui" related_files=".framework/src/components/ui/item.tsx,.framework/src/components/ui/separator.tsx,.framework/src/lib/utils.ts"]
|
|
408
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="named exports" errors="none" side_effects="none"]
|
|
409
|
+
// CIL[DOC-MICRO logic_summary="Exports all public item subcomponents and style recipes" notable_decisions="none"]
|
|
410
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
411
|
+
// CIL[DOC-STABILITY stable]
|
|
396
412
|
export {
|
|
397
413
|
Item,
|
|
398
414
|
ItemMedia,
|
|
@@ -405,4 +421,10 @@ export {
|
|
|
405
421
|
ItemHeader,
|
|
406
422
|
ItemFooter,
|
|
407
423
|
}
|
|
408
|
-
// CIL[
|
|
424
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Named exports for the item component family'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/separator.tsx"]
|
|
425
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
426
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
427
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
428
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
429
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
430
|
+
// CIL[END stable_id="~/.framework/src/components/ui/item.tsx:exports:variable"]
|