spine-framework 0.1.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 (385) hide show
  1. package/.framework/README.md +129 -0
  2. package/.framework/cli/bin.cjs +14 -0
  3. package/.framework/cli/commands/agents.ts +153 -0
  4. package/.framework/cli/commands/auth.ts +94 -0
  5. package/.framework/cli/commands/create-app.ts +185 -0
  6. package/.framework/cli/commands/dev.ts +295 -0
  7. package/.framework/cli/commands/doctor.ts +442 -0
  8. package/.framework/cli/commands/generate.ts +332 -0
  9. package/.framework/cli/commands/init.ts +272 -0
  10. package/.framework/cli/commands/install-app.ts +391 -0
  11. package/.framework/cli/commands/items.ts +253 -0
  12. package/.framework/cli/commands/migrations.ts +141 -0
  13. package/.framework/cli/commands/pipelines.ts +166 -0
  14. package/.framework/cli/commands/status.ts +197 -0
  15. package/.framework/cli/commands/system.ts +184 -0
  16. package/.framework/cli/commands/test.ts +227 -0
  17. package/.framework/cli/commands/uninstall-app.ts +166 -0
  18. package/.framework/cli/context.ts +268 -0
  19. package/.framework/cli/env-loader.ts +36 -0
  20. package/.framework/cli/index.ts +106 -0
  21. package/.framework/cli/welcome.cjs +45 -0
  22. package/.framework/docs/API.md +384 -0
  23. package/.framework/docs/STABILITY.md +52 -0
  24. package/.framework/docs/admin-routes.md +76 -0
  25. package/.framework/docs/api-docs-progress.md +38 -0
  26. package/.framework/docs/api-governance.md +146 -0
  27. package/.framework/docs/api-testing-results.md +212 -0
  28. package/.framework/docs/apis/admin-configs.md +567 -0
  29. package/.framework/docs/apis/admin-data.md +272 -0
  30. package/.framework/docs/apis/index.md +231 -0
  31. package/.framework/docs/apis/internal.md +295 -0
  32. package/.framework/docs/apis/runtime.md +537 -0
  33. package/.framework/docs/assembly-launch-guide.md +138 -0
  34. package/.framework/docs/audit-results.md +590 -0
  35. package/.framework/docs/authorization-model.md +170 -0
  36. package/.framework/docs/db-api-inventory.md +95 -0
  37. package/.framework/docs/examples/custom-app/README.md +77 -0
  38. package/.framework/docs/examples/custom-function/README.md +27 -0
  39. package/.framework/docs/examples/custom-function/handler.ts +48 -0
  40. package/.framework/docs/examples/custom-webhook/README.md +68 -0
  41. package/.framework/docs/gap-remediation-backlog.md +103 -0
  42. package/.framework/docs/guides/cli-guide.md +224 -0
  43. package/.framework/docs/guides/getting-started.md +103 -0
  44. package/.framework/docs/guides/import-guide.md +193 -0
  45. package/.framework/docs/guides/testing-guide.md +229 -0
  46. package/.framework/docs/permission-examples.md +326 -0
  47. package/.framework/docs/ui-adoption-verification.md +111 -0
  48. package/.framework/docs/ui-api-coverage.md +84 -0
  49. package/.framework/docs/v2-compatibility-audit.md +228 -0
  50. package/.framework/functions/.gitkeep +1 -0
  51. package/.framework/functions/_shared/agent-runner.ts +1097 -0
  52. package/.framework/functions/_shared/app-manifest.ts +184 -0
  53. package/.framework/functions/_shared/audit.ts +150 -0
  54. package/.framework/functions/_shared/db.ts +174 -0
  55. package/.framework/functions/_shared/index.ts +382 -0
  56. package/.framework/functions/_shared/middleware.ts +490 -0
  57. package/.framework/functions/_shared/permissions.ts +1325 -0
  58. package/.framework/functions/_shared/pipeline-runner.ts +731 -0
  59. package/.framework/functions/_shared/principal.ts +760 -0
  60. package/.framework/functions/_shared/schema-utils.ts +967 -0
  61. package/.framework/functions/_shared/testing.ts +258 -0
  62. package/.framework/functions/_shared/trigger-engine.ts +425 -0
  63. package/.framework/functions/_shared/webhook-registration.ts +168 -0
  64. package/.framework/functions/_shared/webhook-registry.ts +129 -0
  65. package/.framework/functions/account-nodes.ts +111 -0
  66. package/.framework/functions/admin-data.ts +606 -0
  67. package/.framework/functions/ai-agents.ts +323 -0
  68. package/.framework/functions/api-keys.ts +376 -0
  69. package/.framework/functions/apps.ts +483 -0
  70. package/.framework/functions/auth.ts +196 -0
  71. package/.framework/functions/debug-auth.ts +107 -0
  72. package/.framework/functions/embeddings.ts +556 -0
  73. package/.framework/functions/integration-routes.ts +523 -0
  74. package/.framework/functions/integrations.ts +319 -0
  75. package/.framework/functions/item-progress.ts +272 -0
  76. package/.framework/functions/logs.ts +438 -0
  77. package/.framework/functions/observability.ts +275 -0
  78. package/.framework/functions/pipeline-executions.ts +494 -0
  79. package/.framework/functions/pipelines.ts +485 -0
  80. package/.framework/functions/prompt-configs.ts +339 -0
  81. package/.framework/functions/roles.ts +387 -0
  82. package/.framework/functions/system-cron.ts +742 -0
  83. package/.framework/functions/system.ts +323 -0
  84. package/.framework/functions/tests.ts +119 -0
  85. package/.framework/functions/timers.ts +357 -0
  86. package/.framework/functions/triggers.ts +563 -0
  87. package/.framework/functions/types.ts +604 -0
  88. package/.framework/migrations/000_foundation.sql +1256 -0
  89. package/.framework/migrations/001_seed.sql +92 -0
  90. package/.framework/migrations/002_seed_constraints.sql +13 -0
  91. package/.framework/migrations/003_auth_user_trigger.sql +59 -0
  92. package/.framework/src/App.tsx +126 -0
  93. package/.framework/src/apps/admin/index.tsx +173 -0
  94. package/.framework/src/components/AppWrapper.tsx +56 -0
  95. package/.framework/src/components/CustomAppLoader.tsx +116 -0
  96. package/.framework/src/components/admin/AdminListPage.tsx +151 -0
  97. package/.framework/src/components/admin/AdminSidebar.tsx +166 -0
  98. package/.framework/src/components/admin/AdminStatsCard.tsx +62 -0
  99. package/.framework/src/components/admin/SortableTableHeader.tsx +42 -0
  100. package/.framework/src/components/app-shell/GenericAppShell.tsx +181 -0
  101. package/.framework/src/components/app-shell/GenericDetailPage.tsx +200 -0
  102. package/.framework/src/components/app-shell/GenericListPage.tsx +116 -0
  103. package/.framework/src/components/app-sidebar.tsx +228 -0
  104. package/.framework/src/components/auth/ProtectedRoute.tsx +88 -0
  105. package/.framework/src/components/layout/AppShell.tsx +91 -0
  106. package/.framework/src/components/layout/Header.tsx +88 -0
  107. package/.framework/src/components/layout/Layout.tsx +95 -0
  108. package/.framework/src/components/layout/Sidebar.tsx +329 -0
  109. package/.framework/src/components/runtime/DataDetailHeader.tsx +77 -0
  110. package/.framework/src/components/runtime/DataDetailPage.tsx +171 -0
  111. package/.framework/src/components/runtime/DataFilters.tsx +91 -0
  112. package/.framework/src/components/runtime/DataHeader.tsx +68 -0
  113. package/.framework/src/components/runtime/DataListPage.tsx +124 -0
  114. package/.framework/src/components/runtime/DataStats.tsx +70 -0
  115. package/.framework/src/components/runtime/DataTable.tsx +174 -0
  116. package/.framework/src/components/runtime/SchemaDetailForm.tsx +134 -0
  117. package/.framework/src/components/runtime/index.ts +18 -0
  118. package/.framework/src/components/search-form.tsx +29 -0
  119. package/.framework/src/components/shared/AgentView.tsx +213 -0
  120. package/.framework/src/components/shared/FieldRenderer.tsx +478 -0
  121. package/.framework/src/components/shared/SchemaFields.tsx +226 -0
  122. package/.framework/src/components/ui/DataTable.tsx +343 -0
  123. package/.framework/src/components/ui/Form.tsx +281 -0
  124. package/.framework/src/components/ui/ItemCard.tsx +296 -0
  125. package/.framework/src/components/ui/ItemListView.tsx +308 -0
  126. package/.framework/src/components/ui/LoadingSpinner.tsx +52 -0
  127. package/.framework/src/components/ui/Modal.tsx +61 -0
  128. package/.framework/src/components/ui/RichTextEditor.tsx +210 -0
  129. package/.framework/src/components/ui/accordion.tsx +82 -0
  130. package/.framework/src/components/ui/alert-dialog.tsx +197 -0
  131. package/.framework/src/components/ui/alert.tsx +76 -0
  132. package/.framework/src/components/ui/aspect-ratio.tsx +11 -0
  133. package/.framework/src/components/ui/avatar.tsx +110 -0
  134. package/.framework/src/components/ui/badge.tsx +49 -0
  135. package/.framework/src/components/ui/breadcrumb.tsx +122 -0
  136. package/.framework/src/components/ui/button-group.tsx +83 -0
  137. package/.framework/src/components/ui/button.tsx +65 -0
  138. package/.framework/src/components/ui/calendar.tsx +222 -0
  139. package/.framework/src/components/ui/card.tsx +100 -0
  140. package/.framework/src/components/ui/carousel.tsx +240 -0
  141. package/.framework/src/components/ui/chart.tsx +373 -0
  142. package/.framework/src/components/ui/checkbox.tsx +31 -0
  143. package/.framework/src/components/ui/collapsible.tsx +33 -0
  144. package/.framework/src/components/ui/combobox.tsx +299 -0
  145. package/.framework/src/components/ui/command.tsx +193 -0
  146. package/.framework/src/components/ui/context-menu.tsx +261 -0
  147. package/.framework/src/components/ui/dialog.tsx +165 -0
  148. package/.framework/src/components/ui/direction.tsx +22 -0
  149. package/.framework/src/components/ui/drawer.tsx +132 -0
  150. package/.framework/src/components/ui/dropdown-menu.tsx +269 -0
  151. package/.framework/src/components/ui/empty.tsx +104 -0
  152. package/.framework/src/components/ui/field.tsx +238 -0
  153. package/.framework/src/components/ui/hover-card.tsx +42 -0
  154. package/.framework/src/components/ui/input-group.tsx +153 -0
  155. package/.framework/src/components/ui/input-otp.tsx +87 -0
  156. package/.framework/src/components/ui/input.tsx +19 -0
  157. package/.framework/src/components/ui/item.tsx +196 -0
  158. package/.framework/src/components/ui/kbd.tsx +26 -0
  159. package/.framework/src/components/ui/label.tsx +22 -0
  160. package/.framework/src/components/ui/menubar.tsx +277 -0
  161. package/.framework/src/components/ui/native-select.tsx +61 -0
  162. package/.framework/src/components/ui/navigation-menu.tsx +164 -0
  163. package/.framework/src/components/ui/pagination.tsx +129 -0
  164. package/.framework/src/components/ui/popover.tsx +87 -0
  165. package/.framework/src/components/ui/progress.tsx +31 -0
  166. package/.framework/src/components/ui/radio-group.tsx +42 -0
  167. package/.framework/src/components/ui/resizable.tsx +50 -0
  168. package/.framework/src/components/ui/scroll-area.tsx +53 -0
  169. package/.framework/src/components/ui/select.tsx +195 -0
  170. package/.framework/src/components/ui/separator.tsx +26 -0
  171. package/.framework/src/components/ui/sheet.tsx +145 -0
  172. package/.framework/src/components/ui/sidebar.tsx +706 -0
  173. package/.framework/src/components/ui/skeleton.tsx +13 -0
  174. package/.framework/src/components/ui/slider.tsx +59 -0
  175. package/.framework/src/components/ui/sonner.tsx +47 -0
  176. package/.framework/src/components/ui/spinner.tsx +10 -0
  177. package/.framework/src/components/ui/switch.tsx +33 -0
  178. package/.framework/src/components/ui/table-primitives.tsx +141 -0
  179. package/.framework/src/components/ui/table.tsx +114 -0
  180. package/.framework/src/components/ui/tabs.tsx +90 -0
  181. package/.framework/src/components/ui/textarea.tsx +18 -0
  182. package/.framework/src/components/ui/toggle-group.tsx +89 -0
  183. package/.framework/src/components/ui/toggle.tsx +45 -0
  184. package/.framework/src/components/ui/tooltip.tsx +57 -0
  185. package/.framework/src/contexts/AppContext.tsx +133 -0
  186. package/.framework/src/contexts/AuthContext.tsx +371 -0
  187. package/.framework/src/hooks/use-mobile.ts +19 -0
  188. package/.framework/src/hooks/useApi.ts +526 -0
  189. package/.framework/src/hooks/useApps.ts +114 -0
  190. package/.framework/src/hooks/useEntityList.ts +190 -0
  191. package/.framework/src/hooks/useEntityRecord.ts +308 -0
  192. package/.framework/src/hooks/useForm.ts +307 -0
  193. package/.framework/src/hooks/useListSchema.ts +264 -0
  194. package/.framework/src/hooks/useSchemaRecord.ts +223 -0
  195. package/.framework/src/index.css +128 -0
  196. package/.framework/src/lib/api.ts +156 -0
  197. package/.framework/src/lib/supabase.ts +94 -0
  198. package/.framework/src/lib/utils.ts +317 -0
  199. package/.framework/src/main.tsx +27 -0
  200. package/.framework/src/pages/DashboardPage.tsx +181 -0
  201. package/.framework/src/pages/NotFoundPage.tsx +39 -0
  202. package/.framework/src/pages/admin/AIAgentDetailPage.tsx +161 -0
  203. package/.framework/src/pages/admin/AIAgentsPage.tsx +318 -0
  204. package/.framework/src/pages/admin/APIKeyDetailPage.tsx +199 -0
  205. package/.framework/src/pages/admin/APIKeysPage.tsx +303 -0
  206. package/.framework/src/pages/admin/AlertsConfigPage.tsx +523 -0
  207. package/.framework/src/pages/admin/AppDetailPage.tsx +493 -0
  208. package/.framework/src/pages/admin/AppsPage.tsx +355 -0
  209. package/.framework/src/pages/admin/DesignedPage.tsx +491 -0
  210. package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +534 -0
  211. package/.framework/src/pages/admin/EmbeddingsPage.tsx +424 -0
  212. package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +176 -0
  213. package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +109 -0
  214. package/.framework/src/pages/admin/IntegratedDashboard.tsx +402 -0
  215. package/.framework/src/pages/admin/IntegrationDetailPage.tsx +187 -0
  216. package/.framework/src/pages/admin/IntegrationsPage.tsx +301 -0
  217. package/.framework/src/pages/admin/LogsPage.tsx +283 -0
  218. package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +85 -0
  219. package/.framework/src/pages/admin/ObservabilityDashboard.tsx +470 -0
  220. package/.framework/src/pages/admin/PipelineDetailPage.tsx +183 -0
  221. package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +279 -0
  222. package/.framework/src/pages/admin/PipelinesPage.tsx +390 -0
  223. package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +299 -0
  224. package/.framework/src/pages/admin/PromptConfigsPage.tsx +292 -0
  225. package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +434 -0
  226. package/.framework/src/pages/admin/RoleDetailPage.tsx +273 -0
  227. package/.framework/src/pages/admin/RolesPage.tsx +292 -0
  228. package/.framework/src/pages/admin/SelectTestPage.tsx +61 -0
  229. package/.framework/src/pages/admin/ShadcnTestPage.tsx +588 -0
  230. package/.framework/src/pages/admin/SimpleDashboard.tsx +387 -0
  231. package/.framework/src/pages/admin/TestRunDetailPage.tsx +172 -0
  232. package/.framework/src/pages/admin/TestingDashboard.tsx +257 -0
  233. package/.framework/src/pages/admin/TimerDetailPage.tsx +151 -0
  234. package/.framework/src/pages/admin/TimersPage.tsx +376 -0
  235. package/.framework/src/pages/admin/TriggerDetailPage.tsx +149 -0
  236. package/.framework/src/pages/admin/TriggersPage.tsx +381 -0
  237. package/.framework/src/pages/admin/TypeDetailPage.tsx +694 -0
  238. package/.framework/src/pages/admin/TypesPage.tsx +295 -0
  239. package/.framework/src/pages/auth/LoginPage.tsx +188 -0
  240. package/.framework/src/pages/auth/RegisterPage.tsx +163 -0
  241. package/.framework/src/pages/spine-framework/APIPage.tsx +17 -0
  242. package/.framework/src/pages/spine-framework/CLIPage.tsx +25 -0
  243. package/.framework/src/types/auth.ts +125 -0
  244. package/.framework/src/types/types.ts +407 -0
  245. package/STRUCTURE.md +150 -0
  246. package/config/components.json +25 -0
  247. package/config/deno.lock +108 -0
  248. package/config/package-lock.json +17183 -0
  249. package/config/postcss.config.cjs +10 -0
  250. package/config/tailwind.config.cjs +78 -0
  251. package/config/tsconfig.build.json +32 -0
  252. package/config/tsconfig.cli.json +18 -0
  253. package/config/tsconfig.json +41 -0
  254. package/config/tsconfig.node.json +17 -0
  255. package/config/tsconfig.node.tsbuildinfo +1 -0
  256. package/config/tsconfig.tsbuildinfo +1 -0
  257. package/config/typedoc.json +16 -0
  258. package/config/vite.config.d.ts +2 -0
  259. package/config/vite.config.ts +72 -0
  260. package/dist/cli/commands/agents.d.ts +39 -0
  261. package/dist/cli/commands/agents.d.ts.map +1 -0
  262. package/dist/cli/commands/auth.d.ts +36 -0
  263. package/dist/cli/commands/auth.d.ts.map +1 -0
  264. package/dist/cli/commands/create-app.d.ts +23 -0
  265. package/dist/cli/commands/create-app.d.ts.map +1 -0
  266. package/dist/cli/commands/dev.d.ts +39 -0
  267. package/dist/cli/commands/dev.d.ts.map +1 -0
  268. package/dist/cli/commands/doctor.d.ts +42 -0
  269. package/dist/cli/commands/doctor.d.ts.map +1 -0
  270. package/dist/cli/commands/generate.d.ts +36 -0
  271. package/dist/cli/commands/generate.d.ts.map +1 -0
  272. package/dist/cli/commands/init.d.ts +30 -0
  273. package/dist/cli/commands/init.d.ts.map +1 -0
  274. package/dist/cli/commands/install-app.d.ts +30 -0
  275. package/dist/cli/commands/install-app.d.ts.map +1 -0
  276. package/dist/cli/commands/items.d.ts +45 -0
  277. package/dist/cli/commands/items.d.ts.map +1 -0
  278. package/dist/cli/commands/migrations.d.ts +41 -0
  279. package/dist/cli/commands/migrations.d.ts.map +1 -0
  280. package/dist/cli/commands/pipelines.d.ts +40 -0
  281. package/dist/cli/commands/pipelines.d.ts.map +1 -0
  282. package/dist/cli/commands/status.d.ts +23 -0
  283. package/dist/cli/commands/status.d.ts.map +1 -0
  284. package/dist/cli/commands/system.d.ts +29 -0
  285. package/dist/cli/commands/system.d.ts.map +1 -0
  286. package/dist/cli/commands/test.d.ts +46 -0
  287. package/dist/cli/commands/test.d.ts.map +1 -0
  288. package/dist/cli/commands/uninstall-app.d.ts +23 -0
  289. package/dist/cli/commands/uninstall-app.d.ts.map +1 -0
  290. package/dist/cli/context.d.ts +88 -0
  291. package/dist/cli/context.d.ts.map +1 -0
  292. package/dist/cli/env-loader.d.ts +14 -0
  293. package/dist/cli/env-loader.d.ts.map +1 -0
  294. package/dist/cli/index.d.ts +41 -0
  295. package/dist/cli/index.d.ts.map +1 -0
  296. package/dist/functions/_shared/agent-runner.d.ts +156 -0
  297. package/dist/functions/_shared/agent-runner.d.ts.map +1 -0
  298. package/dist/functions/_shared/app-manifest.d.ts +68 -0
  299. package/dist/functions/_shared/app-manifest.d.ts.map +1 -0
  300. package/dist/functions/_shared/audit.d.ts +91 -0
  301. package/dist/functions/_shared/audit.d.ts.map +1 -0
  302. package/dist/functions/_shared/db.d.ts +125 -0
  303. package/dist/functions/_shared/db.d.ts.map +1 -0
  304. package/dist/functions/_shared/index.d.ts +298 -0
  305. package/dist/functions/_shared/index.d.ts.map +1 -0
  306. package/dist/functions/_shared/middleware.d.ts +315 -0
  307. package/dist/functions/_shared/middleware.d.ts.map +1 -0
  308. package/dist/functions/_shared/permissions.d.ts +626 -0
  309. package/dist/functions/_shared/permissions.d.ts.map +1 -0
  310. package/dist/functions/_shared/pipeline-runner.d.ts +124 -0
  311. package/dist/functions/_shared/pipeline-runner.d.ts.map +1 -0
  312. package/dist/functions/_shared/principal.d.ts +284 -0
  313. package/dist/functions/_shared/principal.d.ts.map +1 -0
  314. package/dist/functions/_shared/schema-utils.d.ts +181 -0
  315. package/dist/functions/_shared/schema-utils.d.ts.map +1 -0
  316. package/dist/functions/_shared/testing.d.ts +172 -0
  317. package/dist/functions/_shared/testing.d.ts.map +1 -0
  318. package/dist/functions/_shared/trigger-engine.d.ts +140 -0
  319. package/dist/functions/_shared/trigger-engine.d.ts.map +1 -0
  320. package/dist/functions/_shared/webhook-registration.d.ts +81 -0
  321. package/dist/functions/_shared/webhook-registration.d.ts.map +1 -0
  322. package/dist/functions/_shared/webhook-registry.d.ts +57 -0
  323. package/dist/functions/_shared/webhook-registry.d.ts.map +1 -0
  324. package/dist/functions/account-nodes.d.ts +48 -0
  325. package/dist/functions/account-nodes.d.ts.map +1 -0
  326. package/dist/functions/admin-data.d.ts +178 -0
  327. package/dist/functions/admin-data.d.ts.map +1 -0
  328. package/dist/functions/ai-agents.d.ts +125 -0
  329. package/dist/functions/ai-agents.d.ts.map +1 -0
  330. package/dist/functions/api-keys.d.ts +140 -0
  331. package/dist/functions/api-keys.d.ts.map +1 -0
  332. package/dist/functions/apps.d.ts +163 -0
  333. package/dist/functions/apps.d.ts.map +1 -0
  334. package/dist/functions/auth.d.ts +74 -0
  335. package/dist/functions/auth.d.ts.map +1 -0
  336. package/dist/functions/debug-auth.d.ts +33 -0
  337. package/dist/functions/debug-auth.d.ts.map +1 -0
  338. package/dist/functions/embeddings.d.ts +205 -0
  339. package/dist/functions/embeddings.d.ts.map +1 -0
  340. package/dist/functions/integration-routes.d.ts +45 -0
  341. package/dist/functions/integration-routes.d.ts.map +1 -0
  342. package/dist/functions/integrations.d.ts +124 -0
  343. package/dist/functions/integrations.d.ts.map +1 -0
  344. package/dist/functions/item-progress.d.ts +41 -0
  345. package/dist/functions/item-progress.d.ts.map +1 -0
  346. package/dist/functions/logs.d.ts +162 -0
  347. package/dist/functions/logs.d.ts.map +1 -0
  348. package/dist/functions/observability.d.ts +123 -0
  349. package/dist/functions/observability.d.ts.map +1 -0
  350. package/dist/functions/pipeline-executions.d.ts +190 -0
  351. package/dist/functions/pipeline-executions.d.ts.map +1 -0
  352. package/dist/functions/pipelines.d.ts +171 -0
  353. package/dist/functions/pipelines.d.ts.map +1 -0
  354. package/dist/functions/prompt-configs.d.ts +125 -0
  355. package/dist/functions/prompt-configs.d.ts.map +1 -0
  356. package/dist/functions/roles.d.ts +118 -0
  357. package/dist/functions/roles.d.ts.map +1 -0
  358. package/dist/functions/system-cron.d.ts +65 -0
  359. package/dist/functions/system-cron.d.ts.map +1 -0
  360. package/dist/functions/system.d.ts +29 -0
  361. package/dist/functions/system.d.ts.map +1 -0
  362. package/dist/functions/tests.d.ts +28 -0
  363. package/dist/functions/tests.d.ts.map +1 -0
  364. package/dist/functions/timers.d.ts +139 -0
  365. package/dist/functions/timers.d.ts.map +1 -0
  366. package/dist/functions/triggers.d.ts +203 -0
  367. package/dist/functions/triggers.d.ts.map +1 -0
  368. package/dist/functions/types.d.ts +151 -0
  369. package/dist/functions/types.d.ts.map +1 -0
  370. package/dist/src/types/types.d.ts +364 -0
  371. package/dist/src/types/types.d.ts.map +1 -0
  372. package/package.json +192 -0
  373. package/scripts/app-install-cli.ts +286 -0
  374. package/scripts/assemble-frontend.sh +79 -0
  375. package/scripts/assemble-functions.sh +62 -0
  376. package/scripts/assemble.sh +35 -0
  377. package/scripts/boundary-check.sh +106 -0
  378. package/scripts/build-manifest.sh +80 -0
  379. package/scripts/check-core-integrity.sh +82 -0
  380. package/scripts/ingest-chunks.cjs +202 -0
  381. package/scripts/kb-chunk-parser.cjs +312 -0
  382. package/scripts/kb-chunk-parser.ts +330 -0
  383. package/scripts/load-test-app-install.ts +484 -0
  384. package/scripts/netlify-dev-wrapper.sh +22 -0
  385. package/scripts/verify-integrity.sh +69 -0
