@optimizely-opal/opal-tool-ocp-sdk 0.0.0-beta.1 → 0.0.0-beta.10

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 (46) hide show
  1. package/README.md +106 -51
  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.d.ts +4 -2
  11. package/dist/decorator/Decorator.d.ts.map +1 -1
  12. package/dist/decorator/Decorator.js +26 -4
  13. package/dist/decorator/Decorator.js.map +1 -1
  14. package/dist/decorator/Decorator.test.js +110 -0
  15. package/dist/decorator/Decorator.test.js.map +1 -1
  16. package/dist/function/ToolFunction.d.ts +14 -1
  17. package/dist/function/ToolFunction.d.ts.map +1 -1
  18. package/dist/function/ToolFunction.js +59 -3
  19. package/dist/function/ToolFunction.js.map +1 -1
  20. package/dist/function/ToolFunction.test.js +229 -104
  21. package/dist/function/ToolFunction.test.js.map +1 -1
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/service/Service.d.ts +14 -13
  27. package/dist/service/Service.d.ts.map +1 -1
  28. package/dist/service/Service.js +25 -19
  29. package/dist/service/Service.js.map +1 -1
  30. package/dist/service/Service.test.js +122 -36
  31. package/dist/service/Service.test.js.map +1 -1
  32. package/dist/types/Models.d.ts +5 -5
  33. package/dist/types/Models.d.ts.map +1 -1
  34. package/dist/types/Models.js +9 -9
  35. package/dist/types/Models.js.map +1 -1
  36. package/package.json +10 -3
  37. package/src/auth/TokenVerifier.test.ts +152 -0
  38. package/src/auth/TokenVerifier.ts +145 -0
  39. package/src/decorator/Decorator.test.ts +126 -0
  40. package/src/decorator/Decorator.ts +32 -4
  41. package/src/function/ToolFunction.test.ts +259 -109
  42. package/src/function/ToolFunction.ts +66 -5
  43. package/src/index.ts +1 -0
  44. package/src/service/Service.test.ts +139 -28
  45. package/src/service/Service.ts +31 -24
  46. package/src/types/Models.ts +4 -4
@@ -414,5 +414,115 @@ describe('Decorators', () => {
414
414
  );
415
415
  });
416
416
  });
