spine-framework 0.3.124 → 0.3.126

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 (319) hide show
  1. package/.framework/cli/commands/agents.ts +35 -37
  2. package/.framework/cli/commands/auth.ts +35 -34
  3. package/.framework/cli/commands/create-app.ts +104 -40
  4. package/.framework/cli/commands/dev.ts +104 -69
  5. package/.framework/cli/commands/doctor.ts +179 -69
  6. package/.framework/cli/commands/generate.ts +83 -143
  7. package/.framework/cli/commands/init.ts +72 -34
  8. package/.framework/cli/commands/install-app.ts +260 -125
  9. package/.framework/cli/commands/items.ts +33 -44
  10. package/.framework/cli/commands/migrate.ts +122 -40
  11. package/.framework/cli/commands/migrations.ts +33 -40
  12. package/.framework/cli/commands/pipelines.ts +31 -39
  13. package/.framework/cli/commands/status.ts +47 -23
  14. package/.framework/cli/commands/system.ts +47 -37
  15. package/.framework/cli/commands/test.ts +112 -68
  16. package/.framework/cli/commands/validate-app.ts +215 -121
  17. package/.framework/cli/context.ts +112 -130
  18. package/.framework/cli/env-loader.ts +47 -18
  19. package/.framework/cli/index.ts +81 -42
  20. package/.framework/docs/runtime-types.md +1024 -0
  21. package/.framework/functions/_shared/agent-runner.ts +1296 -961
  22. package/.framework/functions/_shared/app-manifest.ts +82 -68
  23. package/.framework/functions/_shared/audit.ts +135 -83
  24. package/.framework/functions/_shared/{cil-state.ts → cil.ts} +158 -56
  25. package/.framework/functions/_shared/db.ts +80 -126
  26. package/.framework/functions/_shared/hash-api-key.ts +63 -0
  27. package/.framework/functions/_shared/index.ts +224 -335
  28. package/.framework/functions/_shared/kb.ts +319 -0
  29. package/.framework/functions/_shared/llm.ts +92 -0
  30. package/.framework/functions/_shared/logging.ts +288 -0
  31. package/.framework/functions/_shared/middleware.ts +329 -365
  32. package/.framework/functions/_shared/outcomes.ts +36 -0
  33. package/.framework/functions/_shared/permissions.ts +359 -643
  34. package/.framework/functions/_shared/pipeline-runner.ts +243 -316
  35. package/.framework/functions/_shared/principal.ts +376 -468
  36. package/.framework/functions/_shared/resolve-credentials.ts +102 -0
  37. package/.framework/functions/_shared/resolve-ids.ts +188 -16
  38. package/.framework/functions/_shared/retry-deliveries.ts +104 -0
  39. package/.framework/functions/_shared/schema-utils.ts +611 -373
  40. package/.framework/functions/_shared/testing.ts +207 -137
  41. package/.framework/functions/_shared/tracing.ts +276 -0
  42. package/.framework/functions/_shared/trigger-engine.ts +159 -211
  43. package/.framework/functions/_shared/webhook-registration.ts +95 -81
  44. package/.framework/functions/_shared/webhook-registry.ts +153 -75
  45. package/.framework/functions/account-nodes.ts +31 -53
  46. package/.framework/functions/adapters/generic-webhook-inbound.ts +56 -0
  47. package/.framework/functions/adapters/generic-webhook-outbound.ts +43 -0
  48. package/.framework/functions/adapters/openai-outbound.ts +40 -0
  49. package/.framework/functions/admin-data.ts +685 -537
  50. package/.framework/functions/admin-funnel.ts +31 -20
  51. package/.framework/functions/admin-install-funnel.ts +47 -28
  52. package/.framework/functions/admin-signals.ts +47 -29
  53. package/.framework/functions/ai-agents.ts +122 -147
  54. package/.framework/functions/ai-interactions.ts +180 -90
  55. package/.framework/functions/api-keys.ts +250 -192
  56. package/.framework/functions/apps.ts +203 -197
  57. package/.framework/functions/auth.ts +98 -91
  58. package/.framework/functions/cil-agent-ingest.ts +773 -0
  59. package/.framework/functions/cil-agent.ts +592 -0
  60. package/.framework/functions/cil-callmap.ts +1227 -0
  61. package/.framework/functions/cil-config.ts +583 -0
  62. package/.framework/functions/cil-context.ts +445 -0
  63. package/.framework/functions/cil-doc.ts +1752 -0
  64. package/.framework/functions/cil-embeddings.ts +1202 -0
  65. package/.framework/functions/cil-graph.ts +585 -0
  66. package/.framework/functions/cil-ingest.ts +2416 -0
  67. package/.framework/functions/cil-pipeline.ts +318 -0
  68. package/.framework/functions/cil-project.ts +499 -0
  69. package/.framework/functions/cil-validate.ts +469 -0
  70. package/.framework/functions/debug-auth.ts +73 -53
  71. package/.framework/functions/deliveries.ts +117 -0
  72. package/.framework/functions/embeddings.ts +528 -516
  73. package/.framework/functions/eval-harness.ts +158 -106
  74. package/.framework/functions/integration-outbound.ts +311 -0
  75. package/.framework/functions/integration-routes.ts +240 -466
  76. package/.framework/functions/integrations.ts +132 -140
  77. package/.framework/functions/invites.ts +401 -201
  78. package/.framework/functions/item-progress.ts +113 -53
  79. package/.framework/functions/kb.ts +28 -0
  80. package/.framework/functions/logs.ts +239 -222
  81. package/.framework/functions/observability.ts +308 -259
  82. package/.framework/functions/pipeline-executions.ts +179 -235
  83. package/.framework/functions/pipelines.ts +163 -205
  84. package/.framework/functions/prompt-configs.ts +109 -156
  85. package/.framework/functions/roles.ts +97 -147
  86. package/.framework/functions/system-cron.ts +132 -218
  87. package/.framework/functions/system.ts +112 -52
  88. package/.framework/functions/tests.ts +32 -28
  89. package/.framework/functions/timers.ts +162 -210
  90. package/.framework/functions/triggers.ts +282 -346
  91. package/.framework/functions/types.ts +283 -400
  92. package/.framework/migrations/001_core_schema.sql +630 -0
  93. package/.framework/migrations/002_core_rls_and_functions.sql +532 -0
  94. package/.framework/migrations/{003_system_data.sql → 003_core_system_data.sql} +26 -153
  95. package/.framework/migrations/004_core_rpc_and_broker.sql +421 -0
  96. package/.framework/migrations/005_core_observability.sql +598 -0
  97. package/.framework/migrations/006_security_hardening_rls.sql +97 -0
  98. package/.framework/migrations/007_kb_article_list.sql +237 -0
  99. package/.framework/migrations/008_items_target.sql +8 -0
  100. package/.framework/migrations/009_roles_slug_unique.sql +11 -0
  101. package/.framework/public/spine.config.json +91 -0
  102. package/.framework/scripts/app-install-cli.ts +112 -98
  103. package/.framework/src/App.tsx +67 -20
  104. package/.framework/src/apps/admin/index.tsx +97 -27
  105. package/.framework/src/components/AppWrapper.tsx +50 -11
  106. package/.framework/src/components/CustomAppLoader.tsx +131 -22
  107. package/.framework/src/components/admin/AdminListPage.tsx +75 -8
  108. package/.framework/src/components/admin/AdminSidebar.tsx +148 -36
  109. package/.framework/src/components/admin/AdminStatsCard.tsx +48 -29
  110. package/.framework/src/components/admin/PageInstructions.tsx +49 -0
  111. package/.framework/src/components/admin/SortableTableHeader.tsx +49 -2
  112. package/.framework/src/components/app-shell/GenericAppShell.tsx +69 -11
  113. package/.framework/src/components/app-shell/GenericDetailPage.tsx +55 -10
  114. package/.framework/src/components/app-shell/GenericListPage.tsx +76 -9
  115. package/.framework/src/components/app-sidebar.tsx +50 -3
  116. package/.framework/src/components/auth/ProtectedRoute.tsx +53 -45
  117. package/.framework/src/components/kb/KBArticleEditor.tsx +409 -0
  118. package/.framework/src/components/kb/KBArticleList.tsx +557 -0
  119. package/.framework/src/components/layout/AppShell.tsx +54 -16
  120. package/.framework/src/components/layout/Header.tsx +50 -38
  121. package/.framework/src/components/layout/Layout.tsx +48 -32
  122. package/.framework/src/components/layout/Sidebar.tsx +167 -16
  123. package/.framework/src/components/runtime/DataDetailHeader.tsx +33 -1
  124. package/.framework/src/components/runtime/DataDetailPage.tsx +289 -4
  125. package/.framework/src/components/runtime/DataFilters.tsx +78 -1
  126. package/.framework/src/components/runtime/DataHeader.tsx +32 -29
  127. package/.framework/src/components/runtime/DataListPage.tsx +161 -2
  128. package/.framework/src/components/runtime/DataStats.tsx +48 -1
  129. package/.framework/src/components/runtime/DataTable.tsx +153 -1
  130. package/.framework/src/components/runtime/SchemaDetailForm.tsx +77 -46
  131. package/.framework/src/components/runtime/index.ts +16 -9
  132. package/.framework/src/components/search-form.tsx +33 -1
  133. package/.framework/src/components/shared/AgentView.tsx +48 -51
  134. package/.framework/src/components/shared/FieldRenderer.tsx +84 -67
  135. package/.framework/src/components/shared/InviteManager.tsx +113 -52
  136. package/.framework/src/components/shared/MemberList.tsx +182 -0
  137. package/.framework/src/components/shared/SchemaFields.tsx +96 -78
  138. package/.framework/src/components/ui/DataTable.tsx +86 -56
  139. package/.framework/src/components/ui/Form.tsx +188 -109
  140. package/.framework/src/components/ui/ItemCard.tsx +86 -58
  141. package/.framework/src/components/ui/ItemListView.tsx +88 -61
  142. package/.framework/src/components/ui/LoadingSpinner.tsx +52 -27
  143. package/.framework/src/components/ui/Modal.tsx +81 -4
  144. package/.framework/src/components/ui/RichTextEditor.tsx +101 -9
  145. package/.framework/src/components/ui/accordion.tsx +97 -5
  146. package/.framework/src/components/ui/alert-dialog.tsx +225 -13
  147. package/.framework/src/components/ui/alert.tsx +113 -6
  148. package/.framework/src/components/ui/aspect-ratio.tsx +49 -2
  149. package/.framework/src/components/ui/avatar.tsx +129 -7
  150. package/.framework/src/components/ui/badge.tsx +65 -3
  151. package/.framework/src/components/ui/breadcrumb.tsx +145 -8
  152. package/.framework/src/components/ui/button-group.tsx +81 -4
  153. package/.framework/src/components/ui/button.tsx +49 -2
  154. package/.framework/src/components/ui/calendar.tsx +65 -3
  155. package/.framework/src/components/ui/card.tsx +145 -8
  156. package/.framework/src/components/ui/carousel.tsx +129 -7
  157. package/.framework/src/components/ui/chart.tsx +161 -10
  158. package/.framework/src/components/ui/checkbox.tsx +49 -2
  159. package/.framework/src/components/ui/collapsible.tsx +81 -5
  160. package/.framework/src/components/ui/combobox.tsx +305 -20
  161. package/.framework/src/components/ui/command.tsx +177 -11
  162. package/.framework/src/components/ui/context-menu.tsx +273 -17
  163. package/.framework/src/components/ui/dialog.tsx +209 -27
  164. package/.framework/src/components/ui/direction.tsx +64 -4
  165. package/.framework/src/components/ui/drawer.tsx +193 -12
  166. package/.framework/src/components/ui/dropdown-menu.tsx +273 -18
  167. package/.framework/src/components/ui/empty.tsx +145 -9
  168. package/.framework/src/components/ui/field.tsx +209 -14
  169. package/.framework/src/components/ui/hover-card.tsx +81 -4
  170. package/.framework/src/components/ui/input-group.tsx +162 -10
  171. package/.framework/src/components/ui/input-otp.tsx +98 -5
  172. package/.framework/src/components/ui/input.tsx +49 -2
  173. package/.framework/src/components/ui/item.tsx +225 -13
  174. package/.framework/src/components/ui/kbd.tsx +65 -3
  175. package/.framework/src/components/ui/label.tsx +49 -2
  176. package/.framework/src/components/ui/menubar.tsx +289 -17
  177. package/.framework/src/components/ui/native-select.tsx +97 -5
  178. package/.framework/src/components/ui/navigation-menu.tsx +177 -10
  179. package/.framework/src/components/ui/pagination.tsx +161 -9
  180. package/.framework/src/components/ui/popover.tsx +145 -8
  181. package/.framework/src/components/ui/progress.tsx +49 -2
  182. package/.framework/src/components/ui/radio-group.tsx +65 -3
  183. package/.framework/src/components/ui/resizable.tsx +82 -4
  184. package/.framework/src/components/ui/scroll-area.tsx +65 -3
  185. package/.framework/src/components/ui/select.tsx +193 -11
  186. package/.framework/src/components/ui/separator.tsx +49 -2
  187. package/.framework/src/components/ui/sheet.tsx +193 -11
  188. package/.framework/src/components/ui/sidebar.tsx +481 -38
  189. package/.framework/src/components/ui/skeleton.tsx +49 -2
  190. package/.framework/src/components/ui/slider.tsx +49 -2
  191. package/.framework/src/components/ui/sonner.tsx +49 -2
  192. package/.framework/src/components/ui/spinner.tsx +49 -2
  193. package/.framework/src/components/ui/switch.tsx +49 -2
  194. package/.framework/src/components/ui/table-primitives.tsx +160 -33
  195. package/.framework/src/components/ui/table.tsx +161 -9
  196. package/.framework/src/components/ui/tabs.tsx +113 -6
  197. package/.framework/src/components/ui/textarea.tsx +49 -2
  198. package/.framework/src/components/ui/toggle-group.tsx +81 -4
  199. package/.framework/src/components/ui/toggle.tsx +65 -3
  200. package/.framework/src/components/ui/tooltip.tsx +97 -5
  201. package/.framework/src/contexts/AppContext.tsx +129 -45
  202. package/.framework/src/contexts/AuthContext.tsx +187 -144
  203. package/.framework/src/hooks/use-mobile.ts +48 -2
  204. package/.framework/src/hooks/useApi.ts +208 -159
  205. package/.framework/src/hooks/useAppPath.ts +32 -23
  206. package/.framework/src/hooks/useApps.ts +51 -20
  207. package/.framework/src/hooks/useEntityList.ts +32 -78
  208. package/.framework/src/hooks/useEntityRecord.ts +35 -96
  209. package/.framework/src/hooks/useForm.ts +32 -92
  210. package/.framework/src/hooks/useListSchema.ts +49 -78
  211. package/.framework/src/hooks/useSchemaRecord.ts +114 -105
  212. package/.framework/src/lib/api.ts +195 -116
  213. package/.framework/src/lib/supabase.ts +98 -64
  214. package/.framework/src/lib/utils.ts +287 -151
  215. package/.framework/src/main.tsx +49 -3
  216. package/.framework/src/pages/DashboardPage.tsx +52 -29
  217. package/.framework/src/pages/NotFoundPage.tsx +32 -10
  218. package/.framework/src/pages/SetupPage.tsx +32 -12
  219. package/.framework/src/pages/admin/AIAgentDetailPage.tsx +119 -10
  220. package/.framework/src/pages/admin/AIAgentsPage.tsx +48 -19
  221. package/.framework/src/pages/admin/APIKeyDetailPage.tsx +187 -17
  222. package/.framework/src/pages/admin/APIKeysPage.tsx +98 -22
  223. package/.framework/src/pages/admin/AlertsConfigPage.tsx +113 -26
  224. package/.framework/src/pages/admin/AppDetailPage.tsx +125 -8
  225. package/.framework/src/pages/admin/AppsPage.tsx +49 -2
  226. package/.framework/src/pages/admin/DeliveriesPage.tsx +196 -0
  227. package/.framework/src/pages/admin/DesignedPage.tsx +32 -18
  228. package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +215 -484
  229. package/.framework/src/pages/admin/EmbeddingsPage.tsx +116 -319
  230. package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +34 -9
  231. package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +34 -9
  232. package/.framework/src/pages/admin/IntegratedDashboard.tsx +32 -16
  233. package/.framework/src/pages/admin/IntegrationDetailPage.tsx +183 -26
  234. package/.framework/src/pages/admin/IntegrationsPage.tsx +48 -19
  235. package/.framework/src/pages/admin/InvitesPage.tsx +48 -14
  236. package/.framework/src/pages/admin/LogsPage.tsx +422 -75
  237. package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +34 -9
  238. package/.framework/src/pages/admin/ObservabilityDashboard.tsx +113 -24
  239. package/.framework/src/pages/admin/PipelineDetailPage.tsx +206 -34
  240. package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +50 -17
  241. package/.framework/src/pages/admin/PipelinesPage.tsx +160 -21
  242. package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +378 -88
  243. package/.framework/src/pages/admin/PromptConfigsPage.tsx +125 -16
  244. package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +49 -10
  245. package/.framework/src/pages/admin/RoleDetailPage.tsx +130 -10
  246. package/.framework/src/pages/admin/RolesPage.tsx +171 -18
  247. package/.framework/src/pages/admin/SelectTestPage.tsx +34 -9
  248. package/.framework/src/pages/admin/ShadcnTestPage.tsx +49 -11
  249. package/.framework/src/pages/admin/SimpleDashboard.tsx +49 -10
  250. package/.framework/src/pages/admin/TestRunDetailPage.tsx +49 -4
  251. package/.framework/src/pages/admin/TestingDashboard.tsx +98 -28
  252. package/.framework/src/pages/admin/TimerDetailPage.tsx +143 -33
  253. package/.framework/src/pages/admin/TimersPage.tsx +48 -20
  254. package/.framework/src/pages/admin/TriggerDetailPage.tsx +118 -30
  255. package/.framework/src/pages/admin/TriggersPage.tsx +64 -19
  256. package/.framework/src/pages/admin/TypeDetailPage.tsx +138 -15
  257. package/.framework/src/pages/admin/TypesPage.tsx +48 -20
  258. package/.framework/src/pages/admin/cil/CILAgentPage.tsx +465 -0
  259. package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +787 -0
  260. package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +699 -0
  261. package/.framework/src/pages/admin/cil/CILFileListPage.tsx +647 -0
  262. package/.framework/src/pages/admin/cil/CILGraphPage.tsx +616 -0
  263. package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +1402 -0
  264. package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +614 -0
  265. package/.framework/src/pages/admin/cil/CILSearchPage.tsx +571 -0
  266. package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +731 -0
  267. package/.framework/src/pages/admin/kb/KBAdminPage.tsx +64 -0
  268. package/.framework/src/pages/auth/AuthConfirmPage.tsx +52 -51
  269. package/.framework/src/pages/auth/ForgotPasswordPage.tsx +31 -22
  270. package/.framework/src/pages/auth/LoginPage.tsx +50 -23
  271. package/.framework/src/pages/auth/PendingApprovalPage.tsx +31 -15
  272. package/.framework/src/pages/auth/RegisterPage.tsx +281 -317
  273. package/.framework/src/pages/spine-framework/APIPage.tsx +33 -0
  274. package/.framework/src/pages/spine-framework/CLIPage.tsx +33 -0
  275. package/.framework/src/types/auth.ts +128 -71
  276. package/.framework/src/types/types.ts +373 -157
  277. package/custom/.devin/skills/spine-workbench-discovery/SKILL.md +39 -0
  278. package/custom/.devin/skills/spine-workbench-idea/SKILL.md +36 -0
  279. package/custom/.devin/skills/spine-workbench-implement/SKILL.md +46 -0
  280. package/custom/.devin/skills/spine-workbench-initiative/SKILL.md +28 -0
  281. package/custom/.devin/skills/spine-workbench-plan/SKILL.md +38 -0
  282. package/docs/README.md +9 -130
  283. package/netlify.toml +5 -2
  284. package/package.json +13 -25
  285. package/scripts/kb-ingest-docs.ts +203 -0
  286. package/spine.config.json +65 -4
  287. package/.framework/migrations/001_schema.sql +0 -425
  288. package/.framework/migrations/002_rls_and_functions.sql +0 -763
  289. package/.framework/migrations/004_enhancements.sql +0 -43
  290. package/.framework/migrations/005_auth_user_trigger.sql +0 -105
  291. package/.framework/migrations/006_fix_current_actor_id.sql +0 -21
  292. package/.framework/migrations/016_invites.sql +0 -27
  293. package/.framework/migrations/017_fix_get_account_apps.sql +0 -78
  294. package/.framework/migrations/018_apps_required_roles.sql +0 -17
  295. package/.framework/migrations/019_triggers_unique_constraint.sql +0 -13
  296. package/.framework/migrations/020_get_account_apps_role_filter.sql +0 -117
  297. package/.framework/migrations/021_app_domains.sql +0 -112
  298. package/.framework/migrations/022_route_prefix_domain_unique.sql +0 -21
  299. package/.framework/migrations/023_match_embeddings_rpc.sql +0 -78
  300. package/.framework/migrations/024_messages_account_id.sql +0 -9
  301. package/.framework/migrations/025_retype_threads_messages.sql +0 -240
  302. package/.framework/migrations/026_fix_rls_policies.sql +0 -47
  303. package/.framework/migrations/027_embedding_lifecycle.sql +0 -176
  304. package/.framework/migrations/028_fix_message_data_permissions.sql +0 -49
  305. package/.framework/migrations/029_tighten_support_triage_prompt.sql +0 -41
  306. package/.framework/migrations/030_messages_updated_by.sql +0 -6
  307. package/.framework/migrations/031_seed_upsert_constraints.sql +0 -35
  308. package/docs/APPS.md +0 -232
  309. package/docs/ARCHITECTURE.md +0 -246
  310. package/docs/INSTALL.md +0 -155
  311. package/docs/design-schema-spec.md +0 -1837
  312. package/docs/dev-guides/01-create-an-app.md +0 -183
  313. package/docs/dev-guides/02-create-a-function.md +0 -178
  314. package/docs/dev-guides/03-create-a-component.md +0 -178
  315. package/docs/dev-guides/04-webhook-handlers.md +0 -129
  316. package/docs/dev-guides/05-testing.md +0 -168
  317. package/docs/dev-guides/README.md +0 -40
  318. package/docs/npm-packages-plan.md +0 -288
  319. package/docs/spine-core--api-reference.md +0 -822
