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,74 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
// CIL[BEGIN chunk_id="contextmenu_module_header_1783844098" type="module_header" identity="imports" parent="none"]
|
|
19
|
-
// CIL[DOC-MACRO purpose="Import dependencies for context menu components"]
|
|
20
|
-
// CIL[DOC-RESPONSIBILITY responsibility="Import React, Radix UI primitives and utilities"]
|
|
21
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/functions/_shared/schema-utils.ts\",\"\\\"]"]
|
|
22
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="React, Radix primitives, utilities" errors="none" side_effects="none"]
|
|
23
|
-
// CIL[DOC-MICRO logic_summary="Imports React, Radix ContextMenu primitives, styling utilities and icons" notable_decisions="[]"]
|
|
24
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/src/components/ui/context-menu.tsx"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Define the context-menu component module and its styled Radix UI subcomponents"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Import dependencies and provide composable, accessible context menu building blocks for the UI layer"]
|
|
4
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="none"]
|
|
5
|
+
// CIL[DOC-MICRO logic_summary="Imports React, Radix UI ContextMenu primitives, utility helpers and icons; prepares re-exported subcomponents" notable_decisions="[]"]
|
|
6
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/lib/utils.ts"]
|
|
7
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
25
8
|
// CIL[DOC-STABILITY stability="stable"]
|
|
26
|
-
// CIL[DOC-AUDIENCE audience="
|
|
27
|
-
// 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/dialog.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, .framework/functions/_shared/schema-utils.ts, \."]
|
|
28
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
29
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
30
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
31
|
-
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
32
|
-
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
9
|
+
// CIL[DOC-AUDIENCE audience="frontend-developers"]
|
|
33
10
|
import * as React from "react"
|
|
34
11
|
import { ContextMenu as ContextMenuPrimitive } from "radix-ui"
|
|
35
12
|
import { cn } from "@/lib/utils"
|
|
36
13
|
import { ChevronRightIcon, CheckIcon } from "lucide-react"
|
|
37
|
-
// CIL[
|
|
38
|
-
// CIL[
|
|
39
|
-
// CIL[DOC-
|
|
40
|
-
// CIL[DOC-
|
|
41
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[\".framework/src/components/ui/dialog.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
42
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="context menu root" errors="none" side_effects="renders DOM"]
|
|
43
|
-
// CIL[DOC-MICRO logic_summary="Wraps Radix ContextMenu.Root with data-slot attribute" notable_decisions="[]"]
|
|
44
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
45
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
46
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
47
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
48
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
49
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
14
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Define the context-menu component module and its styled Radix UI subcomponents'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
15
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
16
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
17
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
50
18
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
51
19
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
20
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
21
|
+
|
|
22
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenu:function" type="function" identity="contextmenu" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
23
|
+
// CIL[DOC-MACRO purpose="Render the context menu root wrapper"]
|
|
24
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.Root and forward props"]
|
|
25
|
+
// CIL[DOC-CONTRACT inputs="props: React.ComponentProps<typeof ContextMenuPrimitive.Root>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
26
|
+
// CIL[DOC-MICRO logic_summary="Returns ContextMenuPrimitive.Root with data-slot and spread props" notable_decisions="[]"]
|
|
27
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
28
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
29
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
52
30
|
function ContextMenu({
|
|
53
31
|
...props
|
|
54
32
|
}: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {
|
|
55
33
|
return <ContextMenuPrimitive.Root data-slot="context-menu" {...props} />
|
|
56
34
|
}
|
|
57
|
-
// CIL[
|
|
58
|
-
// CIL[
|
|
59
|
-
// CIL[DOC-
|
|
60
|
-
// CIL[DOC-
|
|
61
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[\".framework/src/components/ui/dialog.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
62
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="context menu trigger" errors="none" side_effects="renders DOM"]
|
|
63
|
-
// CIL[DOC-MICRO logic_summary="Wraps Radix ContextMenuTrigger with select-none styling" notable_decisions="[]"]
|
|
64
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
65
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
66
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
67
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
68
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
69
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
35
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the context menu root wrapper'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
36
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
37
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
38
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
70
39
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
71
40
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
41
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenu:function"]
|
|
42
|
+
|
|
43
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenutrigger:function" type="function" identity="contextmenutrigger" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
44
|
+
// CIL[DOC-MACRO purpose="Render the context menu trigger subcomponent"]
|
|
45
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.Trigger with project styling and forward props"]
|
|
46
|
+
// CIL[DOC-CONTRACT inputs="className: string, ...props: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
47
|
+
// CIL[DOC-MICRO logic_summary="Returns ContextMenuPrimitive.Trigger with data-slot and merged className" notable_decisions="[]"]
|
|
48
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
49
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
50
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
72
51
|
function ContextMenuTrigger({
|
|
73
52
|
className,
|
|
74
53
|
...props
|
|
@@ -81,21 +60,22 @@ function ContextMenuTrigger({
|
|
|
81
60
|
/>
|
|
82
61
|
)
|
|
83
62
|
}
|
|
84
|
-
// CIL[
|
|
85
|
-
// CIL[
|
|
86
|
-
// CIL[DOC-
|
|
87
|
-
// CIL[DOC-
|
|
88
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"custom/apps/portal/pages/ContentPage.tsx\",\"\\\"]"]
|
|
89
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="group container" errors="none" side_effects="renders DOM"]
|
|
90
|
-
// CIL[DOC-MICRO logic_summary="Wraps Radix ContextMenuGroup with data-slot attribute" notable_decisions="[]"]
|
|
91
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
92
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
93
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, custom/apps/portal/pages/ContentPage.tsx, \."]
|
|
94
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
95
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
96
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
63
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the context menu trigger subcomponent'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
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"]
|
|
97
67
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
98
68
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
69
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenutrigger:function"]
|
|
70
|
+
|
|
71
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenugroup:function" type="function" identity="contextmenugroup" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
72
|
+
// CIL[DOC-MACRO purpose="Render the context menu group subcomponent"]
|
|
73
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.Group with project styling and forward props"]
|
|
74
|
+
// CIL[DOC-CONTRACT inputs="props: React.ComponentProps<typeof ContextMenuPrimitive.Group>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
75
|
+
// CIL[DOC-MICRO logic_summary="Returns ContextMenuPrimitive.Group with data-slot and merged className" notable_decisions="[]"]
|
|
76
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
77
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
78
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
99
79
|
function ContextMenuGroup({
|
|
100
80
|
...props
|
|
101
81
|
}: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {
|
|
@@ -103,21 +83,22 @@ function ContextMenuGroup({
|
|
|
103
83
|
<ContextMenuPrimitive.Group data-slot="context-menu-group" {...props} />
|
|
104
84
|
)
|
|
105
85
|
}
|
|
106
|
-
// CIL[
|
|
107
|
-
// CIL[
|
|
108
|
-
// CIL[DOC-
|
|
109
|
-
// CIL[DOC-
|
|
110
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
111
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="context menu portal" errors="none" side_effects="renders DOM"]
|
|
112
|
-
// CIL[DOC-MICRO logic_summary="Wraps Radix ContextMenuPortal with data-slot attribute" notable_decisions="[]"]
|
|
113
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
114
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
115
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
116
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
117
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
118
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
86
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the context menu group subcomponent'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
87
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
88
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
89
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
119
90
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
120
91
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
92
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenugroup:function"]
|
|
93
|
+
|
|
94
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenuportal:function" type="function" identity="contextmenuportal" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
95
|
+
// CIL[DOC-MACRO purpose="Render the context menu portal subcomponent"]
|
|
96
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.Portal with project styling and forward props"]
|
|
97
|
+
// CIL[DOC-CONTRACT inputs="props: React.ComponentProps<typeof ContextMenuPrimitive.Portal>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
98
|
+
// CIL[DOC-MICRO logic_summary="Returns ContextMenuPrimitive.Portal with data-slot and merged className" notable_decisions="[]"]
|
|
99
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
100
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
101
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
121
102
|
function ContextMenuPortal({
|
|
122
103
|
...props
|
|
123
104
|
}: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {
|
|
@@ -125,41 +106,43 @@ function ContextMenuPortal({
|
|
|
125
106
|
<ContextMenuPrimitive.Portal data-slot="context-menu-portal" {...props} />
|
|
126
107
|
)
|
|
127
108
|
}
|
|
128
|
-
// CIL[
|
|
129
|
-
// CIL[
|
|
130
|
-
// CIL[DOC-
|
|
131
|
-
// CIL[DOC-
|
|
132
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
133
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="submenu container" errors="none" side_effects="renders DOM"]
|
|
134
|
-
// CIL[DOC-MICRO logic_summary="Wraps Radix ContextMenuSub with data-slot attribute" 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. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
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."]
|
|
109
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the context menu portal subcomponent'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
110
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
111
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
112
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
141
113
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
142
114
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
115
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenuportal:function"]
|
|
116
|
+
|
|
117
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenusub:function" type="function" identity="contextmenusub" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
118
|
+
// CIL[DOC-MACRO purpose="Render the context menu sub subcomponent"]
|
|
119
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.Sub with project styling and forward props"]
|
|
120
|
+
// CIL[DOC-CONTRACT inputs="props: React.ComponentProps<typeof ContextMenuPrimitive.Sub>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
121
|
+
// CIL[DOC-MICRO logic_summary="Returns ContextMenuPrimitive.Sub with data-slot and merged className" notable_decisions="[]"]
|
|
122
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
123
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
124
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
143
125
|
function ContextMenuSub({
|
|
144
126
|
...props
|
|
145
127
|
}: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {
|
|
146
128
|
return <ContextMenuPrimitive.Sub data-slot="context-menu-sub" {...props} />
|
|
147
129
|
}
|
|
148
|
-
// CIL[
|
|
149
|
-
// CIL[
|
|
150
|
-
// CIL[DOC-
|
|
151
|
-
// CIL[DOC-
|
|
152
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
153
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="radio group container" errors="none" side_effects="renders DOM"]
|
|
154
|
-
// CIL[DOC-MICRO logic_summary="Wraps Radix ContextMenuRadioGroup with data-slot attribute" notable_decisions="[]"]
|
|
155
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
156
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
157
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
158
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
159
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
160
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
130
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the context menu sub subcomponent'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
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"]
|
|
161
134
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
162
135
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
136
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenusub:function"]
|
|
137
|
+
|
|
138
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenuradiogroup:function" type="function" identity="contextmenuradiogroup" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
139
|
+
// CIL[DOC-MACRO purpose="Render the context menu radiogroup subcomponent"]
|
|
140
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.RadioGroup with project styling and forward props"]
|
|
141
|
+
// CIL[DOC-CONTRACT inputs="props: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
142
|
+
// CIL[DOC-MICRO logic_summary="Returns ContextMenuPrimitive.RadioGroup with data-slot and merged className" notable_decisions="[]"]
|
|
143
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
144
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
145
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
163
146
|
function ContextMenuRadioGroup({
|
|
164
147
|
...props
|
|
165
148
|
}: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {
|
|
@@ -170,21 +153,22 @@ function ContextMenuRadioGroup({
|
|
|
170
153
|
/>
|
|
171
154
|
)
|
|
172
155
|
}
|
|
173
|
-
// CIL[
|
|
174
|
-
// CIL[
|
|
175
|
-
// CIL[DOC-
|
|
176
|
-
// CIL[DOC-
|
|
177
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
178
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled popup container" errors="none" side_effects="renders DOM"]
|
|
179
|
-
// CIL[DOC-MICRO logic_summary="Creates popup with portal, animations and popover styling" notable_decisions="[]"]
|
|
180
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
181
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
182
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
183
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
184
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
185
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
156
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the context menu radiogroup subcomponent'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
157
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
158
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
159
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
186
160
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
187
161
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
162
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenuradiogroup:function"]
|
|
163
|
+
|
|
164
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenucontent:function" type="function" identity="contextmenucontent" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
165
|
+
// CIL[DOC-MACRO purpose="Render the context menu content container"]
|
|
166
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.Content in a Portal with positioning and animation styles"]
|
|
167
|
+
// CIL[DOC-CONTRACT inputs="className: string, side: Side, ...props: React.ComponentProps<typeof ContextMenuPrimitive.Content>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
168
|
+
// CIL[DOC-MICRO logic_summary="Wraps Content in a Portal and applies positioning, animation and side-aware data attributes" notable_decisions="[]"]
|
|
169
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
170
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
171
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
188
172
|
function ContextMenuContent({
|
|
189
173
|
className,
|
|
190
174
|
...props
|
|
@@ -201,21 +185,22 @@ function ContextMenuContent({
|
|
|
201
185
|
</ContextMenuPrimitive.Portal>
|
|
202
186
|
)
|
|
203
187
|
}
|
|
204
|
-
// CIL[
|
|
205
|
-
// CIL[
|
|
206
|
-
// CIL[DOC-
|
|
207
|
-
// CIL[DOC-
|
|
208
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
209
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled menu item" errors="none" side_effects="renders DOM"]
|
|
210
|
-
// CIL[DOC-MICRO logic_summary="Creates interactive item with focus styling and destructive variant" notable_decisions="[]"]
|
|
211
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
212
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
213
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
214
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
215
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
216
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
188
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the context menu content container'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
189
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
190
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
191
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
217
192
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
218
193
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
194
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenucontent:function"]
|
|
195
|
+
|
|
196
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenuitem:function" type="function" identity="contextmenuitem" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
197
|
+
// CIL[DOC-MACRO purpose="Render a context menu item"]
|
|
198
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.Item with variant/inset support and styling"]
|
|
199
|
+
// CIL[DOC-CONTRACT inputs="props: React.ComponentProps<typeof ContextMenuPrimitive.Item> with optional inset and variant" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
200
|
+
// CIL[DOC-MICRO logic_summary="Returns Item with variant/inset handling, data-slot and merged className" notable_decisions="[]"]
|
|
201
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
202
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
203
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
219
204
|
function ContextMenuItem({
|
|
220
205
|
className,
|
|
221
206
|
inset,
|
|
@@ -238,21 +223,22 @@ function ContextMenuItem({
|
|
|
238
223
|
/>
|
|
239
224
|
)
|
|
240
225
|
}
|
|
241
|
-
// CIL[
|
|
242
|
-
// CIL[
|
|
243
|
-
// CIL[DOC-
|
|
244
|
-
// CIL[DOC-
|
|
245
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
246
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="submenu trigger" errors="none" side_effects="renders DOM"]
|
|
247
|
-
// CIL[DOC-MICRO logic_summary="Creates trigger with chevron icon and inset styling support" notable_decisions="[]"]
|
|
248
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
249
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
250
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
251
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
252
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
253
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
226
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a context menu item'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
227
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
228
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
229
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
254
230
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
255
231
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
232
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenuitem:function"]
|
|
233
|
+
|
|
234
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenusubtrigger:function" type="function" identity="contextmenusubtrigger" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
235
|
+
// CIL[DOC-MACRO purpose="Render a sub-menu trigger"]
|
|
236
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.SubTrigger with chevron and inset support"]
|
|
237
|
+
// CIL[DOC-CONTRACT inputs="className: string, children: React.ReactNode, inset: boolean, ...props: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
238
|
+
// CIL[DOC-MICRO logic_summary="Returns SubTrigger with ChevronRight icon, data-inset and merged className" notable_decisions="[]"]
|
|
239
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
240
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
241
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
256
242
|
function ContextMenuSubTrigger({
|
|
257
243
|
className,
|
|
258
244
|
inset,
|
|
@@ -276,21 +262,22 @@ function ContextMenuSubTrigger({
|
|
|
276
262
|
</ContextMenuPrimitive.SubTrigger>
|
|
277
263
|
)
|
|
278
264
|
}
|
|
279
|
-
// CIL[
|
|
280
|
-
// CIL[
|
|
281
|
-
// CIL[DOC-
|
|
282
|
-
// CIL[DOC-
|
|
283
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
284
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled submenu popup" errors="none" side_effects="renders DOM"]
|
|
285
|
-
// CIL[DOC-MICRO logic_summary="Creates popup container with animations for submenu content" notable_decisions="[]"]
|
|
286
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
287
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
288
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
289
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
290
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
291
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
265
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a sub-menu trigger'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
266
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
267
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
268
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
292
269
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
293
270
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
271
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenusubtrigger:function"]
|
|
272
|
+
|
|
273
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenusubcontent:function" type="function" identity="contextmenusubcontent" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
274
|
+
// CIL[DOC-MACRO purpose="Render the context menu subcontent subcomponent"]
|
|
275
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.SubContent with project styling and forward props"]
|
|
276
|
+
// CIL[DOC-CONTRACT inputs="className: string, ...props: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
277
|
+
// CIL[DOC-MICRO logic_summary="Returns ContextMenuPrimitive.SubContent with data-slot and merged className" notable_decisions="[]"]
|
|
278
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
279
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
280
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
294
281
|
function ContextMenuSubContent({
|
|
295
282
|
className,
|
|
296
283
|
...props
|
|
@@ -303,21 +290,22 @@ function ContextMenuSubContent({
|
|
|
303
290
|
/>
|
|
304
291
|
)
|
|
305
292
|
}
|
|
306
|
-
// CIL[
|
|
307
|
-
// CIL[
|
|
308
|
-
// CIL[DOC-
|
|
309
|
-
// CIL[DOC-
|
|
310
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
311
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="checkbox menu item" errors="none" side_effects="renders DOM"]
|
|
312
|
-
// CIL[DOC-MICRO logic_summary="Creates toggleable item with check indicator and inset styling" notable_decisions="[]"]
|
|
313
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
314
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
315
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
316
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
317
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
318
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
293
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the context menu subcontent subcomponent'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
294
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
295
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
296
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
319
297
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
320
298
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
299
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenusubcontent:function"]
|
|
300
|
+
|
|
301
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenucheckboxitem:function" type="function" identity="contextmenucheckboxitem" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
302
|
+
// CIL[DOC-MACRO purpose="Render a context menu checkbox item"]
|
|
303
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.CheckboxItem with checked state and icon indicator"]
|
|
304
|
+
// CIL[DOC-CONTRACT inputs="className: string, children: React.ReactNode, checked: boolean, inset: boolean, ...props: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
305
|
+
// CIL[DOC-MICRO logic_summary="Returns CheckboxItem with ItemIndicator for CheckIcon, data-inset and merged className" notable_decisions="[]"]
|
|
306
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
307
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
308
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
321
309
|
function ContextMenuCheckboxItem({
|
|
322
310
|
className,
|
|
323
311
|
children,
|
|
@@ -348,21 +336,22 @@ function ContextMenuCheckboxItem({
|
|
|
348
336
|
</ContextMenuPrimitive.CheckboxItem>
|
|
349
337
|
)
|
|
350
338
|
}
|
|
351
|
-
// CIL[
|
|
352
|
-
// CIL[
|
|
353
|
-
// CIL[DOC-
|
|
354
|
-
// CIL[DOC-
|
|
355
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
356
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="radio menu item" errors="none" side_effects="renders DOM"]
|
|
357
|
-
// CIL[DOC-MICRO logic_summary="Creates radio item with check indicator and inset styling" notable_decisions="[]"]
|
|
358
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
359
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
360
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
361
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
362
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
363
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
339
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a context menu checkbox item'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
340
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
341
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
342
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
364
343
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
365
344
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
345
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenucheckboxitem:function"]
|
|
346
|
+
|
|
347
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenuradioitem:function" type="function" identity="contextmenuradioitem" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
348
|
+
// CIL[DOC-MACRO purpose="Render a context menu radio item"]
|
|
349
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.RadioItem with selection indicator"]
|
|
350
|
+
// CIL[DOC-CONTRACT inputs="className: string, children: React.ReactNode, inset: boolean, ...props: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
351
|
+
// CIL[DOC-MICRO logic_summary="Returns RadioItem with ItemIndicator for CheckIcon, data-inset and merged className" notable_decisions="[]"]
|
|
352
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
353
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
354
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
366
355
|
function ContextMenuRadioItem({
|
|
367
356
|
className,
|
|
368
357
|
children,
|
|
@@ -391,21 +380,22 @@ function ContextMenuRadioItem({
|
|
|
391
380
|
</ContextMenuPrimitive.RadioItem>
|
|
392
381
|
)
|
|
393
382
|
}
|
|
394
|
-
// CIL[
|
|
395
|
-
// CIL[
|
|
396
|
-
// CIL[DOC-
|
|
397
|
-
// CIL[DOC-
|
|
398
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
399
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled label" errors="none" side_effects="renders DOM"]
|
|
400
|
-
// CIL[DOC-MICRO logic_summary="Creates muted text label with inset styling support" notable_decisions="[]"]
|
|
401
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
402
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
403
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
404
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
405
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
406
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
383
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a context menu radio item'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
384
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
385
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
386
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
407
387
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
408
388
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
389
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenuradioitem:function"]
|
|
390
|
+
|
|
391
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenulabel:function" type="function" identity="contextmenulabel" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
392
|
+
// CIL[DOC-MACRO purpose="Render the context menu label subcomponent"]
|
|
393
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.Label with project styling and forward props"]
|
|
394
|
+
// CIL[DOC-CONTRACT inputs="className: string, inset: boolean, ...props: React.ComponentProps<typeof ContextMenuPrimitive.Label>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
395
|
+
// CIL[DOC-MICRO logic_summary="Returns ContextMenuPrimitive.Label with data-slot and merged className" notable_decisions="[]"]
|
|
396
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
397
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
398
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
409
399
|
function ContextMenuLabel({
|
|
410
400
|
className,
|
|
411
401
|
inset,
|
|
@@ -425,21 +415,22 @@ function ContextMenuLabel({
|
|
|
425
415
|
/>
|
|
426
416
|
)
|
|
427
417
|
}
|
|
428
|
-
// CIL[
|
|
429
|
-
// CIL[
|
|
430
|
-
// CIL[DOC-
|
|
431
|
-
// CIL[DOC-
|
|
432
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
433
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled separator" errors="none" side_effects="renders DOM"]
|
|
434
|
-
// CIL[DOC-MICRO logic_summary="Creates horizontal line with margin and border styling" notable_decisions="[]"]
|
|
435
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
436
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
437
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
438
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
439
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
440
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
418
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the context menu label subcomponent'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
419
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
420
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
421
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
441
422
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
442
423
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
424
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenulabel:function"]
|
|
425
|
+
|
|
426
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenuseparator:function" type="function" identity="contextmenuseparator" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
427
|
+
// CIL[DOC-MACRO purpose="Render the context menu separator subcomponent"]
|
|
428
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ContextMenuPrimitive.Separator with project styling and forward props"]
|
|
429
|
+
// CIL[DOC-CONTRACT inputs="className: string, ...props: React.ComponentProps<typeof ContextMenuPrimitive.Separator>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
430
|
+
// CIL[DOC-MICRO logic_summary="Returns ContextMenuPrimitive.Separator with data-slot and merged className" notable_decisions="[]"]
|
|
431
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
432
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
433
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
443
434
|
function ContextMenuSeparator({
|
|
444
435
|
className,
|
|
445
436
|
...props
|
|
@@ -452,21 +443,22 @@ function ContextMenuSeparator({
|
|
|
452
443
|
/>
|
|
453
444
|
)
|
|
454
445
|
}
|
|
455
|
-
// CIL[
|
|
456
|
-
// CIL[
|
|
457
|
-
// CIL[DOC-
|
|
458
|
-
// CIL[DOC-
|
|
459
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
460
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled shortcut span" errors="none" side_effects="renders DOM"]
|
|
461
|
-
// CIL[DOC-MICRO logic_summary="Creates small tracking-widest text with focus styling" notable_decisions="[]"]
|
|
462
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
463
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
464
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
465
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
466
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
467
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
446
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the context menu separator subcomponent'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
447
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
448
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
449
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
468
450
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
469
451
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
452
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenuseparator:function"]
|
|
453
|
+
|
|
454
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenushortcut:function" type="function" identity="contextmenushortcut" parent="~/.framework/src/components/ui/context-menu.tsx:module_header:module_header"]
|
|
455
|
+
// CIL[DOC-MACRO purpose="Render the context menu shortcut text"]
|
|
456
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a styled span for keyboard shortcut text with focus-aware coloring"]
|
|
457
|
+
// CIL[DOC-CONTRACT inputs="className: string, ...props: React.ComponentProps for span element" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
458
|
+
// CIL[DOC-MICRO logic_summary="Returns a span with data-slot, merged className and accent-foreground focus styling" notable_decisions="[]"]
|
|
459
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
460
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
461
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
470
462
|
function ContextMenuShortcut({
|
|
471
463
|
className,
|
|
472
464
|
...props
|
|
@@ -482,21 +474,22 @@ function ContextMenuShortcut({
|
|
|
482
474
|
/>
|
|
483
475
|
)
|
|
484
476
|
}
|
|
485
|
-
// CIL[
|
|
486
|
-
// CIL[
|
|
487
|
-
// CIL[DOC-
|
|
488
|
-
// CIL[DOC-
|
|
489
|
-
// CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
|
|
490
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="component exports" errors="none" side_effects="module exports"]
|
|
491
|
-
// CIL[DOC-MICRO logic_summary="Exports all context menu components for external usage" notable_decisions="[]"]
|
|
492
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
493
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
494
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
495
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
496
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
497
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
477
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the context menu shortcut text'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
478
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
479
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
480
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
498
481
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
499
482
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
483
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:contextmenushortcut:function"]
|
|
484
|
+
|
|
485
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/context-menu.tsx:module_footer:module_footer" type="module_footer" identity="module_footer" parent="~/.framework/src/components/ui/context-menu.tsx"]
|
|
486
|
+
// CIL[DOC-MACRO purpose="Re-export context menu subcomponents from the module"]
|
|
487
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Expose the defined context menu subcomponents as named exports for consumers"]
|
|
488
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="named exports" errors="none" side_effects="none"]
|
|
489
|
+
// CIL[DOC-MICRO logic_summary="Lists all context menu subcomponents in the export block" notable_decisions="[]"]
|
|
490
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/context-menu.tsx,.framework/src/lib/utils.ts"]
|
|
491
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
492
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
500
493
|
export {
|
|
501
494
|
ContextMenu,
|
|
502
495
|
ContextMenuTrigger,
|
|
@@ -514,4 +507,10 @@ export {
|
|
|
514
507
|
ContextMenuSubTrigger,
|
|
515
508
|
ContextMenuRadioGroup,
|
|
516
509
|
}
|
|
517
|
-
// CIL[
|
|
510
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Re-export context menu subcomponents from the module'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
511
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
512
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
513
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
514
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
515
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
516
|
+
// CIL[END stable_id="~/.framework/src/components/ui/context-menu.tsx:module_footer:module_footer"]
|