@hautechai/sdk 2.17.0 → 2.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -10300,6 +10300,10 @@ var getConfig = (options) => ({
10300
10300
  baseUrl: options.baseUrl ?? "https://api.hautech.ai",
10301
10301
  baseWsUrl: options.baseWsUrl ?? options.baseUrl ?? "https://api.hautech.ai"
10302
10302
  });
10303
+ var getDirectoryConfig = (options) => ({
10304
+ baseUrl: options.baseUrl ?? "https://api-directory.hautech.ai",
10305
+ authToken: options.authToken
10306
+ });
10303
10307
 
10304
10308
  // src/api-utils.ts
10305
10309
  import axios from "axios";
@@ -10311,52 +10315,56 @@ var isWrappedFn = (fn) => {
10311
10315
  var isCustomWrappedFn = (fn) => {
10312
10316
  return typeof fn === "function" && fn.__customMethodWrapper === true;
10313
10317
  };
10314
- var wrapApiCall = (fn, config) => {
10315
- const wrapped = async function(...args) {
10316
- const token = await config.authToken();
10317
- const baseOptions = {
10318
- baseURL: config.baseUrl,
10319
- headers: {
10320
- Authorization: `Bearer ${token}`
10321
- }
10322
- };
10323
- const finalArgs = [...args];
10324
- const lastParamIndex = fn.length - 1;
10325
- if (looksLikeAxiosRequestOptions(args[lastParamIndex])) {
10326
- finalArgs[lastParamIndex] = {
10327
- ...args[lastParamIndex],
10328
- ...baseOptions,
10318
+ var createApiCallWrapper = (getBaseURL) => {
10319
+ return (fn, config) => {
10320
+ const wrapped = async function(...args) {
10321
+ const token = await config.authToken();
10322
+ const baseOptions = {
10323
+ baseURL: getBaseURL(config),
10329
10324
  headers: {
10330
- ...args[lastParamIndex]?.headers ?? {},
10331
10325
  Authorization: `Bearer ${token}`
10332
10326
  }
10333
10327
  };
10334
- } else {
10335
- while (finalArgs.length < fn.length - 1) {
10336
- finalArgs.push(void 0);
10337
- }
10338
- finalArgs.push(baseOptions);
10339
- }
10340
- try {
10341
- const res = await fn.call(this, ...finalArgs);
10342
- return typeof res === "object" && "headers" in res ? res.data : res;
10343
- } catch (err) {
10344
- if (axios.isAxiosError(err)) {
10345
- let responseData;
10346
- try {
10347
- responseData = err.response?.data?.message ?? (typeof err.response?.data === "string" ? err.response.data : JSON.stringify(err.response?.data));
10348
- } catch {
10349
- responseData = "[unserializable data]";
10328
+ const finalArgs = [...args];
10329
+ const lastParamIndex = fn.length - 1;
10330
+ if (looksLikeAxiosRequestOptions(args[lastParamIndex])) {
10331
+ finalArgs[lastParamIndex] = {
10332
+ ...args[lastParamIndex],
10333
+ ...baseOptions,
10334
+ headers: {
10335
+ ...args[lastParamIndex]?.headers ?? {},
10336
+ Authorization: `Bearer ${token}`
10337
+ }
10338
+ };
10339
+ } else {
10340
+ while (finalArgs.length < fn.length - 1) {
10341
+ finalArgs.push(void 0);
10350
10342
  }
10351
- err.message = `Request error: ${err.message || "Unknown error"}.
10343
+ finalArgs.push(baseOptions);
10344
+ }
10345
+ try {
10346
+ const res = await fn.call(this, ...finalArgs);
10347
+ return typeof res === "object" && "headers" in res ? res.data : res;
10348
+ } catch (err) {
10349
+ if (axios.isAxiosError(err)) {
10350
+ let responseData;
10351
+ try {
10352
+ responseData = err.response?.data?.message ?? (typeof err.response?.data === "string" ? err.response.data : JSON.stringify(err.response?.data));
10353
+ } catch {
10354
+ responseData = "[unserializable data]";
10355
+ }
10356
+ err.message = `Request error: ${err.message || "Unknown error"}.
10352
10357
  ${responseData}`;
10358
+ }
10359
+ throw err;
10353
10360
  }
10354
- throw err;
10355
- }
10361
+ };
10362
+ wrapped.__isWrapped = true;
10363
+ return wrapped;
10356
10364
  };
10357
- wrapped.__isWrapped = true;
10358
- return wrapped;
10359
10365
  };
10366
+ var wrapApiCall = createApiCallWrapper((config) => config.baseUrl);
10367
+ var wrapDirectoryApiCall = createApiCallWrapper((config) => config.baseUrl);
10360
10368
  var wrapApiCallNullable = (fn) => {
10361
10369
  const wrapped = async (...args) => {
10362
10370
  try {
@@ -10381,9 +10389,9 @@ var wrapCustomMethod = (fn) => {
10381
10389
  fn.__customMethodWrapper = true;
10382
10390
  return fn;
10383
10391
  };
10384
- var wrapApiCallDeep = (obj, config, sdkContext) => {
10392
+ var wrapApiCallDeep = (obj, config, sdkContext, wrapper = wrapApiCall) => {
10385
10393
  if (!isWrappedFn(obj) && !isCustomWrappedFn(obj) && typeof obj === "function") {
10386
- const wrapped = wrapApiCall(obj, config);
10394
+ const wrapped = wrapper(obj, config);
10387
10395
  return sdkContext ? wrapped.bind(sdkContext) : wrapped;
10388
10396
  }
10389
10397
  if (typeof obj === "function") {
@@ -10392,12 +10400,13 @@ var wrapApiCallDeep = (obj, config, sdkContext) => {
10392
10400
  if (typeof obj === "object" && obj !== null) {
10393
10401
  const result = {};
10394
10402
  for (const [key, value] of Object.entries(obj)) {
10395
- result[key] = wrapApiCallDeep(value, config, sdkContext);
10403
+ result[key] = wrapApiCallDeep(value, config, sdkContext, wrapper);
10396
10404
  }
10397
10405
  return result;
10398
10406
  }
10399
10407
  return obj;
10400
10408
  };
10409
+ var wrapDirectoryApiCallDeep = (obj, config, sdkContext) => wrapApiCallDeep(obj, config, sdkContext, wrapDirectoryApiCall);
10401
10410
  var axiosMutator = async (config, options) => {
10402
10411
  return axios.request({
10403
10412
  ...config,
@@ -15461,6 +15470,72 @@ var useLorasApi = () => {
15461
15470
  });
15462
15471
  };
15463
15472
 
15473
+ // src/autogenerated/directory/user-profiles/user-profiles.ts
15474
+ var getUserProfiles = () => {
15475
+ const createUserProfile = (createUserProfileDto, options) => {
15476
+ return axiosMutator(
15477
+ {
15478
+ url: `/api/v1/user-profiles`,
15479
+ method: "POST",
15480
+ headers: { "Content-Type": "application/json" },
15481
+ data: createUserProfileDto
15482
+ },
15483
+ options
15484
+ );
15485
+ };
15486
+ const getUserProfiles2 = (options) => {
15487
+ return axiosMutator(
15488
+ {
15489
+ url: `/api/v1/user-profiles`,
15490
+ method: "GET"
15491
+ },
15492
+ options
15493
+ );
15494
+ };
15495
+ const getSelfProfile = (options) => {
15496
+ return axiosMutator(
15497
+ {
15498
+ url: `/api/v1/user-profiles/self`,
15499
+ method: "GET"
15500
+ },
15501
+ options
15502
+ );
15503
+ };
15504
+ const getByHandle = (handle, options) => {
15505
+ return axiosMutator(
15506
+ {
15507
+ url: `/api/v1/user-profiles/handle/${handle}`,
15508
+ method: "GET"
15509
+ },
15510
+ options
15511
+ );
15512
+ };
15513
+ const updateUserProfile = (id, updateUserProfileDto, options) => {
15514
+ return axiosMutator(
15515
+ {
15516
+ url: `/api/v1/user-profiles/${id}`,
15517
+ method: "PATCH",
15518
+ headers: { "Content-Type": "application/json" },
15519
+ data: updateUserProfileDto
15520
+ },
15521
+ options
15522
+ );
15523
+ };
15524
+ return { createUserProfile, getUserProfiles: getUserProfiles2, getSelfProfile, getByHandle, updateUserProfile };
15525
+ };
15526
+
15527
+ // src/sdk/api-definitions/user-profiles.ts
15528
+ var useUserProfilesApi = () => {
15529
+ const api = getUserProfiles();
15530
+ return useApi({
15531
+ create: api.createUserProfile,
15532
+ list: api.getUserProfiles,
15533
+ self: api.getSelfProfile,
15534
+ getByHandle: wrapApiCallNullable(api.getByHandle),
15535
+ update: api.updateUserProfile
15536
+ });
15537
+ };
15538
+
15464
15539
  // src/sdk/ws-client.ts
15465
15540
  import { io } from "socket.io-client";
15466
15541
  var useWsClient = (config) => new WsClient(config);
@@ -15557,6 +15632,9 @@ var apiDefinitions = {
15557
15632
  loras: useLorasApi()
15558
15633
  };
15559
15634
  var pipelineDefinitions = usePipelineDefinitions();
15635
+ var getDirectoryApiDefinitions = () => ({
15636
+ userProfiles: useUserProfilesApi()
15637
+ });
15560
15638
  var getWsClientDefinitions = (config) => ({
15561
15639
  ws: useWsClient(config)
15562
15640
  });
@@ -15583,6 +15661,25 @@ var createSDK = (options) => {
15583
15661
  Object.assign(sdk, wsSdk);
15584
15662
  return sdk;
15585
15663
  };
15664
+ var createDirectorySDK = (options) => {
15665
+ let token = void 0;
15666
+ const config = getDirectoryConfig(options);
15667
+ const authToken = config.authToken;
15668
+ const getAuthToken = async () => {
15669
+ if (token) {
15670
+ const decoded = decodeJwt(token);
15671
+ const currentTime = Math.floor(Date.now() / 1e3);
15672
+ if (decoded.exp && decoded.exp > currentTime) return token;
15673
+ }
15674
+ token = await authToken();
15675
+ return token;
15676
+ };
15677
+ config.authToken = getAuthToken;
15678
+ const sdk = {};
15679
+ const directorySdk = wrapDirectoryApiCallDeep(getDirectoryApiDefinitions(), config, sdk);
15680
+ Object.assign(sdk, directorySdk);
15681
+ return sdk;
15682
+ };
15586
15683
 
15587
15684
  // src/token.ts
15588
15685
  import * as jose from "jose";
@@ -15632,7 +15729,8 @@ var createTokenSigner = (options) => {
15632
15729
  payload: {
15633
15730
  iss: options.appId,
15634
15731
  permissions: serializePermissions(props.permissions ?? {}),
15635
- sub: props.accountId
15732
+ sub: props.accountId,
15733
+ kind: props.kind || "core-api"
15636
15734
  }
15637
15735
  }),
15638
15736
  createRootToken: async (props) => createToken({
@@ -15641,7 +15739,8 @@ var createTokenSigner = (options) => {
15641
15739
  expiresInSeconds: props.expiresInSeconds ?? 3600,
15642
15740
  payload: {
15643
15741
  iss: options.appId,
15644
- permissions: ["*"]
15742
+ permissions: ["*"],
15743
+ kind: props.kind || "core-api"
15645
15744
  }
15646
15745
  })
15647
15746
  };
@@ -15929,6 +16028,7 @@ export {
15929
16028
  Yolo11xPoseV1OutputKind,
15930
16029
  Yolo11xPoseV1ResponseKind,
15931
16030
  Yolo11xPoseV1ResponseStatus,
16031
+ createDirectorySDK,
15932
16032
  createSDK,
15933
16033
  createTokenSigner
15934
16034
  };