@artu-ai/compliance-sdk 0.4.5 → 0.4.6
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/sdk/ComplianceSDK.d.ts +20 -4
- package/dist/sdk/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/ComplianceSDK.js +10 -5
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/session.d.ts +36 -3
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +12 -6
- package/package.json +2 -2
|
@@ -153,6 +153,8 @@ export declare class ComplianceSDKImpl {
|
|
|
153
153
|
protected readonly _headers?: Record<string, string>;
|
|
154
154
|
/** Organization ID for session login (cookie mode) */
|
|
155
155
|
protected readonly _organizationId?: string;
|
|
156
|
+
/** API key for API key auth mode (stored for session() calls) */
|
|
157
|
+
protected readonly _apiKey?: string;
|
|
156
158
|
/**
|
|
157
159
|
* Clients resource manager.
|
|
158
160
|
*
|
|
@@ -379,16 +381,30 @@ export declare class ComplianceSDKImpl {
|
|
|
379
381
|
get isActividadVulnerable(): boolean;
|
|
380
382
|
/**
|
|
381
383
|
* Fetches current session info from the API (/auth/me).
|
|
382
|
-
*
|
|
384
|
+
* Works in both cookie auth mode and API key mode.
|
|
383
385
|
*
|
|
384
|
-
*
|
|
386
|
+
* In cookie mode: Uses session cookie for authentication, returns userId.
|
|
387
|
+
* In API key mode: Uses API key for authentication, no userId (use type narrowing).
|
|
388
|
+
*
|
|
389
|
+
* @example Cookie mode
|
|
385
390
|
* ```typescript
|
|
391
|
+
* const sdk = new ComplianceSDK({ mode: "cookie", environment: "test" });
|
|
386
392
|
* const result = await sdk.session();
|
|
387
|
-
* if (result.isAuthenticated) {
|
|
393
|
+
* if (result.isAuthenticated && result.session.type === "cookie") {
|
|
388
394
|
* console.log("User:", result.session.userId);
|
|
389
395
|
* }
|
|
390
396
|
* ```
|
|
391
397
|
*
|
|
398
|
+
* @example API key mode
|
|
399
|
+
* ```typescript
|
|
400
|
+
* const sdk = new ComplianceSDK({ apiKey: "sk_...", environment: "test" });
|
|
401
|
+
* const result = await sdk.session();
|
|
402
|
+
* if (result.isAuthenticated) {
|
|
403
|
+
* console.log("Org:", result.session.organizationId);
|
|
404
|
+
* console.log("Permissions:", result.session.permissions);
|
|
405
|
+
* }
|
|
406
|
+
* ```
|
|
407
|
+
*
|
|
392
408
|
* @example With returnTo (strongly typed - redirectUrl present when not authenticated)
|
|
393
409
|
* ```typescript
|
|
394
410
|
* // In Next.js Server Component
|
|
@@ -406,7 +422,7 @@ export declare class ComplianceSDKImpl {
|
|
|
406
422
|
* }
|
|
407
423
|
*
|
|
408
424
|
* // result.session is guaranteed here (TypeScript knows it's not null)
|
|
409
|
-
* console.log("
|
|
425
|
+
* console.log("Org:", result.session.organizationId);
|
|
410
426
|
* ```
|
|
411
427
|
*/
|
|
412
428
|
session(options: SDKSessionOptionsWithReturnTo): Promise<SessionResultWithRedirect>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComplianceSDK.d.ts","sourceRoot":"","sources":["../../src/sdk/ComplianceSDK.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ComplianceSDK.d.ts","sourceRoot":"","sources":["../../src/sdk/ComplianceSDK.ts"],"names":[],"mappings":"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"}
|
|
@@ -137,6 +137,8 @@ export class ComplianceSDKImpl {
|
|
|
137
137
|
_headers;
|
|
138
138
|
/** Organization ID for session login (cookie mode) */
|
|
139
139
|
_organizationId;
|
|
140
|
+
/** API key for API key auth mode (stored for session() calls) */
|
|
141
|
+
_apiKey;
|
|
140
142
|
// ===========================
|
|
141
143
|
// Resource Managers
|
|
142
144
|
// ===========================
|
|
@@ -339,6 +341,7 @@ export class ComplianceSDKImpl {
|
|
|
339
341
|
this._authMode = authMode;
|
|
340
342
|
this._credentials = resolvedCredentials;
|
|
341
343
|
this._headers = resolvedHeaders;
|
|
344
|
+
this._apiKey = resolvedApiKey;
|
|
342
345
|
// Create tRPC client
|
|
343
346
|
const trpcConfig = authMode === "apiKey"
|
|
344
347
|
? {
|
|
@@ -503,16 +506,18 @@ export class ComplianceSDKImpl {
|
|
|
503
506
|
this._scope.actividadVulnerable !== undefined);
|
|
504
507
|
}
|
|
505
508
|
async session(options) {
|
|
506
|
-
if (this._authMode !== "cookie") {
|
|
507
|
-
throw new Error("session() is only available when using cookie auth mode.");
|
|
508
|
-
}
|
|
509
509
|
const baseOptions = {
|
|
510
510
|
baseUrl: this._baseUrl,
|
|
511
511
|
environment: this._environment,
|
|
512
|
-
credentials:
|
|
513
|
-
|
|
512
|
+
// Cookie mode: use credentials and headers; API key mode: omit them
|
|
513
|
+
credentials: this._authMode === "cookie"
|
|
514
|
+
? (this._credentials ?? "include")
|
|
515
|
+
: "omit",
|
|
516
|
+
headers: this._authMode === "cookie" ? this._headers : undefined,
|
|
514
517
|
// Use provided organizationId or fall back to SDK-level config
|
|
515
518
|
organizationId: options?.organizationId ?? this._organizationId,
|
|
519
|
+
// Pass API key for API key auth mode
|
|
520
|
+
apiKey: this._authMode === "apiKey" ? this._apiKey : undefined,
|
|
516
521
|
};
|
|
517
522
|
if (options?.returnTo) {
|
|
518
523
|
return fetchSession({
|
package/dist/sdk/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Organized by jurisdiction with barrel exports.
|
|
6
6
|
*/
|
|
7
7
|
export { type Environment, type ComplianceSDKOptionsBase, type ComplianceAuthOptions, type ComplianceAuthMode, type FetchCredentials, type ComplianceAPIKeyAuth, type ComplianceCookieAuth, type SDKScope, type SDKScopeBase, type SDKScopeMexico, isMexicoScope, buildScope, } from "./types";
|
|
8
|
-
export type { SessionInfo } from "../utils/session";
|
|
8
|
+
export type { SessionInfo, CookieSessionInfo, ApiKeySessionInfo, } from "../utils/session";
|
|
9
9
|
export { type ResourceFactory, type ScopeResourceFactories, registerScope, getResourceFactories, getScopeKey, hasScope, getRegisteredScopes, clearRegistry, } from "./resource-registry";
|
|
10
10
|
export { type UnscopedSDKOptions, registerBaseScope } from "./base";
|
|
11
11
|
export { type ComplianceSDKOptionsMexico, type MexicoSDKOptions, type MexicoComplianceSDK, type AVISDKOptions, type AVIComplianceSDK, type JYSSDKOptions, type JYSComplianceSDK, type TSCSDKOptions, type TSCComplianceSDK, registerMexicoScopes, } from "./mex";
|
package/dist/sdk/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAMpE,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,oBAAoB,GACrB,MAAM,OAAO,CAAC;AASf;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AASD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { createAPIClient, generateRequestId, isTRPCError, getRequestIdFromError,
|
|
|
7
7
|
export type { TRPCClient, TRPCClientConfig, APIVersion, SDKEnvironment, } from "./trpc-client";
|
|
8
8
|
export { validateEnvironment, isValidEnvironment, getDefaultBaseUrl, resolveBaseUrl, environmentSchema, DEFAULT_BASE_URL, } from "./environment";
|
|
9
9
|
export type { Environment, SDKEnvironmentConfig } from "./environment";
|
|
10
|
-
export { fetchSession, createAuthLoginUrl, type SessionInfo, type SessionType, type SessionOptions, type SessionOptionsWithReturnTo, type SessionOptionsWithoutReturnTo, type SDKSessionOptions, type SDKSessionOptionsWithReturnTo, type SDKSessionOptionsWithoutReturnTo, type SessionResult, type SessionResultWithRedirect, type SessionResultWithoutRedirect, type SessionResultAuthenticated, type SessionResultUnauthenticatedWithRedirect, type SessionResultUnauthenticatedNoRedirect, } from "./session";
|
|
10
|
+
export { fetchSession, createAuthLoginUrl, type SessionInfo, type CookieSessionInfo, type ApiKeySessionInfo, type SessionType, type SessionOptions, type SessionOptionsWithReturnTo, type SessionOptionsWithoutReturnTo, type SDKSessionOptions, type SDKSessionOptionsWithReturnTo, type SDKSessionOptionsWithoutReturnTo, type SessionResult, type SessionResultWithRedirect, type SessionResultWithoutRedirect, type SessionResultAuthenticated, type SessionResultUnauthenticatedWithRedirect, type SessionResultUnauthenticatedNoRedirect, } from "./session";
|
|
11
11
|
export { createPaginatedIterator, collectAll, collectUpTo, getFirst, DEFAULT_PAGE_SIZE, MAX_PAGE_SIZE, } from "./pagination";
|
|
12
12
|
export { buildClientFilter, buildTransactionFilter, buildDocumentFilter, buildBankAccountFilter, contains, startsWith, endsWith, equals, notEquals, oneOf, notOneOf, dateRange, after, before, onOrAfter, onOrBefore, numberRange, greaterThan, lessThan, atLeast, atMost, isTrue, isFalse, isNull, isNotNull, } from "./filters";
|
|
13
13
|
export { uploadToS3, normalizeFile, validateFileSize, MAX_FILE_SIZE_BYTES, DEFAULT_UPLOAD_TIMEOUT_MS, } from "./upload";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,GACf,MAAM,eAAe,CAAC;AAMvB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAMvE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EAClC,KAAK,gCAAgC,EACrC,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,wCAAwC,EAC7C,KAAK,sCAAsC,GAC5C,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,aAAa,GACd,MAAM,cAAc,CAAC;AAMtB,OAAO,EAEL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EAEtB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,MAAM,EACN,SAAS,EAET,KAAK,EACL,QAAQ,EAER,SAAS,EACT,KAAK,EACL,MAAM,EACN,SAAS,EACT,UAAU,EAEV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,OAAO,EACP,MAAM,EAEN,MAAM,EACN,OAAO,EAEP,MAAM,EACN,SAAS,GACV,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,GACf,MAAM,eAAe,CAAC;AAMvB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAMvE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EAClC,KAAK,gCAAgC,EACrC,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,wCAAwC,EAC7C,KAAK,sCAAsC,GAC5C,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,aAAa,GACd,MAAM,cAAc,CAAC;AAMtB,OAAO,EAEL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EAEtB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,MAAM,EACN,SAAS,EAET,KAAK,EACL,QAAQ,EAER,SAAS,EACT,KAAK,EACL,MAAM,EACN,SAAS,EACT,UAAU,EAEV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,OAAO,EACP,MAAM,EAEN,MAAM,EACN,OAAO,EAEP,MAAM,EACN,SAAS,GACV,MAAM,WAAW,CAAC;AAMnB,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,UAAU,CAAC"}
|
package/dist/utils/session.d.ts
CHANGED
|
@@ -1,12 +1,40 @@
|
|
|
1
1
|
import type { Environment } from "./environment";
|
|
2
|
-
export type SessionType = "
|
|
3
|
-
|
|
2
|
+
export type SessionType = "cookie" | "apiKey";
|
|
3
|
+
/**
|
|
4
|
+
* Base session info shared across all auth modes.
|
|
5
|
+
*/
|
|
6
|
+
interface SessionInfoBase {
|
|
4
7
|
organizationId: string;
|
|
5
8
|
permissions: string[];
|
|
6
9
|
environment: Environment;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Session info for cookie auth mode.
|
|
13
|
+
* Includes userId since there's an authenticated user.
|
|
14
|
+
*/
|
|
15
|
+
export interface CookieSessionInfo extends SessionInfoBase {
|
|
16
|
+
type: "cookie";
|
|
7
17
|
userId: string;
|
|
8
|
-
type: SessionType;
|
|
9
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Session info for API key auth mode.
|
|
21
|
+
* No userId since API keys represent service accounts, not users.
|
|
22
|
+
*/
|
|
23
|
+
export interface ApiKeySessionInfo extends SessionInfoBase {
|
|
24
|
+
type: "apiKey";
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Discriminated union for session info.
|
|
28
|
+
* Use `session.type` to narrow and access mode-specific fields.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* if (session.type === "cookie") {
|
|
33
|
+
* console.log(session.userId); // TypeScript knows userId exists
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export type SessionInfo = CookieSessionInfo | ApiKeySessionInfo;
|
|
10
38
|
/**
|
|
11
39
|
* Base options for fetchSession.
|
|
12
40
|
*/
|
|
@@ -38,6 +66,11 @@ interface SessionOptionsBase {
|
|
|
38
66
|
* Useful for custom apps to prevent users from logging into the wrong organization.
|
|
39
67
|
*/
|
|
40
68
|
organizationId?: string;
|
|
69
|
+
/**
|
|
70
|
+
* API key for authorization (API key auth mode).
|
|
71
|
+
* When provided, adds Authorization header to the request.
|
|
72
|
+
*/
|
|
73
|
+
apiKey?: string;
|
|
41
74
|
}
|
|
42
75
|
/**
|
|
43
76
|
* Options for fetchSession when returnTo is provided.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/session.js
CHANGED
|
@@ -11,7 +11,7 @@ export function createAuthLoginUrl(options) {
|
|
|
11
11
|
return loginUrl.toString();
|
|
12
12
|
}
|
|
13
13
|
export async function fetchSession(options) {
|
|
14
|
-
const { baseUrl, environment, credentials = "include", headers: customHeaders = {}, fetchImpl = fetch, returnTo, } = options;
|
|
14
|
+
const { baseUrl, environment, credentials = "include", headers: customHeaders = {}, fetchImpl = fetch, returnTo, apiKey, } = options;
|
|
15
15
|
// Extract organizationId only when returnTo is provided
|
|
16
16
|
const organizationId = "organizationId" in options
|
|
17
17
|
? options.organizationId
|
|
@@ -34,13 +34,19 @@ export async function fetchSession(options) {
|
|
|
34
34
|
isAuthenticated: false,
|
|
35
35
|
};
|
|
36
36
|
};
|
|
37
|
+
// Build headers - add Authorization header for API key mode
|
|
38
|
+
const headers = {
|
|
39
|
+
...customHeaders,
|
|
40
|
+
"X-Environment": environment,
|
|
41
|
+
};
|
|
42
|
+
if (apiKey) {
|
|
43
|
+
headers["Authorization"] = `Bearer ${apiKey}`;
|
|
44
|
+
}
|
|
37
45
|
try {
|
|
38
46
|
const res = await fetchImpl(`${normalizedBaseUrl}/auth/me`, {
|
|
39
|
-
headers
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
},
|
|
43
|
-
credentials,
|
|
47
|
+
headers,
|
|
48
|
+
// Don't send cookies when using API key
|
|
49
|
+
credentials: apiKey ? "omit" : credentials,
|
|
44
50
|
});
|
|
45
51
|
if (res.status === 401 || !res.ok) {
|
|
46
52
|
return handleUnauthenticated();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@artu-ai/compliance-sdk",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"description": "TypeScript SDK for the Artu Compliance API",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
},
|
|
57
57
|
"license": "UNLICENSED",
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@artu-ai/shared": "0.4.
|
|
59
|
+
"@artu-ai/shared": "0.4.6",
|
|
60
60
|
"@trpc/client": "^11.7.2"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|