windmill-client 1.591.2 → 1.591.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { DenoS3LightClientSettings, S3ObjectRecord, type S3Object } from "./s3Types";
2
+ export { type S3Object, type S3ObjectRecord, type S3ObjectURI, } from "./s3Types";
2
3
  export { datatable, ducklake, type SqlTemplateFunction } from "./sqlUtils";
3
4
  export { AdminService, AuditService, FlowService, GranularAclService, GroupService, JobService, ResourceService, VariableService, ScriptService, ScheduleService, SettingsService, UserService, WorkspaceService, TeamsService, } from "./index";
4
5
  export type Sql = string;
@@ -172,6 +173,23 @@ export declare function signS3Objects(s3objects: S3Object[]): Promise<S3Object[]
172
173
  * @returns signed s3 object
173
174
  */
174
175
  export declare function signS3Object(s3object: S3Object): Promise<S3Object>;
176
+ /**
177
+ * Generate a presigned public URL for an array of S3 objects.
178
+ * If an S3 object is not signed yet, it will be signed first.
179
+ * @param s3Objects s3 objects to sign
180
+ * @returns list of signed public URLs
181
+ */
182
+ export declare function getPresignedS3PublicUrls(s3Objects: S3Object[], { baseUrl }?: {
183
+ baseUrl?: string;
184
+ }): Promise<string[]>;
185
+ /**
186
+ * Generate a presigned public URL for an S3 object. If the S3 object is not signed yet, it will be signed first.
187
+ * @param s3Object s3 object to sign
188
+ * @returns signed public URL
189
+ */
190
+ export declare function getPresignedS3PublicUrl(s3Objects: S3Object, { baseUrl }?: {
191
+ baseUrl?: string;
192
+ }): Promise<string>;
175
193
  /**
176
194
  * Get URLs needed for resuming a flow after this step
177
195
  * @param approver approver name
package/dist/client.js CHANGED
@@ -55,6 +55,8 @@ exports.loadS3FileStream = loadS3FileStream;
55
55
  exports.writeS3File = writeS3File;
56
56
  exports.signS3Objects = signS3Objects;
57
57
  exports.signS3Object = signS3Object;
58
+ exports.getPresignedS3PublicUrls = getPresignedS3PublicUrls;
59
+ exports.getPresignedS3PublicUrl = getPresignedS3PublicUrl;
58
60
  exports.getResumeUrls = getResumeUrls;
59
61
  exports.getResumeEndpoints = getResumeEndpoints;
60
62
  exports.getIdToken = getIdToken;
@@ -99,6 +101,10 @@ function setClient(token, baseUrl) {
99
101
  index_2.OpenAPI.TOKEN = token;
100
102
  index_2.OpenAPI.BASE = baseUrl + "/api";
101
103
  }
104
+ function getPublicBaseUrl() {
105
+ var _a;
106
+ return (_a = getEnv("WM_BASE_URL")) !== null && _a !== void 0 ? _a : "http://localhost:3000";
107
+ }
102
108
  const getEnv = (key) => {
103
109
  var _a, _b, _c;
104
110
  if (typeof window === "undefined") {
@@ -872,6 +878,47 @@ function signS3Object(s3object) {
872
878
  return signedObject;
873
879
  });
874
880
  }
881
+ /**
882
+ * Generate a presigned public URL for an array of S3 objects.
883
+ * If an S3 object is not signed yet, it will be signed first.
884
+ * @param s3Objects s3 objects to sign
885
+ * @returns list of signed public URLs
886
+ */
887
+ function getPresignedS3PublicUrls(s3Objects_1) {
888
+ return __awaiter(this, arguments, void 0, function* (s3Objects, { baseUrl } = {}) {
889
+ baseUrl !== null && baseUrl !== void 0 ? baseUrl : (baseUrl = getPublicBaseUrl());
890
+ const s3Objs = s3Objects.map(parseS3Object);
891
+ // Sign all S3 objects that need to be signed in one go
892
+ const s3ObjsToSign = s3Objs
893
+ .map((s3Obj, index) => [s3Obj, index])
894
+ .filter(([s3Obj, _]) => s3Obj.presigned === undefined);
895
+ if (s3ObjsToSign.length > 0) {
896
+ const signedS3Objs = yield signS3Objects(s3ObjsToSign.map(([s3Obj, _]) => s3Obj));
897
+ for (let i = 0; i < s3ObjsToSign.length; i++) {
898
+ const [_, originalIndex] = s3ObjsToSign[i];
899
+ s3Objs[originalIndex] = parseS3Object(signedS3Objs[i]);
900
+ }
901
+ }
902
+ const signedUrls = [];
903
+ for (const s3Obj of s3Objs) {
904
+ const { s3, presigned, storage = "_default_" } = s3Obj;
905
+ const signedUrl = `${baseUrl}/api/w/${getWorkspace()}/s3_proxy/${storage}/${s3}?${presigned}`;
906
+ signedUrls.push(signedUrl);
907
+ }
908
+ return signedUrls;
909
+ });
910
+ }
911
+ /**
912
+ * Generate a presigned public URL for an S3 object. If the S3 object is not signed yet, it will be signed first.
913
+ * @param s3Object s3 object to sign
914
+ * @returns signed public URL
915
+ */
916
+ function getPresignedS3PublicUrl(s3Objects_1) {
917
+ return __awaiter(this, arguments, void 0, function* (s3Objects, { baseUrl } = {}) {
918
+ const [s3Object] = yield getPresignedS3PublicUrls([s3Objects], { baseUrl });
919
+ return s3Object;
920
+ });
921
+ }
875
922
  /**
876
923
  * Get URLs needed for resuming a flow after this step
877
924
  * @param approver approver name
@@ -39,7 +39,7 @@ exports.OpenAPI = {
39
39
  PASSWORD: undefined,
40
40
  TOKEN: getEnv("WM_TOKEN"),
41
41
  USERNAME: undefined,
42
- VERSION: '1.591.2',
42
+ VERSION: '1.591.3',
43
43
  WITH_CREDENTIALS: true,
44
44
  interceptors: {
45
45
  request: new Interceptors(),
package/dist/index.d.ts CHANGED
@@ -3,5 +3,5 @@ export { CancelablePromise, CancelError } from './core/CancelablePromise';
3
3
  export { OpenAPI, type OpenAPIConfig } from './core/OpenAPI';
4
4
  export * from './services.gen';
5
5
  export * from './types.gen';
6
- export type { S3Object, DenoS3LightClientSettings } from "./s3Types";
7
- export { type Base64, setClient, getVariable, setVariable, getResource, setResource, getResumeUrls, setState, setProgress, getProgress, getState, getIdToken, denoS3LightClientSettings, loadS3FileStream, loadS3File, writeS3File, signS3Objects, signS3Object, task, runScript, runScriptAsync, runScriptByPath, runScriptByHash, runScriptByPathAsync, runScriptByHashAsync, runFlow, runFlowAsync, waitJob, getRootJobId, setFlowUserState, getFlowUserState, usernameToEmail, requestInteractiveSlackApproval, Sql, requestInteractiveTeamsApproval, appendToResultStream, streamResult, datatable, ducklake, type SqlTemplateFunction } from "./client";
6
+ export type { DenoS3LightClientSettings } from "./s3Types";
7
+ export { type Base64, setClient, getVariable, setVariable, getResource, setResource, getResumeUrls, setState, setProgress, getProgress, getState, getIdToken, denoS3LightClientSettings, loadS3FileStream, loadS3File, writeS3File, signS3Objects, signS3Object, getPresignedS3PublicUrls, getPresignedS3PublicUrl, task, runScript, runScriptAsync, runScriptByPath, runScriptByHash, runScriptByPathAsync, runScriptByHashAsync, runFlow, runFlowAsync, waitJob, getRootJobId, setFlowUserState, getFlowUserState, usernameToEmail, requestInteractiveSlackApproval, Sql, requestInteractiveTeamsApproval, appendToResultStream, streamResult, datatable, ducklake, type SqlTemplateFunction, type S3Object, type S3ObjectRecord, type S3ObjectURI } from "./client";
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ducklake = exports.datatable = exports.streamResult = exports.appendToResultStream = exports.requestInteractiveTeamsApproval = exports.requestInteractiveSlackApproval = exports.usernameToEmail = exports.getFlowUserState = exports.setFlowUserState = exports.getRootJobId = exports.waitJob = exports.runFlowAsync = exports.runFlow = exports.runScriptByHashAsync = exports.runScriptByPathAsync = exports.runScriptByHash = exports.runScriptByPath = exports.runScriptAsync = exports.runScript = exports.task = exports.signS3Object = exports.signS3Objects = exports.writeS3File = exports.loadS3File = exports.loadS3FileStream = exports.denoS3LightClientSettings = exports.getIdToken = exports.getState = exports.getProgress = exports.setProgress = exports.setState = exports.getResumeUrls = exports.setResource = exports.getResource = exports.setVariable = exports.getVariable = exports.setClient = exports.OpenAPI = exports.CancelError = exports.CancelablePromise = exports.ApiError = void 0;
17
+ exports.ducklake = exports.datatable = exports.streamResult = exports.appendToResultStream = exports.requestInteractiveTeamsApproval = exports.requestInteractiveSlackApproval = exports.usernameToEmail = exports.getFlowUserState = exports.setFlowUserState = exports.getRootJobId = exports.waitJob = exports.runFlowAsync = exports.runFlow = exports.runScriptByHashAsync = exports.runScriptByPathAsync = exports.runScriptByHash = exports.runScriptByPath = exports.runScriptAsync = exports.runScript = exports.task = exports.getPresignedS3PublicUrl = exports.getPresignedS3PublicUrls = exports.signS3Object = exports.signS3Objects = exports.writeS3File = exports.loadS3File = exports.loadS3FileStream = exports.denoS3LightClientSettings = exports.getIdToken = exports.getState = exports.getProgress = exports.setProgress = exports.setState = exports.getResumeUrls = exports.setResource = exports.getResource = exports.setVariable = exports.getVariable = exports.setClient = exports.OpenAPI = exports.CancelError = exports.CancelablePromise = exports.ApiError = void 0;
18
18
  // This file is auto-generated by @hey-api/openapi-ts
19
19
  var ApiError_1 = require("./core/ApiError");
20
20
  Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return ApiError_1.ApiError; } });
@@ -43,6 +43,8 @@ Object.defineProperty(exports, "loadS3File", { enumerable: true, get: function (
43
43
  Object.defineProperty(exports, "writeS3File", { enumerable: true, get: function () { return client_1.writeS3File; } });
44
44
  Object.defineProperty(exports, "signS3Objects", { enumerable: true, get: function () { return client_1.signS3Objects; } });
45
45
  Object.defineProperty(exports, "signS3Object", { enumerable: true, get: function () { return client_1.signS3Object; } });
46
+ Object.defineProperty(exports, "getPresignedS3PublicUrls", { enumerable: true, get: function () { return client_1.getPresignedS3PublicUrls; } });
47
+ Object.defineProperty(exports, "getPresignedS3PublicUrl", { enumerable: true, get: function () { return client_1.getPresignedS3PublicUrl; } });
46
48
  Object.defineProperty(exports, "task", { enumerable: true, get: function () { return client_1.task; } });
47
49
  Object.defineProperty(exports, "runScript", { enumerable: true, get: function () { return client_1.runScript; } });
48
50
  Object.defineProperty(exports, "runScriptAsync", { enumerable: true, get: function () { return client_1.runScriptAsync; } });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "windmill-client",
3
3
  "description": "Windmill SDK client for browsers and Node.js",
4
- "version": "1.591.2",
4
+ "version": "1.591.3",
5
5
  "author": "Ruben Fiszel",
6
6
  "license": "Apache 2.0",
7
7
  "devDependencies": {