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,74 @@
1
+ /**
2
+ * @module auth
3
+ * @audience core-contributor
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * Authentication context endpoint. Returns the full user session context for
8
+ * the authenticated principal: person record, account, role, permissions, and
9
+ * accessible child accounts (via the `get_account_hierarchy` RPC).
10
+ *
11
+ * **Routed by:** `GET /.netlify/functions/auth`
12
+ *
13
+ * **Actions:**
14
+ * | method | handler |
15
+ * |--------|----------|
16
+ * | GET | context |
17
+ * | HEALTH | health |
18
+ *
19
+ * **Authorization:** `context` requires a non-anonymous authenticated
20
+ * principal. `health` is unauthenticated.
21
+ *
22
+ * **Returned session shape:**
23
+ * ```ts
24
+ * {
25
+ * id: string // person UUID
26
+ * email: string
27
+ * full_name: string
28
+ * account_id: string
29
+ * account: { id, slug, display_name, parent_id }
30
+ * roles: string[] // role slugs (e.g. ['system_admin'])
31
+ * permissions: string[] // derived from role.slug or role.permissions
32
+ * accessible_accounts: AccountHierarchyRow[]
33
+ * }
34
+ * ```
35
+ *
36
+ * INVARIANT: `system_admin` role always receives the full permission set
37
+ * ['read', 'write', 'admin', 'system'] regardless of `role.permissions`.
38
+ *
39
+ * @seeAlso middleware.ts (createHandler builds ctx.principal from JWT)
40
+ * @seeAlso _shared/db.ts (get_account_hierarchy RPC)
41
+ * @seeAlso roles.ts (role records referenced by FK)
42
+ */
43
+ /**
44
+ * Returns the full authenticated user context. Fetches person, account,
45
+ * and role in a single query, then calls `get_account_hierarchy` to
46
+ * resolve accessible child accounts.
47
+ *
48
+ * @returns Session object (see module-level shape doc)
49
+ * @throws Error('Authentication required') if principal is anonymous
50
+ * @throws Error('User not found: <id>') if person row is inactive or missing
51
+ * @sideEffects DB read: people table (with account + role joins)
52
+ * @sideEffects DB read: get_account_hierarchy RPC
53
+ * @calledBy handler (GET)
54
+ * @testUnit tests/unit/auth.test.ts — 'context'
55
+ * @testIntegration tests/integration/auth.test.ts — 'returns valid context'
56
+ */
57
+ export declare const context: (event: any, context: any) => Promise<any>;
58
+ /**
59
+ * Lightweight health check for the auth function. Returns service name
60
+ * and current timestamp. No authentication required.
61
+ *
62
+ * @returns `{ status: 'healthy', timestamp: string, service: 'auth' }`
63
+ * @calledBy handler (HEALTH method)
64
+ * @calledBy load balancer health probes
65
+ */
66
+ export declare const health: (event: any, context: any) => Promise<any>;
67
+ /**
68
+ * Netlify function entry point. Routes by HTTP method:
69
+ * GET → context | HEALTH → health
70
+ * @throws Error('Unsupported method: <method>') on unmatched method
71
+ * @calledBy Netlify function routing
72
+ */
73
+ export declare const handler: (event: any, context: any) => Promise<any>;
74
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../.framework/functions/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAMH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAiGlB,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,4CAMjB,CAAA;AAIF;;;;;GAKG;AACH,eAAO,MAAM,OAAO,4CAWlB,CAAA"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @module debug-auth
3
+ * @audience core-contributor
4
+ * @layer api-handler
5
+ * @stability internal
6
+ *
7
+ * Development/diagnostic endpoint for verifying that authentication
8
+ * middleware is resolving principals correctly. **Never expose this in
9
+ * production without access controls.**
10
+ *
11
+ * **Routed by:** `GET /.netlify/functions/debug-auth`
12
+ *
13
+ * **Actions (via ?method):**
14
+ * | ?method | handler | description |
15
+ * |----------|----------|-------------------------------------|
16
+ * | debug | debug | env check + principal presence |
17
+ * | testJwt | testJwt | validates JWT, returns principal ID |
18
+ *
19
+ * **Authorization:** None — intentionally unauthenticated so broken JWT
20
+ * flows can be diagnosed. Reveals only presence/absence of env vars and
21
+ * principal shape, never secret values.
22
+ *
23
+ * @seeAlso auth.ts (production auth context endpoint)
24
+ * @seeAlso middleware.ts (createHandler — JWT resolution logic)
25
+ */
26
+ /**
27
+ * Netlify function entry point. Routes by ?method (debug | testJwt),
28
+ * defaulting to debug. Note: uses raw Netlify event/context signature
29
+ * rather than `createHandler` wrapper to allow unauthenticated access.
30
+ * @calledBy Netlify function routing (GET)
31
+ */
32
+ export declare function handler(event: any, context: any): Promise<any>;
33
+ //# sourceMappingURL=debug-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-auth.d.ts","sourceRoot":"","sources":["../../.framework/functions/debug-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AA6DH;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,gBAerD"}
@@ -0,0 +1,205 @@
1
+ /**
2
+ * @module embeddings
3
+ * @audience core-contributor
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * CRUD and search API for the `embeddings` table. Embeddings store vector
8
+ * representations of text chunks for RAG (retrieval-augmented generation)
9
+ * workloads. Vector similarity search is performed via the
10
+ * `search_similar_embeddings` Postgres RPC function.
11
+ *
12
+ * **Routed by:** `GET/POST/PATCH /.netlify/functions/embeddings`
13
+ *
14
+ * **Actions:**
15
+ * | method | ?action | handler |
16
+ * |--------|-----------------|-------------------|
17
+ * | GET | stats | getStats |
18
+ * | POST | batch-create | batchCreate |
19
+ * | POST | delete-document | deleteByDocument |
20
+ * | POST | cleanup | cleanup |
21
+ * | POST | search-similar | searchSimilar |
22
+ * | POST | search-semantic | searchSemantic |
23
+ * | GET | ?id | get |
24
+ * | GET | (default) | list |
25
+ * | POST | — | create |
26
+ * | PATCH | — | update |
27
+ *
28
+ * **Authorization:** All operations use `ctx.db` (RLS-scoped). Account context
29
+ * required for writes. No hard-delete endpoint — use `delete-document` or
30
+ * `cleanup` for bulk removal.
31
+ *
32
+ * INVARIANT: `update` only patches `content` and `metadata`.
33
+ * INVARIANT: `searchSimilar` requires a pre-computed `query_embedding` vector.
34
+ * Use `searchSemantic` for text-based fallback.
35
+ *
36
+ * @seeAlso agent-runner.ts (executeSearchKnowledge calls search_similar_embeddings)
37
+ * @seeAlso pipeline-runner.ts (search_knowledge stage type)
38
+ * @seeAlso audit.ts (emitLog for embedding.* / embeddings.* events)
39
+ */
40
+ /**
41
+ * @chunk-id EMBEDDINGS_LIST_1_0_0
42
+ * @version 1.0.0
43
+ * @hash 929d4ac3030c10ac7a31bef9cad565900a5cd11af2e130ce3e4cfc28bc65d5ab
44
+ * @macro Embeddings List Handler
45
+ * @micro Lists embeddings with filtering, pagination, and sanitization
46
+ * @inputs ctx: CoreContext — Request context with principal and database
47
+ * @inputs _body: any — Request body (unused for GET)
48
+ * @outputs Array of sanitized embedding records
49
+ * @depends-on [createHandler, sanitizeRecordData]
50
+ * @depended-by [Netlify function routing]
51
+ * @side-effects [DB queries, permission sanitization]
52
+ * @tags embeddings, list, crud, pagination
53
+ */
54
+ export declare const list: (event: any, context: any) => Promise<any>;
55
+ /**
56
+ * @chunk-id EMBEDDINGS_GET_1_0_0
57
+ * @version 1.0.0
58
+ * @hash 261bfd4dd3107ebfbc0a2ee3d870ac449f543699358a03d8bea27f86ba57b5bc
59
+ * @macro Embedding Get Handler
60
+ * @micro Returns single embedding record with sanitization
61
+ * @inputs ctx: CoreContext — Request context with principal and database
62
+ * @inputs _body: any — Request body (unused for GET)
63
+ * @outputs Sanitized embedding record
64
+ * @depends-on [createHandler, sanitizeRecordData]
65
+ * @depended-by [Netlify function routing]
66
+ * @side-effects [DB single row query, permission sanitization]
67
+ * @tags embeddings, get, crud, single-record
68
+ */
69
+ export declare const get: (event: any, context: any) => Promise<any>;
70
+ /**
71
+ * @chunk-id EMBEDDINGS_CREATE_1_0_0
72
+ * @version 1.0.0
73
+ * @hash 26bc1b478138d27fc02ebeede1b0ede362ef43864591bc7353390d5f60ae81db
74
+ * @macro Embedding Create Handler
75
+ * @micro Creates embedding record with validation and audit logging
76
+ * @inputs ctx: CoreContext — Request context with principal and database
77
+ * @inputs body: object — Embedding data including model_id, document_id, content
78
+ * @outputs Inserted embedding record
79
+ * @depends-on [createHandler, emitLog]
80
+ * @depended-by [Netlify function routing]
81
+ * @side-effects [DB insert, audit logging]
82
+ * @tags embeddings, create, crud, audit
83
+ */
84
+ export declare const create: (event: any, context: any) => Promise<any>;
85
+ /**
86
+ * @chunk-id EMBEDDINGS_UPDATE_1_0_0
87
+ * @version 1.0.0
88
+ * @hash e543c87308991159cda8e50f85127884475004bffaedb4508117481375bfaa43
89
+ * @macro Embedding Update Handler
90
+ * @micro Updates embedding content and/or metadata with audit logging
91
+ * @inputs ctx: CoreContext — Request context with principal and database
92
+ * @inputs body: object — Embedding updates including id
93
+ * @outputs Updated embedding record
94
+ * @depends-on [createHandler, emitLog]
95
+ * @depended-by [Netlify function routing]
96
+ * @side-effects [DB update, audit logging]
97
+ * @tags embeddings, update, crud, audit
98
+ */
99
+ export declare const update: (event: any, context: any) => Promise<any>;
100
+ /**
101
+ * @chunk-id EMBEDDINGS_GET_STATS_1_0_0
102
+ * @version 1.0.0
103
+ * @hash 176a002d14e89cffb0cb993b554c28e2258f66951901be49a4eccbe7855a2d7a
104
+ * @macro Embeddings Statistics Handler
105
+ * @micro Returns total embedding count for account with RLS scoping
106
+ * @inputs ctx: CoreContext — Request context with principal and database
107
+ * @inputs _body: any — Request body (unused for GET)
108
+ * @outputs {total_embeddings: number} — Total count of embeddings
109
+ * @depends-on [createHandler]
110
+ * @depended-by [Netlify function routing]
111
+ * @side-effects [DB count query]
112
+ * @tags embeddings, stats, count, monitoring
113
+ */
114
+ export declare const getStats: (event: any, context: any) => Promise<any>;
115
+ /**
116
+ * @chunk-id EMBEDDINGS_BATCH_CREATE_1_0_0
117
+ * @version 1.0.0
118
+ * @hash 18f603dbb73e044737283100d6e4cc092597a61645905473d6c6ec1ee67a9d7f
119
+ * @macro Embeddings Batch Create Handler
120
+ * @micro Bulk inserts multiple embeddings with account stamping and audit logging
121
+ * @inputs ctx: CoreContext — Request context with principal and database
122
+ * @inputs body: object — embeddings_data array of embedding objects
123
+ * @outputs Array of inserted embedding records
124
+ * @depends-on [createHandler, emitLog]
125
+ * @depended-by [Netlify function routing]
126
+ * @side-effects [Bulk DB insert, audit logging]
127
+ * @tags embeddings, batch-create, bulk, audit
128
+ */
129
+ export declare const batchCreate: (event: any, context: any) => Promise<any>;
130
+ /**
131
+ * @chunk-id EMBEDDINGS_DELETE_BY_DOCUMENT_1_0_0
132
+ * @version 1.0.0
133
+ * @hash 1f74f199f69f563dbc9e72c0f3906412d6315721212261c5a61da4250cb34909
134
+ * @macro Embeddings Document Delete Handler
135
+ * @micro Deletes all embeddings for a document with audit logging
136
+ * @inputs ctx: CoreContext — Request context with principal and database
137
+ * @inputs body: object — document_id to delete embeddings for
138
+ * @outputs {deleted_count: number} — Number of deleted embeddings
139
+ * @depends-on [createHandler, emitLog]
140
+ * @depended-by [Netlify function routing]
141
+ * @side-effects [DB delete, audit logging]
142
+ * @tags embeddings, delete, document, audit
143
+ */
144
+ export declare const deleteByDocument: (event: any, context: any) => Promise<any>;
145
+ /**
146
+ * @chunk-id EMBEDDINGS_CLEANUP_1_0_0
147
+ * @version 1.0.0
148
+ * @hash b5caa85d93d7eb232eaf7f81c63f7adc4269898397c4cc1d9186ce868a056223
149
+ * @macro Embeddings Cleanup Handler
150
+ * @micro Deletes old embeddings beyond retention period with audit logging
151
+ * @inputs ctx: CoreContext — Request context with principal and database
152
+ * @inputs body: object — days_to_keep (default 365)
153
+ * @outputs {deleted_count: number} — Number of deleted embeddings
154
+ * @depends-on [createHandler, emitLog]
155
+ * @depended-by [Netlify function routing]
156
+ * @side-effects [DB delete by date, audit logging]
157
+ * @tags embeddings, cleanup, retention, audit
158
+ */
159
+ export declare const cleanup: (event: any, context: any) => Promise<any>;
160
+ /**
161
+ * @chunk-id EMBEDDINGS_SEARCH_SIMILAR_1_0_0
162
+ * @version 1.0.0
163
+ * @hash e34df64fa1db62cdef551da14b15e6f7183915562ca68763b5ebe28fe889fff7
164
+ * @macro Embeddings Vector Search Handler
165
+ * @micro Performs vector similarity search using cosine similarity via RPC
166
+ * @inputs ctx: CoreContext — Request context with principal and database
167
+ * @inputs body: object — query_embedding vector and search parameters
168
+ * @outputs {results, count, model_id, threshold} — Search results with metadata
169
+ * @depends-on [createHandler]
170
+ * @depended-by [Netlify function routing, agent-runner.ts]
171
+ * @side-effects [RPC call for vector similarity search]
172
+ * @tags embeddings, search, vector, similarity, rpc
173
+ */
174
+ export declare const searchSimilar: (event: any, context: any) => Promise<any>;
175
+ /**
176
+ * @chunk-id EMBEDDINGS_SEARCH_SEMANTIC_1_0_0
177
+ * @version 1.0.0
178
+ * @hash 26c9cb4da3ddfa47c34afd1c60c2568f760a97d07719a58e9ae2e3d3926e84ce
179
+ * @macro Embeddings Text Search Handler
180
+ * @micro Performs full-text search on embedding content using Postgres websearch
181
+ * @inputs ctx: CoreContext — Request context with principal and database
182
+ * @inputs body: object — query string and optional filters
183
+ * @outputs {results, count, method, query} — Search results with metadata
184
+ * @depends-on [createHandler]
185
+ * @depended-by [Netlify function routing]
186
+ * @side-effects [DB full-text search query]
187
+ * @tags embeddings, search, text-search, fallback
188
+ */
189
+ export declare const searchSemantic: (event: any, context: any) => Promise<any>;
190
+ /**
191
+ * @chunk-id EMBEDDINGS_HANDLER_1_0_0
192
+ * @version 1.0.0
193
+ * @hash 5c4c550bcf413d5975c54a1f1cbfbc4641425d663127fa55fac1616085a43644
194
+ * @macro Embeddings Router
195
+ * @micro Routes HTTP methods and actions to appropriate handlers
196
+ * @inputs ctx: CoreContext — Request context with principal and database
197
+ * @inputs body: any — Request body for POST/PATCH operations
198
+ * @outputs Varies — Depends on routed handler (list/get/create/update/batch-create/delete-document/cleanup/search-similar/search-semantic/stats)
199
+ * @depends-on [createHandler, list, get, create, update, getStats, batchCreate, deleteByDocument, cleanup, searchSimilar, searchSemantic]
200
+ * @depended-by [Netlify function routing]
201
+ * @side-effects [Delegates to appropriate handler]
202
+ * @tags embeddings, router, crud, netlify-function
203
+ */
204
+ export declare const handler: (event: any, context: any) => Promise<any>;
205
+ //# sourceMappingURL=embeddings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../.framework/functions/embeddings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AASH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,4CAoCf,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG,4CAgBd,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAgCjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CA2BjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,4CAYnB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,4CA6BtB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,4CAqB3B,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAqBlB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,4CA4BxB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,4CAuCzB,CAAA;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAkDlB,CAAA"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @module integration-routes
3
+ * @audience core-contributor
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * Unified integration routing system for all integration types.
8
+ * Handles webhook, API, database, file, and custom integrations
9
+ * through a single entry point with type-specific handlers.
10
+ *
11
+ ** Routed by:** `POST /api/integration-routes?slug=:slug`
12
+ *
13
+ * Route patterns:
14
+ * | method | path | handler |
15
+ * |--------|-------------------------------------------|------------------------|
16
+ * | POST | /api/integration-routes?slug=:slug | handleWebhook |
17
+ *
18
+ * **Authorization:** API key authentication with integration permissions
19
+ * - API key validated via resolvePrincipal
20
+ * - Integration permissions checked against principal.permissions.integrations[slug]
21
+ *
22
+ * **Security Flow:**
23
+ * 1. API key validation (resolvePrincipal)
24
+ * 2. Integration permission check
25
+ * 3. Schema validation (if configured)
26
+ * 4. Data sanitization
27
+ * 5. Custom script execution
28
+ *
29
+ * INVARIANT: All validation failures return generic { status: "rejected" }
30
+ * INVARIANT: Detailed errors logged server-side only
31
+ * INVARIANT: Unknown fields in payload = HARD FAIL (fishing detection)
32
+ *
33
+ * @seeAlso integrations.ts (integration configuration)
34
+ * @seeAlso principal.ts (machine principal resolution)
35
+ * @seeAlso api-keys.ts (API key permissions)
36
+ */
37
+ declare const handler: (event: any, _context: any) => Promise<{
38
+ statusCode: number;
39
+ headers: {
40
+ 'Content-Type': string;
41
+ };
42
+ body: string;
43
+ }>;
44
+ export { handler };
45
+ //# sourceMappingURL=integration-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-routes.d.ts","sourceRoot":"","sources":["../../.framework/functions/integration-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAseH,QAAA,MAAM,OAAO,UA9P4B,GAAG,YAAY,GAAG;;;;;;EA8PzB,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @module integrations
3
+ * @audience core-contributor
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * CRUD API for the `integrations` table. Integration records describe
8
+ * third-party service connections (API credentials, provider, version,
9
+ * configuration). Each integration is scoped to an account and optionally
10
+ * to an app. `is_configured` tracks whether credentials have been set.
11
+ *
12
+ * **Routed by:** `GET/POST/PATCH/DELETE /.netlify/functions/integrations`
13
+ *
14
+ * **Standard CRUD — routes directly by HTTP method (no ?action switch):**
15
+ * | method | condition | handler |
16
+ * |--------|-----------|---------|
17
+ * | GET | ?id | get |
18
+ * | GET | (default) | list |
19
+ * | POST | — | create |
20
+ * | PATCH | — | update |
21
+ * | DELETE | — | remove (soft) |
22
+ *
23
+ * **Authorization:** All operations use `ctx.db` (RLS-scoped). Authenticated
24
+ * principal required for writes.
25
+ *
26
+ * INVARIANT: `remove` is a soft delete (sets `is_active = false`). Hard deletes
27
+ * are not supported to preserve audit trails on integration-linked data.
28
+ * INVARIANT: `update` only patches the explicit allowlist of fields.
29
+ *
30
+ * @seeAlso api-keys.ts (api_keys belong to integrations)
31
+ * @seeAlso trigger-engine.ts (integration webhooks trigger pipelines)
32
+ * @seeAlso audit.ts (emitLog for integration.* events)
33
+ */
34
+ /**
35
+ * @chunk-id INTEGRATIONS_LIST_1_0_0
36
+ * @version 1.0.0
37
+ * @hash 5faf0b7052d9aac5f764d1fc30ddde1485a0296ad2b209cd2e3a73c09061a1fc
38
+ * @macro Integrations List Handler
39
+ * @micro Lists integrations with filtering, pagination, and joins
40
+ * @inputs ctx: CoreContext — Request context with principal and database
41
+ * @inputs _body: any — Request body (unused for GET)
42
+ * @outputs Array of sanitized integration records with app/createdBy joins
43
+ * @depends-on [createHandler, joins, sanitizeRecordData]
44
+ * @depended-by [Netlify function routing]
45
+ * @side-effects [DB queries, permission sanitization]
46
+ * @tags integrations, list, crud, pagination
47
+ */
48
+ export declare const list: (event: any, context: any) => Promise<any>;
49
+ /**
50
+ * @chunk-id INTEGRATIONS_GET_1_0_0
51
+ * @version 1.0.0
52
+ * @hash 975126629cff24c75d2b74328d1ae08dd033ed451d3820d828c62b1f7a27413e
53
+ * @macro Integration Get Handler
54
+ * @micro Returns single integration record with joins and sanitization
55
+ * @inputs ctx: CoreContext — Request context with principal and database
56
+ * @inputs _body: any — Request body (unused for GET)
57
+ * @outputs Sanitized integration record with app/createdBy joins
58
+ * @depends-on [createHandler, joins, sanitizeRecordData]
59
+ * @depended-by [Netlify function routing]
60
+ * @side-effects [DB single row query, permission sanitization]
61
+ * @tags integrations, get, crud, single-record
62
+ */
63
+ export declare const get: (event: any, context: any) => Promise<any>;
64
+ /**
65
+ * @chunk-id INTEGRATIONS_CREATE_1_0_0
66
+ * @version 1.0.0
67
+ * @hash 27d2242703930d7eeb33b49bbce4c22681ab891750c4c7a298c1c717a39870d7
68
+ * @macro Integration Create Handler
69
+ * @micro Creates integration record with validation and audit logging
70
+ * @inputs ctx: CoreContext — Request context with principal and database
71
+ * @inputs body: object — Integration data including name, integration_type, provider
72
+ * @outputs Inserted integration record
73
+ * @depends-on [createHandler, emitLog]
74
+ * @depended-by [Netlify function routing]
75
+ * @side-effects [DB insert, audit logging]
76
+ * @tags integrations, create, crud, audit
77
+ */
78
+ export declare const create: (event: any, context: any) => Promise<any>;
79
+ /**
80
+ * @chunk-id INTEGRATIONS_UPDATE_1_0_0
81
+ * @version 1.0.0
82
+ * @hash ab5c8404ddec24ff912c55e7e52cd0ecdd220646b0e07f56a49a02ef3288f3e9
83
+ * @macro Integration Update Handler
84
+ * @micro Updates integration with field allowlist and audit logging
85
+ * @inputs ctx: CoreContext — Request context with principal and database
86
+ * @inputs body: object — Integration updates including id
87
+ * @outputs Updated integration record
88
+ * @depends-on [createHandler, emitLog]
89
+ * @depended-by [Netlify function routing]
90
+ * @side-effects [DB update, audit logging]
91
+ * @tags integrations, update, crud, audit
92
+ */
93
+ export declare const update: (event: any, context: any) => Promise<any>;
94
+ /**
95
+ * @chunk-id INTEGRATIONS_REMOVE_1_0_0
96
+ * @version 1.0.0
97
+ * @hash a8b5f084d745d2ce69a1e29d74903832ed39647ccb779d0f651a99157777a08a
98
+ * @macro Integration Remove Handler
99
+ * @micro Soft-deletes integration with validation and audit logging
100
+ * @inputs ctx: CoreContext — Request context with principal and database
101
+ * @inputs _body: any — Request body (unused for DELETE)
102
+ * @outputs Updated integration record with is_active: false
103
+ * @depends-on [createHandler, emitLog]
104
+ * @depended-by [Netlify function routing]
105
+ * @side-effects [DB soft delete, audit logging]
106
+ * @tags integrations, remove, crud, audit
107
+ */
108
+ export declare const remove: (event: any, context: any) => Promise<any>;
109
+ /**
110
+ * @chunk-id INTEGRATIONS_HANDLER_1_0_0
111
+ * @version 1.0.0
112
+ * @hash 14c00f276a22287ed65c019efe327cbb513f860a408191e299864b05c641833c
113
+ * @macro Integrations Router
114
+ * @micro Routes HTTP methods to appropriate handlers (no action switch)
115
+ * @inputs ctx: CoreContext — Request context with principal and database
116
+ * @inputs body: any — Request body for POST/PATCH operations
117
+ * @outputs Varies — Depends on routed handler (list/get/create/update/remove)
118
+ * @depends-on [createHandler, list, get, create, update, remove]
119
+ * @depended-by [Netlify function routing]
120
+ * @side-effects [Delegates to appropriate handler]
121
+ * @tags integrations, router, crud, netlify-function
122
+ */
123
+ export declare const handler: (event: any, context: any) => Promise<any>;
124
+ //# sourceMappingURL=integrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../../.framework/functions/integrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAUH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,4CAsCf,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG,4CAgBd,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAqCjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CA6BjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CA8BjB,CAAA;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAmBlB,CAAA"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @module item-progress
3
+ * @audience both
4
+ * @layer api-handler
5
+ * @stability stable
6
+ *
7
+ * CRUD + upsert API for the `item_progress` table. Tracks per-person, per-item
8
+ * progress state for courses, tasks, onboarding, and any item-based pipeline.
9
+ *
10
+ * Routed by: GET/POST/PATCH /.netlify/functions/item-progress
11
+ *
12
+ * INVARIANT: (person_id, item_id) is unique — state, not a log.
13
+ * INVARIANT: status transitions are forward-only unless force: true.
14
+ * INVARIANT: score must be 0–100 or null.
15
+ */
16
+ /**
17
+ * Lists progress records for the authenticated principal.
18
+ * Query params: person_id, item_id, item_ids (comma-sep), status, limit, offset
19
+ */
20
+ export declare const list: (event: any, context: any) => Promise<any>;
21
+ /**
22
+ * Gets a single item_progress record by id.
23
+ */
24
+ export declare const get: (event: any, context: any) => Promise<any>;
25
+ /**
26
+ * Upserts a progress record for (person_id, item_id).
27
+ * Auto-composes title and description. Enforces pipeline transitions.
28
+ * Sets started_at / completed_at timestamps in data. Increments attempts.
29
+ *
30
+ * Body: person_id*, item_id*, type_id*, account_id*, status, score, data,
31
+ * title, description, app_id, force (bypass direction check)
32
+ */
33
+ export declare const upsert: (event: any, context: any) => Promise<any>;
34
+ /**
35
+ * Partially updates an existing item_progress record.
36
+ * Body: id (required), plus any updatable fields.
37
+ * Enforces forward-only status transitions unless force: true.
38
+ */
39
+ export declare const update: (event: any, context: any) => Promise<any>;
40
+ export declare const handler: (event: any, context: any) => Promise<any>;
41
+ //# sourceMappingURL=item-progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-progress.d.ts","sourceRoot":"","sources":["../../.framework/functions/item-progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAuCH;;;GAGG;AACH,eAAO,MAAM,IAAI,4CAkBf,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,GAAG,4CAYd,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,4CA6FjB,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM,4CAwDjB,CAAA;AAIF,eAAO,MAAM,OAAO,4CASlB,CAAA"}