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.
Files changed (451) hide show
  1. package/.env.example +76 -0
  2. package/.framework/.spine-manifest.json +19 -0
  3. package/.framework/cli/commands/agents.ts +61 -33
  4. package/.framework/cli/commands/auth.ts +60 -28
  5. package/.framework/cli/commands/create-app.ts +212 -80
  6. package/.framework/cli/commands/dev.ts +184 -68
  7. package/.framework/cli/commands/doctor.ts +324 -152
  8. package/.framework/cli/commands/generate.ts +119 -68
  9. package/.framework/cli/commands/init.ts +141 -242
  10. package/.framework/cli/commands/install-app.ts +1336 -314
  11. package/.framework/cli/commands/items.ts +31 -29
  12. package/.framework/cli/commands/migrate.ts +299 -156
  13. package/.framework/cli/commands/migrations.ts +62 -30
  14. package/.framework/cli/commands/pipelines.ts +31 -29
  15. package/.framework/cli/commands/status.ts +105 -45
  16. package/.framework/cli/commands/system.ts +47 -42
  17. package/.framework/cli/commands/test.ts +161 -102
  18. package/.framework/cli/commands/upgrade.ts +260 -0
  19. package/.framework/cli/commands/validate-app.ts +517 -161
  20. package/.framework/cli/context.ts +117 -85
  21. package/.framework/cli/env-loader.ts +74 -43
  22. package/.framework/cli/index.ts +70 -46
  23. package/.framework/cli/lib/project-files.ts +404 -0
  24. package/.framework/docs/guides/testing-guide.md +1 -1
  25. package/.framework/docs/runtime-types.md +72 -72
  26. package/.framework/functions/_shared/access.ts +84 -0
  27. package/.framework/functions/_shared/agent-runner.ts +5051 -1026
  28. package/.framework/functions/_shared/app-manifest.ts +214 -94
  29. package/.framework/functions/_shared/ast.ts +214 -0
  30. package/.framework/functions/_shared/audit.ts +91 -55
  31. package/.framework/functions/_shared/cil.ts +368 -127
  32. package/.framework/functions/_shared/db.ts +337 -68
  33. package/.framework/functions/_shared/funnel.ts +228 -0
  34. package/.framework/functions/_shared/geo.ts +105 -0
  35. package/.framework/functions/_shared/hash-api-key.ts +94 -17
  36. package/.framework/functions/_shared/index.ts +22 -224
  37. package/.framework/functions/_shared/kb.ts +832 -58
  38. package/.framework/functions/_shared/llm.ts +118 -18
  39. package/.framework/functions/_shared/logging.ts +317 -19
  40. package/.framework/functions/_shared/middleware.ts +701 -131
  41. package/.framework/functions/_shared/notify.ts +70 -0
  42. package/.framework/functions/_shared/outcomes.ts +34 -19
  43. package/.framework/functions/_shared/permissions.ts +501 -315
  44. package/.framework/functions/_shared/pipeline-runner.ts +704 -155
  45. package/.framework/functions/_shared/principal.ts +436 -263
  46. package/.framework/functions/_shared/rate-limit.ts +233 -0
  47. package/.framework/functions/_shared/resolve-credentials.ts +86 -19
  48. package/.framework/functions/_shared/resolve-ids.ts +203 -139
  49. package/.framework/functions/_shared/retry-deliveries.ts +51 -16
  50. package/.framework/functions/_shared/schema-utils.ts +602 -521
  51. package/.framework/functions/_shared/security.ts +345 -0
  52. package/.framework/functions/_shared/testing.ts +197 -172
  53. package/.framework/functions/_shared/tracing.ts +351 -21
  54. package/.framework/functions/_shared/trigger-engine.ts +425 -136
  55. package/.framework/functions/_shared/webhook-registration.ts +71 -70
  56. package/.framework/functions/_shared/webhook-registry.ts +126 -83
  57. package/.framework/functions/account-nodes.ts +30 -30
  58. package/.framework/functions/adapters/generic-webhook-inbound.ts +49 -16
  59. package/.framework/functions/adapters/generic-webhook-outbound.ts +17 -17
  60. package/.framework/functions/adapters/openai-outbound.ts +15 -16
  61. package/.framework/functions/admin-data.ts +596 -173
  62. package/.framework/functions/admin-funnel.ts +64 -60
  63. package/.framework/functions/admin-install-funnel.ts +84 -66
  64. package/.framework/functions/admin-signals.ts +69 -51
  65. package/.framework/functions/ai-agents.ts +431 -106
  66. package/.framework/functions/ai-interactions.ts +186 -112
  67. package/.framework/functions/api-keys.ts +107 -107
  68. package/.framework/functions/apps.ts +154 -136
  69. package/.framework/functions/auth.ts +83 -65
  70. package/.framework/functions/cil-agent-ingest.ts +189 -232
  71. package/.framework/functions/cil-agent.ts +433 -177
  72. package/.framework/functions/cil-callmap.ts +642 -430
  73. package/.framework/functions/cil-config.ts +139 -135
  74. package/.framework/functions/cil-context.ts +214 -127
  75. package/.framework/functions/cil-doc.ts +587 -458
  76. package/.framework/functions/cil-embeddings.ts +453 -364
  77. package/.framework/functions/cil-graph.ts +427 -142
  78. package/.framework/functions/cil-ingest.ts +1418 -1154
  79. package/.framework/functions/cil-pipeline.ts +276 -21
  80. package/.framework/functions/cil-project.ts +659 -132
  81. package/.framework/functions/cil-validate.ts +198 -164
  82. package/.framework/functions/debug-auth.ts +57 -55
  83. package/.framework/functions/deliveries.ts +80 -21
  84. package/.framework/functions/embeddings.ts +1023 -318
  85. package/.framework/functions/eval-harness.ts +146 -108
  86. package/.framework/functions/integration-outbound.ts +205 -75
  87. package/.framework/functions/integration-routes.ts +128 -23
  88. package/.framework/functions/integrations.ts +125 -100
  89. package/.framework/functions/invites.ts +1095 -460
  90. package/.framework/functions/item-progress.ts +158 -102
  91. package/.framework/functions/kb.ts +34 -10
  92. package/.framework/functions/logs.ts +133 -133
  93. package/.framework/functions/observability.ts +152 -122
  94. package/.framework/functions/pipeline-executions.ts +147 -132
  95. package/.framework/functions/pipelines.ts +134 -119
  96. package/.framework/functions/prompt-configs.ts +96 -80
  97. package/.framework/functions/roles.ts +112 -82
  98. package/.framework/functions/security.ts +450 -0
  99. package/.framework/functions/system-cron.ts +117 -80
  100. package/.framework/functions/system.ts +158 -98
  101. package/.framework/functions/tests.ts +29 -29
  102. package/.framework/functions/timers.ts +94 -95
  103. package/.framework/functions/trigger-scheduler.ts +10 -0
  104. package/.framework/functions/triggers.ts +179 -149
  105. package/.framework/functions/types.ts +137 -125
  106. package/.framework/mcp/index.ts +133 -0
  107. package/.framework/mcp/load-env.ts +60 -0
  108. package/.framework/mcp/shared/app-manifest.ts +275 -0
  109. package/.framework/mcp/shared/db.ts +477 -0
  110. package/.framework/mcp/shared/kb.ts +118 -0
  111. package/.framework/mcp/tools/architect.ts +431 -0
  112. package/.framework/mcp/tools/cil/context.ts +345 -0
  113. package/.framework/mcp/tools/cil/graph.ts +242 -0
  114. package/.framework/mcp/tools/cil/ingest.ts +1217 -0
  115. package/.framework/mcp/tools/cil/pipeline-orchestrator.ts +693 -0
  116. package/.framework/mcp/tools/cil/pipeline.ts +767 -0
  117. package/.framework/mcp/tools/cil/project.ts +791 -0
  118. package/.framework/mcp/tools/cil/retrieval.ts +336 -0
  119. package/.framework/mcp/tools/cil/search-core.ts +454 -0
  120. package/.framework/mcp/tools/cil/search.ts +97 -0
  121. package/.framework/mcp/tools/cil/suggest.ts +186 -0
  122. package/.framework/mcp/tools/cil/validate.ts +1369 -0
  123. package/.framework/mcp/tools/kb/delete.ts +139 -0
  124. package/.framework/mcp/tools/kb/index.ts +52 -0
  125. package/.framework/mcp/tools/kb/ingest.ts +84 -0
  126. package/.framework/mcp/tools/kb/list-types.ts +102 -0
  127. package/.framework/mcp/tools/kb/publish.ts +100 -0
  128. package/.framework/mcp/tools/kb/reindex.ts +86 -0
  129. package/.framework/mcp/tools/kb/revoke.ts +85 -0
  130. package/.framework/mcp/tools/kb/search.ts +101 -0
  131. package/.framework/mcp/tools/kb/upsert.ts +125 -0
  132. package/.framework/mcp/tools/observability.ts +510 -0
  133. package/.framework/migrations/001_core_schema.sql +15 -0
  134. package/.framework/migrations/002_core_rls_and_functions.sql +15 -0
  135. package/.framework/migrations/003_core_system_data.sql +16 -1
  136. package/.framework/migrations/004_core_rpc_and_broker.sql +17 -1
  137. package/.framework/migrations/005_core_observability.sql +17 -1
  138. package/.framework/migrations/006_security_hardening_rls.sql +15 -0
  139. package/.framework/migrations/007_kb_article_list.sql +17 -1
  140. package/.framework/migrations/008_items_target.sql +15 -0
  141. package/.framework/migrations/009_roles_slug_unique.sql +15 -0
  142. package/.framework/migrations/010_auth_user_trigger.sql +15 -0
  143. package/.framework/migrations/011_spine_system_account.sql +16 -0
  144. package/.framework/migrations/012_service_role_grants.sql +16 -0
  145. package/.framework/migrations/013_get_account_apps_role_filter.sql +15 -0
  146. package/.framework/migrations/014_apps_required_roles.sql +16 -0
  147. package/.framework/migrations/015_types_kind_slug_unique.sql +20 -0
  148. package/.framework/migrations/016_cil_types.sql +281 -0
  149. package/.framework/migrations/017_cil_stable_ids.sql +37 -0
  150. package/.framework/migrations/018_runtime_tables.sql +129 -0
  151. package/.framework/migrations/019_agent_prompt_columns.sql +56 -0
  152. package/.framework/migrations/020_schema_reconciliation.sql +67 -0
  153. package/.framework/migrations/021_kb_embedding_lifecycle.sql +31 -0
  154. package/.framework/migrations/032_cil_status_migration.sql +73 -0
  155. package/.framework/migrations/033_cil_versioning.sql +73 -0
  156. package/.framework/migrations/034_match_embeddings_knn.sql +115 -0
  157. package/.framework/migrations/035_rate_limits.sql +55 -0
  158. package/.framework/migrations/036_demo_record_flags.sql +72 -0
  159. package/.framework/migrations/037_kb_types_canonical.sql +244 -0
  160. package/.framework/migrations/038_drop_demo_record_flags.sql +38 -0
  161. package/.framework/migrations/042_registration_hierarchy.sql +309 -0
  162. package/.framework/migrations/043_policy_actor_cleanup.sql +39 -0
  163. package/.framework/migrations/044_match_embeddings_filtered_knn.sql +151 -0
  164. package/.framework/migrations/045_security_critical_rls.sql +139 -0
  165. package/.framework/migrations/046_security_missing_rls.sql +79 -0
  166. package/.framework/migrations/047_people_updated_by.sql +27 -0
  167. package/.framework/migrations/048_watcher_last_seen_at.sql +24 -0
  168. package/.framework/migrations/049_security_blocklist.sql +148 -0
  169. package/.framework/migrations/050_notifications.sql +49 -0
  170. package/.framework/migrations/051_message_agent_fields.sql +74 -0
  171. package/.framework/migrations/052_registration_security.sql +421 -0
  172. package/.framework/migrations/053_builtin_action_seeds.sql +66 -0
  173. package/.framework/migrations/054_kb_ingest_lease.sql +157 -0
  174. package/.framework/migrations/055_type_id_drift_reconciliation.sql +33 -0
  175. package/.framework/migrations/056_slug_column_reconciliation.sql +38 -0
  176. package/.framework/migrations/057_pipelines_slug_identity.sql +14 -0
  177. package/.framework/migrations/058_account_data_field_declarations.sql +53 -0
  178. package/.framework/migrations/059_registration_placement_fixes.sql +269 -0
  179. package/.framework/migrations/060_account_person_record_permissions.sql +38 -0
  180. package/.framework/migrations/061_fk_dedup.sql +32 -0
  181. package/.framework/public/spine-logo.svg +10 -3
  182. package/.framework/scripts/app-install-cli.ts +190 -93
  183. package/.framework/scripts/assemble-frontend.sh +127 -44
  184. package/.framework/scripts/assemble-functions.sh +128 -30
  185. package/.framework/scripts/boundary-check.sh +6 -2
  186. package/.framework/scripts/build-manifest.sh +24 -68
  187. package/.framework/scripts/check-core-integrity.sh +15 -76
  188. package/.framework/scripts/checksum-manifest.mts +343 -0
  189. package/.framework/scripts/cil-migrate-markers.ts +403 -0
  190. package/.framework/scripts/fix-cil-markers.mjs +176 -0
  191. package/.framework/scripts/verify-integrity.sh +21 -57
  192. package/.framework/scripts/verify-manifest.mts +305 -0
  193. package/.framework/seeds/types/funnel_signal_use.json +74 -21
  194. package/.framework/seeds/types/spine_instance.json +73 -21
  195. package/.framework/src/App.tsx +118 -72
  196. package/.framework/src/apps/admin/index.tsx +855 -58
  197. package/.framework/src/components/AppWrapper.tsx +43 -45
  198. package/.framework/src/components/CustomAppLoader.tsx +160 -116
  199. package/.framework/src/components/admin/AdminListPage.tsx +46 -44
  200. package/.framework/src/components/admin/AdminSidebar.tsx +57 -47
  201. package/.framework/src/components/admin/AdminStatsCard.tsx +46 -44
  202. package/.framework/src/components/admin/PageInstructions.tsx +98 -2
  203. package/.framework/src/components/admin/SortableTableHeader.tsx +44 -45
  204. package/.framework/src/components/app-shell/GenericAppShell.tsx +64 -65
  205. package/.framework/src/components/app-shell/GenericDetailPage.tsx +44 -47
  206. package/.framework/src/components/app-shell/GenericListPage.tsx +45 -49
  207. package/.framework/src/components/app-sidebar.tsx +42 -45
  208. package/.framework/src/components/auth/ProtectedRoute.tsx +48 -41
  209. package/.framework/src/components/auth/TurnstileWidget.tsx +27 -0
  210. package/.framework/src/components/kb/KBArticleEditor.tsx +231 -22
  211. package/.framework/src/components/kb/KBArticleList.tsx +251 -10
  212. package/.framework/src/components/layout/AppShell.tsx +51 -45
  213. package/.framework/src/components/layout/Header.tsx +42 -43
  214. package/.framework/src/components/layout/Layout.tsx +46 -46
  215. package/.framework/src/components/layout/Sidebar.tsx +196 -96
  216. package/.framework/src/components/runtime/DataDetailHeader.tsx +55 -30
  217. package/.framework/src/components/runtime/DataDetailPage.tsx +31 -269
  218. package/.framework/src/components/runtime/DataFilters.tsx +49 -74
  219. package/.framework/src/components/runtime/DataHeader.tsx +53 -32
  220. package/.framework/src/components/runtime/DataListPage.tsx +51 -155
  221. package/.framework/src/components/runtime/DataStats.tsx +66 -44
  222. package/.framework/src/components/runtime/DataTable.tsx +49 -149
  223. package/.framework/src/components/runtime/SchemaDetailForm.tsx +45 -75
  224. package/.framework/src/components/runtime/index.ts +119 -16
  225. package/.framework/src/components/search-form.tsx +46 -29
  226. package/.framework/src/components/shared/AgentView.tsx +65 -48
  227. package/.framework/src/components/shared/FieldRenderer.tsx +144 -50
  228. package/.framework/src/components/shared/InviteManager.tsx +207 -97
  229. package/.framework/src/components/shared/MemberList.tsx +97 -0
  230. package/.framework/src/components/shared/SchemaFields.tsx +107 -86
  231. package/.framework/src/components/ui/DataTable.tsx +80 -68
  232. package/.framework/src/components/ui/Form.tsx +157 -146
  233. package/.framework/src/components/ui/ItemCard.tsx +74 -67
  234. package/.framework/src/components/ui/ItemListView.tsx +73 -68
  235. package/.framework/src/components/ui/LoadingSpinner.tsx +43 -48
  236. package/.framework/src/components/ui/Modal.tsx +78 -68
  237. package/.framework/src/components/ui/RichTextEditor.tsx +89 -69
  238. package/.framework/src/components/ui/accordion.tsx +85 -86
  239. package/.framework/src/components/ui/alert-dialog.tsx +197 -184
  240. package/.framework/src/components/ui/alert.tsx +105 -94
  241. package/.framework/src/components/ui/aspect-ratio.tsx +57 -43
  242. package/.framework/src/components/ui/avatar.tsx +122 -107
  243. package/.framework/src/components/ui/badge.tsx +60 -55
  244. package/.framework/src/components/ui/breadcrumb.tsx +127 -128
  245. package/.framework/src/components/ui/button-group.tsx +86 -72
  246. package/.framework/src/components/ui/button.tsx +71 -50
  247. package/.framework/src/components/ui/calendar.tsx +72 -57
  248. package/.framework/src/components/ui/card.tsx +136 -129
  249. package/.framework/src/components/ui/carousel.tsx +226 -107
  250. package/.framework/src/components/ui/chart.tsx +252 -147
  251. package/.framework/src/components/ui/checkbox.tsx +43 -44
  252. package/.framework/src/components/ui/collapsible.tsx +86 -71
  253. package/.framework/src/components/ui/combobox.tsx +282 -249
  254. package/.framework/src/components/ui/command.tsx +158 -146
  255. package/.framework/src/components/ui/context-menu.tsx +239 -240
  256. package/.framework/src/components/ui/dialog.tsx +174 -157
  257. package/.framework/src/components/ui/direction.tsx +72 -56
  258. package/.framework/src/components/ui/drawer.tsx +168 -169
  259. package/.framework/src/components/ui/dropdown-menu.tsx +254 -223
  260. package/.framework/src/components/ui/empty.tsx +131 -120
  261. package/.framework/src/components/ui/field.tsx +205 -173
  262. package/.framework/src/components/ui/hover-card.tsx +71 -72
  263. package/.framework/src/components/ui/input-group.tsx +148 -133
  264. package/.framework/src/components/ui/input-otp.tsx +99 -86
  265. package/.framework/src/components/ui/input.tsx +43 -41
  266. package/.framework/src/components/ui/item.tsx +207 -185
  267. package/.framework/src/components/ui/kbd.tsx +57 -56
  268. package/.framework/src/components/ui/label.tsx +45 -41
  269. package/.framework/src/components/ui/menubar.tsx +268 -236
  270. package/.framework/src/components/ui/native-select.tsx +85 -86
  271. package/.framework/src/components/ui/navigation-menu.tsx +166 -156
  272. package/.framework/src/components/ui/pagination.tsx +131 -141
  273. package/.framework/src/components/ui/popover.tsx +125 -128
  274. package/.framework/src/components/ui/progress.tsx +47 -44
  275. package/.framework/src/components/ui/radio-group.tsx +60 -55
  276. package/.framework/src/components/ui/resizable.tsx +85 -72
  277. package/.framework/src/components/ui/scroll-area.tsx +57 -58
  278. package/.framework/src/components/ui/select.tsx +182 -169
  279. package/.framework/src/components/ui/separator.tsx +42 -43
  280. package/.framework/src/components/ui/sheet.tsx +170 -159
  281. package/.framework/src/components/ui/sidebar.tsx +395 -398
  282. package/.framework/src/components/ui/skeleton.tsx +42 -43
  283. package/.framework/src/components/ui/slider.tsx +61 -44
  284. package/.framework/src/components/ui/sonner.tsx +44 -44
  285. package/.framework/src/components/ui/spinner.tsx +47 -42
  286. package/.framework/src/components/ui/switch.tsx +56 -42
  287. package/.framework/src/components/ui/table-primitives.tsx +272 -132
  288. package/.framework/src/components/ui/table.tsx +140 -142
  289. package/.framework/src/components/ui/tabs.tsx +110 -93
  290. package/.framework/src/components/ui/textarea.tsx +43 -44
  291. package/.framework/src/components/ui/toggle-group.tsx +87 -71
  292. package/.framework/src/components/ui/toggle.tsx +56 -56
  293. package/.framework/src/components/ui/tooltip.tsx +99 -85
  294. package/.framework/src/contexts/AppContext.tsx +166 -114
  295. package/.framework/src/contexts/AuthContext.tsx +232 -137
  296. package/.framework/src/hooks/use-mobile.ts +43 -44
  297. package/.framework/src/hooks/useApi.ts +185 -172
  298. package/.framework/src/hooks/useAppPath.ts +31 -29
  299. package/.framework/src/hooks/useApps.ts +77 -42
  300. package/.framework/src/hooks/useEntityList.ts +66 -29
  301. package/.framework/src/hooks/useEntityRecord.ts +76 -32
  302. package/.framework/src/hooks/useForm.ts +62 -30
  303. package/.framework/src/hooks/useListSchema.ts +60 -43
  304. package/.framework/src/hooks/useSchemaRecord.ts +115 -95
  305. package/.framework/src/lib/api.ts +258 -134
  306. package/.framework/src/lib/registration.ts +181 -0
  307. package/.framework/src/lib/supabase.ts +118 -81
  308. package/.framework/src/lib/utils.ts +266 -266
  309. package/.framework/src/main.tsx +43 -44
  310. package/.framework/src/pages/DashboardPage.tsx +44 -43
  311. package/.framework/src/pages/NoAppPage.tsx +50 -0
  312. package/.framework/src/pages/NotFoundPage.tsx +32 -29
  313. package/.framework/src/pages/SetupPage.tsx +34 -33
  314. package/.framework/src/pages/admin/AIAgentDetailPage.tsx +69 -58
  315. package/.framework/src/pages/admin/AIAgentsPage.tsx +43 -40
  316. package/.framework/src/pages/admin/APIKeyDetailPage.tsx +63 -55
  317. package/.framework/src/pages/admin/APIKeysPage.tsx +44 -42
  318. package/.framework/src/pages/admin/AlertsConfigPage.tsx +117 -94
  319. package/.framework/src/pages/admin/AppDetailPage.tsx +48 -42
  320. package/.framework/src/pages/admin/AppsPage.tsx +45 -42
  321. package/.framework/src/pages/admin/DeliveriesPage.tsx +49 -17
  322. package/.framework/src/pages/admin/DesignedPage.tsx +31 -30
  323. package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +58 -0
  324. package/.framework/src/pages/admin/EmbeddingsPage.tsx +49 -0
  325. package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +31 -29
  326. package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +46 -29
  327. package/.framework/src/pages/admin/IntegratedDashboard.tsx +32 -29
  328. package/.framework/src/pages/admin/IntegrationDetailPage.tsx +68 -55
  329. package/.framework/src/pages/admin/IntegrationsPage.tsx +45 -42
  330. package/.framework/src/pages/admin/InvitesPage.tsx +60 -44
  331. package/.framework/src/pages/admin/LogsPage.tsx +87 -137
  332. package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +31 -29
  333. package/.framework/src/pages/admin/ObservabilityDashboard.tsx +150 -89
  334. package/.framework/src/pages/admin/PipelineDetailPage.tsx +77 -104
  335. package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +44 -43
  336. package/.framework/src/pages/admin/PipelinesPage.tsx +59 -145
  337. package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +53 -42
  338. package/.framework/src/pages/admin/PromptConfigsPage.tsx +47 -117
  339. package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +31 -44
  340. package/.framework/src/pages/admin/RoleDetailPage.tsx +49 -92
  341. package/.framework/src/pages/admin/RolesPage.tsx +47 -164
  342. package/.framework/src/pages/admin/SecurityPage.tsx +310 -0
  343. package/.framework/src/pages/admin/SelectTestPage.tsx +30 -32
  344. package/.framework/src/pages/admin/ShadcnTestPage.tsx +37 -44
  345. package/.framework/src/pages/admin/SimpleDashboard.tsx +32 -44
  346. package/.framework/src/pages/admin/TestRunDetailPage.tsx +97 -44
  347. package/.framework/src/pages/admin/TestingDashboard.tsx +126 -71
  348. package/.framework/src/pages/admin/TimerDetailPage.tsx +67 -55
  349. package/.framework/src/pages/admin/TimersPage.tsx +44 -42
  350. package/.framework/src/pages/admin/TriggerDetailPage.tsx +47 -42
  351. package/.framework/src/pages/admin/TriggersPage.tsx +58 -57
  352. package/.framework/src/pages/admin/TypeDetailPage.tsx +91 -55
  353. package/.framework/src/pages/admin/TypesPage.tsx +45 -42
  354. package/.framework/src/pages/admin/cil/CILAgentPage.tsx +258 -128
  355. package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +127 -123
  356. package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +308 -235
  357. package/.framework/src/pages/admin/cil/CILFileListPage.tsx +159 -110
  358. package/.framework/src/pages/admin/cil/CILFileSelectPage.tsx +432 -0
  359. package/.framework/src/pages/admin/cil/CILGraphPage.tsx +200 -178
  360. package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +286 -239
  361. package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +211 -90
  362. package/.framework/src/pages/admin/cil/CILSearchPage.tsx +156 -143
  363. package/.framework/src/pages/admin/cil/CILSuggestionsPage.tsx +379 -0
  364. package/.framework/src/pages/admin/cil/CILVersionsPage.tsx +337 -0
  365. package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +219 -214
  366. package/.framework/src/pages/admin/kb/KBAdminPage.tsx +64 -0
  367. package/.framework/src/pages/auth/AuthConfirmPage.tsx +135 -65
  368. package/.framework/src/pages/auth/ForgotPasswordPage.tsx +39 -31
  369. package/.framework/src/pages/auth/LoginPage.tsx +38 -32
  370. package/.framework/src/pages/auth/PendingApprovalPage.tsx +31 -28
  371. package/.framework/src/pages/auth/RegisterPage.tsx +429 -155
  372. package/.framework/src/pages/spine-framework/APIPage.tsx +33 -30
  373. package/.framework/src/pages/spine-framework/CLIPage.tsx +32 -30
  374. package/.framework/src/types/auth.ts +101 -93
  375. package/.framework/src/types/types.ts +283 -262
  376. package/.framework/templates/project.json +87 -0
  377. package/.framework/templates/spine.config.neutral.json +7 -0
  378. package/.framework/tests/api/api-surface.test.ts +381 -0
  379. package/.framework/tests/fixtures/seed.ts +427 -0
  380. package/.framework/tests/fixtures/teardown.ts +228 -0
  381. package/.framework/tests/reporter.ts +351 -0
  382. package/.framework/tests/setup.ts +135 -0
  383. package/.framework/tests/ui/ui-sweep.ts +278 -0
  384. package/.framework/tests/unit/admin-data-logger.test.ts +310 -0
  385. package/.framework/tests/unit/agent-runner.test.ts +2389 -0
  386. package/.framework/tests/unit/ai-interactions.test.ts +81 -0
  387. package/.framework/tests/unit/app-manifest.test.ts +359 -0
  388. package/.framework/tests/unit/assembly-scripts.test.ts +172 -0
  389. package/.framework/tests/unit/cil-determinism.test.ts +85 -0
  390. package/.framework/tests/unit/core-isolation.test.ts +153 -0
  391. package/.framework/tests/unit/funnel-signals.test.ts +135 -0
  392. package/.framework/tests/unit/install-app.test.ts +1759 -0
  393. package/.framework/tests/unit/invites-security.test.ts +572 -0
  394. package/.framework/tests/unit/kb-ingest-lease.test.ts +287 -0
  395. package/.framework/tests/unit/kb-search.test.ts +119 -0
  396. package/.framework/tests/unit/migrate.test.ts +509 -0
  397. package/.framework/tests/unit/notify.test.ts +136 -0
  398. package/.framework/tests/unit/permissions.test.ts +269 -0
  399. package/.framework/tests/unit/pipeline-runner.test.ts +755 -0
  400. package/.framework/tests/unit/principal-cache.test.ts +138 -0
  401. package/.framework/tests/unit/retrieval-golden.test.ts +520 -0
  402. package/.framework/tests/unit/runtime-isolation.test.ts +642 -0
  403. package/.framework/tests/unit/schema-utils.test.ts +225 -0
  404. package/.framework/tests/unit/trigger-engine.test.ts +513 -0
  405. package/.framework/tests/unit/validate-app.test.ts +527 -0
  406. package/README.md +34 -3
  407. package/bin/spine-framework.cjs +1 -0
  408. package/config/tailwind.config.cjs +7 -0
  409. package/config/tsconfig.functions.json +42 -0
  410. package/config/tsconfig.json +37 -9
  411. package/config/vite.config.ts +31 -2
  412. package/netlify.toml +31 -3
  413. package/package.json +46 -29
  414. package/scripts/assemble-frontend.sh +127 -44
  415. package/scripts/assemble-functions.sh +127 -29
  416. package/scripts/boundary-check.sh +6 -2
  417. package/scripts/build-manifest.sh +24 -68
  418. package/scripts/checksum-manifest.mts +345 -0
  419. package/scripts/dev-clean.sh +86 -0
  420. package/scripts/dev-netlify.sh +49 -0
  421. package/scripts/netlify-dev-wrapper.sh +2 -0
  422. package/scripts/verify-install.ts +358 -0
  423. package/scripts/verify-integrity.sh +21 -57
  424. package/scripts/verify-manifest.mts +305 -0
  425. package/templates/project/gitignore +45 -0
  426. package/{config → templates/project}/package-lock.json +22335 -9366
  427. package/vitest.config.ts +46 -0
  428. package/.framework/public/spine.config.json +0 -91
  429. package/config/deno.lock +0 -108
  430. package/config/tsconfig.node.tsbuildinfo +0 -1
  431. package/config/tsconfig.tsbuildinfo +0 -1
  432. package/config/vite.config.d.ts +0 -2
  433. package/custom/.devin/AGENT.md +0 -357
  434. package/custom/.devin/skills/install-app/SKILL.md +0 -39
  435. package/custom/.devin/skills/spine-workbench-discovery/SKILL.md +0 -39
  436. package/custom/.devin/skills/spine-workbench-idea/SKILL.md +0 -36
  437. package/custom/.devin/skills/spine-workbench-implement/SKILL.md +0 -46
  438. package/custom/.devin/skills/spine-workbench-initiative/SKILL.md +0 -28
  439. package/custom/.devin/skills/spine-workbench-plan/SKILL.md +0 -38
  440. package/custom/.devin/workflows/app-install.yaml +0 -83
  441. package/custom/README.md +0 -79
  442. package/docs/README.md +0 -15
  443. package/scripts/app-install-cli.ts +0 -286
  444. package/scripts/check-core-integrity.sh +0 -82
  445. package/scripts/ingest-chunks.cjs +0 -202
  446. package/scripts/kb-chunk-parser.cjs +0 -312
  447. package/scripts/kb-chunk-parser.ts +0 -330
  448. package/scripts/kb-ingest-docs.ts +0 -203
  449. package/scripts/load-test-app-install.ts +0 -484
  450. package/scripts/test-login.js +0 -33
  451. package/spine.config.json +0 -91
