tezign-ai-appstore-sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,30 @@
1
+ # tezign-ai-appstore-sdk
2
+
3
+ 浏览器端上传 SDK:调用平台的 uploads API 创建文件记录,获取最小权限 STS 临时凭证,然后使用 `ali-oss` 在浏览器侧执行 `multipartUpload` 上传,并返回你们的 CDN 永久公网链接。
4
+
5
+ ## 使用方式(浏览器)
6
+
7
+ ```ts
8
+ import { createOssUploadClient } from 'tezign-ai-appstore-sdk'
9
+
10
+ const client = createOssUploadClient({
11
+ baseUrl: 'https://platform.example.com',
12
+ projectId: 'your-project-id',
13
+ // 第三方 Supabase:由业务方获取 access_token 后提供给 SDK
14
+ getAccessToken: async () => supabase.auth.getSession().then((r) => r.data.session?.access_token ?? null),
15
+ })
16
+
17
+ const result = await client.upload({
18
+ file,
19
+ onProgress: (p) => console.log(p.loaded, p.total),
20
+ })
21
+
22
+ console.log(result.publicUrl) // https://{OSS_CDN_DOMAIN}/{objectKey}
23
+ ```
24
+
25
+ 未提供 `getAccessToken` 时,SDK 默认使用 cookie(`credentials: 'include'`)。
26
+
27
+ ## API 文档
28
+
29
+ 见 `API.md`。
30
+
@@ -0,0 +1,78 @@
1
+ export type UploadProgress = {
2
+ loaded: number;
3
+ total: number;
4
+ };
5
+ export type CreateOssUploadClientOptions = {
6
+ /**
7
+ * Base URL(不带末尾 /)
8
+ * - 不传时默认使用 window.location.origin(同域部署场景)
9
+ */
10
+ baseUrl?: string;
11
+ /**
12
+ * 固定 projectId(多项目场景可按项目创建 client)
13
+ * - 不传时由服务端通过 host 解析
14
+ */
15
+ projectId?: string;
16
+ /**
17
+ * 返回 Bearer token(第三方 Supabase 的 access_token)
18
+ * - 返回 null 表示不使用 Authorization(可用于同域 cookie 场景)
19
+ */
20
+ getAccessToken?: () => Promise<string | null>;
21
+ };
22
+ export type PrepareUploadInput = {
23
+ file: File;
24
+ };
25
+ export type PrepareUploadResult = {
26
+ uploadToken: string;
27
+ objectKey: string;
28
+ publicUrl: string;
29
+ };
30
+ export type CompleteUploadResult = {
31
+ id: string;
32
+ objectKey: string;
33
+ filename: string;
34
+ contentType: string | null;
35
+ size: number | null;
36
+ status: string;
37
+ createdAt: string;
38
+ publicUrl: string;
39
+ };
40
+ export type UploadTokenRef = {
41
+ uploadToken: string;
42
+ };
43
+ export type UploadListItem = {
44
+ id: string;
45
+ objectKey: string;
46
+ filename: string;
47
+ contentType: string | null;
48
+ size: number | null;
49
+ status: string;
50
+ createdAt: string;
51
+ publicUrl: string | null;
52
+ };
53
+ export type UploadListResult = {
54
+ page: number;
55
+ pageSize: number;
56
+ total: number;
57
+ items: UploadListItem[];
58
+ };
59
+ export type UploadListOptions = {
60
+ page?: number;
61
+ pageSize?: number;
62
+ };
63
+ export type UploadInput = PrepareUploadInput & {
64
+ onProgress?: (p: UploadProgress) => void;
65
+ /** ali-oss multipart 并发数(默认 3) */
66
+ concurrency?: number;
67
+ };
68
+ export declare function createOssUploadClient(options: CreateOssUploadClientOptions): {
69
+ upload: (input: UploadInput) => Promise<CompleteUploadResult>;
70
+ list: (options?: UploadListOptions) => Promise<{
71
+ success: true;
72
+ data: UploadListResult;
73
+ }>;
74
+ remove: (fileId: string) => Promise<{
75
+ success: true;
76
+ }>;
77
+ };
78
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAOD,MAAM,MAAM,4BAA4B,GAAG;IACzC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAEhC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpD,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,cAAc,EAAE,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG;IAC7C,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAA;IACxC,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAuHD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B;oBAmH5C,WAAW,KAAG,OAAO,CAAC,oBAAoB,CAAC;qBAK1C,iBAAiB,KAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC;qBAetE,MAAM,KAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;EAgBlE"}
package/dist/index.js ADDED
@@ -0,0 +1,196 @@
1
+ function trimTrailingSlash(url) {
2
+ const v = url || '';
3
+ return v.endsWith('/') ? v.slice(0, -1) : v;
4
+ }
5
+ function isRecord(value) {
6
+ return typeof value === 'object' && value !== null;
7
+ }
8
+ function isApiSuccess(value) {
9
+ return isRecord(value) && value.success === true && 'data' in value;
10
+ }
11
+ function isApiOk(value) {
12
+ return isRecord(value) && value.success === true;
13
+ }
14
+ function getErrorMessage(value) {
15
+ if (!isRecord(value))
16
+ return null;
17
+ const error = value.error;
18
+ if (typeof error === 'string' && error.trim())
19
+ return error;
20
+ const message = value.message;
21
+ if (typeof message === 'string' && message.trim())
22
+ return message;
23
+ return null;
24
+ }
25
+ async function fetchJson(fetchImpl, url, init) {
26
+ const res = await fetchImpl(url, init);
27
+ const text = await res.text().catch(() => '');
28
+ let json = null;
29
+ try {
30
+ json = text ? JSON.parse(text) : null;
31
+ }
32
+ catch {
33
+ // ignore
34
+ }
35
+ if (!res.ok) {
36
+ const msg = getErrorMessage(json) || res.statusText || 'Request failed';
37
+ throw new Error(`${res.status} ${msg}`);
38
+ }
39
+ return json;
40
+ }
41
+ async function fetchApiSuccess(fetchImpl, url, init) {
42
+ const json = await fetchJson(fetchImpl, url, init);
43
+ const error = getErrorMessage(json);
44
+ if (error)
45
+ throw new Error(error);
46
+ if (isApiSuccess(json)) {
47
+ return json;
48
+ }
49
+ throw new Error('响应格式无效');
50
+ }
51
+ async function fetchApiData(fetchImpl, url, init) {
52
+ const result = await fetchApiSuccess(fetchImpl, url, init);
53
+ return result.data;
54
+ }
55
+ async function fetchApiOk(fetchImpl, url, init) {
56
+ const json = await fetchJson(fetchImpl, url, init);
57
+ const error = getErrorMessage(json);
58
+ if (error)
59
+ throw new Error(error);
60
+ if (isApiOk(json)) {
61
+ return json;
62
+ }
63
+ throw new Error('响应格式无效');
64
+ }
65
+ function resolveAliOssConstructor(mod) {
66
+ const candidate = isRecord(mod) && 'default' in mod ? mod.default : mod;
67
+ if (typeof candidate !== 'function') {
68
+ throw new Error('ali-oss 模块加载失败');
69
+ }
70
+ return candidate;
71
+ }
72
+ function resolveUploadRef(prepared) {
73
+ return { uploadToken: prepared.uploadToken };
74
+ }
75
+ export function createOssUploadClient(options) {
76
+ const fetchImpl = fetch;
77
+ const baseUrl = trimTrailingSlash(options.baseUrl ||
78
+ (typeof window !== 'undefined' ? window.location.origin : ''));
79
+ const credentials = options.getAccessToken ? 'omit' : 'include';
80
+ const projectId = options.projectId;
81
+ if (!baseUrl) {
82
+ throw new Error('baseUrl is required in non-browser environments');
83
+ }
84
+ async function buildAuthHeaders() {
85
+ const token = options.getAccessToken ? await options.getAccessToken() : null;
86
+ return token ? { Authorization: `Bearer ${token}` } : {};
87
+ }
88
+ async function prepare(input) {
89
+ const headers = await buildAuthHeaders();
90
+ const url = `${baseUrl}/api/uploads/prepare`;
91
+ const data = await fetchApiData(fetchImpl, url, {
92
+ method: 'POST',
93
+ headers: {
94
+ ...headers,
95
+ 'Content-Type': 'application/json',
96
+ },
97
+ credentials,
98
+ body: JSON.stringify({
99
+ projectId,
100
+ filename: input.file.name,
101
+ size: input.file.size,
102
+ contentType: input.file.type || 'application/octet-stream',
103
+ }),
104
+ });
105
+ return data;
106
+ }
107
+ async function complete(input) {
108
+ const headers = await buildAuthHeaders();
109
+ const url = `${baseUrl}/api/uploads/complete`;
110
+ const data = await fetchApiData(fetchImpl, url, {
111
+ method: 'POST',
112
+ headers: {
113
+ ...headers,
114
+ 'Content-Type': 'application/json',
115
+ },
116
+ credentials,
117
+ body: JSON.stringify({ ...input }),
118
+ });
119
+ return data;
120
+ }
121
+ async function getSts(input) {
122
+ const headers = await buildAuthHeaders();
123
+ const url = `${baseUrl}/api/uploads/sts`;
124
+ const data = await fetchApiData(fetchImpl, url, {
125
+ method: 'POST',
126
+ headers: {
127
+ ...headers,
128
+ 'Content-Type': 'application/json',
129
+ },
130
+ credentials,
131
+ body: JSON.stringify({ ...input }),
132
+ });
133
+ return data;
134
+ }
135
+ async function ossUploadViaAliOss(input, prepared) {
136
+ const uploadRef = resolveUploadRef(prepared);
137
+ const sts = await getSts(uploadRef);
138
+ // ali-oss 为 CJS/ESM 混合导出,这里做一次兼容处理
139
+ const OSSMod = (await import('ali-oss'));
140
+ const OSS = resolveAliOssConstructor(OSSMod);
141
+ const client = new OSS({
142
+ region: sts.region,
143
+ bucket: sts.bucket,
144
+ accessKeyId: sts.credentials.accessKeyId,
145
+ accessKeySecret: sts.credentials.accessKeySecret,
146
+ stsToken: sts.credentials.securityToken,
147
+ secure: true,
148
+ });
149
+ const parallel = Math.max(1, Math.min(8, input.concurrency ?? 3));
150
+ await client.multipartUpload(sts.objectKey, input.file, {
151
+ parallel,
152
+ progress: async (p) => {
153
+ if (!input.onProgress)
154
+ return;
155
+ input.onProgress({ loaded: Math.round(p * input.file.size), total: input.file.size });
156
+ },
157
+ });
158
+ return await complete(uploadRef);
159
+ }
160
+ async function upload(input) {
161
+ const prepared = await prepare({ file: input.file });
162
+ return await ossUploadViaAliOss(input, prepared);
163
+ }
164
+ async function list(options) {
165
+ const headers = await buildAuthHeaders();
166
+ const urlObj = new URL(`${baseUrl}/api/uploads`);
167
+ if (projectId)
168
+ urlObj.searchParams.set('projectId', projectId);
169
+ if (options?.page)
170
+ urlObj.searchParams.set('page', String(options.page));
171
+ if (options?.pageSize)
172
+ urlObj.searchParams.set('pageSize', String(options.pageSize));
173
+ return await fetchApiSuccess(fetchImpl, urlObj.toString(), {
174
+ method: 'GET',
175
+ headers,
176
+ credentials,
177
+ });
178
+ }
179
+ async function remove(fileId) {
180
+ const headers = await buildAuthHeaders();
181
+ const urlObj = new URL(`${baseUrl}/api/uploads/${encodeURIComponent(fileId)}`);
182
+ if (projectId)
183
+ urlObj.searchParams.set('projectId', projectId);
184
+ return await fetchApiOk(fetchImpl, urlObj.toString(), {
185
+ method: 'DELETE',
186
+ headers,
187
+ credentials,
188
+ });
189
+ }
190
+ return {
191
+ upload,
192
+ list,
193
+ remove,
194
+ };
195
+ }
196
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "tezign-ai-appstore-sdk",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "default": "./dist/index.js"
11
+ }
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "scripts": {
17
+ "build": "tsc -p tsconfig.json"
18
+ },
19
+ "dependencies": {
20
+ "ali-oss": "^6.23.0"
21
+ }
22
+ }
23
+