@@ -1,12 +1,52 @@
1
- "use client"
2
1
 
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+ // CIL[BEGIN chunk_id="field_module_header_1783844098" type="module_header" identity="imports" parent="none"]
15
+ // CIL[DOC-MACRO purpose="Import dependencies for form field components"]
16
+ // CIL[DOC-RESPONSIBILITY responsibility="Import React hooks and UI components"]
17
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"\\\"]"]
18
+ // CIL[DOC-CONTRACT inputs="none" outputs="React hooks, styling utilities, components" errors="none" side_effects="none"]
19
+ // CIL[DOC-MICRO logic_summary="Imports useMemo for optimization, cva for variants, and UI components" notable_decisions="[]"]
20
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
21
+ // CIL[DOC-STABILITY stability="stable"]
22
+ // CIL[DOC-AUDIENCE audience="developer"]
23
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/components/ui/dialog.tsx, .framework/src/components/ui/table-primitives.tsx, \."]
24
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
25
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
26
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
27
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
28
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
29
+ "use client"
3
30
  import { useMemo } from "react"
4
31
  import { cva, type VariantProps } from "class-variance-authority"
5
-
6
32
  import { cn } from "@/lib/utils"
7
33
  import { Label } from "@/components/ui/label"
8
34
  import { Separator } from "@/components/ui/separator"
