spine-framework 0.3.145 → 0.4.1

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 +5067 -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,45 +1,71 @@
1
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/migrations.ts:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/cli/commands/migrations.ts"]
2
+ // CIL[DOC-MACRO purpose="CLI migration inspection commands for listing applied migrations and comparing local SQL files"]
3
+ // CIL[DOC-RESPONSIBILITY responsibility="Defines the migration CLI module and wires list/status subcommands"]
4
+ // CIL[DOC-CONTEXT module="cli/commands/migrations" layer="cli" related_files=".framework/cli/context.ts,.framework/functions/_shared/index.ts"]
5
+ // CIL[DOC-CONTRACT inputs="Commander program" outputs="registered subcommands" errors="None at module level" side_effects="Imports and re-exports registerMigrationCommands"]
6
+ // CIL[DOC-MICRO logic_summary="Imports commander helpers, database utilities, and the registerMigrationCommands function" notable_decisions="[]"]
7
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
8
+ // CIL[DOC-STABILITY stability="stable"]
9
+ // CIL[DOC-AUDIENCE audience="framework developers"]
10
+
1
11
 
2
12
 
3
13
 
4
- // CIL[BEGIN chunk_id="migrations_moduleheader_1784069813" type="module_header" identity="module_header" parent="none"]
5
- // CIL[DOC-MACRO purpose="Module imports for migration inspection CLI"]
6
- // CIL[DOC-RESPONSIBILITY responsibility="Provide CLI context and database access"]
7
- // CIL[DOC-CONTEXT module="cli.commands.migrations" layer="cli" related_files="[\".framework/migrations/015_simplify_apps_table.sql\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"\\\"]"]
8
- // CIL[DOC-CONTRACT inputs="none" outputs="imports" errors="none" side_effects="none"]
9
- // CIL[DOC-MICRO logic_summary="Imports Commander, CLI context utilities, and admin database" 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: cli. Direct callers: 0. Direct calls: 0. Related files: .framework/migrations/015_simplify_apps_table.sql, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, \."]
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."]
17
- // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
18
- // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
19
14
  import type { Command } from 'commander'
20
15
  import { readdirSync, existsSync } from 'fs'
21
16
  import { resolve, dirname } from 'path'
22
17
  import { fileURLToPath } from 'url'
23
18
  import { buildCliContext, printResult, handleError } from '../context.ts'
24
19
  import { adminDb } from '../../functions/_shared/index.ts'
25
-
20
+ // CIL[DOC-VECTOR type="context" content="purpose='CLI migration inspection commands for listing applied migrations and comparing local SQL files'; No verified external callers; imports: .framework/cli/context.ts,.framework/functions/_shared/index.ts"]
21
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
22
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
23
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
24
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
25
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
26
+ // CIL[END stable_id="~/.framework/cli/commands/migrations.ts:module_header:module_header"]
27
+
28
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/migrations.ts:__filename:constant" type="constant" identity="__filename" parent="~/.framework/cli/commands/migrations.ts"]
29
+ // CIL[DOC-MACRO purpose="Resolve the current module filename from import.meta.url"]
30
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide a CommonJS-style __filename value in ESM"]
31
+ // CIL[DOC-CONTEXT module="cli/commands/migrations" layer="utility" related_files=".framework/cli/commands/migrations.ts,.framework/cli/context.ts,.framework/functions/_shared/index.ts"]
32
+ // CIL[DOC-CONTRACT inputs="import.meta.url" outputs="absolute __filename" errors="none" side_effects="none"]
33
+ // CIL[DOC-MICRO logic_summary="call fileURLToPath on import.meta.url" notable_decisions="[]"]
34
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
35
+ // CIL[DOC-STABILITY stability="stable"]
26
36
  const __filename = fileURLToPath(import.meta.url)
