@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.
Files changed (63) hide show
  1. package/.tbls.yml +46 -0
  2. package/CHANGELOG.md +53 -0
  3. package/README.md +254 -0
  4. package/dist/database.d.ts +8 -0
  5. package/dist/database.d.ts.map +1 -0
  6. package/dist/database.js +76 -0
  7. package/dist/database.js.map +1 -0
  8. package/dist/fixtures.d.ts +7 -0
  9. package/dist/fixtures.d.ts.map +1 -0
  10. package/dist/fixtures.js +88 -0
  11. package/dist/fixtures.js.map +1 -0
  12. package/dist/index.d.ts +26 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +18 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/repositories.d.ts +29 -0
  17. package/dist/repositories.d.ts.map +1 -0
  18. package/dist/repositories.js +305 -0
  19. package/dist/repositories.js.map +1 -0
  20. package/dist/seed-apply.d.ts +22 -0
  21. package/dist/seed-apply.d.ts.map +1 -0
  22. package/dist/seed-apply.js +150 -0
  23. package/dist/seed-apply.js.map +1 -0
  24. package/dist/service.d.ts +32 -0
  25. package/dist/service.d.ts.map +1 -0
  26. package/dist/service.js +282 -0
  27. package/dist/service.js.map +1 -0
  28. package/dist/types.d.ts +264 -0
  29. package/dist/types.d.ts.map +1 -0
  30. package/dist/types.js +2 -0
  31. package/dist/types.js.map +1 -0
  32. package/docs/build.md +19 -0
  33. package/docs/configuration.md +27 -0
  34. package/docs/delivery.md +22 -0
  35. package/docs/operations.md +27 -0
  36. package/docs/publishing.md +29 -0
  37. package/docs/schema/generated/README.md +28 -0
  38. package/docs/schema/generated/artifact_code_groups.md +57 -0
  39. package/docs/schema/generated/artifact_code_groups.svg +49 -0
  40. package/docs/schema/generated/artifact_codes.md +71 -0
  41. package/docs/schema/generated/artifact_codes.svg +49 -0
  42. package/docs/schema/generated/artifact_component_instances.md +79 -0
  43. package/docs/schema/generated/artifact_component_instances.svg +177 -0
  44. package/docs/schema/generated/artifact_instances.md +79 -0
  45. package/docs/schema/generated/artifact_instances.svg +177 -0
  46. package/docs/schema/generated/artifact_resource_links.md +89 -0
  47. package/docs/schema/generated/artifact_resource_links.svg +74 -0
  48. package/docs/schema/generated/artifact_review_decision_refs.md +89 -0
  49. package/docs/schema/generated/artifact_review_decision_refs.svg +102 -0
  50. package/docs/schema/generated/artifact_schema_migrations.md +47 -0
  51. package/docs/schema/generated/artifact_schema_migrations.svg +27 -0
  52. package/docs/schema/generated/artifact_status_events.md +96 -0
  53. package/docs/schema/generated/artifact_status_events.svg +102 -0
  54. package/docs/schema/generated/artifact_trace_links.md +93 -0
  55. package/docs/schema/generated/artifact_trace_links.svg +74 -0
  56. package/docs/schema/generated/artifact_validation_result_refs.md +82 -0
  57. package/docs/schema/generated/artifact_validation_result_refs.svg +74 -0
  58. package/docs/schema/generated/schema.json +1799 -0
  59. package/docs/schema/generated/schema.mmd +132 -0
  60. package/docs/schema/generated/schema.svg +260 -0
  61. package/docs/usage.md +190 -0
  62. package/package.json +28 -0
  63. package/src/database/migrations/0001_artifact_base.sql +345 -0