9
-
35
+ // CIL[END chunk_id="field_module_header_1783844098"]
36
+ // CIL[BEGIN chunk_id="field_fieldset_1783844098" type="function" identity="FieldSet" parent="none"]
37
+ // CIL[DOC-MACRO purpose="Fieldset wrapper for form controls"]
38
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide semantic fieldset container for form groups"]
39
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"custom/apps/portal/pages/ContentPage.tsx\",\"\\\"]"]
40
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled fieldset element" errors="none" side_effects="renders DOM"]
41
+ // CIL[DOC-MICRO logic_summary="Creates flex column fieldset with conditional gap spacing" notable_decisions="[]"]
42
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
43
+ // CIL[DOC-STABILITY stability="stable"]
44
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, custom/apps/portal/pages/ContentPage.tsx, \."]
45
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
46
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
47
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
48
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
49
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
10
50
  function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">) {
11
51
  return (
12
52
  <fieldset
@@ -19,7 +59,21 @@ function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">) {
19
59
  />
20
60
  )
21
61
  }
22
-
62
+ // CIL[END chunk_id="field_fieldset_1783844098"]
63
+ // CIL[BEGIN chunk_id="field_fieldlegend_1783844098" type="function" identity="FieldLegend" parent="none"]
64
+ // CIL[DOC-MACRO purpose="Legend component for fieldsets"]
65
+ // CIL[DOC-RESPONSIBILITY responsibility="Render styled legend with variant support"]
66
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
67
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled legend element" errors="none" side_effects="renders DOM"]
68
+ // CIL[DOC-MICRO logic_summary="Creates legend with conditional styling based on variant type" notable_decisions="[]"]
69
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
70
+ // CIL[DOC-STABILITY stability="stable"]
71
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/src/components/ui/table-primitives.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
72
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
73
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
74
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
75
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
76
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
23
77
  function FieldLegend({
24
78
  className,
25
79
  variant = "legend",
@@ -37,7 +91,21 @@ function FieldLegend({
37
91
  />
38
92
  )
39
93
  }
40
-
94
+ // CIL[END chunk_id="field_fieldlegend_1783844098"]
95
+ // CIL[BEGIN chunk_id="field_fieldgroup_1783844098" type="function" identity="FieldGroup" parent="none"]
96
+ // CIL[DOC-MACRO purpose="Group container for form fields"]
97
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide responsive layout container for field groups"]
98
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/schema-utils.ts\",\".framework/functions/_shared/principal.ts\",\".framework/functions/_shared/db.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"\\\"]"]
99
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled group div" errors="none" side_effects="renders DOM"]
100
+ // CIL[DOC-MICRO logic_summary="Creates container query aware flex column with conditional spacing" notable_decisions="[]"]
101
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
102
+ // CIL[DOC-STABILITY stability="stable"]
103
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/schema-utils.ts, .framework/functions/_shared/principal.ts, .framework/functions/_shared/db.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, \."]
104
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
105
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
106
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
107
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
108
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
41
109
  function FieldGroup({ className, ...props }: React.ComponentProps<"div">) {
42
110
  return (
43
111
  <div
@@ -50,7 +118,21 @@ function FieldGroup({ className, ...props }: React.ComponentProps<"div">) {
50
118
  />
51
119
  )
52
120
  }
53
-
121
+ // CIL[END chunk_id="field_fieldgroup_1783844098"]
122
+ // CIL[BEGIN chunk_id="field_fieldvariants_1783844098" type="const" identity="fieldVariants" parent="none"]
123
+ // CIL[DOC-MACRO purpose="Style variants for field layout"]
124
+ // CIL[DOC-RESPONSIBILITY responsibility="Define orientation variants for field components"]
125
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[]"]
126
+ // CIL[DOC-CONTRACT inputs="none" outputs="CSS class names" errors="none" side_effects="none"]
127
+ // CIL[DOC-MICRO logic_summary="CVA configuration for vertical, horizontal, and responsive layouts" notable_decisions="[]"]
128
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
129
+ // CIL[DOC-STABILITY stability="stable"]
130
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
131
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
132
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
133
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
134
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
135
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
54
136
  const fieldVariants = cva(
55
137
  "group/field flex w-full gap-2 data-[invalid=true]:text-destructive",
56
138
  {
@@ -68,7 +150,21 @@ const fieldVariants = cva(
68
150
  },
69
151
  }
70
152
  )
71
-
153
+ // CIL[END chunk_id="field_fieldvariants_1783844098"]
154
+ // CIL[BEGIN chunk_id="field_field_1783844098" type="function" identity="Field" parent="none"]
155
+ // CIL[DOC-MACRO purpose="Main field container component"]
156
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide layout container for form field elements"]
157
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[]"]
158
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled field div" errors="none" side_effects="renders DOM"]
159
+ // CIL[DOC-MICRO logic_summary="Creates group role container with orientation-based styling" notable_decisions="[]"]
160
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
161
+ // CIL[DOC-STABILITY stability="stable"]
162
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
163
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
164
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
165
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
166
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
167
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
72
168
  function Field({
73
169
  className,
74
170
  orientation = "vertical",
@@ -84,7 +180,21 @@ function Field({
84
180
  />
85
181
  )
86
182
  }
87
-
183
+ // CIL[END chunk_id="field_field_1783844098"]
184
+ // CIL[BEGIN chunk_id="field_fieldcontent_1783844098" type="function" identity="FieldContent" parent="none"]
185
+ // CIL[DOC-MACRO purpose="Content container for field elements"]
186
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide layout container for field input content"]
187
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[]"]
188
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled content div" errors="none" side_effects="renders DOM"]
189
+ // CIL[DOC-MICRO logic_summary="Creates flex column container with tight spacing for inputs" notable_decisions="[]"]
190
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
191
+ // CIL[DOC-STABILITY stability="stable"]
192
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
193
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
194
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
195
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
196
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
197
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
88
198
  function FieldContent({ className, ...props }: React.ComponentProps<"div">) {
89
199
  return (
90
200
  <div
@@ -97,7 +207,21 @@ function FieldContent({ className, ...props }: React.ComponentProps<"div">) {
97
207
  />
98
208
  )
99
209
  }
100
-
210
+ // CIL[END chunk_id="field_fieldcontent_1783844098"]
211
+ // CIL[BEGIN chunk_id="field_fieldlabel_1783844098" type="function" identity="FieldLabel" parent="none"]
212
+ // CIL[DOC-MACRO purpose="Label component for form fields"]
213
+ // CIL[DOC-RESPONSIBILITY responsibility="Render styled label with field-specific styling"]
214
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[]"]
215
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled Label component" errors="none" side_effects="renders DOM"]
216
+ // CIL[DOC-MICRO logic_summary="Creates label with conditional styling and responsive layout" notable_decisions="[]"]
217
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
218
+ // CIL[DOC-STABILITY stability="stable"]
219
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
220
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
221
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
222
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
223
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
224
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
101
225
  function FieldLabel({
102
226
  className,
103
227
  ...props
@@ -114,7 +238,21 @@ function FieldLabel({
114
238
  />
115
239
  )
116
240
  }
117
-
241
+ // CIL[END chunk_id="field_fieldlabel_1783844098"]
242
+ // CIL[BEGIN chunk_id="field_fieldtitle_1783844098" type="function" identity="FieldTitle" parent="none"]
243
+ // CIL[DOC-MACRO purpose="Title component for field headers"]
244
+ // CIL[DOC-RESPONSIBILITY responsibility="Display styled title text for form sections"]
245
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[]"]
246
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled title div" errors="none" side_effects="renders DOM"]
247
+ // CIL[DOC-MICRO logic_summary="Creates small, medium-weight title with disabled state styling" notable_decisions="[]"]
248
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
249
+ // CIL[DOC-STABILITY stability="stable"]
250
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
251
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
252
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
253
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
254
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
255
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
118
256
  function FieldTitle({ className, ...props }: React.ComponentProps<"div">) {
119
257
  return (
120
258
  <div
@@ -127,7 +265,21 @@ function FieldTitle({ className, ...props }: React.ComponentProps<"div">) {
127
265
  />
128
266
  )
129
267
  }
130
-
268
+ // CIL[END chunk_id="field_fieldtitle_1783844098"]
269
+ // CIL[BEGIN chunk_id="field_fielddescription_1783844098" type="function" identity="FieldDescription" parent="none"]
270
+ // CIL[DOC-MACRO purpose="Description text for form fields"]
271
+ // CIL[DOC-RESPONSIBILITY responsibility="Display styled description text with link support"]
272
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[]"]
273
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled description p" errors="none" side_effects="renders DOM"]
274
+ // CIL[DOC-MICRO logic_summary="Creates muted text with conditional spacing and link styling" notable_decisions="[]"]
275
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
276
+ // CIL[DOC-STABILITY stability="stable"]
277
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
278
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
279
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
280
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
281
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
282
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
131
283
  function FieldDescription({ className, ...props }: React.ComponentProps<"p">) {
132
284
  return (
133
285
  <p
@@ -142,7 +294,21 @@ function FieldDescription({ className, ...props }: React.ComponentProps<"p">) {
142
294
  />
143
295
  )
144
296
  }
145
-
297
+ // CIL[END chunk_id="field_fielddescription_1783844098"]
298
+ // CIL[BEGIN chunk_id="field_fieldseparator_1783844098" type="function" identity="FieldSeparator" parent="none"]
299
+ // CIL[DOC-MACRO purpose="Visual separator between field sections"]
300
+ // CIL[DOC-RESPONSIBILITY responsibility="Render styled separator with optional content"]
301
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[]"]
302
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled separator div" errors="none" side_effects="renders DOM"]
303
+ // CIL[DOC-MICRO logic_summary="Creates horizontal line with centered content overlay" notable_decisions="[]"]
304
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
305
+ // CIL[DOC-STABILITY stability="stable"]
306
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
307
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
308
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
309
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
310
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
311
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
146
312
  function FieldSeparator({
147
313
  children,
148
314
  className,
@@ -172,7 +338,21 @@ function FieldSeparator({
172
338
  </div>
173
339
  )
174
340
  }
175
-
341
+ // CIL[END chunk_id="field_fieldseparator_1783844098"]
342
+ // CIL[BEGIN chunk_id="field_fielderror_1783844098" type="function" identity="FieldError" parent="none"]
343
+ // CIL[DOC-MACRO purpose="Error display component for form validation"]
344
+ // CIL[DOC-RESPONSIBILITY responsibility="Render validation errors with deduplication"]
345
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[]"]
346
+ // CIL[DOC-CONTRACT inputs="none" outputs="error display div" errors="none" side_effects="renders DOM"]
347
+ // CIL[DOC-MICRO logic_summary="Processes error array with deduplication and conditional rendering" notable_decisions="[]"]
348
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
349
+ // CIL[DOC-STABILITY stability="stable"]
350
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
351
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
352
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
353
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
354
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
355
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
176
356
  function FieldError({
177
357
  className,
178
358
  children,
@@ -223,7 +403,21 @@ function FieldError({
223
403
  </div>
224
404
  )
225
405
  }
226
-
406
+ // CIL[END chunk_id="field_fielderror_1783844098"]
407
+ // CIL[BEGIN chunk_id="field_exports_1783844098" type="exports" identity="exports" parent="none"]
408
+ // CIL[DOC-MACRO purpose="Export field components"]
409
+ // CIL[DOC-RESPONSIBILITY responsibility="Make all field components available for import"]
410
+ // CIL[DOC-CONTEXT module="field" layer="ui" related_files="[]"]
411
+ // CIL[DOC-CONTRACT inputs="none" outputs="component exports" errors="none" side_effects="module exports"]
412
+ // CIL[DOC-MICRO logic_summary="Exports all field form components for external usage" notable_decisions="[]"]
413
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
414
+ // CIL[DOC-STABILITY stability="stable"]
415
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
416
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
417
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
418
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
419
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
420
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
227
421
  export {
228
422
  Field,
229
423
  FieldLabel,
@@ -236,3 +430,4 @@ export {
236
430
  FieldContent,
237
431
  FieldTitle,
238
432
  }
433
+ // CIL[END chunk_id="field_exports_1783844098"]
@@ -1,14 +1,62 @@
1
+
2
+
3
+
4
+
5
+
6
+ // CIL[BEGIN chunk_id="hover_card_module_header_1783796064" type="module_header" identity="module_header" parent="none"]
7
+ // CIL[DOC-MACRO purpose="Import dependencies for hover card components"]
8
+ // CIL[DOC-RESPONSIBILITY responsibility="Import React, Radix UI HoverCard, and utilities"]
9
+ // CIL[DOC-CONTEXT module="hover-card" layer="ui_components" related_files="[\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"\\\"]"]
10
+ // CIL[DOC-CONTRACT inputs="none" outputs="imported modules" errors="none" side_effects="module imports"]
11
+ // CIL[DOC-MICRO logic_summary="Imports React, Radix HoverCard primitive, and cn utility" notable_decisions="[]"]
12
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
13
+ // 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: custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/ui/table-primitives.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, \."]
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."]
19
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
20
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
1
21
  import * as React from "react"
2
22
  import { HoverCard as HoverCardPrimitive } from "radix-ui"
3
23
 
4
24
  import { cn } from "@/lib/utils"
5
-
25
+ // CIL[END chunk_id="hover_card_module_header_1783796064"]
26
+ // CIL[BEGIN chunk_id="hover_card_hovercard_1783796064" type="function" identity="HoverCard" parent="none"]
27
+ // CIL[DOC-MACRO purpose="Render hover card root container"]
28
+ // CIL[DOC-RESPONSIBILITY responsibility="Create hover card root element"]
29
+ // CIL[DOC-CONTEXT module="hover-card" layer="ui_components" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"\\\"]"]
30
+ // CIL[DOC-CONTRACT inputs="none" outputs="hover card container" errors="none" side_effects="renders DOM element"]
31
+ // CIL[DOC-MICRO logic_summary="Creates hover card root wrapper for trigger and content" notable_decisions="[]"]
32
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
33
+ // CIL[DOC-STABILITY stability="stable"]
34
+ // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 1. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/src/components/ui/table-primitives.tsx, \."]
35
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 1."]
36
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
37
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
38
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
39
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
6
40
  function HoverCard({
7
41
  ...props
8
42
  }: React.ComponentProps<typeof HoverCardPrimitive.Root>) {
9
43
  return <HoverCardPrimitive.Root data-slot="hover-card" {...props} />
10
44
  }
11
-
45
+ // CIL[END chunk_id="hover_card_hovercard_1783796064"]
46
+ // CIL[BEGIN chunk_id="hover_card_hovercardtrigger_1783796064" type="function" identity="HoverCardTrigger" parent="none"]
47
+ // CIL[DOC-MACRO purpose="Render hover card trigger element"]
48
+ // CIL[DOC-RESPONSIBILITY responsibility="Create trigger for hover card content"]
49
+ // CIL[DOC-CONTEXT module="hover-card" layer="ui_components" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/components/ui/table-primitives.tsx\",\"\\\"]"]
50
+ // CIL[DOC-CONTRACT inputs="none" outputs="hover card trigger" errors="none" side_effects="renders DOM element"]
51
+ // CIL[DOC-MICRO logic_summary="Creates trigger element that shows content on hover" notable_decisions="[]"]
52
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
53
+ // CIL[DOC-STABILITY stability="stable"]
54
+ // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 1. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/src/components/ui/table-primitives.tsx, \."]
55
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 1."]
56
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
57
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
58
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
59
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
12
60
  function HoverCardTrigger({
13
61
  ...props
14
62
  }: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {
@@ -16,7 +64,21 @@ function HoverCardTrigger({
16
64
  <HoverCardPrimitive.Trigger data-slot="hover-card-trigger" {...props} />
17
65
  )
18
66
  }
19
-
67
+ // CIL[END chunk_id="hover_card_hovercardtrigger_1783796064"]
68
+ // CIL[BEGIN chunk_id="hover_card_hovercardcontent_1783796064" type="function" identity="HoverCardContent" parent="none"]
69
+ // CIL[DOC-MACRO purpose="Render hover card content popup"]
70
+ // CIL[DOC-RESPONSIBILITY responsibility="Create styled popup content with animations"]
71
+ // CIL[DOC-CONTEXT module="hover-card" layer="ui_components" related_files="[]"]
72
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled hover content" errors="none" side_effects="renders DOM element"]
73
+ // CIL[DOC-MICRO logic_summary="Creates popup content with positioning and slide animations" notable_decisions="[]"]
74
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
75
+ // CIL[DOC-STABILITY stability="stable"]
76
+ // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
77
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
78
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
79
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
80
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
81
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
20
82
  function HoverCardContent({
21
83
  className,
22
84
  align = "center",
@@ -38,5 +100,20 @@ function HoverCardContent({
38
100
  </HoverCardPrimitive.Portal>
39
101
  )
40
102
  }
41
-
103
+ // CIL[END chunk_id="hover_card_hovercardcontent_1783796064"]
104
+ // CIL[BEGIN chunk_id="hover_card_exports_1783796064" type="exports" identity="exports" parent="none"]
105
+ // CIL[DOC-MACRO purpose="Export hover card components for public use"]
106
+ // CIL[DOC-RESPONSIBILITY responsibility="Export all hover card-related components"]
107
+ // CIL[DOC-CONTEXT module="hover-card" layer="ui_components" related_files="[]"]
108
+ // CIL[DOC-CONTRACT inputs="none" outputs="exported components" errors="none" side_effects="module exports"]
109
+ // CIL[DOC-MICRO logic_summary="Exports hover card component system for consumption" notable_decisions="[]"]
110
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
111
+ // CIL[DOC-STABILITY stability="stable"]
112
+ // CIL[DOC-VECTOR type="context" content="Layer: ui_components. Direct callers: 0. Direct calls: 0. Related files: none."]
113
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
114
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
115
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
116
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
117
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
42
118
  export { HoverCard, HoverCardTrigger, HoverCardContent }
119
+ // CIL[END chunk_id="hover_card_exports_1783796064"]