27
- const __dirname = dirname(__filename)
28
- // CIL[END chunk_id="migrations_moduleheader_1784069813"]
29
- // CIL[BEGIN chunk_id="migrations_registermigrationcommands_1784069813" type="function" identity="registerMigrationCommands" parent="none"]
30
- // CIL[DOC-MACRO purpose="Register migration inspection commands"]
31
- // CIL[DOC-RESPONSIBILITY responsibility="Provide CLI commands for migration status and listing"]
32
- // CIL[DOC-CONTEXT module="cli.commands.migrations" layer="cli" related_files="[\".framework/migrations/015_simplify_apps_table.sql\",\"\\\"]"]
33
- // CIL[DOC-CONTRACT inputs="none" outputs="CLI commands" errors="database errors" side_effects="none"]
34
- // CIL[DOC-MICRO logic_summary="Registers list and status commands for migration inspection" notable_decisions="[]"]
35
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
37
+ // CIL[DOC-VECTOR type="context" content="purpose='Resolve the current module filename from import.meta.url'; No verified external callers; imports: .framework/cli/context.ts,.framework/functions/_shared/index.ts"]
38
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
39
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
40
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
41
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
42
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
43
+ // CIL[END stable_id="~/.framework/cli/commands/migrations.ts:__filename:constant"]
44
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/migrations.ts:__dirname:constant" type="constant" identity="__dirname" parent="~/.framework/cli/commands/migrations.ts"]
45
+ // CIL[DOC-MACRO purpose="Resolve the current module directory name"]
46
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide a CommonJS-style __dirname value in ESM"]
47
+ // CIL[DOC-CONTEXT module="cli/commands/migrations" layer="utility" related_files=".framework/cli/commands/migrations.ts,.framework/cli/context.ts,.framework/functions/_shared/index.ts"]
48
+ // CIL[DOC-CONTRACT inputs="__filename" outputs="absolute __dirname" errors="none" side_effects="none"]
49
+ // CIL[DOC-MICRO logic_summary="call dirname on the resolved __filename" notable_decisions="[]"]
50
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
36
51
  // CIL[DOC-STABILITY stability="stable"]
37
- // CIL[DOC-VECTOR type="context" content="Layer: cli. Direct callers: 0. Direct calls: 0. Related files: .framework/migrations/015_simplify_apps_table.sql, \."]
38
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
39
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
40
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
52
+ const __dirname = dirname(__filename)
53
+ // CIL[DOC-VECTOR type="context" content="purpose='Resolve the current module directory name'; No verified external callers; imports: .framework/cli/context.ts,.framework/functions/_shared/index.ts"]
54
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
55
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
56
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
41
57
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
42
58
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
59
+ // CIL[END stable_id="~/.framework/cli/commands/migrations.ts:__dirname:constant"]
60
+
61
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/migrations.ts:registerMigrationCommands:function" type="function" identity="registerMigrationCommands" parent="~/.framework/cli/commands/migrations.ts"]
62
+ // CIL[DOC-MACRO purpose="Register migration list and status CLI subcommands"]
63
+ // CIL[DOC-RESPONSIBILITY responsibility="Expose commands that query supabase_migrations and compare local SQL files"]
64
+ // CIL[DOC-CONTEXT module="cli/commands/migrations" layer="cli" related_files=".framework/cli/commands/migrations.ts,.framework/cli/context.ts,.framework/functions/_shared/index.ts"]
65
+ // CIL[DOC-CONTRACT inputs="program: Command" outputs="void" errors="Throws on missing migrations directory or failed DB queries" side_effects="Adds commands and options to the Commander program"]
66
+ // CIL[DOC-MICRO logic_summary="Define migrations command, add list and status subcommands with options, perform DB calls and console output" notable_decisions="[]"]
67
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
68
+ // CIL[DOC-STABILITY stability="stable"]
43
69
  export function registerMigrationCommands(program: Command) {
44
70
  const migrations = program
45
71
  .command('migrations')
@@ -131,4 +157,10 @@ export function registerMigrationCommands(program: Command) {
131
157
  }
132
158
  })
133
159
  }
134
- // CIL[END chunk_id="migrations_registermigrationcommands_1784069813"]
160
+ // CIL[DOC-VECTOR type="context" content="purpose='Register migration list and status CLI subcommands'; No verified external callers; imports: .framework/cli/context.ts,.framework/functions/_shared/index.ts"]
161
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
162
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
163
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
164
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
165
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
166
+ // CIL[END stable_id="~/.framework/cli/commands/migrations.ts:registerMigrationCommands:function"]
@@ -1,37 +1,33 @@
1
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/pipelines.ts:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/cli/commands/pipelines.ts"]
2
+ // CIL[DOC-AUDIENCE audience="cli developers"]
3
+ // CIL[DOC-MACRO purpose="CLI command module for pipeline management"]
4
+ // CIL[DOC-RESPONSIBILITY responsibility="Registers and exports pipeline subcommands for the Spine CLI"]
5
+ // CIL[DOC-CONTEXT module=".framework/cli/commands/pipelines.ts" layer="cli" related_files=".framework/cli/context.ts,.framework/functions/_shared/index.ts"]
6
+ // CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="none"]
7
+ // CIL[DOC-MICRO logic_summary="Imports dependencies and provides module-level hooks for pipeline CLI commands." notable_decisions="none"]
8
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
9
+ // CIL[DOC-STABILITY stable]
10
+
1
11
 
