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
@@ -1,25 +1,128 @@
1
-
2
- // CIL[BEGIN chunk_id="index_module_header_1783927912" type="module_header" identity="module_header" parent="none"]
3
- // CIL[DOC-MACRO purpose="Barrel export for runtime page components"]
4
- // CIL[DOC-RESPONSIBILITY responsibility="Re-export schema-driven UI components"]
5
- // CIL[DOC-CONTEXT module="runtime-index" layer="frontend-component" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/layout/Sidebar.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
6
- // CIL[DOC-CONTRACT inputs="none" outputs="Exported runtime components" errors="none" side_effects="Module exports"]
7
- // CIL[DOC-MICRO logic_summary="Aggregates and exports all runtime page components" notable_decisions="[]"]
8
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
9
- // CIL[DOC-STABILITY stability="stable"]
10
- // CIL[DOC-AUDIENCE audience="developer"]
11
- // CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, custom/apps/portal/pages/ContentPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/layout/Sidebar.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
12
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
13
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
14
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
1
+ // CIL[BEGIN stable_id="~/.framework/src/components/runtime/index.ts:data_list_page:export" type="export" identity="data_list_page" parent="none"]
2
+ // CIL[DOC-MACRO purpose="Re-exports the DataListPage component for runtime module consumers"]
3
+ // CIL[DOC-RESPONSIBILITY responsibility="Make the DataListPage component importable from the runtime components index"]
4
+ // CIL[DOC-CONTEXT module="components/runtime" layer="runtime" related_files=".framework/src/components/runtime/index.ts"]
5
+ // CIL[DOC-CONTRACT inputs="none" outputs="named export { DataListPage }" errors="none" side_effects="none"]
6
+ // CIL[DOC-MICRO logic_summary="ES module named re-export from ./DataListPage" notable_decisions="[]"]
7
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
8
+ // CIL[DOC-STABILITY stability="stable"]
9
+ export { DataListPage } from './DataListPage'
10
+ // CIL[DOC-VECTOR type="context" content="purpose='Re-exports the DataListPage component for runtime module consumers'; No verified external callers; imports: none"]
11
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
12
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
13
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
15
14
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
16
15
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
17
- export { DataListPage } from './DataListPage'
16
+ // CIL[END stable_id="~/.framework/src/components/runtime/index.ts:data_list_page:export"]
17
+ // CIL[BEGIN stable_id="~/.framework/src/components/runtime/index.ts:data_detail_page:export" type="export" identity="data_detail_page" parent="none"]
18
+ // CIL[DOC-MACRO purpose="Re-exports the DataDetailPage component for runtime module consumers"]
19
+ // CIL[DOC-RESPONSIBILITY responsibility="Make the DataDetailPage component importable from the runtime components index"]
20
+ // CIL[DOC-CONTEXT module="components/runtime" layer="runtime" related_files=".framework/src/components/runtime/index.ts"]
21
+ // CIL[DOC-CONTRACT inputs="none" outputs="named export { DataDetailPage }" errors="none" side_effects="none"]
22
+ // CIL[DOC-MICRO logic_summary="ES module named re-export from ./DataDetailPage" notable_decisions="[]"]
23
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
24
+ // CIL[DOC-STABILITY stability="stable"]
18
25
  export { DataDetailPage } from './DataDetailPage'
26
+ // CIL[DOC-VECTOR type="context" content="purpose='Re-exports the DataDetailPage component for runtime module consumers'; No verified external callers; imports: none"]
27
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
28
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
29
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
30
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
31
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
32
+ // CIL[END stable_id="~/.framework/src/components/runtime/index.ts:data_detail_page:export"]
33
+ // CIL[BEGIN stable_id="~/.framework/src/components/runtime/index.ts:data_header:export" type="export" identity="data_header" parent="none"]
34
+ // CIL[DOC-MACRO purpose="Re-exports the DataHeader component for runtime module consumers"]
35
+ // CIL[DOC-RESPONSIBILITY responsibility="Make the DataHeader component importable from the runtime components index"]
36
+ // CIL[DOC-CONTEXT module="components/runtime" layer="runtime" related_files=".framework/src/components/runtime/index.ts"]
37
+ // CIL[DOC-CONTRACT inputs="none" outputs="named export { DataHeader }" errors="none" side_effects="none"]
38
+ // CIL[DOC-MICRO logic_summary="ES module named re-export from ./DataHeader" notable_decisions="[]"]
39
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
40
+ // CIL[DOC-STABILITY stability="stable"]
19
41
  export { DataHeader } from './DataHeader'
