Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# AGENTS.md - Coding Guidelines for tiny-oss

tiny-oss is a tiny object storage SDK focused on uploading, with a functional API: every operation is a standalone function taking the client options as the first argument. Built-in entries: Aliyun OSS (default `tiny-oss`), Tencent Cloud COS, Huawei Cloud OBS, AWS S3 (plus S3-compatible stores), Azure Blob Storage. Runs in browsers (XHR by default), Node.js/Service Workers (fetch transport) and WeChat mini programs (wx transport).
tiny-oss is a tiny object storage SDK focused on uploading, with a functional API: every operation is a standalone function taking the client options as the first argument. Built-in entries: Aliyun OSS (default `tiny-oss`), Tencent Cloud COS, Huawei Cloud OBS, Volcano Engine TOS, AWS S3 (plus S3-compatible stores), Azure Blob Storage. Runs in browsers (XHR by default), Node.js/Service Workers (fetch transport) and WeChat mini programs (wx transport).

## Architecture

- Every operation is a factory over a `Protocol` (`src/protocol.ts`). `src/ops/` holds one file per operation (`createPut`, `createMultipartUpload`, …); each entry (`src/index.ts`, `src/cos|obs|aws|azure/index.ts`) binds a provider's protocol and exports the operations.
- Every operation is a factory over a `Protocol` (`src/protocol.ts`). `src/ops/` holds one file per operation (`createPut`, `createMultipartUpload`, …); each entry (`src/index.ts`, `src/cos|obs|tos|aws|azure/index.ts`) binds a provider's protocol and exports the operations.
- Network layer is injectable: `src/transport.ts` (XHR default) + `src/transports/` (fetch, wx).
- Public types live in `src/types.ts` as top-level named exports (`Options`, `BlobLike`, `PutOptions`, `SignatureUrlOptions`, …); entries also export `setTransport`, `getTransport`, `bindOptions` and all those types by name.
- `putSymlink` is OSS-only; the Azure entry omits `abortMultipartUpload`/`listParts`/`listUploads`/`uploadPartCopy`.
- `putSymlink` is exported by the OSS and TOS entries; the Azure entry omits `abortMultipartUpload`/`listParts`/`listUploads`/`uploadPartCopy`.

## Hard constraints

Expand Down
Loading