spine-framework 0.2.1 → 1.0.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 (425) hide show
  1. package/LICENSE.md +213 -8
  2. package/README.md +327 -0
  3. package/package.json +107 -217
  4. package/src/cli/commands/init.ts +192 -0
  5. package/src/cli/commands/install.ts +25 -0
  6. package/src/cli/commands/list.ts +33 -0
  7. package/src/cli/commands/migrate.ts +24 -0
  8. package/src/cli/index.ts +46 -0
  9. package/src/components/AppLayout.tsx +21 -0
  10. package/src/components/AuthGuard.tsx +21 -0
  11. package/src/components/RoleGuard.tsx +23 -0
  12. package/src/components/index.ts +3 -0
  13. package/src/contexts/AppContext.tsx +122 -0
  14. package/src/contexts/AuthContext.tsx +87 -0
  15. package/src/contexts/SpineContext.tsx +46 -0
  16. package/src/contexts/index.ts +3 -0
  17. package/src/hooks/index.ts +4 -0
  18. package/src/hooks/useItems.ts +78 -0
  19. package/src/hooks/useThreads.ts +73 -0
  20. package/src/hooks/useWebSocket.ts +97 -0
  21. package/src/index.ts +22 -0
  22. package/src/types/index.ts +163 -0
  23. package/src/utils/api.ts +88 -0
  24. package/src/utils/client.ts +146 -0
  25. package/src/utils/config.ts +20 -0
  26. package/src/utils/index.ts +3 -0
  27. package/.framework/README.md +0 -129
  28. package/.framework/cli/bin.cjs +0 -14
  29. package/.framework/cli/commands/agents.ts +0 -153
  30. package/.framework/cli/commands/auth.ts +0 -94
  31. package/.framework/cli/commands/create-app.ts +0 -185
  32. package/.framework/cli/commands/dev.ts +0 -113
  33. package/.framework/cli/commands/doctor.ts +0 -442
  34. package/.framework/cli/commands/generate.ts +0 -332
  35. package/.framework/cli/commands/init.ts +0 -186
  36. package/.framework/cli/commands/install-app.ts +0 -565
  37. package/.framework/cli/commands/items.ts +0 -253
  38. package/.framework/cli/commands/migrate.ts +0 -139
  39. package/.framework/cli/commands/migrations.ts +0 -141
  40. package/.framework/cli/commands/pipelines.ts +0 -166
  41. package/.framework/cli/commands/status.ts +0 -197
  42. package/.framework/cli/commands/system.ts +0 -184
  43. package/.framework/cli/commands/test.ts +0 -227
  44. package/.framework/cli/commands/uninstall-app.ts +0 -166
  45. package/.framework/cli/context.ts +0 -268
  46. package/.framework/cli/env-loader.ts +0 -36
  47. package/.framework/cli/index.ts +0 -116
  48. package/.framework/cli/welcome.cjs +0 -45
  49. package/.framework/docs/API.md +0 -384
  50. package/.framework/docs/STABILITY.md +0 -52
  51. package/.framework/docs/admin-routes.md +0 -76
  52. package/.framework/docs/api-docs-progress.md +0 -38
  53. package/.framework/docs/api-governance.md +0 -146
  54. package/.framework/docs/api-testing-results.md +0 -212
  55. package/.framework/docs/apis/admin-configs.md +0 -567
  56. package/.framework/docs/apis/admin-data.md +0 -272
  57. package/.framework/docs/apis/index.md +0 -231
  58. package/.framework/docs/apis/internal.md +0 -295
  59. package/.framework/docs/apis/runtime.md +0 -537
  60. package/.framework/docs/assembly-launch-guide.md +0 -138
  61. package/.framework/docs/audit-results.md +0 -590
  62. package/.framework/docs/authorization-model.md +0 -170
  63. package/.framework/docs/db-api-inventory.md +0 -95
  64. package/.framework/docs/examples/custom-app/README.md +0 -77
  65. package/.framework/docs/examples/custom-function/README.md +0 -27
  66. package/.framework/docs/examples/custom-function/handler.ts +0 -48
  67. package/.framework/docs/examples/custom-webhook/README.md +0 -68
  68. package/.framework/docs/gap-remediation-backlog.md +0 -103
  69. package/.framework/docs/guides/cli-guide.md +0 -224
  70. package/.framework/docs/guides/getting-started.md +0 -103
  71. package/.framework/docs/guides/import-guide.md +0 -193
  72. package/.framework/docs/guides/testing-guide.md +0 -229
  73. package/.framework/docs/permission-examples.md +0 -326
  74. package/.framework/docs/ui-adoption-verification.md +0 -111
  75. package/.framework/docs/ui-api-coverage.md +0 -84
  76. package/.framework/docs/v2-compatibility-audit.md +0 -228
  77. package/.framework/functions/.gitkeep +0 -1
  78. package/.framework/functions/_shared/agent-runner.ts +0 -1097
  79. package/.framework/functions/_shared/app-manifest.ts +0 -184
  80. package/.framework/functions/_shared/audit.ts +0 -150
  81. package/.framework/functions/_shared/db.ts +0 -178
  82. package/.framework/functions/_shared/index.ts +0 -391
  83. package/.framework/functions/_shared/middleware.ts +0 -490
  84. package/.framework/functions/_shared/permissions.ts +0 -1325
  85. package/.framework/functions/_shared/pipeline-runner.ts +0 -731
  86. package/.framework/functions/_shared/principal.ts +0 -818
  87. package/.framework/functions/_shared/resolve-ids.ts +0 -106
  88. package/.framework/functions/_shared/schema-utils.ts +0 -967
  89. package/.framework/functions/_shared/testing.ts +0 -258
  90. package/.framework/functions/_shared/trigger-engine.ts +0 -425
  91. package/.framework/functions/_shared/webhook-registration.ts +0 -168
  92. package/.framework/functions/_shared/webhook-registry.ts +0 -129
  93. package/.framework/functions/account-nodes.ts +0 -111
  94. package/.framework/functions/admin-data.ts +0 -606
  95. package/.framework/functions/ai-agents.ts +0 -323
  96. package/.framework/functions/api-keys.ts +0 -376
  97. package/.framework/functions/apps.ts +0 -483
  98. package/.framework/functions/auth.ts +0 -196
  99. package/.framework/functions/debug-auth.ts +0 -107
  100. package/.framework/functions/embeddings.ts +0 -556
  101. package/.framework/functions/integration-routes.ts +0 -523
  102. package/.framework/functions/integrations.ts +0 -319
  103. package/.framework/functions/item-progress.ts +0 -272
  104. package/.framework/functions/logs.ts +0 -438
  105. package/.framework/functions/observability.ts +0 -275
  106. package/.framework/functions/pipeline-executions.ts +0 -494
  107. package/.framework/functions/pipelines.ts +0 -485
  108. package/.framework/functions/prompt-configs.ts +0 -339
  109. package/.framework/functions/roles.ts +0 -387
  110. package/.framework/functions/system-cron.ts +0 -742
  111. package/.framework/functions/system.ts +0 -323
  112. package/.framework/functions/tests.ts +0 -119
  113. package/.framework/functions/timers.ts +0 -357
  114. package/.framework/functions/triggers.ts +0 -563
  115. package/.framework/functions/types.ts +0 -604
  116. package/.framework/index.html +0 -16
  117. package/.framework/migrations/000_foundation.sql +0 -1266
  118. package/.framework/migrations/001_seed.sql +0 -163
  119. package/.framework/migrations/002_seed_constraints.sql +0 -19
  120. package/.framework/migrations/003_auth_user_trigger.sql +0 -67
  121. package/.framework/src/App.tsx +0 -133
  122. package/.framework/src/apps/admin/index.tsx +0 -173
  123. package/.framework/src/components/AppWrapper.tsx +0 -56
  124. package/.framework/src/components/CustomAppLoader.tsx +0 -116
  125. package/.framework/src/components/admin/AdminListPage.tsx +0 -151
  126. package/.framework/src/components/admin/AdminSidebar.tsx +0 -166
  127. package/.framework/src/components/admin/AdminStatsCard.tsx +0 -62
  128. package/.framework/src/components/admin/SortableTableHeader.tsx +0 -42
  129. package/.framework/src/components/app-shell/GenericAppShell.tsx +0 -181
  130. package/.framework/src/components/app-shell/GenericDetailPage.tsx +0 -200
  131. package/.framework/src/components/app-shell/GenericListPage.tsx +0 -116
  132. package/.framework/src/components/app-sidebar.tsx +0 -228
  133. package/.framework/src/components/auth/ProtectedRoute.tsx +0 -88
  134. package/.framework/src/components/layout/AppShell.tsx +0 -91
  135. package/.framework/src/components/layout/Header.tsx +0 -88
  136. package/.framework/src/components/layout/Layout.tsx +0 -95
  137. package/.framework/src/components/layout/Sidebar.tsx +0 -329
  138. package/.framework/src/components/runtime/DataDetailHeader.tsx +0 -77
  139. package/.framework/src/components/runtime/DataDetailPage.tsx +0 -171
  140. package/.framework/src/components/runtime/DataFilters.tsx +0 -91
  141. package/.framework/src/components/runtime/DataHeader.tsx +0 -68
  142. package/.framework/src/components/runtime/DataListPage.tsx +0 -124
  143. package/.framework/src/components/runtime/DataStats.tsx +0 -70
  144. package/.framework/src/components/runtime/DataTable.tsx +0 -174
  145. package/.framework/src/components/runtime/SchemaDetailForm.tsx +0 -134
  146. package/.framework/src/components/runtime/index.ts +0 -18
  147. package/.framework/src/components/search-form.tsx +0 -29
  148. package/.framework/src/components/shared/AgentView.tsx +0 -213
  149. package/.framework/src/components/shared/FieldRenderer.tsx +0 -478
  150. package/.framework/src/components/shared/SchemaFields.tsx +0 -226
  151. package/.framework/src/components/ui/DataTable.tsx +0 -343
  152. package/.framework/src/components/ui/Form.tsx +0 -281
  153. package/.framework/src/components/ui/ItemCard.tsx +0 -296
  154. package/.framework/src/components/ui/ItemListView.tsx +0 -308
  155. package/.framework/src/components/ui/LoadingSpinner.tsx +0 -52
  156. package/.framework/src/components/ui/Modal.tsx +0 -61
  157. package/.framework/src/components/ui/RichTextEditor.tsx +0 -210
  158. package/.framework/src/components/ui/accordion.tsx +0 -82
  159. package/.framework/src/components/ui/alert-dialog.tsx +0 -197
  160. package/.framework/src/components/ui/alert.tsx +0 -76
  161. package/.framework/src/components/ui/aspect-ratio.tsx +0 -11
  162. package/.framework/src/components/ui/avatar.tsx +0 -110
  163. package/.framework/src/components/ui/badge.tsx +0 -49
  164. package/.framework/src/components/ui/breadcrumb.tsx +0 -122
  165. package/.framework/src/components/ui/button-group.tsx +0 -83
  166. package/.framework/src/components/ui/button.tsx +0 -65
  167. package/.framework/src/components/ui/calendar.tsx +0 -222
  168. package/.framework/src/components/ui/card.tsx +0 -100
  169. package/.framework/src/components/ui/carousel.tsx +0 -240
  170. package/.framework/src/components/ui/chart.tsx +0 -368
  171. package/.framework/src/components/ui/checkbox.tsx +0 -31
  172. package/.framework/src/components/ui/collapsible.tsx +0 -33
  173. package/.framework/src/components/ui/combobox.tsx +0 -299
  174. package/.framework/src/components/ui/command.tsx +0 -193
  175. package/.framework/src/components/ui/context-menu.tsx +0 -261
  176. package/.framework/src/components/ui/dialog.tsx +0 -165
  177. package/.framework/src/components/ui/direction.tsx +0 -6
  178. package/.framework/src/components/ui/drawer.tsx +0 -132
  179. package/.framework/src/components/ui/dropdown-menu.tsx +0 -269
  180. package/.framework/src/components/ui/empty.tsx +0 -104
  181. package/.framework/src/components/ui/field.tsx +0 -238
  182. package/.framework/src/components/ui/hover-card.tsx +0 -42
  183. package/.framework/src/components/ui/input-group.tsx +0 -153
  184. package/.framework/src/components/ui/input-otp.tsx +0 -87
  185. package/.framework/src/components/ui/input.tsx +0 -19
  186. package/.framework/src/components/ui/item.tsx +0 -196
  187. package/.framework/src/components/ui/kbd.tsx +0 -26
  188. package/.framework/src/components/ui/label.tsx +0 -22
  189. package/.framework/src/components/ui/menubar.tsx +0 -277
  190. package/.framework/src/components/ui/native-select.tsx +0 -61
  191. package/.framework/src/components/ui/navigation-menu.tsx +0 -164
  192. package/.framework/src/components/ui/pagination.tsx +0 -129
  193. package/.framework/src/components/ui/popover.tsx +0 -87
  194. package/.framework/src/components/ui/progress.tsx +0 -31
  195. package/.framework/src/components/ui/radio-group.tsx +0 -42
  196. package/.framework/src/components/ui/resizable.tsx +0 -50
  197. package/.framework/src/components/ui/scroll-area.tsx +0 -53
  198. package/.framework/src/components/ui/select.tsx +0 -195
  199. package/.framework/src/components/ui/separator.tsx +0 -26
  200. package/.framework/src/components/ui/sheet.tsx +0 -145
  201. package/.framework/src/components/ui/sidebar.tsx +0 -706
  202. package/.framework/src/components/ui/skeleton.tsx +0 -13
  203. package/.framework/src/components/ui/slider.tsx +0 -59
  204. package/.framework/src/components/ui/sonner.tsx +0 -47
  205. package/.framework/src/components/ui/spinner.tsx +0 -10
  206. package/.framework/src/components/ui/switch.tsx +0 -33
  207. package/.framework/src/components/ui/table-primitives.tsx +0 -141
  208. package/.framework/src/components/ui/table.tsx +0 -114
  209. package/.framework/src/components/ui/tabs.tsx +0 -90
  210. package/.framework/src/components/ui/textarea.tsx +0 -18
  211. package/.framework/src/components/ui/toggle-group.tsx +0 -89
  212. package/.framework/src/components/ui/toggle.tsx +0 -45
  213. package/.framework/src/components/ui/tooltip.tsx +0 -57
  214. package/.framework/src/contexts/AppContext.tsx +0 -133
  215. package/.framework/src/contexts/AuthContext.tsx +0 -371
  216. package/.framework/src/hooks/use-mobile.ts +0 -19
  217. package/.framework/src/hooks/useApi.ts +0 -526
  218. package/.framework/src/hooks/useApps.ts +0 -114
  219. package/.framework/src/hooks/useEntityList.ts +0 -190
  220. package/.framework/src/hooks/useEntityRecord.ts +0 -308
  221. package/.framework/src/hooks/useForm.ts +0 -307
  222. package/.framework/src/hooks/useListSchema.ts +0 -264
  223. package/.framework/src/hooks/useSchemaRecord.ts +0 -223
  224. package/.framework/src/index.css +0 -128
  225. package/.framework/src/lib/api.ts +0 -156
  226. package/.framework/src/lib/supabase.ts +0 -94
  227. package/.framework/src/lib/utils.ts +0 -317
  228. package/.framework/src/main.tsx +0 -27
  229. package/.framework/src/pages/DashboardPage.tsx +0 -181
  230. package/.framework/src/pages/NotFoundPage.tsx +0 -39
  231. package/.framework/src/pages/admin/AIAgentDetailPage.tsx +0 -161
  232. package/.framework/src/pages/admin/AIAgentsPage.tsx +0 -318
  233. package/.framework/src/pages/admin/APIKeyDetailPage.tsx +0 -199
  234. package/.framework/src/pages/admin/APIKeysPage.tsx +0 -303
  235. package/.framework/src/pages/admin/AlertsConfigPage.tsx +0 -523
  236. package/.framework/src/pages/admin/AppDetailPage.tsx +0 -493
  237. package/.framework/src/pages/admin/AppsPage.tsx +0 -355
  238. package/.framework/src/pages/admin/DesignedPage.tsx +0 -491
  239. package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +0 -534
  240. package/.framework/src/pages/admin/EmbeddingsPage.tsx +0 -424
  241. package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +0 -176
  242. package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +0 -109
  243. package/.framework/src/pages/admin/IntegratedDashboard.tsx +0 -402
  244. package/.framework/src/pages/admin/IntegrationDetailPage.tsx +0 -187
  245. package/.framework/src/pages/admin/IntegrationsPage.tsx +0 -301
  246. package/.framework/src/pages/admin/LogsPage.tsx +0 -283
  247. package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +0 -85
  248. package/.framework/src/pages/admin/ObservabilityDashboard.tsx +0 -470
  249. package/.framework/src/pages/admin/PipelineDetailPage.tsx +0 -183
  250. package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +0 -279
  251. package/.framework/src/pages/admin/PipelinesPage.tsx +0 -390
  252. package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +0 -299
  253. package/.framework/src/pages/admin/PromptConfigsPage.tsx +0 -292
  254. package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +0 -434
  255. package/.framework/src/pages/admin/RoleDetailPage.tsx +0 -273
  256. package/.framework/src/pages/admin/RolesPage.tsx +0 -292
  257. package/.framework/src/pages/admin/SelectTestPage.tsx +0 -61
  258. package/.framework/src/pages/admin/ShadcnTestPage.tsx +0 -588
  259. package/.framework/src/pages/admin/SimpleDashboard.tsx +0 -387
  260. package/.framework/src/pages/admin/TestRunDetailPage.tsx +0 -172
  261. package/.framework/src/pages/admin/TestingDashboard.tsx +0 -257
  262. package/.framework/src/pages/admin/TimerDetailPage.tsx +0 -151
  263. package/.framework/src/pages/admin/TimersPage.tsx +0 -376
  264. package/.framework/src/pages/admin/TriggerDetailPage.tsx +0 -149
  265. package/.framework/src/pages/admin/TriggersPage.tsx +0 -381
  266. package/.framework/src/pages/admin/TypeDetailPage.tsx +0 -694
  267. package/.framework/src/pages/admin/TypesPage.tsx +0 -295
  268. package/.framework/src/pages/auth/LoginPage.tsx +0 -187
  269. package/.framework/src/pages/auth/RegisterPage.tsx +0 -163
  270. package/.framework/src/pages/spine-framework/APIPage.tsx +0 -17
  271. package/.framework/src/pages/spine-framework/CLIPage.tsx +0 -25
  272. package/.framework/src/types/auth.ts +0 -125
  273. package/.framework/src/types/types.ts +0 -407
  274. package/STRUCTURE.md +0 -150
  275. package/bin/spine-framework.cjs +0 -62
  276. package/bin/welcome.cjs +0 -45
  277. package/bin/ws-shim.cjs +0 -8
  278. package/bin/ws-shim.ts +0 -10
  279. package/config/components.json +0 -25
  280. package/config/deno.lock +0 -108
  281. package/config/package-lock.json +0 -17183
  282. package/config/postcss.config.cjs +0 -10
  283. package/config/tailwind.config.cjs +0 -78
  284. package/config/tsconfig.build.json +0 -32
  285. package/config/tsconfig.cli.json +0 -18
  286. package/config/tsconfig.json +0 -41
  287. package/config/tsconfig.node.json +0 -17
  288. package/config/tsconfig.node.tsbuildinfo +0 -1
  289. package/config/tsconfig.tsbuildinfo +0 -1
  290. package/config/typedoc.json +0 -16
  291. package/config/vite.config.d.ts +0 -2
  292. package/config/vite.config.ts +0 -71
  293. package/dist/cli/commands/agents.d.ts +0 -39
  294. package/dist/cli/commands/agents.d.ts.map +0 -1
  295. package/dist/cli/commands/auth.d.ts +0 -36
  296. package/dist/cli/commands/auth.d.ts.map +0 -1
  297. package/dist/cli/commands/create-app.d.ts +0 -23
  298. package/dist/cli/commands/create-app.d.ts.map +0 -1
  299. package/dist/cli/commands/dev.d.ts +0 -24
  300. package/dist/cli/commands/dev.d.ts.map +0 -1
  301. package/dist/cli/commands/doctor.d.ts +0 -42
  302. package/dist/cli/commands/doctor.d.ts.map +0 -1
  303. package/dist/cli/commands/generate.d.ts +0 -36
  304. package/dist/cli/commands/generate.d.ts.map +0 -1
  305. package/dist/cli/commands/init.d.ts +0 -20
  306. package/dist/cli/commands/init.d.ts.map +0 -1
  307. package/dist/cli/commands/install-app.d.ts +0 -30
  308. package/dist/cli/commands/install-app.d.ts.map +0 -1
  309. package/dist/cli/commands/items.d.ts +0 -45
  310. package/dist/cli/commands/items.d.ts.map +0 -1
  311. package/dist/cli/commands/migrate.d.ts +0 -21
  312. package/dist/cli/commands/migrate.d.ts.map +0 -1
  313. package/dist/cli/commands/migrations.d.ts +0 -41
  314. package/dist/cli/commands/migrations.d.ts.map +0 -1
  315. package/dist/cli/commands/pipelines.d.ts +0 -40
  316. package/dist/cli/commands/pipelines.d.ts.map +0 -1
  317. package/dist/cli/commands/status.d.ts +0 -23
  318. package/dist/cli/commands/status.d.ts.map +0 -1
  319. package/dist/cli/commands/system.d.ts +0 -29
  320. package/dist/cli/commands/system.d.ts.map +0 -1
  321. package/dist/cli/commands/test.d.ts +0 -46
  322. package/dist/cli/commands/test.d.ts.map +0 -1
  323. package/dist/cli/commands/uninstall-app.d.ts +0 -23
  324. package/dist/cli/commands/uninstall-app.d.ts.map +0 -1
  325. package/dist/cli/context.d.ts +0 -88
  326. package/dist/cli/context.d.ts.map +0 -1
  327. package/dist/cli/env-loader.d.ts +0 -14
  328. package/dist/cli/env-loader.d.ts.map +0 -1
  329. package/dist/cli/index.d.ts +0 -41
  330. package/dist/cli/index.d.ts.map +0 -1
  331. package/dist/functions/_shared/agent-runner.d.ts +0 -156
  332. package/dist/functions/_shared/agent-runner.d.ts.map +0 -1
  333. package/dist/functions/_shared/app-manifest.d.ts +0 -68
  334. package/dist/functions/_shared/app-manifest.d.ts.map +0 -1
  335. package/dist/functions/_shared/audit.d.ts +0 -91
  336. package/dist/functions/_shared/audit.d.ts.map +0 -1
  337. package/dist/functions/_shared/db.d.ts +0 -125
  338. package/dist/functions/_shared/db.d.ts.map +0 -1
  339. package/dist/functions/_shared/index.d.ts +0 -299
  340. package/dist/functions/_shared/index.d.ts.map +0 -1
  341. package/dist/functions/_shared/middleware.d.ts +0 -315
  342. package/dist/functions/_shared/middleware.d.ts.map +0 -1
  343. package/dist/functions/_shared/permissions.d.ts +0 -626
  344. package/dist/functions/_shared/permissions.d.ts.map +0 -1
  345. package/dist/functions/_shared/pipeline-runner.d.ts +0 -124
  346. package/dist/functions/_shared/pipeline-runner.d.ts.map +0 -1
  347. package/dist/functions/_shared/principal.d.ts +0 -284
  348. package/dist/functions/_shared/principal.d.ts.map +0 -1
  349. package/dist/functions/_shared/resolve-ids.d.ts +0 -10
  350. package/dist/functions/_shared/resolve-ids.d.ts.map +0 -1
  351. package/dist/functions/_shared/schema-utils.d.ts +0 -181
  352. package/dist/functions/_shared/schema-utils.d.ts.map +0 -1
  353. package/dist/functions/_shared/testing.d.ts +0 -172
  354. package/dist/functions/_shared/testing.d.ts.map +0 -1
  355. package/dist/functions/_shared/trigger-engine.d.ts +0 -140
  356. package/dist/functions/_shared/trigger-engine.d.ts.map +0 -1
  357. package/dist/functions/_shared/webhook-registration.d.ts +0 -81
  358. package/dist/functions/_shared/webhook-registration.d.ts.map +0 -1
  359. package/dist/functions/_shared/webhook-registry.d.ts +0 -57
  360. package/dist/functions/_shared/webhook-registry.d.ts.map +0 -1
  361. package/dist/functions/account-nodes.d.ts +0 -48
  362. package/dist/functions/account-nodes.d.ts.map +0 -1
  363. package/dist/functions/admin-data.d.ts +0 -178
  364. package/dist/functions/admin-data.d.ts.map +0 -1
  365. package/dist/functions/ai-agents.d.ts +0 -125
  366. package/dist/functions/ai-agents.d.ts.map +0 -1
  367. package/dist/functions/api-keys.d.ts +0 -140
  368. package/dist/functions/api-keys.d.ts.map +0 -1
  369. package/dist/functions/apps.d.ts +0 -163
  370. package/dist/functions/apps.d.ts.map +0 -1
  371. package/dist/functions/auth.d.ts +0 -74
  372. package/dist/functions/auth.d.ts.map +0 -1
  373. package/dist/functions/debug-auth.d.ts +0 -33
  374. package/dist/functions/debug-auth.d.ts.map +0 -1
  375. package/dist/functions/embeddings.d.ts +0 -205
  376. package/dist/functions/embeddings.d.ts.map +0 -1
  377. package/dist/functions/integration-routes.d.ts +0 -45
  378. package/dist/functions/integration-routes.d.ts.map +0 -1
  379. package/dist/functions/integrations.d.ts +0 -124
  380. package/dist/functions/integrations.d.ts.map +0 -1
  381. package/dist/functions/item-progress.d.ts +0 -41
  382. package/dist/functions/item-progress.d.ts.map +0 -1
  383. package/dist/functions/logs.d.ts +0 -162
  384. package/dist/functions/logs.d.ts.map +0 -1
  385. package/dist/functions/observability.d.ts +0 -123
  386. package/dist/functions/observability.d.ts.map +0 -1
  387. package/dist/functions/pipeline-executions.d.ts +0 -190
  388. package/dist/functions/pipeline-executions.d.ts.map +0 -1
  389. package/dist/functions/pipelines.d.ts +0 -171
  390. package/dist/functions/pipelines.d.ts.map +0 -1
  391. package/dist/functions/prompt-configs.d.ts +0 -125
  392. package/dist/functions/prompt-configs.d.ts.map +0 -1
  393. package/dist/functions/roles.d.ts +0 -118
  394. package/dist/functions/roles.d.ts.map +0 -1
  395. package/dist/functions/system-cron.d.ts +0 -65
  396. package/dist/functions/system-cron.d.ts.map +0 -1
  397. package/dist/functions/system.d.ts +0 -29
  398. package/dist/functions/system.d.ts.map +0 -1
  399. package/dist/functions/tests.d.ts +0 -28
  400. package/dist/functions/tests.d.ts.map +0 -1
  401. package/dist/functions/timers.d.ts +0 -139
  402. package/dist/functions/timers.d.ts.map +0 -1
  403. package/dist/functions/triggers.d.ts +0 -203
  404. package/dist/functions/triggers.d.ts.map +0 -1
  405. package/dist/functions/types.d.ts +0 -151
  406. package/dist/functions/types.d.ts.map +0 -1
  407. package/dist/src/types/types.d.ts +0 -364
  408. package/dist/src/types/types.d.ts.map +0 -1
  409. package/index.html +0 -13
  410. package/netlify.toml +0 -36
  411. package/package-project.json +0 -71
  412. package/scripts/app-install-cli.ts +0 -286
  413. package/scripts/assemble-frontend.sh +0 -76
  414. package/scripts/assemble-functions.sh +0 -62
  415. package/scripts/assemble.sh +0 -41
  416. package/scripts/boundary-check.sh +0 -106
  417. package/scripts/build-manifest.sh +0 -80
  418. package/scripts/check-core-integrity.sh +0 -82
  419. package/scripts/ingest-chunks.cjs +0 -202
  420. package/scripts/kb-chunk-parser.cjs +0 -312
  421. package/scripts/kb-chunk-parser.ts +0 -330
  422. package/scripts/load-test-app-install.ts +0 -484
  423. package/scripts/netlify-dev-wrapper.sh +0 -22
  424. package/scripts/verify-integrity.sh +0 -69
  425. package/vitest.config.ts +0 -45