@@ -1,41 +1,38 @@
1
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/radio-group.tsx:module_header:module_header" type="module_header" identity="module_header" parent=""]
2
+ // CIL[DOC-MACRO purpose="Defines the RadioGroup UI component module, importing dependencies and exporting the group and item subcomponents."]
3
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide accessible radio group UI primitives (RadioGroup, RadioGroupItem) built on Radix UI for the design system."]
4
+ // CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/lib/utils.ts"]
5
+ // CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="none"]
6
+ // CIL[DOC-MICRO logic_summary="Import React, radix-ui RadioGroupPrimitive and cn utility; re-export RadioGroup and RadioGroupItem." notable_decisions="[]"]
7
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
8
+ // CIL[DOC-STABILITY stability="stable"]
9
+ // CIL[DOC-AUDIENCE audience="ui-developers"]
10
+
11
+
1
12
 
2
13
 
3
14
 
4
15
 
5
- // CIL[BEGIN chunk_id="radio-group_module_header_1783758409" type="module_header" identity="imports" parent="none"]
6
- // CIL[DOC-MACRO purpose="Import dependencies for radio group component library"]
7
- // CIL[DOC-RESPONSIBILITY responsibility="Import external React UI primitives and utilities"]
8
- // CIL[DOC-CONTEXT module="radio-group" layer="ui_components" related_files="[\".framework/src/components/ui/dialog.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
9
- // CIL[DOC-CONTRACT inputs="none" outputs="React, RadioGroup primitive, utils" errors="none" side_effects="Module imports"]
10
- // CIL[DOC-MICRO logic_summary="Imports React, Radix UI RadioGroup primitive and utility functions" notable_decisions="[]"]
11
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
12
- // CIL[DOC-STABILITY stability="stable"]
13
- // CIL[DOC-AUDIENCE audience="developer"]
14
- // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
15
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
16
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
17
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
18
- // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
19
- // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
20
16
  import * as React from "react"