2
- // CIL[BEGIN chunk_id="pipelines_moduleheader_1784068794" type="module_header" identity="imports" parent="none"]
3
- // CIL[DOC-MACRO purpose="Import CLI dependencies and pipeline utilities"]
4
- // CIL[DOC-RESPONSIBILITY responsibility="Load required modules for pipeline commands"]
5
- // CIL[DOC-CONTEXT module="cli" layer="commands" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\".framework/functions/_shared/principal.ts\",\"\\\"]"]
6
- // CIL[DOC-CONTRACT inputs="none" outputs="loaded_modules" errors="none" side_effects="none"]
7
- // CIL[DOC-MICRO logic_summary="Imports Commander, context utilities, and pipeline functions" 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: commands. 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/src/pages/admin/RolesPage.tsx, .framework/functions/_shared/principal.ts, \."]
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."]
15
- // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
16
- // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
17
12
  import type { Command } from 'commander'
18
13
  import { buildCliContext, printResult, handleError } from '../context.ts'
19
14
  import { runPipeline, adminDb } from '../../functions/_shared/index.ts'
20
- // CIL[END chunk_id="pipelines_moduleheader_1784068794"]
21
- // CIL[BEGIN chunk_id="pipelines_registerpipelinecommands_1784068794" type="function" identity="registerPipelineCommands" parent="none"]
22
- // CIL[DOC-MACRO purpose="Register pipeline management commands"]
23
- // CIL[DOC-RESPONSIBILITY responsibility="Configure pipeline list, get, run, and executions commands"]
24
- // CIL[DOC-CONTEXT module="cli" layer="commands" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
25
- // CIL[DOC-CONTRACT inputs="none" outputs="pipeline_commands" errors="command_errors" side_effects="database_operations"]
26
- // CIL[DOC-MICRO logic_summary="Registers subcommands for pipeline CRUD and execution operations" notable_decisions="[]"]
27
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="complex_dependencies"]
28
- // CIL[DOC-STABILITY stability="stable"]
29
- // CIL[DOC-VECTOR type="context" content="Layer: commands. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, \."]
30
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
31
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
32
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
15
+ // CIL[DOC-VECTOR type="context" content="purpose='CLI command module for pipeline management'; No verified external callers; imports: .framework/cli/context.ts,.framework/functions/_shared/index.ts"]
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"]
33
19
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
34
20
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
21
+ // CIL[END stable_id="~/.framework/cli/commands/pipelines.ts:module_header:module_header"]
22
+
23
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/pipelines.ts:registerPipelineCommands:function" type="function" identity="registerPipelineCommands" parent="~/.framework/cli/commands/pipelines.ts"]
24
+ // CIL[DOC-MACRO purpose="Register pipeline subcommands on a commander program"]
25
+ // CIL[DOC-RESPONSIBILITY responsibility="Attach list, get, run, and executions subcommands to the 'pipelines' command"]
26
+ // CIL[DOC-CONTEXT module=".framework/cli/commands/pipelines.ts" layer="cli" related_files=".framework/cli/commands/pipelines.ts,.framework/cli/context.ts,.framework/functions/_shared/index.ts"]
27
+ // CIL[DOC-CONTRACT inputs="program: Command (commander program)" outputs="none; registers subcommands on program" errors="throws via handleError on execution" side_effects="console output; queries adminDb; runs pipeline"]
28
+ // CIL[DOC-MICRO logic_summary="Creates 'pipelines' command and subcommands for listing, getting, running, and listing executions." notable_decisions="list queries active pipelines with optional account filter; get fetches by id; run parses JSON trigger data and invokes runPipeline; executions loads recent executions."]
29
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
30
+ // CIL[DOC-STABILITY stable]
35
31
  export function registerPipelineCommands(program: Command) {
36
32
  const pipelines = program
37
33
  .command('pipelines')
@@ -155,4 +151,10 @@ export function registerPipelineCommands(program: Command) {
155
151
  }
156
152
  })
157
153
  }