42
+ // CIL[DOC-VECTOR type="context" content="purpose='Re-exports the DataHeader component for runtime module consumers'; No verified external callers; imports: none"]
43
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
44
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
45
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
46
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
47
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
48
+ // CIL[END stable_id="~/.framework/src/components/runtime/index.ts:data_header:export"]
49
+ // CIL[BEGIN stable_id="~/.framework/src/components/runtime/index.ts:data_stats:export" type="export" identity="data_stats" parent="none"]
50
+ // CIL[DOC-MACRO purpose="Re-exports the DataStats component for runtime module consumers"]
51
+ // CIL[DOC-RESPONSIBILITY responsibility="Make the DataStats component importable from the runtime components index"]
52
+ // CIL[DOC-CONTEXT module="components/runtime" layer="runtime" related_files=".framework/src/components/runtime/index.ts"]
53
+ // CIL[DOC-CONTRACT inputs="none" outputs="named export { DataStats }" errors="none" side_effects="none"]
54
+ // CIL[DOC-MICRO logic_summary="ES module named re-export from ./DataStats" notable_decisions="[]"]
55
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
56
+ // CIL[DOC-STABILITY stability="stable"]
20
57
  export { DataStats } from './DataStats'
58
+ // CIL[DOC-VECTOR type="context" content="purpose='Re-exports the DataStats component for runtime module consumers'; No verified external callers; imports: none"]
59
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
60
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
61
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
62
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
63
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
64
+ // CIL[END stable_id="~/.framework/src/components/runtime/index.ts:data_stats:export"]
65
+ // CIL[BEGIN stable_id="~/.framework/src/components/runtime/index.ts:data_filters:export" type="export" identity="data_filters" parent="none"]
66
+ // CIL[DOC-MACRO purpose="Re-exports the DataFilters component for runtime module consumers"]
67
+ // CIL[DOC-RESPONSIBILITY responsibility="Make the DataFilters component importable from the runtime components index"]
68
+ // CIL[DOC-CONTEXT module="components/runtime" layer="runtime" related_files=".framework/src/components/runtime/index.ts"]
69
+ // CIL[DOC-CONTRACT inputs="none" outputs="named export { DataFilters }" errors="none" side_effects="none"]
70
+ // CIL[DOC-MICRO logic_summary="ES module named re-export from ./DataFilters" notable_decisions="[]"]
71
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
72
+ // CIL[DOC-STABILITY stability="stable"]
21
73
  export { DataFilters } from './DataFilters'
74
+ // CIL[DOC-VECTOR type="context" content="purpose='Re-exports the DataFilters component for runtime module consumers'; No verified external callers; imports: none"]
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"]
78
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
79
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
80
+ // CIL[END stable_id="~/.framework/src/components/runtime/index.ts:data_filters:export"]
81
+ // CIL[BEGIN stable_id="~/.framework/src/components/runtime/index.ts:data_table:export" type="export" identity="data_table" parent="none"]
82
+ // CIL[DOC-MACRO purpose="Re-exports the DataTable component for runtime module consumers"]
83
+ // CIL[DOC-RESPONSIBILITY responsibility="Make the DataTable component importable from the runtime components index"]
84
+ // CIL[DOC-CONTEXT module="components/runtime" layer="runtime" related_files=".framework/src/components/runtime/index.ts"]
85
+ // CIL[DOC-CONTRACT inputs="none" outputs="named export { DataTable }" errors="none" side_effects="none"]
86
+ // CIL[DOC-MICRO logic_summary="ES module named re-export from ./DataTable" notable_decisions="[]"]
87
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
88
+ // CIL[DOC-STABILITY stability="stable"]
22
89
  export { DataTable } from './DataTable'
