spine-framework 0.3.145 → 0.4.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/.env.example +76 -0
- package/.framework/.spine-manifest.json +19 -0
- package/.framework/cli/commands/agents.ts +61 -33
- package/.framework/cli/commands/auth.ts +60 -28
- package/.framework/cli/commands/create-app.ts +212 -80
- package/.framework/cli/commands/dev.ts +184 -68
- package/.framework/cli/commands/doctor.ts +324 -152
- package/.framework/cli/commands/generate.ts +119 -68
- package/.framework/cli/commands/init.ts +141 -242
- package/.framework/cli/commands/install-app.ts +1336 -314
- package/.framework/cli/commands/items.ts +31 -29
- package/.framework/cli/commands/migrate.ts +299 -156
- package/.framework/cli/commands/migrations.ts +62 -30
- package/.framework/cli/commands/pipelines.ts +31 -29
- package/.framework/cli/commands/status.ts +105 -45
- package/.framework/cli/commands/system.ts +47 -42
- package/.framework/cli/commands/test.ts +161 -102
- package/.framework/cli/commands/upgrade.ts +260 -0
- package/.framework/cli/commands/validate-app.ts +517 -161
- package/.framework/cli/context.ts +117 -85
- package/.framework/cli/env-loader.ts +74 -43
- package/.framework/cli/index.ts +70 -46
- package/.framework/cli/lib/project-files.ts +404 -0
- package/.framework/docs/guides/testing-guide.md +1 -1
- package/.framework/docs/runtime-types.md +72 -72
- package/.framework/functions/_shared/access.ts +84 -0
- package/.framework/functions/_shared/agent-runner.ts +5051 -1026
- package/.framework/functions/_shared/app-manifest.ts +214 -94
- package/.framework/functions/_shared/ast.ts +214 -0
- package/.framework/functions/_shared/audit.ts +91 -55
- package/.framework/functions/_shared/cil.ts +368 -127
- package/.framework/functions/_shared/db.ts +337 -68
- package/.framework/functions/_shared/funnel.ts +228 -0
- package/.framework/functions/_shared/geo.ts +105 -0
- package/.framework/functions/_shared/hash-api-key.ts +94 -17
- package/.framework/functions/_shared/index.ts +22 -224
- package/.framework/functions/_shared/kb.ts +832 -58
- package/.framework/functions/_shared/llm.ts +118 -18
- package/.framework/functions/_shared/logging.ts +317 -19
- package/.framework/functions/_shared/middleware.ts +701 -131
- package/.framework/functions/_shared/notify.ts +70 -0
- package/.framework/functions/_shared/outcomes.ts +34 -19
- package/.framework/functions/_shared/permissions.ts +501 -315
- package/.framework/functions/_shared/pipeline-runner.ts +704 -155
- package/.framework/functions/_shared/principal.ts +436 -263
- package/.framework/functions/_shared/rate-limit.ts +233 -0
- package/.framework/functions/_shared/resolve-credentials.ts +86 -19
- package/.framework/functions/_shared/resolve-ids.ts +203 -139
- package/.framework/functions/_shared/retry-deliveries.ts +51 -16
- package/.framework/functions/_shared/schema-utils.ts +602 -521
- package/.framework/functions/_shared/security.ts +345 -0
- package/.framework/functions/_shared/testing.ts +197 -172
- package/.framework/functions/_shared/tracing.ts +351 -21
- package/.framework/functions/_shared/trigger-engine.ts +425 -136
- package/.framework/functions/_shared/webhook-registration.ts +71 -70
- package/.framework/functions/_shared/webhook-registry.ts +126 -83
- package/.framework/functions/account-nodes.ts +30 -30
- package/.framework/functions/adapters/generic-webhook-inbound.ts +49 -16
- package/.framework/functions/adapters/generic-webhook-outbound.ts +17 -17
- package/.framework/functions/adapters/openai-outbound.ts +15 -16
- package/.framework/functions/admin-data.ts +596 -173
- package/.framework/functions/admin-funnel.ts +64 -60
- package/.framework/functions/admin-install-funnel.ts +84 -66
- package/.framework/functions/admin-signals.ts +69 -51
- package/.framework/functions/ai-agents.ts +431 -106
- package/.framework/functions/ai-interactions.ts +186 -112
- package/.framework/functions/api-keys.ts +107 -107
- package/.framework/functions/apps.ts +154 -136
- package/.framework/functions/auth.ts +83 -65
- package/.framework/functions/cil-agent-ingest.ts +189 -232
- package/.framework/functions/cil-agent.ts +433 -177
- package/.framework/functions/cil-callmap.ts +642 -430
- package/.framework/functions/cil-config.ts +139 -135
- package/.framework/functions/cil-context.ts +214 -127
- package/.framework/functions/cil-doc.ts +587 -458
- package/.framework/functions/cil-embeddings.ts +453 -364
- package/.framework/functions/cil-graph.ts +427 -142
- package/.framework/functions/cil-ingest.ts +1418 -1154
- package/.framework/functions/cil-pipeline.ts +276 -21
- package/.framework/functions/cil-project.ts +659 -132
- package/.framework/functions/cil-validate.ts +198 -164
- package/.framework/functions/debug-auth.ts +57 -55
- package/.framework/functions/deliveries.ts +80 -21
- package/.framework/functions/embeddings.ts +1023 -318
- package/.framework/functions/eval-harness.ts +146 -108
- package/.framework/functions/integration-outbound.ts +205 -75
- package/.framework/functions/integration-routes.ts +128 -23
- package/.framework/functions/integrations.ts +125 -100
- package/.framework/functions/invites.ts +1095 -460
- package/.framework/functions/item-progress.ts +158 -102
- package/.framework/functions/kb.ts +34 -10
- package/.framework/functions/logs.ts +133 -133
- package/.framework/functions/observability.ts +152 -122
- package/.framework/functions/pipeline-executions.ts +147 -132
- package/.framework/functions/pipelines.ts +134 -119
- package/.framework/functions/prompt-configs.ts +96 -80
- package/.framework/functions/roles.ts +112 -82
- package/.framework/functions/security.ts +450 -0
- package/.framework/functions/system-cron.ts +117 -80
- package/.framework/functions/system.ts +158 -98
- package/.framework/functions/tests.ts +29 -29
- package/.framework/functions/timers.ts +94 -95
- package/.framework/functions/trigger-scheduler.ts +10 -0
- package/.framework/functions/triggers.ts +179 -149
- package/.framework/functions/types.ts +137 -125
- package/.framework/mcp/index.ts +133 -0
- package/.framework/mcp/load-env.ts +60 -0
- package/.framework/mcp/shared/app-manifest.ts +275 -0
- package/.framework/mcp/shared/db.ts +477 -0
- package/.framework/mcp/shared/kb.ts +118 -0
- package/.framework/mcp/tools/architect.ts +431 -0
- package/.framework/mcp/tools/cil/context.ts +345 -0
- package/.framework/mcp/tools/cil/graph.ts +242 -0
- package/.framework/mcp/tools/cil/ingest.ts +1217 -0
- package/.framework/mcp/tools/cil/pipeline-orchestrator.ts +693 -0
- package/.framework/mcp/tools/cil/pipeline.ts +767 -0
- package/.framework/mcp/tools/cil/project.ts +791 -0
- package/.framework/mcp/tools/cil/retrieval.ts +336 -0
- package/.framework/mcp/tools/cil/search-core.ts +454 -0
- package/.framework/mcp/tools/cil/search.ts +97 -0
- package/.framework/mcp/tools/cil/suggest.ts +186 -0
- package/.framework/mcp/tools/cil/validate.ts +1369 -0
- package/.framework/mcp/tools/kb/delete.ts +139 -0
- package/.framework/mcp/tools/kb/index.ts +52 -0
- package/.framework/mcp/tools/kb/ingest.ts +84 -0
- package/.framework/mcp/tools/kb/list-types.ts +102 -0
- package/.framework/mcp/tools/kb/publish.ts +100 -0
- package/.framework/mcp/tools/kb/reindex.ts +86 -0
- package/.framework/mcp/tools/kb/revoke.ts +85 -0
- package/.framework/mcp/tools/kb/search.ts +101 -0
- package/.framework/mcp/tools/kb/upsert.ts +125 -0
- package/.framework/mcp/tools/observability.ts +510 -0
- package/.framework/migrations/001_core_schema.sql +15 -0
- package/.framework/migrations/002_core_rls_and_functions.sql +15 -0
- package/.framework/migrations/003_core_system_data.sql +16 -1
- package/.framework/migrations/004_core_rpc_and_broker.sql +17 -1
- package/.framework/migrations/005_core_observability.sql +17 -1
- package/.framework/migrations/006_security_hardening_rls.sql +15 -0
- package/.framework/migrations/007_kb_article_list.sql +17 -1
- package/.framework/migrations/008_items_target.sql +15 -0
- package/.framework/migrations/009_roles_slug_unique.sql +15 -0
- package/.framework/migrations/010_auth_user_trigger.sql +15 -0
- package/.framework/migrations/011_spine_system_account.sql +16 -0
- package/.framework/migrations/012_service_role_grants.sql +16 -0
- package/.framework/migrations/013_get_account_apps_role_filter.sql +15 -0
- package/.framework/migrations/014_apps_required_roles.sql +16 -0
- package/.framework/migrations/015_types_kind_slug_unique.sql +15 -0
- package/.framework/migrations/016_cil_types.sql +281 -0
- package/.framework/migrations/017_cil_stable_ids.sql +37 -0
- package/.framework/migrations/018_runtime_tables.sql +129 -0
- package/.framework/migrations/019_agent_prompt_columns.sql +56 -0
- package/.framework/migrations/020_schema_reconciliation.sql +67 -0
- package/.framework/migrations/021_kb_embedding_lifecycle.sql +31 -0
- package/.framework/migrations/032_cil_status_migration.sql +73 -0
- package/.framework/migrations/033_cil_versioning.sql +73 -0
- package/.framework/migrations/034_match_embeddings_knn.sql +115 -0
- package/.framework/migrations/035_rate_limits.sql +55 -0
- package/.framework/migrations/036_demo_record_flags.sql +72 -0
- package/.framework/migrations/037_kb_types_canonical.sql +244 -0
- package/.framework/migrations/038_drop_demo_record_flags.sql +38 -0
- package/.framework/migrations/042_registration_hierarchy.sql +309 -0
- package/.framework/migrations/043_policy_actor_cleanup.sql +39 -0
- package/.framework/migrations/044_match_embeddings_filtered_knn.sql +151 -0
- package/.framework/migrations/045_security_critical_rls.sql +139 -0
- package/.framework/migrations/046_security_missing_rls.sql +79 -0
- package/.framework/migrations/047_people_updated_by.sql +27 -0
- package/.framework/migrations/048_watcher_last_seen_at.sql +24 -0
- package/.framework/migrations/049_security_blocklist.sql +148 -0
- package/.framework/migrations/050_notifications.sql +49 -0
- package/.framework/migrations/051_message_agent_fields.sql +74 -0
- package/.framework/migrations/052_registration_security.sql +421 -0
- package/.framework/migrations/053_builtin_action_seeds.sql +66 -0
- package/.framework/migrations/054_kb_ingest_lease.sql +157 -0
- package/.framework/migrations/055_type_id_drift_reconciliation.sql +33 -0
- package/.framework/migrations/056_slug_column_reconciliation.sql +38 -0
- package/.framework/migrations/057_pipelines_slug_identity.sql +14 -0
- package/.framework/migrations/058_account_data_field_declarations.sql +53 -0
- package/.framework/migrations/059_registration_placement_fixes.sql +269 -0
- package/.framework/migrations/060_account_person_record_permissions.sql +38 -0
- package/.framework/migrations/061_fk_dedup.sql +32 -0
- package/.framework/public/spine-logo.svg +10 -3
- package/.framework/scripts/app-install-cli.ts +190 -93
- package/.framework/scripts/assemble-frontend.sh +127 -44
- package/.framework/scripts/assemble-functions.sh +128 -30
- package/.framework/scripts/boundary-check.sh +6 -2
- package/.framework/scripts/build-manifest.sh +24 -68
- package/.framework/scripts/check-core-integrity.sh +15 -76
- package/.framework/scripts/checksum-manifest.mts +343 -0
- package/.framework/scripts/cil-migrate-markers.ts +403 -0
- package/.framework/scripts/fix-cil-markers.mjs +176 -0
- package/.framework/scripts/verify-integrity.sh +21 -57
- package/.framework/scripts/verify-manifest.mts +305 -0
- package/.framework/seeds/types/funnel_signal_use.json +74 -21
- package/.framework/seeds/types/spine_instance.json +73 -21
- package/.framework/src/App.tsx +118 -72
- package/.framework/src/apps/admin/index.tsx +855 -58
- package/.framework/src/components/AppWrapper.tsx +43 -45
- package/.framework/src/components/CustomAppLoader.tsx +160 -116
- package/.framework/src/components/admin/AdminListPage.tsx +46 -44
- package/.framework/src/components/admin/AdminSidebar.tsx +57 -47
- package/.framework/src/components/admin/AdminStatsCard.tsx +46 -44
- package/.framework/src/components/admin/PageInstructions.tsx +98 -2
- package/.framework/src/components/admin/SortableTableHeader.tsx +44 -45
- package/.framework/src/components/app-shell/GenericAppShell.tsx +64 -65
- package/.framework/src/components/app-shell/GenericDetailPage.tsx +44 -47
- package/.framework/src/components/app-shell/GenericListPage.tsx +45 -49
- package/.framework/src/components/app-sidebar.tsx +42 -45
- package/.framework/src/components/auth/ProtectedRoute.tsx +48 -41
- package/.framework/src/components/auth/TurnstileWidget.tsx +27 -0
- package/.framework/src/components/kb/KBArticleEditor.tsx +231 -22
- package/.framework/src/components/kb/KBArticleList.tsx +251 -10
- package/.framework/src/components/layout/AppShell.tsx +51 -45
- package/.framework/src/components/layout/Header.tsx +42 -43
- package/.framework/src/components/layout/Layout.tsx +46 -46
- package/.framework/src/components/layout/Sidebar.tsx +196 -96
- package/.framework/src/components/runtime/DataDetailHeader.tsx +55 -30
- package/.framework/src/components/runtime/DataDetailPage.tsx +31 -269
- package/.framework/src/components/runtime/DataFilters.tsx +49 -74
- package/.framework/src/components/runtime/DataHeader.tsx +53 -32
- package/.framework/src/components/runtime/DataListPage.tsx +51 -155
- package/.framework/src/components/runtime/DataStats.tsx +66 -44
- package/.framework/src/components/runtime/DataTable.tsx +49 -149
- package/.framework/src/components/runtime/SchemaDetailForm.tsx +45 -75
- package/.framework/src/components/runtime/index.ts +119 -16
- package/.framework/src/components/search-form.tsx +46 -29
- package/.framework/src/components/shared/AgentView.tsx +65 -48
- package/.framework/src/components/shared/FieldRenderer.tsx +144 -50
- package/.framework/src/components/shared/InviteManager.tsx +207 -97
- package/.framework/src/components/shared/MemberList.tsx +97 -0
- package/.framework/src/components/shared/SchemaFields.tsx +107 -86
- package/.framework/src/components/ui/DataTable.tsx +80 -68
- package/.framework/src/components/ui/Form.tsx +157 -146
- package/.framework/src/components/ui/ItemCard.tsx +74 -67
- package/.framework/src/components/ui/ItemListView.tsx +73 -68
- package/.framework/src/components/ui/LoadingSpinner.tsx +43 -48
- package/.framework/src/components/ui/Modal.tsx +78 -68
- package/.framework/src/components/ui/RichTextEditor.tsx +89 -69
- package/.framework/src/components/ui/accordion.tsx +85 -86
- package/.framework/src/components/ui/alert-dialog.tsx +197 -184
- package/.framework/src/components/ui/alert.tsx +105 -94
- package/.framework/src/components/ui/aspect-ratio.tsx +57 -43
- package/.framework/src/components/ui/avatar.tsx +122 -107
- package/.framework/src/components/ui/badge.tsx +60 -55
- package/.framework/src/components/ui/breadcrumb.tsx +127 -128
- package/.framework/src/components/ui/button-group.tsx +86 -72
- package/.framework/src/components/ui/button.tsx +71 -50
- package/.framework/src/components/ui/calendar.tsx +72 -57
- package/.framework/src/components/ui/card.tsx +136 -129
- package/.framework/src/components/ui/carousel.tsx +226 -107
- package/.framework/src/components/ui/chart.tsx +252 -147
- package/.framework/src/components/ui/checkbox.tsx +43 -44
- package/.framework/src/components/ui/collapsible.tsx +86 -71
- package/.framework/src/components/ui/combobox.tsx +282 -249
- package/.framework/src/components/ui/command.tsx +158 -146
- package/.framework/src/components/ui/context-menu.tsx +239 -240
- package/.framework/src/components/ui/dialog.tsx +174 -157
- package/.framework/src/components/ui/direction.tsx +72 -56
- package/.framework/src/components/ui/drawer.tsx +168 -169
- package/.framework/src/components/ui/dropdown-menu.tsx +254 -223
- package/.framework/src/components/ui/empty.tsx +131 -120
- package/.framework/src/components/ui/field.tsx +205 -173
- package/.framework/src/components/ui/hover-card.tsx +71 -72
- package/.framework/src/components/ui/input-group.tsx +148 -133
- package/.framework/src/components/ui/input-otp.tsx +99 -86
- package/.framework/src/components/ui/input.tsx +43 -41
- package/.framework/src/components/ui/item.tsx +207 -185
- package/.framework/src/components/ui/kbd.tsx +57 -56
- package/.framework/src/components/ui/label.tsx +45 -41
- package/.framework/src/components/ui/menubar.tsx +268 -236
- package/.framework/src/components/ui/native-select.tsx +85 -86
- package/.framework/src/components/ui/navigation-menu.tsx +166 -156
- package/.framework/src/components/ui/pagination.tsx +131 -141
- package/.framework/src/components/ui/popover.tsx +125 -128
- package/.framework/src/components/ui/progress.tsx +47 -44
- package/.framework/src/components/ui/radio-group.tsx +60 -55
- package/.framework/src/components/ui/resizable.tsx +85 -72
- package/.framework/src/components/ui/scroll-area.tsx +57 -58
- package/.framework/src/components/ui/select.tsx +182 -169
- package/.framework/src/components/ui/separator.tsx +42 -43
- package/.framework/src/components/ui/sheet.tsx +170 -159
- package/.framework/src/components/ui/sidebar.tsx +395 -398
- package/.framework/src/components/ui/skeleton.tsx +42 -43
- package/.framework/src/components/ui/slider.tsx +61 -44
- package/.framework/src/components/ui/sonner.tsx +44 -44
- package/.framework/src/components/ui/spinner.tsx +47 -42
- package/.framework/src/components/ui/switch.tsx +56 -42
- package/.framework/src/components/ui/table-primitives.tsx +272 -132
- package/.framework/src/components/ui/table.tsx +140 -142
- package/.framework/src/components/ui/tabs.tsx +110 -93
- package/.framework/src/components/ui/textarea.tsx +43 -44
- package/.framework/src/components/ui/toggle-group.tsx +87 -71
- package/.framework/src/components/ui/toggle.tsx +56 -56
- package/.framework/src/components/ui/tooltip.tsx +99 -85
- package/.framework/src/contexts/AppContext.tsx +166 -114
- package/.framework/src/contexts/AuthContext.tsx +232 -137
- package/.framework/src/hooks/use-mobile.ts +43 -44
- package/.framework/src/hooks/useApi.ts +185 -172
- package/.framework/src/hooks/useAppPath.ts +31 -29
- package/.framework/src/hooks/useApps.ts +77 -42
- package/.framework/src/hooks/useEntityList.ts +66 -29
- package/.framework/src/hooks/useEntityRecord.ts +76 -32
- package/.framework/src/hooks/useForm.ts +62 -30
- package/.framework/src/hooks/useListSchema.ts +60 -43
- package/.framework/src/hooks/useSchemaRecord.ts +115 -95
- package/.framework/src/lib/api.ts +258 -134
- package/.framework/src/lib/registration.ts +181 -0
- package/.framework/src/lib/supabase.ts +118 -81
- package/.framework/src/lib/utils.ts +266 -266
- package/.framework/src/main.tsx +43 -44
- package/.framework/src/pages/DashboardPage.tsx +44 -43
- package/.framework/src/pages/NoAppPage.tsx +50 -0
- package/.framework/src/pages/NotFoundPage.tsx +32 -29
- package/.framework/src/pages/SetupPage.tsx +34 -33
- package/.framework/src/pages/admin/AIAgentDetailPage.tsx +69 -58
- package/.framework/src/pages/admin/AIAgentsPage.tsx +43 -40
- package/.framework/src/pages/admin/APIKeyDetailPage.tsx +63 -55
- package/.framework/src/pages/admin/APIKeysPage.tsx +44 -42
- package/.framework/src/pages/admin/AlertsConfigPage.tsx +117 -94
- package/.framework/src/pages/admin/AppDetailPage.tsx +48 -42
- package/.framework/src/pages/admin/AppsPage.tsx +45 -42
- package/.framework/src/pages/admin/DeliveriesPage.tsx +49 -17
- package/.framework/src/pages/admin/DesignedPage.tsx +31 -30
- package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +58 -0
- package/.framework/src/pages/admin/EmbeddingsPage.tsx +49 -0
- package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +31 -29
- package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +46 -29
- package/.framework/src/pages/admin/IntegratedDashboard.tsx +32 -29
- package/.framework/src/pages/admin/IntegrationDetailPage.tsx +68 -55
- package/.framework/src/pages/admin/IntegrationsPage.tsx +45 -42
- package/.framework/src/pages/admin/InvitesPage.tsx +60 -44
- package/.framework/src/pages/admin/LogsPage.tsx +87 -137
- package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +31 -29
- package/.framework/src/pages/admin/ObservabilityDashboard.tsx +150 -89
- package/.framework/src/pages/admin/PipelineDetailPage.tsx +77 -104
- package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +44 -43
- package/.framework/src/pages/admin/PipelinesPage.tsx +59 -145
- package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +53 -42
- package/.framework/src/pages/admin/PromptConfigsPage.tsx +47 -117
- package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +31 -44
- package/.framework/src/pages/admin/RoleDetailPage.tsx +49 -92
- package/.framework/src/pages/admin/RolesPage.tsx +47 -164
- package/.framework/src/pages/admin/SecurityPage.tsx +310 -0
- package/.framework/src/pages/admin/SelectTestPage.tsx +30 -32
- package/.framework/src/pages/admin/ShadcnTestPage.tsx +37 -44
- package/.framework/src/pages/admin/SimpleDashboard.tsx +32 -44
- package/.framework/src/pages/admin/TestRunDetailPage.tsx +97 -44
- package/.framework/src/pages/admin/TestingDashboard.tsx +126 -71
- package/.framework/src/pages/admin/TimerDetailPage.tsx +67 -55
- package/.framework/src/pages/admin/TimersPage.tsx +44 -42
- package/.framework/src/pages/admin/TriggerDetailPage.tsx +47 -42
- package/.framework/src/pages/admin/TriggersPage.tsx +58 -57
- package/.framework/src/pages/admin/TypeDetailPage.tsx +91 -55
- package/.framework/src/pages/admin/TypesPage.tsx +45 -42
- package/.framework/src/pages/admin/cil/CILAgentPage.tsx +258 -128
- package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +127 -123
- package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +308 -235
- package/.framework/src/pages/admin/cil/CILFileListPage.tsx +159 -110
- package/.framework/src/pages/admin/cil/CILFileSelectPage.tsx +432 -0
- package/.framework/src/pages/admin/cil/CILGraphPage.tsx +200 -178
- package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +286 -239
- package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +211 -90
- package/.framework/src/pages/admin/cil/CILSearchPage.tsx +156 -143
- package/.framework/src/pages/admin/cil/CILSuggestionsPage.tsx +379 -0
- package/.framework/src/pages/admin/cil/CILVersionsPage.tsx +337 -0
- package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +219 -214
- package/.framework/src/pages/admin/kb/KBAdminPage.tsx +64 -0
- package/.framework/src/pages/auth/AuthConfirmPage.tsx +135 -65
- package/.framework/src/pages/auth/ForgotPasswordPage.tsx +39 -31
- package/.framework/src/pages/auth/LoginPage.tsx +38 -32
- package/.framework/src/pages/auth/PendingApprovalPage.tsx +31 -28
- package/.framework/src/pages/auth/RegisterPage.tsx +429 -155
- package/.framework/src/pages/spine-framework/APIPage.tsx +33 -30
- package/.framework/src/pages/spine-framework/CLIPage.tsx +32 -30
- package/.framework/src/types/auth.ts +101 -93
- package/.framework/src/types/types.ts +283 -262
- package/.framework/templates/project.json +87 -0
- package/.framework/templates/spine.config.neutral.json +7 -0
- package/.framework/tests/api/api-surface.test.ts +381 -0
- package/.framework/tests/fixtures/seed.ts +427 -0
- package/.framework/tests/fixtures/teardown.ts +228 -0
- package/.framework/tests/reporter.ts +351 -0
- package/.framework/tests/setup.ts +135 -0
- package/.framework/tests/ui/ui-sweep.ts +278 -0
- package/.framework/tests/unit/admin-data-logger.test.ts +310 -0
- package/.framework/tests/unit/agent-runner.test.ts +2389 -0
- package/.framework/tests/unit/ai-interactions.test.ts +81 -0
- package/.framework/tests/unit/app-manifest.test.ts +359 -0
- package/.framework/tests/unit/assembly-scripts.test.ts +172 -0
- package/.framework/tests/unit/cil-determinism.test.ts +85 -0
- package/.framework/tests/unit/core-isolation.test.ts +153 -0
- package/.framework/tests/unit/funnel-signals.test.ts +135 -0
- package/.framework/tests/unit/install-app.test.ts +1759 -0
- package/.framework/tests/unit/invites-security.test.ts +572 -0
- package/.framework/tests/unit/kb-ingest-lease.test.ts +287 -0
- package/.framework/tests/unit/kb-search.test.ts +119 -0
- package/.framework/tests/unit/migrate.test.ts +509 -0
- package/.framework/tests/unit/notify.test.ts +136 -0
- package/.framework/tests/unit/permissions.test.ts +269 -0
- package/.framework/tests/unit/pipeline-runner.test.ts +755 -0
- package/.framework/tests/unit/principal-cache.test.ts +138 -0
- package/.framework/tests/unit/retrieval-golden.test.ts +520 -0
- package/.framework/tests/unit/runtime-isolation.test.ts +642 -0
- package/.framework/tests/unit/schema-utils.test.ts +225 -0
- package/.framework/tests/unit/trigger-engine.test.ts +513 -0
- package/.framework/tests/unit/validate-app.test.ts +527 -0
- package/README.md +34 -3
- package/bin/spine-framework.cjs +1 -0
- package/config/tailwind.config.cjs +7 -0
- package/config/tsconfig.functions.json +42 -0
- package/config/tsconfig.json +37 -9
- package/config/vite.config.ts +31 -2
- package/netlify.toml +31 -3
- package/package.json +46 -29
- package/scripts/assemble-frontend.sh +127 -44
- package/scripts/assemble-functions.sh +127 -29
- package/scripts/boundary-check.sh +6 -2
- package/scripts/build-manifest.sh +24 -68
- package/scripts/checksum-manifest.mts +345 -0
- package/scripts/dev-clean.sh +86 -0
- package/scripts/dev-netlify.sh +49 -0
- package/scripts/netlify-dev-wrapper.sh +2 -0
- package/scripts/verify-install.ts +358 -0
- package/scripts/verify-integrity.sh +21 -57
- package/scripts/verify-manifest.mts +305 -0
- package/templates/project/gitignore +45 -0
- package/{config → templates/project}/package-lock.json +22335 -9366
- package/vitest.config.ts +46 -0
- package/.framework/public/spine.config.json +0 -91
- package/config/deno.lock +0 -108
- package/config/tsconfig.node.tsbuildinfo +0 -1
- package/config/tsconfig.tsbuildinfo +0 -1
- package/config/vite.config.d.ts +0 -2
- package/custom/.devin/AGENT.md +0 -357
- package/custom/.devin/skills/install-app/SKILL.md +0 -39
- package/custom/.devin/skills/spine-workbench-discovery/SKILL.md +0 -39
- package/custom/.devin/skills/spine-workbench-idea/SKILL.md +0 -36
- package/custom/.devin/skills/spine-workbench-implement/SKILL.md +0 -46
- package/custom/.devin/skills/spine-workbench-initiative/SKILL.md +0 -28
- package/custom/.devin/skills/spine-workbench-plan/SKILL.md +0 -38
- package/custom/.devin/workflows/app-install.yaml +0 -83
- package/custom/README.md +0 -79
- package/docs/README.md +0 -15
- package/scripts/app-install-cli.ts +0 -286
- package/scripts/check-core-integrity.sh +0 -82
- package/scripts/ingest-chunks.cjs +0 -202
- package/scripts/kb-chunk-parser.cjs +0 -312
- package/scripts/kb-chunk-parser.ts +0 -330
- package/scripts/kb-ingest-docs.ts +0 -203
- package/scripts/load-test-app-install.ts +0 -484
- package/scripts/test-login.js +0 -33
- package/spine.config.json +0 -91
|
@@ -1,7 +1,23 @@
|
|
|
1
|
+
// CIL[BEGIN stable_id="~/.framework/functions/pipeline-executions.ts:module_header:module_header" type="module_header" identity="module_header" parent="~/.framework/functions/pipeline-executions.ts"]
|
|
2
|
+
// CIL[DOC-MACRO purpose="Import shared helpers and expose the pipeline-executions handler"]
|
|
3
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Provide the module imports and top-level exported handler for pipeline execution operations"]
|
|
4
|
+
// CIL[DOC-CONTEXT module="pipeline-executions" layer="functions" related_files=".framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts,.framework/functions/_shared/middleware.ts,.framework/functions/_shared/principal.ts"]
|
|
5
|
+
// CIL[DOC-CONTRACT inputs="none" outputs="none" errors="none" side_effects="none"]
|
|
6
|
+
// CIL[DOC-MICRO logic_summary="Imports middleware, audit, database, and principal helpers used by the pipeline execution handlers" notable_decisions="[]"]
|
|
7
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
8
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
9
|
+
// CIL[DOC-AUDIENCE audience="framework developers"]
|
|
1
10
|
import { createHandler, json, error, parseBody } from './_shared/middleware'
|
|
2
11
|
import { emitLog } from './_shared/audit'
|
|
3
12
|
import { adminDb } from './_shared/db'
|
|
4
13
|
import { isSystemAdmin } from './_shared/principal'
|
|
14
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Import shared helpers and expose the pipeline-executions handler'; No verified external callers; imports: .framework/functions/_shared/middleware.ts,.framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts"]
|
|
15
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
16
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
17
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
18
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
19
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
20
|
+
// CIL[END stable_id="~/.framework/functions/pipeline-executions.ts:module_header:module_header"]
|
|
5
21
|
|
|
6
22
|
|
|
7
23
|
|
|
@@ -12,21 +28,14 @@ import { isSystemAdmin } from './_shared/principal'
|
|
|
12
28
|
|
|
13
29
|
|
|
14
30
|
|
|
15
|
-
// CIL[BEGIN
|
|
16
|
-
// CIL[DOC-MACRO purpose="
|
|
17
|
-
// CIL[DOC-RESPONSIBILITY responsibility="
|
|
18
|
-
// CIL[DOC-CONTEXT module="pipeline-executions" layer="
|
|
19
|
-
// CIL[DOC-CONTRACT inputs="ctx,
|
|
20
|
-
// CIL[DOC-MICRO logic_summary="
|
|
21
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.
|
|
31
|
+
// CIL[BEGIN stable_id="~/.framework/functions/pipeline-executions.ts:list:constant" type="constant" identity="list" parent="~/.framework/functions/pipeline-executions.ts"]
|
|
32
|
+
// CIL[DOC-MACRO purpose="List pipeline executions with optional filters and pagination"]
|
|
33
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Return a paginated list of pipeline executions, optionally filtered by pipeline_id and status"]
|
|
34
|
+
// CIL[DOC-CONTEXT module="pipeline-executions" layer="functions" related_files=".framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts,.framework/functions/_shared/middleware.ts,.framework/functions/_shared/principal.ts,.framework/functions/pipeline-executions.ts"]
|
|
35
|
+
// CIL[DOC-CONTRACT inputs="ctx.query with optional pipeline_id, status, limit, offset" outputs="Array of pipeline execution records" errors="Account context required for non-admins; database query errors" side_effects="None"]
|
|
36
|
+
// CIL[DOC-MICRO logic_summary="Choose admin or account DB, build a base query, apply optional equality filters, set a range for pagination, and return data or an empty array" notable_decisions="[]"]
|
|
37
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
22
38
|
// CIL[DOC-STABILITY stability="stable"]
|
|
23
|
-
// CIL[DOC-AUDIENCE audience="developer"]
|
|
24
|
-
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, .framework/src/pages/admin/RolesPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/components/ui/dialog.tsx, .framework/functions/_shared/principal.ts, \."]
|
|
25
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
26
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
27
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
28
|
-
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
29
|
-
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
30
39
|
export const list = createHandler(async (ctx, body) => {
|
|
31
40
|
const { pipeline_id, status, limit = 100, offset = 0 } = ctx.query || {}
|
|
32
41
|
const db = isSystemAdmin(ctx.principal) ? adminDb : ctx.db
|
|
@@ -52,21 +61,21 @@ export const list = createHandler(async (ctx, body) => {
|
|
|
52
61
|
|
|
53
62
|
return data || []
|
|
54
63
|
})
|
|
55
|
-
// CIL[
|
|
56
|
-
// CIL[
|
|
57
|
-
// CIL[DOC-
|
|
58
|
-
// CIL[DOC-
|
|
59
|
-
// CIL[DOC-CONTEXT module="pipeline-executions" layer="api-handler" related_files="[\".framework/functions/_shared/schema-utils.ts\",\".framework/src/components/layout/Sidebar.tsx\",\".framework/migrations/025_retype_threads_messages.sql\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
|
|
60
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Single execution record" errors="Throws if ID missing or DB error" side_effects="Database query"]
|
|
61
|
-
// CIL[DOC-MICRO logic_summary="Fetches execution by ID with related data" notable_decisions="[]"]
|
|
62
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
63
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
64
|
-
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 3. Direct calls: 0. Related files: .framework/functions/_shared/schema-utils.ts, .framework/src/components/layout/Sidebar.tsx, .framework/migrations/025_retype_threads_messages.sql, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
|
|
65
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 3. Total affected: 4."]
|
|
66
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
67
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
64
|
+
// CIL[DOC-VECTOR type="context" content="purpose='List pipeline executions with optional filters and pagination'; No verified external callers; imports: .framework/functions/_shared/middleware.ts,.framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts"]
|
|
65
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
66
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
67
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
68
68
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
69
69
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
70
|
+
// CIL[END stable_id="~/.framework/functions/pipeline-executions.ts:list:constant"]
|
|
71
|
+
// CIL[BEGIN stable_id="~/.framework/functions/pipeline-executions.ts:get:constant" type="constant" identity="get" parent="~/.framework/functions/pipeline-executions.ts"]
|
|
72
|
+
// CIL[DOC-MACRO purpose="Retrieve a single pipeline execution by ID"]
|
|
73
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Return the pipeline execution record matching the provided id"]
|
|
74
|
+
// CIL[DOC-CONTEXT module="pipeline-executions" layer="functions" related_files=".framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts,.framework/functions/_shared/middleware.ts,.framework/functions/_shared/principal.ts,.framework/functions/pipeline-executions.ts"]
|
|
75
|
+
// CIL[DOC-CONTRACT inputs="ctx.query.id" outputs="Single pipeline execution record" errors="Missing execution ID; database query errors" side_effects="None"]
|
|
76
|
+
// CIL[DOC-MICRO logic_summary="Validate the id, query the database for a single row, throw on error, and return the record" notable_decisions="[]"]
|
|
77
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
78
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
70
79
|
export const get = createHandler(async (ctx, body) => {
|
|
71
80
|
const { id } = ctx.query || {}
|
|
72
81
|
|
|
@@ -86,21 +95,21 @@ export const get = createHandler(async (ctx, body) => {
|
|
|
86
95
|
|
|
87
96
|
return data
|
|
88
97
|
})
|
|
89
|
-
// CIL[
|
|
90
|
-
// CIL[
|
|
91
|
-
// CIL[DOC-
|
|
92
|
-
// CIL[DOC-
|
|
93
|
-
// CIL[DOC-CONTEXT module="pipeline-executions" layer="api-handler" related_files="[\".framework/src/pages/admin/RolesPage.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\".framework/functions/_shared/principal.ts\",\"\\\"]"]
|
|
94
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="{execution_id: string}" errors="Throws on validation or DB errors" side_effects="Database insert, audit logging"]
|
|
95
|
-
// CIL[DOC-MICRO logic_summary="Creates execution record, logs audit event" notable_decisions="[]"]
|
|
96
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
97
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
98
|
-
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/RolesPage.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/src/pages/admin/IntegrationsPage.tsx, custom/apps/cortex/functions/custom_cil-embeddings.ts, .framework/functions/_shared/principal.ts, \."]
|
|
99
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
100
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
101
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
98
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Retrieve a single pipeline execution by ID'; No verified external callers; imports: .framework/functions/_shared/middleware.ts,.framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts"]
|
|
99
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
100
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
101
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
102
102
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
103
103
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
104
|
+
// CIL[END stable_id="~/.framework/functions/pipeline-executions.ts:get:constant"]
|
|
105
|
+
// CIL[BEGIN stable_id="~/.framework/functions/pipeline-executions.ts:create:constant" type="constant" identity="create" parent="~/.framework/functions/pipeline-executions.ts"]
|
|
106
|
+
// CIL[DOC-MACRO purpose="Create a new pending pipeline execution"]
|
|
107
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Insert a pipeline execution record and emit an audit log"]
|
|
108
|
+
// CIL[DOC-CONTEXT module="pipeline-executions" layer="functions" related_files=".framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts,.framework/functions/_shared/middleware.ts,.framework/functions/_shared/principal.ts,.framework/functions/pipeline-executions.ts"]
|
|
109
|
+
// CIL[DOC-CONTRACT inputs="body with pipeline_id and optional trigger_data" outputs="{ execution_id }" errors="Missing pipeline ID; account context required; database insert errors" side_effects="Inserts a row into pipeline_executions; emits a pipeline_execution.created audit log"]
|
|
110
|
+
// CIL[DOC-MICRO logic_summary="Validate inputs and account context, insert a pending record with creator and account, select the id, emit an audit log, and return the execution_id" notable_decisions="[]"]
|
|
111
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
112
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
104
113
|
export const create = createHandler(async (ctx, body) => {
|
|
105
114
|
const { pipeline_id, trigger_data } = body
|
|
106
115
|
|
|
@@ -133,21 +142,21 @@ export const create = createHandler(async (ctx, body) => {
|
|
|
133
142
|
|
|
134
143
|
return { execution_id: data?.id }
|
|
135
144
|
})
|
|
136
|
-
// CIL[
|
|
137
|
-
// CIL[
|
|
138
|
-
// CIL[DOC-
|
|
139
|
-
// CIL[DOC-
|
|
140
|
-
// CIL[DOC-CONTEXT module="pipeline-executions" layer="api-handler" related_files="[\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
|
|
141
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="{success: true}" errors="Throws on validation or DB errors" side_effects="Database update, audit logging"]
|
|
142
|
-
// CIL[DOC-MICRO logic_summary="Updates status to running, sets start timestamp" notable_decisions="[]"]
|
|
143
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
144
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
145
|
-
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 1. Direct calls: 0. Related files: custom/apps/cortex/functions/custom_cil-embeddings.ts, custom/apps/portal/pages/ContentPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/pages/admin/RolesPage.tsx, \."]
|
|
146
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 1."]
|
|
147
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
148
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
145
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Create a new pending pipeline execution'; No verified external callers; imports: .framework/functions/_shared/middleware.ts,.framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts"]
|
|
146
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
147
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
148
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
149
149
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
150
150
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
151
|
+
// CIL[END stable_id="~/.framework/functions/pipeline-executions.ts:create:constant"]
|
|
152
|
+
// CIL[BEGIN stable_id="~/.framework/functions/pipeline-executions.ts:start:constant" type="constant" identity="start" parent="~/.framework/functions/pipeline-executions.ts"]
|
|
153
|
+
// CIL[DOC-MACRO purpose="Mark a pipeline execution as running"]
|
|
154
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Update the execution status to running and record its start time"]
|
|
155
|
+
// CIL[DOC-CONTEXT module="pipeline-executions" layer="functions" related_files=".framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts,.framework/functions/_shared/middleware.ts,.framework/functions/_shared/principal.ts,.framework/functions/pipeline-executions.ts"]
|
|
156
|
+
// CIL[DOC-CONTRACT inputs="body.id" outputs="{ success: true }" errors="Missing execution ID; database update errors" side_effects="Updates status and started_at; emits a pipeline_execution.started audit log"]
|
|
157
|
+
// CIL[DOC-MICRO logic_summary="Validate the id, update the row to running status with the current ISO timestamp, emit an audit log, and return success" notable_decisions="[]"]
|
|
158
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
159
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
151
160
|
export const start = createHandler(async (ctx, body) => {
|
|
152
161
|
const { id } = body
|
|
153
162
|
|
|
@@ -171,21 +180,21 @@ export const start = createHandler(async (ctx, body) => {
|
|
|
171
180
|
|
|
172
181
|
return { success: true }
|
|
173
182
|
})
|
|
174
|
-
// CIL[
|
|
175
|
-
// CIL[
|
|
176
|
-
// CIL[DOC-
|
|
177
|
-
// CIL[DOC-
|
|
178
|
-
// CIL[DOC-CONTEXT module="pipeline-executions" layer="api-handler" related_files="[\"custom/apps/cortex/functions/custom_cil-embeddings.ts\",\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/functions/_shared/schema-utils.ts\",\"\\\"]"]
|
|
179
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="{success: true}" errors="Throws on validation or DB errors" side_effects="Database update, audit logging"]
|
|
180
|
-
// CIL[DOC-MICRO logic_summary="Calculates duration, updates status, logs completion" notable_decisions="[]"]
|
|
181
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
182
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
183
|
-
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 1. Direct calls: 0. Related files: custom/apps/cortex/functions/custom_cil-embeddings.ts, custom/apps/portal/pages/ContentPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/functions/_shared/schema-utils.ts, \."]
|
|
184
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 1."]
|
|
185
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
186
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
183
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Mark a pipeline execution as running'; No verified external callers; imports: .framework/functions/_shared/middleware.ts,.framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts"]
|
|
184
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
185
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
186
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
187
187
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
188
188
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
189
|
+
// CIL[END stable_id="~/.framework/functions/pipeline-executions.ts:start:constant"]
|
|
190
|
+
// CIL[BEGIN stable_id="~/.framework/functions/pipeline-executions.ts:complete:constant" type="constant" identity="complete" parent="~/.framework/functions/pipeline-executions.ts"]
|
|
191
|
+
// CIL[DOC-MACRO purpose="Complete or fail a pipeline execution"]
|
|
192
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Finalize the execution status, store the result or error, and record the duration"]
|
|
193
|
+
// CIL[DOC-CONTEXT module="pipeline-executions" layer="functions" related_files=".framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts,.framework/functions/_shared/middleware.ts,.framework/functions/_shared/principal.ts,.framework/functions/pipeline-executions.ts"]
|
|
194
|
+
// CIL[DOC-CONTRACT inputs="body with id, optional output_data, optional error_message" outputs="{ success: true }" errors="Missing execution ID; database update errors" side_effects="Updates status, result, error_message, completed_at, and duration_ms; emits a pipeline_execution.completed audit log"]
|
|
195
|
+
// CIL[DOC-MICRO logic_summary="Validate the id, determine final status from error_message, compute duration from started_at, update the row, emit an audit log, and return success" notable_decisions="[]"]
|
|
196
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
197
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
189
198
|
export const complete = createHandler(async (ctx, body) => {
|
|
190
199
|
const { id, output_data, error_message } = body
|
|
191
200
|
|
|
@@ -228,21 +237,21 @@ export const complete = createHandler(async (ctx, body) => {
|
|
|
228
237
|
|
|
229
238
|
return { success: true }
|
|
230
239
|
})
|
|
231
|
-
// CIL[
|
|
232
|
-
// CIL[
|
|
233
|
-
// CIL[DOC-
|
|
234
|
-
// CIL[DOC-
|
|
235
|
-
// CIL[DOC-CONTEXT module="pipeline-executions" layer="api-handler" related_files="[]"]
|
|
236
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="{success: true}" errors="Throws on validation or DB errors" side_effects="Database update, audit logging"]
|
|
237
|
-
// CIL[DOC-MICRO logic_summary="Sets status to cancelled, logs audit event" notable_decisions="[]"]
|
|
238
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
239
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
240
|
-
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
241
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
242
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
243
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
240
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Complete or fail a pipeline execution'; No verified external callers; imports: .framework/functions/_shared/middleware.ts,.framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts"]
|
|
241
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
242
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
243
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
244
244
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
245
245
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
246
|
+
// CIL[END stable_id="~/.framework/functions/pipeline-executions.ts:complete:constant"]
|
|
247
|
+
// CIL[BEGIN stable_id="~/.framework/functions/pipeline-executions.ts:cancel:constant" type="constant" identity="cancel" parent="~/.framework/functions/pipeline-executions.ts"]
|
|
248
|
+
// CIL[DOC-MACRO purpose="Cancel a pipeline execution"]
|
|
249
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Mark an execution as cancelled and record the completion time"]
|
|
250
|
+
// CIL[DOC-CONTEXT module="pipeline-executions" layer="functions" related_files=".framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts,.framework/functions/_shared/middleware.ts,.framework/functions/_shared/principal.ts,.framework/functions/pipeline-executions.ts"]
|
|
251
|
+
// CIL[DOC-CONTRACT inputs="body.id" outputs="{ success: true }" errors="Missing execution ID; database update errors" side_effects="Updates status to cancelled and completed_at; emits a pipeline_execution.cancelled audit log"]
|
|
252
|
+
// CIL[DOC-MICRO logic_summary="Validate the id, update the row with cancelled status and current timestamp, emit an audit log, and return success" notable_decisions="[]"]
|
|
253
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
254
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
246
255
|
export const cancel = createHandler(async (ctx, body) => {
|
|
247
256
|
const { id } = body
|
|
248
257
|
|
|
@@ -266,21 +275,21 @@ export const cancel = createHandler(async (ctx, body) => {
|
|
|
266
275
|
|
|
267
276
|
return { success: true }
|
|
268
277
|
})
|
|
269
|
-
// CIL[
|
|
270
|
-
// CIL[
|
|
271
|
-
// CIL[DOC-
|
|
272
|
-
// CIL[DOC-
|
|
273
|
-
// CIL[DOC-CONTEXT module="pipeline-executions" layer="api-handler" related_files="[\".framework/functions/_shared/schema-utils.ts\",\".framework/src/components/ui/dialog.tsx\",\"custom/apps/portal/pages/ContentPage.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"\\\"]"]
|
|
274
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Array of running executions" errors="Throws on DB errors" side_effects="Database query"]
|
|
275
|
-
// CIL[DOC-MICRO logic_summary="Filters for running status, returns with joins" notable_decisions="[]"]
|
|
276
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
277
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
278
|
-
// 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/components/ui/dialog.tsx, custom/apps/portal/pages/ContentPage.tsx, .framework/functions/_shared/principal.ts, .framework/src/pages/admin/TypeDetailPage.tsx, \."]
|
|
279
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
280
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
281
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
278
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Cancel a pipeline execution'; No verified external callers; imports: .framework/functions/_shared/middleware.ts,.framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts"]
|
|
279
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
280
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
281
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
282
282
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
283
283
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
284
|
+
// CIL[END stable_id="~/.framework/functions/pipeline-executions.ts:cancel:constant"]
|
|
285
|
+
// CIL[BEGIN stable_id="~/.framework/functions/pipeline-executions.ts:getRunning:constant" type="constant" identity="getRunning" parent="~/.framework/functions/pipeline-executions.ts"]
|
|
286
|
+
// CIL[DOC-MACRO purpose="List currently running pipeline executions"]
|
|
287
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Return running executions, optionally filtered by pipeline_id"]
|
|
288
|
+
// CIL[DOC-CONTEXT module="pipeline-executions" layer="functions" related_files=".framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts,.framework/functions/_shared/middleware.ts,.framework/functions/_shared/principal.ts,.framework/functions/pipeline-executions.ts"]
|
|
289
|
+
// CIL[DOC-CONTRACT inputs="ctx.query with optional pipeline_id" outputs="Array of running execution records" errors="Account context required for non-admins; database query errors" side_effects="None"]
|
|
290
|
+
// CIL[DOC-MICRO logic_summary="Choose admin or account DB, query executions with running status, apply an optional pipeline_id filter, order by started_at, and return data or an empty array" notable_decisions="[]"]
|
|
291
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
292
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
284
293
|
export const getRunning = createHandler(async (ctx, body) => {
|
|
285
294
|
const { pipeline_id } = ctx.query || {}
|
|
286
295
|
const db = isSystemAdmin(ctx.principal) ? adminDb : ctx.db
|
|
@@ -303,21 +312,21 @@ export const getRunning = createHandler(async (ctx, body) => {
|
|
|
303
312
|
|
|
304
313
|
return data || []
|
|
305
314
|
})
|
|
306
|
-
// CIL[
|
|
307
|
-
// CIL[
|
|
308
|
-
// CIL[DOC-
|
|
309
|
-
// CIL[DOC-
|
|
310
|
-
// CIL[DOC-CONTEXT module="pipeline-executions" layer="api-handler" related_files="[\".framework/src/pages/admin/RolesPage.tsx\",\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/IntegrationsPage.tsx\",\"custom/apps/cortex/functions/custom_cil-embeddings.ts\"]"]
|
|
311
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Status count statistics" errors="Throws on DB errors" side_effects="Database aggregation"]
|
|
312
|
-
// CIL[DOC-MICRO logic_summary="Counts executions by status with date filtering" notable_decisions="[]"]
|
|
313
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
314
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
315
|
-
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 1. Direct calls: 0. Related files: .framework/src/pages/admin/RolesPage.tsx, .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/IntegrationsPage.tsx, custom/apps/cortex/functions/custom_cil-embeddings.ts."]
|
|
316
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 1. Total affected: 1."]
|
|
317
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
318
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
315
|
+
// CIL[DOC-VECTOR type="context" content="purpose='List currently running pipeline executions'; No verified external callers; imports: .framework/functions/_shared/middleware.ts,.framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts"]
|
|
316
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
317
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
318
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
319
319
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
320
320
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
321
|
+
// CIL[END stable_id="~/.framework/functions/pipeline-executions.ts:getRunning:constant"]
|
|
322
|
+
// CIL[BEGIN stable_id="~/.framework/functions/pipeline-executions.ts:getStats:constant" type="constant" identity="getStats" parent="~/.framework/functions/pipeline-executions.ts"]
|
|
323
|
+
// CIL[DOC-MACRO purpose="Aggregate pipeline execution status counts"]
|
|
324
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Return total, completed, failed, and running execution counts"]
|
|
325
|
+
// CIL[DOC-CONTEXT module="pipeline-executions" layer="functions" related_files=".framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts,.framework/functions/_shared/middleware.ts,.framework/functions/_shared/principal.ts,.framework/functions/pipeline-executions.ts"]
|
|
326
|
+
// CIL[DOC-CONTRACT inputs="ctx.query with optional pipeline_id, date_from, date_to" outputs="{ total, completed, failed, running }" errors="Account context required for non-admins; database query errors" side_effects="None"]
|
|
327
|
+
// CIL[DOC-MICRO logic_summary="Select id and status, apply optional filters, count statuses client-side, and return the totals" notable_decisions="[]"]
|
|
328
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
329
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
321
330
|
export const getStats = createHandler(async (ctx, body) => {
|
|
322
331
|
const { pipeline_id, date_from, date_to } = ctx.query || {}
|
|
323
332
|
const db = isSystemAdmin(ctx.principal) ? adminDb : ctx.db
|
|
@@ -346,21 +355,21 @@ export const getStats = createHandler(async (ctx, body) => {
|
|
|
346
355
|
running: rows.filter((r: any) => r.status === 'running').length,
|
|
347
356
|
}
|
|
348
357
|
})
|
|
349
|
-
// CIL[
|
|
350
|
-
// CIL[
|
|
351
|
-
// CIL[DOC-
|
|
352
|
-
// CIL[DOC-
|
|
353
|
-
// CIL[DOC-CONTEXT module="pipeline-executions" layer="api-handler" related_files="[]"]
|
|
354
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="{deleted_count: number}" errors="Throws on DB errors" side_effects="Database delete, audit logging"]
|
|
355
|
-
// CIL[DOC-MICRO logic_summary="Deletes records older than retention period" notable_decisions="[]"]
|
|
356
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
357
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
358
|
-
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
359
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
360
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
361
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
358
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Aggregate pipeline execution status counts'; No verified external callers; imports: .framework/functions/_shared/middleware.ts,.framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts"]
|
|
359
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
360
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
361
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
362
362
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
363
363
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
364
|
+
// CIL[END stable_id="~/.framework/functions/pipeline-executions.ts:getStats:constant"]
|
|
365
|
+
// CIL[BEGIN stable_id="~/.framework/functions/pipeline-executions.ts:cleanup:constant" type="constant" identity="cleanup" parent="~/.framework/functions/pipeline-executions.ts"]
|
|
366
|
+
// CIL[DOC-MACRO purpose="Delete old pipeline execution records"]
|
|
367
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Remove executions older than a retention window, optionally filtered by status"]
|
|
368
|
+
// CIL[DOC-CONTEXT module="pipeline-executions" layer="functions" related_files=".framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts,.framework/functions/_shared/middleware.ts,.framework/functions/_shared/principal.ts,.framework/functions/pipeline-executions.ts"]
|
|
369
|
+
// CIL[DOC-CONTRACT inputs="body with days_to_keep and optional status_filter" outputs="{ deleted_count }" errors="Database delete errors" side_effects="Deletes rows from pipeline_executions; emits a pipeline_executions.cleaned audit log"]
|
|
370
|
+
// CIL[DOC-MICRO logic_summary="Compute a cutoff date, delete records older than the cutoff, optionally filter by status, and return the number of deleted records" notable_decisions="[]"]
|
|
371
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
372
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
364
373
|
export const cleanup = createHandler(async (ctx, body) => {
|
|
365
374
|
const { days_to_keep = 30, status_filter } = body
|
|
366
375
|
|
|
@@ -385,21 +394,21 @@ export const cleanup = createHandler(async (ctx, body) => {
|
|
|
385
394
|
|
|
386
395
|
return { deleted_count: (data || []).length }
|
|
387
396
|
})
|
|
388
|
-
// CIL[
|
|
389
|
-
// CIL[
|
|
390
|
-
// CIL[DOC-
|
|
391
|
-
// CIL[DOC-
|
|
392
|
-
// CIL[DOC-CONTEXT module="pipeline-executions" layer="api-handler" related_files="[]"]
|
|
393
|
-
// CIL[DOC-CONTRACT inputs="none" outputs="Varies by handler" errors="Throws on unsupported methods" side_effects="Delegates to appropriate handler"]
|
|
394
|
-
// CIL[DOC-MICRO logic_summary="Routes based on action and method, delegates to handlers" notable_decisions="[]"]
|
|
395
|
-
// CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
|
|
396
|
-
// CIL[DOC-STABILITY stability="stable"]
|
|
397
|
-
// CIL[DOC-VECTOR type="context" content="Layer: api-handler. Direct callers: 0. Direct calls: 0. Related files: none."]
|
|
398
|
-
// CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
|
|
399
|
-
// CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
|
|
400
|
-
// CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
|
|
397
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Delete old pipeline execution records'; No verified external callers; imports: .framework/functions/_shared/middleware.ts,.framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts"]
|
|
398
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
399
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
400
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
401
401
|
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
402
402
|
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
403
|
+
// CIL[END stable_id="~/.framework/functions/pipeline-executions.ts:cleanup:constant"]
|
|
404
|
+
// CIL[BEGIN stable_id="~/.framework/functions/pipeline-executions.ts:handler:constant" type="constant" identity="handler" parent="~/.framework/functions/pipeline-executions.ts"]
|
|
405
|
+
// CIL[DOC-MACRO purpose="Route pipeline execution actions based on HTTP method and query"]
|
|
406
|
+
// CIL[DOC-RESPONSIBILITY responsibility="Dispatch list, get, create, start, complete, cancel, running, stats, and cleanup actions"]
|
|
407
|
+
// CIL[DOC-CONTEXT module="pipeline-executions" layer="functions" related_files=".framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts,.framework/functions/_shared/middleware.ts,.framework/functions/_shared/principal.ts,.framework/functions/pipeline-executions.ts"]
|
|
408
|
+
// CIL[DOC-CONTRACT inputs="ctx.query.action, HTTP method, query id, and request body" outputs="Result of the dispatched action" errors="Invalid action or method" side_effects="May invoke other pipeline execution handlers and their audit logs"]
|
|
409
|
+
// CIL[DOC-MICRO logic_summary="Switch on action and HTTP method, delegate to the appropriate named handler, and throw for unsupported combinations" notable_decisions="[]"]
|
|
410
|
+
// CIL[DOC-CONFIDENCE pass="second" score="0.90" flags="none"]
|
|
411
|
+
// CIL[DOC-STABILITY stability="stable"]
|
|
403
412
|
export const handler = createHandler(async (ctx, body) => {
|
|
404
413
|
const { action } = ctx.query || {}
|
|
405
414
|
const method = ctx.query?.method || 'GET'
|
|
@@ -435,4 +444,10 @@ export const handler = createHandler(async (ctx, body) => {
|
|
|
435
444
|
|
|
436
445
|
throw new Error('Invalid action or method')
|
|
437
446
|
})
|
|
438
|
-
// CIL[
|
|
447
|
+
// CIL[DOC-VECTOR type="context" content="purpose='Route pipeline execution actions based on HTTP method and query'; No verified external callers; imports: .framework/functions/_shared/middleware.ts,.framework/functions/_shared/audit.ts,.framework/functions/_shared/db.ts"]
|
|
448
|
+
// CIL[DOC-VECTOR type="blast_radius" content="No direct caller data from CIL graph; local impact only"]
|
|
449
|
+
// CIL[DOC-VECTOR type="configuration" content="No environment or build configuration dependencies identified"]
|
|
450
|
+
// CIL[DOC-VECTOR type="constraint" content="Standard runtime; no special invariants documented"]
|
|
451
|
+
// CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
|
|
452
|
+
// CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
|
|
453
|
+
// CIL[END stable_id="~/.framework/functions/pipeline-executions.ts:handler:constant"]
|