@optimizely-opal/opal-tool-ocp-sdk 1.1.0-beta.1 → 1.1.0-beta.2

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.
@@ -114,11 +114,20 @@ describe('ToolsService', () => {
114
114
  });
115
115
  return map;
116
116
  };
117
+ const defaultAuth = {
118
+ provider: 'OptiID',
119
+ credentials: {
120
+ customer_id: 'test-customer',
121
+ instance_id: 'test-instance',
122
+ access_token: 'test-token',
123
+ product_sku: 'test-sku'
124
+ }
125
+ };
117
126
  const baseRequest = {
118
127
  path: '/test-tool',
119
128
  method: 'POST',
120
- bodyJSON: { parameters: { param1: 'test-value' } },
121
- body: JSON.stringify({ parameters: { param1: 'test-value' } }),
129
+ bodyJSON: { parameters: { param1: 'test-value' }, auth: defaultAuth },
130
+ body: JSON.stringify({ parameters: { param1: 'test-value' }, auth: defaultAuth }),
122
131
  bodyData: Buffer.from(''),
123
132
  headers: createHeadersMap(),
124
133
  params: {},
@@ -212,7 +221,7 @@ describe('ToolsService', () => {
212
221
  const response = await Service_1.toolsService.processRequest(mockRequest, mockToolFunction);
213
222
  expect(response.status).toBe(200);
214
223
  expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunction, // functionContext
215
- { param1: 'test-value' }, undefined);
224
+ { param1: 'test-value' }, expect.objectContaining({ provider: 'OptiID' }));
216
225
  });
217
226
  it('should execute tool with existing ToolFunction instance context', async () => {
218
227
  // Create a mock ToolFunction instance
@@ -228,7 +237,7 @@ describe('ToolsService', () => {
228
237
  const response = await Service_1.toolsService.processRequest(mockRequest, mockToolFunctionInstance);
229
238
  expect(response.status).toBe(200);
230
239
  expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunctionInstance, // functionContext - existing instance
231
- { param1: 'test-value' }, undefined);
240
+ { param1: 'test-value' }, expect.objectContaining({ provider: 'OptiID' }));
232
241
  });