90
+ // CIL[DOC-VECTOR type="context" content="purpose='Re-exports the DataTable component for runtime module consumers'; No verified external callers; imports: none"]
91
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
92
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
93
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
94
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
95
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
96
+ // CIL[END stable_id="~/.framework/src/components/runtime/index.ts:data_table:export"]
97
+ // CIL[BEGIN stable_id="~/.framework/src/components/runtime/index.ts:data_detail_header:export" type="export" identity="data_detail_header" parent="none"]
98
+ // CIL[DOC-MACRO purpose="Re-exports the DataDetailHeader component for runtime module consumers"]
99
+ // CIL[DOC-RESPONSIBILITY responsibility="Make the DataDetailHeader component importable from the runtime components index"]
100
+ // CIL[DOC-CONTEXT module="components/runtime" layer="runtime" related_files=".framework/src/components/runtime/index.ts"]
101
+ // CIL[DOC-CONTRACT inputs="none" outputs="named export { DataDetailHeader }" errors="none" side_effects="none"]
102
+ // CIL[DOC-MICRO logic_summary="ES module named re-export from ./DataDetailHeader" notable_decisions="[]"]
103
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
104
+ // CIL[DOC-STABILITY stability="stable"]
23
105
  export { DataDetailHeader } from './DataDetailHeader'
106
+ // CIL[DOC-VECTOR type="context" content="purpose='Re-exports the DataDetailHeader component for runtime module consumers'; No verified external callers; imports: none"]
107
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
108
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
109
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
110
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
111
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
112
+ // CIL[END stable_id="~/.framework/src/components/runtime/index.ts:data_detail_header:export"]
113
+ // CIL[BEGIN stable_id="~/.framework/src/components/runtime/index.ts:schema_detail_form:export" type="export" identity="schema_detail_form" parent="none"]
114
+ // CIL[DOC-MACRO purpose="Re-exports the SchemaDetailForm component for runtime module consumers"]
115
+ // CIL[DOC-RESPONSIBILITY responsibility="Make the SchemaDetailForm component importable from the runtime components index"]
116
+ // CIL[DOC-CONTEXT module="components/runtime" layer="runtime" related_files=".framework/src/components/runtime/index.ts"]
117
+ // CIL[DOC-CONTRACT inputs="none" outputs="named export { SchemaDetailForm }" errors="none" side_effects="none"]
118
+ // CIL[DOC-MICRO logic_summary="ES module named re-export from ./SchemaDetailForm" notable_decisions="[]"]
119
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
120
+ // CIL[DOC-STABILITY stability="stable"]
24
121
  export { SchemaDetailForm } from './SchemaDetailForm'
25
- // CIL[END chunk_id="index_module_header_1783927912"]
122
+ // CIL[DOC-VECTOR type="context" content="purpose='Re-exports the SchemaDetailForm component for runtime module consumers'; No verified external callers; imports: none"]
123
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
124
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
125
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
126
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
127
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
128
+ // CIL[END stable_id="~/.framework/src/components/runtime/index.ts:schema_detail_form:export"]
@@ -1,22 +1,30 @@
1
-
2
-
3
- // CIL[BEGIN chunk_id="search-form_module_header_1783927912" type="module_header" identity="module_header" parent="none"]
4
- // CIL[DOC-MACRO purpose="Import dependencies for search form component"]
5
- // CIL[DOC-RESPONSIBILITY responsibility="Manage UI component imports and client directive"]
6
- // CIL[DOC-CONTEXT module="search-form" layer="frontend-component" related_files="[\".framework/src/components/layout/Sidebar.tsx\",\".framework/src/components/ui/dialog.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
7
- // CIL[DOC-CONTRACT inputs="none" outputs="Imported modules" errors="none" side_effects="none"]
8
- // CIL[DOC-MICRO logic_summary="Imports UI components and icons for search form" notable_decisions="[]"]
9
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
1
+ // CIL[BEGIN stable_id="~/.framework/src/components/search-form.tsx:use_client:directive" type="directive" identity="use_client" parent="~/.framework/src/components/search-form.tsx"]
2
+ // CIL[DOC-MACRO purpose="Declares this file as a client component for the Next.js runtime."]
3
+ // CIL[DOC-RESPONSIBILITY responsibility="Instructs the bundler to execute this module in the browser, not on the server."]
4
+ // CIL[DOC-CONTEXT module="search-form" layer="component" related_files=".framework/src/components/search-form.tsx,.framework/src/components/ui/label.tsx,.framework/src/components/ui/sidebar.tsx"]
5
+ // CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="Sets module bundler runtime context."]
6
+ // CIL[DOC-MICRO logic_summary="'use client' directive only." notable_decisions="[]"]
7
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
10
8
  // CIL[DOC-STABILITY stability="stable"]
