@soddong/agentic-domain-artifact-standard 0.11.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 +54 -0
- package/CHANGELOG.md +94 -0
- package/README.md +386 -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 +11 -0
- package/dist/fixtures.d.ts.map +1 -0
- package/dist/fixtures.js +537 -0
- package/dist/fixtures.js.map +1 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +213 -0
- package/dist/index.js.map +1 -0
- package/dist/repositories.d.ts +46 -0
- package/dist/repositories.d.ts.map +1 -0
- package/dist/repositories.js +730 -0
- package/dist/repositories.js.map +1 -0
- package/dist/seed-apply.d.ts +20 -0
- package/dist/seed-apply.d.ts.map +1 -0
- package/dist/seed-apply.js +198 -0
- package/dist/seed-apply.js.map +1 -0
- package/dist/service.d.ts +40 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +105 -0
- package/dist/service.js.map +1 -0
- package/dist/types.d.ts +499 -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 +27 -0
- package/docs/configuration.md +5 -0
- package/docs/delivery.md +26 -0
- package/docs/operations.md +28 -0
- package/docs/publishing.md +43 -0
- package/docs/schema/generated/README.md +38 -0
- package/docs/schema/generated/artifact_standard_blueprint_nodes.md +137 -0
- package/docs/schema/generated/artifact_standard_blueprint_nodes.svg +88 -0
- package/docs/schema/generated/artifact_standard_code_groups.md +70 -0
- package/docs/schema/generated/artifact_standard_code_groups.svg +49 -0
- package/docs/schema/generated/artifact_standard_codes.md +88 -0
- package/docs/schema/generated/artifact_standard_codes.svg +49 -0
- package/docs/schema/generated/artifact_standard_component_bindings.md +118 -0
- package/docs/schema/generated/artifact_standard_component_bindings.svg +73 -0
- package/docs/schema/generated/artifact_standard_components.md +114 -0
- package/docs/schema/generated/artifact_standard_components.svg +73 -0
- package/docs/schema/generated/artifact_standard_diagram_policies.md +99 -0
- package/docs/schema/generated/artifact_standard_diagram_policies.svg +49 -0
- package/docs/schema/generated/artifact_standard_document_blueprints.md +101 -0
- package/docs/schema/generated/artifact_standard_document_blueprints.svg +128 -0
- package/docs/schema/generated/artifact_standard_document_component_relations.md +118 -0
- package/docs/schema/generated/artifact_standard_document_component_relations.svg +87 -0
- package/docs/schema/generated/artifact_standard_document_components.md +148 -0
- package/docs/schema/generated/artifact_standard_document_components.svg +139 -0
- package/docs/schema/generated/artifact_standard_figure_policies.md +99 -0
- package/docs/schema/generated/artifact_standard_figure_policies.svg +49 -0
- package/docs/schema/generated/artifact_standard_generated_output_links.md +144 -0
- package/docs/schema/generated/artifact_standard_generated_output_links.svg +57 -0
- package/docs/schema/generated/artifact_standard_physical_structure_policies.md +124 -0
- package/docs/schema/generated/artifact_standard_physical_structure_policies.svg +78 -0
- package/docs/schema/generated/artifact_standard_schema_migrations.md +52 -0
- package/docs/schema/generated/artifact_standard_schema_migrations.svg +27 -0
- package/docs/schema/generated/artifact_standard_source_mappings.md +120 -0
- package/docs/schema/generated/artifact_standard_source_mappings.svg +49 -0
- package/docs/schema/generated/artifact_standard_standards.md +102 -0
- package/docs/schema/generated/artifact_standard_standards.svg +313 -0
- package/docs/schema/generated/artifact_standard_table_column_schemas.md +147 -0
- package/docs/schema/generated/artifact_standard_table_column_schemas.svg +52 -0
- package/docs/schema/generated/artifact_standard_table_schemas.md +99 -0
- package/docs/schema/generated/artifact_standard_table_schemas.svg +71 -0
- package/docs/schema/generated/artifact_standard_template_slots.md +143 -0
- package/docs/schema/generated/artifact_standard_template_slots.svg +88 -0
- package/docs/schema/generated/artifact_standard_validation_rule_set_rules.md +128 -0
- package/docs/schema/generated/artifact_standard_validation_rule_set_rules.svg +52 -0
- package/docs/schema/generated/artifact_standard_validation_rule_sets.md +91 -0
- package/docs/schema/generated/artifact_standard_validation_rule_sets.svg +71 -0
- package/docs/schema/generated/schema.json +4230 -0
- package/docs/schema/generated/schema.mmd +327 -0
- package/docs/schema/generated/schema.svg +510 -0
- package/docs/usage.md +197 -0
- package/package.json +30 -0
- package/src/database/migrations/0001_artifact_standard_base.sql +1295 -0
package/.tbls.yml
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
name: agentic-domain-artifact-standard
|
|
2
|
+
desc: Agentic Platform artifact standard domain database.
|
|
3
|
+
|
|
4
|
+
dsn: ${AGENTIC_DOMAIN_ARTIFACT_STANDARD_SCHEMA_DSN}
|
|
5
|
+
docPath: ${AGENTIC_DOMAIN_ARTIFACT_STANDARD_SCHEMA_DOC_PATH}
|
|
6
|
+
|
|
7
|
+
format:
|
|
8
|
+
adjust: true
|
|
9
|
+
sort: false
|
|
10
|
+
number: false
|
|
11
|
+
hideColumnsWithoutValues: true
|
|
12
|
+
|
|
13
|
+
er:
|
|
14
|
+
skip: false
|
|
15
|
+
format: svg
|
|
16
|
+
comment: true
|
|
17
|
+
hideDef: true
|
|
18
|
+
showColumnTypes:
|
|
19
|
+
related: true
|
|
20
|
+
primary: true
|
|
21
|
+
distance: 1
|
|
22
|
+
|
|
23
|
+
include:
|
|
24
|
+
- artifact_standard_*
|
|
25
|
+
|
|
26
|
+
comments:
|
|
27
|
+
- table: artifact_standard_schema_migrations
|
|
28
|
+
tableComment: artifact-standard 패키지의 migration 적용 이력을 관리한다.
|
|
29
|
+
- table: artifact_standard_code_groups
|
|
30
|
+
tableComment: 코드 그룹을 정의한다.
|
|
31
|
+
- table: artifact_standard_codes
|
|
32
|
+
tableComment: 코드 그룹별 코드 값을 정의한다.
|
|
33
|
+
- table: artifact_standard_standards
|
|
34
|
+
tableComment: 산출물 표준의 최상위 versioned definition을 관리한다.
|
|
35
|
+
- table: artifact_standard_components
|
|
36
|
+
tableComment: 산출물 표준을 구성하는 개념, 서식, 가이드, 예시, LLM 보충 지침 resource를 관리한다.
|
|
37
|
+
- table: artifact_standard_document_blueprints
|
|
38
|
+
tableComment: 산출물 문서 구조 기준을 관리한다.
|
|
39
|
+
- table: artifact_standard_template_slots
|
|
40
|
+
tableComment: blueprint 내 section, table, figure, diagram 등이 들어갈 slot을 관리한다.
|
|
41
|
+
- table: artifact_standard_table_schemas
|
|
42
|
+
tableComment: 산출물 표 단위 schema를 관리한다.
|
|
43
|
+
- table: artifact_standard_table_column_schemas
|
|
44
|
+
tableComment: 산출물 표의 column 단위 schema를 관리한다.
|
|
45
|
+
- table: artifact_standard_figure_policies
|
|
46
|
+
tableComment: figure 작성/표현 policy를 관리한다.
|
|
47
|
+
- table: artifact_standard_diagram_policies
|
|
48
|
+
tableComment: diagram 작성/표현 policy를 관리한다.
|
|
49
|
+
- table: artifact_standard_validation_rule_sets
|
|
50
|
+
tableComment: 산출물 표준에 적용할 validation rule set을 관리한다.
|
|
51
|
+
- table: artifact_standard_validation_rule_set_rules
|
|
52
|
+
tableComment: validation rule set에 포함된 contract-compatible rule을 관리한다.
|
|
53
|
+
- table: artifact_standard_source_mappings
|
|
54
|
+
tableComment: 설계 근거 및 후속 이행 후보 source mapping을 관리한다.
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.11.0
|
|
4
|
+
|
|
5
|
+
- Generated Output Link 모델을 추가한다.
|
|
6
|
+
- `artifact_standard_generated_output_links` 테이블을 추가해 산출물 표준 또는 생성 출력물 간 자동 생성 관계를 관리한다.
|
|
7
|
+
- `addGeneratedOutputLink()`, `getGeneratedOutputLinkByCode()`, `listGeneratedOutputLinks()`, `listGeneratedOutputLinksBySource()` Service API를 추가한다.
|
|
8
|
+
- `applyAgenticSeed()` runtime seed apply handler를 추가해 AI-Agent SDLC seed의 `generatedOutputLinks` section을 실제 artifact-standard DB에 적용한다.
|
|
9
|
+
- seed에서 참조하는 source/target artifact standard가 아직 상세 fixture로 제공되지 않은 경우 최소 stub standard를 생성하고 원본 seed payload를 metadata에 보존한다.
|
|
10
|
+
|
|
11
|
+
## 0.10.1
|
|
12
|
+
|
|
13
|
+
- `ArtifactStandard` / `artifactStandardCode` 계열 non-breaking alias를 추가한다.
|
|
14
|
+
- `getArtifactStandardInfo()`와 `getArchitectureSpecificationArtifactStandard()`를 제공한다.
|
|
15
|
+
- `getArtifactStandardDocumentProfile()`이 신규 `artifactStandardCode` query와 legacy `artifactStandardPackageCode` query를 모두 지원하게 한다.
|
|
16
|
+
- 문서와 dev-test 예시를 신규 도메인 용어 기준으로 보정한다.
|
|
17
|
+
|
|
18
|
+
## 0.10.0
|
|
19
|
+
|
|
20
|
+
- Information Object Definition artifact standard fixture를 추가한다.
|
|
21
|
+
- `seedInformationObjectDefinitionArtifactStandard()`로 `information_object_definition@1.0.0` 표준을 생성할 수 있게 한다.
|
|
22
|
+
- 정보 객체 정의서 main document blueprint, required blueprint nodes, information object table slot, table schema, validation rules를 fixture로 제공한다.
|
|
23
|
+
- 4모듈 통합 검증의 downstream authoring context target profile을 임시 Business Process Definition profile에서 Information Object Definition profile로 교체한다.
|
|
24
|
+
|
|
25
|
+
## 0.9.0
|
|
26
|
+
|
|
27
|
+
- Business Process Definition fixture의 `DocumentBlueprint`를 component별로 분리한다.
|
|
28
|
+
- `main_document`, `appendix_l3_process`, `appendix_scenario`, `appendix_l4_detail` component가 각각 별도 blueprint를 참조하게 한다.
|
|
29
|
+
- component별 blueprint 기준으로 `DocumentImportProfile`을 생성하는 dev-test를 보강한다.
|
|
30
|
+
- artifact-standard, methodology, artifact, document 통합 검증에서 L3 appendix document required blueprint node 검증을 추가한다.
|
|
31
|
+
- component별 document structure 기준은 신규 table 없이 `DocumentComponent.blueprintId`를 사용한다.
|
|
32
|
+
|
|
33
|
+
## 0.8.0
|
|
34
|
+
|
|
35
|
+
- `ArtifactStandardAggregate` 기반 `DocumentImportProfile` 생성 helper를 추가한다.
|
|
36
|
+
- `createDocumentImportProfileFromArtifactStandardAggregate()`로 blueprint, table schema, validation rule set에서 document profile을 도출할 수 있게 한다.
|
|
37
|
+
- `architecture_specification` 전용 profile provider는 legacy registry fixture로 격하해 하드코딩 분산을 줄인다.
|
|
38
|
+
- artifact-standard, methodology, artifact, document 통합 검증에서 ADoc documentId resource link와 document 구조 검증을 추가한다.
|
|
39
|
+
- Business Process Definition fixture 기준 required blueprint node, required table slot, table schema column 검증을 추가한다.
|
|
40
|
+
|
|
41
|
+
## 0.7.0
|
|
42
|
+
|
|
43
|
+
- `DocumentComponent` 모델을 추가해 산출물 본문, 부록, 보조자료 같은 논리 구성 단위를 관리한다.
|
|
44
|
+
- `DocumentComponentRelation` 모델을 추가해 component 간 포함, 상세화, 지원, 참조 관계를 표현한다.
|
|
45
|
+
- `PhysicalStructurePolicy` 모델을 추가해 논리 component 계층과 물리 파일/폴더 구조를 분리한다.
|
|
46
|
+
- Business Process Definition fixture에 본문, L3 부록, 시나리오 부록, L4 상세 부록 예시를 추가한다.
|
|
47
|
+
- validation/component binding target type에 document component, relation, physical policy 대상을 추가한다.
|
|
48
|
+
|
|
49
|
+
## 0.6.0
|
|
50
|
+
|
|
51
|
+
- artifact-standard validation target type 후보를 TypeScript type과 SQLite code seed로 추가한다.
|
|
52
|
+
- validation rule 저장 시 artifact-standard validation target type code guard를 적용한다.
|
|
53
|
+
- `ARTIFACT_STANDARD.COMPONENT_BINDING.REQUIRED_ROLE` fixture rule을 추가한다.
|
|
54
|
+
- `TABLE_SCHEMA:l4_processes`에 `PRIMARY_GUIDE` component binding이 있는지 검증하는 대표 rule parameter convention을 추가한다.
|
|
55
|
+
- validation type별 artifact-standard 적용 예시를 결정 문서에 반영한다.
|
|
56
|
+
|
|
57
|
+
## 0.5.0
|
|
58
|
+
|
|
59
|
+
- `ArtifactStandardComponentBinding` 모델을 추가한다.
|
|
60
|
+
- `artifact_standard_component_bindings` table을 추가한다.
|
|
61
|
+
- Component와 ArtifactStandard, DocumentBlueprint, BlueprintNode, TemplateSlot, TableSchema 등 target 간 N:M 적용 관계를 표현한다.
|
|
62
|
+
- `ArtifactStandardService`에 `addComponentBinding()`, `listComponentBindings()`, `listComponentBindingsByTarget()` API를 추가한다.
|
|
63
|
+
- Business Process Definition fixture에 전체 산출물 표준 guide binding과 table schema guide binding을 추가한다.
|
|
64
|
+
|
|
65
|
+
## 0.4.0
|
|
66
|
+
|
|
67
|
+
- `BlueprintNode` 모델을 추가해 목차/논리 섹션 구조와 `TemplateSlot` 구성요소 요구사항을 분리한다.
|
|
68
|
+
- `artifact_standard_blueprint_nodes` table을 추가한다.
|
|
69
|
+
- `TemplateSlot`이 `blueprint_node_id`로 특정 목차/논리 섹션에 연결될 수 있게 한다.
|
|
70
|
+
- `ArtifactStandardService`에 `addBlueprintNode()`, `listBlueprintNodes()` API를 추가한다.
|
|
71
|
+
- Business Process Definition fixture를 `DocumentBlueprint -> BlueprintNode -> TemplateSlot` 구조로 갱신한다.
|
|
72
|
+
|
|
73
|
+
## 0.3.0
|
|
74
|
+
|
|
75
|
+
- SQLite base migration을 추가한다.
|
|
76
|
+
- `artifact_standard_` prefix 기반 table schema를 추가한다.
|
|
77
|
+
- `ArtifactStandardService`와 `ArtifactStandardRepository`를 추가한다.
|
|
78
|
+
- component, blueprint, template slot, table schema, validation rule set, source mapping 생성/조회 API를 추가한다.
|
|
79
|
+
- `getArtifactStandardAggregateByCodeVersion()` aggregate 조회 API를 추가한다.
|
|
80
|
+
- Business Process Definition 축소 fixture helper를 추가한다.
|
|
81
|
+
- `@soddong/agentic-contract-validation`과 정렬되는 validation provider manifest export API를 추가한다.
|
|
82
|
+
- validation rule 저장 시 `@soddong/agentic-contract-validation` code guard를 적용한다.
|
|
83
|
+
|
|
84
|
+
## 0.2.0
|
|
85
|
+
|
|
86
|
+
- `DocumentImportProfile` 기반 `getArtifactStandardDocumentProfile()` public API를 추가한다.
|
|
87
|
+
- `architecture_specification@1.0.0` document profile fixture를 추가한다.
|
|
88
|
+
- Architecture Specification template slot placeholder를 추가한다.
|
|
89
|
+
- document profile provider 사용 문서를 추가한다.
|
|
90
|
+
|
|
91
|
+
## 0.1.0
|
|
92
|
+
|
|
93
|
+
- Iteration 0 package skeleton을 추가한다.
|
|
94
|
+
- 최소 public package info API를 제공한다.
|
package/README.md
ADDED
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
# @soddong/agentic-domain-artifact-standard
|
|
2
|
+
|
|
3
|
+
`@soddong/agentic-domain-artifact-standard`는 Agentic Platform의 산출물 표준 도메인 패키지입니다.
|
|
4
|
+
|
|
5
|
+
이 패키지는 산출물 유형별 `Artifact Standard`, 템플릿, 가이드, 예시, Document Blueprint, Blueprint Node, Template Slot, Component Binding, Block/Table Schema, Validation Rule 같은 재사용 가능한 산출물 작성 기준을 소유합니다.
|
|
6
|
+
|
|
7
|
+
## 용어 기준
|
|
8
|
+
|
|
9
|
+
`Artifact Standard`는 특정 산출물 유형을 작성, 검토, 검증하기 위한 복합 표준 단위입니다. 템플릿, 가이드, 예시, 문서 blueprint, blueprint node, template slot, component binding, block/table schema, validation rule, LLM 보충 지침을 하나의 표준으로 묶어 관리합니다.
|
|
10
|
+
|
|
11
|
+
`Package`라는 용어는 npm 배포 단위 또는 repository package를 의미할 때만 사용합니다. 도메인 개념에는 `Artifact Standard Package` 대신 `Artifact Standard`를 사용합니다.
|
|
12
|
+
|
|
13
|
+
현재 public API에는 호환성을 위해 `getArtifactStandardPackageInfo()`, `artifactStandardPackageCode` 같은 legacy alias도 남아 있습니다. 신규 사용자는 `getArtifactStandardInfo()`, `artifactStandardCode` 계열을 우선 사용합니다.
|
|
14
|
+
|
|
15
|
+
## Profile 용어 구분
|
|
16
|
+
|
|
17
|
+
`artifact-standard`에서 사용하는 profile 관련 용어는 다음처럼 구분합니다.
|
|
18
|
+
|
|
19
|
+
| 용어 | 소유/위치 | 의미 | 현재 상태 |
|
|
20
|
+
| --- | --- | --- | --- |
|
|
21
|
+
| `ArtifactStandardProfile` | `artifact-standard` 후보 모델 | 하나의 산출물 표준 안에서 복수 작성 모드나 tailoring variant를 별도 모델로 관리하는 개념 | 1차 핵심 모델에서 제외 |
|
|
22
|
+
| `DocumentImportProfile` | `@soddong/agentic-domain-document` contract | document importer가 산출물 표준의 blueprint, TOC, caption, table/figure/diagram 기준을 적용할 수 있게 받는 입력 profile | 제공/연계 |
|
|
23
|
+
| `ValidationProfile` | `@soddong/agentic-contract-validation` contract | validation rule bundle/provider profile | provider manifest로 export |
|
|
24
|
+
|
|
25
|
+
따라서 `artifact-standard`가 `DocumentImportProfile`과 validation provider profile을 제공한다고 해서 `ArtifactStandardProfile` DB 모델을 도입한 것은 아닙니다.
|
|
26
|
+
|
|
27
|
+
## 현재 범위
|
|
28
|
+
|
|
29
|
+
Iteration 0에서는 패키지 skeleton과 Continuous Publish/Delivery 기반을 제공했습니다. 현재는 1차 보강으로 `@soddong/agentic-domain-document`의 `DocumentImportProfile` contract와 정렬되는 profile provider, SQLite 기반 artifact-standard repository/service, Business Process Definition fixture, Information Object Definition fixture, validation provider manifest export, Generated Output Link, runtime seed apply handler를 제공합니다. 0.10.0에서는 후행 산출물 작성 context 검증을 위해 `information_object_definition@1.0.0` 표준 fixture를 추가했고, 0.10.1에서는 `ArtifactStandard` / `artifactStandardCode` 계열 호환 alias를 추가했습니다. 0.11.0에서는 AI-Agent SDLC seed의 `generatedOutputLinks` section을 artifact-standard DB에 적용할 수 있게 했습니다. Validator 실행 engine은 `@soddong/agentic-capability-validation` 책임이며, `artifact-standard`는 검증 기준을 contract-compatible manifest로 제공하는 데 집중합니다.
|
|
30
|
+
|
|
31
|
+
| 구분 | 상태 |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| 패키지 skeleton | 포함 |
|
|
34
|
+
| 기본 문서 | 포함 |
|
|
35
|
+
| build/typecheck | 포함 |
|
|
36
|
+
| 최소 public API | 포함 |
|
|
37
|
+
| Architecture Specification DocumentImportProfile fixture | 포함 |
|
|
38
|
+
| Blueprint node model | 포함 |
|
|
39
|
+
| Template slot model | 포함 |
|
|
40
|
+
| Component binding model | 포함 |
|
|
41
|
+
| Document component model | 포함 |
|
|
42
|
+
| Document component relation model | 포함 |
|
|
43
|
+
| Physical structure policy model | 포함 |
|
|
44
|
+
| Artifact Standard DB migration | 포함 |
|
|
45
|
+
| Repository/Service | 포함 |
|
|
46
|
+
| Aggregate 조회 API | 포함 |
|
|
47
|
+
| Business Process Definition fixture helper | 포함 |
|
|
48
|
+
| Information Object Definition fixture helper | 포함 |
|
|
49
|
+
| Aggregate 기반 DocumentImportProfile 생성 helper | 포함 |
|
|
50
|
+
| Generated Output Link model | 포함 |
|
|
51
|
+
| Runtime Seed Apply Handler | `generatedOutputLinks` section 처리 |
|
|
52
|
+
| Validation rule set contract export | 포함 |
|
|
53
|
+
| Validation contract code guard | 포함 |
|
|
54
|
+
| Validator 실행 engine | 제외: `@soddong/agentic-capability-validation` 책임 |
|
|
55
|
+
| Seed/Fixture | 포함 |
|
|
56
|
+
| Agent contribution | 후속 iteration |
|
|
57
|
+
| CLI | 1차 구현 제외 |
|
|
58
|
+
| Adapter | 1차 구현 제외 |
|
|
59
|
+
|
|
60
|
+
## 도메인 책임
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
@soddong/agentic-domain-artifact-standard
|
|
64
|
+
- Artifact Standard
|
|
65
|
+
- Artifact Type
|
|
66
|
+
- Concept Document reference
|
|
67
|
+
- Template Document reference
|
|
68
|
+
- Guide Document reference
|
|
69
|
+
- Example Document reference
|
|
70
|
+
- Component Binding
|
|
71
|
+
- Document Component
|
|
72
|
+
- Document Component Relation
|
|
73
|
+
- Physical Structure Policy
|
|
74
|
+
- Document Blueprint
|
|
75
|
+
- Blueprint Node
|
|
76
|
+
- Template Slot
|
|
77
|
+
- Block/Table Schema
|
|
78
|
+
- Validation Rule reference
|
|
79
|
+
- Generated Output Link
|
|
80
|
+
- Input/Output Contract
|
|
81
|
+
- Handoff Criteria
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## 제외 범위
|
|
85
|
+
|
|
86
|
+
| 제외 항목 | 담당 후보 |
|
|
87
|
+
| --- | --- |
|
|
88
|
+
| 실제 산출물 instance | `@soddong/agentic-domain-artifact` |
|
|
89
|
+
| Document 저장 구조 | `@soddong/agentic-domain-document` |
|
|
90
|
+
| Methodology Activity/Stage 요구 관계 | `@soddong/agentic-domain-methodology` |
|
|
91
|
+
| Validation contract | `@soddong/agentic-contract-validation` |
|
|
92
|
+
| 검증 실행 엔진 | `@soddong/agentic-capability-validation` |
|
|
93
|
+
| Render 실행 | `@soddong/agentic-capability-render` |
|
|
94
|
+
|
|
95
|
+
## 기본 API 예시
|
|
96
|
+
|
|
97
|
+
현재 API는 이전 호환성을 유지합니다. 도메인 용어 기준은 `Artifact Standard`이며, 신규 호출은 `artifactStandardCode`를 사용합니다.
|
|
98
|
+
|
|
99
|
+
```ts
|
|
100
|
+
import {
|
|
101
|
+
createDocumentImportProfileFromArtifactStandardAggregate,
|
|
102
|
+
getArtifactStandardDocumentProfile,
|
|
103
|
+
getArtifactStandardInfo
|
|
104
|
+
} from "@soddong/agentic-domain-artifact-standard";
|
|
105
|
+
|
|
106
|
+
console.log(getArtifactStandardInfo());
|
|
107
|
+
|
|
108
|
+
const profile = getArtifactStandardDocumentProfile({
|
|
109
|
+
artifactStandardCode: "architecture_specification"
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
console.log(profile.profileCode);
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Document Profile Provider
|
|
116
|
+
|
|
117
|
+
`@soddong/agentic-domain-artifact-standard`는 document DB를 직접 조작하지 않습니다. 산출물 표준 관점에서 문서 유형별 profile을 제공하고, consumer 또는 integration layer가 이 profile을 `@soddong/agentic-domain-document` importer에 전달합니다.
|
|
118
|
+
|
|
119
|
+
```text
|
|
120
|
+
artifact-standard
|
|
121
|
+
-> getArtifactStandardDocumentProfile()
|
|
122
|
+
-> DocumentImportProfile
|
|
123
|
+
-> document importer
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
`getArtifactStandardDocumentProfile()`은 호환성을 위해 유지되는 legacy fixture provider입니다. 신규 산출물 표준은 DB aggregate에서 document profile을 도출하는 방식을 우선 사용합니다.
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
const aggregate = service.getArtifactStandardAggregateByCodeVersion(
|
|
130
|
+
"business_process_definition",
|
|
131
|
+
"1.0.0"
|
|
132
|
+
);
|
|
133
|
+
|
|
134
|
+
if (aggregate !== undefined) {
|
|
135
|
+
const profile = createDocumentImportProfileFromArtifactStandardAggregate(aggregate);
|
|
136
|
+
console.log(profile.profileCode);
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
현재 legacy fixture로 제공되는 profile은 `architecture_specification@1.0.0`입니다.
|
|
141
|
+
|
|
142
|
+
| 항목 | 값 |
|
|
143
|
+
| --- | --- |
|
|
144
|
+
| profile code | `architecture_specification` |
|
|
145
|
+
| document type | `architecture_specification` |
|
|
146
|
+
| taxonomy code | `architecture_specification` |
|
|
147
|
+
| TOC level limit | `4` |
|
|
148
|
+
| caption policy | `표`, `Table`, `그림`, `Figure` caption binding |
|
|
149
|
+
| table/figure caption | required policy |
|
|
150
|
+
|
|
151
|
+
## SQLite Repository / Service
|
|
152
|
+
|
|
153
|
+
`@soddong/agentic-domain-artifact-standard`는 SQLite에서 `artifact_standard_` prefix table을 사용합니다.
|
|
154
|
+
|
|
155
|
+
```ts
|
|
156
|
+
import {
|
|
157
|
+
ArtifactStandardService,
|
|
158
|
+
openArtifactStandardDatabase
|
|
159
|
+
} from "@soddong/agentic-domain-artifact-standard";
|
|
160
|
+
|
|
161
|
+
const db = openArtifactStandardDatabase();
|
|
162
|
+
const service = new ArtifactStandardService(db);
|
|
163
|
+
|
|
164
|
+
const standard = service.createArtifactStandard({
|
|
165
|
+
artifactStandardCode: "business_process_definition",
|
|
166
|
+
artifactStandardVersion: "1.0.0",
|
|
167
|
+
artifactStandardName: "Business Process Definition"
|
|
168
|
+
});
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Validation rule set은 `@soddong/agentic-contract-validation`과 정렬되는 provider manifest로 export할 수 있습니다.
|
|
172
|
+
|
|
173
|
+
```ts
|
|
174
|
+
const manifest = service.exportValidationProviderManifest(standard.artifactStandardId);
|
|
175
|
+
console.log(manifest.profiles);
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
여러 하위 구성을 한 번에 조회해야 하면 aggregate API를 사용합니다.
|
|
179
|
+
|
|
180
|
+
```ts
|
|
181
|
+
const aggregate = service.getArtifactStandardAggregateByCodeVersion(
|
|
182
|
+
"business_process_definition",
|
|
183
|
+
"1.0.0"
|
|
184
|
+
);
|
|
185
|
+
|
|
186
|
+
console.log(aggregate?.components);
|
|
187
|
+
console.log(aggregate?.componentBindings);
|
|
188
|
+
console.log(aggregate?.blueprints[0]?.blueprintNodes);
|
|
189
|
+
console.log(aggregate?.blueprints[0]?.templateSlots);
|
|
190
|
+
console.log(aggregate?.documentComponents);
|
|
191
|
+
console.log(aggregate?.documentComponentRelations);
|
|
192
|
+
console.log(aggregate?.physicalStructurePolicies);
|
|
193
|
+
console.log(aggregate?.tableSchemas[0]?.columns);
|
|
194
|
+
console.log(aggregate?.validationRuleSets[0]?.rules);
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Generated Output Link
|
|
198
|
+
|
|
199
|
+
Generated Output Link는 산출물 표준을 기준으로 후속 산출물 또는 코드/파일 같은 생성 출력물을 만들 수 있다는 관계를 정의합니다.
|
|
200
|
+
|
|
201
|
+
예를 들어 AI-Agent SDLC Build Planning seed에서는 다음 관계를 표현합니다.
|
|
202
|
+
|
|
203
|
+
```text
|
|
204
|
+
컴포넌트 모듈 구조 정의서
|
|
205
|
+
-> 컴포넌트 모듈 구조 설계서
|
|
206
|
+
|
|
207
|
+
컴포넌트 모듈 구조 설계서
|
|
208
|
+
-> 컴포넌트, 서브컴포넌트, 비즈니스 모듈 생성
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
첫 번째는 target이 다른 Artifact Standard이고, 두 번째는 target이 산출물 문서가 아니라 생성 출력물입니다.
|
|
212
|
+
|
|
213
|
+
```ts
|
|
214
|
+
const source = service.createArtifactStandard({
|
|
215
|
+
artifactStandardCode: "component_module_structure_design",
|
|
216
|
+
artifactStandardVersion: "1.0.0",
|
|
217
|
+
artifactStandardName: "컴포넌트 모듈 구조 설계서"
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
service.addGeneratedOutputLink({
|
|
221
|
+
linkCode: "gen_module_structure_design_to_modules",
|
|
222
|
+
sourceArtifactStandardId: source.artifactStandardId,
|
|
223
|
+
sourceArtifactStandardCode: source.artifactStandardCode,
|
|
224
|
+
sourceArtifactStandardVersion: source.artifactStandardVersion,
|
|
225
|
+
targetTypeCode: "GENERATED_OUTPUT",
|
|
226
|
+
targetOutputName: "컴포넌트, 서브컴포넌트, 비즈니스 모듈 생성",
|
|
227
|
+
generationModeCode: "AUTOMATIC",
|
|
228
|
+
sortOrder: 20
|
|
229
|
+
});
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
`applyAgenticSeed()`는 `@soddong/agentic-runtime seed apply`에서 `generatedOutputLinks` section을 전달받아 이 모델에 저장합니다. seed에 등장한 source 또는 target artifact standard의 상세 구조가 아직 없으면 최소 stub standard를 생성하고, 원본 seed payload는 metadata에 보존합니다.
|
|
233
|
+
|
|
234
|
+
## Document Component와 Physical Structure Policy
|
|
235
|
+
|
|
236
|
+
`DocumentComponent`는 산출물 표준에서 본문, 부록, 보조자료 같은 문서 구성 단위를 정의합니다. 이는 guide, format, example 같은 resource component와 다릅니다.
|
|
237
|
+
|
|
238
|
+
`DocumentComponent.blueprintId`는 해당 component가 따라야 하는 document structure 기준을 가리킵니다. 본문과 부록이 같은 문서 저장 모델을 사용하더라도, 실제 목차와 필수 block 구조는 component별 blueprint로 다르게 정의할 수 있습니다.
|
|
239
|
+
|
|
240
|
+
예를 들어 Business Process Definition은 다음처럼 논리적으로 계층화할 수 있습니다.
|
|
241
|
+
|
|
242
|
+
```text
|
|
243
|
+
main_document
|
|
244
|
+
appendix_l3_process
|
|
245
|
+
appendix_scenario
|
|
246
|
+
appendix_l4_detail
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Business Process Definition fixture는 다음처럼 component별 blueprint를 분리합니다.
|
|
250
|
+
|
|
251
|
+
| document component | blueprint |
|
|
252
|
+
| --- | --- |
|
|
253
|
+
| `main_document` | `main_document` |
|
|
254
|
+
| `appendix_l3_process` | `l3_process_appendix` |
|
|
255
|
+
| `appendix_scenario` | `scenario_appendix` |
|
|
256
|
+
| `appendix_l4_detail` | `l4_detail_appendix` |
|
|
257
|
+
|
|
258
|
+
이 논리 구조는 `parentDocumentComponentId`와 `DocumentComponentRelation`으로 관리합니다. 반면 실제 파일 위치는 `PhysicalStructurePolicy`가 결정합니다.
|
|
259
|
+
|
|
260
|
+
```ts
|
|
261
|
+
const main = service.addDocumentComponent({
|
|
262
|
+
artifactStandardId: standard.artifactStandardId,
|
|
263
|
+
documentComponentCode: "main_document",
|
|
264
|
+
documentComponentName: "Business Process Definition Main Document",
|
|
265
|
+
componentRoleCode: "MAIN",
|
|
266
|
+
componentTypeCode: "MAIN_DOCUMENT",
|
|
267
|
+
logicalLevel: 0
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
const appendix = service.addDocumentComponent({
|
|
271
|
+
artifactStandardId: standard.artifactStandardId,
|
|
272
|
+
parentDocumentComponentId: main.documentComponentId,
|
|
273
|
+
documentComponentCode: "appendix_l3_process",
|
|
274
|
+
documentComponentName: "L3 Process Appendix",
|
|
275
|
+
componentRoleCode: "APPENDIX",
|
|
276
|
+
componentTypeCode: "L3_PROCESS_APPENDIX",
|
|
277
|
+
logicalLevel: 1,
|
|
278
|
+
isRepeatable: true
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
service.addDocumentComponentRelation({
|
|
282
|
+
artifactStandardId: standard.artifactStandardId,
|
|
283
|
+
sourceDocumentComponentId: main.documentComponentId,
|
|
284
|
+
targetDocumentComponentId: appendix.documentComponentId,
|
|
285
|
+
relationTypeCode: "CONTAINS",
|
|
286
|
+
isRequired: true
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
service.addPhysicalStructurePolicy({
|
|
290
|
+
artifactStandardId: standard.artifactStandardId,
|
|
291
|
+
policyCode: "grouped_by_parent",
|
|
292
|
+
policyName: "Group Appendix Documents By Parent Component",
|
|
293
|
+
strategyCode: "GROUPED_BY_PARENT",
|
|
294
|
+
relationSourceCode: "DB",
|
|
295
|
+
pathPattern: "business-process-definition/{parentComponentCode}/{documentComponentCode}.md",
|
|
296
|
+
isDefault: true
|
|
297
|
+
});
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
이 구조의 목적은 논리 구조는 계층으로 유지하되, 물리 구조는 표준 정의에 따라 계층형 폴더, level별 그룹, parent별 그룹, manifest 기반 단일 폴더 중 선택할 수 있게 하는 것입니다.
|
|
301
|
+
|
|
302
|
+
## Methodology 연결 기준
|
|
303
|
+
|
|
304
|
+
`artifact-standard`는 산출물 내부 구조를 정의하고, `methodology`는 어떤 Stage/Activity에서 어떤 산출물 표준과 document component를 입력/출력으로 요구하는지 정의합니다.
|
|
305
|
+
|
|
306
|
+
비즈니스 프로세스 정의서 예시는 다음 기준으로 해석합니다.
|
|
307
|
+
|
|
308
|
+
```text
|
|
309
|
+
Planning Phase
|
|
310
|
+
- 컴포넌트 비즈니스 프로세스 정의 Stage
|
|
311
|
+
- 비즈니스 프로세스 정의서 본문 작성 Activity
|
|
312
|
+
- L3 프로세스 부록 작성 Activity
|
|
313
|
+
- 시나리오 부록 작성 Activity
|
|
314
|
+
- L4 상세 부록 작성 Activity
|
|
315
|
+
- 본문/부록 종합 및 정제 Activity
|
|
316
|
+
- 컴포넌트 정보 객체 정의 Stage
|
|
317
|
+
- 선행 비즈니스 프로세스 정의서 묶음을 handoff 입력으로 사용
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
작성 절차의 세부 작업은 `Step`으로 볼 수 있지만, 현재 MVP에서는 Step 실행까지 시스템화하지 않습니다. Stage 안에서 산출물 또는 document component 단위 산출물을 생산해야 하면 Activity output으로 표현하고, 실제 산출물 instance와 ADoc document 연결은 `@soddong/agentic-domain-artifact`와 `@soddong/agentic-domain-document` 조립 책임으로 둡니다.
|
|
321
|
+
|
|
322
|
+
Component binding은 guide, example, LLM supplement 같은 component를 특정 구조 요소에 연결합니다.
|
|
323
|
+
|
|
324
|
+
```ts
|
|
325
|
+
const bindings = service.listComponentBindingsByTarget(
|
|
326
|
+
aggregate.standard.artifactStandardId,
|
|
327
|
+
"TABLE_SCHEMA",
|
|
328
|
+
"l4_processes"
|
|
329
|
+
);
|
|
330
|
+
|
|
331
|
+
console.log(bindings[0]?.bindingRoleCode);
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
Validation rule set rule의 `validationTypeCode`, `executionModeCode`, `severityCode`는 `@soddong/agentic-contract-validation`의 code guard로 검증됩니다.
|
|
335
|
+
|
|
336
|
+
`appliesToTypeCode`는 `@soddong/agentic-contract-validation`에서는 domain-neutral string이지만, `artifact-standard`는 자기 domain target type을 별도로 관리합니다.
|
|
337
|
+
|
|
338
|
+
1차 validation target type 후보:
|
|
339
|
+
|
|
340
|
+
```text
|
|
341
|
+
ARTIFACT_STANDARD
|
|
342
|
+
DOCUMENT_BLUEPRINT
|
|
343
|
+
BLUEPRINT_NODE
|
|
344
|
+
TEMPLATE_SLOT
|
|
345
|
+
TABLE_SCHEMA
|
|
346
|
+
TABLE_COLUMN_SCHEMA
|
|
347
|
+
FIGURE_POLICY
|
|
348
|
+
DIAGRAM_POLICY
|
|
349
|
+
COMPONENT
|
|
350
|
+
COMPONENT_BINDING
|
|
351
|
+
VALIDATION_RULE_SET
|
|
352
|
+
DOCUMENT_COMPONENT
|
|
353
|
+
DOCUMENT_COMPONENT_RELATION
|
|
354
|
+
PHYSICAL_STRUCTURE_POLICY
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
대표 parameter convention:
|
|
358
|
+
|
|
359
|
+
```json
|
|
360
|
+
{
|
|
361
|
+
"requiredColumns": ["sequence_no", "process_id"],
|
|
362
|
+
"requiredBindingRoleCodes": ["PRIMARY_GUIDE"]
|
|
363
|
+
}
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
예를 들어 `TABLE_SCHEMA:l4_processes`에 `PRIMARY_GUIDE` binding이 필요한지는 다음 rule로 표현합니다.
|
|
367
|
+
|
|
368
|
+
```text
|
|
369
|
+
ruleId: ARTIFACT_STANDARD.COMPONENT_BINDING.REQUIRED_ROLE
|
|
370
|
+
appliesToTypeCode: TABLE_SCHEMA
|
|
371
|
+
appliesToRef: l4_processes
|
|
372
|
+
parameters.requiredBindingRoleCodes: [PRIMARY_GUIDE]
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
## Fixture Helper
|
|
376
|
+
|
|
377
|
+
사용성 테스트와 integration test를 위해 축소 fixture helper를 제공합니다.
|
|
378
|
+
|
|
379
|
+
```ts
|
|
380
|
+
import { seedBusinessProcessDefinitionArtifactStandard } from "@soddong/agentic-domain-artifact-standard";
|
|
381
|
+
|
|
382
|
+
const fixture = seedBusinessProcessDefinitionArtifactStandard(service);
|
|
383
|
+
console.log(fixture.aggregate.standard.artifactStandardCode);
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
fixture는 실제 참조 데이터 이행이 아니라 대표 사용 사례 검증용 축소 샘플입니다.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import Database from "better-sqlite3";
|
|
2
|
+
import type { ArtifactStandardDatabaseInitResult, ArtifactStandardDatabaseOptions } from "./types.js";
|
|
3
|
+
export declare function resolveArtifactStandardDatabasePath(options?: ArtifactStandardDatabaseOptions): string;
|
|
4
|
+
export declare function listArtifactStandardTables(db: Database.Database): string[];
|
|
5
|
+
export declare function applyArtifactStandardBaseMigration(db: Database.Database): void;
|
|
6
|
+
export declare function openArtifactStandardDatabase(options?: ArtifactStandardDatabaseOptions): Database.Database;
|
|
7
|
+
export declare function initializeArtifactStandardDatabase(options?: ArtifactStandardDatabaseOptions): ArtifactStandardDatabaseInitResult;
|
|
8
|
+
//# sourceMappingURL=database.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,OAAO,KAAK,EAAE,kCAAkC,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAuBtG,wBAAgB,mCAAmC,CAAC,OAAO,GAAE,+BAAoC,GAAG,MAAM,CAiBzG;AAOD,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,EAAE,CAY1E;AAED,wBAAgB,kCAAkC,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAE9E;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,+BAAoC,GAC5C,QAAQ,CAAC,QAAQ,CAkBnB;AAED,wBAAgB,kCAAkC,CAChD,OAAO,GAAE,+BAAoC,GAC5C,kCAAkC,CAcpC"}
|
package/dist/database.js
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import Database from "better-sqlite3";
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync } from "node:fs";
|
|
3
|
+
import { dirname, isAbsolute, join } from "node:path";
|
|
4
|
+
const DEFAULT_DATABASE_PATH = ".agentic/platform.sqlite";
|
|
5
|
+
function readProjectConfig(projectRoot) {
|
|
6
|
+
const configPath = join(projectRoot, "agentic.config.json");
|
|
7
|
+
if (!existsSync(configPath)) {
|
|
8
|
+
return {};
|
|
9
|
+
}
|
|
10
|
+
return JSON.parse(readFileSync(configPath, "utf8"));
|
|
11
|
+
}
|
|
12
|
+
export function resolveArtifactStandardDatabasePath(options = {}) {
|
|
13
|
+
if (options.databasePath !== undefined) {
|
|
14
|
+
return isAbsolute(options.databasePath)
|
|
15
|
+
? options.databasePath
|
|
16
|
+
: join(options.projectRoot ?? process.cwd(), options.databasePath);
|
|
17
|
+
}
|
|
18
|
+
const projectRoot = options.projectRoot ?? process.cwd();
|
|
19
|
+
const config = readProjectConfig(projectRoot);
|
|
20
|
+
const database = config.runtime?.database;
|
|
21
|
+
if (database?.type !== undefined && database.type !== "sqlite") {
|
|
22
|
+
throw new Error(`Unsupported artifact-standard database type: ${database.type}`);
|
|
23
|
+
}
|
|
24
|
+
const configuredPath = database?.path ?? DEFAULT_DATABASE_PATH;
|
|
25
|
+
return isAbsolute(configuredPath) ? configuredPath : join(projectRoot, configuredPath);
|
|
26
|
+
}
|
|
27
|
+
function readArtifactStandardBaseMigration() {
|
|
28
|
+
const migrationUrl = new URL("../src/database/migrations/0001_artifact_standard_base.sql", import.meta.url);
|
|
29
|
+
return readFileSync(migrationUrl, "utf8");
|
|
30
|
+
}
|
|
31
|
+
export function listArtifactStandardTables(db) {
|
|
32
|
+
const rows = db
|
|
33
|
+
.prepare(`SELECT name
|
|
34
|
+
FROM sqlite_master
|
|
35
|
+
WHERE type = 'table'
|
|
36
|
+
AND name LIKE 'artifact_standard_%'
|
|
37
|
+
ORDER BY name`)
|
|
38
|
+
.all();
|
|
39
|
+
return rows.map((row) => row.name);
|
|
40
|
+
}
|
|
41
|
+
export function applyArtifactStandardBaseMigration(db) {
|
|
42
|
+
db.exec(readArtifactStandardBaseMigration());
|
|
43
|
+
}
|
|
44
|
+
export function openArtifactStandardDatabase(options = {}) {
|
|
45
|
+
const databasePath = resolveArtifactStandardDatabasePath(options);
|
|
46
|
+
mkdirSync(dirname(databasePath), { recursive: true });
|
|
47
|
+
const db = new Database(databasePath);
|
|
48
|
+
try {
|
|
49
|
+
db.pragma("journal_mode = WAL");
|
|
50
|
+
db.pragma("foreign_keys = ON");
|
|
51
|
+
if (options.applyMigration !== false) {
|
|
52
|
+
applyArtifactStandardBaseMigration(db);
|
|
53
|
+
}
|
|
54
|
+
return db;
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
db.close();
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function initializeArtifactStandardDatabase(options = {}) {
|
|
62
|
+
const databasePath = resolveArtifactStandardDatabasePath(options);
|
|
63
|
+
const created = !existsSync(databasePath);
|
|
64
|
+
const db = openArtifactStandardDatabase(options);
|
|
65
|
+
try {
|
|
66
|
+
return {
|
|
67
|
+
databasePath,
|
|
68
|
+
created,
|
|
69
|
+
tables: listArtifactStandardTables(db)
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
db.close();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=database.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ArtifactStandardService } from "./service.js";
|
|
2
|
+
import type { ArtifactStandardAggregate } from "./types.js";
|
|
3
|
+
export interface BusinessProcessDefinitionFixtureResult {
|
|
4
|
+
readonly aggregate: ArtifactStandardAggregate;
|
|
5
|
+
}
|
|
6
|
+
export interface InformationObjectDefinitionFixtureResult {
|
|
7
|
+
readonly aggregate: ArtifactStandardAggregate;
|
|
8
|
+
}
|
|
9
|
+
export declare function seedBusinessProcessDefinitionArtifactStandard(service: ArtifactStandardService): BusinessProcessDefinitionFixtureResult;
|
|
10
|
+
export declare function seedInformationObjectDefinitionArtifactStandard(service: ArtifactStandardService): InformationObjectDefinitionFixtureResult;
|
|
11
|
+
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;CAC/C;AAED,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;CAC/C;AAED,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,uBAAuB,GAC/B,sCAAsC,CAkZxC;AAED,wBAAgB,+CAA+C,CAC7D,OAAO,EAAE,uBAAuB,GAC/B,wCAAwC,CAsM1C"}
|