open-index/open-npm huggingface dataset:
npm package: @musallam/ims-client
Description: Adobe IMS (Identity Management Services) authentication client
Latest version: 4.3.1

# @musallam/ims-client

TypeScript client library for Adobe IMS (Identity Management Services) authentication and token management.

This package is part of the [firefly-services-clients](https://github.com/ahmed-musallam/firefly-services-clients) monorepo.

## Features

- 🚀 **Full TypeScript support** with auto-complete and type safety
- 🔐 **Simple acquisition and refresh of IMS access tokens**
- 🔄 **Automatic token management utilities**
- 🧩 **Works seamlessly with other firefly-services client packages**

## Installation

```bash
npm install @musallam/ims-client
```

## Quick Start

```typescript
import { TokenIMSClient } from '@musallam/ims-client';

// 1. Instantiate the IMS client
const imsClient = new TokenIMSClient({
  clientId: 'YOUR_CLIENT_ID',
  clientSecret: 'YOUR_CLIENT_SECRET',
  scopes: ['openid', 'creative_sdk', 'AdobeID'],
});

// 2. Acquire an access token
const accessToken = await imsClient.getAccessToken();
console.log('IMS Token:', accessToken);

// Tokens are cached and automatically refreshed before expiry
```

## Use Cases

- Obtain and refresh OAuth access tokens for Adobe APIs
- Integrate with [@musallam/firefly-client](../firefly-client) or [@musallam/storage-and-collaboration-client](../storage-and-collaboration-client)
- Manage authentication for server-side and command-line applications

## API Overview

### `TokenIMSClient`

- `constructor(options)`
  - `clientId` (string)
  - `clientSecret` (string)
  - `scopes` (string[])
- `getAccessToken(): Promise<string>`
  - Fetches a valid (cached or new) IMS access token.

### Example integration

```typescript
import {
  StorageAndCollaborationClient,
  STORAGE_AXIOS_INSTANCE,
} from '@musallam/storage-and-collaboration-client';
import { TokenIMSClient } from '@musallam/ims-client';

const imsClient = new TokenIMSClient({
  clientId: 'YOUR_CLIENT_ID',
  clientSecret: 'YOUR_CLIENT_SECRET',
  scopes: ['openid', 'creative_sdk', 'AdobeID'],
});

STORAGE_AXIOS_INSTANCE.interceptors.request.use(async (config) => {
  const token = await imsClient.getAccessToken();
  config.headers.Authorization = `Bearer ${token}`;
  return config;
});
```

## Documentation

For full API documentation, see: [https://ahmed-musallam.github.io/firefly-services-clients/ims-client/](https://ahmed-musallam.github.io/firefly-services-clients/ims-client/)
npm package: @musallam/photoshop-client
Description: TypeScript client library for Adobe Photoshop API
Latest version: 4.3.1

# @musallam/photoshop-client

TypeScript client library for the Adobe Photoshop API.

This package is part of the [firefly-services-clients](https://github.com/ahmed-musallam/firefly-services-clients) monorepo.

## Features

- 🚀 **Full TypeScript support** with auto-generated types from OpenAPI spec
- 📦 **API coverage** for major Adobe Photoshop endpoints
- 🔄 **Async job polling utilities** for long-running operations
- 🔐 **Built-in authentication** via IMS client
- 📝 **Comprehensive documentation** and usage examples

## Installation

```bash
npm install @musallam/photoshop-client
```

## Quick Start

```typescript
import {
  PhotoshopClient,
  PHOTOSHOP_AXIOS_INSTANCE,
  TokenIMSClient,
} from '@musallam/photoshop-client';

// 1. Setup authentication
const imsClient = new TokenIMSClient({
  clientId: 'YOUR_CLIENT_ID',
  clientSecret: 'YOUR_CLIENT_SECRET',
  scopes: ['openid', 'creative_sdk', 'AdobeID'],
});

// 2. Configure axios instance
PHOTOSHOP_AXIOS_INSTANCE.interceptors.request.use(async (config) => {
  const token = await imsClient.getAccessToken();
  config.headers.Authorization = `Bearer ${token}`;
  config.headers['x-api-key'] = 'YOUR_CLIENT_ID';
  return config;
});

// 3. Use the client
const jobs = await PhotoshopClient.getJobs({
  limit: 10,
});
console.log(jobs);
```

## API Coverage

### Jobs

- `getJobs()` - List jobs for your account
- `createJob()` - Submit a new Photoshop job
- `getJob()` - Retrieve details about a specific job
- `cancelJob()` - Cancel an in-progress job

### Documents

- `getDocument()` - Retrieve a Photoshop document
- `createDocument()` - Create a new document
- `updateDocument()` - Update or edit an existing document

---

For full API reference and advanced usage, see: [https://ahmed-musallam.github.io/firefly-services-clients/photoshop-client/](https://ahmed-musallam.github.io/firefly-services-clients/photoshop-client/)