233
242
  it('should allow handler in ToolFunction subclass to access request object', async () => {
234
243
  // Create a mock class that extends ToolFunction
@@ -258,9 +267,18 @@ describe('ToolsService', () => {
258
267
  });
259
268
  // Register a tool with our custom handler
260
269
  Service_1.toolsService.registerTool('test-toolfunction-access', 'Test handler access to ToolFunction instance', handlerThatAccessesRequest, [], '/test-toolfunction-access');
270
+ const authData = {
271
+ provider: 'OptiID',
272
+ credentials: {
273
+ customer_id: 'test-customer',
274
+ instance_id: 'test-instance',
275
+ access_token: 'test-token',
276
+ product_sku: 'test-sku'
277
+ }
278
+ };
261
279
  const testRequest = createMockRequest({
262
280
  path: '/test-toolfunction-access',
263
- bodyJSON: { action: 'test' }
281
+ bodyJSON: { action: 'test', auth: authData }
264
282
  });
265
283
  const response = await Service_1.toolsService.processRequest(testRequest, mockToolFunctionInstance);
266
284
  expect(response.status).toBe(200);
@@ -268,12 +286,20 @@ describe('ToolsService', () => {
268
286
  expect(response.data.success).toBe(true);
269
287
  expect(response.data.requestPath).toBe('/test-path');
270
288
  expect(response.data.testMethodResult).toBe('path: /test-path');
271
- expect(response.data.receivedParams).toEqual({ action: 'test' });
289
+ expect(response.data.receivedParams).toEqual({ action: 'test', auth: authData });
272
290
  expect(handlerThatAccessesRequest).toHaveBeenCalledWith(mockToolFunctionInstance, // functionContext is the ToolFunction instance
273
- { action: 'test' }, undefined);
291
+ { action: 'test', auth: authData }, authData);
274
292
  });
275
293
  it('should execute tool with OptiID auth data when provided', async () => {
276
- const authData = new Models_1.OptiIdAuthData('optiId', new Models_1.OptiIdAuthDataCredentials('customer123', 'instance123', 'token123', 'sku123'));
294
+ const authData = {
295
+ provider: 'OptiID',
296
+ credentials: {
297
+ customer_id: 'customer123',
298
+ instance_id: 'instance123',
299
+ access_token: 'token123',
300
+ product_sku: 'sku123'
301
+ }
302
+ };
277
303
  const requestWithAuth = createMockRequest({
278
304
  bodyJSON: {
279
305
  parameters: { param1: 'test-value' },
@@ -290,14 +316,23 @@ describe('ToolsService', () => {
290
316
  { param1: 'test-value' }, authData);
291
317
  });
292
318
  it('should handle request body without parameters wrapper', async () => {
319
+ const authData = {
320
+ provider: 'OptiID',
321
+ credentials: {
322
+ customer_id: 'test-customer',
323
+ instance_id: 'test-instance',
324
+ access_token: 'test-token',
325
+ product_sku: 'test-sku'
326
+ }
327
+ };
293
328
  const requestWithoutWrapper = createMockRequest({
294
- bodyJSON: { param1: 'test-value' },
295
- body: JSON.stringify({ param1: 'test-value' })
329
+ bodyJSON: { param1: 'test-value', auth: authData },
330
+ body: JSON.stringify({ param1: 'test-value', auth: authData })
296
331
  });
297
332
  const response = await Service_1.toolsService.processRequest(requestWithoutWrapper, mockToolFunction);
298
333
  expect(response.status).toBe(200);
299
334
  expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunction, // functionContext
300
- { param1: 'test-value' }, undefined);
335
+ { param1: 'test-value', auth: authData }, authData);
301
336
  });
302
337
  it('should throw error when tool handler throws a regular error', async () => {
303
338
  const errorMessage = 'Tool execution failed';
@@ -341,27 +376,54 @@ describe('ToolsService', () => {
341
376
  Service_1.toolsService.registerInteraction(mockInteraction.name, mockInteraction.handler, mockInteraction.endpoint);
342
377
  });
343
378
  it('should execute interaction successfully with data', async () => {
379
+ const authData = {
380
+ provider: 'OptiID',
381
+ credentials: {
382
+ customer_id: 'test-customer',
383
+ instance_id: 'test-instance',
384
+ access_token: 'test-token',
385
+ product_sku: 'test-sku'
386
+ }
387
+ };
344
388
  const interactionRequest = createMockRequest({
345
389
  path: '/test-interaction',
346
- bodyJSON: { data: { param1: 'test-value' } },
347
- body: JSON.stringify({ data: { param1: 'test-value' } })
390
+ bodyJSON: { data: { param1: 'test-value' }, auth: authData },
391
+ body: JSON.stringify({ data: { param1: 'test-value' }, auth: authData })
348
392
  });
349
393
  const response = await Service_1.toolsService.processRequest(interactionRequest, mockToolFunction);
350
394
  expect(response.status).toBe(200);
351
- expect(mockInteraction.handler).toHaveBeenCalledWith(mockToolFunction, { param1: 'test-value' }, undefined);
395
+ expect(mockInteraction.handler).toHaveBeenCalledWith(mockToolFunction, { param1: 'test-value' }, authData);
352
396
  });
353
397
  it('should handle interaction request body without data wrapper', async () => {
398
+ const authData = {
399
+ provider: 'OptiID',
400
+ credentials: {
401
+ customer_id: 'test-customer',
402
+ instance_id: 'test-instance',
403
+ access_token: 'test-token',
404
+ product_sku: 'test-sku'
405
+ }
406
+ };
354
407
  const interactionRequest = createMockRequest({
355
408
  path: '/test-interaction',
356
- bodyJSON: { param1: 'test-value' },
357
- body: JSON.stringify({ param1: 'test-value' })
409
+ bodyJSON: { param1: 'test-value', auth: authData },
410
+ body: JSON.stringify({ param1: 'test-value', auth: authData })
358
411
  });
359
412
  const response = await Service_1.toolsService.processRequest(interactionRequest, mockToolFunction);
360
413
  expect(response.status).toBe(200);
361
- expect(mockInteraction.handler).toHaveBeenCalledWith(mockToolFunction, { param1: 'test-value' }, undefined);
414
+ expect(mockInteraction.handler)
415
+ .toHaveBeenCalledWith(mockToolFunction, { param1: 'test-value', auth: authData }, authData);
362
416
  });
363
417
  it('should execute interaction with OptiID auth data when provided', async () => {
364
- const authData = new Models_1.OptiIdAuthData('optiId', new Models_1.OptiIdAuthDataCredentials('customer123', 'instance123', 'token123', 'sku123'));
418
+ const authData = {
419
+ provider: 'OptiID',
420
+ credentials: {
421
+ customer_id: 'customer123',
422
+ instance_id: 'instance123',
423
+ access_token: 'token123',
424
+ product_sku: 'sku123'
425
+ }
426
+ };
365
427
  const interactionRequest = createMockRequest({
366
428
  path: '/test-interaction',
367
429
  bodyJSON: {
@@ -379,7 +441,15 @@ describe('ToolsService', () => {
379
441
  { param1: 'test-value' }, authData);
380
442
  });
381
443
  it('should handle interaction request without data wrapper but with auth data', async () => {
382
- const authData = new Models_1.OptiIdAuthData('optiId', new Models_1.OptiIdAuthDataCredentials('customer123', 'instance123', 'token123', 'sku123'));
444
+ const authData = {
445
+ provider: 'OptiID',
446
+ credentials: {
447
+ customer_id: 'customer123',
448
+ instance_id: 'instance123',
449
+ access_token: 'token123',
450
+ product_sku: 'sku123'
451
+ }
452
+ };
383
453
  const interactionRequest = createMockRequest({
384
454
  path: '/test-interaction',
385
455
  bodyJSON: {
@@ -400,21 +470,39 @@ describe('ToolsService', () => {
400
470
  }, authData);
401
471
  });
402
472
  it('should throw error when interaction handler throws a regular error', async () => {
473
+ const authData = {
474
+ provider: 'OptiID',
475
+ credentials: {
476
+ customer_id: 'test-customer',
477
+ instance_id: 'test-instance',
478
+ access_token: 'test-token',
479
+ product_sku: 'test-sku'
480
+ }
481
+ };
403
482
  const errorMessage = 'Interaction execution failed';
404
483
  jest.mocked(mockInteraction.handler).mockRejectedValueOnce(new Error(errorMessage));
405
484
  const interactionRequest = createMockRequest({
406
485
  path: '/test-interaction',
407
- bodyJSON: { data: { param1: 'test-value' } }
486
+ bodyJSON: { data: { param1: 'test-value' }, auth: authData }
408
487
  });
409
488
  await expect(Service_1.toolsService.processRequest(interactionRequest, mockToolFunction))
410
489
  .rejects.toThrow(errorMessage);
411
490
  });
412
491
  it('should throw ToolError when interaction handler throws ToolError', async () => {
492
+ const authData = {
493
+ provider: 'OptiID',
494
+ credentials: {
495
+ customer_id: 'test-customer',
496
+ instance_id: 'test-instance',
497
+ access_token: 'test-token',
498
+ product_sku: 'test-sku'
499
+ }
500
+ };
413
501
  const toolError = new ToolError_1.ToolError('Webhook validation failed', 400, 'Invalid signature');
414
502
  jest.mocked(mockInteraction.handler).mockRejectedValueOnce(toolError);
415
503
  const interactionRequest = createMockRequest({
416
504
  path: '/test-interaction',
417
- bodyJSON: { data: { param1: 'test-value' } }
505
+ bodyJSON: { data: { param1: 'test-value' }, auth: authData }
418
506
  });
419
507
  await expect(Service_1.toolsService.processRequest(interactionRequest, mockToolFunction))
420
508
  .rejects.toThrow(toolError);
@@ -448,7 +536,7 @@ describe('ToolsService', () => {
448
536
  });
449
537
  });
450
538
  describe('edge cases', () => {
451
- it('should handle request with null bodyJSON', async () => {
539
+ it('should throw 403 when request has null bodyJSON (no auth data)', async () => {
452
540
  // Create a tool without required parameters
453
541
  const toolWithoutRequiredParams = {
454
542
  name: 'no_required_params_tool',
@@ -463,11 +551,17 @@ describe('ToolsService', () => {
463
551
  bodyJSON: null,
464
552
  body: null
465
553
  });
466
- const response = await Service_1.toolsService.processRequest(requestWithNullBody, mockToolFunction);
467
- expect(response.status).toBe(200);
468
- expect(toolWithoutRequiredParams.handler).toHaveBeenCalledWith(mockToolFunction, null, undefined);
554
+ await expect(Service_1.toolsService.processRequest(requestWithNullBody, mockToolFunction))
555
+ .rejects.toThrow(ToolError_1.ToolError);
556
+ try {
557
+ await Service_1.toolsService.processRequest(requestWithNullBody, mockToolFunction);
558
+ }
559
+ catch (error) {
560
+ expect(error.status).toBe(403);
561
+ expect(error.message).toContain('Authentication data is required');
562
+ }
469
563
  });
470
- it('should handle request with undefined bodyJSON', async () => {
564
+ it('should throw 403 when request has undefined bodyJSON (no auth data)', async () => {
471
565
  // Create a tool without required parameters
472
566
  const toolWithoutRequiredParams = {
473
567
  name: 'no_required_params_tool_2',
@@ -482,13 +576,27 @@ describe('ToolsService', () => {
482
576
  bodyJSON: undefined,
483
577
  body: undefined
484
578
  });
485
- const response = await Service_1.toolsService.processRequest(requestWithUndefinedBody, mockToolFunction);
486
- expect(response.status).toBe(200);
487
- expect(toolWithoutRequiredParams.handler).toHaveBeenCalledWith(mockToolFunction, undefined, undefined);
579
+ await expect(Service_1.toolsService.processRequest(requestWithUndefinedBody, mockToolFunction))
580
+ .rejects.toThrow(ToolError_1.ToolError);
581
+ try {
582
+ await Service_1.toolsService.processRequest(requestWithUndefinedBody, mockToolFunction);
583
+ }
584
+ catch (error) {
585
+ expect(error.status).toBe(403);
586
+ expect(error.message).toContain('Authentication data is required');
587
+ }
488
588
  });
489
589
  it('should extract auth data from bodyJSON when body exists', async () => {
490
590
  Service_1.toolsService.registerTool(mockTool.name, mockTool.description, mockTool.handler, mockTool.parameters, mockTool.endpoint);
491
- const authData = new Models_1.OptiIdAuthData('optiId', new Models_1.OptiIdAuthDataCredentials('customer123', 'instance123', 'token123', 'sku123'));
591
+ const authData = {
592
+ provider: 'OptiID',
593
+ credentials: {
594
+ customer_id: 'customer123',
595
+ instance_id: 'instance123',
596
+ access_token: 'token123',
597
+ product_sku: 'sku123'
598
+ }
599
+ };
492
600
  const requestWithAuth = createMockRequest({
493
601
  bodyJSON: {
494
602
  parameters: { param1: 'test-value' },
@@ -504,7 +612,7 @@ describe('ToolsService', () => {
504
612
  expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunction, // functionContext
505
613
  { param1: 'test-value' }, authData);
506
614
  });
507
- it('should handle missing auth data gracefully', async () => {
615
+ it('should throw 403 when auth data is missing for tool with auth requirements', async () => {
508
616
  Service_1.toolsService.registerTool(mockTool.name, mockTool.description, mockTool.handler, mockTool.parameters, mockTool.endpoint);
509
617
  const requestWithoutAuth = createMockRequest({
510
618
  bodyJSON: {
@@ -515,14 +623,27 @@ describe('ToolsService', () => {
515
623
  parameters: { param1: 'test-value' }
516
624
  })
517
625
  });
518
- const response = await Service_1.toolsService.processRequest(requestWithoutAuth, mockToolFunction);
519
- expect(response.status).toBe(200);
520
- expect(mockTool.handler).toHaveBeenCalledWith(mockToolFunction, // functionContext
521
- { param1: 'test-value' }, undefined);
626
+ await expect(Service_1.toolsService.processRequest(requestWithoutAuth, mockToolFunction))
627
+ .rejects.toThrow(ToolError_1.ToolError);
628
+ try {
629
+ await Service_1.toolsService.processRequest(requestWithoutAuth, mockToolFunction);
630
+ }
631
+ catch (error) {
632
+ expect(error.status).toBe(403);
633
+ expect(error.message).toContain('Authentication data is required');
634
+ }
522
635
  });
523
636
  it('should handle auth extraction when body is falsy but bodyJSON has auth', async () => {
524
637
  Service_1.toolsService.registerTool(mockTool.name, mockTool.description, mockTool.handler, mockTool.parameters, mockTool.endpoint);
525
- const authData = new Models_1.OptiIdAuthData('optiId', new Models_1.OptiIdAuthDataCredentials('customer123', 'instance123', 'token123', 'sku123'));
638
+ const authData = {
639
+ provider: 'OptiID',
640
+ credentials: {
641
+ customer_id: 'customer123',
642
+ instance_id: 'instance123',
643
+ access_token: 'token123',
644
+ product_sku: 'sku123'
645
+ }
646
+ };
526
647
  const requestWithAuthButNoBody = createMockRequest({
527
648
  bodyJSON: {
528
649
  parameters: { param1: 'test-value' },
@@ -596,18 +717,28 @@ describe('ToolsService', () => {
596
717
  endpoint: '/no-params-tool'
597
718
  };
598
719
  Service_1.toolsService.registerTool(toolWithoutParams.name, toolWithoutParams.description, toolWithoutParams.handler, toolWithoutParams.parameters, toolWithoutParams.endpoint);
720
+ const authData = {
721
+ provider: 'OptiID',
722
+ credentials: {
723
+ customer_id: 'test-customer',
724
+ instance_id: 'test-instance',
725
+ access_token: 'test-token',
726
+ product_sku: 'test-sku'
727
+ }
728
+ };
599
729
  // Send request with any data (should be ignored)
600
730
  const request = createMockRequest({
601
731
  path: '/no-params-tool',
602
732
  bodyJSON: {
603
733
  parameters: {
604
734
  unexpected: 'value'
605
- }
735
+ },
736
+ auth: authData
606
737
  }
607
738
  });
608
739
  const response = await Service_1.toolsService.processRequest(request, mockToolFunction);
609
740
  expect(response.status).toBe(200);
610
- expect(toolWithoutParams.handler).toHaveBeenCalledWith(mockToolFunction, { unexpected: 'value' }, undefined);
741
+ expect(toolWithoutParams.handler).toHaveBeenCalledWith(mockToolFunction, { unexpected: 'value' }, authData);
611
742
  });
612
743
  });
613
744
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Service.test.js","sourceRoot":"","sources":["../../src/service/Service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Service.test.js","sourceRoot":"","sources":["../../src/service/Service.test.ts"],"names":[],"mappings":"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"}
@@ -36,23 +36,34 @@ export declare class Parameter {
36
36
  };
37
37
  }
38
38
  /**
39
- * Credentials structure
39
+ * Credentials structure ofr OptiID provider
40
40
  */
41
- export declare class OptiIdAuthDataCredentials {
41
+ export interface OptiIdAuthDataCredentials {
42
42
  customer_id: string;
43
43
  instance_id: string;
44
44
  access_token: string;
45
45
  product_sku: string;
46
- constructor(customer_id: string, instance_id: string, access_token: string, product_sku: string);
47
46
  }
48
47
  /**
49
- * Auth data structure
48
+ * Credentials structure for OAuth providers
50
49
  */
51
- export declare class OptiIdAuthData {
52
- provider: string;
50
+ export interface OAuthProviderAuthDataCredentials {
51
+ access_token: string;
52
+ token_type: string;
53
+ expires_at: string;
54
+ }
55
+ export interface OptiIdAuthData {
56
+ provider: 'OptiID';
53
57
  credentials: OptiIdAuthDataCredentials;
54
- constructor(provider: string, credentials: OptiIdAuthDataCredentials);
55
58
  }
59
+ export interface OAuthAuthData {
60
+ provider: string;
61
+ credentials: OAuthProviderAuthDataCredentials;
62
+ }
63
+ /**
64
+ * Auth data structure
65
+ */
66
+ export type AuthData = OptiIdAuthData | OAuthAuthData;
56
67
  /**
57
68
  * Authentication requirements for an Opal tool
58
69
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Models.d.ts","sourceRoot":"","sources":["../../src/types/Models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Models.d.ts","sourceRoot":"","sources":["../../src/types/Models.ts"],"names":[],"mappings":"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"}