RegistryDashboard

Forks

Definition forking with lineage tracking. Fork published definitions and trace ancestry chains.

4 methods

client.forks.create()

Fork a published definition to create a new owned copy. The fork starts as a draft.

Requires authentication
typerequiredstring

Source definition type.

agentcommandworkflowpipeline
namerequiredstring

Source definition name.

versionrequiredstring

Source definition version.

newNamerequiredstring

Name for the forked definition.

visibilityoptionalstring

Visibility of the fork.

privateunlistedpublic
Default: private
displayNameoptionalstring

Display name for the fork.

descriptionoptionalstring

Description for the fork.

definitionrequiredDefinition

The newly created fork definition.

forkrequiredFork

Fork relationship metadata.

sourcerequiredDefinitionListItem

Source definition summary.

warningsoptionalstring[]

Any warnings generated during forking.

create(type: DefinitionType, name: string, version: string, body: ForkDefinitionBody): Promise<ForkResponse>
typescript
import { RegistryClient } from '@uluops/registry-sdk';

const client = new RegistryClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.forks.create({
    type: 'agent',
    name: 'my-project',
    version: '1.0.0',
    newName: 'my-fork',
  });

console.log(result.definition);
Response Type
// Promise<ForkResponse>
{
  definition: Definition;
  fork: Fork;
  source: DefinitionListItem;
  warnings?: string[];
}

client.forks.isForkable()

Check whether a definition can be forked by the current user.

typerequiredstring

Definition type.

agentcommandworkflowpipeline
namerequiredstring

Definition name.

versionrequiredstring

Definition version.

canForkrequiredboolean

Whether the definition can be forked.

reasonoptionalstring

Reason if forking is not allowed.

requiresSubscriptionoptionalboolean

Whether a paid subscription is required to fork.

isForkable(type: DefinitionType, name: string, version: string): Promise<ForkableCheck>
typescript
import { RegistryClient } from '@uluops/registry-sdk';

const client = new RegistryClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.forks.isForkable('agent', 'my-project', '1.0.0');

console.log(result.canFork);
Response Type
// Promise<ForkableCheck>
{
  canFork: boolean;
  reason?: string;
  requiresSubscription?: boolean;
}

client.forks.getAncestry()

Get the fork ancestry chain. Shows the full lineage from original to current fork.

typerequiredstring

Definition type.

agentcommandworkflowpipeline
namerequiredstring

Definition name.

versionrequiredstring

Definition version.

currentoptionalDefinitionListItem

This definition.

sourceoptionalDefinitionListItem | null

Direct source (if this is a fork).

chainoptionalDefinitionListItem[]

Full ancestry chain from original.

getAncestry(type: DefinitionType, name: string, version: string): Promise<ForkLineage>
typescript
import { RegistryClient } from '@uluops/registry-sdk';

const client = new RegistryClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.forks.getAncestry('agent', 'my-project', '1.0.0');

console.log(result.current);
Response Type
// Promise<ForkLineage>
{
  current?: DefinitionListItem;
  source?: DefinitionListItem | null;
  chain?: DefinitionListItem[];
}

client.forks.list()

List all forks derived from this definition.

typerequiredstring

Definition type.

agentcommandworkflowpipeline
namerequiredstring

Definition name.

versionrequiredstring

Definition version.

forksrequiredForkEntry[]

Array of fork entries.

totalForksrequirednumber

Total number of forks.

list(type: DefinitionType, name: string, version: string): Promise<ForkListResponse>
typescript
import { RegistryClient } from '@uluops/registry-sdk';

const client = new RegistryClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.forks.list('agent', 'my-project', '1.0.0');

console.log(result.forks);
Response Type
// Promise<ForkListResponse>
{
  forks: ForkEntry[];
  totalForks: number;
}