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,15 +1,74 @@
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+ // CIL[BEGIN chunk_id="contextmenu_module_header_1783844098" type="module_header" identity="imports" parent="none"]
19
+ // CIL[DOC-MACRO purpose="Import dependencies for context menu components"]
20
+ // CIL[DOC-RESPONSIBILITY responsibility="Import React, Radix UI primitives and utilities"]
21
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/functions/_shared/schema-utils.ts\",\"\\\"]"]
22
+ // CIL[DOC-CONTRACT inputs="none" outputs="React, Radix primitives, utilities" errors="none" side_effects="none"]
23
+ // CIL[DOC-MICRO logic_summary="Imports React, Radix ContextMenu primitives, styling utilities and icons" notable_decisions="[]"]
24
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
25
+ // CIL[DOC-STABILITY stability="stable"]
26
+ // CIL[DOC-AUDIENCE audience="developer"]
27
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/ui/dialog.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, .framework/functions/_shared/schema-utils.ts, \."]
28
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
29
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
30
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
31
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
32
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
1
33
  import * as React from "react"
2
34
  import { ContextMenu as ContextMenuPrimitive } from "radix-ui"
3
-
4
35
  import { cn } from "@/lib/utils"
5
36
  import { ChevronRightIcon, CheckIcon } from "lucide-react"
