@bintel/dimens-cli
Advanced tools
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| import { t as __exportAll } from "./rolldown-runtime-95iHPtFO.mjs"; | ||
| import { _ as ColumnSDK, a as RowPolicySDK, b as DimensClient, c as RoleSDK, d as ProjectSDK, f as PluginPublicSDK, g as SheetSDK, h as DocumentSDK, i as TeamSDK, l as RichTextFieldSDK, m as UploadSDK, n as ViewSDK, o as RowAclSDK, p as PermissionSDK, r as UserSDK, s as RowSDK, t as WorkflowPublicSDK, u as ReportSDK, v as CanvasSDK, x as FlowChatSDK, y as AuthSDK } from "./workflow-public-BdGCFg-j.mjs"; | ||
| //#region src/sdk/index.ts | ||
| var sdk_exports = /* @__PURE__ */ __exportAll({ | ||
| DimensSDK: () => DimensSDK, | ||
| createSDK: () => createSDK | ||
| }); | ||
| var DimensSDK = class { | ||
| client; | ||
| auth; | ||
| project; | ||
| report; | ||
| canvas; | ||
| role; | ||
| permission; | ||
| pluginPublic; | ||
| sheet; | ||
| team; | ||
| user; | ||
| column; | ||
| document; | ||
| view; | ||
| row; | ||
| rowPolicy; | ||
| rowAcl; | ||
| ai; | ||
| upload; | ||
| richtextField; | ||
| workflowPublic; | ||
| constructor(config) { | ||
| this.client = new DimensClient(config); | ||
| this.auth = new AuthSDK(this.client); | ||
| this.project = new ProjectSDK(this.client); | ||
| this.report = new ReportSDK(this.client); | ||
| this.canvas = new CanvasSDK(this.client); | ||
| this.role = new RoleSDK(this.client); | ||
| this.permission = new PermissionSDK(this.client); | ||
| this.pluginPublic = new PluginPublicSDK(this.client); | ||
| this.sheet = new SheetSDK(this.client); | ||
| this.team = new TeamSDK(this.client); | ||
| this.user = new UserSDK(this.client); | ||
| this.column = new ColumnSDK(this.client); | ||
| this.document = new DocumentSDK(this.client); | ||
| this.view = new ViewSDK(this.client); | ||
| this.row = new RowSDK(this.client); | ||
| this.rowPolicy = new RowPolicySDK(this.client); | ||
| this.rowAcl = new RowAclSDK(this.client); | ||
| this.ai = new FlowChatSDK(this.client); | ||
| this.upload = new UploadSDK(this.client); | ||
| this.richtextField = new RichTextFieldSDK(this.client); | ||
| this.workflowPublic = new WorkflowPublicSDK(this.client); | ||
| } | ||
| }; | ||
| function createSDK(config) { | ||
| return new DimensSDK(config); | ||
| } | ||
| //#endregion | ||
| export { createSDK as n, sdk_exports as r, DimensSDK as t }; | ||
| //# sourceMappingURL=sdk-DvinP9UA.mjs.map |
| {"version":3,"file":"sdk-DvinP9UA.mjs","names":[],"sources":["../src/sdk/index.ts"],"sourcesContent":["import { AuthSDK } from './auth';\nimport { CanvasSDK } from './canvas';\nimport { DimensClient, type APIResponse, type DimensClientOptions } from './client';\nimport { ColumnSDK } from './column';\nimport { DocumentSDK } from './document';\nimport { FlowChatSDK } from './flow-chat';\nimport { PermissionSDK } from './permission';\nimport { PluginPublicSDK } from './plugin-public';\nimport { ProjectSDK } from './project';\nimport { ReportSDK } from './report';\nimport { RichTextFieldSDK } from './richtext-field';\nimport { RoleSDK } from './role';\nimport { RowSDK } from './row';\nimport { RowAclSDK } from './row-acl';\nimport { RowPolicySDK } from './row-policy';\nimport { SheetSDK } from './sheet';\nimport { TeamSDK } from './team';\nimport { UploadSDK } from './upload';\nimport { UserSDK } from './user';\nimport { ViewSDK } from './view';\nimport { WorkflowPublicSDK } from './workflow-public';\n\nexport type { APIResponse, DimensClientOptions };\n\nexport type SDKConfig = DimensClientOptions;\n\nexport class DimensSDK {\n readonly client: DimensClient;\n readonly auth: AuthSDK;\n readonly project: ProjectSDK;\n readonly report: ReportSDK;\n readonly canvas: CanvasSDK;\n readonly role: RoleSDK;\n readonly permission: PermissionSDK;\n readonly pluginPublic: PluginPublicSDK;\n readonly sheet: SheetSDK;\n readonly team: TeamSDK;\n readonly user: UserSDK;\n readonly column: ColumnSDK;\n readonly document: DocumentSDK;\n readonly view: ViewSDK;\n readonly row: RowSDK;\n readonly rowPolicy: RowPolicySDK;\n readonly rowAcl: RowAclSDK;\n readonly ai: FlowChatSDK;\n readonly upload: UploadSDK;\n readonly richtextField: RichTextFieldSDK;\n readonly workflowPublic: WorkflowPublicSDK;\n\n constructor(config: SDKConfig) {\n this.client = new DimensClient(config);\n this.auth = new AuthSDK(this.client);\n this.project = new ProjectSDK(this.client);\n this.report = new ReportSDK(this.client);\n this.canvas = new CanvasSDK(this.client);\n this.role = new RoleSDK(this.client);\n this.permission = new PermissionSDK(this.client);\n this.pluginPublic = new PluginPublicSDK(this.client);\n this.sheet = new SheetSDK(this.client);\n this.team = new TeamSDK(this.client);\n this.user = new UserSDK(this.client);\n this.column = new ColumnSDK(this.client);\n this.document = new DocumentSDK(this.client);\n this.view = new ViewSDK(this.client);\n this.row = new RowSDK(this.client);\n this.rowPolicy = new RowPolicySDK(this.client);\n this.rowAcl = new RowAclSDK(this.client);\n this.ai = new FlowChatSDK(this.client);\n this.upload = new UploadSDK(this.client);\n this.richtextField = new RichTextFieldSDK(this.client);\n this.workflowPublic = new WorkflowPublicSDK(this.client);\n }\n}\n\nexport function createSDK(config: SDKConfig): DimensSDK {\n return new DimensSDK(config);\n}\n\nexport { DimensClient } from './client';\nexport { AuthSDK } from './auth';\nexport { CanvasSDK } from './canvas';\nexport { ProjectSDK } from './project';\nexport { ReportSDK } from './report';\nexport { RichTextFieldSDK } from './richtext-field';\nexport { RoleSDK } from './role';\nexport { PermissionSDK } from './permission';\nexport { PluginPublicSDK } from './plugin-public';\nexport { SheetSDK } from './sheet';\nexport { TeamSDK } from './team';\nexport { ColumnSDK } from './column';\nexport { DocumentSDK } from './document';\nexport { ViewSDK } from './view';\nexport { RowSDK } from './row';\nexport { RowPolicySDK } from './row-policy';\nexport { RowAclSDK } from './row-acl';\nexport { FlowChatSDK } from './flow-chat';\nexport { UploadSDK } from './upload';\nexport { UserSDK } from './user';\nexport { WorkflowPublicSDK } from './workflow-public';\n"],"mappings":";;;;;;;;AA0BA,IAAa,YAAb,MAAuB;CACrB,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CAET,YAAY,QAAmB;AAC7B,OAAK,SAAS,IAAI,aAAa,OAAO;AACtC,OAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;AACpC,OAAK,UAAU,IAAI,WAAW,KAAK,OAAO;AAC1C,OAAK,SAAS,IAAI,UAAU,KAAK,OAAO;AACxC,OAAK,SAAS,IAAI,UAAU,KAAK,OAAO;AACxC,OAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;AACpC,OAAK,aAAa,IAAI,cAAc,KAAK,OAAO;AAChD,OAAK,eAAe,IAAI,gBAAgB,KAAK,OAAO;AACpD,OAAK,QAAQ,IAAI,SAAS,KAAK,OAAO;AACtC,OAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;AACpC,OAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;AACpC,OAAK,SAAS,IAAI,UAAU,KAAK,OAAO;AACxC,OAAK,WAAW,IAAI,YAAY,KAAK,OAAO;AAC5C,OAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;AACpC,OAAK,MAAM,IAAI,OAAO,KAAK,OAAO;AAClC,OAAK,YAAY,IAAI,aAAa,KAAK,OAAO;AAC9C,OAAK,SAAS,IAAI,UAAU,KAAK,OAAO;AACxC,OAAK,KAAK,IAAI,YAAY,KAAK,OAAO;AACtC,OAAK,SAAS,IAAI,UAAU,KAAK,OAAO;AACxC,OAAK,gBAAgB,IAAI,iBAAiB,KAAK,OAAO;AACtD,OAAK,iBAAiB,IAAI,kBAAkB,KAAK,OAAO;;;AAI5D,SAAgB,UAAU,QAA8B;AACtD,QAAO,IAAI,UAAU,OAAO"} |
| import { readFileSync } from "fs"; | ||
| import { dirname, join } from "path"; | ||
| import { fileURLToPath } from "url"; | ||
| import { basename } from "node:path"; | ||
| import { readFile } from "node:fs/promises"; | ||
| //#region src/core/version.ts | ||
| /** | ||
| * 版本信息 | ||
| */ | ||
| let _version; | ||
| function getVersion() { | ||
| if (_version) return _version; | ||
| try { | ||
| _version = readNearestPackageJson(dirname(fileURLToPath(import.meta.url))).version; | ||
| } catch { | ||
| _version = "1.0.0"; | ||
| } | ||
| return _version ?? "1.0.0"; | ||
| } | ||
| const version = getVersion(); | ||
| function getUserAgent() { | ||
| return `DimensCLI/${version} (Node.js/${process.version})`; | ||
| } | ||
| function readNearestPackageJson(startDir) { | ||
| let currentDir = startDir; | ||
| for (let depth = 0; depth < 6; depth += 1) { | ||
| const packageJsonPath = join(currentDir, "package.json"); | ||
| try { | ||
| return JSON.parse(readFileSync(packageJsonPath, "utf-8")); | ||
| } catch { | ||
| const parentDir = dirname(currentDir); | ||
| if (parentDir === currentDir) break; | ||
| currentDir = parentDir; | ||
| } | ||
| } | ||
| throw new Error("package.json not found"); | ||
| } | ||
| //#endregion | ||
| //#region src/sdk/flow-chat.ts | ||
| var FlowChatSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| completions(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/chat/completions`, payload); | ||
| } | ||
| responses(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/responses`, payload); | ||
| } | ||
| messages(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/messages`, payload); | ||
| } | ||
| models(teamId, query = {}) { | ||
| return this.client.get(`/app/new-api/${teamId}/models`, query); | ||
| } | ||
| v1BetaModels(teamId, query = {}) { | ||
| return this.client.get(`/app/flow/${teamId}/v1beta/models`, query); | ||
| } | ||
| generateImage(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/images/generations`, payload); | ||
| } | ||
| editImage(teamId, formData) { | ||
| return this.client.postFormData(`/app/flow/${teamId}/v1/images/edits`, formData); | ||
| } | ||
| createImageVariation(teamId, formData) { | ||
| return this.client.postFormData(`/app/flow/${teamId}/v1/images/variations`, formData); | ||
| } | ||
| createVideo(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/videos`, payload); | ||
| } | ||
| getVideo(teamId, taskId) { | ||
| return this.client.get(`/app/flow/${teamId}/v1/videos/${taskId}`); | ||
| } | ||
| getVideoContent(teamId, taskId) { | ||
| return this.client.get(`/app/flow/${teamId}/v1/videos/${taskId}/content`); | ||
| } | ||
| createSpeech(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/audio/speech`, payload); | ||
| } | ||
| transcribeAudio(teamId, formData) { | ||
| return this.client.postFormData(`/app/flow/${teamId}/v1/audio/transcriptions`, formData); | ||
| } | ||
| translateAudio(teamId, formData) { | ||
| return this.client.postFormData(`/app/flow/${teamId}/v1/audio/translations`, formData); | ||
| } | ||
| embeddings(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/embeddings`, payload); | ||
| } | ||
| rerank(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/rerank`, payload); | ||
| } | ||
| proxy(teamId, request) { | ||
| const path = normalizeProxyPath(teamId, request.path); | ||
| if (request.method === "GET") return this.client.get(path, request.query); | ||
| if (request.formData) return this.client.postFormData(path, request.formData); | ||
| return this.client.post(path, request.body); | ||
| } | ||
| }; | ||
| function normalizeProxyPath(teamId, path) { | ||
| const trimmed = path.trim(); | ||
| if (!trimmed) throw new Error("AI proxy path 不能为空"); | ||
| if (trimmed.startsWith(`/app/flow/${teamId}/`)) return trimmed; | ||
| const withoutLeadingSlash = trimmed.replace(/^\/+/, ""); | ||
| if (withoutLeadingSlash.startsWith("v1/") || withoutLeadingSlash === "v1") return `/app/flow/${teamId}/${withoutLeadingSlash}`; | ||
| if (withoutLeadingSlash.startsWith("v1beta/") || withoutLeadingSlash === "v1beta") return `/app/flow/${teamId}/${withoutLeadingSlash}`; | ||
| throw new Error("AI proxy path 只允许 v1 或 v1beta 维表代理路径"); | ||
| } | ||
| //#endregion | ||
| //#region src/core/http.ts | ||
| async function requestJson(url, init = {}) { | ||
| const response = await fetch(url, init); | ||
| const payload = await response.json(); | ||
| if (!response.ok) throw new Error(payload?.message || `HTTP ${response.status}`); | ||
| return payload; | ||
| } | ||
| //#endregion | ||
| //#region src/sdk/client.ts | ||
| var DimensClient = class { | ||
| options; | ||
| constructor(options) { | ||
| this.options = options; | ||
| } | ||
| getOptions() { | ||
| return { ...this.options }; | ||
| } | ||
| async get(path, query, init = {}) { | ||
| return requestJson(this.buildUrl(path, query), { | ||
| ...init, | ||
| method: "GET", | ||
| headers: this.buildHeaders(init.headers) | ||
| }); | ||
| } | ||
| async post(path, body, init = {}) { | ||
| const requestInit = { | ||
| ...init, | ||
| method: "POST", | ||
| headers: this.buildHeaders(init.headers, true) | ||
| }; | ||
| if (body !== void 0) requestInit.body = JSON.stringify(body); | ||
| return requestJson(this.buildUrl(path), requestInit); | ||
| } | ||
| async put(path, body, init = {}) { | ||
| const requestInit = { | ||
| ...init, | ||
| method: "PUT", | ||
| headers: this.buildHeaders(init.headers, true) | ||
| }; | ||
| if (body !== void 0) requestInit.body = JSON.stringify(body); | ||
| return requestJson(this.buildUrl(path), requestInit); | ||
| } | ||
| async postFormData(path, formData, init = {}) { | ||
| const requestInit = { | ||
| ...init, | ||
| method: "POST", | ||
| headers: this.buildHeaders(init.headers, false, true), | ||
| body: formData | ||
| }; | ||
| return requestJson(this.buildUrl(path), requestInit); | ||
| } | ||
| buildUrl(path, query) { | ||
| const base = this.options.baseUrl.replace(/\/+$/, ""); | ||
| const normalizedPath = path.startsWith("/") ? path : `/${path}`; | ||
| const url = new URL(`${base}${normalizedPath}`); | ||
| Object.entries(query || {}).forEach(([key, value]) => { | ||
| if (value === void 0 || value === null || value === "") return; | ||
| url.searchParams.set(key, String(value)); | ||
| }); | ||
| return url.toString(); | ||
| } | ||
| buildHeaders(headers, hasJsonBody = false, hasFormDataBody = false) { | ||
| const merged = normalizeHeaders(headers); | ||
| merged.Accept = "application/json"; | ||
| merged["User-Agent"] = getUserAgent(); | ||
| if (hasJsonBody && !hasFormDataBody) merged["Content-Type"] = "application/json"; | ||
| if (hasFormDataBody) delete merged["Content-Type"]; | ||
| if (this.options.token && !hasHeader(merged, "Authorization")) merged.Authorization = `Bearer ${this.options.token}`; | ||
| if (this.options.refreshToken && !hasHeader(merged, "X-Refresh-Token")) merged["X-Refresh-Token"] = this.options.refreshToken; | ||
| return merged; | ||
| } | ||
| }; | ||
| function hasHeader(headers, name) { | ||
| const normalizedName = name.toLowerCase(); | ||
| return Object.keys(headers).some((key) => key.toLowerCase() === normalizedName); | ||
| } | ||
| function normalizeHeaders(headers) { | ||
| if (!headers) return {}; | ||
| if (typeof Headers !== "undefined" && headers instanceof Headers) return Object.fromEntries(headers.entries()); | ||
| if (Array.isArray(headers)) return Object.fromEntries(headers.map(([key, value]) => [String(key), String(value)])); | ||
| const normalized = {}; | ||
| Object.entries(headers).forEach(([key, value]) => { | ||
| normalized[key] = typeof value === "string" ? value : value.join(", "); | ||
| }); | ||
| return normalized; | ||
| } | ||
| //#endregion | ||
| //#region src/sdk/auth.ts | ||
| var AuthSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| login(payload) { | ||
| return this.client.post("/login", payload); | ||
| } | ||
| loginByApiKey(payload) { | ||
| return this.client.post("/open/user/login/apiKey", payload); | ||
| } | ||
| exchangeTokenByApiKey(payload) { | ||
| return this.loginByApiKey(payload); | ||
| } | ||
| refreshToken() { | ||
| return this.client.get("/refreshToken"); | ||
| } | ||
| me() { | ||
| return this.client.get("/app/user/info/person"); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/canvas.ts | ||
| const EMPTY_GRAPH = { | ||
| nodes: [], | ||
| edges: [], | ||
| viewport: { | ||
| x: 0, | ||
| y: 0, | ||
| zoom: 1 | ||
| } | ||
| }; | ||
| var CanvasSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| normalizeCreatedCanvas(data) { | ||
| const sheetId = typeof data.sheetId === "string" ? data.sheetId : typeof data.id === "string" ? data.id : ""; | ||
| return { | ||
| ...data, | ||
| sheetId, | ||
| canvasId: sheetId | ||
| }; | ||
| } | ||
| async create(projectId, payload) { | ||
| const response = await this.client.post(`/app/mul/project/${projectId}/sheet/create`, { | ||
| name: payload.name, | ||
| type: "canvas", | ||
| ...payload.folderId ? { folderId: payload.folderId } : {}, | ||
| config: { data: payload.data ?? EMPTY_GRAPH } | ||
| }); | ||
| return { | ||
| ...response, | ||
| data: this.normalizeCreatedCanvas(response.data || {}) | ||
| }; | ||
| } | ||
| info(teamId, projectId, sheetId) { | ||
| return this.client.get(`/app/canvas/${teamId}/${projectId}/info`, { sheetId }); | ||
| } | ||
| save(teamId, projectId, payload) { | ||
| return this.client.post(`/app/canvas/${teamId}/${projectId}/save`, payload); | ||
| } | ||
| versions(teamId, projectId, payload) { | ||
| return this.client.post(`/app/canvas/${teamId}/${projectId}/versions`, payload); | ||
| } | ||
| version(teamId, projectId, sheetId, version) { | ||
| return this.client.get(`/app/canvas/${teamId}/${projectId}/version`, { | ||
| sheetId, | ||
| version | ||
| }); | ||
| } | ||
| restore(teamId, projectId, payload) { | ||
| return this.client.post(`/app/canvas/${teamId}/${projectId}/restore`, payload); | ||
| } | ||
| listMineResources(teamId, keyword) { | ||
| return this.client.get(`/app/canvas/${teamId}/resource/mine`, { keyword }); | ||
| } | ||
| saveMineResource(teamId, payload) { | ||
| return this.client.post(`/app/canvas/${teamId}/resource/mine`, payload); | ||
| } | ||
| removeMineResource(teamId, id) { | ||
| return this.client.post(`/app/canvas/${teamId}/resource/mine/delete`, { id }); | ||
| } | ||
| publishMineResource(teamId, id) { | ||
| return this.client.post(`/app/canvas/${teamId}/resource/mine/publish`, { id }); | ||
| } | ||
| listMarketResources(teamId, keyword) { | ||
| return this.client.get(`/app/canvas/${teamId}/resource/market`, { keyword }); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/column.ts | ||
| var ColumnSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| list(teamId, projectId, sheetId) { | ||
| return this.client.get(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/column/list`); | ||
| } | ||
| create(teamId, projectId, sheetId, payload) { | ||
| return this.client.post(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/column/create`, payload); | ||
| } | ||
| update(sheetId, fieldId, payload) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/column/${fieldId}/update`, payload); | ||
| } | ||
| delete(sheetId, fieldId) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/column/${fieldId}/delete`); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/sheet.ts | ||
| var SheetSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| list(projectId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/sheet/list`); | ||
| } | ||
| tree(projectId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/sheet/tree`); | ||
| } | ||
| create(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/sheet/create`, payload); | ||
| } | ||
| info(teamId, projectId, sheetId) { | ||
| return this.client.get(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/info`); | ||
| } | ||
| update(teamId, projectId, sheetId, payload) { | ||
| return this.client.post(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/update`, payload); | ||
| } | ||
| delete(teamId, projectId, sheetId) { | ||
| return this.client.post(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/delete`); | ||
| } | ||
| structure(sheetId) { | ||
| return this.client.get(`/app/mul/sheet/${sheetId}/structure`); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/document.ts | ||
| var DocumentSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| createWithSheet(teamId, projectId, payload) { | ||
| return this.client.post(`/app/documents/${teamId}/${projectId}/document/createWithSheet`, payload); | ||
| } | ||
| info(teamId, projectId, documentId) { | ||
| return this.client.get(`/app/documents/${teamId}/${projectId}/document/${documentId}/info`); | ||
| } | ||
| getBySheetId(teamId, projectId, sheetId) { | ||
| return this.client.get(`/app/documents/${teamId}/${projectId}/document/getBySheetId`, { sheetId }); | ||
| } | ||
| update(teamId, projectId, payload) { | ||
| return this.client.post(`/app/documents/${teamId}/${projectId}/document/update`, payload); | ||
| } | ||
| delete(teamId, projectId, documentId) { | ||
| return this.client.post(`/app/documents/${teamId}/${projectId}/document/delete`, { documentId }); | ||
| } | ||
| versions(teamId, projectId, query) { | ||
| return this.client.get(`/app/documents/${teamId}/${projectId}/document/versions`, query); | ||
| } | ||
| version(teamId, projectId, query) { | ||
| return this.client.get(`/app/documents/${teamId}/${projectId}/document/version`, query); | ||
| } | ||
| restore(teamId, projectId, payload) { | ||
| return this.client.post(`/app/documents/${teamId}/${projectId}/document/restore`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/upload.ts | ||
| var UploadSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| async uploadFile(filePath, keyOrOptions) { | ||
| const payload = await this.createLocalFilePayload(filePath); | ||
| const formData = new FormData(); | ||
| formData.append("file", payload.file, payload.file.name); | ||
| const options = typeof keyOrOptions === "string" ? { key: keyOrOptions } : keyOrOptions ?? {}; | ||
| if (!options.name) options.name = payload.file.name; | ||
| if (!options.size) options.size = String(payload.file.size); | ||
| if (!options.mimeType) options.mimeType = payload.file.type; | ||
| Object.entries(options).forEach(([field, value]) => { | ||
| if (!value) return; | ||
| formData.append(field, value); | ||
| }); | ||
| return this.client.postFormData("/app/base/comm/upload", formData); | ||
| } | ||
| async uploadMaterialWithCdnFallback(filePath, options) { | ||
| if (!options.teamId) throw new Error("素材库上传必须携带 --team-id"); | ||
| const mode = await this.getMode(); | ||
| if (!(mode.data?.cdn?.enabled === true && mode.data?.cdn?.provider === "qiniu")) return this.uploadFile(filePath, options); | ||
| const payload = await this.createLocalFilePayload(filePath); | ||
| const normalizedOptions = this.normalizeMaterialOptions(options); | ||
| const tokenBody = { | ||
| teamId: options.teamId, | ||
| fileName: payload.fileName, | ||
| size: payload.size, | ||
| mimeType: payload.mimeType, | ||
| source: "material" | ||
| }; | ||
| if (normalizedOptions.classifyId !== void 0) tokenBody.classifyId = normalizedOptions.classifyId; | ||
| if (normalizedOptions.type) tokenBody.type = normalizedOptions.type; | ||
| let tokenResponse; | ||
| try { | ||
| tokenResponse = await this.createCdnUploadToken(tokenBody); | ||
| } catch (error) { | ||
| if (canFallbackToLocalUpload(error)) return this.uploadFile(filePath, options); | ||
| throw error; | ||
| } | ||
| const token = tokenResponse.data; | ||
| const qiniuResult = await this.uploadToQiniu(payload.file, token); | ||
| const completeBody = { | ||
| teamId: options.teamId, | ||
| provider: "qiniu", | ||
| bucket: token.bucket, | ||
| key: token.key, | ||
| fileId: token.fileId, | ||
| name: normalizedOptions.name || payload.fileName, | ||
| size: normalizedOptions.size ?? payload.size, | ||
| mimeType: normalizedOptions.mimeType || payload.mimeType, | ||
| source: "material" | ||
| }; | ||
| if (qiniuResult.hash) completeBody.hash = qiniuResult.hash; | ||
| if (token.url) completeBody.url = token.url; | ||
| if (normalizedOptions.classifyId !== void 0) completeBody.classifyId = normalizedOptions.classifyId; | ||
| if (normalizedOptions.type) completeBody.type = normalizedOptions.type; | ||
| return this.completeCdnUpload(completeBody); | ||
| } | ||
| async getMode() { | ||
| return this.client.get("/app/base/comm/uploadMode"); | ||
| } | ||
| async createCdnUploadToken(body) { | ||
| return this.client.post("/app/base/comm/cdn/uploadToken", body); | ||
| } | ||
| async completeCdnUpload(body) { | ||
| return this.client.post("/app/space/info/cdn/complete", body); | ||
| } | ||
| async uploadToQiniu(file, token) { | ||
| const formData = new FormData(); | ||
| formData.append("key", token.key); | ||
| formData.append("token", token.uploadToken); | ||
| formData.append("file", file, file.name); | ||
| formData.append("fname", file.name); | ||
| const response = await fetch(resolveQiniuUploadUrl(token.uploadConfig?.region), { | ||
| method: "POST", | ||
| body: formData | ||
| }); | ||
| const payload = await response.json(); | ||
| if (!response.ok) throw new Error(payload?.message || payload?.error || `HTTP ${response.status}`); | ||
| return payload; | ||
| } | ||
| async createLocalFilePayload(filePath) { | ||
| const fileBuffer = await readFile(filePath); | ||
| const fileName = basename(filePath); | ||
| const mimeType = resolveMimeType(fileName); | ||
| const file = new File([fileBuffer], fileName, { | ||
| type: mimeType, | ||
| lastModified: Date.now() | ||
| }); | ||
| return { | ||
| file, | ||
| fileName, | ||
| size: file.size, | ||
| mimeType | ||
| }; | ||
| } | ||
| normalizeMaterialOptions(options) { | ||
| return { | ||
| name: options.name, | ||
| size: options.size ? Number(options.size) : void 0, | ||
| mimeType: options.mimeType, | ||
| type: options.type, | ||
| classifyId: options.classifyId ? Number(options.classifyId) : void 0 | ||
| }; | ||
| } | ||
| }; | ||
| function resolveQiniuUploadUrl(region) { | ||
| return { | ||
| z0: "https://upload.qiniup.com", | ||
| z1: "https://upload-z1.qiniup.com", | ||
| z2: "https://upload-z2.qiniup.com", | ||
| na0: "https://upload-na0.qiniup.com", | ||
| as0: "https://upload-as0.qiniup.com" | ||
| }[String(region || "z0")] || "https://upload.qiniup.com"; | ||
| } | ||
| function canFallbackToLocalUpload(error) { | ||
| const message = error instanceof Error ? error.message : String(error || ""); | ||
| return message.includes("CDN 未启用") || message.includes("七牛 CDN 未启用") || message.includes("七牛 CDN 配置不完整"); | ||
| } | ||
| function resolveMimeType(fileName) { | ||
| const lowerFileName = fileName.toLowerCase(); | ||
| if (lowerFileName.endsWith(".txt")) return "text/plain"; | ||
| if (lowerFileName.endsWith(".json")) return "application/json"; | ||
| if (lowerFileName.endsWith(".pdf")) return "application/pdf"; | ||
| if (lowerFileName.endsWith(".png")) return "image/png"; | ||
| if (lowerFileName.endsWith(".jpg") || lowerFileName.endsWith(".jpeg")) return "image/jpeg"; | ||
| if (lowerFileName.endsWith(".gif")) return "image/gif"; | ||
| if (lowerFileName.endsWith(".svg")) return "image/svg+xml"; | ||
| if (lowerFileName.endsWith(".csv")) return "text/csv"; | ||
| return "application/octet-stream"; | ||
| } | ||
| //#endregion | ||
| //#region src/sdk/permission.ts | ||
| var PermissionSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| list(projectId, sheetId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/permission/list`, { sheetId }); | ||
| } | ||
| info(projectId, id, sheetId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/permission/info`, { | ||
| id, | ||
| sheetId | ||
| }); | ||
| } | ||
| create(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/permission/add`, payload); | ||
| } | ||
| update(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/permission/update`, payload); | ||
| } | ||
| delete(projectId, ids, sheetId) { | ||
| return this.client.post(`/app/mul/project/${projectId}/permission/delete`, { | ||
| ids, | ||
| sheetId | ||
| }); | ||
| } | ||
| check(projectId, payload) { | ||
| return this.client.get(`/app/mul/project/${projectId}/permission/check`, payload); | ||
| } | ||
| batch(projectId, sheetId, permissions) { | ||
| return this.client.post(`/app/mul/project/${projectId}/permission/batch`, { | ||
| sheetId, | ||
| permissions | ||
| }); | ||
| } | ||
| updateResourcePermission(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/permission/updateResourcePermission`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/plugin-public.ts | ||
| var PluginPublicSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| publish(teamId, pluginId) { | ||
| return this.client.post(`/app/plugin/${teamId}/info/publish`, { id: pluginId }); | ||
| } | ||
| list(query = {}) { | ||
| return this.client.get("/app/market/resource/list", { | ||
| ...query, | ||
| resourceType: "flow_plugin", | ||
| status: query.status ?? 1 | ||
| }); | ||
| } | ||
| detail(resourceId) { | ||
| return this.client.get("/app/market/resource/detail", { id: resourceId }); | ||
| } | ||
| install(payload) { | ||
| return this.client.post("/app/market/install", payload); | ||
| } | ||
| installFlow(payload) { | ||
| return this.client.post("/app/market/install/flow", payload); | ||
| } | ||
| uninstall(resourceId, teamId) { | ||
| return this.client.post("/app/market/uninstall", { | ||
| resourceId, | ||
| ...teamId ? { teamId } : {} | ||
| }); | ||
| } | ||
| upgrade(resourceId, teamId) { | ||
| return this.client.post("/app/market/upgrade", { | ||
| resourceId, | ||
| ...teamId ? { teamId } : {} | ||
| }); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/project.ts | ||
| var ProjectSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| page(teamId, payload) { | ||
| return this.client.post(`/app/org/${teamId}/project/page`, payload); | ||
| } | ||
| info(teamId, id) { | ||
| return this.client.get(`/app/org/${teamId}/project/info`, { id }); | ||
| } | ||
| create(teamId, payload) { | ||
| return this.client.post(`/app/org/${teamId}/project/add`, payload); | ||
| } | ||
| update(teamId, payload) { | ||
| return this.client.post(`/app/org/${teamId}/project/update`, payload); | ||
| } | ||
| trash(teamId, ids) { | ||
| return this.client.post(`/app/org/${teamId}/project/trash`, { ids }); | ||
| } | ||
| restore(teamId, ids) { | ||
| return this.client.post(`/app/org/${teamId}/project/restore`, { ids }); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/report.ts | ||
| var ReportSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| normalizeProjectReport(data) { | ||
| const reportId = typeof data.reportId === "string" ? data.reportId : typeof data.sheetId === "string" ? data.sheetId : typeof data.id === "string" ? data.id : ""; | ||
| return { | ||
| ...data, | ||
| reportId, | ||
| sheetId: typeof data.sheetId === "string" ? data.sheetId : reportId | ||
| }; | ||
| } | ||
| list(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/list`, payload); | ||
| } | ||
| info(projectId, reportId) { | ||
| return this.client.get(`/app/report/${projectId}/info`, { reportId }); | ||
| } | ||
| create(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/add`, payload); | ||
| } | ||
| async createProjectReport(projectId, payload) { | ||
| const response = await this.client.post(`/app/mul/project/${projectId}/sheet/create`, { | ||
| name: payload.name, | ||
| type: "report", | ||
| config: { dashboardConfig: { | ||
| id: payload.dashboardId || `dashboard_${Date.now()}`, | ||
| title: payload.name, | ||
| ...payload.description ? { description: payload.description } : {}, | ||
| widgets: [], | ||
| parameters: [], | ||
| createdAt: payload.createdAt || Date.now() | ||
| } } | ||
| }); | ||
| return { | ||
| ...response, | ||
| data: this.normalizeProjectReport(response.data || {}) | ||
| }; | ||
| } | ||
| update(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/update`, payload); | ||
| } | ||
| copy(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/copy`, payload); | ||
| } | ||
| publish(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/publish`, payload); | ||
| } | ||
| delete(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/delete`, payload); | ||
| } | ||
| archive(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/archive`, payload); | ||
| } | ||
| sort(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/sort`, payload); | ||
| } | ||
| move(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/move`, payload); | ||
| } | ||
| query(projectId, payload) { | ||
| return this.client.post(`/app/report/query/${projectId}`, payload); | ||
| } | ||
| queryWidget(projectId, payload) { | ||
| return this.client.post(`/app/report/query/${projectId}/widget`, payload); | ||
| } | ||
| preview(projectId, payload) { | ||
| return this.client.post(`/app/report/query/${projectId}/preview`, payload); | ||
| } | ||
| validate(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/validate`, payload); | ||
| } | ||
| addWidget(projectId, payload) { | ||
| return this.client.post(`/app/report/widget/${projectId}/add`, payload); | ||
| } | ||
| updateWidget(projectId, payload) { | ||
| return this.client.post(`/app/report/widget/${projectId}/update`, payload); | ||
| } | ||
| deleteWidget(projectId, payload) { | ||
| return this.client.post(`/app/report/widget/${projectId}/delete`, payload); | ||
| } | ||
| batchWidgets(projectId, payload) { | ||
| return this.client.post(`/app/report/widget/${projectId}/batch`, payload); | ||
| } | ||
| sortWidget(projectId, payload) { | ||
| return this.client.post(`/app/report/widget/${projectId}/sort`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/richtext-field.ts | ||
| var RichTextFieldSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| getContent(teamId, projectId, documentId) { | ||
| return this.client.get(`/app/documents/${teamId}/${projectId}/richtext-field/content`, { documentId }); | ||
| } | ||
| save(teamId, projectId, payload) { | ||
| return this.client.post(`/app/documents/${teamId}/${projectId}/richtext-field/save`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/role.ts | ||
| var RoleSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| list(projectId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/role/list`); | ||
| } | ||
| info(projectId, roleId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/role/info`, { roleId }); | ||
| } | ||
| create(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/role/add`, payload); | ||
| } | ||
| update(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/role/update`, payload); | ||
| } | ||
| delete(projectId, roleIds) { | ||
| return this.client.post(`/app/mul/project/${projectId}/role/delete`, { roleIds }); | ||
| } | ||
| assignUser(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/role/assignUser`, payload); | ||
| } | ||
| removeUser(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/role/removeUser`, payload); | ||
| } | ||
| userRoles(projectId, userId, sheetId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/role/userRoles`, { | ||
| userId, | ||
| sheetId | ||
| }); | ||
| } | ||
| roleUsers(projectId, roleId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/role/roleUsers`, { roleId }); | ||
| } | ||
| projectUsers(projectId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/role/projectUsers`); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/row.ts | ||
| var RowSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| page(teamId, projectId, sheetId, payload) { | ||
| return this.client.post(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/row/page`, payload); | ||
| } | ||
| info(teamId, projectId, sheetId, rowId, options = {}) { | ||
| return this.client.get(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/row/${rowId}/info`, { include: options.include }); | ||
| } | ||
| openInfo(teamId, projectId, sheetId, rowId, options = {}) { | ||
| return this.client.get(`/open/mul/${teamId}/${projectId}/sheet/${sheetId}/row/${rowId}/info`, { include: options.include }); | ||
| } | ||
| create(sheetId, payload) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/row/create`, payload); | ||
| } | ||
| batchCreate(sheetId, payload) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/row/batch-create`, payload); | ||
| } | ||
| update(sheetId, rowId, data, version) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/row/${rowId}/update`, { | ||
| data, | ||
| version | ||
| }); | ||
| } | ||
| delete(sheetId, rowId) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/row/${rowId}/delete`); | ||
| } | ||
| updateCell(sheetId, payload) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/row/cell`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/row-acl.ts | ||
| var RowAclSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| grant(sheetId, payload) { | ||
| return this.client.post("/app/mul/rowAcl/grant", { | ||
| sheetId, | ||
| ...payload | ||
| }); | ||
| } | ||
| revoke(sheetId, rowId, target) { | ||
| return this.client.post("/app/mul/rowAcl/revoke", { | ||
| sheetId, | ||
| rowId, | ||
| target | ||
| }); | ||
| } | ||
| revokeDept(sheetId, rowId, deptId) { | ||
| return this.client.post("/app/mul/rowAcl/revokeDeptAccess", { | ||
| sheetId, | ||
| rowId, | ||
| deptId | ||
| }); | ||
| } | ||
| revokeRole(sheetId, rowId, roleId) { | ||
| return this.client.post("/app/mul/rowAcl/revokeRoleAccess", { | ||
| sheetId, | ||
| rowId, | ||
| roleId | ||
| }); | ||
| } | ||
| list(sheetId, rowId) { | ||
| return this.client.get("/app/mul/rowAcl/list", { | ||
| sheetId, | ||
| rowId | ||
| }); | ||
| } | ||
| roleAcls(sheetId, roleId) { | ||
| return this.client.get("/app/mul/rowAcl/roleAcls", { | ||
| sheetId, | ||
| roleId | ||
| }); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/row-policy.ts | ||
| var RowPolicySDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| list(projectId, sheetId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/row_policy/list`, { sheetId }); | ||
| } | ||
| info(projectId, id, sheetId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/row_policy/info`, { | ||
| id, | ||
| sheetId | ||
| }); | ||
| } | ||
| create(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/row_policy/add`, payload); | ||
| } | ||
| update(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/row_policy/update`, payload); | ||
| } | ||
| delete(projectId, ids, sheetId) { | ||
| return this.client.post(`/app/mul/project/${projectId}/row_policy/delete`, { | ||
| ids, | ||
| sheetId | ||
| }); | ||
| } | ||
| toggle(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/row_policy/toggle`, payload); | ||
| } | ||
| check(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/row_policy/check`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/team.ts | ||
| var TeamSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| info(teamId) { | ||
| return this.client.get(`/app/org/${teamId}/team/info`); | ||
| } | ||
| members(teamId, query = {}) { | ||
| return this.client.get(`/app/org/${teamId}/team_user/list`, query); | ||
| } | ||
| userList(teamId, query = {}) { | ||
| return this.members(teamId, query); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/user.ts | ||
| var UserSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| me() { | ||
| return this.client.get("/app/user/info/person"); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/view.ts | ||
| var ViewSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| list(teamId, projectId, sheetId) { | ||
| return this.client.get(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/view/list`); | ||
| } | ||
| create(teamId, projectId, sheetId, payload) { | ||
| return this.client.post(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/view/create`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/workflow-public.ts | ||
| var WorkflowPublicSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| get(teamId, flowId) { | ||
| return this.client.get(`/app/flow/${teamId}/info/${flowId}/public-access`); | ||
| } | ||
| upsert(teamId, flowId, payload) { | ||
| return this.client.put(`/app/flow/${teamId}/info/${flowId}/public-access`, payload); | ||
| } | ||
| disable(teamId, flowId) { | ||
| return this.upsert(teamId, flowId, { enabled: false }); | ||
| } | ||
| resetSecret(teamId, flowId) { | ||
| return this.client.post(`/app/flow/${teamId}/info/${flowId}/public-access/reset-secret`); | ||
| } | ||
| invoke(publicId, publicSecret, payload) { | ||
| return this.client.post(`/open/flow/${publicId}/v1/chat/completions`, payload, { headers: { Authorization: `Bearer ${publicSecret}` } }); | ||
| } | ||
| }; | ||
| //#endregion | ||
| export { getVersion as C, getUserAgent as S, ColumnSDK as _, RowPolicySDK as a, DimensClient as b, RoleSDK as c, ProjectSDK as d, PluginPublicSDK as f, SheetSDK as g, DocumentSDK as h, TeamSDK as i, RichTextFieldSDK as l, UploadSDK as m, ViewSDK as n, RowAclSDK as o, PermissionSDK as p, UserSDK as r, RowSDK as s, WorkflowPublicSDK as t, ReportSDK as u, CanvasSDK as v, version as w, FlowChatSDK as x, AuthSDK as y }; | ||
| //# sourceMappingURL=workflow-public-BdGCFg-j.mjs.map |
Sorry, the diff of this file is too big to display
| --- | ||
| name: dimens-manager-market | ||
| slug: dimens-manager-market | ||
| description: 用于维表智联应用市场、公开插件、公开资源浏览与安装。 | ||
| version: 1.0.0 | ||
| author: 方块智联工作室 | ||
| tags: [market, plugin, flow_plugin, public, dimens-cli] | ||
| --- | ||
| # dimens-manager 应用市场与公开插件章节 | ||
| ## 执行前必读 | ||
| - ✅ 公开插件以 `.trae/已开发文档/应用市场架构设计.md` 为准:团队插件发布后同步生成或更新公开市场 `flow_plugin` 资源。 | ||
| - ✅ 团队插件发布入口是 `POST /app/plugin/:teamId/info/publish`,CLI 对应 `dimens-cli plugin-public publish`。 | ||
| - ✅ 公开插件浏览和详情走 `/app/market/resource/list` 与 `/app/market/resource/detail`,资源类型固定为 `flow_plugin`。 | ||
| - ✅ 公开插件安装到团队后,落地为目标团队侧的 `flow_info` 工作流/插件实例。 | ||
| - ✅ 公开插件不是公开工作流调用接口;公开工作流看 `references/workflow/overview.md` 的 `workflow-public` 命令。 | ||
| ## 命令维护表 | ||
| | 命令 | 作用 | 必填参数 | 常用可选 | 说明 | | ||
| | --- | --- | --- | --- | --- | | ||
| | `dimens-cli plugin-public publish` | 发布团队插件到公开插件市场 | `teamId`, `pluginId` | - | 后端会发布插件版本并幂等创建/更新 `flow_plugin` 市场资源 | | ||
| | `dimens-cli plugin-public list` | 查询公开插件列表 | - | `keyword`, `page`, `size` | 默认 `resourceType=flow_plugin,status=1` | | ||
| | `dimens-cli plugin-public detail` | 查询公开插件详情 | `resourceId` | - | 用市场资源 ID,不是源工作流 ID | | ||
| | `dimens-cli plugin-public install-flow` | 安装公开插件为团队工作流实例 | `teamId`, `resourceId` | `projectScopeType`, `projectIds`, `instanceName` | 推荐安装 `flow_plugin` 时优先使用 | | ||
| | `dimens-cli plugin-public install` | 走市场通用安装入口 | `teamId`, `resourceId` | `projectId`, `instanceName` | 用于兼容通用市场安装 | | ||
| | `dimens-cli plugin-public uninstall` | 卸载公开插件安装实例 | `resourceId` | `teamId` | 不删除原公开市场资源 | | ||
| | `dimens-cli plugin-public upgrade` | 升级公开插件安装实例 | `resourceId` | `teamId` | 按后端市场升级规则执行 | | ||
| ## 常用链路 | ||
| ### 发布团队插件为公开插件 | ||
| ```bash | ||
| dimens-cli plugin-public publish \ | ||
| --team-id TEAM1 \ | ||
| --plugin-id 3 | ||
| ``` | ||
| 发布后验证: | ||
| ```bash | ||
| dimens-cli plugin-public list --keyword "审批" | ||
| ``` | ||
| ### 安装公开插件 | ||
| ```bash | ||
| dimens-cli plugin-public install-flow \ | ||
| --team-id TEAM2 \ | ||
| --resource-id 88 \ | ||
| --project-scope-type selected_projects \ | ||
| --project-ids PROJ1,PROJ2 \ | ||
| --instance-name "审批助手" | ||
| ``` | ||
| ## 边界说明 | ||
| - `pluginId` 是团队插件/源 `flow_info` ID;`resourceId` 是公开市场 `market_resource.id`。 | ||
| - 公开插件市场负责可见性、版本和安装;插件实例执行仍回到团队工作流/插件体系。 | ||
| - 如果用户要“免登录 HTTP 调用某个工作流”,不要使用 `plugin-public`,应使用 `workflow-public`。 | ||
| - 如果用户要“发布公开应用或模板”,当前 CLI 本次只整理公开插件主链;项目公开应用/模板仍以产品页面或后续 CLI 能力为准。 |
| # 公开工作流与公开插件 API 接入示例 | ||
| ## 1. 公开工作流 | ||
| 公开工作流遵循文档 126 的边界: | ||
| - 管理态配置:`/app/flow/:teamId/info/:flowId/public-access` | ||
| - 免登录调用:`/open/flow/:publicId/v1/chat/completions` | ||
| - `publicSecret` 只用于公开工作流调用,不是用户 token、refreshToken、new-api token 或 API Key 登录密钥。 | ||
| CLI: | ||
| ```bash | ||
| dimens-cli workflow-public invoke \ | ||
| --public-id wfpub_xxx \ | ||
| --public-secret wfsk_xxx \ | ||
| --message "分析客户风险" \ | ||
| --metadata '{"source":"crm"}' | ||
| ``` | ||
| SDK: | ||
| ```ts | ||
| import { createSDK } from '@bintel/dimens-cli'; | ||
| const sdk = createSDK({ | ||
| baseUrl: 'https://dimens.bintelai.com/api', | ||
| }); | ||
| const result = await sdk.workflowPublic.invoke('wfpub_xxx', 'wfsk_xxx', { | ||
| model: 'workflow', | ||
| messages: [{ role: 'user', content: '分析客户风险' }], | ||
| metadata: { source: 'crm' }, | ||
| }); | ||
| console.log(result.data.choices[0]?.message.content); | ||
| ``` | ||
| 管理态创建或更新配置需要登录态 token: | ||
| ```ts | ||
| await sdk.workflowPublic.upsert('TEAM1', 12, { | ||
| enabled: true, | ||
| runAsUserId: 1001, | ||
| projectId: 'PROJ1', | ||
| ipWhitelist: ['1.2.3.4'], | ||
| rateLimit: { perMinute: 60, concurrency: 5 }, | ||
| }); | ||
| ``` | ||
| ## 2. 公开插件 | ||
| 公开插件以应用市场文档为准: | ||
| - 团队插件发布:`POST /app/plugin/:teamId/info/publish` | ||
| - 市场列表:`GET /app/market/resource/list?resourceType=flow_plugin` | ||
| - 安装公开插件:`POST /app/market/install/flow` | ||
| CLI: | ||
| ```bash | ||
| dimens-cli plugin-public publish --team-id TEAM1 --plugin-id 3 | ||
| dimens-cli plugin-public list --keyword "审批" | ||
| dimens-cli plugin-public install-flow --team-id TEAM2 --resource-id 88 --project-scope-type all_projects | ||
| ``` | ||
| SDK: | ||
| ```ts | ||
| await sdk.pluginPublic.publish('TEAM1', 3); | ||
| const plugins = await sdk.pluginPublic.list({ | ||
| keyword: '审批', | ||
| page: 1, | ||
| size: 20, | ||
| }); | ||
| await sdk.pluginPublic.installFlow({ | ||
| teamId: 'TEAM2', | ||
| resourceId: 88, | ||
| projectScopeType: 'all_projects', | ||
| }); | ||
| console.log(plugins.data.list); | ||
| ``` | ||
| 注意: | ||
| - `pluginId` 是团队插件或源工作流 ID。 | ||
| - `resourceId` 是公开市场 `market_resource.id`。 | ||
| - 安装公开插件会在目标团队生成团队插件实例,不等同于免登录公开工作流调用。 |
+150
-48
@@ -27,2 +27,3 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; | ||
| post<T>(path: string, body?: unknown, init?: RequestInit): Promise<APIResponse<T>>; | ||
| put<T>(path: string, body?: unknown, init?: RequestInit): Promise<APIResponse<T>>; | ||
| postFormData<T>(path: string, formData: FormData, init?: RequestInit): Promise<APIResponse<T>>; | ||
@@ -473,2 +474,60 @@ private buildUrl; | ||
| //#endregion | ||
| //#region src/sdk/plugin-public.d.ts | ||
| interface MarketResourceItem { | ||
| id: number; | ||
| resourceType: string; | ||
| sourceId?: number; | ||
| name?: string; | ||
| description?: string; | ||
| status?: number; | ||
| teamId?: string; | ||
| projectId?: string; | ||
| sourceVersion?: string; | ||
| tags?: string[]; | ||
| meta?: Record<string, unknown>; | ||
| [key: string]: unknown; | ||
| } | ||
| interface MarketListResult { | ||
| list: MarketResourceItem[]; | ||
| pagination?: { | ||
| page: number; | ||
| size: number; | ||
| total: number; | ||
| }; | ||
| [key: string]: unknown; | ||
| } | ||
| interface PluginPublicListQuery { | ||
| page?: number; | ||
| size?: number; | ||
| keyword?: string; | ||
| status?: number; | ||
| teamId?: string; | ||
| } | ||
| interface PluginPublicInstallFlowInput { | ||
| teamId: string; | ||
| resourceId: number; | ||
| projectScopeType: 'all_projects' | 'selected_projects'; | ||
| projectIds?: string[]; | ||
| instanceName?: string; | ||
| } | ||
| interface PluginPublicInstallInput { | ||
| teamId: string; | ||
| projectId?: string; | ||
| resourceId: number; | ||
| instanceName?: string; | ||
| } | ||
| declare class PluginPublicSDK { | ||
| private readonly client; | ||
| constructor(client: DimensClient); | ||
| publish(teamId: string, pluginId: number): Promise<APIResponse<{ | ||
| success: boolean; | ||
| }>>; | ||
| list(query?: PluginPublicListQuery): Promise<APIResponse<MarketListResult>>; | ||
| detail(resourceId: number): Promise<APIResponse<MarketResourceItem>>; | ||
| install(payload: PluginPublicInstallInput): Promise<APIResponse<unknown>>; | ||
| installFlow(payload: PluginPublicInstallFlowInput): Promise<APIResponse<unknown>>; | ||
| uninstall(resourceId: number, teamId?: string): Promise<APIResponse<unknown>>; | ||
| upgrade(resourceId: number, teamId?: string): Promise<APIResponse<unknown>>; | ||
| } | ||
| //#endregion | ||
| //#region src/sdk/project.d.ts | ||
@@ -708,2 +767,49 @@ interface ProjectInfo { | ||
| //#endregion | ||
| //#region src/sdk/role.d.ts | ||
| interface RoleInfo { | ||
| roleId: string; | ||
| name: string; | ||
| description?: string; | ||
| isSystem?: boolean; | ||
| canManageSheets?: boolean; | ||
| canEditSchema?: boolean; | ||
| canEditData?: boolean; | ||
| [key: string]: unknown; | ||
| } | ||
| interface RoleMutationPayload { | ||
| name?: string; | ||
| description?: string; | ||
| isSystem?: boolean; | ||
| canManageSheets?: boolean; | ||
| canEditSchema?: boolean; | ||
| canEditData?: boolean; | ||
| [key: string]: unknown; | ||
| } | ||
| interface RoleUpdatePayload { | ||
| roleId: string; | ||
| data: RoleMutationPayload; | ||
| } | ||
| interface RoleAssignUserPayload { | ||
| roleId: string; | ||
| userId: number; | ||
| sheetId?: string; | ||
| } | ||
| declare class RoleSDK { | ||
| private readonly client; | ||
| constructor(client: DimensClient); | ||
| list(projectId: string): Promise<APIResponse<RoleInfo[]>>; | ||
| info(projectId: string, roleId: string): Promise<APIResponse<RoleInfo>>; | ||
| create(projectId: string, payload: RoleMutationPayload): Promise<APIResponse<RoleInfo>>; | ||
| update(projectId: string, payload: RoleUpdatePayload): Promise<APIResponse<RoleInfo>>; | ||
| delete(projectId: string, roleIds: string[]): Promise<APIResponse<Array<{ | ||
| success: boolean; | ||
| message?: string; | ||
| }>>>; | ||
| assignUser(projectId: string, payload: RoleAssignUserPayload): Promise<APIResponse<Record<string, unknown>>>; | ||
| removeUser(projectId: string, payload: RoleAssignUserPayload): Promise<APIResponse<Record<string, unknown>>>; | ||
| userRoles(projectId: string, userId: number, sheetId?: string): Promise<APIResponse<Record<string, unknown>>>; | ||
| roleUsers(projectId: string, roleId: string): Promise<APIResponse<Record<string, unknown>[]>>; | ||
| projectUsers(projectId: string): Promise<APIResponse<Record<string, unknown>[]>>; | ||
| } | ||
| //#endregion | ||
| //#region src/sdk/row.d.ts | ||
@@ -834,49 +940,2 @@ interface RowInfo { | ||
| //#endregion | ||
| //#region src/sdk/role.d.ts | ||
| interface RoleInfo { | ||
| roleId: string; | ||
| name: string; | ||
| description?: string; | ||
| isSystem?: boolean; | ||
| canManageSheets?: boolean; | ||
| canEditSchema?: boolean; | ||
| canEditData?: boolean; | ||
| [key: string]: unknown; | ||
| } | ||
| interface RoleMutationPayload { | ||
| name?: string; | ||
| description?: string; | ||
| isSystem?: boolean; | ||
| canManageSheets?: boolean; | ||
| canEditSchema?: boolean; | ||
| canEditData?: boolean; | ||
| [key: string]: unknown; | ||
| } | ||
| interface RoleUpdatePayload { | ||
| roleId: string; | ||
| data: RoleMutationPayload; | ||
| } | ||
| interface RoleAssignUserPayload { | ||
| roleId: string; | ||
| userId: number; | ||
| sheetId?: string; | ||
| } | ||
| declare class RoleSDK { | ||
| private readonly client; | ||
| constructor(client: DimensClient); | ||
| list(projectId: string): Promise<APIResponse<RoleInfo[]>>; | ||
| info(projectId: string, roleId: string): Promise<APIResponse<RoleInfo>>; | ||
| create(projectId: string, payload: RoleMutationPayload): Promise<APIResponse<RoleInfo>>; | ||
| update(projectId: string, payload: RoleUpdatePayload): Promise<APIResponse<RoleInfo>>; | ||
| delete(projectId: string, roleIds: string[]): Promise<APIResponse<Array<{ | ||
| success: boolean; | ||
| message?: string; | ||
| }>>>; | ||
| assignUser(projectId: string, payload: RoleAssignUserPayload): Promise<APIResponse<Record<string, unknown>>>; | ||
| removeUser(projectId: string, payload: RoleAssignUserPayload): Promise<APIResponse<Record<string, unknown>>>; | ||
| userRoles(projectId: string, userId: number, sheetId?: string): Promise<APIResponse<Record<string, unknown>>>; | ||
| roleUsers(projectId: string, roleId: string): Promise<APIResponse<Record<string, unknown>[]>>; | ||
| projectUsers(projectId: string): Promise<APIResponse<Record<string, unknown>[]>>; | ||
| } | ||
| //#endregion | ||
| //#region src/sdk/sheet.d.ts | ||
@@ -1032,4 +1091,45 @@ interface SheetInfo { | ||
| //#endregion | ||
| //#region src/sdk/workflow-public.d.ts | ||
| interface WorkflowPublicRateLimit { | ||
| perMinute?: number; | ||
| concurrency?: number; | ||
| } | ||
| interface WorkflowPublicAccessInput { | ||
| enabled: boolean; | ||
| runAsUserId?: number; | ||
| projectId?: string; | ||
| expireTime?: string; | ||
| ipWhitelist?: string[]; | ||
| rateLimit?: WorkflowPublicRateLimit; | ||
| remark?: string; | ||
| } | ||
| interface WorkflowPublicAccessView { | ||
| publicId?: string; | ||
| endpoint?: string; | ||
| enabled?: boolean; | ||
| runAsUserId?: number; | ||
| projectId?: string; | ||
| expireTime?: string; | ||
| ipWhitelist?: string[]; | ||
| rateLimit?: WorkflowPublicRateLimit; | ||
| lastUsedTime?: string; | ||
| lastUsedIp?: string; | ||
| remark?: string; | ||
| [key: string]: unknown; | ||
| } | ||
| interface WorkflowPublicAccessSecretView extends WorkflowPublicAccessView { | ||
| publicSecret?: string; | ||
| } | ||
| declare class WorkflowPublicSDK { | ||
| private readonly client; | ||
| constructor(client: DimensClient); | ||
| get(teamId: string, flowId: number): Promise<APIResponse<WorkflowPublicAccessView>>; | ||
| upsert(teamId: string, flowId: number, payload: WorkflowPublicAccessInput): Promise<APIResponse<WorkflowPublicAccessSecretView>>; | ||
| disable(teamId: string, flowId: number): Promise<APIResponse<WorkflowPublicAccessView>>; | ||
| resetSecret(teamId: string, flowId: number): Promise<APIResponse<WorkflowPublicAccessSecretView>>; | ||
| invoke(publicId: string, publicSecret: string, payload: FlowChatCompletionsPayload): Promise<APIResponse<FlowChatCompletionResult>>; | ||
| } | ||
| //#endregion | ||
| //#region src/sdk/index.d.ts | ||
| interface SDKConfig extends DimensClientOptions {} | ||
| type SDKConfig = DimensClientOptions; | ||
| declare class DimensSDK { | ||
@@ -1043,2 +1143,3 @@ readonly client: DimensClient; | ||
| readonly permission: PermissionSDK; | ||
| readonly pluginPublic: PluginPublicSDK; | ||
| readonly sheet: SheetSDK; | ||
@@ -1056,2 +1157,3 @@ readonly team: TeamSDK; | ||
| readonly richtextField: RichTextFieldSDK; | ||
| readonly workflowPublic: WorkflowPublicSDK; | ||
| constructor(config: SDKConfig); | ||
@@ -1058,0 +1160,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.mts","names":[],"sources":["../src/sdk/client.ts","../src/sdk/auth.ts","../src/sdk/canvas.ts","../src/sdk/column.ts","../src/sdk/document.ts","../src/sdk/flow-chat.ts","../src/sdk/permission.ts","../src/sdk/project.ts","../src/sdk/report.ts","../src/sdk/richtext-field.ts","../src/sdk/row.ts","../src/sdk/row-acl.ts","../src/sdk/row-policy.ts","../src/sdk/role.ts","../src/sdk/sheet.ts","../src/sdk/team.ts","../src/sdk/upload.ts","../src/sdk/user.ts","../src/sdk/view.ts","../src/sdk/index.ts","../src/types.ts","../src/core/version.ts","../src/core/logger.ts","../src/core/config.ts","../src/tools/registry.ts","../src/tools/index.ts","../src/commands/registry.ts","../src/commands/index.ts","../src/cli.ts","../src/mcp/context.ts","../src/mcp/tools/types.ts","../src/mcp/tools/index.ts","../src/mcp/server.ts","../src/mcp/http.ts","../src/skills/index.ts","../index.ts"],"mappings":"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"} | ||
| {"version":3,"file":"index.d.mts","names":[],"sources":["../src/sdk/client.ts","../src/sdk/auth.ts","../src/sdk/canvas.ts","../src/sdk/column.ts","../src/sdk/document.ts","../src/sdk/flow-chat.ts","../src/sdk/permission.ts","../src/sdk/plugin-public.ts","../src/sdk/project.ts","../src/sdk/report.ts","../src/sdk/richtext-field.ts","../src/sdk/role.ts","../src/sdk/row.ts","../src/sdk/row-acl.ts","../src/sdk/row-policy.ts","../src/sdk/sheet.ts","../src/sdk/team.ts","../src/sdk/upload.ts","../src/sdk/user.ts","../src/sdk/view.ts","../src/sdk/workflow-public.ts","../src/sdk/index.ts","../src/types.ts","../src/core/version.ts","../src/core/logger.ts","../src/core/config.ts","../src/tools/registry.ts","../src/tools/index.ts","../src/commands/registry.ts","../src/commands/index.ts","../src/cli.ts","../src/mcp/context.ts","../src/mcp/tools/types.ts","../src/mcp/tools/index.ts","../src/mcp/server.ts","../src/mcp/http.ts","../src/skills/index.ts","../index.ts"],"mappings":"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"} |
+1
-1
| { | ||
| "name": "@bintel/dimens-cli", | ||
| "version": "1.0.12", | ||
| "version": "1.0.13", | ||
| "description": "Dimens CLI 与 Node.js SDK,提供维表智联认证、项目、表格、行数据、文件上传与 AI 多能力模型代理调用能力", | ||
@@ -5,0 +5,0 @@ "type": "module", |
+38
-0
@@ -36,2 +36,4 @@ # Dimens CLI | ||
| - `ai` | ||
| - `workflow-public` | ||
| - `plugin-public` | ||
| - `skill` | ||
@@ -56,2 +58,4 @@ - `system` | ||
| - `sdk.ai` | ||
| - `sdk.workflowPublic` | ||
| - `sdk.pluginPublic` | ||
@@ -140,2 +144,4 @@ ## 安装 | ||
| node ./bin/dimens-cli.js help ai | ||
| node ./bin/dimens-cli.js help workflow-public | ||
| node ./bin/dimens-cli.js help plugin-public | ||
| node ./bin/dimens-cli.js help skill | ||
@@ -540,2 +546,34 @@ ``` | ||
| 公开工作流管理与免登录调用: | ||
| ```bash | ||
| node ./bin/dimens-cli.js workflow-public upsert \ | ||
| --team-id TEAM1 \ | ||
| --flow-id 12 \ | ||
| --enabled true \ | ||
| --run-as-user-id 1001 \ | ||
| --project-id PROJ1 | ||
| node ./bin/dimens-cli.js workflow-public invoke \ | ||
| --public-id wfpub_xxx \ | ||
| --public-secret wfsk_xxx \ | ||
| --message "帮我分析这个客户的续费风险" \ | ||
| --metadata '{"source":"crm","customerId":"C10001"}' | ||
| ``` | ||
| 公开插件发布与安装: | ||
| ```bash | ||
| node ./bin/dimens-cli.js plugin-public publish \ | ||
| --team-id TEAM1 \ | ||
| --plugin-id 3 | ||
| node ./bin/dimens-cli.js plugin-public list --keyword 审批 | ||
| node ./bin/dimens-cli.js plugin-public install-flow \ | ||
| --team-id TEAM2 \ | ||
| --resource-id 88 \ | ||
| --project-scope-type all_projects | ||
| ``` | ||
| 调用 AI 图片生成: | ||
@@ -542,0 +580,0 @@ |
@@ -15,2 +15,3 @@ # dimens-manager | ||
| - `dimens-manager/references/workflow/overview.md` | ||
| - `dimens-manager/references/market/overview.md` | ||
| - `dimens-manager/references/report/overview.md` | ||
@@ -31,2 +32,3 @@ - `dimens-manager/references/canvas/overview.md` | ||
| | `references/workflow/` | `dimens-manager/references/workflow/overview.md` | 工作流定义、项目挂载、运行与模型边界 | | ||
| | `references/market/` | `dimens-manager/references/market/overview.md` | 公开插件、应用市场浏览、安装和升级 | | ||
| | `references/report/` | `dimens-manager/references/report/overview.md` | 报表、组件、参数、数据源与查询 | | ||
@@ -33,0 +35,0 @@ | `references/canvas/` | `dimens-manager/references/canvas/overview.md` | 画布资源、AI 生成画布、版本与组件资源市场 | |
@@ -241,2 +241,28 @@ --- | ||
| ## 🌐 公开工作流 (workflow-public) | ||
| | 命令 | 说明 | | ||
| |------|------| | ||
| | `workflow-public get --flow-id <id>` | 查询单工作流公开访问配置 | | ||
| | `workflow-public upsert --flow-id <id> [--enabled true] [--run-as-user-id <uid>] [--project-id <pid>]` | 创建或更新公开访问配置 | | ||
| | `workflow-public disable --flow-id <id>` | 关闭公开访问 | | ||
| | `workflow-public reset-secret --flow-id <id>` | 重置公开密钥,密钥只返回一次 | | ||
| | `workflow-public invoke --public-id <wfpub> --public-secret <wfsk> --message <text>` | 免登录调用公开工作流 | | ||
| > 公开工作流调用的是 `/open/flow/:publicId/v1/chat/completions`,`publicSecret` 不是用户 token,也不是 API Key 登录的 `apiSecret`。 | ||
| ## 🧩 公开插件 (plugin-public) | ||
| | 命令 | 说明 | | ||
| |------|------| | ||
| | `plugin-public publish --plugin-id <id>` | 发布团队插件到公开插件市场 | | ||
| | `plugin-public list [--keyword <kw>]` | 查询公开插件市场列表 | | ||
| | `plugin-public detail --resource-id <id>` | 查询公开插件详情 | | ||
| | `plugin-public install-flow --resource-id <id> [--project-scope-type all_projects|selected_projects]` | 安装公开插件为团队工作流实例 | | ||
| | `plugin-public install --resource-id <id>` | 市场通用安装入口 | | ||
| | `plugin-public uninstall --resource-id <id>` | 卸载公开插件安装实例 | | ||
| | `plugin-public upgrade --resource-id <id>` | 升级公开插件安装实例 | | ||
| > 公开插件资源类型固定为 `flow_plugin`。`pluginId` 是团队插件 ID,`resourceId` 是市场资源 ID。 | ||
| ## 📚 技能查看 (skill) | ||
@@ -243,0 +269,0 @@ |
@@ -22,3 +22,5 @@ --- | ||
| - ✅ 工作流章节现在按四层组织:总规范、节点词典、AI 场景模板、审批场景模板 | ||
| - ✅ CLI 优先:当前已封装的聊天兼容调用优先走 `dimens-cli ai chat-completions`,未封装的管理、挂载、发布能力必须说明 `server-only` 或产品侧边界 | ||
| - ✅ CLI 优先:登录态聊天兼容调用走 `dimens-cli ai chat-completions`;公开工作流配置和免登录调用走 `dimens-cli workflow-public *` | ||
| - ✅ 公开工作流必须以 `.trae/推进方案/126 AI 工作流接口的公开.md` 和 `.trae/推进方案/126-1 AI 工作流接口公开研发文档.md` 的接口为准:管理态 `/app/flow/:teamId/info/:flowId/public-access`,免登录调用 `/open/flow/:publicId/v1/chat/completions` | ||
| - ✅ 不复用旧 `/open/flow/run/invoke` 作为公开主链路,不把 API Key 登录当成公开工作流密钥;`publicSecret` 只用于 `workflow-public invoke` | ||
| - ✅ 缺少 `teamId/projectId/flowId/label` 时,先补上下文或输出待确认项,不要把 `label`、`model`、`flowId` 混写成同一个确定值 | ||
@@ -47,2 +49,7 @@ - ✅ 项目内工作流展示必须区分“团队工作流定义”和“项目工作流挂载” | ||
| | `dimens-cli ai chat-completions` | 走 OpenAI 兼容接口调用团队模型或工作流能力 | `teamId`, `messages` | `model`, `temperature`, `stream` | `model` 为空时可能走团队默认文本模型,但不等于所有工作流节点都这样继承 | | ||
| | `dimens-cli workflow-public get` | 查询单工作流公开配置 | `teamId`, `flowId` | - | 不回显 `publicSecret` | | ||
| | `dimens-cli workflow-public upsert` | 创建或更新公开访问配置 | `teamId`, `flowId` | `runAsUserId`, `projectId`, `expireTime`, `ipWhitelist`, `rateLimit` | 只有团队管理员/所有者可开启;首次或重置才返回 `publicSecret` | | ||
| | `dimens-cli workflow-public disable` | 关闭公开访问 | `teamId`, `flowId` | - | 关闭后原公开入口应立即不可用 | | ||
| | `dimens-cli workflow-public reset-secret` | 重置公开访问密钥 | `teamId`, `flowId` | - | 新密钥只展示一次 | | ||
| | `dimens-cli workflow-public invoke` | 使用 `wfpub/wfsk` 免登录调用公开工作流 | `publicId`, `publicSecret`, `message` 或 `payload` | `metadata`, `user`, `stream` | 请求体不能覆盖 `teamId/flowId/projectId/runAsUserId`,这些只能来自后端公开配置 | | ||
| | `flow_config_get` | 查询团队默认模型策略 | `teamId` | `type=default_models` | 只说明团队默认模型配置,不代表节点自动回退一定生效 | | ||
@@ -56,2 +63,4 @@ | `dimens-cli ai chat-completions` | 辅助生成 AI 工作流或审批工作流草案 | `teamId`, `messages` | `model=team-default` | 可用于让 AI 产出蓝图和 JSON 草案,但创建、发布、挂载仍要看当前能力边界 | | ||
| - `chat-completions` 和普通工作流节点执行是两条链路,不能因为一条可用就推断另一条也正常。 | ||
| - 公开工作流是第三条受控公开链路:公开的是单个工作流调用入口,不公开用户 token、refreshToken、new-api token 或团队身份。 | ||
| - `workflow-public invoke` 的 `Authorization` 是 `Bearer <publicSecret>`,不是用户登录 token;CLI 会用显式 header 覆盖本地 profile token。 | ||
| - 用户说“项目里看不到工作流”时,默认先查 `flow_list` 再查 `project_workflow_binding_list`,不要直接怀疑前端。 | ||
@@ -88,2 +97,3 @@ | ||
| - OpenAI 兼容聊天接口是工作流体系对外暴露的一条兼容入口,不等于完整工作流管理接口 | ||
| - 公开工作流接口只允许调用单个已发布 AI 工作流;匿名调用方不能自行指定或覆盖 `teamId/flowId/projectId/runAsUserId` | ||
@@ -183,2 +193,33 @@ ### 4. 上下文要求 | ||
| ### 场景 3.1:公开并调用单个 AI 工作流 | ||
| 管理态开启公开配置: | ||
| ```bash | ||
| dimens-cli workflow-public upsert \ | ||
| --team-id TEAM1 \ | ||
| --flow-id 12 \ | ||
| --enabled true \ | ||
| --run-as-user-id 1001 \ | ||
| --project-id PROJ1 \ | ||
| --ip-whitelist 1.2.3.4 \ | ||
| --rate-limit '{"perMinute":60,"concurrency":5}' | ||
| ``` | ||
| 免登录调用公开入口: | ||
| ```bash | ||
| dimens-cli workflow-public invoke \ | ||
| --public-id wfpub_xxx \ | ||
| --public-secret wfsk_xxx \ | ||
| --message "帮我分析这个客户的续费风险" \ | ||
| --metadata '{"source":"crm","customerId":"C10001"}' | ||
| ``` | ||
| 注意: | ||
| - 开启公开前必须确认该工作流已发布、已启用,并通过后端公开节点安全扫描。 | ||
| - 请求体里的 `teamId/flowId/projectId/runAsUserId/newApiToken` 不可信,不能作为执行身份来源。 | ||
| - 关闭公开用 `workflow-public disable`;重置密钥用 `workflow-public reset-secret`,旧密钥应立即失效。 | ||
| ### 场景 4:AI 自动生成审批工作流 | ||
@@ -219,2 +260,3 @@ | ||
| | `chat/completions` 能调用,工作流界面不能跑 | 两条链路的入口和校验条件不同 | 区分聊天兼容调用与工作流运行链路 | | ||
| | 公开工作流调用 401/403 | `publicSecret` 错误、公开配置关闭、过期、IP 白名单不匹配或工作流未通过公开校验 | 先 `workflow-public get` 查配置,再确认 `wfsk` 是否为最新一次返回的密钥 | | ||
| | 调试可用,正式执行失败 | 调试和正式执行走不同运行上下文或参数 | 检查运行参数、发布版本和正式执行入口 | | ||
@@ -221,0 +263,0 @@ | 同一个工作流在不同项目表现不同 | 项目绑定、权限或系统视图不同 | 联动检查 `projectId`、绑定关系与权限 | |
@@ -54,3 +54,4 @@ --- | ||
| | 权限管理 | `references/permission/overview.md` | 角色、项目权限、表/列/行权限、ACL、公开访问 | | ||
| | 工作流 | `references/workflow/overview.md` | 工作流定义、项目挂载、运行调用、模型配置 | | ||
| | 工作流 | `references/workflow/overview.md` | 工作流定义、项目挂载、运行调用、模型配置、公开工作流 | | ||
| | 应用市场/公开插件 | `references/market/overview.md` | 团队插件发布为公开插件、公开插件浏览与安装 | | ||
| | 报表 | `references/report/overview.md` | 报表、图表组件、参数联动、数据源查询 | | ||
@@ -73,6 +74,7 @@ | 画布 | `references/canvas/overview.md` | 画布资源、AI 生成画布、PPT 画布、版本管理、组件资源市场 | | ||
| - 审批工作流节点参数必须继续看 `references/workflow/references/approval-node-parameters.md`,不能只输出空节点。 | ||
| 10. 统计分析和看板问题看 `references/report/overview.md`。 | ||
| 11. 画布、白板、流程图、PPT 画布和 AI 一键生成画布看 `references/canvas/overview.md`。 | ||
| 12. 输出前按“CLI 已升级、命令链、必要参数、验证命令、风险点”检查一遍。 | ||
| 13. 如果是项目初始化或批量建表,最后必须执行一次全量验收:`sheet tree` 确认无空目录,逐表 `column list` 确认字段,逐表 `row page` 确认非空数据,逐报表 `query-widget/query` 确认可出数。 | ||
| 10. 公开插件、应用市场安装和团队插件发布看 `references/market/overview.md`。 | ||
| 11. 统计分析和看板问题看 `references/report/overview.md`。 | ||
| 12. 画布、白板、流程图、PPT 画布和 AI 一键生成画布看 `references/canvas/overview.md`。 | ||
| 13. 输出前按“CLI 已升级、命令链、必要参数、验证命令、风险点”检查一遍。 | ||
| 14. 如果是项目初始化或批量建表,最后必须执行一次全量验收:`sheet tree` 确认无空目录,逐表 `column list` 确认字段,逐表 `row page` 确认非空数据,逐报表 `query-widget/query` 确认可出数。 | ||
@@ -156,2 +158,3 @@ ### 全量验收矩阵 | ||
| - `references/workflow/overview.md` | ||
| - `references/market/overview.md` | ||
| - `references/workflow/references/approval-generation.md` | ||
@@ -158,0 +161,0 @@ - `references/workflow/references/approval-existing-cases.md` |
@@ -62,2 +62,3 @@ --- | ||
| | AI 多能力模型代理 | `references/ai-examples.md` | 聊天、模型列表、图片生成/编辑/变体、视频任务、音频、Embedding、Rerank | | ||
| | 公开工作流/公开插件 API | `references/public-api-examples.md` | `workflow-public`、`plugin-public`、`WorkflowPublicSDK`、`PluginPublicSDK` | | ||
| | 接入路径选择 | `references/integration-paths.md` | SDK、HTTP、BFF 的选型边界 | | ||
@@ -82,2 +83,4 @@ | 当前 SDK 能力 | `references/capability-status.md` | 判断能否直接用 SDK | | ||
| | “AI 生图/生视频/Embedding/Rerank 怎么接” | `references/ai-examples.md`、`references/capability-status.md` | 默认走 `sdk.ai` 和维表后端代理,不直连 new-api | | ||
| | “公开工作流怎么给第三方系统调用 / wfpub wfsk 怎么用” | `references/public-api-examples.md` | 说明 `publicSecret` 与登录 token/API Key 的边界,给 `workflowPublic.invoke()` | | ||
| | “公开插件怎么发布和安装” | `references/public-api-examples.md` | 说明 `flow_plugin` 市场资源与团队插件实例边界 | | ||
| | “上传素材库为什么要 teamId” | `references/upload-examples.md`、`references/media/overview.md` | 说明 `--source material --team-id`、CDN-first 和 fallback | | ||
@@ -128,2 +131,3 @@ | ||
| - 不要把 `chat/completions` 当成完整工作流管理接口。 | ||
| - 不要把公开工作流 `publicSecret` 当成用户登录 token;它只用于 `/open/flow/:publicId/v1/chat/completions`。 | ||
| - 不要认为登录成功就自动拥有项目、表格、报表权限。 | ||
@@ -178,1 +182,2 @@ | ||
| - `references/ai-examples.md` | ||
| - `references/public-api-examples.md` |
+2
-0
@@ -99,2 +99,3 @@ # 维表智联 Skill 体系 | ||
| | `dimens-manager/references/workflow/overview.md` | `flow_*`、`dimens-cli ai *` | 负责工作流定义、项目挂载、运行调用、模型边界 | 先分清团队定义、项目挂载、运行调用三层,不要混用结论 | | ||
| | `dimens-manager/references/market/overview.md` | `plugin-public *` | 负责公开插件发布、公开插件市场列表、安装、升级与卸载 | 团队插件发布到公开市场后沉淀为 `flow_plugin`,安装落地为目标团队工作流实例 | | ||
| | `dimens-manager/references/report/overview.md` | `report *`、`widget-*`、`query*`、`preview` | 负责报表主资源、组件、查询和预检链路 | 报表和组件更新都默认先取当前数据,新增或修改组件前优先走 `preview` | | ||
@@ -134,2 +135,3 @@ | `dimens-manager/references/canvas/overview.md` | `canvas *`、`sheet create --type canvas` | 负责画布资源、AI 生成图数据、版本和组件资源市场 | 保存前先 `canvas info` 拿版本,再 `canvas save --base-version`,不要把画布当成可执行工作流 | | ||
| | 工作流 | `dimens-manager/references/workflow/overview.md` | 工作流、AI 分析、审批、自动化、默认模型问题 | | ||
| | 应用市场/公开插件 | `dimens-manager/references/market/overview.md` | 公开插件、应用市场浏览、安装和升级 | | ||
| | 报表 | `dimens-manager/references/report/overview.md` | 报表、图表、参数筛选、数据源查询与创建前预检 | | ||
@@ -136,0 +138,0 @@ | 画布 | `dimens-manager/references/canvas/overview.md` | 画布、白板、流程图、AI 生成画布、版本恢复、资源市场 | |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
| import { t as __exportAll } from "./rolldown-runtime-95iHPtFO.mjs"; | ||
| import { _ as AuthSDK, a as RowAclSDK, c as RichTextFieldSDK, d as ProjectSDK, f as UploadSDK, g as CanvasSDK, h as ColumnSDK, i as RowPolicySDK, l as ReportSDK, m as SheetSDK, n as UserSDK, o as RowSDK, p as DocumentSDK, r as TeamSDK, s as RoleSDK, t as ViewSDK, u as PermissionSDK, v as DimensClient, y as FlowChatSDK } from "./view-CfawJM4w.mjs"; | ||
| //#region src/sdk/index.ts | ||
| var sdk_exports = /* @__PURE__ */ __exportAll({ | ||
| DimensSDK: () => DimensSDK, | ||
| createSDK: () => createSDK | ||
| }); | ||
| var DimensSDK = class { | ||
| client; | ||
| auth; | ||
| project; | ||
| report; | ||
| canvas; | ||
| role; | ||
| permission; | ||
| sheet; | ||
| team; | ||
| user; | ||
| column; | ||
| document; | ||
| view; | ||
| row; | ||
| rowPolicy; | ||
| rowAcl; | ||
| ai; | ||
| upload; | ||
| richtextField; | ||
| constructor(config) { | ||
| this.client = new DimensClient(config); | ||
| this.auth = new AuthSDK(this.client); | ||
| this.project = new ProjectSDK(this.client); | ||
| this.report = new ReportSDK(this.client); | ||
| this.canvas = new CanvasSDK(this.client); | ||
| this.role = new RoleSDK(this.client); | ||
| this.permission = new PermissionSDK(this.client); | ||
| this.sheet = new SheetSDK(this.client); | ||
| this.team = new TeamSDK(this.client); | ||
| this.user = new UserSDK(this.client); | ||
| this.column = new ColumnSDK(this.client); | ||
| this.document = new DocumentSDK(this.client); | ||
| this.view = new ViewSDK(this.client); | ||
| this.row = new RowSDK(this.client); | ||
| this.rowPolicy = new RowPolicySDK(this.client); | ||
| this.rowAcl = new RowAclSDK(this.client); | ||
| this.ai = new FlowChatSDK(this.client); | ||
| this.upload = new UploadSDK(this.client); | ||
| this.richtextField = new RichTextFieldSDK(this.client); | ||
| } | ||
| }; | ||
| function createSDK(config) { | ||
| return new DimensSDK(config); | ||
| } | ||
| //#endregion | ||
| export { createSDK as n, sdk_exports as r, DimensSDK as t }; | ||
| //# sourceMappingURL=sdk-BcRxW0mM.mjs.map |
| {"version":3,"file":"sdk-BcRxW0mM.mjs","names":[],"sources":["../src/sdk/index.ts"],"sourcesContent":["import { AuthSDK } from './auth';\nimport { CanvasSDK } from './canvas';\nimport { DimensClient, type APIResponse, type DimensClientOptions } from './client';\nimport { ColumnSDK } from './column';\nimport { DocumentSDK } from './document';\nimport { FlowChatSDK } from './flow-chat';\nimport { PermissionSDK } from './permission';\nimport { ProjectSDK } from './project';\nimport { ReportSDK } from './report';\nimport { RichTextFieldSDK } from './richtext-field';\nimport { RowSDK } from './row';\nimport { RowAclSDK } from './row-acl';\nimport { RowPolicySDK } from './row-policy';\nimport { RoleSDK } from './role';\nimport { SheetSDK } from './sheet';\nimport { TeamSDK } from './team';\nimport { UploadSDK } from './upload';\nimport { UserSDK } from './user';\nimport { ViewSDK } from './view';\n\nexport type { APIResponse, DimensClientOptions };\n\nexport interface SDKConfig extends DimensClientOptions {}\n\nexport class DimensSDK {\n readonly client: DimensClient;\n readonly auth: AuthSDK;\n readonly project: ProjectSDK;\n readonly report: ReportSDK;\n readonly canvas: CanvasSDK;\n readonly role: RoleSDK;\n readonly permission: PermissionSDK;\n readonly sheet: SheetSDK;\n readonly team: TeamSDK;\n readonly user: UserSDK;\n readonly column: ColumnSDK;\n readonly document: DocumentSDK;\n readonly view: ViewSDK;\n readonly row: RowSDK;\n readonly rowPolicy: RowPolicySDK;\n readonly rowAcl: RowAclSDK;\n readonly ai: FlowChatSDK;\n readonly upload: UploadSDK;\n readonly richtextField: RichTextFieldSDK;\n\n constructor(config: SDKConfig) {\n this.client = new DimensClient(config);\n this.auth = new AuthSDK(this.client);\n this.project = new ProjectSDK(this.client);\n this.report = new ReportSDK(this.client);\n this.canvas = new CanvasSDK(this.client);\n this.role = new RoleSDK(this.client);\n this.permission = new PermissionSDK(this.client);\n this.sheet = new SheetSDK(this.client);\n this.team = new TeamSDK(this.client);\n this.user = new UserSDK(this.client);\n this.column = new ColumnSDK(this.client);\n this.document = new DocumentSDK(this.client);\n this.view = new ViewSDK(this.client);\n this.row = new RowSDK(this.client);\n this.rowPolicy = new RowPolicySDK(this.client);\n this.rowAcl = new RowAclSDK(this.client);\n this.ai = new FlowChatSDK(this.client);\n this.upload = new UploadSDK(this.client);\n this.richtextField = new RichTextFieldSDK(this.client);\n }\n}\n\nexport function createSDK(config: SDKConfig): DimensSDK {\n return new DimensSDK(config);\n}\n\nexport { DimensClient } from './client';\nexport { AuthSDK } from './auth';\nexport { CanvasSDK } from './canvas';\nexport { ProjectSDK } from './project';\nexport { ReportSDK } from './report';\nexport { RichTextFieldSDK } from './richtext-field';\nexport { RoleSDK } from './role';\nexport { PermissionSDK } from './permission';\nexport { SheetSDK } from './sheet';\nexport { TeamSDK } from './team';\nexport { ColumnSDK } from './column';\nexport { DocumentSDK } from './document';\nexport { ViewSDK } from './view';\nexport { RowSDK } from './row';\nexport { RowPolicySDK } from './row-policy';\nexport { RowAclSDK } from './row-acl';\nexport { FlowChatSDK } from './flow-chat';\nexport { UploadSDK } from './upload';\nexport { UserSDK } from './user';\n"],"mappings":";;;;;;;;AAwBA,IAAa,YAAb,MAAuB;CACrB,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CACT,AAAS;CAET,YAAY,QAAmB;AAC7B,OAAK,SAAS,IAAI,aAAa,OAAO;AACtC,OAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;AACpC,OAAK,UAAU,IAAI,WAAW,KAAK,OAAO;AAC1C,OAAK,SAAS,IAAI,UAAU,KAAK,OAAO;AACxC,OAAK,SAAS,IAAI,UAAU,KAAK,OAAO;AACxC,OAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;AACpC,OAAK,aAAa,IAAI,cAAc,KAAK,OAAO;AAChD,OAAK,QAAQ,IAAI,SAAS,KAAK,OAAO;AACtC,OAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;AACpC,OAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;AACpC,OAAK,SAAS,IAAI,UAAU,KAAK,OAAO;AACxC,OAAK,WAAW,IAAI,YAAY,KAAK,OAAO;AAC5C,OAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;AACpC,OAAK,MAAM,IAAI,OAAO,KAAK,OAAO;AAClC,OAAK,YAAY,IAAI,aAAa,KAAK,OAAO;AAC9C,OAAK,SAAS,IAAI,UAAU,KAAK,OAAO;AACxC,OAAK,KAAK,IAAI,YAAY,KAAK,OAAO;AACtC,OAAK,SAAS,IAAI,UAAU,KAAK,OAAO;AACxC,OAAK,gBAAgB,IAAI,iBAAiB,KAAK,OAAO;;;AAI1D,SAAgB,UAAU,QAA8B;AACtD,QAAO,IAAI,UAAU,OAAO"} |
| import { readFileSync } from "fs"; | ||
| import { dirname, join } from "path"; | ||
| import { fileURLToPath } from "url"; | ||
| import { basename } from "node:path"; | ||
| import { readFile } from "node:fs/promises"; | ||
| //#region src/core/version.ts | ||
| /** | ||
| * 版本信息 | ||
| */ | ||
| let _version; | ||
| function getVersion() { | ||
| if (_version) return _version; | ||
| try { | ||
| _version = readNearestPackageJson(dirname(fileURLToPath(import.meta.url))).version; | ||
| } catch { | ||
| _version = "1.0.0"; | ||
| } | ||
| return _version ?? "1.0.0"; | ||
| } | ||
| const version = getVersion(); | ||
| function getUserAgent() { | ||
| return `DimensCLI/${version} (Node.js/${process.version})`; | ||
| } | ||
| function readNearestPackageJson(startDir) { | ||
| let currentDir = startDir; | ||
| for (let depth = 0; depth < 6; depth += 1) { | ||
| const packageJsonPath = join(currentDir, "package.json"); | ||
| try { | ||
| return JSON.parse(readFileSync(packageJsonPath, "utf-8")); | ||
| } catch { | ||
| const parentDir = dirname(currentDir); | ||
| if (parentDir === currentDir) break; | ||
| currentDir = parentDir; | ||
| } | ||
| } | ||
| throw new Error("package.json not found"); | ||
| } | ||
| //#endregion | ||
| //#region src/sdk/flow-chat.ts | ||
| var FlowChatSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| completions(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/chat/completions`, payload); | ||
| } | ||
| responses(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/responses`, payload); | ||
| } | ||
| messages(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/messages`, payload); | ||
| } | ||
| models(teamId, query = {}) { | ||
| return this.client.get(`/app/new-api/${teamId}/models`, query); | ||
| } | ||
| v1BetaModels(teamId, query = {}) { | ||
| return this.client.get(`/app/flow/${teamId}/v1beta/models`, query); | ||
| } | ||
| generateImage(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/images/generations`, payload); | ||
| } | ||
| editImage(teamId, formData) { | ||
| return this.client.postFormData(`/app/flow/${teamId}/v1/images/edits`, formData); | ||
| } | ||
| createImageVariation(teamId, formData) { | ||
| return this.client.postFormData(`/app/flow/${teamId}/v1/images/variations`, formData); | ||
| } | ||
| createVideo(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/videos`, payload); | ||
| } | ||
| getVideo(teamId, taskId) { | ||
| return this.client.get(`/app/flow/${teamId}/v1/videos/${taskId}`); | ||
| } | ||
| getVideoContent(teamId, taskId) { | ||
| return this.client.get(`/app/flow/${teamId}/v1/videos/${taskId}/content`); | ||
| } | ||
| createSpeech(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/audio/speech`, payload); | ||
| } | ||
| transcribeAudio(teamId, formData) { | ||
| return this.client.postFormData(`/app/flow/${teamId}/v1/audio/transcriptions`, formData); | ||
| } | ||
| translateAudio(teamId, formData) { | ||
| return this.client.postFormData(`/app/flow/${teamId}/v1/audio/translations`, formData); | ||
| } | ||
| embeddings(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/embeddings`, payload); | ||
| } | ||
| rerank(teamId, payload) { | ||
| return this.client.post(`/app/flow/${teamId}/v1/rerank`, payload); | ||
| } | ||
| proxy(teamId, request) { | ||
| const path = normalizeProxyPath(teamId, request.path); | ||
| if (request.method === "GET") return this.client.get(path, request.query); | ||
| if (request.formData) return this.client.postFormData(path, request.formData); | ||
| return this.client.post(path, request.body); | ||
| } | ||
| }; | ||
| function normalizeProxyPath(teamId, path) { | ||
| const trimmed = path.trim(); | ||
| if (!trimmed) throw new Error("AI proxy path 不能为空"); | ||
| if (trimmed.startsWith(`/app/flow/${teamId}/`)) return trimmed; | ||
| const withoutLeadingSlash = trimmed.replace(/^\/+/, ""); | ||
| if (withoutLeadingSlash.startsWith("v1/") || withoutLeadingSlash === "v1") return `/app/flow/${teamId}/${withoutLeadingSlash}`; | ||
| if (withoutLeadingSlash.startsWith("v1beta/") || withoutLeadingSlash === "v1beta") return `/app/flow/${teamId}/${withoutLeadingSlash}`; | ||
| throw new Error("AI proxy path 只允许 v1 或 v1beta 维表代理路径"); | ||
| } | ||
| //#endregion | ||
| //#region src/core/http.ts | ||
| async function requestJson(url, init = {}) { | ||
| const response = await fetch(url, init); | ||
| const payload = await response.json(); | ||
| if (!response.ok) throw new Error(payload?.message || `HTTP ${response.status}`); | ||
| return payload; | ||
| } | ||
| //#endregion | ||
| //#region src/sdk/client.ts | ||
| var DimensClient = class { | ||
| options; | ||
| constructor(options) { | ||
| this.options = options; | ||
| } | ||
| getOptions() { | ||
| return { ...this.options }; | ||
| } | ||
| async get(path, query, init = {}) { | ||
| return requestJson(this.buildUrl(path, query), { | ||
| ...init, | ||
| method: "GET", | ||
| headers: this.buildHeaders(init.headers) | ||
| }); | ||
| } | ||
| async post(path, body, init = {}) { | ||
| const requestInit = { | ||
| ...init, | ||
| method: "POST", | ||
| headers: this.buildHeaders(init.headers, true) | ||
| }; | ||
| if (body !== void 0) requestInit.body = JSON.stringify(body); | ||
| return requestJson(this.buildUrl(path), requestInit); | ||
| } | ||
| async postFormData(path, formData, init = {}) { | ||
| const requestInit = { | ||
| ...init, | ||
| method: "POST", | ||
| headers: this.buildHeaders(init.headers, false, true), | ||
| body: formData | ||
| }; | ||
| return requestJson(this.buildUrl(path), requestInit); | ||
| } | ||
| buildUrl(path, query) { | ||
| const base = this.options.baseUrl.replace(/\/+$/, ""); | ||
| const normalizedPath = path.startsWith("/") ? path : `/${path}`; | ||
| const url = new URL(`${base}${normalizedPath}`); | ||
| Object.entries(query || {}).forEach(([key, value]) => { | ||
| if (value === void 0 || value === null || value === "") return; | ||
| url.searchParams.set(key, String(value)); | ||
| }); | ||
| return url.toString(); | ||
| } | ||
| buildHeaders(headers, hasJsonBody = false, hasFormDataBody = false) { | ||
| const merged = normalizeHeaders(headers); | ||
| merged.Accept = "application/json"; | ||
| merged["User-Agent"] = getUserAgent(); | ||
| if (hasJsonBody && !hasFormDataBody) merged["Content-Type"] = "application/json"; | ||
| if (hasFormDataBody) delete merged["Content-Type"]; | ||
| if (this.options.token) merged.Authorization = `Bearer ${this.options.token}`; | ||
| if (this.options.refreshToken) merged["X-Refresh-Token"] = this.options.refreshToken; | ||
| return merged; | ||
| } | ||
| }; | ||
| function normalizeHeaders(headers) { | ||
| if (!headers) return {}; | ||
| if (typeof Headers !== "undefined" && headers instanceof Headers) return Object.fromEntries(headers.entries()); | ||
| if (Array.isArray(headers)) return Object.fromEntries(headers.map(([key, value]) => [String(key), String(value)])); | ||
| const normalized = {}; | ||
| Object.entries(headers).forEach(([key, value]) => { | ||
| normalized[key] = typeof value === "string" ? value : value.join(", "); | ||
| }); | ||
| return normalized; | ||
| } | ||
| //#endregion | ||
| //#region src/sdk/auth.ts | ||
| var AuthSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| login(payload) { | ||
| return this.client.post("/login", payload); | ||
| } | ||
| loginByApiKey(payload) { | ||
| return this.client.post("/open/user/login/apiKey", payload); | ||
| } | ||
| exchangeTokenByApiKey(payload) { | ||
| return this.loginByApiKey(payload); | ||
| } | ||
| refreshToken() { | ||
| return this.client.get("/refreshToken"); | ||
| } | ||
| me() { | ||
| return this.client.get("/app/user/info/person"); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/canvas.ts | ||
| const EMPTY_GRAPH = { | ||
| nodes: [], | ||
| edges: [], | ||
| viewport: { | ||
| x: 0, | ||
| y: 0, | ||
| zoom: 1 | ||
| } | ||
| }; | ||
| var CanvasSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| normalizeCreatedCanvas(data) { | ||
| const sheetId = typeof data.sheetId === "string" ? data.sheetId : typeof data.id === "string" ? data.id : ""; | ||
| return { | ||
| ...data, | ||
| sheetId, | ||
| canvasId: sheetId | ||
| }; | ||
| } | ||
| async create(projectId, payload) { | ||
| const response = await this.client.post(`/app/mul/project/${projectId}/sheet/create`, { | ||
| name: payload.name, | ||
| type: "canvas", | ||
| ...payload.folderId ? { folderId: payload.folderId } : {}, | ||
| config: { data: payload.data ?? EMPTY_GRAPH } | ||
| }); | ||
| return { | ||
| ...response, | ||
| data: this.normalizeCreatedCanvas(response.data || {}) | ||
| }; | ||
| } | ||
| info(teamId, projectId, sheetId) { | ||
| return this.client.get(`/app/canvas/${teamId}/${projectId}/info`, { sheetId }); | ||
| } | ||
| save(teamId, projectId, payload) { | ||
| return this.client.post(`/app/canvas/${teamId}/${projectId}/save`, payload); | ||
| } | ||
| versions(teamId, projectId, payload) { | ||
| return this.client.post(`/app/canvas/${teamId}/${projectId}/versions`, payload); | ||
| } | ||
| version(teamId, projectId, sheetId, version) { | ||
| return this.client.get(`/app/canvas/${teamId}/${projectId}/version`, { | ||
| sheetId, | ||
| version | ||
| }); | ||
| } | ||
| restore(teamId, projectId, payload) { | ||
| return this.client.post(`/app/canvas/${teamId}/${projectId}/restore`, payload); | ||
| } | ||
| listMineResources(teamId, keyword) { | ||
| return this.client.get(`/app/canvas/${teamId}/resource/mine`, { keyword }); | ||
| } | ||
| saveMineResource(teamId, payload) { | ||
| return this.client.post(`/app/canvas/${teamId}/resource/mine`, payload); | ||
| } | ||
| removeMineResource(teamId, id) { | ||
| return this.client.post(`/app/canvas/${teamId}/resource/mine/delete`, { id }); | ||
| } | ||
| publishMineResource(teamId, id) { | ||
| return this.client.post(`/app/canvas/${teamId}/resource/mine/publish`, { id }); | ||
| } | ||
| listMarketResources(teamId, keyword) { | ||
| return this.client.get(`/app/canvas/${teamId}/resource/market`, { keyword }); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/column.ts | ||
| var ColumnSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| list(teamId, projectId, sheetId) { | ||
| return this.client.get(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/column/list`); | ||
| } | ||
| create(teamId, projectId, sheetId, payload) { | ||
| return this.client.post(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/column/create`, payload); | ||
| } | ||
| update(sheetId, fieldId, payload) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/column/${fieldId}/update`, payload); | ||
| } | ||
| delete(sheetId, fieldId) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/column/${fieldId}/delete`); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/sheet.ts | ||
| var SheetSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| list(projectId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/sheet/list`); | ||
| } | ||
| tree(projectId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/sheet/tree`); | ||
| } | ||
| create(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/sheet/create`, payload); | ||
| } | ||
| info(teamId, projectId, sheetId) { | ||
| return this.client.get(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/info`); | ||
| } | ||
| update(teamId, projectId, sheetId, payload) { | ||
| return this.client.post(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/update`, payload); | ||
| } | ||
| delete(teamId, projectId, sheetId) { | ||
| return this.client.post(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/delete`); | ||
| } | ||
| structure(sheetId) { | ||
| return this.client.get(`/app/mul/sheet/${sheetId}/structure`); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/document.ts | ||
| var DocumentSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| createWithSheet(teamId, projectId, payload) { | ||
| return this.client.post(`/app/documents/${teamId}/${projectId}/document/createWithSheet`, payload); | ||
| } | ||
| info(teamId, projectId, documentId) { | ||
| return this.client.get(`/app/documents/${teamId}/${projectId}/document/${documentId}/info`); | ||
| } | ||
| getBySheetId(teamId, projectId, sheetId) { | ||
| return this.client.get(`/app/documents/${teamId}/${projectId}/document/getBySheetId`, { sheetId }); | ||
| } | ||
| update(teamId, projectId, payload) { | ||
| return this.client.post(`/app/documents/${teamId}/${projectId}/document/update`, payload); | ||
| } | ||
| delete(teamId, projectId, documentId) { | ||
| return this.client.post(`/app/documents/${teamId}/${projectId}/document/delete`, { documentId }); | ||
| } | ||
| versions(teamId, projectId, query) { | ||
| return this.client.get(`/app/documents/${teamId}/${projectId}/document/versions`, query); | ||
| } | ||
| version(teamId, projectId, query) { | ||
| return this.client.get(`/app/documents/${teamId}/${projectId}/document/version`, query); | ||
| } | ||
| restore(teamId, projectId, payload) { | ||
| return this.client.post(`/app/documents/${teamId}/${projectId}/document/restore`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/upload.ts | ||
| var UploadSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| async uploadFile(filePath, keyOrOptions) { | ||
| const payload = await this.createLocalFilePayload(filePath); | ||
| const formData = new FormData(); | ||
| formData.append("file", payload.file, payload.file.name); | ||
| const options = typeof keyOrOptions === "string" ? { key: keyOrOptions } : keyOrOptions ?? {}; | ||
| if (!options.name) options.name = payload.file.name; | ||
| if (!options.size) options.size = String(payload.file.size); | ||
| if (!options.mimeType) options.mimeType = payload.file.type; | ||
| Object.entries(options).forEach(([field, value]) => { | ||
| if (!value) return; | ||
| formData.append(field, value); | ||
| }); | ||
| return this.client.postFormData("/app/base/comm/upload", formData); | ||
| } | ||
| async uploadMaterialWithCdnFallback(filePath, options) { | ||
| if (!options.teamId) throw new Error("素材库上传必须携带 --team-id"); | ||
| const mode = await this.getMode(); | ||
| if (!(mode.data?.cdn?.enabled === true && mode.data?.cdn?.provider === "qiniu")) return this.uploadFile(filePath, options); | ||
| const payload = await this.createLocalFilePayload(filePath); | ||
| const normalizedOptions = this.normalizeMaterialOptions(options); | ||
| const tokenBody = { | ||
| teamId: options.teamId, | ||
| fileName: payload.fileName, | ||
| size: payload.size, | ||
| mimeType: payload.mimeType, | ||
| source: "material" | ||
| }; | ||
| if (normalizedOptions.classifyId !== void 0) tokenBody.classifyId = normalizedOptions.classifyId; | ||
| if (normalizedOptions.type) tokenBody.type = normalizedOptions.type; | ||
| let tokenResponse; | ||
| try { | ||
| tokenResponse = await this.createCdnUploadToken(tokenBody); | ||
| } catch (error) { | ||
| if (canFallbackToLocalUpload(error)) return this.uploadFile(filePath, options); | ||
| throw error; | ||
| } | ||
| const token = tokenResponse.data; | ||
| const qiniuResult = await this.uploadToQiniu(payload.file, token); | ||
| const completeBody = { | ||
| teamId: options.teamId, | ||
| provider: "qiniu", | ||
| bucket: token.bucket, | ||
| key: token.key, | ||
| fileId: token.fileId, | ||
| name: normalizedOptions.name || payload.fileName, | ||
| size: normalizedOptions.size ?? payload.size, | ||
| mimeType: normalizedOptions.mimeType || payload.mimeType, | ||
| source: "material" | ||
| }; | ||
| if (qiniuResult.hash) completeBody.hash = qiniuResult.hash; | ||
| if (token.url) completeBody.url = token.url; | ||
| if (normalizedOptions.classifyId !== void 0) completeBody.classifyId = normalizedOptions.classifyId; | ||
| if (normalizedOptions.type) completeBody.type = normalizedOptions.type; | ||
| return this.completeCdnUpload(completeBody); | ||
| } | ||
| async getMode() { | ||
| return this.client.get("/app/base/comm/uploadMode"); | ||
| } | ||
| async createCdnUploadToken(body) { | ||
| return this.client.post("/app/base/comm/cdn/uploadToken", body); | ||
| } | ||
| async completeCdnUpload(body) { | ||
| return this.client.post("/app/space/info/cdn/complete", body); | ||
| } | ||
| async uploadToQiniu(file, token) { | ||
| const formData = new FormData(); | ||
| formData.append("key", token.key); | ||
| formData.append("token", token.uploadToken); | ||
| formData.append("file", file, file.name); | ||
| formData.append("fname", file.name); | ||
| const response = await fetch(resolveQiniuUploadUrl(token.uploadConfig?.region), { | ||
| method: "POST", | ||
| body: formData | ||
| }); | ||
| const payload = await response.json(); | ||
| if (!response.ok) throw new Error(payload?.message || payload?.error || `HTTP ${response.status}`); | ||
| return payload; | ||
| } | ||
| async createLocalFilePayload(filePath) { | ||
| const fileBuffer = await readFile(filePath); | ||
| const fileName = basename(filePath); | ||
| const mimeType = resolveMimeType(fileName); | ||
| const file = new File([fileBuffer], fileName, { | ||
| type: mimeType, | ||
| lastModified: Date.now() | ||
| }); | ||
| return { | ||
| file, | ||
| fileName, | ||
| size: file.size, | ||
| mimeType | ||
| }; | ||
| } | ||
| normalizeMaterialOptions(options) { | ||
| return { | ||
| name: options.name, | ||
| size: options.size ? Number(options.size) : void 0, | ||
| mimeType: options.mimeType, | ||
| type: options.type, | ||
| classifyId: options.classifyId ? Number(options.classifyId) : void 0 | ||
| }; | ||
| } | ||
| }; | ||
| function resolveQiniuUploadUrl(region) { | ||
| return { | ||
| z0: "https://upload.qiniup.com", | ||
| z1: "https://upload-z1.qiniup.com", | ||
| z2: "https://upload-z2.qiniup.com", | ||
| na0: "https://upload-na0.qiniup.com", | ||
| as0: "https://upload-as0.qiniup.com" | ||
| }[String(region || "z0")] || "https://upload.qiniup.com"; | ||
| } | ||
| function canFallbackToLocalUpload(error) { | ||
| const message = error instanceof Error ? error.message : String(error || ""); | ||
| return message.includes("CDN 未启用") || message.includes("七牛 CDN 未启用") || message.includes("七牛 CDN 配置不完整"); | ||
| } | ||
| function resolveMimeType(fileName) { | ||
| const lowerFileName = fileName.toLowerCase(); | ||
| if (lowerFileName.endsWith(".txt")) return "text/plain"; | ||
| if (lowerFileName.endsWith(".json")) return "application/json"; | ||
| if (lowerFileName.endsWith(".pdf")) return "application/pdf"; | ||
| if (lowerFileName.endsWith(".png")) return "image/png"; | ||
| if (lowerFileName.endsWith(".jpg") || lowerFileName.endsWith(".jpeg")) return "image/jpeg"; | ||
| if (lowerFileName.endsWith(".gif")) return "image/gif"; | ||
| if (lowerFileName.endsWith(".svg")) return "image/svg+xml"; | ||
| if (lowerFileName.endsWith(".csv")) return "text/csv"; | ||
| return "application/octet-stream"; | ||
| } | ||
| //#endregion | ||
| //#region src/sdk/project.ts | ||
| var ProjectSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| page(teamId, payload) { | ||
| return this.client.post(`/app/org/${teamId}/project/page`, payload); | ||
| } | ||
| info(teamId, id) { | ||
| return this.client.get(`/app/org/${teamId}/project/info`, { id }); | ||
| } | ||
| create(teamId, payload) { | ||
| return this.client.post(`/app/org/${teamId}/project/add`, payload); | ||
| } | ||
| update(teamId, payload) { | ||
| return this.client.post(`/app/org/${teamId}/project/update`, payload); | ||
| } | ||
| trash(teamId, ids) { | ||
| return this.client.post(`/app/org/${teamId}/project/trash`, { ids }); | ||
| } | ||
| restore(teamId, ids) { | ||
| return this.client.post(`/app/org/${teamId}/project/restore`, { ids }); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/permission.ts | ||
| var PermissionSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| list(projectId, sheetId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/permission/list`, { sheetId }); | ||
| } | ||
| info(projectId, id, sheetId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/permission/info`, { | ||
| id, | ||
| sheetId | ||
| }); | ||
| } | ||
| create(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/permission/add`, payload); | ||
| } | ||
| update(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/permission/update`, payload); | ||
| } | ||
| delete(projectId, ids, sheetId) { | ||
| return this.client.post(`/app/mul/project/${projectId}/permission/delete`, { | ||
| ids, | ||
| sheetId | ||
| }); | ||
| } | ||
| check(projectId, payload) { | ||
| return this.client.get(`/app/mul/project/${projectId}/permission/check`, payload); | ||
| } | ||
| batch(projectId, sheetId, permissions) { | ||
| return this.client.post(`/app/mul/project/${projectId}/permission/batch`, { | ||
| sheetId, | ||
| permissions | ||
| }); | ||
| } | ||
| updateResourcePermission(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/permission/updateResourcePermission`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/report.ts | ||
| var ReportSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| normalizeProjectReport(data) { | ||
| const reportId = typeof data.reportId === "string" ? data.reportId : typeof data.sheetId === "string" ? data.sheetId : typeof data.id === "string" ? data.id : ""; | ||
| return { | ||
| ...data, | ||
| reportId, | ||
| sheetId: typeof data.sheetId === "string" ? data.sheetId : reportId | ||
| }; | ||
| } | ||
| list(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/list`, payload); | ||
| } | ||
| info(projectId, reportId) { | ||
| return this.client.get(`/app/report/${projectId}/info`, { reportId }); | ||
| } | ||
| create(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/add`, payload); | ||
| } | ||
| async createProjectReport(projectId, payload) { | ||
| const response = await this.client.post(`/app/mul/project/${projectId}/sheet/create`, { | ||
| name: payload.name, | ||
| type: "report", | ||
| config: { dashboardConfig: { | ||
| id: payload.dashboardId || `dashboard_${Date.now()}`, | ||
| title: payload.name, | ||
| ...payload.description ? { description: payload.description } : {}, | ||
| widgets: [], | ||
| parameters: [], | ||
| createdAt: payload.createdAt || Date.now() | ||
| } } | ||
| }); | ||
| return { | ||
| ...response, | ||
| data: this.normalizeProjectReport(response.data || {}) | ||
| }; | ||
| } | ||
| update(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/update`, payload); | ||
| } | ||
| copy(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/copy`, payload); | ||
| } | ||
| publish(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/publish`, payload); | ||
| } | ||
| delete(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/delete`, payload); | ||
| } | ||
| archive(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/archive`, payload); | ||
| } | ||
| sort(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/sort`, payload); | ||
| } | ||
| move(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/move`, payload); | ||
| } | ||
| query(projectId, payload) { | ||
| return this.client.post(`/app/report/query/${projectId}`, payload); | ||
| } | ||
| queryWidget(projectId, payload) { | ||
| return this.client.post(`/app/report/query/${projectId}/widget`, payload); | ||
| } | ||
| preview(projectId, payload) { | ||
| return this.client.post(`/app/report/query/${projectId}/preview`, payload); | ||
| } | ||
| validate(projectId, payload) { | ||
| return this.client.post(`/app/report/${projectId}/validate`, payload); | ||
| } | ||
| addWidget(projectId, payload) { | ||
| return this.client.post(`/app/report/widget/${projectId}/add`, payload); | ||
| } | ||
| updateWidget(projectId, payload) { | ||
| return this.client.post(`/app/report/widget/${projectId}/update`, payload); | ||
| } | ||
| deleteWidget(projectId, payload) { | ||
| return this.client.post(`/app/report/widget/${projectId}/delete`, payload); | ||
| } | ||
| batchWidgets(projectId, payload) { | ||
| return this.client.post(`/app/report/widget/${projectId}/batch`, payload); | ||
| } | ||
| sortWidget(projectId, payload) { | ||
| return this.client.post(`/app/report/widget/${projectId}/sort`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/richtext-field.ts | ||
| var RichTextFieldSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| getContent(teamId, projectId, documentId) { | ||
| return this.client.get(`/app/documents/${teamId}/${projectId}/richtext-field/content`, { documentId }); | ||
| } | ||
| save(teamId, projectId, payload) { | ||
| return this.client.post(`/app/documents/${teamId}/${projectId}/richtext-field/save`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/role.ts | ||
| var RoleSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| list(projectId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/role/list`); | ||
| } | ||
| info(projectId, roleId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/role/info`, { roleId }); | ||
| } | ||
| create(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/role/add`, payload); | ||
| } | ||
| update(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/role/update`, payload); | ||
| } | ||
| delete(projectId, roleIds) { | ||
| return this.client.post(`/app/mul/project/${projectId}/role/delete`, { roleIds }); | ||
| } | ||
| assignUser(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/role/assignUser`, payload); | ||
| } | ||
| removeUser(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/role/removeUser`, payload); | ||
| } | ||
| userRoles(projectId, userId, sheetId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/role/userRoles`, { | ||
| userId, | ||
| sheetId | ||
| }); | ||
| } | ||
| roleUsers(projectId, roleId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/role/roleUsers`, { roleId }); | ||
| } | ||
| projectUsers(projectId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/role/projectUsers`); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/row.ts | ||
| var RowSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| page(teamId, projectId, sheetId, payload) { | ||
| return this.client.post(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/row/page`, payload); | ||
| } | ||
| info(teamId, projectId, sheetId, rowId, options = {}) { | ||
| return this.client.get(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/row/${rowId}/info`, { include: options.include }); | ||
| } | ||
| openInfo(teamId, projectId, sheetId, rowId, options = {}) { | ||
| return this.client.get(`/open/mul/${teamId}/${projectId}/sheet/${sheetId}/row/${rowId}/info`, { include: options.include }); | ||
| } | ||
| create(sheetId, payload) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/row/create`, payload); | ||
| } | ||
| batchCreate(sheetId, payload) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/row/batch-create`, payload); | ||
| } | ||
| update(sheetId, rowId, data, version) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/row/${rowId}/update`, { | ||
| data, | ||
| version | ||
| }); | ||
| } | ||
| delete(sheetId, rowId) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/row/${rowId}/delete`); | ||
| } | ||
| updateCell(sheetId, payload) { | ||
| return this.client.post(`/app/mul/sheet/${sheetId}/row/cell`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/row-acl.ts | ||
| var RowAclSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| grant(sheetId, payload) { | ||
| return this.client.post("/app/mul/rowAcl/grant", { | ||
| sheetId, | ||
| ...payload | ||
| }); | ||
| } | ||
| revoke(sheetId, rowId, target) { | ||
| return this.client.post("/app/mul/rowAcl/revoke", { | ||
| sheetId, | ||
| rowId, | ||
| target | ||
| }); | ||
| } | ||
| revokeDept(sheetId, rowId, deptId) { | ||
| return this.client.post("/app/mul/rowAcl/revokeDeptAccess", { | ||
| sheetId, | ||
| rowId, | ||
| deptId | ||
| }); | ||
| } | ||
| revokeRole(sheetId, rowId, roleId) { | ||
| return this.client.post("/app/mul/rowAcl/revokeRoleAccess", { | ||
| sheetId, | ||
| rowId, | ||
| roleId | ||
| }); | ||
| } | ||
| list(sheetId, rowId) { | ||
| return this.client.get("/app/mul/rowAcl/list", { | ||
| sheetId, | ||
| rowId | ||
| }); | ||
| } | ||
| roleAcls(sheetId, roleId) { | ||
| return this.client.get("/app/mul/rowAcl/roleAcls", { | ||
| sheetId, | ||
| roleId | ||
| }); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/row-policy.ts | ||
| var RowPolicySDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| list(projectId, sheetId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/row_policy/list`, { sheetId }); | ||
| } | ||
| info(projectId, id, sheetId) { | ||
| return this.client.get(`/app/mul/project/${projectId}/row_policy/info`, { | ||
| id, | ||
| sheetId | ||
| }); | ||
| } | ||
| create(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/row_policy/add`, payload); | ||
| } | ||
| update(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/row_policy/update`, payload); | ||
| } | ||
| delete(projectId, ids, sheetId) { | ||
| return this.client.post(`/app/mul/project/${projectId}/row_policy/delete`, { | ||
| ids, | ||
| sheetId | ||
| }); | ||
| } | ||
| toggle(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/row_policy/toggle`, payload); | ||
| } | ||
| check(projectId, payload) { | ||
| return this.client.post(`/app/mul/project/${projectId}/row_policy/check`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/team.ts | ||
| var TeamSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| info(teamId) { | ||
| return this.client.get(`/app/org/${teamId}/team/info`); | ||
| } | ||
| members(teamId, query = {}) { | ||
| return this.client.get(`/app/org/${teamId}/team_user/list`, query); | ||
| } | ||
| userList(teamId, query = {}) { | ||
| return this.members(teamId, query); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/user.ts | ||
| var UserSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| me() { | ||
| return this.client.get("/app/user/info/person"); | ||
| } | ||
| }; | ||
| //#endregion | ||
| //#region src/sdk/view.ts | ||
| var ViewSDK = class { | ||
| constructor(client) { | ||
| this.client = client; | ||
| } | ||
| list(teamId, projectId, sheetId) { | ||
| return this.client.get(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/view/list`); | ||
| } | ||
| create(teamId, projectId, sheetId, payload) { | ||
| return this.client.post(`/app/mul/${teamId}/${projectId}/sheet/${sheetId}/view/create`, payload); | ||
| } | ||
| }; | ||
| //#endregion | ||
| export { version as S, AuthSDK as _, RowAclSDK as a, getUserAgent as b, RichTextFieldSDK as c, ProjectSDK as d, UploadSDK as f, CanvasSDK as g, ColumnSDK as h, RowPolicySDK as i, ReportSDK as l, SheetSDK as m, UserSDK as n, RowSDK as o, DocumentSDK as p, TeamSDK as r, RoleSDK as s, ViewSDK as t, PermissionSDK as u, DimensClient as v, getVersion as x, FlowChatSDK as y }; | ||
| //# sourceMappingURL=view-CfawJM4w.mjs.map |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
2704738
2.55%159
1.27%9078
4.46%799
4.99%