Skip to content

@codesoul-co/hypha-core / contracts/artifact ​

Using this module ​

Use the Artifact module for declaring and runtime-validating contracts. It exports 15 interfaces, 3 types.

Import from the package entrypoint ​

ts
import type {
  ArtifactAccessPolicySpec,
  ArtifactAccessRecord,
  ArtifactContentAddressingSpec,
  ArtifactLineage,
  ArtifactLineageNode,
  ArtifactPreviewPolicySpec,
  ArtifactProfileSpec,
  ArtifactProvenance,
} from '@codesoul-co/hypha-core';

// The complete export list is documented below.

Usage patterns ​

  • Use the 18 type/interface exports as static contracts in application code, adapters, or tests. Import them with import type; they do not exist at runtime.

Public exports ​

SymbolKindSignatureDescription
ArtifactAccessPolicySpecinterfaceinterface ArtifactAccessPolicySpecArtifact Access Policy Spec interface with 8 public fields or methods.
ArtifactAccessRecordinterfaceinterface ArtifactAccessRecordArtifact Access Record interface with 5 public fields or methods.
ArtifactContentAddressingSpecinterfaceinterface ArtifactContentAddressingSpecArtifact Content Addressing Spec interface with 3 public fields or methods.
ArtifactLineageinterfaceinterface ArtifactLineageArtifact Lineage interface with 4 public fields or methods.
ArtifactLineageNodeinterfaceinterface ArtifactLineageNodeArtifact Lineage Node interface with 6 public fields or methods.
ArtifactPreviewPolicySpecinterfaceinterface ArtifactPreviewPolicySpecArtifact Preview Policy Spec interface with 3 public fields or methods.
ArtifactProfileSpecinterfaceinterface ArtifactProfileSpec extends VersionedSpecArtifact Profile Spec interface with 15 public fields or methods.
ArtifactProvenanceinterfaceinterface ArtifactProvenanceArtifact Provenance interface with 11 public fields or methods.
ArtifactRecordinterfaceinterface ArtifactRecordArtifact Record interface with 41 public fields or methods.
ArtifactRefinterfaceinterface ArtifactRefArtifact Ref interface with 7 public fields or methods.
ArtifactRetentionPolicySpecinterfaceinterface ArtifactRetentionPolicySpecArtifact Retention Policy Spec interface with 7 public fields or methods.
ArtifactRetentionRecordinterfaceinterface ArtifactRetentionRecordArtifact Retention Record interface with 5 public fields or methods.
ArtifactStorageRefinterfaceinterface ArtifactStorageRefArtifact Storage Ref interface with 7 public fields or methods.
ArtifactValidationPolicySpecinterfaceinterface ArtifactValidationPolicySpecArtifact Validation Policy Spec interface with 7 public fields or methods.
ArtifactVersioningPolicySpecinterfaceinterface ArtifactVersioningPolicySpecArtifact Versioning Policy Spec interface with 3 public fields or methods.
ArtifactHashAlgorithmtypetype ArtifactHashAlgorithm = 'sha256' | 'blake3'Public type alias for Artifact Hash Algorithm; the declaration contains its complete type expression.
ArtifactKindtypetype ArtifactKind = 'document' | 'code' | 'dataset' | 'image' | 'audio' | 'video' | 'table' | 'report' | 'archive' | 'patch' | 'snapshot' | 'test_report' | 'build_output' | 'log' | 'tool_output' | 'execution_receipt' | 'other'Public type alias for Artifact Kind; the declaration contains its complete type expression.
ArtifactStatustypetype ArtifactStatus = 'creating' | 'draft' | 'final' | 'archived' | 'invalidated' | 'deletion_pending' | 'deleted' | 'failed'Public type alias for Artifact Status; the declaration contains its complete type expression.

ArtifactAccessPolicySpec ​

Artifact Access Policy Spec interface with 8 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactAccessPolicySpec } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactAccessPolicySpec {
    defaultVisibility: 'private' | 'session' | 'workspace' | 'tenant' | 'shared';
    allowedPrincipalTypes?: ExecutionPrincipal['type'][];
    requiredReadScopes?: string[];
    requiredWriteScopes?: string[];
    requiredDeleteScopes?: string[];
    signedUrlTtlSeconds?: number;
    allowRangeRead?: boolean;
    allowCrossWorkspaceCopy?: boolean;
}

Contract members ​

