@optimizely-opal/opal-tool-ocp-sdk 1.0.0-beta.6 → 1.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -3
- package/dist/auth/AuthUtils.d.ts +0 -7
- package/dist/auth/AuthUtils.d.ts.map +1 -1
- package/dist/auth/AuthUtils.js +0 -27
- package/dist/auth/AuthUtils.js.map +1 -1
- package/dist/auth/AuthUtils.test.js +0 -99
- package/dist/auth/AuthUtils.test.js.map +1 -1
- package/dist/function/GlobalToolFunction.d.ts +3 -2
- package/dist/function/GlobalToolFunction.d.ts.map +1 -1
- package/dist/function/GlobalToolFunction.js +4 -4
- package/dist/function/GlobalToolFunction.js.map +1 -1
- package/dist/function/GlobalToolFunction.test.js +16 -4
- package/dist/function/GlobalToolFunction.test.js.map +1 -1
- package/dist/function/ToolFunction.d.ts +3 -2
- package/dist/function/ToolFunction.d.ts.map +1 -1
- package/dist/function/ToolFunction.js +5 -12
- package/dist/function/ToolFunction.js.map +1 -1
- package/dist/function/ToolFunction.test.js +15 -209
- package/dist/function/ToolFunction.test.js.map +1 -1
- package/dist/logging/ToolLogger.d.ts.map +1 -1
- package/dist/logging/ToolLogger.js +1 -2
- package/dist/logging/ToolLogger.js.map +1 -1
- package/dist/logging/ToolLogger.test.js +2 -114
- package/dist/logging/ToolLogger.test.js.map +1 -1
- package/dist/service/Service.d.ts +0 -73
- package/dist/service/Service.d.ts.map +1 -1
- package/dist/service/Service.js +42 -188
- package/dist/service/Service.js.map +1 -1
- package/dist/service/Service.test.js +34 -380
- package/dist/service/Service.test.js.map +1 -1
- package/dist/types/Models.d.ts +4 -0
- package/dist/types/Models.d.ts.map +1 -1
- package/dist/types/ToolError.d.ts +0 -13
- package/dist/types/ToolError.d.ts.map +1 -1
- package/dist/types/ToolError.js +2 -30
- package/dist/types/ToolError.js.map +1 -1
- package/dist/types/ToolError.test.js +3 -27
- package/dist/types/ToolError.test.js.map +1 -1
- package/dist/validation/ParameterValidator.test.js +1 -2
- package/dist/validation/ParameterValidator.test.js.map +1 -1
- package/package.json +1 -1
- package/src/auth/AuthUtils.test.ts +1 -115
- package/src/auth/AuthUtils.ts +1 -30
- package/src/function/GlobalToolFunction.test.ts +21 -6
- package/src/function/GlobalToolFunction.ts +6 -5
- package/src/function/ToolFunction.test.ts +21 -225
- package/src/function/ToolFunction.ts +8 -13
- package/src/logging/ToolLogger.test.ts +2 -118
- package/src/logging/ToolLogger.ts +1 -2
- package/src/service/Service.test.ts +32 -474
- package/src/service/Service.ts +41 -245
- package/src/types/Models.ts +5 -0
- package/src/types/ToolError.test.ts +3 -33
- package/src/types/ToolError.ts +2 -32
- package/src/validation/ParameterValidator.test.ts +1 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolError.d.ts","sourceRoot":"","sources":["../../src/types/ToolError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"ToolError.d.ts","sourceRoot":"","sources":["../../src/types/ToolError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC;;OAEG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,SAAgB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAE3C;;;;;;;OAOG;gBAED,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAY,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,eAAe,EAAE;IAc5B;;;;;OAKG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAiBnE"}
|
package/dist/types/ToolError.js
CHANGED
|
@@ -4,27 +4,18 @@ exports.ToolError = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* Custom error class for tool functions that supports RFC 9457 Problem Details format
|
|
6
6
|
*
|
|
7
|
-
* The error message includes status code and details for better logging:
|
|
8
|
-
* - No detail: "[status] message"
|
|
9
|
-
* - With detail: "[status] message: detail"
|
|
10
|
-
* - With errors: "[status] message: field1 (error1); field2 (error2)"
|
|
11
|
-
*
|
|
12
7
|
* @example
|
|
13
8
|
* ```typescript
|
|
14
9
|
* // Throw a 404 error
|
|
15
|
-
* // Message: "[404] Resource not found: The requested task does not exist"
|
|
16
10
|
* throw new ToolError('Resource not found', 404, 'The requested task does not exist');
|
|
17
11
|
*
|
|
18
12
|
* // Throw a 400 error
|
|
19
|
-
* // Message: "[400] Invalid input: The priority must be "low", "medium", or "high""
|
|
20
13
|
* throw new ToolError('Invalid input', 400, 'The priority must be "low", "medium", or "high"');
|
|
21
14
|
*
|
|
22
15
|
* // Throw a 500 error (default)
|
|
23
|
-
* // Message: "[500] Database connection failed"
|
|
24
16
|
* throw new ToolError('Database connection failed');
|
|
25
17
|
*
|
|
26
18
|
* // Throw a validation error with multiple field errors
|
|
27
|
-
* // Message: "[400] Validation failed: email (Invalid email format); age (Must be a positive number)"
|
|
28
19
|
* throw new ToolError('Validation failed', 400, "See 'errors' field for details.", [
|
|
29
20
|
* { field: 'email', message: 'Invalid email format' },
|
|
30
21
|
* { field: 'age', message: 'Must be a positive number' }
|
|
@@ -44,10 +35,6 @@ class ToolError extends Error {
|
|
|
44
35
|
* Array of validation errors (optional)
|
|
45
36
|
*/
|
|
46
37
|
errors;
|
|
47
|
-
/**
|
|
48
|
-
* The title field for RFC 9457 format (same as message when no detail is provided)
|
|
49
|
-
*/
|
|
50
|
-
title;
|
|
51
38
|
/**
|
|
52
39
|
* Create a new ToolError
|
|
53
40
|
*
|
|
@@ -57,23 +44,8 @@ class ToolError extends Error {
|
|
|
57
44
|
* @param errors - Array of validation errors (optional)
|
|
58
45
|
*/
|
|
59
46
|
constructor(message, status = 500, detail, errors) {
|
|
60
|
-
|
|
61
|
-
// Format: [status] message: details
|
|
62
|
-
let fullMessage = `[${status}] ${message}`;
|
|
63
|
-
if (errors && errors.length > 0) {
|
|
64
|
-
// Errors take precedence: field1 (message1); field2 (message2)
|
|
65
|
-
const errorDetails = errors
|
|
66
|
-
.map((err) => `${err.field} (${err.message})`)
|
|
67
|
-
.join('; ');
|
|
68
|
-
fullMessage += `: ${errorDetails}`;
|
|
69
|
-
}
|
|
70
|
-
else if (detail) {
|
|
71
|
-
// Include detail if no errors
|
|
72
|
-
fullMessage += `: ${detail}`;
|
|
73
|
-
}
|
|
74
|
-
super(fullMessage);
|
|
47
|
+
super(message);
|
|
75
48
|
this.name = 'ToolError';
|
|
76
|
-
this.title = message;
|
|
77
49
|
this.status = status;
|
|
78
50
|
this.detail = detail;
|
|
79
51
|
this.errors = errors;
|
|
@@ -90,7 +62,7 @@ class ToolError extends Error {
|
|
|
90
62
|
*/
|
|
91
63
|
toProblemDetails(instance) {
|
|
92
64
|
const problemDetails = {
|
|
93
|
-
title: this.
|
|
65
|
+
title: this.message,
|
|
94
66
|
status: this.status,
|
|
95
67
|
instance
|
|
96
68
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolError.js","sourceRoot":"","sources":["../../src/types/ToolError.ts"],"names":[],"mappings":";;;AAQA
|
|
1
|
+
{"version":3,"file":"ToolError.js","sourceRoot":"","sources":["../../src/types/ToolError.ts"],"names":[],"mappings":";;;AAQA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,SAAU,SAAQ,KAAK;IAClC;;OAEG;IACa,MAAM,CAAS;IAE/B;;OAEG;IACa,MAAM,CAAU;IAEhC;;OAEG;IACa,MAAM,CAAqB;IAE3C;;;;;;;OAOG;IACH,YACE,OAAe,EACf,SAAiB,GAAG,EACpB,MAAe,EACf,MAA0B;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,4EAA4E;QAC5E,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,QAAgB;QACtC,MAAM,cAAc,GAA4B;YAC9C,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ;SACT,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACtC,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;CACF;AAjED,8BAiEC"}
|
|
@@ -5,47 +5,23 @@ describe('ToolError', () => {
|
|
|
5
5
|
describe('constructor', () => {
|
|
6
6
|
it('should create error with message and default status 500', () => {
|
|
7
7
|
const error = new ToolError_1.ToolError('Something went wrong');
|
|
8
|
-
expect(error.message).toBe('
|
|
9
|
-
expect(error.title).toBe('Something went wrong');
|
|
8
|
+
expect(error.message).toBe('Something went wrong');
|
|
10
9
|
expect(error.status).toBe(500);
|
|
11
10
|
expect(error.detail).toBeUndefined();
|
|
12
11
|
expect(error.name).toBe('ToolError');
|
|
13
12
|
});
|
|
14
13
|
it('should create error with custom status code', () => {
|
|
15
14
|
const error = new ToolError_1.ToolError('Not found', 404);
|
|
16
|
-
expect(error.message).toBe('
|
|
17
|
-
expect(error.title).toBe('Not found');
|
|
15
|
+
expect(error.message).toBe('Not found');
|
|
18
16
|
expect(error.status).toBe(404);
|
|
19
17
|
expect(error.detail).toBeUndefined();
|
|
20
18
|
});
|
|
21
19
|
it('should create error with message, status, and detail', () => {
|
|
22
20
|
const error = new ToolError_1.ToolError('Validation failed', 400, 'Email format is invalid');
|
|
23
|
-
expect(error.message).toBe('
|
|
24
|
-
expect(error.title).toBe('Validation failed');
|
|
21
|
+
expect(error.message).toBe('Validation failed');
|
|
25
22
|
expect(error.status).toBe(400);
|
|
26
23
|
expect(error.detail).toBe('Email format is invalid');
|
|
27
24
|
});
|
|
28
|
-
it('should create error with errors array in message', () => {
|
|
29
|
-
const errors = [
|
|
30
|
-
{ field: 'email', message: 'Invalid email format' },
|
|
31
|
-
{ field: 'age', message: 'Must be a positive number' }
|
|
32
|
-
];
|
|
33
|
-
const error = new ToolError_1.ToolError('Validation failed', 400, "See 'errors' field for details.", errors);
|
|
34
|
-
expect(error.message).toBe('[400] Validation failed: email (Invalid email format); age (Must be a positive number)');
|
|
35
|
-
expect(error.title).toBe('Validation failed');
|
|
36
|
-
expect(error.status).toBe(400);
|
|
37
|
-
expect(error.detail).toBe("See 'errors' field for details.");
|
|
38
|
-
expect(error.errors).toEqual(errors);
|
|
39
|
-
});
|
|
40
|
-
it('should create error with single error in message', () => {
|
|
41
|
-
const errors = [{ field: 'username', message: 'Required field is missing' }];
|
|
42
|
-
const error = new ToolError_1.ToolError('Validation failed', 400, undefined, errors);
|
|
43
|
-
expect(error.message).toBe('[400] Validation failed: username (Required field is missing)');
|
|
44
|
-
expect(error.title).toBe('Validation failed');
|
|
45
|
-
expect(error.status).toBe(400);
|
|
46
|
-
expect(error.detail).toBeUndefined();
|
|
47
|
-
expect(error.errors).toEqual(errors);
|
|
48
|
-
});
|
|
49
25
|
it('should be an instance of Error', () => {
|
|
50
26
|
const error = new ToolError_1.ToolError('Test error');
|
|
51
27
|
expect(error).toBeInstanceOf(Error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolError.test.js","sourceRoot":"","sources":["../../src/types/ToolError.test.ts"],"names":[],"mappings":";;AAAA,2CAAwC;AAExC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,KAAK,GAAG,IAAI,qBAAS,CAAC,sBAAsB,CAAC,CAAC;YAEpD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ToolError.test.js","sourceRoot":"","sources":["../../src/types/ToolError.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,8 +45,7 @@ describe('ParameterValidator', () => {
|
|
|
45
45
|
expect(error).toBeInstanceOf(ToolError_1.ToolError);
|
|
46
46
|
const toolError = error;
|
|
47
47
|
expect(toolError.status).toBe(400);
|
|
48
|
-
expect(toolError.message).toBe(
|
|
49
|
-
expect(toolError.title).toBe('One or more validation errors occurred.');
|
|
48
|
+
expect(toolError.message).toBe('One or more validation errors occurred.');
|
|
50
49
|
expect(toolError.detail).toBe("See 'errors' field for details.");
|
|
51
50
|
expect(toolError.errors).toHaveLength(1);
|
|
52
51
|
expect(toolError.errors).toEqual([{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterValidator.test.js","sourceRoot":"","sources":["../../src/validation/ParameterValidator.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ParameterValidator.test.js","sourceRoot":"","sources":["../../src/validation/ParameterValidator.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
2
2
|
import { getAppContext, logger } from '@zaiusinc/app-sdk';
|
|
3
3
|
import { getTokenVerifier } from './TokenVerifier';
|
|
4
|
-
import { authenticateRegularRequest, authenticateGlobalRequest
|
|
4
|
+
import { authenticateRegularRequest, authenticateGlobalRequest } from './AuthUtils';
|
|
5
5
|
import { ToolError } from '../types/ToolError';
|
|
6
6
|
|
|
7
7
|
// Mock the dependencies
|
|
@@ -631,118 +631,4 @@ describe('AuthUtils', () => {
|
|
|
631
631
|
await expect(authenticateGlobalRequest(request)).rejects.toThrow(ToolError);
|
|
632
632
|
});
|
|
633
633
|
});
|
|
634
|
-
|
|
635
|
-
describe('authenticateInternalRequest', () => {
|
|
636
|
-
it('should return true for valid OptiID token in Authorization header', async () => {
|
|
637
|
-
mockTokenVerifier.verify.mockResolvedValue(true);
|
|
638
|
-
|
|
639
|
-
const mockRequest = {
|
|
640
|
-
headers: {
|
|
641
|
-
get: jest.fn().mockImplementation((name: string) => {
|
|
642
|
-
if (name === 'Authorization') return 'valid-internal-token';
|
|
643
|
-
return null;
|
|
644
|
-
})
|
|
645
|
-
}
|
|
646
|
-
} as any;
|
|
647
|
-
|
|
648
|
-
await expect(authenticateInternalRequest(mockRequest)).resolves.toBeUndefined();
|
|
649
|
-
expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-internal-token');
|
|
650
|
-
});
|
|
651
|
-
|
|
652
|
-
it('should return true for valid OptiID token in lowercase header', async () => {
|
|
653
|
-
mockTokenVerifier.verify.mockResolvedValue(true);
|
|
654
|
-
|
|
655
|
-
const mockRequest = {
|
|
656
|
-
headers: {
|
|
657
|
-
get: jest.fn().mockImplementation((name: string) => {
|
|
658
|
-
if (name === 'authorization') return 'valid-internal-token';
|
|
659
|
-
return null;
|
|
660
|
-
})
|
|
661
|
-
}
|
|
662
|
-
} as any;
|
|
663
|
-
|
|
664
|
-
await expect(authenticateInternalRequest(mockRequest)).resolves.toBeUndefined();
|
|
665
|
-
expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-internal-token');
|
|
666
|
-
});
|
|
667
|
-
|
|
668
|
-
it('should throw ToolError when Authorization header is missing', async () => {
|
|
669
|
-
const mockRequest = {
|
|
670
|
-
headers: {
|
|
671
|
-
get: jest.fn().mockReturnValue(null) // No Authorization header
|
|
672
|
-
}
|
|
673
|
-
} as any;
|
|
674
|
-
|
|
675
|
-
await expect(authenticateInternalRequest(mockRequest)).rejects.toThrow(ToolError);
|
|
676
|
-
await expect(authenticateInternalRequest(mockRequest)).rejects.toThrow('Unauthorized');
|
|
677
|
-
});
|
|
678
|
-
|
|
679
|
-
it('should throw ToolError when headers object is missing', async () => {
|
|
680
|
-
const mockRequest = {} as any; // No headers object
|
|
681
|
-
|
|
682
|
-
await expect(authenticateInternalRequest(mockRequest)).rejects.toThrow(ToolError);
|
|
683
|
-
await expect(authenticateInternalRequest(mockRequest)).rejects.toThrow('Unauthorized');
|
|
684
|
-
});
|
|
685
|
-
|
|
686
|
-
it('should throw ToolError when token verification fails', async () => {
|
|
687
|
-
mockTokenVerifier.verify.mockResolvedValue(false);
|
|
688
|
-
|
|
689
|
-
const mockRequest = {
|
|
690
|
-
headers: {
|
|
691
|
-
get: jest.fn().mockImplementation((name: string) => {
|
|
692
|
-
if (name === 'Authorization') return 'invalid-token';
|
|
693
|
-
return null;
|
|
694
|
-
})
|
|
695
|
-
}
|
|
696
|
-
} as any;
|
|
697
|
-
|
|
698
|
-
await expect(authenticateInternalRequest(mockRequest)).rejects.toThrow(ToolError);
|
|
699
|
-
await expect(authenticateInternalRequest(mockRequest)).rejects.toThrow('Unauthorized');
|
|
700
|
-
});
|
|
701
|
-
|
|
702
|
-
it('should throw ToolError when token verifier throws an error', async () => {
|
|
703
|
-
mockTokenVerifier.verify.mockRejectedValue(new Error('Token service unavailable'));
|
|
704
|
-
|
|
705
|
-
const mockRequest = {
|
|
706
|
-
headers: {
|
|
707
|
-
get: jest.fn().mockImplementation((name: string) => {
|
|
708
|
-
if (name === 'Authorization') return 'some-token';
|
|
709
|
-
return null;
|
|
710
|
-
})
|
|
711
|
-
}
|
|
712
|
-
} as any;
|
|
713
|
-
|
|
714
|
-
await expect(authenticateInternalRequest(mockRequest)).rejects.toThrow(ToolError);
|
|
715
|
-
await expect(authenticateInternalRequest(mockRequest)).rejects.toThrow('Unauthorized');
|
|
716
|
-
});
|
|
717
|
-
|
|
718
|
-
it('should throw ToolError when token verification throws an error', async () => {
|
|
719
|
-
mockTokenVerifier.verify.mockRejectedValue(new Error('Service error'));
|
|
720
|
-
|
|
721
|
-
const mockRequest = {
|
|
722
|
-
headers: {
|
|
723
|
-
get: jest.fn().mockImplementation((name: string) => {
|
|
724
|
-
if (name === 'Authorization') return 'valid-token';
|
|
725
|
-
return null;
|
|
726
|
-
})
|
|
727
|
-
}
|
|
728
|
-
} as any;
|
|
729
|
-
|
|
730
|
-
await expect(authenticateInternalRequest(mockRequest)).rejects.toThrow(ToolError);
|
|
731
|
-
await expect(authenticateInternalRequest(mockRequest)).rejects.toThrow('Unauthorized');
|
|
732
|
-
});
|
|
733
|
-
|
|
734
|
-
it('should handle empty string token', async () => {
|
|
735
|
-
const mockRequest = {
|
|
736
|
-
headers: {
|
|
737
|
-
get: jest.fn().mockImplementation((name: string) => {
|
|
738
|
-
if (name === 'Authorization') return '';
|
|
739
|
-
return null;
|
|
740
|
-
})
|
|
741
|
-
}
|
|
742
|
-
} as any;
|
|
743
|
-
|
|
744
|
-
await expect(authenticateInternalRequest(mockRequest)).rejects.toThrow(ToolError);
|
|
745
|
-
await expect(authenticateInternalRequest(mockRequest)).rejects.toThrow('Unauthorized');
|
|
746
|
-
});
|
|
747
|
-
});
|
|
748
634
|
});
|
package/src/auth/AuthUtils.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getAppContext, logger
|
|
1
|
+
import { getAppContext, logger } from '@zaiusinc/app-sdk';
|
|
2
2
|
import { getTokenVerifier } from './TokenVerifier';
|
|
3
3
|
import { OptiIdAuthData } from '../types/Models';
|
|
4
4
|
import { ToolError } from '../types/ToolError';
|
|
@@ -130,35 +130,6 @@ async function authenticateRequest(request: any, validateOrg: boolean): Promise<
|
|
|
130
130
|
await validateAccessToken(accessToken);
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
/**
|
|
134
|
-
* Authenticate internal requests using OptiID token from headers
|
|
135
|
-
* @param request The request object
|
|
136
|
-
* @returns true if authentication succeeds
|
|
137
|
-
*/
|
|
138
|
-
export async function authenticateInternalRequest(request: Request): Promise<void> {
|
|
139
|
-
try {
|
|
140
|
-
const headers = request.headers;
|
|
141
|
-
const optiIdToken = headers?.get('Authorization') || headers?.get('authorization');
|
|
142
|
-
|
|
143
|
-
if (!optiIdToken) {
|
|
144
|
-
logger.info('OptiID token is required in Authorization header for internal requests');
|
|
145
|
-
throw new ToolError('Unauthorized', 401, 'OptiID token is required');
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
// Validate the token using TokenVerifier directly
|
|
149
|
-
const tokenVerifier = await getTokenVerifier();
|
|
150
|
-
const isValidToken = await tokenVerifier.verify(optiIdToken);
|
|
151
|
-
|
|
152
|
-
if (!isValidToken) {
|
|
153
|
-
logger.info('Invalid OptiID token provided for internal request');
|
|
154
|
-
throw new ToolError('Unauthorized', 401, 'Invalid OptiID token');
|
|
155
|
-
}
|
|
156
|
-
} catch (error: any) {
|
|
157
|
-
logger.error('Internal request authentication failed:', error);
|
|
158
|
-
throw new ToolError('Unauthorized', 401, 'Internal request authentication failed');
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
133
|
/**
|
|
163
134
|
* Authenticate a request for regular functions (with organization validation)
|
|
164
135
|
*
|
|
@@ -53,16 +53,16 @@ jest.mock('@zaiusinc/app-sdk', () => ({
|
|
|
53
53
|
|
|
54
54
|
// Create a concrete implementation for testing
|
|
55
55
|
class TestGlobalToolFunction extends GlobalToolFunction {
|
|
56
|
-
private mockReady: jest.MockedFunction<() => Promise<boolean>>;
|
|
56
|
+
private mockReady: jest.MockedFunction<() => Promise<{ ready: boolean; reason?: string }>>;
|
|
57
57
|
|
|
58
58
|
public constructor(request?: any) {
|
|
59
59
|
super(request || {});
|
|
60
60
|
(this as any).request = request;
|
|
61
|
-
this.mockReady = jest.fn().mockResolvedValue(true);
|
|
61
|
+
this.mockReady = jest.fn().mockResolvedValue({ ready: true });
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
// Override the ready method with mock implementation for testing
|
|
65
|
-
protected ready(): Promise<boolean> {
|
|
65
|
+
protected ready(): Promise<{ ready: boolean; reason?: string }> {
|
|
66
66
|
return this.mockReady();
|
|
67
67
|
}
|
|
68
68
|
|
|
@@ -193,7 +193,7 @@ describe('GlobalToolFunction', () => {
|
|
|
193
193
|
// Arrange
|
|
194
194
|
const readyRequest = createReadyRequestWithAuth();
|
|
195
195
|
globalToolFunction = new TestGlobalToolFunction(readyRequest);
|
|
196
|
-
globalToolFunction.getMockReady().mockResolvedValue(true);
|
|
196
|
+
globalToolFunction.getMockReady().mockResolvedValue({ ready: true });
|
|
197
197
|
|
|
198
198
|
// Act
|
|
199
199
|
const result = await globalToolFunction.perform();
|
|
@@ -208,7 +208,7 @@ describe('GlobalToolFunction', () => {
|
|
|
208
208
|
// Arrange
|
|
209
209
|
const readyRequest = createReadyRequestWithAuth();
|
|
210
210
|
globalToolFunction = new TestGlobalToolFunction(readyRequest);
|
|
211
|
-
globalToolFunction.getMockReady().mockResolvedValue(false);
|
|
211
|
+
globalToolFunction.getMockReady().mockResolvedValue({ ready: false });
|
|
212
212
|
|
|
213
213
|
// Act
|
|
214
214
|
const result = await globalToolFunction.perform();
|
|
@@ -219,6 +219,21 @@ describe('GlobalToolFunction', () => {
|
|
|
219
219
|
expect(mockProcessRequest).not.toHaveBeenCalled(); // Should not call service
|
|
220
220
|
});
|
|
221
221
|
|
|
222
|
+
it('should return ready: false with reason when ready method returns false with reason', async () => {
|
|
223
|
+
// Arrange
|
|
224
|
+
const readyRequest = createReadyRequestWithAuth();
|
|
225
|
+
globalToolFunction = new TestGlobalToolFunction(readyRequest);
|
|
226
|
+
globalToolFunction.getMockReady().mockResolvedValue({ ready: false, reason: 'Missing API credentials' });
|
|
227
|
+
|
|
228
|
+
// Act
|
|
229
|
+
const result = await globalToolFunction.perform();
|
|
230
|
+
|
|
231
|
+
// Assert
|
|
232
|
+
expect(globalToolFunction.getMockReady()).toHaveBeenCalledTimes(1);
|
|
233
|
+
expect(result).toEqual(new Response(200, { ready: false, reason: 'Missing API credentials' }));
|
|
234
|
+
expect(mockProcessRequest).not.toHaveBeenCalled(); // Should not call service
|
|
235
|
+
});
|
|
236
|
+
|
|
222
237
|
it('should handle ready method throwing an error', async () => {
|
|
223
238
|
// Arrange
|
|
224
239
|
const readyRequest = createReadyRequestWithAuth();
|
|
@@ -264,7 +279,7 @@ describe('GlobalToolFunction', () => {
|
|
|
264
279
|
path: '/ready'
|
|
265
280
|
};
|
|
266
281
|
globalToolFunction = new TestGlobalToolFunction(readyRequestWithoutAuth);
|
|
267
|
-
globalToolFunction.getMockReady().mockResolvedValue(true);
|
|
282
|
+
globalToolFunction.getMockReady().mockResolvedValue({ ready: true });
|
|
268
283
|
|
|
269
284
|
// Act
|
|
270
285
|
const result = await globalToolFunction.perform();
|
|
@@ -3,6 +3,7 @@ import { authenticateGlobalRequest, extractAuthData } from '../auth/AuthUtils';
|
|
|
3
3
|
import { toolsService } from '../service/Service';
|
|
4
4
|
import { ToolLogger } from '../logging/ToolLogger';
|
|
5
5
|
import { ToolError } from '../types/ToolError';
|
|
6
|
+
import { ReadyResponse } from '../types/Models';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Abstract base class for global tool-based function execution
|
|
@@ -14,10 +15,10 @@ export abstract class GlobalToolFunction extends GlobalFunction {
|
|
|
14
15
|
* Override this method to implement any required credentials and/or other configuration
|
|
15
16
|
* exist and are valid. Reasonable caching should be utilized to prevent excessive requests to external resources.
|
|
16
17
|
* @async
|
|
17
|
-
* @returns
|
|
18
|
+
* @returns ReadyResponse containing ready status and optional reason when not ready
|
|
18
19
|
*/
|
|
19
|
-
protected ready(): Promise<
|
|
20
|
-
return Promise.resolve(true);
|
|
20
|
+
protected ready(): Promise<ReadyResponse> {
|
|
21
|
+
return Promise.resolve({ ready: true });
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
/**
|
|
@@ -69,8 +70,8 @@ export abstract class GlobalToolFunction extends GlobalFunction {
|
|
|
69
70
|
}
|
|
70
71
|
|
|
71
72
|
if (this.request.path === '/ready') {
|
|
72
|
-
const
|
|
73
|
-
return new Response(200,
|
|
73
|
+
const readyResponse = await this.ready();
|
|
74
|
+
return new Response(200, readyResponse);
|
|
74
75
|
}
|
|
75
76
|
|
|
76
77
|
return toolsService.processRequest(this.request, this);
|