spine-framework 0.3.124 → 0.3.126
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/cli/commands/agents.ts +35 -37
- package/.framework/cli/commands/auth.ts +35 -34
- package/.framework/cli/commands/create-app.ts +104 -40
- package/.framework/cli/commands/dev.ts +104 -69
- package/.framework/cli/commands/doctor.ts +179 -69
- package/.framework/cli/commands/generate.ts +83 -143
- package/.framework/cli/commands/init.ts +72 -34
- package/.framework/cli/commands/install-app.ts +260 -125
- package/.framework/cli/commands/items.ts +33 -44
- package/.framework/cli/commands/migrate.ts +122 -40
- package/.framework/cli/commands/migrations.ts +33 -40
- package/.framework/cli/commands/pipelines.ts +31 -39
- package/.framework/cli/commands/status.ts +47 -23
- package/.framework/cli/commands/system.ts +47 -37
- package/.framework/cli/commands/test.ts +112 -68
- package/.framework/cli/commands/validate-app.ts +215 -121
- package/.framework/cli/context.ts +112 -130
- package/.framework/cli/env-loader.ts +47 -18
- package/.framework/cli/index.ts +81 -42
- package/.framework/docs/runtime-types.md +1024 -0
- package/.framework/functions/_shared/agent-runner.ts +1296 -961
- package/.framework/functions/_shared/app-manifest.ts +82 -68
- package/.framework/functions/_shared/audit.ts +135 -83
- package/.framework/functions/_shared/{cil-state.ts → cil.ts} +158 -56
- package/.framework/functions/_shared/db.ts +80 -126
- package/.framework/functions/_shared/hash-api-key.ts +63 -0
- package/.framework/functions/_shared/index.ts +224 -335
- package/.framework/functions/_shared/kb.ts +319 -0
- package/.framework/functions/_shared/llm.ts +92 -0
- package/.framework/functions/_shared/logging.ts +288 -0
- package/.framework/functions/_shared/middleware.ts +329 -365
- package/.framework/functions/_shared/outcomes.ts +36 -0
- package/.framework/functions/_shared/permissions.ts +359 -643
- package/.framework/functions/_shared/pipeline-runner.ts +243 -316
- package/.framework/functions/_shared/principal.ts +376 -468
- package/.framework/functions/_shared/resolve-credentials.ts +102 -0
- package/.framework/functions/_shared/resolve-ids.ts +188 -16
- package/.framework/functions/_shared/retry-deliveries.ts +104 -0
- package/.framework/functions/_shared/schema-utils.ts +611 -373
- package/.framework/functions/_shared/testing.ts +207 -137
- package/.framework/functions/_shared/tracing.ts +276 -0
- package/.framework/functions/_shared/trigger-engine.ts +159 -211
- package/.framework/functions/_shared/webhook-registration.ts +95 -81
- package/.framework/functions/_shared/webhook-registry.ts +153 -75
- package/.framework/functions/account-nodes.ts +31 -53
- package/.framework/functions/adapters/generic-webhook-inbound.ts +56 -0
- package/.framework/functions/adapters/generic-webhook-outbound.ts +43 -0
- package/.framework/functions/adapters/openai-outbound.ts +40 -0
- package/.framework/functions/admin-data.ts +685 -537
- package/.framework/functions/admin-funnel.ts +31 -20
- package/.framework/functions/admin-install-funnel.ts +47 -28
- package/.framework/functions/admin-signals.ts +47 -29
- package/.framework/functions/ai-agents.ts +122 -147
- package/.framework/functions/ai-interactions.ts +180 -90
- package/.framework/functions/api-keys.ts +250 -192
- package/.framework/functions/apps.ts +203 -197
- package/.framework/functions/auth.ts +98 -91
- package/.framework/functions/cil-agent-ingest.ts +773 -0
- package/.framework/functions/cil-agent.ts +592 -0
- package/.framework/functions/cil-callmap.ts +1227 -0
- package/.framework/functions/cil-config.ts +583 -0
- package/.framework/functions/cil-context.ts +445 -0
- package/.framework/functions/cil-doc.ts +1752 -0
- package/.framework/functions/cil-embeddings.ts +1202 -0
- package/.framework/functions/cil-graph.ts +585 -0
- package/.framework/functions/cil-ingest.ts +2416 -0
- package/.framework/functions/cil-pipeline.ts +318 -0
- package/.framework/functions/cil-project.ts +499 -0
- package/.framework/functions/cil-validate.ts +469 -0
- package/.framework/functions/debug-auth.ts +73 -53
- package/.framework/functions/deliveries.ts +117 -0
- package/.framework/functions/embeddings.ts +528 -516
- package/.framework/functions/eval-harness.ts +158 -106
- package/.framework/functions/integration-outbound.ts +311 -0
- package/.framework/functions/integration-routes.ts +240 -466
- package/.framework/functions/integrations.ts +132 -140
- package/.framework/functions/invites.ts +401 -201
- package/.framework/functions/item-progress.ts +113 -53
- package/.framework/functions/kb.ts +28 -0
- package/.framework/functions/logs.ts +239 -222
- package/.framework/functions/observability.ts +308 -259
- package/.framework/functions/pipeline-executions.ts +179 -235
- package/.framework/functions/pipelines.ts +163 -205
- package/.framework/functions/prompt-configs.ts +109 -156
- package/.framework/functions/roles.ts +97 -147
- package/.framework/functions/system-cron.ts +132 -218
- package/.framework/functions/system.ts +112 -52
- package/.framework/functions/tests.ts +32 -28
- package/.framework/functions/timers.ts +162 -210
- package/.framework/functions/triggers.ts +282 -346
- package/.framework/functions/types.ts +283 -400
- package/.framework/migrations/001_core_schema.sql +630 -0
- package/.framework/migrations/002_core_rls_and_functions.sql +532 -0
- package/.framework/migrations/{003_system_data.sql → 003_core_system_data.sql} +26 -153
- package/.framework/migrations/004_core_rpc_and_broker.sql +421 -0
- package/.framework/migrations/005_core_observability.sql +598 -0
- package/.framework/migrations/006_security_hardening_rls.sql +97 -0
- package/.framework/migrations/007_kb_article_list.sql +237 -0
- package/.framework/migrations/008_items_target.sql +8 -0
- package/.framework/migrations/009_roles_slug_unique.sql +11 -0
- package/.framework/public/spine.config.json +91 -0
- package/.framework/scripts/app-install-cli.ts +112 -98
- package/.framework/src/App.tsx +67 -20
- package/.framework/src/apps/admin/index.tsx +97 -27
- package/.framework/src/components/AppWrapper.tsx +50 -11
- package/.framework/src/components/CustomAppLoader.tsx +131 -22
- package/.framework/src/components/admin/AdminListPage.tsx +75 -8
- package/.framework/src/components/admin/AdminSidebar.tsx +148 -36
- package/.framework/src/components/admin/AdminStatsCard.tsx +48 -29
- package/.framework/src/components/admin/PageInstructions.tsx +49 -0
- package/.framework/src/components/admin/SortableTableHeader.tsx +49 -2
- package/.framework/src/components/app-shell/GenericAppShell.tsx +69 -11
- package/.framework/src/components/app-shell/GenericDetailPage.tsx +55 -10
- package/.framework/src/components/app-shell/GenericListPage.tsx +76 -9
- package/.framework/src/components/app-sidebar.tsx +50 -3
- package/.framework/src/components/auth/ProtectedRoute.tsx +53 -45
- package/.framework/src/components/kb/KBArticleEditor.tsx +409 -0
- package/.framework/src/components/kb/KBArticleList.tsx +557 -0
- package/.framework/src/components/layout/AppShell.tsx +54 -16
- package/.framework/src/components/layout/Header.tsx +50 -38
- package/.framework/src/components/layout/Layout.tsx +48 -32
- package/.framework/src/components/layout/Sidebar.tsx +167 -16
- package/.framework/src/components/runtime/DataDetailHeader.tsx +33 -1
- package/.framework/src/components/runtime/DataDetailPage.tsx +289 -4
- package/.framework/src/components/runtime/DataFilters.tsx +78 -1
- package/.framework/src/components/runtime/DataHeader.tsx +32 -29
- package/.framework/src/components/runtime/DataListPage.tsx +161 -2
- package/.framework/src/components/runtime/DataStats.tsx +48 -1
- package/.framework/src/components/runtime/DataTable.tsx +153 -1
- package/.framework/src/components/runtime/SchemaDetailForm.tsx +77 -46
- package/.framework/src/components/runtime/index.ts +16 -9
- package/.framework/src/components/search-form.tsx +33 -1
- package/.framework/src/components/shared/AgentView.tsx +48 -51
- package/.framework/src/components/shared/FieldRenderer.tsx +84 -67
- package/.framework/src/components/shared/InviteManager.tsx +113 -52
- package/.framework/src/components/shared/MemberList.tsx +182 -0
- package/.framework/src/components/shared/SchemaFields.tsx +96 -78
- package/.framework/src/components/ui/DataTable.tsx +86 -56
- package/.framework/src/components/ui/Form.tsx +188 -109
- package/.framework/src/components/ui/ItemCard.tsx +86 -58
- package/.framework/src/components/ui/ItemListView.tsx +88 -61
- package/.framework/src/components/ui/LoadingSpinner.tsx +52 -27
- package/.framework/src/components/ui/Modal.tsx +81 -4
- package/.framework/src/components/ui/RichTextEditor.tsx +101 -9
- package/.framework/src/components/ui/accordion.tsx +97 -5
- package/.framework/src/components/ui/alert-dialog.tsx +225 -13
- package/.framework/src/components/ui/alert.tsx +113 -6
- package/.framework/src/components/ui/aspect-ratio.tsx +49 -2
- package/.framework/src/components/ui/avatar.tsx +129 -7
- package/.framework/src/components/ui/badge.tsx +65 -3
- package/.framework/src/components/ui/breadcrumb.tsx +145 -8
- package/.framework/src/components/ui/button-group.tsx +81 -4
- package/.framework/src/components/ui/button.tsx +49 -2
- package/.framework/src/components/ui/calendar.tsx +65 -3
- package/.framework/src/components/ui/card.tsx +145 -8
- package/.framework/src/components/ui/carousel.tsx +129 -7
- package/.framework/src/components/ui/chart.tsx +161 -10
- package/.framework/src/components/ui/checkbox.tsx +49 -2
- package/.framework/src/components/ui/collapsible.tsx +81 -5
- package/.framework/src/components/ui/combobox.tsx +305 -20
- package/.framework/src/components/ui/command.tsx +177 -11
- package/.framework/src/components/ui/context-menu.tsx +273 -17
- package/.framework/src/components/ui/dialog.tsx +209 -27
- package/.framework/src/components/ui/direction.tsx +64 -4
- package/.framework/src/components/ui/drawer.tsx +193 -12
- package/.framework/src/components/ui/dropdown-menu.tsx +273 -18
- package/.framework/src/components/ui/empty.tsx +145 -9
- package/.framework/src/components/ui/field.tsx +209 -14
- package/.framework/src/components/ui/hover-card.tsx +81 -4
- package/.framework/src/components/ui/input-group.tsx +162 -10
- package/.framework/src/components/ui/input-otp.tsx +98 -5
- package/.framework/src/components/ui/input.tsx +49 -2
- package/.framework/src/components/ui/item.tsx +225 -13
- package/.framework/src/components/ui/kbd.tsx +65 -3
- package/.framework/src/components/ui/label.tsx +49 -2
- package/.framework/src/components/ui/menubar.tsx +289 -17
- package/.framework/src/components/ui/native-select.tsx +97 -5
- package/.framework/src/components/ui/navigation-menu.tsx +177 -10
- package/.framework/src/components/ui/pagination.tsx +161 -9
- package/.framework/src/components/ui/popover.tsx +145 -8
- package/.framework/src/components/ui/progress.tsx +49 -2
- package/.framework/src/components/ui/radio-group.tsx +65 -3
- package/.framework/src/components/ui/resizable.tsx +82 -4
- package/.framework/src/components/ui/scroll-area.tsx +65 -3
- package/.framework/src/components/ui/select.tsx +193 -11
- package/.framework/src/components/ui/separator.tsx +49 -2
- package/.framework/src/components/ui/sheet.tsx +193 -11
- package/.framework/src/components/ui/sidebar.tsx +481 -38
- package/.framework/src/components/ui/skeleton.tsx +49 -2
- package/.framework/src/components/ui/slider.tsx +49 -2
- package/.framework/src/components/ui/sonner.tsx +49 -2
- package/.framework/src/components/ui/spinner.tsx +49 -2
- package/.framework/src/components/ui/switch.tsx +49 -2
- package/.framework/src/components/ui/table-primitives.tsx +160 -33
- package/.framework/src/components/ui/table.tsx +161 -9
- package/.framework/src/components/ui/tabs.tsx +113 -6
- package/.framework/src/components/ui/textarea.tsx +49 -2
- package/.framework/src/components/ui/toggle-group.tsx +81 -4
- package/.framework/src/components/ui/toggle.tsx +65 -3
- package/.framework/src/components/ui/tooltip.tsx +97 -5
- package/.framework/src/contexts/AppContext.tsx +129 -45
- package/.framework/src/contexts/AuthContext.tsx +187 -144
- package/.framework/src/hooks/use-mobile.ts +48 -2
- package/.framework/src/hooks/useApi.ts +208 -159
- package/.framework/src/hooks/useAppPath.ts +32 -23
- package/.framework/src/hooks/useApps.ts +51 -20
- package/.framework/src/hooks/useEntityList.ts +32 -78
- package/.framework/src/hooks/useEntityRecord.ts +35 -96
- package/.framework/src/hooks/useForm.ts +32 -92
- package/.framework/src/hooks/useListSchema.ts +49 -78
- package/.framework/src/hooks/useSchemaRecord.ts +114 -105
- package/.framework/src/lib/api.ts +195 -116
- package/.framework/src/lib/supabase.ts +98 -64
- package/.framework/src/lib/utils.ts +287 -151
- package/.framework/src/main.tsx +49 -3
- package/.framework/src/pages/DashboardPage.tsx +52 -29
- package/.framework/src/pages/NotFoundPage.tsx +32 -10
- package/.framework/src/pages/SetupPage.tsx +32 -12
- package/.framework/src/pages/admin/AIAgentDetailPage.tsx +119 -10
- package/.framework/src/pages/admin/AIAgentsPage.tsx +48 -19
- package/.framework/src/pages/admin/APIKeyDetailPage.tsx +187 -17
- package/.framework/src/pages/admin/APIKeysPage.tsx +98 -22
- package/.framework/src/pages/admin/AlertsConfigPage.tsx +113 -26
- package/.framework/src/pages/admin/AppDetailPage.tsx +125 -8
- package/.framework/src/pages/admin/AppsPage.tsx +49 -2
- package/.framework/src/pages/admin/DeliveriesPage.tsx +196 -0
- package/.framework/src/pages/admin/DesignedPage.tsx +32 -18
- package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +215 -484
- package/.framework/src/pages/admin/EmbeddingsPage.tsx +116 -319
- package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +34 -9
- package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +34 -9
- package/.framework/src/pages/admin/IntegratedDashboard.tsx +32 -16
- package/.framework/src/pages/admin/IntegrationDetailPage.tsx +183 -26
- package/.framework/src/pages/admin/IntegrationsPage.tsx +48 -19
- package/.framework/src/pages/admin/InvitesPage.tsx +48 -14
- package/.framework/src/pages/admin/LogsPage.tsx +422 -75
- package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +34 -9
- package/.framework/src/pages/admin/ObservabilityDashboard.tsx +113 -24
- package/.framework/src/pages/admin/PipelineDetailPage.tsx +206 -34
- package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +50 -17
- package/.framework/src/pages/admin/PipelinesPage.tsx +160 -21
- package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +378 -88
- package/.framework/src/pages/admin/PromptConfigsPage.tsx +125 -16
- package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +49 -10
- package/.framework/src/pages/admin/RoleDetailPage.tsx +130 -10
- package/.framework/src/pages/admin/RolesPage.tsx +171 -18
- package/.framework/src/pages/admin/SelectTestPage.tsx +34 -9
- package/.framework/src/pages/admin/ShadcnTestPage.tsx +49 -11
- package/.framework/src/pages/admin/SimpleDashboard.tsx +49 -10
- package/.framework/src/pages/admin/TestRunDetailPage.tsx +49 -4
- package/.framework/src/pages/admin/TestingDashboard.tsx +98 -28
- package/.framework/src/pages/admin/TimerDetailPage.tsx +143 -33
- package/.framework/src/pages/admin/TimersPage.tsx +48 -20
- package/.framework/src/pages/admin/TriggerDetailPage.tsx +118 -30
- package/.framework/src/pages/admin/TriggersPage.tsx +64 -19
- package/.framework/src/pages/admin/TypeDetailPage.tsx +138 -15
- package/.framework/src/pages/admin/TypesPage.tsx +48 -20
- package/.framework/src/pages/admin/cil/CILAgentPage.tsx +465 -0
- package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +787 -0
- package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +699 -0
- package/.framework/src/pages/admin/cil/CILFileListPage.tsx +647 -0
- package/.framework/src/pages/admin/cil/CILGraphPage.tsx +616 -0
- package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +1402 -0
- package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +614 -0
- package/.framework/src/pages/admin/cil/CILSearchPage.tsx +571 -0
- package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +731 -0
- package/.framework/src/pages/admin/kb/KBAdminPage.tsx +64 -0
- package/.framework/src/pages/auth/AuthConfirmPage.tsx +52 -51
- package/.framework/src/pages/auth/ForgotPasswordPage.tsx +31 -22
- package/.framework/src/pages/auth/LoginPage.tsx +50 -23
- package/.framework/src/pages/auth/PendingApprovalPage.tsx +31 -15
- package/.framework/src/pages/auth/RegisterPage.tsx +281 -317
- package/.framework/src/pages/spine-framework/APIPage.tsx +33 -0
- package/.framework/src/pages/spine-framework/CLIPage.tsx +33 -0
- package/.framework/src/types/auth.ts +128 -71
- package/.framework/src/types/types.ts +373 -157
- package/custom/.devin/skills/spine-workbench-discovery/SKILL.md +39 -0
- package/custom/.devin/skills/spine-workbench-idea/SKILL.md +36 -0
- package/custom/.devin/skills/spine-workbench-implement/SKILL.md +46 -0
- package/custom/.devin/skills/spine-workbench-initiative/SKILL.md +28 -0
- package/custom/.devin/skills/spine-workbench-plan/SKILL.md +38 -0
- package/docs/README.md +9 -130
- package/netlify.toml +5 -2
- package/package.json +13 -25
- package/scripts/kb-ingest-docs.ts +203 -0
- package/spine.config.json +65 -4
- package/.framework/migrations/001_schema.sql +0 -425
- package/.framework/migrations/002_rls_and_functions.sql +0 -763
- package/.framework/migrations/004_enhancements.sql +0 -43
- package/.framework/migrations/005_auth_user_trigger.sql +0 -105
- package/.framework/migrations/006_fix_current_actor_id.sql +0 -21
- package/.framework/migrations/016_invites.sql +0 -27
- package/.framework/migrations/017_fix_get_account_apps.sql +0 -78
- package/.framework/migrations/018_apps_required_roles.sql +0 -17
- package/.framework/migrations/019_triggers_unique_constraint.sql +0 -13
- package/.framework/migrations/020_get_account_apps_role_filter.sql +0 -117
- package/.framework/migrations/021_app_domains.sql +0 -112
- package/.framework/migrations/022_route_prefix_domain_unique.sql +0 -21
- package/.framework/migrations/023_match_embeddings_rpc.sql +0 -78
- package/.framework/migrations/024_messages_account_id.sql +0 -9
- package/.framework/migrations/025_retype_threads_messages.sql +0 -240
- package/.framework/migrations/026_fix_rls_policies.sql +0 -47
- package/.framework/migrations/027_embedding_lifecycle.sql +0 -176
- package/.framework/migrations/028_fix_message_data_permissions.sql +0 -49
- package/.framework/migrations/029_tighten_support_triage_prompt.sql +0 -41
- package/.framework/migrations/030_messages_updated_by.sql +0 -6
- package/.framework/migrations/031_seed_upsert_constraints.sql +0 -35
- package/docs/APPS.md +0 -232
- package/docs/ARCHITECTURE.md +0 -246
- package/docs/INSTALL.md +0 -155
- package/docs/design-schema-spec.md +0 -1837
- package/docs/dev-guides/01-create-an-app.md +0 -183
- package/docs/dev-guides/02-create-a-function.md +0 -178
- package/docs/dev-guides/03-create-a-component.md +0 -178
- package/docs/dev-guides/04-webhook-handlers.md +0 -129
- package/docs/dev-guides/05-testing.md +0 -168
- package/docs/dev-guides/README.md +0 -40
- package/docs/npm-packages-plan.md +0 -288
- package/docs/spine-core--api-reference.md +0 -822
|
@@ -1,61 +1,33 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module pipelines
|
|
3
|
-
* @audience core-contributor
|
|
4
|
-
* @layer api-handler
|
|
5
|
-
* @stability stable
|
|
6
|
-
*
|
|
7
|
-
* CRUD API for the `pipelines` table, plus execution history access.
|
|
8
|
-
* Pipelines are named lists of stages that execute sequentially via `runPipeline`
|
|
9
|
-
* in `_shared/pipeline-runner.ts`.
|
|
10
|
-
*
|
|
11
|
-
* **Routed by:** `GET/POST/PATCH/DELETE /.netlify/functions/pipelines`
|
|
12
|
-
*
|
|
13
|
-
* **Actions:**
|
|
14
|
-
* | method | ?action | handler |
|
|
15
|
-
* |--------|--------------|-----------------|
|
|
16
|
-
* | GET | by-trigger | listByTrigger |
|
|
17
|
-
* | GET | executions | getExecutions |
|
|
18
|
-
* | POST | toggle | toggle |
|
|
19
|
-
* | GET | ?id | get |
|
|
20
|
-
* | GET | (default) | list |
|
|
21
|
-
* | POST | — | create |
|
|
22
|
-
* | PATCH | — | update |
|
|
23
|
-
* | DELETE | — | remove (hard) |
|
|
24
|
-
*
|
|
25
|
-
* **Authorization:** All operations use `ctx.db` (RLS-scoped). Authenticated
|
|
26
|
-
* principal required for writes.
|
|
27
|
-
*
|
|
28
|
-
* INVARIANT: `remove` is a hard delete (no soft delete for pipelines).
|
|
29
|
-
* INVARIANT: `toggle` is a dedicated POST action — use instead of PATCH for
|
|
30
|
-
* is_active changes to ensure proper audit logging.
|
|
31
|
-
*
|
|
32
|
-
* @seeAlso pipeline-runner.ts (runPipeline — actual execution engine)
|
|
33
|
-
* @seeAlso trigger-engine.ts (calls runPipeline when triggers fire)
|
|
34
|
-
* @seeAlso audit.ts (emitLog for pipeline.* events)
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
1
|
import { createHandler } from './_shared/middleware'
|
|
38
|
-
import {
|
|
2
|
+
import { adminDb } from './_shared/db'
|
|
39
3
|
import { emitLog } from './_shared/audit'
|
|
40
4
|
import { sanitizeRecordData } from './_shared/permissions'
|
|
5
|
+
import { isSystemAdmin } from './_shared/principal'
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
41
14
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
//
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
*/
|
|
15
|
+
|
|
16
|
+
// CIL[BEGIN chunk_id="pipelines_module_header_1783932909" type="module_header" identity="module_header" parent="none"]
|
|
17
|
+
// CIL[DOC-MACRO purpose="Lists pipelines filtered by trigger type with sanitization"]
|
|
18
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Handle trigger-based pipeline listing"]
|
|
19
|
+
// CIL[DOC-CONTEXT module="pipelines" layer="api-handler" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"\\\"]"]
|
|
20
|
+
// CIL[DOC-CONTRACT inputs="ctx, _body" outputs="Array of pipeline records" errors="Throws on validation or DB errors" side_effects="Database queries, permission sanitization"]
|
|
21
|
+
// CIL[DOC-MICRO logic_summary="Filters by trigger_type, applies permission sanitization" notable_decisions="[]"]
|
|
22
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
23
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
24
|
+
// CIL[DOC-AUDIENCE audience="developer"]
|
|
25
|
+
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/pages/admin/RolesPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, \."]
|
|
26
|
+
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
27
|
+
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
28
|
+
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
29
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
30
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
59
31
|
export const listByTrigger = createHandler(async (ctx, _body) => {
|
|
60
32
|
const { trigger_type, app_id, include_inactive } = ctx.query || {}
|
|
61
33
|
|
|
@@ -67,9 +39,11 @@ export const listByTrigger = createHandler(async (ctx, _body) => {
|
|
|
67
39
|
throw new Error('Account context required')
|
|
68
40
|
}
|
|
69
41
|
|
|
70
|
-
|
|
42
|
+
const db = isSystemAdmin(ctx.principal) ? adminDb : ctx.db
|
|
43
|
+
|
|
44
|
+
let query = db
|
|
71
45
|
.from('pipelines')
|
|
72
|
-
.select(
|
|
46
|
+
.select('*')
|
|
73
47
|
.eq('trigger_type', trigger_type)
|
|
74
48
|
|
|
75
49
|
if (app_id) {
|
|
@@ -90,23 +64,21 @@ export const listByTrigger = createHandler(async (ctx, _body) => {
|
|
|
90
64
|
|
|
91
65
|
return sanitized
|
|
92
66
|
})
|
|
93
|
-
//
|
|
94
|
-
|
|
95
|
-
//
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
* @tags pipelines, list, crud, pagination
|
|
109
|
-
*/
|
|
67
|
+
// CIL[END chunk_id="pipelines_module_header_1783932909"]
|
|
68
|
+
// CIL[BEGIN chunk_id="pipelines_list_1783932909" type="function" identity="list" parent="none"]
|
|
69
|
+
// CIL[DOC-MACRO purpose="Lists all pipelines with optional app filtering"]
|
|
70
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Handle general pipeline listing"]
|
|
71
|
+
// CIL[DOC-CONTEXT module="pipelines" layer="api-handler" related_files="[\".framework/migrations/015_simplify_apps_table.sql\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"\\\"]"]
|
|
72
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Array of pipeline records" errors="Throws on validation or DB errors" side_effects="Database queries, permission sanitization"]
|
|
73
|
+
// CIL[DOC-MICRO logic_summary="Lists pipelines with optional app filter, applies sanitization" notable_decisions="[]"]
|
|
74
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
75
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
76
|
+
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 3. Direct calls: 0. Related files: .framework/migrations/015_simplify_apps_table.sql, custom/apps/cortex/functions/custom_cil-embeddings.ts, custom/apps/portal/pages/ContentPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, \."]
|
|
77
|
+
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 3. Total affected: 4."]
|
|
78
|
+
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
79
|
+
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
80
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
81
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
110
82
|
export const list = createHandler(async (ctx, body) => {
|
|
111
83
|
const { app_id, include_inactive } = ctx.query || {}
|
|
112
84
|
|
|
@@ -114,10 +86,11 @@ export const list = createHandler(async (ctx, body) => {
|
|
|
114
86
|
throw new Error('Account context required')
|
|
115
87
|
}
|
|
116
88
|
|
|
117
|
-
|
|
118
|
-
|
|
89
|
+
const db = isSystemAdmin(ctx.principal) ? adminDb : ctx.db
|
|
90
|
+
|
|
91
|
+
let query = db
|
|
119
92
|
.from('pipelines')
|
|
120
|
-
.select(
|
|
93
|
+
.select('*')
|
|
121
94
|
|
|
122
95
|
if (app_id) {
|
|
123
96
|
query = query.eq('app_id', app_id)
|
|
@@ -127,7 +100,6 @@ export const list = createHandler(async (ctx, body) => {
|
|
|
127
100
|
|
|
128
101
|
if (err) throw err
|
|
129
102
|
|
|
130
|
-
// Sanitize each record based on role permissions
|
|
131
103
|
const sanitized = []
|
|
132
104
|
for (const pipeline of data || []) {
|
|
133
105
|
sanitized.push(await sanitizeRecordData(ctx, pipeline, 'pipeline'))
|
|
@@ -135,23 +107,21 @@ export const list = createHandler(async (ctx, body) => {
|
|
|
135
107
|
|
|
136
108
|
return sanitized
|
|
137
109
|
})
|
|
138
|
-
//
|
|
139
|
-
|
|
140
|
-
//
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
* @tags pipelines, get, crud, single-record
|
|
154
|
-
*/
|
|
110
|
+
// CIL[END chunk_id="pipelines_list_1783932909"]
|
|
111
|
+
// CIL[BEGIN chunk_id="pipelines_get_1783932909" type="function" identity="get" parent="none"]
|
|
112
|
+
// CIL[DOC-MACRO purpose="Retrieves single pipeline by ID with sanitization"]
|
|
113
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Handle individual pipeline retrieval"]
|
|
114
|
+
// CIL[DOC-CONTEXT module="pipelines" layer="api-handler" related_files="[\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\".framework/src/components/ui/dialog.tsx\",\"\\\"]"]
|
|
115
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Single pipeline record" errors="Throws if ID missing or DB error" side_effects="Database query, permission sanitization"]
|
|
116
|
+
// CIL[DOC-MICRO logic_summary="Fetches pipeline by ID, applies permission sanitization" notable_decisions="[]"]
|
|
117
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
118
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
119
|
+
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 0. Direct calls: 0. Related files: .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/TypeDetailPage.tsx, custom/apps/cortex/functions/custom_cil-embeddings.ts, .framework/src/components/ui/dialog.tsx, \."]
|
|
120
|
+
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
121
|
+
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
122
|
+
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
123
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
124
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
155
125
|
export const get = createHandler(async (ctx, body) => {
|
|
156
126
|
const { id } = ctx.query || {}
|
|
157
127
|
|
|
@@ -159,34 +129,33 @@ export const get = createHandler(async (ctx, body) => {
|
|
|
159
129
|
throw new Error('Pipeline ID is required')
|
|
160
130
|
}
|
|
161
131
|
|
|
162
|
-
const
|
|
132
|
+
const db = isSystemAdmin(ctx.principal) ? adminDb : ctx.db
|
|
133
|
+
|
|
134
|
+
const { data, error: err } = await db
|
|
163
135
|
.from('pipelines')
|
|
164
|
-
.select(
|
|
136
|
+
.select('*')
|
|
165
137
|
.eq('id', id)
|
|
166
138
|
.single()
|
|
167
139
|
|
|
168
140
|
if (err) throw err
|
|
169
141
|
|
|
170
|
-
// Sanitize based on role permissions
|
|
171
142
|
return await sanitizeRecordData(ctx, data, 'pipeline')
|
|
172
143
|
})
|
|
173
|
-
//
|
|
174
|
-
|
|
175
|
-
//
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
* @tags pipelines, create, crud, audit
|
|
189
|
-
*/
|
|
144
|
+
// CIL[END chunk_id="pipelines_get_1783932909"]
|
|
145
|
+
// CIL[BEGIN chunk_id="pipelines_create_1783932909" type="function" identity="create" parent="none"]
|
|
146
|
+
// CIL[DOC-MACRO purpose="Creates new pipeline with validation and audit logging"]
|
|
147
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Handle pipeline creation with security checks"]
|
|
148
|
+
// CIL[DOC-CONTEXT module="pipelines" layer="api-handler" related_files="[\".framework/functions/_shared/schema-utils.ts\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\".framework/src/components/ui/dialog.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"\\\"]"]
|
|
149
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Created pipeline record" errors="Throws on validation or DB errors" side_effects="Database insert, audit logging"]
|
|
150
|
+
// CIL[DOC-MICRO logic_summary="Validates required fields, creates pipeline with audit trail" notable_decisions="[]"]
|
|
151
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
152
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
153
|
+
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 0. Direct calls: 0. Related files: .framework/functions/_shared/schema-utils.ts, custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, .framework/src/components/ui/dialog.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, \."]
|
|
154
|
+
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
155
|
+
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
156
|
+
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
157
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
158
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
190
159
|
export const create = createHandler(async (ctx, body) => {
|
|
191
160
|
const { app_id, name, description, trigger_type, config, stages, metadata } = body
|
|
192
161
|
|
|
@@ -223,26 +192,24 @@ export const create = createHandler(async (ctx, body) => {
|
|
|
223
192
|
|
|
224
193
|
return data
|
|
225
194
|
})
|
|
226
|
-
//
|
|
227
|
-
|
|
228
|
-
//
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
* @tags pipelines, update, crud, audit
|
|
242
|
-
*/
|
|
195
|
+
// CIL[END chunk_id="pipelines_create_1783932909"]
|
|
196
|
+
// CIL[BEGIN chunk_id="pipelines_update_1783932909" type="function" identity="update" parent="none"]
|
|
197
|
+
// CIL[DOC-MACRO purpose="Updates pipeline with selective field validation"]
|
|
198
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Handle pipeline updates with audit trail"]
|
|
199
|
+
// CIL[DOC-CONTEXT module="pipelines" layer="api-handler" related_files="[\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/components/ui/dialog.tsx\",\".framework/functions/_shared/principal.ts\",\"\\\"]"]
|
|
200
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Updated pipeline record" errors="Throws on validation or DB errors" side_effects="Database update, audit logging"]
|
|
201
|
+
// CIL[DOC-MICRO logic_summary="Updates specified fields, maintains audit trail" notable_decisions="[]"]
|
|
202
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
203
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
204
|
+
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 0. Direct calls: 0. Related files: .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/components/ui/dialog.tsx, .framework/functions/_shared/principal.ts, \."]
|
|
205
|
+
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
206
|
+
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
207
|
+
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
208
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
209
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
243
210
|
export const update = createHandler(async (ctx, body) => {
|
|
244
211
|
const id = body?.id || ctx.query?.id
|
|
245
|
-
const { id: _bodyId, name, description, config, stages, metadata } = body || {}
|
|
212
|
+
const { id: _bodyId, name, description, config, stages, metadata, trigger_type, is_active, app_id } = body || {}
|
|
246
213
|
|
|
247
214
|
if (!id) {
|
|
248
215
|
throw new Error('Pipeline ID is required')
|
|
@@ -252,7 +219,6 @@ export const update = createHandler(async (ctx, body) => {
|
|
|
252
219
|
throw new Error('User context (person and account) required')
|
|
253
220
|
}
|
|
254
221
|
|
|
255
|
-
// Get current state for audit - RLS will filter to accessible pipelines
|
|
256
222
|
const { data: current } = await ctx.db
|
|
257
223
|
.from('pipelines')
|
|
258
224
|
.select('*')
|
|
@@ -269,6 +235,9 @@ export const update = createHandler(async (ctx, body) => {
|
|
|
269
235
|
if (config !== undefined) updateData.config = config
|
|
270
236
|
if (stages !== undefined) updateData.stages = stages
|
|
271
237
|
if (metadata !== undefined) updateData.metadata = metadata
|
|
238
|
+
if (trigger_type !== undefined) updateData.trigger_type = trigger_type
|
|
239
|
+
if (is_active !== undefined) updateData.is_active = is_active
|
|
240
|
+
if (app_id !== undefined) updateData.app_id = app_id
|
|
272
241
|
|
|
273
242
|
const { data, error: err } = await ctx.db
|
|
274
243
|
.from('pipelines')
|
|
@@ -286,23 +255,21 @@ export const update = createHandler(async (ctx, body) => {
|
|
|
286
255
|
|
|
287
256
|
return data
|
|
288
257
|
})
|
|
289
|
-
//
|
|
290
|
-
|
|
291
|
-
//
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
* @tags pipelines, toggle, state-transition, audit
|
|
305
|
-
*/
|
|
258
|
+
// CIL[END chunk_id="pipelines_update_1783932909"]
|
|
259
|
+
// CIL[BEGIN chunk_id="pipelines_toggle_1783932909" type="function" identity="toggle" parent="none"]
|
|
260
|
+
// CIL[DOC-MACRO purpose="Toggles pipeline active/inactive status"]
|
|
261
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Handle pipeline activation state changes"]
|
|
262
|
+
// CIL[DOC-CONTEXT module="pipelines" layer="api-handler" related_files="[\".framework/src/pages/admin/RolesPage.tsx\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\"]"]
|
|
263
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Updated pipeline record" errors="Throws on validation or DB errors" side_effects="Database update, audit logging"]
|
|
264
|
+
// CIL[DOC-MICRO logic_summary="Updates is_active flag, tracks state changes" notable_decisions="[]"]
|
|
265
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
266
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
267
|
+
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 1. Direct calls: 0. Related files: .framework/src/pages/admin/RolesPage.tsx, .framework/src/pages/admin/IntegrationsPage.tsx, custom/apps/cortex/functions/custom_cil-embeddings.ts."]
|
|
268
|
+
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 1."]
|
|
269
|
+
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
270
|
+
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
271
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
272
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
306
273
|
export const toggle = createHandler(async (ctx, body) => {
|
|
307
274
|
const { id, is_active } = body
|
|
308
275
|
|
|
@@ -314,7 +281,6 @@ export const toggle = createHandler(async (ctx, body) => {
|
|
|
314
281
|
throw new Error('User context (person and account) required')
|
|
315
282
|
}
|
|
316
283
|
|
|
317
|
-
// Get current state for audit - RLS will filter to accessible pipelines
|
|
318
284
|
const { data: current } = await ctx.db
|
|
319
285
|
.from('pipelines')
|
|
320
286
|
.select('*')
|
|
@@ -341,23 +307,21 @@ export const toggle = createHandler(async (ctx, body) => {
|
|
|
341
307
|
|
|
342
308
|
return data
|
|
343
309
|
})
|
|
344
|
-
//
|
|
345
|
-
|
|
346
|
-
//
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
* @tags pipelines, executions, history, pagination
|
|
360
|
-
*/
|
|
310
|
+
// CIL[END chunk_id="pipelines_toggle_1783932909"]
|
|
311
|
+
// CIL[BEGIN chunk_id="pipelines_getexecutions_1783932909" type="function" identity="getExecutions" parent="none"]
|
|
312
|
+
// CIL[DOC-MACRO purpose="Retrieves execution history for specific pipeline"]
|
|
313
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Handle pipeline execution history queries"]
|
|
314
|
+
// CIL[DOC-CONTEXT module="pipelines" layer="api-handler" related_files="[\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"custom/apps/portal/pages/ContentPage.tsx\",\"\\\"]"]
|
|
315
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Array of execution records" errors="Throws if pipeline_id missing or DB error" side_effects="Database query"]
|
|
316
|
+
// CIL[DOC-MICRO logic_summary="Queries execution history with pagination" notable_decisions="[]"]
|
|
317
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
318
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
319
|
+
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, custom/apps/portal/pages/ContentPage.tsx, \."]
|
|
320
|
+
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
321
|
+
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
322
|
+
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
323
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
324
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
361
325
|
export const getExecutions = createHandler(async (ctx, _body) => {
|
|
362
326
|
const { pipeline_id, limit = 50, offset = 0 } = ctx.query || {}
|
|
363
327
|
|
|
@@ -379,23 +343,21 @@ export const getExecutions = createHandler(async (ctx, _body) => {
|
|
|
379
343
|
|
|
380
344
|
return data
|
|
381
345
|
})
|
|
382
|
-
//
|
|
383
|
-
|
|
384
|
-
//
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
* @tags pipelines, remove, delete, audit
|
|
398
|
-
*/
|
|
346
|
+
// CIL[END chunk_id="pipelines_getexecutions_1783932909"]
|
|
347
|
+
// CIL[BEGIN chunk_id="pipelines_remove_1783932909" type="function" identity="remove" parent="none"]
|
|
348
|
+
// CIL[DOC-MACRO purpose="Hard deletes pipeline with audit logging"]
|
|
349
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Handle pipeline deletion with audit trail"]
|
|
350
|
+
// CIL[DOC-CONTEXT module="pipelines" layer="api-handler" related_files="[]"]
|
|
351
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="{success: true}" errors="Throws if ID missing or DB error" side_effects="Database delete, audit logging"]
|
|
352
|
+
// CIL[DOC-MICRO logic_summary="Hard deletes pipeline, maintains audit trail" notable_decisions="[]"]
|
|
353
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
354
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
355
|
+
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
356
|
+
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
357
|
+
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
358
|
+
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
359
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
360
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
399
361
|
export const remove = createHandler(async (ctx, _body) => {
|
|
400
362
|
const id = ctx.query?.id
|
|
401
363
|
|
|
@@ -425,25 +387,21 @@ export const remove = createHandler(async (ctx, _body) => {
|
|
|
425
387
|
|
|
426
388
|
return { success: true }
|
|
427
389
|
})
|
|
428
|
-
//
|
|
429
|
-
|
|
430
|
-
//
|
|
431
|
-
|
|
432
|
-
//
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
* @depended-by [Netlify function routing]
|
|
444
|
-
* @side-effects [Delegates to appropriate handler]
|
|
445
|
-
* @tags pipelines, router, crud, netlify-function
|
|
446
|
-
*/
|
|
390
|
+
// CIL[END chunk_id="pipelines_remove_1783932909"]
|
|
391
|
+
// CIL[BEGIN chunk_id="pipelines_handler_1783932909" type="function" identity="handler" parent="none"]
|
|
392
|
+
// CIL[DOC-MACRO purpose="Routes HTTP methods and actions to pipeline handlers"]
|
|
393
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Handle request routing for pipeline operations"]
|
|
394
|
+
// CIL[DOC-CONTEXT module="pipelines" layer="api-handler" related_files="[]"]
|
|
395
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="Varies by handler" errors="Throws on unsupported methods" side_effects="Delegates to appropriate handler"]
|
|
396
|
+
// CIL[DOC-MICRO logic_summary="Routes based on action and method, delegates to handlers" notable_decisions="[]"]
|
|
397
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
398
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
399
|
+
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
400
|
+
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
401
|
+
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
402
|
+
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
403
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
404
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
447
405
|
export const handler = createHandler(async (ctx, body) => {
|
|
448
406
|
const { action } = ctx.query || {}
|
|
449
407
|
const method = ctx.query?.method || 'GET'
|
|
@@ -482,4 +440,4 @@ export const handler = createHandler(async (ctx, body) => {
|
|
|
482
440
|
|
|
483
441
|
throw new Error('Invalid action or method')
|
|
484
442
|
})
|
|
485
|
-
//
|
|
443
|
+
// CIL[END chunk_id="pipelines_handler_1783932909"]
|