@soddong/agentic-domain-artifact 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.tbls.yml +46 -0
- package/CHANGELOG.md +53 -0
- package/README.md +254 -0
- package/dist/database.d.ts +8 -0
- package/dist/database.d.ts.map +1 -0
- package/dist/database.js +76 -0
- package/dist/database.js.map +1 -0
- package/dist/fixtures.d.ts +7 -0
- package/dist/fixtures.d.ts.map +1 -0
- package/dist/fixtures.js +88 -0
- package/dist/fixtures.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/repositories.d.ts +29 -0
- package/dist/repositories.d.ts.map +1 -0
- package/dist/repositories.js +305 -0
- package/dist/repositories.js.map +1 -0
- package/dist/seed-apply.d.ts +22 -0
- package/dist/seed-apply.d.ts.map +1 -0
- package/dist/seed-apply.js +150 -0
- package/dist/seed-apply.js.map +1 -0
- package/dist/service.d.ts +32 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +282 -0
- package/dist/service.js.map +1 -0
- package/dist/types.d.ts +264 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/docs/build.md +19 -0
- package/docs/configuration.md +27 -0
- package/docs/delivery.md +22 -0
- package/docs/operations.md +27 -0
- package/docs/publishing.md +29 -0
- package/docs/schema/generated/README.md +28 -0
- package/docs/schema/generated/artifact_code_groups.md +57 -0
- package/docs/schema/generated/artifact_code_groups.svg +49 -0
- package/docs/schema/generated/artifact_codes.md +71 -0
- package/docs/schema/generated/artifact_codes.svg +49 -0
- package/docs/schema/generated/artifact_component_instances.md +79 -0
- package/docs/schema/generated/artifact_component_instances.svg +177 -0
- package/docs/schema/generated/artifact_instances.md +79 -0
- package/docs/schema/generated/artifact_instances.svg +177 -0
- package/docs/schema/generated/artifact_resource_links.md +89 -0
- package/docs/schema/generated/artifact_resource_links.svg +74 -0
- package/docs/schema/generated/artifact_review_decision_refs.md +89 -0
- package/docs/schema/generated/artifact_review_decision_refs.svg +102 -0
- package/docs/schema/generated/artifact_schema_migrations.md +47 -0
- package/docs/schema/generated/artifact_schema_migrations.svg +27 -0
- package/docs/schema/generated/artifact_status_events.md +96 -0
- package/docs/schema/generated/artifact_status_events.svg +102 -0
- package/docs/schema/generated/artifact_trace_links.md +93 -0
- package/docs/schema/generated/artifact_trace_links.svg +74 -0
- package/docs/schema/generated/artifact_validation_result_refs.md +82 -0
- package/docs/schema/generated/artifact_validation_result_refs.svg +74 -0
- package/docs/schema/generated/schema.json +1799 -0
- package/docs/schema/generated/schema.mmd +132 -0
- package/docs/schema/generated/schema.svg +260 -0
- package/docs/usage.md +190 -0
- package/package.json +28 -0
- package/src/database/migrations/0001_artifact_base.sql +345 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
erDiagram
|
|
2
|
+
|
|
3
|
+
"artifact_codes" |o--|| "artifact_code_groups" : ""
|
|
4
|
+
"artifact_component_instances" }o--|| "artifact_instances" : ""
|
|
5
|
+
"artifact_resource_links" }o--o| "artifact_component_instances" : ""
|
|
6
|
+
"artifact_resource_links" }o--|| "artifact_instances" : ""
|
|
7
|
+
"artifact_trace_links" }o--o| "artifact_component_instances" : ""
|
|
8
|
+
"artifact_trace_links" }o--|| "artifact_instances" : ""
|
|
9
|
+
"artifact_validation_result_refs" }o--o| "artifact_component_instances" : ""
|
|
10
|
+
"artifact_validation_result_refs" }o--|| "artifact_instances" : ""
|
|
11
|
+
"artifact_review_decision_refs" }o--o| "artifact_component_instances" : ""
|
|
12
|
+
"artifact_review_decision_refs" }o--|| "artifact_instances" : ""
|
|
13
|
+
"artifact_status_events" }o--o| "artifact_review_decision_refs" : ""
|
|
14
|
+
"artifact_status_events" }o--o| "artifact_component_instances" : ""
|
|
15
|
+
"artifact_status_events" }o--|| "artifact_instances" : ""
|
|
16
|
+
|
|
17
|
+
"artifact_schema_migrations" {
|
|
18
|
+
VARCHAR_128_ migration_id ""
|
|
19
|
+
VARCHAR_256_ migration_name ""
|
|
20
|
+
DATETIME applied_at ""
|
|
21
|
+
}
|
|
22
|
+
"artifact_code_groups" {
|
|
23
|
+
VARCHAR_64_ code_group_code ""
|
|
24
|
+
VARCHAR_128_ code_group_name ""
|
|
25
|
+
TEXT description ""
|
|
26
|
+
INTEGER sort_order ""
|
|
27
|
+
INTEGER is_active ""
|
|
28
|
+
DATETIME created_at ""
|
|
29
|
+
DATETIME updated_at ""
|
|
30
|
+
}
|
|
31
|
+
"artifact_codes" {
|
|
32
|
+
VARCHAR_64_ code_group_code ""
|
|
33
|
+
VARCHAR_128_ code ""
|
|
34
|
+
VARCHAR_128_ code_name ""
|
|
35
|
+
TEXT description ""
|
|
36
|
+
INTEGER sort_order ""
|
|
37
|
+
INTEGER is_active ""
|
|
38
|
+
JSON metadata_json ""
|
|
39
|
+
DATETIME created_at ""
|
|
40
|
+
DATETIME updated_at ""
|
|
41
|
+
}
|
|
42
|
+
"artifact_instances" {
|
|
43
|
+
CHAR_36_ artifact_instance_id ""
|
|
44
|
+
VARCHAR_128_ artifact_code ""
|
|
45
|
+
VARCHAR_256_ artifact_name ""
|
|
46
|
+
VARCHAR_64_ artifact_version ""
|
|
47
|
+
VARCHAR_128_ artifact_standard_code ""
|
|
48
|
+
VARCHAR_64_ artifact_standard_version ""
|
|
49
|
+
VARCHAR_64_ artifact_status_code ""
|
|
50
|
+
CHAR_36_ methodology_activity_id ""
|
|
51
|
+
VARCHAR_128_ owner_role_code ""
|
|
52
|
+
DATETIME created_at ""
|
|
53
|
+
DATETIME updated_at ""
|
|
54
|
+
JSON metadata_json ""
|
|
55
|
+
}
|
|
56
|
+
"artifact_component_instances" {
|
|
57
|
+
CHAR_36_ artifact_component_instance_id ""
|
|
58
|
+
CHAR_36_ artifact_instance_id ""
|
|
59
|
+
VARCHAR_128_ artifact_component_code ""
|
|
60
|
+
VARCHAR_64_ artifact_component_role_code ""
|
|
61
|
+
VARCHAR_256_ component_instance_name ""
|
|
62
|
+
VARCHAR_64_ component_status_code ""
|
|
63
|
+
INTEGER sort_order ""
|
|
64
|
+
DATETIME created_at ""
|
|
65
|
+
DATETIME updated_at ""
|
|
66
|
+
JSON metadata_json ""
|
|
67
|
+
}
|
|
68
|
+
"artifact_resource_links" {
|
|
69
|
+
CHAR_36_ artifact_resource_link_id ""
|
|
70
|
+
CHAR_36_ artifact_instance_id ""
|
|
71
|
+
CHAR_36_ artifact_component_instance_id ""
|
|
72
|
+
VARCHAR_64_ resource_type_code ""
|
|
73
|
+
VARCHAR_1024_ resource_ref ""
|
|
74
|
+
VARCHAR_64_ resource_role_code ""
|
|
75
|
+
INTEGER is_primary ""
|
|
76
|
+
DATETIME created_at ""
|
|
77
|
+
DATETIME updated_at ""
|
|
78
|
+
JSON metadata_json ""
|
|
79
|
+
}
|
|
80
|
+
"artifact_trace_links" {
|
|
81
|
+
CHAR_36_ artifact_trace_link_id ""
|
|
82
|
+
CHAR_36_ artifact_instance_id ""
|
|
83
|
+
CHAR_36_ artifact_component_instance_id ""
|
|
84
|
+
VARCHAR_128_ source_type_code ""
|
|
85
|
+
VARCHAR_256_ source_ref_id ""
|
|
86
|
+
VARCHAR_64_ trace_type_code ""
|
|
87
|
+
VARCHAR_128_ artifact_standard_code ""
|
|
88
|
+
VARCHAR_64_ artifact_standard_version ""
|
|
89
|
+
VARCHAR_128_ artifact_component_code ""
|
|
90
|
+
DATETIME created_at ""
|
|
91
|
+
DATETIME updated_at ""
|
|
92
|
+
JSON metadata_json ""
|
|
93
|
+
}
|
|
94
|
+
"artifact_validation_result_refs" {
|
|
95
|
+
CHAR_36_ artifact_validation_result_ref_id ""
|
|
96
|
+
CHAR_36_ artifact_instance_id ""
|
|
97
|
+
CHAR_36_ artifact_component_instance_id ""
|
|
98
|
+
VARCHAR_256_ validation_provider_id ""
|
|
99
|
+
VARCHAR_256_ validation_profile_id ""
|
|
100
|
+
VARCHAR_1024_ validation_result_ref ""
|
|
101
|
+
VARCHAR_64_ validation_status_code ""
|
|
102
|
+
DATETIME created_at ""
|
|
103
|
+
DATETIME updated_at ""
|
|
104
|
+
JSON metadata_json ""
|
|
105
|
+
}
|
|
106
|
+
"artifact_review_decision_refs" {
|
|
107
|
+
CHAR_36_ artifact_review_decision_ref_id ""
|
|
108
|
+
CHAR_36_ artifact_instance_id ""
|
|
109
|
+
CHAR_36_ artifact_component_instance_id ""
|
|
110
|
+
VARCHAR_64_ review_scope_code ""
|
|
111
|
+
VARCHAR_64_ decision_code ""
|
|
112
|
+
VARCHAR_256_ reviewer_ref ""
|
|
113
|
+
TEXT decision_reason ""
|
|
114
|
+
VARCHAR_1024_ decision_result_ref ""
|
|
115
|
+
DATETIME decided_at ""
|
|
116
|
+
DATETIME created_at ""
|
|
117
|
+
DATETIME updated_at ""
|
|
118
|
+
JSON metadata_json ""
|
|
119
|
+
}
|
|
120
|
+
"artifact_status_events" {
|
|
121
|
+
CHAR_36_ artifact_status_event_id ""
|
|
122
|
+
CHAR_36_ artifact_instance_id ""
|
|
123
|
+
CHAR_36_ artifact_component_instance_id ""
|
|
124
|
+
VARCHAR_64_ status_scope_code ""
|
|
125
|
+
VARCHAR_64_ from_status_code ""
|
|
126
|
+
VARCHAR_64_ to_status_code ""
|
|
127
|
+
TEXT transition_reason ""
|
|
128
|
+
VARCHAR_256_ actor_ref ""
|
|
129
|
+
CHAR_36_ artifact_review_decision_ref_id ""
|
|
130
|
+
DATETIME created_at ""
|
|
131
|
+
JSON metadata_json ""
|
|
132
|
+
}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
|
|
5
|
+
-->
|
|
6
|
+
<!-- Title: agentic-domain-artifact Pages: 1 -->
|
|
7
|
+
<svg width="2863pt" height="954pt"
|
|
8
|
+
viewBox="0.00 0.00 2862.51 953.60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 949.6)">
|
|
10
|
+
<title>agentic-domain-artifact</title>
|
|
11
|
+
<polygon fill="white" stroke="none" points="-4,4 -4,-949.6 2858.51,-949.6 2858.51,4 -4,4"/>
|
|
12
|
+
<!-- artifact_schema_migrations -->
|
|
13
|
+
<g id="node1" class="node">
|
|
14
|
+
<title>artifact_schema_migrations</title>
|
|
15
|
+
<polygon fill="#efefef" stroke="none" points="43.2,-810.2 43.2,-856.2 331.83,-856.2 331.83,-810.2 43.2,-810.2"/>
|
|
16
|
+
<polygon fill="none" stroke="black" points="43.2,-810.2 43.2,-856.2 331.83,-856.2 331.83,-810.2 43.2,-810.2"/>
|
|
17
|
+
<text text-anchor="start" x="52.92" y="-834" font-family="Arial Bold" font-size="18.00">artifact_schema_migrations</text>
|
|
18
|
+
<text text-anchor="start" x="252.85" y="-834" font-family="Arial" font-size="14.00"> </text>
|
|
19
|
+
<text text-anchor="start" x="283.97" y="-834" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
20
|
+
<text text-anchor="start" x="50.2" y="-819.6" font-family="Arial" font-size="14.00" fill="#333333">artifact 패키지의 migration 적용 이력을 관리한다.</text>
|
|
21
|
+
<polygon fill="none" stroke="black" points="43.2,-779.4 43.2,-810.2 331.83,-810.2 331.83,-779.4 43.2,-779.4"/>
|
|
22
|
+
<text text-anchor="start" x="50.2" y="-791.6" font-family="Arial" font-size="14.00">migration_id </text>
|
|
23
|
+
<text text-anchor="start" x="130.35" y="-791.6" font-family="Arial" font-size="14.00" fill="#666666">[VARCHAR(128)]</text>
|
|
24
|
+
</g>
|
|
25
|
+
<!-- artifact_code_groups -->
|
|
26
|
+
<g id="node2" class="node">
|
|
27
|
+
<title>artifact_code_groups</title>
|
|
28
|
+
<polygon fill="#efefef" stroke="none" points="433.92,-534 433.92,-580 669.11,-580 669.11,-534 433.92,-534"/>
|
|
29
|
+
<polygon fill="none" stroke="black" points="433.92,-534 433.92,-580 669.11,-580 669.11,-534 433.92,-534"/>
|
|
30
|
+
<text text-anchor="start" x="440.92" y="-557.8" font-family="Arial Bold" font-size="18.00">artifact_code_groups</text>
|
|
31
|
+
<text text-anchor="start" x="592.85" y="-557.8" font-family="Arial" font-size="14.00"> </text>
|
|
32
|
+
<text text-anchor="start" x="623.97" y="-557.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
33
|
+
<text text-anchor="start" x="493.17" y="-543.4" font-family="Arial" font-size="14.00" fill="#333333">코드 그룹을 정의한다.</text>
|
|
34
|
+
<polygon fill="none" stroke="black" points="433.92,-503.2 433.92,-534 669.11,-534 669.11,-503.2 433.92,-503.2"/>
|
|
35
|
+
<text text-anchor="start" x="440.92" y="-515.4" font-family="Arial" font-size="14.00">code_group_code </text>
|
|
36
|
+
<text text-anchor="start" x="556.9" y="-515.4" font-family="Arial" font-size="14.00" fill="#666666">[VARCHAR(64)]</text>
|
|
37
|
+
</g>
|
|
38
|
+
<!-- artifact_codes -->
|
|
39
|
+
<g id="node3" class="node">
|
|
40
|
+
<title>artifact_codes</title>
|
|
41
|
+
<polygon fill="#efefef" stroke="none" points="435.96,-825.6 435.96,-871.6 667.07,-871.6 667.07,-825.6 435.96,-825.6"/>
|
|
42
|
+
<polygon fill="none" stroke="black" points="435.96,-825.6 435.96,-871.6 667.07,-871.6 667.07,-825.6 435.96,-825.6"/>
|
|
43
|
+
<text text-anchor="start" x="466.41" y="-849.4" font-family="Arial Bold" font-size="18.00">artifact_codes</text>
|
|
44
|
+
<text text-anchor="start" x="567.36" y="-849.4" font-family="Arial" font-size="14.00"> </text>
|
|
45
|
+
<text text-anchor="start" x="598.47" y="-849.4" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
46
|
+
<text text-anchor="start" x="465.94" y="-835" font-family="Arial" font-size="14.00" fill="#333333">코드 그룹별 코드 값을 정의한다.</text>
|
|
47
|
+
<polygon fill="none" stroke="black" points="435.96,-794.8 435.96,-825.6 667.07,-825.6 667.07,-794.8 435.96,-794.8"/>
|
|
48
|
+
<text text-anchor="start" x="442.96" y="-807" font-family="Arial" font-size="14.00">code_group_code </text>
|
|
49
|
+
<text text-anchor="start" x="558.94" y="-807" font-family="Arial" font-size="14.00" fill="#666666">[VARCHAR(64)]</text>
|
|
50
|
+
<polygon fill="none" stroke="black" points="435.96,-764 435.96,-794.8 667.07,-794.8 667.07,-764 435.96,-764"/>
|
|
51
|
+
<text text-anchor="start" x="442.96" y="-776.2" font-family="Arial" font-size="14.00">code </text>
|
|
52
|
+
<text text-anchor="start" x="477.2" y="-776.2" font-family="Arial" font-size="14.00" fill="#666666">[VARCHAR(128)]</text>
|
|
53
|
+
</g>
|
|
54
|
+
<!-- artifact_codes->artifact_code_groups -->
|
|
55
|
+
<g id="edge1" class="edge">
|
|
56
|
+
<title>artifact_codes:code_group_code->artifact_code_groups:code_group_code</title>
|
|
57
|
+
<path fill="none" stroke="black" d="M676.71,-804.54C707.85,-764.56 734.56,-525.59 712.31,-503.2 661.93,-452.51 551.51,-430.73 551.51,-502.2"/>
|
|
58
|
+
<polygon fill="black" stroke="black" points="676.72,-804.54 665.89,-806.25 672.25,-807.46 668.63,-809.83 668.63,-809.83 668.63,-809.83 672.25,-807.46 670.82,-813.78 676.72,-804.54"/>
|
|
59
|
+
</g>
|
|
60
|
+
<!-- artifact_instances -->
|
|
61
|
+
<g id="node4" class="node">
|
|
62
|
+
<title>artifact_instances</title>
|
|
63
|
+
<polygon fill="#efefef" stroke="none" points="1893.08,-74 1893.08,-120 2103.94,-120 2103.94,-74 1893.08,-74"/>
|
|
64
|
+
<polygon fill="none" stroke="black" points="1893.08,-74 1893.08,-120 2103.94,-120 2103.94,-74 1893.08,-74"/>
|
|
65
|
+
<text text-anchor="start" x="1900.92" y="-97.8" font-family="Arial Bold" font-size="18.00">artifact_instances</text>
|
|
66
|
+
<text text-anchor="start" x="2026.86" y="-97.8" font-family="Arial" font-size="14.00"> </text>
|
|
67
|
+
<text text-anchor="start" x="2057.97" y="-97.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
68
|
+
<text text-anchor="start" x="1906.32" y="-83.4" font-family="Arial" font-size="14.00" fill="#333333">실제 산출물 instance를 관리한다.</text>
|
|
69
|
+
<polygon fill="none" stroke="black" points="1893.08,-43.2 1893.08,-74 2103.94,-74 2103.94,-43.2 1893.08,-43.2"/>
|
|
70
|
+
<text text-anchor="start" x="1900.08" y="-55.4" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
71
|
+
<text text-anchor="start" x="2024.6" y="-55.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
72
|
+
</g>
|
|
73
|
+
<!-- artifact_component_instances -->
|
|
74
|
+
<g id="node5" class="node">
|
|
75
|
+
<title>artifact_component_instances</title>
|
|
76
|
+
<polygon fill="#efefef" stroke="none" points="1683.17,-304 1683.17,-350 2055.85,-350 2055.85,-304 1683.17,-304"/>
|
|
77
|
+
<polygon fill="none" stroke="black" points="1683.17,-304 1683.17,-350 2055.85,-350 2055.85,-304 1683.17,-304"/>
|
|
78
|
+
<text text-anchor="start" x="1727.43" y="-327.8" font-family="Arial Bold" font-size="18.00">artifact_component_instances</text>
|
|
79
|
+
<text text-anchor="start" x="1942.35" y="-327.8" font-family="Arial" font-size="14.00"> </text>
|
|
80
|
+
<text text-anchor="start" x="1973.46" y="-327.8" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
81
|
+
<text text-anchor="start" x="1690.17" y="-313.4" font-family="Arial" font-size="14.00" fill="#333333">실제 산출물 안의 본문, 부록 등 component instance를 관리한다.</text>
|
|
82
|
+
<polygon fill="none" stroke="black" points="1683.17,-273.2 1683.17,-304 2055.85,-304 2055.85,-273.2 1683.17,-273.2"/>
|
|
83
|
+
<text text-anchor="start" x="1690.17" y="-285.4" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
84
|
+
<text text-anchor="start" x="1891.74" y="-285.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
85
|
+
<polygon fill="none" stroke="black" points="1683.17,-242.4 1683.17,-273.2 2055.85,-273.2 2055.85,-242.4 1683.17,-242.4"/>
|
|
86
|
+
<text text-anchor="start" x="1690.17" y="-254.6" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
87
|
+
<text text-anchor="start" x="1814.69" y="-254.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
88
|
+
</g>
|
|
89
|
+
<!-- artifact_component_instances->artifact_instances -->
|
|
90
|
+
<g id="edge2" class="edge">
|
|
91
|
+
<title>artifact_component_instances:artifact_instance_id->artifact_instances:artifact_instance_id</title>
|
|
92
|
+
<path fill="none" stroke="black" d="M2066.85,-254.95C2079.28,-245.68 2069.63,-216.06 2055.85,-199.2 2008.97,-141.83 1939.75,-220.75 1893.08,-163.2 1863.8,-127.09 1845.59,-58.6 1892.08,-58.6"/>
|
|
93
|
+
<polygon fill="black" stroke="black" points="2066.79,-254.96 2055.94,-253.38 2061.66,-256.43 2057.5,-257.62 2057.5,-257.62 2057.5,-257.62 2061.66,-256.43 2058.41,-262.04 2066.79,-254.96"/>
|
|
94
|
+
</g>
|
|
95
|
+
<!-- artifact_resource_links -->
|
|
96
|
+
<g id="node6" class="node">
|
|
97
|
+
<title>artifact_resource_links</title>
|
|
98
|
+
<polygon fill="#efefef" stroke="none" points="773.13,-564.8 773.13,-610.8 1257.9,-610.8 1257.9,-564.8 773.13,-564.8"/>
|
|
99
|
+
<polygon fill="none" stroke="black" points="773.13,-564.8 773.13,-610.8 1257.9,-610.8 1257.9,-564.8 773.13,-564.8"/>
|
|
100
|
+
<text text-anchor="start" x="898.42" y="-588.6" font-family="Arial Bold" font-size="18.00">artifact_resource_links</text>
|
|
101
|
+
<text text-anchor="start" x="1063.35" y="-588.6" font-family="Arial" font-size="14.00"> </text>
|
|
102
|
+
<text text-anchor="start" x="1094.47" y="-588.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
103
|
+
<text text-anchor="start" x="780.13" y="-574.2" font-family="Arial" font-size="14.00" fill="#333333">산출물 instance 또는 component instance와 document/file/resource를 연결한다.</text>
|
|
104
|
+
<polygon fill="none" stroke="black" points="773.13,-534 773.13,-564.8 1257.9,-564.8 1257.9,-534 773.13,-534"/>
|
|
105
|
+
<text text-anchor="start" x="780.13" y="-546.2" font-family="Arial" font-size="14.00">artifact_resource_link_id </text>
|
|
106
|
+
<text text-anchor="start" x="935.76" y="-546.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
107
|
+
<polygon fill="none" stroke="black" points="773.13,-503.2 773.13,-534 1257.9,-534 1257.9,-503.2 773.13,-503.2"/>
|
|
108
|
+
<text text-anchor="start" x="780.13" y="-515.4" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
109
|
+
<text text-anchor="start" x="904.64" y="-515.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
110
|
+
<polygon fill="none" stroke="black" points="773.13,-472.4 773.13,-503.2 1257.9,-503.2 1257.9,-472.4 773.13,-472.4"/>
|
|
111
|
+
<text text-anchor="start" x="780.13" y="-484.6" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
112
|
+
<text text-anchor="start" x="981.7" y="-484.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
113
|
+
</g>
|
|
114
|
+
<!-- artifact_resource_links->artifact_instances -->
|
|
115
|
+
<g id="edge4" class="edge">
|
|
116
|
+
<title>artifact_resource_links:artifact_instance_id->artifact_instances:artifact_instance_id</title>
|
|
117
|
+
<path fill="none" stroke="black" d="M1269.2,-517.44C1300.76,-509.39 1282.65,-461.14 1309.51,-429.2 1507,-194.32 1585.21,-58.6 1892.08,-58.6"/>
|
|
118
|
+
<polygon fill="black" stroke="black" points="1269.17,-517.44 1258.73,-514.09 1263.87,-518.04 1259.56,-518.53 1259.56,-518.53 1259.56,-518.53 1263.87,-518.04 1259.73,-523.03 1269.17,-517.44"/>
|
|
119
|
+
</g>
|
|
120
|
+
<!-- artifact_resource_links->artifact_component_instances -->
|
|
121
|
+
<g id="edge3" class="edge">
|
|
122
|
+
<title>artifact_resource_links:artifact_component_instance_id->artifact_component_instances:artifact_component_instance_id</title>
|
|
123
|
+
<path fill="none" stroke="black" d="M1269.22,-486.29C1291.05,-478.95 1284.6,-446.59 1309.51,-429.2 1454.65,-327.85 1505.15,-288.6 1682.17,-288.6"/>
|
|
124
|
+
<polygon fill="black" stroke="black" points="1269.12,-486.31 1258.58,-483.3 1263.85,-487.08 1259.56,-487.7 1259.56,-487.7 1259.56,-487.7 1263.85,-487.08 1259.88,-492.2 1269.12,-486.31"/>
|
|
125
|
+
</g>
|
|
126
|
+
<!-- artifact_trace_links -->
|
|
127
|
+
<g id="node7" class="node">
|
|
128
|
+
<title>artifact_trace_links</title>
|
|
129
|
+
<polygon fill="#efefef" stroke="none" points="1361.96,-564.8 1361.96,-610.8 1817.07,-610.8 1817.07,-564.8 1361.96,-564.8"/>
|
|
130
|
+
<polygon fill="none" stroke="black" points="1361.96,-564.8 1361.96,-610.8 1817.07,-610.8 1817.07,-564.8 1361.96,-564.8"/>
|
|
131
|
+
<text text-anchor="start" x="1485.42" y="-588.6" font-family="Arial Bold" font-size="18.00">artifact_trace_links</text>
|
|
132
|
+
<text text-anchor="start" x="1624.35" y="-588.6" font-family="Arial" font-size="14.00"> </text>
|
|
133
|
+
<text text-anchor="start" x="1655.47" y="-588.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
134
|
+
<text text-anchor="start" x="1368.96" y="-574.2" font-family="Arial" font-size="14.00" fill="#333333">실제 산출물 instance와 방법론, 산출물 표준, 외부 실행 결과 간 trace를 관리한다.</text>
|
|
135
|
+
<polygon fill="none" stroke="black" points="1361.96,-534 1361.96,-564.8 1817.07,-564.8 1817.07,-534 1361.96,-534"/>
|
|
136
|
+
<text text-anchor="start" x="1368.96" y="-546.2" font-family="Arial" font-size="14.00">artifact_trace_link_id </text>
|
|
137
|
+
<text text-anchor="start" x="1501.24" y="-546.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
138
|
+
<polygon fill="none" stroke="black" points="1361.96,-503.2 1361.96,-534 1817.07,-534 1817.07,-503.2 1361.96,-503.2"/>
|
|
139
|
+
<text text-anchor="start" x="1368.96" y="-515.4" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
140
|
+
<text text-anchor="start" x="1493.47" y="-515.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
141
|
+
<polygon fill="none" stroke="black" points="1361.96,-472.4 1361.96,-503.2 1817.07,-503.2 1817.07,-472.4 1361.96,-472.4"/>
|
|
142
|
+
<text text-anchor="start" x="1368.96" y="-484.6" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
143
|
+
<text text-anchor="start" x="1570.53" y="-484.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
144
|
+
</g>
|
|
145
|
+
<!-- artifact_trace_links->artifact_instances -->
|
|
146
|
+
<g id="edge6" class="edge">
|
|
147
|
+
<title>artifact_trace_links:artifact_instance_id->artifact_instances:artifact_instance_id</title>
|
|
148
|
+
<path fill="none" stroke="black" d="M1828.18,-517C1854.73,-507.37 1840.05,-456.72 1817.07,-429.2 1762.95,-364.38 1684.27,-458.32 1630.51,-393.2 1575.62,-326.71 1586.27,-273.21 1630.51,-199.2 1698.23,-85.91 1760.1,-58.6 1892.08,-58.6"/>
|
|
149
|
+
<polygon fill="black" stroke="black" points="1828.28,-516.98 1817.7,-514.1 1823.01,-517.82 1818.73,-518.5 1818.73,-518.5 1818.73,-518.5 1823.01,-517.82 1819.11,-522.99 1828.28,-516.98"/>
|
|
150
|
+
</g>
|
|
151
|
+
<!-- artifact_trace_links->artifact_component_instances -->
|
|
152
|
+
<g id="edge5" class="edge">
|
|
153
|
+
<title>artifact_trace_links:artifact_component_instance_id->artifact_component_instances:artifact_component_instance_id</title>
|
|
154
|
+
<path fill="none" stroke="black" d="M1828.04,-484.97C1840.37,-475.78 1830.47,-446.37 1817.07,-429.2 1779.16,-380.62 1720.9,-441.93 1683.17,-393.2 1654.71,-356.44 1635.68,-288.6 1682.17,-288.6"/>
|
|
155
|
+
<polygon fill="black" stroke="black" points="1828.01,-484.98 1817.17,-483.38 1822.88,-486.44 1818.72,-487.62 1818.72,-487.62 1818.72,-487.62 1822.88,-486.44 1819.62,-492.04 1828.01,-484.98"/>
|
|
156
|
+
</g>
|
|
157
|
+
<!-- artifact_validation_result_refs -->
|
|
158
|
+
<g id="node8" class="node">
|
|
159
|
+
<title>artifact_validation_result_refs</title>
|
|
160
|
+
<polygon fill="#efefef" stroke="none" points="1959.43,-564.8 1959.43,-610.8 2259.6,-610.8 2259.6,-564.8 1959.43,-564.8"/>
|
|
161
|
+
<polygon fill="none" stroke="black" points="1959.43,-564.8 1959.43,-610.8 2259.6,-610.8 2259.6,-564.8 1959.43,-564.8"/>
|
|
162
|
+
<text text-anchor="start" x="1966.43" y="-588.6" font-family="Arial Bold" font-size="18.00">artifact_validation_result_refs</text>
|
|
163
|
+
<text text-anchor="start" x="2183.34" y="-588.6" font-family="Arial" font-size="14.00"> </text>
|
|
164
|
+
<text text-anchor="start" x="2214.46" y="-588.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
165
|
+
<text text-anchor="start" x="1986.59" y="-574.2" font-family="Arial" font-size="14.00" fill="#333333">validation 실행 결과의 외부 참조를 관리한다.</text>
|
|
166
|
+
<polygon fill="none" stroke="black" points="1959.43,-534 1959.43,-564.8 2259.6,-564.8 2259.6,-534 1959.43,-534"/>
|
|
167
|
+
<text text-anchor="start" x="1966.43" y="-546.2" font-family="Arial" font-size="14.00">artifact_validation_result_ref_id </text>
|
|
168
|
+
<text text-anchor="start" x="2164.1" y="-546.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
169
|
+
<polygon fill="none" stroke="black" points="1959.43,-503.2 1959.43,-534 2259.6,-534 2259.6,-503.2 1959.43,-503.2"/>
|
|
170
|
+
<text text-anchor="start" x="1966.43" y="-515.4" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
171
|
+
<text text-anchor="start" x="2090.95" y="-515.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
172
|
+
<polygon fill="none" stroke="black" points="1959.43,-472.4 1959.43,-503.2 2259.6,-503.2 2259.6,-472.4 1959.43,-472.4"/>
|
|
173
|
+
<text text-anchor="start" x="1966.43" y="-484.6" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
174
|
+
<text text-anchor="start" x="2168" y="-484.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
175
|
+
</g>
|
|
176
|
+
<!-- artifact_validation_result_refs->artifact_instances -->
|
|
177
|
+
<g id="edge8" class="edge">
|
|
178
|
+
<title>artifact_validation_result_refs:artifact_instance_id->artifact_instances:artifact_instance_id</title>
|
|
179
|
+
<path fill="none" stroke="black" d="M2270.75,-517.02C2357.93,-487.69 2209.17,-58.6 2104.94,-58.6"/>
|
|
180
|
+
<polygon fill="black" stroke="black" points="2270.81,-517.02 2260.24,-514.1 2265.54,-517.83 2261.26,-518.5 2261.26,-518.5 2261.26,-518.5 2265.54,-517.83 2261.62,-523 2270.81,-517.02"/>
|
|
181
|
+
</g>
|
|
182
|
+
<!-- artifact_validation_result_refs->artifact_component_instances -->
|
|
183
|
+
<g id="edge7" class="edge">
|
|
184
|
+
<title>artifact_validation_result_refs:artifact_component_instance_id->artifact_component_instances:artifact_component_instance_id</title>
|
|
185
|
+
<path fill="none" stroke="black" d="M1948.53,-485.02C1936.4,-475.98 1946.86,-446.98 1959.43,-429.2 1985.83,-391.84 2029.59,-430.66 2055.85,-393.2 2082.55,-355.13 2103.35,-288.6 2056.85,-288.6"/>
|
|
186
|
+
<polygon fill="black" stroke="black" points="1948.48,-485.01 1956.89,-492.04 1953.61,-486.45 1957.78,-487.62 1957.78,-487.62 1957.78,-487.62 1953.61,-486.45 1959.32,-483.38 1948.48,-485.01"/>
|
|
187
|
+
</g>
|
|
188
|
+
<!-- artifact_review_decision_refs -->
|
|
189
|
+
<g id="node9" class="node">
|
|
190
|
+
<title>artifact_review_decision_refs</title>
|
|
191
|
+
<polygon fill="#efefef" stroke="none" points="2363.83,-564.8 2363.83,-610.8 2783.19,-610.8 2783.19,-564.8 2363.83,-564.8"/>
|
|
192
|
+
<polygon fill="none" stroke="black" points="2363.83,-564.8 2363.83,-610.8 2783.19,-610.8 2783.19,-564.8 2363.83,-564.8"/>
|
|
193
|
+
<text text-anchor="start" x="2431.94" y="-588.6" font-family="Arial Bold" font-size="18.00">artifact_review_decision_refs</text>
|
|
194
|
+
<text text-anchor="start" x="2645.84" y="-588.6" font-family="Arial" font-size="14.00"> </text>
|
|
195
|
+
<text text-anchor="start" x="2676.95" y="-588.6" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
196
|
+
<text text-anchor="start" x="2370.83" y="-574.2" font-family="Arial" font-size="14.00" fill="#333333">산출물 instance 또는 component에 대한 검토 결정 외부 참조를 관리한다.</text>
|
|
197
|
+
<polygon fill="none" stroke="black" points="2363.83,-534 2363.83,-564.8 2783.19,-564.8 2783.19,-534 2363.83,-534"/>
|
|
198
|
+
<text text-anchor="start" x="2370.83" y="-546.2" font-family="Arial" font-size="14.00">artifact_review_decision_ref_id </text>
|
|
199
|
+
<text text-anchor="start" x="2566.94" y="-546.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
200
|
+
<polygon fill="none" stroke="black" points="2363.83,-503.2 2363.83,-534 2783.19,-534 2783.19,-503.2 2363.83,-503.2"/>
|
|
201
|
+
<text text-anchor="start" x="2370.83" y="-515.4" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
202
|
+
<text text-anchor="start" x="2495.35" y="-515.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
203
|
+
<polygon fill="none" stroke="black" points="2363.83,-472.4 2363.83,-503.2 2783.19,-503.2 2783.19,-472.4 2363.83,-472.4"/>
|
|
204
|
+
<text text-anchor="start" x="2370.83" y="-484.6" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
205
|
+
<text text-anchor="start" x="2572.41" y="-484.6" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
206
|
+
</g>
|
|
207
|
+
<!-- artifact_review_decision_refs->artifact_instances -->
|
|
208
|
+
<g id="edge10" class="edge">
|
|
209
|
+
<title>artifact_review_decision_refs:artifact_instance_id->artifact_instances:artifact_instance_id</title>
|
|
210
|
+
<path fill="none" stroke="black" d="M2352.74,-516.81C2291.51,-493.91 2312.56,-258.01 2274.51,-199.2 2221.34,-117 2202.85,-58.6 2104.94,-58.6"/>
|
|
211
|
+
<polygon fill="black" stroke="black" points="2352.66,-516.8 2361.72,-522.97 2357.91,-517.73 2362.18,-518.48 2362.18,-518.48 2362.18,-518.48 2357.91,-517.73 2363.29,-514.11 2352.66,-516.8"/>
|
|
212
|
+
</g>
|
|
213
|
+
<!-- artifact_review_decision_refs->artifact_component_instances -->
|
|
214
|
+
<g id="edge9" class="edge">
|
|
215
|
+
<title>artifact_review_decision_refs:artifact_component_instance_id->artifact_component_instances:artifact_component_instance_id</title>
|
|
216
|
+
<path fill="none" stroke="black" d="M2352.68,-486.46C2330.06,-479.64 2335.42,-448.46 2311.51,-429.2 2210.82,-348.11 2186.14,-288.6 2056.85,-288.6"/>
|
|
217
|
+
<polygon fill="black" stroke="black" points="2352.59,-486.44 2361.91,-492.22 2357.88,-487.14 2362.17,-487.71 2362.17,-487.71 2362.17,-487.71 2357.88,-487.14 2363.09,-483.3 2352.59,-486.44"/>
|
|
218
|
+
</g>
|
|
219
|
+
<!-- artifact_status_events -->
|
|
220
|
+
<g id="node10" class="node">
|
|
221
|
+
<title>artifact_status_events</title>
|
|
222
|
+
<polygon fill="#efefef" stroke="none" points="2391.06,-856.4 2391.06,-902.4 2755.96,-902.4 2755.96,-856.4 2391.06,-856.4"/>
|
|
223
|
+
<polygon fill="none" stroke="black" points="2391.06,-856.4 2391.06,-902.4 2755.96,-902.4 2755.96,-856.4 2391.06,-856.4"/>
|
|
224
|
+
<text text-anchor="start" x="2460.91" y="-880.2" font-family="Arial Bold" font-size="18.00">artifact_status_events</text>
|
|
225
|
+
<text text-anchor="start" x="2616.86" y="-880.2" font-family="Arial" font-size="14.00"> </text>
|
|
226
|
+
<text text-anchor="start" x="2647.98" y="-880.2" font-family="Arial" font-size="14.00" fill="#666666">[table]</text>
|
|
227
|
+
<text text-anchor="start" x="2398.06" y="-865.8" font-family="Arial" font-size="14.00" fill="#333333">산출물 instance 또는 component의 상태 전이 이력을 관리한다.</text>
|
|
228
|
+
<polygon fill="none" stroke="black" points="2391.06,-825.6 2391.06,-856.4 2755.96,-856.4 2755.96,-825.6 2391.06,-825.6"/>
|
|
229
|
+
<text text-anchor="start" x="2398.06" y="-837.8" font-family="Arial" font-size="14.00">artifact_status_event_id </text>
|
|
230
|
+
<text text-anchor="start" x="2549.82" y="-837.8" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
231
|
+
<polygon fill="none" stroke="black" points="2391.06,-794.8 2391.06,-825.6 2755.96,-825.6 2755.96,-794.8 2391.06,-794.8"/>
|
|
232
|
+
<text text-anchor="start" x="2398.06" y="-807" font-family="Arial" font-size="14.00">artifact_instance_id </text>
|
|
233
|
+
<text text-anchor="start" x="2522.58" y="-807" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
234
|
+
<polygon fill="none" stroke="black" points="2391.06,-764 2391.06,-794.8 2755.96,-794.8 2755.96,-764 2391.06,-764"/>
|
|
235
|
+
<text text-anchor="start" x="2398.06" y="-776.2" font-family="Arial" font-size="14.00">artifact_component_instance_id </text>
|
|
236
|
+
<text text-anchor="start" x="2599.63" y="-776.2" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
237
|
+
<polygon fill="none" stroke="black" points="2391.06,-733.2 2391.06,-764 2755.96,-764 2755.96,-733.2 2391.06,-733.2"/>
|
|
238
|
+
<text text-anchor="start" x="2398.06" y="-745.4" font-family="Arial" font-size="14.00">artifact_review_decision_ref_id </text>
|
|
239
|
+
<text text-anchor="start" x="2594.16" y="-745.4" font-family="Arial" font-size="14.00" fill="#666666">[CHAR(36)]</text>
|
|
240
|
+
</g>
|
|
241
|
+
<!-- artifact_status_events->artifact_instances -->
|
|
242
|
+
<g id="edge13" class="edge">
|
|
243
|
+
<title>artifact_status_events:artifact_instance_id->artifact_instances:artifact_instance_id</title>
|
|
244
|
+
<path fill="none" stroke="black" d="M2767.29,-809.59C2905.76,-792.78 2838.58,-434.19 2835.51,-429.2 2645,-118.94 2469.03,-58.6 2104.94,-58.6"/>
|
|
245
|
+
<polygon fill="black" stroke="black" points="2767.28,-809.59 2757.03,-805.69 2761.96,-809.91 2757.63,-810.16 2757.63,-810.16 2757.63,-810.16 2761.96,-809.91 2757.56,-814.67 2767.28,-809.59"/>
|
|
246
|
+
</g>
|
|
247
|
+
<!-- artifact_status_events->artifact_component_instances -->
|
|
248
|
+
<g id="edge12" class="edge">
|
|
249
|
+
<title>artifact_status_events:artifact_component_instance_id->artifact_component_instances:artifact_component_instance_id</title>
|
|
250
|
+
<path fill="none" stroke="black" d="M2379.84,-779.3C2261.66,-777.14 1973.31,-739.08 1907.51,-654 1876.95,-614.48 1876.63,-468.47 1907.51,-429.2 1949.45,-375.87 2013.66,-446.33 2055.85,-393.2 2084.77,-356.79 2103.35,-288.6 2056.85,-288.6"/>
|
|
251
|
+
<polygon fill="black" stroke="black" points="2379.73,-779.3 2389.68,-783.9 2385.06,-779.35 2389.39,-779.39 2389.39,-779.39 2389.39,-779.39 2385.06,-779.35 2389.77,-774.9 2379.73,-779.3"/>
|
|
252
|
+
</g>
|
|
253
|
+
<!-- artifact_status_events->artifact_review_decision_refs -->
|
|
254
|
+
<g id="edge11" class="edge">
|
|
255
|
+
<title>artifact_status_events:artifact_review_decision_ref_id->artifact_review_decision_refs:artifact_review_decision_ref_id</title>
|
|
256
|
+
<path fill="none" stroke="black" d="M2574.13,-721.94C2584.71,-640.11 2728.2,-732.4 2783.19,-654 2809.89,-615.94 2830.68,-549.4 2784.19,-549.4"/>
|
|
257
|
+
<polygon fill="black" stroke="black" points="2574.13,-721.88 2569.04,-731.6 2573.81,-727.21 2573.55,-731.53 2573.55,-731.53 2573.55,-731.53 2573.81,-727.21 2578.03,-732.14 2574.13,-721.88"/>
|
|
258
|
+
</g>
|
|
259
|
+
</g>
|
|
260
|
+
</svg>
|
package/docs/usage.md
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Usage
|
|
2
|
+
|
|
3
|
+
`@soddong/agentic-domain-artifact`는 실제 산출물 instance와 component instance, document/file/resource link, trace, validation result reference, review decision reference를 관리한다.
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import {
|
|
7
|
+
ArtifactService,
|
|
8
|
+
openArtifactDatabase,
|
|
9
|
+
seedBusinessProcessDefinitionArtifact
|
|
10
|
+
} from "@soddong/agentic-domain-artifact";
|
|
11
|
+
|
|
12
|
+
const db = openArtifactDatabase({ projectRoot: process.cwd() });
|
|
13
|
+
const service = new ArtifactService(db);
|
|
14
|
+
|
|
15
|
+
const fixture = seedBusinessProcessDefinitionArtifact(service);
|
|
16
|
+
console.log(fixture.aggregate.artifact.artifactCode);
|
|
17
|
+
console.log(fixture.aggregate.components.map((component) => component.artifactComponentCode));
|
|
18
|
+
|
|
19
|
+
db.close();
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## 직접 생성 예시
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
const artifact = service.createArtifactInstance({
|
|
26
|
+
artifactCode: "component-a-business-process-definition",
|
|
27
|
+
artifactName: "A컴포넌트 비즈니스 프로세스 정의서",
|
|
28
|
+
artifactStandardCode: "business_process_definition",
|
|
29
|
+
artifactStandardVersion: "1.0.0"
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const component = service.addArtifactComponentInstance({
|
|
33
|
+
artifactInstanceId: artifact.artifactInstanceId,
|
|
34
|
+
artifactComponentCode: "appendix_l3_process",
|
|
35
|
+
artifactComponentRoleCode: "APPENDIX",
|
|
36
|
+
componentInstanceName: "A컴포넌트 L3 프로세스 부록"
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
service.addArtifactTraceLink({
|
|
40
|
+
artifactInstanceId: artifact.artifactInstanceId,
|
|
41
|
+
artifactComponentInstanceId: component.artifactComponentInstanceId,
|
|
42
|
+
sourceTypeCode: "methodology_activity_artifact_requirement",
|
|
43
|
+
sourceRefId: "<activity_artifact_requirement_id>",
|
|
44
|
+
traceTypeCode: "produced_by",
|
|
45
|
+
artifactStandardCode: "business_process_definition",
|
|
46
|
+
artifactStandardVersion: "1.0.0",
|
|
47
|
+
artifactComponentCode: "appendix_l3_process"
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
service.addArtifactReviewDecisionRef({
|
|
51
|
+
artifactInstanceId: artifact.artifactInstanceId,
|
|
52
|
+
reviewScopeCode: "artifact_instance",
|
|
53
|
+
decisionCode: "approved",
|
|
54
|
+
reviewerRef: "user://reviewer",
|
|
55
|
+
decisionReason: "후행 Stage 전달을 승인한다.",
|
|
56
|
+
decisionResultRef: "execution://review/component-a-business-process-definition/0.1.0"
|
|
57
|
+
});
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Activity output 기반 생성 예시
|
|
61
|
+
|
|
62
|
+
`artifact`는 `methodology` 객체를 직접 받지 않는다. application/integration layer가 Activity output을 중립 DTO로 변환해 전달하면, artifact instance와 component/resource/trace link를 한 번에 생성할 수 있다.
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
const created = service.createArtifactInstanceFromActivityOutputs({
|
|
66
|
+
artifact: {
|
|
67
|
+
artifactCode: "component-a-business-process-definition",
|
|
68
|
+
artifactName: "A컴포넌트 비즈니스 프로세스 정의서",
|
|
69
|
+
artifactStandardCode: "business_process_definition",
|
|
70
|
+
artifactStandardVersion: "1.0.0"
|
|
71
|
+
},
|
|
72
|
+
activityOutputs: [
|
|
73
|
+
{
|
|
74
|
+
sourceRefId: "<activity_artifact_requirement_id:main>",
|
|
75
|
+
artifactComponentCode: "main_document",
|
|
76
|
+
artifactComponentRoleCode: "MAIN",
|
|
77
|
+
componentInstanceName: "본문",
|
|
78
|
+
resource: {
|
|
79
|
+
resourceTypeCode: "DOCUMENT_ID",
|
|
80
|
+
resourceRef: "<adoc_document_id:main>",
|
|
81
|
+
isPrimary: true
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
sourceRefId: "<activity_artifact_requirement_id:appendix>",
|
|
86
|
+
artifactComponentCode: "appendix_l3_process",
|
|
87
|
+
artifactComponentRoleCode: "APPENDIX",
|
|
88
|
+
componentInstanceName: "L3 프로세스 부록",
|
|
89
|
+
resource: {
|
|
90
|
+
resourceTypeCode: "DOCUMENT_ID",
|
|
91
|
+
resourceRef: "<adoc_document_id:l3>",
|
|
92
|
+
isPrimary: true
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
console.log(created.components.length);
|
|
99
|
+
console.log(created.traceLinks.length);
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
기존 component에 ADoc document를 사후 연결할 때는 다음 helper를 사용한다.
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
service.bindDocumentToArtifactComponent({
|
|
106
|
+
artifactInstanceId: created.artifact.artifactInstanceId,
|
|
107
|
+
artifactComponentInstanceId: created.components[0].artifactComponentInstanceId,
|
|
108
|
+
documentId: "<adoc_document_id>"
|
|
109
|
+
});
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Lifecycle transition 예시
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
service.transitionArtifactStatus({
|
|
116
|
+
artifactInstanceId: artifact.artifactInstanceId,
|
|
117
|
+
toStatusCode: "in_review",
|
|
118
|
+
actorRef: "agent://authoring-agent",
|
|
119
|
+
transitionReason: "작성 완료 후 검토를 요청한다."
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
const reviewDecisionRef = service.addArtifactReviewDecisionRef({
|
|
123
|
+
artifactInstanceId: artifact.artifactInstanceId,
|
|
124
|
+
reviewScopeCode: "artifact_instance",
|
|
125
|
+
decisionCode: "approved",
|
|
126
|
+
reviewerRef: "user://reviewer",
|
|
127
|
+
decisionReason: "후행 Stage 전달을 승인한다.",
|
|
128
|
+
decisionResultRef: "execution://review/component-a-business-process-definition/0.1.0"
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
service.transitionArtifactStatus({
|
|
132
|
+
artifactInstanceId: artifact.artifactInstanceId,
|
|
133
|
+
toStatusCode: "approved",
|
|
134
|
+
actorRef: "user://reviewer",
|
|
135
|
+
transitionReason: "검토 승인에 따라 산출물 상태를 승인으로 변경한다.",
|
|
136
|
+
artifactReviewDecisionRefId: reviewDecisionRef.artifactReviewDecisionRefId
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
console.log(service.listArtifactStatusEvents(artifact.artifactInstanceId));
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Sample execution seed apply 예시
|
|
143
|
+
|
|
144
|
+
```ts
|
|
145
|
+
import { applyAgenticSeed } from "@soddong/agentic-domain-artifact";
|
|
146
|
+
|
|
147
|
+
await applyAgenticSeed({
|
|
148
|
+
sourcePackageName: "@soddong/agentic-methodology-ai-agent-sdlc",
|
|
149
|
+
sourcePackageVersion: "0.2.0",
|
|
150
|
+
bundleCode: "ai-agent-sdlc-build-planning",
|
|
151
|
+
bundleVersion: "0.2.0",
|
|
152
|
+
methodologyCode: "ai_agent_sdlc",
|
|
153
|
+
sourceSection: "sampleExecution",
|
|
154
|
+
targetOperation: "prepare_sample_execution",
|
|
155
|
+
itemKey: "ai_agent_sdlc_build_planning_minimal_sample",
|
|
156
|
+
itemPayload: {
|
|
157
|
+
sampleCode: "ai_agent_sdlc_build_planning_minimal_sample",
|
|
158
|
+
methodologyCode: "ai_agent_sdlc",
|
|
159
|
+
lifecycleCode: "incremental_build_lifecycle",
|
|
160
|
+
phaseCode: "build_planning_phase",
|
|
161
|
+
processCode: "build_planning_process",
|
|
162
|
+
projectCode: "sample-ai-agent-sdlc-build-planning-project"
|
|
163
|
+
},
|
|
164
|
+
mode: "apply"
|
|
165
|
+
});
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Handoff resolve 예시
|
|
169
|
+
|
|
170
|
+
```ts
|
|
171
|
+
const handoff = service.resolveArtifactHandoff({
|
|
172
|
+
artifactStandardCode: "business_process_definition",
|
|
173
|
+
artifactStandardVersion: "1.0.0",
|
|
174
|
+
requiredComponentCodes: [
|
|
175
|
+
"main_document",
|
|
176
|
+
"appendix_l3_process",
|
|
177
|
+
"appendix_scenario"
|
|
178
|
+
],
|
|
179
|
+
requiredResultRefs: [
|
|
180
|
+
"validation_result",
|
|
181
|
+
"review_decision"
|
|
182
|
+
],
|
|
183
|
+
requiredResourceTypeCode: "DOCUMENT_ID"
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
console.log(handoff.resolved);
|
|
187
|
+
console.log(handoff.components.map((component) => component.primaryResource?.resourceRef));
|
|
188
|
+
console.log(handoff.reviewDecisionRefs.map((decisionRef) => decisionRef.decisionCode));
|
|
189
|
+
console.log(handoff.missing);
|
|
190
|
+
```
|
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@soddong/agentic-domain-artifact",
|
|
3
|
+
"version": "0.7.0",
|
|
4
|
+
"description": "Agentic Platform artifact instance domain package",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"README.md",
|
|
12
|
+
"CHANGELOG.md",
|
|
13
|
+
".tbls.yml",
|
|
14
|
+
"docs",
|
|
15
|
+
"src/database/migrations"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc -p tsconfig.json",
|
|
19
|
+
"clean": "rm -rf dist tsconfig.tsbuildinfo",
|
|
20
|
+
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"better-sqlite3": "^12.11.1"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@types/better-sqlite3": "^7.6.13"
|
|
27
|
+
}
|
|
28
|
+
}
|