spine-framework 0.3.144 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +76 -0
- package/.framework/.spine-manifest.json +19 -0
- package/.framework/cli/commands/agents.ts +61 -33
- package/.framework/cli/commands/auth.ts +60 -28
- package/.framework/cli/commands/create-app.ts +212 -80
- package/.framework/cli/commands/dev.ts +184 -68
- package/.framework/cli/commands/doctor.ts +324 -152
- package/.framework/cli/commands/generate.ts +119 -68
- package/.framework/cli/commands/init.ts +141 -242
- package/.framework/cli/commands/install-app.ts +1336 -314
- package/.framework/cli/commands/items.ts +31 -29
- package/.framework/cli/commands/migrate.ts +299 -156
- package/.framework/cli/commands/migrations.ts +62 -30
- package/.framework/cli/commands/pipelines.ts +31 -29
- package/.framework/cli/commands/status.ts +105 -45
- package/.framework/cli/commands/system.ts +47 -42
- package/.framework/cli/commands/test.ts +161 -102
- package/.framework/cli/commands/upgrade.ts +260 -0
- package/.framework/cli/commands/validate-app.ts +517 -161
- package/.framework/cli/context.ts +117 -85
- package/.framework/cli/env-loader.ts +74 -43
- package/.framework/cli/index.ts +70 -46
- package/.framework/cli/lib/project-files.ts +404 -0
- package/.framework/docs/guides/testing-guide.md +1 -1
- package/.framework/docs/runtime-types.md +72 -72
- package/.framework/functions/_shared/access.ts +84 -0
- package/.framework/functions/_shared/agent-runner.ts +5051 -1026
- package/.framework/functions/_shared/app-manifest.ts +214 -94
- package/.framework/functions/_shared/ast.ts +214 -0
- package/.framework/functions/_shared/audit.ts +91 -55
- package/.framework/functions/_shared/cil.ts +368 -127
- package/.framework/functions/_shared/db.ts +337 -68
- package/.framework/functions/_shared/funnel.ts +228 -0
- package/.framework/functions/_shared/geo.ts +105 -0
- package/.framework/functions/_shared/hash-api-key.ts +94 -17
- package/.framework/functions/_shared/index.ts +22 -224
- package/.framework/functions/_shared/kb.ts +832 -58
- package/.framework/functions/_shared/llm.ts +118 -18
- package/.framework/functions/_shared/logging.ts +317 -19
- package/.framework/functions/_shared/middleware.ts +701 -131
- package/.framework/functions/_shared/notify.ts +70 -0
- package/.framework/functions/_shared/outcomes.ts +34 -19
- package/.framework/functions/_shared/permissions.ts +501 -315
- package/.framework/functions/_shared/pipeline-runner.ts +704 -155
- package/.framework/functions/_shared/principal.ts +436 -263
- package/.framework/functions/_shared/rate-limit.ts +233 -0
- package/.framework/functions/_shared/resolve-credentials.ts +86 -19
- package/.framework/functions/_shared/resolve-ids.ts +203 -139
- package/.framework/functions/_shared/retry-deliveries.ts +51 -16
- package/.framework/functions/_shared/schema-utils.ts +602 -521
- package/.framework/functions/_shared/security.ts +345 -0
- package/.framework/functions/_shared/testing.ts +197 -172
- package/.framework/functions/_shared/tracing.ts +351 -21
- package/.framework/functions/_shared/trigger-engine.ts +425 -136
- package/.framework/functions/_shared/webhook-registration.ts +71 -70
- package/.framework/functions/_shared/webhook-registry.ts +126 -83
- package/.framework/functions/account-nodes.ts +30 -30
- package/.framework/functions/adapters/generic-webhook-inbound.ts +49 -16
- package/.framework/functions/adapters/generic-webhook-outbound.ts +17 -17
- package/.framework/functions/adapters/openai-outbound.ts +15 -16
- package/.framework/functions/admin-data.ts +596 -173
- package/.framework/functions/admin-funnel.ts +64 -60
- package/.framework/functions/admin-install-funnel.ts +84 -66
- package/.framework/functions/admin-signals.ts +69 -51
- package/.framework/functions/ai-agents.ts +431 -106
- package/.framework/functions/ai-interactions.ts +186 -112
- package/.framework/functions/api-keys.ts +107 -107
- package/.framework/functions/apps.ts +154 -136
- package/.framework/functions/auth.ts +83 -65
- package/.framework/functions/cil-agent-ingest.ts +189 -232
- package/.framework/functions/cil-agent.ts +433 -177
- package/.framework/functions/cil-callmap.ts +642 -430
- package/.framework/functions/cil-config.ts +139 -135
- package/.framework/functions/cil-context.ts +214 -127
- package/.framework/functions/cil-doc.ts +587 -458
- package/.framework/functions/cil-embeddings.ts +453 -364
- package/.framework/functions/cil-graph.ts +427 -142
- package/.framework/functions/cil-ingest.ts +1418 -1154
- package/.framework/functions/cil-pipeline.ts +276 -21
- package/.framework/functions/cil-project.ts +659 -132
- package/.framework/functions/cil-validate.ts +198 -164
- package/.framework/functions/debug-auth.ts +57 -55
- package/.framework/functions/deliveries.ts +80 -21
- package/.framework/functions/embeddings.ts +1023 -318
- package/.framework/functions/eval-harness.ts +146 -108
- package/.framework/functions/integration-outbound.ts +205 -75
- package/.framework/functions/integration-routes.ts +128 -23
- package/.framework/functions/integrations.ts +125 -100
- package/.framework/functions/invites.ts +1095 -460
- package/.framework/functions/item-progress.ts +158 -102
- package/.framework/functions/kb.ts +34 -10
- package/.framework/functions/logs.ts +133 -133
- package/.framework/functions/observability.ts +152 -122
- package/.framework/functions/pipeline-executions.ts +147 -132
- package/.framework/functions/pipelines.ts +134 -119
- package/.framework/functions/prompt-configs.ts +96 -80
- package/.framework/functions/roles.ts +112 -82
- package/.framework/functions/security.ts +450 -0
- package/.framework/functions/system-cron.ts +117 -80
- package/.framework/functions/system.ts +158 -98
- package/.framework/functions/tests.ts +29 -29
- package/.framework/functions/timers.ts +94 -95
- package/.framework/functions/trigger-scheduler.ts +10 -0
- package/.framework/functions/triggers.ts +179 -149
- package/.framework/functions/types.ts +137 -125
- package/.framework/mcp/index.ts +133 -0
- package/.framework/mcp/load-env.ts +60 -0
- package/.framework/mcp/shared/app-manifest.ts +275 -0
- package/.framework/mcp/shared/db.ts +477 -0
- package/.framework/mcp/shared/kb.ts +118 -0
- package/.framework/mcp/tools/architect.ts +431 -0
- package/.framework/mcp/tools/cil/context.ts +345 -0
- package/.framework/mcp/tools/cil/graph.ts +242 -0
- package/.framework/mcp/tools/cil/ingest.ts +1217 -0
- package/.framework/mcp/tools/cil/pipeline-orchestrator.ts +693 -0
- package/.framework/mcp/tools/cil/pipeline.ts +767 -0
- package/.framework/mcp/tools/cil/project.ts +791 -0
- package/.framework/mcp/tools/cil/retrieval.ts +336 -0
- package/.framework/mcp/tools/cil/search-core.ts +454 -0
- package/.framework/mcp/tools/cil/search.ts +97 -0
- package/.framework/mcp/tools/cil/suggest.ts +186 -0
- package/.framework/mcp/tools/cil/validate.ts +1369 -0
- package/.framework/mcp/tools/kb/delete.ts +139 -0
- package/.framework/mcp/tools/kb/index.ts +52 -0
- package/.framework/mcp/tools/kb/ingest.ts +84 -0
- package/.framework/mcp/tools/kb/list-types.ts +102 -0
- package/.framework/mcp/tools/kb/publish.ts +100 -0
- package/.framework/mcp/tools/kb/reindex.ts +86 -0
- package/.framework/mcp/tools/kb/revoke.ts +85 -0
- package/.framework/mcp/tools/kb/search.ts +101 -0
- package/.framework/mcp/tools/kb/upsert.ts +125 -0
- package/.framework/mcp/tools/observability.ts +510 -0
- package/.framework/migrations/001_core_schema.sql +15 -0
- package/.framework/migrations/002_core_rls_and_functions.sql +15 -0
- package/.framework/migrations/003_core_system_data.sql +16 -1
- package/.framework/migrations/004_core_rpc_and_broker.sql +17 -1
- package/.framework/migrations/005_core_observability.sql +17 -1
- package/.framework/migrations/006_security_hardening_rls.sql +15 -0
- package/.framework/migrations/007_kb_article_list.sql +17 -1
- package/.framework/migrations/008_items_target.sql +15 -0
- package/.framework/migrations/009_roles_slug_unique.sql +15 -0
- package/.framework/migrations/010_auth_user_trigger.sql +15 -0
- package/.framework/migrations/011_spine_system_account.sql +16 -0
- package/.framework/migrations/012_service_role_grants.sql +16 -0
- package/.framework/migrations/013_get_account_apps_role_filter.sql +15 -0
- package/.framework/migrations/014_apps_required_roles.sql +16 -0
- package/.framework/migrations/015_types_kind_slug_unique.sql +20 -0
- package/.framework/migrations/016_cil_types.sql +281 -0
- package/.framework/migrations/017_cil_stable_ids.sql +37 -0
- package/.framework/migrations/018_runtime_tables.sql +129 -0
- package/.framework/migrations/019_agent_prompt_columns.sql +56 -0
- package/.framework/migrations/020_schema_reconciliation.sql +67 -0
- package/.framework/migrations/021_kb_embedding_lifecycle.sql +31 -0
- package/.framework/migrations/032_cil_status_migration.sql +73 -0
- package/.framework/migrations/033_cil_versioning.sql +73 -0
- package/.framework/migrations/034_match_embeddings_knn.sql +115 -0
- package/.framework/migrations/035_rate_limits.sql +55 -0
- package/.framework/migrations/036_demo_record_flags.sql +72 -0
- package/.framework/migrations/037_kb_types_canonical.sql +244 -0
- package/.framework/migrations/038_drop_demo_record_flags.sql +38 -0
- package/.framework/migrations/042_registration_hierarchy.sql +309 -0
- package/.framework/migrations/043_policy_actor_cleanup.sql +39 -0
- package/.framework/migrations/044_match_embeddings_filtered_knn.sql +151 -0
- package/.framework/migrations/045_security_critical_rls.sql +139 -0
- package/.framework/migrations/046_security_missing_rls.sql +79 -0
- package/.framework/migrations/047_people_updated_by.sql +27 -0
- package/.framework/migrations/048_watcher_last_seen_at.sql +24 -0
- package/.framework/migrations/049_security_blocklist.sql +148 -0
- package/.framework/migrations/050_notifications.sql +49 -0
- package/.framework/migrations/051_message_agent_fields.sql +74 -0
- package/.framework/migrations/052_registration_security.sql +421 -0
- package/.framework/migrations/053_builtin_action_seeds.sql +66 -0
- package/.framework/migrations/054_kb_ingest_lease.sql +157 -0
- package/.framework/migrations/055_type_id_drift_reconciliation.sql +33 -0
- package/.framework/migrations/056_slug_column_reconciliation.sql +38 -0
- package/.framework/migrations/057_pipelines_slug_identity.sql +14 -0
- package/.framework/migrations/058_account_data_field_declarations.sql +53 -0
- package/.framework/migrations/059_registration_placement_fixes.sql +269 -0
- package/.framework/migrations/060_account_person_record_permissions.sql +38 -0
- package/.framework/migrations/061_fk_dedup.sql +32 -0
- package/.framework/public/spine-logo.svg +10 -3
- package/.framework/scripts/app-install-cli.ts +190 -93
- package/.framework/scripts/assemble-frontend.sh +127 -44
- package/.framework/scripts/assemble-functions.sh +128 -30
- package/.framework/scripts/boundary-check.sh +6 -2
- package/.framework/scripts/build-manifest.sh +24 -68
- package/.framework/scripts/check-core-integrity.sh +15 -76
- package/.framework/scripts/checksum-manifest.mts +343 -0
- package/.framework/scripts/cil-migrate-markers.ts +403 -0
- package/.framework/scripts/fix-cil-markers.mjs +176 -0
- package/.framework/scripts/verify-integrity.sh +21 -57
- package/.framework/scripts/verify-manifest.mts +305 -0
- package/.framework/seeds/types/funnel_signal_use.json +74 -21
- package/.framework/seeds/types/spine_instance.json +73 -21
- package/.framework/src/App.tsx +118 -72
- package/.framework/src/apps/admin/index.tsx +855 -58
- package/.framework/src/components/AppWrapper.tsx +43 -45
- package/.framework/src/components/CustomAppLoader.tsx +160 -116
- package/.framework/src/components/admin/AdminListPage.tsx +46 -44
- package/.framework/src/components/admin/AdminSidebar.tsx +57 -47
- package/.framework/src/components/admin/AdminStatsCard.tsx +46 -44
- package/.framework/src/components/admin/PageInstructions.tsx +98 -2
- package/.framework/src/components/admin/SortableTableHeader.tsx +44 -45
- package/.framework/src/components/app-shell/GenericAppShell.tsx +64 -65
- package/.framework/src/components/app-shell/GenericDetailPage.tsx +44 -47
- package/.framework/src/components/app-shell/GenericListPage.tsx +45 -49
- package/.framework/src/components/app-sidebar.tsx +42 -45
- package/.framework/src/components/auth/ProtectedRoute.tsx +48 -41
- package/.framework/src/components/auth/TurnstileWidget.tsx +27 -0
- package/.framework/src/components/kb/KBArticleEditor.tsx +231 -22
- package/.framework/src/components/kb/KBArticleList.tsx +251 -10
- package/.framework/src/components/layout/AppShell.tsx +51 -45
- package/.framework/src/components/layout/Header.tsx +42 -43
- package/.framework/src/components/layout/Layout.tsx +46 -46
- package/.framework/src/components/layout/Sidebar.tsx +196 -96
- package/.framework/src/components/runtime/DataDetailHeader.tsx +55 -30
- package/.framework/src/components/runtime/DataDetailPage.tsx +31 -269
- package/.framework/src/components/runtime/DataFilters.tsx +49 -74
- package/.framework/src/components/runtime/DataHeader.tsx +53 -32
- package/.framework/src/components/runtime/DataListPage.tsx +51 -155
- package/.framework/src/components/runtime/DataStats.tsx +66 -44
- package/.framework/src/components/runtime/DataTable.tsx +49 -149
- package/.framework/src/components/runtime/SchemaDetailForm.tsx +45 -75
- package/.framework/src/components/runtime/index.ts +119 -16
- package/.framework/src/components/search-form.tsx +46 -29
- package/.framework/src/components/shared/AgentView.tsx +65 -48
- package/.framework/src/components/shared/FieldRenderer.tsx +144 -50
- package/.framework/src/components/shared/InviteManager.tsx +207 -97
- package/.framework/src/components/shared/MemberList.tsx +97 -0
- package/.framework/src/components/shared/SchemaFields.tsx +107 -86
- package/.framework/src/components/ui/DataTable.tsx +80 -68
- package/.framework/src/components/ui/Form.tsx +157 -146
- package/.framework/src/components/ui/ItemCard.tsx +74 -67
- package/.framework/src/components/ui/ItemListView.tsx +73 -68
- package/.framework/src/components/ui/LoadingSpinner.tsx +43 -48
- package/.framework/src/components/ui/Modal.tsx +78 -68
- package/.framework/src/components/ui/RichTextEditor.tsx +89 -69
- package/.framework/src/components/ui/accordion.tsx +85 -86
- package/.framework/src/components/ui/alert-dialog.tsx +197 -184
- package/.framework/src/components/ui/alert.tsx +105 -94
- package/.framework/src/components/ui/aspect-ratio.tsx +57 -43
- package/.framework/src/components/ui/avatar.tsx +122 -107
- package/.framework/src/components/ui/badge.tsx +60 -55
- package/.framework/src/components/ui/breadcrumb.tsx +127 -128
- package/.framework/src/components/ui/button-group.tsx +86 -72
- package/.framework/src/components/ui/button.tsx +71 -50
- package/.framework/src/components/ui/calendar.tsx +72 -57
- package/.framework/src/components/ui/card.tsx +136 -129
- package/.framework/src/components/ui/carousel.tsx +226 -107
- package/.framework/src/components/ui/chart.tsx +252 -147
- package/.framework/src/components/ui/checkbox.tsx +43 -44
- package/.framework/src/components/ui/collapsible.tsx +86 -71
- package/.framework/src/components/ui/combobox.tsx +282 -249
- package/.framework/src/components/ui/command.tsx +158 -146
- package/.framework/src/components/ui/context-menu.tsx +239 -240
- package/.framework/src/components/ui/dialog.tsx +174 -157
- package/.framework/src/components/ui/direction.tsx +72 -56
- package/.framework/src/components/ui/drawer.tsx +168 -169
- package/.framework/src/components/ui/dropdown-menu.tsx +254 -223
- package/.framework/src/components/ui/empty.tsx +131 -120
- package/.framework/src/components/ui/field.tsx +205 -173
- package/.framework/src/components/ui/hover-card.tsx +71 -72
- package/.framework/src/components/ui/input-group.tsx +148 -133
- package/.framework/src/components/ui/input-otp.tsx +99 -86
- package/.framework/src/components/ui/input.tsx +43 -41
- package/.framework/src/components/ui/item.tsx +207 -185
- package/.framework/src/components/ui/kbd.tsx +57 -56
- package/.framework/src/components/ui/label.tsx +45 -41
- package/.framework/src/components/ui/menubar.tsx +268 -236
- package/.framework/src/components/ui/native-select.tsx +85 -86
- package/.framework/src/components/ui/navigation-menu.tsx +166 -156
- package/.framework/src/components/ui/pagination.tsx +131 -141
- package/.framework/src/components/ui/popover.tsx +125 -128
- package/.framework/src/components/ui/progress.tsx +47 -44
- package/.framework/src/components/ui/radio-group.tsx +60 -55
- package/.framework/src/components/ui/resizable.tsx +85 -72
- package/.framework/src/components/ui/scroll-area.tsx +57 -58
- package/.framework/src/components/ui/select.tsx +182 -169
- package/.framework/src/components/ui/separator.tsx +42 -43
- package/.framework/src/components/ui/sheet.tsx +170 -159
- package/.framework/src/components/ui/sidebar.tsx +395 -398
- package/.framework/src/components/ui/skeleton.tsx +42 -43
- package/.framework/src/components/ui/slider.tsx +61 -44
- package/.framework/src/components/ui/sonner.tsx +44 -44
- package/.framework/src/components/ui/spinner.tsx +47 -42
- package/.framework/src/components/ui/switch.tsx +56 -42
- package/.framework/src/components/ui/table-primitives.tsx +272 -132
- package/.framework/src/components/ui/table.tsx +140 -142
- package/.framework/src/components/ui/tabs.tsx +110 -93
- package/.framework/src/components/ui/textarea.tsx +43 -44
- package/.framework/src/components/ui/toggle-group.tsx +87 -71
- package/.framework/src/components/ui/toggle.tsx +56 -56
- package/.framework/src/components/ui/tooltip.tsx +99 -85
- package/.framework/src/contexts/AppContext.tsx +166 -114
- package/.framework/src/contexts/AuthContext.tsx +232 -137
- package/.framework/src/hooks/use-mobile.ts +43 -44
- package/.framework/src/hooks/useApi.ts +185 -172
- package/.framework/src/hooks/useAppPath.ts +31 -29
- package/.framework/src/hooks/useApps.ts +77 -42
- package/.framework/src/hooks/useEntityList.ts +66 -29
- package/.framework/src/hooks/useEntityRecord.ts +76 -32
- package/.framework/src/hooks/useForm.ts +62 -30
- package/.framework/src/hooks/useListSchema.ts +60 -43
- package/.framework/src/hooks/useSchemaRecord.ts +115 -95
- package/.framework/src/lib/api.ts +258 -134
- package/.framework/src/lib/registration.ts +181 -0
- package/.framework/src/lib/supabase.ts +118 -81
- package/.framework/src/lib/utils.ts +266 -266
- package/.framework/src/main.tsx +43 -44
- package/.framework/src/pages/DashboardPage.tsx +44 -43
- package/.framework/src/pages/NoAppPage.tsx +50 -0
- package/.framework/src/pages/NotFoundPage.tsx +32 -29
- package/.framework/src/pages/SetupPage.tsx +34 -33
- package/.framework/src/pages/admin/AIAgentDetailPage.tsx +69 -58
- package/.framework/src/pages/admin/AIAgentsPage.tsx +43 -40
- package/.framework/src/pages/admin/APIKeyDetailPage.tsx +63 -55
- package/.framework/src/pages/admin/APIKeysPage.tsx +44 -42
- package/.framework/src/pages/admin/AlertsConfigPage.tsx +117 -94
- package/.framework/src/pages/admin/AppDetailPage.tsx +48 -42
- package/.framework/src/pages/admin/AppsPage.tsx +45 -42
- package/.framework/src/pages/admin/DeliveriesPage.tsx +49 -17
- package/.framework/src/pages/admin/DesignedPage.tsx +31 -30
- package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +58 -0
- package/.framework/src/pages/admin/EmbeddingsPage.tsx +49 -0
- package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +31 -29
- package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +46 -29
- package/.framework/src/pages/admin/IntegratedDashboard.tsx +32 -29
- package/.framework/src/pages/admin/IntegrationDetailPage.tsx +68 -55
- package/.framework/src/pages/admin/IntegrationsPage.tsx +45 -42
- package/.framework/src/pages/admin/InvitesPage.tsx +60 -44
- package/.framework/src/pages/admin/LogsPage.tsx +87 -137
- package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +31 -29
- package/.framework/src/pages/admin/ObservabilityDashboard.tsx +150 -89
- package/.framework/src/pages/admin/PipelineDetailPage.tsx +77 -104
- package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +44 -43
- package/.framework/src/pages/admin/PipelinesPage.tsx +59 -145
- package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +53 -42
- package/.framework/src/pages/admin/PromptConfigsPage.tsx +47 -117
- package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +31 -44
- package/.framework/src/pages/admin/RoleDetailPage.tsx +49 -92
- package/.framework/src/pages/admin/RolesPage.tsx +47 -164
- package/.framework/src/pages/admin/SecurityPage.tsx +310 -0
- package/.framework/src/pages/admin/SelectTestPage.tsx +30 -32
- package/.framework/src/pages/admin/ShadcnTestPage.tsx +37 -44
- package/.framework/src/pages/admin/SimpleDashboard.tsx +32 -44
- package/.framework/src/pages/admin/TestRunDetailPage.tsx +97 -44
- package/.framework/src/pages/admin/TestingDashboard.tsx +126 -71
- package/.framework/src/pages/admin/TimerDetailPage.tsx +67 -55
- package/.framework/src/pages/admin/TimersPage.tsx +44 -42
- package/.framework/src/pages/admin/TriggerDetailPage.tsx +47 -42
- package/.framework/src/pages/admin/TriggersPage.tsx +58 -57
- package/.framework/src/pages/admin/TypeDetailPage.tsx +91 -55
- package/.framework/src/pages/admin/TypesPage.tsx +45 -42
- package/.framework/src/pages/admin/cil/CILAgentPage.tsx +258 -128
- package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +127 -123
- package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +308 -235
- package/.framework/src/pages/admin/cil/CILFileListPage.tsx +159 -110
- package/.framework/src/pages/admin/cil/CILFileSelectPage.tsx +432 -0
- package/.framework/src/pages/admin/cil/CILGraphPage.tsx +200 -178
- package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +286 -239
- package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +211 -90
- package/.framework/src/pages/admin/cil/CILSearchPage.tsx +156 -143
- package/.framework/src/pages/admin/cil/CILSuggestionsPage.tsx +379 -0
- package/.framework/src/pages/admin/cil/CILVersionsPage.tsx +337 -0
- package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +219 -214
- package/.framework/src/pages/admin/kb/KBAdminPage.tsx +64 -0
- package/.framework/src/pages/auth/AuthConfirmPage.tsx +135 -65
- package/.framework/src/pages/auth/ForgotPasswordPage.tsx +39 -31
- package/.framework/src/pages/auth/LoginPage.tsx +38 -32
- package/.framework/src/pages/auth/PendingApprovalPage.tsx +31 -28
- package/.framework/src/pages/auth/RegisterPage.tsx +429 -155
- package/.framework/src/pages/spine-framework/APIPage.tsx +33 -30
- package/.framework/src/pages/spine-framework/CLIPage.tsx +32 -30
- package/.framework/src/types/auth.ts +101 -93
- package/.framework/src/types/types.ts +283 -262
- package/.framework/templates/project.json +87 -0
- package/.framework/templates/spine.config.neutral.json +7 -0
- package/.framework/tests/api/api-surface.test.ts +381 -0
- package/.framework/tests/fixtures/seed.ts +427 -0
- package/.framework/tests/fixtures/teardown.ts +228 -0
- package/.framework/tests/reporter.ts +351 -0
- package/.framework/tests/setup.ts +135 -0
- package/.framework/tests/ui/ui-sweep.ts +278 -0
- package/.framework/tests/unit/admin-data-logger.test.ts +310 -0
- package/.framework/tests/unit/agent-runner.test.ts +2389 -0
- package/.framework/tests/unit/ai-interactions.test.ts +81 -0
- package/.framework/tests/unit/app-manifest.test.ts +359 -0
- package/.framework/tests/unit/assembly-scripts.test.ts +172 -0
- package/.framework/tests/unit/cil-determinism.test.ts +85 -0
- package/.framework/tests/unit/core-isolation.test.ts +153 -0
- package/.framework/tests/unit/funnel-signals.test.ts +135 -0
- package/.framework/tests/unit/install-app.test.ts +1759 -0
- package/.framework/tests/unit/invites-security.test.ts +572 -0
- package/.framework/tests/unit/kb-ingest-lease.test.ts +287 -0
- package/.framework/tests/unit/kb-search.test.ts +119 -0
- package/.framework/tests/unit/migrate.test.ts +509 -0
- package/.framework/tests/unit/notify.test.ts +136 -0
- package/.framework/tests/unit/permissions.test.ts +269 -0
- package/.framework/tests/unit/pipeline-runner.test.ts +755 -0
- package/.framework/tests/unit/principal-cache.test.ts +138 -0
- package/.framework/tests/unit/retrieval-golden.test.ts +520 -0
- package/.framework/tests/unit/runtime-isolation.test.ts +642 -0
- package/.framework/tests/unit/schema-utils.test.ts +225 -0
- package/.framework/tests/unit/trigger-engine.test.ts +513 -0
- package/.framework/tests/unit/validate-app.test.ts +527 -0
- package/README.md +34 -3
- package/bin/spine-framework.cjs +1 -0
- package/config/tailwind.config.cjs +7 -0
- package/config/tsconfig.functions.json +42 -0
- package/config/tsconfig.json +37 -9
- package/config/vite.config.ts +31 -2
- package/netlify.toml +31 -3
- package/package.json +46 -29
- package/scripts/assemble-frontend.sh +127 -44
- package/scripts/assemble-functions.sh +127 -29
- package/scripts/boundary-check.sh +6 -2
- package/scripts/build-manifest.sh +24 -68
- package/scripts/checksum-manifest.mts +345 -0
- package/scripts/dev-clean.sh +86 -0
- package/scripts/dev-netlify.sh +49 -0
- package/scripts/netlify-dev-wrapper.sh +2 -0
- package/scripts/verify-install.ts +358 -0
- package/scripts/verify-integrity.sh +21 -57
- package/scripts/verify-manifest.mts +305 -0
- package/templates/project/gitignore +45 -0
- package/{config → templates/project}/package-lock.json +22335 -9366
- package/vitest.config.ts +46 -0
- package/.framework/public/spine.config.json +0 -91
- package/config/deno.lock +0 -108
- package/config/tsconfig.node.tsbuildinfo +0 -1
- package/config/tsconfig.tsbuildinfo +0 -1
- package/config/vite.config.d.ts +0 -2
- package/custom/.devin/AGENT.md +0 -357
- package/custom/.devin/skills/install-app/SKILL.md +0 -39
- package/custom/.devin/skills/spine-workbench-discovery/SKILL.md +0 -39
- package/custom/.devin/skills/spine-workbench-idea/SKILL.md +0 -36
- package/custom/.devin/skills/spine-workbench-implement/SKILL.md +0 -46
- package/custom/.devin/skills/spine-workbench-initiative/SKILL.md +0 -28
- package/custom/.devin/skills/spine-workbench-plan/SKILL.md +0 -38
- package/custom/.devin/workflows/app-install.yaml +0 -83
- package/custom/README.md +0 -79
- package/docs/README.md +0 -15
- package/scripts/app-install-cli.ts +0 -286
- package/scripts/check-core-integrity.sh +0 -82
- package/scripts/ingest-chunks.cjs +0 -202
- package/scripts/kb-chunk-parser.cjs +0 -312
- package/scripts/kb-chunk-parser.ts +0 -330
- package/scripts/kb-ingest-docs.ts +0 -203
- package/scripts/load-test-app-install.ts +0 -484
- package/scripts/test-login.js +0 -33
- package/spine.config.json +0 -91
|
@@ -1,50 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
// CIL[BEGIN chunk_id="navigation_menu_module_header_1783796064" type="module_header" identity="module_header" parent="none"]
|
|
13
|
-
// CIL[DOC-MACRO purpose="Import dependencies for navigation menu components"]
|
|
14
|
-
// CIL[DOC-RESPONSIBILITY responsibility="Import React, CVA, Radix UI, utilities, and icons"]
|
|
15
|
-
// CIL[DOC-CONTEXT module="navigation-menu" layer="ui_components" 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\",\"\\\"]"]
|
|
16
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="imported modules" errors="none" side_effects="module imports"]
|
|
17
|
-
// CIL[DOC-MICRO logic_summary="Imports all dependencies for navigation menu component system" notable_decisions="[]"]
|
|
18
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/navigation-menu.tsx:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/src/components/ui/navigation-menu.tsx"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Declare dependencies and set up the NavigationMenu UI module"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Import React, class-variance-authority, Radix primitives, utilities, and icons"]
|
|
4
|
+
// CIL[DOC-CONTEXT module="NavigationMenu" layer="ui" related_files=".framework/src/lib/utils.ts"]
|
|
5
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="loads module dependencies"]
|
|
6
|
+
// CIL[DOC-MICRO logic_summary="Imports dependencies used by the NavigationMenu component set" notable_decisions="[]"]
|
|
7
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
19
8
|
// CIL[DOC-STABILITY stability="stable"]
|
|
20
|
-
// CIL[DOC-AUDIENCE audience="
|
|
21
|
-
|
|
22
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
23
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
24
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
25
|
-
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
26
|
-
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
9
|
+
// CIL[DOC-AUDIENCE audience="developers"]
|
|
10
|
+
|
|
27
11
|
import * as React from "react"
|
|
28
12
|
import { cva } from "class-variance-authority"
|
|
29
13
|
import { NavigationMenu as NavigationMenuPrimitive } from "radix-ui"
|
|
30
14
|
|
|
31
15
|
import { cn } from "@/lib/utils"
|
|
32
16
|
import { ChevronDownIcon } from "lucide-react"
|
|
33
|
-
// CIL[
|
|
34
|
-
// CIL[
|
|
35
|
-
// CIL[DOC-
|
|
36
|
-
// CIL[DOC-
|
|
37
|
-
// CIL[DOC-CONTEXT module="navigation-menu" layer="ui_components" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
38
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="navigation menu container" errors="none" side_effects="renders DOM element"]
|
|
39
|
-
// CIL[DOC-MICRO logic_summary="Creates navigation menu root with optional viewport component" notable_decisions="[]"]
|
|
40
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
41
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
42
|
-
// 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/RolesPage.tsx, \."]
|
|
43
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
44
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
45
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
17
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Declare dependencies and set up the NavigationMenu UI module'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
18
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
19
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
20
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
46
21
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
47
22
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
23
|
+
// CIL[END stable_id="~/.framework/src/components/ui/navigation-menu.tsx:module_header:module_header"]
|
|
24
|
+
|
|
25
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenu:function" type="function" identity="navigationmenu" parent="~/.framework/src/components/ui/navigation-menu.tsx:module_header:module_header"]
|
|
26
|
+
// CIL[DOC-MACRO purpose="Render a top-level navigation menu"]
|
|
27
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provide a Radix Root wrapper with an optional viewport"]
|
|
28
|
+
// CIL[DOC-CONTEXT module="NavigationMenu" layer="ui" related_files=".framework/src/components/ui/navigation-menu.tsx,.framework/src/lib/utils.ts"]
|
|
29
|
+
// CIL[DOC-CONTRACT inputs="className, children, viewport, ...props" outputs="JSX navigation menu root" errors="none" side_effects="none"]
|
|
30
|
+
// CIL[DOC-MICRO logic_summary="Renders NavigationMenuPrimitive.Root, passes className and viewport flag, and conditionally renders the viewport" notable_decisions="[]"]
|
|
31
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
32
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
33
|
+
|
|
48
34
|
function NavigationMenu({
|
|
49
35
|
className,
|
|
50
36
|
children,
|
|
@@ -68,21 +54,23 @@ function NavigationMenu({
|
|
|
68
54
|
</NavigationMenuPrimitive.Root>
|
|
69
55
|
)
|
|
70
56
|
}
|
|
71
|
-
// CIL[
|
|
72
|
-
// CIL[
|
|
73
|
-
// CIL[DOC-
|
|
74
|
-
// CIL[DOC-
|
|
75
|
-
// CIL[DOC-CONTEXT module="navigation-menu" layer="ui_components" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
76
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="navigation list container" errors="none" side_effects="renders DOM element"]
|
|
77
|
-
// CIL[DOC-MICRO logic_summary="Creates flex container for horizontal navigation layout" notable_decisions="[]"]
|
|
78
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
79
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
80
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
81
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
82
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
83
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
57
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a top-level navigation menu'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
58
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
59
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
60
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
84
61
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
85
62
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
63
|
+
// CIL[END stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenu:function"]
|
|
64
|
+
|
|
65
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenulist:function" type="function" identity="navigationmenulist" parent="~/.framework/src/components/ui/navigation-menu.tsx:module_header:module_header"]
|
|
66
|
+
// CIL[DOC-MACRO purpose="Render a list of navigation menu items"]
|
|
67
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap list items in a horizontally centered flex list"]
|
|
68
|
+
// CIL[DOC-CONTEXT module="NavigationMenu" layer="ui" related_files=".framework/src/components/ui/navigation-menu.tsx,.framework/src/lib/utils.ts"]
|
|
69
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="JSX menu list" errors="none" side_effects="none"]
|
|
70
|
+
// CIL[DOC-MICRO logic_summary="Renders NavigationMenuPrimitive.List with flex, list-none, and gap utilities" notable_decisions="[]"]
|
|
71
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
72
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
73
|
+
|
|
86
74
|
function NavigationMenuList({
|
|
87
75
|
className,
|
|
88
76
|
...props
|
|
@@ -98,21 +86,23 @@ function NavigationMenuList({
|
|
|
98
86
|
/>
|
|
99
87
|
)
|
|
100
88
|
}
|
|
101
|
-
// CIL[
|
|
102
|
-
// CIL[
|
|
103
|
-
// CIL[DOC-
|
|
104
|
-
// CIL[DOC-
|
|
105
|
-
// CIL[DOC-CONTEXT module="navigation-menu" layer="ui_components" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
|
|
106
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="navigation item container" errors="none" side_effects="renders DOM element"]
|
|
107
|
-
// CIL[DOC-MICRO logic_summary="Creates relative positioned container for navigation menu items" notable_decisions="[]"]
|
|
108
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
109
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
110
|
-
// 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/RolesPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
|
|
111
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
112
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
113
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
89
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a list of navigation menu items'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
90
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
91
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
92
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
114
93
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
115
94
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
95
|
+
// CIL[END stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenulist:function"]
|
|
96
|
+
|
|
97
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenuitem:function" type="function" identity="navigationmenuitem" parent="~/.framework/src/components/ui/navigation-menu.tsx:module_header:module_header"]
|
|
98
|
+
// CIL[DOC-MACRO purpose="Render a single navigation menu item"]
|
|
99
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provide a relative-positioned Radix Item container"]
|
|
100
|
+
// CIL[DOC-CONTEXT module="NavigationMenu" layer="ui" related_files=".framework/src/components/ui/navigation-menu.tsx,.framework/src/lib/utils.ts"]
|
|
101
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="JSX menu item" errors="none" side_effects="none"]
|
|
102
|
+
// CIL[DOC-MICRO logic_summary="Renders NavigationMenuPrimitive.Item with relative class and props" notable_decisions="[]"]
|
|
103
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
104
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
105
|
+
|
|
116
106
|
function NavigationMenuItem({
|
|
117
107
|
className,
|
|
118
108
|
...props
|
|
@@ -125,39 +115,43 @@ function NavigationMenuItem({
|
|
|
125
115
|
/>
|
|
126
116
|
)
|
|
127
117
|
}
|
|
128
|
-
// CIL[
|
|
129
|
-
// CIL[
|
|
130
|
-
// CIL[DOC-
|
|
131
|
-
// CIL[DOC-
|
|
132
|
-
// CIL[DOC-CONTEXT module="navigation-menu" layer="ui_components" related_files="[]"]
|
|
133
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="CVA variant configuration" errors="none" side_effects="defines styling variants"]
|
|
134
|
-
// CIL[DOC-MICRO logic_summary="Defines comprehensive styling for navigation menu triggers" 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: 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."]
|
|
118
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a single navigation menu item'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
119
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
120
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
121
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
141
122
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
142
123
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
124
|
+
// CIL[END stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenuitem:function"]
|
|
125
|
+
|
|
126
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenutriggerstyle:constant" type="constant" identity="navigationmenutriggerstyle" parent="~/.framework/src/components/ui/navigation-menu.tsx:module_header:module_header"]
|
|
127
|
+
// CIL[DOC-MACRO purpose="Provide the shared trigger style variant"]
|
|
128
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Define cva classes for the navigation menu trigger button"]
|
|
129
|
+
// CIL[DOC-CONTEXT module="NavigationMenu" layer="ui" related_files=".framework/src/components/ui/navigation-menu.tsx,.framework/src/lib/utils.ts"]
|
|
130
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="string class variant" errors="none" side_effects="none"]
|
|
131
|
+
// CIL[DOC-MICRO logic_summary="Calls cva with a long tailwind class string for trigger styling" notable_decisions="[]"]
|
|
132
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
133
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
134
|
+
|
|
143
135
|
const navigationMenuTriggerStyle = cva(
|
|
144
136
|
"group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-lg px-2.5 py-1.5 text-xs/relaxed font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-2 focus-visible:ring-ring/30 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted"
|
|
145
137
|
)
|
|
146
|
-
// CIL[
|
|
147
|
-
// CIL[
|
|
148
|
-
// CIL[DOC-
|
|
149
|
-
// CIL[DOC-
|
|
150
|
-
// CIL[DOC-CONTEXT module="navigation-menu" layer="ui_components" related_files="[]"]
|
|
151
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled trigger button" errors="none" side_effects="renders DOM element"]
|
|
152
|
-
// CIL[DOC-MICRO logic_summary="Creates trigger button with rotating chevron and hover states" notable_decisions="[]"]
|
|
153
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
154
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
155
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
156
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
157
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
158
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
138
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Provide the shared trigger style variant'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
139
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
140
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
141
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
159
142
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
160
143
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
144
|
+
// CIL[END stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenutriggerstyle:constant"]
|
|
145
|
+
|
|
146
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenutrigger:function" type="function" identity="navigationmenutrigger" parent="~/.framework/src/components/ui/navigation-menu.tsx:module_header:module_header"]
|
|
147
|
+
// CIL[DOC-MACRO purpose="Render a trigger button for a navigation menu item"]
|
|
148
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Combine the trigger style with a chevron icon"]
|
|
149
|
+
// CIL[DOC-CONTEXT module="NavigationMenu" layer="ui" related_files=".framework/src/components/ui/navigation-menu.tsx,.framework/src/lib/utils.ts"]
|
|
150
|
+
// CIL[DOC-CONTRACT inputs="className, children, ...props" outputs="JSX trigger" errors="none" side_effects="none"]
|
|
151
|
+
// CIL[DOC-MICRO logic_summary="Renders Radix Trigger using navigationMenuTriggerStyle and a ChevronDownIcon" notable_decisions="[]"]
|
|
152
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
153
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
154
|
+
|
|
161
155
|
function NavigationMenuTrigger({
|
|
162
156
|
className,
|
|
163
157
|
children,
|
|
@@ -174,21 +168,23 @@ function NavigationMenuTrigger({
|
|
|
174
168
|
</NavigationMenuPrimitive.Trigger>
|
|
175
169
|
)
|
|
176
170
|
}
|
|
177
|
-
// CIL[
|
|
178
|
-
// CIL[
|
|
179
|
-
// CIL[DOC-
|
|
180
|
-
// CIL[DOC-
|
|
181
|
-
// CIL[DOC-CONTEXT module="navigation-menu" layer="ui_components" related_files="[]"]
|
|
182
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled content container" errors="none" side_effects="renders DOM element"]
|
|
183
|
-
// CIL[DOC-MICRO logic_summary="Creates content dropdown with viewport-aware positioning and animations" notable_decisions="[]"]
|
|
184
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
185
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
186
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
187
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
188
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
189
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
171
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a trigger button for a navigation menu item'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
172
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
173
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
174
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
190
175
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
191
176
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
177
|
+
// CIL[END stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenutrigger:function"]
|
|
178
|
+
|
|
179
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenucontent:function" type="function" identity="navigationmenucontent" parent="~/.framework/src/components/ui/navigation-menu.tsx:module_header:module_header"]
|
|
180
|
+
// CIL[DOC-MACRO purpose="Render the dropdown content panel of a navigation menu"]
|
|
181
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Apply motion, position, and viewport-aware popover styles"]
|
|
182
|
+
// CIL[DOC-CONTEXT module="NavigationMenu" layer="ui" related_files=".framework/src/components/ui/navigation-menu.tsx,.framework/src/lib/utils.ts"]
|
|
183
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="JSX content panel" errors="none" side_effects="none"]
|
|
184
|
+
// CIL[DOC-MICRO logic_summary="Renders Radix Content with complex data-state and viewport conditional classes" notable_decisions="[]"]
|
|
185
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
186
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
187
|
+
|
|
192
188
|
function NavigationMenuContent({
|
|
193
189
|
className,
|
|
194
190
|
...props
|
|
@@ -204,21 +200,23 @@ function NavigationMenuContent({
|
|
|
204
200
|
/>
|
|
205
201
|
)
|
|
206
202
|
}
|
|
207
|
-
// CIL[
|
|
208
|
-
// CIL[
|
|
209
|
-
// CIL[DOC-
|
|
210
|
-
// CIL[DOC-
|
|
211
|
-
// CIL[DOC-CONTEXT module="navigation-menu" layer="ui_components" related_files="[]"]
|
|
212
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled viewport container" errors="none" side_effects="renders DOM element"]
|
|
213
|
-
// CIL[DOC-MICRO logic_summary="Creates positioned viewport with zoom animations for content" notable_decisions="[]"]
|
|
214
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
215
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
216
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
217
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
218
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
219
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
203
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the dropdown content panel of a navigation menu'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
204
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
205
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
206
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
220
207
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
221
208
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
209
|
+
// CIL[END stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenucontent:function"]
|
|
210
|
+
|
|
211
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenuviewport:function" type="function" identity="navigationmenuviewport" parent="~/.framework/src/components/ui/navigation-menu.tsx:module_header:module_header"]
|
|
212
|
+
// CIL[DOC-MACRO purpose="Render the viewport that positions menu content"]
|
|
213
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Center and contain the Radix Viewport"]
|
|
214
|
+
// CIL[DOC-CONTEXT module="NavigationMenu" layer="ui" related_files=".framework/src/components/ui/navigation-menu.tsx,.framework/src/lib/utils.ts"]
|
|
215
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="JSX viewport" errors="none" side_effects="none"]
|
|
216
|
+
// CIL[DOC-MICRO logic_summary="Wraps Radix Viewport in a positioned div to center and size content" notable_decisions="[]"]
|
|
217
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
218
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
219
|
+
|
|
222
220
|
function NavigationMenuViewport({
|
|
223
221
|
className,
|
|
224
222
|
...props
|
|
@@ -240,21 +238,23 @@ function NavigationMenuViewport({
|
|
|
240
238
|
</div>
|
|
241
239
|
)
|
|
242
240
|
}
|
|
243
|
-
// CIL[
|
|
244
|
-
// CIL[
|
|
245
|
-
// CIL[DOC-
|
|
246
|
-
// CIL[DOC-
|
|
247
|
-
// CIL[DOC-CONTEXT module="navigation-menu" layer="ui_components" related_files="[]"]
|
|
248
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled link element" errors="none" side_effects="renders DOM element"]
|
|
249
|
-
// CIL[DOC-MICRO logic_summary="Creates navigation link with hover states and active styling" notable_decisions="[]"]
|
|
250
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
251
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
252
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
253
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
254
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
255
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
241
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render the viewport that positions menu content'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
242
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
243
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
244
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
256
245
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
257
246
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
247
|
+
// CIL[END stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenuviewport:function"]
|
|
248
|
+
|
|
249
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenulink:function" type="function" identity="navigationmenulink" parent="~/.framework/src/components/ui/navigation-menu.tsx:module_header:module_header"]
|
|
250
|
+
// CIL[DOC-MACRO purpose="Render a navigation menu link"]
|
|
251
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provide a styled anchor for menu links"]
|
|
252
|
+
// CIL[DOC-CONTEXT module="NavigationMenu" layer="ui" related_files=".framework/src/components/ui/navigation-menu.tsx,.framework/src/lib/utils.ts"]
|
|
253
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="JSX link" errors="none" side_effects="none"]
|
|
254
|
+
// CIL[DOC-MICRO logic_summary="Renders Radix Link with muted hover, focus, and active state classes" notable_decisions="[]"]
|
|
255
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
256
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
257
|
+
|
|
258
258
|
function NavigationMenuLink({
|
|
259
259
|
className,
|
|
260
260
|
...props
|
|
@@ -270,21 +270,23 @@ function NavigationMenuLink({
|
|
|
270
270
|
/>
|
|
271
271
|
)
|
|
272
272
|
}
|
|
273
|
-
// CIL[
|
|
274
|
-
// CIL[
|
|
275
|
-
// CIL[DOC-
|
|
276
|
-
// CIL[DOC-
|
|
277
|
-
// CIL[DOC-CONTEXT module="navigation-menu" layer="ui_components" related_files="[]"]
|
|
278
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled indicator element" errors="none" side_effects="renders DOM element"]
|
|
279
|
-
// CIL[DOC-MICRO logic_summary="Creates animated indicator with triangular design for active items" notable_decisions="[]"]
|
|
280
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
281
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
282
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
283
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
284
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
285
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
273
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a navigation menu link'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
274
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
275
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
276
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
286
277
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
287
278
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
279
|
+
// CIL[END stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenulink:function"]
|
|
280
|
+
|
|
281
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenuindicator:function" type="function" identity="navigationmenuindicator" parent="~/.framework/src/components/ui/navigation-menu.tsx:module_header:module_header"]
|
|
282
|
+
// CIL[DOC-MACRO purpose="Render a small triangle indicator under the active menu"]
|
|
283
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Show a pointer indicator aligned with the selected item"]
|
|
284
|
+
// CIL[DOC-CONTEXT module="NavigationMenu" layer="ui" related_files=".framework/src/components/ui/navigation-menu.tsx,.framework/src/lib/utils.ts"]
|
|
285
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="JSX indicator" errors="none" side_effects="none"]
|
|
286
|
+
// CIL[DOC-MICRO logic_summary="Renders Radix Indicator with a small rotated square and state animations" notable_decisions="[]"]
|
|
287
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
288
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
289
|
+
|
|
288
290
|
function NavigationMenuIndicator({
|
|
289
291
|
className,
|
|
290
292
|
...props
|
|
@@ -302,21 +304,23 @@ function NavigationMenuIndicator({
|
|
|
302
304
|
</NavigationMenuPrimitive.Indicator>
|
|
303
305
|
)
|
|
304
306
|
}
|
|
305
|
-
// CIL[
|
|
306
|
-
// CIL[
|
|
307
|
-
// CIL[DOC-
|
|
308
|
-
// CIL[DOC-
|
|
309
|
-
// CIL[DOC-CONTEXT module="navigation-menu" layer="ui_components" related_files="[]"]
|
|
310
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="exported components" errors="none" side_effects="module exports"]
|
|
311
|
-
// CIL[DOC-MICRO logic_summary="Exports comprehensive navigation menu component system for consumption" notable_decisions="[]"]
|
|
312
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
313
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
314
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
315
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
316
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
317
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
307
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a small triangle indicator under the active menu'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
308
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
309
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
310
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
318
311
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
319
312
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
313
|
+
// CIL[END stable_id="~/.framework/src/components/ui/navigation-menu.tsx:navigationmenuindicator:function"]
|
|
314
|
+
|
|
315
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/navigation-menu.tsx:module_exports:module_exports" type="module_exports" identity="module_exports" parent="~/.framework/src/components/ui/navigation-menu.tsx"]
|
|
316
|
+
// CIL[DOC-MACRO purpose="Export all NavigationMenu subcomponents and styles"]
|
|
317
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Expose the public API of the module"]
|
|
318
|
+
// CIL[DOC-CONTEXT module="NavigationMenu" layer="ui" related_files=".framework/src/components/ui/navigation-menu.tsx,.framework/src/lib/utils.ts"]
|
|
319
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Named exports" errors="none" side_effects="none"]
|
|
320
|
+
// CIL[DOC-MICRO logic_summary="Collects and re-exports all functions and the trigger style" notable_decisions="[]"]
|
|
321
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
322
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
323
|
+
|
|
320
324
|
export {
|
|
321
325
|
NavigationMenu,
|
|
322
326
|
NavigationMenuList,
|
|
@@ -328,4 +332,10 @@ export {
|
|
|
328
332
|
NavigationMenuViewport,
|
|
329
333
|
navigationMenuTriggerStyle,
|
|
330
334
|
}
|
|
331
|
-
// CIL[
|
|
335
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Export all NavigationMenu subcomponents and styles'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
336
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
337
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
338
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
339
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
340
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
341
|
+
// CIL[END stable_id="~/.framework/src/components/ui/navigation-menu.tsx:module_exports:module_exports"]
|