@@ -0,0 +1,364 @@
1
+ /**
2
+ * @module src/types/types
3
+ * @audience installer
4
+ * @layer frontend-hook
5
+ * @stability stable
6
+ *
7
+ * Core TypeScript type definitions for the Spine frontend. These types
8
+ * mirror the `design_schema` and API response shapes used across hooks,
9
+ * components, and pages.
10
+ *
11
+ * **Type hierarchy:**
12
+ * ```
13
+ * DesignSchema
14
+ * ├── fields: Record<string, FieldDefinition>
15
+ * ├── views: Record<string, View> ← ListView | DetailView
16
+ * ├── record_permissions
17
+ * └── functionality?: FunctionalityBindings
18
+ * ItemType ← row in v2.types table
19
+ * Item ← row in v2.items table
20
+ * ```
21
+ *
22
+ * **`system` flag on `FieldDefinition`:** When `system: true`, the field
23
+ * maps to a real DB column (e.g. `title`, `status`). When absent or false,
24
+ * the field value lives in the `data` JSONB column.
25
+ *
26
+ * @seeAlso src/hooks/useSchemaRecord.ts (consumes FieldDefinition[])
27
+ * @seeAlso src/hooks/useForm.ts (consumes FieldDefinition[] for validation)
28
+ * @seeAlso src/hooks/useListSchema.ts (consumes DesignSchema + View)
29
+ * @seeAlso functions/_shared/schema-utils.ts (server-side schema generation)
30
+ */
31
+ /**
32
+ * Definition of a single field in a `design_schema`. Drives both UI rendering
33
+ * and client-side validation in `useForm`.
34
+ *
35
+ * @prop data_type - Controls rendering widget and validation rules
36
+ * @prop label - Human-readable display label
37
+ * @prop required - Whether the field must be non-empty on save
38
+ * @prop system - If true, maps to a top-level DB column; false/absent → `data` JSONB
39
+ * @prop name - Injected at runtime by hooks; not stored in the schema itself
40
+ * @prop validation - Type-specific constraint overrides
41
+ * @prop options - Choice list for select/multiselect/radio fields
42
+ * @prop permissions - Role-based read/write access map; absent = all roles allowed
43
+ */
44
+ export interface FieldDefinition {
45
+ data_type: 'text' | 'textarea' | 'rich_text' | 'email' | 'phone' | 'url' | 'number' | 'currency' | 'range' | 'date' | 'datetime' | 'boolean' | 'checkbox' | 'select' | 'multiselect' | 'radio' | 'color' | 'file' | 'image' | 'json' | 'reference' | 'address';
46
+ label: string;
47
+ required: boolean;
48
+ system?: boolean;
49
+ name?: string;
50
+ placeholder?: string;
51
+ description?: string;
52
+ rows?: number;
53
+ min?: number;
54
+ max?: number;
55
+ step?: number;
56
+ readonly?: boolean;
57
+ disabled?: boolean;
58
+ validation?: {
59
+ pattern?: string;
60
+ minLength?: number;
61
+ maxLength?: number;
62
+ min?: number;
63
+ max?: number;
64
+ step?: number;
65
+ integer?: boolean;
66
+ precision?: number;
67
+ maxSize?: number;
68
+ allowedTypes?: string[];
69
+ maxWidth?: number;
70
+ maxHeight?: number;
71
+ currency_code?: string;
72
+ reference_kind?: string;
73
+ reference_type?: string;
74
+ };
75
+ options?: (string | {
76
+ value: string;
77
+ label: string;
78
+ })[];
79
+ permissions?: {
80
+ [role: string]: string[];
81
+ };
82
+ }
83
+ /**
84
+ * Per-field display/behaviour config within a view. Stored as
85
+ * `design_schema.views[viewSlug].fields[fieldName]`.
86
+ *
87
+ * @prop display_type - Override the default widget for this field in this view
88
+ * @prop sortable - Whether the column header shows a sort toggle in list views
89
+ * @prop searchable - Whether the field is included in free-text search
90
+ */
91
+ export interface ViewFieldConfig {
92
+ display_type: 'input' | 'textarea' | 'rich_text' | 'select' | 'multiselect' | 'radio' | 'checkbox' | 'switch' | 'date_picker' | 'datetime_picker' | 'color_picker' | 'file_upload' | 'image_upload' | 'range_slider' | 'rating' | 'autocomplete' | 'address_form' | 'reference_picker' | 'text' | 'badge' | 'timestamp' | 'currency' | 'number';
93
+ sortable?: boolean;
94
+ searchable?: boolean;
95
+ }
96
+ /**
97
+ * A list view definition. Rendered by `DataListPage` as a table, card grid,
98
+ * or Kanban board depending on `display`.
99
+ *
100
+ * @prop fields - Ordered map of field name → `ViewFieldConfig`
101
+ * @prop default_sort - Initial sort applied before user interaction
102
+ * @prop filters - Field names to expose as filter controls
103
+ * @prop stats - Summary stat cards shown above the list
104
+ * @prop group_by - Field to use as board column grouping (`display: 'board'` only)
105
+ */
106
+ export interface ListView {
107
+ type: 'list';
108
+ display: 'table' | 'card' | 'board';
109
+ label: string;
110
+ fields: Record<string, ViewFieldConfig>;
111
+ default_sort?: {
112
+ field: string;
113
+ direction: 'asc' | 'desc';
114
+ };
115
+ filters?: string[];
116
+ stats?: Array<{
117
+ title: string;
118
+ type: 'count' | 'filter_count';
119
+ icon?: string;
120
+ color?: string;
121
+ filter?: Record<string, any>;
122
+ }>;
123
+ group_by?: string;
124
+ }
125
+ /**
126
+ * A single section within a `DetailView`. Groups related fields under
127
+ * an optional title. Field permissions from the schema still apply —
128
+ * there are no section-level permission overrides.
129
+ */
130
+ export interface DetailViewSection {
131
+ title: string;
132
+ fields: Record<string, ViewFieldConfig>;
133
+ }
134
+ /**
135
+ * A detail view definition. Rendered by `DataDetailPage` as a sectioned
136
+ * record form.
137
+ */
138
+ export interface DetailView {
139
+ type: 'detail';
140
+ label: string;
141
+ sections: DetailViewSection[];
142
+ }
143
+ /** Discriminated union of all supported view types. */
144
+ export type View = ListView | DetailView;
145
+ /**
146
+ * Optional automation and integration bindings attached to a `DesignSchema`.
147
+ * Each array entry describes a trigger condition and the target pipeline,
148
+ * agent, embedding, integration, or constraint.
149
+ *
150
+ * These bindings are evaluated by API handlers and the system cron — not
151
+ * by the frontend. They are included here as a type contract so the frontend
152
+ * can read and display binding metadata without making blind `any` casts.
153
+ */
154
+ export interface FunctionalityBindings {
155
+ pipelines?: Array<{
156
+ pipeline_id: string;
157
+ trigger: 'manual' | 'on_create' | 'on_update' | 'on_field_change' | 'on_delete' | 'scheduled';
158
+ field?: string;
159
+ condition?: string;
160
+ roles: string[];
161
+ }>;
162
+ ai_agents?: Array<{
163
+ agent_id: string;
164
+ capabilities: ('read' | 'summarize' | 'suggest' | 'update')[];
165
+ trigger: 'manual' | 'on_create' | 'on_update' | 'on_field_change';
166
+ roles: string[];
167
+ }>;
168
+ embeddings?: Array<{
169
+ slug: string;
170
+ fields: string[];
171
+ model: string;
172
+ vector_column: string;
173
+ trigger: 'on_create' | 'on_update' | 'on_create_or_update';
174
+ }>;
175
+ integrations?: Array<{
176
+ integration_id: string;
177
+ sync: 'bidirectional' | 'inbound' | 'outbound';
178
+ field_map: Record<string, {
179
+ external_field: string;
180
+ direction: 'both' | 'inbound' | 'outbound' | 'none';
181
+ transform?: string;
182
+ }>;
183
+ trigger: 'on_create' | 'on_update' | 'on_create_or_update';
184
+ }>;
185
+ constraints?: Array<{
186
+ type: 'unique' | 'conditional_required' | 'immutable';
187
+ fields?: string[];
188
+ field?: string;
189
+ condition?: string;
190
+ message: string;
191
+ after?: 'create' | 'update';
192
+ }>;
193
+ }
194
+ /**
195
+ * The complete design schema for a `types` record. Stored as a JSONB column
196
+ * (`design_schema`) and stamp-copied onto records at create time.
197
+ *
198
+ * @prop record_permissions - Role → allowed CRUD actions map for the entire record
199
+ * @prop fields - All field definitions keyed by field name
200
+ * @prop views - Named view definitions (`list`, `detail`, etc.)
201
+ * @prop functionality - Optional automation bindings (pipelines, agents, etc.)
202
+ */
203
+ export interface DesignSchema {
204
+ record_permissions: {
205
+ [role: string]: string[];
206
+ };
207
+ fields: Record<string, FieldDefinition>;
208
+ views: Record<string, View>;
209
+ functionality?: FunctionalityBindings;
210
+ }
211
+ /**
212
+ * A row from the `v2.types` table. Represents a type definition (item type,
213
+ * account type, person type, etc.) including its full `design_schema`.
214
+ *
215
+ * @prop kind - Discriminator: `'item'` | `'account'` | `'person'` | etc.
216
+ * @prop design_schema - Full schema defining fields, views, and functionality
217
+ * @prop validation_schema - Auto-generated JSON Schema used for server-side validation
218
+ * @prop ownership - `'pack'` | `'tenant'` (pack-ownership tracking)
219
+ */
220
+ export interface ItemType {
221
+ id: string;
222
+ name: string;
223
+ slug: string;
224
+ kind: string;
225
+ description?: string;
226
+ icon?: string;
227
+ color?: string;
228
+ design_schema: DesignSchema;
229
+ validation_schema: {
230
+ fields: Record<string, {
231
+ data_type: string;
232
+ required?: boolean;
233
+ [key: string]: any;
234
+ }>;
235
+ };
236
+ ownership: string;
237
+ is_active: boolean;
238
+ app_id?: string;
239
+ app?: any;
240
+ created_at: string;
241
+ updated_at: string;
242
+ }
243
+ /**
244
+ * A row from the `v2.items` table. The `data` JSONB column holds all
245
+ * custom field values; system fields (`title`, `status`, etc.) are top-level.
246
+ *
247
+ * @prop design_schema - Stamp of the type's schema at create time (for resilience
248
+ * to schema changes; may be stale relative to `types` table)
249
+ * @prop validation_schema - Stamp of the validation schema at create time
250
+ */
251
+ export interface Item {
252
+ id: string;
253
+ item_type_id: string;
254
+ item_type_slug?: string;
255
+ title: string;
256
+ description?: string;
257
+ status: string;
258
+ is_active: boolean;
259
+ data: Record<string, any>;
260
+ created_at: string;
261
+ updated_at: string;
262
+ created_by?: string;
263
+ account_id: string;
264
+ app_id?: string;
265
+ design_schema?: Record<string, any>;
266
+ validation_schema?: Record<string, any>;
267
+ }
268
+ /** A field-level validation failure from `useForm` or server-side validation. */
269
+ export interface ValidationError {
270
+ field: string;
271
+ message: string;
272
+ }
273
+ /** Snapshot of form state — used as a shared type between `useForm` and form components. */
274
+ export interface FormState {
275
+ data: Record<string, any>;
276
+ errors: Record<string, string>;
277
+ touched: Record<string, boolean>;
278
+ isSubmitting: boolean;
279
+ isValid: boolean;
280
+ }
281
+ /** Pagination query parameters for list endpoints. */
282
+ export interface PaginationParams {
283
+ limit?: number;
284
+ offset?: number;
285
+ page?: number;
286
+ }
287
+ /** Sort order specification for list endpoints. */
288
+ export interface SortParams {
289
+ field: string;
290
+ direction: 'asc' | 'desc';
291
+ }
292
+ /** Arbitrary key→value filter map for list endpoints. */
293
+ export interface FilterParams {
294
+ [key: string]: any;
295
+ }
296
+ /** Combined search, sort, filter, and pagination params for list queries. */
297
+ export interface SearchParams extends PaginationParams {
298
+ search?: string;
299
+ sort?: SortParams;
300
+ filters?: FilterParams;
301
+ }
302
+ /** A rendered column descriptor for list/table UI components. */
303
+ export interface EntityColumn {
304
+ key: string;
305
+ label: string;
306
+ sortable?: boolean;
307
+ type?: string;
308
+ display_type?: string;
309
+ badgeColors?: Record<string, string>;
310
+ maxLength?: number;
311
+ }
312
+ /** A stat card shown above entity list pages (count or filtered count). */
313
+ export interface EntityStat {
314
+ title: string;
315
+ type: 'count' | 'filter_count';
316
+ icon: string;
317
+ color: string;
318
+ filter?: Record<string, any>;
319
+ }
320
+ /** A filter control definition for entity list pages. */
321
+ export interface EntityFilter {
322
+ key: string;
323
+ label: string;
324
+ type: 'search' | 'enum' | 'boolean';
325
+ options?: string[];
326
+ }
327
+ /**
328
+ * A per-person, per-item progress record. Tracks pipeline status, score, and
329
+ * arbitrary interaction data for courses, onboarding, tasks, and quizzes.
330
+ *
331
+ * `title` is auto-composed as "<item title> — <person name>".
332
+ * `description` is auto-composed as "Completed · score 85 · 2 attempts".
333
+ * `data` holds extensible fields: attempts, time_spent, last_position, etc.
334
+ *
335
+ * INVARIANT: (person_id, item_id) is unique — state, not a log.
336
+ */
337
+ export interface ItemProgress {
338
+ id: string;
339
+ type_id: string;
340
+ account_id: string;
341
+ app_id: string | null;
342
+ person_id: string;
343
+ item_id: string;
344
+ title: string | null;
345
+ description: string | null;
346
+ status: 'not_started' | 'in_progress' | 'completed' | string;
347
+ score: number | null;
348
+ data: {
349
+ attempts?: number;
350
+ time_spent?: number;
351
+ last_position?: number;
352
+ started_at?: string;
353
+ completed_at?: string;
354
+ [key: string]: any;
355
+ };
356
+ is_active: boolean;
357
+ design_schema: Record<string, any>;
358
+ validation_schema: Record<string, any>;
359
+ created_by: string | null;
360
+ updated_by: string | null;
361
+ created_at: string;
362
+ updated_at: string;
363
+ }
364
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../.framework/src/types/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAIH;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAC7D,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GACjE,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,GACzD,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAA;IAC9D,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IAED,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;IACvD,WAAW,CAAC,EAAE;QACZ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KACzB,CAAA;CACF;AAID;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,GAC5D,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,iBAAiB,GACnE,cAAc,GAAG,aAAa,GAAG,cAAc,GAAG,cAAc,GAChE,QAAQ,GAAG,cAAc,GAAG,cAAc,GAAG,kBAAkB,GAC/D,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAA;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACvC,YAAY,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAC1B,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,OAAO,GAAG,cAAc,CAAA;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAC7B,CAAC,CAAA;IACF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAExC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,iBAAiB,EAAE,CAAA;CAC9B;AAED,uDAAuD;AACvD,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,UAAU,CAAA;AAIxC;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,WAAW,EAAE,MAAM,CAAA;QACnB,OAAO,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,iBAAiB,GAAG,WAAW,GAAG,WAAW,CAAA;QAC7F,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,EAAE,CAAA;KAChB,CAAC,CAAA;IACF,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAA;QAChB,YAAY,EAAE,CAAC,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAA;QAC7D,OAAO,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,iBAAiB,CAAA;QACjE,KAAK,EAAE,MAAM,EAAE,CAAA;KAChB,CAAC,CAAA;IACF,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;QACb,aAAa,EAAE,MAAM,CAAA;QACrB,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,qBAAqB,CAAA;KAC3D,CAAC,CAAA;IACF,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,cAAc,EAAE,MAAM,CAAA;QACtB,IAAI,EAAE,eAAe,GAAG,SAAS,GAAG,UAAU,CAAA;QAC9C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;YACxB,cAAc,EAAE,MAAM,CAAA;YACtB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAA;YACnD,SAAS,CAAC,EAAE,MAAM,CAAA;SACnB,CAAC,CAAA;QACF,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,qBAAqB,CAAA;KAC3D,CAAC,CAAA;IACF,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,QAAQ,GAAG,sBAAsB,GAAG,WAAW,CAAA;QACrD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;KAC5B,CAAC,CAAA;CACH;AAID;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,kBAAkB,EAAE;QAClB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KACzB,CAAA;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC3B,aAAa,CAAC,EAAE,qBAAqB,CAAA;CACtC;AAID;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,YAAY,CAAA;IAC3B,iBAAiB,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YACrB,SAAS,EAAE,MAAM,CAAA;YACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;YAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SACnB,CAAC,CAAA;KACH,CAAA;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACxC;AAID,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,4FAA4F;AAC5F,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,mDAAmD;AACnD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;CAC1B;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAID,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,GAAG,cAAc,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC7B;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAID;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,MAAM,CAAA;IAC5D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,CAAA;IACD,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB"}
package/package.json ADDED
@@ -0,0 +1,192 @@
1
+ {
2
+ "name": "spine-framework",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "description": "Spine — enterprise application framework built on Supabase + Netlify + React",
6
+ "type": "module",
7
+ "license": "MIT",
8
+ "keywords": ["spine", "framework", "supabase", "netlify", "react", "enterprise", "agentic"],
9
+ "homepage": "https://github.com/art-mojo-admin/spine#readme",
10
+ "bugs": {
11
+ "url": "https://github.com/art-mojo-admin/spine/issues"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/art-mojo-admin/spine"
16
+ },
17
+ "engines": {
18
+ "node": ">=18.0.0"
19
+ },
20
+ "bin": {
21
+ "spine-framework": "./.framework/cli/bin.cjs"
22
+ },
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/functions/_shared/index.d.ts",
26
+ "import": "./.framework/functions/_shared/index.ts"
27
+ },
28
+ "./_shared": {
29
+ "types": "./dist/functions/_shared/index.d.ts",
30
+ "import": "./.framework/functions/_shared/index.ts"
31
+ },
32
+ "./_shared/*": {
33
+ "types": "./dist/functions/_shared/*.d.ts",
34
+ "import": "./.framework/functions/_shared/*.ts"
35
+ },
36
+ "./cli": {
37
+ "types": "./dist/cli/index.d.ts",
38
+ "import": "./.framework/cli/index.ts"
39
+ }
40
+ },
41
+ "files": [
42
+ "dist/",
43
+ ".framework/cli/bin.cjs",
44
+ ".framework/cli/welcome.cjs",
45
+ ".framework/cli/",
46
+ ".framework/functions/",
47
+ ".framework/migrations/",
48
+ ".framework/docs/",
49
+ ".framework/src/",
50
+ "scripts/",
51
+ "config/",
52
+ "STRUCTURE.md",
53
+ "README.md"
54
+ ],
55
+ "scripts": {
56
+ "spine-framework": "tsx .framework/cli/index.ts",
57
+ "dev": "vite --config config/vite.config.ts",
58
+ "assemble": "bash scripts/assemble.sh",
59
+ "assemble:frontend": "bash scripts/assemble-frontend.sh",
60
+ "assemble:functions": "bash scripts/assemble-functions.sh",
61
+ "manifest": "bash scripts/build-manifest.sh",
62
+ "verify": "bash scripts/verify-integrity.sh",
63
+ "prebuild": "npm run assemble && npm run verify",
64
+ "build": "tsc -b config/tsconfig.json && vite build --config config/vite.config.ts",
65
+ "build:lib": "tsc -p config/tsconfig.build.json",
66
+ "prepublishOnly": "npm run build:lib && npm run test:boundary && npm run test:unit",
67
+ "preview": "vite preview --config config/vite.config.ts",
68
+ "lint": "eslint .",
69
+ "app-install": "tsx scripts/app-install-cli.ts",
70
+ "load-test": "tsx scripts/load-test-app-install.ts",
71
+ "test": "vitest run",
72
+ "test:unit": "vitest run .framework/tests/unit",
73
+ "test:core": "vitest run .framework/tests/unit/core-isolation.test.ts",
74
+ "test:integration": "vitest run .framework/tests/integration",
75
+ "test:boundary": "bash scripts/boundary-check.sh",
76
+ "test:custom": "vitest run custom/tests",
77
+ "postinstall": "node -e \"try{require('./.framework/cli/welcome.cjs')}catch(e){}\"",
78
+ "docs": "typedoc --config config/typedoc.json"
79
+ },
80
+ "dependencies": {
81
+ "@supabase/supabase-js": "^2.49.1",
82
+ "commander": "^12.0.0",
83
+ "jsonwebtoken": "^9.0.3",
84
+ "jwt-decode": "^4.0.0",
85
+ "tsx": "^4.21.0"
86
+ },
87
+ "peerDependencies": {
88
+ "@netlify/functions": "^2.0.0",
89
+ "react": "^18.0.0",
90
+ "react-dom": "^18.0.0",
91
+ "react-router-dom": "^6.0.0",
92
+ "vite": "^5.0.0 || ^6.0.0"
93
+ },
94
+ "peerDependenciesMeta": {
95
+ "@netlify/functions": { "optional": false },
96
+ "react": { "optional": false },
97
+ "react-dom": { "optional": false },
98
+ "react-router-dom": { "optional": false },
99
+ "vite": { "optional": true }
100
+ },
101
+ "devDependencies": {
102
+ "@base-ui/react": "^1.4.1",
103
+ "@fontsource-variable/inter": "^5.2.8",
104
+ "@heroicons/react": "^2.2.0",
105
+ "@netlify/functions": "^2.8.2",
106
+ "@radix-ui/react-accordion": "^1.2.12",
107
+ "@radix-ui/react-avatar": "^1.1.3",
108
+ "@radix-ui/react-dialog": "^1.1.6",
109
+ "@radix-ui/react-dropdown-menu": "^2.1.6",
110
+ "@radix-ui/react-icons": "^1.3.2",
111
+ "@radix-ui/react-label": "^2.1.2",
112
+ "@radix-ui/react-popover": "^1.1.6",
113
+ "@radix-ui/react-select": "^2.1.6",
114
+ "@radix-ui/react-separator": "^1.1.2",
115
+ "@radix-ui/react-slider": "^1.3.6",
116
+ "@radix-ui/react-slot": "^1.1.2",
117
+ "@radix-ui/react-switch": "^1.1.3",
118
+ "@radix-ui/react-tabs": "^1.1.3",
119
+ "@radix-ui/react-toast": "^1.2.6",
120
+ "@radix-ui/react-tooltip": "^1.1.8",
121
+ "@supabase/supabase-js": "^2.49.1",
122
+ "@tailwindcss/typography": "^0.5.19",
123
+ "@tanstack/react-query": "^5.95.2",
124
+ "@tiptap/extension-code-block-lowlight": "^3.20.0",
125
+ "@tiptap/extension-image": "^3.20.0",
126
+ "@tiptap/extension-link": "^3.20.0",
127
+ "@tiptap/extension-placeholder": "^3.20.0",
128
+ "@tiptap/extension-table": "^3.20.0",
129
+ "@tiptap/extension-table-cell": "^3.20.0",
130
+ "@tiptap/extension-table-header": "^3.20.0",
131
+ "@tiptap/extension-table-row": "^3.20.0",
132
+ "@tiptap/extension-youtube": "^3.20.0",
133
+ "@tiptap/pm": "^3.20.0",
134
+ "@tiptap/react": "^3.20.0",
135
+ "@tiptap/starter-kit": "^3.20.0",
136
+ "@types/js-yaml": "^4.0.9",
137
+ "@types/node": "^22.12.0",
138
+ "@types/react": "^18.3.18",
139
+ "@types/react-dom": "^18.3.5",
140
+ "@types/react-grid-layout": "^1.3.6",
141
+ "@vitejs/plugin-react": "^4.3.4",
142
+ "@xyflow/react": "^12.10.1",
143
+ "ajv": "^8.12.0",
144
+ "autoprefixer": "^10.4.20",
145
+ "class-variance-authority": "^0.7.1",
146
+ "clsx": "^2.1.1",
147
+ "cmdk": "^1.1.1",
148
+ "dagre": "^0.8.5",
149
+ "date-fns": "^4.1.0",
150
+ "embla-carousel-react": "^8.6.0",
151
+ "framer-motion": "^12.34.3",
152
+ "github-markdown-css": "^5.9.0",
153
+ "highlight.js": "^11.11.1",
154
+ "input-otp": "^1.4.2",
155
+ "js-yaml": "^4.1.0",
156
+ "lowlight": "^3.3.0",
157
+ "lucide-react": "^1.14.0",
158
+ "marked": "^17.0.3",
159
+ "mermaid": "^11.12.3",
160
+ "next-themes": "^0.4.6",
161
+ "postcss": "^8.5.1",
162
+ "radix-ui": "^1.4.3",
163
+ "react": "^18.3.1",
164
+ "react-day-picker": "^10.0.0",
165
+ "react-dom": "^18.3.1",
166
+ "react-grid-layout": "^2.2.2",
167
+ "react-is": "^19.2.4",
168
+ "react-markdown": "^10.1.0",
169
+ "react-refresh": "^0.14.0",
170
+ "react-resizable-panels": "^4.11.0",
171
+ "react-router-dom": "^6.28.1",
172
+ "recharts": "3.8.0",
173
+ "rehype-autolink-headings": "^7.1.0",
174
+ "rehype-raw": "^7.0.0",
175
+ "rehype-sanitize": "^6.0.0",
176
+ "rehype-slug": "^6.0.0",
177
+ "remark-gfm": "^4.0.1",
178
+ "shadcn": "^4.7.0",
179
+ "sonner": "^2.0.7",
180
+ "tailwind-merge": "^3.5.0",
181
+ "tailwindcss": "^3.4.17",
182
+ "tailwindcss-animate": "^1.0.7",
183
+ "tiptap-markdown": "^0.9.0",
184
+ "tw-animate-css": "^1.4.0",
185
+ "typedoc": "^0.27.0",
186
+ "typescript": "~5.6.2",
187
+ "vaul": "^1.1.2",
188
+ "vite": "^6.0.11",
189
+ "vitest": "^2.1.9"
190
+ },
191
+ "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
192
+ }