@optimizely-opal/opal-tool-ocp-sdk 0.0.0-dev.4 → 0.0.0-devmg.11

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.
Files changed (44) hide show
  1. package/README.md +106 -45
  2. package/dist/auth/TokenVerifier.d.ts +31 -0
  3. package/dist/auth/TokenVerifier.d.ts.map +1 -0
  4. package/dist/auth/TokenVerifier.js +127 -0
  5. package/dist/auth/TokenVerifier.js.map +1 -0
  6. package/dist/auth/TokenVerifier.test.d.ts +2 -0
  7. package/dist/auth/TokenVerifier.test.d.ts.map +1 -0
  8. package/dist/auth/TokenVerifier.test.js +114 -0
  9. package/dist/auth/TokenVerifier.test.js.map +1 -0
  10. package/dist/decorator/Decorator.js +2 -2
  11. package/dist/decorator/Decorator.js.map +1 -1
  12. package/dist/decorator/Decorator.test.js +56 -0
  13. package/dist/decorator/Decorator.test.js.map +1 -1
  14. package/dist/function/ToolFunction.d.ts +11 -7
  15. package/dist/function/ToolFunction.d.ts.map +1 -1
  16. package/dist/function/ToolFunction.js +53 -10
  17. package/dist/function/ToolFunction.js.map +1 -1
  18. package/dist/function/ToolFunction.test.js +225 -122
  19. package/dist/function/ToolFunction.test.js.map +1 -1
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/service/Service.d.ts +14 -13
  25. package/dist/service/Service.d.ts.map +1 -1
  26. package/dist/service/Service.js +22 -16
  27. package/dist/service/Service.js.map +1 -1
  28. package/dist/service/Service.test.js +53 -36
  29. package/dist/service/Service.test.js.map +1 -1
  30. package/dist/types/Models.d.ts +5 -5
  31. package/dist/types/Models.d.ts.map +1 -1
  32. package/dist/types/Models.js +9 -9
  33. package/dist/types/Models.js.map +1 -1
  34. package/package.json +10 -3
  35. package/src/auth/TokenVerifier.test.ts +152 -0
  36. package/src/auth/TokenVerifier.ts +145 -0
  37. package/src/decorator/Decorator.test.ts +66 -2
  38. package/src/decorator/Decorator.ts +2 -2
  39. package/src/function/ToolFunction.test.ts +251 -128
  40. package/src/function/ToolFunction.ts +60 -11
  41. package/src/index.ts +1 -0
  42. package/src/service/Service.test.ts +55 -37
  43. package/src/service/Service.ts +29 -22
  44. package/src/types/Models.ts +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"ToolFunction.test.js","sourceRoot":"","sources":["../../src/function/ToolFunction.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolFunction.test.js","sourceRoot":"","sources":["../../src/function/ToolFunction.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './function/ToolFunction';
2
2
  export * from './types/Models';
3
3
  export * from './decorator/Decorator';
4
+ export * from './auth/TokenVerifier';
4
5
  export { Tool, Interaction, InteractionResult } from './service/Service';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ exports.InteractionResult = exports.Interaction = exports.Tool = void 0;
18
18
  __exportStar(require("./function/ToolFunction"), exports);
19
19
  __exportStar(require("./types/Models"), exports);
20
20
  __exportStar(require("./decorator/Decorator"), exports);
21
+ __exportStar(require("./auth/TokenVerifier"), exports);
21
22
  var Service_1 = require("./service/Service");
22
23
  Object.defineProperty(exports, "Tool", { enumerable: true, get: function () { return Service_1.Tool; } });
23
24
  Object.defineProperty(exports, "Interaction", { enumerable: true, get: function () { return Service_1.Interaction; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,iDAA+B;AAC/B,wDAAsC;AACtC,6CAAyE;AAAhE,+FAAA,IAAI,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,4GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,iDAA+B;AAC/B,wDAAsC;AACtC,uDAAqC;AACrC,6CAAyE;AAAhE,+FAAA,IAAI,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,4GAAA,iBAAiB,OAAA"}
@@ -1,5 +1,6 @@
1
1
  import { AuthRequirement, Parameter } from '../types/Models';
2
2
  import * as App from '@zaiusinc/app-sdk';
3
+ import { ToolFunction } from '../function/ToolFunction';
3
4
  /**
4
5
  * Result type for interaction handlers
5
6
  */
@@ -14,8 +15,8 @@ export declare class InteractionResult {
14
15
  export declare class Interaction<TAuthData> {
15
16
  name: string;
16
17
  endpoint: string;
17
- handler: (functionContext: any, data: unknown, authData?: TAuthData) => Promise<InteractionResult>;
18
- constructor(name: string, endpoint: string, handler: (functionContext: any, data: unknown, authData?: TAuthData) => Promise<InteractionResult>);
18
+ handler: (functionContext: ToolFunction, data: unknown, authData?: TAuthData) => Promise<InteractionResult>;
19
+ constructor(name: string, endpoint: string, handler: (functionContext: ToolFunction, data: unknown, authData?: TAuthData) => Promise<InteractionResult>);
19
20
  }
20
21
  /**
21
22
  * Tool definition for an Opal tool
@@ -25,8 +26,8 @@ export declare class Tool<TAuthData> {
25
26
  description: string;
26
27
  parameters: Parameter[];
27
28
  endpoint: string;
28
- handler: (functionContext: any, params: unknown, authData?: TAuthData) => Promise<unknown>;
29
- authRequirements?: AuthRequirement[] | undefined;
29
+ handler: (functionContext: ToolFunction, params: unknown, authData?: TAuthData) => Promise<unknown>;
30
+ authRequirements: AuthRequirement[];
30
31
  /**
31
32
  * HTTP method for the endpoint (default: POST)
32
33
  */
@@ -38,9 +39,9 @@ export declare class Tool<TAuthData> {
38
39
  * @param parameters Function parameters
39
40
  * @param endpoint API endpoint
40
41
  * @param handler Function implementing the tool
41
- * @param authRequirements Authentication requirements (optional)
42
+ * @param authRequirements Authentication requirements (mandatory - OptiID enforced)
42
43
  */
43
- constructor(name: string, description: string, parameters: Parameter[], endpoint: string, handler: (functionContext: any, params: unknown, authData?: TAuthData) => Promise<unknown>, authRequirements?: AuthRequirement[] | undefined);
44
+ constructor(name: string, description: string, parameters: Parameter[], endpoint: string, handler: (functionContext: ToolFunction, params: unknown, authData?: TAuthData) => Promise<unknown>, authRequirements?: AuthRequirement[]);
44
45
  /**
45
46
  * Convert to JSON for the discovery endpoint
46
47
  */
@@ -50,11 +51,11 @@ export declare class ToolsService {
50
51
  private functions;
51
52
  private interactions;
52
53
  /**
53
- * Extract Bearer token from Authorization header
54
- * @param headers Request headers (Map-like object or Headers object with get method)
55
- * @returns Bearer token string or undefined
54
+ * Enforce OptiID authentication for tools by ensuring OptiID auth requirement is present
55
+ * @param authRequirements Original authentication requirements
56
+ * @returns Enforced authentication requirements with OptiID
56
57
  */
57
- extractBearerToken(headers: App.Headers): string | undefined;
58
+ private enforceOptiIdAuth;
58
59
  /**
59
60
  * Register a tool function with generic auth data
60
61
  * @param name Tool name
@@ -64,15 +65,15 @@ export declare class ToolsService {
64
65
  * @param endpoint API endpoint for the tool
65
66
  * @param authRequirements Authentication requirements (optional)
66
67
  */
67
- registerTool<TAuthData>(name: string, description: string, handler: (functionContext: any, params: unknown, authData?: TAuthData) => Promise<unknown>, parameters: Parameter[], endpoint: string, authRequirements?: AuthRequirement[]): void;
68
+ registerTool<TAuthData>(name: string, description: string, handler: (functionContext: ToolFunction, params: unknown, authData?: TAuthData) => Promise<unknown>, parameters: Parameter[], endpoint: string, authRequirements?: AuthRequirement[]): void;
68
69
  /**
69
70
  * Register a tool interaction with generic auth data
70
71
  * @param name Tool name
71
72
  * @param handler Function implementing the tool
72
73
  * @param endpoint API endpoint for the tool
73
74
  */
74
- registerInteraction<TAuthData>(name: string, handler: (functionContext: any, data: unknown, authData?: TAuthData) => Promise<InteractionResult>, endpoint: string): void;
75
- processRequest(req: App.Request, functionContext?: any): Promise<App.Response>;
75
+ registerInteraction<TAuthData>(name: string, handler: (functionContext: ToolFunction, data: unknown, authData?: TAuthData) => Promise<InteractionResult>, endpoint: string): void;
76
+ processRequest(req: App.Request, functionContext: ToolFunction): Promise<App.Response>;
76
77
  }
77
78
  export declare const toolsService: ToolsService;
78
79
  //# sourceMappingURL=Service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Service.d.ts","sourceRoot":"","sources":["../../src/service/Service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAKzC;;GAEG;AACH,qBAAa,iBAAiB;IAEnB,OAAO,EAAE,MAAM;IACf,IAAI,CAAC,EAAE,MAAM;gBADb,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,YAAA;CAEvB;AAED;;GAEG;AACH,qBAAa,WAAW,CAAC,SAAS;IAEvB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,iBAAiB,CAAC;gBAFlG,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,iBAAiB,CAAC;CAE5G;AAED;;GAEG;AACH,qBAAa,IAAI,CAAC,SAAS;IAgBhB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,SAAS,EAAE;IACvB,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC;IAC1F,gBAAgB,CAAC,EAAE,eAAe,EAAE;IApB7C;;OAEG;IACI,UAAU,EAAE,MAAM,CAAU;IAEnC;;;;;;;;OAQG;gBAEM,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,SAAS,EAAE,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,EAC1F,gBAAgB,CAAC,EAAE,eAAe,EAAE,YAAA;IAG7C;;OAEG;IACI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAezC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,YAAY,CAA4C;IAEhE;;;;OAIG;IACI,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS;IAUnE;;;;;;;;OAQG;IACI,YAAY,CAAC,SAAS,EAC3B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,EAC1F,UAAU,EAAE,SAAS,EAAE,EACvB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,eAAe,EAAE,GACnC,IAAI;IAKP;;;;;OAKG;IACI,mBAAmB,CAAC,SAAS,EAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,iBAAiB,CAAC,EAClG,QAAQ,EAAE,MAAM,GACf,IAAI;IAKM,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;CAiD5F;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
1
+ {"version":3,"file":"Service.d.ts","sourceRoot":"","sources":["../../src/service/Service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AASxD;;GAEG;AACH,qBAAa,iBAAiB;IAEnB,OAAO,EAAE,MAAM;IACf,IAAI,CAAC,EAAE,MAAM;gBADb,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,YAAA;CAEvB;AAED;;GAEG;AACH,qBAAa,WAAW,CAAC,SAAS;IAEvB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,iBAAiB,CAAC;gBAF3G,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,iBAAiB,CAAC;CAErH;AAED;;GAEG;AACH,qBAAa,IAAI,CAAC,SAAS;IAgBhB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,SAAS,EAAE;IACvB,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC;IACnG,gBAAgB,EAAE,eAAe,EAAE;IApB5C;;OAEG;IACI,UAAU,EAAE,MAAM,CAAU;IAEnC;;;;;;;;OAQG;gBAEM,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,SAAS,EAAE,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,EACnG,gBAAgB,GAAE,eAAe,EAA0B;IAGpE;;OAEG;IACI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAYzC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,YAAY,CAA4C;IAEhE;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;;;;;OAQG;IACI,YAAY,CAAC,SAAS,EAC3B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,EACnG,UAAU,EAAE,SAAS,EAAE,EACvB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,eAAe,EAAE,GACnC,IAAI;IAOP;;;;;OAKG;IACI,mBAAmB,CAAC,SAAS,EAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,iBAAiB,CAAC,EAC3G,QAAQ,EAAE,MAAM,GACf,IAAI;IAKM,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAChB,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;CAiDlF;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
@@ -34,8 +34,14 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.toolsService = exports.ToolsService = exports.Tool = exports.Interaction = exports.InteractionResult = void 0;
37
+ /* eslint-disable max-classes-per-file */
38
+ const Models_1 = require("../types/Models");
37
39
  const App = __importStar(require("@zaiusinc/app-sdk"));
38
40
  const app_sdk_1 = require("@zaiusinc/app-sdk");
41
+ /**
42
+ * Default OptiID authentication requirement that will be enforced for all tools
43
+ */
44
+ const DEFAULT_OPTIID_AUTH = new Models_1.AuthRequirement('OptiID', 'default', true);
39
45
  /**
40
46
  * Result type for interaction handlers
41
47
  */
@@ -83,9 +89,9 @@ class Tool {
83
89
  * @param parameters Function parameters
84
90
  * @param endpoint API endpoint
85
91
  * @param handler Function implementing the tool
86
- * @param authRequirements Authentication requirements (optional)
92
+ * @param authRequirements Authentication requirements (mandatory - OptiID enforced)
87
93
  */
88
- constructor(name, description, parameters, endpoint, handler, authRequirements) {
94
+ constructor(name, description, parameters, endpoint, handler, authRequirements = [DEFAULT_OPTIID_AUTH]) {
89
95
  this.name = name;
90
96
  this.description = description;
91
97
  this.parameters = parameters;
@@ -102,11 +108,9 @@ class Tool {
102
108
  description: this.description,
103
109
  parameters: this.parameters.map((p) => p.toJSON()),
104
110
  endpoint: this.endpoint,
105
- http_method: this.httpMethod
111
+ http_method: this.httpMethod,
112
+ auth_requirements: this.authRequirements.map((auth) => auth.toJSON())
106
113
  };
107
- if (this.authRequirements && this.authRequirements.length > 0) {
108
- result.auth_requirements = this.authRequirements.map((auth) => auth.toJSON());
109
- }
110
114
  return result;
111
115
  }
112
116
  }
@@ -115,17 +119,17 @@ class ToolsService {
115
119
  functions = new Map();
116
120
  interactions = new Map();
117
121
  /**
118
- * Extract Bearer token from Authorization header
119
- * @param headers Request headers (Map-like object or Headers object with get method)
120
- * @returns Bearer token string or undefined
122
+ * Enforce OptiID authentication for tools by ensuring OptiID auth requirement is present
123
+ * @param authRequirements Original authentication requirements
124
+ * @returns Enforced authentication requirements with OptiID
121
125
  */
122
- extractBearerToken(headers) {
123
- let bearerToken;
124
- const authHeader = headers ? headers.get('authorization') : undefined;
125
- if (authHeader && authHeader.startsWith('Bearer ')) {
126
- bearerToken = authHeader.substring(7).trim();
126
+ enforceOptiIdAuth(authRequirements) {
127
+ const hasOptiIdProvider = authRequirements
128
+ && authRequirements.some((auth) => auth.provider.toLowerCase() === 'optiid');
129
+ if (hasOptiIdProvider) {
130
+ return authRequirements;
127
131
  }
128
- return bearerToken;
132
+ return [...(authRequirements || []), DEFAULT_OPTIID_AUTH];
129
133
  }
130
134
  /**
131
135
  * Register a tool function with generic auth data
@@ -137,7 +141,9 @@ class ToolsService {
137
141
  * @param authRequirements Authentication requirements (optional)
138
142
  */
139
143
  registerTool(name, description, handler, parameters, endpoint, authRequirements) {
140
- const func = new Tool(name, description, parameters, endpoint, handler, authRequirements);
144
+ // Enforce OptiID authentication for all tools
145
+ const enforcedAuthRequirements = this.enforceOptiIdAuth(authRequirements);
146
+ const func = new Tool(name, description, parameters, endpoint, handler, enforcedAuthRequirements);
141
147
  this.functions.set(endpoint, func);
142
148
  }
143
149
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/service/Service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uDAAyC;AACzC,+CAA2C;AAI3C;;GAEG;AACH,MAAa,iBAAiB;IAEnB;IACA;IAFT,YACS,OAAe,EACf,IAAa;QADb,YAAO,GAAP,OAAO,CAAQ;QACf,SAAI,GAAJ,IAAI,CAAS;IACnB,CAAC;CACL;AALD,8CAKC;AAED;;GAEG;AACH,MAAa,WAAW;IAEb;IACA;IACA;IAHT,YACS,IAAY,EACZ,QAAgB,EAChB,OAAkG;QAFlG,SAAI,GAAJ,IAAI,CAAQ;QACZ,aAAQ,GAAR,QAAQ,CAAQ;QAChB,YAAO,GAAP,OAAO,CAA2F;IACxG,CAAC;CACL;AAND,kCAMC;AAED;;GAEG;AACH,MAAa,IAAI;IAgBN;IACA;IACA;IACA;IACA;IACA;IApBT;;OAEG;IACI,UAAU,GAAW,MAAM,CAAC;IAEnC;;;;;;;;OAQG;IACH,YACS,IAAY,EACZ,WAAmB,EACnB,UAAuB,EACvB,QAAgB,EAChB,OAA0F,EAC1F,gBAAoC;QALpC,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAQ;QACnB,eAAU,GAAV,UAAU,CAAa;QACvB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,YAAO,GAAP,OAAO,CAAmF;QAC1F,qBAAgB,GAAhB,gBAAgB,CAAoB;IAC1C,CAAC;IAEJ;;OAEG;IACI,MAAM;QACX,MAAM,MAAM,GAA4B;YACtC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAClD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC;QAEF,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA1CD,oBA0CC;AAED,MAAa,YAAY;IACf,SAAS,GAA2B,IAAI,GAAG,EAAE,CAAC;IAC9C,YAAY,GAAkC,IAAI,GAAG,EAAE,CAAC;IAEhE;;;;OAIG;IACI,kBAAkB,CAAC,OAAoB;QAC5C,IAAI,WAA+B,CAAC;QAEpC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACI,YAAY,CACjB,IAAY,EACZ,WAAmB,EACnB,OAA0F,EAC1F,UAAuB,EACvB,QAAgB,EAChB,gBAAoC;QAEpC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAY,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACrG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CACxB,IAAY,EACZ,OAAkG,EAClG,QAAgB;QAEhB,MAAM,IAAI,GAAG,IAAI,WAAW,CAAY,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,GAAgB,EAAE,eAAqB;QACjE,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC9B,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1G,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,IAAI,MAAM,CAAC;oBACX,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;wBAC5C,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC;oBACxB,CAAC;oBAED,mCAAmC;oBACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;oBAE9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACrE,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,gBAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;oBACvD,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,IAAI,MAAM,CAAC;oBACX,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACtC,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC7B,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC;oBACxB,CAAC;oBAED,mCAAmC;oBACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;oBAE9D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;oBAC5E,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACvC,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,gBAAM,CAAC,KAAK,CAAC,qBAAqB,WAAW,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC9D,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YAED,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACF;AAxGD,oCAwGC;AAEY,QAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/service/Service.ts"],"names":[],"mappings":"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"}
@@ -25,12 +25,20 @@ jest.mock('@zaiusinc/app-sdk', () => ({
25
25
  describe('ToolsService', () => {
26
26
  let mockTool;
27
27
  let mockInteraction;
28
+ let mockToolFunction;
28
29
  beforeEach(() => {
29
30
  // Clear registered functions and interactions before each test
30
31
  Service_1.toolsService.functions = new Map();
31
32
  Service_1.toolsService.interactions = new Map();
32
33
  // Reset all mocks
33
34
  jest.clearAllMocks();
35
+ // Create mock ToolFunction
36
+ mockToolFunction = {
37
+ ready: jest.fn().mockResolvedValue(true),
38
+ perform: jest.fn(),
39
+ validateBearerToken: jest.fn().mockReturnValue(true),
40
+ request: {}
41
+ };
34
42
  // Create mock tool handler
35
43
  const mockToolHandler = jest.fn().mockResolvedValue({ result: 'success' });
36
44
  // Create mock interaction handler
@@ -70,7 +78,7 @@ describe('ToolsService', () => {
70
78
  it('should return registered functions for discovery endpoint', async () => {
71
79
  Service_1.toolsService.registerTool(mockTool.name, mockTool.description, mockTool.handler, mockTool.parameters, mockTool.endpoint);
72
80
  const discoveryRequest = createMockRequest({ path: '/discovery' });
73
- const response = await Service_1.toolsService.processRequest(discoveryRequest);
81
+ const response = await Service_1.toolsService.processRequest(discoveryRequest, mockToolFunction);
74
82
  expect(response.status).toBe(200);
75
83
  expect(response).toHaveProperty('bodyJSON');
76
84
  expect(response.bodyAsU8Array).toBeDefined();
@@ -86,12 +94,13 @@ describe('ToolsService', () => {
86
94
  description: mockTool.description,
87
95
  parameters: mockTool.parameters.map((p) => p.toJSON()),
88
96
  endpoint: mockTool.endpoint,
89
- http_method: 'POST'
97
+ http_method: 'POST',
98
+ auth_requirements: [{ provider: 'OptiID', scope_bundle: 'default', required: true }]
90
99
  });
91
100
  });
92
101
  it('should return empty functions array when no tools are registered', async () => {
93
102
  const discoveryRequest = createMockRequest({ path: '/discovery' });
94
- const response = await Service_1.toolsService.processRequest(discoveryRequest);
103
+ const response = await Service_1.toolsService.processRequest(discoveryRequest, mockToolFunction);
95
104
  expect(response.status).toBe(200);
96
105
  expect(response.bodyAsU8Array).toBeDefined();
97
106
  // Test the actual response structure
@@ -107,7 +116,7 @@ describe('ToolsService', () => {
107
116
  const authRequirements = [new Models_1.AuthRequirement('oauth2', 'calendar', true)];
108
117
  Service_1.toolsService.registerTool('second_tool', 'Second test tool', jest.fn(), [], '/second-tool', authRequirements);
109
118
  const discoveryRequest = createMockRequest({ path: '/discovery' });
110
- const response = await Service_1.toolsService.processRequest(discoveryRequest);
119
+ const response = await Service_1.toolsService.processRequest(discoveryRequest, mockToolFunction);
111
120
  expect(response.status).toBe(200);
112
121
  // Test the actual response structure
113
122
  const responseData = response.bodyJSON;
@@ -122,7 +131,8 @@ describe('ToolsService', () => {
122
131
  description: mockTool.description,
123
132
  parameters: mockTool.parameters.map((p) => p.toJSON()),
124
133
  endpoint: mockTool.endpoint,
125
- http_method: 'POST'
134
+ http_method: 'POST',
135
+ auth_requirements: [{ provider: 'OptiID', scope_bundle: 'default', required: true }]
126
136
  });
127
137
  expect(secondFunction).toEqual({
128
138
  name: 'second_tool',
@@ -130,7 +140,10 @@ describe('ToolsService', () => {
130
140
  parameters: [],
131
141
  endpoint: '/second-tool',
132
142
  http_method: 'POST',
133
- auth_requirements: authRequirements.map((auth) => auth.toJSON())
143
+ auth_requirements: [
144
+ { provider: 'oauth2', scope_bundle: 'calendar', required: true },
145
+ { provider: 'OptiID', scope_bundle: 'default', required: true }
146
+ ]
134
147
  });
135
148
  });
136
149
  });
@@ -140,16 +153,20 @@ describe('ToolsService', () => {
140
153
  });
141
154
  it('should execute tool successfully with parameters', async () => {
142
155
  const mockRequest = createMockRequest();
143
- const response = await Service_1.toolsService.processRequest(mockRequest);
156
+ const response = await Service_1.toolsService.processRequest(mockRequest, mockToolFunction);
144
157
  expect(response.status).toBe(200);
145
- expect(mockTool.handler).toHaveBeenCalledWith(undefined, // functionContext
158
+ expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunction, // functionContext
146
159
  { param1: 'test-value' }, undefined);
147
160
  });
148
161
  it('should execute tool with existing ToolFunction instance context', async () => {
149
162
  // Create a mock ToolFunction instance
150
163
  const mockToolFunctionInstance = {
151
164
  someProperty: 'test-value',
152
- someMethod: jest.fn()
165
+ someMethod: jest.fn(),
166
+ ready: jest.fn().mockResolvedValue(true),
167
+ perform: jest.fn(),
168
+ validateBearerToken: jest.fn().mockReturnValue(true),
169
+ request: {}
153
170
  };
154
171
  const mockRequest = createMockRequest();
155
172
  const response = await Service_1.toolsService.processRequest(mockRequest, mockToolFunctionInstance);
@@ -211,9 +228,9 @@ describe('ToolsService', () => {
211
228
  auth: authData
212
229
  })
213
230
  });
214
- const response = await Service_1.toolsService.processRequest(requestWithAuth);
231
+ const response = await Service_1.toolsService.processRequest(requestWithAuth, mockToolFunction);
215
232
  expect(response.status).toBe(200);
216
- expect(mockTool.handler).toHaveBeenCalledWith(undefined, // functionContext
233
+ expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunction, // functionContext
217
234
  { param1: 'test-value' }, authData);
218
235
  });
219
236
  it('should handle request body without parameters wrapper', async () => {
@@ -221,23 +238,23 @@ describe('ToolsService', () => {
221
238
  bodyJSON: { param1: 'test-value' },
222
239
  body: JSON.stringify({ param1: 'test-value' })
223
240
  });
224
- const response = await Service_1.toolsService.processRequest(requestWithoutWrapper);
241
+ const response = await Service_1.toolsService.processRequest(requestWithoutWrapper, mockToolFunction);
225
242
  expect(response.status).toBe(200);
226
- expect(mockTool.handler).toHaveBeenCalledWith(undefined, // functionContext
243
+ expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunction, // functionContext
227
244
  { param1: 'test-value' }, undefined);
228
245
  });
229
246
  it('should return 500 error when tool handler throws an error', async () => {
230
247
  const errorMessage = 'Tool execution failed';
231
248
  jest.mocked(mockTool.handler).mockRejectedValueOnce(new Error(errorMessage));
232
249
  const mockRequest = createMockRequest();
233
- const response = await Service_1.toolsService.processRequest(mockRequest);
250
+ const response = await Service_1.toolsService.processRequest(mockRequest, mockToolFunction);
234
251
  expect(response.status).toBe(500);
235
252
  expect(app_sdk_1.logger.error).toHaveBeenCalledWith(`Error in function ${mockTool.name}:`, expect.any(Error));
236
253
  });
237
254
  it('should return 500 error with generic message when error has no message', async () => {
238
255
  jest.mocked(mockTool.handler).mockRejectedValueOnce({});
239
256
  const mockRequest = createMockRequest();
240
- const response = await Service_1.toolsService.processRequest(mockRequest);
257
+ const response = await Service_1.toolsService.processRequest(mockRequest, mockToolFunction);
241
258
  expect(response.status).toBe(500);
242
259
  });
243
260
  });
@@ -251,9 +268,9 @@ describe('ToolsService', () => {
251
268
  bodyJSON: { data: { param1: 'test-value' } },
252
269
  body: JSON.stringify({ data: { param1: 'test-value' } })
253
270
  });
254
- const response = await Service_1.toolsService.processRequest(interactionRequest);
271
+ const response = await Service_1.toolsService.processRequest(interactionRequest, mockToolFunction);
255
272
  expect(response.status).toBe(200);
256
- expect(mockInteraction.handler).toHaveBeenCalledWith(undefined, { param1: 'test-value' }, undefined);
273
+ expect(mockInteraction.handler).toHaveBeenCalledWith(mockToolFunction, { param1: 'test-value' }, undefined);
257
274
  });
258
275
  it('should handle interaction request body without data wrapper', async () => {
259
276
  const interactionRequest = createMockRequest({
@@ -261,9 +278,9 @@ describe('ToolsService', () => {
261
278
  bodyJSON: { param1: 'test-value' },
262
279
  body: JSON.stringify({ param1: 'test-value' })
263
280
  });
264
- const response = await Service_1.toolsService.processRequest(interactionRequest);
281
+ const response = await Service_1.toolsService.processRequest(interactionRequest, mockToolFunction);
265
282
  expect(response.status).toBe(200);
266
- expect(mockInteraction.handler).toHaveBeenCalledWith(undefined, { param1: 'test-value' }, undefined);
283
+ expect(mockInteraction.handler).toHaveBeenCalledWith(mockToolFunction, { param1: 'test-value' }, undefined);
267
284
  });
268
285
  it('should execute interaction with OptiID auth data when provided', async () => {
269
286
  const authData = new Models_1.OptiIdAuthData('optiId', new Models_1.OptiIdAuthDataCredentials('customer123', 'instance123', 'token123', 'sku123'));
@@ -278,9 +295,9 @@ describe('ToolsService', () => {
278
295
  auth: authData
279
296
  })
280
297
  });
281
- const response = await Service_1.toolsService.processRequest(interactionRequest);
298
+ const response = await Service_1.toolsService.processRequest(interactionRequest, mockToolFunction);
282
299
  expect(response.status).toBe(200);
283
- expect(mockInteraction.handler).toHaveBeenCalledWith(undefined, // functionContext
300
+ expect(mockInteraction.handler).toHaveBeenCalledWith(mockToolFunction, // functionContext
284
301
  { param1: 'test-value' }, authData);
285
302
  });
286
303
  it('should handle interaction request without data wrapper but with auth data', async () => {
@@ -296,9 +313,9 @@ describe('ToolsService', () => {
296
313
  auth: authData
297
314
  })
298
315
  });
299
- const response = await Service_1.toolsService.processRequest(interactionRequest);
316
+ const response = await Service_1.toolsService.processRequest(interactionRequest, mockToolFunction);
300
317
  expect(response.status).toBe(200);
301
- expect(mockInteraction.handler).toHaveBeenCalledWith(undefined, // functionContext
318
+ expect(mockInteraction.handler).toHaveBeenCalledWith(mockToolFunction, // functionContext
302
319
  {
303
320
  param1: 'test-value',
304
321
  auth: authData
@@ -311,7 +328,7 @@ describe('ToolsService', () => {
311
328
  path: '/test-interaction',
312
329
  bodyJSON: { data: { param1: 'test-value' } }
313
330
  });
314
- const response = await Service_1.toolsService.processRequest(interactionRequest);
331
+ const response = await Service_1.toolsService.processRequest(interactionRequest, mockToolFunction);
315
332
  expect(response.status).toBe(500);
316
333
  expect(app_sdk_1.logger.error).toHaveBeenCalledWith(`Error in function ${mockInteraction.name}:`, expect.any(Error));
317
334
  });
@@ -319,7 +336,7 @@ describe('ToolsService', () => {
319
336
  describe('error cases', () => {
320
337
  it('should return 404 when no matching tool or interaction is found', async () => {
321
338
  const unknownRequest = createMockRequest({ path: '/unknown-endpoint' });
322
- const response = await Service_1.toolsService.processRequest(unknownRequest);
339
+ const response = await Service_1.toolsService.processRequest(unknownRequest, mockToolFunction);
323
340
  expect(response.status).toBe(404);
324
341
  });
325
342
  it('should handle tool with OptiID auth requirements', async () => {
@@ -330,7 +347,7 @@ describe('ToolsService', () => {
330
347
  const authRequest = createMockRequest({
331
348
  path: '/optid-auth-tool'
332
349
  });
333
- const response = await Service_1.toolsService.processRequest(authRequest);
350
+ const response = await Service_1.toolsService.processRequest(authRequest, mockToolFunction);
334
351
  expect(response.status).toBe(200);
335
352
  });
336
353
  });
@@ -341,9 +358,9 @@ describe('ToolsService', () => {
341
358
  bodyJSON: null,
342
359
  body: null
343
360
  });
344
- const response = await Service_1.toolsService.processRequest(requestWithNullBody);
361
+ const response = await Service_1.toolsService.processRequest(requestWithNullBody, mockToolFunction);
345
362
  expect(response.status).toBe(200);
346
- expect(mockTool.handler).toHaveBeenCalledWith(undefined, null, undefined);
363
+ expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunction, null, undefined);
347
364
  });
348
365
  it('should handle request with undefined bodyJSON', async () => {
349
366
  Service_1.toolsService.registerTool(mockTool.name, mockTool.description, mockTool.handler, mockTool.parameters, mockTool.endpoint);
@@ -351,9 +368,9 @@ describe('ToolsService', () => {
351
368
  bodyJSON: undefined,
352
369
  body: undefined
353
370
  });
354
- const response = await Service_1.toolsService.processRequest(requestWithUndefinedBody);
371
+ const response = await Service_1.toolsService.processRequest(requestWithUndefinedBody, mockToolFunction);
355
372
  expect(response.status).toBe(200);
356
- expect(mockTool.handler).toHaveBeenCalledWith(undefined, undefined, undefined);
373
+ expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunction, undefined, undefined);
357
374
  });
358
375
  it('should extract auth data from bodyJSON when body exists', async () => {
359
376
  Service_1.toolsService.registerTool(mockTool.name, mockTool.description, mockTool.handler, mockTool.parameters, mockTool.endpoint);
@@ -368,9 +385,9 @@ describe('ToolsService', () => {
368
385
  auth: authData
369
386
  })
370
387
  });
371
- const response = await Service_1.toolsService.processRequest(requestWithAuth);
388
+ const response = await Service_1.toolsService.processRequest(requestWithAuth, mockToolFunction);
372
389
  expect(response.status).toBe(200);
373
- expect(mockTool.handler).toHaveBeenCalledWith(undefined, // functionContext
390
+ expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunction, // functionContext
374
391
  { param1: 'test-value' }, authData);
375
392
  });
376
393
  it('should handle missing auth data gracefully', async () => {
@@ -384,9 +401,9 @@ describe('ToolsService', () => {
384
401
  parameters: { param1: 'test-value' }
385
402
  })
386
403
  });
387
- const response = await Service_1.toolsService.processRequest(requestWithoutAuth);
404
+ const response = await Service_1.toolsService.processRequest(requestWithoutAuth, mockToolFunction);
388
405
  expect(response.status).toBe(200);
389
- expect(mockTool.handler).toHaveBeenCalledWith(undefined, // functionContext
406
+ expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunction, // functionContext
390
407
  { param1: 'test-value' }, undefined);
391
408
  });
392
409
  it('should handle auth extraction when body is falsy but bodyJSON has auth', async () => {
@@ -399,9 +416,9 @@ describe('ToolsService', () => {
399
416
  },
400
417
  body: ''
401
418
  });
402
- const response = await Service_1.toolsService.processRequest(requestWithAuthButNoBody);
419
+ const response = await Service_1.toolsService.processRequest(requestWithAuthButNoBody, mockToolFunction);
403
420
  expect(response.status).toBe(200);
404
- expect(mockTool.handler).toHaveBeenCalledWith(undefined, // functionContext
421
+ expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunction, // functionContext
405
422
  { param1: 'test-value' }, authData);
406
423
  });
407
424
  });