ObjectStackObjectStack

Environment Artifact

Environment Artifact protocol schemas

Environment Artifact Format Protocol (v0)

Defines the immutable envelope produced by objectstack compile and consumed

by the ObjectStack runtime at boot. The artifact carries everything a runtime instance

needs to hydrate an environment kernel without reading control-plane DB rows

directly.

Boundary

  • Artifact (this schema): environment metadata + inlined function code +

plugin/driver requirements. Immutable, content-addressable via commitId

and checksum.

  • Deployment Config (NOT in this schema): business DB coordinates,

credentials, environment identity, secrets. Injected at runtime.

See content/docs/concepts/north-star.mdx §6.3 for the runtime-inputs

boundary, and ROADMAP.md M1 for the milestone definition.

Storage / Distribution

v0 stores the full payload inline. Future revisions may swap metadata /

functions for a payloadRef that points at out-of-band storage (S3,

signed URL). The envelope shape preserves room for that indirection without

a breaking schema bump.

Source: packages/spec/src/system/environment-artifact.zod.ts

TypeScript Usage

import { EnvironmentArtifact, EnvironmentArtifactChecksum, EnvironmentArtifactFunction, EnvironmentArtifactFunctionLanguageEnum, EnvironmentArtifactHashAlgorithmEnum, EnvironmentArtifactManifest, EnvironmentArtifactMetadata, EnvironmentArtifactPayloadRef, EnvironmentArtifactRequirement } from '@objectstack/spec/system';
import type { EnvironmentArtifact, EnvironmentArtifactChecksum, EnvironmentArtifactFunction, EnvironmentArtifactFunctionLanguageEnum, EnvironmentArtifactHashAlgorithmEnum, EnvironmentArtifactManifest, EnvironmentArtifactMetadata, EnvironmentArtifactPayloadRef, EnvironmentArtifactRequirement } from '@objectstack/spec/system';

// Validate data
const result = EnvironmentArtifact.parse(data);

EnvironmentArtifact

ObjectStack Environment Artifact envelope (v0)

Properties

PropertyTypeRequiredDescription
schemaVersionstringEnvironment artifact envelope schema version
environmentIdstringEnvironment identifier (control-plane scoped)
commitIdstringContent-addressable revision id
checksumObjectArtifact integrity checksum
builtAtstringoptionalISO-8601 timestamp of when the artifact was built
builtWithstringoptionalBuild tool identifier
metadataRecord<string, any>Compiled environment metadata grouped by category
functionsObject[]Inlined function code packaged with the artifact
manifestObjectPlugin/driver requirements baked into the artifact
payloadRefObjectoptionalOut-of-band payload reference (reserved for future use)

EnvironmentArtifactChecksum

Artifact integrity checksum

Properties

PropertyTypeRequiredDescription
algorithmEnum<'sha256' | 'sha384' | 'sha512'>Hash algorithm used for the artifact checksum
valuestringHex-encoded digest of the artifact body

EnvironmentArtifactFunction

A single inlined function

Properties

PropertyTypeRequiredDescription
namestringFunction machine name (snake_case)
languageEnum<'javascript' | 'typescript'>Source language of the function code
codestringInlined function source
sourceObjectoptionalSource-map metadata for the function
hashstringoptionalHex SHA-256 of the inlined code

EnvironmentArtifactFunctionLanguageEnum

Source language of the function code

Allowed Values

  • javascript
  • typescript

EnvironmentArtifactHashAlgorithmEnum

Hash algorithm used for the artifact checksum

Allowed Values

  • sha256
  • sha384
  • sha512

EnvironmentArtifactManifest

Plugin/driver requirements baked into the artifact

Properties

PropertyTypeRequiredDescription
pluginsObject[]optional
driversObject[]optional
engineObjectoptional

EnvironmentArtifactMetadata

Compiled environment metadata grouped by category

Properties

PropertyTypeRequiredDescription
objectsany[]optional
fieldsany[]optional
viewsany[]optional
appsany[]optional
pagesany[]optional
dashboardsany[]optional
reportsany[]optional
flowsany[]optional
workflowsany[]optional
triggersany[]optional
agentsany[]optional
toolsany[]optional
skillsany[]optional
permissionsany[]optional
permissionSetsany[]optional
positionsany[]optional
translationsany[]optional
datasourcesany[]optional
datasetsany[]optional
actionsany[]optional
apisany[]optional

EnvironmentArtifactPayloadRef

Out-of-band payload reference (reserved for future use)

Properties

PropertyTypeRequiredDescription
urlstringSigned URL pointing at the artifact payload
expiresAtstringoptionalISO-8601 expiry timestamp
checksumObjectChecksum of the referenced payload

EnvironmentArtifactRequirement

A plugin or driver dependency declaration

Properties

PropertyTypeRequiredDescription
idstringPlugin/driver package id
versionstringoptionalSemVer range required by the environment

On this page