@@ -0,0 +1,305 @@
1
+ function jsonValue(value) {
2
+ return value === undefined || value === null ? null : JSON.stringify(value);
3
+ }
4
+ function parseJson(value) {
5
+ if (typeof value !== "string" || value.length === 0) {
6
+ return undefined;
7
+ }
8
+ return JSON.parse(value);
9
+ }
10
+ function optionalString(value) {
11
+ return typeof value === "string" ? value : undefined;
12
+ }
13
+ function boolToInt(value, defaultValue) {
14
+ return value === undefined ? defaultValue : value ? 1 : 0;
15
+ }
16
+ function artifactFromRow(row) {
17
+ return {
18
+ artifactInstanceId: row.artifact_instance_id,
19
+ artifactCode: row.artifact_code,
20
+ artifactName: row.artifact_name,
21
+ artifactVersion: row.artifact_version,
22
+ artifactStandardCode: row.artifact_standard_code,
23
+ artifactStandardVersion: row.artifact_standard_version,
24
+ artifactStatusCode: row.artifact_status_code,
25
+ methodologyActivityId: optionalString(row.methodology_activity_id),
26
+ ownerRoleCode: optionalString(row.owner_role_code),
27
+ createdAt: row.created_at,
28
+ updatedAt: row.updated_at,
29
+ metadata: parseJson(row.metadata_json)
30
+ };
31
+ }
32
+ function componentFromRow(row) {
33
+ return {
34
+ artifactComponentInstanceId: row.artifact_component_instance_id,
35
+ artifactInstanceId: row.artifact_instance_id,
36
+ artifactComponentCode: row.artifact_component_code,
37
+ artifactComponentRoleCode: optionalString(row.artifact_component_role_code),
38
+ componentInstanceName: row.component_instance_name,
39
+ componentStatusCode: row.component_status_code,
40
+ sortOrder: row.sort_order,
41
+ createdAt: row.created_at,
42
+ updatedAt: row.updated_at,
43
+ metadata: parseJson(row.metadata_json)
44
+ };
45
+ }
46
+ function resourceLinkFromRow(row) {
47
+ return {
48
+ artifactResourceLinkId: row.artifact_resource_link_id,
49
+ artifactInstanceId: row.artifact_instance_id,
50
+ artifactComponentInstanceId: optionalString(row.artifact_component_instance_id),
51
+ resourceTypeCode: row.resource_type_code,
52
+ resourceRef: row.resource_ref,
53
+ resourceRoleCode: row.resource_role_code,
54
+ isPrimary: row.is_primary,
55
+ createdAt: row.created_at,
56
+ updatedAt: row.updated_at,
57
+ metadata: parseJson(row.metadata_json)
58
+ };
59
+ }
60
+ function traceLinkFromRow(row) {
61
+ return {
62
+ artifactTraceLinkId: row.artifact_trace_link_id,
63
+ artifactInstanceId: row.artifact_instance_id,
64
+ artifactComponentInstanceId: optionalString(row.artifact_component_instance_id),
65
+ sourceTypeCode: row.source_type_code,
66
+ sourceRefId: row.source_ref_id,
67
+ traceTypeCode: row.trace_type_code,
68
+ artifactStandardCode: optionalString(row.artifact_standard_code),
69
+ artifactStandardVersion: optionalString(row.artifact_standard_version),
70
+ artifactComponentCode: optionalString(row.artifact_component_code),
71
+ createdAt: row.created_at,
72
+ updatedAt: row.updated_at,
73
+ metadata: parseJson(row.metadata_json)
74
+ };
75
+ }
76
+ function validationResultRefFromRow(row) {
77
+ return {
78
+ artifactValidationResultRefId: row.artifact_validation_result_ref_id,
79
+ artifactInstanceId: row.artifact_instance_id,
80
+ artifactComponentInstanceId: optionalString(row.artifact_component_instance_id),
81
+ validationProviderId: row.validation_provider_id,
82
+ validationProfileId: row.validation_profile_id,
83
+ validationResultRef: row.validation_result_ref,
84
+ validationStatusCode: row.validation_status_code,
85
+ createdAt: row.created_at,
86
+ updatedAt: row.updated_at,
87
+ metadata: parseJson(row.metadata_json)
88
+ };
89
+ }
90
+ function reviewDecisionRefFromRow(row) {
91
+ return {
92
+ artifactReviewDecisionRefId: row.artifact_review_decision_ref_id,
93
+ artifactInstanceId: row.artifact_instance_id,
94
+ artifactComponentInstanceId: optionalString(row.artifact_component_instance_id),
95
+ reviewScopeCode: row.review_scope_code,
96
+ decisionCode: row.decision_code,
97
+ reviewerRef: optionalString(row.reviewer_ref),
98
+ decisionReason: optionalString(row.decision_reason),
99
+ decisionResultRef: row.decision_result_ref,
100
+ decidedAt: row.decided_at,
101
+ createdAt: row.created_at,
102
+ updatedAt: row.updated_at,
103
+ metadata: parseJson(row.metadata_json)
104
+ };
105
+ }
106
+ function statusEventFromRow(row) {
107
+ return {
108
+ artifactStatusEventId: row.artifact_status_event_id,
109
+ artifactInstanceId: row.artifact_instance_id,
110
+ artifactComponentInstanceId: optionalString(row.artifact_component_instance_id),
111
+ statusScopeCode: row.status_scope_code,
112
+ fromStatusCode: row.from_status_code,
113
+ toStatusCode: row.to_status_code,
114
+ transitionReason: optionalString(row.transition_reason),
115
+ actorRef: optionalString(row.actor_ref),
116
+ artifactReviewDecisionRefId: optionalString(row.artifact_review_decision_ref_id),
117
+ createdAt: row.created_at,
118
+ metadata: parseJson(row.metadata_json)
119
+ };
120
+ }
121
+ export class ArtifactRepository {
122
+ db;
123
+ constructor(db) {
124
+ this.db = db;
125
+ }
126
+ createArtifactInstance(artifactInstanceId, input) {
127
+ this.db
128
+ .prepare(`INSERT INTO artifact_instances
129
+ (artifact_instance_id, artifact_code, artifact_name, artifact_version, artifact_standard_code,
130
+ artifact_standard_version, artifact_status_code, methodology_activity_id, owner_role_code, metadata_json)
131
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
132
+ .run(artifactInstanceId, input.artifactCode, input.artifactName, input.artifactVersion ?? "0.1.0", input.artifactStandardCode, input.artifactStandardVersion, input.artifactStatusCode ?? "draft", input.methodologyActivityId ?? null, input.ownerRoleCode ?? null, jsonValue(input.metadata));
133
+ return this.getArtifactInstance(artifactInstanceId);
134
+ }
135
+ getArtifactInstance(artifactInstanceId) {
136
+ const row = this.db
137
+ .prepare("SELECT * FROM artifact_instances WHERE artifact_instance_id = ?")
138
+ .get(artifactInstanceId);
139
+ if (row === undefined) {
140
+ throw new Error(`Artifact instance not found: ${artifactInstanceId}`);
141
+ }
142
+ return artifactFromRow(row);
143
+ }
144
+ getArtifactInstanceByCodeVersion(artifactCode, artifactVersion) {
145
+ const row = this.db
146
+ .prepare(`SELECT *
147
+ FROM artifact_instances
148
+ WHERE artifact_code = ?
149
+ AND artifact_version = ?`)
150
+ .get(artifactCode, artifactVersion);
151
+ return row === undefined ? undefined : artifactFromRow(row);
152
+ }
153
+ findLatestArtifactInstanceByStandard(artifactStandardCode, artifactStandardVersion) {
154
+ const row = this.db
155
+ .prepare(`SELECT *
156
+ FROM artifact_instances
157
+ WHERE artifact_standard_code = ?
158
+ AND artifact_standard_version = ?
159
+ ORDER BY updated_at DESC, created_at DESC, artifact_instance_id DESC
160
+ LIMIT 1`)
161
+ .get(artifactStandardCode, artifactStandardVersion);
162
+ return row === undefined ? undefined : artifactFromRow(row);
163
+ }
164
+ getArtifactAggregate(artifactInstanceId) {
165
+ return {
166
+ artifact: this.getArtifactInstance(artifactInstanceId),
167
+ components: this.listArtifactComponentInstances(artifactInstanceId),
168
+ resourceLinks: this.listArtifactResourceLinks(artifactInstanceId),
169
+ traceLinks: this.listArtifactTraceLinks(artifactInstanceId),
170
+ validationResultRefs: this.listArtifactValidationResultRefs(artifactInstanceId),
171
+ reviewDecisionRefs: this.listArtifactReviewDecisionRefs(artifactInstanceId),
172
+ statusEvents: this.listArtifactStatusEvents(artifactInstanceId)
173
+ };
174
+ }
175
+ addArtifactComponentInstance(artifactComponentInstanceId, input) {
176
+ this.db
177
+ .prepare(`INSERT INTO artifact_component_instances
178
+ (artifact_component_instance_id, artifact_instance_id, artifact_component_code,
179
+ artifact_component_role_code, component_instance_name, component_status_code, sort_order, metadata_json)
180
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`)
181
+ .run(artifactComponentInstanceId, input.artifactInstanceId, input.artifactComponentCode, input.artifactComponentRoleCode ?? null, input.componentInstanceName, input.componentStatusCode ?? "draft", input.sortOrder ?? 0, jsonValue(input.metadata));
182
+ return componentFromRow(this.getById("artifact_component_instances", "artifact_component_instance_id", artifactComponentInstanceId));
183
+ }
184
+ listArtifactComponentInstances(artifactInstanceId) {
185
+ const rows = this.db
186
+ .prepare(`SELECT *
187
+ FROM artifact_component_instances
188
+ WHERE artifact_instance_id = ?
189
+ ORDER BY sort_order, artifact_component_code`)
190
+ .all(artifactInstanceId);
191
+ return rows.map(componentFromRow);
192
+ }
193
+ addArtifactResourceLink(artifactResourceLinkId, input) {
194
+ this.db
195
+ .prepare(`INSERT INTO artifact_resource_links
196
+ (artifact_resource_link_id, artifact_instance_id, artifact_component_instance_id,
197
+ resource_type_code, resource_ref, resource_role_code, is_primary, metadata_json)
198
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`)
199
+ .run(artifactResourceLinkId, input.artifactInstanceId, input.artifactComponentInstanceId ?? null, input.resourceTypeCode, input.resourceRef, input.resourceRoleCode ?? "CONTENT", boolToInt(input.isPrimary, 0), jsonValue(input.metadata));
200
+ return resourceLinkFromRow(this.getById("artifact_resource_links", "artifact_resource_link_id", artifactResourceLinkId));
201
+ }
202
+ listArtifactResourceLinks(artifactInstanceId) {
203
+ const rows = this.db
204
+ .prepare(`SELECT *
205
+ FROM artifact_resource_links
206
+ WHERE artifact_instance_id = ?
207
+ ORDER BY is_primary DESC, resource_role_code, artifact_resource_link_id`)
208
+ .all(artifactInstanceId);
209
+ return rows.map(resourceLinkFromRow);
210
+ }
211
+ addArtifactTraceLink(artifactTraceLinkId, input) {
212
+ this.db
213
+ .prepare(`INSERT INTO artifact_trace_links
214
+ (artifact_trace_link_id, artifact_instance_id, artifact_component_instance_id, source_type_code,
215
+ source_ref_id, trace_type_code, artifact_standard_code, artifact_standard_version,
216
+ artifact_component_code, metadata_json)
217
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
218
+ .run(artifactTraceLinkId, input.artifactInstanceId, input.artifactComponentInstanceId ?? null, input.sourceTypeCode, input.sourceRefId, input.traceTypeCode, input.artifactStandardCode ?? null, input.artifactStandardVersion ?? null, input.artifactComponentCode ?? null, jsonValue(input.metadata));
219
+ return traceLinkFromRow(this.getById("artifact_trace_links", "artifact_trace_link_id", artifactTraceLinkId));
220
+ }
221
+ listArtifactTraceLinks(artifactInstanceId) {
222
+ const rows = this.db
223
+ .prepare(`SELECT *
224
+ FROM artifact_trace_links
225
+ WHERE artifact_instance_id = ?
226
+ ORDER BY created_at, artifact_trace_link_id`)
227
+ .all(artifactInstanceId);
228
+ return rows.map(traceLinkFromRow);
229
+ }
230
+ addArtifactValidationResultRef(artifactValidationResultRefId, input) {
231
+ this.db
232
+ .prepare(`INSERT INTO artifact_validation_result_refs
233
+ (artifact_validation_result_ref_id, artifact_instance_id, artifact_component_instance_id,
234
+ validation_provider_id, validation_profile_id, validation_result_ref, validation_status_code, metadata_json)
235
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`)
236
+ .run(artifactValidationResultRefId, input.artifactInstanceId, input.artifactComponentInstanceId ?? null, input.validationProviderId, input.validationProfileId, input.validationResultRef, input.validationStatusCode, jsonValue(input.metadata));
237
+ return validationResultRefFromRow(this.getById("artifact_validation_result_refs", "artifact_validation_result_ref_id", artifactValidationResultRefId));
238
+ }
239
+ listArtifactValidationResultRefs(artifactInstanceId) {
240
+ const rows = this.db
241
+ .prepare(`SELECT *
242
+ FROM artifact_validation_result_refs
243
+ WHERE artifact_instance_id = ?
244
+ ORDER BY created_at, artifact_validation_result_ref_id`)
245
+ .all(artifactInstanceId);
246
+ return rows.map(validationResultRefFromRow);
247
+ }
248
+ addArtifactReviewDecisionRef(artifactReviewDecisionRefId, input) {
249
+ this.db
250
+ .prepare(`INSERT INTO artifact_review_decision_refs
251
+ (artifact_review_decision_ref_id, artifact_instance_id, artifact_component_instance_id,
252
+ review_scope_code, decision_code, reviewer_ref, decision_reason, decision_result_ref, decided_at, metadata_json)
253
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
254
+ .run(artifactReviewDecisionRefId, input.artifactInstanceId, input.artifactComponentInstanceId ?? null, input.reviewScopeCode ?? (input.artifactComponentInstanceId === undefined ? "artifact_instance" : "artifact_component"), input.decisionCode, input.reviewerRef ?? null, input.decisionReason ?? null, input.decisionResultRef, input.decidedAt ?? new Date().toISOString(), jsonValue(input.metadata));
255
+ return reviewDecisionRefFromRow(this.getById("artifact_review_decision_refs", "artifact_review_decision_ref_id", artifactReviewDecisionRefId));
256
+ }
257
+ listArtifactReviewDecisionRefs(artifactInstanceId) {
258
+ const rows = this.db
259
+ .prepare(`SELECT *
260
+ FROM artifact_review_decision_refs
261
+ WHERE artifact_instance_id = ?
262
+ ORDER BY decided_at, created_at, artifact_review_decision_ref_id`)
263
+ .all(artifactInstanceId);
264
+ return rows.map(reviewDecisionRefFromRow);
265
+ }
266
+ getArtifactReviewDecisionRef(artifactReviewDecisionRefId) {
267
+ return reviewDecisionRefFromRow(this.getById("artifact_review_decision_refs", "artifact_review_decision_ref_id", artifactReviewDecisionRefId));
268
+ }
269
+ updateArtifactStatus(artifactInstanceId, toStatusCode) {
270
+ this.db
271
+ .prepare(`UPDATE artifact_instances
272
+ SET artifact_status_code = ?,
273
+ updated_at = CURRENT_TIMESTAMP
274
+ WHERE artifact_instance_id = ?`)
275
+ .run(toStatusCode, artifactInstanceId);
276
+ return this.getArtifactInstance(artifactInstanceId);
277
+ }
278
+ addArtifactStatusEvent(artifactStatusEventId, input) {
279
+ this.db
280
+ .prepare(`INSERT INTO artifact_status_events
281
+ (artifact_status_event_id, artifact_instance_id, artifact_component_instance_id,
282
+ status_scope_code, from_status_code, to_status_code, transition_reason,
283
+ actor_ref, artifact_review_decision_ref_id, metadata_json)
284
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
285
+ .run(artifactStatusEventId, input.artifactInstanceId, null, "artifact_instance", input.fromStatusCode, input.toStatusCode, input.transitionReason ?? null, input.actorRef ?? null, input.artifactReviewDecisionRefId ?? null, jsonValue(input.metadata));
286
+ return statusEventFromRow(this.getById("artifact_status_events", "artifact_status_event_id", artifactStatusEventId));
287
+ }
288
+ listArtifactStatusEvents(artifactInstanceId) {
289
+ const rows = this.db
290
+ .prepare(`SELECT *
291
+ FROM artifact_status_events
292
+ WHERE artifact_instance_id = ?
293
+ ORDER BY created_at, artifact_status_event_id`)
294
+ .all(artifactInstanceId);
295
+ return rows.map(statusEventFromRow);
296
+ }
297
+ getById(tableName, idColumnName, id) {
298
+ const row = this.db.prepare(`SELECT * FROM ${tableName} WHERE ${idColumnName} = ?`).get(id);
299
+ if (row === undefined) {
300
+ throw new Error(`Record not found: ${tableName}.${idColumnName}=${id}`);
301
+ }
302
+ return row;
303
+ }
304
+ }
305
+ //# sourceMappingURL=repositories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositories.js","sourceRoot":"","sources":["../src/repositories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export interface AgenticSeedApplyInput {
2
+ readonly projectRoot?: string;
3
+ readonly databasePath?: string;
4
+ readonly sourcePackageName: string;
5
+ readonly sourcePackageVersion: string;
6
+ readonly bundleCode: string;
7
+ readonly bundleVersion: string;
8
+ readonly methodologyCode?: string;
9
+ readonly sourceSection: string;
10
+ readonly targetOperation: string;
11
+ readonly itemKey?: string;
12
+ readonly itemPayload?: unknown;
13
+ readonly mode: "apply";
14
+ }
15
+ export interface AgenticSeedApplyResult {
16
+ readonly status: "applied" | "skipped" | "blocked" | "failed";
17
+ readonly targetRefs?: readonly string[];
18
+ readonly message?: string;
19
+ readonly diagnostics?: readonly unknown[];
20
+ }
21
+ export declare function applyAgenticSeed(input: AgenticSeedApplyInput): Promise<AgenticSeedApplyResult>;
22
+ //# sourceMappingURL=seed-apply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-apply.d.ts","sourceRoot":"","sources":["../src/seed-apply.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3C;AAwID,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAuCpG"}
@@ -0,0 +1,150 @@
1
+ import { openArtifactDatabase } from "./database.js";
2
+ import { ArtifactService } from "./service.js";
3
+ function isRecord(value) {
4
+ return typeof value === "object" && value !== null && !Array.isArray(value);
5
+ }
6
+ function stringValue(value, key) {
7
+ const raw = value[key];
8
+ return typeof raw === "string" && raw.length > 0 ? raw : undefined;
9
+ }
10
+ function sourceMetadata(input, payload) {
11
+ return {
12
+ seedSourcePackageName: input.sourcePackageName,
13
+ seedSourcePackageVersion: input.sourcePackageVersion,
14
+ seedBundleCode: input.bundleCode,
15
+ seedBundleVersion: input.bundleVersion,
16
+ seedSourceSection: input.sourceSection,
17
+ seedTargetOperation: input.targetOperation,
18
+ seedItemKey: input.itemKey,
19
+ seedPayload: payload
20
+ };
21
+ }
22
+ function sampleName(sampleCode) {
23
+ return sampleCode
24
+ .split("_")
25
+ .filter((part) => part.length > 0)
26
+ .map((part) => `${part.slice(0, 1).toUpperCase()}${part.slice(1)}`)
27
+ .join(" ");
28
+ }
29
+ function addSampleTraceLinks(service, artifactInstanceId, payload, metadata) {
30
+ const traceTargets = [
31
+ ["methodology", stringValue(payload, "methodologyCode")],
32
+ ["lifecycle", stringValue(payload, "lifecycleCode")],
33
+ ["phase", stringValue(payload, "phaseCode")],
34
+ ["process", stringValue(payload, "processCode")],
35
+ ["project", stringValue(payload, "projectCode")]
36
+ ];
37
+ for (const [sourceTypeCode, sourceRefId] of traceTargets) {
38
+ if (sourceRefId === undefined) {
39
+ continue;
40
+ }
41
+ service.addArtifactTraceLink({
42
+ artifactInstanceId,
43
+ sourceTypeCode,
44
+ sourceRefId,
45
+ traceTypeCode: "references",
46
+ artifactStandardCode: "sample_execution",
47
+ artifactStandardVersion: "1.0.0",
48
+ metadata
49
+ });
50
+ }
51
+ }
52
+ function applySampleExecution(ctx) {
53
+ if (!isRecord(ctx.input.itemPayload)) {
54
+ return {
55
+ status: "failed",
56
+ message: "sampleExecution seed payload must be an object."
57
+ };
58
+ }
59
+ const payload = ctx.input.itemPayload;
60
+ const sampleCode = stringValue(payload, "sampleCode");
61
+ if (sampleCode === undefined) {
62
+ return {
63
+ status: "failed",
64
+ message: "sampleExecution seed requires sampleCode."
65
+ };
66
+ }
67
+ const artifactVersion = ctx.input.bundleVersion;
68
+ const existing = ctx.service.getArtifactInstanceByCodeVersion(sampleCode, artifactVersion);
69
+ if (existing !== undefined) {
70
+ return {
71
+ status: "skipped",
72
+ targetRefs: [`artifact:${existing.artifactCode}@${existing.artifactVersion}`],
73
+ message: `Sample execution artifact already exists: ${sampleCode}@${artifactVersion}`
74
+ };
75
+ }
76
+ const metadata = {
77
+ ...sourceMetadata(ctx.input, payload),
78
+ sampleExecution: true,
79
+ methodologyCode: stringValue(payload, "methodologyCode") ?? ctx.input.methodologyCode,
80
+ lifecycleCode: stringValue(payload, "lifecycleCode"),
81
+ phaseCode: stringValue(payload, "phaseCode"),
82
+ processCode: stringValue(payload, "processCode"),
83
+ projectCode: stringValue(payload, "projectCode"),
84
+ description: stringValue(payload, "description")
85
+ };
86
+ const artifact = ctx.service.createArtifactInstance({
87
+ artifactCode: sampleCode,
88
+ artifactName: stringValue(payload, "sampleName") ?? sampleName(sampleCode),
89
+ artifactVersion,
90
+ artifactStandardCode: "sample_execution",
91
+ artifactStandardVersion: "1.0.0",
92
+ artifactStatusCode: "draft",
93
+ ownerRoleCode: "@soddong/agentic-runtime",
94
+ metadata
95
+ });
96
+ ctx.service.addArtifactResourceLink({
97
+ artifactInstanceId: artifact.artifactInstanceId,
98
+ resourceTypeCode: "AGENT_RESOURCE_REF",
99
+ resourceRef: `seed-bundle://${ctx.input.sourcePackageName}/${ctx.input.bundleCode}/sampleExecution/${sampleCode}`,
100
+ resourceRoleCode: "SOURCE",
101
+ isPrimary: true,
102
+ metadata
103
+ });
104
+ addSampleTraceLinks(ctx.service, artifact.artifactInstanceId, payload, metadata);
105
+ return {
106
+ status: "applied",
107
+ targetRefs: [`artifact:${artifact.artifactCode}@${artifact.artifactVersion}`]
108
+ };
109
+ }
110
+ export async function applyAgenticSeed(input) {
111
+ if (input.mode !== "apply") {
112
+ return {
113
+ status: "failed",
114
+ message: "agentic-domain-artifact only supports apply mode."
115
+ };
116
+ }
117
+ const db = openArtifactDatabase({
118
+ projectRoot: input.projectRoot,
119
+ databasePath: input.databasePath
120
+ });
121
+ try {
122
+ const ctx = {
123
+ input,
124
+ db,
125
+ service: new ArtifactService(db)
126
+ };
127
+ const applyInTransaction = db.transaction(() => {
128
+ switch (input.sourceSection) {
129
+ case "sampleExecution":
130
+ return applySampleExecution(ctx);
131
+ default:
132
+ return {
133
+ status: "blocked",
134
+ message: `Unsupported artifact seed section: ${input.sourceSection}`
135
+ };
136
+ }
137
+ });
138
+ return applyInTransaction();
139
+ }
140
+ catch (error) {
141
+ return {
142
+ status: "failed",
143
+ message: error instanceof Error ? error.message : String(error)
144
+ };
145
+ }
146
+ finally {
147
+ db.close();
148
+ }
149
+ }
150
+ //# sourceMappingURL=seed-apply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-apply.js","sourceRoot":"","sources":["../src/seed-apply.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AA8B/C,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,KAA8B,EAAE,GAAW;IAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,SAAS,cAAc,CAAC,KAA4B,EAAE,OAAgB;IACpE,OAAO;QACL,qBAAqB,EAAE,KAAK,CAAC,iBAAiB;QAC9C,wBAAwB,EAAE,KAAK,CAAC,oBAAoB;QACpD,cAAc,EAAE,KAAK,CAAC,UAAU;QAChC,iBAAiB,EAAE,KAAK,CAAC,aAAa;QACtC,iBAAiB,EAAE,KAAK,CAAC,aAAa;QACtC,mBAAmB,EAAE,KAAK,CAAC,eAAe;QAC1C,WAAW,EAAE,KAAK,CAAC,OAAO;QAC1B,WAAW,EAAE,OAAO;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,UAAkB;IACpC,OAAO,UAAU;SACd,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAwB,EACxB,kBAA0B,EAC1B,OAAgC,EAChC,QAAiC;IAEjC,MAAM,YAAY,GAAG;QACnB,CAAC,aAAa,EAAE,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACxD,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACpD,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC5C,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;KACxC,CAAC;IAEX,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,YAAY,EAAE,CAAC;QACzD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,OAAO,CAAC,oBAAoB,CAAC;YAC3B,kBAAkB;YAClB,cAAc;YACd,WAAW;YACX,aAAa,EAAE,YAAY;YAC3B,oBAAoB,EAAE,kBAAkB;YACxC,uBAAuB,EAAE,OAAO;YAChC,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAqB;IACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,iDAAiD;SAC3D,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;IACtC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,2CAA2C;SACrD,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;IAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gCAAgC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC3F,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,CAAC,YAAY,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC7E,OAAO,EAAE,6CAA6C,UAAU,IAAI,eAAe,EAAE;SACtF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG;QACf,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;QACrC,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe;QACrF,aAAa,EAAE,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC;QACpD,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC;QAC5C,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC;QAChD,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC;QAChD,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC;KACjD,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC;QAClD,YAAY,EAAE,UAAU;QACxB,YAAY,EAAE,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC;QAC1E,eAAe;QACf,oBAAoB,EAAE,kBAAkB;QACxC,uBAAuB,EAAE,OAAO;QAChC,kBAAkB,EAAE,OAAO;QAC3B,aAAa,EAAE,0BAA0B;QACzC,QAAQ;KACT,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC;QAClC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,gBAAgB,EAAE,oBAAoB;QACtC,WAAW,EAAE,iBAAiB,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,oBAAoB,UAAU,EAAE;QACjH,gBAAgB,EAAE,QAAQ;QAC1B,SAAS,EAAE,IAAI;QACf,QAAQ;KACT,CAAC,CAAC;IAEH,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEjF,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,CAAC,YAAY,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAA4B;IACjE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,mDAAmD;SAC7D,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAG,oBAAoB,CAAC;QAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,GAAG,GAAqB;YAC5B,KAAK;YACL,EAAE;YACF,OAAO,EAAE,IAAI,eAAe,CAAC,EAAE,CAAC;SACjC,CAAC;QACF,MAAM,kBAAkB,GAAG,EAAE,CAAC,WAAW,CAAC,GAA2B,EAAE;YACrE,QAAQ,KAAK,CAAC,aAAa,EAAE,CAAC;gBAC5B,KAAK,iBAAiB;oBACpB,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACnC;oBACE,OAAO;wBACL,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,sCAAsC,KAAK,CAAC,aAAa,EAAE;qBACrE,CAAC;YACN,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type Database from "better-sqlite3";
2
+ import type { AddArtifactComponentInstanceInput, AddArtifactReviewDecisionRefInput, AddArtifactResourceLinkInput, AddArtifactTraceLinkInput, AddArtifactValidationResultRefInput, ArtifactAggregate, ArtifactComponentInstanceRecord, ArtifactInstanceRecord, ArtifactReviewDecisionRefRecord, ArtifactResourceLinkRecord, ArtifactStatusEventRecord, ArtifactTraceLinkRecord, ArtifactValidationResultRefRecord, BindDocumentToArtifactComponentInput, CreateArtifactInstanceFromActivityOutputsInput, CreateArtifactInstanceFromActivityOutputsResult, CreateArtifactInstanceInput, ResolveArtifactHandoffInput, ResolveArtifactHandoffResult, TransitionArtifactStatusInput, TransitionArtifactStatusResult } from "./types.js";
3
+ export declare class ArtifactService {
4
+ private readonly repository;
5
+ constructor(db: Database.Database);
6
+ createArtifactInstance(input: CreateArtifactInstanceInput): ArtifactInstanceRecord;
7
+ createArtifactInstanceFromActivityOutputs(input: CreateArtifactInstanceFromActivityOutputsInput): CreateArtifactInstanceFromActivityOutputsResult;
8
+ getArtifactInstance(artifactInstanceId: string): ArtifactInstanceRecord;
9
+ getArtifactInstanceByCodeVersion(artifactCode: string, artifactVersion: string): ArtifactInstanceRecord | undefined;
10
+ findLatestArtifactInstanceByStandard(artifactStandardCode: string, artifactStandardVersion: string): ArtifactInstanceRecord | undefined;
11
+ getArtifactAggregate(artifactInstanceId: string): ArtifactAggregate;
12
+ resolveArtifactHandoff(input: ResolveArtifactHandoffInput): ResolveArtifactHandoffResult;
13
+ addArtifactComponentInstance(input: AddArtifactComponentInstanceInput): ArtifactComponentInstanceRecord;
14
+ listArtifactComponentInstances(artifactInstanceId: string): ArtifactComponentInstanceRecord[];
15
+ addArtifactResourceLink(input: AddArtifactResourceLinkInput): ArtifactResourceLinkRecord;
16
+ bindDocumentToArtifactComponent(input: BindDocumentToArtifactComponentInput): ArtifactResourceLinkRecord;
17
+ listArtifactResourceLinks(artifactInstanceId: string): ArtifactResourceLinkRecord[];
18
+ addArtifactTraceLink(input: AddArtifactTraceLinkInput): ArtifactTraceLinkRecord;
19
+ listArtifactTraceLinks(artifactInstanceId: string): ArtifactTraceLinkRecord[];
20
+ addArtifactValidationResultRef(input: AddArtifactValidationResultRefInput): ArtifactValidationResultRefRecord;
21
+ listArtifactValidationResultRefs(artifactInstanceId: string): ArtifactValidationResultRefRecord[];
22
+ addArtifactReviewDecisionRef(input: AddArtifactReviewDecisionRefInput): ArtifactReviewDecisionRefRecord;
23
+ listArtifactReviewDecisionRefs(artifactInstanceId: string): ArtifactReviewDecisionRefRecord[];
24
+ transitionArtifactStatus(input: TransitionArtifactStatusInput): TransitionArtifactStatusResult;
25
+ listArtifactStatusEvents(artifactInstanceId: string): ArtifactStatusEventRecord[];
26
+ private findArtifactInstanceForHandoff;
27
+ private createComponentFromActivityOutput;
28
+ private hasRequiredResultRef;
29
+ private assertAllowedArtifactStatusTransition;
30
+ private assertReviewDecisionForStatusTransition;
31
+ }
32
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EACV,iCAAiC,EACjC,iCAAiC,EACjC,4BAA4B,EAC5B,yBAAyB,EACzB,mCAAmC,EACnC,iBAAiB,EAEjB,+BAA+B,EAE/B,sBAAsB,EACtB,+BAA+B,EAC/B,0BAA0B,EAE1B,yBAAyB,EACzB,uBAAuB,EACvB,iCAAiC,EACjC,oCAAoC,EACpC,8CAA8C,EAC9C,+CAA+C,EAC/C,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC/B,MAAM,YAAY,CAAC;AAWpB,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEpC,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAIjC,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,sBAAsB;IAIlF,yCAAyC,CACvC,KAAK,EAAE,8CAA8C,GACpD,+CAA+C;IAgDlD,mBAAmB,CAAC,kBAAkB,EAAE,MAAM,GAAG,sBAAsB;IAIvE,gCAAgC,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAInH,oCAAoC,CAClC,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,GAC9B,sBAAsB,GAAG,SAAS;IAIrC,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,GAAG,iBAAiB;IAInE,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,4BAA4B;IAoHxF,4BAA4B,CAAC,KAAK,EAAE,iCAAiC,GAAG,+BAA+B;IAIvG,8BAA8B,CAAC,kBAAkB,EAAE,MAAM,GAAG,+BAA+B,EAAE;IAI7F,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,0BAA0B;IAIxF,+BAA+B,CAAC,KAAK,EAAE,oCAAoC,GAAG,0BAA0B;IAYxG,yBAAyB,CAAC,kBAAkB,EAAE,MAAM,GAAG,0BAA0B,EAAE;IAInF,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,uBAAuB;IAI/E,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,GAAG,uBAAuB,EAAE;IAI7E,8BAA8B,CAAC,KAAK,EAAE,mCAAmC,GAAG,iCAAiC;IAI7G,gCAAgC,CAAC,kBAAkB,EAAE,MAAM,GAAG,iCAAiC,EAAE;IAIjG,4BAA4B,CAAC,KAAK,EAAE,iCAAiC,GAAG,+BAA+B;IAIvG,8BAA8B,CAAC,kBAAkB,EAAE,MAAM,GAAG,+BAA+B,EAAE;IAI7F,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,GAAG,8BAA8B;IAkB9F,wBAAwB,CAAC,kBAAkB,EAAE,MAAM,GAAG,yBAAyB,EAAE;IAIjF,OAAO,CAAC,8BAA8B;IAYtC,OAAO,CAAC,iCAAiC;IAezC,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,qCAAqC;IAY7C,OAAO,CAAC,uCAAuC;CAyBhD"}