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,178 @@
1
+ /**
2
+ * @module admin-data
3
+ * @audience both
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * Generic CRUD API for all runtime entities. Provides list, get, create,
8
+ * update, delete, and stats operations over a validated set of entity tables.
9
+ *
10
+ * **Routed by:** `GET/POST/PATCH/DELETE /.netlify/functions/admin-data`
11
+ *
12
+ * **Dispatch table (query params → handler):**
13
+ * | method | ?action | ?id present | Handler |
14
+ * |--------|---------|-------------|---------|
15
+ * | GET | list | any | `list` |
16
+ * | GET | get | any | `get` |
17
+ * | GET | stats | any | `stats` |
18
+ * | GET | — | yes | `get` |
19
+ * | GET | — | no | `list` |
20
+ * | POST | — | — | `create`|
21
+ * | PATCH | — | — | `update`|
22
+ * | DELETE | — | — | `remove`|
23
+ *
24
+ * **Authorization:** All DB reads/writes use `ctx.db` (RLS-scoped client).
25
+ * RLS policies on each table enforce account hierarchy access automatically.
26
+ * `adminDb` is used only for lookups that need bypass (type resolution).
27
+ *
28
+ * **Valid entities:** `accounts`, `people`, `items`, `threads`, `messages`,
29
+ * `links`, `attachments`, `watchers`.
30
+ *
31
+ * INVARIANT: every `create` call requires `type_id` in the body — all runtime
32
+ * records must reference a type.
33
+ * INVARIANT: trigger dispatch (create/update/delete) is fire-and-forget —
34
+ * trigger failures are logged but never surface to the caller.
35
+ * INVARIANT: all returned records are passed through `sanitizeRecordData`
36
+ * before being returned — field-level permission stripping is always applied.
37
+ *
38
+ * @seeAlso middleware.ts (createHandler, CoreContext)
39
+ * @seeAlso permissions.ts (sanitizeRecordData)
40
+ * @seeAlso trigger-engine.ts (fire*Triggers)
41
+ * @seeAlso types.ts (types table, design_schema, validation_schema)
42
+ */
43
+ /**
44
+ * @chunk-id ADMIN_DATA_LIST_1_0_0
45
+ * @version 1.0.0
46
+ * @hash 780f1f0c81ea3bff78d40970ba4b03e3211d892bb883e6a099c6e0a55ee53b0c
47
+ * @macro Entity List Handler
48
+ * @micro Lists records with filtering, search, sorting, and pagination
49
+ * @inputs ctx: CoreContext — Request context with principal and database
50
+ * @inputs _body: any — Request body (unused for GET)
51
+ * @outputs Array of sanitized records or {data, schema, view} with view config
52
+ * @depends-on [createHandler, sanitizeRecordData, adminDb, getSearchField]
53
+ * @depended-by [Netlify function routing]
54
+ * @side-effects [DB queries, permission sanitization]
55
+ * @tags admin, crud, list, pagination, search
56
+ */
57
+ export declare const list: (event: any, context: any) => Promise<any>;
58
+ /**
59
+ * @chunk-id ADMIN_DATA_GET_1_0_0
60
+ * @version 1.0.0
61
+ * @hash 7ee27702615d7ebd144e065d399635ddf7664845685345d8a8f316449f11a7cf
62
+ * @macro Entity Get Handler
63
+ * @micro Returns a single record by ID with optional view configuration
64
+ * @inputs ctx: CoreContext — Request context with principal and database
65
+ * @inputs _body: any — Request body (unused for GET)
66
+ * @outputs Sanitized record or {data, schema, view} with view config
67
+ * @depends-on [createHandler, sanitizeRecordData]
68
+ * @depended-by [Netlify function routing]
69
+ * @side-effects [DB single row query, permission sanitization]
70
+ * @tags admin, crud, get, single-record
71
+ */
72
+ export declare const get: (event: any, context: any) => Promise<any>;
73
+ /**
74
+ * Creates a new record for an entity. Stamps `design_schema`,
75
+ * `validation_schema`, audit fields, and `account_id` from the resolved type.
76
+ * Fires `*_created` triggers asynchronously after DB insert.
77
+ *
78
+ * Body params:
79
+ * - `entity` (required) — one of VALID_ENTITIES
80
+ * - `type_id` (required) — UUID of an active type record
81
+ * - all other fields are passed through to the insert
82
+ *
83
+ * @returns Sanitized created record
84
+ * @throws Error('Valid entity parameter is required')
85
+ * @throws Error('type_id is required')
86
+ * @throws Error('type_id not found') — if type UUID doesn't exist
87
+ * @throws Error('type_id references an inactive type')
88
+ * @throws PostgREST error on RLS INSERT denial
89
+ * @inputSpec type_id: string — valid UUID of active type record
90
+ * @inputSpec body fields: Record<string, any> — record field values
91
+ * @outputSpec sanitized created record
92
+ * @sideEffects DB write: entity table (INSERT)
93
+ * @sideEffects DB read: types table (type resolution)
94
+ * @sideEffects fire-and-forget: fireCreateTriggers
95
+ * @calledBy handler (POST)
96
+ * @calls sanitizeRecordData, adminDb (type lookup), fireCreateTriggers
97
+ * @testUnit tests/unit/admin-data.test.ts — 'create'
98
+ * @testIntegration tests/integration/admin-data.test.ts — 'create'
99
+ */
100
+ export declare const create: (event: any, context: any) => Promise<any>;
101
+ /**
102
+ * Updates an existing record by ID. Stamps `updated_by` and `updated_at`.
103
+ * Fires `*_updated` triggers asynchronously after DB update.
104
+ *
105
+ * Query params: `entity` (required), `id` (required)
106
+ * Body: partial record fields to update (no schema re-stamping on update)
107
+ *
108
+ * @returns Sanitized updated record
109
+ * @throws Error('Valid entity parameter is required')
110
+ * @throws Error('ID is required for update')
111
+ * @throws PostgREST error on RLS UPDATE denial
112
+ * @inputSpec id: string — valid UUID of existing record
113
+ * @inputSpec body: Partial<Record> — fields to patch
114
+ * @outputSpec sanitized updated record
115
+ * @sideEffects DB write: entity table (UPDATE)
116
+ * @sideEffects fire-and-forget: fireUpdateTriggers
117
+ * @calledBy handler (PATCH)
118
+ * @calls sanitizeRecordData, fireUpdateTriggers
119
+ * @testUnit tests/unit/admin-data.test.ts — 'update'
120
+ */
121
+ export declare const update: (event: any, context: any) => Promise<any>;
122
+ /**
123
+ * Deletes a record by ID. Defaults to soft delete (`is_active = false`) for
124
+ * entities that support it; falls back to hard delete otherwise.
125
+ *
126
+ * Query params:
127
+ * - `entity` (required) — one of VALID_ENTITIES
128
+ * - `id` (required) — UUID of the record
129
+ * - `soft` (default: 'true') — set to 'false' to force hard delete
130
+ *
131
+ * Soft-delete-capable entities: `accounts`, `people`, `items`, `threads`,
132
+ * `messages`, `watchers`. All others always receive a hard delete.
133
+ *
134
+ * @returns `{ deleted: true, soft: true, data }` (soft) or `{ deleted: true, soft: false }` (hard)
135
+ * @throws Error('Valid entity parameter is required')
136
+ * @throws Error('ID is required for delete')
137
+ * @throws PostgREST error on RLS DELETE denial
138
+ * @inputSpec id: string — valid UUID
139
+ * @inputSpec soft: 'true' | 'false'
140
+ * @outputSpec { deleted: boolean, soft: boolean, data?: sanitizedRecord }
141
+ * @sideEffects DB write: UPDATE is_active=false (soft) or DELETE (hard)
142
+ * @sideEffects fire-and-forget: fireDeleteTriggers
143
+ * @calledBy handler (DELETE)
144
+ * @calls sanitizeRecordData, entitySupportsSoftDelete, fireDeleteTriggers
145
+ * @testUnit tests/unit/admin-data.test.ts — 'remove'
146
+ */
147
+ export declare const remove: (event: any, context: any) => Promise<any>;
148
+ /**
149
+ * @chunk-id ADMIN_DATA_STATS_1_0_0
150
+ * @version 1.0.0
151
+ * @hash 0bed523a260ab3959cb4e7150cca044f4e97ce91d7ae3386ab14b5f4182d74d7
152
+ * @macro Entity Stats Handler
153
+ * @micro Returns total record count for an entity scoped by account
154
+ * @inputs ctx: CoreContext — Request context with principal and database
155
+ * @inputs _body: any — Request body (unused for GET)
156
+ * @outputs {entity: string, count: number} — Entity name and record count
157
+ * @depends-on [createHandler]
158
+ * @depended-by [Netlify function routing]
159
+ * @side-effects [DB count query with RLS filtering]
160
+ * @tags admin, stats, count, entity
161
+ */
162
+ export declare const stats: (event: any, context: any) => Promise<any>;
163
+ /**
164
+ * @chunk-id ADMIN_DATA_HANDLER_1_0_0
165
+ * @version 1.0.0
166
+ * @hash edceffa0d5c8b3c05b1a89188a274a586b6ebe8793ede427e2326876d7090df9
167
+ * @macro Admin Data Router
168
+ * @micro Routes HTTP methods and actions to appropriate CRUD handlers
169
+ * @inputs ctx: CoreContext — Request context with principal and database
170
+ * @inputs body: any — Request body for POST/PATCH operations
171
+ * @outputs Varies — Depends on routed handler (list/get/create/update/remove/stats)
172
+ * @depends-on [createHandler, list, get, create, update, remove, stats]
173
+ * @depended-by [Netlify function routing]
174
+ * @side-effects [Delegates to appropriate handler]
175
+ * @tags admin, router, crud, netlify-function
176
+ */
177
+ export declare const handler: (event: any, context: any) => Promise<any>;
178
+ //# sourceMappingURL=admin-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-data.d.ts","sourceRoot":"","sources":["../../.framework/functions/admin-data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAuBH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,4CA2Ff,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG,4CAiCd,CAAA;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,MAAM,4CAyFjB,CAAA;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,4CAkCjB,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,MAAM,4CAsCjB,CAAA;AA6DF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,4CAchB,CAAA;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAmClB,CAAA"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * @module ai-agents
3
+ * @audience core-contributor
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * CRUD API for the `ai_agents` table. AI agent records define the configuration
8
+ * for agentic inference workloads: model settings, system prompts, available
9
+ * tools, capabilities, and constraints. The runtime execution is handled by
10
+ * `_shared/agent-runner.ts`.
11
+ *
12
+ * **Routed by:** `GET/POST/PATCH/DELETE /.netlify/functions/ai-agents`
13
+ *
14
+ * **Actions (standard CRUD only):**
15
+ * | method | condition | handler |
16
+ * |--------|-----------|---------|
17
+ * | GET | ?id | get |
18
+ * | GET | (default) | list |
19
+ * | POST | — | create |
20
+ * | PATCH | — | update |
21
+ * | DELETE | — | remove |
22
+ *
23
+ * **Authorization:** All operations use `ctx.db` (RLS-scoped). Authenticated
24
+ * principal required for writes.
25
+ *
26
+ * INVARIANT: `remove` is a hard delete.
27
+ * INVARIANT: `update` only patches allowed fields: name, description,
28
+ * model_config, system_prompt, tools, capabilities, constraints, metadata,
29
+ * is_active.
30
+ *
31
+ * @seeAlso agent-runner.ts (runAgent — runtime execution using these configs)
32
+ * @seeAlso prompt-configs.ts (prompt_configs referenced by agent configs)
33
+ * @seeAlso audit.ts (emitLog for ai_agent.* events)
34
+ */
35
+ /**
36
+ * @chunk-id AI_AGENTS_LIST_1_0_0
37
+ * @version 1.0.0
38
+ * @hash 237972d65e86f5d432f55b602ac5e6f2dcfaefa83c662c10b7d3437ac906ff0d
39
+ * @macro AI Agents List Handler
40
+ * @micro Lists AI agents with filtering and pagination
41
+ * @inputs ctx: CoreContext — Request context with principal and database
42
+ * @inputs _body: any — Request body (unused for GET)
43
+ * @outputs Array of sanitized AI agent records
44
+ * @depends-on [createHandler, joins, sanitizeRecordData]
45
+ * @depended-by [Netlify function routing]
46
+ * @side-effects [DB queries, permission sanitization]
47
+ * @tags ai-agents, list, crud, pagination
48
+ */
49
+ export declare const list: (event: any, context: any) => Promise<any>;
50
+ /**
51
+ * @chunk-id AI_AGENTS_GET_1_0_0
52
+ * @version 1.0.0
53
+ * @hash 62f283668d9a90ff81e2cbf8c437298206b355d2dd96fb559b2848fc4ffbc5cd
54
+ * @macro AI Agent Get Handler
55
+ * @micro Returns a single AI agent by UUID with joins
56
+ * @inputs ctx: CoreContext — Request context with principal and database
57
+ * @inputs _body: any — Request body (unused for GET)
58
+ * @outputs Sanitized AI agent record with app and createdBy joins
59
+ * @depends-on [createHandler, joins, sanitizeRecordData]
60
+ * @depended-by [Netlify function routing]
61
+ * @side-effects [DB single row query, permission sanitization]
62
+ * @tags ai-agents, get, crud, single-record
63
+ */
64
+ export declare const get: (event: any, context: any) => Promise<any>;
65
+ /**
66
+ * @chunk-id AI_AGENTS_CREATE_1_0_0
67
+ * @version 1.0.0
68
+ * @hash 355c8ceb1f33e033616480827141a2f33cde8e18fa4e9f9d94f4866af6fe66f6
69
+ * @macro AI Agent Create Handler
70
+ * @micro Creates new AI agent configuration with validation and audit logging
71
+ * @inputs ctx: CoreContext — Request context with principal and database
72
+ * @inputs body: object — Agent configuration data
73
+ * @outputs Inserted AI agent record
74
+ * @depends-on [createHandler, emitLog]
75
+ * @depended-by [Netlify function routing]
76
+ * @side-effects [DB insert, audit logging]
77
+ * @tags ai-agents, create, crud, audit
78
+ */
79
+ export declare const create: (event: any, context: any) => Promise<any>;
80
+ /**
81
+ * @chunk-id AI_AGENTS_UPDATE_1_0_0
82
+ * @version 1.0.0
83
+ * @hash 07e173626958a0ef032cc4c80719c49df5990756e08ecdb70a4168ab73544f10
84
+ * @macro AI Agent Update Handler
85
+ * @micro Updates AI agent with field validation and audit logging
86
+ * @inputs ctx: CoreContext — Request context with principal and database
87
+ * @inputs body: object — Agent updates including id
88
+ * @outputs Updated AI agent record
89
+ * @depends-on [createHandler, emitLog]
90
+ * @depended-by [Netlify function routing]
91
+ * @side-effects [DB update, audit logging]
92
+ * @tags ai-agents, update, crud, audit
93
+ */
94
+ export declare const update: (event: any, context: any) => Promise<any>;
95
+ /**
96
+ * @chunk-id AI_AGENTS_REMOVE_1_0_0
97
+ * @version 1.0.0
98
+ * @hash 7d990350b55b85945cc2148908618d6cd1dad27d1fc8343eab6966bedd9d84fa
99
+ * @macro AI Agent Remove Handler
100
+ * @micro Hard-deletes AI agent with validation and audit logging
101
+ * @inputs ctx: CoreContext — Request context with principal and database
102
+ * @inputs _body: any — Request body (unused for DELETE)
103
+ * @outputs {success: true} — Success confirmation
104
+ * @depends-on [createHandler, emitLog]
105
+ * @depended-by [Netlify function routing]
106
+ * @side-effects [DB delete, audit logging]
107
+ * @tags ai-agents, remove, crud, audit
108
+ */
109
+ export declare const remove: (event: any, context: any) => Promise<any>;
110
+ /**
111
+ * @chunk-id AI_AGENTS_HANDLER_1_0_0
112
+ * @version 1.0.0
113
+ * @hash a49f4917dd07295e0ba9815bf929cccc5cffcbe4dcf6852aa4bd84d6cba1b690
114
+ * @macro AI Agents Router
115
+ * @micro Routes HTTP methods to appropriate CRUD handlers
116
+ * @inputs ctx: CoreContext — Request context with principal and database
117
+ * @inputs body: any — Request body for POST/PATCH operations
118
+ * @outputs Varies — Depends on routed handler (list/get/create/update/remove)
119
+ * @depends-on [createHandler, list, get, create, update, remove]
120
+ * @depended-by [Netlify function routing]
121
+ * @side-effects [Delegates to appropriate handler]
122
+ * @tags ai-agents, router, crud, netlify-function
123
+ */
124
+ export declare const handler: (event: any, context: any) => Promise<any>;
125
+ //# sourceMappingURL=ai-agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-agents.d.ts","sourceRoot":"","sources":["../../.framework/functions/ai-agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAYH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,4CAiCf,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG,4CAgBd,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAsCjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAiCjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CA4BjB,CAAA;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAsBlB,CAAA"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * @module api-keys
3
+ * @audience core-contributor
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * Management and validation API for the `api_keys` table. API keys are
8
+ * issued per-integration and optionally scoped to specific permissions.
9
+ * Key material is generated and stored by the `create_api_key` Postgres
10
+ * RPC, which handles hashing internally. Validation also delegates to the
11
+ * `validate_api_key` RPC.
12
+ *
13
+ * **Routed by:** `GET/POST /.netlify/functions/api-keys`
14
+ *
15
+ * **Actions:**
16
+ * | method | ?action | handler |
17
+ * |--------|------------|---------------|
18
+ * | POST | validate | validate |
19
+ * | POST | revoke | revoke |
20
+ * | GET | usage-logs | listUsageLogs |
21
+ * | GET | ?id | get |
22
+ * | GET | (default) | list |
23
+ * | POST | — | create |
24
+ *
25
+ * **Authorization:** All operations use `ctx.db` (RLS-scoped). Account context
26
+ * required for creates. No PATCH/DELETE — use `revoke` for deactivation.
27
+ *
28
+ * INVARIANT: Raw key material is never stored. Only the hash is persisted.
29
+ * `create` returns the plaintext key once via RPC response.
30
+ * INVARIANT: `revoke` soft-deactivates by setting `is_active = false`.
31
+ *
32
+ * @seeAlso integrations.ts (integration_id FK on api_keys)
33
+ * @seeAlso audit.ts (emitLog for api_key.* events)
34
+ */
35
+ /**
36
+ * @chunk-id API_KEYS_LIST_1_0_0
37
+ * @version 1.0.0
38
+ * @hash f825d8f4bbabe21071b61fe41e5e4e1b87482d501bf4078fab70906b7a5f5e78
39
+ * @macro API Keys List Handler
40
+ * @micro Lists API keys with filtering, pagination, and joins
41
+ * @inputs ctx: CoreContext — Request context with principal and database
42
+ * @inputs _body: any — Request body (unused for GET)
43
+ * @outputs Array of sanitized API key records with integration joins
44
+ * @depends-on [createHandler, sanitizeRecordData]
45
+ * @depended-by [Netlify function routing]
46
+ * @side-effects [DB queries, permission sanitization]
47
+ * @tags api-keys, list, crud, pagination
48
+ */
49
+ export declare const list: (event: any, context: any) => Promise<any>;
50
+ /**
51
+ * @chunk-id API_KEYS_GET_1_0_0
52
+ * @version 1.0.0
53
+ * @hash 357f926aeb833ad0ca755e48350534771f491890645134a1b43d2f2a8e4be037
54
+ * @macro API Key Get Handler
55
+ * @micro Returns a single API key record with joins (no raw key material)
56
+ * @inputs ctx: CoreContext — Request context with principal and database
57
+ * @inputs _body: any — Request body (unused for GET)
58
+ * @outputs Sanitized API key record with integration and createdBy joins
59
+ * @depends-on [createHandler, sanitizeRecordData]
60
+ * @depended-by [Netlify function routing]
61
+ * @side-effects [DB single row query, permission sanitization]
62
+ * @tags api-keys, get, crud, single-record
63
+ */
64
+ export declare const get: (event: any, context: any) => Promise<any>;
65
+ /**
66
+ * @chunk-id API_KEYS_CREATE_1_0_0
67
+ * @version 1.0.0
68
+ * @hash 8d00c97111cddebc2b3821a1fee3e6cf4c6b7c55fc20cd19d70865d728c3387c
69
+ * @macro API Key Create Handler
70
+ * @micro Creates new API key via RPC with validation and audit logging
71
+ * @inputs ctx: CoreContext — Request context with principal and database
72
+ * @inputs body: object — API key configuration data
73
+ * @outputs RPC result containing api_key_id and plaintext key_value
74
+ * @depends-on [createHandler, emitLog]
75
+ * @depended-by [Netlify function routing]
76
+ * @side-effects [RPC call, audit logging]
77
+ * @tags api-keys, create, crud, rpc, audit
78
+ */
79
+ export declare const create: (event: any, context: any) => Promise<any>;
80
+ /**
81
+ * @chunk-id API_KEYS_VALIDATE_1_0_0
82
+ * @version 1.0.0
83
+ * @hash 05791f9b2c23bfebed01dffaa1430e896b89d311c5a51409704d731200eb621a
84
+ * @macro API Key Validation Handler
85
+ * @micro Validates API key and checks permissions via RPC
86
+ * @inputs ctx: CoreContext — Request context with principal and database
87
+ * @inputs body: object — key_value and optional required_permissions
88
+ * @outputs RPC validation result with is_valid, account_id, permissions
89
+ * @depends-on [createHandler]
90
+ * @depended-by [Netlify function routing, middleware]
91
+ * @side-effects [RPC validation call]
92
+ * @tags api-keys, validate, rpc, authentication
93
+ */
94
+ export declare const validate: (event: any, context: any) => Promise<any>;
95
+ /**
96
+ * @chunk-id API_KEYS_REVOKE_1_0_0
97
+ * @version 1.0.0
98
+ * @hash 3302286a12c1315616470fcfbd3cbdc8dcf63dd00211a71159f3325bab95607a
99
+ * @macro API Key Revoke Handler
100
+ * @micro Soft-deactivates API key with validation and audit logging
101
+ * @inputs ctx: CoreContext — Request context with principal and database
102
+ * @inputs body: object — API key ID to revoke
103
+ * @outputs Updated API key record with is_active: false
104
+ * @depends-on [createHandler, emitLog]
105
+ * @depended-by [Netlify function routing]
106
+ * @side-effects [DB update, audit logging]
107
+ * @tags api-keys, revoke, crud, audit
108
+ */
109
+ export declare const revoke: (event: any, context: any) => Promise<any>;
110
+ /**
111
+ * @chunk-id API_KEYS_LIST_USAGE_LOGS_1_0_0
112
+ * @version 1.0.0
113
+ * @hash f21e004490dd983c8f20dc1d1f4db33e158334d19e38a4ace5e99389a8a96ded
114
+ * @macro API Key Usage Logs Handler
115
+ * @micro Lists paginated API key usage logs with filtering and joins
116
+ * @inputs ctx: CoreContext — Request context with principal and database
117
+ * @inputs _body: any — Request body (unused for GET)
118
+ * @outputs Array of usage log records with api_key joins
119
+ * @depends-on [createHandler]
120
+ * @depended-by [Netlify function routing]
121
+ * @side-effects [DB queries with filtering]
122
+ * @tags api-keys, usage-logs, pagination, monitoring
123
+ */
124
+ export declare const listUsageLogs: (event: any, context: any) => Promise<any>;
125
+ /**
126
+ * @chunk-id API_KEYS_HANDLER_1_0_0
127
+ * @version 1.0.0
128
+ * @hash 6c2da419bea6f12b0fe654e2aad6c5ebac3d5993c2547a47d239f44197d90a68
129
+ * @macro API Keys Router
130
+ * @micro Routes HTTP methods and actions to appropriate handlers
131
+ * @inputs ctx: CoreContext — Request context with principal and database
132
+ * @inputs body: any — Request body for POST operations
133
+ * @outputs Varies — Depends on routed handler (list/get/create/validate/revoke/usage-logs)
134
+ * @depends-on [createHandler, list, get, create, validate, revoke, listUsageLogs]
135
+ * @depended-by [Netlify function routing]
136
+ * @side-effects [Delegates to appropriate handler]
137
+ * @tags api-keys, router, crud, netlify-function
138
+ */
139
+ export declare const handler: (event: any, context: any) => Promise<any>;
140
+ //# sourceMappingURL=api-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../.framework/functions/api-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AASH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,4CA6Cf,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG,4CAoBd,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAiCjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,4CAgBnB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAsBjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,4CAuCxB,CAAA;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAiClB,CAAA"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * @module apps
3
+ * @audience core-contributor
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * CRUD API for the `apps` table. Apps are the installable units of functionality
8
+ * in Spine v2. They group types, roles, integrations, and nav configuration.
9
+ *
10
+ * **Routed by:** `GET/POST/PATCH/DELETE /.netlify/functions/apps`
11
+ *
12
+ * **Authorization model:**
13
+ * - `list` / `get` / `getSchema` / `checkAvailability`: any authenticated principal
14
+ * (RLS-scoped via `ctx.db`). Returns sanitized records.
15
+ * - `create`: requires `isSystemAdmin` or first-surface `canCreate` permission.
16
+ * - `update` / `remove`: requires authenticated principal + field-level permission
17
+ * check via `validateUpdatePermissions`.
18
+ * - `updateVersion`: authenticated principal via RPC.
19
+ *
20
+ * INVARIANT: app slugs are globally unique across the `apps` table.
21
+ * INVARIANT: `is_system` apps can only be manipulated by system admins.
22
+ *
23
+ * @seeAlso middleware.ts (createHandler)
24
+ * @seeAlso permissions.ts (PermissionEngine, sanitizeRecordData)
25
+ * @seeAlso audit.ts (emitLog for app.created / app.updated / app.deleted)
26
+ * @seeAlso types.ts (types reference apps via app_id)
27
+ */
28
+ /**
29
+ * @chunk-id APPS_LIST_1_0_0
30
+ * @version 1.0.0
31
+ * @hash 8eaac3c01786fadeb3c4acb34c9725378f2055766213493859835cadf2bb3963
32
+ * @macro Apps List Handler
33
+ * @micro Lists accessible apps via RPC with filtering and sanitization
34
+ * @inputs ctx: CoreContext — Request context with principal and database
35
+ * @inputs body: any — Request body (unused for GET)
36
+ * @outputs Array of sanitized app records
37
+ * @depends-on [createHandler, sanitizeRecordData]
38
+ * @depended-by [Netlify function routing]
39
+ * @side-effects [RPC call, permission sanitization]
40
+ * @tags apps, list, crud, rpc
41
+ */
42
+ export declare const list: (event: any, context: any) => Promise<any>;
43
+ /**
44
+ * @chunk-id APPS_GET_1_0_0
45
+ * @version 1.0.0
46
+ * @hash 5449bb3ac8726775412df541e1f2abf2400fb18751e3c9aad5f0aafb09cc7f60
47
+ * @macro App Get Handler
48
+ * @micro Returns single app by ID or slug with owner account join
49
+ * @inputs ctx: CoreContext — Request context with principal and database
50
+ * @inputs body: any — Request body (unused for GET)
51
+ * @outputs Sanitized app record with ownerAccount join
52
+ * @depends-on [createHandler, joins, sanitizeRecordData]
53
+ * @depended-by [Netlify function routing]
54
+ * @side-effects [DB single row query, permission sanitization]
55
+ * @tags apps, get, crud, single-record
56
+ */
57
+ export declare const get: (event: any, context: any) => Promise<any>;
58
+ /**
59
+ * @chunk-id APPS_GET_SCHEMA_1_0_0
60
+ * @version 1.0.0
61
+ * @hash 8b6b7bb419114cbb699ad841dc4ba760ff36a626e8a9513de24715229e5a064b
62
+ * @macro App Schema Handler
63
+ * @micro Returns full app schema via RPC with types, roles, views, integrations
64
+ * @inputs ctx: CoreContext — Request context with principal and database
65
+ * @inputs body: any — Request body (unused for GET)
66
+ * @outputs App schema object with complete configuration
67
+ * @depends-on [createHandler]
68
+ * @depended-by [Netlify function routing]
69
+ * @side-effects [RPC call for schema retrieval]
70
+ * @tags apps, schema, rpc, configuration
71
+ */
72
+ export declare const getSchema: (event: any, context: any) => Promise<any>;
73
+ /**
74
+ * @chunk-id APPS_CREATE_1_0_0
75
+ * @version 1.0.0
76
+ * @hash f440efbf4a020b2d0d21ed7d90c5995538dd76d631f1b16fc53c1f2e9a1e4f91
77
+ * @macro App Create Handler
78
+ * @micro Creates new app with permission validation and audit logging
79
+ * @inputs ctx: CoreContext — Request context with principal and database
80
+ * @inputs body: object — App configuration data including slug and name
81
+ * @outputs Inserted app record
82
+ * @depends-on [createHandler, permissions, emitLog]
83
+ * @depended-by [Netlify function routing]
84
+ * @side-effects [DB insert, permission checks, audit logging]
85
+ * @tags apps, create, crud, permissions, audit
86
+ */
87
+ export declare const create: (event: any, context: any) => Promise<any>;
88
+ /**
89
+ * @chunk-id APPS_UPDATE_1_0_0
90
+ * @version 1.0.0
91
+ * @hash 77029f18737fee801ff5ebdde199d6b52454fd9fe3842694b072181fc713b937
92
+ * @macro App Update Handler
93
+ * @micro Updates app with field-level permission validation and audit logging
94
+ * @inputs ctx: CoreContext — Request context with principal and database
95
+ * @inputs body: object — App updates including id
96
+ * @outputs Updated app record
97
+ * @depends-on [createHandler, permissions, emitLog]
98
+ * @depended-by [Netlify function routing]
99
+ * @side-effects [DB update, permission validation, audit logging]
100
+ * @tags apps, update, crud, permissions, audit
101
+ */
102
+ export declare const update: (event: any, context: any) => Promise<any>;
103
+ /**
104
+ * @chunk-id APPS_REMOVE_1_0_0
105
+ * @version 1.0.0
106
+ * @hash b2c79779820861406f1adabc2279e332727b936abab4c6f5e5762a62d1373169
107
+ * @macro App Remove Handler
108
+ * @micro Soft-deletes app with validation and audit logging
109
+ * @inputs ctx: CoreContext — Request context with principal and database
110
+ * @inputs body: any — Request body with app ID
111
+ * @outputs Updated app record with is_active: false
112
+ * @depends-on [createHandler, emitLog]
113
+ * @depended-by [Netlify function routing]
114
+ * @side-effects [DB soft delete, audit logging]
115
+ * @tags apps, remove, crud, audit
116
+ */
117
+ export declare const remove: (event: any, context: any) => Promise<any>;
118
+ /**
119
+ * @chunk-id APPS_CHECK_AVAILABILITY_1_0_0
120
+ * @version 1.0.0
121
+ * @hash db7d52bcb1002d923dac039a99e6f6fb0eb9889e9b4a44994bf7bb75477ac9a4
122
+ * @macro App Availability Checker
123
+ * @micro Checks if app is available for account via RPC
124
+ * @inputs ctx: CoreContext — Request context with principal and database
125
+ * @inputs body: any — Request body (unused for GET)
126
+ * @outputs {available: boolean} — Availability status
127
+ * @depends-on [createHandler]
128
+ * @depended-by [Netlify function routing]
129
+ * @side-effects [RPC call for availability check]
130
+ * @tags apps, availability, rpc, check
131
+ */
132
+ export declare const checkAvailability: (event: any, context: any) => Promise<any>;
133
+ /**
134
+ * @chunk-id APPS_UPDATE_VERSION_1_0_0
135
+ * @version 1.0.0
136
+ * @hash 04a1a3367e4b8ca0f58e0719e73b0ccda378e84b4b874f3f7e07ee0faa423bfd
137
+ * @macro App Version Update Handler
138
+ * @micro Updates app version string via RPC with audit logging
139
+ * @inputs ctx: CoreContext — Request context with principal and database
140
+ * @inputs body: object — App ID and new version string
141
+ * @outputs {success: true} — Success confirmation
142
+ * @depends-on [createHandler, emitLog]
143
+ * @depended-by [Netlify function routing]
144
+ * @side-effects [RPC call, audit logging]
145
+ * @tags apps, version, update, rpc, audit
146
+ */
147
+ export declare const updateVersion: (event: any, context: any) => Promise<any>;
148
+ /**
149
+ * @chunk-id APPS_HANDLER_1_0_0
150
+ * @version 1.0.0
151
+ * @hash 361e1ba86b38a4611f3170526e4ff7f456d58b929c1d39bf847135afdebf3867
152
+ * @macro Apps Router
153
+ * @micro Routes HTTP methods and actions to appropriate handlers
154
+ * @inputs ctx: CoreContext — Request context with principal and database
155
+ * @inputs body: any — Request body for POST/PATCH operations
156
+ * @outputs Varies — Depends on routed handler (list/get/create/update/remove/schema/available/version)
157
+ * @depends-on [createHandler, list, get, getSchema, checkAvailability, create, update, remove, updateVersion]
158
+ * @depended-by [Netlify function routing]
159
+ * @side-effects [Delegates to appropriate handler]
160
+ * @tags apps, router, crud, netlify-function
161
+ */
162
+ export declare const handler: (event: any, context: any) => Promise<any>;
163
+ //# sourceMappingURL=apps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../.framework/functions/apps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAYH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,4CA0Bf,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG,4CAwBd,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,4CAapB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAkEjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAkDjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAqCjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,4CAoB5B,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,4CAkBxB,CAAA;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CA6BlB,CAAA"}