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';