spine-framework 0.3.145 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +76 -0
- package/.framework/.spine-manifest.json +19 -0
- package/.framework/cli/commands/agents.ts +61 -33
- package/.framework/cli/commands/auth.ts +60 -28
- package/.framework/cli/commands/create-app.ts +212 -80
- package/.framework/cli/commands/dev.ts +184 -68
- package/.framework/cli/commands/doctor.ts +324 -152
- package/.framework/cli/commands/generate.ts +119 -68
- package/.framework/cli/commands/init.ts +141 -242
- package/.framework/cli/commands/install-app.ts +1336 -314
- package/.framework/cli/commands/items.ts +31 -29
- package/.framework/cli/commands/migrate.ts +299 -156
- package/.framework/cli/commands/migrations.ts +62 -30
- package/.framework/cli/commands/pipelines.ts +31 -29
- package/.framework/cli/commands/status.ts +105 -45
- package/.framework/cli/commands/system.ts +47 -42
- package/.framework/cli/commands/test.ts +161 -102
- package/.framework/cli/commands/upgrade.ts +260 -0
- package/.framework/cli/commands/validate-app.ts +517 -161
- package/.framework/cli/context.ts +117 -85
- package/.framework/cli/env-loader.ts +74 -43
- package/.framework/cli/index.ts +70 -46
- package/.framework/cli/lib/project-files.ts +404 -0
- package/.framework/docs/guides/testing-guide.md +1 -1
- package/.framework/docs/runtime-types.md +72 -72
- package/.framework/functions/_shared/access.ts +84 -0
- package/.framework/functions/_shared/agent-runner.ts +5051 -1026
- package/.framework/functions/_shared/app-manifest.ts +214 -94
- package/.framework/functions/_shared/ast.ts +214 -0
- package/.framework/functions/_shared/audit.ts +91 -55
- package/.framework/functions/_shared/cil.ts +368 -127
- package/.framework/functions/_shared/db.ts +337 -68
- package/.framework/functions/_shared/funnel.ts +228 -0
- package/.framework/functions/_shared/geo.ts +105 -0
- package/.framework/functions/_shared/hash-api-key.ts +94 -17
- package/.framework/functions/_shared/index.ts +22 -224
- package/.framework/functions/_shared/kb.ts +832 -58
- package/.framework/functions/_shared/llm.ts +118 -18
- package/.framework/functions/_shared/logging.ts +317 -19
- package/.framework/functions/_shared/middleware.ts +701 -131
- package/.framework/functions/_shared/notify.ts +70 -0
- package/.framework/functions/_shared/outcomes.ts +34 -19
- package/.framework/functions/_shared/permissions.ts +501 -315
- package/.framework/functions/_shared/pipeline-runner.ts +704 -155
- package/.framework/functions/_shared/principal.ts +436 -263
- package/.framework/functions/_shared/rate-limit.ts +233 -0
- package/.framework/functions/_shared/resolve-credentials.ts +86 -19
- package/.framework/functions/_shared/resolve-ids.ts +203 -139
- package/.framework/functions/_shared/retry-deliveries.ts +51 -16
- package/.framework/functions/_shared/schema-utils.ts +602 -521
- package/.framework/functions/_shared/security.ts +345 -0
- package/.framework/functions/_shared/testing.ts +197 -172
- package/.framework/functions/_shared/tracing.ts +351 -21
- package/.framework/functions/_shared/trigger-engine.ts +425 -136
- package/.framework/functions/_shared/webhook-registration.ts +71 -70
- package/.framework/functions/_shared/webhook-registry.ts +126 -83
- package/.framework/functions/account-nodes.ts +30 -30
- package/.framework/functions/adapters/generic-webhook-inbound.ts +49 -16
- package/.framework/functions/adapters/generic-webhook-outbound.ts +17 -17
- package/.framework/functions/adapters/openai-outbound.ts +15 -16
- package/.framework/functions/admin-data.ts +596 -173
- package/.framework/functions/admin-funnel.ts +64 -60
- package/.framework/functions/admin-install-funnel.ts +84 -66
- package/.framework/functions/admin-signals.ts +69 -51
- package/.framework/functions/ai-agents.ts +431 -106
- package/.framework/functions/ai-interactions.ts +186 -112
- package/.framework/functions/api-keys.ts +107 -107
- package/.framework/functions/apps.ts +154 -136
- package/.framework/functions/auth.ts +83 -65
- package/.framework/functions/cil-agent-ingest.ts +189 -232
- package/.framework/functions/cil-agent.ts +433 -177
- package/.framework/functions/cil-callmap.ts +642 -430
- package/.framework/functions/cil-config.ts +139 -135
- package/.framework/functions/cil-context.ts +214 -127
- package/.framework/functions/cil-doc.ts +587 -458
- package/.framework/functions/cil-embeddings.ts +453 -364
- package/.framework/functions/cil-graph.ts +427 -142
- package/.framework/functions/cil-ingest.ts +1418 -1154
- package/.framework/functions/cil-pipeline.ts +276 -21
- package/.framework/functions/cil-project.ts +659 -132
- package/.framework/functions/cil-validate.ts +198 -164
- package/.framework/functions/debug-auth.ts +57 -55
- package/.framework/functions/deliveries.ts +80 -21
- package/.framework/functions/embeddings.ts +1023 -318
- package/.framework/functions/eval-harness.ts +146 -108
- package/.framework/functions/integration-outbound.ts +205 -75
- package/.framework/functions/integration-routes.ts +128 -23
- package/.framework/functions/integrations.ts +125 -100
- package/.framework/functions/invites.ts +1095 -460
- package/.framework/functions/item-progress.ts +158 -102
- package/.framework/functions/kb.ts +34 -10
- package/.framework/functions/logs.ts +133 -133
- package/.framework/functions/observability.ts +152 -122
- package/.framework/functions/pipeline-executions.ts +147 -132
- package/.framework/functions/pipelines.ts +134 -119
- package/.framework/functions/prompt-configs.ts +96 -80
- package/.framework/functions/roles.ts +112 -82
- package/.framework/functions/security.ts +450 -0
- package/.framework/functions/system-cron.ts +117 -80
- package/.framework/functions/system.ts +158 -98
- package/.framework/functions/tests.ts +29 -29
- package/.framework/functions/timers.ts +94 -95
- package/.framework/functions/trigger-scheduler.ts +10 -0
- package/.framework/functions/triggers.ts +179 -149
- package/.framework/functions/types.ts +137 -125
- package/.framework/mcp/index.ts +133 -0
- package/.framework/mcp/load-env.ts +60 -0
- package/.framework/mcp/shared/app-manifest.ts +275 -0
- package/.framework/mcp/shared/db.ts +477 -0
- package/.framework/mcp/shared/kb.ts +118 -0
- package/.framework/mcp/tools/architect.ts +431 -0
- package/.framework/mcp/tools/cil/context.ts +345 -0
- package/.framework/mcp/tools/cil/graph.ts +242 -0
- package/.framework/mcp/tools/cil/ingest.ts +1217 -0
- package/.framework/mcp/tools/cil/pipeline-orchestrator.ts +693 -0
- package/.framework/mcp/tools/cil/pipeline.ts +767 -0
- package/.framework/mcp/tools/cil/project.ts +791 -0
- package/.framework/mcp/tools/cil/retrieval.ts +336 -0
- package/.framework/mcp/tools/cil/search-core.ts +454 -0
- package/.framework/mcp/tools/cil/search.ts +97 -0
- package/.framework/mcp/tools/cil/suggest.ts +186 -0
- package/.framework/mcp/tools/cil/validate.ts +1369 -0
- package/.framework/mcp/tools/kb/delete.ts +139 -0
- package/.framework/mcp/tools/kb/index.ts +52 -0
- package/.framework/mcp/tools/kb/ingest.ts +84 -0
- package/.framework/mcp/tools/kb/list-types.ts +102 -0
- package/.framework/mcp/tools/kb/publish.ts +100 -0
- package/.framework/mcp/tools/kb/reindex.ts +86 -0
- package/.framework/mcp/tools/kb/revoke.ts +85 -0
- package/.framework/mcp/tools/kb/search.ts +101 -0
- package/.framework/mcp/tools/kb/upsert.ts +125 -0
- package/.framework/mcp/tools/observability.ts +510 -0
- package/.framework/migrations/001_core_schema.sql +15 -0
- package/.framework/migrations/002_core_rls_and_functions.sql +15 -0
- package/.framework/migrations/003_core_system_data.sql +16 -1
- package/.framework/migrations/004_core_rpc_and_broker.sql +17 -1
- package/.framework/migrations/005_core_observability.sql +17 -1
- package/.framework/migrations/006_security_hardening_rls.sql +15 -0
- package/.framework/migrations/007_kb_article_list.sql +17 -1
- package/.framework/migrations/008_items_target.sql +15 -0
- package/.framework/migrations/009_roles_slug_unique.sql +15 -0
- package/.framework/migrations/010_auth_user_trigger.sql +15 -0
- package/.framework/migrations/011_spine_system_account.sql +16 -0
- package/.framework/migrations/012_service_role_grants.sql +16 -0
- package/.framework/migrations/013_get_account_apps_role_filter.sql +15 -0
- package/.framework/migrations/014_apps_required_roles.sql +16 -0
- package/.framework/migrations/015_types_kind_slug_unique.sql +15 -0
- package/.framework/migrations/016_cil_types.sql +281 -0
- package/.framework/migrations/017_cil_stable_ids.sql +37 -0
- package/.framework/migrations/018_runtime_tables.sql +129 -0
- package/.framework/migrations/019_agent_prompt_columns.sql +56 -0
- package/.framework/migrations/020_schema_reconciliation.sql +67 -0
- package/.framework/migrations/021_kb_embedding_lifecycle.sql +31 -0
- package/.framework/migrations/032_cil_status_migration.sql +73 -0
- package/.framework/migrations/033_cil_versioning.sql +73 -0
- package/.framework/migrations/034_match_embeddings_knn.sql +115 -0
- package/.framework/migrations/035_rate_limits.sql +55 -0
- package/.framework/migrations/036_demo_record_flags.sql +72 -0
- package/.framework/migrations/037_kb_types_canonical.sql +244 -0
- package/.framework/migrations/038_drop_demo_record_flags.sql +38 -0
- package/.framework/migrations/042_registration_hierarchy.sql +309 -0
- package/.framework/migrations/043_policy_actor_cleanup.sql +39 -0
- package/.framework/migrations/044_match_embeddings_filtered_knn.sql +151 -0
- package/.framework/migrations/045_security_critical_rls.sql +139 -0
- package/.framework/migrations/046_security_missing_rls.sql +79 -0
- package/.framework/migrations/047_people_updated_by.sql +27 -0
- package/.framework/migrations/048_watcher_last_seen_at.sql +24 -0
- package/.framework/migrations/049_security_blocklist.sql +148 -0
- package/.framework/migrations/050_notifications.sql +49 -0
- package/.framework/migrations/051_message_agent_fields.sql +74 -0
- package/.framework/migrations/052_registration_security.sql +421 -0
- package/.framework/migrations/053_builtin_action_seeds.sql +66 -0
- package/.framework/migrations/054_kb_ingest_lease.sql +157 -0
- package/.framework/migrations/055_type_id_drift_reconciliation.sql +33 -0
- package/.framework/migrations/056_slug_column_reconciliation.sql +38 -0
- package/.framework/migrations/057_pipelines_slug_identity.sql +14 -0
- package/.framework/migrations/058_account_data_field_declarations.sql +53 -0
- package/.framework/migrations/059_registration_placement_fixes.sql +269 -0
- package/.framework/migrations/060_account_person_record_permissions.sql +38 -0
- package/.framework/migrations/061_fk_dedup.sql +32 -0
- package/.framework/public/spine-logo.svg +10 -3
- package/.framework/scripts/app-install-cli.ts +190 -93
- package/.framework/scripts/assemble-frontend.sh +127 -44
- package/.framework/scripts/assemble-functions.sh +128 -30
- package/.framework/scripts/boundary-check.sh +6 -2
- package/.framework/scripts/build-manifest.sh +24 -68
- package/.framework/scripts/check-core-integrity.sh +15 -76
- package/.framework/scripts/checksum-manifest.mts +343 -0
- package/.framework/scripts/cil-migrate-markers.ts +403 -0
- package/.framework/scripts/fix-cil-markers.mjs +176 -0
- package/.framework/scripts/verify-integrity.sh +21 -57
- package/.framework/scripts/verify-manifest.mts +305 -0
- package/.framework/seeds/types/funnel_signal_use.json +74 -21
- package/.framework/seeds/types/spine_instance.json +73 -21
- package/.framework/src/App.tsx +118 -72
- package/.framework/src/apps/admin/index.tsx +855 -58
- package/.framework/src/components/AppWrapper.tsx +43 -45
- package/.framework/src/components/CustomAppLoader.tsx +160 -116
- package/.framework/src/components/admin/AdminListPage.tsx +46 -44
- package/.framework/src/components/admin/AdminSidebar.tsx +57 -47
- package/.framework/src/components/admin/AdminStatsCard.tsx +46 -44
- package/.framework/src/components/admin/PageInstructions.tsx +98 -2
- package/.framework/src/components/admin/SortableTableHeader.tsx +44 -45
- package/.framework/src/components/app-shell/GenericAppShell.tsx +64 -65
- package/.framework/src/components/app-shell/GenericDetailPage.tsx +44 -47
- package/.framework/src/components/app-shell/GenericListPage.tsx +45 -49
- package/.framework/src/components/app-sidebar.tsx +42 -45
- package/.framework/src/components/auth/ProtectedRoute.tsx +48 -41
- package/.framework/src/components/auth/TurnstileWidget.tsx +27 -0
- package/.framework/src/components/kb/KBArticleEditor.tsx +231 -22
- package/.framework/src/components/kb/KBArticleList.tsx +251 -10
- package/.framework/src/components/layout/AppShell.tsx +51 -45
- package/.framework/src/components/layout/Header.tsx +42 -43
- package/.framework/src/components/layout/Layout.tsx +46 -46
- package/.framework/src/components/layout/Sidebar.tsx +196 -96
- package/.framework/src/components/runtime/DataDetailHeader.tsx +55 -30
- package/.framework/src/components/runtime/DataDetailPage.tsx +31 -269
- package/.framework/src/components/runtime/DataFilters.tsx +49 -74
- package/.framework/src/components/runtime/DataHeader.tsx +53 -32
- package/.framework/src/components/runtime/DataListPage.tsx +51 -155
- package/.framework/src/components/runtime/DataStats.tsx +66 -44
- package/.framework/src/components/runtime/DataTable.tsx +49 -149
- package/.framework/src/components/runtime/SchemaDetailForm.tsx +45 -75
- package/.framework/src/components/runtime/index.ts +119 -16
- package/.framework/src/components/search-form.tsx +46 -29
- package/.framework/src/components/shared/AgentView.tsx +65 -48
- package/.framework/src/components/shared/FieldRenderer.tsx +144 -50
- package/.framework/src/components/shared/InviteManager.tsx +207 -97
- package/.framework/src/components/shared/MemberList.tsx +97 -0
- package/.framework/src/components/shared/SchemaFields.tsx +107 -86
- package/.framework/src/components/ui/DataTable.tsx +80 -68
- package/.framework/src/components/ui/Form.tsx +157 -146
- package/.framework/src/components/ui/ItemCard.tsx +74 -67
- package/.framework/src/components/ui/ItemListView.tsx +73 -68
- package/.framework/src/components/ui/LoadingSpinner.tsx +43 -48
- package/.framework/src/components/ui/Modal.tsx +78 -68
- package/.framework/src/components/ui/RichTextEditor.tsx +89 -69
- package/.framework/src/components/ui/accordion.tsx +85 -86
- package/.framework/src/components/ui/alert-dialog.tsx +197 -184
- package/.framework/src/components/ui/alert.tsx +105 -94
- package/.framework/src/components/ui/aspect-ratio.tsx +57 -43
- package/.framework/src/components/ui/avatar.tsx +122 -107
- package/.framework/src/components/ui/badge.tsx +60 -55
- package/.framework/src/components/ui/breadcrumb.tsx +127 -128
- package/.framework/src/components/ui/button-group.tsx +86 -72
- package/.framework/src/components/ui/button.tsx +71 -50
- package/.framework/src/components/ui/calendar.tsx +72 -57
- package/.framework/src/components/ui/card.tsx +136 -129
- package/.framework/src/components/ui/carousel.tsx +226 -107
- package/.framework/src/components/ui/chart.tsx +252 -147
- package/.framework/src/components/ui/checkbox.tsx +43 -44
- package/.framework/src/components/ui/collapsible.tsx +86 -71
- package/.framework/src/components/ui/combobox.tsx +282 -249
- package/.framework/src/components/ui/command.tsx +158 -146
- package/.framework/src/components/ui/context-menu.tsx +239 -240
- package/.framework/src/components/ui/dialog.tsx +174 -157
- package/.framework/src/components/ui/direction.tsx +72 -56
- package/.framework/src/components/ui/drawer.tsx +168 -169
- package/.framework/src/components/ui/dropdown-menu.tsx +254 -223
- package/.framework/src/components/ui/empty.tsx +131 -120
- package/.framework/src/components/ui/field.tsx +205 -173
- package/.framework/src/components/ui/hover-card.tsx +71 -72
- package/.framework/src/components/ui/input-group.tsx +148 -133
- package/.framework/src/components/ui/input-otp.tsx +99 -86
- package/.framework/src/components/ui/input.tsx +43 -41
- package/.framework/src/components/ui/item.tsx +207 -185
- package/.framework/src/components/ui/kbd.tsx +57 -56
- package/.framework/src/components/ui/label.tsx +45 -41
- package/.framework/src/components/ui/menubar.tsx +268 -236
- package/.framework/src/components/ui/native-select.tsx +85 -86
- package/.framework/src/components/ui/navigation-menu.tsx +166 -156
- package/.framework/src/components/ui/pagination.tsx +131 -141
- package/.framework/src/components/ui/popover.tsx +125 -128
- package/.framework/src/components/ui/progress.tsx +47 -44
- package/.framework/src/components/ui/radio-group.tsx +60 -55
- package/.framework/src/components/ui/resizable.tsx +85 -72
- package/.framework/src/components/ui/scroll-area.tsx +57 -58
- package/.framework/src/components/ui/select.tsx +182 -169
- package/.framework/src/components/ui/separator.tsx +42 -43
- package/.framework/src/components/ui/sheet.tsx +170 -159
- package/.framework/src/components/ui/sidebar.tsx +395 -398
- package/.framework/src/components/ui/skeleton.tsx +42 -43
- package/.framework/src/components/ui/slider.tsx +61 -44
- package/.framework/src/components/ui/sonner.tsx +44 -44
- package/.framework/src/components/ui/spinner.tsx +47 -42
- package/.framework/src/components/ui/switch.tsx +56 -42
- package/.framework/src/components/ui/table-primitives.tsx +272 -132
- package/.framework/src/components/ui/table.tsx +140 -142
- package/.framework/src/components/ui/tabs.tsx +110 -93
- package/.framework/src/components/ui/textarea.tsx +43 -44
- package/.framework/src/components/ui/toggle-group.tsx +87 -71
- package/.framework/src/components/ui/toggle.tsx +56 -56
- package/.framework/src/components/ui/tooltip.tsx +99 -85
- package/.framework/src/contexts/AppContext.tsx +166 -114
- package/.framework/src/contexts/AuthContext.tsx +232 -137
- package/.framework/src/hooks/use-mobile.ts +43 -44
- package/.framework/src/hooks/useApi.ts +185 -172
- package/.framework/src/hooks/useAppPath.ts +31 -29
- package/.framework/src/hooks/useApps.ts +77 -42
- package/.framework/src/hooks/useEntityList.ts +66 -29
- package/.framework/src/hooks/useEntityRecord.ts +76 -32
- package/.framework/src/hooks/useForm.ts +62 -30
- package/.framework/src/hooks/useListSchema.ts +60 -43
- package/.framework/src/hooks/useSchemaRecord.ts +115 -95
- package/.framework/src/lib/api.ts +258 -134
- package/.framework/src/lib/registration.ts +181 -0
- package/.framework/src/lib/supabase.ts +118 -81
- package/.framework/src/lib/utils.ts +266 -266
- package/.framework/src/main.tsx +43 -44
- package/.framework/src/pages/DashboardPage.tsx +44 -43
- package/.framework/src/pages/NoAppPage.tsx +50 -0
- package/.framework/src/pages/NotFoundPage.tsx +32 -29
- package/.framework/src/pages/SetupPage.tsx +34 -33
- package/.framework/src/pages/admin/AIAgentDetailPage.tsx +69 -58
- package/.framework/src/pages/admin/AIAgentsPage.tsx +43 -40
- package/.framework/src/pages/admin/APIKeyDetailPage.tsx +63 -55
- package/.framework/src/pages/admin/APIKeysPage.tsx +44 -42
- package/.framework/src/pages/admin/AlertsConfigPage.tsx +117 -94
- package/.framework/src/pages/admin/AppDetailPage.tsx +48 -42
- package/.framework/src/pages/admin/AppsPage.tsx +45 -42
- package/.framework/src/pages/admin/DeliveriesPage.tsx +49 -17
- package/.framework/src/pages/admin/DesignedPage.tsx +31 -30
- package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +58 -0
- package/.framework/src/pages/admin/EmbeddingsPage.tsx +49 -0
- package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +31 -29
- package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +46 -29
- package/.framework/src/pages/admin/IntegratedDashboard.tsx +32 -29
- package/.framework/src/pages/admin/IntegrationDetailPage.tsx +68 -55
- package/.framework/src/pages/admin/IntegrationsPage.tsx +45 -42
- package/.framework/src/pages/admin/InvitesPage.tsx +60 -44
- package/.framework/src/pages/admin/LogsPage.tsx +87 -137
- package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +31 -29
- package/.framework/src/pages/admin/ObservabilityDashboard.tsx +150 -89
- package/.framework/src/pages/admin/PipelineDetailPage.tsx +77 -104
- package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +44 -43
- package/.framework/src/pages/admin/PipelinesPage.tsx +59 -145
- package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +53 -42
- package/.framework/src/pages/admin/PromptConfigsPage.tsx +47 -117
- package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +31 -44
- package/.framework/src/pages/admin/RoleDetailPage.tsx +49 -92
- package/.framework/src/pages/admin/RolesPage.tsx +47 -164
- package/.framework/src/pages/admin/SecurityPage.tsx +310 -0
- package/.framework/src/pages/admin/SelectTestPage.tsx +30 -32
- package/.framework/src/pages/admin/ShadcnTestPage.tsx +37 -44
- package/.framework/src/pages/admin/SimpleDashboard.tsx +32 -44
- package/.framework/src/pages/admin/TestRunDetailPage.tsx +97 -44
- package/.framework/src/pages/admin/TestingDashboard.tsx +126 -71
- package/.framework/src/pages/admin/TimerDetailPage.tsx +67 -55
- package/.framework/src/pages/admin/TimersPage.tsx +44 -42
- package/.framework/src/pages/admin/TriggerDetailPage.tsx +47 -42
- package/.framework/src/pages/admin/TriggersPage.tsx +58 -57
- package/.framework/src/pages/admin/TypeDetailPage.tsx +91 -55
- package/.framework/src/pages/admin/TypesPage.tsx +45 -42
- package/.framework/src/pages/admin/cil/CILAgentPage.tsx +258 -128
- package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +127 -123
- package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +308 -235
- package/.framework/src/pages/admin/cil/CILFileListPage.tsx +159 -110
- package/.framework/src/pages/admin/cil/CILFileSelectPage.tsx +432 -0
- package/.framework/src/pages/admin/cil/CILGraphPage.tsx +200 -178
- package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +286 -239
- package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +211 -90
- package/.framework/src/pages/admin/cil/CILSearchPage.tsx +156 -143
- package/.framework/src/pages/admin/cil/CILSuggestionsPage.tsx +379 -0
- package/.framework/src/pages/admin/cil/CILVersionsPage.tsx +337 -0
- package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +219 -214
- package/.framework/src/pages/admin/kb/KBAdminPage.tsx +64 -0
- package/.framework/src/pages/auth/AuthConfirmPage.tsx +135 -65
- package/.framework/src/pages/auth/ForgotPasswordPage.tsx +39 -31
- package/.framework/src/pages/auth/LoginPage.tsx +38 -32
- package/.framework/src/pages/auth/PendingApprovalPage.tsx +31 -28
- package/.framework/src/pages/auth/RegisterPage.tsx +429 -155
- package/.framework/src/pages/spine-framework/APIPage.tsx +33 -30
- package/.framework/src/pages/spine-framework/CLIPage.tsx +32 -30
- package/.framework/src/types/auth.ts +101 -93
- package/.framework/src/types/types.ts +283 -262
- package/.framework/templates/project.json +87 -0
- package/.framework/templates/spine.config.neutral.json +7 -0
- package/.framework/tests/api/api-surface.test.ts +381 -0
- package/.framework/tests/fixtures/seed.ts +427 -0
- package/.framework/tests/fixtures/teardown.ts +228 -0
- package/.framework/tests/reporter.ts +351 -0
- package/.framework/tests/setup.ts +135 -0
- package/.framework/tests/ui/ui-sweep.ts +278 -0
- package/.framework/tests/unit/admin-data-logger.test.ts +310 -0
- package/.framework/tests/unit/agent-runner.test.ts +2389 -0
- package/.framework/tests/unit/ai-interactions.test.ts +81 -0
- package/.framework/tests/unit/app-manifest.test.ts +359 -0
- package/.framework/tests/unit/assembly-scripts.test.ts +172 -0
- package/.framework/tests/unit/cil-determinism.test.ts +85 -0
- package/.framework/tests/unit/core-isolation.test.ts +153 -0
- package/.framework/tests/unit/funnel-signals.test.ts +135 -0
- package/.framework/tests/unit/install-app.test.ts +1759 -0
- package/.framework/tests/unit/invites-security.test.ts +572 -0
- package/.framework/tests/unit/kb-ingest-lease.test.ts +287 -0
- package/.framework/tests/unit/kb-search.test.ts +119 -0
- package/.framework/tests/unit/migrate.test.ts +509 -0
- package/.framework/tests/unit/notify.test.ts +136 -0
- package/.framework/tests/unit/permissions.test.ts +269 -0
- package/.framework/tests/unit/pipeline-runner.test.ts +755 -0
- package/.framework/tests/unit/principal-cache.test.ts +138 -0
- package/.framework/tests/unit/retrieval-golden.test.ts +520 -0
- package/.framework/tests/unit/runtime-isolation.test.ts +642 -0
- package/.framework/tests/unit/schema-utils.test.ts +225 -0
- package/.framework/tests/unit/trigger-engine.test.ts +513 -0
- package/.framework/tests/unit/validate-app.test.ts +527 -0
- package/README.md +34 -3
- package/bin/spine-framework.cjs +1 -0
- package/config/tailwind.config.cjs +7 -0
- package/config/tsconfig.functions.json +42 -0
- package/config/tsconfig.json +37 -9
- package/config/vite.config.ts +31 -2
- package/netlify.toml +31 -3
- package/package.json +46 -29
- package/scripts/assemble-frontend.sh +127 -44
- package/scripts/assemble-functions.sh +127 -29
- package/scripts/boundary-check.sh +6 -2
- package/scripts/build-manifest.sh +24 -68
- package/scripts/checksum-manifest.mts +345 -0
- package/scripts/dev-clean.sh +86 -0
- package/scripts/dev-netlify.sh +49 -0
- package/scripts/netlify-dev-wrapper.sh +2 -0
- package/scripts/verify-install.ts +358 -0
- package/scripts/verify-integrity.sh +21 -57
- package/scripts/verify-manifest.mts +305 -0
- package/templates/project/gitignore +45 -0
- package/{config → templates/project}/package-lock.json +22335 -9366
- package/vitest.config.ts +46 -0
- package/.framework/public/spine.config.json +0 -91
- package/config/deno.lock +0 -108
- package/config/tsconfig.node.tsbuildinfo +0 -1
- package/config/tsconfig.tsbuildinfo +0 -1
- package/config/vite.config.d.ts +0 -2
- package/custom/.devin/AGENT.md +0 -357
- package/custom/.devin/skills/install-app/SKILL.md +0 -39
- package/custom/.devin/skills/spine-workbench-discovery/SKILL.md +0 -39
- package/custom/.devin/skills/spine-workbench-idea/SKILL.md +0 -36
- package/custom/.devin/skills/spine-workbench-implement/SKILL.md +0 -46
- package/custom/.devin/skills/spine-workbench-initiative/SKILL.md +0 -28
- package/custom/.devin/skills/spine-workbench-plan/SKILL.md +0 -38
- package/custom/.devin/workflows/app-install.yaml +0 -83
- package/custom/README.md +0 -79
- package/docs/README.md +0 -15
- package/scripts/app-install-cli.ts +0 -286
- package/scripts/check-core-integrity.sh +0 -82
- package/scripts/ingest-chunks.cjs +0 -202
- package/scripts/kb-chunk-parser.cjs +0 -312
- package/scripts/kb-chunk-parser.ts +0 -330
- package/scripts/kb-ingest-docs.ts +0 -203
- package/scripts/load-test-app-install.ts +0 -484
- package/scripts/test-login.js +0 -33
- package/spine.config.json +0 -91
|
@@ -1,47 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
// CIL[
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
// CIL[BEGIN chunk_id="input_otp_module_header_1783796064" type="module_header" identity="imports" parent="none"]
|
|
9
|
-
// CIL[DOC-MACRO purpose="Import dependencies for OTP input components"]
|
|
10
|
-
// CIL[DOC-RESPONSIBILITY responsibility="Import React, OTP library, utilities, and icons"]
|
|
11
|
-
// CIL[DOC-CONTEXT module="input-otp" layer="ui_components" related_files="[\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/layout/Sidebar.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"\\\"]"]
|
|
12
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="imported modules" errors="none" side_effects="module imports"]
|
|
13
|
-
// CIL[DOC-MICRO logic_summary="Imports all dependencies for OTP input component system" notable_decisions="[]"]
|
|
14
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-otp.tsx:use_client:directive" type="directive" identity="use_client" parent="module"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Marks the module for client-side execution in Next.js"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Indicates that this file should only run in the browser"]
|
|
4
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/input-otp.tsx,.framework/src/lib/utils.ts"]
|
|
5
|
+
// CIL[DOC-CONTRACT inputs="N/A" outputs="N/A" errors="N/A" side_effects="Changes module runtime context to client"]
|
|
6
|
+
// CIL[DOC-MICRO logic_summary="Directive indicating client-side rendering" notable_decisions="[]"]
|
|
7
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
15
8
|
// CIL[DOC-STABILITY stability="stable"]
|
|
16
|
-
|
|
17
|
-
// CIL[DOC-VECTOR type="context" content="
|
|
18
|
-
// CIL[DOC-VECTOR type="blast_radius" content="
|
|
19
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies
|
|
20
|
-
// CIL[DOC-VECTOR type="constraint" content="
|
|
9
|
+
"use client"
|
|
10
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Marks the module for client-side execution in Next.js'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
11
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
12
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
13
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
21
14
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
22
15
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
23
|
-
|
|
16
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-otp.tsx:use_client:directive"]
|
|
24
17
|
|
|
18
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-otp.tsx:module_header:module_header" type="module_header" identity="module_header" parent="module"]
|
|
19
|
+
// CIL[DOC-MACRO purpose="Imports and dependencies for the input-otp UI components"]
|
|
20
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provide the external libraries and utilities used by the component exports"]
|
|
21
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/lib/utils.ts"]
|
|
22
|
+
// CIL[DOC-CONTRACT inputs="N/A" outputs="Imported symbols available to downstream chunks" errors="N/A" side_effects="Loads React, input-otp, utils, and icons into module scope"]
|
|
23
|
+
// CIL[DOC-MICRO logic_summary="Imports React, OTPInput/OTPInputContext, className utility, and MinusIcon" notable_decisions="[]"]
|
|
24
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
25
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
26
|
+
// CIL[DOC-AUDIENCE audience="developers and UI component consumers"]
|
|
25
27
|
import * as React from "react"
|
|
26
28
|
import { OTPInput, OTPInputContext } from "input-otp"
|
|
27
29
|
|
|
28
30
|
import { cn } from "@/lib/utils"
|
|
29
31
|
import { MinusIcon } from "lucide-react"
|
|
30
|
-
// CIL[
|
|
31
|
-
// CIL[
|
|
32
|
-
// CIL[DOC-
|
|
33
|
-
// CIL[DOC-
|
|
34
|
-
// CIL[DOC-CONTEXT module="input-otp" layer="ui_components" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\"\\\"]"]
|
|
35
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled OTP container" errors="none" side_effects="renders DOM element"]
|
|
36
|
-
// CIL[DOC-MICRO logic_summary="Creates OTP input container with flex layout and disabled states" notable_decisions="[]"]
|
|
37
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
38
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
39
|
-
// 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, custom/apps/cortex/functions/custom_cil-embeddings.ts, \."]
|
|
40
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
41
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
42
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
32
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Imports and dependencies for the input-otp UI components'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
33
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
34
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
35
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
43
36
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
44
37
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
38
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-otp.tsx:module_header:module_header"]
|
|
39
|
+
|
|
40
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-otp.tsx:inputotp:function" type="function" identity="InputOTP" parent="module"]
|
|
41
|
+
// CIL[DOC-MACRO purpose="Render a styled one-time password input wrapper around OTPInput"]
|
|
42
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap the external OTPInput component with project-specific styling and container className"]
|
|
43
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/input-otp.tsx,.framework/src/lib/utils.ts"]
|
|
44
|
+
// CIL[DOC-CONTRACT inputs="className, containerClassName, ...props" outputs="Rendered OTPInput element with merged styles" errors="N/A" side_effects="Renders DOM via React"]
|
|
45
|
+
// CIL[DOC-MICRO logic_summary="Merges className and containerClassName with default styles and renders OTPInput" notable_decisions="[]"]
|
|
46
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
47
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
45
48
|
function InputOTP({
|
|
46
49
|
className,
|
|
47
50
|
containerClassName,
|
|
@@ -62,21 +65,22 @@ function InputOTP({
|
|
|
62
65
|
/>
|
|
63
66
|
)
|
|
64
67
|
}
|
|
65
|
-
// CIL[
|
|
66
|
-
// CIL[
|
|
67
|
-
// CIL[DOC-
|
|
68
|
-
// CIL[DOC-
|
|
69
|
-
// CIL[DOC-CONTEXT module="input-otp" layer="ui_components" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\"\\\"]"]
|
|
70
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled group container" errors="none" side_effects="renders DOM element"]
|
|
71
|
-
// CIL[DOC-MICRO logic_summary="Creates flex container for OTP input slots with error states" notable_decisions="[]"]
|
|
72
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
73
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
74
|
-
// 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, custom/apps/cortex/functions/custom_cil-embeddings.ts, \."]
|
|
75
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
76
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
77
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
68
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a styled one-time password input wrapper around OTPInput'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
69
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
70
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
71
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
78
72
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
79
73
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
74
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-otp.tsx:inputotp:function"]
|
|
75
|
+
|
|
76
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-otp.tsx:inputotpgroup:function" type="function" identity="InputOTPGroup" parent="module"]
|
|
77
|
+
// CIL[DOC-MACRO purpose="Render a group container for OTP input slots"]
|
|
78
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Apply flex and validation styling to a group of OTP slots"]
|
|
79
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/input-otp.tsx,.framework/src/lib/utils.ts"]
|
|
80
|
+
// CIL[DOC-CONTRACT inputs="className, ...props" outputs="Styled flex div for grouping slots" errors="N/A" side_effects="Renders DOM"]
|
|
81
|
+
// CIL[DOC-MICRO logic_summary="Renders a flex div with rounded, invalid-state, and ring styles" notable_decisions="[]"]
|
|
82
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
83
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
80
84
|
function InputOTPGroup({ className, ...props }: React.ComponentProps<"div">) {
|
|
81
85
|
return (
|
|
82
86
|
<div
|
|
@@ -89,21 +93,22 @@ function InputOTPGroup({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
89
93
|
/>
|
|
90
94
|
)
|
|
91
95
|
}
|
|
92
|
-
// CIL[
|
|
93
|
-
// CIL[
|
|
94
|
-
// CIL[DOC-
|
|
95
|
-
// CIL[DOC-
|
|
96
|
-
// CIL[DOC-CONTEXT module="input-otp" layer="ui_components" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\"\\\"]"]
|
|
97
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled input slot" errors="none" side_effects="renders DOM element"]
|
|
98
|
-
// CIL[DOC-MICRO logic_summary="Creates individual OTP slot with character display and animated caret" notable_decisions="[]"]
|
|
99
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
100
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
101
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, custom/apps/cortex/functions/custom_cil-embeddings.ts, \."]
|
|
102
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
103
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
104
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
96
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a group container for OTP input slots'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
97
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
98
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
99
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
105
100
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
106
101
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
102
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-otp.tsx:inputotpgroup:function"]
|
|
103
|
+
|
|
104
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-otp.tsx:inputotpslot:function" type="function" identity="InputOTPSlot" parent="module"]
|
|
105
|
+
// CIL[DOC-MACRO purpose="Render an individual OTP digit slot"]
|
|
106
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Display the digit, caret, and active state for a single OTP character position"]
|
|
107
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/input-otp.tsx,.framework/src/lib/utils.ts"]
|
|
108
|
+
// CIL[DOC-CONTRACT inputs="index, className, ...props; consumes OTPInputContext" outputs="Styled slot div with char and optional fake caret" errors="N/A" side_effects="Renders DOM and subscribes to OTPInputContext"]
|
|
109
|
+
// CIL[DOC-MICRO logic_summary="Consumes OTPInputContext to obtain slot state and renders a styled div for one character" notable_decisions="[]"]
|
|
110
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
111
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
107
112
|
function InputOTPSlot({
|
|
108
113
|
index,
|
|
109
114
|
className,
|
|
@@ -133,21 +138,22 @@ function InputOTPSlot({
|
|
|
133
138
|
</div>
|
|
134
139
|
)
|
|
135
140
|
}
|
|
136
|
-
// CIL[
|
|
137
|
-
// CIL[
|
|
138
|
-
// CIL[DOC-
|
|
139
|
-
// CIL[DOC-
|
|
140
|
-
// CIL[DOC-CONTEXT module="input-otp" layer="ui_components" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\"\\\"]"]
|
|
141
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled separator" errors="none" side_effects="renders DOM element"]
|
|
142
|
-
// CIL[DOC-MICRO logic_summary="Creates separator with minus icon between OTP input groups" notable_decisions="[]"]
|
|
143
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
144
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
145
|
-
// 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, custom/apps/cortex/functions/custom_cil-embeddings.ts, \."]
|
|
146
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
147
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
148
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
141
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render an individual OTP digit slot'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
142
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
143
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
144
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
149
145
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
150
146
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
147
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-otp.tsx:inputotpslot:function"]
|
|
148
|
+
|
|
149
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-otp.tsx:inputotpseparator:function" type="function" identity="InputOTPSeparator" parent="module"]
|
|
150
|
+
// CIL[DOC-MACRO purpose="Render a visual separator between OTP input groups"]
|
|
151
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Display a minus icon to visually separate OTP groups"]
|
|
152
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/input-otp.tsx,.framework/src/lib/utils.ts"]
|
|
153
|
+
// CIL[DOC-CONTRACT inputs="...props" outputs="Styled div containing a MinusIcon" errors="N/A" side_effects="Renders DOM"]
|
|
154
|
+
// CIL[DOC-MICRO logic_summary="Renders a div with flex alignment and a MinusIcon" notable_decisions="[]"]
|
|
155
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
156
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
151
157
|
function InputOTPSeparator({ ...props }: React.ComponentProps<"div">) {
|
|
152
158
|
return (
|
|
153
159
|
<div
|
|
@@ -161,20 +167,27 @@ function InputOTPSeparator({ ...props }: React.ComponentProps<"div">) {
|
|
|
161
167
|
</div>
|
|
162
168
|
)
|
|
163
169
|
}
|
|
164
|
-
// CIL[
|
|
165
|
-
// CIL[
|
|
166
|
-
// CIL[DOC-
|
|
167
|
-
// CIL[DOC-
|
|
168
|
-
// CIL[DOC-CONTEXT module="input-otp" layer="ui_components" related_files="[]"]
|
|
169
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="exported components" errors="none" side_effects="module exports"]
|
|
170
|
-
// CIL[DOC-MICRO logic_summary="Exports comprehensive OTP input component system for consumption" notable_decisions="[]"]
|
|
171
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
172
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
173
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
174
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
175
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
176
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
170
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a visual separator between OTP input groups'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
171
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
172
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
173
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
177
174
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
178
175
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
176
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-otp.tsx:inputotpseparator:function"]
|
|
177
|
+
|
|
178
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-otp.tsx:module_exports:module_exports" type="module_exports" identity="module_exports" parent="module"]
|
|
179
|
+
// CIL[DOC-MACRO purpose="Export the public API of the input-otp UI components"]
|
|
180
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Make InputOTP, InputOTPGroup, InputOTPSlot, and InputOTPSeparator available to other modules"]
|
|
181
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="presentation" related_files=".framework/src/components/ui/input-otp.tsx,.framework/src/lib/utils.ts"]
|
|
182
|
+
// CIL[DOC-CONTRACT inputs="N/A" outputs="Named exports of all OTP components" errors="N/A" side_effects="Defines the module's external interface"]
|
|
183
|
+
// CIL[DOC-MICRO logic_summary="Named export list for InputOTP, InputOTPGroup, InputOTPSlot, and InputOTPSeparator" notable_decisions="[]"]
|
|
184
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
185
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
179
186
|
export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }
|
|
180
|
-
// CIL[
|
|
187
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Export the public API of the input-otp UI components'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
188
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
189
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
190
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
191
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
192
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
193
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-otp.tsx:module_exports:module_exports"]
|
|
@@ -1,39 +1,34 @@
|
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input.tsx:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/src/components/ui/input.tsx"]
|
|
2
|
+
|
|
1
3
|
|
|
2
4
|
|
|
3
5
|
|
|
4
|
-
// CIL[BEGIN chunk_id="input_module_header_1783796064" type="module_header" identity="module_header" parent="none"]
|
|
5
|
-
// CIL[DOC-MACRO purpose="Import dependencies for input component"]
|
|
6
|
-
// CIL[DOC-RESPONSIBILITY responsibility="Import React and utility functions"]
|
|
7
|
-
// CIL[DOC-CONTEXT module="input" layer="ui_components" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\"\\\"]"]
|
|
8
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="imported modules" errors="none" side_effects="module imports"]
|
|
9
|
-
// CIL[DOC-MICRO logic_summary="Imports React and cn utility for input component" notable_decisions="[]"]
|
|
10
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
11
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
12
|
-
// CIL[DOC-AUDIENCE audience="developer"]
|
|
13
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/src/components/ui/table-primitives.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, custom/apps/portal/pages/ContentPage.tsx, \."]
|
|
14
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
15
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
16
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
17
|
-
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
18
|
-
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
19
6
|
import * as React from "react"
|
|
20
7
|
|
|
21
8
|
import { cn } from "@/lib/utils"
|
|
22
|
-
// CIL[
|
|
23
|
-
// CIL[
|
|
24
|
-
// CIL[DOC-
|
|
25
|
-
// CIL[DOC-RESPONSIBILITY responsibility="Create flexible input element with comprehensive styling"]
|
|
26
|
-
// CIL[DOC-CONTEXT module="input" layer="ui_components" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
27
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled input element" errors="none" side_effects="renders DOM element"]
|
|
28
|
-
// CIL[DOC-MICRO logic_summary="Creates input element with extensive styling for forms and UI" notable_decisions="[]"]
|
|
29
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
9
|
+
// CIL[DOC-MACRO purpose="Shadcn/UI form input component"]
|
|
10
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Expose a styled, accessible Input component for the design system"]
|
|
11
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="component" related_files=".framework/src/lib/utils.ts"]
|
|
30
12
|
// CIL[DOC-STABILITY stability="stable"]
|
|
31
|
-
// CIL[DOC-
|
|
32
|
-
// CIL[DOC-
|
|
33
|
-
// CIL[DOC-VECTOR type="
|
|
34
|
-
// CIL[DOC-VECTOR type="
|
|
13
|
+
// CIL[DOC-AUDIENCE audience="framework"]
|
|
14
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
15
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Shadcn/UI form input component'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
16
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
17
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
18
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
35
19
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
36
20
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
21
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input.tsx:module_header:module_header"]
|
|
22
|
+
|
|
23
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input.tsx:Input:component" type="component" identity="Input" parent="~/.framework/src/components/ui/input.tsx"]
|
|
24
|
+
// CIL[DOC-MACRO purpose="Render a styled HTML input with forwarded props and optional className"]
|
|
25
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render an accessible input element with merged Tailwind classes"]
|
|
26
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="component" related_files=".framework/src/components/ui/input.tsx,.framework/src/lib/utils.ts"]
|
|
27
|
+
// CIL[DOC-CONTRACT inputs="className?: string, type?: string, props: React.ComponentProps<'input'>" outputs="JSX input element" errors="[]" side_effects="none"]
|
|
28
|
+
// CIL[DOC-MICRO logic_summary="Destructure className and type, spread remaining props onto a styled input with data-slot and cn()" notable_decisions="[]"]
|
|
29
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
30
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
31
|
+
// CIL[DOC-AUDIENCE audience="framework"]
|
|
37
32
|
function Input({ className, type, ...props }: React.ComponentProps<"input">) {
|
|
38
33
|
return (
|
|
39
34
|
<input
|
|
@@ -47,20 +42,27 @@ function Input({ className, type, ...props }: React.ComponentProps<"input">) {
|
|
|
47
42
|
/>
|
|
48
43
|
)
|
|
49
44
|
}
|
|
50
|
-
// CIL[
|
|
51
|
-
// CIL[
|
|
52
|
-
// CIL[DOC-
|
|
53
|
-
// CIL[DOC-
|
|
54
|
-
// CIL[DOC-CONTEXT module="input" layer="ui_components" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
|
|
55
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="exported component" errors="none" side_effects="module exports"]
|
|
56
|
-
// CIL[DOC-MICRO logic_summary="Exports input component for consumption" notable_decisions="[]"]
|
|
57
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
58
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
59
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/src/components/ui/table-primitives.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
|
|
60
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
61
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
62
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
45
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a styled HTML input with forwarded props and optional className'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
46
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
47
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
48
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
63
49
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
64
50
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
51
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input.tsx:Input:component"]
|
|
52
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input.tsx:exports:variable" type="variable" identity="exports" parent="~/.framework/src/components/ui/input.tsx"]
|
|
53
|
+
// CIL[DOC-MACRO purpose="Named export for the Input component"]
|
|
54
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Re-export Input for consumers"]
|
|
55
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="component" related_files=".framework/src/components/ui/input.tsx,.framework/src/lib/utils.ts"]
|
|
56
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="named export { Input }" errors="[]" side_effects="none"]
|
|
57
|
+
// CIL[DOC-MICRO logic_summary="Exports the local Input function for use in other modules" notable_decisions="[]"]
|
|
58
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
59
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
60
|
+
// CIL[DOC-AUDIENCE audience="framework"]
|
|
65
61
|
export { Input }
|
|
66
|
-
// CIL[
|
|
62
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Named export for the Input component'; No verified external callers; imports: .framework/src/lib/utils.ts"]
|
|
63
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
64
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
65
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
66
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
67
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
68
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input.tsx:exports:variable"]
|