MemberKindSignatureDescription
allowCrossWorkspaceCopypropertyallowCrossWorkspaceCopy?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
allowedPrincipalTypespropertyallowedPrincipalTypes?: ("system" | "agent" | "user" | "service")[]Public property; its type, readonly modifier and optionality are shown in the signature.
allowRangeReadpropertyallowRangeRead?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
defaultVisibilitypropertydefaultVisibility: "workspace" | "session" | "private" | "shared" | "tenant"Public property; its type, readonly modifier and optionality are shown in the signature.
requiredDeleteScopespropertyrequiredDeleteScopes?: string[]Public property; its type, readonly modifier and optionality are shown in the signature.
requiredReadScopespropertyrequiredReadScopes?: string[]Public property; its type, readonly modifier and optionality are shown in the signature.
requiredWriteScopespropertyrequiredWriteScopes?: string[]Public property; its type, readonly modifier and optionality are shown in the signature.
signedUrlTtlSecondspropertysignedUrlTtlSeconds?: numberPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactAccessRecord ​

Artifact Access Record interface with 5 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactAccessRecord } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactAccessRecord {
    visibility: ArtifactAccessPolicySpec['defaultVisibility'];
    ownerPrincipalId: string;
    workspaceId: string;
    allowedPrincipalIds?: string[];
    allowedRoles?: string[];
}

Contract members ​

MemberKindSignatureDescription
allowedPrincipalIdspropertyallowedPrincipalIds?: string[]Public property; its type, readonly modifier and optionality are shown in the signature.
allowedRolespropertyallowedRoles?: string[]Public property; its type, readonly modifier and optionality are shown in the signature.
ownerPrincipalIdpropertyownerPrincipalId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
visibilitypropertyvisibility: "workspace" | "session" | "private" | "shared" | "tenant"Public property; its type, readonly modifier and optionality are shown in the signature.
workspaceIdpropertyworkspaceId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactContentAddressingSpec ​

Artifact Content Addressing Spec interface with 3 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactContentAddressingSpec } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactContentAddressingSpec {
    hashAlgorithm: ArtifactHashAlgorithm;
    verifyOnRead: boolean;
    deduplicate: boolean;
}

Contract members ​

MemberKindSignatureDescription
deduplicatepropertydeduplicate: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
hashAlgorithmpropertyhashAlgorithm: ArtifactHashAlgorithmPublic property; its type, readonly modifier and optionality are shown in the signature.
verifyOnReadpropertyverifyOnRead: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactLineage ​

Artifact Lineage interface with 4 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactLineage } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactLineage {
    artifactId: string;
    ancestors: ArtifactLineageNode[];
    descendants: ArtifactLineageNode[];
    versions: ArtifactRecord[];
}

Contract members ​

MemberKindSignatureDescription
ancestorspropertyancestors: ArtifactLineageNode[]Public property; its type, readonly modifier and optionality are shown in the signature.
artifactIdpropertyartifactId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
descendantspropertydescendants: ArtifactLineageNode[]Public property; its type, readonly modifier and optionality are shown in the signature.
versionspropertyversions: ArtifactRecord[]Public property; its type, readonly modifier and optionality are shown in the signature.

ArtifactLineageNode ​

Artifact Lineage Node interface with 6 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactLineageNode } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactLineageNode {
    artifactId: string;
    versionId: string;
    logicalArtifactId: string;
    contentHash: string;
    kind?: ArtifactKind;
    transformation?: string;
}

Contract members ​

MemberKindSignatureDescription
artifactIdpropertyartifactId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
contentHashpropertycontentHash: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
kindpropertykind?: ArtifactKindPublic property; its type, readonly modifier and optionality are shown in the signature.
logicalArtifactIdpropertylogicalArtifactId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
transformationpropertytransformation?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
versionIdpropertyversionId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactPreviewPolicySpec ​

Artifact Preview Policy Spec interface with 3 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactPreviewPolicySpec } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactPreviewPolicySpec {
    enabled: boolean;
    maxPreviewBytes?: number;
    allowedMimeTypes?: string[];
}

Contract members ​

MemberKindSignatureDescription
allowedMimeTypespropertyallowedMimeTypes?: string[]Public property; its type, readonly modifier and optionality are shown in the signature.
enabledpropertyenabled: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
maxPreviewBytespropertymaxPreviewBytes?: numberPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactProfileSpec ​