11
- // CIL[DOC-AUDIENCE audience="developer"]
12
- // CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/layout/Sidebar.tsx, .framework/src/components/ui/dialog.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
13
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
14
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
15
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
9
+ "use client"
10
+
11
+ // CIL[DOC-VECTOR type="context" content="purpose='Declares this file as a client component for the Next.js runtime.'; No verified external callers; imports: .framework/src/components/ui/label.tsx,.framework/src/components/ui/sidebar.tsx"]
12
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
13
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
14
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
16
15
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
17
16
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
18
- "use client"
17
+ // CIL[END stable_id="~/.framework/src/components/search-form.tsx:use_client:directive"]
19
18
 
19
+ // CIL[BEGIN stable_id="~/.framework/src/components/search-form.tsx:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/src/components/search-form.tsx"]
20
+ // CIL[DOC-MACRO purpose="Imports dependencies for the SearchForm UI component."]
21
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide React and UI component imports used by SearchForm."]
22
+ // CIL[DOC-CONTEXT module="search-form" layer="component" related_files=".framework/src/components/ui/label.tsx,.framework/src/components/ui/sidebar.tsx"]
23
+ // CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="Loads external modules."]
24
+ // CIL[DOC-MICRO logic_summary="Imports Label, SidebarGroup, SidebarInput primitives, and the SearchIcon from lucide-react." notable_decisions="[]"]
25
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
26
+ // CIL[DOC-STABILITY stability="stable"]
27
+ // CIL[DOC-AUDIENCE audience="developer"]
20
28
  import { Label } from "./ui/label"
