@soddong/agentic-domain-methodology 0.11.1

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.
Files changed (90) hide show
  1. package/.tbls.yml +64 -0
  2. package/CHANGELOG.md +97 -0
  3. package/README.md +501 -0
  4. package/dist/database.d.ts +8 -0
  5. package/dist/database.d.ts.map +1 -0
  6. package/dist/database.js +76 -0
  7. package/dist/database.js.map +1 -0
  8. package/dist/fixtures.d.ts +13 -0
  9. package/dist/fixtures.d.ts.map +1 -0
  10. package/dist/fixtures.js +413 -0
  11. package/dist/fixtures.js.map +1 -0
  12. package/dist/index.d.ts +31 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +19 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/repositories.d.ts +54 -0
  17. package/dist/repositories.d.ts.map +1 -0
  18. package/dist/repositories.js +652 -0
  19. package/dist/repositories.js.map +1 -0
  20. package/dist/seed-apply.d.ts +20 -0
  21. package/dist/seed-apply.d.ts.map +1 -0
  22. package/dist/seed-apply.js +728 -0
  23. package/dist/seed-apply.js.map +1 -0
  24. package/dist/service.d.ts +107 -0
  25. package/dist/service.d.ts.map +1 -0
  26. package/dist/service.js +225 -0
  27. package/dist/service.js.map +1 -0
  28. package/dist/types.d.ts +356 -0
  29. package/dist/types.d.ts.map +1 -0
  30. package/dist/types.js +2 -0
  31. package/dist/types.js.map +1 -0
  32. package/dist/validators.d.ts +17 -0
  33. package/dist/validators.d.ts.map +1 -0
  34. package/dist/validators.js +297 -0
  35. package/dist/validators.js.map +1 -0
  36. package/docs/build.md +47 -0
  37. package/docs/configuration.md +33 -0
  38. package/docs/delivery.md +52 -0
  39. package/docs/operations.md +55 -0
  40. package/docs/publishing.md +84 -0
  41. package/docs/schema/generated/README.md +39 -0
  42. package/docs/schema/generated/methodology_activities.md +121 -0
  43. package/docs/schema/generated/methodology_activities.svg +143 -0
  44. package/docs/schema/generated/methodology_activity_artifact_requirements.md +129 -0
  45. package/docs/schema/generated/methodology_activity_artifact_requirements.svg +52 -0
  46. package/docs/schema/generated/methodology_activity_criteria.md +112 -0
  47. package/docs/schema/generated/methodology_activity_criteria.svg +52 -0
  48. package/docs/schema/generated/methodology_baseline_requirements.md +103 -0
  49. package/docs/schema/generated/methodology_baseline_requirements.svg +27 -0
  50. package/docs/schema/generated/methodology_code_groups.md +70 -0
  51. package/docs/schema/generated/methodology_code_groups.svg +49 -0
  52. package/docs/schema/generated/methodology_codes.md +88 -0
  53. package/docs/schema/generated/methodology_codes.svg +49 -0
  54. package/docs/schema/generated/methodology_common_blueprint_policies.md +104 -0
  55. package/docs/schema/generated/methodology_common_blueprint_policies.svg +72 -0
  56. package/docs/schema/generated/methodology_common_blueprint_policy_nodes.md +118 -0
  57. package/docs/schema/generated/methodology_common_blueprint_policy_nodes.svg +59 -0
  58. package/docs/schema/generated/methodology_handoff_requirements.md +130 -0
  59. package/docs/schema/generated/methodology_handoff_requirements.svg +27 -0
  60. package/docs/schema/generated/methodology_lifecycles.md +105 -0
  61. package/docs/schema/generated/methodology_lifecycles.svg +71 -0
  62. package/docs/schema/generated/methodology_methodologies.md +92 -0
  63. package/docs/schema/generated/methodology_methodologies.svg +92 -0
  64. package/docs/schema/generated/methodology_phase_processes.md +106 -0
  65. package/docs/schema/generated/methodology_phase_processes.svg +77 -0
  66. package/docs/schema/generated/methodology_phases.md +107 -0
  67. package/docs/schema/generated/methodology_phases.svg +77 -0
  68. package/docs/schema/generated/methodology_processes.md +98 -0
  69. package/docs/schema/generated/methodology_processes.svg +118 -0
  70. package/docs/schema/generated/methodology_schema_migrations.md +52 -0
  71. package/docs/schema/generated/methodology_schema_migrations.svg +27 -0
  72. package/docs/schema/generated/methodology_stage_activities.md +106 -0
  73. package/docs/schema/generated/methodology_stage_activities.svg +77 -0
  74. package/docs/schema/generated/methodology_stage_artifact_requirements.md +109 -0
  75. package/docs/schema/generated/methodology_stage_artifact_requirements.svg +52 -0
  76. package/docs/schema/generated/methodology_stage_criteria.md +112 -0
  77. package/docs/schema/generated/methodology_stage_criteria.svg +52 -0
  78. package/docs/schema/generated/methodology_stages.md +117 -0
  79. package/docs/schema/generated/methodology_stages.svg +121 -0
  80. package/docs/schema/generated/methodology_steps.md +105 -0
  81. package/docs/schema/generated/methodology_steps.svg +52 -0
  82. package/docs/schema/generated/methodology_trace_policies.md +121 -0
  83. package/docs/schema/generated/methodology_trace_policies.svg +27 -0
  84. package/docs/schema/generated/schema.json +4253 -0
  85. package/docs/schema/generated/schema.mmd +296 -0
  86. package/docs/schema/generated/schema.svg +446 -0
  87. package/docs/schema/migrations.md +24 -0
  88. package/docs/usage.md +39 -0
  89. package/package.json +29 -0
  90. package/src/database/migrations/0001_methodology_base.sql +1190 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-apply.js","sourceRoot":"","sources":["../src/seed-apply.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import type Database from "better-sqlite3";