417
+ describe('handler instance context', () => {
418
+ it('should allow tool handler to call class methods', async () => {
419
+ class TestClass {
420
+ getValue() {
421
+ return 'class-method-called';
422
+ }
423
+ async instanceMethodTest(_params) {
424
+ return { result: this.getValue() };
425
+ }
426
+ }
427
+ __decorate([
428
+ (0, Decorator_1.tool)({
429
+ name: 'instanceMethodTest',
430
+ description: 'Test calling class methods',
431
+ parameters: [],
432
+ endpoint: '/instance-method-test'
433
+ })
434
+ ], TestClass.prototype, "instanceMethodTest", null);
435
+ // Get the registered handler
436
+ const mockedRegisterTool = jest.mocked(Service_1.toolsService.registerTool);
437
+ const registerToolCall = mockedRegisterTool.mock.calls.find((call) => call[0] === 'instanceMethodTest');
438
+ const registeredHandler = registerToolCall[2];
439
+ // Call the handler
440
+ const result = await registeredHandler(undefined, {}, {});
441
+ // Should be able to call class methods through 'this'
442
+ expect(result.result).toBe('class-method-called');
443
+ expect(TestClass).toBeDefined();
444
+ });
445
+ it('should allow interaction handler to call class methods', async () => {
446
+ class TestClass {
447
+ processData() {
448
+ return 'interaction-processed';
449
+ }
450
+ async instanceInteractionTest(_data) {
451
+ return { message: this.processData() };
452
+ }
453
+ }
454
+ __decorate([
455
+ (0, Decorator_1.interaction)({
456
+ name: 'instanceInteractionTest',
457
+ endpoint: '/instance-interaction-test'
458
+ })
459
+ ], TestClass.prototype, "instanceInteractionTest", null);
460
+ // Get the registered handler
461
+ const mockedRegisterInteraction = jest.mocked(Service_1.toolsService.registerInteraction);
462
+ const registerInteractionCall = mockedRegisterInteraction.mock.calls.find((call) => call[0] === 'instanceInteractionTest');
463
+ const registeredHandler = registerInteractionCall[1];
464
+ // Call the handler
465
+ const result = await registeredHandler(undefined, {});
466
+ // Should be able to call class methods through 'this'
467
+ expect(result.message).toBe('interaction-processed');
468
+ expect(TestClass).toBeDefined();
469
+ });
470
+ it('should handle invalid functionContext gracefully for tool', async () => {
471
+ class TestClass {
472
+ getValue() {
473
+ return 'class-method-called';
474
+ }
475
+ async invalidContextTest(_params) {
476
+ return { result: this.getValue() };
477
+ }
478
+ }
479
+ __decorate([
480
+ (0, Decorator_1.tool)({
481
+ name: 'invalidContextTest',
482
+ description: 'Test handling invalid context',
483
+ parameters: [],
484
+ endpoint: '/invalid-context-test'
485
+ })
486
+ ], TestClass.prototype, "invalidContextTest", null);
487
+ // Get the registered handler
488
+ const mockedRegisterTool = jest.mocked(Service_1.toolsService.registerTool);
489
+ const registerToolCall = mockedRegisterTool.mock.calls.find((call) => call[0] === 'invalidContextTest');
490
+ const registeredHandler = registerToolCall[2];
491
+ // Call the handler with an invalid functionContext (truthy but wrong type)
492
+ // This should trigger the instanceof check and create a new instance instead
493
+ const invalidContext = { notAnInstance: true, someOtherProperty: 'invalid' };
494
+ const result = await registeredHandler(invalidContext, {}, {});
495
+ // Should still work by creating a new instance
496
+ expect(result.result).toBe('class-method-called');
497
+ expect(TestClass).toBeDefined();
498
+ });
499
+ it('should handle invalid functionContext gracefully for interaction', async () => {
500
+ class TestClass {
501
+ processData() {
502
+ return 'interaction-processed';
503
+ }
504
+ async invalidContextInteractionTest(_data) {
505
+ return { message: this.processData() };
506
+ }
507
+ }
508
+ __decorate([
509
+ (0, Decorator_1.interaction)({
510
+ name: 'invalidContextInteractionTest',
511
+ endpoint: '/invalid-context-interaction-test'
512
+ })
513
+ ], TestClass.prototype, "invalidContextInteractionTest", null);
514
+ // Get the registered handler
515
+ const mockedRegisterInteraction = jest.mocked(Service_1.toolsService.registerInteraction);
516
+ const registerInteractionCall = mockedRegisterInteraction.mock.calls.find((call) => call[0] === 'invalidContextInteractionTest');
517
+ const registeredHandler = registerInteractionCall[1];
518
+ // Call the handler with an invalid functionContext (truthy but wrong type)
519
+ // This should trigger the instanceof check and create a new instance instead
520
+ const invalidContext = { notAnInstance: true, someOtherProperty: 'invalid' };
521
+ const result = await registeredHandler(invalidContext, {});
522
+ // Should still work by creating a new instance
523
+ expect(result.message).toBe('interaction-processed');
524
+ expect(TestClass).toBeDefined();
525
+ });
526
+ });
417
527
  });