158
- // CIL[END chunk_id="pipelines_registerpipelinecommands_1784068794"]
154
+ // CIL[DOC-VECTOR type="context" content="purpose='Register pipeline subcommands on a commander program'; No verified external callers; imports: .framework/cli/context.ts,.framework/functions/_shared/index.ts"]
155
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
156
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
157
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
158
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
159
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
160
+ // CIL[END stable_id="~/.framework/cli/commands/pipelines.ts:registerPipelineCommands:function"]
@@ -1,45 +1,98 @@
1
-
2
-
3
- // CIL[BEGIN chunk_id="status_moduleheader_1784068794" type="module_header" identity="imports" parent="none"]
4
- // CIL[DOC-MACRO purpose="Import dependencies and set up paths"]
5
- // CIL[DOC-RESPONSIBILITY responsibility="Load required modules and configure directory paths"]
6
- // CIL[DOC-CONTEXT module="cli" layer="commands" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\".framework/src/components/ui/dialog.tsx\",\"\\\"]"]
7
- // CIL[DOC-CONTRACT inputs="none" outputs="loaded_modules" errors="none" side_effects="none"]
8
- // CIL[DOC-MICRO logic_summary="Imports Commander, file system, path utilities, and Supabase client" notable_decisions="[]"]
9
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
10
- // CIL[DOC-STABILITY stability="stable"]
11
- // CIL[DOC-AUDIENCE audience="developer"]
12
- // CIL[DOC-VECTOR type="context" content="Layer: commands. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/pages/admin/RolesPage.tsx, .framework/src/components/ui/dialog.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."]
16
- // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
17
- // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
1
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/status.ts:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/cli/commands/status.ts"]
2
+ // CIL[DOC-AUDIENCE audience="CLI engineers and framework maintainers"]
3
+ // CIL[DOC-MACRO purpose="Provide module-level imports for the status CLI command"]
4
+ // CIL[DOC-RESPONSIBILITY responsibility="Load required third-party and Node modules for filesystem, path and Supabase access"]
5
+ // CIL[DOC-CONTEXT module="status" layer="cli" related_files=".framework/cli/commands/status.ts"]
6
+ // CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="none"]
7
+ // CIL[DOC-MICRO logic_summary="Imports type Command, filesystem utilities, path utilities, url helpers and the Supabase client"]
8
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
9
+ // CIL[DOC-STABILITY stable]
18
10
  import type { Command } from 'commander'
19
11
  import { existsSync, readFileSync, readdirSync } from 'fs'
20
12
  import { resolve, dirname, join, basename } from 'path'
21
13
  import { fileURLToPath } from 'url'
22
14
  import { createClient } from '@supabase/supabase-js'
15
+ // CIL[DOC-VECTOR type="context" content="purpose='Provide module-level imports for the status CLI command'; 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"]
19
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
20
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
21
+ // CIL[END stable_id="~/.framework/cli/commands/status.ts:module_header:module_header"]
23
22
 
23
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/status.ts:__filename:constant" type="constant" identity="__filename" parent="~/.framework/cli/commands/status.ts"]
24
+ // CIL[DOC-MACRO purpose="Expose the current module filename for path resolution"]
25
+ // CIL[DOC-RESPONSIBILITY responsibility="Derive __filename from import.meta.url"]
26
+ // CIL[DOC-CONTEXT module="status" layer="cli" related_files=".framework/cli/commands/status.ts"]
27
+ // CIL[DOC-CONTRACT inputs="none" outputs="string" errors="none" side_effects="none"]
28
+ // CIL[DOC-MICRO logic_summary="Use fileURLToPath to convert import.meta.url to an absolute file path"]
29
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
30
+ // CIL[DOC-STABILITY stable]
24
31
  const __filename = fileURLToPath(import.meta.url)
32
+ // CIL[DOC-VECTOR type="context" content="purpose='Expose the current module filename for path resolution'; No verified external callers; imports: none"]
33
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
34
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
35
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
36
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
37
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
38
+ // CIL[END stable_id="~/.framework/cli/commands/status.ts:__filename:constant"]
39
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/status.ts:__dirname:constant" type="constant" identity="__dirname" parent="~/.framework/cli/commands/status.ts"]
40
+ // CIL[DOC-MACRO purpose="Expose the current module directory for path resolution"]
41
+ // CIL[DOC-RESPONSIBILITY responsibility="Derive __dirname from __filename"]
42
+ // CIL[DOC-CONTEXT module="status" layer="cli" related_files=".framework/cli/commands/status.ts"]
43
+ // CIL[DOC-CONTRACT inputs="none" outputs="string" errors="none" side_effects="none"]
44
+ // CIL[DOC-MICRO logic_summary="Use dirname to get the directory portion of __filename"]
45
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
46
+ // CIL[DOC-STABILITY stable]
25
47
  const __dirname = dirname(__filename)