2
+ import { MethodologyRepository } from "./repositories.js";
3
+ import type { AddActivityArtifactRequirementInput, AssignActivityToStageInput, AssignProcessToPhaseInput, CreateActivityInput, CreateCommonBlueprintPolicyInput, CreateCommonBlueprintPolicyNodeInput, CreateHandoffRequirementInput, CreateLifecycleInput, CreateMethodologyInput, CreatePhaseInput, CreateProcessInput, CreateStageCriteriaInput, CreateStageInput, CreateStepInput, MethodologyActivityArtifactRequirementRecord, MethodologyActivityRecord, MethodologyCommonBlueprintPolicyNodeRecord, MethodologyCommonBlueprintPolicyRecord, MethodologyHandoffRequirementRecord, MethodologyLifecycleRecord, MethodologyPhaseProcessRecord, MethodologyPhaseRecord, MethodologyProcessRecord, MethodologyRecord, MethodologyStageActivityRecord, MethodologyStageCriteriaRecord, MethodologyStageRecord, MethodologyStepRecord } from "./types.js";
4
+ export interface CreateProcessForLifecycleInput extends Omit<CreateProcessInput, "methodologyId"> {
5
+ readonly lifecycleId: string;
6
+ }
7
+ export interface CreateProcessForPhaseInput extends Omit<CreateProcessInput, "methodologyId"> {
8
+ readonly phaseId: string;
9
+ readonly phaseProcess?: Omit<AssignProcessToPhaseInput, "phaseId" | "processId">;
10
+ }
11
+ export interface CreateProcessForPhaseResult {
12
+ readonly process: MethodologyProcessRecord;
13
+ readonly phaseProcess: MethodologyPhaseProcessRecord;
14
+ }
15
+ export interface MethodologyActivityStructure {
16
+ readonly activity: MethodologyActivityRecord;
17
+ readonly steps: MethodologyStepRecord[];
18
+ readonly artifactRequirements: MethodologyActivityArtifactRequirementRecord[];
19
+ }
20
+ export interface MethodologyStageStructure {
21
+ readonly stage: MethodologyStageRecord;
22
+ readonly criteria: MethodologyStageCriteriaRecord[];
23
+ readonly activities: MethodologyActivityStructure[];
24
+ }
25
+ export interface MethodologyProcessStructure {
26
+ readonly process: MethodologyProcessRecord;
27
+ readonly activities: MethodologyActivityStructure[];
28
+ readonly stages: MethodologyStageStructure[];
29
+ }
30
+ export interface MethodologyPhaseStructure {
31
+ readonly phase: MethodologyPhaseRecord;
32
+ readonly processes: MethodologyProcessStructure[];
33
+ }
34
+ export interface MethodologyLifecycleStructure {
35
+ readonly lifecycle: MethodologyLifecycleRecord;
36
+ readonly phases: MethodologyPhaseStructure[];
37
+ }
38
+ export interface MethodologyStructure {
39
+ readonly methodology: MethodologyRecord;
40
+ readonly lifecycles: MethodologyLifecycleStructure[];
41
+ }
42
+ export interface MethodologyDefinitionScenarioInput {
43
+ readonly methodology: CreateMethodologyInput;
44
+ readonly lifecycle: Omit<CreateLifecycleInput, "methodologyId">;
45
+ readonly phase: Omit<CreatePhaseInput, "lifecycleId">;
46
+ readonly process: Omit<CreateProcessInput, "methodologyId">;
47
+ readonly phaseProcess?: Omit<AssignProcessToPhaseInput, "phaseId" | "processId">;
48
+ readonly activity: Omit<CreateActivityInput, "processId">;
49
+ readonly step?: Omit<CreateStepInput, "activityId">;
50
+ readonly stage?: Omit<CreateStageInput, "processId">;
51
+ readonly stageActivity?: Omit<AssignActivityToStageInput, "stageId" | "activityId">;
52
+ readonly primaryOutput?: Omit<AddActivityArtifactRequirementInput, "activityId" | "requirementRoleCode" | "isPrimary">;
53
+ }
54
+ export interface MethodologyDefinitionScenarioResult {
55
+ readonly methodology: MethodologyRecord;
56
+ readonly lifecycle: MethodologyLifecycleRecord;
57
+ readonly phase: MethodologyPhaseRecord;
58
+ readonly process: MethodologyProcessRecord;
59
+ readonly phaseProcess: MethodologyPhaseProcessRecord;
60
+ readonly activity: MethodologyActivityRecord;
61
+ readonly step?: MethodologyStepRecord;
62
+ readonly stage?: MethodologyStageRecord;
63
+ readonly stageActivity?: MethodologyStageActivityRecord;
64
+ readonly primaryOutput?: MethodologyActivityArtifactRequirementRecord;
65
+ }
66
+ export declare class MethodologyService {
67
+ private readonly db;
68
+ readonly repository: MethodologyRepository;
69
+ constructor(db: Database.Database);
70
+ createMethodology(input: CreateMethodologyInput): MethodologyRecord;
71
+ getMethodology(methodologyId: string): MethodologyRecord;
72
+ listMethodologies(): MethodologyRecord[];
73
+ createCommonBlueprintPolicy(input: CreateCommonBlueprintPolicyInput): MethodologyCommonBlueprintPolicyRecord;
74
+ listCommonBlueprintPoliciesByMethodology(methodologyId: string): MethodologyCommonBlueprintPolicyRecord[];
75
+ createCommonBlueprintPolicyNode(input: CreateCommonBlueprintPolicyNodeInput): MethodologyCommonBlueprintPolicyNodeRecord;
76
+ listCommonBlueprintPolicyNodes(policyId: string): MethodologyCommonBlueprintPolicyNodeRecord[];
77
+ createLifecycle(input: CreateLifecycleInput): MethodologyLifecycleRecord;
78
+ listLifecyclesByMethodology(methodologyId: string): MethodologyLifecycleRecord[];
79
+ createPhase(input: CreatePhaseInput): MethodologyPhaseRecord;
80
+ listPhasesByLifecycle(lifecycleId: string): MethodologyPhaseRecord[];
81
+ createProcess(input: CreateProcessInput): MethodologyProcessRecord;
82
+ listProcessesByMethodology(methodologyId: string): MethodologyProcessRecord[];
83
+ listProcessesByPhase(phaseId: string): MethodologyProcessRecord[];
84
+ createProcessForLifecycle(input: CreateProcessForLifecycleInput): MethodologyProcessRecord;
85
+ createProcessForPhase(input: CreateProcessForPhaseInput): CreateProcessForPhaseResult;
86
+ assignProcessToPhase(input: AssignProcessToPhaseInput): MethodologyPhaseProcessRecord;
87
+ listPhaseProcessesByPhase(phaseId: string): MethodologyPhaseProcessRecord[];
88
+ createActivity(input: CreateActivityInput): MethodologyActivityRecord;
89
+ listActivitiesByProcess(processId: string): MethodologyActivityRecord[];
90
+ listActivitiesByStage(stageId: string): MethodologyActivityRecord[];
91
+ createStep(input: CreateStepInput): MethodologyStepRecord;
92
+ listStepsByActivity(activityId: string): MethodologyStepRecord[];
93
+ createStage(input: CreateStageInput): MethodologyStageRecord;
94
+ listStagesByProcess(processId: string): MethodologyStageRecord[];
95
+ assignActivityToStage(input: AssignActivityToStageInput): MethodologyStageActivityRecord;
96
+ listStageActivitiesByStage(stageId: string): MethodologyStageActivityRecord[];
97
+ createStageCriteria(input: CreateStageCriteriaInput): MethodologyStageCriteriaRecord;
98
+ listStageCriteriaByStage(stageId: string): MethodologyStageCriteriaRecord[];
99
+ createHandoffRequirement(input: CreateHandoffRequirementInput): MethodologyHandoffRequirementRecord;
100
+ listHandoffRequirementsBySource(sourceScopeCode: string, sourceRefId: string): MethodologyHandoffRequirementRecord[];
101
+ listHandoffRequirementsByTarget(targetScopeCode: string, targetRefId: string): MethodologyHandoffRequirementRecord[];
102
+ addActivityArtifactRequirement(input: AddActivityArtifactRequirementInput): MethodologyActivityArtifactRequirementRecord;
103
+ listActivityArtifactRequirements(activityId: string): MethodologyActivityArtifactRequirementRecord[];
104
+ getMethodologyStructure(methodologyId: string): MethodologyStructure;
105
+ createDefinitionScenario(input: MethodologyDefinitionScenarioInput): MethodologyDefinitionScenarioResult;
106
+ }
107
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,225 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { MethodologyRepository } from "./repositories.js";
3
+ export class MethodologyService {
4
+ db;
5
+ repository;
6
+ constructor(db) {
7
+ this.db = db;
8
+ this.repository = new MethodologyRepository(db);
9
+ }
10
+ createMethodology(input) {
11
+ return this.repository.createMethodology(randomUUID(), input);
12
+ }
13
+ getMethodology(methodologyId) {
14
+ return this.repository.getMethodology(methodologyId);
15
+ }
16
+ listMethodologies() {
17
+ return this.repository.listMethodologies();
18
+ }
19
+ createCommonBlueprintPolicy(input) {
20
+ return this.repository.createCommonBlueprintPolicy(randomUUID(), input);
21
+ }
22
+ listCommonBlueprintPoliciesByMethodology(methodologyId) {
23
+ return this.repository.listCommonBlueprintPoliciesByMethodology(methodologyId);
24
+ }
25
+ createCommonBlueprintPolicyNode(input) {
26
+ return this.repository.createCommonBlueprintPolicyNode(randomUUID(), input);
27
+ }
28
+ listCommonBlueprintPolicyNodes(policyId) {
29
+ return this.repository.listCommonBlueprintPolicyNodes(policyId);
30
+ }
31
+ createLifecycle(input) {
32
+ return this.repository.createLifecycle(randomUUID(), input);
33
+ }
34
+ listLifecyclesByMethodology(methodologyId) {
35
+ return this.repository.listLifecyclesByMethodology(methodologyId);
36
+ }
37
+ createPhase(input) {
38
+ return this.repository.createPhase(randomUUID(), input);
39
+ }
40
+ listPhasesByLifecycle(lifecycleId) {
41
+ return this.repository.listPhasesByLifecycle(lifecycleId);
42
+ }
43
+ createProcess(input) {
44
+ if (input.methodologyId === undefined || input.methodologyId.length === 0) {
45
+ throw new Error("MethodologyService.createProcess requires methodologyId. "
46
+ + "Use createProcessForLifecycle() when you only have lifecycleId, "
47
+ + "or createProcessForPhase() when you only have phaseId.");
48
+ }
49
+ return this.repository.createProcess(randomUUID(), input);
50
+ }
51
+ listProcessesByMethodology(methodologyId) {
52
+ return this.repository.listProcessesByMethodology(methodologyId);
53
+ }
54
+ listProcessesByPhase(phaseId) {
55
+ return this.repository.listProcessesByPhase(phaseId);
56
+ }
57
+ createProcessForLifecycle(input) {
58
+ const lifecycle = this.repository.getLifecycle(input.lifecycleId);
59
+ return this.createProcess({
60
+ ...input,
61
+ methodologyId: lifecycle.methodologyId
62
+ });
63
+ }
64
+ createProcessForPhase(input) {
65
+ const phase = this.repository.getPhase(input.phaseId);
66
+ const lifecycle = this.repository.getLifecycle(phase.lifecycleId);
67
+ const process = this.createProcess({
68
+ ...input,
69
+ methodologyId: lifecycle.methodologyId
70
+ });
71
+ const phaseProcess = this.assignProcessToPhase({
72
+ ...input.phaseProcess,
73
+ phaseId: input.phaseId,
74
+ processId: process.processId
75
+ });
76
+ return { process, phaseProcess };
77
+ }
78
+ assignProcessToPhase(input) {
79
+ return this.repository.assignProcessToPhase(randomUUID(), input);
80
+ }
81
+ listPhaseProcessesByPhase(phaseId) {
82
+ return this.repository.listPhaseProcessesByPhase(phaseId);
83
+ }
84
+ createActivity(input) {
85
+ return this.repository.createActivity(randomUUID(), input);
86
+ }
87
+ listActivitiesByProcess(processId) {
88
+ return this.repository.listActivitiesByProcess(processId);
89
+ }
90
+ listActivitiesByStage(stageId) {
91
+ return this.repository.listActivitiesByStage(stageId);
92
+ }
93
+ createStep(input) {
94
+ return this.repository.createStep(randomUUID(), input);
95
+ }
96
+ listStepsByActivity(activityId) {
97
+ return this.repository.listStepsByActivity(activityId);
98
+ }
99
+ createStage(input) {
100
+ return this.repository.createStage(randomUUID(), input);
101
+ }
102
+ listStagesByProcess(processId) {
103
+ return this.repository.listStagesByProcess(processId);
104
+ }
105
+ assignActivityToStage(input) {
106
+ return this.repository.assignActivityToStage(randomUUID(), input);
107
+ }
108
+ listStageActivitiesByStage(stageId) {
109
+ return this.repository.listStageActivitiesByStage(stageId);
110
+ }
111
+ createStageCriteria(input) {
112
+ return this.repository.createStageCriteria(randomUUID(), input);
113
+ }
114
+ listStageCriteriaByStage(stageId) {
115
+ return this.repository.listStageCriteriaByStage(stageId);
116
+ }
117
+ createHandoffRequirement(input) {
118
+ return this.repository.createHandoffRequirement(randomUUID(), input);
119
+ }
120
+ listHandoffRequirementsBySource(sourceScopeCode, sourceRefId) {
121
+ return this.repository.listHandoffRequirementsBySource(sourceScopeCode, sourceRefId);
122
+ }
123
+ listHandoffRequirementsByTarget(targetScopeCode, targetRefId) {
124
+ return this.repository.listHandoffRequirementsByTarget(targetScopeCode, targetRefId);
125
+ }
126
+ addActivityArtifactRequirement(input) {
127
+ return this.repository.addActivityArtifactRequirement(randomUUID(), input);
128
+ }
129
+ listActivityArtifactRequirements(activityId) {
130
+ return this.repository.listActivityArtifactRequirements(activityId);
131
+ }
132
+ getMethodologyStructure(methodologyId) {
133
+ const activityStructure = (activity) => ({
134
+ activity,
135
+ steps: this.listStepsByActivity(activity.activityId),
136
+ artifactRequirements: this.listActivityArtifactRequirements(activity.activityId)
137
+ });
138
+ const processStructure = (process) => ({
139
+ process,
140
+ activities: this.listActivitiesByProcess(process.processId).map(activityStructure),
141
+ stages: this.listStagesByProcess(process.processId).map((stage) => ({
142
+ stage,
143
+ criteria: this.listStageCriteriaByStage(stage.stageId),
144
+ activities: this.listActivitiesByStage(stage.stageId).map(activityStructure)
145
+ }))
146
+ });
147
+ return {
148
+ methodology: this.getMethodology(methodologyId),
149
+ lifecycles: this.listLifecyclesByMethodology(methodologyId).map((lifecycle) => ({
150
+ lifecycle,
151
+ phases: this.listPhasesByLifecycle(lifecycle.lifecycleId).map((phase) => ({
152
+ phase,
153
+ processes: this.listProcessesByPhase(phase.phaseId).map(processStructure)
154
+ }))
155
+ }))
156
+ };
157
+ }
158
+ createDefinitionScenario(input) {
159
+ const createScenario = this.db.transaction(() => {
160
+ const methodology = this.createMethodology(input.methodology);
161
+ const lifecycle = this.createLifecycle({
162
+ ...input.lifecycle,
163
+ methodologyId: methodology.methodologyId
164
+ });
165
+ const phase = this.createPhase({
166
+ ...input.phase,
167
+ lifecycleId: lifecycle.lifecycleId
168
+ });
169
+ const process = this.createProcess({
170
+ ...input.process,
171
+ methodologyId: methodology.methodologyId
172
+ });
173
+ const phaseProcess = this.assignProcessToPhase({
174
+ ...input.phaseProcess,
175
+ phaseId: phase.phaseId,
176
+ processId: process.processId
177
+ });
178
+ const activity = this.createActivity({
179
+ ...input.activity,
180
+ processId: process.processId
181
+ });
182
+ const step = input.step === undefined
183
+ ? undefined
184
+ : this.createStep({
185
+ ...input.step,
186
+ activityId: activity.activityId
187
+ });
188
+ const stage = input.stage === undefined
189
+ ? undefined
190
+ : this.createStage({
191
+ ...input.stage,
192
+ processId: process.processId
193
+ });
194
+ const stageActivity = input.stageActivity === undefined || stage === undefined
195
+ ? undefined
196
+ : this.assignActivityToStage({
197
+ ...input.stageActivity,
198
+ stageId: stage.stageId,
199
+ activityId: activity.activityId
200
+ });
201
+ const primaryOutput = input.primaryOutput === undefined
202
+ ? undefined
203
+ : this.addActivityArtifactRequirement({
204
+ ...input.primaryOutput,
205
+ activityId: activity.activityId,
206
+ requirementRoleCode: "output",
207
+ isPrimary: true
208
+ });
209
+ return {
210
+ methodology,
211
+ lifecycle,
212
+ phase,
213
+ process,
214
+ phaseProcess,
215
+ activity,
216
+ step,
217
+ stage,
218
+ stageActivity,
219
+ primaryOutput
220
+ };
221
+ });
222
+ return createScenario();
223
+ }
224
+ }
225
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}