Artifact Profile Spec interface with 15 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactProfileSpec } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactProfileSpec extends VersionedSpec {
    revision?: string;
    name?: string;
    storeRef: SpecRef;
    contentAddressing: ArtifactContentAddressingSpec;
    versioning: ArtifactVersioningPolicySpec;
    access: ArtifactAccessPolicySpec;
    retention: ArtifactRetentionPolicySpec;
    validation?: ArtifactValidationPolicySpec;
    preview?: ArtifactPreviewPolicySpec;
    allowedKinds?: ArtifactKind[];
    allowedMimeTypes?: string[];
    maxArtifactBytes?: number;
    metadata?: Record<string, unknown>;
}

Contract members ​

MemberKindSignatureDescription
accesspropertyaccess: ArtifactAccessPolicySpecPublic property; its type, readonly modifier and optionality are shown in the signature.
allowedKindspropertyallowedKinds?: ArtifactKind[]Public property; its type, readonly modifier and optionality are shown in the signature.
allowedMimeTypespropertyallowedMimeTypes?: string[]Public property; its type, readonly modifier and optionality are shown in the signature.
contentAddressingpropertycontentAddressing: ArtifactContentAddressingSpecPublic property; its type, readonly modifier and optionality are shown in the signature.
idpropertyid: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
maxArtifactBytespropertymaxArtifactBytes?: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
metadatapropertymetadata?: Record<string, unknown>Public property; its type, readonly modifier and optionality are shown in the signature.
namepropertyname?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
previewpropertypreview?: ArtifactPreviewPolicySpecPublic property; its type, readonly modifier and optionality are shown in the signature.
retentionpropertyretention: ArtifactRetentionPolicySpecPublic property; its type, readonly modifier and optionality are shown in the signature.
revisionpropertyrevision?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
storeRefpropertystoreRef: SpecRefPublic property; its type, readonly modifier and optionality are shown in the signature.
validationpropertyvalidation?: ArtifactValidationPolicySpecPublic property; its type, readonly modifier and optionality are shown in the signature.
versionpropertyversion: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
versioningpropertyversioning: ArtifactVersioningPolicySpecPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactProvenance ​

Artifact Provenance interface with 11 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactProvenance } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactProvenance {
    sourceType: 'user_upload' | 'agent_generated' | 'tool_generated' | 'command_generated' | 'derived' | 'imported' | 'snapshot' | 'patch';
    createdBy: string;
    sourceEventId?: string;
    toolInvocationId?: string;
    executionId?: string;
    workflowState?: string;
    sourceArtifactIds?: string[];
    transformation?: string;
    environmentHash?: string;
    commandHash?: string;
    metadata?: Record<string, unknown>;
}

Contract members ​

MemberKindSignatureDescription
commandHashpropertycommandHash?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
createdBypropertycreatedBy: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
environmentHashpropertyenvironmentHash?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
executionIdpropertyexecutionId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
metadatapropertymetadata?: Record<string, unknown>Public property; its type, readonly modifier and optionality are shown in the signature.
sourceArtifactIdspropertysourceArtifactIds?: string[]Public property; its type, readonly modifier and optionality are shown in the signature.
sourceEventIdpropertysourceEventId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
sourceTypepropertysourceType: "patch" | "snapshot" | "user_upload" | "agent_generated" | "tool_generated" | "command_generated" | "derived" | "imported"Public property; its type, readonly modifier and optionality are shown in the signature.
toolInvocationIdpropertytoolInvocationId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
transformationpropertytransformation?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
workflowStatepropertyworkflowState?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactRecord ​

Artifact Record interface with 41 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactRecord } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactRecord {
    id: string;
    versionId: string;
    versionNumber: number;
    revision: number;
    tenantId?: string;
    userId: string;
    workspaceId: string;
    sessionId?: string;
    runId?: string;
    agentId?: string;
    name: string;
    description?: string;
    relativePath?: string;
    kind: ArtifactKind;
    mimeType?: string;
    encoding?: string;
    sizeBytes: number;
    contentHash: string;
    hashAlgorithm: ArtifactHashAlgorithm;
    storageRef: ArtifactStorageRef;
    /** True when this version reused an already committed content-addressed Blob. */
    deduplicated?: boolean;
    logicalArtifactId: string;
    parentVersionId?: string;
    previousVersionId?: string;
    nextVersionId?: string;
    sourceArtifactIds?: string[];
    derivedArtifactIds?: string[];
    provenance: ArtifactProvenance;
    access: ArtifactAccessRecord;
    retention: ArtifactRetentionRecord;
    status: ArtifactStatus;
    immutable?: boolean;
    sensitive?: boolean;
    tags?: string[];
    createdAt: string;
    updatedAt: string;
    finalizedAt?: string;
    archivedAt?: string;
    expiresAt?: string;
    deletedAt?: string;
    metadata?: Record<string, unknown>;
}

