@codemation/host 0.5.1 → 0.7.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/CHANGELOG.md +465 -0
- package/LICENSE +1 -37
- package/dist/{ApiPaths-CLTHphYZ.js → ApiPaths-Dv1dcHu_.js} +4 -4
- package/dist/ApiPaths-Dv1dcHu_.js.map +1 -0
- package/dist/{AppConfigFactory-CvpFScwB.js → AppConfigFactory-Cx4qQvRk.js} +114 -53
- package/dist/AppConfigFactory-Cx4qQvRk.js.map +1 -0
- package/dist/{AppConfigFactory-LK76niPc.d.ts → AppConfigFactory-DnLoQ9Li.d.ts} +8527 -5549
- package/dist/{AppContainerFactory-BlLrm6_h.js → AppContainerFactory-DqKYCRNP.js} +7656 -2090
- package/dist/AppContainerFactory-DqKYCRNP.js.map +1 -0
- package/dist/{CodemationAppContext-CvWi5gey.d.ts → CodemationAppContext-CKVv9W9q.d.ts} +8 -4
- package/dist/{CodemationAuthoring.types-BuKNTDC1.d.ts → CodemationAuthoring.types-DA3G3s6d.d.ts} +25 -5
- package/dist/{CodemationAuthoring.types-DZl-sJaM.js → CodemationAuthoring.types-NGkBcmmT.js} +18 -6
- package/dist/CodemationAuthoring.types-NGkBcmmT.js.map +1 -0
- package/dist/{CodemationConfigNormalizer-CYdR0PR5.d.ts → CodemationConfigNormalizer-BAKjetJ6.d.ts} +3 -3
- package/dist/{CodemationConsumerConfigLoader-BeAUS144.js → CodemationConsumerConfigLoader-GYpBBvqE.js} +79 -10
- package/dist/CodemationConsumerConfigLoader-GYpBBvqE.js.map +1 -0
- package/dist/{CodemationConsumerConfigLoader-C3nAj9Bj.d.ts → CodemationConsumerConfigLoader-nxOqvv46.d.ts} +17 -2
- package/dist/{CodemationPluginListMerger-B-W5Fa_X.js → CodemationPluginListMerger-D1B1IEbt.js} +1 -1
- package/dist/{CodemationPluginListMerger-B-W5Fa_X.js.map → CodemationPluginListMerger-D1B1IEbt.js.map} +1 -1
- package/dist/{CodemationPluginListMerger-D-gwVwtw.d.ts → CodemationPluginListMerger-DKLAHT2b.d.ts} +123 -16
- package/dist/CodemationTsyringeTypeInfoRegistrar-Bj6FJYFz.js +97 -0
- package/dist/CodemationTsyringeTypeInfoRegistrar-Bj6FJYFz.js.map +1 -0
- package/dist/{CodemationWhitelabelConfig-CWbcyQqn.d.ts → CodemationWhitelabelConfig-Ca2mCUeC.d.ts} +2 -2
- package/dist/{CollectionContracts.types-DdpHft0i.d.ts → CollectionContracts.types-DDyFYT_D.d.ts} +1 -1
- package/dist/{CredentialContractsRegistry-D7mcPed2.d.ts → CredentialContractsRegistry-Bq2bq28t.d.ts} +2 -2
- package/dist/{CredentialServices-DdCEP2xt.d.ts → CredentialServices-Be2I60Th.d.ts} +65 -20
- package/dist/{CredentialServices-CgxwguAv.js → CredentialServices-Dk8yypeL.js} +310 -51
- package/dist/CredentialServices-Dk8yypeL.js.map +1 -0
- package/dist/InternalHonoApiRouteRegistrar-Ce1yxpnO.d.ts +17 -0
- package/dist/InternalPingRegistrar-DY3kSfxP.js +221 -0
- package/dist/InternalPingRegistrar-DY3kSfxP.js.map +1 -0
- package/dist/{ItemsInputNormalizer-D1WppVMU.d.ts → ItemsInputNormalizer-_RwIfRIQ.d.ts} +108 -25
- package/dist/{LogLevelPolicyFactory-CampWO0l.d.ts → LogLevelPolicyFactory-ewCHLDLn.d.ts} +2 -2
- package/dist/{PublicFrontendBootstrap-DzBgwOnG.d.ts → PublicFrontendBootstrap-Cev3qK46.d.ts} +9 -2
- package/dist/PublicFrontendBootstrapFactory-CY2FS-5g.d.ts +82 -0
- package/dist/{PublicFrontendBootstrapJsonCodec-Cl_DLRh0.d.ts → PublicFrontendBootstrapJsonCodec-CXG9Dxft.d.ts} +3 -3
- package/dist/{PublicFrontendBootstrapJsonCodec-DzqvA0uo.js → PublicFrontendBootstrapJsonCodec-CegIF_ne.js} +7 -2
- package/dist/PublicFrontendBootstrapJsonCodec-CegIF_ne.js.map +1 -0
- package/dist/ServerLoggerFactory-Ckk52S3w.js +223 -0
- package/dist/ServerLoggerFactory-Ckk52S3w.js.map +1 -0
- package/dist/{TelemetryContracts-BsOD_Y17.d.ts → TelemetryContracts-BtDx84Cp.d.ts} +13 -4
- package/dist/{WorkflowPolicyUiPresentationFactory-DNE5oAI6.d.ts → WorkflowPolicyUiPresentationFactory-6MyjCvBO.d.ts} +2 -2
- package/dist/{WorkflowPolicyUiPresentationFactory-DhPqQ9aB.js → WorkflowPolicyUiPresentationFactory-Bb-ae_Zh.js} +1 -1
- package/dist/{WorkflowPolicyUiPresentationFactory-DhPqQ9aB.js.map → WorkflowPolicyUiPresentationFactory-Bb-ae_Zh.js.map} +1 -1
- package/dist/{WorkflowViewContracts-0ZgsHQdp.d.ts → WorkflowViewContracts-B7aFQcIw.d.ts} +15 -1
- package/dist/authoring.d.ts +5 -5
- package/dist/authoring.js +1 -1
- package/dist/client.d.ts +4 -4
- package/dist/client.js +2 -2
- package/dist/consumer.d.ts +6 -6
- package/dist/consumer.js +2 -2
- package/dist/credentials.d.ts +6 -6
- package/dist/credentials.js +1 -1
- package/dist/devServerSidecar.d.ts +2 -2
- package/dist/devServerSidecar.js +1 -94
- package/dist/devServerSidecar.js.map +1 -1
- package/dist/dto.d.ts +6 -6
- package/dist/{index-BlGs9e9Q.d.ts → index-DilAYwnH.d.ts} +49 -3
- package/dist/index.d.ts +110 -21
- package/dist/index.js +15 -13
- package/dist/mapping.d.ts +2 -2
- package/dist/mapping.js +1 -1
- package/dist/nextServer.d.ts +43 -88
- package/dist/nextServer.js +9 -7
- package/dist/pairing.d.ts +93 -0
- package/dist/pairing.js +5 -0
- package/dist/pairing.types-snfZ_OzB.d.ts +19 -0
- package/dist/{persistenceServer-CpNFYa_q.js → persistenceServer-C-hH4z6l.js} +2 -2
- package/dist/{persistenceServer-CpNFYa_q.js.map → persistenceServer-C-hH4z6l.js.map} +1 -1
- package/dist/persistenceServer-CeTHtC6E.d.ts +30 -0
- package/dist/persistenceServer.d.ts +8 -8
- package/dist/persistenceServer.js +3 -3
- package/dist/{server-CQWdkT7t.d.ts → server-C4bS62rg.d.ts} +21 -6
- package/dist/{server-BK43OKxW.js → server-Y7kxwtCK.js} +7 -6
- package/dist/{server-BK43OKxW.js.map → server-Y7kxwtCK.js.map} +1 -1
- package/dist/server.d.ts +14 -14
- package/dist/server.js +13 -11
- package/package.json +29 -42
- package/prisma/migrations/20260507120000_execution_instance_child_run_id/migration.sql +5 -0
- package/prisma/migrations/20260519000000_workflow_audit_log/migration.sql +23 -0
- package/prisma/migrations/20260519100000_storage_growth_fixes/migration.sql +61 -0
- package/prisma/migrations.sqlite/20260507120000_execution_instance_child_run_id/migration.sql +5 -0
- package/prisma/migrations.sqlite/20260519000000_workflow_audit_log/migration.sql +21 -0
- package/prisma/migrations.sqlite/20260519100000_storage_growth_fixes/migration.sql +29 -0
- package/prisma/schema.postgresql.prisma +56 -17
- package/prisma/schema.sqlite.prisma +56 -17
- package/prisma-generated/prisma-postgresql-client/edge.js +35 -6
- package/prisma-generated/prisma-postgresql-client/index-browser.js +31 -2
- package/prisma-generated/prisma-postgresql-client/index.d.ts +8971 -5718
- package/prisma-generated/prisma-postgresql-client/index.js +35 -6
- package/prisma-generated/prisma-postgresql-client/package.json +1 -1
- package/prisma-generated/prisma-postgresql-client/schema.prisma +39 -0
- package/prisma-generated/prisma-sqlite-client/edge.js +35 -6
- package/prisma-generated/prisma-sqlite-client/index-browser.js +31 -2
- package/prisma-generated/prisma-sqlite-client/index.d.ts +8963 -5715
- package/prisma-generated/prisma-sqlite-client/index.js +35 -6
- package/prisma-generated/prisma-sqlite-client/package.json +1 -1
- package/prisma-generated/prisma-sqlite-client/schema.prisma +39 -0
- package/scripts/check-collections.mjs +18 -0
- package/scripts/generate-prisma-clients.mjs +20 -11
- package/src/application/WorkflowAuditLogPruneScheduler.ts +96 -0
- package/src/application/auth/AuthenticatedPrincipal.ts +4 -0
- package/src/application/commands/StartWorkflowRunCommandHandler.ts +4 -0
- package/src/application/contracts/WorkflowViewContracts.ts +11 -0
- package/src/application/contracts/WorkflowWebsocketMessage.ts +3 -1
- package/src/application/mapping/WorkflowDefinitionMapper.ts +44 -1
- package/src/application/runs/WorkflowRunRetentionPruneScheduler.ts +7 -1
- package/src/application/telemetry/OtelExecutionTelemetry.types.ts +5 -0
- package/src/application/telemetry/OtelExecutionTelemetryFactory.ts +4 -0
- package/src/application/telemetry/StoredTelemetrySpanScope.ts +6 -2
- package/src/application/telemetry/TelemetryRetentionTimestampFactory.ts +27 -17
- package/src/application/telemetry/TelemetrySpanPublisher.ts +11 -0
- package/src/application/websocket/TelemetrySpanWebsocketRelay.ts +31 -0
- package/src/applicationTokens.ts +20 -1
- package/src/audit/IAuditEmitter.ts +32 -0
- package/src/audit/PrismaWorkflowAuditLogRepository.ts +34 -0
- package/src/audit/WorkflowAuditLogWriter.ts +125 -0
- package/src/auth/managed/ManagedAuthConfig.ts +29 -0
- package/src/auth/managed/ManagedAuthMiddleware.ts +52 -0
- package/src/auth/managed/ManagedCorsMiddleware.ts +43 -0
- package/src/auth/managed/ManagedModeBootGuard.ts +27 -0
- package/src/auth/managed/index.ts +5 -0
- package/src/bootstrap/AppContainerFactory.ts +277 -29
- package/src/bootstrap/AppContainerLifecycle.ts +31 -0
- package/src/bootstrap/perf/BootTimer.ts +168 -0
- package/src/bootstrap/runtime/AppConfigFactory.ts +21 -65
- package/src/bootstrap/runtime/FrontendRuntime.ts +4 -1
- package/src/bootstrap/runtime/WorkerRuntime.ts +2 -1
- package/src/credentials/BrokerClient.ts +49 -0
- package/src/credentials/BrokerRefreshError.ts +12 -0
- package/src/credentials/BrokerRefreshInvalidGrantError.ts +13 -0
- package/src/credentials/ControlPlaneCatalogFetcher.ts +261 -0
- package/src/credentials/CredentialOAuth2MaterialReader.ts +136 -0
- package/src/credentials/InternalCredentialsListRegistrar.ts +48 -0
- package/src/credentials/InternalCredentialsPushRegistrar.ts +125 -0
- package/src/credentials/LocalOAuthFlowExecutor.ts +316 -0
- package/src/credentials/ManagedOAuthFlowExecutor.ts +94 -0
- package/src/credentials/ManagedOAuthRefreshInvalidGrantError.ts +13 -0
- package/src/credentials/catalogTypes.ts +4 -0
- package/src/credentials/refresh/CredentialDisconnectedError.ts +11 -0
- package/src/domain/credentials/CredentialBindingService.ts +54 -2
- package/src/domain/credentials/CredentialKeyRotatedError.ts +22 -0
- package/src/domain/credentials/CredentialSecretCipher.ts +68 -6
- package/src/domain/credentials/CredentialTypeRegistryImpl.ts +117 -10
- package/src/domain/credentials/OAuth2RedirectUriResolver.ts +79 -0
- package/src/domain/credentials/WorkflowCredentialNodeResolver.ts +14 -5
- package/src/domain/telemetry/TelemetryContracts.ts +7 -1
- package/src/domain/workflows/WorkflowActivationPreflight.ts +24 -1
- package/src/domain/workflows/WorkflowActivationPreflightRules.ts +40 -1
- package/src/index.ts +6 -0
- package/src/infrastructure/binary/LocalFilesystemBinaryStorageRegistry.ts +29 -1
- package/src/infrastructure/binary/S3BinaryStorage.ts +169 -0
- package/src/infrastructure/binary/S3BinaryStorageConfig.ts +17 -0
- package/src/infrastructure/config/CodemationPluginRegistrar.ts +3 -1
- package/src/infrastructure/persistence/CodemationDatabaseUrlParser.ts +41 -0
- package/src/infrastructure/persistence/InMemoryTelemetryArtifactStore.ts +8 -3
- package/src/infrastructure/persistence/InMemoryWorkflowRunRepository.ts +1 -0
- package/src/infrastructure/persistence/PrismaMigrationDeployer.ts +21 -13
- package/src/infrastructure/persistence/PrismaTelemetryArtifactStore.ts +43 -8
- package/src/infrastructure/persistence/PrismaWorkflowRunRepository.ts +33 -3
- package/src/infrastructure/persistence/PrismaWorkflowSnapshotRepository.ts +48 -0
- package/src/mcp/AgentMcpIntegrationImpl.ts +344 -0
- package/src/mcp/McpClientFactory.ts +29 -0
- package/src/mcp/McpConnectionPool.ts +184 -0
- package/src/mcp/McpConnectionPool.types.ts +12 -0
- package/src/mcp/McpServerCatalog.ts +104 -0
- package/src/mcp/index.ts +5 -0
- package/src/pairing/HmacRequestSigner.ts +32 -0
- package/src/pairing/IncomingHmacVerifier.ts +82 -0
- package/src/pairing/InternalHmacAuthMiddleware.ts +33 -0
- package/src/pairing/InternalPingRegistrar.ts +25 -0
- package/src/pairing/PairedFetch.ts +33 -0
- package/src/pairing/PairingConfigFactory.ts +35 -0
- package/src/pairing/PairingConfigToken.ts +6 -0
- package/src/pairing/index.ts +14 -0
- package/src/pairing/pairing.types.ts +18 -0
- package/src/pairing.ts +17 -0
- package/src/persistenceServer.ts +1 -0
- package/src/presentation/config/AppConfig.ts +7 -1
- package/src/presentation/config/CodemationAuthConfig.ts +1 -1
- package/src/presentation/config/CodemationAuthoring.types.ts +54 -5
- package/src/presentation/config/CodemationConfig.ts +3 -0
- package/src/presentation/config/CodemationConfigNormalizer.ts +39 -1
- package/src/presentation/config/CodemationPlugin.ts +2 -1
- package/src/presentation/frontend/CodemationFrontendAuthSnapshot.ts +5 -0
- package/src/presentation/frontend/CodemationFrontendAuthSnapshotFactory.ts +7 -1
- package/src/presentation/frontend/PublicFrontendBootstrap.ts +2 -0
- package/src/presentation/frontend/PublicFrontendBootstrapFactory.ts +5 -1
- package/src/presentation/frontend/PublicFrontendBootstrapJsonCodec.ts +4 -1
- package/src/presentation/http/ApiPaths.ts +4 -4
- package/src/presentation/http/ServerHttpErrorResponseFactory.ts +39 -2
- package/src/presentation/http/hono/CodemationHonoApiAppFactory.ts +33 -8
- package/src/presentation/http/hono/InternalHonoApiRouteRegistrar.ts +12 -0
- package/src/presentation/http/hono/registrars/ManagedMeHonoApiRouteRegistrar.ts +35 -0
- package/src/presentation/http/hono/registrars/OAuth2HonoApiRouteRegistrar.ts +2 -2
- package/src/presentation/http/routeHandlers/CredentialHttpRouteHandler.ts +28 -0
- package/src/presentation/http/routeHandlers/OAuth2HttpRouteHandlerFactory.ts +98 -41
- package/src/presentation/server/CodemationConsumerConfigLoader.ts +54 -7
- package/src/presentation/server/CodemationPluginDiscovery.ts +5 -0
- package/src/presentation/server/WorkflowDefinitionExportsResolver.ts +18 -0
- package/src/presentation/server/WorkflowModulePathFinder.ts +12 -1
- package/src/presentation/websocket/ManagedWebsocketAuthenticator.ts +50 -0
- package/src/presentation/websocket/WebsocketAuthenticator.types.ts +12 -0
- package/src/presentation/websocket/WorkflowWebsocketServer.ts +24 -3
- package/src/process/ExecaProcessRunner.ts +41 -0
- package/src/process/ProcessRunner.types.ts +39 -0
- package/src/server.ts +2 -0
- package/src/workflows/InternalWorkflowActivationRegistrar.ts +42 -0
- package/src/workflows/InternalWorkflowDetailRegistrar.ts +33 -0
- package/src/workflows/InternalWorkflowTestRunRegistrar.ts +91 -0
- package/src/workflows/InternalWorkflowsListRegistrar.ts +28 -0
- package/src/workflows/discovery/WorkflowDirectoryDiscoverer.ts +79 -0
- package/tsconfig.json +2 -0
- package/vitest.shared.ts +5 -0
- package/dist/ApiPaths-CLTHphYZ.js.map +0 -1
- package/dist/AppConfigFactory-CvpFScwB.js.map +0 -1
- package/dist/AppContainerFactory-BlLrm6_h.js.map +0 -1
- package/dist/CodemationAuthoring.types-DZl-sJaM.js.map +0 -1
- package/dist/CodemationConsumerConfigLoader-BeAUS144.js.map +0 -1
- package/dist/CredentialServices-CgxwguAv.js.map +0 -1
- package/dist/PublicFrontendBootstrapFactory-BMWqNM9a.d.ts +0 -45
- package/dist/PublicFrontendBootstrapJsonCodec-DzqvA0uo.js.map +0 -1
- package/dist/ServerLoggerFactory-BKSIh9Xv.js +0 -98
- package/dist/ServerLoggerFactory-BKSIh9Xv.js.map +0 -1
- package/dist/persistenceServer-CIVt3UOX.d.ts +0 -9
- package/src/domain/credentials/OAuth2ConnectServiceFactory.ts +0 -411
|
@@ -18,6 +18,7 @@ model Run {
|
|
|
18
18
|
executionOptionsJson String? @map("execution_options_json")
|
|
19
19
|
controlJson String? @map("control_json")
|
|
20
20
|
workflowSnapshotJson String? @map("workflow_snapshot_json")
|
|
21
|
+
workflowSnapshotId String? @map("workflow_snapshot_id")
|
|
21
22
|
policySnapshotJson String? @map("policy_snapshot_json")
|
|
22
23
|
engineCountersJson String? @map("engine_counters_json")
|
|
23
24
|
mutableStateJson String? @map("mutable_state_json")
|
|
@@ -33,9 +34,11 @@ model Run {
|
|
|
33
34
|
slotProjection RunSlotProjection?
|
|
34
35
|
testSuiteRun TestSuiteRun? @relation(fields: [testSuiteRunId], references: [id])
|
|
35
36
|
testAssertions TestAssertion[]
|
|
37
|
+
workflowSnapshot WorkflowSnapshot? @relation(fields: [workflowSnapshotId], references: [id])
|
|
36
38
|
@@index([workflowId, startedAt])
|
|
37
39
|
@@index([workflowId, status, finishedAt])
|
|
38
40
|
@@index([testSuiteRunId, testCaseIndex])
|
|
41
|
+
@@index([workflowSnapshotId])
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
model RunWorkItem {
|
|
@@ -105,6 +108,7 @@ model ExecutionInstance {
|
|
|
105
108
|
iterationId String? @map("iteration_id")
|
|
106
109
|
itemIndex Int? @map("item_index")
|
|
107
110
|
parentInvocationId String? @map("parent_invocation_id")
|
|
111
|
+
childRunId String? @map("child_run_id")
|
|
108
112
|
|
|
109
113
|
run Run @relation(fields: [runId], references: [runId], onDelete: Cascade)
|
|
110
114
|
|
|
@@ -257,24 +261,39 @@ model TelemetrySpan {
|
|
|
257
261
|
@@index([retentionExpiresAt])
|
|
258
262
|
}
|
|
259
263
|
|
|
264
|
+
model WorkflowSnapshot {
|
|
265
|
+
id String @id
|
|
266
|
+
workflowId String @map("workflow_id")
|
|
267
|
+
/// SHA-256 hex digest of snapshotJson — dedup key: same workflow content → one row.
|
|
268
|
+
snapshotHash String @map("snapshot_hash")
|
|
269
|
+
snapshotJson String @map("snapshot_json")
|
|
270
|
+
createdAt String @map("created_at")
|
|
271
|
+
|
|
272
|
+
runs Run[]
|
|
273
|
+
|
|
274
|
+
@@unique([workflowId, snapshotHash])
|
|
275
|
+
@@index([workflowId, snapshotHash])
|
|
276
|
+
}
|
|
277
|
+
|
|
260
278
|
model TelemetryArtifact {
|
|
261
|
-
artifactId
|
|
262
|
-
traceId
|
|
263
|
-
spanId
|
|
264
|
-
runId
|
|
265
|
-
workflowId
|
|
266
|
-
nodeId
|
|
267
|
-
activationId
|
|
268
|
-
kind
|
|
269
|
-
contentType
|
|
270
|
-
previewText
|
|
271
|
-
previewJson
|
|
272
|
-
payloadText
|
|
273
|
-
payloadJson
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
279
|
+
artifactId String @id @map("artifact_id")
|
|
280
|
+
traceId String @map("trace_id")
|
|
281
|
+
spanId String @map("span_id")
|
|
282
|
+
runId String @map("run_id")
|
|
283
|
+
workflowId String @map("workflow_id")
|
|
284
|
+
nodeId String? @map("node_id")
|
|
285
|
+
activationId String? @map("activation_id")
|
|
286
|
+
kind String
|
|
287
|
+
contentType String @map("content_type")
|
|
288
|
+
previewText String? @map("preview_text")
|
|
289
|
+
previewJson String? @map("preview_json")
|
|
290
|
+
payloadText String? @map("payload_text")
|
|
291
|
+
payloadJson String? @map("payload_json")
|
|
292
|
+
payloadStorageKey String? @map("payload_storage_key")
|
|
293
|
+
bytes Int?
|
|
294
|
+
truncated Boolean?
|
|
295
|
+
createdAt String @map("created_at")
|
|
296
|
+
expiresAt String? @map("expires_at")
|
|
278
297
|
retentionExpiresAt String? @map("retention_expires_at")
|
|
279
298
|
|
|
280
299
|
@@index([traceId, createdAt])
|
|
@@ -468,3 +487,23 @@ model VerificationToken {
|
|
|
468
487
|
@@unique([identifier, token])
|
|
469
488
|
@@map("codemation_auth_verification_token")
|
|
470
489
|
}
|
|
490
|
+
|
|
491
|
+
model WorkflowAuditLog {
|
|
492
|
+
id String @id @map("id")
|
|
493
|
+
occurredAt DateTime @map("occurred_at")
|
|
494
|
+
actorUserId String @map("actor_user_id")
|
|
495
|
+
actorSessionId String? @map("actor_session_id")
|
|
496
|
+
action String @map("action")
|
|
497
|
+
resourceType String @map("resource_type")
|
|
498
|
+
resourceId String @map("resource_id")
|
|
499
|
+
outcome String @map("outcome")
|
|
500
|
+
errorCode String? @map("error_code")
|
|
501
|
+
correlationId String? @map("correlation_id")
|
|
502
|
+
workflowId String @map("workflow_id")
|
|
503
|
+
runId String? @map("run_id")
|
|
504
|
+
nodeId String? @map("node_id")
|
|
505
|
+
|
|
506
|
+
@@index([actorUserId, occurredAt])
|
|
507
|
+
@@index([workflowId, occurredAt])
|
|
508
|
+
@@map("workflow_audit_log")
|
|
509
|
+
}
|
|
@@ -18,6 +18,7 @@ model Run {
|
|
|
18
18
|
executionOptionsJson String? @map("execution_options_json")
|
|
19
19
|
controlJson String? @map("control_json")
|
|
20
20
|
workflowSnapshotJson String? @map("workflow_snapshot_json")
|
|
21
|
+
workflowSnapshotId String? @map("workflow_snapshot_id")
|
|
21
22
|
policySnapshotJson String? @map("policy_snapshot_json")
|
|
22
23
|
engineCountersJson String? @map("engine_counters_json")
|
|
23
24
|
mutableStateJson String? @map("mutable_state_json")
|
|
@@ -33,9 +34,11 @@ model Run {
|
|
|
33
34
|
slotProjection RunSlotProjection?
|
|
34
35
|
testSuiteRun TestSuiteRun? @relation(fields: [testSuiteRunId], references: [id])
|
|
35
36
|
testAssertions TestAssertion[]
|
|
37
|
+
workflowSnapshot WorkflowSnapshot? @relation(fields: [workflowSnapshotId], references: [id])
|
|
36
38
|
@@index([workflowId, startedAt])
|
|
37
39
|
@@index([workflowId, status, finishedAt])
|
|
38
40
|
@@index([testSuiteRunId, testCaseIndex])
|
|
41
|
+
@@index([workflowSnapshotId])
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
model RunWorkItem {
|
|
@@ -106,6 +109,7 @@ model ExecutionInstance {
|
|
|
106
109
|
iterationId String? @map("iteration_id")
|
|
107
110
|
itemIndex Int? @map("item_index")
|
|
108
111
|
parentInvocationId String? @map("parent_invocation_id")
|
|
112
|
+
childRunId String? @map("child_run_id")
|
|
109
113
|
|
|
110
114
|
run Run @relation(fields: [runId], references: [runId], onDelete: Cascade)
|
|
111
115
|
|
|
@@ -258,24 +262,39 @@ model TelemetrySpan {
|
|
|
258
262
|
@@index([retentionExpiresAt])
|
|
259
263
|
}
|
|
260
264
|
|
|
265
|
+
model WorkflowSnapshot {
|
|
266
|
+
id String @id
|
|
267
|
+
workflowId String @map("workflow_id")
|
|
268
|
+
/// SHA-256 hex digest of snapshotJson — dedup key: same workflow content → one row.
|
|
269
|
+
snapshotHash String @map("snapshot_hash")
|
|
270
|
+
snapshotJson String @map("snapshot_json")
|
|
271
|
+
createdAt String @map("created_at")
|
|
272
|
+
|
|
273
|
+
runs Run[]
|
|
274
|
+
|
|
275
|
+
@@unique([workflowId, snapshotHash])
|
|
276
|
+
@@index([workflowId, snapshotHash])
|
|
277
|
+
}
|
|
278
|
+
|
|
261
279
|
model TelemetryArtifact {
|
|
262
|
-
artifactId
|
|
263
|
-
traceId
|
|
264
|
-
spanId
|
|
265
|
-
runId
|
|
266
|
-
workflowId
|
|
267
|
-
nodeId
|
|
268
|
-
activationId
|
|
269
|
-
kind
|
|
270
|
-
contentType
|
|
271
|
-
previewText
|
|
272
|
-
previewJson
|
|
273
|
-
payloadText
|
|
274
|
-
payloadJson
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
280
|
+
artifactId String @id @map("artifact_id")
|
|
281
|
+
traceId String @map("trace_id")
|
|
282
|
+
spanId String @map("span_id")
|
|
283
|
+
runId String @map("run_id")
|
|
284
|
+
workflowId String @map("workflow_id")
|
|
285
|
+
nodeId String? @map("node_id")
|
|
286
|
+
activationId String? @map("activation_id")
|
|
287
|
+
kind String
|
|
288
|
+
contentType String @map("content_type")
|
|
289
|
+
previewText String? @map("preview_text")
|
|
290
|
+
previewJson String? @map("preview_json")
|
|
291
|
+
payloadText String? @map("payload_text")
|
|
292
|
+
payloadJson String? @map("payload_json")
|
|
293
|
+
payloadStorageKey String? @map("payload_storage_key")
|
|
294
|
+
bytes Int?
|
|
295
|
+
truncated Boolean?
|
|
296
|
+
createdAt String @map("created_at")
|
|
297
|
+
expiresAt String? @map("expires_at")
|
|
279
298
|
retentionExpiresAt String? @map("retention_expires_at")
|
|
280
299
|
|
|
281
300
|
@@index([traceId, createdAt])
|
|
@@ -468,3 +487,23 @@ model VerificationToken {
|
|
|
468
487
|
@@unique([identifier, token])
|
|
469
488
|
@@map("codemation_auth_verification_token")
|
|
470
489
|
}
|
|
490
|
+
|
|
491
|
+
model WorkflowAuditLog {
|
|
492
|
+
id String @id @map("id")
|
|
493
|
+
occurredAt DateTime @map("occurred_at")
|
|
494
|
+
actorUserId String @map("actor_user_id")
|
|
495
|
+
actorSessionId String? @map("actor_session_id")
|
|
496
|
+
action String @map("action")
|
|
497
|
+
resourceType String @map("resource_type")
|
|
498
|
+
resourceId String @map("resource_id")
|
|
499
|
+
outcome String @map("outcome")
|
|
500
|
+
errorCode String? @map("error_code")
|
|
501
|
+
correlationId String? @map("correlation_id")
|
|
502
|
+
workflowId String @map("workflow_id")
|
|
503
|
+
runId String? @map("run_id")
|
|
504
|
+
nodeId String? @map("node_id")
|
|
505
|
+
|
|
506
|
+
@@index([actorUserId, occurredAt])
|
|
507
|
+
@@index([workflowId, occurredAt])
|
|
508
|
+
@@map("workflow_audit_log")
|
|
509
|
+
}
|