418
528
  //# sourceMappingURL=Decorator.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Decorator.test.js","sourceRoot":"","sources":["../../src/decorator/Decorator.test.ts"],"names":[],"mappings":";;;;;;;;AAAA,2CAAuH;AACvH,gDAAkD;AAClD,4CAAgD;AAEhD,wBAAwB;AACxB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,YAAY,EAAE;QACZ,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;QACvB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;KAC/B;CACF,CAAC,CAAC,CAAC;AACJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,MAAM,GAAe;gBACzB,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,aAAa;gBAC1B,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,YAAY;aACvB,CAAC;YAEF,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,UAAU,CAAC,OAAY;oBAClC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBAC/B,CAAC;aACF;YAHc;gBADZ,IAAA,gBAAI,EAAC,MAAM,CAAC;uDAGZ;YAGH,MAAM,CAAC,sBAAY,CAAC,YAAY,CAAC,CAAC,oBAAoB,CACpD,UAAU,EACV,aAAa,EACb,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,EAAE,EACF,YAAY,EACZ,EAAE,CACH,CAAC;YAEF,sDAAsD;YACtD,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,eAAe,GAAoB;gBACvC,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,sBAAa,CAAC,MAAM;gBAC1B,WAAW,EAAE,oBAAoB;gBACjC,QAAQ,EAAE,IAAI;aACf,CAAC;YAEF,MAAM,MAAM,GAAe;gBACzB,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,wBAAwB;gBACrC,UAAU,EAAE,CAAC,eAAe,CAAC;gBAC7B,QAAQ,EAAE,mBAAmB;aAC9B,CAAC;YAEF,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,cAAc,CAAC,OAAY;oBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxC,CAAC;aACF;YAHc;gBADZ,IAAA,gBAAI,EAAC,MAAM,CAAC;2DAGZ;YAGH,MAAM,CAAC,sBAAY,CAAC,YAAY,CAAC,CAAC,oBAAoB,CACpD,gBAAgB,EAChB,wBAAwB,EACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,MAAM,CAAC,eAAe,CAAC;gBACrB,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,sBAAa,CAAC,MAAM;oBAC1B,WAAW,EAAE,oBAAoB;oBACjC,QAAQ,EAAE,IAAI;iBACf,CAAC;aACH,CAAC,EACF,mBAAmB,EACnB,EAAE,CACH,CAAC;YAEF,sDAAsD;YACtD,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,qBAAqB,GAA0B;gBACnD,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,UAAU;gBACvB,QAAQ,EAAE,IAAI;aACf,CAAC;YAEF,MAAM,MAAM,GAAe;gBACzB,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,+BAA+B;gBAC5C,UAAU,EAAE,EAAE;gBACd,gBAAgB,EAAE,CAAC,qBAAqB,CAAC;gBACzC,QAAQ,EAAE,iBAAiB;aAC5B,CAAC;YAEF,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,YAAY,CAAC,OAAY,EAAE,SAAc;oBACpD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;gBACrC,CAAC;aACF;YAHc;gBADZ,IAAA,gBAAI,EAAC,MAAM,CAAC;yDAGZ;YAGH,MAAM,CAAC,sBAAY,CAAC,YAAY,CAAC,CAAC,oBAAoB,CACpD,cAAc,EACd,+BAA+B,EAC/B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,EAAE,EACF,iBAAiB,EACjB,MAAM,CAAC,eAAe,CAAC;gBACrB,MAAM,CAAC,gBAAgB,CAAC;oBACtB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,UAAU;oBACvB,QAAQ,EAAE,IAAI;iBACf,CAAC;aACH,CAAC,CACH,CAAC;YAEF,sDAAsD;YACtD,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC/E,MAAM,gBAAgB,GAAsB;gBAC1C;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,sBAAa,CAAC,MAAM;oBAC1B,WAAW,EAAE,iBAAiB;oBAC9B,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,sBAAa,CAAC,OAAO;oBAC3B,WAAW,EAAE,kBAAkB;oBAC/B,QAAQ,EAAE,KAAK;iBAChB;aACF,CAAC;YAEF,MAAM,sBAAsB,GAA4B;gBACtD;oBACE,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,UAAU;oBACvB,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,OAAO;oBACpB,QAAQ,EAAE,KAAK;iBAChB;aACF,CAAC;YAEF,MAAM,MAAM,GAAe;gBACzB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,sCAAsC;gBACnD,UAAU,EAAE,gBAAgB;gBAC5B,gBAAgB,EAAE,sBAAsB;gBACxC,QAAQ,EAAE,eAAe;aAC1B,CAAC;YAEF,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,WAAW,CAAC,OAAY,EAAE,SAAc;oBACnD,OAAO,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;gBACnD,CAAC;aACF;YAHc;gBADZ,IAAA,gBAAI,EAAC,MAAM,CAAC;wDAGZ;YAGH,MAAM,CAAC,sBAAY,CAAC,YAAY,CAAC,CAAC,oBAAoB,CACpD,aAAa,EACb,sCAAsC,EACtC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,MAAM,CAAC,eAAe,CAAC;gBACrB,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,sBAAa,CAAC,MAAM;oBAC1B,WAAW,EAAE,iBAAiB;oBAC9B,QAAQ,EAAE,IAAI;iBACf,CAAC;gBACF,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,sBAAa,CAAC,OAAO;oBAC3B,WAAW,EAAE,kBAAkB;oBAC/B,QAAQ,EAAE,KAAK;iBAChB,CAAC;aACH,CAAC,EACF,eAAe,EACf,MAAM,CAAC,eAAe,CAAC;gBACrB,MAAM,CAAC,gBAAgB,CAAC;oBACtB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,UAAU;oBACvB,QAAQ,EAAE,IAAI;iBACf,CAAC;gBACF,MAAM,CAAC,gBAAgB,CAAC;oBACtB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,OAAO;oBACpB,QAAQ,EAAE,KAAK;iBAChB,CAAC;aACH,CAAC,CACH,CAAC;YAEF,sDAAsD;YACtD,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAe;gBACzB,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,4BAA4B;gBACzC,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,eAAe;aAC1B,CAAC;YAEF,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,eAAe;oBAC1B,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;gBACxC,CAAC;aACF;YAHc;gBADZ,IAAA,gBAAI,EAAC,MAAM,CAAC;4DAGZ;YAGH,MAAM,CAAC,sBAAY,CAAC,YAAY,CAAC,CAAC,oBAAoB,CACpD,iBAAiB,EACjB,4BAA4B,EAC5B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,EAAE,EACF,eAAe,EACf,EAAE,CACH,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,MAAM,GAAe;gBACzB,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,gCAAgC;gBAC7C,UAAU,EAAE,EAAE;gBACd,gBAAgB,EAAE,EAAE;gBACpB,QAAQ,EAAE,UAAU;aACrB,CAAC;YAEF,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,UAAU,CAAC,OAAY;oBAClC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;gBACtC,CAAC;aACF;YAHc;gBADZ,IAAA,gBAAI,EAAC,MAAM,CAAC;uDAGZ;YAGH,MAAM,CAAC,sBAAY,CAAC,YAAY,CAAC,CAAC,oBAAoB,CACpD,YAAY,EACZ,gCAAgC,EAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,EAAE,EACF,UAAU,EACV,EAAE,CACH,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,MAAM,GAAe;gBACzB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,2BAA2B;gBACxC,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,eAAe;aAC1B,CAAC;YAEF,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,WAAW,CAAC,OAAY;oBACnC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;gBACtC,CAAC;aACF;YAHc;gBADZ,IAAA,gBAAI,EAAC,MAAM,CAAC;wDAGZ;YAGH,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAY,CAAC,YAAY,CAAC,CAAC;YAClE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC;YAE/E,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,gBAAgB,GAAsB;gBAC1C,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,sBAAa,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAa,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/F,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,sBAAa,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACjG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAa,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACjG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAa,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC3F,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAa,CAAC,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;aACxG,CAAC;YAEF,MAAM,MAAM,GAAe;gBACzB,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,oCAAoC;gBACjD,UAAU,EAAE,gBAAgB;gBAC5B,QAAQ,EAAE,aAAa;aACxB,CAAC;YAEF,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,aAAa,CAAC,OAAY;oBACrC,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;gBAC7C,CAAC;aACF;YAHc;gBADZ,IAAA,gBAAI,EAAC,MAAM,CAAC;0DAGZ;YAEH,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAEhC,MAAM,CAAC,sBAAY,CAAC,YAAY,CAAC,CAAC,oBAAoB,CACpD,eAAe,EACf,oCAAoC,EACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,MAAM,CAAC,eAAe,CAAC;gBACrB,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,sBAAa,CAAC,MAAM,EAAE,CAAC;gBAC5E,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAa,CAAC,OAAO,EAAE,CAAC;gBAC1E,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,sBAAa,CAAC,MAAM,EAAE,CAAC;gBAC5E,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAa,CAAC,OAAO,EAAE,CAAC;gBAC3E,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAa,CAAC,IAAI,EAAE,CAAC;gBACxE,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAa,CAAC,UAAU,EAAE,CAAC;aAC/E,CAAC,EACF,aAAa,EACb,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,MAAM,GAAsB;gBAChC,IAAI,EAAE,iBAAiB;gBACvB,QAAQ,EAAE,mBAAmB;aAC9B,CAAC;YAEF,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,eAAe,CAAC,KAAU;oBACrC,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;gBAC9C,CAAC;aACF;YAHc;gBADZ,IAAA,uBAAW,EAAC,MAAM,CAAC;4DAGnB;YAGH,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAEhC,MAAM,CAAC,sBAAY,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAC3D,iBAAiB,EACjB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,mBAAmB,CACpB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,MAAM,GAAsB;gBAChC,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,sBAAsB;aACjC,CAAC;YAEF,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,kBAAkB,CAAC,KAAU;oBACxC,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;gBAC5C,CAAC;aACF;YAHc;gBADZ,IAAA,uBAAW,EAAC,MAAM,CAAC;+DAGnB;YAGH,MAAM,yBAAyB,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAY,CAAC,mBAAmB,CAAC,CAAC;YAChF,MAAM,uBAAuB,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC;YACvF,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,YAAY,CAAC,KAAU;oBAClC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;gBACtC,CAAC;gBAGY,AAAN,KAAK,CAAC,YAAY,CAAC,KAAU;oBAClC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;gBACtC,CAAC;aACF;YARc;gBADZ,IAAA,uBAAW,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;yDAGhE;YAGY;gBADZ,IAAA,uBAAW,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;yDAGhE;YAEH,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,CAAC,sBAAY,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,sBAAY,CAAC,mBAAmB,CAAC,CAAC,uBAAuB,CAC9D,CAAC,EACD,cAAc,EACd,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,eAAe,CAChB,CAAC;YACF,MAAM,CAAC,sBAAY,CAAC,mBAAmB,CAAC,CAAC,uBAAuB,CAC9D,CAAC,EACD,cAAc,EACd,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,eAAe,CAChB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC9E,MAAM,UAAU,GAAe;gBAC7B,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,uBAAuB;gBACpC,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,sBAAa,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC5F;gBACD,QAAQ,EAAE,aAAa;aACxB,CAAC;YAEF,MAAM,iBAAiB,GAAsB;gBAC3C,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,oBAAoB;aAC/B,CAAC;YAEF,MAAM,UAAU;gBAED,AAAN,KAAK,CAAC,SAAS,CAAC,OAAY;oBACjC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;gBACnC,CAAC;gBAGY,AAAN,KAAK,CAAC,gBAAgB,CAAC,KAAU;oBACtC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;gBAC3C,CAAC;aACF;YARc;gBADZ,IAAA,gBAAI,EAAC,UAAU,CAAC;uDAGhB;YAGY;gBADZ,IAAA,uBAAW,EAAC,iBAAiB,CAAC;8DAG9B;YAGH,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,CAAC,sBAAY,CAAC,YAAY,CAAC,CAAC,oBAAoB,CACpD,WAAW,EACX,uBAAuB,EACvB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,MAAM,CAAC,eAAe,CAAC;gBACrB,MAAM,CAAC,gBAAgB,CAAC;oBACtB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,sBAAa,CAAC,MAAM;oBAC1B,WAAW,EAAE,cAAc;oBAC3B,QAAQ,EAAE,IAAI;iBACf,CAAC;aACH,CAAC,EACF,aAAa,EACb,EAAE,CACH,CAAC;YAEF,MAAM,CAAC,sBAAY,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAC3D,kBAAkB,EAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,oBAAoB,CACrB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,qBAAqB,GAA0B;gBACnD,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,UAAU;gBACvB,mFAAmF;aACpF,CAAC;YAEF,MAAM,MAAM,GAAe;gBACzB,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,oCAAoC;gBACjD,UAAU,EAAE,EAAE;gBACd,gBAAgB,EAAE,CAAC,qBAAqB,CAAC;gBACzC,QAAQ,EAAE,eAAe;aAC1B,CAAC;YAEF,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,eAAe,CAAC,OAAY,EAAE,SAAc;oBACvD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;gBACpC,CAAC;aACF;YAHc;gBADZ,IAAA,gBAAI,EAAC,MAAM,CAAC;4DAGZ;YAGH,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,CAAC,sBAAY,CAAC,YAAY,CAAC,CAAC,oBAAoB,CACpD,iBAAiB,EACjB,oCAAoC,EACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,EAAE,EACF,eAAe,EACf,MAAM,CAAC,eAAe,CAAC;gBACrB,MAAM,CAAC,gBAAgB,CAAC;oBACtB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,UAAU;oBACvB,QAAQ,EAAE,IAAI,CAAC,yBAAyB;iBACzC,CAAC;aACH,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,4BAA4B;gBACzC,QAAQ,EAAE,mBAAmB;gBAC7B,kDAAkD;aACrC,CAAC;YAEhB,MAAM,SAAS;gBAEA,AAAN,KAAK,CAAC,mBAAmB,CAAC,OAAY;oBAC3C,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;gBAChD,CAAC;aACF;YAHc;gBADZ,IAAA,gBAAI,EAAC,MAAM,CAAC;gEAGZ;YAGH,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,CAAC,sBAAY,CAAC,YAAY,CAAC,CAAC,oBAAoB,CACpD,qBAAqB,EACrB,4BAA4B,EAC5B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,EAAE,EAAE,qDAAqD;YACzD,mBAAmB,EACnB,EAAE,CAAC,2DAA2D;aAC/D,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Decorator.test.js","sourceRoot":"","sources":["../../src/decorator/Decorator.test.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,25 @@ import { Function, Response } from '@zaiusinc/app-sdk';
