spine-framework 0.1.61 → 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 +223 -0
  2. package/README.md +327 -0
  3. package/package.json +107 -216
  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 -126
  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 -72
  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 -64
  412. package/scripts/app-install-cli.ts +0 -286
  413. package/scripts/assemble-frontend.sh +0 -79
  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
package/LICENSE.md ADDED
@@ -0,0 +1,223 @@
1
+ # Spine Framework Internal Use License 1.0.0
2
+
3
+ **Source-available. Free for internal use. Commercial rights reserved.**
4
+
5
+ This license is based on the structure and intent of the PolyForm Internal Use License 1.0.0, but it has been modified for Spine Framework. This is not the unmodified PolyForm Internal Use License.
6
+
7
+ ## Required Notice
8
+
9
+ Required Notice: Copyright © 2026 Dahl Ventures Inc. All rights reserved.
10
+
11
+ ## 1. Acceptance
12
+
13
+ In order to receive any license under these terms, you must agree to these terms as both strict obligations and conditions to all licenses granted to you.
14
+
15
+ If you do not agree to these terms, you do not have permission to use, copy, modify, run, install, access, or create works based on Spine Framework.
16
+
17
+ ## 2. Definitions
18
+
19
+ **Software** means Spine Framework, including its source code, object code, packages, modules, templates, schemas, migrations, configuration files, documentation, examples, command-line tools, SDKs, application packs, and related materials provided by the licensor.
20
+
21
+ **Licensor** means the legal owner of Spine Framework.
22
+
23
+ **You** means the individual or legal entity receiving the Software.
24
+
25
+ **Your Company** means the legal entity on whose behalf you use the Software, including that entity's employees and authorized contractors.
26
+
27
+ **Internal Business Use** means use of the Software solely inside Your Company for Your Company's own internal business operations, internal workflows, internal applications, internal data, internal users, and internal customers or accounts.
28
+
29
+ **Third Party** means any person or legal entity other than You or Your Company.
30
+
31
+ **Commercial License** means a separate written agreement signed by the Licensor that grants rights beyond this license.
32
+
33
+ ## 3. Copyright License
34
+
35
+ The Licensor grants You a copyright license to do everything with the Software that would otherwise infringe the Licensor's copyright, but only for Internal Business Use and only as permitted by these terms.
36
+
37
+ You may install, run, access, evaluate, test, configure, and use the Software for Internal Business Use.
38
+
39
+ You may copy the Software only as reasonably necessary for Internal Business Use, including backup, deployment, development, testing, staging, disaster recovery, and internal security review.
40
+
41
+ You may not distribute the Software except as expressly allowed in these terms.
42
+
43
+ ## 4. Changes and New Works
44
+
45
+ The Licensor grants You a copyright license to modify the Software and create new works based on the Software, but only for Internal Business Use.
46
+
47
+ You may create internal applications, extensions, workflows, integrations, automations, schemas, roles, agents, triggers, pipelines, dashboards, reports, and other internal business systems using the Software.
48
+
49
+ You may not distribute, sell, sublicense, transfer, lease, rent, host for others, white-label, resell, or commercially exploit any modified version, derivative work, extension, application pack, template, or implementation of the Software except under a Commercial License.
50
+
51
+ ## 5. Internal Contractors
52
+
53
+ Your Company may allow employees and contractors to access and use the Software solely on behalf of Your Company and solely for Your Company's Internal Business Use.
54
+
55
+ Contractors do not receive any independent right to use the Software for themselves, their other clients, their own products, or any Third Party.
56
+
57
+ Your Company is responsible for all use of the Software by its employees, contractors, agents, and representatives.
58
+
59
+ ## 6. Your Data and Application-Specific Work
60
+
61
+ As between You and the Licensor, You own Your Company's data, records, content, prompts, business logic, customer records, internal workflows, and application-specific code that You independently create using the Software.
62
+
63
+ These terms do not give the Licensor ownership of Your Company's data or independently created application-specific business content.
64
+
65
+ However, ownership of Your Company's data or application-specific work does not give You the right to distribute, resell, white-label, host, or commercially exploit the Software or any portion of the Software except as allowed by these terms or a Commercial License.
66
+
67
+ ## 7. Prohibited Uses
68
+
69
+ You may not do any of the following without a Commercial License:
70
+
71
+ 1. Sell, resell, sublicense, rent, lease, lend, transfer, assign, publish, or distribute the Software.
72
+ 2. Offer the Software, or any modified version of the Software, to Third Parties as software, infrastructure, a framework, a platform, a service, or a hosted product.
73
+ 3. Offer the Software as SaaS, PaaS, IaaS, framework-as-a-service, backend-as-a-service, workflow-as-a-service, automation-as-a-service, AI-agent platform, managed service, or similar commercial service.
74
+ 4. White-label, private-label, rebrand, or remove Spine Framework identity from the Software in order to provide it to Third Parties.
75
+ 5. Embed, bundle, package, or include the Software in any product, service, appliance, marketplace offering, application pack, starter kit, template library, SDK, CLI, distribution, or managed implementation made available to Third Parties.
76
+ 6. Use the Software to operate, power, support, or provide a product or service for Third Parties where those Third Parties receive access to the Software or to functionality substantially provided by the Software.
77
+ 7. Use the Software to build, operate, or improve a competing framework, platform, marketplace, application generator, agentic software infrastructure product, or commercial development infrastructure product.
78
+ 8. Provide implementation, consulting, hosting, support, customization, training, migration, or managed services for the Software to Third Parties as a paid or commercial offering, except as expressly authorized by the Licensor.
79
+ 9. Remove, alter, obscure, or bypass copyright notices, license notices, attribution, trademarks, branding, license keys, license checks, usage limits, or technical protection measures included in the Software.
80
+ 10. Use the Software in violation of law, regulation, third-party rights, or these terms.
81
+
82
+ ## 8. Examples of Permitted Use
83
+
84
+ The following are permitted under this license, provided they are solely for Internal Business Use:
85
+
86
+ 1. A company installs Spine Framework to build its own internal CRM.
87
+ 2. A company uses Spine Framework to operate an internal customer support portal for its own support team and its own customers.
88
+ 3. A company modifies Spine Framework for its internal workflows, roles, permissions, automations, pipelines, and integrations.
89
+ 4. A company lets its employees and authorized contractors configure, maintain, and support its internal Spine Framework installation.
90
+ 5. A company creates internal dashboards, agents, knowledge bases, audit trails, and operational tools on top of Spine Framework.
91
+
92
+ ## 9. Examples Requiring a Commercial License
93
+
94
+ The following are not permitted under this license and require a Commercial License:
95
+
96
+ 1. Selling Spine Framework or a modified version of Spine Framework.
97
+ 2. Offering Spine Framework as a hosted SaaS product.
98
+ 3. Offering a white-labeled application built on Spine Framework to customers.
99
+ 4. Packaging Spine Framework into a commercial starter kit, template, marketplace app, agency offering, or developer platform.
100
+ 5. Running Spine Framework for multiple clients as a managed service provider, agency, consultant, systems integrator, or outsourcing firm.
101
+ 6. Embedding Spine Framework into a product sold to customers.
102
+ 7. Forking Spine Framework to launch a competing framework, backend, app platform, AI-agent platform, or development infrastructure product.
103
+ 8. Publishing modified Spine Framework source code to a public repository.
104
+ 9. Giving a customer, client, partner, reseller, or affiliate a copy of Spine Framework.
105
+
106
+ ## 10. Distribution
107
+
108
+ You may not distribute the Software, modified versions of the Software, or works based on the Software to any Third Party except as expressly permitted by these terms or a Commercial License.
109
+
110
+ You may share copies of the Software with employees and contractors of Your Company only as necessary for Internal Business Use and only if they are bound by obligations consistent with these terms.
111
+
112
+ Any copy of the Software must include this license and all Required Notices.
113
+
114
+ ## 11. Trademarks
115
+
116
+ This license does not grant You any right to use the Licensor's names, trademarks, service marks, logos, product names, domain names, or branding except as necessary to identify the Software for Internal Business Use.
117
+
118
+ You may not use Spine Framework branding in a way that suggests sponsorship, endorsement, partnership, certification, resale authorization, or commercial authorization without written permission from the Licensor.
119
+
120
+ ## 12. Patent License
121
+
122
+ The Licensor grants You a patent license for the Software that covers patent claims the Licensor can license, or later becomes able to license, that You would infringe by using the Software as permitted by these terms.
123
+
124
+ ## 13. Patent Defense
125
+
126
+ If You make any written claim that the Software infringes or contributes to infringement of any patent, Your patent license for the Software ends immediately.
127
+
128
+ If Your Company makes such a claim, Your Company's patent license ends immediately.
129
+
130
+ ## 14. Fair Use and Other Legal Rights
131
+
132
+ You may have fair use, fair dealing, or other rights under applicable law. These terms do not limit rights that the law does not allow these terms to limit.
133
+
134
+ ## 15. No Other Rights
135
+
136
+ These terms do not allow You to sublicense, transfer, assign, or delegate any license granted under these terms except as expressly allowed here.
137
+
138
+ These terms do not prevent the Licensor from granting licenses to anyone else.
139
+
140
+ These terms do not imply any license other than the licenses expressly granted here.
141
+
142
+ All rights not expressly granted are reserved by the Licensor.
143
+
144
+ ## 16. Violations and Cure
145
+
146
+ The first time You are notified in writing that You have violated these terms, or done anything with the Software not covered by these terms, Your licenses can continue if You:
147
+
148
+ 1. come into full compliance with these terms;
149
+ 2. take practical steps to correct past violations; and
150
+ 3. complete both within 32 days of receiving written notice.
151
+
152
+ If You do not satisfy those requirements, all licenses granted to You under these terms end immediately.
153
+
154
+ For any later violation, all licenses granted to You under these terms end immediately without any cure period.
155
+
156
+ ## 17. Termination
157
+
158
+ When Your licenses end, You must stop all use of the Software and destroy all copies of the Software in Your possession or control, except copies You are legally required to retain for archival, compliance, or legal purposes.
159
+
160
+ Sections concerning ownership, prohibited uses, trademarks, patent defense, no other rights, violations, termination, no warranty, limitation of liability, and general terms survive termination.
161
+
162
+ ## 18. No Warranty
163
+
164
+ As far as the law allows, the Software is provided as is and as available, without any warranty or condition, express or implied.
165
+
166
+ The Licensor disclaims all warranties and conditions, including warranties of merchantability, fitness for a particular purpose, title, non-infringement, availability, accuracy, security, and quiet enjoyment.
167
+
168
+ ## 19. Limitation of Liability
169
+
170
+ As far as the law allows, the Licensor will not be liable to You for any indirect, incidental, special, consequential, exemplary, punitive, or other damages arising out of these terms or the Software.
171
+
172
+ As far as the law allows, the Licensor will not be liable for lost profits, lost revenue, lost savings, lost data, business interruption, security incidents, procurement of substitute services, or loss of goodwill.
173
+
174
+ The Licensor's total liability arising out of these terms or the Software will not exceed the amount You paid the Licensor for the Software during the 12 months before the event giving rise to liability, or USD $100 if You paid nothing.
175
+
176
+ ## 20. Commercial Licensing
177
+
178
+ Rights not granted under this license may be available under a separate Commercial License from the Licensor.
179
+
180
+ A Commercial License is required for resale, redistribution, SaaS, managed services, white-label use, OEM use, marketplace distribution, partner use, commercial hosting, commercial support offerings, or any use outside Internal Business Use.
181
+
182
+ To request commercial rights, contact:
183
+
184
+ - spine-framework.com
185
+ - webmaster@spine-framework.com
186
+
187
+ ## 21. License Updates
188
+
189
+ The Licensor may publish updated versions of this license from time to time.
190
+
191
+ Each release, package, download, or copy of the Software is governed by the license terms included with that release, package, download, or copy, unless You and the Licensor have signed a separate written agreement.
192
+
193
+ Updated license terms apply only to future releases, downloads, packages, updates, upgrades, patches, hosted access, or other versions of the Software made available after the updated terms are published.
194
+
195
+ The Licensor may require acceptance of updated license terms as a condition of receiving or using future releases, updates, hosted services, commercial features, support, documentation, marketplace access, license keys, portals, application packs, or other Spine Framework services.
196
+
197
+ Nothing in this section gives You rights to continue using future versions of the Software under earlier license terms.
198
+
199
+ ## 22. General Terms
200
+
201
+ If any part of these terms is held unenforceable, the rest remains in effect as far as the law allows.
202
+
203
+ Failure by the Licensor to enforce any term is not a waiver.
204
+
205
+ Any waiver must be in writing and signed by the Licensor.
206
+
207
+ These terms are the entire license terms for the Software unless You and the Licensor have signed a separate written agreement.
208
+
209
+ ## 23. Plain-English Summary
210
+
211
+ This summary is not part of the legal license.
212
+
213
+ You may use Spine Framework inside your own company for your own internal business operations.
214
+
215
+ You may modify Spine Framework for your own internal use.
216
+
217
+ You may let your employees and contractors work on your internal Spine Framework installation.
218
+
219
+ You may not sell it, redistribute it, white-label it, host it for others, offer it as SaaS, package it into another product, use it as a managed service offering, or use it to build a competing framework without a separate commercial license.
220
+
221
+ Future versions, updates, services, support, portals, packs, license keys, and commercial features may require acceptance of updated terms.
222
+
223
+ Spine Framework is source-available. It is not open source.
package/README.md ADDED
@@ -0,0 +1,327 @@
1
+ # Spine Framework
2
+
3
+ A comprehensive framework for building enterprise applications with multi-tenant architecture, role-based access control, and extensible app ecosystem.
4
+
5
+ ## Overview
6
+
7
+ Spine Framework provides the foundation for building scalable enterprise applications with:
8
+
9
+ - **Multi-tenant Architecture**: Support for tenant hierarchies and isolated deployments
10
+ - **Role-Based Access Control**: Fine-grained permissions and authorization
11
+ - **App Ecosystem**: Extensible framework for building and distributing applications
12
+ - **Real-time Features**: Built-in support for real-time collaboration and notifications
13
+ - **AI Integration**: Native support for AI agents and intelligent workflows
14
+ - **Developer Tools**: Comprehensive tooling for development, testing, and deployment
15
+
16
+ ## Installation
17
+
18
+ ### Prerequisites
19
+
20
+ - Node.js 18+
21
+ - PostgreSQL database
22
+ - Supabase project (for database and auth)
23
+
24
+ ### Quick Start
25
+
26
+ ```bash
27
+ # Install the framework
28
+ npm install spine-framework
29
+
30
+ # Initialize a new project
31
+ npx spine init my-project
32
+
33
+ # Start development
34
+ cd my-project
35
+ npm run dev
36
+ ```
37
+
38
+ ## Architecture
39
+
40
+ ### Core Components
41
+
42
+ - **Framework Core**: Base functionality, authentication, and data models
43
+ - **App Registry**: System for managing and distributing applications
44
+ - **Multi-tenant Engine**: Tenant isolation and hierarchy management
45
+ - **Authorization Layer**: Role-based permissions and access control
46
+ - **Real-time Infrastructure**: WebSocket support and live updates
47
+ - **AI Agent System**: Integration with AI services and workflows
48
+
49
+ ### App Ecosystem
50
+
51
+ Spine Framework supports a growing ecosystem of applications:
52
+
53
+ - **Cortex**: CRM, Support, Community, and Knowledge Base
54
+ - **Customer Portal**: Self-service customer portal
55
+ - **Custom Apps**: Build your own applications using the framework
56
+
57
+ ### Database Schema
58
+
59
+ The framework uses a clean, normalized schema with:
60
+
61
+ - **Accounts & Tenants**: Multi-tenant hierarchy support
62
+ - **People & Roles**: User management and permissions
63
+ - **Items & Threads**: Flexible data modeling system
64
+ - **Apps & Integrations**: Extensible app registry
65
+ - **AI Agents**: Intelligent workflow automation
66
+
67
+ ## Development
68
+
69
+ ### Project Structure
70
+
71
+ ```
72
+ my-spine-project/
73
+ ├── src/
74
+ │ ├── components/ # Reusable UI components
75
+ │ ├── pages/ # Application pages
76
+ │ ├── hooks/ # Custom React hooks
77
+ │ ├── contexts/ # React contexts
78
+ │ └── utils/ # Utility functions
79
+ ├── functions/ # Serverless functions
80
+ ├── migrations/ # Database migrations
81
+ ├── custom/ # Custom app extensions
82
+ └── docs/ # Documentation
83
+ ```
84
+
85
+ ### Building Apps
86
+
87
+ Create custom applications using the Spine Framework:
88
+
89
+ ```typescript
90
+ // src/apps/my-app/index.tsx
91
+ import { AppLayout, useCurrentApp } from '@spine-framework/core'
92
+
93
+ export default function MyApp() {
94
+ const app = useCurrentApp()
95
+
96
+ return (
97
+ <AppLayout>
98
+ <h1>{app.name}</h1>
99
+ {/* Your app content */}
100
+ </AppLayout>
101
+ )
102
+ }
103
+ ```
104
+
105
+ ### Database Extensions
106
+
107
+ Add custom database schema:
108
+
109
+ ```sql
110
+ -- migrations/001_my_app.sql
111
+ CREATE TABLE my_app_data (
112
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
113
+ account_id UUID REFERENCES accounts(id),
114
+ title TEXT NOT NULL,
115
+ created_at TIMESTAMPTZ DEFAULT now()
116
+ );
117
+
118
+ -- Enable RLS
119
+ ALTER TABLE my_app_data ENABLE ROW LEVEL SECURITY;
120
+ ```
121
+
122
+ ## Configuration
123
+
124
+ ### Environment Variables
125
+
126
+ ```bash
127
+ # Database
128
+ DATABASE_URL=postgresql://...
129
+
130
+ # Supabase
131
+ SUPABASE_URL=your-project.supabase.co
132
+ SUPABASE_ANON_KEY=your-anon-key
133
+ SUPABASE_SERVICE_ROLE_KEY=your-service-key
134
+
135
+ # Framework
136
+ SPINE_ENV=development
137
+ SPINE_LOG_LEVEL=info
138
+ ```
139
+
140
+ ### Framework Configuration
141
+
142
+ ```typescript
143
+ // spine.config.ts
144
+ export default {
145
+ database: {
146
+ url: process.env.DATABASE_URL,
147
+ poolSize: 10,
148
+ },
149
+ auth: {
150
+ providers: ['email', 'github', 'google'],
151
+ sessionTimeout: '24h',
152
+ },
153
+ apps: {
154
+ registry: 'https://registry.spine-framework.com',
155
+ autoUpdate: true,
156
+ },
157
+ ai: {
158
+ provider: 'openai',
159
+ model: 'gpt-4',
160
+ }
161
+ }
162
+ ```
163
+
164
+ ## Deployment
165
+
166
+ ### Development
167
+
168
+ ```bash
169
+ # Start development server
170
+ npm run dev
171
+
172
+ # Run tests
173
+ npm test
174
+
175
+ # Type checking
176
+ npm run type-check
177
+ ```
178
+
179
+ ### Production
180
+
181
+ ```bash
182
+ # Build for production
183
+ npm run build
184
+
185
+ # Deploy to Netlify
186
+ netlify deploy --prod
187
+
188
+ # Or deploy to your preferred platform
189
+ ```
190
+
191
+ ### Database Migrations
192
+
193
+ ```bash
194
+ # Run migrations
195
+ npx spine migrate up
196
+
197
+ # Create new migration
198
+ npx spine migrate create add_new_feature
199
+
200
+ # Rollback migration
201
+ npx spine migrate down
202
+ ```
203
+
204
+ ## Available Apps
205
+
206
+ ### Official Apps
207
+
208
+ - **[spine-framework-cortex](https://github.com/spine-framework/spine-framework-cortex)**
209
+ - CRM, Support, Community, Knowledge Base
210
+ - `npm install spine-framework-cortex`
211
+
212
+ - **[spine-framework-portal](https://github.com/spine-framework/spine-framework-portal)**
213
+ - Customer self-service portal
214
+ - `npm install spine-framework-portal`
215
+
216
+ ### Installing Apps
217
+
218
+ ```bash
219
+ # Install an app
220
+ npx spine install-app cortex
221
+
222
+ # List available apps
223
+ npx spine list-apps
224
+
225
+ # Update an app
226
+ npx spine update-app cortex
227
+ ```
228
+
229
+ ## API Reference
230
+
231
+ ### Core Hooks
232
+
233
+ ```typescript
234
+ // Authentication
235
+ import { useAuth, useUser } from '@spine-framework/core'
236
+
237
+ // App Management
238
+ import { useApps, useCurrentApp } from '@spine-framework/core'
239
+
240
+ // Data Management
241
+ import { useItems, useThreads } from '@spine-framework/core'
242
+
243
+ // Real-time
244
+ import { useWebSocket } from '@spine-framework/core'
245
+ ```
246
+
247
+ ### Database Functions
248
+
249
+ ```sql
250
+ -- Get account apps
251
+ SELECT * FROM get_account_apps(account_id, true, false);
252
+
253
+ -- Get accessible accounts
254
+ SELECT * FROM get_accessible_accounts(user_id);
255
+
256
+ -- Check permissions
257
+ SELECT * FROM has_permission(user_id, 'action', 'resource');
258
+ ```
259
+
260
+ ## Contributing
261
+
262
+ ### Development Setup
263
+
264
+ ```bash
265
+ # Clone the repository
266
+ git clone https://github.com/spine-framework/spine-framework.git
267
+ cd spine-framework
268
+
269
+ # Install dependencies
270
+ npm install
271
+
272
+ # Start development
273
+ npm run dev
274
+ ```
275
+
276
+ ### Submitting Changes
277
+
278
+ 1. Fork the repository
279
+ 2. Create a feature branch
280
+ 3. Make your changes
281
+ 4. Add tests
282
+ 5. Submit a pull request
283
+
284
+ ### Building Apps for Distribution
285
+
286
+ If you want to contribute an app to the ecosystem:
287
+
288
+ 1. Create your app using the framework
289
+ 2. Follow the app structure guidelines
290
+ 3. Include comprehensive documentation
291
+ 4. Submit for review
292
+
293
+ ## License
294
+
295
+ This framework is licensed under the [Spine Framework Internal Use License](LICENSE.md).
296
+
297
+ - ✅ Free for internal business use
298
+ - ❌ Commercial redistribution requires separate license
299
+ - 📞 Contact: spine-framework.com for commercial licensing
300
+
301
+ ## Support
302
+
303
+ - **Documentation**: [docs.spine-framework.com](https://docs.spine-framework.com)
304
+ - **Issues**: [GitHub Issues](https://github.com/spine-framework/spine-framework/issues)
305
+ - **Community**: [Discord Server](https://discord.gg/spine-framework)
306
+ - **Commercial**: [Contact Us](mailto:commercial@spine-framework.com)
307
+
308
+ ## Version History
309
+
310
+ ### v1.0.0
311
+ - Initial release
312
+ - Multi-tenant architecture
313
+ - App registry system
314
+ - Role-based access control
315
+ - Real-time features
316
+ - AI integration
317
+
318
+ ### Roadmap
319
+
320
+ - **v1.1**: Enhanced AI capabilities
321
+ - **v1.2**: Advanced analytics and reporting
322
+ - **v1.3**: Mobile app support
323
+ - **v2.0**: Microservices architecture
324
+
325
+ ---
326
+
327
+ **Spine Framework** - Build enterprise applications with confidence.