New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@woodwing/a10-client-sdk

Package Overview
Dependencies
Maintainers
5
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@woodwing/a10-client-sdk

> This is a BETA version of the Assets 10 client SDK, subject to change

latest
Source
npmnpm
Version
0.0.8
Version published
Maintainers
5
Created
Source

Assets 10 Client SDK

This is a BETA version of the Assets 10 client SDK, subject to change

Use assets-client-sdk for Assets 6

The Assets Client SDK can be used to build integrations with Assets and contains a plugin context service for UI plugins and provides functionality to request data from the server. Full typings are available which should show up automatically in your IDE.

Installation

npm install --save @woodwing/a10-client-sdk

Now you can either start importing the classes from the library in your Typescript/ES6 project:

import { Assets10Client } from '@woodwing/a10-client-sdk';

Or if you include the assets-client-sdk.min.js file manually in an older codebase:

window.AssetsClientSdk.Assets10Client;

Usage

To initialize communication, use the static Assets10Client.bootstrap function.

const client = await Assets10Client.bootstrap();

You can access the current plugin context data at any point.

const context = client.getPluginContext();
context.configProperties['my_key']
context.app.queryString
context.app.folderSelection
context.app.assetSelection
context.app.userProfile

The following methods are currently available to interact with the client interface:

client.getFieldInfo()
client.getSelection()
client.onSelectionUpdate((payload: SelectedItem[]) => { /* do something */ })
client.openSearch(query: string, sort: string)
client.openBrowse(folderPath: string)
client.openAssets(assetIds: string[])
client.pinCollections(collectionIds: string[])
client.translate(request: TranslationRequest)
client.openUploadDialog(uploadFolderPath: string)
client.onUploadProgress(progress: UploadProgressUpdatePayload)

The following actions can be applied to the server to request data or perform updates:

client.search(query: Query)
client.updateBulkByQuery(queryString: string, metadata: Record<string, unknown>)
client.updateBulkById(assetIds: string[], metadata: Record<string, unknown>)
client.createPlaceholder(assetPath: string, metadata: Record<string, unknown>)
client.create(assetPath: string, metadata: Record<string, unknown>, file: File, uploadProgressCallback)
client.createCollection(path: string, name: string)
client.copy(source: string, target: string, folderReplacePolicy: string, fileReplacePolicy: string, filterQuery: string, flattenFolders: boolean, processCallback)
client.move(source: string, target: string, folderReplacePolicy: string, fileReplacePolicy: string, processCallback)
client.remove({ assetIds: string[] }, processCallback)
client.remove({ q: string }, processCallback)
client.remove({ folderPath: string }, processCallback)
client.addToCollection(collectionId: string, assetIds: string[])
client.removeFromCollection(collectionId: string, assetIds: string[])

Models:

SelectedItem: {
    id: AssetId;
    metadata: Record<string, unknown>;
}

Query: {
    q: string;
    num: number;
    sort: string;
}

ProcessInfoUpdatePayload: {
    id: string;
    state: string;
    progress: number;
    total: number;
    errorCount: number;
}

UploadProgressUpdatePayload: {
    sessionId?: string; // only available when tracked using onUploadProgress
    state: UploadSessionState;
    total: number;
    uploaded: number;
    progress: number;
}

TranslationRequest: {
 key: string,
 params: {
    myParamName: 'my_value',
    myOtherParamName: 'my_other_value',
 }
}

sort: 'field-order'; // filename-asc | assetCreated-desc
folderReplacePolicy: 'AUTO_RENAME' | 'MERGE' | 'ABORT';
fileReplacePolicy: 'AUTO_RENAME' | 'DO_NOTHING' | 'ABORT';
uploadProgressCallback: (payload: UploadProgressUpdatePayload) => void;
processCallback: (payload: ProcessInfoUpdatePayload) => void;

FAQs

Package last updated on 19 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts