spine-framework 0.3.145 → 0.4.0

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