Something went wrong. Try again.
A local-first event pipeline for independent agents, built on Jazz.
Something went wrong. Try again.
2.5 kB · 76 lines
TypeScript
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677export const ARTIFACT_EVENT_TYPE = "stream.thought.artifact";export const ARTIFACT_REQUEST_EVENT_TYPE = "stream.thought.artifact.requested";export const ARTIFACT_SCHEMA_VERSION = 1;export const ARTIFACT_REQUEST_SCHEMA_VERSION = 1;
export const ARTIFACT_KINDS = ["skill", "spec", "report", "design", "code", "document", "image"] as const;export type ArtifactKind = (typeof ARTIFACT_KINDS)[number];
export const ARTIFACT_MEDIA_TYPES = [ "text/markdown", "text/plain", "application/json", "application/yaml", "text/yaml", "image/png", "image/jpeg",] as const;export type ArtifactMediaType = (typeof ARTIFACT_MEDIA_TYPES)[number];
export const ARTIFACT_VISIBILITY = ["private", "sensitive"] as const;export type ArtifactVisibility = (typeof ARTIFACT_VISIBILITY)[number];export const ARTIFACT_REQUEST_STATUSES = ["pending", "failed", "denied"] as const;export type ArtifactRequestStatus = (typeof ARTIFACT_REQUEST_STATUSES)[number];
export const ARTIFACT_MAX_TEXT_BYTES = 256 * 1024;export const ARTIFACT_MAX_IMAGE_BYTES = 8 * 1024 * 1024;export const ARTIFACT_MAX_BODY_BYTES = ARTIFACT_MAX_TEXT_BYTES;export const ARTIFACT_MAX_TITLE_LENGTH = 500;export const ARTIFACT_MAX_SUMMARY_LENGTH = 2_000;
export interface ArtifactProvenance { source: string; label: string }export interface ArtifactRelation { type: string; eventId: string }export interface ArtifactBlobReference { algorithm: "sha256"; sha256: string; relativePath: string; byteCount: number;}
export interface ArtifactPayload { artifactId: string; artifactVersion: number; kind: ArtifactKind; title: string; summary: string; mediaType: ArtifactMediaType; blob: ArtifactBlobReference; provenance: ArtifactProvenance; relations: ArtifactRelation[]; visibility: ArtifactVisibility; publicationEligible: false; supersedesArtifactEventId?: string;}
export interface ArtifactRequestPayload { requestId: string; workspaceLeaseId: string; workspaceRootLabel: string; relativeFilePath: string; artifactId: string; artifactVersion: number; kind: ArtifactKind; title: string; summary: string; mediaType: ArtifactMediaType; provenance: ArtifactProvenance; visibility: ArtifactVisibility; publicationEligible: false; publicationAuthority: false; status: ArtifactRequestStatus; reasonCode?: string; requestingAgentId?: string; requestingRunId?: string; sourceEventId?: string; supersedesArtifactEventId?: string;}