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,162 @@
1
+ /**
2
+ * @module logs
3
+ * @audience core-contributor
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * Read API for the `v2.logs` table plus a write endpoint for external log
8
+ * ingestion. The `logs` table schema uses internal column names
9
+ * (`level`, `source`, `source_type`, `source_id`, `context`) that differ from
10
+ * the stable frontend contract. All reads are mapped through `mapLogRow`.
11
+ *
12
+ * **Routed by:** `GET/POST /.netlify/functions/logs`
13
+ *
14
+ * **Actions:**
15
+ * | method | ?action | handler |
16
+ * |--------|---------|------------------|
17
+ * | GET | account | listAccount |
18
+ * | GET | target | listTarget |
19
+ * | GET | person | listPerson |
20
+ * | GET | stats | getStats |
21
+ * | GET | search | search |
22
+ * | POST | cleanup | cleanup |
23
+ * | POST | (default)| log |
24
+ *
25
+ * **Authorization:** All operations use `ctx.db` (RLS-scoped, always filtered
26
+ * to `account_id`). No inserts are made by this module — `emitLog` from
27
+ * `_shared/audit.ts` is the canonical write path.
28
+ *
29
+ * **Column mapping (DB → API):**
30
+ * | DB column | API field |
31
+ * |--------------|-------------|
32
+ * | level | event_type |
33
+ * | person_id | actor_id |
34
+ * | source_type | target_type |
35
+ * | source_id | target_id |
36
+ * | source | action |
37
+ * | context | details |
38
+ *
39
+ * @seeAlso audit.ts (emitLog — canonical write path for all system events)
40
+ * @seeAlso observability.ts (aggregated metrics over logs)
41
+ */
42
+ /**
43
+ * @chunk-id LOGS_LIST_ACCOUNT_1_0_0
44
+ * @version 1.0.0
45
+ * @hash d512e35890e479c88f4e6130567b16b1143a164705fca4e887aee643cc76a1e5
46
+ * @macro Account Logs List Handler
47
+ * @micro Lists all account log entries with filtering and mapping
48
+ * @inputs ctx: CoreContext — Request context with principal and database
49
+ * @inputs body: any — Request body (unused for GET)
50
+ * @outputs Array of mapped log rows with API field names
51
+ * @depends-on [createHandler, mapLogRow]
52
+ * @depended-by [Netlify function routing]
53
+ * @side-effects [DB queries, row mapping]
54
+ * @tags logs, list, account, pagination
55
+ */
56
+ export declare const listAccount: (event: any, context: any) => Promise<any>;
57
+ /**
58
+ * @chunk-id LOGS_LIST_TARGET_1_0_0
59
+ * @version 1.0.0
60
+ * @hash 7ea27876f183b59057284ca9007aed6e0e65050b196f00756b8ad5715073e745
61
+ * @macro Target Logs List Handler
62
+ * @micro Lists log entries for specific target entity with filtering
63
+ * @inputs ctx: CoreContext — Request context with principal and database
64
+ * @inputs body: any — Request body (unused for GET)
65
+ * @outputs Array of mapped log rows for target entity
66
+ * @depends-on [createHandler, mapLogRow]
67
+ * @depended-by [Netlify function routing]
68
+ * @side-effects [DB queries, row mapping]
69
+ * @tags logs, list, target, entity-specific
70
+ */
71
+ export declare const listTarget: (event: any, context: any) => Promise<any>;
72
+ /**
73
+ * @chunk-id LOGS_LIST_PERSON_1_0_0
74
+ * @version 1.0.0
75
+ * @hash 1c502ddeac8766153f1cc9ff6ffc8a7804dd83519d3c2e8b11dcf610fc6d6dfe
76
+ * @macro Person Activity Feed Handler
77
+ * @micro Returns activity feed for person with system event filtering
78
+ * @inputs ctx: CoreContext — Request context with principal and database
79
+ * @inputs body: any — Request body (unused for GET)
80
+ * @outputs Array of mapped log rows for person activity
81
+ * @depends-on [createHandler, mapLogRow]
82
+ * @depended-by [Netlify function routing]
83
+ * @side-effects [DB queries, row mapping]
84
+ * @tags logs, list, person, activity-feed
85
+ */
86
+ export declare const listPerson: (event: any, context: any) => Promise<any>;
87
+ /**
88
+ * @chunk-id LOGS_GET_STATS_1_0_0
89
+ * @version 1.0.0
90
+ * @hash a25e065d770b9658aa1a7d1db325e044febbac498c06cad735e18167442a2674
91
+ * @macro Logs Statistics Handler
92
+ * @micro Returns log counts by event type with date range filtering
93
+ * @inputs ctx: CoreContext — Request context with principal and database
94
+ * @inputs body: any — Request body (unused for GET)
95
+ * @outputs {total: number, by_type: Record<string, number>} — Log statistics
96
+ * @depends-on [createHandler]
97
+ * @depended-by [Netlify function routing]
98
+ * @side-effects [DB count query, aggregation]
99
+ * @tags logs, stats, analytics, monitoring
100
+ */
101
+ export declare const getStats: (event: any, context: any) => Promise<any>;
102
+ /**
103
+ * @chunk-id LOGS_SEARCH_1_0_0
104
+ * @version 1.0.0
105
+ * @hash 25f4552cc8b604e280e77c9180dea6435c99f864f8d1578af44ea68793c4c67d
106
+ * @macro Logs Text Search Handler
107
+ * @micro Performs full-text search on log messages with filtering
108
+ * @inputs ctx: CoreContext — Request context with principal and database
109
+ * @inputs body: any — Request body (unused for GET)
110
+ * @outputs Array of mapped log rows matching search query
111
+ * @depends-on [createHandler, mapLogRow]
112
+ * @depended-by [Netlify function routing]
113
+ * @side-effects [DB ILIKE search, row mapping]
114
+ * @tags logs, search, text-search, ilike
115
+ */
116
+ export declare const search: (event: any, context: any) => Promise<any>;
117
+ /**
118
+ * @chunk-id LOGS_LOG_1_0_0
119
+ * @version 1.0.0
120
+ * @hash 521255a8c1a7e4110e2873050c8b58c8819fa6540bb039d30117946ef741633f
121
+ * @macro Log Entry Writer
122
+ * @micro Writes external log entry with field mapping and validation
123
+ * @inputs ctx: CoreContext — Request context with principal and database
124
+ * @inputs body: object — Log data including event_type and optional fields
125
+ * @outputs {log_id: string} — ID of created log entry
126
+ * @depends-on [createHandler]
127
+ * @depended-by [Netlify function routing]
128
+ * @side-effects [DB insert with field mapping]
129
+ * @tags logs, create, external, instrumentation
130
+ */
131
+ export declare const log: (event: any, context: any) => Promise<any>;
132
+ /**
133
+ * @chunk-id LOGS_CLEANUP_1_0_0
134
+ * @version 1.0.0
135
+ * @hash 3790847ac4c98e79285483511dcc23c303dc339b4988ac5715c1f165a1bb29c9
136
+ * @macro Logs Cleanup Handler
137
+ * @micro Deletes old log entries beyond retention period
138
+ * @inputs ctx: CoreContext — Request context with principal and database
139
+ * @inputs body: object — days_to_keep (default 90)
140
+ * @outputs {deleted_count: number} — Number of deleted log entries
141
+ * @depends-on [createHandler]
142
+ * @depended-by [Netlify function routing, system-cron.ts]
143
+ * @side-effects [DB delete by date]
144
+ * @tags logs, cleanup, retention, maintenance
145
+ */
146
+ export declare const cleanup: (event: any, context: any) => Promise<any>;
147
+ /**
148
+ * @chunk-id LOGS_HANDLER_1_0_0
149
+ * @version 1.0.0
150
+ * @hash 62e729c4e43a30a85394c5ed66a1c2a12898135b133b8b712f481670d2351b22
151
+ * @macro Logs Router
152
+ * @micro Routes HTTP methods and actions to appropriate log handlers
153
+ * @inputs ctx: CoreContext — Request context with principal and database
154
+ * @inputs body: any — Request body for POST operations
155
+ * @outputs Varies — Depends on routed handler (listAccount/listTarget/listPerson/getStats/search/cleanup/log)
156
+ * @depends-on [createHandler, listAccount, listTarget, listPerson, getStats, search, cleanup, log]
157
+ * @depended-by [Netlify function routing]
158
+ * @side-effects [Delegates to appropriate handler]
159
+ * @tags logs, router, crud, netlify-function
160
+ */
161
+ export declare const handler: (event: any, context: any) => Promise<any>;
162
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../.framework/functions/logs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAuCH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,4CA0BtB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,4CA6BrB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,4CAgCrB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,4CA0BnB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CA6BjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG,4CA8Bd,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAelB,CAAA;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CA4BlB,CAAA"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * @module observability
3
+ * @audience core-contributor
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * Aggregated observability metrics API. All handlers delegate to Postgres
8
+ * analytics RPCs that operate over the `v2.logs` table. Results are
9
+ * read-only; no writes occur in this module.
10
+ *
11
+ * **Routed by:** `GET/POST /.netlify/functions/observability`
12
+ *
13
+ * **Actions (all GET unless noted):**
14
+ * | ?action | handler |
15
+ * |-----------------------|------------------------|
16
+ * | event_volume | getEventVolume |
17
+ * | error_rate | getErrorRate |
18
+ * | latency_percentiles | getLatencyPercentiles |
19
+ * | pipeline_stats | getPipelineStats |
20
+ * | top_actors | getTopActors |
21
+ * | cleanup | cleanupOldLogs (POST) |
22
+ *
23
+ * **Authorization:** All read endpoints require account context (RLS-scoped
24
+ * via `ctx.db`). `cleanup` additionally requires the `system_admin` role.
25
+ *
26
+ * INVARIANT: Every handler requires both `from` and `to` date params
27
+ * (except `cleanup`). Requests without them throw immediately.
28
+ *
29
+ * @seeAlso logs.ts (raw log access with filter/search)
30
+ * @seeAlso system-cron.ts (evaluateThresholds calls observability RPCs)
31
+ * @seeAlso pipeline-executions.ts (pipeline_stats RPC aggregates these)
32
+ */
33
+ /**
34
+ * Returns time-bucketed event volume counts via the `get_event_volume` RPC.
35
+ *
36
+ * Query params: `from` (required, ISO), `to` (required, ISO),
37
+ * `bucket` ('minute'|'hour'|'day', default 'hour')
38
+ *
39
+ * @returns Array of `{ bucket_time, event_type, count }` rows
40
+ * @throws Error('Account context required')
41
+ * @throws Error('from and to dates are required')
42
+ * @sideEffects DB read: get_event_volume RPC
43
+ * @calledBy handler (?action=event_volume)
44
+ */
45
+ export declare const getEventVolume: (event: any, context: any) => Promise<any>;
46
+ /**
47
+ * Returns aggregate error rate for the account time window via the
48
+ * `get_error_rate` RPC.
49
+ *
50
+ * Query params: `from` (required, ISO), `to` (required, ISO)
51
+ *
52
+ * @returns `{ total: number, errors: number, rate: number }` (0.0–1.0)
53
+ * @throws Error('Account context required')
54
+ * @throws Error('from and to dates are required')
55
+ * @sideEffects DB read: get_error_rate RPC
56
+ * @calledBy handler (?action=error_rate)
57
+ * @calledBy system-cron.ts evaluateThresholds (metric='error_rate')
58
+ */
59
+ export declare const getErrorRate: (event: any, context: any) => Promise<any>;
60
+ /**
61
+ * Returns request latency percentiles (p50/p90/p99) via the
62
+ * `get_latency_percentiles` RPC.
63
+ *
64
+ * Query params: `from` (required, ISO), `to` (required, ISO),
65
+ * `source` (log source filter, default 'request')
66
+ *
67
+ * @returns `{ p50: number, p90: number, p99: number }` (milliseconds)
68
+ * @throws Error('Account context required')
69
+ * @throws Error('from and to dates are required')
70
+ * @sideEffects DB read: get_latency_percentiles RPC
71
+ * @calledBy handler (?action=latency_percentiles)
72
+ * @calledBy system-cron.ts evaluateThresholds (metric='latency_p95')
73
+ */
74
+ export declare const getLatencyPercentiles: (event: any, context: any) => Promise<any>;
75
+ /**
76
+ * Returns per-pipeline execution statistics (success/failure counts,
77
+ * average duration) via the `get_pipeline_stats` RPC.
78
+ *
79
+ * Query params: `from` (required, ISO), `to` (required, ISO)
80
+ *
81
+ * @returns Array of `{ pipeline_id, name, success_count, failure_count, avg_duration_ms }`
82
+ * @throws Error('Account context required')
83
+ * @throws Error('from and to dates are required')
84
+ * @sideEffects DB read: get_pipeline_stats RPC
85
+ * @calledBy handler (?action=pipeline_stats)
86
+ * @calledBy system-cron.ts evaluateThresholds (metric='pipeline_failure_rate')
87
+ */
88
+ export declare const getPipelineStats: (event: any, context: any) => Promise<any>;
89
+ /**
90
+ * Returns the most active principals (persons) by event count via the
91
+ * `get_top_actors` RPC.
92
+ *
93
+ * Query params: `from` (required, ISO), `to` (required, ISO),
94
+ * `limit` (default 5)
95
+ *
96
+ * @returns Array of `{ person_id, full_name, event_count }` ordered by count desc
97
+ * @throws Error('Account context required')
98
+ * @throws Error('from and to dates are required')
99
+ * @sideEffects DB read: get_top_actors RPC
100
+ * @calledBy handler (?action=top_actors)
101
+ */
102
+ export declare const getTopActors: (event: any, context: any) => Promise<any>;
103
+ /**
104
+ * Manually triggers cross-account log cleanup via the `cleanup_old_logs`
105
+ * RPC. Requires `system_admin` role — not available to regular users.
106
+ *
107
+ * Query params: `days` (optional, default 90)
108
+ *
109
+ * @returns `{ deleted_count: number }`
110
+ * @throws Error('System admin required') if principal lacks system_admin role
111
+ * @sideEffects DB write: cleanup_old_logs RPC (cross-account DELETE)
112
+ * @calledBy handler (?action=cleanup)
113
+ * @calledBy system-cron.ts cleanupOldLogs (automated daily rotation)
114
+ */
115
+ export declare const cleanupOldLogs: (event: any, context: any) => Promise<any>;
116
+ /**
117
+ * Netlify function entry point. Dispatches to analytics handler by ?action.
118
+ * All valid ?action values are listed in the module dispatch table.
119
+ * @throws Error('Unknown action: <action>. Valid actions: ...') on mismatch
120
+ * @calledBy Netlify function routing
121
+ */
122
+ export declare const handler: (event: any, context: any) => Promise<any>;
123
+ //# sourceMappingURL=observability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../.framework/functions/observability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,4CAsBzB,CAAA;AAGF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,4CAoBvB,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,4CAqBhC,CAAA;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,4CAoB3B,CAAA;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,4CAqBvB,CAAA;AAGF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,4CAezB,CAAA;AAIF;;;;;GAKG;AACH,eAAO,MAAM,OAAO,4CAmBlB,CAAA"}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * @module pipeline-executions
3
+ * @audience core-contributor
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * Lifecycle management API for the `pipeline_executions` table. Records
8
+ * track individual pipeline runs: status progression (pending → running →
9
+ * completed/failed/cancelled), timing, trigger data, and result payloads.
10
+ *
11
+ * **Routed by:** `GET/POST/PATCH /.netlify/functions/pipeline-executions`
12
+ *
13
+ * **Actions:**
14
+ * | method | ?action | handler |
15
+ * |--------|----------|------------|
16
+ * | GET | list | list |
17
+ * | GET | running | getRunning |
18
+ * | GET | stats | getStats |
19
+ * | POST | cleanup | cleanup |
20
+ * | GET | ?id | get |
21
+ * | GET | (default)| list |
22
+ * | POST | — | create |
23
+ * | PATCH | start | start |
24
+ * | PATCH | complete | complete |
25
+ * | PATCH | cancel | cancel |
26
+ *
27
+ * **Status FSM:** pending → running → completed | failed | cancelled
28
+ *
29
+ * **Authorization:** All operations use `ctx.db` (RLS-scoped to account).
30
+ * Account context required.
31
+ *
32
+ * **Column reference:**
33
+ * `id`, `pipeline_id`, `status`, `trigger_data`, `result`, `error_message`,
34
+ * `started_at`, `completed_at`, `duration_ms`, `created_by`, `account_id`, `created_at`
35
+ *
36
+ * @seeAlso pipelines.ts (pipeline_id FK source)
37
+ * @seeAlso pipeline-runner.ts (runPipeline — calls create/start/complete)
38
+ * @seeAlso audit.ts (emitLog for pipeline_execution.* events)
39
+ */
40
+ /**
41
+ * @chunk-id PIPELINE_EXECUTIONS_LIST_1_0_0
42
+ * @version 1.0.0
43
+ * @hash 499006790777b78f0eb610474f6869e94869b5b244d1ecedbb0e216cf68bae70
44
+ * @macro Pipeline Executions List Handler
45
+ * @micro Lists pipeline executions with filtering and joins
46
+ * @inputs ctx: CoreContext — Request context with principal and database
47
+ * @inputs body: any — Request body (unused for GET)
48
+ * @outputs Array of execution records with pipeline and person joins
49
+ * @depends-on [createHandler, SELECT_WITH_JOINS]
50
+ * @depended-by [Netlify function routing]
51
+ * @side-effects [DB queries with joins]
52
+ * @tags pipeline-executions, list, crud, pagination
53
+ */
54
+ export declare const list: (event: any, context: any) => Promise<any>;
55
+ /**
56
+ * @chunk-id PIPELINE_EXECUTIONS_GET_1_0_0
57
+ * @version 1.0.0
58
+ * @hash b148fbec727984f7623d1fa94ae20dd0550056d5c886b0994651f119dbc68521
59
+ * @macro Pipeline Execution Get Handler
60
+ * @micro Returns single pipeline execution record with joins
61
+ * @inputs ctx: CoreContext — Request context with principal and database
62
+ * @inputs body: any — Request body (unused for GET)
63
+ * @outputs Execution record with pipeline and person joins
64
+ * @depends-on [createHandler, SELECT_WITH_JOINS]
65
+ * @depended-by [Netlify function routing]
66
+ * @side-effects [DB single row query with joins]
67
+ * @tags pipeline-executions, get, crud, single-record
68
+ */
69
+ export declare const get: (event: any, context: any) => Promise<any>;
70
+ /**
71
+ * @chunk-id PIPELINE_EXECUTIONS_CREATE_1_0_0
72
+ * @version 1.0.0
73
+ * @hash fb1d51a8ca0e30e0d151147edde5516c01a51f2cfcad64105ff07937aa430924
74
+ * @macro Pipeline Execution Create Handler
75
+ * @micro Creates execution record in pending status with audit logging
76
+ * @inputs ctx: CoreContext — Request context with principal and database
77
+ * @inputs body: object — pipeline_id and optional trigger_data
78
+ * @outputs {execution_id: string} — ID of created execution
79
+ * @depends-on [createHandler, emitLog]
80
+ * @depended-by [Netlify function routing, pipeline-runner.ts]
81
+ * @side-effects [DB insert, audit logging]
82
+ * @tags pipeline-executions, create, crud, audit
83
+ */
84
+ export declare const create: (event: any, context: any) => Promise<any>;
85
+ /**
86
+ * @chunk-id PIPELINE_EXECUTIONS_START_1_0_0
87
+ * @version 1.0.0
88
+ * @hash 25eeada82be4fff26606dc6e784b6e0accaaebaee08514577368cdd146f39aaf
89
+ * @macro Pipeline Execution Start Handler
90
+ * @micro Transitions execution from pending to running with timestamp
91
+ * @inputs ctx: CoreContext — Request context with principal and database
92
+ * @inputs body: object — execution id to start
93
+ * @outputs {success: true} — Confirmation of successful start
94
+ * @depends-on [createHandler, emitLog]
95
+ * @depended-by [Netlify function routing, pipeline-runner.ts]
96
+ * @side-effects [DB update, audit logging]
97
+ * @tags pipeline-executions, start, state-transition, audit
98
+ */
99
+ export declare const start: (event: any, context: any) => Promise<any>;
100
+ /**
101
+ * @chunk-id PIPELINE_EXECUTIONS_COMPLETE_1_0_0
102
+ * @version 1.0.0
103
+ * @hash 088db36524718ec6d8d85e1051aa5d1c4fc31fb796f284bc1526c195d4686dff
104
+ * @macro Pipeline Execution Complete Handler
105
+ * @micro Transitions execution to completed/failed with duration calculation
106
+ * @inputs ctx: CoreContext — Request context with principal and database
107
+ * @inputs body: object — id, output_data, and optional error_message
108
+ * @outputs {success: true} — Confirmation of successful completion
109
+ * @depends-on [createHandler, emitLog]
110
+ * @depended-by [Netlify function routing, pipeline-runner.ts]
111
+ * @side-effects [DB read for started_at, DB update, audit logging]
112
+ * @tags pipeline-executions, complete, state-transition, audit
113
+ */
114
+ export declare const complete: (event: any, context: any) => Promise<any>;
115
+ /**
116
+ * @chunk-id PIPELINE_EXECUTIONS_CANCEL_1_0_0
117
+ * @version 1.0.0
118
+ * @hash f45e336099afeb28cb3db099fa428d8637e07876dcabf7ec85de844c25b43d97
119
+ * @macro Pipeline Execution Cancel Handler
120
+ * @micro Cancels execution by setting status to cancelled with timestamp
121
+ * @inputs ctx: CoreContext — Request context with principal and database
122
+ * @inputs body: object — execution id to cancel
123
+ * @outputs {success: true} — Confirmation of successful cancellation
124
+ * @depends-on [createHandler, emitLog]
125
+ * @depended-by [Netlify function routing]
126
+ * @side-effects [DB update, audit logging]
127
+ * @tags pipeline-executions, cancel, state-transition, audit
128
+ */
129
+ export declare const cancel: (event: any, context: any) => Promise<any>;
130
+ /**
131
+ * @chunk-id PIPELINE_EXECUTIONS_GET_RUNNING_1_0_0
132
+ * @version 1.0.0
133
+ * @hash d43691d1d9063a7421eae3b32ede4bb603efa7b2faf635861f66178fde5641b6
134
+ * @macro Running Pipeline Executions Handler
135
+ * @micro Returns currently running executions with optional pipeline filter
136
+ * @inputs ctx: CoreContext — Request context with principal and database
137
+ * @inputs body: any — Request body (unused for GET)
138
+ * @outputs Array of running execution records with joins
139
+ * @depends-on [createHandler, SELECT_WITH_JOINS]
140
+ * @depended-by [Netlify function routing]
141
+ * @side-effects [DB query with joins]
142
+ * @tags pipeline-executions, running, status-filter, monitoring
143
+ */
144
+ export declare const getRunning: (event: any, context: any) => Promise<any>;
145
+ /**
146
+ * @chunk-id PIPELINE_EXECUTIONS_GET_STATS_1_0_0
147
+ * @version 1.0.0
148
+ * @hash f80bc6b6b830d1bafcd7d02ecac50c78cab10ceef7441dc477b3193a7b29143e
149
+ * @macro Pipeline Executions Statistics Handler
150
+ * @micro Returns execution counts by status with filtering options
151
+ * @inputs ctx: CoreContext — Request context with principal and database
152
+ * @inputs body: any — Request body (unused for GET)
153
+ * @outputs {total, completed, failed, running} — Status count statistics
154
+ * @depends-on [createHandler]
155
+ * @depended-by [Netlify function routing]
156
+ * @side-effects [DB count query, aggregation]
157
+ * @tags pipeline-executions, stats, analytics, monitoring
158
+ */
159
+ export declare const getStats: (event: any, context: any) => Promise<any>;
160
+ /**
161
+ * @chunk-id PIPELINE_EXECUTIONS_CLEANUP_1_0_0
162
+ * @version 1.0.0
163
+ * @hash 713c36d875b9e210b16504c324491c66485681a47265ab8cd228c66be58386d4
164
+ * @macro Pipeline Executions Cleanup Handler
165
+ * @micro Deletes old execution records beyond retention period
166
+ * @inputs ctx: CoreContext — Request context with principal and database
167
+ * @inputs body: object — days_to_keep (default 30) and optional status_filter
168
+ * @outputs {deleted_count: number} — Number of deleted execution records
169
+ * @depends-on [createHandler, emitLog]
170
+ * @depended-by [Netlify function routing]
171
+ * @side-effects [DB delete by date, audit logging]
172
+ * @tags pipeline-executions, cleanup, retention, maintenance
173
+ */
174
+ export declare const cleanup: (event: any, context: any) => Promise<any>;
175
+ /**
176
+ * @chunk-id PIPELINE_EXECUTIONS_HANDLER_1_0_0
177
+ * @version 1.0.0
178
+ * @hash d1ff32ebff977774775afb91952838530a5d628211a7ab7ac5c74aca2e7c77d2
179
+ * @macro Pipeline Executions Router
180
+ * @micro Routes HTTP methods and actions to appropriate pipeline execution handlers
181
+ * @inputs ctx: CoreContext — Request context with principal and database
182
+ * @inputs body: any — Request body for POST/PATCH operations
183
+ * @outputs Varies — Depends on routed handler (list/get/create/start/complete/cancel/getRunning/getStats/cleanup)
184
+ * @depends-on [createHandler, list, get, create, start, complete, cancel, getRunning, getStats, cleanup]
185
+ * @depended-by [Netlify function routing, pipeline-runner.ts]
186
+ * @side-effects [Delegates to appropriate handler]
187
+ * @tags pipeline-executions, router, crud, netlify-function
188
+ */
189
+ export declare const handler: (event: any, context: any) => Promise<any>;
190
+ //# sourceMappingURL=pipeline-executions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-executions.d.ts","sourceRoot":"","sources":["../../.framework/functions/pipeline-executions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAcH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,4CAwBf,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG,4CAgBd,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CA+BjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,4CAsBhB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,4CA0CnB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAsBjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,4CAqBrB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,4CA2BnB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAuBlB,CAAA;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAkClB,CAAA"}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * @module pipelines
3
+ * @audience core-contributor
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * CRUD API for the `pipelines` table, plus execution history access.
8
+ * Pipelines are named lists of stages that execute sequentially via `runPipeline`
9
+ * in `_shared/pipeline-runner.ts`.
10
+ *
11
+ * **Routed by:** `GET/POST/PATCH/DELETE /.netlify/functions/pipelines`
12
+ *
13
+ * **Actions:**
14
+ * | method | ?action | handler |
15
+ * |--------|--------------|-----------------|
16
+ * | GET | by-trigger | listByTrigger |
17
+ * | GET | executions | getExecutions |
18
+ * | POST | toggle | toggle |
19
+ * | GET | ?id | get |
20
+ * | GET | (default) | list |
21
+ * | POST | — | create |
22
+ * | PATCH | — | update |
23
+ * | DELETE | — | remove (hard) |
24
+ *
25
+ * **Authorization:** All operations use `ctx.db` (RLS-scoped). Authenticated
26
+ * principal required for writes.
27
+ *
28
+ * INVARIANT: `remove` is a hard delete (no soft delete for pipelines).
29
+ * INVARIANT: `toggle` is a dedicated POST action — use instead of PATCH for
30
+ * is_active changes to ensure proper audit logging.
31
+ *
32
+ * @seeAlso pipeline-runner.ts (runPipeline — actual execution engine)
33
+ * @seeAlso trigger-engine.ts (calls runPipeline when triggers fire)
34
+ * @seeAlso audit.ts (emitLog for pipeline.* events)
35
+ */
36
+ /**
37
+ * @chunk-id PIPELINES_LIST_BY_TRIGGER_1_0_0
38
+ * @version 1.0.0
39
+ * @hash eb5df34b2c5f7b954260202a14cbfbd84967ab03db335bd94894bf66a956a49a
40
+ * @macro Pipelines by Trigger List Handler
41
+ * @micro Lists pipelines filtered by trigger type with sanitization
42
+ * @inputs ctx: CoreContext — Request context with principal and database
43
+ * @inputs _body: any — Request body (unused for GET)
44
+ * @outputs Array of sanitized pipeline records with app/createdBy joins
45
+ * @depends-on [createHandler, joins, sanitizeRecordData]
46
+ * @depended-by [Netlify function routing]
47
+ * @side-effects [DB queries, permission sanitization]
48
+ * @tags pipelines, list, trigger-type, crud
49
+ */
50
+ export declare const listByTrigger: (event: any, context: any) => Promise<any>;
51
+ /**
52
+ * @chunk-id PIPELINES_LIST_1_0_0
53
+ * @version 1.0.0
54
+ * @hash af2b426b38e99a1907d3113a5b0b776204be0e51a897974573fb5ebc63b85892
55
+ * @macro Pipelines List Handler
56
+ * @micro Lists all pipelines with optional filtering and sanitization
57
+ * @inputs ctx: CoreContext — Request context with principal and database
58
+ * @inputs body: any — Request body (unused for GET)
59
+ * @outputs Array of sanitized pipeline records with app/createdBy joins
60
+ * @depends-on [createHandler, joins, sanitizeRecordData]
61
+ * @depended-by [Netlify function routing]
62
+ * @side-effects [DB queries, permission sanitization]
63
+ * @tags pipelines, list, crud, pagination
64
+ */
65
+ export declare const list: (event: any, context: any) => Promise<any>;
66
+ /**
67
+ * @chunk-id PIPELINES_GET_1_0_0
68
+ * @version 1.0.0
69
+ * @hash 27a956f4dfe17b93c89170d8f3a9f3f792e4b264b48d13017a52d08014008033
70
+ * @macro Pipeline Get Handler
71
+ * @micro Returns single pipeline record with joins and sanitization
72
+ * @inputs ctx: CoreContext — Request context with principal and database
73
+ * @inputs body: any — Request body (unused for GET)
74
+ * @outputs Sanitized pipeline record with app/createdBy joins
75
+ * @depends-on [createHandler, joins, sanitizeRecordData]
76
+ * @depended-by [Netlify function routing]
77
+ * @side-effects [DB single row query, permission sanitization]
78
+ * @tags pipelines, get, crud, single-record
79
+ */
80
+ export declare const get: (event: any, context: any) => Promise<any>;
81
+ /**
82
+ * @chunk-id PIPELINES_CREATE_1_0_0
83
+ * @version 1.0.0
84
+ * @hash b39ec2f696a5d4a9589b7fce769eb0e174d5b0b17b7f4155dc10b5fe70c09252
85
+ * @macro Pipeline Create Handler
86
+ * @micro Creates pipeline record with validation and audit logging
87
+ * @inputs ctx: CoreContext — Request context with principal and database
88
+ * @inputs body: object — Pipeline data including name, trigger_type, stages
89
+ * @outputs Inserted pipeline record
90
+ * @depends-on [createHandler, emitLog]
91
+ * @depended-by [Netlify function routing]
92
+ * @side-effects [DB insert, audit logging]
93
+ * @tags pipelines, create, crud, audit
94
+ */
95
+ export declare const create: (event: any, context: any) => Promise<any>;
96
+ /**
97
+ * @chunk-id PIPELINES_UPDATE_1_0_0
98
+ * @version 1.0.0
99
+ * @hash 309910d5389fffcdc6b97b33dfd76f2217bb89e26469f73e4e792f9c41977a8f
100
+ * @macro Pipeline Update Handler
101
+ * @micro Updates pipeline with field allowlist and audit logging
102
+ * @inputs ctx: CoreContext — Request context with principal and database
103
+ * @inputs body: object — Pipeline updates including id and updatable fields
104
+ * @outputs Updated pipeline record
105
+ * @depends-on [createHandler, emitLog]
106
+ * @depended-by [Netlify function routing]
107
+ * @side-effects [DB update, audit logging]
108
+ * @tags pipelines, update, crud, audit
109
+ */
110
+ export declare const update: (event: any, context: any) => Promise<any>;
111
+ /**
112
+ * @chunk-id PIPELINES_TOGGLE_1_0_0
113
+ * @version 1.0.0
114
+ * @hash 4167ca4a65e675a0e37d0237000acf0fe5fdb23699495ff9f46b39f1a4e93884
115
+ * @macro Pipeline Toggle Handler
116
+ * @micro Activates or deactivates pipeline with audit logging
117
+ * @inputs ctx: CoreContext — Request context with principal and database
118
+ * @inputs body: object — Pipeline id and is_active boolean
119
+ * @outputs Updated pipeline record
120
+ * @depends-on [createHandler, emitLog]
121
+ * @depended-by [Netlify function routing]
122
+ * @side-effects [DB update, audit logging]
123
+ * @tags pipelines, toggle, state-transition, audit
124
+ */
125
+ export declare const toggle: (event: any, context: any) => Promise<any>;
126
+ /**
127
+ * @chunk-id PIPELINES_GET_EXECUTIONS_1_0_0
128
+ * @version 1.0.0
129
+ * @hash 92b0d0a8f3c7ab12144950a0e1dd614a0d92fb6f5e3451542e396018bd5f783d
130
+ * @macro Pipeline Executions History Handler
131
+ * @micro Returns paginated execution history for a pipeline
132
+ * @inputs ctx: CoreContext — Request context with principal and database
133
+ * @inputs _body: any — Request body (unused for GET)
134
+ * @outputs Array of pipeline_executions rows ordered newest-first
135
+ * @depends-on [createHandler]
136
+ * @depended-by [Netlify function routing]
137
+ * @side-effects [DB query with pagination]
138
+ * @tags pipelines, executions, history, pagination
139
+ */
140
+ export declare const getExecutions: (event: any, context: any) => Promise<any>;
141
+ /**
142
+ * @chunk-id PIPELINES_REMOVE_1_0_0
143
+ * @version 1.0.0
144
+ * @hash 8d87b1d6e7613f6fbaa77eb100c72359456f4bc38d8c435ac412d414d71e21be
145
+ * @macro Pipeline Remove Handler
146
+ * @micro Hard-deletes pipeline with audit logging
147
+ * @inputs ctx: CoreContext — Request context with principal and database
148
+ * @inputs _body: any — Request body (unused for DELETE)
149
+ * @outputs {success: true} — Confirmation of successful deletion
150
+ * @depends-on [createHandler, emitLog]
151
+ * @depended-by [Netlify function routing]
152
+ * @side-effects [DB delete, audit logging]
153
+ * @tags pipelines, remove, delete, audit
154
+ */
155
+ export declare const remove: (event: any, context: any) => Promise<any>;
156
+ /**
157
+ * @chunk-id PIPELINES_HANDLER_1_0_0
158
+ * @version 1.0.0
159
+ * @hash 6a2509eb1d183c23578cea419e1d53b579876dc8f8778a9b5577427365da7a68
160
+ * @macro Pipelines Router
161
+ * @micro Routes HTTP methods and actions to appropriate pipeline handlers
162
+ * @inputs ctx: CoreContext — Request context with principal and database
163
+ * @inputs body: any — Request body for POST/PATCH operations
164
+ * @outputs Varies — Depends on routed handler (listByTrigger/getExecutions/toggle/list/get/create/update/remove)
165
+ * @depends-on [createHandler, listByTrigger, getExecutions, toggle, list, get, create, update, remove]
166
+ * @depended-by [Netlify function routing]
167
+ * @side-effects [Delegates to appropriate handler]
168
+ * @tags pipelines, router, crud, netlify-function
169
+ */
170
+ export declare const handler: (event: any, context: any) => Promise<any>;
171
+ //# sourceMappingURL=pipelines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelines.d.ts","sourceRoot":"","sources":["../../.framework/functions/pipelines.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAUH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,4CAiCxB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,4CA2Bf,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG,4CAiBd,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAmCjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CA6CjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAqCjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,4CAoBxB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CA4BjB,CAAA;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAqClB,CAAA"}