21
17
  import { RadioGroup as RadioGroupPrimitive } from "radix-ui"
22
18
 
23
19
  import { cn } from "@/lib/utils"
24
- // CIL[END chunk_id="radio-group_module_header_1783758409"]
25
- // CIL[BEGIN chunk_id="radio-group_radiogroup_1783758409" type="function" identity="RadioGroup" parent="none"]
26
- // CIL[DOC-MACRO purpose="Container for radio button group"]
27
- // CIL[DOC-RESPONSIBILITY responsibility="Provide styled grid container for radio group items"]
28
- // CIL[DOC-CONTEXT module="radio-group" layer="ui_components" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"custom/apps/portal/pages/ContentPage.tsx\",\"\\\"]"]
29
- // CIL[DOC-CONTRACT inputs="none" outputs="Styled grid container" errors="none" side_effects="DOM rendering"]
30
- // CIL[DOC-MICRO logic_summary="Creates grid container with full width and gap between radio items" notable_decisions="[]"]
31
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
32
- // CIL[DOC-STABILITY stability="stable"]
33
- // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, custom/apps/portal/pages/ContentPage.tsx, \."]
34
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
35
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
36
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
20
+ // CIL[DOC-VECTOR type="context" content="purpose='Defines the RadioGroup UI component module, importing dependencies and exporting the group and item subcomponents.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
21
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
22
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
23
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
37
24
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
38
25
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
26
+ // CIL[END stable_id="~/.framework/src/components/ui/radio-group.tsx:module_header:module_header"]
27
+
28
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/radio-group.tsx:RadioGroup:function" type="function" identity="RadioGroup" parent="~/.framework/src/components/ui/radio-group.tsx:module_header:module_header"]
29
+ // CIL[DOC-MACRO purpose="Render an accessible radio group container with themed styles."]
30
+ // CIL[DOC-RESPONSIBILITY responsibility="Wrap children in a Radix UI RadioGroupPrimitive.Root with data-slot and a default Tailwind grid layout."]
31
+ // CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/radio-group.tsx,.framework/src/lib/utils.ts"]
32
+ // CIL[DOC-CONTRACT inputs="className: string, props: React.ComponentProps<typeof RadioGroupPrimitive.Root>" outputs="JSX.Element" errors="none" side_effects="none"]
33
+ // CIL[DOC-MICRO logic_summary="Build a RadioGroupPrimitive.Root with data-slot='radio-group' and merged Tailwind classes 'grid w-full gap-3'; spread remaining props." notable_decisions="[]"]
34
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
35
+ // CIL[DOC-STABILITY stability="stable"]
39
36
  function RadioGroup({
40
37
  className,
41
38
  ...props
@@ -48,21 +45,22 @@ function RadioGroup({
48
45
  />
49
46
  )
50
47
  }
51
- // CIL[END chunk_id="radio-group_radiogroup_1783758409"]
52
- // CIL[BEGIN chunk_id="radio-group_radiogroupitem_1783758409" type="function" identity="RadioGroupItem" parent="none"]
53
- // CIL[DOC-MACRO purpose="Individual radio button with selection indicator"]
54
- // CIL[DOC-RESPONSIBILITY responsibility="Provide styled radio button with focus states and selection indicator"]
55
- // CIL[DOC-CONTEXT module="radio-group" layer="ui_components" related_files="[\".framework/functions/_shared/schema-utils.ts\",\".framework/src/components/ui/dialog.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"\\\"]"]
56
- // CIL[DOC-CONTRACT inputs="none" outputs="Styled radio button" errors="none" side_effects="DOM events"]
57
- // CIL[DOC-MICRO logic_summary="Creates radio button with comprehensive styling, focus states, checked indicator and accessibility" notable_decisions="[]"]
58
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
59
- // CIL[DOC-STABILITY stability="stable"]
60
- // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/functions/_shared/schema-utils.ts, .framework/src/components/ui/dialog.tsx, .framework/functions/_shared/principal.ts, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/pages/admin/IntegrationsPage.tsx, \."]
61
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
62
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
63
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
48
+ // CIL[DOC-VECTOR type="context" content="purpose='Render an accessible radio group container with themed styles.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
49
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
50
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
51
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
64
52
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
65
53
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
54
+ // CIL[END stable_id="~/.framework/src/components/ui/radio-group.tsx:RadioGroup:function"]
55
+
56
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/radio-group.tsx:RadioGroupItem:function" type="function" identity="RadioGroupItem" parent="~/.framework/src/components/ui/radio-group.tsx:module_header:module_header"]
57
+ // CIL[DOC-MACRO purpose="Render an individual radio button item with an indicator dot."]
58
+ // CIL[DOC-RESPONSIBILITY responsibility="Render a Radix UI RadioGroupPrimitive.Item with data-slot, full Tailwind styling for states, and an indicator child."]
59
+ // CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/radio-group.tsx,.framework/src/lib/utils.ts"]
60
+ // CIL[DOC-CONTRACT inputs="className: string, props: React.ComponentProps<typeof RadioGroupPrimitive.Item>" outputs="JSX.Element" errors="none" side_effects="none"]
61
+ // CIL[DOC-MICRO logic_summary="Build a RadioGroupPrimitive.Item with data-slot='radio-group-item', merged state and disabled Tailwind classes, and an indicator with a centered dot." notable_decisions="[]"]
62
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
63
+ // CIL[DOC-STABILITY stability="stable"]
66
64
  function RadioGroupItem({
67
65
  className,
68
66
  ...props
@@ -85,20 +83,27 @@ function RadioGroupItem({
85
83
  </RadioGroupPrimitive.Item>
86
84
  )
87
85
  }
88
- // CIL[END chunk_id="radio-group_radiogroupitem_1783758409"]
89
- // CIL[BEGIN chunk_id="radio-group_exports_1783758409" type="exports" identity="exports" parent="none"]
90
- // CIL[DOC-MACRO purpose="Export all radio group components for public API"]
91
- // CIL[DOC-RESPONSIBILITY responsibility="Provide module exports for radio group component library"]
92
- // CIL[DOC-CONTEXT module="radio-group" layer="ui_components" related_files="[\".framework/src/components/ui/dialog.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\",\"\\\"]"]
93
- // CIL[DOC-CONTRACT inputs="none" outputs="Component exports" errors="none" side_effects="Module exports"]
94
- // CIL[DOC-MICRO logic_summary="Exports all radio group components: RadioGroup, RadioGroupItem" notable_decisions="[]"]
95
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
96
- // CIL[DOC-STABILITY stability="stable"]
97
- // 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/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, \."]
98
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
99
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
100
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
86
+ // CIL[DOC-VECTOR type="context" content="purpose='Render an individual radio button item with an indicator dot.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
87
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
88
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
89
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
101
90
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
102
91
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
92
+ // CIL[END stable_id="~/.framework/src/components/ui/radio-group.tsx:RadioGroupItem:function"]
93
+
94
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/radio-group.tsx:module_exports:module_exports" type="module_exports" identity="module_exports" parent="~/.framework/src/components/ui/radio-group.tsx:module_header:module_header"]
95
+ // CIL[DOC-MACRO purpose="Expose the RadioGroup subcomponents for consumers of the UI package."]
96
+ // CIL[DOC-RESPONSIBILITY responsibility="Re-export the component symbols from this module."]
97
+ // CIL[DOC-CONTEXT module="components/ui" layer="ui" related_files=".framework/src/components/ui/radio-group.tsx,.framework/src/lib/utils.ts"]
98
+ // CIL[DOC-CONTRACT inputs="none" outputs="named exports { RadioGroup, RadioGroupItem }" errors="none" side_effects="none"]
99
+ // CIL[DOC-MICRO logic_summary="Named export list of the RadioGroup and RadioGroupItem components." notable_decisions="[]"]
100
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
101
+ // CIL[DOC-STABILITY stability="stable"]
103
102
  export { RadioGroup, RadioGroupItem }
104
- // CIL[END chunk_id="radio-group_exports_1783758409"]
103
+ // CIL[DOC-VECTOR type="context" content="purpose='Expose the RadioGroup subcomponents for consumers of the UI package.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
104
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
105
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
106
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
107
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
108
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
109
+ // CIL[END stable_id="~/.framework/src/components/ui/radio-group.tsx:module_exports:module_exports"]
@@ -1,43 +1,48 @@
1
-
2
-
3
-
4
-
5
-
6
- // CIL[BEGIN chunk_id="resizable_module_header_1783758409" type="module_header" identity="imports" parent="none"]
7
- // CIL[DOC-MACRO purpose="Import dependencies for resizable component library"]
8
- // CIL[DOC-RESPONSIBILITY responsibility="Import external React UI primitives and utilities"]
9
- // CIL[DOC-CONTEXT module="resizable" layer="ui_components" related_files="[\".framework/src/components/layout/Sidebar.tsx\",\".framework/src/components/ui/dialog.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
10
- // CIL[DOC-CONTRACT inputs="none" outputs="React Resizable panels primitive, utils" errors="none" side_effects="Module imports"]
11
- // CIL[DOC-MICRO logic_summary="Imports React Resizable Panels primitive and utility functions" notable_decisions="[]"]
12
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
1
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/resizable.tsx:use_client:directive" type="directive" identity="use_client" parent="module"]
2
+ // CIL[DOC-MACRO purpose="Marks the file as client-side only for Next.js rendering."]
3
+ // CIL[DOC-RESPONSIBILITY responsibility="Directive marker for client components."]
4
+ // CIL[DOC-CONTEXT module="components/ui/resizable" layer="presentation" related_files=".framework/src/components/ui/resizable.tsx,.framework/src/lib/utils.ts"]
5
+ // CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="none"]
6
+ // CIL[DOC-MICRO logic_summary="Next.js 'use client' directive." notable_decisions="[]"]
7
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
13
8
  // CIL[DOC-STABILITY stability="stable"]
14
- // CIL[DOC-AUDIENCE audience="developer"]
15
- // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/layout/Sidebar.tsx, .framework/src/components/ui/dialog.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
16
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
17
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
18
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
9
+ "use client"
10
+ // CIL[DOC-VECTOR type="context" content="purpose='Marks the file as client-side only for Next.js rendering.'; 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"]
19
14
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
20
15
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
21
- "use client"
16
+ // CIL[END stable_id="~/.framework/src/components/ui/resizable.tsx:use_client:directive"]
22
17
 
18
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/resizable.tsx:module_header:module_header" type="module_header" identity="module_header" parent="module"]
19
+ // CIL[DOC-MACRO purpose="Imports dependencies and sets up the resizable panel primitives module."]
20
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide module-level imports for resizable panel UI components."]
21
+ // CIL[DOC-CONTEXT module="components/ui/resizable" layer="presentation" related_files=".framework/src/lib/utils.ts"]
22
+ // CIL[DOC-CONTRACT inputs="none" outputs="ResizablePrimitive, cn" errors="none" side_effects="none"]
23
+ // CIL[DOC-MICRO logic_summary="Imports react-resizable-panels and the cn class merge utility." 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"]
23
27
  import * as ResizablePrimitive from "react-resizable-panels"
24
28
 
25
29
  import { cn } from "@/lib/utils"
26
- // CIL[END chunk_id="resizable_module_header_1783758409"]
27
- // CIL[BEGIN chunk_id="resizable_resizablepanelgroup_1783758409" type="function" identity="ResizablePanelGroup" parent="none"]
28
- // CIL[DOC-MACRO purpose="Container group for resizable panels"]
29
- // CIL[DOC-RESPONSIBILITY responsibility="Provide styled container with orientation handling"]
30
- // CIL[DOC-CONTEXT module="resizable" layer="ui_components" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/layout/Sidebar.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"\\\"]"]
31
- // CIL[DOC-CONTRACT inputs="none" outputs="Styled panel group" errors="none" side_effects="DOM rendering"]
32
- // CIL[DOC-MICRO logic_summary="Creates flex container with full dimensions and vertical orientation support" notable_decisions="[]"]
33
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
34
- // CIL[DOC-STABILITY stability="stable"]
35
- // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/layout/Sidebar.tsx, .framework/functions/_shared/schema-utils.ts, \."]
36
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
37
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
38
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
30
+ // CIL[DOC-VECTOR type="context" content="purpose='Imports dependencies and sets up the resizable panel primitives module.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
31
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
32
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
33
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
39
34
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
40
35
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
36
+ // CIL[END stable_id="~/.framework/src/components/ui/resizable.tsx:module_header:module_header"]
37
+
38
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/resizable.tsx:resizablepanelgroup:function" type="function" identity="ResizablePanelGroup" parent="module"]
39
+ // CIL[DOC-MACRO purpose="Renders a resizable panel group wrapper with layout styles."]
40
+ // CIL[DOC-RESPONSIBILITY responsibility="Wrap ResizablePrimitive.Group and apply Tailwind flex classes and data-slot."]
41
+ // CIL[DOC-CONTEXT module="components/ui/resizable" layer="presentation" related_files=".framework/src/components/ui/resizable.tsx,.framework/src/lib/utils.ts"]
42
+ // CIL[DOC-CONTRACT inputs="className, ...props" outputs="JSX.Element" errors="none" side_effects="none"]
43
+ // CIL[DOC-MICRO logic_summary="Returns a ResizablePrimitive.Group with aria orientation-aware flex classes and forwarded props." notable_decisions="[]"]
44
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
45
+ // CIL[DOC-STABILITY stability="stable"]
41
46
  function ResizablePanelGroup({
42
47
  className,
43
48
  ...props
@@ -53,40 +58,41 @@ function ResizablePanelGroup({
53
58
  />
54
59
  )
55
60
  }
56
- // CIL[END chunk_id="resizable_resizablepanelgroup_1783758409"]
57
- // CIL[BEGIN chunk_id="resizable_resizablepanel_1783758409" type="function" identity="ResizablePanel" parent="none"]
58
- // CIL[DOC-MACRO purpose="Individual resizable panel component"]
59
- // CIL[DOC-RESPONSIBILITY responsibility="Provide resizable panel wrapper with data attributes"]
60
- // CIL[DOC-CONTEXT module="resizable" layer="ui_components" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/layout/Sidebar.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
61
- // CIL[DOC-CONTRACT inputs="none" outputs="ResizablePrimitive.Panel" errors="none" side_effects="DOM rendering"]
62
- // CIL[DOC-MICRO logic_summary="Thin wrapper around ResizablePrimitive Panel with data-slot attribute" notable_decisions="[]"]
63
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
64
- // CIL[DOC-STABILITY stability="stable"]
65
- // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 1. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/src/components/layout/Sidebar.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
66
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 1."]
67
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
68
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
61
+ // CIL[DOC-VECTOR type="context" content="purpose='Renders a resizable panel group wrapper with layout styles.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
62
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
63
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
64
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
69
65
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
70
66
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
67
+ // CIL[END stable_id="~/.framework/src/components/ui/resizable.tsx:resizablepanelgroup:function"]
68
+
69
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/resizable.tsx:resizablepanel:function" type="function" identity="ResizablePanel" parent="module"]
70
+ // CIL[DOC-MACRO purpose="Renders an individual resizable panel."]
71
+ // CIL[DOC-RESPONSIBILITY responsibility="Wrap ResizablePrimitive.Panel and forward props with a data-slot attribute."]
72
+ // CIL[DOC-CONTEXT module="components/ui/resizable" layer="presentation" related_files=".framework/src/components/ui/resizable.tsx,.framework/src/lib/utils.ts"]
73
+ // CIL[DOC-CONTRACT inputs="props: ResizablePrimitive.PanelProps" outputs="JSX.Element" errors="none" side_effects="none"]
74
+ // CIL[DOC-MICRO logic_summary="Returns a ResizablePrimitive.Panel with data-slot attribute and spread props." notable_decisions="[]"]
75
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
76
+ // CIL[DOC-STABILITY stability="stable"]
71
77
  function ResizablePanel({ ...props }: ResizablePrimitive.PanelProps) {
72
78
  return <ResizablePrimitive.Panel data-slot="resizable-panel" {...props} />
73
79
  }
74
- // CIL[END chunk_id="resizable_resizablepanel_1783758409"]
75
- // CIL[BEGIN chunk_id="resizable_resizablehandle_1783758409" type="function" identity="ResizableHandle" parent="none"]
76
- // CIL[DOC-MACRO purpose="Handle for manual panel resizing"]
77
- // CIL[DOC-RESPONSIBILITY responsibility="Handle ResizableHandle"]
78
- // CIL[DOC-CONTEXT module="resizable" layer="ui_components" related_files="[\".framework/functions/_shared/principal.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/layout/Sidebar.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"\\\"]"]
79
- // CIL[DOC-CONTRACT inputs="none" outputs="Styled handle" errors="none" side_effects="DOM events"]
80
- // CIL[DOC-MICRO logic_summary="Creates draggable handle with visual feedback, orientation support and comprehensive styling" notable_decisions="[]"]
81
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
82
- // CIL[DOC-STABILITY stability="stable"]
83
- // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/functions/_shared/principal.ts, .framework/src/pages/admin/TypeDetailPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/layout/Sidebar.tsx, .framework/functions/_shared/schema-utils.ts, \."]
84
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
85
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
86
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
80
+ // CIL[DOC-VECTOR type="context" content="purpose='Renders an individual resizable panel.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
81
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
82
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
83
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
87
84
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
88
85
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
89
- // CIL[RESPONSIBILITY responsibility="Provide draggable handle with optional visual indicator and styling"]
86
+ // CIL[END stable_id="~/.framework/src/components/ui/resizable.tsx:resizablepanel:function"]
87
+
88
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/resizable.tsx:resizablehandle:function" type="function" identity="ResizableHandle" parent="module"]
89
+ // CIL[DOC-MACRO purpose="Renders a resizable handle with optional visible grip."]
90
+ // CIL[DOC-RESPONSIBILITY responsibility="Wrap ResizablePrimitive.Separator, applying orientation-aware styles and an optional handle element."]
91
+ // CIL[DOC-CONTEXT module="components/ui/resizable" layer="presentation" related_files=".framework/src/components/ui/resizable.tsx,.framework/src/lib/utils.ts"]
92
+ // CIL[DOC-CONTRACT inputs="withHandle, className, ...props" outputs="JSX.Element" errors="none" side_effects="none"]
93
+ // CIL[DOC-MICRO logic_summary="Renders a styled separator that conditionally includes a grip div when withHandle is true." notable_decisions="[]"]
94
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
95
+ // CIL[DOC-STABILITY stability="stable"]
90
96
  function ResizableHandle({
91
97
  withHandle,
92
98
  className,
@@ -109,20 +115,27 @@ function ResizableHandle({
109
115
  </ResizablePrimitive.Separator>
110
116
  )
111
117
  }
112
- // CIL[END chunk_id="resizable_resizablehandle_1783758409"]
113
- // CIL[BEGIN chunk_id="resizable_exports_1783758409" type="exports" identity="exports" parent="none"]
114
- // CIL[DOC-MACRO purpose="Export all resizable components for public API"]
115
- // CIL[DOC-RESPONSIBILITY responsibility="Provide module exports for resizable component library"]
116
- // CIL[DOC-CONTEXT module="resizable" layer="ui_components" related_files="[\".framework/src/components/layout/Sidebar.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"\\\"]"]
117
- // CIL[DOC-CONTRACT inputs="none" outputs="Component exports" errors="none" side_effects="Module exports"]
118
- // CIL[DOC-MICRO logic_summary="Exports all resizable components: ResizableHandle, ResizablePanel, ResizablePanelGroup" notable_decisions="[]"]
119
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
120
- // CIL[DOC-STABILITY stability="stable"]
121
- // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/layout/Sidebar.tsx, .framework/src/components/ui/dialog.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, \."]
122
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
123
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
124
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
118
+ // CIL[DOC-VECTOR type="context" content="purpose='Renders a resizable handle with optional visible grip.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
119
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
120
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
121
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
125
122
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
126
123
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
124
+ // CIL[END stable_id="~/.framework/src/components/ui/resizable.tsx:resizablehandle:function"]
125
+
126
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/resizable.tsx:module_exports:export" type="export" identity="module_exports" parent="module"]
127
+ // CIL[DOC-MACRO purpose="Re-exports the resizable panel primitives for consumers."]
128
+ // CIL[DOC-RESPONSIBILITY responsibility="Expose ResizablePanelGroup, ResizablePanel and ResizableHandle as the module's public API."]
129
+ // CIL[DOC-CONTEXT module="components/ui/resizable" layer="presentation" related_files=".framework/src/components/ui/resizable.tsx,.framework/src/lib/utils.ts"]
130
+ // CIL[DOC-CONTRACT inputs="none" outputs="{ ResizableHandle, ResizablePanel, ResizablePanelGroup }" errors="none" side_effects="none"]
131
+ // CIL[DOC-MICRO logic_summary="Named export of the three resizable UI components." notable_decisions="[]"]
132
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
133
+ // CIL[DOC-STABILITY stability="stable"]
127
134
  export { ResizableHandle, ResizablePanel, ResizablePanelGroup }
128
- // CIL[END chunk_id="resizable_exports_1783758409"]
135
+ // CIL[DOC-VECTOR type="context" content="purpose='Re-exports the resizable panel primitives for consumers.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
136
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
137
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
138
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
139
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
140
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
141
+ // CIL[END stable_id="~/.framework/src/components/ui/resizable.tsx:module_exports:export"]
@@ -1,41 +1,32 @@
1
-
2
-
3
-
4
-
5
- // CIL[BEGIN chunk_id="scroll-area_module_header_1783758409" type="module_header" identity="imports" parent="none"]
6
- // CIL[DOC-MACRO purpose="Import dependencies for scroll area component library"]
7
- // CIL[DOC-RESPONSIBILITY responsibility="Import external React UI primitives and utilities"]
8
- // CIL[DOC-CONTEXT module="scroll-area" layer="ui_components" related_files="[\".framework/src/components/ui/dialog.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
9
- // CIL[DOC-CONTRACT inputs="none" outputs="React, ScrollArea primitive, utils" errors="none" side_effects="Module imports"]
10
- // CIL[DOC-MICRO logic_summary="Imports React, Radix UI ScrollArea primitive and utility functions" notable_decisions="[]"]
11
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
1
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/scroll-area.tsx:module_header:module_header" type="module_header" identity="module_header" parent=""]
2
+ // CIL[DOC-MACRO purpose="Provides a styled scroll-area UI component wrapper around Radix UI primitives for use in the framework."]
3
+ // CIL[DOC-RESPONSIBILITY responsibility="Import dependencies and export the ScrollArea and ScrollBar subcomponents."]
4
+ // CIL[DOC-CONTEXT module="scroll-area" layer="ui" related_files=".framework/src/lib/utils.ts"]
5
+ // CIL[DOC-CONTRACT inputs="none" outputs="ScrollArea and ScrollBar React components" errors="Throws at runtime if Radix UI primitives fail to render" side_effects="Renders DOM elements"]
6
+ // CIL[DOC-MICRO logic_summary="Imports React, Radix ScrollArea, and a className utility; exports ScrollArea and ScrollBar." notable_decisions="[]"]
7
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
12
8
  // CIL[DOC-STABILITY stability="stable"]
13
- // CIL[DOC-AUDIENCE audience="developer"]
14
- // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
15
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
16
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
17
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
18
- // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
19
- // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
9
+ // CIL[DOC-AUDIENCE audience="framework UI consumers and component library users"]
20
10
  import * as React from "react"
21
11
  import { ScrollArea as ScrollAreaPrimitive } from "radix-ui"
22
12
 
23
13
  import { cn } from "@/lib/utils"
24
- // CIL[END chunk_id="scroll-area_module_header_1783758409"]
25
- // CIL[BEGIN chunk_id="scroll-area_scrollarea_1783758409" type="function" identity="ScrollArea" parent="none"]
26
- // CIL[DOC-MACRO purpose="Customizable scrollable container with scrollbar"]
27
- // CIL[DOC-RESPONSIBILITY responsibility="Provide scrollable area with viewport, scrollbar and corner styling"]
28
- // CIL[DOC-CONTEXT module="scroll-area" layer="ui_components" related_files="[\".framework/functions/_shared/schema-utils.ts\",\".framework/src/components/ui/dialog.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"\\\"]"]
29
- // CIL[DOC-CONTRACT inputs="none" outputs="Scrollable container" errors="none" side_effects="DOM rendering"]
30
- // CIL[DOC-MICRO logic_summary="Creates scrollable area with viewport, scrollbar, corner and focus styling" notable_decisions="[]"]
31
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
32
- // CIL[DOC-STABILITY stability="stable"]
33
- // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: .framework/functions/_shared/schema-utils.ts, .framework/src/components/ui/dialog.tsx, .framework/functions/_shared/principal.ts, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/pages/admin/IntegrationsPage.tsx, \."]
34
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
35
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
36
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
14
+ // CIL[DOC-VECTOR type="context" content="purpose='Provides a styled scroll-area UI component wrapper around Radix UI primitives for use in the framework.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
15
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
16
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
17
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
37
18
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
38
19
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
20
+ // CIL[END stable_id="~/.framework/src/components/ui/scroll-area.tsx:module_header:module_header"]
21
+
22
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/scroll-area.tsx:scrollarea:function" type="function" identity="scrollarea" parent="~/.framework/src/components/ui/scroll-area.tsx:module_header:module_header"]
23
+ // CIL[DOC-MACRO purpose="Render a scrollable viewport container with an attached scrollbar and corner."]
24
+ // CIL[DOC-RESPONSIBILITY responsibility="Wrap Radix ScrollAreaPrimitive.Root and children in a relative container with className support."]
25
+ // CIL[DOC-CONTEXT module="scroll-area" layer="ui" related_files=".framework/src/components/ui/scroll-area.tsx,.framework/src/lib/utils.ts"]
26
+ // CIL[DOC-CONTRACT inputs="className: string, children: React.ReactNode, props: React.ComponentProps<typeof ScrollAreaPrimitive.Root>" outputs="JSX element tree" errors="None beyond React rendering" side_effects="Renders DOM nodes with data-slot attributes"]
27
+ // CIL[DOC-MICRO logic_summary="Returns a Root containing a Viewport, ScrollBar, and Corner, applying cn utility for className merging." notable_decisions="[]"]
28
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
29
+ // CIL[DOC-STABILITY stability="stable"]
39
30
  function ScrollArea({
40
31
  className,
41
32
  children,
@@ -58,21 +49,22 @@ function ScrollArea({
58
49
  </ScrollAreaPrimitive.Root>
59
50
  )
60
51
  }
61
- // CIL[END chunk_id="scroll-area_scrollarea_1783758409"]
62
- // CIL[BEGIN chunk_id="scroll-area_scrollbar_1783758409" type="function" identity="ScrollBar" parent="none"]
63
- // CIL[DOC-MACRO purpose="Customizable scrollbar with orientation support"]
64
- // CIL[DOC-RESPONSIBILITY responsibility="Provide styled scrollbar with thumb and orientation variants"]
65
- // CIL[DOC-CONTEXT module="scroll-area" layer="ui_components" related_files="[\".framework/functions/_shared/schema-utils.ts\",\".framework/src/components/ui/dialog.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"\\\"]"]
66
- // CIL[DOC-CONTRACT inputs="none" outputs="Styled scrollbar" errors="none" side_effects="DOM rendering"]
67
- // CIL[DOC-MICRO logic_summary="Creates scrollbar with orientation-based styling, thumb element and comprehensive states" 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/schema-utils.ts, .framework/src/components/ui/dialog.tsx, .framework/functions/_shared/principal.ts, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/pages/admin/IntegrationsPage.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."]
52
+ // CIL[DOC-VECTOR type="context" content="purpose='Render a scrollable viewport container with an attached scrollbar and corner.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
53
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
54
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
55
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
74
56
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
75
57
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
58
+ // CIL[END stable_id="~/.framework/src/components/ui/scroll-area.tsx:scrollarea:function"]
59
+
60
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/scroll-area.tsx:scrollbar:function" type="function" identity="scrollbar" parent="~/.framework/src/components/ui/scroll-area.tsx:module_header:module_header"]
61
+ // CIL[DOC-MACRO purpose="Render a directional scrollbar thumb using Radix UI primitives."]
62
+ // CIL[DOC-RESPONSIBILITY responsibility="Render a styled ScrollAreaScrollbar with orientation support and a rounded thumb."]
63
+ // CIL[DOC-CONTEXT module="scroll-area" layer="ui" related_files=".framework/src/components/ui/scroll-area.tsx,.framework/src/lib/utils.ts"]
64
+ // CIL[DOC-CONTRACT inputs="className: string, orientation: 'vertical' | 'horizontal', props: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>" outputs="JSX scrollbar element" errors="None beyond React rendering" side_effects="Renders DOM nodes with data-orientation and data-slot attributes"]
65
+ // CIL[DOC-MICRO logic_summary="Returns a ScrollAreaScrollbar with conditional vertical/horizontal styling and a rounded thumb." notable_decisions="[]"]
66
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
67
+ // CIL[DOC-STABILITY stability="stable"]
76
68
  function ScrollBar({
77
69
  className,
78
70
  orientation = "vertical",
@@ -96,20 +88,27 @@ function ScrollBar({
96
88
  </ScrollAreaPrimitive.ScrollAreaScrollbar>
97
89
  )
98
90
  }
99
- // CIL[END chunk_id="scroll-area_scrollbar_1783758409"]
100
- // CIL[BEGIN chunk_id="scroll-area_exports_1783758409" type="exports" identity="exports" parent="none"]
101
- // CIL[DOC-MACRO purpose="Export all scroll area components for public API"]
102
- // CIL[DOC-RESPONSIBILITY responsibility="Provide module exports for scroll area component library"]
103
- // CIL[DOC-CONTEXT module="scroll-area" layer="ui_components" related_files="[\".framework/src/components/ui/dialog.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\",\"\\\"]"]
104
- // CIL[DOC-CONTRACT inputs="none" outputs="Component exports" errors="none" side_effects="Module exports"]
105
- // CIL[DOC-MICRO logic_summary="Exports all scroll area components: ScrollArea, ScrollBar" notable_decisions="[]"]
106
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
107
- // CIL[DOC-STABILITY stability="stable"]
108
- // 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/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, \."]
109
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
110
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
111
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
91
+ // CIL[DOC-VECTOR type="context" content="purpose='Render a directional scrollbar thumb using Radix UI primitives.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
92
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
93
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
94
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
112
95
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
113
96
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
97
+ // CIL[END stable_id="~/.framework/src/components/ui/scroll-area.tsx:scrollbar:function"]
98
+
99
+ // CIL[BEGIN stable_id="~/.framework/src/components/ui/scroll-area.tsx:module_exports:module_exports" type="module_exports" identity="module_exports" parent="~/.framework/src/components/ui/scroll-area.tsx:module_header:module_header"]
100
+ // CIL[DOC-MACRO purpose="Expose ScrollArea and ScrollBar components to consumers."]
101
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide named exports for ScrollArea and ScrollBar."]
102
+ // CIL[DOC-CONTEXT module="scroll-area" layer="ui" related_files=".framework/src/components/ui/scroll-area.tsx,.framework/src/lib/utils.ts"]
103
+ // CIL[DOC-CONTRACT inputs="none" outputs="ScrollArea and ScrollBar named exports" errors="None" side_effects="None"]
104
+ // CIL[DOC-MICRO logic_summary="Re-exports the local ScrollArea and ScrollBar functions." notable_decisions="[]"]
105
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
106
+ // CIL[DOC-STABILITY stability="stable"]
114
107
  export { ScrollArea, ScrollBar }
115
- // CIL[END chunk_id="scroll-area_exports_1783758409"]
108
+ // CIL[DOC-VECTOR type="context" content="purpose='Expose ScrollArea and ScrollBar components to consumers.'; No verified external callers; imports: .framework/src/lib/utils.ts"]
109
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
110
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
111
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
112
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
113
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
114
+ // CIL[END stable_id="~/.framework/src/components/ui/scroll-area.tsx:module_exports:module_exports"]