21
29
  import {
22
30
  SidebarGroup,
@@ -24,21 +32,23 @@ import {
24
32
  SidebarInput,
25
33
  } from "./ui/sidebar"
26
34
  import { SearchIcon } from "lucide-react"
27
- // CIL[END chunk_id="search-form_module_header_1783927912"]
28
- // CIL[BEGIN chunk_id="search-form_searchform_1783927912" type="function" identity="SearchForm" parent="none"]
29
- // CIL[DOC-MACRO purpose="Render search input form with sidebar styling"]
30
- // CIL[DOC-RESPONSIBILITY responsibility="Create search form UI with icon and placeholder"]
31
- // CIL[DOC-CONTEXT module="search-form" layer="frontend-component" related_files="[\".framework/src/components/layout/Sidebar.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\"\\\"]"]
32
- // CIL[DOC-CONTRACT inputs="none" outputs="Styled search form component" errors="none" side_effects="Renders UI"]
33
- // CIL[DOC-MICRO logic_summary="Wraps form in sidebar components with search icon" notable_decisions="[]"]
34
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
35
- // CIL[DOC-STABILITY stability="stable"]
36
- // CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/layout/Sidebar.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/TypeDetailPage.tsx, custom/apps/cortex/functions/custom_cil-embeddings.ts, \."]
37
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
38
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
39
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
35
+
36
+ // CIL[DOC-VECTOR type="context" content="purpose='Imports dependencies for the SearchForm UI component.'; No verified external callers; imports: .framework/src/components/ui/label.tsx,.framework/src/components/ui/sidebar.tsx"]
37
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
38
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
39
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
40
40
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
41
41
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
42
+ // CIL[END stable_id="~/.framework/src/components/search-form.tsx:module_header:module_header"]
43
+
44
+ // CIL[BEGIN stable_id="~/.framework/src/components/search-form.tsx:SearchForm:component" type="component" identity="SearchForm" parent="~/.framework/src/components/search-form.tsx"]
45
+ // CIL[DOC-MACRO purpose="Renders a search input form for the sidebar."]
46
+ // CIL[DOC-RESPONSIBILITY responsibility="Display an accessible search field with a hidden label and search icon."]
47
+ // CIL[DOC-CONTEXT module="search-form" layer="component" related_files=".framework/src/components/search-form.tsx,.framework/src/components/ui/label.tsx,.framework/src/components/ui/sidebar.tsx"]
48
+ // CIL[DOC-CONTRACT inputs="props: React.ComponentProps<'form'>" outputs="JSX form with a styled search input and icon" errors="none" side_effects="none"]
49
+ // CIL[DOC-MICRO logic_summary="Spreads form props and renders a sidebar-styled input, sr-only label, and lucide SearchIcon." notable_decisions="[]"]
50
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
51
+ // CIL[DOC-STABILITY stability="stable"]
42
52
  export function SearchForm({ ...props }: React.ComponentProps<"form">) {
43
53
  return (
44
54
  <form {...props}>
@@ -58,4 +68,11 @@ export function SearchForm({ ...props }: React.ComponentProps<"form">) {
58
68
  </form>
59
69
  )
60
70
  }
61
- // CIL[END chunk_id="search-form_searchform_1783927912"]
71
+
72
+ // CIL[DOC-VECTOR type="context" content="purpose='Renders a search input form for the sidebar.'; No verified external callers; imports: .framework/src/components/ui/label.tsx,.framework/src/components/ui/sidebar.tsx"]
73
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
74
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
75
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
76
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
77
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
78
+ // CIL[END stable_id="~/.framework/src/components/search-form.tsx:SearchForm:component"]
@@ -1,24 +1,33 @@
1
+ // CIL[BEGIN stable_id="~/.framework/src/components/shared/AgentView.tsx:module_header:module_header" type="module_header" identity="module_header" parent="none"]
2
+ // CIL[DOC-MACRO purpose="React component for rendering agent/developer API call examples and live response data for Spine endpoints"]
3
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide the module header, imports, and default export for the AgentView shared component"]
4
+ // CIL[DOC-CONTEXT module="shared" layer="presentation" related_files=".framework/src/components/shared/AgentView.tsx"]
5
+ // CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="none"]
6
+ // CIL[DOC-MICRO logic_summary="Imports React, hooks, and lucide-react icons; no active logic at module level" notable_decisions="[]"]
7
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
8
+ // CIL[DOC-STABILITY stability="stable"]
9
+ // CIL[DOC-AUDIENCE audience="developer"]
1
10
 
2
11
 
12
+ import React, { useState, useEffect } from 'react'
13
+ import { Code, Terminal, Copy, Check, ChevronDown, ChevronUp } from 'lucide-react'
3
14
 
4
- // CIL[BEGIN chunk_id="AgentView_module_header_1783927912" type="module_header" identity="module_header" parent="none"]
5
- // CIL[DOC-MACRO purpose="Import dependencies and define AgentView component interface"]
6
- // CIL[DOC-RESPONSIBILITY responsibility="Manage React imports and component prop types"]
7
- // CIL[DOC-CONTEXT module="agent-view" layer="frontend-component" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"\\\"]"]
8
- // CIL[DOC-CONTRACT inputs="none" outputs="Imported modules and interface" errors="none" side_effects="none"]
9
- // CIL[DOC-MICRO logic_summary="Imports React hooks and icons, defines AgentViewProps interface" notable_decisions="[]"]
10
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
11
- // CIL[DOC-STABILITY stability="stable"]
12
- // CIL[DOC-AUDIENCE audience="developer"]
13
- // CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/ui/dialog.tsx, .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/IntegrationsPage.tsx, \."]
14
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
15
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
16
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
15
+ // CIL[DOC-VECTOR type="context" content="purpose='React component for rendering agent/developer API call examples and live response data for Spine endpoints'; No verified external callers; imports: none"]
16
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
17
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
18
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
17
19
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
18
20
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
19
- import React, { useState, useEffect } from 'react'
20
- import { Code, Terminal, Copy, Check, ChevronDown, ChevronUp } from 'lucide-react'
21
+ // CIL[END stable_id="~/.framework/src/components/shared/AgentView.tsx:module_header:module_header"]
21
22
 
23
+ // CIL[BEGIN stable_id="~/.framework/src/components/shared/AgentView.tsx:agentviewprops:interface" type="interface" identity="agentviewprops" parent="~/.framework/src/components/shared/AgentView.tsx:module_header:module_header"]
24
+ // CIL[DOC-MACRO purpose="Type definition for the AgentView component props"]
25
+ // CIL[DOC-RESPONSIBILITY responsibility="Declare the shape of data, endpoint, method, query, body, and title props"]
26
+ // CIL[DOC-CONTEXT module="shared" layer="presentation" related_files=".framework/src/components/shared/AgentView.tsx"]
27
+ // CIL[DOC-CONTRACT inputs="none" outputs="AgentViewProps interface" errors="none" side_effects="none"]
28
+ // CIL[DOC-MICRO logic_summary="Optional method, query, body, and title fields extend required data and endpoint fields" notable_decisions="[]"]
29
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
30
+ // CIL[DOC-STABILITY stability="stable"]
22
31
  interface AgentViewProps {
23
32
  data: any
24
33
  endpoint: string
@@ -27,21 +36,22 @@ interface AgentViewProps {
27
36
  body?: any
28
37
  title?: string
29
38
  }
30
- // CIL[END chunk_id="AgentView_module_header_1783927912"]
31
- // CIL[BEGIN chunk_id="AgentView_agentview_1783927912" type="function" identity="AgentView" parent="none"]
32
- // CIL[DOC-MACRO purpose="Render collapsible developer panel with API data and code examples"]
33
- // CIL[DOC-RESPONSIBILITY responsibility="Display raw JSON, curl/fetch commands, and CLI examples for agents"]
34
- // CIL[DOC-CONTEXT module="agent-view" layer="frontend-component" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/RolesPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"\\\"]"]
35
- // CIL[DOC-CONTRACT inputs="none" outputs="Interactive developer panel" errors="none" side_effects="Renders UI, clipboard operations"]
36
- // CIL[DOC-MICRO logic_summary="Generates code examples from API data, manages copy state, renders collapsible panel" notable_decisions="[]"]
37
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
38
- // CIL[DOC-STABILITY stability="stable"]
39
- // CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/IntegrationsPage.tsx, .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/RolesPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, \."]
40
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
41
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
42
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
39
+ // CIL[DOC-VECTOR type="context" content="purpose='Type definition for the AgentView component props'; No verified external callers; imports: none"]
40
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
41
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
42
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
43
43
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
44
44
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
45
+ // CIL[END stable_id="~/.framework/src/components/shared/AgentView.tsx:agentviewprops:interface"]
46
+
47
+ // CIL[BEGIN stable_id="~/.framework/src/components/shared/AgentView.tsx:agentview:function" type="function" identity="agentview" parent="~/.framework/src/components/shared/AgentView.tsx:module_header:module_header"]
48
+ // CIL[DOC-MACRO purpose="Render an expandable panel with cURL, fetch, Spine CLI examples and the JSON response"]
49
+ // CIL[DOC-RESPONSIBILITY responsibility="Build command strings from props and present copyable code blocks"]
50
+ // CIL[DOC-CONTEXT module="shared" layer="presentation" related_files=".framework/src/components/shared/AgentView.tsx"]
51
+ // CIL[DOC-CONTRACT inputs="data, endpoint, method, query, body, title" outputs="JSX collapsible AgentView panel" errors="none" side_effects="writes to navigator.clipboard and sets a 2s copied timer"]
52
+ // CIL[DOC-MICRO logic_summary="Computes base URL, full URL, curl/fetch/cli snippets; toggles open state and copy feedback" notable_decisions="[]"]
53
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
54
+ // CIL[DOC-STABILITY stability="stable"]
45
55
  export function AgentView({
46
56
  data,
47
57
  endpoint,
@@ -174,12 +184,12 @@ export function AgentView({
174
184
  Spine CLI
175
185
  </div>
176
186
  <button
177
- onClick={() => handleCopy(cliCmd, 'cli')}
178
- className="flex items-center gap-1 text-xs text-gray-500 hover:text-gray-700"
179
- >
180
- {copied === 'cli' ? <Check className="w-3 h-3" /> : <Copy className="w-3 h-3" />}
181
- {copied === 'cli' ? 'Copied!' : 'Copy'}
182
- </button>
187
+ onClick={() => handleCopy(cliCmd, 'cli')}
188
+ className="flex items-center gap-1 text-xs text-gray-500 hover:text-gray-700"
189
+ >
190
+ {copied === 'cli' ? <Check className="w-3 h-3" /> : <Copy className="w-3 h-3" />}
191
+ {copied === 'cli' ? 'Copied!' : 'Copy'}
192
+ </button>
183
193
  </div>
184
194
  <pre className="bg-green-900 text-green-100 p-3 rounded text-xs overflow-auto font-mono">
185
195
  {cliCmd}
@@ -191,20 +201,27 @@ export function AgentView({
191
201
  </div>
192
202
  )
193
203
  }
194
- // CIL[END chunk_id="AgentView_agentview_1783927912"]
195
- // CIL[BEGIN chunk_id="AgentView_export_1783927912" type="export" identity="default_export" parent="none"]
196
- // CIL[DOC-MACRO purpose="Export AgentView component as default"]
197
- // CIL[DOC-RESPONSIBILITY responsibility="Provide default export for component module"]
198
- // CIL[DOC-CONTEXT module="agent-view" layer="frontend-component" related_files="[\".framework/src/components/ui/dialog.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"\\\"]"]
199
- // CIL[DOC-CONTRACT inputs="none" outputs="Default export" errors="none" side_effects="Module export"]
200
- // CIL[DOC-MICRO logic_summary="Export AgentView component for import by other modules" notable_decisions="[]"]
201
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
202
- // CIL[DOC-STABILITY stability="stable"]
203
- // CIL[DOC-VECTOR type="context" content="Layer: frontend-component. Direct callers: 0. Direct calls: 0. Related files: .framework/src/components/ui/dialog.tsx, .framework/src/pages/admin/RolesPage.tsx, custom/apps/portal/pages/ContentPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, \."]
204
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
205
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
206
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
204
+ // CIL[DOC-VECTOR type="context" content="purpose='Render an expandable panel with cURL, fetch, Spine CLI examples and the JSON response'; No verified external callers; imports: none"]
205
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
206
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
207
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
207
208
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
208
209
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
210
+ // CIL[END stable_id="~/.framework/src/components/shared/AgentView.tsx:agentview:function"]
211
+
212
+ // CIL[BEGIN stable_id="~/.framework/src/components/shared/AgentView.tsx:default:function" type="function" identity="default" parent="~/.framework/src/components/shared/AgentView.tsx:module_header:module_header"]
213
+ // CIL[DOC-MACRO purpose="Default export of the AgentView component"]
214
+ // CIL[DOC-RESPONSIBILITY responsibility="Export AgentView as the module default for convenient imports"]
215
+ // CIL[DOC-CONTEXT module="shared" layer="presentation" related_files=".framework/src/components/shared/AgentView.tsx"]
216
+ // CIL[DOC-CONTRACT inputs="none" outputs="AgentView default export" errors="none" side_effects="none"]
217
+ // CIL[DOC-MICRO logic_summary="Re-exports AgentView as the module default" notable_decisions="[]"]
218
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
219
+ // CIL[DOC-STABILITY stability="stable"]
209
220
  export default AgentView
210
- // CIL[END chunk_id="AgentView_export_1783927912"]
221
+ // CIL[DOC-VECTOR type="context" content="purpose='Default export of the AgentView component'; No verified external callers; imports: none"]
222
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
223
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
224
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
225
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
226
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
227
+ // CIL[END stable_id="~/.framework/src/components/shared/AgentView.tsx:default:function"]