{"_id":"@agentplatform/agentic-domain-artifact","name":"@agentplatform/agentic-domain-artifact","dist-tags":{"latest":"0.7.0"},"versions":{"0.7.0":{"name":"@agentplatform/agentic-domain-artifact","version":"0.7.0","description":"Agentic Platform artifact instance domain package","license":"UNLICENSED","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit"},"dependencies":{"better-sqlite3":"^12.11.1"},"devDependencies":{"@types/better-sqlite3":"^7.6.13"},"publishConfig":{"access":"public"},"gitHead":"3208ab11c20a8fc085dc9c05fc8aecf55ff5cf6e","_id":"@agentplatform/agentic-domain-artifact@0.7.0","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-EEEDaLCIxYUxDxGtroILE0Nxqz+1dRhVRPUrm3x4CIsb4g4RBeLsUs27GK+eqZG8ZcqWU4SE3zSnfcWIA8/XCA==","shasum":"17a0b634d79267c5f15cab003ecf5f78949d062b","tarball":"https://registry.npmjs.org/@agentplatform/agentic-domain-artifact/-/agentic-domain-artifact-0.7.0.tgz","fileCount":63,"unpackedSize":396725,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDcJLtLLDJPphnqVXuZQJ/sLco48No7zIQIxjeGz5UXeAIhAK8nJzMvvx4CgM4XreqP4qp7xdonQSwbi73fCLnF/gKB"}]},"_npmUser":{"name":"soddong","email":"gus9300@naver.com"},"directories":{},"maintainers":[{"name":"dabonee","email":"jdbc4497@gmail.com"},{"name":"soddong","email":"gus9300@naver.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agentic-domain-artifact_0.7.0_1782699170756_0.5668409842136863"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-29T02:12:50.571Z","0.7.0":"2026-06-29T02:12:50.904Z","modified":"2026-06-29T02:12:51.135Z"},"maintainers":[{"name":"dabonee","email":"jdbc4497@gmail.com"},{"name":"soddong","email":"gus9300@naver.com"}],"description":"Agentic Platform artifact instance domain package","license":"UNLICENSED","readme":"# agentic-domain-artifact\n\n`agentic-domain-artifact`는 Agentic Platform의 실제 산출물 instance 도메인 패키지입니다.\n\n이 패키지는 산출물 표준을 기반으로 실행 프로젝트에서 생성되는 산출물 instance, component instance, document/file/resource 연결, trace 관계, validation result reference, review decision reference를 소유합니다.\n\n## 현재 범위\n\nIteration 0에서는 패키지 skeleton과 Continuous Publish/Delivery 기반을 제공했습니다. 현재는 0.7.0 기준으로 SQLite schema, repository/service, Business Process Definition fixture, Handoff resolve API, review decision reference, lifecycle status event, Activity output 기반 artifact 조립 helper, document binding helper, sampleExecution seed apply handler, schema generated docs를 제공합니다.\n\n| 구분 | 상태 |\n| --- | --- |\n| 패키지 skeleton | 포함 |\n| 기본 문서 | 포함 |\n| build/typecheck | 포함 |\n| 최소 public API | 포함 |\n| Artifact DB migration | 포함 |\n| Repository/Service | 포함 |\n| Handoff resolve API | Handoff 계약에 필요한 artifact instance/component/resource/result ref 해석 포함 |\n| Review decision reference | 검토/승인 결정 외부 참조 포함 |\n| Lifecycle transition | artifact instance 상태 전이와 status event 이력 포함 |\n| Activity output assembly | methodology Activity output DTO 기반 artifact/component/resource/trace 생성 helper 포함 |\n| Document binding helper | ADoc documentId를 component primary DOCUMENT_ID resource로 연결하는 helper 포함 |\n| Seed apply handler | `sampleExecution` placeholder artifact 등록 포함 |\n| Fixture | Business Process Definition 예시 포함 |\n| Validator | 후속 iteration |\n| Agent contribution | 후속 iteration |\n| CLI | 1차 구현 제외 |\n| Adapter | 1차 구현 제외 |\n\n## 도메인 책임\n\n```text\nagentic-domain-artifact\n  - Artifact Instance\n  - Artifact Component Instance\n  - Artifact Resource Link\n  - Artifact Trace Link\n  - Artifact Validation Result Reference\n  - Artifact Review Decision Reference\n  - Artifact Status Event\n  - Artifact status\n  - Artifact document binding\n  - Artifact review/approval lifecycle\n  - Artifact trace\n  - Artifact output metadata\n  - Sample execution placeholder\n```\n\n## 제외 범위\n\n| 제외 항목 | 담당 후보 |\n| --- | --- |\n| 산출물 표준 정의 | `agentic-domain-artifact-standard` |\n| Document 저장 구조 | `agentic-domain-document` |\n| Methodology Activity/Stage 요구 관계 | `agentic-domain-methodology` |\n| 검증 실행 엔진 | `agentic-capability-validation` |\n| Render 실행 | `agentic-capability-render` |\n\n## 기본 API 예시\n\n```ts\nimport {\n  ArtifactService,\n  initializeArtifactDatabase,\n  openArtifactDatabase,\n  getArtifactPackageInfo\n} from \"agentic-domain-artifact\";\n\nconsole.log(getArtifactPackageInfo());\n\nconst init = initializeArtifactDatabase({ projectRoot: process.cwd() });\nconsole.log(init.tables);\n\nconst db = openArtifactDatabase({ projectRoot: process.cwd() });\nconst service = new ArtifactService(db);\n\nconst artifact = service.createArtifactInstance({\n  artifactCode: \"component-a-business-process-definition\",\n  artifactName: \"A컴포넌트 비즈니스 프로세스 정의서\",\n  artifactStandardCode: \"business_process_definition\",\n  artifactStandardVersion: \"1.0.0\"\n});\n\nconst appendix = service.addArtifactComponentInstance({\n  artifactInstanceId: artifact.artifactInstanceId,\n  artifactComponentCode: \"appendix_l3_process\",\n  artifactComponentRoleCode: \"APPENDIX\",\n  componentInstanceName: \"A컴포넌트 L3 프로세스 부록\"\n});\n\nservice.addArtifactResourceLink({\n  artifactInstanceId: artifact.artifactInstanceId,\n  artifactComponentInstanceId: appendix.artifactComponentInstanceId,\n  resourceTypeCode: \"DOCUMENT_ID\",\n  resourceRef: \"adoc-document-id-for-appendix-l3-process\",\n  isPrimary: true\n});\n\nservice.addArtifactReviewDecisionRef({\n  artifactInstanceId: artifact.artifactInstanceId,\n  reviewScopeCode: \"artifact_instance\",\n  decisionCode: \"approved\",\n  reviewerRef: \"user://reviewer\",\n  decisionReason: \"후행 Stage 전달을 승인한다.\",\n  decisionResultRef: \"execution://review/component-a-business-process-definition/0.1.0\"\n});\n\nconst aggregate = service.getArtifactAggregate(artifact.artifactInstanceId);\nconsole.log(aggregate.components);\n\ndb.close();\n```\n\n## Activity Output 기반 조립 예시\n\n`artifact`는 `methodology` 패키지를 직접 의존하지 않습니다. runtime/application layer가 methodology Activity output을 중립 DTO로 변환해 전달하면, `artifact`는 실제 artifact instance, component instance, resource link, trace link를 생성합니다.\n\n```ts\nconst created = service.createArtifactInstanceFromActivityOutputs({\n  artifact: {\n    artifactCode: \"component-a-business-process-definition\",\n    artifactName: \"A컴포넌트 비즈니스 프로세스 정의서\",\n    artifactStandardCode: \"business_process_definition\",\n    artifactStandardVersion: \"1.0.0\"\n  },\n  activityOutputs: [\n    {\n      sourceRefId: \"methodology-activity-output-main\",\n      artifactComponentCode: \"main_document\",\n      artifactComponentRoleCode: \"MAIN\",\n      componentInstanceName: \"본문\",\n      resource: {\n        resourceTypeCode: \"DOCUMENT_ID\",\n        resourceRef: \"adoc-document-id-main\",\n        isPrimary: true\n      }\n    },\n    {\n      sourceRefId: \"methodology-activity-output-l3\",\n      artifactComponentCode: \"appendix_l3_process\",\n      artifactComponentRoleCode: \"APPENDIX\",\n      componentInstanceName: \"L3 프로세스 부록\",\n      resource: {\n        resourceTypeCode: \"DOCUMENT_ID\",\n        resourceRef: \"adoc-document-id-l3\",\n        isPrimary: true\n      }\n    }\n  ]\n});\n\nconsole.log(created.aggregate.components);\nconsole.log(created.aggregate.traceLinks);\n```\n\n기존 component에 ADoc document를 나중에 연결해야 하는 경우에는 `bindDocumentToArtifactComponent()`를 사용합니다.\n\n```ts\nservice.bindDocumentToArtifactComponent({\n  artifactInstanceId: created.artifact.artifactInstanceId,\n  artifactComponentInstanceId: created.components[0].artifactComponentInstanceId,\n  documentId: \"adoc-document-id-main\",\n  metadata: {\n    documentProfileCode: \"business_process_definition.main_document\"\n  }\n});\n```\n\n## Handoff Resolve API 예시\n\n`artifact`는 `methodology`가 정의한 Handoff Requirement 자체를 소유하지 않습니다. 대신 runtime/application 계층이 Handoff Requirement에서 필요한 값을 중립 DTO로 변환해 전달하면, `artifact`는 실제 artifact instance, component instance, resource link, validation result reference, review decision reference를 해석합니다.\n\n```ts\nconst handoff = service.resolveArtifactHandoff({\n  artifactStandardCode: \"business_process_definition\",\n  artifactStandardVersion: \"1.0.0\",\n  requiredComponentCodes: [\n    \"main_document\",\n    \"appendix_l3_process\",\n    \"appendix_scenario\",\n    \"appendix_l4_detail\"\n  ],\n  requiredResultRefs: [\n    \"validation_result\",\n    \"review_decision\"\n  ],\n  requiredResourceTypeCode: \"DOCUMENT_ID\"\n});\n\nif (!handoff.resolved) {\n  console.log(handoff.missing);\n}\n```\n\n이 API는 document 본문을 조회하지 않습니다. 반환된 `DOCUMENT_ID` resource는 `agentic-domain-document`의 reader/service가 해석합니다.\n\n## Sample Execution Seed Apply 예시\n\nAI-Agent SDLC seed bundle의 `sampleExecution`은 실제 산출물 본문이 아니라 seed 적용 가능성을 검증하는 최소 실행 placeholder입니다. `artifact`는 이를 `sample_execution` 표준을 가진 artifact instance로 등록하고, 방법론/프로세스/프로젝트 참조를 trace link로 보존합니다.\n\n```ts\nimport { applyAgenticSeed } from \"agentic-domain-artifact\";\n\nawait applyAgenticSeed({\n  sourcePackageName: \"agentic-methodology-ai-agent-sdlc\",\n  sourcePackageVersion: \"0.2.0\",\n  bundleCode: \"ai-agent-sdlc-build-planning\",\n  bundleVersion: \"0.2.0\",\n  methodologyCode: \"ai_agent_sdlc\",\n  sourceSection: \"sampleExecution\",\n  targetOperation: \"prepare_sample_execution\",\n  itemKey: \"ai_agent_sdlc_build_planning_minimal_sample\",\n  mode: \"apply\",\n  itemPayload: {\n    sampleCode: \"ai_agent_sdlc_build_planning_minimal_sample\",\n    methodologyCode: \"ai_agent_sdlc\",\n    lifecycleCode: \"incremental_build_lifecycle\",\n    phaseCode: \"build_planning_phase\",\n    processCode: \"build_planning_process\",\n    projectCode: \"sample-ai-agent-sdlc-build-planning-project\"\n  }\n});\n```\n\n## 모듈 경계\n\n`artifact`는 실제 산출물 instance를 관리합니다. 산출물 표준의 본문/부록 구조는 `artifact-standard`가 정의하고, 실제 document 본문 저장은 `document`가 담당합니다.\n\n```text\nartifact-standard\n  business_process_definition@1.0.0\n    DocumentComponent: appendix_l3_process\n\nmethodology\n  Activity output:\n    artifactStandardCode: business_process_definition\n    artifactComponentCode: appendix_l3_process\n\nartifact\n  ArtifactInstance:\n    component-a-business-process-definition@0.1.0\n  ArtifactComponentInstance:\n    main_document\n    appendix_l3_process\n    appendix_scenario\n    appendix_l4_detail\n  ArtifactResourceLink:\n    DOCUMENT_ID adoc-document-id-for-each-component\n  ArtifactTraceLink:\n    produced_by methodology_activity_artifact_requirement\n```\n\n최신 조립 기준에서는 하나의 Stage 안에서 산출물 구성 요소별 Activity output을 생성하고, `artifact`가 각 output에 대응하는 component instance, `DOCUMENT_ID` resource link, trace link를 관리합니다.\n","readmeFilename":"README.md","_rev":"1-281e629d67aa9a92d7ba4c100e98c963"}