4
4
  * Provides a standard interface for processing requests through registered tools
5
5
  */
6
6
  export declare abstract class ToolFunction extends Function {
7
+ /**
8
+ * Override this method to implement any required credentials and/or other configuration
9
+ * exist and are valid. Reasonable caching should be utilized to prevent excessive requests to external resources.
10
+ * @async
11
+ * @returns true if the opal function is ready to use
12
+ */
13
+ protected ready(): Promise<boolean>;
7
14
  /**
8
15
  * Process the incoming request using the tools service
9
16
  *
10
17
  * @returns Response as the HTTP response
11
18
  */
12
19
  perform(): Promise<Response>;
13
- protected abstract validateBearerToken(bearerToken: string): boolean;
20
+ /**
21
+ * Authenticate the incoming request by validating the OptiID token and organization ID
22
+ *
23
+ * @throws true if authentication succeeds
24
+ */
25
+ private authorizeRequest;
26
+ private validateAccessToken;
14
27
  }
15
28
  //# sourceMappingURL=ToolFunction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolFunction.d.ts","sourceRoot":"","sources":["../../src/function/ToolFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGvD;;;GAGG;AACH,8BAAsB,YAAa,SAAQ,QAAQ;IAEjD;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IASzC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;CACrE"}
1
+ {"version":3,"file":"ToolFunction.d.ts","sourceRoot":"","sources":["../../src/function/ToolFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAA0C,MAAM,mBAAmB,CAAC;AAK/F;;;GAGG;AACH,8BAAsB,YAAa,SAAQ,QAAQ;IAEjD;;;;;OAKG;IACH,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IAczC;;;;OAIG;YACW,gBAAgB;YA2BhB,mBAAmB;CAalC"}
@@ -3,22 +3,78 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ToolFunction = void 0;
4
4
  const app_sdk_1 = require("@zaiusinc/app-sdk");
5
5
  const Service_1 = require("../service/Service");
6
+ const TokenVerifier_1 = require("../auth/TokenVerifier");
6
7
  /**
7
8
  * Abstract base class for tool-based function execution
8
9
  * Provides a standard interface for processing requests through registered tools
9
10
  */
10
11
  class ToolFunction extends app_sdk_1.Function {
12
+ /**
13
+ * Override this method to implement any required credentials and/or other configuration
14
+ * exist and are valid. Reasonable caching should be utilized to prevent excessive requests to external resources.
15
+ * @async
16
+ * @returns true if the opal function is ready to use
17
+ */
18
+ ready() {
19
+ return Promise.resolve(true);
20
+ }
11
21
  /**
12
22
  * Process the incoming request using the tools service
13
23
  *
14
24
  * @returns Response as the HTTP response
15
25
  */
16
26
  async perform() {
17
- const bearerToken = Service_1.toolsService.extractBearerToken(this.request.headers);
18
- if (bearerToken && !this.validateBearerToken(bearerToken)) {
27
+ (0, app_sdk_1.amendLogContext)({ opalThreadId: this.request.headers.get('x-opal-thread-id') || '' });
28
+ if (!(await this.authorizeRequest())) {
19
29
  return new app_sdk_1.Response(403, { error: 'Forbidden' });
20
30
  }
21
- return Service_1.toolsService.processRequest(this.request);
31
+ if (this.request.path === '/ready') {
32
+ const isReady = await this.ready();
33
+ return new app_sdk_1.Response(200, { ready: isReady });
34
+ }
35
+ // Pass 'this' as context so decorated methods can use the existing instance
36
+ return Service_1.toolsService.processRequest(this.request, this);
37
+ }
38
+ /**
39
+ * Authenticate the incoming request by validating the OptiID token and organization ID
40
+ *
41
+ * @throws true if authentication succeeds
42
+ */
43
+ async authorizeRequest() {
44
+ if (this.request.path === '/discovery' || this.request.path === '/ready') {
45
+ return true;
46
+ }
47
+ app_sdk_1.logger.debug('Authorizing request:', this.request.bodyJSON);
48
+ const authData = this.request.bodyJSON?.auth;
49
+ const accessToken = authData?.credentials?.access_token;
50
+ if (!accessToken || authData?.provider?.toLowerCase() !== 'optiid') {
51
+ app_sdk_1.logger.error('OptiID token is required but not provided');
52
+ return false;
53
+ }
54
+ const customerId = authData.credentials?.customer_id;
55
+ if (!customerId) {
56
+ app_sdk_1.logger.error('Organisation ID is required but not provided');
57
+ return false;
58
+ }
59
+ const appOrganisationId = (0, app_sdk_1.getAppContext)().account.organizationId;
60
+ if (customerId !== appOrganisationId) {
61
+ app_sdk_1.logger.error(`Invalid organisation ID: expected ${appOrganisationId}, received ${customerId}`);
62
+ return false;
63
+ }
64
+ return await this.validateAccessToken(accessToken);
65
+ }
66
+ async validateAccessToken(accessToken) {
67
+ try {
68
+ if (!accessToken) {
69
+ return false;
70
+ }
71
+ const tokenVerifier = await (0, TokenVerifier_1.getTokenVerifier)();
72
+ return await tokenVerifier.verify(accessToken);
73
+ }
74
+ catch (error) {
75
+ app_sdk_1.logger.error('OptiID token validation failed:', error);
76
+ return false;
77
+ }
22
78
  }
23
79
  }
24
80
  exports.ToolFunction = ToolFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"ToolFunction.js","sourceRoot":"","sources":["../../src/function/ToolFunction.ts"],"names":[],"mappings":";;;AAAA,+CAAuD;AACvD,gDAAkD;AAElD;;;GAGG;AACH,MAAsB,YAAa,SAAQ,kBAAQ;IAEjD;;;;OAIG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,WAAW,GAAG,sBAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1D,OAAO,IAAI,kBAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,sBAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;CAGF;AAjBD,oCAiBC"}
1
+ {"version":3,"file":"ToolFunction.js","sourceRoot":"","sources":["../../src/function/ToolFunction.ts"],"names":[],"mappings":"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"}