@knpkv/control-center 0.1.1 → 0.2.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/dist/client/.vite/manifest.json +127 -125
- package/dist/client/assets/{ActiveWorkPage-Bvji6Tys.js → ActiveWorkPage-C6QwDV1Y.js} +2 -2
- package/dist/client/assets/{ActiveWorkPage-Bvji6Tys.js.map → ActiveWorkPage-C6QwDV1Y.js.map} +1 -1
- package/dist/client/assets/{AgentPage-Bom41la2.js → AgentPage-OqwP6uRi.js} +2 -2
- package/dist/client/assets/{AgentPage-Bom41la2.js.map → AgentPage-OqwP6uRi.js.map} +1 -1
- package/dist/client/assets/{AtlassianOAuthCallbackPage-dr-B9-DD.js → AtlassianOAuthCallbackPage-Bm7UhU-h.js} +2 -2
- package/dist/client/assets/{AtlassianOAuthCallbackPage-dr-B9-DD.js.map → AtlassianOAuthCallbackPage-Bm7UhU-h.js.map} +1 -1
- package/dist/client/assets/{AuthorizedSharePage-C-P-PNfm.js → AuthorizedSharePage-DblP3USU.js} +2 -2
- package/dist/client/assets/{AuthorizedSharePage-C-P-PNfm.js.map → AuthorizedSharePage-DblP3USU.js.map} +1 -1
- package/dist/client/assets/{BrowserCrypto-BPiuCuW-.js → BrowserCrypto-BGGRC6iW.js} +2 -2
- package/dist/client/assets/{BrowserCrypto-BPiuCuW-.js.map → BrowserCrypto-BGGRC6iW.js.map} +1 -1
- package/dist/client/assets/{BrowserSessionHydrator-C8F_LGhg.js → BrowserSessionHydrator-39UDbHf0.js} +2 -2
- package/dist/client/assets/{BrowserSessionHydrator-C8F_LGhg.js.map → BrowserSessionHydrator-39UDbHf0.js.map} +1 -1
- package/dist/client/assets/{CommandSearch-D6iFcdvj.js → CommandSearch-D4Fnjsl-.js} +2 -2
- package/dist/client/assets/{CommandSearch-D6iFcdvj.js.map → CommandSearch-D4Fnjsl-.js.map} +1 -1
- package/dist/client/assets/{ItemsPage-x39U11an.js → ItemsPage-BZQiTh9b.js} +2 -2
- package/dist/client/assets/{ItemsPage-x39U11an.js.map → ItemsPage-BZQiTh9b.js.map} +1 -1
- package/dist/client/assets/{PairPage-D5vlz4OG.js → PairPage-Dvfse5ky.js} +2 -2
- package/dist/client/assets/{PairPage-D5vlz4OG.js.map → PairPage-Dvfse5ky.js.map} +1 -1
- package/dist/client/assets/{PortfolioOverview-DSUabOmm.js → PortfolioOverview-DeJcfXcw.js} +2 -2
- package/dist/client/assets/{PortfolioOverview-DSUabOmm.js.map → PortfolioOverview-DeJcfXcw.js.map} +1 -1
- package/dist/client/assets/{ReleaseRoute-DyDm5s85.js → ReleaseRoute-D9q8_sCk.js} +2 -2
- package/dist/client/assets/{ReleaseRoute-DyDm5s85.js.map → ReleaseRoute-D9q8_sCk.js.map} +1 -1
- package/dist/client/assets/ReleaseWorkset-Bs_FXlbC.js +2 -0
- package/dist/client/assets/ReleaseWorkset-Bs_FXlbC.js.map +1 -0
- package/dist/client/assets/{ServicesPage-CoMVH2Si.js → ServicesPage-Co6GJHgc.js} +2 -2
- package/dist/client/assets/{ServicesPage-CoMVH2Si.js.map → ServicesPage-Co6GJHgc.js.map} +1 -1
- package/dist/client/assets/{TimelinePage-D8Fj_351.js → TimelinePage-CM2og72M.js} +2 -2
- package/dist/client/assets/{TimelinePage-D8Fj_351.js.map → TimelinePage-CM2og72M.js.map} +1 -1
- package/dist/client/assets/{WorkspaceEntityLink-BRifdJHn.js → WorkspaceEntityLink-CTw_He-8.js} +2 -2
- package/dist/client/assets/{WorkspaceEntityLink-BRifdJHn.js.map → WorkspaceEntityLink-CTw_He-8.js.map} +1 -1
- package/dist/client/assets/{WorkspaceEntityRoute-BwpujSqk.css → WorkspaceEntityRoute-Bdmv6ki4.css} +1 -1
- package/dist/client/assets/WorkspaceEntityRoute-BnsmaeS2.js +30 -0
- package/dist/client/assets/WorkspaceEntityRoute-BnsmaeS2.js.map +1 -0
- package/dist/client/assets/{WorkspaceReleaseLayout-DDLdY0rU.js → WorkspaceReleaseLayout-Ba6keUju.js} +2 -2
- package/dist/client/assets/{WorkspaceReleaseLayout-DDLdY0rU.js.map → WorkspaceReleaseLayout-Ba6keUju.js.map} +1 -1
- package/dist/client/assets/{authenticatedMutationClient-D5yD0rch.js → authenticatedMutationClient-CJklf3iD.js} +2 -2
- package/dist/client/assets/{authenticatedMutationClient-D5yD0rch.js.map → authenticatedMutationClient-CJklf3iD.js.map} +1 -1
- package/dist/client/assets/{authorizedShareTransport-Dyj53kJf.js → authorizedShareTransport-Xg20SHJ5.js} +2 -2
- package/dist/client/assets/{authorizedShareTransport-Dyj53kJf.js.map → authorizedShareTransport-Xg20SHJ5.js.map} +1 -1
- package/dist/client/assets/{client-OmvShYdC.js → client-P7FaPwzJ.js} +2 -2
- package/dist/client/assets/{client-OmvShYdC.js.map → client-P7FaPwzJ.js.map} +1 -1
- package/dist/client/assets/{connectionTestTransport-c25QXx7A.js → connectionTestTransport-C9iPOkKM.js} +2 -2
- package/dist/client/assets/{connectionTestTransport-c25QXx7A.js.map → connectionTestTransport-C9iPOkKM.js.map} +1 -1
- package/dist/client/assets/{index-DLoOV6Hp.js → index-DpW_ckau.js} +3 -3
- package/dist/client/assets/{index-DLoOV6Hp.js.map → index-DpW_ckau.js.map} +1 -1
- package/dist/client/assets/{patterns-DEbg7R-A-Cw0A2uKS.js → patterns-DEbg7R-A-BhsMyh9D.js} +2 -2
- package/dist/client/assets/{patterns-DEbg7R-A-Cw0A2uKS.js.map → patterns-DEbg7R-A-BhsMyh9D.js.map} +1 -1
- package/dist/client/assets/{presentPortfolio-CkRqd_zz.js → presentPortfolio-D-v615bg.js} +2 -2
- package/dist/client/assets/{presentPortfolio-CkRqd_zz.js.map → presentPortfolio-D-v615bg.js.map} +1 -1
- package/dist/client/assets/presentWorkspaceItems-IAp5SnpB.js +2 -0
- package/dist/client/assets/presentWorkspaceItems-IAp5SnpB.js.map +1 -0
- package/dist/client/assets/{releaseRoutes-DSWkTh-E.js → releaseRoutes-CfaNElmG.js} +2 -2
- package/dist/client/assets/{releaseRoutes-DSWkTh-E.js.map → releaseRoutes-CfaNElmG.js.map} +1 -1
- package/dist/client/assets/{serviceOnboarding-B9pvdyWf.js → serviceOnboarding-BZ2U_Ugw.js} +2 -2
- package/dist/client/assets/{serviceOnboarding-B9pvdyWf.js.map → serviceOnboarding-BZ2U_Ugw.js.map} +1 -1
- package/dist/client/assets/{useWorkspaceItems-D0FuHGto.js → useWorkspaceItems-DQTYaq1R.js} +2 -2
- package/dist/client/assets/{useWorkspaceItems-D0FuHGto.js.map → useWorkspaceItems-DQTYaq1R.js.map} +1 -1
- package/dist/client/assets/workspaceEntityRoutes-Biw67kRR.js +2 -0
- package/dist/client/assets/workspaceEntityRoutes-Biw67kRR.js.map +1 -0
- package/dist/client/build-graph.json +32 -2
- package/dist/client/index.html +1 -1
- package/dist/server/api/deliveryGraph.d.ts +126 -0
- package/dist/server/api/deliveryGraph.d.ts.map +1 -1
- package/dist/server/api/index.js +2 -2
- package/dist/server/api/shares.d.ts +14 -0
- package/dist/server/api/shares.d.ts.map +1 -1
- package/dist/server/assets/{BindConfig-BjK10BEb.js → BindConfig-Dk3vjYZc.js} +7 -7
- package/dist/server/assets/{BindConfig-BjK10BEb.js.map → BindConfig-Dk3vjYZc.js.map} +1 -1
- package/dist/server/assets/{controlCenterApi-tZPvRPRH.js → controlCenterApi-Dsug4Rzi.js} +2 -2
- package/dist/server/assets/{controlCenterApi-tZPvRPRH.js.map → controlCenterApi-Dsug4Rzi.js.map} +1 -1
- package/dist/server/assets/{domainEvent-x7yeq-gU.js → domainEvent-CZLKMqgn.js} +13 -2
- package/dist/server/assets/{domainEvent-x7yeq-gU.js.map → domainEvent-CZLKMqgn.js.map} +1 -1
- package/dist/server/assets/{firstPartyServices-Y41P8uke.js → firstPartyServices-BWdrzdfD.js} +2 -2
- package/dist/server/assets/{firstPartyServices-Y41P8uke.js.map → firstPartyServices-BWdrzdfD.js.map} +1 -1
- package/dist/server/assets/{manualPluginSynchronization-C0aHB4UM.js → manualPluginSynchronization-CDnX9qXi.js} +64 -23
- package/dist/server/assets/manualPluginSynchronization-CDnX9qXi.js.map +1 -0
- package/dist/server/assets/{portfolioInvalidation-Ds9Xm4_P.js → portfolioInvalidation-iTUo5N4r.js} +26 -6
- package/dist/server/assets/portfolioInvalidation-iTUo5N4r.js.map +1 -0
- package/dist/server/assets/{readiness-CzU3vjYQ.js → readiness-CZBkcjLP.js} +2 -2
- package/dist/server/assets/{readiness-CzU3vjYQ.js.map → readiness-CZBkcjLP.js.map} +1 -1
- package/dist/server/build-graph.json +1 -0
- package/dist/server/domain/deliveryGraph.d.ts +14 -0
- package/dist/server/domain/deliveryGraph.d.ts.map +1 -1
- package/dist/server/domain/index.js +3 -3
- package/dist/server/index.js +4 -4
- package/dist/server/server/application/normalizedPluginPageMaterialization.d.ts +1 -1
- package/dist/server/server/application/normalizedPluginPageMaterialization.d.ts.map +1 -1
- package/dist/server/server/cli.js +4 -4
- package/dist/server/server/index.js +3 -3
- package/dist/server/server/persistence/Persistence.d.ts +35 -0
- package/dist/server/server/persistence/Persistence.d.ts.map +1 -1
- package/dist/server/server/persistence/repositories/delivery-graph/contract.d.ts +56 -0
- package/dist/server/server/persistence/repositories/delivery-graph/contract.d.ts.map +1 -1
- package/dist/server/server/persistence/repositories/delivery-graph/decode.d.ts +7 -0
- package/dist/server/server/persistence/repositories/delivery-graph/decode.d.ts.map +1 -1
- package/dist/server/server/persistence/repositories/delivery-graph/read.d.ts +35 -0
- package/dist/server/server/persistence/repositories/delivery-graph/read.d.ts.map +1 -1
- package/dist/server/server/persistence/repositories/delivery-graph/rows.d.ts +7 -0
- package/dist/server/server/persistence/repositories/delivery-graph/rows.d.ts.map +1 -1
- package/dist/server/server/persistence/repositories/delivery-graph/write.d.ts +14 -0
- package/dist/server/server/persistence/repositories/delivery-graph/write.d.ts.map +1 -1
- package/dist/server/server/persistence/repositories/deliveryGraphRepository.d.ts +35 -0
- package/dist/server/server/persistence/repositories/deliveryGraphRepository.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/client/assets/ReleaseWorkset-BhGacsgb.js +0 -2
- package/dist/client/assets/ReleaseWorkset-BhGacsgb.js.map +0 -1
- package/dist/client/assets/WorkspaceEntityRoute-DPci8Q8I.js +0 -30
- package/dist/client/assets/WorkspaceEntityRoute-DPci8Q8I.js.map +0 -1
- package/dist/client/assets/presentWorkspaceItems-BU__8LcC.js +0 -2
- package/dist/client/assets/presentWorkspaceItems-BU__8LcC.js.map +0 -1
- package/dist/client/assets/workspaceEntityRoutes-CRcfSq7c.js +0 -2
- package/dist/client/assets/workspaceEntityRoutes-CRcfSq7c.js.map +0 -1
- package/dist/server/assets/manualPluginSynchronization-C0aHB4UM.js.map +0 -1
- package/dist/server/assets/portfolioInvalidation-Ds9Xm4_P.js.map +0 -1
package/dist/server/assets/{firstPartyServices-Y41P8uke.js → firstPartyServices-BWdrzdfD.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mr as ProviderId } from "./domainEvent-
|
|
1
|
+
import { mr as ProviderId } from "./domainEvent-CZLKMqgn.js";
|
|
2
2
|
import * as Schema from "effect/Schema";
|
|
3
3
|
//#region src/domain/firstPartyServices.ts
|
|
4
4
|
/** Safe provider identity rendered before a browser has access to workspace connections. */
|
|
@@ -46,4 +46,4 @@ var firstPartyServiceIdentities = [
|
|
|
46
46
|
//#endregion
|
|
47
47
|
export { firstPartyServiceIdentities as n, firstPartyServiceIdentityByProvider as r, FirstPartyServiceIdentity as t };
|
|
48
48
|
|
|
49
|
-
//# sourceMappingURL=firstPartyServices-
|
|
49
|
+
//# sourceMappingURL=firstPartyServices-BWdrzdfD.js.map
|
package/dist/server/assets/{firstPartyServices-Y41P8uke.js.map → firstPartyServices-BWdrzdfD.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firstPartyServices-
|
|
1
|
+
{"version":3,"file":"firstPartyServices-BWdrzdfD.js","names":[],"sources":["../../../src/domain/firstPartyServices.ts"],"sourcesContent":["import * as Schema from \"effect/Schema\"\n\nimport { ProviderId } from \"./sourceRevision.js\"\n\n/** Safe provider identity rendered before a browser has access to workspace connections. */\nexport const FirstPartyServiceIdentity = Schema.Struct({\n providerId: ProviderId,\n displayName: Schema.String,\n description: Schema.String\n}).annotate({ identifier: \"FirstPartyServiceIdentity\" })\n\n/** Decoded safe first-party provider identity. */\nexport type FirstPartyServiceIdentity = typeof FirstPartyServiceIdentity.Type\n\n/** Stable provider lookup shared by public previews and the server-owned setup catalog. */\nexport const firstPartyServiceIdentityByProvider = {\n codecommit: {\n providerId: \"codecommit\",\n displayName: \"CodeCommit\",\n description: \"Read pull requests from one AWS CodeCommit repository.\"\n },\n codepipeline: {\n providerId: \"codepipeline\",\n displayName: \"CodePipeline\",\n description: \"Read pipeline and execution state from AWS CodePipeline.\"\n },\n jira: {\n providerId: \"jira\",\n displayName: \"Jira\",\n description: \"Read delivery issues from Jira Cloud.\"\n },\n confluence: {\n providerId: \"confluence\",\n displayName: \"Confluence\",\n description: \"Read release documentation from Confluence Cloud.\"\n },\n clockify: {\n providerId: \"clockify\",\n displayName: \"Clockify\",\n description: \"Read bounded time-entry evidence from Clockify.\"\n }\n} satisfies Readonly<Record<typeof ProviderId.Type, FirstPartyServiceIdentity>>\n\n/** Stable first-party services available to every Control Center installation. */\nexport const firstPartyServiceIdentities = [\n firstPartyServiceIdentityByProvider.codecommit,\n firstPartyServiceIdentityByProvider.codepipeline,\n firstPartyServiceIdentityByProvider.jira,\n firstPartyServiceIdentityByProvider.confluence,\n firstPartyServiceIdentityByProvider.clockify\n] satisfies ReadonlyArray<FirstPartyServiceIdentity>\n"],"mappings":";;;;AAKA,IAAa,4BAA4B,OAAO,OAAO;CACrD,YAAY;CACZ,aAAa,OAAO;CACpB,aAAa,OAAO;AACtB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,4BAA4B,CAAC;;AAMvD,IAAa,sCAAsC;CACjD,YAAY;EACV,YAAY;EACZ,aAAa;EACb,aAAa;CACf;CACA,cAAc;EACZ,YAAY;EACZ,aAAa;EACb,aAAa;CACf;CACA,MAAM;EACJ,YAAY;EACZ,aAAa;EACb,aAAa;CACf;CACA,YAAY;EACV,YAAY;EACZ,aAAa;EACb,aAAa;CACf;CACA,UAAU;EACR,YAAY;EACZ,aAAa;EACb,aAAa;CACf;AACF;;AAGA,IAAa,8BAA8B;CACzC,oCAAoC;CACpC,oCAAoC;CACpC,oCAAoC;CACpC,oCAAoC;CACpC,oCAAoC;AACtC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Cr as EntityId, Dr as EvidenceId, Er as EvidenceClaimId, F as EvidenceValue, Fr as PersonId, H as RelationshipKind, Hr as ReleaseId, It as deriveReleaseRelay, N as EvidencePredicate, Nr as GraphNodeId, R as LedgerRevision, Vt as Person, dr as PluginHealth, mt as NegotiatedPluginDescriptorV1, pr as NormalizationSchemaVersion, qt as derivePersonInitials, rt as NormalizedIssueAttributes, vr as VendorImmutableId, wr as EnvironmentId, xt as Release, zr as RelationshipId } from "./domainEvent-
|
|
2
|
-
import { Ct as PluginCheckpointV1, jt as PluginSyncRequestV1 } from "./readiness-
|
|
3
|
-
import { Kn as PersistenceOperationError, L as Persistence, Ot as DeliveryGraphWriteBatch, Q as PluginMalformedResponseFailure, S as ApplicationInvalidRequest, T as ApplicationServiceUnavailable, Z as PluginConflictFailure, i as supportsFirstPartySynchronization, it as pluginFailureClass, n as DomainEventWakeups, r as firstPartySyncStreamKey, st as PluginStreamKey, t as appendPortfolioInvalidation, v as PluginConnection, w as ApplicationResourceNotFound } from "./portfolioInvalidation-
|
|
1
|
+
import { Cr as EntityId, Dr as EvidenceId, Er as EvidenceClaimId, F as EvidenceValue, Fr as PersonId, H as RelationshipKind, Hr as ReleaseId, It as deriveReleaseRelay, N as EvidencePredicate, Nr as GraphNodeId, R as LedgerRevision, Vt as Person, dr as PluginHealth, mt as NegotiatedPluginDescriptorV1, pr as NormalizationSchemaVersion, qt as derivePersonInitials, rt as NormalizedIssueAttributes, vr as VendorImmutableId, wr as EnvironmentId, xt as Release, yr as UtcTimestamp, zr as RelationshipId } from "./domainEvent-CZLKMqgn.js";
|
|
2
|
+
import { Ct as PluginCheckpointV1, jt as PluginSyncRequestV1 } from "./readiness-CZBkcjLP.js";
|
|
3
|
+
import { Kn as PersistenceOperationError, L as Persistence, Ot as DeliveryGraphWriteBatch, Q as PluginMalformedResponseFailure, S as ApplicationInvalidRequest, T as ApplicationServiceUnavailable, Z as PluginConflictFailure, i as supportsFirstPartySynchronization, it as pluginFailureClass, n as DomainEventWakeups, r as firstPartySyncStreamKey, st as PluginStreamKey, t as appendPortfolioInvalidation, v as PluginConnection, w as ApplicationResourceNotFound } from "./portfolioInvalidation-iTUo5N4r.js";
|
|
4
4
|
import * as Schema from "effect/Schema";
|
|
5
5
|
import * as DateTime from "effect/DateTime";
|
|
6
6
|
import * as Effect from "effect/Effect";
|
|
@@ -749,6 +749,7 @@ var materializeRelationshipInference = Effect.fn("RelationshipInferenceMateriali
|
|
|
749
749
|
//#endregion
|
|
750
750
|
//#region src/server/application/normalizedPluginPageMaterialization.ts
|
|
751
751
|
var OptionalText = Schema.optionalKey(Schema.NullOr(Schema.String));
|
|
752
|
+
var OptionalUnknown = Schema.optionalKey(Schema.NullOr(Schema.Unknown));
|
|
752
753
|
var NamedText = Schema.Union([Schema.String, Schema.Struct({ name: Schema.optionalKey(Schema.NullOr(Schema.String)) })]);
|
|
753
754
|
var EntityAttributes = Schema.Struct({
|
|
754
755
|
key: OptionalText,
|
|
@@ -759,6 +760,12 @@ var EntityAttributes = Schema.Struct({
|
|
|
759
760
|
sourceBranch: OptionalText,
|
|
760
761
|
targetBranch: OptionalText,
|
|
761
762
|
headRevision: OptionalText,
|
|
763
|
+
baseRevision: OptionalText,
|
|
764
|
+
mergeBase: OptionalText,
|
|
765
|
+
description: OptionalText,
|
|
766
|
+
authorArn: OptionalText,
|
|
767
|
+
creationDate: OptionalUnknown,
|
|
768
|
+
lastActivityDate: OptionalUnknown,
|
|
762
769
|
reviewState: OptionalText,
|
|
763
770
|
spaceKey: OptionalText,
|
|
764
771
|
spaceId: OptionalText,
|
|
@@ -828,7 +835,15 @@ var bounded = (value, fallback, maximum) => {
|
|
|
828
835
|
const normalized = value?.trim();
|
|
829
836
|
return (normalized === void 0 || normalized.length === 0 ? fallback : normalized).slice(0, maximum);
|
|
830
837
|
};
|
|
838
|
+
var optionalBounded = (value, maximum) => {
|
|
839
|
+
const normalized = value?.trim();
|
|
840
|
+
return normalized === void 0 || normalized.length === 0 ? null : normalized.slice(0, maximum);
|
|
841
|
+
};
|
|
831
842
|
var namedText = (value) => typeof value === "string" ? value : value?.name ?? null;
|
|
843
|
+
var decodedPullRequestTimestamp = Effect.fn("NormalizedPluginPageMaterialization.decodePullRequestTimestamp")(function* (value, eventId) {
|
|
844
|
+
if (value === null || value === void 0) return null;
|
|
845
|
+
return yield* Schema.decodeUnknownEffect(UtcTimestamp)(value).pipe(Effect.mapError(() => malformed("normalized-pull-request-timestamp-invalid", eventId)));
|
|
846
|
+
});
|
|
832
847
|
var decodedIssueAttributes = Effect.fn("NormalizedPluginPageMaterialization.decodeIssueAttributes")(function* (event) {
|
|
833
848
|
const normalized = Schema.decodeUnknownResult(NormalizedIssueAttributes)(event.attributes);
|
|
834
849
|
if (Result.isSuccess(normalized)) return normalized.success;
|
|
@@ -859,16 +874,22 @@ var canonicalKind = (entityType) => {
|
|
|
859
874
|
};
|
|
860
875
|
var reviewState = (value) => {
|
|
861
876
|
switch (value?.toLowerCase()) {
|
|
862
|
-
case "requested":
|
|
863
|
-
case "open": return "requested";
|
|
877
|
+
case "requested": return "requested";
|
|
864
878
|
case "changes-requested":
|
|
865
879
|
case "changes requested": return "changes-requested";
|
|
866
880
|
case "approved": return "approved";
|
|
867
|
-
case "merged":
|
|
868
|
-
case "closed": return "merged";
|
|
881
|
+
case "merged": return "merged";
|
|
869
882
|
default: return "not-requested";
|
|
870
883
|
}
|
|
871
884
|
};
|
|
885
|
+
var pullRequestLifecycle = (value) => {
|
|
886
|
+
switch (value?.toLowerCase()) {
|
|
887
|
+
case "open": return "open";
|
|
888
|
+
case "closed": return "closed";
|
|
889
|
+
case "merged": return "merged";
|
|
890
|
+
default: return null;
|
|
891
|
+
}
|
|
892
|
+
};
|
|
872
893
|
var pipelineStatus = (value) => {
|
|
873
894
|
switch (value?.toLowerCase()) {
|
|
874
895
|
case "inprogress":
|
|
@@ -907,17 +928,29 @@ var entityPresentation = Effect.fn("NormalizedPluginPageMaterialization.entityPr
|
|
|
907
928
|
}
|
|
908
929
|
};
|
|
909
930
|
}
|
|
910
|
-
case "pull-request":
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
931
|
+
case "pull-request": {
|
|
932
|
+
const creationDate = yield* decodedPullRequestTimestamp(attributes.creationDate, event.eventId);
|
|
933
|
+
const lastActivityDate = yield* decodedPullRequestTimestamp(attributes.lastActivityDate, event.eventId);
|
|
934
|
+
const status = namedText(attributes.status);
|
|
935
|
+
return {
|
|
936
|
+
displayKey: bounded(event.vendorImmutableId, event.vendorImmutableId, 200),
|
|
937
|
+
details: {
|
|
938
|
+
_tag: "pull-request",
|
|
939
|
+
repository: bounded(attributes.repository, "unknown", 200),
|
|
940
|
+
sourceBranch: bounded(attributes.sourceBranch, "unknown", 500),
|
|
941
|
+
targetBranch: bounded(attributes.targetBranch, "unknown", 500),
|
|
942
|
+
headRevision: bounded(attributes.headRevision, event.revision, 512),
|
|
943
|
+
reviewState: reviewState(attributes.reviewState ?? (pullRequestLifecycle(status) === null ? status : null)),
|
|
944
|
+
lifecycle: pullRequestLifecycle(status),
|
|
945
|
+
description: optionalBounded(attributes.description, 5e4),
|
|
946
|
+
authorReference: optionalBounded(attributes.authorArn, 512),
|
|
947
|
+
baseRevision: optionalBounded(attributes.baseRevision, 512),
|
|
948
|
+
mergeBaseRevision: optionalBounded(attributes.mergeBase, 512),
|
|
949
|
+
createdAt: creationDate === null ? null : DateTime.formatIso(creationDate),
|
|
950
|
+
updatedAt: lastActivityDate === null ? null : DateTime.formatIso(lastActivityDate)
|
|
951
|
+
}
|
|
952
|
+
};
|
|
953
|
+
}
|
|
921
954
|
case "page": return {
|
|
922
955
|
displayKey: bounded(event.vendorImmutableId, event.vendorImmutableId, 200),
|
|
923
956
|
details: {
|
|
@@ -1019,6 +1052,7 @@ var sourceRevision = (scope, event, firstObservedAt, sourceUrl) => ({
|
|
|
1019
1052
|
});
|
|
1020
1053
|
var laterTimestamp = (left, right) => DateTime.Order(left, right) >= 0 ? left : right;
|
|
1021
1054
|
var sameSourceUrl = (left, right) => left?.href === right?.href;
|
|
1055
|
+
var projectionSchemaVersion = (kind) => kind === "pull-request" ? 2 : 1;
|
|
1022
1056
|
var writeGraph = Effect.fn("NormalizedPluginPageMaterialization.writeGraph")(function* (persistence, workspaceId, batch, eventId) {
|
|
1023
1057
|
const encoded = yield* Schema.encodeEffect(DeliveryGraphWriteBatch)(batch).pipe(Effect.mapError(() => malformed("normalized-delivery-graph-batch-invalid", eventId)));
|
|
1024
1058
|
return yield* persistence.deliveryGraph.write(workspaceId, encoded);
|
|
@@ -1034,7 +1068,14 @@ var materializeUpsertEntity = Effect.fn("NormalizedPluginPageMaterialization.ups
|
|
|
1034
1068
|
const existing = yield* findEntity(persistence, scope, event.vendorImmutableId);
|
|
1035
1069
|
const entityId = existing?.entityId ?? (yield* entityIdFor(cryptoService, scope, event.vendorImmutableId, event.eventId));
|
|
1036
1070
|
const currentProjection = existing === null ? null : yield* readProjection(persistence, scope.workspaceId, entityId);
|
|
1037
|
-
|
|
1071
|
+
const schemaVersion = projectionSchemaVersion(kind);
|
|
1072
|
+
const refreshedSource = existing === null ? null : {
|
|
1073
|
+
...sourceRevision(scope, event, existing.sourceRevision.firstObservedAt, event.sourceUrl),
|
|
1074
|
+
lastObservedAt: laterTimestamp(existing.sourceRevision.lastObservedAt, event.observedAt),
|
|
1075
|
+
synchronizedAt: laterTimestamp(existing.sourceRevision.synchronizedAt, scope.committedAt)
|
|
1076
|
+
};
|
|
1077
|
+
const sourceMetadataChanged = existing !== null && refreshedSource !== null && (!sameSourceUrl(existing.sourceRevision.sourceUrl, refreshedSource.sourceUrl) || !DateTime.Equivalence(existing.sourceRevision.lastObservedAt, refreshedSource.lastObservedAt) || !DateTime.Equivalence(existing.sourceRevision.synchronizedAt, refreshedSource.synchronizedAt));
|
|
1078
|
+
if (existing !== null && existing.sourceRevision.revision === event.revision && currentProjection?.projection.entityState === "present" && currentProjection.projection.projectionSchemaVersion === schemaVersion && !sourceMetadataChanged) return {
|
|
1038
1079
|
entityProjectionCount: 0,
|
|
1039
1080
|
nodeCount: 0,
|
|
1040
1081
|
skippedEntityCount: 0
|
|
@@ -1044,8 +1085,8 @@ var materializeUpsertEntity = Effect.fn("NormalizedPluginPageMaterialization.ups
|
|
|
1044
1085
|
entityType: kind,
|
|
1045
1086
|
sourceRevision: sourceRevision(scope, event, event.observedAt, event.sourceUrl),
|
|
1046
1087
|
createdAt: scope.committedAt
|
|
1047
|
-
}) :
|
|
1048
|
-
sourceRevision: sourceRevision(scope, event, existing.sourceRevision.firstObservedAt, event.sourceUrl),
|
|
1088
|
+
}) : yield* persistence.entities.updateSourceRevision(scope.workspaceId, entityId, {
|
|
1089
|
+
sourceRevision: refreshedSource ?? sourceRevision(scope, event, existing.sourceRevision.firstObservedAt, event.sourceUrl),
|
|
1049
1090
|
expectedRevision: existing.revision,
|
|
1050
1091
|
updatedAt: scope.committedAt
|
|
1051
1092
|
});
|
|
@@ -1059,7 +1100,7 @@ var materializeUpsertEntity = Effect.fn("NormalizedPluginPageMaterialization.ups
|
|
|
1059
1100
|
projectionRevision,
|
|
1060
1101
|
sourceEntityRevision: LedgerRevision.make(persisted.revision),
|
|
1061
1102
|
supersedesProjectionRevision: currentProjection?.projection.projectionRevision ?? null,
|
|
1062
|
-
projectionSchemaVersion:
|
|
1103
|
+
projectionSchemaVersion: schemaVersion,
|
|
1063
1104
|
entityState: "present",
|
|
1064
1105
|
entityType: kind,
|
|
1065
1106
|
displayKey: presentation.displayKey,
|
|
@@ -1802,4 +1843,4 @@ var makeManualPluginSynchronization = Effect.fn("ManualPluginSynchronization.mak
|
|
|
1802
1843
|
//#endregion
|
|
1803
1844
|
export { firstPartyManualPluginSyncDrivers, makeManualPluginSyncDriverRegistry, makeManualPluginSynchronization };
|
|
1804
1845
|
|
|
1805
|
-
//# sourceMappingURL=manualPluginSynchronization-
|
|
1846
|
+
//# sourceMappingURL=manualPluginSynchronization-CDnX9qXi.js.map
|