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.