Contract members ​

MemberKindSignatureDescription
accesspropertyaccess: ArtifactAccessRecordPublic property; its type, readonly modifier and optionality are shown in the signature.
agentIdpropertyagentId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
archivedAtpropertyarchivedAt?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
contentHashpropertycontentHash: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
createdAtpropertycreatedAt: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
deduplicatedpropertydeduplicated?: booleanTrue when this version reused an already committed content-addressed Blob.
deletedAtpropertydeletedAt?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
derivedArtifactIdspropertyderivedArtifactIds?: string[]Public property; its type, readonly modifier and optionality are shown in the signature.
descriptionpropertydescription?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
encodingpropertyencoding?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
expiresAtpropertyexpiresAt?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
finalizedAtpropertyfinalizedAt?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
hashAlgorithmpropertyhashAlgorithm: ArtifactHashAlgorithmPublic property; its type, readonly modifier and optionality are shown in the signature.
idpropertyid: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
immutablepropertyimmutable?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
kindpropertykind: ArtifactKindPublic property; its type, readonly modifier and optionality are shown in the signature.
logicalArtifactIdpropertylogicalArtifactId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
metadatapropertymetadata?: Record<string, unknown>Public property; its type, readonly modifier and optionality are shown in the signature.
mimeTypepropertymimeType?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
namepropertyname: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
nextVersionIdpropertynextVersionId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
parentVersionIdpropertyparentVersionId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
previousVersionIdpropertypreviousVersionId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
provenancepropertyprovenance: ArtifactProvenancePublic property; its type, readonly modifier and optionality are shown in the signature.
relativePathpropertyrelativePath?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
retentionpropertyretention: ArtifactRetentionRecordPublic property; its type, readonly modifier and optionality are shown in the signature.
revisionpropertyrevision: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
runIdpropertyrunId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
sensitivepropertysensitive?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
sessionIdpropertysessionId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
sizeBytespropertysizeBytes: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
sourceArtifactIdspropertysourceArtifactIds?: string[]Public property; its type, readonly modifier and optionality are shown in the signature.
statuspropertystatus: ArtifactStatusPublic property; its type, readonly modifier and optionality are shown in the signature.
storageRefpropertystorageRef: ArtifactStorageRefPublic property; its type, readonly modifier and optionality are shown in the signature.
tagspropertytags?: string[]Public property; its type, readonly modifier and optionality are shown in the signature.
tenantIdpropertytenantId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
updatedAtpropertyupdatedAt: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
userIdpropertyuserId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
versionIdpropertyversionId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
versionNumberpropertyversionNumber: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
workspaceIdpropertyworkspaceId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactRef ​

Artifact Ref interface with 7 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactRef } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactRef {
    artifactId: string;
    versionId?: string;
    contentHash: string;
    kind?: ArtifactKind;
    mimeType?: string;
    sizeBytes?: number;
    accessTokenRef?: string;
}

Contract members ​

MemberKindSignatureDescription
accessTokenRefpropertyaccessTokenRef?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
artifactIdpropertyartifactId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
contentHashpropertycontentHash: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
kindpropertykind?: ArtifactKindPublic property; its type, readonly modifier and optionality are shown in the signature.
mimeTypepropertymimeType?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
sizeBytespropertysizeBytes?: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
versionIdpropertyversionId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactRetentionPolicySpec ​

Artifact Retention Policy Spec interface with 7 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactRetentionPolicySpec } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactRetentionPolicySpec {
    defaultTtlSeconds?: number;
    archiveAfterSeconds?: number;
    deleteAfterSeconds?: number;
    retainFinal?: boolean;
    retainOnFailure?: boolean;
    legalHoldSupported?: boolean;
    garbageCollectUnreferenced?: boolean;
}

Contract members ​

MemberKindSignatureDescription
archiveAfterSecondspropertyarchiveAfterSeconds?: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
defaultTtlSecondspropertydefaultTtlSeconds?: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
deleteAfterSecondspropertydeleteAfterSeconds?: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
garbageCollectUnreferencedpropertygarbageCollectUnreferenced?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
legalHoldSupportedpropertylegalHoldSupported?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
retainFinalpropertyretainFinal?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
retainOnFailurepropertyretainOnFailure?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactRetentionRecord ​

