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.
- package/.framework/README.md +129 -0
- package/.framework/cli/bin.cjs +14 -0
- package/.framework/cli/commands/agents.ts +153 -0
- package/.framework/cli/commands/auth.ts +94 -0
- package/.framework/cli/commands/create-app.ts +185 -0
- package/.framework/cli/commands/dev.ts +295 -0
- package/.framework/cli/commands/doctor.ts +442 -0
- package/.framework/cli/commands/generate.ts +332 -0
- package/.framework/cli/commands/init.ts +272 -0
- package/.framework/cli/commands/install-app.ts +391 -0
- package/.framework/cli/commands/items.ts +253 -0
- package/.framework/cli/commands/migrations.ts +141 -0
- package/.framework/cli/commands/pipelines.ts +166 -0
- package/.framework/cli/commands/status.ts +197 -0
- package/.framework/cli/commands/system.ts +184 -0
- package/.framework/cli/commands/test.ts +227 -0
- package/.framework/cli/commands/uninstall-app.ts +166 -0
- package/.framework/cli/context.ts +268 -0
- package/.framework/cli/env-loader.ts +36 -0
- package/.framework/cli/index.ts +106 -0
- package/.framework/cli/welcome.cjs +45 -0
- package/.framework/docs/API.md +384 -0
- package/.framework/docs/STABILITY.md +52 -0
- package/.framework/docs/admin-routes.md +76 -0
- package/.framework/docs/api-docs-progress.md +38 -0
- package/.framework/docs/api-governance.md +146 -0
- package/.framework/docs/api-testing-results.md +212 -0
- package/.framework/docs/apis/admin-configs.md +567 -0
- package/.framework/docs/apis/admin-data.md +272 -0
- package/.framework/docs/apis/index.md +231 -0
- package/.framework/docs/apis/internal.md +295 -0
- package/.framework/docs/apis/runtime.md +537 -0
- package/.framework/docs/assembly-launch-guide.md +138 -0
- package/.framework/docs/audit-results.md +590 -0
- package/.framework/docs/authorization-model.md +170 -0
- package/.framework/docs/db-api-inventory.md +95 -0
- package/.framework/docs/examples/custom-app/README.md +77 -0
- package/.framework/docs/examples/custom-function/README.md +27 -0
- package/.framework/docs/examples/custom-function/handler.ts +48 -0
- package/.framework/docs/examples/custom-webhook/README.md +68 -0
- package/.framework/docs/gap-remediation-backlog.md +103 -0
- package/.framework/docs/guides/cli-guide.md +224 -0
- package/.framework/docs/guides/getting-started.md +103 -0
- package/.framework/docs/guides/import-guide.md +193 -0
- package/.framework/docs/guides/testing-guide.md +229 -0
- package/.framework/docs/permission-examples.md +326 -0
- package/.framework/docs/ui-adoption-verification.md +111 -0
- package/.framework/docs/ui-api-coverage.md +84 -0
- package/.framework/docs/v2-compatibility-audit.md +228 -0
- package/.framework/functions/.gitkeep +1 -0
- package/.framework/functions/_shared/agent-runner.ts +1097 -0
- package/.framework/functions/_shared/app-manifest.ts +184 -0
- package/.framework/functions/_shared/audit.ts +150 -0
- package/.framework/functions/_shared/db.ts +174 -0
- package/.framework/functions/_shared/index.ts +382 -0
- package/.framework/functions/_shared/middleware.ts +490 -0
- package/.framework/functions/_shared/permissions.ts +1325 -0
- package/.framework/functions/_shared/pipeline-runner.ts +731 -0
- package/.framework/functions/_shared/principal.ts +760 -0
- package/.framework/functions/_shared/schema-utils.ts +967 -0
- package/.framework/functions/_shared/testing.ts +258 -0
- package/.framework/functions/_shared/trigger-engine.ts +425 -0
- package/.framework/functions/_shared/webhook-registration.ts +168 -0
- package/.framework/functions/_shared/webhook-registry.ts +129 -0
- package/.framework/functions/account-nodes.ts +111 -0
- package/.framework/functions/admin-data.ts +606 -0
- package/.framework/functions/ai-agents.ts +323 -0
- package/.framework/functions/api-keys.ts +376 -0
- package/.framework/functions/apps.ts +483 -0
- package/.framework/functions/auth.ts +196 -0
- package/.framework/functions/debug-auth.ts +107 -0
- package/.framework/functions/embeddings.ts +556 -0
- package/.framework/functions/integration-routes.ts +523 -0
- package/.framework/functions/integrations.ts +319 -0
- package/.framework/functions/item-progress.ts +272 -0
- package/.framework/functions/logs.ts +438 -0
- package/.framework/functions/observability.ts +275 -0
- package/.framework/functions/pipeline-executions.ts +494 -0
- package/.framework/functions/pipelines.ts +485 -0
- package/.framework/functions/prompt-configs.ts +339 -0
- package/.framework/functions/roles.ts +387 -0
- package/.framework/functions/system-cron.ts +742 -0
- package/.framework/functions/system.ts +323 -0
- package/.framework/functions/tests.ts +119 -0
- package/.framework/functions/timers.ts +357 -0
- package/.framework/functions/triggers.ts +563 -0
- package/.framework/functions/types.ts +604 -0
- package/.framework/migrations/000_foundation.sql +1256 -0
- package/.framework/migrations/001_seed.sql +92 -0
- package/.framework/migrations/002_seed_constraints.sql +13 -0
- package/.framework/migrations/003_auth_user_trigger.sql +59 -0
- package/.framework/src/App.tsx +126 -0
- package/.framework/src/apps/admin/index.tsx +173 -0
- package/.framework/src/components/AppWrapper.tsx +56 -0
- package/.framework/src/components/CustomAppLoader.tsx +116 -0
- package/.framework/src/components/admin/AdminListPage.tsx +151 -0
- package/.framework/src/components/admin/AdminSidebar.tsx +166 -0
- package/.framework/src/components/admin/AdminStatsCard.tsx +62 -0
- package/.framework/src/components/admin/SortableTableHeader.tsx +42 -0
- package/.framework/src/components/app-shell/GenericAppShell.tsx +181 -0
- package/.framework/src/components/app-shell/GenericDetailPage.tsx +200 -0
- package/.framework/src/components/app-shell/GenericListPage.tsx +116 -0
- package/.framework/src/components/app-sidebar.tsx +228 -0
- package/.framework/src/components/auth/ProtectedRoute.tsx +88 -0
- package/.framework/src/components/layout/AppShell.tsx +91 -0
- package/.framework/src/components/layout/Header.tsx +88 -0
- package/.framework/src/components/layout/Layout.tsx +95 -0
- package/.framework/src/components/layout/Sidebar.tsx +329 -0
- package/.framework/src/components/runtime/DataDetailHeader.tsx +77 -0
- package/.framework/src/components/runtime/DataDetailPage.tsx +171 -0
- package/.framework/src/components/runtime/DataFilters.tsx +91 -0
- package/.framework/src/components/runtime/DataHeader.tsx +68 -0
- package/.framework/src/components/runtime/DataListPage.tsx +124 -0
- package/.framework/src/components/runtime/DataStats.tsx +70 -0
- package/.framework/src/components/runtime/DataTable.tsx +174 -0
- package/.framework/src/components/runtime/SchemaDetailForm.tsx +134 -0
- package/.framework/src/components/runtime/index.ts +18 -0
- package/.framework/src/components/search-form.tsx +29 -0
- package/.framework/src/components/shared/AgentView.tsx +213 -0
- package/.framework/src/components/shared/FieldRenderer.tsx +478 -0
- package/.framework/src/components/shared/SchemaFields.tsx +226 -0
- package/.framework/src/components/ui/DataTable.tsx +343 -0
- package/.framework/src/components/ui/Form.tsx +281 -0
- package/.framework/src/components/ui/ItemCard.tsx +296 -0
- package/.framework/src/components/ui/ItemListView.tsx +308 -0
- package/.framework/src/components/ui/LoadingSpinner.tsx +52 -0
- package/.framework/src/components/ui/Modal.tsx +61 -0
- package/.framework/src/components/ui/RichTextEditor.tsx +210 -0
- package/.framework/src/components/ui/accordion.tsx +82 -0
- package/.framework/src/components/ui/alert-dialog.tsx +197 -0
- package/.framework/src/components/ui/alert.tsx +76 -0
- package/.framework/src/components/ui/aspect-ratio.tsx +11 -0
- package/.framework/src/components/ui/avatar.tsx +110 -0
- package/.framework/src/components/ui/badge.tsx +49 -0
- package/.framework/src/components/ui/breadcrumb.tsx +122 -0
- package/.framework/src/components/ui/button-group.tsx +83 -0
- package/.framework/src/components/ui/button.tsx +65 -0
- package/.framework/src/components/ui/calendar.tsx +222 -0
- package/.framework/src/components/ui/card.tsx +100 -0
- package/.framework/src/components/ui/carousel.tsx +240 -0
- package/.framework/src/components/ui/chart.tsx +373 -0
- package/.framework/src/components/ui/checkbox.tsx +31 -0
- package/.framework/src/components/ui/collapsible.tsx +33 -0
- package/.framework/src/components/ui/combobox.tsx +299 -0
- package/.framework/src/components/ui/command.tsx +193 -0
- package/.framework/src/components/ui/context-menu.tsx +261 -0
- package/.framework/src/components/ui/dialog.tsx +165 -0
- package/.framework/src/components/ui/direction.tsx +22 -0
- package/.framework/src/components/ui/drawer.tsx +132 -0
- package/.framework/src/components/ui/dropdown-menu.tsx +269 -0
- package/.framework/src/components/ui/empty.tsx +104 -0
- package/.framework/src/components/ui/field.tsx +238 -0
- package/.framework/src/components/ui/hover-card.tsx +42 -0
- package/.framework/src/components/ui/input-group.tsx +153 -0
- package/.framework/src/components/ui/input-otp.tsx +87 -0
- package/.framework/src/components/ui/input.tsx +19 -0
- package/.framework/src/components/ui/item.tsx +196 -0
- package/.framework/src/components/ui/kbd.tsx +26 -0
- package/.framework/src/components/ui/label.tsx +22 -0
- package/.framework/src/components/ui/menubar.tsx +277 -0
- package/.framework/src/components/ui/native-select.tsx +61 -0
- package/.framework/src/components/ui/navigation-menu.tsx +164 -0
- package/.framework/src/components/ui/pagination.tsx +129 -0
- package/.framework/src/components/ui/popover.tsx +87 -0
- package/.framework/src/components/ui/progress.tsx +31 -0
- package/.framework/src/components/ui/radio-group.tsx +42 -0
- package/.framework/src/components/ui/resizable.tsx +50 -0
- package/.framework/src/components/ui/scroll-area.tsx +53 -0
- package/.framework/src/components/ui/select.tsx +195 -0
- package/.framework/src/components/ui/separator.tsx +26 -0
- package/.framework/src/components/ui/sheet.tsx +145 -0
- package/.framework/src/components/ui/sidebar.tsx +706 -0
- package/.framework/src/components/ui/skeleton.tsx +13 -0
- package/.framework/src/components/ui/slider.tsx +59 -0
- package/.framework/src/components/ui/sonner.tsx +47 -0
- package/.framework/src/components/ui/spinner.tsx +10 -0
- package/.framework/src/components/ui/switch.tsx +33 -0
- package/.framework/src/components/ui/table-primitives.tsx +141 -0
- package/.framework/src/components/ui/table.tsx +114 -0
- package/.framework/src/components/ui/tabs.tsx +90 -0
- package/.framework/src/components/ui/textarea.tsx +18 -0
- package/.framework/src/components/ui/toggle-group.tsx +89 -0
- package/.framework/src/components/ui/toggle.tsx +45 -0
- package/.framework/src/components/ui/tooltip.tsx +57 -0
- package/.framework/src/contexts/AppContext.tsx +133 -0
- package/.framework/src/contexts/AuthContext.tsx +371 -0
- package/.framework/src/hooks/use-mobile.ts +19 -0
- package/.framework/src/hooks/useApi.ts +526 -0
- package/.framework/src/hooks/useApps.ts +114 -0
- package/.framework/src/hooks/useEntityList.ts +190 -0
- package/.framework/src/hooks/useEntityRecord.ts +308 -0
- package/.framework/src/hooks/useForm.ts +307 -0
- package/.framework/src/hooks/useListSchema.ts +264 -0
- package/.framework/src/hooks/useSchemaRecord.ts +223 -0
- package/.framework/src/index.css +128 -0
- package/.framework/src/lib/api.ts +156 -0
- package/.framework/src/lib/supabase.ts +94 -0
- package/.framework/src/lib/utils.ts +317 -0
- package/.framework/src/main.tsx +27 -0
- package/.framework/src/pages/DashboardPage.tsx +181 -0
- package/.framework/src/pages/NotFoundPage.tsx +39 -0
- package/.framework/src/pages/admin/AIAgentDetailPage.tsx +161 -0
- package/.framework/src/pages/admin/AIAgentsPage.tsx +318 -0
- package/.framework/src/pages/admin/APIKeyDetailPage.tsx +199 -0
- package/.framework/src/pages/admin/APIKeysPage.tsx +303 -0
- package/.framework/src/pages/admin/AlertsConfigPage.tsx +523 -0
- package/.framework/src/pages/admin/AppDetailPage.tsx +493 -0
- package/.framework/src/pages/admin/AppsPage.tsx +355 -0
- package/.framework/src/pages/admin/DesignedPage.tsx +491 -0
- package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +534 -0
- package/.framework/src/pages/admin/EmbeddingsPage.tsx +424 -0
- package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +176 -0
- package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +109 -0
- package/.framework/src/pages/admin/IntegratedDashboard.tsx +402 -0
- package/.framework/src/pages/admin/IntegrationDetailPage.tsx +187 -0
- package/.framework/src/pages/admin/IntegrationsPage.tsx +301 -0
- package/.framework/src/pages/admin/LogsPage.tsx +283 -0
- package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +85 -0
- package/.framework/src/pages/admin/ObservabilityDashboard.tsx +470 -0
- package/.framework/src/pages/admin/PipelineDetailPage.tsx +183 -0
- package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +279 -0
- package/.framework/src/pages/admin/PipelinesPage.tsx +390 -0
- package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +299 -0
- package/.framework/src/pages/admin/PromptConfigsPage.tsx +292 -0
- package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +434 -0
- package/.framework/src/pages/admin/RoleDetailPage.tsx +273 -0
- package/.framework/src/pages/admin/RolesPage.tsx +292 -0
- package/.framework/src/pages/admin/SelectTestPage.tsx +61 -0
- package/.framework/src/pages/admin/ShadcnTestPage.tsx +588 -0
- package/.framework/src/pages/admin/SimpleDashboard.tsx +387 -0
- package/.framework/src/pages/admin/TestRunDetailPage.tsx +172 -0
- package/.framework/src/pages/admin/TestingDashboard.tsx +257 -0
- package/.framework/src/pages/admin/TimerDetailPage.tsx +151 -0
- package/.framework/src/pages/admin/TimersPage.tsx +376 -0
- package/.framework/src/pages/admin/TriggerDetailPage.tsx +149 -0
- package/.framework/src/pages/admin/TriggersPage.tsx +381 -0
- package/.framework/src/pages/admin/TypeDetailPage.tsx +694 -0
- package/.framework/src/pages/admin/TypesPage.tsx +295 -0
- package/.framework/src/pages/auth/LoginPage.tsx +188 -0
- package/.framework/src/pages/auth/RegisterPage.tsx +163 -0
- package/.framework/src/pages/spine-framework/APIPage.tsx +17 -0
- package/.framework/src/pages/spine-framework/CLIPage.tsx +25 -0
- package/.framework/src/types/auth.ts +125 -0
- package/.framework/src/types/types.ts +407 -0
- package/STRUCTURE.md +150 -0
- package/config/components.json +25 -0
- package/config/deno.lock +108 -0
- package/config/package-lock.json +17183 -0
- package/config/postcss.config.cjs +10 -0
- package/config/tailwind.config.cjs +78 -0
- package/config/tsconfig.build.json +32 -0
- package/config/tsconfig.cli.json +18 -0
- package/config/tsconfig.json +41 -0
- package/config/tsconfig.node.json +17 -0
- package/config/tsconfig.node.tsbuildinfo +1 -0
- package/config/tsconfig.tsbuildinfo +1 -0
- package/config/typedoc.json +16 -0
- package/config/vite.config.d.ts +2 -0
- package/config/vite.config.ts +72 -0
- package/dist/cli/commands/agents.d.ts +39 -0
- package/dist/cli/commands/agents.d.ts.map +1 -0
- package/dist/cli/commands/auth.d.ts +36 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/create-app.d.ts +23 -0
- package/dist/cli/commands/create-app.d.ts.map +1 -0
- package/dist/cli/commands/dev.d.ts +39 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/doctor.d.ts +42 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/generate.d.ts +36 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/init.d.ts +30 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/install-app.d.ts +30 -0
- package/dist/cli/commands/install-app.d.ts.map +1 -0
- package/dist/cli/commands/items.d.ts +45 -0
- package/dist/cli/commands/items.d.ts.map +1 -0
- package/dist/cli/commands/migrations.d.ts +41 -0
- package/dist/cli/commands/migrations.d.ts.map +1 -0
- package/dist/cli/commands/pipelines.d.ts +40 -0
- package/dist/cli/commands/pipelines.d.ts.map +1 -0
- package/dist/cli/commands/status.d.ts +23 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/system.d.ts +29 -0
- package/dist/cli/commands/system.d.ts.map +1 -0
- package/dist/cli/commands/test.d.ts +46 -0
- package/dist/cli/commands/test.d.ts.map +1 -0
- package/dist/cli/commands/uninstall-app.d.ts +23 -0
- package/dist/cli/commands/uninstall-app.d.ts.map +1 -0
- package/dist/cli/context.d.ts +88 -0
- package/dist/cli/context.d.ts.map +1 -0
- package/dist/cli/env-loader.d.ts +14 -0
- package/dist/cli/env-loader.d.ts.map +1 -0
- package/dist/cli/index.d.ts +41 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/functions/_shared/agent-runner.d.ts +156 -0
- package/dist/functions/_shared/agent-runner.d.ts.map +1 -0
- package/dist/functions/_shared/app-manifest.d.ts +68 -0
- package/dist/functions/_shared/app-manifest.d.ts.map +1 -0
- package/dist/functions/_shared/audit.d.ts +91 -0
- package/dist/functions/_shared/audit.d.ts.map +1 -0
- package/dist/functions/_shared/db.d.ts +125 -0
- package/dist/functions/_shared/db.d.ts.map +1 -0
- package/dist/functions/_shared/index.d.ts +298 -0
- package/dist/functions/_shared/index.d.ts.map +1 -0
- package/dist/functions/_shared/middleware.d.ts +315 -0
- package/dist/functions/_shared/middleware.d.ts.map +1 -0
- package/dist/functions/_shared/permissions.d.ts +626 -0
- package/dist/functions/_shared/permissions.d.ts.map +1 -0
- package/dist/functions/_shared/pipeline-runner.d.ts +124 -0
- package/dist/functions/_shared/pipeline-runner.d.ts.map +1 -0
- package/dist/functions/_shared/principal.d.ts +284 -0
- package/dist/functions/_shared/principal.d.ts.map +1 -0
- package/dist/functions/_shared/schema-utils.d.ts +181 -0
- package/dist/functions/_shared/schema-utils.d.ts.map +1 -0
- package/dist/functions/_shared/testing.d.ts +172 -0
- package/dist/functions/_shared/testing.d.ts.map +1 -0
- package/dist/functions/_shared/trigger-engine.d.ts +140 -0
- package/dist/functions/_shared/trigger-engine.d.ts.map +1 -0
- package/dist/functions/_shared/webhook-registration.d.ts +81 -0
- package/dist/functions/_shared/webhook-registration.d.ts.map +1 -0
- package/dist/functions/_shared/webhook-registry.d.ts +57 -0
- package/dist/functions/_shared/webhook-registry.d.ts.map +1 -0
- package/dist/functions/account-nodes.d.ts +48 -0
- package/dist/functions/account-nodes.d.ts.map +1 -0
- package/dist/functions/admin-data.d.ts +178 -0
- package/dist/functions/admin-data.d.ts.map +1 -0
- package/dist/functions/ai-agents.d.ts +125 -0
- package/dist/functions/ai-agents.d.ts.map +1 -0
- package/dist/functions/api-keys.d.ts +140 -0
- package/dist/functions/api-keys.d.ts.map +1 -0
- package/dist/functions/apps.d.ts +163 -0
- package/dist/functions/apps.d.ts.map +1 -0
- package/dist/functions/auth.d.ts +74 -0
- package/dist/functions/auth.d.ts.map +1 -0
- package/dist/functions/debug-auth.d.ts +33 -0
- package/dist/functions/debug-auth.d.ts.map +1 -0
- package/dist/functions/embeddings.d.ts +205 -0
- package/dist/functions/embeddings.d.ts.map +1 -0
- package/dist/functions/integration-routes.d.ts +45 -0
- package/dist/functions/integration-routes.d.ts.map +1 -0
- package/dist/functions/integrations.d.ts +124 -0
- package/dist/functions/integrations.d.ts.map +1 -0
- package/dist/functions/item-progress.d.ts +41 -0
- package/dist/functions/item-progress.d.ts.map +1 -0
- package/dist/functions/logs.d.ts +162 -0
- package/dist/functions/logs.d.ts.map +1 -0
- package/dist/functions/observability.d.ts +123 -0
- package/dist/functions/observability.d.ts.map +1 -0
- package/dist/functions/pipeline-executions.d.ts +190 -0
- package/dist/functions/pipeline-executions.d.ts.map +1 -0
- package/dist/functions/pipelines.d.ts +171 -0
- package/dist/functions/pipelines.d.ts.map +1 -0
- package/dist/functions/prompt-configs.d.ts +125 -0
- package/dist/functions/prompt-configs.d.ts.map +1 -0
- package/dist/functions/roles.d.ts +118 -0
- package/dist/functions/roles.d.ts.map +1 -0
- package/dist/functions/system-cron.d.ts +65 -0
- package/dist/functions/system-cron.d.ts.map +1 -0
- package/dist/functions/system.d.ts +29 -0
- package/dist/functions/system.d.ts.map +1 -0
- package/dist/functions/tests.d.ts +28 -0
- package/dist/functions/tests.d.ts.map +1 -0
- package/dist/functions/timers.d.ts +139 -0
- package/dist/functions/timers.d.ts.map +1 -0
- package/dist/functions/triggers.d.ts +203 -0
- package/dist/functions/triggers.d.ts.map +1 -0
- package/dist/functions/types.d.ts +151 -0
- package/dist/functions/types.d.ts.map +1 -0
- package/dist/src/types/types.d.ts +364 -0
- package/dist/src/types/types.d.ts.map +1 -0
- package/package.json +192 -0
- package/scripts/app-install-cli.ts +286 -0
- package/scripts/assemble-frontend.sh +79 -0
- package/scripts/assemble-functions.sh +62 -0
- package/scripts/assemble.sh +35 -0
- package/scripts/boundary-check.sh +106 -0
- package/scripts/build-manifest.sh +80 -0
- package/scripts/check-core-integrity.sh +82 -0
- package/scripts/ingest-chunks.cjs +202 -0
- package/scripts/kb-chunk-parser.cjs +312 -0
- package/scripts/kb-chunk-parser.ts +330 -0
- package/scripts/load-test-app-install.ts +484 -0
- package/scripts/netlify-dev-wrapper.sh +22 -0
- package/scripts/verify-integrity.sh +69 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module prompt-configs
|
|
3
|
+
* @audience core-contributor
|
|
4
|
+
* @layer api-handler
|
|
5
|
+
* @stability stable
|
|
6
|
+
*
|
|
7
|
+
* CRUD API for the `prompt_configs` table. Prompt configs define LLM inference
|
|
8
|
+
* parameters: system prompts, context templates, model selection, temperature,
|
|
9
|
+
* confidence thresholds, escalation rules, tool access, and knowledge sources.
|
|
10
|
+
* They are referenced by AI agents at inference time via `agent-runner.ts`.
|
|
11
|
+
*
|
|
12
|
+
* **Routed by:** `GET/POST/PATCH/DELETE /.netlify/functions/prompt-configs`
|
|
13
|
+
*
|
|
14
|
+
* **Standard CRUD routing:**
|
|
15
|
+
* | method | condition | handler |
|
|
16
|
+
* |--------|-----------|---------|
|
|
17
|
+
* | GET | ?id | get |
|
|
18
|
+
* | GET | (default) | list |
|
|
19
|
+
* | POST | — | create |
|
|
20
|
+
* | PATCH | — | update |
|
|
21
|
+
* | DELETE | — | remove |
|
|
22
|
+
*
|
|
23
|
+
* **Authorization:** All operations use `ctx.db` (RLS-scoped). Account context
|
|
24
|
+
* required for writes.
|
|
25
|
+
*
|
|
26
|
+
* INVARIANT: `remove` is a hard delete.
|
|
27
|
+
* INVARIANT: `update` only patches the explicit allowlist of fields.
|
|
28
|
+
* INVARIANT: `model` defaults to 'gpt-4o', `temperature` to 0.7,
|
|
29
|
+
* `max_tokens` to 4000 if not specified on create.
|
|
30
|
+
*
|
|
31
|
+
* @seeAlso agent-runner.ts (resolveAgentConfig reads prompt_configs)
|
|
32
|
+
* @seeAlso ai-agents.ts (ai_agents reference prompt_config_id)
|
|
33
|
+
* @seeAlso audit.ts (emitLog for prompt_config.* events)
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* @chunk-id PROMPT_CONFIGS_LIST_1_0_0
|
|
37
|
+
* @version 1.0.0
|
|
38
|
+
* @hash 177c1ca02d205ad820b03fef84d2667ddde4eaa8a2aa82fbf3ee58d4f68890aa
|
|
39
|
+
* @macro Prompt Configs List Handler
|
|
40
|
+
* @micro Lists prompt configs with filtering and sanitization
|
|
41
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
42
|
+
* @inputs _body: any — Request body (unused for GET)
|
|
43
|
+
* @outputs Array of sanitized prompt_config records with app/createdBy joins
|
|
44
|
+
* @depends-on [createHandler, sanitizeRecordData]
|
|
45
|
+
* @depended-by [Netlify function routing]
|
|
46
|
+
* @side-effects [DB queries, permission sanitization]
|
|
47
|
+
* @tags prompt-configs, list, crud, pagination
|
|
48
|
+
*/
|
|
49
|
+
export declare const list: (event: any, context: any) => Promise<any>;
|
|
50
|
+
/**
|
|
51
|
+
* @chunk-id PROMPT_CONFIGS_GET_1_0_0
|
|
52
|
+
* @version 1.0.0
|
|
53
|
+
* @hash 234cc28b4e9fba9333a221ac01d175bafaf93681221f182d6925df84caf90348
|
|
54
|
+
* @macro Prompt Config Get Handler
|
|
55
|
+
* @micro Returns single prompt config record with joins and sanitization
|
|
56
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
57
|
+
* @inputs _body: any — Request body (unused for GET)
|
|
58
|
+
* @outputs Sanitized prompt_config record with app/createdBy joins
|
|
59
|
+
* @depends-on [createHandler, sanitizeRecordData]
|
|
60
|
+
* @depended-by [Netlify function routing]
|
|
61
|
+
* @side-effects [DB single row query, permission sanitization]
|
|
62
|
+
* @tags prompt-configs, get, crud, single-record
|
|
63
|
+
*/
|
|
64
|
+
export declare const get: (event: any, context: any) => Promise<any>;
|
|
65
|
+
/**
|
|
66
|
+
* @chunk-id PROMPT_CONFIGS_CREATE_1_0_0
|
|
67
|
+
* @version 1.0.0
|
|
68
|
+
* @hash e4aeda63ad485550140a44aa281020c9a6fc966da444d135281d869e053c5e6c
|
|
69
|
+
* @macro Prompt Config Create Handler
|
|
70
|
+
* @micro Creates prompt config with validation and audit logging
|
|
71
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
72
|
+
* @inputs body: object — Prompt config data including name, slug, and optional fields
|
|
73
|
+
* @outputs Inserted prompt_config record
|
|
74
|
+
* @depends-on [createHandler, emitLog]
|
|
75
|
+
* @depended-by [Netlify function routing]
|
|
76
|
+
* @side-effects [DB insert, audit logging]
|
|
77
|
+
* @tags prompt-configs, create, crud, audit
|
|
78
|
+
*/
|
|
79
|
+
export declare const create: (event: any, context: any) => Promise<any>;
|
|
80
|
+
/**
|
|
81
|
+
* @chunk-id PROMPT_CONFIGS_UPDATE_1_0_0
|
|
82
|
+
* @version 1.0.0
|
|
83
|
+
* @hash 32985018c871c4d8b6faf93f817c33e8b9f65e6dbae5cdb0df37fa16bf7b2db1
|
|
84
|
+
* @macro Prompt Config Update Handler
|
|
85
|
+
* @micro Updates prompt config with field allowlist and audit logging
|
|
86
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
87
|
+
* @inputs body: object — Prompt config updates including id and updatable fields
|
|
88
|
+
* @outputs Updated prompt_config record
|
|
89
|
+
* @depends-on [createHandler, emitLog]
|
|
90
|
+
* @depended-by [Netlify function routing]
|
|
91
|
+
* @side-effects [DB update, audit logging]
|
|
92
|
+
* @tags prompt-configs, update, crud, audit
|
|
93
|
+
*/
|
|
94
|
+
export declare const update: (event: any, context: any) => Promise<any>;
|
|
95
|
+
/**
|
|
96
|
+
* @chunk-id PROMPT_CONFIGS_REMOVE_1_0_0
|
|
97
|
+
* @version 1.0.0
|
|
98
|
+
* @hash 2d6cdf4f067fe7259c1fb3d07c5928df36a2395424772a85a7d474072d883b84
|
|
99
|
+
* @macro Prompt Config Remove Handler
|
|
100
|
+
* @micro Hard-deletes prompt config with audit logging
|
|
101
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
102
|
+
* @inputs _body: any — Request body (unused for DELETE)
|
|
103
|
+
* @outputs {success: true} — Confirmation of successful deletion
|
|
104
|
+
* @depends-on [createHandler, emitLog]
|
|
105
|
+
* @depended-by [Netlify function routing]
|
|
106
|
+
* @side-effects [DB delete, audit logging]
|
|
107
|
+
* @tags prompt-configs, remove, delete, audit
|
|
108
|
+
*/
|
|
109
|
+
export declare const remove: (event: any, context: any) => Promise<any>;
|
|
110
|
+
/**
|
|
111
|
+
* @chunk-id PROMPT_CONFIGS_HANDLER_1_0_0
|
|
112
|
+
* @version 1.0.0
|
|
113
|
+
* @hash a49f4917dd07295e0ba9815bf929cccc5cffcbe4dcf6852aa4bd84d6cba1b690
|
|
114
|
+
* @macro Prompt Configs Router
|
|
115
|
+
* @micro Routes HTTP methods to appropriate prompt config handlers
|
|
116
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
117
|
+
* @inputs body: any — Request body for POST/PATCH operations
|
|
118
|
+
* @outputs Varies — Depends on routed handler (list/get/create/update/remove)
|
|
119
|
+
* @depends-on [createHandler, list, get, create, update, remove]
|
|
120
|
+
* @depended-by [Netlify function routing]
|
|
121
|
+
* @side-effects [Delegates to appropriate handler]
|
|
122
|
+
* @tags prompt-configs, router, crud, netlify-function
|
|
123
|
+
*/
|
|
124
|
+
export declare const handler: (event: any, context: any) => Promise<any>;
|
|
125
|
+
//# sourceMappingURL=prompt-configs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-configs.d.ts","sourceRoot":"","sources":["../../.framework/functions/prompt-configs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AASH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,4CAoCf,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG,4CAoBd,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAmDjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAgCjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CA4BjB,CAAA;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAsBlB,CAAA"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module roles
|
|
3
|
+
* @audience core-contributor
|
|
4
|
+
* @layer api-handler
|
|
5
|
+
* @stability stable
|
|
6
|
+
*
|
|
7
|
+
* CRUD API for the `roles` table. Roles define permission sets (`permissions`
|
|
8
|
+
* JSONB) that are assigned to people within an account.
|
|
9
|
+
*
|
|
10
|
+
* **Routed by:** `GET/POST/PATCH/DELETE /.netlify/functions/roles`
|
|
11
|
+
*
|
|
12
|
+
* **Authorization model:**
|
|
13
|
+
* - All reads use `ctx.db` (RLS-scoped). System admins see raw records;
|
|
14
|
+
* others get field-level sanitization via `sanitizeRecordData`.
|
|
15
|
+
* - `create`: requires system admin OR first-surface `canCreate` permission.
|
|
16
|
+
* Creating a role with `slug === 'system_admin'` is system-admin-only.
|
|
17
|
+
* - `update` / `remove`: require authenticated principal. RLS controls row
|
|
18
|
+
* access; field-level permissions validated via `validateUpdatePermissions`.
|
|
19
|
+
* - Slug uniqueness is enforced per-app: checked against `adminDb`.
|
|
20
|
+
*
|
|
21
|
+
* INVARIANT: `system_admin` role slug can only be created by system admins.
|
|
22
|
+
* INVARIANT: soft delete only — roles are set to `is_active = false`.
|
|
23
|
+
*
|
|
24
|
+
* @seeAlso middleware.ts (createHandler)
|
|
25
|
+
* @seeAlso permissions.ts (PermissionEngine, sanitizeRecordData)
|
|
26
|
+
* @seeAlso audit.ts (emitLog for role.created / role.updated / role.deleted)
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* @chunk-id ROLES_LIST_1_0_0
|
|
30
|
+
* @version 1.0.0
|
|
31
|
+
* @hash b643852233c87c20abd7d62b3f51be9ba7f0f2a4ff02154be239ceef6184811b
|
|
32
|
+
* @macro Roles List Handler
|
|
33
|
+
* @micro Lists active roles with filtering and permission-based sanitization
|
|
34
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
35
|
+
* @inputs _body: any — Request body (unused for GET)
|
|
36
|
+
* @outputs Array of role records with app join, sanitized for non-admins
|
|
37
|
+
* @depends-on [createHandler, PermissionEngine, sanitizeRecordData]
|
|
38
|
+
* @depended-by [Netlify function routing]
|
|
39
|
+
* @side-effects [DB queries, permission sanitization]
|
|
40
|
+
* @tags roles, list, crud, pagination, permissions
|
|
41
|
+
*/
|
|
42
|
+
export declare const list: (event: any, context: any) => Promise<any>;
|
|
43
|
+
/**
|
|
44
|
+
* @chunk-id ROLES_GET_1_0_0
|
|
45
|
+
* @version 1.0.0
|
|
46
|
+
* @hash 94607bad8b9ff929233ce1b29b6563062d439365ed0413726c5a8d8d0f58474b
|
|
47
|
+
* @macro Role Get Handler
|
|
48
|
+
* @micro Returns single role record with joins and permission sanitization
|
|
49
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
50
|
+
* @inputs _body: any — Request body (unused for GET)
|
|
51
|
+
* @outputs Sanitized role record with app join
|
|
52
|
+
* @depends-on [createHandler, sanitizeRecordData]
|
|
53
|
+
* @depended-by [Netlify function routing]
|
|
54
|
+
* @side-effects [DB single row query, permission sanitization]
|
|
55
|
+
* @tags roles, get, crud, single-record, permissions
|
|
56
|
+
*/
|
|
57
|
+
export declare const get: (event: any, context: any) => Promise<any>;
|
|
58
|
+
/**
|
|
59
|
+
* @chunk-id ROLES_CREATE_1_0_0
|
|
60
|
+
* @version 1.0.0
|
|
61
|
+
* @hash 7f6646fee88ed72d997eb710feb3778aad114f3a96819390166c8ecbc6eeaa0e
|
|
62
|
+
* @macro Role Create Handler
|
|
63
|
+
* @micro Creates role with permission validation and audit logging
|
|
64
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
65
|
+
* @inputs body: object — Role data including slug, name, and optional fields
|
|
66
|
+
* @outputs Inserted role record
|
|
67
|
+
* @depends-on [createHandler, PermissionEngine, adminDb, emitLog]
|
|
68
|
+
* @depended-by [Netlify function routing]
|
|
69
|
+
* @side-effects [DB insert, permission validation, audit logging]
|
|
70
|
+
* @tags roles, create, crud, permissions, audit
|
|
71
|
+
*/
|
|
72
|
+
export declare const create: (event: any, context: any) => Promise<any>;
|
|
73
|
+
/**
|
|
74
|
+
* @chunk-id ROLES_UPDATE_1_0_0
|
|
75
|
+
* @version 1.0.0
|
|
76
|
+
* @hash 19803de116b38af5e27bf542ca642228f4661bbf428a4846ed565d0667767580
|
|
77
|
+
* @macro Role Update Handler
|
|
78
|
+
* @micro Updates role with field-level permission validation and audit logging
|
|
79
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
80
|
+
* @inputs body: object — Role updates including id and updatable fields
|
|
81
|
+
* @outputs Updated role record
|
|
82
|
+
* @depends-on [createHandler, PermissionEngine, emitLog]
|
|
83
|
+
* @depended-by [Netlify function routing]
|
|
84
|
+
* @side-effects [DB update, permission validation, audit logging]
|
|
85
|
+
* @tags roles, update, crud, permissions, audit
|
|
86
|
+
*/
|
|
87
|
+
export declare const update: (event: any, context: any) => Promise<any>;
|
|
88
|
+
/**
|
|
89
|
+
* @chunk-id ROLES_REMOVE_1_0_0
|
|
90
|
+
* @version 1.0.0
|
|
91
|
+
* @hash 9194c78a60e7d12b7acf6981bbc56afdfbe9e922c52739394240fca5adcfa069
|
|
92
|
+
* @macro Role Remove Handler
|
|
93
|
+
* @micro Soft-deletes role with audit logging
|
|
94
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
95
|
+
* @inputs body: object — Role id for deletion
|
|
96
|
+
* @outputs Updated role record with is_active: false
|
|
97
|
+
* @depends-on [createHandler, emitLog]
|
|
98
|
+
* @depended-by [Netlify function routing]
|
|
99
|
+
* @side-effects [DB soft delete, audit logging]
|
|
100
|
+
* @tags roles, remove, soft-delete, audit
|
|
101
|
+
*/
|
|
102
|
+
export declare const remove: (event: any, context: any) => Promise<any>;
|
|
103
|
+
/**
|
|
104
|
+
* @chunk-id ROLES_HANDLER_1_0_0
|
|
105
|
+
* @version 1.0.0
|
|
106
|
+
* @hash 14c00f276a22287ed65c019efe327cbb513f860a408191e299864b05c641833c
|
|
107
|
+
* @macro Roles Router
|
|
108
|
+
* @micro Routes HTTP methods to appropriate role handlers
|
|
109
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
110
|
+
* @inputs body: any — Request body for POST/PATCH/DELETE operations
|
|
111
|
+
* @outputs Varies — Depends on routed handler (list/get/create/update/remove)
|
|
112
|
+
* @depends-on [createHandler, list, get, create, update, remove]
|
|
113
|
+
* @depended-by [Netlify function routing]
|
|
114
|
+
* @side-effects [Delegates to appropriate handler]
|
|
115
|
+
* @tags roles, router, crud, netlify-function
|
|
116
|
+
*/
|
|
117
|
+
export declare const handler: (event: any, context: any) => Promise<any>;
|
|
118
|
+
//# sourceMappingURL=roles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../.framework/functions/roles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAYH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,4CA2Cf,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG,4CAuBd,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAoEjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAkDjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAsCjB,CAAA;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CAmBlB,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module system-cron
|
|
3
|
+
* @audience core-contributor
|
|
4
|
+
* @layer api-handler
|
|
5
|
+
* @stability stable
|
|
6
|
+
*
|
|
7
|
+
* Scheduled job runner invoked by an external cron service (e.g., AWS
|
|
8
|
+
* EventBridge, Google Cloud Scheduler). On each tick it:
|
|
9
|
+
*
|
|
10
|
+
* 1. Authenticates the request via `SCHEDULER_API_KEY` or machine principal
|
|
11
|
+
* 2. Fetches all schedules due via `get_due_schedules` RPC
|
|
12
|
+
* 3. For each schedule: validates creator, loads action + machine principal,
|
|
13
|
+
* checks scope, executes action, records outcome
|
|
14
|
+
* 4. Fetches all timers due via `get_due_timers` RPC and runs each pipeline
|
|
15
|
+
* 5. Evaluates threshold alerts via `evaluateThresholds`
|
|
16
|
+
* 6. Runs daily log cleanup at 00:00 UTC via `cleanupOldLogs`
|
|
17
|
+
*
|
|
18
|
+
* **Routed by:** `POST /.netlify/functions/system-cron`
|
|
19
|
+
*
|
|
20
|
+
* **Authentication:** Request must supply `SCHEDULER_API_KEY` via `?api_key`
|
|
21
|
+
* or `?scheduler_key`, OR originate from an internal machine principal
|
|
22
|
+
* (type='machine', machineType='internal'). Unauthorized requests receive 403.
|
|
23
|
+
*
|
|
24
|
+
* **Response shape:**
|
|
25
|
+
* ```ts
|
|
26
|
+
* {
|
|
27
|
+
* executed: number
|
|
28
|
+
* success: number
|
|
29
|
+
* failed: number
|
|
30
|
+
* skipped: number
|
|
31
|
+
* thresholds_evaluated: number
|
|
32
|
+
* thresholds_breached: number
|
|
33
|
+
* logs_cleaned: number
|
|
34
|
+
* results: Array<{ scheduleId, actionId, status, error?, durationMs }>
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* INVARIANT: Uses `adminDb` (service-role client, bypasses RLS) because
|
|
39
|
+
* machine principals must access cross-account data.
|
|
40
|
+
* INVARIANT: Log cleanup only runs when the current UTC time is 00:00.
|
|
41
|
+
*
|
|
42
|
+
* @seeAlso timers.ts (timer configuration CRUD)
|
|
43
|
+
* @seeAlso pipelines.ts (pipeline configuration CRUD)
|
|
44
|
+
* @seeAlso pipeline-runner.ts (runPipeline — timer/schedule execution)
|
|
45
|
+
* @seeAlso observability.ts (analytics RPCs used by evaluateThresholds)
|
|
46
|
+
* @seeAlso audit.ts (emitAudit for cron lifecycle events)
|
|
47
|
+
*/
|
|
48
|
+
/**
|
|
49
|
+
* Netlify function entry point — the entire cron tick logic lives here.
|
|
50
|
+
* Returns HTTP 200 with a results summary on success, or HTTP 403/500
|
|
51
|
+
* on auth/runtime failure.
|
|
52
|
+
*
|
|
53
|
+
* @throws Returns 403 JSON if scheduler key is missing or invalid
|
|
54
|
+
* @throws Returns 500 JSON on unhandled top-level error
|
|
55
|
+
* @sideEffects DB read: get_due_schedules, validate_schedule_creator,
|
|
56
|
+
* actions, api_keys, get_due_timers
|
|
57
|
+
* @sideEffects DB write: schedule_executions (INSERT), update_schedule_after_run
|
|
58
|
+
* RPC, update_timer_after_run RPC, cleanup_old_logs RPC
|
|
59
|
+
* @sideEffects pipeline: runPipeline (timers + threshold responses)
|
|
60
|
+
* @sideEffects audit: emitAudit for unauthorized, error, schedule.execute,
|
|
61
|
+
* threshold.breached events
|
|
62
|
+
* @calledBy External cron scheduler (AWS EventBridge / Google Cloud Scheduler)
|
|
63
|
+
*/
|
|
64
|
+
export declare const handler: (event: any, context: any) => Promise<any>;
|
|
65
|
+
//# sourceMappingURL=system-cron.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-cron.d.ts","sourceRoot":"","sources":["../../.framework/functions/system-cron.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAWH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO,4CA0WlB,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module system
|
|
3
|
+
* @audience both
|
|
4
|
+
* @layer api-handler
|
|
5
|
+
* @stability stable
|
|
6
|
+
*
|
|
7
|
+
* System discovery and health endpoints for agentic IDE integration.
|
|
8
|
+
* Provides machine-readable descriptions of the Spine instance,
|
|
9
|
+
* runtime health checks, and OpenAPI spec generation.
|
|
10
|
+
*
|
|
11
|
+
* **Routed by:** `GET /.netlify/functions/system`
|
|
12
|
+
*
|
|
13
|
+
* **Dispatch table:**
|
|
14
|
+
* | ?action | Description |
|
|
15
|
+
* |---------|-------------|
|
|
16
|
+
* | manifest | Returns system manifest (version, functions, integrity) |
|
|
17
|
+
* | health | Returns health check status of all components |
|
|
18
|
+
* | openapi | Returns OpenAPI 3.1 spec for all endpoints |
|
|
19
|
+
*
|
|
20
|
+
* **Authorization:**
|
|
21
|
+
* - `manifest`: No auth required (public endpoint)
|
|
22
|
+
* - `health`: No auth required (public endpoint)
|
|
23
|
+
* - `openapi`: No auth required (public endpoint)
|
|
24
|
+
*
|
|
25
|
+
* @seeAlso .spine-manifest.json (integrity hashes)
|
|
26
|
+
* @seeAlso cli/index.ts (CLI consumer of these endpoints)
|
|
27
|
+
*/
|
|
28
|
+
export declare const handler: (event: any, context: any) => Promise<any>;
|
|
29
|
+
//# sourceMappingURL=system.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../.framework/functions/system.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAoRH,eAAO,MAAM,OAAO,4CAoBlB,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module tests
|
|
3
|
+
* @audience both
|
|
4
|
+
* @layer api-handler
|
|
5
|
+
* @stability stable
|
|
6
|
+
*
|
|
7
|
+
* Read-only API for the admin Testing dashboard. Exposes test run history
|
|
8
|
+
* and per-case results stored in public.test_runs / public.test_results.
|
|
9
|
+
*
|
|
10
|
+
* **Routed by:** `GET /.netlify/functions/tests`
|
|
11
|
+
*
|
|
12
|
+
* **Dispatch table:**
|
|
13
|
+
* | ?action | ?id | Description |
|
|
14
|
+
* |---------|-----|-------------|
|
|
15
|
+
* | list | — | Returns 20 most recent test_runs (summary, no individual results) |
|
|
16
|
+
* | get | uuid | Returns one test_run + all its test_results |
|
|
17
|
+
* | stats | — | Returns pass/fail counts grouped by suite for last 30 days |
|
|
18
|
+
*
|
|
19
|
+
* **Authorization:** system_admin only (machine principals with *:* also allowed).
|
|
20
|
+
*
|
|
21
|
+
* INVARIANT: no writes. This endpoint is purely for reading stored test run data.
|
|
22
|
+
*
|
|
23
|
+
* @seeAlso migrations_dayzero/008_test_runs.sql
|
|
24
|
+
* @seeAlso tests/reporter.ts (writes the data this endpoint reads)
|
|
25
|
+
* @seeAlso src/pages/admin/TestingDashboard.tsx (primary consumer)
|
|
26
|
+
*/
|
|
27
|
+
export declare const handler: (event: any, context: any) => Promise<any>;
|
|
28
|
+
//# sourceMappingURL=tests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../.framework/functions/tests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAKH,eAAO,MAAM,OAAO,4CAwFlB,CAAA"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module timers
|
|
3
|
+
* @audience core-contributor
|
|
4
|
+
* @layer api-handler
|
|
5
|
+
* @stability stable
|
|
6
|
+
*
|
|
7
|
+
* CRUD API for the `timers` table. Timers are scheduled pipeline triggers
|
|
8
|
+
* (cron-style). They are evaluated and fired by `system-cron.ts` on each
|
|
9
|
+
* scheduled invocation.
|
|
10
|
+
*
|
|
11
|
+
* **Routed by:** `GET/POST/PATCH/DELETE /.netlify/functions/timers`
|
|
12
|
+
*
|
|
13
|
+
* **Actions:**
|
|
14
|
+
* | method | ?action | handler |
|
|
15
|
+
* |--------|----------|----------|
|
|
16
|
+
* | POST | toggle | toggle |
|
|
17
|
+
* | GET | ?id | get |
|
|
18
|
+
* | GET | (default)| list |
|
|
19
|
+
* | POST | — | create |
|
|
20
|
+
* | PATCH | — | update |
|
|
21
|
+
* | DELETE | — | remove (hard) |
|
|
22
|
+
*
|
|
23
|
+
* **Authorization:** All operations use `ctx.db` (RLS-scoped). Authenticated
|
|
24
|
+
* principal required for writes.
|
|
25
|
+
*
|
|
26
|
+
* INVARIANT: `remove` is a hard delete.
|
|
27
|
+
* INVARIANT: `update` only patches allowed fields: name, description, config,
|
|
28
|
+
* pipeline_id, metadata, is_active.
|
|
29
|
+
*
|
|
30
|
+
* @seeAlso system-cron.ts (fires timers on schedule)
|
|
31
|
+
* @seeAlso pipelines.ts (pipeline_id FK on timers)
|
|
32
|
+
* @seeAlso audit.ts (emitLog for timer.* events)
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* @chunk-id TIMERS_LIST_1_0_0
|
|
36
|
+
* @version 1.0.0
|
|
37
|
+
* @hash 151a2403c9d974004a34303443368921966ea3adeada07e5f63b9a20ad3f08a1
|
|
38
|
+
* @macro Timers List Handler
|
|
39
|
+
* @micro Lists timers with filtering and sanitization
|
|
40
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
41
|
+
* @inputs _body: any — Request body (unused for GET)
|
|
42
|
+
* @outputs Array of sanitized timer 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 timers, list, crud, filtering
|
|
47
|
+
*/
|
|
48
|
+
export declare const list: (event: any, context: any) => Promise<any>;
|
|
49
|
+
/**
|
|
50
|
+
* @chunk-id TIMERS_GET_1_0_0
|
|
51
|
+
* @version 1.0.0
|
|
52
|
+
* @hash 8bbf46bb1410299eb881680ba4b508093157000a7fe525f7380e96ff0a241f32
|
|
53
|
+
* @macro Timer Get Handler
|
|
54
|
+
* @micro Returns single timer 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 timer 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 timers, get, crud, single-record
|
|
62
|
+
*/
|
|
63
|
+
export declare const get: (event: any, context: any) => Promise<any>;
|
|
64
|
+
/**
|
|
65
|
+
* @chunk-id TIMERS_CREATE_1_0_0
|
|
66
|
+
* @version 1.0.0
|
|
67
|
+
* @hash b655ea396b23dac3548323612decef91b712c0a2b42bc5c7bc0f79aee4d11af4
|
|
68
|
+
* @macro Timer Create Handler
|
|
69
|
+
* @micro Creates timer with validation and audit logging
|
|
70
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
71
|
+
* @inputs body: object — Timer data including name, timer_type, and optional fields
|
|
72
|
+
* @outputs Inserted timer record
|
|
73
|
+
* @depends-on [createHandler, emitLog]
|
|
74
|
+
* @depended-by [Netlify function routing]
|
|
75
|
+
* @side-effects [DB insert, audit logging]
|
|
76
|
+
* @tags timers, create, crud, audit
|
|
77
|
+
*/
|
|
78
|
+
export declare const create: (event: any, context: any) => Promise<any>;
|
|
79
|
+
/**
|
|
80
|
+
* @chunk-id TIMERS_UPDATE_1_0_0
|
|
81
|
+
* @version 1.0.0
|
|
82
|
+
* @hash 3c53499205d63b8643e28671b397b97b344976e88ea561860e2e394ca246942d
|
|
83
|
+
* @macro Timer Update Handler
|
|
84
|
+
* @micro Updates timer with field allowlist and audit logging
|
|
85
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
86
|
+
* @inputs body: object — Timer updates including id and updatable fields
|
|
87
|
+
* @outputs Updated timer record
|
|
88
|
+
* @depends-on [createHandler, emitLog]
|
|
89
|
+
* @depended-by [Netlify function routing]
|
|
90
|
+
* @side-effects [DB update, audit logging]
|
|
91
|
+
* @tags timers, update, crud, audit
|
|
92
|
+
*/
|
|
93
|
+
export declare const update: (event: any, context: any) => Promise<any>;
|
|
94
|
+
/**
|
|
95
|
+
* @chunk-id TIMERS_TOGGLE_1_0_0
|
|
96
|
+
* @version 1.0.0
|
|
97
|
+
* @hash 5db82e7a94fbdb9a0e3452c63a044789a993ed8881033d9372b86778c50a2d8c
|
|
98
|
+
* @macro Timer Toggle Handler
|
|
99
|
+
* @micro Activates or deactivates timer with audit logging
|
|
100
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
101
|
+
* @inputs body: object — Timer id and is_active boolean
|
|
102
|
+
* @outputs Updated timer record
|
|
103
|
+
* @depends-on [createHandler, emitLog]
|
|
104
|
+
* @depended-by [Netlify function routing]
|
|
105
|
+
* @side-effects [DB update, audit logging]
|
|
106
|
+
* @tags timers, toggle, state-transition, audit
|
|
107
|
+
*/
|
|
108
|
+
export declare const toggle: (event: any, context: any) => Promise<any>;
|
|
109
|
+
/**
|
|
110
|
+
* @chunk-id TIMERS_REMOVE_1_0_0
|
|
111
|
+
* @version 1.0.0
|
|
112
|
+
* @hash 2d999f6948d616925eaa36be8b39b2fd23de364bf242d4fb0ff3304e1ff9f275
|
|
113
|
+
* @macro Timer Remove Handler
|
|
114
|
+
* @micro Hard-deletes timer with audit logging
|
|
115
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
116
|
+
* @inputs _body: any — Request body (unused for DELETE)
|
|
117
|
+
* @outputs {success: true} — Confirmation of successful deletion
|
|
118
|
+
* @depends-on [createHandler, emitLog]
|
|
119
|
+
* @depended-by [Netlify function routing]
|
|
120
|
+
* @side-effects [DB delete, audit logging]
|
|
121
|
+
* @tags timers, remove, delete, audit
|
|
122
|
+
*/
|
|
123
|
+
export declare const remove: (event: any, context: any) => Promise<any>;
|
|
124
|
+
/**
|
|
125
|
+
* @chunk-id TIMERS_HANDLER_1_0_0
|
|
126
|
+
* @version 1.0.0
|
|
127
|
+
* @hash e890b54a4f767885a6e9d54b4ab19b968e09f6fc2f8db840d5b60df1e3cd2ba3
|
|
128
|
+
* @macro Timers Router
|
|
129
|
+
* @micro Routes HTTP methods and actions to appropriate timer handlers
|
|
130
|
+
* @inputs ctx: CoreContext — Request context with principal and database
|
|
131
|
+
* @inputs body: any — Request body for POST/PATCH/DELETE operations
|
|
132
|
+
* @outputs Varies — Depends on routed handler (list/get/create/update/remove/toggle)
|
|
133
|
+
* @depends-on [createHandler, list, get, create, update, remove, toggle]
|
|
134
|
+
* @depended-by [Netlify function routing]
|
|
135
|
+
* @side-effects [Delegates to appropriate handler]
|
|
136
|
+
* @tags timers, router, crud, netlify-function
|
|
137
|
+
*/
|
|
138
|
+
export declare const handler: (event: any, context: any) => Promise<any>;
|
|
139
|
+
//# sourceMappingURL=timers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../../.framework/functions/timers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAUH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,4CAgCf,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG,4CAgBd,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAmCjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CA6BjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CAsBjB,CAAA;AAIF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,4CA4BjB,CAAA;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,4CA2BlB,CAAA"}
|