Skip to main content
Version: V2-Next

Client Libraries

Java: Embedded Artifacts​

Model Forge is consumed through Maven artifacts, not through a generated REST client.

<repository>
<id>gitlab-model-forge</id>
<url>https://gitlab.com/api/v4/projects/72402288/packages/maven</url>
</repository>

<dependency>
<groupId>de.civitascore</groupId>
<artifactId>core-model-forge-spring-boot-starter</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>

Use core-model-forge-contract directly only when the host needs the public records (commands, results) and URN utilities without Spring Boot auto-configuration.

TypeScript and Zod types​

Zod schemas and inferred TypeScript types for the CORE-IR artifact formats are generated from the JSON Schemas in model-forge/model-forge-runtime/src/main/resources. They are not a REST client; they let a frontend validate an artifact payload before embedded Model Forge ever sees it.

They are not published as a package. portal-frontend generates them into its own tree:

cd portal-frontend
npm run generate:core-types

The generator is portal-frontend/scripts/generate-core-types.mjs; the output lands in portal-frontend/src/generated/core/. A different host that needs the same types runs the same generator against the same schemas.

import { DataSetSchema, type DataSet } from '@/generated/core';

const result = DataSetSchema.safeParse(payload);
if (result.success) {
const dataSet: DataSet = result.data;
}

Snapshot builds are published from main, releases from semver tags. The full package reference is generated with TypeDoc.