Artifact Retention Record interface with 5 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactRetentionRecord } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactRetentionRecord {
    policyRef?: SpecRef;
    expiresAt?: string;
    archivedAt?: string;
    legalHold?: boolean;
    referencedByCount?: number;
}

Contract members ​

MemberKindSignatureDescription
archivedAtpropertyarchivedAt?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
expiresAtpropertyexpiresAt?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
legalHoldpropertylegalHold?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
policyRefpropertypolicyRef?: SpecRefPublic property; its type, readonly modifier and optionality are shown in the signature.
referencedByCountpropertyreferencedByCount?: numberPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactStorageRef ​

Artifact Storage Ref interface with 7 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactStorageRef } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactStorageRef {
    storeId: string;
    bucketOrNamespace?: string;
    objectKey: string;
    versionId?: string;
    etag?: string;
    region?: string;
    encrypted?: boolean;
}

Contract members ​

MemberKindSignatureDescription
bucketOrNamespacepropertybucketOrNamespace?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
encryptedpropertyencrypted?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
etagpropertyetag?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
objectKeypropertyobjectKey: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
regionpropertyregion?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
storeIdpropertystoreId: stringPublic property; its type, readonly modifier and optionality are shown in the signature.
versionIdpropertyversionId?: stringPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactValidationPolicySpec ​

Artifact Validation Policy Spec interface with 7 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactValidationPolicySpec } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactValidationPolicySpec {
    verifyMimeType?: boolean;
    verifyExtension?: boolean;
    malwareScanRef?: SpecRef;
    archiveBombProtection?: boolean;
    maxExpandedBytes?: number;
    checksumRequired?: boolean;
    rejectExecutableUploads?: boolean;
}

Contract members ​

MemberKindSignatureDescription
archiveBombProtectionpropertyarchiveBombProtection?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
checksumRequiredpropertychecksumRequired?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
malwareScanRefpropertymalwareScanRef?: SpecRefPublic property; its type, readonly modifier and optionality are shown in the signature.
maxExpandedBytespropertymaxExpandedBytes?: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
rejectExecutableUploadspropertyrejectExecutableUploads?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
verifyExtensionpropertyverifyExtension?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.
verifyMimeTypepropertyverifyMimeType?: booleanPublic property; its type, readonly modifier and optionality are shown in the signature.

ArtifactVersioningPolicySpec ​

Artifact Versioning Policy Spec interface with 3 public fields or methods.

  • Kind: interface
  • Import: import type { ArtifactVersioningPolicySpec } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export interface ArtifactVersioningPolicySpec {
    /** E4 guarantees immutable history; replacement semantics are deliberately unsupported. */
    strategy: 'append_only';
    retainPreviousVersions: true;
    maxVersions?: number;
}

Contract members ​

MemberKindSignatureDescription
maxVersionspropertymaxVersions?: numberPublic property; its type, readonly modifier and optionality are shown in the signature.
retainPreviousVersionspropertyretainPreviousVersions: truePublic property; its type, readonly modifier and optionality are shown in the signature.
strategypropertystrategy: "append_only"E4 guarantees immutable history; replacement semantics are deliberately unsupported.

ArtifactHashAlgorithm ​

Public type alias for Artifact Hash Algorithm; the declaration contains its complete type expression.

  • Kind: type
  • Import: import type { ArtifactHashAlgorithm } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export type ArtifactHashAlgorithm = 'sha256' | 'blake3';

ArtifactKind ​

Public type alias for Artifact Kind; the declaration contains its complete type expression.

  • Kind: type
  • Import: import type { ArtifactKind } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export type ArtifactKind = 'document' | 'code' | 'dataset' | 'image' | 'audio' | 'video' | 'table' | 'report' | 'archive' | 'patch' | 'snapshot' | 'test_report' | 'build_output' | 'log' | 'tool_output' | 'execution_receipt' | 'other';

ArtifactStatus ​

Public type alias for Artifact Status; the declaration contains its complete type expression.

  • Kind: type
  • Import: import type { ArtifactStatus } from '@codesoul-co/hypha-core';
  • Source module: contracts/artifact

Declaration ​

text
export type ArtifactStatus = 'creating' | 'draft' | 'final' | 'archived' | 'invalidated' | 'deletion_pending' | 'deleted' | 'failed';