jumbo-cli 2.15.0 → 3.0.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/assets/skills/codify-jumbo-goal/SKILL.md +2 -2
- package/assets/skills/decompose-architecture-aggregate/SKILL.md +3 -3
- package/assets/skills/jumbo-add-guideline/SKILL.md +4 -7
- package/assets/skills/jumbo-add-invariant/SKILL.md +1 -4
- package/dist/application/context/components/remove/ComponentRemovedEventHandler.d.ts +3 -5
- package/dist/application/context/components/remove/ComponentRemovedEventHandler.d.ts.map +1 -1
- package/dist/application/context/components/remove/ComponentRemovedEventHandler.js +3 -5
- package/dist/application/context/components/remove/ComponentRemovedEventHandler.js.map +1 -1
- package/dist/application/context/goals/remove/GoalRemovedEventHandler.d.ts +3 -3
- package/dist/application/context/goals/remove/GoalRemovedEventHandler.d.ts.map +1 -1
- package/dist/application/context/goals/remove/GoalRemovedEventHandler.js +3 -3
- package/dist/application/context/goals/remove/GoalRemovedEventHandler.js.map +1 -1
- package/dist/application/context/guidelines/GuidelineView.d.ts +0 -1
- package/dist/application/context/guidelines/GuidelineView.d.ts.map +1 -1
- package/dist/application/context/guidelines/add/AddGuidelineCommand.d.ts +0 -1
- package/dist/application/context/guidelines/add/AddGuidelineCommand.d.ts.map +1 -1
- package/dist/application/context/guidelines/add/AddGuidelineCommandHandler.d.ts.map +1 -1
- package/dist/application/context/guidelines/add/AddGuidelineCommandHandler.js +1 -1
- package/dist/application/context/guidelines/add/AddGuidelineCommandHandler.js.map +1 -1
- package/dist/application/context/guidelines/add/AddGuidelineRequest.d.ts +0 -1
- package/dist/application/context/guidelines/add/AddGuidelineRequest.d.ts.map +1 -1
- package/dist/application/context/guidelines/add/LocalAddGuidelineGateway.d.ts.map +1 -1
- package/dist/application/context/guidelines/add/LocalAddGuidelineGateway.js +0 -1
- package/dist/application/context/guidelines/add/LocalAddGuidelineGateway.js.map +1 -1
- package/dist/application/context/guidelines/update/LocalUpdateGuidelineGateway.d.ts.map +1 -1
- package/dist/application/context/guidelines/update/LocalUpdateGuidelineGateway.js +0 -4
- package/dist/application/context/guidelines/update/LocalUpdateGuidelineGateway.js.map +1 -1
- package/dist/application/context/guidelines/update/UpdateGuidelineCommand.d.ts +0 -1
- package/dist/application/context/guidelines/update/UpdateGuidelineCommand.d.ts.map +1 -1
- package/dist/application/context/guidelines/update/UpdateGuidelineCommandHandler.d.ts.map +1 -1
- package/dist/application/context/guidelines/update/UpdateGuidelineCommandHandler.js +0 -2
- package/dist/application/context/guidelines/update/UpdateGuidelineCommandHandler.js.map +1 -1
- package/dist/application/context/guidelines/update/UpdateGuidelineRequest.d.ts +0 -1
- package/dist/application/context/guidelines/update/UpdateGuidelineRequest.d.ts.map +1 -1
- package/dist/application/context/invariants/InvariantView.d.ts +0 -1
- package/dist/application/context/invariants/InvariantView.d.ts.map +1 -1
- package/dist/application/context/invariants/add/AddInvariantCommand.d.ts +0 -1
- package/dist/application/context/invariants/add/AddInvariantCommand.d.ts.map +1 -1
- package/dist/application/context/invariants/add/AddInvariantCommandHandler.d.ts.map +1 -1
- package/dist/application/context/invariants/add/AddInvariantCommandHandler.js +1 -1
- package/dist/application/context/invariants/add/AddInvariantCommandHandler.js.map +1 -1
- package/dist/application/context/invariants/add/AddInvariantRequest.d.ts +0 -1
- package/dist/application/context/invariants/add/AddInvariantRequest.d.ts.map +1 -1
- package/dist/application/context/invariants/add/LocalAddInvariantGateway.d.ts.map +1 -1
- package/dist/application/context/invariants/add/LocalAddInvariantGateway.js +0 -1
- package/dist/application/context/invariants/add/LocalAddInvariantGateway.js.map +1 -1
- package/dist/application/context/invariants/update/LocalUpdateInvariantGateway.d.ts.map +1 -1
- package/dist/application/context/invariants/update/LocalUpdateInvariantGateway.js +0 -3
- package/dist/application/context/invariants/update/LocalUpdateInvariantGateway.js.map +1 -1
- package/dist/application/context/invariants/update/UpdateInvariantCommand.d.ts +0 -1
- package/dist/application/context/invariants/update/UpdateInvariantCommand.d.ts.map +1 -1
- package/dist/application/context/invariants/update/UpdateInvariantCommandHandler.d.ts.map +1 -1
- package/dist/application/context/invariants/update/UpdateInvariantCommandHandler.js +0 -1
- package/dist/application/context/invariants/update/UpdateInvariantCommandHandler.js.map +1 -1
- package/dist/application/context/invariants/update/UpdateInvariantRequest.d.ts +0 -1
- package/dist/application/context/invariants/update/UpdateInvariantRequest.d.ts.map +1 -1
- package/dist/application/context/relations/prune/RelationPruningCascade.d.ts +13 -0
- package/dist/application/context/relations/prune/RelationPruningCascade.d.ts.map +1 -0
- package/dist/application/context/relations/prune/RelationPruningCascade.js +23 -0
- package/dist/application/context/relations/prune/RelationPruningCascade.js.map +1 -0
- package/dist/application/context/sessions/get/SessionContext.d.ts +0 -5
- package/dist/application/context/sessions/get/SessionContext.d.ts.map +1 -1
- package/dist/application/context/sessions/get/SessionContextQueryHandler.d.ts +1 -3
- package/dist/application/context/sessions/get/SessionContextQueryHandler.d.ts.map +1 -1
- package/dist/application/context/sessions/get/SessionContextQueryHandler.js +2 -17
- package/dist/application/context/sessions/get/SessionContextQueryHandler.js.map +1 -1
- package/dist/domain/guidelines/Constants.d.ts +0 -3
- package/dist/domain/guidelines/Constants.d.ts.map +1 -1
- package/dist/domain/guidelines/Constants.js +0 -3
- package/dist/domain/guidelines/Constants.js.map +1 -1
- package/dist/domain/guidelines/Guideline.d.ts +1 -4
- package/dist/domain/guidelines/Guideline.d.ts.map +1 -1
- package/dist/domain/guidelines/Guideline.js +1 -13
- package/dist/domain/guidelines/Guideline.js.map +1 -1
- package/dist/domain/guidelines/add/GuidelineAddedEvent.d.ts +0 -1
- package/dist/domain/guidelines/add/GuidelineAddedEvent.d.ts.map +1 -1
- package/dist/domain/guidelines/update/GuidelineUpdatedEvent.d.ts +0 -1
- package/dist/domain/guidelines/update/GuidelineUpdatedEvent.d.ts.map +1 -1
- package/dist/domain/invariants/Constants.d.ts +0 -3
- package/dist/domain/invariants/Constants.d.ts.map +1 -1
- package/dist/domain/invariants/Constants.js +0 -3
- package/dist/domain/invariants/Constants.js.map +1 -1
- package/dist/domain/invariants/Invariant.d.ts +1 -4
- package/dist/domain/invariants/Invariant.d.ts.map +1 -1
- package/dist/domain/invariants/Invariant.js +2 -17
- package/dist/domain/invariants/Invariant.js.map +1 -1
- package/dist/domain/invariants/add/InvariantAddedEvent.d.ts +0 -1
- package/dist/domain/invariants/add/InvariantAddedEvent.d.ts.map +1 -1
- package/dist/domain/invariants/update/InvariantUpdatedEvent.d.ts +0 -1
- package/dist/domain/invariants/update/InvariantUpdatedEvent.d.ts.map +1 -1
- package/dist/infrastructure/context/guidelines/GuidelineRecord.d.ts +0 -1
- package/dist/infrastructure/context/guidelines/GuidelineRecord.d.ts.map +1 -1
- package/dist/infrastructure/context/guidelines/GuidelineRecordMapper.d.ts.map +1 -1
- package/dist/infrastructure/context/guidelines/GuidelineRecordMapper.js +0 -1
- package/dist/infrastructure/context/guidelines/GuidelineRecordMapper.js.map +1 -1
- package/dist/infrastructure/context/guidelines/add/SqliteGuidelineAddedProjector.d.ts.map +1 -1
- package/dist/infrastructure/context/guidelines/add/SqliteGuidelineAddedProjector.js +3 -4
- package/dist/infrastructure/context/guidelines/add/SqliteGuidelineAddedProjector.js.map +1 -1
- package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.d.ts.map +1 -1
- package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.js +0 -1
- package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.js.map +1 -1
- package/dist/infrastructure/context/guidelines/migrations/002-drop-enforcement-from-guideline-views.sql +1 -0
- package/dist/infrastructure/context/guidelines/remove/SqliteGuidelineRemovedProjector.d.ts.map +1 -1
- package/dist/infrastructure/context/guidelines/remove/SqliteGuidelineRemovedProjector.js +0 -1
- package/dist/infrastructure/context/guidelines/remove/SqliteGuidelineRemovedProjector.js.map +1 -1
- package/dist/infrastructure/context/guidelines/update/SqliteGuidelineUpdatedProjector.d.ts.map +1 -1
- package/dist/infrastructure/context/guidelines/update/SqliteGuidelineUpdatedProjector.js +0 -5
- package/dist/infrastructure/context/guidelines/update/SqliteGuidelineUpdatedProjector.js.map +1 -1
- package/dist/infrastructure/context/invariants/InvariantRecord.d.ts +0 -1
- package/dist/infrastructure/context/invariants/InvariantRecord.d.ts.map +1 -1
- package/dist/infrastructure/context/invariants/InvariantRecordMapper.d.ts.map +1 -1
- package/dist/infrastructure/context/invariants/InvariantRecordMapper.js +0 -1
- package/dist/infrastructure/context/invariants/InvariantRecordMapper.js.map +1 -1
- package/dist/infrastructure/context/invariants/add/SqliteInvariantAddedProjector.d.ts.map +1 -1
- package/dist/infrastructure/context/invariants/add/SqliteInvariantAddedProjector.js +3 -4
- package/dist/infrastructure/context/invariants/add/SqliteInvariantAddedProjector.js.map +1 -1
- package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.d.ts.map +1 -1
- package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.js +0 -1
- package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.js.map +1 -1
- package/dist/infrastructure/context/invariants/migrations/002-drop-enforcement-from-invariant-views.sql +1 -0
- package/dist/infrastructure/context/invariants/remove/SqliteInvariantRemovedProjector.d.ts.map +1 -1
- package/dist/infrastructure/context/invariants/remove/SqliteInvariantRemovedProjector.js +0 -1
- package/dist/infrastructure/context/invariants/remove/SqliteInvariantRemovedProjector.js.map +1 -1
- package/dist/infrastructure/context/invariants/update/SqliteInvariantUpdatedProjector.d.ts.map +1 -1
- package/dist/infrastructure/context/invariants/update/SqliteInvariantUpdatedProjector.js +1 -3
- package/dist/infrastructure/context/invariants/update/SqliteInvariantUpdatedProjector.js.map +1 -1
- package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
- package/dist/infrastructure/host/HostBuilder.js +5 -3
- package/dist/infrastructure/host/HostBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/goals/codify/GoalCodifyOutputBuilder.js +2 -2
- package/dist/presentation/cli/commands/goals/codify/GoalCodifyOutputBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/guidelines/add/guideline.add.d.ts +0 -1
- package/dist/presentation/cli/commands/guidelines/add/guideline.add.d.ts.map +1 -1
- package/dist/presentation/cli/commands/guidelines/add/guideline.add.js +2 -8
- package/dist/presentation/cli/commands/guidelines/add/guideline.add.js.map +1 -1
- package/dist/presentation/cli/commands/guidelines/list/GuidelineListOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/guidelines/list/GuidelineListOutputBuilder.js +0 -1
- package/dist/presentation/cli/commands/guidelines/list/GuidelineListOutputBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/guidelines/update/guideline.update.d.ts +0 -1
- package/dist/presentation/cli/commands/guidelines/update/guideline.update.d.ts.map +1 -1
- package/dist/presentation/cli/commands/guidelines/update/guideline.update.js +0 -7
- package/dist/presentation/cli/commands/guidelines/update/guideline.update.js.map +1 -1
- package/dist/presentation/cli/commands/invariants/add/invariant.add.d.ts +0 -1
- package/dist/presentation/cli/commands/invariants/add/invariant.add.d.ts.map +1 -1
- package/dist/presentation/cli/commands/invariants/add/invariant.add.js +2 -8
- package/dist/presentation/cli/commands/invariants/add/invariant.add.js.map +1 -1
- package/dist/presentation/cli/commands/invariants/list/InvariantListOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/invariants/list/InvariantListOutputBuilder.js +0 -1
- package/dist/presentation/cli/commands/invariants/list/InvariantListOutputBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/invariants/update/invariant.update.d.ts +0 -1
- package/dist/presentation/cli/commands/invariants/update/invariant.update.d.ts.map +1 -1
- package/dist/presentation/cli/commands/invariants/update/invariant.update.js +1 -6
- package/dist/presentation/cli/commands/invariants/update/invariant.update.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js +1 -9
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js.map +1 -1
- package/package.json +1 -1
- package/dist/application/context/sessions/get/DeactivatedRelationSummary.d.ts +0 -5
- package/dist/application/context/sessions/get/DeactivatedRelationSummary.d.ts.map +0 -1
- package/dist/application/context/sessions/get/DeactivatedRelationSummary.js +0 -2
- package/dist/application/context/sessions/get/DeactivatedRelationSummary.js.map +0 -1
- package/dist/domain/guidelines/rules/EnforcementRules.d.ts +0 -14
- package/dist/domain/guidelines/rules/EnforcementRules.d.ts.map +0 -1
- package/dist/domain/guidelines/rules/EnforcementRules.js +0 -36
- package/dist/domain/guidelines/rules/EnforcementRules.js.map +0 -1
- package/dist/domain/invariants/rules/EnforcementRules.d.ts +0 -14
- package/dist/domain/invariants/rules/EnforcementRules.d.ts.map +0 -1
- package/dist/domain/invariants/rules/EnforcementRules.js +0 -36
- package/dist/domain/invariants/rules/EnforcementRules.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EntityTypeValue } from "../../../../domain/relations/Constants.js";
|
|
2
|
+
import { IRelationViewReader } from "../get/IRelationViewReader.js";
|
|
3
|
+
import { RemoveRelationCommandHandler } from "../remove/RemoveRelationCommandHandler.js";
|
|
4
|
+
/**
|
|
5
|
+
* Shared application service for pruning relations when an entity is irreversibly removed.
|
|
6
|
+
*/
|
|
7
|
+
export declare class RelationPruningCascade {
|
|
8
|
+
private readonly relationViewReader;
|
|
9
|
+
private readonly removeRelationCommandHandler;
|
|
10
|
+
constructor(relationViewReader: IRelationViewReader, removeRelationCommandHandler: RemoveRelationCommandHandler);
|
|
11
|
+
execute(entityType: EntityTypeValue, entityId: string, reason: string): Promise<number>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=RelationPruningCascade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelationPruningCascade.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/relations/prune/RelationPruningCascade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAEzF;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,4BAA4B;gBAD5B,kBAAkB,EAAE,mBAAmB,EACvC,4BAA4B,EAAE,4BAA4B;IAGvE,OAAO,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAmB9F"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared application service for pruning relations when an entity is irreversibly removed.
|
|
3
|
+
*/
|
|
4
|
+
export class RelationPruningCascade {
|
|
5
|
+
constructor(relationViewReader, removeRelationCommandHandler) {
|
|
6
|
+
this.relationViewReader = relationViewReader;
|
|
7
|
+
this.removeRelationCommandHandler = removeRelationCommandHandler;
|
|
8
|
+
}
|
|
9
|
+
async execute(entityType, entityId, reason) {
|
|
10
|
+
const relations = await this.relationViewReader.findAll({
|
|
11
|
+
entityType,
|
|
12
|
+
entityId,
|
|
13
|
+
status: "all",
|
|
14
|
+
});
|
|
15
|
+
const relationsToPrune = relations.filter((relation) => relation.status !== "removed");
|
|
16
|
+
await Promise.all(relationsToPrune.map((relation) => this.removeRelationCommandHandler.execute({
|
|
17
|
+
relationId: relation.relationId,
|
|
18
|
+
reason,
|
|
19
|
+
})));
|
|
20
|
+
return relationsToPrune.length;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=RelationPruningCascade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelationPruningCascade.js","sourceRoot":"","sources":["../../../../../src/application/context/relations/prune/RelationPruningCascade.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC,YACmB,kBAAuC,EACvC,4BAA0D;QAD1D,uBAAkB,GAAlB,kBAAkB,CAAqB;QACvC,iCAA4B,GAA5B,4BAA4B,CAA8B;IAC1E,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,UAA2B,EAAE,QAAgB,EAAE,MAAc;QACzE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACtD,UAAU;YACV,QAAQ;YACR,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAEvF,MAAM,OAAO,CAAC,GAAG,CACf,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChC,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC;YACxC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,MAAM;SACP,CAAC,CACH,CACF,CAAC;QAEF,OAAO,gBAAgB,CAAC,MAAM,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { GoalView } from "../../goals/GoalView.js";
|
|
2
2
|
import { DecisionView } from "../../decisions/DecisionView.js";
|
|
3
3
|
import { ContextualProjectView } from "../../project/get/ContextualProjectView.js";
|
|
4
|
-
import { DeactivatedRelationSummary } from "./DeactivatedRelationSummary.js";
|
|
5
4
|
/**
|
|
6
5
|
* SessionContext - Pure context container for session orientation.
|
|
7
6
|
*
|
|
@@ -37,9 +36,5 @@ export interface SessionContext {
|
|
|
37
36
|
* Recent active decisions for context orientation.
|
|
38
37
|
*/
|
|
39
38
|
readonly recentDecisions: DecisionView[];
|
|
40
|
-
/**
|
|
41
|
-
* Summary of deactivated relations so agents can avoid stale architecture links.
|
|
42
|
-
*/
|
|
43
|
-
readonly deactivatedRelations: DeactivatedRelationSummary;
|
|
44
39
|
}
|
|
45
40
|
//# sourceMappingURL=SessionContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionContext.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/sessions/get/SessionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionContext.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/sessions/get/SessionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAEtD;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC;CAE1C"}
|
|
@@ -5,7 +5,6 @@ import { ContextualSessionView } from "./ContextualSessionView.js";
|
|
|
5
5
|
import { IProjectContextReader } from "../../project/query/IProjectContextReader.js";
|
|
6
6
|
import { IAudienceContextReader } from "../../audiences/query/IAudienceContextReader.js";
|
|
7
7
|
import { IAudiencePainContextReader } from "../../audience-pains/query/IAudiencePainContextReader.js";
|
|
8
|
-
import { IRelationViewReader } from "../../relations/get/IRelationViewReader.js";
|
|
9
8
|
import { IValuePropositionContextReader } from "../../value-propositions/query/IValuePropositionContextReader.js";
|
|
10
9
|
/**
|
|
11
10
|
* SessionContextQueryHandler - Builds the reusable base session context
|
|
@@ -20,12 +19,11 @@ export declare class SessionContextQueryHandler {
|
|
|
20
19
|
private readonly sessionViewReader;
|
|
21
20
|
private readonly goalStatusReader;
|
|
22
21
|
private readonly decisionViewReader;
|
|
23
|
-
private readonly relationViewReader;
|
|
24
22
|
private readonly projectContextReader?;
|
|
25
23
|
private readonly audienceContextReader?;
|
|
26
24
|
private readonly audiencePainContextReader?;
|
|
27
25
|
private readonly valuePropositionContextReader?;
|
|
28
|
-
constructor(sessionViewReader: ISessionViewReader, goalStatusReader: IGoalStatusReader, decisionViewReader: IDecisionViewReader,
|
|
26
|
+
constructor(sessionViewReader: ISessionViewReader, goalStatusReader: IGoalStatusReader, decisionViewReader: IDecisionViewReader, projectContextReader?: IProjectContextReader | undefined, audienceContextReader?: IAudienceContextReader | undefined, audiencePainContextReader?: IAudiencePainContextReader | undefined, valuePropositionContextReader?: IValuePropositionContextReader | undefined);
|
|
29
27
|
/**
|
|
30
28
|
* Execute query to assemble base session context
|
|
31
29
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionContextQueryHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/sessions/get/SessionContextQueryHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SessionContextQueryHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/sessions/get/SessionContextQueryHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,kEAAkE,CAAC;AAElH;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBAN9B,iBAAiB,EAAE,kBAAkB,EACrC,gBAAgB,EAAE,iBAAiB,EACnC,kBAAkB,EAAE,mBAAmB,EACvC,oBAAoB,CAAC,EAAE,qBAAqB,YAAA,EAC5C,qBAAqB,CAAC,EAAE,sBAAsB,YAAA,EAC9C,yBAAyB,CAAC,EAAE,0BAA0B,YAAA,EACtD,6BAA6B,CAAC,EAAE,8BAA8B,YAAA;IAGjF;;;;;;;;;;OAUG;IACG,OAAO,IAAI,OAAO,CAAC,qBAAqB,CAAC;CAuDhD"}
|
|
@@ -9,11 +9,10 @@ import { GoalStatus } from "../../../../domain/goals/Constants.js";
|
|
|
9
9
|
* that compose this base view with event-specific enrichment.
|
|
10
10
|
*/
|
|
11
11
|
export class SessionContextQueryHandler {
|
|
12
|
-
constructor(sessionViewReader, goalStatusReader, decisionViewReader,
|
|
12
|
+
constructor(sessionViewReader, goalStatusReader, decisionViewReader, projectContextReader, audienceContextReader, audiencePainContextReader, valuePropositionContextReader) {
|
|
13
13
|
this.sessionViewReader = sessionViewReader;
|
|
14
14
|
this.goalStatusReader = goalStatusReader;
|
|
15
15
|
this.decisionViewReader = decisionViewReader;
|
|
16
|
-
this.relationViewReader = relationViewReader;
|
|
17
16
|
this.projectContextReader = projectContextReader;
|
|
18
17
|
this.audienceContextReader = audienceContextReader;
|
|
19
18
|
this.audiencePainContextReader = audiencePainContextReader;
|
|
@@ -32,7 +31,7 @@ export class SessionContextQueryHandler {
|
|
|
32
31
|
*/
|
|
33
32
|
async execute() {
|
|
34
33
|
// Query all view readers in parallel for efficiency
|
|
35
|
-
const [activeSession, doingGoals, blockedGoals, inReviewGoals, qualifiedGoals, pausedGoals, todoGoals, refinedGoals, activeDecisions,
|
|
34
|
+
const [activeSession, doingGoals, blockedGoals, inReviewGoals, qualifiedGoals, pausedGoals, todoGoals, refinedGoals, activeDecisions, project, audiences, audiencePains, valuePropositions,] = await Promise.all([
|
|
36
35
|
this.sessionViewReader.findActive(),
|
|
37
36
|
this.goalStatusReader.findByStatus(GoalStatus.DOING),
|
|
38
37
|
this.goalStatusReader.findByStatus(GoalStatus.BLOCKED),
|
|
@@ -42,7 +41,6 @@ export class SessionContextQueryHandler {
|
|
|
42
41
|
this.goalStatusReader.findByStatus(GoalStatus.TODO),
|
|
43
42
|
this.goalStatusReader.findByStatus(GoalStatus.REFINED),
|
|
44
43
|
this.decisionViewReader.findAll("active"),
|
|
45
|
-
this.relationViewReader.findAll({ status: "deactivated" }),
|
|
46
44
|
this.projectContextReader?.getProject() ?? Promise.resolve(null),
|
|
47
45
|
this.audienceContextReader?.findAllActive() ?? Promise.resolve([]),
|
|
48
46
|
this.audiencePainContextReader?.findAllActive() ?? Promise.resolve([]),
|
|
@@ -57,18 +55,6 @@ export class SessionContextQueryHandler {
|
|
|
57
55
|
const recentDecisions = activeDecisions
|
|
58
56
|
.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime())
|
|
59
57
|
.slice(0, 3);
|
|
60
|
-
const deactivatedRelationsSummary = deactivatedRelations.length === 0
|
|
61
|
-
? {
|
|
62
|
-
count: 0,
|
|
63
|
-
summary: "No deactivated relations.",
|
|
64
|
-
}
|
|
65
|
-
: {
|
|
66
|
-
count: deactivatedRelations.length,
|
|
67
|
-
summary: deactivatedRelations
|
|
68
|
-
.slice(0, 3)
|
|
69
|
-
.map((relation) => `${relation.fromEntityType}:${relation.fromEntityId} -> ${relation.toEntityType}:${relation.toEntityId}`)
|
|
70
|
-
.join("; "),
|
|
71
|
-
};
|
|
72
58
|
return {
|
|
73
59
|
session: activeSession ?? null,
|
|
74
60
|
context: {
|
|
@@ -77,7 +63,6 @@ export class SessionContextQueryHandler {
|
|
|
77
63
|
pausedGoals,
|
|
78
64
|
plannedGoals,
|
|
79
65
|
recentDecisions,
|
|
80
|
-
deactivatedRelations: deactivatedRelationsSummary,
|
|
81
66
|
},
|
|
82
67
|
};
|
|
83
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionContextQueryHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/sessions/get/SessionContextQueryHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionContextQueryHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/sessions/get/SessionContextQueryHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAMnE;;;;;;;;GAQG;AACH,MAAM,OAAO,0BAA0B;IACrC,YACmB,iBAAqC,EACrC,gBAAmC,EACnC,kBAAuC,EACvC,oBAA4C,EAC5C,qBAA8C,EAC9C,yBAAsD,EACtD,6BAA8D;QAN9D,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,qBAAgB,GAAhB,gBAAgB,CAAmB;QACnC,uBAAkB,GAAlB,kBAAkB,CAAqB;QACvC,yBAAoB,GAApB,oBAAoB,CAAwB;QAC5C,0BAAqB,GAArB,qBAAqB,CAAyB;QAC9C,8BAAyB,GAAzB,yBAAyB,CAA6B;QACtD,kCAA6B,GAA7B,6BAA6B,CAAiC;IAC9E,CAAC;IAEJ;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO;QACX,oDAAoD;QACpD,MAAM,CACJ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,OAAO,EACP,SAAS,EACT,aAAa,EACb,iBAAiB,EAClB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;YACnC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;YACtD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC;YACvD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;YACxD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;YACrD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC;YACnD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;YACtD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzC,IAAI,CAAC,oBAAoB,EAAE,UAAU,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YAChE,IAAI,CAAC,qBAAqB,EAAE,aAAa,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,yBAAyB,EAAE,aAAa,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,6BAA6B,EAAE,aAAa,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,OAAO;YAC5B,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE;YAC1D,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QACnF,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEpD,4EAA4E;QAC5E,MAAM,eAAe,GAAG,eAAe;aACpC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;aACjF,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEf,OAAO;YACL,OAAO,EAAE,aAAa,IAAI,IAAI;YAC9B,OAAO,EAAE;gBACP,cAAc;gBACd,WAAW;gBACX,WAAW;gBACX,YAAY;gBACZ,eAAe;aAChB;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -28,8 +28,6 @@ export declare const GuidelineErrorMessages: {
|
|
|
28
28
|
readonly DESCRIPTION_TOO_LONG: "Description must be less than {max} characters";
|
|
29
29
|
readonly RATIONALE_REQUIRED: "Guideline rationale must be provided";
|
|
30
30
|
readonly RATIONALE_TOO_LONG: "Rationale must be less than {max} characters";
|
|
31
|
-
readonly ENFORCEMENT_REQUIRED: "Enforcement method must be provided";
|
|
32
|
-
readonly ENFORCEMENT_TOO_LONG: "Enforcement must be less than {max} characters";
|
|
33
31
|
readonly EXAMPLE_PATH_TOO_LONG: "Example path must be less than {max} characters";
|
|
34
32
|
readonly TOO_MANY_EXAMPLES: "Cannot have more than {max} example paths";
|
|
35
33
|
readonly NO_CHANGES: "No changes provided for update";
|
|
@@ -41,7 +39,6 @@ export declare const GuidelineLimits: {
|
|
|
41
39
|
readonly TITLE_MAX_LENGTH: 200;
|
|
42
40
|
readonly DESCRIPTION_MAX_LENGTH: 2000;
|
|
43
41
|
readonly RATIONALE_MAX_LENGTH: 1000;
|
|
44
|
-
readonly ENFORCEMENT_MAX_LENGTH: 500;
|
|
45
42
|
readonly EXAMPLE_PATH_MAX_LENGTH: 500;
|
|
46
43
|
readonly MAX_EXAMPLES: 10;
|
|
47
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../src/domain/guidelines/Constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAG/D,eAAO,MAAM,iBAAiB;;;;;;;;;CASpB,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAG7D,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../src/domain/guidelines/Constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAG/D,eAAO,MAAM,iBAAiB;;;;;;;;;CASpB,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAG7D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;CAgBzB,CAAC;AAGX,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAEX;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAC5C,MAAM,CAKR"}
|
|
@@ -29,8 +29,6 @@ export const GuidelineErrorMessages = {
|
|
|
29
29
|
DESCRIPTION_TOO_LONG: "Description must be less than {max} characters",
|
|
30
30
|
RATIONALE_REQUIRED: "Guideline rationale must be provided",
|
|
31
31
|
RATIONALE_TOO_LONG: "Rationale must be less than {max} characters",
|
|
32
|
-
ENFORCEMENT_REQUIRED: "Enforcement method must be provided",
|
|
33
|
-
ENFORCEMENT_TOO_LONG: "Enforcement must be less than {max} characters",
|
|
34
32
|
EXAMPLE_PATH_TOO_LONG: "Example path must be less than {max} characters",
|
|
35
33
|
TOO_MANY_EXAMPLES: "Cannot have more than {max} example paths",
|
|
36
34
|
NO_CHANGES: "No changes provided for update",
|
|
@@ -43,7 +41,6 @@ export const GuidelineLimits = {
|
|
|
43
41
|
TITLE_MAX_LENGTH: 200,
|
|
44
42
|
DESCRIPTION_MAX_LENGTH: 2000,
|
|
45
43
|
RATIONALE_MAX_LENGTH: 1000,
|
|
46
|
-
ENFORCEMENT_MAX_LENGTH: 500,
|
|
47
44
|
EXAMPLE_PATH_MAX_LENGTH: 500,
|
|
48
45
|
MAX_EXAMPLES: 10,
|
|
49
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../src/domain/guidelines/Constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAwB;AACxB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,qBAAqB;IAC5B,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,uBAAuB;CACxB,CAAC;AAKX,uBAAuB;AACvB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,aAAa;IAC3B,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;CACN,CAAC;AAKX,iBAAiB;AACjB,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,iBAAiB,EAAE,qCAAqC;IACxD,gBAAgB,EACd,oHAAoH;IACtH,cAAc,EAAE,kCAAkC;IAClD,cAAc,EAAE,0CAA0C;IAC1D,oBAAoB,EAAE,wCAAwC;IAC9D,oBAAoB,EAAE,gDAAgD;IACtE,kBAAkB,EAAE,sCAAsC;IAC1D,kBAAkB,EAAE,8CAA8C;IAClE,
|
|
1
|
+
{"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../src/domain/guidelines/Constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAwB;AACxB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,qBAAqB;IAC5B,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,uBAAuB;CACxB,CAAC;AAKX,uBAAuB;AACvB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,aAAa;IAC3B,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;CACN,CAAC;AAKX,iBAAiB;AACjB,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,iBAAiB,EAAE,qCAAqC;IACxD,gBAAgB,EACd,oHAAoH;IACtH,cAAc,EAAE,kCAAkC;IAClD,cAAc,EAAE,0CAA0C;IAC1D,oBAAoB,EAAE,wCAAwC;IAC9D,oBAAoB,EAAE,gDAAgD;IACtE,kBAAkB,EAAE,sCAAsC;IAC1D,kBAAkB,EAAE,8CAA8C;IAClE,qBAAqB,EAAE,iDAAiD;IACxE,iBAAiB,EAAE,2CAA2C;IAC9D,UAAU,EAAE,gCAAgC;IAC5C,SAAS,EAAE,kCAAkC;IAC7C,eAAe,EAAE,8BAA8B;IAC/C,WAAW,EAAE,+BAA+B;CACpC,CAAC;AAEX,iBAAiB;AACjB,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,gBAAgB,EAAE,GAAG;IACrB,sBAAsB,EAAE,IAAI;IAC5B,oBAAoB,EAAE,IAAI;IAC1B,uBAAuB,EAAE,GAAG;IAC5B,YAAY,EAAE,EAAE;CACR,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,YAA6C;IAE7C,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAC7D,QAAQ,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -17,7 +17,6 @@ export interface GuidelineState extends AggregateState {
|
|
|
17
17
|
title: string;
|
|
18
18
|
description: string;
|
|
19
19
|
rationale: string;
|
|
20
|
-
enforcement: string;
|
|
21
20
|
examples: string[];
|
|
22
21
|
isRemoved: boolean;
|
|
23
22
|
version: number;
|
|
@@ -47,12 +46,11 @@ export declare class Guideline extends BaseAggregate<GuidelineState, GuidelineEv
|
|
|
47
46
|
* @param title - Guideline title (required)
|
|
48
47
|
* @param description - Detailed description (required)
|
|
49
48
|
* @param rationale - Why this guideline is important (required)
|
|
50
|
-
* @param enforcement - How this guideline is enforced (required)
|
|
51
49
|
* @param examples - Example file paths demonstrating the guideline (optional)
|
|
52
50
|
* @returns GuidelineAdded event
|
|
53
51
|
* @throws Error if validation fails
|
|
54
52
|
*/
|
|
55
|
-
add(category: GuidelineCategoryValue, title: string, description: string, rationale: string,
|
|
53
|
+
add(category: GuidelineCategoryValue, title: string, description: string, rationale: string, examples?: string[]): GuidelineAddedEvent;
|
|
56
54
|
/**
|
|
57
55
|
* Updates the guideline with new values.
|
|
58
56
|
* Supports partial updates - only provided fields are changed.
|
|
@@ -66,7 +64,6 @@ export declare class Guideline extends BaseAggregate<GuidelineState, GuidelineEv
|
|
|
66
64
|
title?: string;
|
|
67
65
|
description?: string;
|
|
68
66
|
rationale?: string;
|
|
69
|
-
enforcement?: string;
|
|
70
67
|
examples?: string[];
|
|
71
68
|
}): GuidelineUpdatedEvent;
|
|
72
69
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Guideline.d.ts","sourceRoot":"","sources":["../../../src/domain/guidelines/Guideline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,sBAAsB,EAEvB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Guideline.d.ts","sourceRoot":"","sources":["../../../src/domain/guidelines/Guideline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,sBAAsB,EAEvB,MAAM,gBAAgB,CAAC;AAOxB;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,sBAAsB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,OAAO;IAIP;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI;IA8BhE;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,SAAS;IAclC;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,SAAS;IAmBhE;;;;;;;;;;;OAWG;IACH,GAAG,CACD,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,mBAAmB;IA0BtB;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE;QACd,QAAQ,CAAC,EAAE,sBAAsB,CAAC;QAClC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,GAAG,qBAAqB;IAiCzB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,qBAAqB;CAgB/C"}
|
|
@@ -11,7 +11,6 @@ import { CATEGORY_RULES } from "./rules/CategoryRules.js";
|
|
|
11
11
|
import { TITLE_RULES } from "./rules/TitleRules.js";
|
|
12
12
|
import { DESCRIPTION_RULES } from "./rules/DescriptionRules.js";
|
|
13
13
|
import { RATIONALE_RULES } from "./rules/RationaleRules.js";
|
|
14
|
-
import { ENFORCEMENT_RULES } from "./rules/EnforcementRules.js";
|
|
15
14
|
import { EXAMPLES_RULES } from "./rules/ExamplesRules.js";
|
|
16
15
|
export class Guideline extends BaseAggregate {
|
|
17
16
|
constructor(state) {
|
|
@@ -29,7 +28,6 @@ export class Guideline extends BaseAggregate {
|
|
|
29
28
|
state.title = e.payload.title;
|
|
30
29
|
state.description = e.payload.description;
|
|
31
30
|
state.rationale = e.payload.rationale;
|
|
32
|
-
state.enforcement = e.payload.enforcement;
|
|
33
31
|
state.examples = e.payload.examples;
|
|
34
32
|
state.version = e.version;
|
|
35
33
|
break;
|
|
@@ -44,8 +42,6 @@ export class Guideline extends BaseAggregate {
|
|
|
44
42
|
state.description = e.payload.description;
|
|
45
43
|
if (e.payload.rationale !== undefined)
|
|
46
44
|
state.rationale = e.payload.rationale;
|
|
47
|
-
if (e.payload.enforcement !== undefined)
|
|
48
|
-
state.enforcement = e.payload.enforcement;
|
|
49
45
|
if (e.payload.examples !== undefined)
|
|
50
46
|
state.examples = e.payload.examples;
|
|
51
47
|
state.version = e.version;
|
|
@@ -69,7 +65,6 @@ export class Guideline extends BaseAggregate {
|
|
|
69
65
|
title: "",
|
|
70
66
|
description: "",
|
|
71
67
|
rationale: "",
|
|
72
|
-
enforcement: "",
|
|
73
68
|
examples: [],
|
|
74
69
|
isRemoved: false, // Default to not removed
|
|
75
70
|
version: 0,
|
|
@@ -87,7 +82,6 @@ export class Guideline extends BaseAggregate {
|
|
|
87
82
|
title: "",
|
|
88
83
|
description: "",
|
|
89
84
|
rationale: "",
|
|
90
|
-
enforcement: "",
|
|
91
85
|
examples: [],
|
|
92
86
|
isRemoved: false,
|
|
93
87
|
version: 0,
|
|
@@ -105,18 +99,16 @@ export class Guideline extends BaseAggregate {
|
|
|
105
99
|
* @param title - Guideline title (required)
|
|
106
100
|
* @param description - Detailed description (required)
|
|
107
101
|
* @param rationale - Why this guideline is important (required)
|
|
108
|
-
* @param enforcement - How this guideline is enforced (required)
|
|
109
102
|
* @param examples - Example file paths demonstrating the guideline (optional)
|
|
110
103
|
* @returns GuidelineAdded event
|
|
111
104
|
* @throws Error if validation fails
|
|
112
105
|
*/
|
|
113
|
-
add(category, title, description, rationale,
|
|
106
|
+
add(category, title, description, rationale, examples) {
|
|
114
107
|
// Input validation using rule pattern (synchronous validations)
|
|
115
108
|
ValidationRuleSet.ensure(category, CATEGORY_RULES);
|
|
116
109
|
ValidationRuleSet.ensure(title, TITLE_RULES);
|
|
117
110
|
ValidationRuleSet.ensure(description, DESCRIPTION_RULES);
|
|
118
111
|
ValidationRuleSet.ensure(rationale, RATIONALE_RULES);
|
|
119
|
-
ValidationRuleSet.ensure(enforcement, ENFORCEMENT_RULES);
|
|
120
112
|
// Validate examples (max count, path length only - file existence checked at read time)
|
|
121
113
|
if (examples && examples.length > 0) {
|
|
122
114
|
ValidationRuleSet.ensure(examples, EXAMPLES_RULES);
|
|
@@ -127,7 +119,6 @@ export class Guideline extends BaseAggregate {
|
|
|
127
119
|
title,
|
|
128
120
|
description,
|
|
129
121
|
rationale,
|
|
130
|
-
enforcement,
|
|
131
122
|
examples: examples || [],
|
|
132
123
|
}, Guideline.apply);
|
|
133
124
|
}
|
|
@@ -157,9 +148,6 @@ export class Guideline extends BaseAggregate {
|
|
|
157
148
|
if (changes.rationale !== undefined) {
|
|
158
149
|
ValidationRuleSet.ensure(changes.rationale, RATIONALE_RULES);
|
|
159
150
|
}
|
|
160
|
-
if (changes.enforcement !== undefined) {
|
|
161
|
-
ValidationRuleSet.ensure(changes.enforcement, ENFORCEMENT_RULES);
|
|
162
|
-
}
|
|
163
151
|
// Validate examples (max count, path length only - file existence checked at read time)
|
|
164
152
|
if (changes.examples !== undefined && changes.examples.length > 0) {
|
|
165
153
|
ValidationRuleSet.ensure(changes.examples, EXAMPLES_RULES);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Guideline.js","sourceRoot":"","sources":["../../../src/domain/guidelines/Guideline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,GAEd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAOpE,OAAO,EACL,kBAAkB,EAElB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Guideline.js","sourceRoot":"","sources":["../../../src/domain/guidelines/Guideline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuidelineAddedEvent.d.ts","sourceRoot":"","sources":["../../../../src/domain/guidelines/add/GuidelineAddedEvent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;QAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"GuidelineAddedEvent.d.ts","sourceRoot":"","sources":["../../../../src/domain/guidelines/add/GuidelineAddedEvent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;QAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuidelineUpdatedEvent.d.ts","sourceRoot":"","sources":["../../../../src/domain/guidelines/update/GuidelineUpdatedEvent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;QAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"GuidelineUpdatedEvent.d.ts","sourceRoot":"","sources":["../../../../src/domain/guidelines/update/GuidelineUpdatedEvent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;QAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC;CACH"}
|
|
@@ -16,14 +16,11 @@ export declare const InvariantErrorMessages: {
|
|
|
16
16
|
readonly DESCRIPTION_REQUIRED: "Invariant description must be provided";
|
|
17
17
|
readonly DESCRIPTION_TOO_LONG: "Invariant description must be less than {max} characters";
|
|
18
18
|
readonly RATIONALE_TOO_LONG: "Rationale must be less than {max} characters";
|
|
19
|
-
readonly ENFORCEMENT_REQUIRED: "Enforcement method must be provided";
|
|
20
|
-
readonly ENFORCEMENT_TOO_LONG: "Enforcement must be less than {max} characters";
|
|
21
19
|
};
|
|
22
20
|
export declare const InvariantLimits: {
|
|
23
21
|
readonly TITLE_MAX_LENGTH: 100;
|
|
24
22
|
readonly DESCRIPTION_MAX_LENGTH: 1000;
|
|
25
23
|
readonly RATIONALE_MAX_LENGTH: 1000;
|
|
26
|
-
readonly ENFORCEMENT_MAX_LENGTH: 200;
|
|
27
24
|
};
|
|
28
25
|
/**
|
|
29
26
|
* Helper function for formatting error messages with variable replacement.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../src/domain/invariants/Constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAG/D,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../src/domain/invariants/Constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAG/D,eAAO,MAAM,sBAAsB;;;;;;;;CAQzB,CAAC;AAGX,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAC5C,MAAM,CAKR"}
|
|
@@ -17,15 +17,12 @@ export const InvariantErrorMessages = {
|
|
|
17
17
|
DESCRIPTION_REQUIRED: "Invariant description must be provided",
|
|
18
18
|
DESCRIPTION_TOO_LONG: "Invariant description must be less than {max} characters",
|
|
19
19
|
RATIONALE_TOO_LONG: "Rationale must be less than {max} characters",
|
|
20
|
-
ENFORCEMENT_REQUIRED: "Enforcement method must be provided",
|
|
21
|
-
ENFORCEMENT_TOO_LONG: "Enforcement must be less than {max} characters",
|
|
22
20
|
};
|
|
23
21
|
// Numeric limits
|
|
24
22
|
export const InvariantLimits = {
|
|
25
23
|
TITLE_MAX_LENGTH: 100,
|
|
26
24
|
DESCRIPTION_MAX_LENGTH: 1000,
|
|
27
25
|
RATIONALE_MAX_LENGTH: 1000,
|
|
28
|
-
ENFORCEMENT_MAX_LENGTH: 200,
|
|
29
26
|
};
|
|
30
27
|
/**
|
|
31
28
|
* Helper function for formatting error messages with variable replacement.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../src/domain/invariants/Constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAwB;AACxB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,qBAAqB;IAC5B,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,uBAAuB;CACxB,CAAC;AAKX,iBAAiB;AACjB,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,qBAAqB;IAChC,mBAAmB,EAAE,+CAA+C;IACpE,cAAc,EAAE,kCAAkC;IAClD,cAAc,EAAE,oDAAoD;IACpE,oBAAoB,EAAE,wCAAwC;IAC9D,oBAAoB,EAAE,0DAA0D;IAChF,kBAAkB,EAAE,8CAA8C;
|
|
1
|
+
{"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../src/domain/invariants/Constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAwB;AACxB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,qBAAqB;IAC5B,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,uBAAuB;CACxB,CAAC;AAKX,iBAAiB;AACjB,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,qBAAqB;IAChC,mBAAmB,EAAE,+CAA+C;IACpE,cAAc,EAAE,kCAAkC;IAClD,cAAc,EAAE,oDAAoD;IACpE,oBAAoB,EAAE,wCAAwC;IAC9D,oBAAoB,EAAE,0DAA0D;IAChF,kBAAkB,EAAE,8CAA8C;CAC1D,CAAC;AAEX,iBAAiB;AACjB,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,gBAAgB,EAAE,GAAG;IACrB,sBAAsB,EAAE,IAAI;IAC5B,oBAAoB,EAAE,IAAI;CAClB,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,YAA6C;IAE7C,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAC7D,QAAQ,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -15,7 +15,6 @@ export interface InvariantState extends AggregateState {
|
|
|
15
15
|
title: string;
|
|
16
16
|
description: string;
|
|
17
17
|
rationale: string | null;
|
|
18
|
-
enforcement: string;
|
|
19
18
|
version: number;
|
|
20
19
|
}
|
|
21
20
|
export declare class Invariant extends BaseAggregate<InvariantState, InvariantEvent> {
|
|
@@ -41,12 +40,11 @@ export declare class Invariant extends BaseAggregate<InvariantState, InvariantEv
|
|
|
41
40
|
*
|
|
42
41
|
* @param title - Invariant title (required)
|
|
43
42
|
* @param description - Detailed description (required)
|
|
44
|
-
* @param enforcement - How this invariant is enforced (required)
|
|
45
43
|
* @param rationale - Why this invariant is non-negotiable (optional)
|
|
46
44
|
* @returns InvariantAdded event
|
|
47
45
|
* @throws Error if validation fails
|
|
48
46
|
*/
|
|
49
|
-
add(title: string, description: string,
|
|
47
|
+
add(title: string, description: string, rationale?: string): InvariantAddedEvent;
|
|
50
48
|
/**
|
|
51
49
|
* Updates invariant properties.
|
|
52
50
|
* At least one field must be provided.
|
|
@@ -60,7 +58,6 @@ export declare class Invariant extends BaseAggregate<InvariantState, InvariantEv
|
|
|
60
58
|
title?: string;
|
|
61
59
|
description?: string;
|
|
62
60
|
rationale?: string | null;
|
|
63
|
-
enforcement?: string;
|
|
64
61
|
}): InvariantUpdatedEvent;
|
|
65
62
|
/**
|
|
66
63
|
* Marks this invariant as removed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Invariant.d.ts","sourceRoot":"","sources":["../../../src/domain/invariants/Invariant.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAW,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Invariant.d.ts","sourceRoot":"","sources":["../../../src/domain/invariants/Invariant.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAW,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAMpH;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1E,OAAO;IAIP;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI;IAyBhE;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,SAAS;IAWlC;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,SAAS;IAgBhE;;;;;;;;;OASG;IACH,GAAG,CACD,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,mBAAmB;IAkBtB;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,EAAE;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,GAAG,qBAAqB;IAuCzB;;;;;OAKG;IACH,MAAM,IAAI,qBAAqB;CAYhC"}
|
|
@@ -10,7 +10,6 @@ import { InvariantEventType, InvariantErrorMessages } from "./Constants.js";
|
|
|
10
10
|
import { TITLE_RULES } from "./rules/TitleRules.js";
|
|
11
11
|
import { DESCRIPTION_RULES } from "./rules/DescriptionRules.js";
|
|
12
12
|
import { RATIONALE_RULES } from "./rules/RationaleRules.js";
|
|
13
|
-
import { ENFORCEMENT_RULES } from "./rules/EnforcementRules.js";
|
|
14
13
|
export class Invariant extends BaseAggregate {
|
|
15
14
|
constructor(state) {
|
|
16
15
|
super(state);
|
|
@@ -26,7 +25,6 @@ export class Invariant extends BaseAggregate {
|
|
|
26
25
|
state.title = e.payload.title;
|
|
27
26
|
state.description = e.payload.description;
|
|
28
27
|
state.rationale = e.payload.rationale;
|
|
29
|
-
state.enforcement = e.payload.enforcement;
|
|
30
28
|
state.version = e.version;
|
|
31
29
|
break;
|
|
32
30
|
}
|
|
@@ -38,8 +36,6 @@ export class Invariant extends BaseAggregate {
|
|
|
38
36
|
state.description = e.payload.description;
|
|
39
37
|
if (e.payload.rationale !== undefined)
|
|
40
38
|
state.rationale = e.payload.rationale;
|
|
41
|
-
if (e.payload.enforcement !== undefined)
|
|
42
|
-
state.enforcement = e.payload.enforcement;
|
|
43
39
|
state.version = e.version;
|
|
44
40
|
break;
|
|
45
41
|
}
|
|
@@ -59,7 +55,6 @@ export class Invariant extends BaseAggregate {
|
|
|
59
55
|
title: "",
|
|
60
56
|
description: "",
|
|
61
57
|
rationale: null,
|
|
62
|
-
enforcement: "",
|
|
63
58
|
version: 0,
|
|
64
59
|
};
|
|
65
60
|
return new Invariant(state);
|
|
@@ -74,7 +69,6 @@ export class Invariant extends BaseAggregate {
|
|
|
74
69
|
title: "",
|
|
75
70
|
description: "",
|
|
76
71
|
rationale: null,
|
|
77
|
-
enforcement: "",
|
|
78
72
|
version: 0,
|
|
79
73
|
};
|
|
80
74
|
for (const event of history) {
|
|
@@ -88,16 +82,14 @@ export class Invariant extends BaseAggregate {
|
|
|
88
82
|
*
|
|
89
83
|
* @param title - Invariant title (required)
|
|
90
84
|
* @param description - Detailed description (required)
|
|
91
|
-
* @param enforcement - How this invariant is enforced (required)
|
|
92
85
|
* @param rationale - Why this invariant is non-negotiable (optional)
|
|
93
86
|
* @returns InvariantAdded event
|
|
94
87
|
* @throws Error if validation fails
|
|
95
88
|
*/
|
|
96
|
-
add(title, description,
|
|
89
|
+
add(title, description, rationale) {
|
|
97
90
|
// Input validation using rule pattern
|
|
98
91
|
ValidationRuleSet.ensure(title, TITLE_RULES);
|
|
99
92
|
ValidationRuleSet.ensure(description, DESCRIPTION_RULES);
|
|
100
|
-
ValidationRuleSet.ensure(enforcement, ENFORCEMENT_RULES);
|
|
101
93
|
if (rationale)
|
|
102
94
|
ValidationRuleSet.ensure(rationale, RATIONALE_RULES);
|
|
103
95
|
// Use BaseAggregate.makeEvent
|
|
@@ -105,7 +97,6 @@ export class Invariant extends BaseAggregate {
|
|
|
105
97
|
title,
|
|
106
98
|
description,
|
|
107
99
|
rationale: rationale || null,
|
|
108
|
-
enforcement,
|
|
109
100
|
}, Invariant.apply);
|
|
110
101
|
}
|
|
111
102
|
/**
|
|
@@ -121,8 +112,7 @@ export class Invariant extends BaseAggregate {
|
|
|
121
112
|
// Validate at least one field provided
|
|
122
113
|
const hasUpdates = updates.title !== undefined ||
|
|
123
114
|
updates.description !== undefined ||
|
|
124
|
-
updates.rationale !== undefined
|
|
125
|
-
updates.enforcement !== undefined;
|
|
115
|
+
updates.rationale !== undefined;
|
|
126
116
|
if (!hasUpdates) {
|
|
127
117
|
throw new Error(InvariantErrorMessages.NO_CHANGES_PROVIDED);
|
|
128
118
|
}
|
|
@@ -136,9 +126,6 @@ export class Invariant extends BaseAggregate {
|
|
|
136
126
|
if (updates.rationale !== undefined && updates.rationale !== null) {
|
|
137
127
|
ValidationRuleSet.ensure(updates.rationale, RATIONALE_RULES);
|
|
138
128
|
}
|
|
139
|
-
if (updates.enforcement !== undefined) {
|
|
140
|
-
ValidationRuleSet.ensure(updates.enforcement, ENFORCEMENT_RULES);
|
|
141
|
-
}
|
|
142
129
|
// Create event with only provided fields
|
|
143
130
|
const payload = {};
|
|
144
131
|
if (updates.title !== undefined)
|
|
@@ -147,8 +134,6 @@ export class Invariant extends BaseAggregate {
|
|
|
147
134
|
payload.description = updates.description;
|
|
148
135
|
if (updates.rationale !== undefined)
|
|
149
136
|
payload.rationale = updates.rationale;
|
|
150
|
-
if (updates.enforcement !== undefined)
|
|
151
|
-
payload.enforcement = updates.enforcement;
|
|
152
137
|
return this.makeEvent(InvariantEventType.UPDATED, payload, Invariant.apply);
|
|
153
138
|
}
|
|
154
139
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Invariant.js","sourceRoot":"","sources":["../../../src/domain/invariants/Invariant.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,GAEd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"Invariant.js","sourceRoot":"","sources":["../../../src/domain/invariants/Invariant.ts"],"names":[],"mappings":"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"}
|