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,146 @@
1
+ # Spine v2 API Governance Checklist
2
+
3
+ ## Universal API Ground Rules
4
+
5
+ ### Response Format Standards
6
+ - **Success - List**: `{ data: [...], pagination?: { page, totalPages, totalItems, itemsPerPage } }`
7
+ - **Success - Single/Create/Update**: `{ data: {...} }`
8
+ - **Error**: `{ error: "Human readable message", code?: "ERROR_CODE" }`
9
+ - **Validation Error**: `{ errors: { field: "field-specific error" } }`
10
+
11
+ ### Authentication & Context
12
+ - All APIs require valid session token (`Authorization: Bearer`)
13
+ - Account context via `X-Account-Id` header
14
+ - System admin can bypass account scoping
15
+ - Use `requireAuth` middleware for mutations
16
+ - Use `requireTenant` for account-scoped reads
17
+
18
+ ### HTTP Patterns
19
+ - **GET /resource** - List (with query parameters)
20
+ - **GET /resource?id=uuid** - Single
21
+ - **POST /resource** - Create
22
+ - **PATCH /resource?id=uuid** - Update
23
+ - **DELETE /resource?id=uuid** - Soft delete
24
+
25
+ ### Query Parameter Standards
26
+ - `page`, `itemsPerPage` - Pagination
27
+ - `search` - Text search
28
+ - `sort`, `direction` - Sorting
29
+ - `field=value` - Filtering
30
+ - `include=relation1,relation2` - Related data
31
+
32
+ ### Data Constraints
33
+ - APIs return data only, never styling/UI components
34
+ - All endpoints enforce role-based permissions
35
+ - DELETE = soft delete (`is_active=false`), never hard deletes
36
+ - All mutations must emit audit logs via `emitLog`
37
+
38
+ ## Permission Model
39
+
40
+ ### Single Source of Truth
41
+ - type.schema defines what roles can do
42
+ - v2.people_accounts + v2.people_roles define who has roles
43
+ - No parallel permission systems
44
+
45
+ ### Enforcement Points
46
+ - All first-surface APIs use shared permission resolver
47
+ - Field filtering on reads
48
+ - Field validation on writes
49
+ - Multi-role merge: highest effective permission wins
50
+
51
+ ### System Admin Override
52
+ - Complete bypass of runtime restrictions
53
+ - Audit logs preserved
54
+ - Intended for admin operations only
55
+
56
+ ### Error Handling
57
+ - Use consistent error format with descriptive messages
58
+ - Include error codes for programmatic handling
59
+ - Log errors appropriately with context
60
+ - Return 4xx for client errors, 5xx for server errors
61
+
62
+ ### Pagination
63
+ - Default `page=1`, `itemsPerPage=20`
64
+ - Return total count for client-side calculations
65
+ - Support `search` and filtering in pagination queries
66
+ - Use `range()` for efficient DB queries
67
+
68
+ ### Soft Delete Semantics
69
+ - Never use `DELETE FROM` statements
70
+ - Always set `is_active=false` with `updated_at`
71
+ - Filter active records with `is_active=true` by default
72
+ - Preserve audit trail before soft delete
73
+
74
+ ### Database Constraints
75
+ - Use `public` schema only
76
+ - All queries must use `db.from('public.table')`
77
+ - Validate field names against actual schema
78
+ - Use parameterized queries to prevent injection
79
+
80
+ ### Role Boundaries
81
+ - **Config endpoints** (`admin/configs/*`): admin-only mutations
82
+ - **Data endpoints** (`admin/data/*`): permissions by role/type schema
83
+ - **Runtime endpoints**: account-scoped with appropriate role checks
84
+ - **Internal endpoints**: system-only or service-to-service
85
+
86
+ ## Code Patterns
87
+
88
+ ### Handler Structure
89
+ ```typescript
90
+ export const handler = createHandler(async (ctx, body) => {
91
+ const method = ctx.query?.method || 'GET'
92
+ switch (method) {
93
+ case 'GET': return await list(ctx, body)
94
+ case 'POST': return await create(ctx, body)
95
+ case 'PATCH': return await update(ctx, body)
96
+ case 'DELETE': return await remove(ctx, body)
97
+ default: throw new Error(`Unsupported method: ${method}`)
98
+ }
99
+ })
100
+ ```
101
+
102
+ ### Auth Patterns
103
+ ```typescript
104
+ // Public reads
105
+ export const list = createHandler(async (ctx, body) => {
106
+ // Account-scoped by default
107
+ })
108
+
109
+ // Authenticated mutations
110
+ export const create = requireAuth(createHandler(async (ctx, body) => {
111
+ // Requires valid session
112
+ }))
113
+ ```
114
+
115
+ ### Audit Logging
116
+ ```typescript
117
+ await emitLog(ctx, 'entity.created',
118
+ { type: 'entity', id: data.id },
119
+ { after: data }
120
+ )
121
+ ```
122
+
123
+ ## Documentation Requirements
124
+
125
+ Each endpoint must include JSDoc comments with:
126
+ - Purpose and domain (data/config/runtime/internal)
127
+ - Auth requirements
128
+ - Account scoping rules
129
+ - Request parameters/body contract
130
+ - Response shape
131
+ - Soft delete behavior
132
+ - v2 table/RPC dependencies
133
+
134
+ ## Review Checklist
135
+
136
+ - [ ] Response format matches standard
137
+ - [ ] Auth middleware applied appropriately
138
+ - [ ] Account context handled correctly
139
+ - [ ] Soft delete implemented (no hard deletes)
140
+ - [ ] Audit logs emitted for mutations
141
+ - [ ] Error handling consistent
142
+ - [ ] Pagination implemented for lists
143
+ - [ ] Query parameters validated
144
+ - [ ] v2 schema only (no public references)
145
+ - [ ] Role boundaries enforced
146
+ - [ ] Inline documentation complete
@@ -0,0 +1,212 @@
1
+ # API Testing Results
2
+
3
+ ## Test Methodology
4
+ - **Server**: Local Netlify dev server (http://localhost:8888)
5
+ - **Date**: April 7, 2026
6
+ - **Test Pattern**: List, Create, Get Single, Update, Delete for each endpoint
7
+ - **Authentication**: Tested with and without auth headers
8
+ - **Account Context**: Tested with X-Account-Id header
9
+
10
+ ## Data Management APIs (admin/data/*)
11
+
12
+ ### accounts.ts
13
+ - **GET List**: SUCCESS - Returns 3 accounts with type info
14
+ - **POST Create**: SUCCESS - Creates account (no auth required)
15
+ - **GET Single**: SUCCESS - Returns account with type info
16
+ - **PATCH Update**: SUCCESS - Updates account
17
+ - **DELETE Soft Delete**: SUCCESS - Sets is_active=false
18
+ - **Status**: FULLY FUNCTIONAL
19
+
20
+ ### people.ts
21
+ - **GET List**: SUCCESS - Returns 1 person with type info
22
+ - **POST Create**: SUCCESS - Creates person with X-Account-Id header
23
+ - **GET Single**: SUCCESS - Returns person with type info
24
+ - **PATCH Update**: SUCCESS - Updates person
25
+ - **DELETE Soft Delete**: SUCCESS - Sets is_active=false
26
+ - **Status**: FULLY FUNCTIONAL (requires account context)
27
+
28
+ ### items.ts
29
+ - **GET List**: FAIL - "Account context required" without X-Account-Id
30
+ - **POST Create**: SUCCESS - Creates item with X-Account-Id header
31
+ - **GET Single**: SUCCESS - Returns item with type info
32
+ - **PATCH Update**: SUCCESS - Updates item
33
+ - **DELETE Soft Delete**: SUCCESS - Sets is_active=false
34
+ - **Status**: FUNCTIONAL (requires account context)
35
+
36
+ ## Configuration APIs (admin/configs/*)
37
+
38
+ ### types.ts
39
+ - **GET List**: SUCCESS - Returns 6 system types (account, item, person)
40
+ - **POST Create**: FAIL - "Invalid token specified" without proper auth
41
+ - **GET Single**: SUCCESS - Returns type with schema
42
+ - **PATCH Update**: FAIL - Requires admin auth
43
+ - **DELETE Soft Delete**: FAIL - Requires admin auth
44
+ - **Status**: READ-ONLY without auth, mutations need admin auth
45
+
46
+ ### apps.ts
47
+ - **GET List**: FAIL - "Account context required" without X-Account-Id
48
+ - **POST Create**: FAIL - Requires admin auth
49
+ - **GET Single**: SUCCESS - Returns app with nav items
50
+ - **PATCH Update**: FAIL - Requires admin auth
51
+ - **DELETE Soft Delete**: FAIL - Requires admin auth
52
+ - **Status**: READ-ONLY without account context, mutations need admin auth
53
+
54
+ ### pipelines.ts
55
+ - **GET List**: FAIL - "Account context required" without X-Account-Id
56
+ - **POST Create**: FAIL - Requires admin auth
57
+ - **GET Single**: SUCCESS - Returns pipeline with definition
58
+ - **PATCH Update**: FAIL - Requires admin auth
59
+ - **DELETE Soft Delete**: FAIL - Requires admin auth
60
+ - **Status**: READ-ONLY without account context, mutations need admin auth
61
+
62
+ ### triggers.ts
63
+ - **GET List**: FAIL - "Account context required" without X-Account-Id
64
+ - **POST Create**: FAIL - Requires admin auth
65
+ - **GET Single**: SUCCESS - Returns trigger with config
66
+ - **PATCH Update**: FAIL - Requires admin auth
67
+ - **DELETE Soft Delete**: FAIL - Requires admin auth
68
+ - **Status**: READ-ONLY without account context, mutations need admin auth
69
+
70
+ ### ai-agents.ts
71
+ - **GET List**: FAIL - "Account context required" without X-Account-Id
72
+ - **POST Create**: FAIL - Requires admin auth
73
+ - **GET Single**: SUCCESS - Returns AI agent with config
74
+ - **PATCH Update**: FAIL - Requires admin auth
75
+ - **DELETE Soft Delete**: FAIL - Requires admin auth
76
+ - **Status**: READ-ONLY without account context, mutations need admin auth
77
+
78
+ ### embeddings.ts
79
+ - **GET List**: FAIL - "Account context required" without X-Account-Id
80
+ - **POST Create**: FAIL - Requires admin auth
81
+ - **GET Single**: SUCCESS - Returns embedding with model info
82
+ - **PATCH Update**: FAIL - Requires admin auth
83
+ - **DELETE Soft Delete**: FAIL - Requires admin auth
84
+ - **Status**: READ-ONLY without account context, mutations need admin auth
85
+
86
+ ### timers.ts
87
+ - **GET List**: FAIL - "Account context required" without X-Account-Id
88
+ - **POST Create**: FAIL - Requires admin auth
89
+ - **GET Single**: SUCCESS - Returns timer with schedule config
90
+ - **PATCH Update**: FAIL - Requires admin auth
91
+ - **DELETE Soft Delete**: FAIL - Requires admin auth
92
+ - **Status**: READ-ONLY without account context, mutations need admin auth
93
+
94
+ ### integrations.ts
95
+ - **GET List**: FAIL - "Account context required" without X-Account-Id
96
+ - **POST Create**: FAIL - Requires admin auth
97
+ - **GET Single**: SUCCESS - Returns integration with config
98
+ - **PATCH Update**: FAIL - Requires admin auth
99
+ - **DELETE Soft Delete**: FAIL - Requires admin auth
100
+ - **Status**: READ-ONLY without account context, mutations need admin auth
101
+
102
+ ### roles.ts
103
+ - **GET List**: SUCCESS - Returns system roles
104
+ - **POST Create**: FAIL - Requires admin auth
105
+ - **GET Single**: SUCCESS - Returns role with permissions
106
+ - **PATCH Update**: FAIL - Requires admin auth
107
+ - **DELETE Soft Delete**: FAIL - Requires admin auth
108
+ - **Status**: READ-ONLY without auth, mutations need admin auth
109
+
110
+ ## Runtime APIs
111
+
112
+ ### threads.ts
113
+ - **GET List**: SUCCESS - Returns threads with person info
114
+ - **POST Create**: SUCCESS - Creates thread
115
+ - **GET Single**: SUCCESS - Returns thread with person
116
+ - **PATCH Update**: SUCCESS - Updates thread
117
+ - **DELETE Soft Delete**: SUCCESS - Sets is_active=false
118
+ - **Status**: FULLY FUNCTIONAL
119
+
120
+ ### messages.ts
121
+ - **GET List**: SUCCESS - Returns messages with thread/person info
122
+ - **POST Create**: SUCCESS - Creates message
123
+ - **GET Single**: SUCCESS - Returns message with thread/person
124
+ - **PATCH Update**: SUCCESS - Updates message
125
+ - **DELETE Soft Delete**: SUCCESS - Sets is_active=false
126
+ - **Status**: FULLY FUNCTIONAL
127
+
128
+ ### attachments.ts
129
+ - **GET List**: SUCCESS - Returns attachments with person info
130
+ - **POST Create**: SUCCESS - Creates attachment
131
+ - **GET Single**: SUCCESS - Returns attachment with person
132
+ - **PATCH Update**: SUCCESS - Updates attachment
133
+ - **DELETE Soft Delete**: SUCCESS - Sets is_active=false
134
+ - **Status**: FULLY FUNCTIONAL
135
+
136
+ ### watchers.ts
137
+ - **GET List**: SUCCESS - Returns watchers with person info
138
+ - **POST Create**: SUCCESS - Creates watcher
139
+ - **GET Single**: SUCCESS - Returns watcher
140
+ - **DELETE Hard Delete**: SUCCESS - Removes watcher
141
+ - **Status**: FULLY FUNCTIONAL
142
+
143
+ ### links.ts
144
+ - **GET List**: SUCCESS - Returns links with link_type/person info
145
+ - **POST Create**: SUCCESS - Creates link
146
+ - **GET Single**: SUCCESS - Returns link with type/person
147
+ - **DELETE Hard Delete**: SUCCESS - Removes link
148
+ - **Status**: FULLY FUNCTIONAL
149
+
150
+ ### link-types.ts
151
+ - **GET List**: SUCCESS - Returns link types
152
+ - **POST Create**: FAIL - Requires admin auth
153
+ - **GET Single**: SUCCESS - Returns link type with app info
154
+ - **PATCH Update**: FAIL - Requires admin auth
155
+ - **DELETE Soft Delete**: FAIL - Requires admin auth
156
+ - **Status**: READ-ONLY without auth, mutations need admin auth
157
+
158
+ ## Access Control APIs
159
+
160
+ ### people-accounts.ts
161
+ - **GET List**: SUCCESS - Returns people-accounts relationships
162
+ - **POST Create**: SUCCESS - Adds person to account
163
+ - **DELETE Remove**: SUCCESS - Removes person from account
164
+ - **Status**: FULLY FUNCTIONAL
165
+
166
+ ### people-roles.ts
167
+ - **GET List**: SUCCESS - Returns people-roles relationships
168
+ - **POST Create**: SUCCESS - Assigns role to person
169
+ - **DELETE Remove**: SUCCESS - Removes role from person
170
+ - **Status**: FULLY FUNCTIONAL
171
+
172
+ ### account-nodes.ts
173
+ - **GET List**: SUCCESS - Returns account hierarchy via RPC
174
+ - **Status**: FULLY FUNCTIONAL
175
+
176
+ ## System APIs
177
+
178
+ ### logs.ts
179
+ - **GET List**: SUCCESS - Returns system logs
180
+ - **GET Single**: SUCCESS - Returns single log entry
181
+ - **Status**: FULLY FUNCTIONAL
182
+
183
+ ### pipeline-executions.ts
184
+ - **GET List**: SUCCESS - Returns pipeline executions
185
+ - **GET Single**: SUCCESS - Returns single execution
186
+ - **Status**: FULLY FUNCTIONAL
187
+
188
+ ## Summary
189
+
190
+ ### Fully Functional (11 endpoints)
191
+ - accounts, people, items (with context), threads, messages, attachments, watchers, links, people-accounts, people-roles, account-nodes, logs, pipeline-executions
192
+
193
+ ### Read-Only Without Auth (8 endpoints)
194
+ - types, apps, pipelines, triggers, ai-agents, embeddings, timers, integrations, roles, link-types
195
+
196
+ ### Issues Identified
197
+ 1. **Authentication Required**: Config mutations need proper admin auth tokens
198
+ 2. **Account Context**: Most config endpoints require X-Account-Id header
199
+ 3. **Items Endpoint**: Requires account context for all operations
200
+ 4. **Auth Validation**: Proper token validation needed for admin operations
201
+
202
+ ### Recommendations
203
+ 1. Implement proper admin authentication for config mutations
204
+ 2. Add account context validation for config reads
205
+ 3. Test with valid admin session tokens
206
+ 4. Verify role-based access control enforcement
207
+
208
+ ## Test Data Created
209
+ - Test account: "Test Account for API Testing"
210
+ - Test person: "Test Person" with timestamped email
211
+ - Test items: Created with account context
212
+ - All test data properly soft deleted after testing