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
|
@@ -8,21 +8,16 @@
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
// CIL[
|
|
13
|
-
// CIL[DOC-
|
|
14
|
-
// CIL[DOC-
|
|
15
|
-
// CIL[DOC-
|
|
16
|
-
// CIL[DOC-
|
|
17
|
-
// CIL[DOC-
|
|
11
|
+
|
|
12
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-group.tsx:module_header:module_header" type="module_header" identity="module_header" parent=""]
|
|
13
|
+
// CIL[DOC-MACRO purpose="Defines the InputGroup UI component module, importing dependencies and exporting all subcomponents."]
|
|
14
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provide shared UI primitives (InputGroup, Addon, Button, Text, Input, Textarea) and their styling variants for the design system."]
|
|
15
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/button.tsx,.framework/src/components/ui/input.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/utils.ts"]
|
|
16
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="none"]
|
|
17
|
+
// CIL[DOC-MICRO logic_summary="Import React, cva, cn, Button, Input and Textarea; re-export the InputGroup subcomponents." notable_decisions="[]"]
|
|
18
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
18
19
|
// CIL[DOC-STABILITY stability="stable"]
|
|
19
|
-
// CIL[DOC-AUDIENCE audience="
|
|
20
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/ui/dialog.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, .framework/functions/_shared/schema-utils.ts, \."]
|
|
21
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
22
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
23
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
24
|
-
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
25
|
-
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
20
|
+
// CIL[DOC-AUDIENCE audience="ui-developers"]
|
|
26
21
|
import * as React from "react"
|
|
27
22
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
28
23
|
|
|
@@ -30,21 +25,22 @@ import { cn } from "@/lib/utils"
|
|
|
30
25
|
import { Button } from "@/components/ui/button"
|
|
31
26
|
import { Input } from "@/components/ui/input"
|
|
32
27
|
import { Textarea } from "@/components/ui/textarea"
|
|
33
|
-
// CIL[
|
|
34
|
-
// CIL[
|
|
35
|
-
// CIL[DOC-
|
|
36
|
-
// CIL[DOC-
|
|
37
|
-
// CIL[DOC-CONTEXT module="input-group" 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\",\"\\\"]"]
|
|
38
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled input group container" errors="none" side_effects="renders DOM element"]
|
|
39
|
-
// CIL[DOC-MICRO logic_summary="Creates flex container with comprehensive styling for input groups" 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, custom/apps/cortex/functions/custom_cil-embeddings.ts, \."]
|
|
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."]
|
|
28
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Defines the InputGroup UI component module, importing dependencies and exporting all subcomponents.'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/button.tsx,.framework/src/components/ui/input.tsx"]
|
|
29
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
30
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
31
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
46
32
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
47
33
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
34
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-group.tsx:module_header:module_header"]
|
|
35
|
+
|
|
36
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-group.tsx:inputgroup:function" type="function" identity="inputgroup" parent="~/.framework/src/components/ui/input-group.tsx:module_header:module_header"]
|
|
37
|
+
// CIL[DOC-MACRO purpose="Render an accessible InputGroup container with themed styles and focus/invalid state propagation."]
|
|
38
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Wrap children in a flex group with data-slot and role=group, applying input-group styles and focus/invalid rings."]
|
|
39
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/button.tsx,.framework/src/components/ui/input-group.tsx,.framework/src/components/ui/input.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/utils.ts"]
|
|
40
|
+
// CIL[DOC-CONTRACT inputs="className: string, props: React.ComponentProps<'div'>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
41
|
+
// CIL[DOC-MICRO logic_summary="Build a <div> with data-slot, role=group, and combined Tailwind classes; spread remaining props." notable_decisions="[]"]
|
|
42
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
43
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
48
44
|
function InputGroup({ className, ...props }: React.ComponentProps<"div">) {
|
|
49
45
|
return (
|
|
50
46
|
<div
|
|
@@ -58,21 +54,23 @@ function InputGroup({ className, ...props }: React.ComponentProps<"div">) {
|
|
|
58
54
|
/>
|
|
59
55
|
)
|
|
60
56
|
}
|
|
61
|
-
// CIL[
|
|
62
|
-
// CIL[
|
|
63
|
-
// CIL[DOC-
|
|
64
|
-
// CIL[DOC-
|
|
65
|
-
// CIL[DOC-CONTEXT module="input-group" layer="ui_components" related_files="[\".framework/functions/_shared/principal.ts\",\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"\\\"]"]
|
|
66
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="CVA variant configuration" errors="none" side_effects="defines styling variants"]
|
|
67
|
-
// CIL[DOC-MICRO logic_summary="Defines alignment variants for input group addon positioning" notable_decisions="[]"]
|
|
68
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
69
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
70
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/functions/_shared/principal.ts, .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/pages/admin/IntegrationsPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, \."]
|
|
71
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
72
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
73
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
57
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render an accessible InputGroup container with themed styles and focus/invalid state propagation.'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/button.tsx,.framework/src/components/ui/input.tsx"]
|
|
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"]
|
|
74
61
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
75
62
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
63
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-group.tsx:inputgroup:function"]
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-group.tsx:inputgroupaddonvariants:constant" type="constant" identity="inputgroupaddonvariants" parent="~/.framework/src/components/ui/input-group.tsx:module_header:module_header"]
|
|
67
|
+
// CIL[DOC-MACRO purpose="Define Tailwind class variant authority (cva) styles for input group add-on alignment."]
|
|
68
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Generate class strings for inline and block add-on alignment and disabled opacity."]
|
|
69
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/button.tsx,.framework/src/components/ui/input-group.tsx,.framework/src/components/ui/input.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/utils.ts"]
|
|
70
|
+
// CIL[DOC-CONTRACT inputs="align: VariantProps['inputGroupAddonVariants']['align']" outputs="className string" errors="none" side_effects="none"]
|
|
71
|
+
// CIL[DOC-MICRO logic_summary="Configure cva base classes and alignment variant classes; default to inline-start." notable_decisions="[]"]
|
|
72
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
73
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
76
74
|
const inputGroupAddonVariants = cva(
|
|
77
75
|
"flex h-auto cursor-text items-center justify-center gap-1 py-2 text-xs/relaxed font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-[calc(var(--radius-sm)-2px)] **:data-[slot=kbd]:bg-muted-foreground/10 **:data-[slot=kbd]:px-1 **:data-[slot=kbd]:text-[0.625rem] [&>svg:not([class*='size-'])]:size-3.5",
|
|
78
76
|
{
|
|
@@ -93,21 +91,23 @@ const inputGroupAddonVariants = cva(
|
|
|
93
91
|
},
|
|
94
92
|
}
|
|
95
93
|
)
|
|
96
|
-
// CIL[
|
|
97
|
-
// CIL[
|
|
98
|
-
// CIL[DOC-
|
|
99
|
-
// CIL[DOC-
|
|
100
|
-
// CIL[DOC-CONTEXT module="input-group" layer="ui_components" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"\\\"]"]
|
|
101
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled addon container" errors="none" side_effects="renders DOM element"]
|
|
102
|
-
// CIL[DOC-MICRO logic_summary="Creates addon container with auto-focus on click and alignment" notable_decisions="[]"]
|
|
103
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
104
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
105
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, \."]
|
|
106
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
107
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
108
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
94
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Define Tailwind class variant authority (cva) styles for input group add-on alignment.'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/button.tsx,.framework/src/components/ui/input.tsx"]
|
|
95
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
96
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
97
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
109
98
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
110
99
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
100
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-group.tsx:inputgroupaddonvariants:constant"]
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-group.tsx:inputgroupaddon:function" type="function" identity="inputgroupaddon" parent="~/.framework/src/components/ui/input-group.tsx:module_header:module_header"]
|
|
104
|
+
// CIL[DOC-MACRO purpose="Render an interactive InputGroup add-on that focuses the input on click."]
|
|
105
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render an add-on wrapper with alignment variant classes and click-to-focus behavior."]
|
|
106
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/button.tsx,.framework/src/components/ui/input-group.tsx,.framework/src/components/ui/input.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/utils.ts"]
|
|
107
|
+
// CIL[DOC-CONTRACT inputs="className: string, align: 'inline-start' | 'inline-end' | 'block-start' | 'block-end', props: React.ComponentProps<'div'>" outputs="JSX.Element" errors="none" side_effects="focuses sibling input element when the add-on is clicked and the click did not originate from a button"]
|
|
108
|
+
// CIL[DOC-MICRO logic_summary="Render a div with role=group, data-slot and data-align; on click, focus the nearest input unless a button was clicked." notable_decisions="[]"]
|
|
109
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
110
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
111
111
|
function InputGroupAddon({
|
|
112
112
|
className,
|
|
113
113
|
align = "inline-start",
|
|
@@ -123,27 +123,30 @@ function InputGroupAddon({
|
|
|
123
123
|
if ((e.target as HTMLElement).closest("button")) {
|
|
124
124
|
return
|
|
125
125
|
}
|
|
126
|
+
|
|
126
127
|
e.currentTarget.parentElement?.querySelector("input")?.focus()
|
|
127
128
|
}}
|
|
128
129
|
{...props}
|
|
129
130
|
/>
|
|
130
131
|
)
|
|
131
132
|
}
|
|
132
|
-
// CIL[
|
|
133
|
-
// CIL[
|
|
134
|
-
// CIL[DOC-
|
|
135
|
-
// CIL[DOC-
|
|
136
|
-
// CIL[DOC-CONTEXT module="input-group" layer="ui_components" related_files="[\".framework/functions/_shared/principal.ts\",\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"\\\"]"]
|
|
137
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="CVA variant configuration" errors="none" side_effects="defines styling variants"]
|
|
138
|
-
// CIL[DOC-MICRO logic_summary="Defines size variants for input group button components" notable_decisions="[]"]
|
|
139
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
140
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
141
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/functions/_shared/principal.ts, .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/pages/admin/IntegrationsPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, \."]
|
|
142
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
143
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
144
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
133
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render an interactive InputGroup add-on that focuses the input on click.'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/button.tsx,.framework/src/components/ui/input.tsx"]
|
|
134
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
135
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
136
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
145
137
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
146
138
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
139
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-group.tsx:inputgroupaddon:function"]
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-group.tsx:inputgroupbuttonvariants:constant" type="constant" identity="inputgroupbuttonvariants" parent="~/.framework/src/components/ui/input-group.tsx:module_header:module_header"]
|
|
143
|
+
// CIL[DOC-MACRO purpose="Define cva size variants for the InputGroupButton component."]
|
|
144
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Generate class strings for button size and icon variants with correct sizing and spacing."]
|
|
145
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/button.tsx,.framework/src/components/ui/input-group.tsx,.framework/src/components/ui/input.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/utils.ts"]
|
|
146
|
+
// CIL[DOC-CONTRACT inputs="size: 'xs' | 'sm' | 'icon-xs' | 'icon-sm'" outputs="className string" errors="none" side_effects="none"]
|
|
147
|
+
// CIL[DOC-MICRO logic_summary="Configure cva with size variants including xs, sm, icon-xs, icon-sm and default xs." notable_decisions="[]"]
|
|
148
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
149
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
147
150
|
const inputGroupButtonVariants = cva(
|
|
148
151
|
"flex items-center gap-2 rounded-md text-xs/relaxed shadow-none",
|
|
149
152
|
{
|
|
@@ -158,23 +161,25 @@ const inputGroupButtonVariants = cva(
|
|
|
158
161
|
defaultVariants: {
|
|
159
162
|
size: "xs",
|
|
160
163
|
},
|
|
161
|
-
|
|
164
|
+
}
|
|
162
165
|
)
|
|
163
|
-
// CIL[
|
|
164
|
-
// CIL[
|
|
165
|
-
// CIL[DOC-
|
|
166
|
-
// CIL[DOC-
|
|
167
|
-
// CIL[DOC-CONTEXT module="input-group" layer="ui_components" related_files="[]"]
|
|
168
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled button" errors="none" side_effects="renders DOM element"]
|
|
169
|
-
// CIL[DOC-MICRO logic_summary="Creates button with custom sizing for input group integration" notable_decisions="[]"]
|
|
170
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
171
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
172
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
173
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
174
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
175
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
166
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Define cva size variants for the InputGroupButton component.'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/button.tsx,.framework/src/components/ui/input.tsx"]
|
|
167
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
168
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
169
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
176
170
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
177
171
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
172
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-group.tsx:inputgroupbuttonvariants:constant"]
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-group.tsx:inputgroupbutton:function" type="function" identity="inputgroupbutton" parent="~/.framework/src/components/ui/input-group.tsx:module_header:module_header"]
|
|
176
|
+
// CIL[DOC-MACRO purpose="Render a small button suitable for placement inside an input group."]
|
|
177
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a Button with default ghost variant and xs size, merging input group button variant classes."]
|
|
178
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/button.tsx,.framework/src/components/ui/input-group.tsx,.framework/src/components/ui/input.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/utils.ts"]
|
|
179
|
+
// CIL[DOC-CONTRACT inputs="className: string, type: 'button', variant: 'ghost', size: 'xs' | 'sm' | 'icon-xs' | 'icon-sm', props: Omit<React.ComponentProps<typeof Button>, 'size'> & VariantProps<typeof inputGroupButtonVariants>, VariantProps: VariantProps<typeof inputGroupButtonVariants>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
180
|
+
// CIL[DOC-MICRO logic_summary="Render a Button with type, data-size, variant, and merged cva size classes; spread remaining props." notable_decisions="[]"]
|
|
181
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
182
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
178
183
|
function InputGroupButton({
|
|
179
184
|
className,
|
|
180
185
|
type = "button",
|
|
@@ -193,21 +198,23 @@ function InputGroupButton({
|
|
|
193
198
|
/>
|
|
194
199
|
)
|
|
195
200
|
}
|
|
196
|
-
|
|
197
|
-
// CIL[
|
|
198
|
-
// CIL[DOC-
|
|
199
|
-
// CIL[DOC-
|
|
200
|
-
// CIL[DOC-
|
|
201
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled text element" errors="none" side_effects="renders DOM element"]
|
|
202
|
-
// CIL[DOC-MICRO logic_summary="Creates muted text element with icon support for input groups" notable_decisions="[]"]
|
|
203
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
204
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
205
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
206
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
207
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
208
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
201
|
+
|
|
202
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a small button suitable for placement inside an input group.'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/button.tsx,.framework/src/components/ui/input.tsx"]
|
|
203
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
204
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
205
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
209
206
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
210
207
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
208
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-group.tsx:inputgroupbutton:function"]
|
|
209
|
+
|
|
210
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-group.tsx:inputgrouptext:function" type="function" identity="inputgrouptext" parent="~/.framework/src/components/ui/input-group.tsx:module_header:module_header"]
|
|
211
|
+
// CIL[DOC-MACRO purpose="Render styled helper text or label content inside an input group."]
|
|
212
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a span with muted text styling and svg sizing utilities."]
|
|
213
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/button.tsx,.framework/src/components/ui/input-group.tsx,.framework/src/components/ui/input.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/utils.ts"]
|
|
214
|
+
// CIL[DOC-CONTRACT inputs="className: string, props: React.ComponentProps<'span'>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
215
|
+
// CIL[DOC-MICRO logic_summary="Render a span with combined text-muted and svg size classes; spread props." notable_decisions="[]"]
|
|
216
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
217
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
211
218
|
function InputGroupText({ className, ...props }: React.ComponentProps<"span">) {
|
|
212
219
|
return (
|
|
213
220
|
<span
|
|
@@ -219,21 +226,22 @@ function InputGroupText({ className, ...props }: React.ComponentProps<"span">) {
|
|
|
219
226
|
/>
|
|
220
227
|
)
|
|
221
228
|
}
|
|
222
|
-
// CIL[
|
|
223
|
-
// CIL[
|
|
224
|
-
// CIL[DOC-
|
|
225
|
-
// CIL[DOC-
|
|
226
|
-
// CIL[DOC-CONTEXT module="input-group" layer="ui_components" related_files="[]"]
|
|
227
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled input element" errors="none" side_effects="renders DOM element"]
|
|
228
|
-
// CIL[DOC-MICRO logic_summary="Creates input element with group-specific styling and borders" notable_decisions="[]"]
|
|
229
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
230
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
231
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
232
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
233
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
234
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
229
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render styled helper text or label content inside an input group.'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/button.tsx,.framework/src/components/ui/input.tsx"]
|
|
230
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
231
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
232
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
235
233
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
236
234
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
235
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-group.tsx:inputgrouptext:function"]
|
|
236
|
+
|
|
237
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-group.tsx:inputgroupinput:function" type="function" identity="inputgroupinput" parent="~/.framework/src/components/ui/input-group.tsx:module_header:module_header"]
|
|
238
|
+
// CIL[DOC-MACRO purpose="Render an input control styled for use inside an InputGroup."]
|
|
239
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a full-width Input with transparent background, no border, and no focus ring, marked as the group control."]
|
|
240
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/button.tsx,.framework/src/components/ui/input-group.tsx,.framework/src/components/ui/input.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/utils.ts"]
|
|
241
|
+
// CIL[DOC-CONTRACT inputs="className: string, props: React.ComponentProps<'input'>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
242
|
+
// CIL[DOC-MICRO logic_summary="Render an Input with data-slot='input-group-control' and rounded-none, border-0, transparent, ring-0 classes." notable_decisions="[]"]
|
|
243
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
244
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
237
245
|
function InputGroupInput({
|
|
238
246
|
className,
|
|
239
247
|
...props
|
|
@@ -249,21 +257,22 @@ function InputGroupInput({
|
|
|
249
257
|
/>
|
|
250
258
|
)
|
|
251
259
|
}
|
|
252
|
-
// CIL[
|
|
253
|
-
// CIL[
|
|
254
|
-
// CIL[DOC-
|
|
255
|
-
// CIL[DOC-
|
|
256
|
-
// CIL[DOC-CONTEXT module="input-group" layer="ui_components" related_files="[]"]
|
|
257
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="styled textarea element" errors="none" side_effects="renders DOM element"]
|
|
258
|
-
// CIL[DOC-MICRO logic_summary="Creates textarea element with group-specific styling and borders" notable_decisions="[]"]
|
|
259
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
260
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
261
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
262
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
263
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
264
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
260
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render an input control styled for use inside an InputGroup.'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/button.tsx,.framework/src/components/ui/input.tsx"]
|
|
261
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
262
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
263
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
265
264
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
266
265
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
266
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-group.tsx:inputgroupinput:function"]
|
|
267
|
+
|
|
268
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-group.tsx:inputgrouptextarea:function" type="function" identity="inputgrouptextarea" parent="~/.framework/src/components/ui/input-group.tsx:module_header:module_header"]
|
|
269
|
+
// CIL[DOC-MACRO purpose="Render a textarea control styled for use inside an InputGroup."]
|
|
270
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Render a Textarea with transparent background, resize-none, no border, and no focus ring."]
|
|
271
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/button.tsx,.framework/src/components/ui/input-group.tsx,.framework/src/components/ui/input.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/utils.ts"]
|
|
272
|
+
// CIL[DOC-CONTRACT inputs="className: string, props: React.ComponentProps<'textarea'>" outputs="JSX.Element" errors="none" side_effects="none"]
|
|
273
|
+
// CIL[DOC-MICRO logic_summary="Render a Textarea with data-slot='input-group-control' and rounded-none, border-0, resize-none, transparent, ring-0 classes." notable_decisions="[]"]
|
|
274
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
275
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
267
276
|
function InputGroupTextarea({
|
|
268
277
|
className,
|
|
269
278
|
...props
|
|
@@ -279,21 +288,21 @@ function InputGroupTextarea({
|
|
|
279
288
|
/>
|
|
280
289
|
)
|
|
281
290
|
}
|
|
282
|
-
// CIL[
|
|
283
|
-
// CIL[
|
|
284
|
-
// CIL[DOC-
|
|
285
|
-
// CIL[DOC-
|
|
286
|
-
// CIL[DOC-CONTEXT module="input-group" layer="ui_components" related_files="[]"]
|
|
287
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="exported components" errors="none" side_effects="module exports"]
|
|
288
|
-
// CIL[DOC-MICRO logic_summary="Exports comprehensive input group component system for consumption" notable_decisions="[]"]
|
|
289
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
290
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
291
|
-
// CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
292
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
293
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
294
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
291
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Render a textarea control styled for use inside an InputGroup.'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/button.tsx,.framework/src/components/ui/input.tsx"]
|
|
292
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
293
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
294
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
295
295
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
296
296
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
297
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-group.tsx:inputgrouptextarea:function"]
|
|
298
|
+
// CIL[BEGIN stable_id="~/.framework/src/components/ui/input-group.tsx:export:export" type="export" identity="export" parent="~/.framework/src/components/ui/input-group.tsx:module_header:module_header"]
|
|
299
|
+
// CIL[DOC-MACRO purpose="Expose InputGroup subcomponents for consumers of the UI package."]
|
|
300
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Re-export the component and variant symbols from this module."]
|
|
301
|
+
// CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/button.tsx,.framework/src/components/ui/input-group.tsx,.framework/src/components/ui/input.tsx,.framework/src/components/ui/textarea.tsx,.framework/src/lib/utils.ts"]
|
|
302
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="named exports" errors="none" side_effects="none"]
|
|
303
|
+
// CIL[DOC-MICRO logic_summary="Named export list of all InputGroup subcomponents and their cva variants." notable_decisions="[]"]
|
|
304
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
305
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
297
306
|
export {
|
|
298
307
|
InputGroup,
|
|
299
308
|
InputGroupAddon,
|
|
@@ -302,4 +311,10 @@ export {
|
|
|
302
311
|
InputGroupInput,
|
|
303
312
|
InputGroupTextarea,
|
|
304
313
|
}
|
|
305
|
-
// CIL[
|
|
314
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Expose InputGroup subcomponents for consumers of the UI package.'; No verified external callers; imports: .framework/src/lib/utils.ts,.framework/src/components/ui/button.tsx,.framework/src/components/ui/input.tsx"]
|
|
315
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
316
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
317
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
318
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
319
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
320
|
+
// CIL[END stable_id="~/.framework/src/components/ui/input-group.tsx:export:export"]
|