@codemation/host 0.6.0 → 0.8.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 +483 -0
- package/dist/{ApiPaths-CLTHphYZ.js → ApiPaths-Dv1dcHu_.js} +4 -4
- package/dist/ApiPaths-Dv1dcHu_.js.map +1 -0
- package/dist/{AppConfigFactory-YnveXE9k.d.ts → AppConfigFactory-BT0y0LVC.d.ts} +8490 -5548
- package/dist/{AppConfigFactory-C6q-CSKb.js → AppConfigFactory-Cx4qQvRk.js} +112 -52
- package/dist/AppConfigFactory-Cx4qQvRk.js.map +1 -0
- package/dist/{AppContainerFactory-qaqc-R1D.js → AppContainerFactory-DRTjG7nG.js} +7298 -1732
- package/dist/AppContainerFactory-DRTjG7nG.js.map +1 -0
- package/dist/{CodemationAppContext-DRu1Dpri.d.ts → CodemationAppContext-CGFYVcSb.d.ts} +14 -4
- package/dist/{CodemationAuthoring.types-DZl-sJaM.js → CodemationAuthoring.types-BteaR3Dc.js} +19 -6
- package/dist/CodemationAuthoring.types-BteaR3Dc.js.map +1 -0
- package/dist/{CodemationAuthoring.types-fBRppnmi.d.ts → CodemationAuthoring.types-DiKKogum.d.ts} +30 -5
- package/dist/{CodemationConfigNormalizer-DVko3cVN.d.ts → CodemationConfigNormalizer-48f-T66P.d.ts} +3 -3
- package/dist/{CodemationConsumerConfigLoader-BeAUS144.js → CodemationConsumerConfigLoader-By-6tuGc.js} +81 -10
- package/dist/CodemationConsumerConfigLoader-By-6tuGc.js.map +1 -0
- package/dist/{CodemationConsumerConfigLoader-DJWr86f-.d.ts → CodemationConsumerConfigLoader-_PIYqwVx.d.ts} +18 -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-DGc-jfa2.d.ts → CodemationPluginListMerger-DP7djJ9S.d.ts} +151 -19
- 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-DrMIDSw8.d.ts → CredentialContractsRegistry-Bq2bq28t.d.ts} +2 -2
- package/dist/{CredentialServices-UfvHB-rN.d.ts → CredentialServices-BLloBztI.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-c7t3KnV_.d.ts +17 -0
- package/dist/InternalPingRegistrar-DY3kSfxP.js +221 -0
- package/dist/InternalPingRegistrar-DY3kSfxP.js.map +1 -0
- package/dist/{ItemsInputNormalizer-C-KHg9Mo.d.ts → ItemsInputNormalizer-_RwIfRIQ.d.ts} +89 -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-Dv04tJ-6.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-DbaNomrH.d.ts → TelemetryContracts-BtDx84Cp.d.ts} +13 -4
- package/dist/{WorkflowPolicyUiPresentationFactory-DQEY-h_S.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-CzK2KFuz.d.ts → WorkflowViewContracts-B7aFQcIw.d.ts} +10 -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-BbBk26m0.d.ts → index-DilAYwnH.d.ts} +49 -3
- package/dist/index.d.ts +141 -21
- package/dist/index.js +109 -14
- package/dist/index.js.map +1 -0
- package/dist/mapping.d.ts +2 -2
- package/dist/mapping.js +1 -1
- package/dist/nextServer.d.ts +42 -113
- 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-B71RGvSj.d.ts +30 -0
- package/dist/{persistenceServer-CmsIKnO9.js → persistenceServer-C-hH4z6l.js} +2 -2
- package/dist/{persistenceServer-CmsIKnO9.js.map → persistenceServer-C-hH4z6l.js.map} +1 -1
- package/dist/persistenceServer.d.ts +8 -8
- package/dist/persistenceServer.js +3 -3
- package/dist/{server-MUNGsBYK.d.ts → server-09PKasWR.d.ts} +21 -6
- package/dist/{server-CJFfY67o.js → server-vtRCPgRJ.js} +7 -6
- package/dist/{server-CJFfY67o.js.map → server-vtRCPgRJ.js.map} +1 -1
- package/dist/server.d.ts +14 -14
- package/dist/server.js +13 -11
- package/package.json +47 -58
- 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/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 +55 -17
- package/prisma/schema.sqlite.prisma +55 -17
- package/prisma-generated/prisma-postgresql-client/edge.js +33 -5
- package/prisma-generated/prisma-postgresql-client/index-browser.js +29 -1
- package/prisma-generated/prisma-postgresql-client/index.d.ts +8933 -5716
- package/prisma-generated/prisma-postgresql-client/index.js +33 -5
- package/prisma-generated/prisma-postgresql-client/package.json +1 -1
- package/prisma-generated/prisma-postgresql-client/schema.prisma +38 -0
- package/prisma-generated/prisma-sqlite-client/edge.js +33 -5
- package/prisma-generated/prisma-sqlite-client/index-browser.js +29 -1
- package/prisma-generated/prisma-sqlite-client/index.d.ts +8925 -5713
- package/prisma-generated/prisma-sqlite-client/index.js +33 -5
- package/prisma-generated/prisma-sqlite-client/package.json +1 -1
- package/prisma-generated/prisma-sqlite-client/schema.prisma +38 -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 +6 -0
- package/src/application/contracts/WorkflowWebsocketMessage.ts +3 -1
- package/src/application/mapping/WorkflowDefinitionMapper.ts +40 -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 +295 -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/HeadlessApiRuntime.ts +47 -0
- 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 +9 -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/PrismaMigrationDeployer.ts +21 -13
- package/src/infrastructure/persistence/PrismaTelemetryArtifactStore.ts +43 -8
- package/src/infrastructure/persistence/PrismaWorkflowRunRepository.ts +26 -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 +60 -5
- package/src/presentation/config/CodemationConfig.ts +9 -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/HeadlessHttpServerFactory.ts +56 -0
- 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 +59 -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/presentation/websocket/WorkflowWebsocketServerFactory.ts +16 -0
- 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-C6q-CSKb.js.map +0 -1
- package/dist/AppContainerFactory-qaqc-R1D.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-Cb2pLmDd.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-vtJAGDat.d.ts +0 -9
- package/src/domain/credentials/OAuth2ConnectServiceFactory.ts +0 -411
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodemationPluginListMerger-
|
|
1
|
+
{"version":3,"file":"CodemationPluginListMerger-D1B1IEbt.js","names":["packageMetadata: CodemationPluginPackageMetadata","result: CodemationPlugin[]"],"sources":["../src/bootstrap/CodemationBootstrapRequest.ts","../src/presentation/config/CodemationPluginListMerger.ts"],"sourcesContent":["export class CodemationBootstrapRequest {\n readonly consumerRoot: string;\n readonly repoRoot: string;\n readonly workflowSources: ReadonlyArray<string>;\n readonly env?: Readonly<NodeJS.ProcessEnv>;\n\n constructor(\n args: Readonly<{\n consumerRoot: string;\n repoRoot: string;\n workflowSources?: ReadonlyArray<string>;\n env?: Readonly<NodeJS.ProcessEnv>;\n }>,\n ) {\n this.consumerRoot = args.consumerRoot;\n this.repoRoot = args.repoRoot;\n this.workflowSources = [...(args.workflowSources ?? [])];\n this.env = args.env;\n }\n\n resolveEnvironment(): NodeJS.ProcessEnv {\n return {\n ...process.env,\n ...(this.env ?? {}),\n };\n }\n}\n","import { CodemationPluginPackageMetadata, type CodemationPlugin } from \"./CodemationPlugin\";\n\n/**\n * Merges explicitly configured plugins with auto-discovered plugins.\n * Configured plugins are applied first; discovered plugins fill in gaps.\n * Plugins discovered from package.json manifests are deduped by npm package name so the same package is not\n * registered twice when the consumer config lists a discovered plugin explicitly and auto-discovery also finds it.\n */\nexport class CodemationPluginListMerger {\n constructor(private readonly packageMetadata: CodemationPluginPackageMetadata) {}\n\n merge(\n configuredPlugins: ReadonlyArray<CodemationPlugin>,\n discoveredPlugins: ReadonlyArray<CodemationPlugin>,\n ): ReadonlyArray<CodemationPlugin> {\n const pluginsByPackageId = new Map<string, CodemationPlugin>();\n const pluginsByReference = new Set<CodemationPlugin>();\n const result: CodemationPlugin[] = [];\n\n for (const plugin of configuredPlugins) {\n this.tryAdd(plugin, pluginsByPackageId, pluginsByReference, result);\n }\n for (const plugin of discoveredPlugins) {\n this.tryAdd(plugin, pluginsByPackageId, pluginsByReference, result);\n }\n return result;\n }\n\n private tryAdd(\n plugin: CodemationPlugin,\n pluginsByPackageId: Map<string, CodemationPlugin>,\n pluginsByReference: Set<CodemationPlugin>,\n result: CodemationPlugin[],\n ): void {\n const packageId = this.packageMetadata.readPackageName(plugin);\n if (packageId) {\n if (pluginsByPackageId.has(packageId)) {\n return;\n }\n pluginsByPackageId.set(packageId, plugin);\n result.push(plugin);\n return;\n }\n if (pluginsByReference.has(plugin)) {\n return;\n }\n pluginsByReference.add(plugin);\n result.push(plugin);\n }\n}\n"],"mappings":";AAAA,IAAa,6BAAb,MAAwC;CACtC,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CAET,YACE,MAMA;AACA,OAAK,eAAe,KAAK;AACzB,OAAK,WAAW,KAAK;AACrB,OAAK,kBAAkB,CAAC,GAAI,KAAK,mBAAmB,EAAE,CAAE;AACxD,OAAK,MAAM,KAAK;;CAGlB,qBAAwC;AACtC,SAAO;GACL,GAAG,QAAQ;GACX,GAAI,KAAK,OAAO,EAAE;GACnB;;;;;;;;;;;;AChBL,IAAa,6BAAb,MAAwC;CACtC,YAAY,AAAiBA,iBAAkD;EAAlD;;CAE7B,MACE,mBACA,mBACiC;EACjC,MAAM,qCAAqB,IAAI,KAA+B;EAC9D,MAAM,qCAAqB,IAAI,KAAuB;EACtD,MAAMC,SAA6B,EAAE;AAErC,OAAK,MAAM,UAAU,kBACnB,MAAK,OAAO,QAAQ,oBAAoB,oBAAoB,OAAO;AAErE,OAAK,MAAM,UAAU,kBACnB,MAAK,OAAO,QAAQ,oBAAoB,oBAAoB,OAAO;AAErE,SAAO;;CAGT,AAAQ,OACN,QACA,oBACA,oBACA,QACM;EACN,MAAM,YAAY,KAAK,gBAAgB,gBAAgB,OAAO;AAC9D,MAAI,WAAW;AACb,OAAI,mBAAmB,IAAI,UAAU,CACnC;AAEF,sBAAmB,IAAI,WAAW,OAAO;AACzC,UAAO,KAAK,OAAO;AACnB;;AAEF,MAAI,mBAAmB,IAAI,OAAO,CAChC;AAEF,qBAAmB,IAAI,OAAO;AAC9B,SAAO,KAAK,OAAO"}
|
package/dist/{CodemationPluginListMerger-DGc-jfa2.d.ts → CodemationPluginListMerger-DP7djJ9S.d.ts}
RENAMED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { $ as
|
|
3
|
-
import { C as CodemationContainerRegistration, l as CodemationPluginPackageMetadata, o as CodemationPlugin, r as AppConfig } from "./CodemationAppContext-
|
|
4
|
-
import { a as CodemationAuthConfig, l as Logger, t as CodemationWhitelabelConfig, u as LoggerFactory } from "./CodemationWhitelabelConfig-
|
|
5
|
-
import { t as LogLevelPolicyFactory } from "./LogLevelPolicyFactory-
|
|
6
|
-
import { t as CredentialStore } from "./CredentialServices-
|
|
7
|
-
import { i as TelemetryMetricPointStore, n as TelemetryArtifactStore, o as TelemetrySpanStore, r as TelemetryExporter, t as RunTraceContextRepository } from "./TelemetryContracts-
|
|
8
|
-
import { n as PrismaMigrationDeployer, r as PrismaDatabaseClient } from "./AppConfigFactory-
|
|
1
|
+
import { c as Clock, i as CollectionDefinition, r as Engine, t as OAuthFlowExecutor } from "./index-DilAYwnH.js";
|
|
2
|
+
import { $ as PersistedRunState, A as WorkflowRunDetailDto, G as PersistedRunPolicySnapshot, K as RunId, T as McpServerDeclaration, X as WorkflowDefinition, b as TestCaseRunStatus, d as NodeExecutionRequestHandler, f as NodeExecutionScheduler, g as TypeToken, h as Container, kt as WorkflowId, o as BinaryStorage, p as WorkflowRepository, rt as RunPruneCandidate, st as RunSummary, tt as RunCurrentState, ut as AnyCredentialType, v as RunEvent, w as WorkflowActivationPolicy, y as RunEventBus } from "./ItemsInputNormalizer-_RwIfRIQ.js";
|
|
3
|
+
import { C as CodemationContainerRegistration, l as CodemationPluginPackageMetadata, o as CodemationPlugin, r as AppConfig } from "./CodemationAppContext-CGFYVcSb.js";
|
|
4
|
+
import { a as CodemationAuthConfig, l as Logger, t as CodemationWhitelabelConfig, u as LoggerFactory } from "./CodemationWhitelabelConfig-Ca2mCUeC.js";
|
|
5
|
+
import { t as LogLevelPolicyFactory } from "./LogLevelPolicyFactory-ewCHLDLn.js";
|
|
6
|
+
import { t as CredentialStore } from "./CredentialServices-BLloBztI.js";
|
|
7
|
+
import { i as TelemetryMetricPointStore, n as TelemetryArtifactStore, o as TelemetrySpanStore, r as TelemetryExporter, s as TelemetrySpanUpsert, t as RunTraceContextRepository } from "./TelemetryContracts-BtDx84Cp.js";
|
|
8
|
+
import { n as PrismaMigrationDeployer, r as PrismaDatabaseClient } from "./AppConfigFactory-BT0y0LVC.js";
|
|
9
|
+
import { t as InternalHonoApiRouteRegistrar } from "./InternalHonoApiRouteRegistrar-c7t3KnV_.js";
|
|
10
|
+
import { s as ProcessRunner } from "./PublicFrontendBootstrapFactory-Dv04tJ-6.js";
|
|
9
11
|
import "reflect-metadata";
|
|
10
|
-
import { Hono } from "hono";
|
|
12
|
+
import { Hono, MiddlewareHandler } from "hono";
|
|
13
|
+
import "jose";
|
|
11
14
|
|
|
12
15
|
//#region src/application/bus/Command.d.ts
|
|
13
16
|
declare abstract class Command<TResult> {
|
|
@@ -37,6 +40,7 @@ declare class CodemationPluginRegistrar {
|
|
|
37
40
|
appConfig: AppConfig;
|
|
38
41
|
registerCredentialType: (type: AnyCredentialType) => void;
|
|
39
42
|
registerCollection: (definition: CollectionDefinition) => void;
|
|
43
|
+
mergeMcpServers: (declarations: ReadonlyArray<McpServerDeclaration>) => void;
|
|
40
44
|
loggerFactory: LoggerFactory;
|
|
41
45
|
}>): Promise<void>;
|
|
42
46
|
}
|
|
@@ -60,6 +64,10 @@ type WorkflowWebsocketMessage = Readonly<{
|
|
|
60
64
|
kind: "devBuildFailed";
|
|
61
65
|
workflowId: string;
|
|
62
66
|
message: string;
|
|
67
|
+
}> | Readonly<{
|
|
68
|
+
kind: "telemetryEvent";
|
|
69
|
+
runId: string;
|
|
70
|
+
span: TelemetrySpanUpsert;
|
|
63
71
|
}>;
|
|
64
72
|
//#endregion
|
|
65
73
|
//#region src/application/websocket/WorkflowWebsocketPublisher.d.ts
|
|
@@ -67,16 +75,41 @@ interface WorkflowWebsocketPublisher {
|
|
|
67
75
|
publishToRoom(roomId: string, message: WorkflowWebsocketMessage): Promise<void>;
|
|
68
76
|
}
|
|
69
77
|
//#endregion
|
|
78
|
+
//#region ../managed-auth/src/types.d.ts
|
|
79
|
+
/**
|
|
80
|
+
* A successfully verified CP-signed JWT principal.
|
|
81
|
+
* `userId` maps to the JWT `sub` claim; `workspaceId` maps to `aud`.
|
|
82
|
+
*/
|
|
83
|
+
interface VerifiedManagedPrincipal {
|
|
84
|
+
readonly userId: string;
|
|
85
|
+
readonly workspaceId: string;
|
|
86
|
+
}
|
|
87
|
+
//#endregion
|
|
88
|
+
//#region src/presentation/websocket/WebsocketAuthenticator.types.d.ts
|
|
89
|
+
/**
|
|
90
|
+
* Authenticates an incoming WebSocket upgrade request.
|
|
91
|
+
*
|
|
92
|
+
* Implementations parse the upgrade URL (e.g. `?token=<jwt>`) and verify the
|
|
93
|
+
* credential. Returns the verified principal on success, or `null` when the
|
|
94
|
+
* request must be rejected with close-code 4401.
|
|
95
|
+
*/
|
|
96
|
+
interface WebsocketAuthenticator {
|
|
97
|
+
authenticate(requestUrl: string | undefined): Promise<VerifiedManagedPrincipal | null>;
|
|
98
|
+
}
|
|
99
|
+
//#endregion
|
|
70
100
|
//#region src/presentation/websocket/WorkflowWebsocketServer.d.ts
|
|
71
101
|
declare class WorkflowWebsocketServer implements WorkflowWebsocketPublisher {
|
|
72
102
|
private readonly port;
|
|
73
103
|
private readonly bindHost;
|
|
74
104
|
private readonly logger;
|
|
105
|
+
private readonly authenticator;
|
|
75
106
|
private websocketServer;
|
|
76
107
|
private readonly sockets;
|
|
77
108
|
private readonly roomIdsBySocket;
|
|
78
109
|
private started;
|
|
79
|
-
constructor(port: number, bindHost: string, logger: Logger);
|
|
110
|
+
constructor(port: number, bindHost: string, logger: Logger, authenticator?: WebsocketAuthenticator | null);
|
|
111
|
+
/** Returns the actual port the server is listening on (useful when constructed with port 0). */
|
|
112
|
+
get listeningPort(): number;
|
|
80
113
|
start(): Promise<void>;
|
|
81
114
|
stop(): Promise<void>;
|
|
82
115
|
publishToRoom(roomId: string, message: WorkflowWebsocketMessage): Promise<void>;
|
|
@@ -109,14 +142,20 @@ declare class AppContainerFactory {
|
|
|
109
142
|
constructor(containerRegistrationRegistrar?: CodemationContainerRegistrationRegistrar, pluginRegistrar?: CodemationPluginRegistrar);
|
|
110
143
|
create(inputs: AppContainerInputs): Promise<Container>;
|
|
111
144
|
private collectCredentialTypes;
|
|
145
|
+
private registerMcpCatalog;
|
|
146
|
+
private mergeConfigMcpServers;
|
|
112
147
|
private applyPlugins;
|
|
113
148
|
private registerCredentialTypes;
|
|
149
|
+
private registerControlPlaneCatalogFetcher;
|
|
114
150
|
private registerConfiguredRegistrations;
|
|
115
151
|
private registerCollectionsInfrastructure;
|
|
116
152
|
private registerCoreInfrastructure;
|
|
117
153
|
private registerRepositoriesAndBuses;
|
|
118
154
|
private registerApplicationServicesAndRoutes;
|
|
155
|
+
private registerManagedAuthInfrastructure;
|
|
156
|
+
private registerPairingInfrastructure;
|
|
119
157
|
private registerOperationalInfrastructure;
|
|
158
|
+
private registerWorkflowAuditWriter;
|
|
120
159
|
private registerRuntimeInfrastructure;
|
|
121
160
|
private resolvePrismaOwnership;
|
|
122
161
|
private registerRuntimeNodeActivationScheduler;
|
|
@@ -133,6 +172,8 @@ declare class AppContainerLifecycle {
|
|
|
133
172
|
private readonly container;
|
|
134
173
|
private readonly ownedPrismaClient;
|
|
135
174
|
constructor(container: Container, ownedPrismaClient: PrismaDatabaseClient | null);
|
|
175
|
+
start(): Promise<void>;
|
|
176
|
+
startWorkerSubscribers(): Promise<void>;
|
|
136
177
|
stop(args?: Readonly<{
|
|
137
178
|
stopWebsocketServer?: boolean;
|
|
138
179
|
}>): Promise<void>;
|
|
@@ -406,10 +447,16 @@ declare class TelemetryEnricherChain {
|
|
|
406
447
|
//#endregion
|
|
407
448
|
//#region src/application/telemetry/TelemetryRetentionTimestampFactory.d.ts
|
|
408
449
|
declare class TelemetryRetentionTimestampFactory {
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
450
|
+
/** Default span retention: 7 days (overridden by policySnapshot). */
|
|
451
|
+
static readonly defaultSpanRetentionSeconds: number;
|
|
452
|
+
/** Default artifact retention: 3 days (overridden by policySnapshot). */
|
|
453
|
+
static readonly defaultArtifactRetentionSeconds: number;
|
|
454
|
+
/** Default metric retention: 30 days (overridden by policySnapshot). */
|
|
455
|
+
static readonly defaultMetricRetentionSeconds: number;
|
|
456
|
+
createSpanExpiry(policySnapshot: PersistedRunPolicySnapshot | undefined, observedAt: Date): string;
|
|
457
|
+
createArtifactExpiry(policySnapshot: PersistedRunPolicySnapshot | undefined, observedAt: Date): string;
|
|
458
|
+
createMetricExpiry(policySnapshot: PersistedRunPolicySnapshot | undefined, observedAt: Date): string;
|
|
459
|
+
createTraceContextExpiry(policySnapshot: PersistedRunPolicySnapshot | undefined, observedAt: Date): string;
|
|
413
460
|
private createExpiry;
|
|
414
461
|
}
|
|
415
462
|
//#endregion
|
|
@@ -542,6 +589,10 @@ type AuthenticatedPrincipal = Readonly<{
|
|
|
542
589
|
id: string;
|
|
543
590
|
email: string | null;
|
|
544
591
|
name: string | null;
|
|
592
|
+
/** Set to "managed-jwt" when the principal was verified from a CP-signed bearer token. */
|
|
593
|
+
source?: "managed-jwt";
|
|
594
|
+
/** The workspace ID from the JWT `aud` claim. Present when source === "managed-jwt". */
|
|
595
|
+
workspaceId?: string;
|
|
545
596
|
}>;
|
|
546
597
|
//#endregion
|
|
547
598
|
//#region src/application/auth/SessionVerifier.d.ts
|
|
@@ -549,6 +600,49 @@ interface SessionVerifier {
|
|
|
549
600
|
verify(request: Request): Promise<AuthenticatedPrincipal | null>;
|
|
550
601
|
}
|
|
551
602
|
//#endregion
|
|
603
|
+
//#region src/presentation/http/ServerHttpRouteParams.d.ts
|
|
604
|
+
type ServerHttpRouteParams = Readonly<Record<string, string>>;
|
|
605
|
+
//#endregion
|
|
606
|
+
//#region src/presentation/http/routeHandlers/BinaryHttpRouteHandlerFactory.d.ts
|
|
607
|
+
declare class BinaryHttpRouteHandler {
|
|
608
|
+
private readonly queryBus;
|
|
609
|
+
private readonly commandBus;
|
|
610
|
+
private readonly binaryStorage;
|
|
611
|
+
constructor(queryBus: QueryBus, commandBus: CommandBus, binaryStorage: BinaryStorage);
|
|
612
|
+
getRunBinaryContent(_: Request, params: ServerHttpRouteParams): Promise<Response>;
|
|
613
|
+
getWorkflowOverlayBinaryContent(_: Request, params: ServerHttpRouteParams): Promise<Response>;
|
|
614
|
+
postWorkflowDebuggerOverlayBinaryUpload(request: Request, params: ServerHttpRouteParams): Promise<Response>;
|
|
615
|
+
private createBinaryResponse;
|
|
616
|
+
private createContentDisposition;
|
|
617
|
+
private escapeFilename;
|
|
618
|
+
}
|
|
619
|
+
//#endregion
|
|
620
|
+
//#region src/presentation/http/hono/HonoApiRouteRegistrar.d.ts
|
|
621
|
+
interface HonoApiRouteRegistrar {
|
|
622
|
+
register(app: Hono): void;
|
|
623
|
+
}
|
|
624
|
+
//#endregion
|
|
625
|
+
//#region src/auth/managed/ManagedCorsMiddleware.d.ts
|
|
626
|
+
/**
|
|
627
|
+
* CORS allowlist middleware for managed mode.
|
|
628
|
+
*
|
|
629
|
+
* Only the single `CP_WEB_ORIGIN` value (provisioner-injected) is permitted.
|
|
630
|
+
* All other origins are refused on preflight with a 403.
|
|
631
|
+
*/
|
|
632
|
+
declare class ManagedCorsMiddleware {
|
|
633
|
+
private readonly allowedOrigin;
|
|
634
|
+
constructor(allowedOrigin: string);
|
|
635
|
+
handle(): MiddlewareHandler;
|
|
636
|
+
}
|
|
637
|
+
//#endregion
|
|
638
|
+
//#region src/presentation/http/hono/CodemationHonoApiAppFactory.d.ts
|
|
639
|
+
declare class CodemationHonoApiApp {
|
|
640
|
+
private readonly app;
|
|
641
|
+
constructor(sessionVerifier: SessionVerifier, registrars: ReadonlyArray<HonoApiRouteRegistrar>, binaryHttpRouteHandler: BinaryHttpRouteHandler, internalRegistrars: ReadonlyArray<InternalHonoApiRouteRegistrar>, corsMiddlewareList: ReadonlyArray<ManagedCorsMiddleware>);
|
|
642
|
+
getHono(): Hono;
|
|
643
|
+
fetch(request: Request): Response | Promise<Response>;
|
|
644
|
+
}
|
|
645
|
+
//#endregion
|
|
552
646
|
//#region src/application/bus/CommandHandler.d.ts
|
|
553
647
|
declare abstract class CommandHandler<TCommand extends Command<TResult>, TResult> {
|
|
554
648
|
abstract execute(command: TCommand): Promise<TResult>;
|
|
@@ -572,6 +666,11 @@ declare abstract class QueryHandler<TQuery extends Query<TResult>, TResult> {
|
|
|
572
666
|
abstract execute(query: TQuery): Promise<TResult>;
|
|
573
667
|
}
|
|
574
668
|
//#endregion
|
|
669
|
+
//#region src/application/telemetry/TelemetrySpanPublisher.d.ts
|
|
670
|
+
interface TelemetrySpanPublisher {
|
|
671
|
+
publishSpan(span: TelemetrySpanUpsert): Promise<void>;
|
|
672
|
+
}
|
|
673
|
+
//#endregion
|
|
575
674
|
//#region src/domain/workflows/WorkflowDebuggerOverlayState.d.ts
|
|
576
675
|
type WorkflowDebuggerOverlayState = Readonly<{
|
|
577
676
|
workflowId: string;
|
|
@@ -586,9 +685,35 @@ interface WorkflowDebuggerOverlayRepository {
|
|
|
586
685
|
save(state: WorkflowDebuggerOverlayState): Promise<void>;
|
|
587
686
|
}
|
|
588
687
|
//#endregion
|
|
589
|
-
//#region src/
|
|
590
|
-
|
|
591
|
-
|
|
688
|
+
//#region src/audit/IAuditEmitter.d.ts
|
|
689
|
+
/**
|
|
690
|
+
* Workspace-local audit emitter contract.
|
|
691
|
+
* Mirror of the CP-side IAuditEmitter shape; kept separate to avoid cross-repo coupling.
|
|
692
|
+
*/
|
|
693
|
+
interface WorkflowAuditActor {
|
|
694
|
+
readonly userId: string;
|
|
695
|
+
readonly sessionId?: string;
|
|
696
|
+
}
|
|
697
|
+
interface WorkflowAuditResource {
|
|
698
|
+
readonly type: string;
|
|
699
|
+
readonly id: string;
|
|
700
|
+
}
|
|
701
|
+
interface WorkflowAuditEntry {
|
|
702
|
+
readonly id: string;
|
|
703
|
+
readonly occurredAt: string;
|
|
704
|
+
readonly actor: WorkflowAuditActor;
|
|
705
|
+
readonly action: string;
|
|
706
|
+
readonly resource: WorkflowAuditResource;
|
|
707
|
+
readonly outcome: "success" | "failure";
|
|
708
|
+
readonly errorCode?: string;
|
|
709
|
+
readonly correlationId?: string;
|
|
710
|
+
/** Denormalised on every row for query convenience. */
|
|
711
|
+
readonly workflowId: string;
|
|
712
|
+
readonly runId?: string;
|
|
713
|
+
readonly nodeId?: string;
|
|
714
|
+
}
|
|
715
|
+
interface IWorkflowAuditEmitter {
|
|
716
|
+
emit(entry: WorkflowAuditEntry): Promise<void>;
|
|
592
717
|
}
|
|
593
718
|
//#endregion
|
|
594
719
|
//#region src/applicationTokens.d.ts
|
|
@@ -605,7 +730,11 @@ declare const ApplicationTokens: {
|
|
|
605
730
|
readonly CommandHandler: TypeToken<CommandHandler<Command<unknown>, unknown>>;
|
|
606
731
|
readonly DomainEventHandler: TypeToken<DomainEventHandler<DomainEvent>>;
|
|
607
732
|
readonly HonoApiRouteRegistrar: TypeToken<HonoApiRouteRegistrar>;
|
|
733
|
+
readonly InternalHonoApiRouteRegistrar: TypeToken<InternalHonoApiRouteRegistrar>;
|
|
734
|
+
readonly ManagedCorsMiddleware: TypeToken<ManagedCorsMiddleware>;
|
|
735
|
+
readonly WebsocketAuthenticator: TypeToken<WebsocketAuthenticator | null>;
|
|
608
736
|
readonly WorkflowWebsocketPublisher: TypeToken<WorkflowWebsocketPublisher>;
|
|
737
|
+
readonly TelemetrySpanPublisher: TypeToken<TelemetrySpanPublisher>;
|
|
609
738
|
readonly WorkerRuntimeScheduler: TypeToken<WorkerRuntimeScheduler>;
|
|
610
739
|
readonly WorkflowDefinitionRepository: TypeToken<WorkflowDefinitionRepository>;
|
|
611
740
|
readonly WorkflowActivationRepository: TypeToken<WorkflowActivationRepository>;
|
|
@@ -625,6 +754,9 @@ declare const ApplicationTokens: {
|
|
|
625
754
|
readonly PrismaClient: TypeToken<PrismaDatabaseClient>;
|
|
626
755
|
readonly SessionVerifier: TypeToken<SessionVerifier>;
|
|
627
756
|
readonly Clock: TypeToken<Clock>;
|
|
757
|
+
readonly WorkflowAuditEmitter: TypeToken<IWorkflowAuditEmitter>;
|
|
758
|
+
readonly ProcessRunner: TypeToken<ProcessRunner>;
|
|
759
|
+
readonly OAuthFlowExecutor: TypeToken<OAuthFlowExecutor>;
|
|
628
760
|
};
|
|
629
761
|
//#endregion
|
|
630
762
|
//#region src/bootstrap/CodemationBootstrapRequest.d.ts
|
|
@@ -656,5 +788,5 @@ declare class CodemationPluginListMerger {
|
|
|
656
788
|
private tryAdd;
|
|
657
789
|
}
|
|
658
790
|
//#endregion
|
|
659
|
-
export {
|
|
660
|
-
//# sourceMappingURL=CodemationPluginListMerger-
|
|
791
|
+
export { Command as C, CommandBus as S, AppContainerLifecycle as _, CodemationHonoApiApp as a, QueryBus as b, SessionVerifier as c, WorkflowRunRetentionPruneScheduler as d, ServerLoggerFactory as f, DatabaseMigrations as g, CollectionSchemaSyncerHolder as h, WorkflowDebuggerOverlayRepository as i, WorkerRuntime as l, WorkflowRunRepository as m, CodemationBootstrapRequest as n, BinaryHttpRouteHandler as o, LogFilter as p, ApplicationTokens as r, ServerHttpRouteParams as s, CodemationPluginListMerger as t, FrontendRuntime as u, AppContainerFactory as v, Query as x, WorkflowWebsocketServer as y };
|
|
792
|
+
//# sourceMappingURL=CodemationPluginListMerger-DP7djJ9S.d.ts.map
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
//#region src/presentation/server/CodemationTsyringeParamInfoReader.ts
|
|
2
|
+
var CodemationTsyringeParamInfoReader = class {
|
|
3
|
+
static injectionTokenMetadataKey = "injectionTokens";
|
|
4
|
+
static designParamTypesMetadataKey = "design:paramtypes";
|
|
5
|
+
static read(target) {
|
|
6
|
+
const designParamTypes = this.readDesignParamTypes(target);
|
|
7
|
+
const injectionTokens = this.readInjectionTokens(target);
|
|
8
|
+
Object.keys(injectionTokens).forEach((key) => {
|
|
9
|
+
designParamTypes[Number(key)] = injectionTokens[key];
|
|
10
|
+
});
|
|
11
|
+
return designParamTypes;
|
|
12
|
+
}
|
|
13
|
+
static readDesignParamTypes(target) {
|
|
14
|
+
const reflected = Reflect.getMetadata?.(this.designParamTypesMetadataKey, target);
|
|
15
|
+
return Array.isArray(reflected) ? [...reflected] : [];
|
|
16
|
+
}
|
|
17
|
+
static readInjectionTokens(target) {
|
|
18
|
+
const reflected = Reflect.getOwnMetadata?.(this.injectionTokenMetadataKey, target);
|
|
19
|
+
if (!reflected || typeof reflected !== "object") return {};
|
|
20
|
+
return reflected;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/presentation/server/CodemationTsyringeTypeInfoRegistrar.ts
|
|
26
|
+
var CodemationTsyringeTypeInfoRegistrar = class {
|
|
27
|
+
visitedTokens = /* @__PURE__ */ new Set();
|
|
28
|
+
visitedConfigObjects = /* @__PURE__ */ new Set();
|
|
29
|
+
constructor(container) {
|
|
30
|
+
this.container = container;
|
|
31
|
+
}
|
|
32
|
+
registerWorkflowDefinitions(workflows) {
|
|
33
|
+
for (const workflow of workflows) for (const node of workflow.nodes) {
|
|
34
|
+
this.registerTypeToken(node.type);
|
|
35
|
+
this.registerConfigTokens(node.config);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
registerTypeToken(token) {
|
|
39
|
+
if (typeof token !== "function" || this.visitedTokens.has(token)) return;
|
|
40
|
+
this.visitedTokens.add(token);
|
|
41
|
+
const paramInfo = CodemationTsyringeParamInfoReader.read(token);
|
|
42
|
+
for (const dependency of paramInfo) this.registerDependency(dependency);
|
|
43
|
+
this.registerFactoryProvider(token, paramInfo);
|
|
44
|
+
}
|
|
45
|
+
registerDependency(dependency) {
|
|
46
|
+
const token = this.resolveDependencyToken(dependency);
|
|
47
|
+
if (typeof token !== "function") return;
|
|
48
|
+
if (!this.container.isRegistered(token, true)) return;
|
|
49
|
+
this.registerTypeToken(token);
|
|
50
|
+
}
|
|
51
|
+
registerConfigTokens(value) {
|
|
52
|
+
if (Array.isArray(value)) {
|
|
53
|
+
value.forEach((entry) => this.registerConfigTokens(entry));
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (!value || typeof value !== "object") return;
|
|
57
|
+
if (this.visitedConfigObjects.has(value)) return;
|
|
58
|
+
this.visitedConfigObjects.add(value);
|
|
59
|
+
if ("type" in value && typeof value.type === "function") this.registerTypeToken(value.type);
|
|
60
|
+
Object.values(value).forEach((entry) => this.registerConfigTokens(entry));
|
|
61
|
+
}
|
|
62
|
+
registerFactoryProvider(token, paramInfo) {
|
|
63
|
+
if (this.container.isRegistered(token, true)) return;
|
|
64
|
+
const classToken = token;
|
|
65
|
+
const constructorToken = token;
|
|
66
|
+
this.container.register(classToken, { useFactory: (dependencyContainer) => {
|
|
67
|
+
return new constructorToken(...paramInfo.map((dependency) => this.resolveFactoryDependency(dependencyContainer, dependency)));
|
|
68
|
+
} });
|
|
69
|
+
}
|
|
70
|
+
resolveDependencyToken(dependency) {
|
|
71
|
+
if (this.isInjectionDescriptor(dependency)) return dependency.token;
|
|
72
|
+
return dependency;
|
|
73
|
+
}
|
|
74
|
+
resolveFactoryDependency(dependencyContainer, dependency) {
|
|
75
|
+
const token = this.resolveDependencyToken(dependency);
|
|
76
|
+
if (typeof token === "function") {
|
|
77
|
+
if (dependencyContainer.isRegistered(token, true)) try {
|
|
78
|
+
return dependencyContainer.resolve(token);
|
|
79
|
+
} catch (error) {
|
|
80
|
+
if (!this.isMissingTypeInfoError(error)) throw error;
|
|
81
|
+
}
|
|
82
|
+
this.registerTypeToken(token);
|
|
83
|
+
return new token(...CodemationTsyringeParamInfoReader.read(token).map((entry) => this.resolveFactoryDependency(dependencyContainer, entry)));
|
|
84
|
+
}
|
|
85
|
+
return dependencyContainer.resolve(token);
|
|
86
|
+
}
|
|
87
|
+
isInjectionDescriptor(value) {
|
|
88
|
+
return value !== null && typeof value === "object" && "token" in value;
|
|
89
|
+
}
|
|
90
|
+
isMissingTypeInfoError(error) {
|
|
91
|
+
return error instanceof Error && error.message.includes("TypeInfo not known for");
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
//#endregion
|
|
96
|
+
export { CodemationTsyringeParamInfoReader as n, CodemationTsyringeTypeInfoRegistrar as t };
|
|
97
|
+
//# sourceMappingURL=CodemationTsyringeTypeInfoRegistrar-Bj6FJYFz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodemationTsyringeTypeInfoRegistrar-Bj6FJYFz.js","names":["container: Container"],"sources":["../src/presentation/server/CodemationTsyringeParamInfoReader.ts","../src/presentation/server/CodemationTsyringeTypeInfoRegistrar.ts"],"sourcesContent":["export class CodemationTsyringeParamInfoReader {\n private static readonly injectionTokenMetadataKey = \"injectionTokens\";\n private static readonly designParamTypesMetadataKey = \"design:paramtypes\";\n\n static read(target: object): ReadonlyArray<unknown> {\n const designParamTypes = this.readDesignParamTypes(target);\n const injectionTokens = this.readInjectionTokens(target);\n Object.keys(injectionTokens).forEach((key: string) => {\n designParamTypes[Number(key)] = injectionTokens[key];\n });\n return designParamTypes;\n }\n\n private static readDesignParamTypes(target: object): unknown[] {\n const reflected = Reflect.getMetadata?.(this.designParamTypesMetadataKey, target);\n return Array.isArray(reflected) ? [...reflected] : [];\n }\n\n private static readInjectionTokens(target: object): Record<string, unknown> {\n const reflected = Reflect.getOwnMetadata?.(this.injectionTokenMetadataKey, target);\n if (!reflected || typeof reflected !== \"object\") {\n return {};\n }\n return reflected as Record<string, unknown>;\n }\n}\n","import type { Container, TypeToken, WorkflowDefinition } from \"@codemation/core\";\n\nimport { CodemationTsyringeParamInfoReader } from \"./CodemationTsyringeParamInfoReader\";\n\ntype InjectionDescriptor = Readonly<{\n token?: unknown;\n}>;\n\nexport class CodemationTsyringeTypeInfoRegistrar {\n private readonly visitedTokens = new Set<unknown>();\n private readonly visitedConfigObjects = new Set<object>();\n\n constructor(private readonly container: Container) {}\n\n registerWorkflowDefinitions(workflows: ReadonlyArray<WorkflowDefinition>): void {\n for (const workflow of workflows) {\n for (const node of workflow.nodes) {\n this.registerTypeToken(node.type);\n this.registerConfigTokens(node.config);\n }\n }\n }\n\n registerTypeToken(token: unknown): void {\n if (typeof token !== \"function\" || this.visitedTokens.has(token)) {\n return;\n }\n this.visitedTokens.add(token);\n const paramInfo = CodemationTsyringeParamInfoReader.read(token);\n for (const dependency of paramInfo) {\n this.registerDependency(dependency);\n }\n this.registerFactoryProvider(token as new (...args: ReadonlyArray<unknown>) => unknown, paramInfo);\n }\n\n private registerDependency(dependency: unknown): void {\n const token = this.resolveDependencyToken(dependency);\n if (typeof token !== \"function\") {\n return;\n }\n if (!this.container.isRegistered(token as TypeToken<unknown>, true)) {\n return;\n }\n this.registerTypeToken(token);\n }\n\n private registerConfigTokens(value: unknown): void {\n if (Array.isArray(value)) {\n value.forEach((entry: unknown) => this.registerConfigTokens(entry));\n return;\n }\n if (!value || typeof value !== \"object\") {\n return;\n }\n if (this.visitedConfigObjects.has(value)) {\n return;\n }\n this.visitedConfigObjects.add(value);\n if (\"type\" in value && typeof value.type === \"function\") {\n this.registerTypeToken(value.type);\n }\n Object.values(value).forEach((entry: unknown) => this.registerConfigTokens(entry));\n }\n\n private registerFactoryProvider(\n token: new (...args: ReadonlyArray<unknown>) => unknown,\n paramInfo: ReadonlyArray<unknown>,\n ): void {\n if (this.container.isRegistered(token as TypeToken<unknown>, true)) {\n return;\n }\n const classToken = token as unknown as TypeToken<unknown>;\n const constructorToken = token as unknown as new (...args: ReadonlyArray<unknown>) => unknown;\n this.container.register(classToken, {\n useFactory: (dependencyContainer) => {\n const dependencies = paramInfo.map((dependency: unknown) =>\n this.resolveFactoryDependency(dependencyContainer, dependency),\n );\n return new constructorToken(...dependencies);\n },\n });\n }\n\n private resolveDependencyToken(dependency: unknown): unknown {\n if (this.isInjectionDescriptor(dependency)) {\n return dependency.token;\n }\n return dependency;\n }\n\n private resolveFactoryDependency(dependencyContainer: Container, dependency: unknown): unknown {\n const token = this.resolveDependencyToken(dependency);\n if (typeof token === \"function\") {\n if (dependencyContainer.isRegistered(token as TypeToken<unknown>, true)) {\n try {\n return dependencyContainer.resolve(token as TypeToken<unknown>);\n } catch (error) {\n if (!this.isMissingTypeInfoError(error)) {\n throw error;\n }\n }\n }\n this.registerTypeToken(token);\n const constructorToken = token as unknown as new (...args: ReadonlyArray<unknown>) => unknown;\n const paramInfo = CodemationTsyringeParamInfoReader.read(token);\n const nestedDependencies = paramInfo.map((entry: unknown) =>\n this.resolveFactoryDependency(dependencyContainer, entry),\n );\n return new constructorToken(...nestedDependencies);\n }\n return dependencyContainer.resolve(token as TypeToken<unknown>);\n }\n\n private isInjectionDescriptor(value: unknown): value is InjectionDescriptor {\n return value !== null && typeof value === \"object\" && \"token\" in value;\n }\n\n private isMissingTypeInfoError(error: unknown): boolean {\n return error instanceof Error && error.message.includes(\"TypeInfo not known for\");\n }\n}\n"],"mappings":";AAAA,IAAa,oCAAb,MAA+C;CAC7C,OAAwB,4BAA4B;CACpD,OAAwB,8BAA8B;CAEtD,OAAO,KAAK,QAAwC;EAClD,MAAM,mBAAmB,KAAK,qBAAqB,OAAO;EAC1D,MAAM,kBAAkB,KAAK,oBAAoB,OAAO;AACxD,SAAO,KAAK,gBAAgB,CAAC,SAAS,QAAgB;AACpD,oBAAiB,OAAO,IAAI,IAAI,gBAAgB;IAChD;AACF,SAAO;;CAGT,OAAe,qBAAqB,QAA2B;EAC7D,MAAM,YAAY,QAAQ,cAAc,KAAK,6BAA6B,OAAO;AACjF,SAAO,MAAM,QAAQ,UAAU,GAAG,CAAC,GAAG,UAAU,GAAG,EAAE;;CAGvD,OAAe,oBAAoB,QAAyC;EAC1E,MAAM,YAAY,QAAQ,iBAAiB,KAAK,2BAA2B,OAAO;AAClF,MAAI,CAAC,aAAa,OAAO,cAAc,SACrC,QAAO,EAAE;AAEX,SAAO;;;;;;ACfX,IAAa,sCAAb,MAAiD;CAC/C,AAAiB,gCAAgB,IAAI,KAAc;CACnD,AAAiB,uCAAuB,IAAI,KAAa;CAEzD,YAAY,AAAiBA,WAAsB;EAAtB;;CAE7B,4BAA4B,WAAoD;AAC9E,OAAK,MAAM,YAAY,UACrB,MAAK,MAAM,QAAQ,SAAS,OAAO;AACjC,QAAK,kBAAkB,KAAK,KAAK;AACjC,QAAK,qBAAqB,KAAK,OAAO;;;CAK5C,kBAAkB,OAAsB;AACtC,MAAI,OAAO,UAAU,cAAc,KAAK,cAAc,IAAI,MAAM,CAC9D;AAEF,OAAK,cAAc,IAAI,MAAM;EAC7B,MAAM,YAAY,kCAAkC,KAAK,MAAM;AAC/D,OAAK,MAAM,cAAc,UACvB,MAAK,mBAAmB,WAAW;AAErC,OAAK,wBAAwB,OAA2D,UAAU;;CAGpG,AAAQ,mBAAmB,YAA2B;EACpD,MAAM,QAAQ,KAAK,uBAAuB,WAAW;AACrD,MAAI,OAAO,UAAU,WACnB;AAEF,MAAI,CAAC,KAAK,UAAU,aAAa,OAA6B,KAAK,CACjE;AAEF,OAAK,kBAAkB,MAAM;;CAG/B,AAAQ,qBAAqB,OAAsB;AACjD,MAAI,MAAM,QAAQ,MAAM,EAAE;AACxB,SAAM,SAAS,UAAmB,KAAK,qBAAqB,MAAM,CAAC;AACnE;;AAEF,MAAI,CAAC,SAAS,OAAO,UAAU,SAC7B;AAEF,MAAI,KAAK,qBAAqB,IAAI,MAAM,CACtC;AAEF,OAAK,qBAAqB,IAAI,MAAM;AACpC,MAAI,UAAU,SAAS,OAAO,MAAM,SAAS,WAC3C,MAAK,kBAAkB,MAAM,KAAK;AAEpC,SAAO,OAAO,MAAM,CAAC,SAAS,UAAmB,KAAK,qBAAqB,MAAM,CAAC;;CAGpF,AAAQ,wBACN,OACA,WACM;AACN,MAAI,KAAK,UAAU,aAAa,OAA6B,KAAK,CAChE;EAEF,MAAM,aAAa;EACnB,MAAM,mBAAmB;AACzB,OAAK,UAAU,SAAS,YAAY,EAClC,aAAa,wBAAwB;AAInC,UAAO,IAAI,iBAAiB,GAHP,UAAU,KAAK,eAClC,KAAK,yBAAyB,qBAAqB,WAAW,CAC/D,CAC2C;KAE/C,CAAC;;CAGJ,AAAQ,uBAAuB,YAA8B;AAC3D,MAAI,KAAK,sBAAsB,WAAW,CACxC,QAAO,WAAW;AAEpB,SAAO;;CAGT,AAAQ,yBAAyB,qBAAgC,YAA8B;EAC7F,MAAM,QAAQ,KAAK,uBAAuB,WAAW;AACrD,MAAI,OAAO,UAAU,YAAY;AAC/B,OAAI,oBAAoB,aAAa,OAA6B,KAAK,CACrE,KAAI;AACF,WAAO,oBAAoB,QAAQ,MAA4B;YACxD,OAAO;AACd,QAAI,CAAC,KAAK,uBAAuB,MAAM,CACrC,OAAM;;AAIZ,QAAK,kBAAkB,MAAM;AAM7B,UAAO,IALkB,MAKG,GAJV,kCAAkC,KAAK,MAAM,CAC1B,KAAK,UACxC,KAAK,yBAAyB,qBAAqB,MAAM,CAC1D,CACiD;;AAEpD,SAAO,oBAAoB,QAAQ,MAA4B;;CAGjE,AAAQ,sBAAsB,OAA8C;AAC1E,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,WAAW;;CAGnE,AAAQ,uBAAuB,OAAyB;AACtD,SAAO,iBAAiB,SAAS,MAAM,QAAQ,SAAS,yBAAyB"}
|
package/dist/{CodemationWhitelabelConfig-CWbcyQqn.d.ts → CodemationWhitelabelConfig-Ca2mCUeC.d.ts}
RENAMED
|
@@ -16,7 +16,7 @@ interface LoggerFactory {
|
|
|
16
16
|
* Consumer-declared authentication profile for the hosted UI + HTTP API.
|
|
17
17
|
* Social provider ids intentionally match Better Auth's provider ids so config stays 1:1 with the auth runtime.
|
|
18
18
|
*/
|
|
19
|
-
type CodemationAuthKind = "local" | "oauth" | "oidc";
|
|
19
|
+
type CodemationAuthKind = "local" | "oauth" | "oidc" | "managed";
|
|
20
20
|
type CodemationAuthOAuthProviderId = Extract<keyof NonNullable<BetterAuthOptions["socialProviders"]>, "github" | "google" | "microsoft">;
|
|
21
21
|
interface CodemationAuthOAuthProviderConfig {
|
|
22
22
|
readonly provider: CodemationAuthOAuthProviderId;
|
|
@@ -78,4 +78,4 @@ interface CodemationWhitelabelConfig {
|
|
|
78
78
|
}
|
|
79
79
|
//#endregion
|
|
80
80
|
export { CodemationAuthConfig as a, CodemationAuthOidcProviderConfig as c, CodemationLogRule as i, Logger as l, CodemationLogConfig as n, CodemationAuthKind as o, CodemationLogLevelName as r, CodemationAuthOAuthProviderConfig as s, CodemationWhitelabelConfig as t, LoggerFactory as u };
|
|
81
|
-
//# sourceMappingURL=CodemationWhitelabelConfig-
|
|
81
|
+
//# sourceMappingURL=CodemationWhitelabelConfig-Ca2mCUeC.d.ts.map
|
package/dist/{CollectionContracts.types-DdpHft0i.d.ts → CollectionContracts.types-DDyFYT_D.d.ts}
RENAMED
|
@@ -84,4 +84,4 @@ interface SyncCollectionsResponseDto {
|
|
|
84
84
|
}
|
|
85
85
|
//#endregion
|
|
86
86
|
export { withInviteUserResponseLoginMethodsDefaults as _, CollectionSummaryDto as a, AcceptUserInviteRequestDto as c, UpdateUserAccountStatusRequestDto as d, UpsertLocalBootstrapUserResultDto as f, VerifyUserInviteResponseDto as g, UserAccountStatus as h, CollectionRowDto as i, InviteUserRequestDto as l, UserAccountDtoInput as m, CollectionFieldDto as n, ListCollectionRowsResponseDto as o, UserAccountDto as p, CollectionIndexDto as r, SyncCollectionsResponseDto as s, CollectionDetailDto as t, InviteUserResponseDto as u, withUserAccountLoginMethodsDefaults as v };
|
|
87
|
-
//# sourceMappingURL=CollectionContracts.types-
|
|
87
|
+
//# sourceMappingURL=CollectionContracts.types-DDyFYT_D.d.ts.map
|
package/dist/{CredentialContractsRegistry-DrMIDSw8.d.ts → CredentialContractsRegistry-Bq2bq28t.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ct as CredentialSetupStatus, Et as CredentialTypeId, bt as CredentialRequirement, ht as CredentialInstanceId, mt as CredentialHealth, vt as CredentialMaterialSourceKind } from "./ItemsInputNormalizer-_RwIfRIQ.js";
|
|
2
2
|
|
|
3
3
|
//#region src/application/contracts/CredentialContractsRegistry.d.ts
|
|
4
4
|
type CredentialInstanceDto = Readonly<{
|
|
@@ -67,4 +67,4 @@ type UpsertCredentialBindingRequest = Readonly<{
|
|
|
67
67
|
}>;
|
|
68
68
|
//#endregion
|
|
69
69
|
export { UpdateCredentialInstanceRequest as a, WorkflowCredentialHealthSlotDto as c, CredentialOAuth2ConnectionDto as i, CredentialInstanceDto as n, UpsertCredentialBindingRequest as o, CredentialInstanceWithSecretsDto as r, WorkflowCredentialHealthDto as s, CreateCredentialInstanceRequest as t };
|
|
70
|
-
//# sourceMappingURL=CredentialContractsRegistry-
|
|
70
|
+
//# sourceMappingURL=CredentialContractsRegistry-Bq2bq28t.d.ts.map
|
|
@@ -1,14 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as AppConfig } from "./CodemationAppContext-
|
|
3
|
-
import {
|
|
1
|
+
import { Dt as CredentialTypeRegistry, Et as CredentialTypeId, St as CredentialSessionService, T as McpServerDeclaration, Tt as CredentialTypeDefinition, X as WorkflowDefinition, _t as CredentialJsonRecord, bt as CredentialRequirement, dt as CredentialBinding, ft as CredentialBindingKey, gt as CredentialInstanceRecord, ht as CredentialInstanceId, mt as CredentialHealth, p as WorkflowRepository, pt as CredentialFieldSchema, ut as AnyCredentialType, wt as CredentialType, yt as CredentialOAuth2AuthDefinition } from "./ItemsInputNormalizer-_RwIfRIQ.js";
|
|
2
|
+
import { r as AppConfig } from "./CodemationAppContext-CGFYVcSb.js";
|
|
3
|
+
import { u as LoggerFactory } from "./CodemationWhitelabelConfig-Ca2mCUeC.js";
|
|
4
|
+
import { a as UpdateCredentialInstanceRequest, n as CredentialInstanceDto, r as CredentialInstanceWithSecretsDto, s as WorkflowCredentialHealthDto, t as CreateCredentialInstanceRequest } from "./CredentialContractsRegistry-Bq2bq28t.js";
|
|
4
5
|
|
|
5
6
|
//#region src/domain/credentials/CredentialTypeRegistryImpl.d.ts
|
|
7
|
+
type CredentialTypeSource = "plugin" | "config" | "controlPlane";
|
|
6
8
|
declare class CredentialTypeRegistryImpl implements CredentialTypeRegistry {
|
|
7
|
-
private readonly
|
|
8
|
-
|
|
9
|
+
private readonly loggers;
|
|
10
|
+
private readonly entries;
|
|
11
|
+
private readonly bySource;
|
|
12
|
+
constructor(loggers: LoggerFactory);
|
|
13
|
+
merge(source: CredentialTypeSource, types: ReadonlyArray<AnyCredentialType>): void;
|
|
14
|
+
mergeDefinitions(source: CredentialTypeSource, definitions: ReadonlyArray<CredentialTypeDefinition>): void;
|
|
15
|
+
clear(source: CredentialTypeSource): void;
|
|
9
16
|
listTypes(): ReadonlyArray<CredentialTypeDefinition>;
|
|
10
17
|
getType(typeId: CredentialTypeId): CredentialTypeDefinition | undefined;
|
|
11
18
|
getCredentialType(typeId: CredentialTypeId): AnyCredentialType | undefined;
|
|
19
|
+
private insert;
|
|
20
|
+
private recordEntry;
|
|
21
|
+
private createUnsupportedSessionFactory;
|
|
22
|
+
private createUnsupportedHealthTester;
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/mcp/McpServerCatalog.d.ts
|
|
26
|
+
type McpServerDeclarationSource = "plugin" | "config" | "controlPlane";
|
|
27
|
+
declare class McpServerCatalog {
|
|
28
|
+
private readonly loggers;
|
|
29
|
+
private readonly entries;
|
|
30
|
+
private readonly bySource;
|
|
31
|
+
private readonly env;
|
|
32
|
+
constructor(loggers: LoggerFactory, appConfig: AppConfig);
|
|
33
|
+
merge(source: McpServerDeclarationSource, declarations: ReadonlyArray<McpServerDeclaration>): void;
|
|
34
|
+
get(id: string): McpServerDeclaration | undefined;
|
|
35
|
+
getAll(): readonly McpServerDeclaration[];
|
|
36
|
+
clear(source: McpServerDeclarationSource): void;
|
|
37
|
+
private validate;
|
|
12
38
|
}
|
|
13
39
|
//#endregion
|
|
14
40
|
//#region src/domain/credentials/WorkflowCredentialNodeResolver.d.ts
|
|
@@ -22,6 +48,8 @@ type WorkflowCredentialSlotRef = Readonly<{
|
|
|
22
48
|
* Resolves credential requirements for workflow node ids, including connection-owned LLM/tool children.
|
|
23
49
|
*/
|
|
24
50
|
declare class WorkflowCredentialNodeResolver {
|
|
51
|
+
private readonly mcpCatalog?;
|
|
52
|
+
constructor(mcpCatalog?: McpServerCatalog | undefined);
|
|
25
53
|
/**
|
|
26
54
|
* Human-readable label for credential errors (workflow node name or agent › attachment).
|
|
27
55
|
*/
|
|
@@ -57,11 +85,22 @@ declare class CredentialFieldEnvOverlayService {
|
|
|
57
85
|
}
|
|
58
86
|
//#endregion
|
|
59
87
|
//#region src/domain/credentials/CredentialSecretCipher.d.ts
|
|
88
|
+
/**
|
|
89
|
+
* Schema versions:
|
|
90
|
+
* 1 — key = SHA-256(rawValue) (legacy, read-only support retained for migration)
|
|
91
|
+
* 2 — key = HKDF-SHA-256(rawKey32Bytes, ...) (current)
|
|
92
|
+
*
|
|
93
|
+
* All new encryptions are written as v2. Existing v1 records can still be
|
|
94
|
+
* decrypted so operators can re-encrypt at their own pace (re-bind the
|
|
95
|
+
* credential in the UI, or run the one-shot re-encrypt script).
|
|
96
|
+
*/
|
|
60
97
|
declare class CredentialSecretCipher {
|
|
61
98
|
private readonly appConfig;
|
|
62
99
|
private static readonly algorithm;
|
|
63
|
-
private static readonly
|
|
100
|
+
private static readonly currentSchemaVersion;
|
|
64
101
|
private static readonly ivLength;
|
|
102
|
+
private static readonly HKDF_SALT;
|
|
103
|
+
private static readonly HKDF_INFO;
|
|
65
104
|
constructor(appConfig: AppConfig);
|
|
66
105
|
encrypt(value: JsonRecord): Readonly<{
|
|
67
106
|
encryptedJson: string;
|
|
@@ -73,7 +112,21 @@ declare class CredentialSecretCipher {
|
|
|
73
112
|
encryptionKeyId: string;
|
|
74
113
|
schemaVersion: number;
|
|
75
114
|
}>): JsonRecord;
|
|
76
|
-
|
|
115
|
+
/**
|
|
116
|
+
* Current (v2) key derivation: HKDF-SHA-256 with a fixed application salt and info label.
|
|
117
|
+
* Input must be a base64-encoded 32-byte value (`CODEMATION_CREDENTIALS_MASTER_KEY`).
|
|
118
|
+
*/
|
|
119
|
+
private resolveKeyMaterialV2;
|
|
120
|
+
/**
|
|
121
|
+
* Legacy (v1) key derivation: SHA-256 of the raw env string.
|
|
122
|
+
* Retained for decrypt-side backward compatibility only.
|
|
123
|
+
*/
|
|
124
|
+
private resolveKeyMaterialV1;
|
|
125
|
+
/**
|
|
126
|
+
* Validates and returns the raw 32-byte key material from the env var.
|
|
127
|
+
* Throws if the env var is absent or does not decode to exactly 32 bytes.
|
|
128
|
+
*/
|
|
129
|
+
private resolveBase64Key32Bytes;
|
|
77
130
|
private resolveKeyId;
|
|
78
131
|
}
|
|
79
132
|
//#endregion
|
|
@@ -132,29 +185,21 @@ declare class CredentialBindingService {
|
|
|
132
185
|
private readonly workflowRepository;
|
|
133
186
|
private readonly credentialSessionService;
|
|
134
187
|
private readonly workflowCredentialNodeResolver;
|
|
135
|
-
|
|
188
|
+
private readonly logger;
|
|
189
|
+
constructor(credentialStore: CredentialStore, credentialInstanceService: CredentialInstanceService, workflowRepository: WorkflowRepository, credentialSessionService: MutableCredentialSessionService, workflowCredentialNodeResolver: WorkflowCredentialNodeResolver, loggerFactory: LoggerFactory);
|
|
136
190
|
upsertBinding(args: Readonly<{
|
|
137
191
|
workflowId: string;
|
|
138
192
|
nodeId: string;
|
|
139
193
|
slotKey: string;
|
|
140
194
|
instanceId: CredentialInstanceId;
|
|
141
195
|
}>): Promise<CredentialBinding>;
|
|
196
|
+
assertRequiredCredentialsBound(workflowId: string): Promise<void>;
|
|
142
197
|
listWorkflowHealth(workflowId: string): Promise<WorkflowCredentialHealthDto>;
|
|
143
198
|
private requireWorkflow;
|
|
144
199
|
private requireRequirement;
|
|
145
200
|
private toBindingKeyString;
|
|
146
201
|
}
|
|
147
202
|
//#endregion
|
|
148
|
-
//#region src/domain/credentials/CredentialRuntimeMaterialService.d.ts
|
|
149
|
-
declare class CredentialRuntimeMaterialService {
|
|
150
|
-
private readonly credentialStore;
|
|
151
|
-
private readonly credentialMaterialResolver;
|
|
152
|
-
private readonly credentialSecretCipher;
|
|
153
|
-
private readonly credentialTypeRegistry;
|
|
154
|
-
constructor(credentialStore: CredentialStore, credentialMaterialResolver: CredentialMaterialResolver, credentialSecretCipher: CredentialSecretCipher, credentialTypeRegistry: CredentialTypeRegistryImpl);
|
|
155
|
-
compose(instance: CredentialInstanceRecord$1): Promise<JsonRecord>;
|
|
156
|
-
}
|
|
157
|
-
//#endregion
|
|
158
203
|
//#region src/domain/credentials/CredentialServices.d.ts
|
|
159
204
|
type JsonRecord = CredentialJsonRecord;
|
|
160
205
|
type CredentialSecretRef = Readonly<{
|
|
@@ -238,5 +283,5 @@ type MutableCredentialSessionService = CredentialSessionService & Readonly<{
|
|
|
238
283
|
evictBinding(bindingKey: CredentialBindingKey): void;
|
|
239
284
|
}>;
|
|
240
285
|
//#endregion
|
|
241
|
-
export {
|
|
242
|
-
//# sourceMappingURL=CredentialServices-
|
|
286
|
+
export { CredentialSecretCipher as a, CredentialInstanceService as i, CredentialType$1 as n, McpServerCatalog as o, CredentialBindingService as r, CredentialStore as t };
|
|
287
|
+
//# sourceMappingURL=CredentialServices-BLloBztI.d.ts.map
|