48
+ // CIL[DOC-VECTOR type="context" content="purpose='Expose the current module directory for path resolution'; No verified external callers; imports: none"]
49
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
50
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
51
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
52
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
53
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
54
+ // CIL[END stable_id="~/.framework/cli/commands/status.ts:__dirname:constant"]
55
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/status.ts:PACKAGE_ROOT:constant" type="constant" identity="PACKAGE_ROOT" parent="~/.framework/cli/commands/status.ts"]
56
+ // CIL[DOC-MACRO purpose="Locate the spine-framework package root directory"]
57
+ // CIL[DOC-RESPONSIBILITY responsibility="Resolve the package root relative to the current file"]
58
+ // CIL[DOC-CONTEXT module="status" layer="cli" related_files=".framework/cli/commands/status.ts"]
59
+ // CIL[DOC-CONTRACT inputs="none" outputs="string" errors="none" side_effects="none"]
60
+ // CIL[DOC-MICRO logic_summary="Resolve three directories up from __dirname to reach the framework package root"]
61
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
62
+ // CIL[DOC-STABILITY stable]
26
63
  const PACKAGE_ROOT = resolve(__dirname, '../../../')
64
+ // CIL[DOC-VECTOR type="context" content="purpose='Locate the spine-framework package root directory'; No verified external callers; imports: none"]
65
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
66
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
67
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
68
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
69
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
70
+ // CIL[END stable_id="~/.framework/cli/commands/status.ts:PACKAGE_ROOT:constant"]
71
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/status.ts:PROJECT_ROOT:constant" type="constant" identity="PROJECT_ROOT" parent="~/.framework/cli/commands/status.ts"]
72
+ // CIL[DOC-MACRO purpose="Locate the current working directory of the CLI invocation"]
73
+ // CIL[DOC-RESPONSIBILITY responsibility="Capture the process current working directory"]
74
+ // CIL[DOC-CONTEXT module="status" layer="cli" related_files=".framework/cli/commands/status.ts"]
75
+ // CIL[DOC-CONTRACT inputs="none" outputs="string" errors="none" side_effects="none"]
76
+ // CIL[DOC-MICRO logic_summary="Assign process.cwd() to PROJECT_ROOT"]
77
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
78
+ // CIL[DOC-STABILITY stable]
27
79
  const PROJECT_ROOT = process.cwd()