@@ -1,537 +0,0 @@
1
- # Runtime APIs
2
-
3
- ## Overview
4
-
5
- Runtime APIs handle application runtime operations including threads, messages, attachments, watchers, links, and access control. These endpoints support real-time collaboration and system operations.
6
-
7
- ## Threads API
8
-
9
- **Endpoint:** `/.netlify/functions/threads`
10
-
11
- **Domain:** runtime (conversation threads)
12
-
13
- **Operations:**
14
- - `GET /functions/threads` - List threads
15
- - `GET /functions/threads?id=uuid` - Get single thread
16
- - `POST /functions/threads` - Create thread
17
- - `PATCH /functions/threads?id=uuid` - Update thread
18
- - `DELETE /functions/threads?id=uuid` - Soft delete thread
19
-
20
- **Authentication:**
21
- - Reads: Account-scoped with field-level permission filtering
22
- - Mutations: Auth required with schema-driven permissions
23
-
24
- **Authorization:**
25
- - Mixed Surface Operations: User messages (first surface), AI agent messages (second surface)
26
- - Thread access: First surface (user permissions)
27
- - Field filtering applied based on type.schema
28
-
29
- **Audit Trail:**
30
- - System operations record ctx.triggeredBy
31
- - User operations record ctx.personId
32
- - System admin actions are logged but bypass checks
33
-
34
- **Request/Response:**
35
-
36
- ### List Threads
37
- ```typescript
38
- // Request
39
- GET /functions/threads?page=1&itemsPerPage=20&search=keyword&person_id=uuid
40
-
41
- // Response
42
- {
43
- data: [
44
- {
45
- id: string,
46
- person_id: string,
47
- title: string,
48
- description?: string,
49
- thread_type: string,
50
- metadata?: object,
51
- is_active: true,
52
- created_at: string,
53
- updated_at: string,
54
- created_by: string,
55
- account_id: string,
56
- person: {
57
- id: string,
58
- first_name: string,
59
- last_name: string
60
- }
61
- }
62
- ]
63
- }
64
- ```
65
-
66
- ### Create Thread
67
- ```typescript
68
- // Request
69
- POST /functions/threads
70
- {
71
- person_id: string, // required
72
- title: string, // required
73
- description?: string,
74
- thread_type: string, // required
75
- metadata?: object
76
- }
77
-
78
- // Response
79
- {
80
- data: { /* created thread */ }
81
- }
82
- ```
83
-
84
- ## Messages API
85
-
86
- **Endpoint:** `/.netlify/functions/messages`
87
-
88
- **Domain:** runtime (thread messages)
89
-
90
- **Operations:**
91
- - `GET /functions/messages` - List messages
92
- - `GET /functions/messages?id=uuid` - Get single message
93
- - `POST /functions/messages` - Create message
94
- - `PATCH /functions/messages?id=uuid` - Update message
95
- - `DELETE /functions/messages?id=uuid` - Soft delete message
96
-
97
- **Authentication:**
98
- - Reads: Account-scoped
99
- - Mutations: Auth required
100
-
101
- **Request/Response:**
102
-
103
- ### List Messages
104
- ```typescript
105
- // Request
106
- GET /functions/messages?thread_id=uuid&page=1&itemsPerPage=50
107
-
108
- // Response
109
- {
110
- data: [
111
- {
112
- id: string,
113
- thread_id: string,
114
- person_id: string,
115
- content: string,
116
- message_type: string,
117
- metadata?: object,
118
- is_active: true,
119
- created_at: string,
120
- updated_at: string,
121
- created_by: string,
122
- account_id: string,
123
- person: {
124
- id: string,
125
- first_name: string,
126
- last_name: string
127
- },
128
- thread: {
129
- id: string,
130
- title: string
131
- }
132
- }
133
- ]
134
- }
135
- ```
136
-
137
- ### Create Message
138
- ```typescript
139
- // Request
140
- POST /functions/messages
141
- {
142
- thread_id: string, // required
143
- content: string, // required
144
- message_type: string, // required
145
- metadata?: object
146
- }
147
-
148
- // Response
149
- {
150
- data: { /* created message */ }
151
- }
152
- ```
153
-
154
- ## Attachments API
155
-
156
- **Endpoint:** `/.netlify/functions/attachments`
157
-
158
- **Domain:** runtime (file attachments)
159
-
160
- **Operations:**
161
- - `GET /functions/attachments` - List attachments
162
- - `GET /functions/attachments?id=uuid` - Get single attachment
163
- - `POST /functions/attachments` - Create attachment
164
- - `PATCH /functions/attachments?id=uuid` - Update attachment
165
- - `DELETE /functions/attachments?id=uuid` - Soft delete attachment
166
-
167
- **Authentication:**
168
- - Reads: Account-scoped
169
- - Mutations: Auth required
170
-
171
- **Request/Response:**
172
-
173
- ### List Attachments
174
- ```typescript
175
- // Request
176
- GET /functions/attachments?page=1&itemsPerPage=20&thread_id=uuid
177
-
178
- // Response
179
- {
180
- data: [
181
- {
182
- id: string,
183
- person_id: string,
184
- thread_id?: string,
185
- filename: string,
186
- file_type: string,
187
- file_size: number,
188
- file_url: string,
189
- metadata?: object,
190
- is_active: true,
191
- created_at: string,
192
- updated_at: string,
193
- created_by: string,
194
- account_id: string,
195
- person: {
196
- id: string,
197
- first_name: string,
198
- last_name: string
199
- }
200
- }
201
- ]
202
- }
203
- ```
204
-
205
- ### Create Attachment
206
- ```typescript
207
- // Request
208
- POST /functions/attachments
209
- {
210
- person_id: string, // required
211
- thread_id?: string,
212
- filename: string, // required
213
- file_type: string, // required
214
- file_size: number, // required
215
- file_url: string, // required
216
- metadata?: object
217
- }
218
-
219
- // Response
220
- {
221
- data: { /* created attachment */ }
222
- }
223
- ```
224
-
225
- ## Watchers API
226
-
227
- **Endpoint:** `/.netlify/functions/watchers`
228
-
229
- **Domain:** runtime (entity subscriptions)
230
-
231
- **Operations:**
232
- - `GET /functions/watchers` - List watchers
233
- - `GET /functions/watchers?id=uuid` - Get single watcher
234
- - `POST /functions/watchers` - Create watcher
235
- - `DELETE /functions/watchers?id=uuid` - Delete watcher (hard delete)
236
-
237
- **Authentication:**
238
- - Reads: Account-scoped
239
- - Mutations: Auth required
240
-
241
- **Request/Response:**
242
-
243
- ### List Watchers
244
- ```typescript
245
- // Request
246
- GET /functions/watchers?page=1&itemsPerPage=20&person_id=uuid&entity_type=string
247
-
248
- // Response
249
- {
250
- data: [
251
- {
252
- id: string,
253
- person_id: string,
254
- entity_type: string,
255
- entity_id: string,
256
- watch_type: string,
257
- created_at: string,
258
- person: {
259
- id: string,
260
- first_name: string,
261
- last_name: string
262
- }
263
- }
264
- ]
265
- }
266
- ```
267
-
268
- ### Create Watcher
269
- ```typescript
270
- // Request
271
- POST /functions/watchers
272
- {
273
- person_id: string, // required
274
- entity_type: string, // required
275
- entity_id: string, // required
276
- watch_type: string // required
277
- }
278
-
279
- // Response
280
- {
281
- data: { /* created watcher */ }
282
- }
283
- ```
284
-
285
- ## Links API
286
-
287
- **Endpoint:** `/.netlify/functions/links`
288
-
289
- **Domain:** runtime (polymorphic entity relationships)
290
-
291
- **Operations:**
292
- - `GET /functions/links` - List links
293
- - `GET /functions/links?id=uuid` - Get single link
294
- - `POST /functions/links` - Create link
295
- - `DELETE /functions/links?id=uuid` - Delete link (hard delete)
296
-
297
- **Authentication:**
298
- - Reads: Account-scoped
299
- - Mutations: Auth required
300
-
301
- **Request/Response:**
302
-
303
- ### List Links
304
- ```typescript
305
- // Request
306
- GET /functions/links?page=1&itemsPerPage=20&source_type=string&source_id=uuid
307
-
308
- // Response
309
- {
310
- data: [
311
- {
312
- id: string,
313
- link_type_id: string,
314
- person_id: string,
315
- source_type: string,
316
- source_id: string,
317
- target_type: string,
318
- target_id: string,
319
- metadata?: object,
320
- created_at: string,
321
- created_by: string,
322
- account_id: string,
323
- link_type: {
324
- id: string,
325
- name: string,
326
- forward_label: string,
327
- reverse_label: string
328
- },
329
- person: {
330
- id: string,
331
- first_name: string,
332
- last_name: string
333
- }
334
- }
335
- ]
336
- }
337
- ```
338
-
339
- ### Create Link
340
- ```typescript
341
- // Request
342
- POST /functions/links
343
- {
344
- link_type_id: string, // required
345
- source_type: string, // required
346
- source_id: string, // required
347
- target_type: string, // required
348
- target_id: string, // required
349
- metadata?: object
350
- }
351
-
352
- // Response
353
- {
354
- data: { /* created link */ }
355
- }
356
- ```
357
-
358
- ## Link Types API
359
-
360
- **Endpoint:** `/.netlify/functions/link-types`
361
-
362
- **Domain:** runtime (link type definitions)
363
-
364
- **Operations:**
365
- - `GET /functions/link-types` - List link types
366
- - `GET /functions/link-types?id=uuid` - Get single link type
367
- - `POST /functions/link-types` - Create link type
368
- - `PATCH /functions/link-types?id=uuid` - Update link type
369
- - `DELETE /functions/link-types?id=uuid` - Soft delete link type
370
-
371
- **Authentication:**
372
- - Reads: Public
373
- - Mutations: Admin auth required
374
-
375
- **Request/Response:**
376
-
377
- ### List Link Types
378
- ```typescript
379
- // Request
380
- GET /functions/link-types?page=1&itemsPerPage=20&app_id=uuid
381
-
382
- // Response
383
- {
384
- data: [
385
- {
386
- id: string,
387
- app_id: string,
388
- name: string,
389
- description?: string,
390
- forward_label: string,
391
- reverse_label: string,
392
- source_types: string[],
393
- target_types: string[],
394
- is_active: true,
395
- created_at: string,
396
- updated_at: string,
397
- created_by: string
398
- }
399
- ]
400
- }
401
- ```
402
-
403
- ### Create Link Type
404
- ```typescript
405
- // Request
406
- POST /functions/link-types
407
- {
408
- app_id: string, // required
409
- name: string, // required
410
- description?: string,
411
- forward_label: string, // required
412
- reverse_label: string, // required
413
- source_types: string[], // required
414
- target_types: string[] // required
415
- }
416
-
417
- // Response
418
- {
419
- data: { /* created link type */ }
420
- }
421
- ```
422
-
423
- ## Access Control APIs
424
-
425
- ### People-Accounts API
426
-
427
- **Endpoint:** `/.netlify/functions/people-accounts`
428
-
429
- **Domain:** runtime (people-accounts junction)
430
-
431
- **Operations:**
432
- - `GET /functions/people-accounts` - List people-accounts relationships
433
- - `POST /functions/people-accounts` - Add person to account
434
- - `DELETE /functions/people-accounts?id=uuid` - Remove person from account
435
-
436
- **Authentication:**
437
- - Reads: Account-scoped
438
- - Mutations: Auth required
439
-
440
- ### People-Roles API
441
-
442
- **Endpoint:** `/.netlify/functions/people-roles`
443
-
444
- **Domain:** runtime (people-roles junction)
445
-
446
- **Operations:**
447
- - `GET /functions/people-roles` - List people-roles relationships
448
- - `POST /functions/people-roles` - Assign role to person
449
- - `DELETE /functions/people-roles?id=uuid` - Remove role from person
450
-
451
- **Authentication:**
452
- - Reads: Account-scoped
453
- - Mutations: Auth required
454
-
455
- ### Account Nodes API
456
-
457
- **Endpoint:** `/.netlify/functions/account-nodes`
458
-
459
- **Domain:** internal (account hierarchy traversal)
460
-
461
- **Operations:**
462
- - `GET /functions/account-nodes?id=uuid&include=ancestors|descendants` - Get account hierarchy
463
-
464
- **Authentication:**
465
- - Reads: Account-scoped
466
- - Uses RPC functions for hierarchy traversal
467
-
468
- ## System APIs
469
-
470
- ### Logs API
471
-
472
- **Endpoint:** `/.netlify/functions/logs`
473
-
474
- **Domain:** internal (system logs)
475
-
476
- **Operations:**
477
- - `GET /functions/logs` - List system logs
478
- - `GET /functions/logs?id=uuid` - Get single log entry
479
-
480
- **Authentication:**
481
- - Reads: Admin auth required
482
-
483
- ### Pipeline Executions API
484
-
485
- **Endpoint:** `/.netlify/functions/pipeline-executions`
486
-
487
- **Domain:** runtime (pipeline execution history)
488
-
489
- **Operations:**
490
- - `GET /functions/pipeline-executions` - List pipeline executions
491
- - `GET /functions/pipeline-executions?id=uuid` - Get single execution
492
-
493
- **Authentication:**
494
- - Reads: Account-scoped
495
-
496
- ## Common Features
497
-
498
- ### Account Scoping
499
- - All runtime endpoints respect account boundaries
500
- - Account context via `X-Account-Id` header
501
- - System admin can bypass scoping
502
-
503
- ### Real-time Operations
504
- - Support for WebSocket notifications
505
- - Event-driven updates
506
- - Optimistic locking for concurrent updates
507
-
508
- ### Audit Trail
509
- - All mutations create audit logs
510
- - Immutable history preservation
511
- - Person attribution for all changes
512
-
513
- ### Error Handling
514
- ```typescript
515
- // Success Response
516
- {
517
- data: T
518
- }
519
-
520
- // Error Response
521
- {
522
- error: "Human readable message",
523
- code?: "ERROR_CODE"
524
- }
525
-
526
- // Validation Error
527
- {
528
- errors: {
529
- field: "field-specific error"
530
- }
531
- }
532
- ```
533
-
534
- ### Pagination
535
- - Default: `page=1`, `itemsPerPage=20`
536
- - Higher limits for message threads (50)
537
- - Supports filtering and search
@@ -1,138 +0,0 @@
1
- # Spine v2 Assembly & Launch Process Guide
2
-
3
- ## Source Directories vs Served Directories
4
-
5
- **Edit here (source of truth):**
6
- - `v2-core/src/` — core frontend (all apps, components, hooks, pages)
7
- - `v2-core/functions/` — core Netlify functions
8
- - `v2-custom/src/` — custom frontend overrides (`custom_*.tsx` files only)
9
- - `v2-custom/functions/` — custom function overrides (`custom_*.ts` files only)
10
-
11
- **Never edit these (generated/assembled output):**
12
- - `functions/` (repo root) — assembled and served by Netlify CLI
13
- - `src/v2-assembled/` — assembled for prod builds only (not used in dev)
14
-
15
- ---
16
-
17
- ## Dev vs Prod
18
-
19
- ### Dev (`netlify dev`)
20
-
21
- **Frontend** — not assembled. Vite serves `v2-core/` directly as its root:
22
- ```
23
- vite.config.ts → root: 'v2-core'
24
- ```
25
- `v2-custom/src/` is reachable via `server.fs.allow`, so `CustomAppLoader.tsx` loads
26
- full custom app trees (e.g. `v2-custom/src/apps/customer-portal/`) via `import.meta.glob`
27
- at runtime — no file copying needed for frontend in dev.
28
-
29
- **Functions** — must be assembled. Netlify CLI serves functions from `functions/` at the
30
- repo root (`netlify.toml [functions] directory = "functions"`). Run `npm run assemble:v2`
31
- before starting dev whenever you add or change a function.
32
-
33
- ### Prod (`npm run build`)
34
-
35
- `package.json` runs full assembly before the Vite build:
36
- ```
37
- prebuild → npm run assemble:v2 && npm run verify
38
- build → tsc -b && vite build --config vite.config.ts
39
- ```
40
-
41
- ---
42
-
43
- ## Assembly: What `npm run assemble:v2` Does
44
-
45
- Calls `scripts/assemble-v2.sh`, which runs these three steps **in order**:
46
-
47
- **Step 1 — Custom overlay** (`scripts/assemble-v2-custom.sh`)
48
- - Finds all `custom_*.tsx` files under `v2-custom/src/` → flat-copies into `v2-core/src/`
49
- - Finds all `custom_*.ts` files under `v2-custom/functions/` → flat-copies into `v2-core/functions/`
50
- - Files NOT named `custom_*` are ignored by assembly (but full app trees in `v2-custom/src/apps/`
51
- are still accessible to Vite dev server via `fs.allow`)
52
-
53
- **Step 2 — Functions**
54
- - Wipes `functions/` (repo root)
55
- - Copies `v2-core/functions/` → `functions/` (now includes any custom_*.ts from step 1)
56
-
57
- **Step 3 — Frontend (prod only)**
58
- - Wipes `src/v2-assembled/`
59
- - Copies `v2-core/src/` → `src/v2-assembled/` (now includes any custom_*.tsx from step 1)
60
- - Fixes `index.html` script path: `/src/main.tsx` → `./main.tsx`
61
-
62
- The order matters: custom files must land in `v2-core/` **before** the root copy runs,
63
- so they are included in the output in a single pass.
64
-
65
- ---
66
-
67
- ## Standard Dev Launch
68
-
69
- ```bash
70
- # First time, or after adding/modifying any function:
71
- npm run assemble:v2
72
-
73
- # Start the dev server:
74
- netlify dev
75
- ```
76
-
77
- **What `netlify dev` does:**
78
- 1. Runs `scripts/netlify-dev-wrapper.sh` (via `netlify.toml [dev].command`)
79
- 2. Wrapper fires Vite directly: `exec node_modules/.bin/vite --config vite.config.ts`
80
- 3. Vite serves `v2-core/` on port 3001 with HMR
81
- 4. Netlify CLI proxies port 8888 → 3001 and serves `functions/` (repo root)
82
-
83
- ---
84
-
85
- ## Process Management
86
-
87
- ```bash
88
- # Check ports
89
- lsof -i:3001 # Vite
90
- lsof -i:8888 # Netlify proxy
91
-
92
- # Kill both
93
- pkill -f vite && pkill -f netlify
94
-
95
- # Clean restart
96
- pkill -f vite && pkill -f netlify && sleep 1 && netlify dev
97
- ```
98
-
99
- ---
100
-
101
- ## Troubleshooting
102
-
103
- ### Function returning 404
104
- `functions/` (repo root) is stale or missing the new function. Reassemble then restart:
105
- ```bash
106
- npm run assemble:v2
107
- # restart netlify dev
108
- ```
109
-
110
- ### `custom_*.tsx` override not taking effect
111
- Reassemble so the file lands in `v2-core/src/`:
112
- ```bash
113
- npm run assemble:v2
114
- ```
115
- Vite HMR picks it up automatically if the dev server is already running.
116
-
117
- ### Vite never binds to port 3001
118
- `npm run dev` and `npx vite` silently hang under Netlify CLI. The wrapper must use the
119
- direct binary. Verify `scripts/netlify-dev-wrapper.sh` contains:
120
- ```bash
121
- exec "$PROJECT_ROOT/node_modules/.bin/vite" --config "$PROJECT_ROOT/vite.config.ts"
122
- ```
123
- Never change this to `npm run dev` or `npx vite`.
124
-
125
- ---
126
-
127
- ## Key Files
128
-
129
- | File | Role |
130
- |---|---|
131
- | `scripts/assemble-v2.sh` | Full assembly orchestrator — runs steps 1→2→3 |
132
- | `scripts/assemble-v2-custom.sh` | Step 1: overlays `custom_*` files into `v2-core/` |
133
- | `scripts/netlify-dev-wrapper.sh` | Dev entry point — fires Vite binary directly |
134
- | `netlify.toml` | `[dev].command` → wrapper; `[functions] directory = "functions"` |
135
- | `vite.config.ts` | `root: 'v2-core'`; `fs.allow` includes `v2-custom`; `@core`/`@custom` aliases |
136
- | `v2-core/src/components/CustomAppLoader.tsx` | Loads `v2-custom/src/apps/*/index.tsx` via `import.meta.glob` |
137
- | `functions/` (repo root) | Assembled output — served by Netlify CLI; never edit directly |
138
- | `src/v2-assembled/` | Assembled output — prod build only; never edit directly |