
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@woodwing/a10-client-sdk
Advanced tools
> This is a BETA version of the Assets 10 client SDK, subject to change
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.
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;
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
> This is a BETA version of the Assets 10 client SDK, subject to change
We found that @woodwing/a10-client-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?

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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.