assetRelationsCreateAssetRelationsByAssetId.ts•1.56 kB
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import { assetRelationsCreateAssetRelationsByAssetId } from "../../funcs/assetRelationsCreateAssetRelationsByAssetId.js";
import { CreateAssetRelationsByAssetIdRequest$zodSchema } from "../../models/createassetrelationsbyassetidop.js";
import { formatResult, ToolDefinition } from "../tools.js";
const args = {
request: CreateAssetRelationsByAssetIdRequest$zodSchema,
};
export const tool$assetRelationsCreateAssetRelationsByAssetId: ToolDefinition<
typeof args
> = {
name: "create-asset-relations",
description: `Add related assets by asset ID
Relates an asset to other assets by their asset IDs, an immutable identifier, regardless of public ID, display name, asset folder, resource type or deliver type. This is a bidirectional process, meaning that the asset will also be added as a related_asset to all the other assets specified. The relation is also a one to many relationship, where the asset is related to all the assets specified, but those assets aren't also related to each other.`,
scopes: ["librarian"],
args,
tool: async (client, args, ctx) => {
const [result, apiCall] = await assetRelationsCreateAssetRelationsByAssetId(
client,
args.request,
{ fetchOptions: { signal: ctx.signal } },
).$inspect();
if (!result.ok) {
return {
content: [{ type: "text", text: result.error.message }],
isError: true,
};
}
const value = result.value;
return formatResult(value, apiCall);
},
};