@contentauth/c2pa-node
    Preparing search index...

    Interface BuilderInterface

    interface BuilderInterface {
        addAction(actionJson: string): void;
        addAssertion(
            label: string,
            assertion: unknown,
            assertionKind?: ManifestAssertionKind,
        ): void;
        addIngredient(
            ingredientJson: string,
            ingredient?: SourceAsset,
        ): Promise<void>;
        addIngredientFromReader(reader: ReaderInterface): Ingredient;
        addResource(uri: string, resource: SourceAsset): Promise<void>;
        getHandle(): unknown;
        getManifestDefinition(): Manifest;
        setIntent(intent: BuilderIntent): void;
        setNoEmbed(noEmbed: boolean): void;
        setRemoteUrl(url: string): void;
        sign(
            signer: LocalSignerInterface,
            input: SourceAsset,
            output: DestinationAsset,
        ): Buffer;
        signAsync(
            callbackSigner:
                | CallbackSignerInterface
                | IdentityAssertionSignerInterface,
            input: SourceAsset,
            output: DestinationAsset,
        ): Promise<Buffer<ArrayBufferLike>>;
        signConfigAsync(
            callback: (data: Buffer) => Promise<Buffer<ArrayBufferLike>>,
            signerConfig: JsCallbackSignerConfig,
            input: SourceAsset,
            output: DestinationAsset,
        ): Promise<Buffer<ArrayBufferLike>>;
        signFile(
            signer: LocalSignerInterface,
            filePath: string,
            output: DestinationAsset,
        ): Buffer;
        toArchive(asset: DestinationAsset): Promise<void>;
        updateManifestProperty(
            property: string,
            value: string | ClaimVersion,
        ): void;
    }

    Implemented by

    Index

    Methods

    • Add a single action to the manifest. This is a convenience method for adding an action to the Actions assertion.

      Parameters

      • actionJson: string

        The JSON representation of the action

      Returns void

    • Add CBOR assertion to the builder

      Parameters

      • label: string

        The label of the assertion

      • assertion: unknown

        The assertion, should be a string if the type is JSON, otherwise a JS Object

      • OptionalassertionKind: ManifestAssertionKind

        The type of assertion

      Returns void

    • Add an ingredient to the manifest

      Parameters

      • ingredientJson: string

        The JSON representation of the ingredient

      • Optionalingredient: SourceAsset

        Optional source asset (buffer or file) for the ingredient

      Returns Promise<void>

    • Add a resource from a buffer or file

      Parameters

      • uri: string

        The URI of the resource

      • resource: SourceAsset

        The source and format of the resource

      Returns Promise<void>

    • Get the internal handle for use with Neon bindings

      Returns unknown

    • Getter for the builder's manifest definition

      Returns Manifest

      The manifest definition

    • An intent lets the API know what kind of manifest to create. Intents are Create, Edit, or Update. This allows the API to check that you are doing the right thing. It can also do things for you, like add parent ingredients from the source asset and automatically add required c2pa.created or c2pa.opened actions. Create requires a DigitalSourceType. It is used for assets without a parent ingredient. Edit requires a parent ingredient and is used for most assets that are being edited. Update is a special case with many restrictions but is more compact than Edit.

      Parameters

      • intent: BuilderIntent

        The intent of the manifest

      Returns void

    • Set the no embed flag of the manifest

      Parameters

      • noEmbed: boolean

        The no embed flag of the manifest

      Returns void

    • Set the remote URL of the manifest

      Parameters

      • url: string

        The remote URL of the manifest

      Returns void

    • Sign an asset from a buffer or file asynchronously, using a callback and not passing a private key

      Parameters

      Returns Promise<Buffer<ArrayBufferLike>>

      the bytes of the c2pa_manifest that was embedded

    • Update a string property of the manifest

      Parameters

      Returns void

      The manifest definition