6
-
37
+ // CIL[END chunk_id="contextmenu_module_header_1783844098"]
38
+ // CIL[BEGIN chunk_id="contextmenu_contextmenu_1783844098" type="function" identity="ContextMenu" parent="none"]
39
+ // CIL[DOC-MACRO purpose="Root context menu component"]
40
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide Radix UI ContextMenu root primitive"]
41
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[\".framework/src/components/ui/dialog.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
42
+ // CIL[DOC-CONTRACT inputs="none" outputs="context menu root" errors="none" side_effects="renders DOM"]
43
+ // CIL[DOC-MICRO logic_summary="Wraps Radix ContextMenu.Root with data-slot attribute" notable_decisions="[]"]
44
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
45
+ // CIL[DOC-STABILITY stability="stable"]
46
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
47
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
48
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
49
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
50
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
51
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
7
52
  function ContextMenu({
8
53
  ...props
9
54
  }: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {
10
55
  return <ContextMenuPrimitive.Root data-slot="context-menu" {...props} />
11
56
  }
12
-
57
+ // CIL[END chunk_id="contextmenu_contextmenu_1783844098"]
58
+ // CIL[BEGIN chunk_id="contextmenu_contextmenutrigger_1783844098" type="function" identity="ContextMenuTrigger" parent="none"]
59
+ // CIL[DOC-MACRO purpose="Context menu trigger component"]
60
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide trigger element for right-click context menu"]
61
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[\".framework/src/components/ui/dialog.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
62
+ // CIL[DOC-CONTRACT inputs="none" outputs="context menu trigger" errors="none" side_effects="renders DOM"]
63
+ // CIL[DOC-MICRO logic_summary="Wraps Radix ContextMenuTrigger with select-none styling" notable_decisions="[]"]
64
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
65
+ // CIL[DOC-STABILITY stability="stable"]
66
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
67
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
68
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
69
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
70
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
71
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
13
72
  function ContextMenuTrigger({
14
73
  className,
15
74
  ...props
@@ -22,7 +81,21 @@ function ContextMenuTrigger({
22
81
  />
23
82
  )
24
83
  }
25
-
84
+ // CIL[END chunk_id="contextmenu_contextmenutrigger_1783844098"]
85
+ // CIL[BEGIN chunk_id="contextmenu_contextmenugroup_1783844098" type="function" identity="ContextMenuGroup" parent="none"]
86
+ // CIL[DOC-MACRO purpose="Container for grouping context menu items"]
87
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide grouping container for related menu items"]
88
+ // CIL[DOC-CONTEXT module="contextmenu" 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\",\"\\\"]"]
89
+ // CIL[DOC-CONTRACT inputs="none" outputs="group container" errors="none" side_effects="renders DOM"]
90
+ // CIL[DOC-MICRO logic_summary="Wraps Radix ContextMenuGroup with data-slot attribute" notable_decisions="[]"]
91
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
92
+ // CIL[DOC-STABILITY stability="stable"]
93
+ // 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, \."]
94
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
95
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
96
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
97
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
98
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
26
99
  function ContextMenuGroup({
27
100
  ...props
28
101
  }: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {
@@ -30,7 +103,21 @@ function ContextMenuGroup({
30
103
  <ContextMenuPrimitive.Group data-slot="context-menu-group" {...props} />
31
104
  )
32
105
  }
33
-
106
+ // CIL[END chunk_id="contextmenu_contextmenugroup_1783844098"]
107
+ // CIL[BEGIN chunk_id="contextmenu_contextmenuportal_1783844098" type="function" identity="ContextMenuPortal" parent="none"]
108
+ // CIL[DOC-MACRO purpose="Portal for rendering context menu outside DOM tree"]
109
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide portal for context menu positioning"]
110
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
111
+ // CIL[DOC-CONTRACT inputs="none" outputs="context menu portal" errors="none" side_effects="renders DOM"]
112
+ // CIL[DOC-MICRO logic_summary="Wraps Radix ContextMenuPortal with data-slot attribute" notable_decisions="[]"]
113
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
114
+ // CIL[DOC-STABILITY stability="stable"]
115
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
116
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
117
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
118
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
119
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
120
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
34
121
  function ContextMenuPortal({
35
122
  ...props
36
123
  }: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {
@@ -38,13 +125,41 @@ function ContextMenuPortal({
38
125
  <ContextMenuPrimitive.Portal data-slot="context-menu-portal" {...props} />
39
126
  )
40
127
  }
41
-
128
+ // CIL[END chunk_id="contextmenu_contextmenuportal_1783844098"]
129
+ // CIL[BEGIN chunk_id="contextmenu_contextmenusub_1783844098" type="function" identity="ContextMenuSub" parent="none"]
130
+ // CIL[DOC-MACRO purpose="Submenu container for nested context menus"]
131
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide container for nested menu items"]
132
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
133
+ // CIL[DOC-CONTRACT inputs="none" outputs="submenu container" errors="none" side_effects="renders DOM"]
134
+ // CIL[DOC-MICRO logic_summary="Wraps Radix ContextMenuSub with data-slot attribute" notable_decisions="[]"]
135
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
136
+ // CIL[DOC-STABILITY stability="stable"]
137
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
138
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
139
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
140
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
141
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
142
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
42
143
  function ContextMenuSub({
43
144
  ...props
44
145
  }: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {
45
146
  return <ContextMenuPrimitive.Sub data-slot="context-menu-sub" {...props} />
46
147
  }
47
-
148
+ // CIL[END chunk_id="contextmenu_contextmenusub_1783844098"]
149
+ // CIL[BEGIN chunk_id="contextmenu_contextmenuradiogroup_1783844098" type="function" identity="ContextMenuRadioGroup" parent="none"]
150
+ // CIL[DOC-MACRO purpose="Radio group container for context menu items"]
151
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide radio button grouping for menu items"]
152
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
153
+ // CIL[DOC-CONTRACT inputs="none" outputs="radio group container" errors="none" side_effects="renders DOM"]
154
+ // CIL[DOC-MICRO logic_summary="Wraps Radix ContextMenuRadioGroup with data-slot attribute" notable_decisions="[]"]
155
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
156
+ // CIL[DOC-STABILITY stability="stable"]
157
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
158
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
159
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
160
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
161
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
162
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
48
163
  function ContextMenuRadioGroup({
49
164
  ...props
50
165
  }: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {
@@ -55,7 +170,21 @@ function ContextMenuRadioGroup({
55
170
  />
56
171
  )
57
172
  }
58
-
173
+ // CIL[END chunk_id="contextmenu_contextmenuradiogroup_1783844098"]
174
+ // CIL[BEGIN chunk_id="contextmenu_contextmenucontent_1783844098" type="function" identity="ContextMenuContent" parent="none"]
175
+ // CIL[DOC-MACRO purpose="Main context menu content container"]
176
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide styled popup container for menu items"]
177
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
178
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled popup container" errors="none" side_effects="renders DOM"]
179
+ // CIL[DOC-MICRO logic_summary="Creates popup with portal, animations and popover styling" notable_decisions="[]"]
180
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
181
+ // CIL[DOC-STABILITY stability="stable"]
182
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
183
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
184
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
185
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
186
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
187
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
59
188
  function ContextMenuContent({
60
189
  className,
61
190
  ...props
@@ -72,7 +201,21 @@ function ContextMenuContent({
72
201
  </ContextMenuPrimitive.Portal>
73
202
  )
74
203
  }
75
-
204
+ // CIL[END chunk_id="contextmenu_contextmenucontent_1783844098"]
205
+ // CIL[BEGIN chunk_id="contextmenu_contextmenuitem_1783844098" type="function" identity="ContextMenuItem" parent="none"]
206
+ // CIL[DOC-MACRO purpose="Individual context menu item"]
207
+ // CIL[DOC-RESPONSIBILITY responsibility="Render selectable menu item with variants and inset support"]
208
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
209
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled menu item" errors="none" side_effects="renders DOM"]
210
+ // CIL[DOC-MICRO logic_summary="Creates interactive item with focus styling and destructive variant" notable_decisions="[]"]
211
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
212
+ // CIL[DOC-STABILITY stability="stable"]
213
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
214
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
215
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
216
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
217
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
218
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
76
219
  function ContextMenuItem({
77
220
  className,
78
221
  inset,
@@ -95,7 +238,21 @@ function ContextMenuItem({
95
238
  />
96
239
  )
97
240
  }
98
-
241
+ // CIL[END chunk_id="contextmenu_contextmenuitem_1783844098"]
242
+ // CIL[BEGIN chunk_id="contextmenu_contextmenusubtrigger_1783844098" type="function" identity="ContextMenuSubTrigger" parent="none"]
243
+ // CIL[DOC-MACRO purpose="Trigger for nested context menu submenus"]
244
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide trigger with chevron for submenu expansion"]
245
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
246
+ // CIL[DOC-CONTRACT inputs="none" outputs="submenu trigger" errors="none" side_effects="renders DOM"]
247
+ // CIL[DOC-MICRO logic_summary="Creates trigger with chevron icon and inset styling support" 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"]
99
256
  function ContextMenuSubTrigger({
100
257
  className,
101
258
  inset,
@@ -119,7 +276,21 @@ function ContextMenuSubTrigger({
119
276
  </ContextMenuPrimitive.SubTrigger>
120
277
  )
121
278
  }
122
-
279
+ // CIL[END chunk_id="contextmenu_contextmenusubtrigger_1783844098"]
280
+ // CIL[BEGIN chunk_id="contextmenu_contextmenusubcontent_1783844098" type="function" identity="ContextMenuSubContent" parent="none"]
281
+ // CIL[DOC-MACRO purpose="Content container for nested submenus"]
282
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide styled popup for submenu items"]
283
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
284
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled submenu popup" errors="none" side_effects="renders DOM"]
285
+ // CIL[DOC-MICRO logic_summary="Creates popup container with animations for submenu content" notable_decisions="[]"]
286
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
287
+ // CIL[DOC-STABILITY stability="stable"]
288
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
289
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
290
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
291
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
292
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
293
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
123
294
  function ContextMenuSubContent({
124
295
  className,
125
296
  ...props
@@ -132,7 +303,21 @@ function ContextMenuSubContent({
132
303
  />
133
304
  )
134
305
  }
135
-
306
+ // CIL[END chunk_id="contextmenu_contextmenusubcontent_1783844098"]
307
+ // CIL[BEGIN chunk_id="contextmenu_contextmenucheckboxitem_1783844098" type="function" identity="ContextMenuCheckboxItem" parent="none"]
308
+ // CIL[DOC-MACRO purpose="Checkbox item for context menus"]
309
+ // CIL[DOC-RESPONSIBILITY responsibility="Render toggleable menu item with check indicator"]
310
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
311
+ // CIL[DOC-CONTRACT inputs="none" outputs="checkbox menu item" errors="none" side_effects="renders DOM"]
312
+ // CIL[DOC-MICRO logic_summary="Creates toggleable item with check indicator and inset styling" notable_decisions="[]"]
313
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
314
+ // CIL[DOC-STABILITY stability="stable"]
315
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
316
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
317
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
318
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
319
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
320
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
136
321
  function ContextMenuCheckboxItem({
137
322
  className,
138
323
  children,
@@ -163,7 +348,21 @@ function ContextMenuCheckboxItem({
163
348
  </ContextMenuPrimitive.CheckboxItem>
164
349
  )
165
350
  }
166
-
351
+ // CIL[END chunk_id="contextmenu_contextmenucheckboxitem_1783844098"]
352
+ // CIL[BEGIN chunk_id="contextmenu_contextmenuradioitem_1783844098" type="function" identity="ContextMenuRadioItem" parent="none"]
353
+ // CIL[DOC-MACRO purpose="Radio button item for context menus"]
354
+ // CIL[DOC-RESPONSIBILITY responsibility="Render selectable radio item with check indicator"]
355
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
356
+ // CIL[DOC-CONTRACT inputs="none" outputs="radio menu item" errors="none" side_effects="renders DOM"]
357
+ // CIL[DOC-MICRO logic_summary="Creates radio item with check indicator and inset styling" notable_decisions="[]"]
358
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
359
+ // CIL[DOC-STABILITY stability="stable"]
360
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
361
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
362
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
363
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
364
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
365
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
167
366
  function ContextMenuRadioItem({
168
367
  className,
169
368
  children,
@@ -192,7 +391,21 @@ function ContextMenuRadioItem({
192
391
  </ContextMenuPrimitive.RadioItem>
193
392
  )
194
393
  }
195
-
394
+ // CIL[END chunk_id="contextmenu_contextmenuradioitem_1783844098"]
395
+ // CIL[BEGIN chunk_id="contextmenu_contextmenulabel_1783844098" type="function" identity="ContextMenuLabel" parent="none"]
396
+ // CIL[DOC-MACRO purpose="Label text for context menu sections"]
397
+ // CIL[DOC-RESPONSIBILITY responsibility="Display styled label text for menu sections"]
398
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
399
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled label" errors="none" side_effects="renders DOM"]
400
+ // CIL[DOC-MICRO logic_summary="Creates muted text label with inset styling support" notable_decisions="[]"]
401
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
402
+ // CIL[DOC-STABILITY stability="stable"]
403
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
404
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
405
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
406
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
407
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
408
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
196
409
  function ContextMenuLabel({
197
410
  className,
198
411
  inset,
@@ -212,7 +425,21 @@ function ContextMenuLabel({
212
425
  />
213
426
  )
214
427
  }
215
-
428
+ // CIL[END chunk_id="contextmenu_contextmenulabel_1783844098"]
429
+ // CIL[BEGIN chunk_id="contextmenu_contextmenuseparator_1783844098" type="function" identity="ContextMenuSeparator" parent="none"]
430
+ // CIL[DOC-MACRO purpose="Visual separator for context menu sections"]
431
+ // CIL[DOC-RESPONSIBILITY responsibility="Render styled separator between menu sections"]
432
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
433
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled separator" errors="none" side_effects="renders DOM"]
434
+ // CIL[DOC-MICRO logic_summary="Creates horizontal line with margin and border styling" notable_decisions="[]"]
435
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
436
+ // CIL[DOC-STABILITY stability="stable"]
437
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
438
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
439
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
440
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
441
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
442
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
216
443
  function ContextMenuSeparator({
217
444
  className,
218
445
  ...props
@@ -225,7 +452,21 @@ function ContextMenuSeparator({
225
452
  />
226
453
  )
227
454
  }
228
-
455
+ // CIL[END chunk_id="contextmenu_contextmenuseparator_1783844098"]
456
+ // CIL[BEGIN chunk_id="contextmenu_contextmenushortcut_1783844098" type="function" identity="ContextMenuShortcut" parent="none"]
457
+ // CIL[DOC-MACRO purpose="Keyboard shortcut display for menu items"]
458
+ // CIL[DOC-RESPONSIBILITY responsibility="Render styled keyboard shortcut text"]
459
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
460
+ // CIL[DOC-CONTRACT inputs="none" outputs="styled shortcut span" errors="none" side_effects="renders DOM"]
461
+ // CIL[DOC-MICRO logic_summary="Creates small tracking-widest text with focus styling" notable_decisions="[]"]
462
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
463
+ // CIL[DOC-STABILITY stability="stable"]
464
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
465
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
466
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
467
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
468
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
469
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
229
470
  function ContextMenuShortcut({
230
471
  className,
231
472
  ...props
@@ -241,7 +482,21 @@ function ContextMenuShortcut({
241
482
  />
242
483
  )
243
484
  }
244
-
485
+ // CIL[END chunk_id="contextmenu_contextmenushortcut_1783844098"]
486
+ // CIL[BEGIN chunk_id="contextmenu_exports_1783844098" type="exports" identity="exports" parent="none"]
487
+ // CIL[DOC-MACRO purpose="Export context menu components"]
488
+ // CIL[DOC-RESPONSIBILITY responsibility="Make all context menu components available for import"]
489
+ // CIL[DOC-CONTEXT module="contextmenu" layer="ui" related_files="[]"]
490
+ // CIL[DOC-CONTRACT inputs="none" outputs="component exports" errors="none" side_effects="module exports"]
491
+ // CIL[DOC-MICRO logic_summary="Exports all context menu components for external usage" notable_decisions="[]"]
492
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
493
+ // CIL[DOC-STABILITY stability="stable"]
494
+ // CIL[DOC-VECTOR type="context" content="Layer: ui. Direct callers: 0. Direct calls: 0. Related files: none."]
495
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
496
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
497
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
498
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
499
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
245
500
  export {
246
501
  ContextMenu,
247
502
  ContextMenuTrigger,
@@ -259,3 +514,4 @@ export {
259
514
  ContextMenuSubTrigger,
260
515
  ContextMenuRadioGroup,
261
516
  }
517
+ // CIL[END chunk_id="contextmenu_exports_1783844098"]