spine-framework 0.3.144 → 0.4.0

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