28
- // CIL[END chunk_id="status_moduleheader_1784068794"]
29
- // CIL[BEGIN chunk_id="status_registerstatuscommands_1784068794" type="function" identity="registerStatusCommands" parent="none"]
30
- // CIL[DOC-MACRO purpose="Register status command with CLI program"]
31
- // CIL[DOC-RESPONSIBILITY responsibility="Display framework and project status information"]
32
- // CIL[DOC-CONTEXT module="cli" layer="commands" related_files="[\".framework/src/pages/admin/RolesPage.tsx\",\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\".framework/src/components/ui/dialog.tsx\",\"\\\"]"]
33
- // CIL[DOC-CONTRACT inputs="none" outputs="status_display" errors="file_read_errors" side_effects="console_output"]
34
- // CIL[DOC-MICRO logic_summary="Shows framework version, installed apps, and migration status" notable_decisions="[]"]
35
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="complex_dependencies"]
36
- // CIL[DOC-STABILITY stability="stable"]
37
- // CIL[DOC-VECTOR type="context" content="Layer: commands. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/RolesPage.tsx, .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/IntegrationsPage.tsx, custom/apps/cortex/functions/custom_cil-embeddings.ts, .framework/src/components/ui/dialog.tsx, \."]
38
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
39
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
40
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
80
+ // CIL[DOC-VECTOR type="context" content="purpose='Locate the current working directory of the CLI invocation'; No verified external callers; imports: none"]
81
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
82
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
83
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
41
84
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
42
85
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
86
+ // CIL[END stable_id="~/.framework/cli/commands/status.ts:PROJECT_ROOT:constant"]
87
+
88
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/status.ts:registerStatusCommands:function" type="function" identity="registerStatusCommands" parent="~/.framework/cli/commands/status.ts"]
89
+ // CIL[DOC-MACRO purpose="Register the status CLI subcommand and render framework state"]
90
+ // CIL[DOC-RESPONSIBILITY responsibility="Add a status command to a Commander program that reports framework version, installed apps and migration state"]
91
+ // CIL[DOC-CONTEXT module="status" layer="cli" related_files=".framework/cli/commands/status.ts"]
92
+ // CIL[DOC-CONTRACT inputs="program: Command" outputs="none" errors="file read errors, Supabase query errors" side_effects="reads files, queries spine_migrations, logs to stdout"]
93
+ // CIL[DOC-MICRO logic_summary="Define the status command, parse --json, load env, read package.json, scan custom/apps manifests, list framework migrations, query applied migrations via Supabase, then print human-readable or JSON status"]
94
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
95
+ // CIL[DOC-STABILITY stable]
43
96
  export function registerStatusCommands(program: Command) {
44
97
  program
45
98
  .command('status')
@@ -122,7 +175,7 @@ export function registerStatusCommands(program: Command) {
122
175
  console.log('── Installed Apps ─────────────────────────────────────')
123
176
  if (installedApps.length === 0) {
124
177
  console.log(' No apps installed.')
125
- console.log(' Run: npx spine-framework install-app spine-framework-portal@latest')
178
+ console.log(' Run: npx spine-framework install-app <app-package>')
126
179
  } else {
127
180
  for (const app of installedApps) {
128
181
  const ver = app.version ? `@${app.version}` : ''
@@ -145,21 +198,22 @@ export function registerStatusCommands(program: Command) {
145
198
  console.log()
146
199
  })
147
200
  }
148
- // CIL[END chunk_id="status_registerstatuscommands_1784068794"]
149
- // CIL[BEGIN chunk_id="status_loadenv_1784068794" type="function" identity="loadEnv" parent="none"]
150
- // CIL[DOC-MACRO purpose="Load environment variables from .env file"]
151
- // CIL[DOC-RESPONSIBILITY responsibility="Parse and set environment variables"]
152
- // CIL[DOC-CONTEXT module="cli" layer="commands" related_files="[\"\\\"]"]
153
- // CIL[DOC-CONTRACT inputs="none" outputs="process_env" errors="file_read_errors" side_effects="process_env_modification"]
154
- // CIL[DOC-MICRO logic_summary="Reads .env file and sets non-existent environment variables" notable_decisions="[]"]
155
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
156
- // CIL[DOC-STABILITY stability="stable"]
157
- // CIL[DOC-VECTOR type="context" content="Layer: commands. Direct callers: 0. Direct calls: 0. Related files: \."]
158
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
159
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
160
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
201
+ // CIL[DOC-VECTOR type="context" content="purpose='Register the status CLI subcommand and render framework state'; No verified external callers; imports: none"]
202
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
203
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
204
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
161
205
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
162
206
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
207
+ // CIL[END stable_id="~/.framework/cli/commands/status.ts:registerStatusCommands:function"]
208
+
209
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/status.ts:loadEnv:function" type="function" identity="loadEnv" parent="~/.framework/cli/commands/status.ts"]
210
+ // CIL[DOC-MACRO purpose="Load environment variables from .env"]
211
+ // CIL[DOC-RESPONSIBILITY responsibility="Read the project .env file and set missing variables in process.env"]
212
+ // CIL[DOC-CONTEXT module="status" layer="cli" related_files=".framework/cli/commands/status.ts"]
213
+ // CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="mutates process.env"]
214
+ // CIL[DOC-MICRO logic_summary="Parse .env line by line, skipping comments and blank lines, and assign key=value pairs to process.env if not already set"]
215
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
216
+ // CIL[DOC-STABILITY stable]
163
217
  function loadEnv() {
164
218
  const envPath = join(PROJECT_ROOT, '.env')
165
219
  if (!existsSync(envPath)) return
@@ -174,4 +228,10 @@ function loadEnv() {
174
228
  if (key && !(key in process.env)) process.env[key] = val
175
229
  }
176
230
  }
177
- // CIL[END chunk_id="status_loadenv_1784068794"]
231
+ // CIL[DOC-VECTOR type="context" content="purpose='Load environment variables from .env'; No verified external callers; imports: none"]
232
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
233
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
234
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
235
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
236
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
237
+ // CIL[END stable_id="~/.framework/cli/commands/status.ts:loadEnv:function"]
@@ -1,37 +1,34 @@
1
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/system.ts:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/cli/commands/system.ts"]
2
+ // CIL[DOC-MACRO purpose="Provides CLI commands for system discovery and health."]
3
+ // CIL[DOC-RESPONSIBILITY responsibility="Expose system discovery and health commands via the CLI."]
4
+ // CIL[DOC-CONTEXT module="system" layer="cli" related_files=".framework/cli/context.ts"]
5
+ // CIL[DOC-CONTRACT inputs="[]" outputs="[]" errors="[]" side_effects="[]"]
6
+ // CIL[DOC-MICRO logic_summary="Defines the system command module and its intent, related utilities, and default exports." notable_decisions=""]
7
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
8
+ // CIL[DOC-STABILITY stability="stable"]
9
+ // CIL[DOC-AUDIENCE audience="internal"]
10
+
1
11
 
2
12
 
3
- // CIL[BEGIN chunk_id="system_moduleheader_1784068794" type="module_header" identity="imports" parent="none"]
4
- // CIL[DOC-MACRO purpose="Import CLI dependencies and context utilities"]
5
- // CIL[DOC-RESPONSIBILITY responsibility="Load required modules for system commands"]
6
- // CIL[DOC-CONTEXT module="cli" layer="commands" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\".framework/src/components/ui/dialog.tsx\",\"\\\"]"]
7
- // CIL[DOC-CONTRACT inputs="none" outputs="loaded_modules" errors="none" side_effects="none"]
8
- // CIL[DOC-MICRO logic_summary="Imports Commander type and context utilities" notable_decisions="[]"]
9
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
10
- // CIL[DOC-STABILITY stability="stable"]
11
- // CIL[DOC-AUDIENCE audience="developer"]
12
- // CIL[DOC-VECTOR type="context" content="Layer: commands. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/pages/admin/RolesPage.tsx, .framework/src/components/ui/dialog.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."]
16
- // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
17
- // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
18
13
  import type { Command } from 'commander'
19
14
  import { buildCliContext, printResult, handleError } from '../context.ts'
20
- // CIL[END chunk_id="system_moduleheader_1784068794"]
21
- // CIL[BEGIN chunk_id="system_fetchsystemendpoint_1784068794" type="function" identity="fetchSystemEndpoint" parent="none"]
22
- // CIL[DOC-MACRO purpose="Fetch system endpoint from local dev server"]
23
- // CIL[DOC-RESPONSIBILITY responsibility="Make HTTP requests to system functions"]
24
- // CIL[DOC-CONTEXT module="cli" layer="commands" related_files="[\".framework/src/pages/admin/RolesPage.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\"\\\"]"]
25
- // CIL[DOC-CONTRACT inputs="none" outputs="json_response" errors="http_errors" side_effects="network_requests"]
26
- // CIL[DOC-MICRO logic_summary="Makes GET requests to local dev server with proper error handling" notable_decisions="[]"]
27
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="external_symbols_unknown"]
28
- // CIL[DOC-STABILITY stability="stable"]
29
- // CIL[DOC-VECTOR type="context" content="Layer: commands. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/RolesPage.tsx, custom/apps/portal/pages/ContentPage.tsx, \."]
30
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
31
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
32
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
15
+ // CIL[DOC-VECTOR type="context" content="purpose='Provides CLI commands for system discovery and health.'; No verified external callers; imports: .framework/cli/context.ts"]
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"]
33
19
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
34
20
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
21
+ // CIL[END stable_id="~/.framework/cli/commands/system.ts:module_header:module_header"]
22
+
23
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/system.ts:fetchSystemEndpoint:function" type="function" identity="fetchSystemEndpoint" parent="~/.framework/cli/commands/system.ts"]
24
+ // CIL[DOC-MACRO purpose="Calls the local system endpoint for a given action."]
25
+ // CIL[DOC-RESPONSIBILITY responsibility="Fetch system data from the local dev server."]
26
+ // CIL[DOC-CONTEXT module="system" layer="cli" related_files=".framework/cli/commands/system.ts,.framework/cli/context.ts"]
27
+ // CIL[DOC-CONTRACT inputs="ctx: any, action: string" outputs="Promise<any>" errors="Error when SUPABASE_URL missing, HTTP error, or connection refused" side_effects="Performs an HTTP GET to the local dev server."]
28
+ // CIL[DOC-MICRO logic_summary="Build a local URL with the action query param, fetch JSON, and map connection failures to a helpful error." notable_decisions=""]
29
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
30
+ // CIL[DOC-STABILITY stability="stable"]
31
+
35
32
  async function fetchSystemEndpoint(ctx: any, action: string): Promise<any> {
36
33
  const supabaseUrl = process.env.SUPABASE_URL
37
34
  if (!supabaseUrl) {
@@ -66,21 +63,23 @@ async function fetchSystemEndpoint(ctx: any, action: string): Promise<any> {
66
63
  throw err
67
64
  }
68
65
  }
69
- // CIL[END chunk_id="system_fetchsystemendpoint_1784068794"]
70
- // CIL[BEGIN chunk_id="system_registersystemcommands_1784068794" type="function" identity="registerSystemCommands" parent="none"]
71
- // CIL[DOC-MACRO purpose="Register system commands with CLI program"]
72
- // CIL[DOC-RESPONSIBILITY responsibility="Configure system discovery and health commands"]
73
- // CIL[DOC-CONTEXT module="cli" layer="commands" related_files="[\".framework/functions/_shared/schema-utils.ts\",\".framework/src/components/ui/dialog.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/src/components/ui/table-primitives.tsx\",\"\\\"]"]
74
- // CIL[DOC-CONTRACT inputs="none" outputs="system_commands" errors="command_errors" side_effects="console_output"]
75
- // CIL[DOC-MICRO logic_summary="Registers manifest, health, and openapi subcommands" notable_decisions="[]"]
76
- // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="complex_dependencies"]
77
- // CIL[DOC-STABILITY stability="stable"]
78
- // CIL[DOC-VECTOR type="context" content="Layer: commands. Direct callers: 0. Direct calls: 0. Related files: .framework/functions/_shared/schema-utils.ts, .framework/src/components/ui/dialog.tsx, .framework/src/pages/admin/RolesPage.tsx, .framework/functions/_shared/principal.ts, .framework/src/components/ui/table-primitives.tsx, \."]
79
- // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
80
- // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
81
- // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
66
+ // CIL[DOC-VECTOR type="context" content="purpose='Calls the local system endpoint for a given action.'; No verified external callers; imports: .framework/cli/context.ts"]
67
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
68
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
69
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
82
70
  // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
83
71
  // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
72
+ // CIL[END stable_id="~/.framework/cli/commands/system.ts:fetchSystemEndpoint:function"]
73
+
74
+ // CIL[BEGIN stable_id="~/.framework/cli/commands/system.ts:registerSystemCommands:function" type="function" identity="registerSystemCommands" parent="~/.framework/cli/commands/system.ts"]
75
+ // CIL[DOC-MACRO purpose="Registers the 'system' CLI command and its subcommands (manifest, health, openapi)."]
76
+ // CIL[DOC-RESPONSIBILITY responsibility="Expose system discovery and health CLI subcommands."]
77
+ // CIL[DOC-CONTEXT module="system" layer="cli" related_files=".framework/cli/commands/system.ts,.framework/cli/context.ts"]
78
+ // CIL[DOC-CONTRACT inputs="program: Command" outputs="void" errors="[]" side_effects="Writes formatted manifest/health output or JSON to stdout."]
79
+ // CIL[DOC-MICRO logic_summary="Attach a 'system' command to the program, define manifest, health, and openapi subcommands, and render results as JSON or formatted console output." notable_decisions=""]
80
+ // CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
81
+ // CIL[DOC-STABILITY stability="stable"]
82
+
84
83
  export function registerSystemCommands(program: Command) {
85
84
  const system = program
86
85
  .command('system')
@@ -191,4 +190,10 @@ export function registerSystemCommands(program: Command) {
191
190
  }
192
191
  })
193
192
  }
194
- // CIL[END chunk_id="system_registersystemcommands_1784068794"]
193
+ // CIL[DOC-VECTOR type="context" content="purpose='Registers the 'system' CLI command and its subcommands (manifest, health, openapi).'; No verified external callers; imports: .framework/cli/context.ts"]
194
+ // CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
195
+ // CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
196
+ // CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
197
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
198
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
199
+ // CIL[END stable_id="~/.framework/cli/commands/system.ts:registerSystemCommands:function"]