228 lines
6.1 KiB
Markdown
228 lines
6.1 KiB
Markdown
# @coze-arch/bot-api
|
|
|
|
> RPC wrapper for bot studio application
|
|
|
|
## Project Overview
|
|
|
|
This package provides a comprehensive API client library for the Coze Bot Studio platform. It offers TypeScript-first RPC wrappers for all bot studio services, including developer APIs, playground functionality, knowledge management, workflow orchestration, and more. The package centralizes API interactions and provides type-safe interfaces for seamless integration across the platform.
|
|
|
|
## Features
|
|
|
|
- **Comprehensive API Coverage**: Complete wrapper for all bot studio services including:
|
|
- Developer APIs for bot management and development
|
|
- Playground APIs for testing and experimentation
|
|
- Knowledge management and memory systems
|
|
- Workflow and connector APIs
|
|
- Plugin development and marketplace interactions
|
|
- Authentication and permission management
|
|
- Payment and trading functionality
|
|
- Multimedia and resource management
|
|
|
|
- **TypeScript-First**: Full type safety with auto-generated IDL definitions
|
|
- **Modular Architecture**: Import only the APIs you need with tree-shaking support
|
|
- **Error Handling**: Built-in error handling with customizable toast notifications
|
|
- **Request Interceptors**: Global request/response interceptors for logging and monitoring
|
|
- **Axios Integration**: Built on top of axios with custom configuration support
|
|
|
|
## Get Started
|
|
|
|
### Installation
|
|
|
|
Add this package to your `package.json` dependencies and set it to `workspace:*` version:
|
|
|
|
```json
|
|
{
|
|
"dependencies": {
|
|
"@coze-arch/bot-api": "workspace:*"
|
|
}
|
|
}
|
|
```
|
|
|
|
Then run:
|
|
```bash
|
|
rush update
|
|
```
|
|
|
|
### Basic Usage
|
|
|
|
#### Import Main API Services
|
|
|
|
```typescript
|
|
import {
|
|
DeveloperApi,
|
|
PlaygroundApi,
|
|
KnowledgeApi,
|
|
workflowApi
|
|
} from '@coze-arch/bot-api';
|
|
|
|
// Use developer API
|
|
const bots = await DeveloperApi.getBotList({
|
|
page: 1,
|
|
page_size: 20
|
|
});
|
|
|
|
// Use playground API
|
|
const result = await PlaygroundApi.chat({
|
|
bot_id: 'bot_123',
|
|
message: 'Hello world'
|
|
});
|
|
```
|
|
|
|
#### Import Specific API Modules
|
|
|
|
```typescript
|
|
// Import specific IDL definitions
|
|
import { BotInfo } from '@coze-arch/bot-api/developer_api';
|
|
import { ChatMessage } from '@coze-arch/bot-api/playground_api';
|
|
import { KnowledgeBase } from '@coze-arch/bot-api/knowledge';
|
|
|
|
// Import specific service implementations
|
|
import DeveloperApiService from '@coze-arch/bot-api/developer_api';
|
|
import PlaygroundApiService from '@coze-arch/bot-api/playground_api';
|
|
```
|
|
|
|
#### Error Handling
|
|
|
|
```typescript
|
|
import {
|
|
APIErrorEvent,
|
|
handleAPIErrorEvent,
|
|
addGlobalRequestInterceptor
|
|
} from '@coze-arch/bot-api';
|
|
|
|
// Add global error handler
|
|
handleAPIErrorEvent((error) => {
|
|
console.error('API Error:', error);
|
|
});
|
|
|
|
// Add request interceptor for authentication
|
|
addGlobalRequestInterceptor((config) => {
|
|
config.headers.Authorization = `Bearer ${getAuthToken()}`;
|
|
return config;
|
|
});
|
|
```
|
|
|
|
#### Custom Request Configuration
|
|
|
|
```typescript
|
|
import type { BotAPIRequestConfig } from '@coze-arch/bot-api';
|
|
|
|
// Disable error toast for specific request
|
|
const result = await DeveloperApi.getBotInfo(
|
|
{ bot_id: 'bot_123' },
|
|
{ __disableErrorToast: true } as BotAPIRequestConfig
|
|
);
|
|
```
|
|
|
|
## API Reference
|
|
|
|
### Core Services
|
|
|
|
#### Developer API (`DeveloperApi`)
|
|
- Bot management and configuration
|
|
- Agent development and deployment
|
|
- Plugin management and publishing
|
|
|
|
#### Playground API (`PlaygroundApi`)
|
|
- Bot testing and conversation simulation
|
|
- Chat message handling
|
|
- Debug and monitoring capabilities
|
|
|
|
#### Knowledge API (`KnowledgeApi`)
|
|
- Knowledge base management
|
|
- Document upload and processing
|
|
- Semantic search and retrieval
|
|
|
|
#### Workflow API (`workflowApi`)
|
|
- Workflow definition and execution
|
|
- Task orchestration and scheduling
|
|
- Integration with external services
|
|
|
|
### Specialized Services
|
|
|
|
#### Memory & Context
|
|
- `MemoryApi` - Conversation memory management
|
|
- `xMemoryApi` - Extended memory functionality
|
|
- `webContext` - Web-based context handling
|
|
|
|
#### Marketplace & Plugins
|
|
- `PluginDevelopApi` - Plugin development tools
|
|
- `connectorApi` - Third-party integrations
|
|
- `marketInteractionApi` - Marketplace interactions
|
|
|
|
#### Authentication & Permissions
|
|
- `permissionAuthzApi` - Authorization management
|
|
- `permissionOAuth2Api` - OAuth2 integration
|
|
- `patPermissionApi` - Personal access tokens
|
|
|
|
#### Commerce & Trading
|
|
- `tradeApi` - Payment and billing
|
|
- `benefitApi` - User benefits and rewards
|
|
- `incentiveApi` - Incentive programs
|
|
|
|
### Configuration Types
|
|
|
|
```typescript
|
|
interface BotAPIRequestConfig extends AxiosRequestConfig {
|
|
__disableErrorToast?: boolean; // Disable automatic error toasts
|
|
}
|
|
```
|
|
|
|
## Available Exports
|
|
|
|
The package provides both high-level service instances and low-level IDL access:
|
|
|
|
### Service Instances
|
|
```typescript
|
|
DeveloperApi, PlaygroundApi, ProductApi, NotifyApi,
|
|
MemoryApi, KnowledgeApi, cardApi, appBuilderApi,
|
|
workflowApi, debuggerApi, tradeApi, benefitApi,
|
|
incentiveApi, fulfillApi, hubApi, SocialApi
|
|
```
|
|
|
|
### IDL Types & Services
|
|
```typescript
|
|
// Access via subpath imports
|
|
'@coze-arch/bot-api/developer_api'
|
|
'@coze-arch/bot-api/playground_api'
|
|
'@coze-arch/bot-api/knowledge'
|
|
'@coze-arch/bot-api/workflow_api'
|
|
// ... and many more
|
|
```
|
|
|
|
## Development
|
|
|
|
### Available Scripts
|
|
|
|
- `npm run build` - Build the package (no-op, source-only package)
|
|
- `npm run lint` - Run ESLint
|
|
- `npm run test` - Run tests with Vitest
|
|
- `npm run test:cov` - Run tests with coverage
|
|
|
|
### Project Structure
|
|
|
|
```
|
|
src/
|
|
├── idl/ # Auto-generated IDL definitions
|
|
│ ├── developer_api.ts # Developer service types
|
|
│ ├── playground_api.ts # Playground service types
|
|
│ └── ... # Other service definitions
|
|
├── developer-api.ts # Developer API service implementation
|
|
├── playground-api.ts # Playground API service implementation
|
|
├── axios.ts # Custom axios configuration
|
|
└── index.ts # Main exports
|
|
```
|
|
|
|
## Dependencies
|
|
|
|
This package depends on:
|
|
- `@coze-arch/bot-http` - HTTP client utilities and interceptors
|
|
- `@coze-arch/bot-semi` - UI components for error handling
|
|
- `@coze-arch/idl` - Interface definition language utilities
|
|
- `axios` - HTTP client library
|
|
- `query-string` - URL query string utilities
|
|
|
|
## License
|
|
|
|
Apache-2.0
|