@optimizely-opal/opal-tool-ocp-sdk 1.0.0 → 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.
Files changed (44) hide show
  1. package/README.md +51 -13
  2. package/dist/auth/AuthUtils.d.ts +2 -5
  3. package/dist/auth/AuthUtils.d.ts.map +1 -1
  4. package/dist/auth/AuthUtils.js +5 -5
  5. package/dist/auth/AuthUtils.js.map +1 -1
  6. package/dist/decorator/Decorator.test.js +4 -4
  7. package/dist/decorator/Decorator.test.js.map +1 -1
  8. package/dist/function/GlobalToolFunction.d.ts +4 -1
  9. package/dist/function/GlobalToolFunction.d.ts.map +1 -1
  10. package/dist/function/GlobalToolFunction.js +27 -21
  11. package/dist/function/GlobalToolFunction.js.map +1 -1
  12. package/dist/function/GlobalToolFunction.test.js +114 -193
  13. package/dist/function/GlobalToolFunction.test.js.map +1 -1
  14. package/dist/function/ToolFunction.d.ts +4 -1
  15. package/dist/function/ToolFunction.d.ts.map +1 -1
  16. package/dist/function/ToolFunction.js +20 -21
  17. package/dist/function/ToolFunction.js.map +1 -1
  18. package/dist/function/ToolFunction.test.js +73 -263
  19. package/dist/function/ToolFunction.test.js.map +1 -1
  20. package/dist/service/Service.d.ts +20 -19
  21. package/dist/service/Service.d.ts.map +1 -1
  22. package/dist/service/Service.js +47 -72
  23. package/dist/service/Service.js.map +1 -1
  24. package/dist/service/Service.test.js +229 -133
  25. package/dist/service/Service.test.js.map +1 -1
  26. package/dist/types/Models.d.ts +18 -7
  27. package/dist/types/Models.d.ts.map +1 -1
  28. package/dist/types/Models.js +1 -29
  29. package/dist/types/Models.js.map +1 -1
  30. package/dist/utils/ErrorFormatter.d.ts +9 -0
  31. package/dist/utils/ErrorFormatter.d.ts.map +1 -0
  32. package/dist/utils/ErrorFormatter.js +25 -0
  33. package/dist/utils/ErrorFormatter.js.map +1 -0
  34. package/package.json +1 -1
  35. package/src/auth/AuthUtils.ts +10 -10
  36. package/src/decorator/Decorator.test.ts +4 -4
  37. package/src/function/GlobalToolFunction.test.ts +113 -213
  38. package/src/function/GlobalToolFunction.ts +31 -31
  39. package/src/function/ToolFunction.test.ts +78 -285
  40. package/src/function/ToolFunction.ts +24 -30
  41. package/src/service/Service.test.ts +238 -174
  42. package/src/service/Service.ts +68 -92
  43. package/src/types/Models.ts +24 -15
  44. package/src/utils/ErrorFormatter.ts +31 -0
@@ -4,15 +4,23 @@ const GlobalToolFunction_1 = require("./GlobalToolFunction");
4
4
  const Service_1 = require("../service/Service");
5
5
  const app_sdk_1 = require("@zaiusinc/app-sdk");
6
6
  const TokenVerifier_1 = require("../auth/TokenVerifier");
7
+ const ToolError_1 = require("../types/ToolError");
8
+ const AuthUtils_1 = require("../auth/AuthUtils");
7
9
  // Mock the dependencies
8
10
  jest.mock('../service/Service', () => ({
9
11
  toolsService: {
10
12
  processRequest: jest.fn(),
13
+ requiresOptiIdAuth: jest.fn(),
11
14
  },
12
15
  }));
13
16
  jest.mock('../auth/TokenVerifier', () => ({
14
17
  getTokenVerifier: jest.fn(),
15
18
  }));
19
+ jest.mock('../auth/AuthUtils', () => ({
20
+ authenticateGlobalRequest: jest.fn().mockResolvedValue(undefined),
21
+ authenticateInternalRequest: jest.fn().mockResolvedValue(undefined),
22
+ extractAuthData: jest.fn().mockReturnValue(null),
23
+ }));
16
24
  jest.mock('@zaiusinc/app-sdk', () => ({
17
25
  GlobalFunction: class {
18
26
  request;
@@ -159,6 +167,7 @@ describe('GlobalToolFunction', () => {
159
167
  // Assert
160
168
  expect(result).toBe(mockResponse);
161
169
  expect(mockGetTokenVerifier).not.toHaveBeenCalled(); // Should not verify token for discovery
170
+ // processRequest is called without authValidator (auth handled internally)
162
171
  expect(mockProcessRequest).toHaveBeenCalledWith(discoveryRequest, globalToolFunction);
163
172
  });
164
173
  });
@@ -250,237 +259,149 @@ describe('GlobalToolFunction', () => {
250
259
  });
251
260
  });
252
261
  describe('perform', () => {
253
- it('should execute successfully with valid token (no organization validation)', async () => {
254
- // Setup mock token verifier to return true for valid token
255
- mockTokenVerifier.verify.mockResolvedValue(true);
262
+ it('should call processRequest and return its result', async () => {
263
+ // Setup mock to return a response
256
264
  mockProcessRequest.mockResolvedValue(mockResponse);
257
265
  const result = await globalToolFunction.perform();
258
266
  expect(result).toBe(mockResponse);
259
- expect(mockGetTokenVerifier).toHaveBeenCalled();
260
- expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-access-token');
261
- // Note: getAppContext should NOT be called for global functions
262
- expect(mockGetAppContext).not.toHaveBeenCalled();
267
+ // processRequest is called with request and context (no authValidator)
263
268
  expect(mockProcessRequest).toHaveBeenCalledWith(mockRequest, globalToolFunction);
264
269
  });
265
- it('should execute successfully even with different organization ID', async () => {
266
- // Update mock request with different customer_id (should still work for global functions)
267
- const requestWithDifferentOrgId = {
268
- ...mockRequest,
269
- bodyJSON: {
270
- ...mockRequest.bodyJSON,
271
- auth: {
272
- ...mockRequest.bodyJSON.auth,
273
- credentials: {
274
- ...mockRequest.bodyJSON.auth.credentials,
275
- customer_id: 'completely-different-org-456'
276
- }
277
- }
270
+ });
271
+ describe('inheritance', () => {
272
+ it('should be an instance of GlobalFunction', () => {
273
+ // Assert
274
+ expect(globalToolFunction).toBeInstanceOf(GlobalToolFunction_1.GlobalToolFunction);
275
+ });
276
+ it('should have access to the request property', () => {
277
+ // Assert
278
+ expect(globalToolFunction.getRequest()).toBe(mockRequest);
279
+ });
280
+ });
281
+ describe('system paths routing', () => {
282
+ beforeEach(() => {
283
+ jest.clearAllMocks();
284
+ });
285
+ it('should forward /overrides to processRequest directly', async () => {
286
+ const overridesRequest = {
287
+ path: '/overrides',
288
+ method: 'DELETE',
289
+ bodyJSON: {},
290
+ headers: {
291
+ get: jest.fn().mockImplementation((name) => {
292
+ if (name === 'x-opal-thread-id')
293
+ return 'test-thread-id';
294
+ return null;
295
+ })
278
296
  }
279
297
  };
280
- const globalToolFunctionWithDifferentOrgId = new TestGlobalToolFunction(requestWithDifferentOrgId);
281
- mockTokenVerifier.verify.mockResolvedValue(true);
282
298
  mockProcessRequest.mockResolvedValue(mockResponse);
283
- const result = await globalToolFunctionWithDifferentOrgId.perform();
299
+ const globalFunc = new TestGlobalToolFunction(overridesRequest);
300
+ const result = await globalFunc.perform();
284
301
  expect(result).toBe(mockResponse);
285
- expect(mockGetTokenVerifier).toHaveBeenCalled();
286
- expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-access-token');
287
- // Note: Should NOT validate organization ID for global functions
288
- expect(mockGetAppContext).not.toHaveBeenCalled();
289
- expect(mockProcessRequest).toHaveBeenCalledWith(requestWithDifferentOrgId, globalToolFunctionWithDifferentOrgId);
302
+ // /overrides is forwarded directly to processRequest (auth handled there)
303
+ expect(mockProcessRequest).toHaveBeenCalledWith(overridesRequest, globalFunc);
290
304
  });
291
- it('should execute successfully even without customer_id', async () => {
292
- // Create request without customer_id (should still work for global functions)
293
- const requestWithoutCustomerId = {
305
+ it('should forward tool endpoints to processRequest', async () => {
306
+ const toolRequest = {
294
307
  ...mockRequest,
295
- bodyJSON: {
296
- ...mockRequest.bodyJSON,
297
- auth: {
298
- ...mockRequest.bodyJSON.auth,
299
- credentials: {
300
- ...mockRequest.bodyJSON.auth.credentials,
301
- customer_id: undefined
302
- }
303
- }
308
+ path: '/some-tool',
309
+ headers: {
310
+ get: jest.fn().mockImplementation((name) => {
311
+ if (name === 'x-opal-thread-id')
312
+ return 'test-thread-id';
313
+ return null;
314
+ })
304
315
  }
305
316
  };
306
- const globalToolFunctionWithoutCustomerId = new TestGlobalToolFunction(requestWithoutCustomerId);
307
- mockTokenVerifier.verify.mockResolvedValue(true);
317
+ // Tool does not require OptiID auth
318
+ Service_1.toolsService.requiresOptiIdAuth.mockReturnValue(false);
308
319
  mockProcessRequest.mockResolvedValue(mockResponse);
309
- const result = await globalToolFunctionWithoutCustomerId.perform();
320
+ const globalFunc = new TestGlobalToolFunction(toolRequest);
321
+ const result = await globalFunc.perform();
310
322
  expect(result).toBe(mockResponse);
311
- expect(mockGetTokenVerifier).toHaveBeenCalled();
312
- expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-access-token');
313
- expect(mockGetAppContext).not.toHaveBeenCalled();
314
- expect(mockProcessRequest).toHaveBeenCalledWith(requestWithoutCustomerId, globalToolFunctionWithoutCustomerId);
323
+ expect(mockProcessRequest).toHaveBeenCalledWith(toolRequest, globalFunc);
315
324
  });
316
- it('should return 403 response with invalid token', async () => {
317
- // Setup mock token verifier to return false
318
- mockTokenVerifier.verify.mockResolvedValue(false);
319
- const result = await globalToolFunction.perform();
320
- expect(result.status).toBe(403);
321
- expect(result.bodyJSON).toEqual({
322
- title: 'Forbidden',
323
- status: 403,
324
- detail: 'Invalid OptiID access token',
325
- instance: '/test'
326
- });
327
- expect(mockGetTokenVerifier).toHaveBeenCalled();
328
- expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-access-token');
329
- expect(mockProcessRequest).not.toHaveBeenCalled();
325
+ });
326
+ describe('error formatting', () => {
327
+ beforeEach(() => {
328
+ jest.clearAllMocks();
330
329
  });
331
- it('should return 403 response when access token is missing', async () => {
332
- // Create request without access token
333
- const requestWithoutToken = {
330
+ it('should format ToolError as RFC 9457 response when processRequest throws ToolError', async () => {
331
+ const toolRequest = {
334
332
  ...mockRequest,
335
- bodyJSON: {
336
- ...mockRequest.bodyJSON,
337
- auth: {
338
- ...mockRequest.bodyJSON.auth,
339
- credentials: {
340
- ...mockRequest.bodyJSON.auth.credentials,
341
- access_token: undefined
342
- }
343
- }
333
+ path: '/some-tool',
334
+ headers: {
335
+ get: jest.fn().mockImplementation((name) => {
336
+ if (name === 'x-opal-thread-id')
337
+ return 'test-thread-id';
338
+ return null;
339
+ })
344
340
  }
345
341
  };
346
- const globalToolFunctionWithoutToken = new TestGlobalToolFunction(requestWithoutToken);
347
- const result = await globalToolFunctionWithoutToken.perform();
348
- expect(result.status).toBe(403);
342
+ const toolError = new ToolError_1.ToolError('Resource not found', 404, 'The requested resource does not exist');
343
+ mockProcessRequest.mockRejectedValue(toolError);
344
+ Service_1.toolsService.requiresOptiIdAuth.mockReturnValue(false);
345
+ const globalFunc = new TestGlobalToolFunction(toolRequest);
346
+ const result = await globalFunc.perform();
347
+ expect(result.status).toBe(404);
349
348
  expect(result.bodyJSON).toEqual({
350
- title: 'Forbidden',
351
- status: 403,
352
- detail: 'OptiID access token is required',
353
- instance: '/test'
349
+ title: 'Resource not found',
350
+ status: 404,
351
+ detail: 'The requested resource does not exist',
352
+ instance: '/some-tool'
354
353
  });
355
- expect(mockGetTokenVerifier).not.toHaveBeenCalled();
356
- expect(mockProcessRequest).not.toHaveBeenCalled();
357
354
  });
358
- it('should return 403 response when provider is not OptiID', async () => {
359
- // Create request with different provider
360
- const requestWithDifferentProvider = {
355
+ it('should format generic Error as 500 RFC 9457 response when processRequest throws', async () => {
356
+ const toolRequest = {
361
357
  ...mockRequest,
362
- bodyJSON: {
363
- ...mockRequest.bodyJSON,
364
- auth: {
365
- ...mockRequest.bodyJSON.auth,
366
- provider: 'SomeOtherProvider'
367
- }
358
+ path: '/some-tool',
359
+ headers: {
360
+ get: jest.fn().mockImplementation((name) => {
361
+ if (name === 'x-opal-thread-id')
362
+ return 'test-thread-id';
363
+ return null;
364
+ })
368
365
  }
369
366
  };
370
- const globalToolFunctionWithDifferentProvider = new TestGlobalToolFunction(requestWithDifferentProvider);
371
- const result = await globalToolFunctionWithDifferentProvider.perform();
372
- expect(result.status).toBe(403);
367
+ mockProcessRequest.mockRejectedValue(new Error('Database connection failed'));
368
+ Service_1.toolsService.requiresOptiIdAuth.mockReturnValue(false);
369
+ const globalFunc = new TestGlobalToolFunction(toolRequest);
370
+ const result = await globalFunc.perform();
371
+ expect(result.status).toBe(500);
373
372
  expect(result.bodyJSON).toEqual({
374
- title: 'Forbidden',
375
- status: 403,
376
- detail: 'Only OptiID authentication provider is supported',
377
- instance: '/test'
373
+ title: 'Internal Server Error',
374
+ status: 500,
375
+ detail: 'Database connection failed',
376
+ instance: '/some-tool'
378
377
  });
379
- expect(mockGetTokenVerifier).not.toHaveBeenCalled();
380
- expect(mockProcessRequest).not.toHaveBeenCalled();
381
378
  });
382
- it('should return 403 response when auth structure is missing', async () => {
383
- // Create request without auth structure
384
- const requestWithoutAuth = {
379
+ it('should format ToolError from authorization failure as RFC 9457 response', async () => {
380
+ const toolRequest = {
385
381
  ...mockRequest,
386
- bodyJSON: {
387
- parameters: mockRequest.bodyJSON.parameters,
388
- environment: mockRequest.bodyJSON.environment
382
+ path: '/some-tool',
383
+ headers: {
384
+ get: jest.fn().mockImplementation((name) => {
385
+ if (name === 'x-opal-thread-id')
386
+ return 'test-thread-id';
387
+ return null;
388
+ })
389
389
  }
390
390
  };
391
- const globalToolFunctionWithoutAuth = new TestGlobalToolFunction(requestWithoutAuth);
392
- const result = await globalToolFunctionWithoutAuth.perform();
393
- expect(result.status).toBe(403);
394
- expect(result.bodyJSON).toEqual({
395
- title: 'Forbidden',
396
- status: 403,
397
- detail: 'Authentication data is required',
398
- instance: '/test'
399
- });
400
- expect(mockGetTokenVerifier).not.toHaveBeenCalled();
401
- expect(mockProcessRequest).not.toHaveBeenCalled();
402
- });
403
- it('should return 403 response when token verifier initialization fails', async () => {
404
- // Setup mock to fail during token verifier initialization
405
- mockGetTokenVerifier.mockRejectedValue(new Error('Failed to initialize token verifier'));
406
- const result = await globalToolFunction.perform();
407
- expect(result.status).toBe(403);
408
- expect(result.bodyJSON).toEqual({
409
- title: 'Forbidden',
410
- status: 403,
411
- detail: 'Token verification failed',
412
- instance: '/test'
413
- });
414
- expect(mockGetTokenVerifier).toHaveBeenCalled();
415
- expect(mockProcessRequest).not.toHaveBeenCalled();
416
- });
417
- it('should return 403 response when token validation throws an error', async () => {
418
- // Setup mock token verifier to throw an error
419
- mockTokenVerifier.verify.mockRejectedValue(new Error('Token validation failed'));
420
- const result = await globalToolFunction.perform();
391
+ const authError = new ToolError_1.ToolError('Unauthorized', 403, 'Invalid access token');
392
+ Service_1.toolsService.requiresOptiIdAuth.mockReturnValue(true);
393
+ jest.mocked(AuthUtils_1.authenticateGlobalRequest).mockRejectedValue(authError);
394
+ const globalFunc = new TestGlobalToolFunction(toolRequest);
395
+ const result = await globalFunc.perform();
421
396
  expect(result.status).toBe(403);
422
397
  expect(result.bodyJSON).toEqual({
423
- title: 'Forbidden',
398
+ title: 'Unauthorized',
424
399
  status: 403,
425
- detail: 'Token verification failed',
426
- instance: '/test'
400
+ detail: 'Invalid access token',
401
+ instance: '/some-tool'
427
402
  });
428
- expect(mockGetTokenVerifier).toHaveBeenCalled();
429
- expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-access-token');
430
403
  expect(mockProcessRequest).not.toHaveBeenCalled();
431
404
  });
432
405
  });
433
- describe('inheritance', () => {
434
- it('should be an instance of GlobalFunction', () => {
435
- // Assert
436
- expect(globalToolFunction).toBeInstanceOf(GlobalToolFunction_1.GlobalToolFunction);
437
- });
438
- it('should have access to the request property', () => {
439
- // Assert
440
- expect(globalToolFunction.getRequest()).toBe(mockRequest);
441
- });
442
- });
443
- describe('authentication differences from ToolFunction', () => {
444
- it('should NOT validate organization ID (unlike ToolFunction)', async () => {
445
- // This test demonstrates the key difference between GlobalToolFunction and ToolFunction
446
- // GlobalToolFunction should work with any customer_id, while ToolFunction requires matching org ID
447
- const requestWithRandomOrgId = {
448
- ...mockRequest,
449
- bodyJSON: {
450
- ...mockRequest.bodyJSON,
451
- auth: {
452
- ...mockRequest.bodyJSON.auth,
453
- credentials: {
454
- ...mockRequest.bodyJSON.auth.credentials,
455
- customer_id: 'random-org-999' // This would fail in ToolFunction but should work here
456
- }
457
- }
458
- }
459
- };
460
- const globalToolFunctionWithRandomOrgId = new TestGlobalToolFunction(requestWithRandomOrgId);
461
- mockTokenVerifier.verify.mockResolvedValue(true);
462
- mockProcessRequest.mockResolvedValue(mockResponse);
463
- const result = await globalToolFunctionWithRandomOrgId.perform();
464
- // Should succeed even with different org ID
465
- expect(result).toBe(mockResponse);
466
- expect(mockGetTokenVerifier).toHaveBeenCalled();
467
- expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-access-token');
468
- // Crucially: getAppContext should NOT be called (no org validation)
469
- expect(mockGetAppContext).not.toHaveBeenCalled();
470
- expect(mockProcessRequest).toHaveBeenCalledWith(requestWithRandomOrgId, globalToolFunctionWithRandomOrgId);
471
- });
472
- it('should only require valid OptiID token (no organization constraints)', async () => {
473
- // Test that only token validation is performed, no org validation
474
- mockTokenVerifier.verify.mockResolvedValue(true);
475
- mockProcessRequest.mockResolvedValue(mockResponse);
476
- const result = await globalToolFunction.perform();
477
- expect(result).toBe(mockResponse);
478
- expect(mockGetTokenVerifier).toHaveBeenCalled();
479
- expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-access-token');
480
- // Key assertion: getAppContext should never be called for global functions
481
- expect(mockGetAppContext).not.toHaveBeenCalled();
482
- expect(mockProcessRequest).toHaveBeenCalledWith(mockRequest, globalToolFunction);
483
- });
484
- });
485
406
  });
486
407
  //# sourceMappingURL=GlobalToolFunction.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalToolFunction.test.js","sourceRoot":"","sources":["../../src/function/GlobalToolFunction.test.ts"],"names":[],"mappings":";;AAAA,6DAA0D;AAC1D,gDAAkD;AAClD,+CAA4D;AAC5D,yDAAyD;AAEzD,wBAAwB;AACxB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,YAAY,EAAE;QACZ,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;KAC1B;CACF,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;CAC5B,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,cAAc,EAAE;QACJ,OAAO,CAAM;QACvB,YAAmB,KAAc;YAC/B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,CAAC;KACF;IACD,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACjD,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM;QACN,IAAI;QACJ,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,IAAI,UAAU,EAAE;QAC/B,OAAO;KACR,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;IAC1B,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;IACxB,MAAM,EAAE;QACN,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;QAChB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;KACjB;IACD,aAAa,EAAE;QACb,KAAK,EAAE,OAAO;KACf;CACF,CAAC,CAAC,CAAC;AAEJ,+CAA+C;AAC/C,MAAM,sBAAuB,SAAQ,uCAAkB;IAC7C,SAAS,CAA0E;IAE3F,YAAmB,OAAa;QAC9B,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACpB,IAAY,CAAC,OAAO,GAAG,OAAO,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,iEAAiE;IACvD,KAAK;QACb,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAEM,UAAU;QACf,OAAQ,IAAY,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AAED,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,WAAgB,CAAC;IACrB,IAAI,YAAsB,CAAC;IAC3B,IAAI,kBAA0C,CAAC;IAC/C,IAAI,kBAA2E,CAAC;IAChF,IAAI,oBAAkE,CAAC;IACvE,IAAI,iBAA4D,CAAC;IACjE,IAAI,iBAEF,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,6BAA6B;QAC7B,iBAAiB,GAAG;YAClB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;SAClB,CAAC;QAEF,kBAAkB;QAClB,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAY,CAAC,cAAc,CAAC,CAAC;QAC9D,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,gCAAgB,CAAC,CAAC;QACrD,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAa,CAAC,CAAC;QAE/C,oBAAoB,CAAC,iBAAiB,CAAC,iBAAwB,CAAC,CAAC;QACjE,iBAAiB,CAAC,eAAe,CAAC;YAChC,OAAO,EAAE;gBACP,cAAc,EAAE,aAAa;aAC9B;SACK,CAAC,CAAC;QAEV,8CAA8C;QAC9C,uFAAuF;QACvF,WAAW,GAAG;YACZ,OAAO,EAAE,IAAI,GAAG,EAAE;YAClB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE;gBACR,UAAU,EAAE;oBACV,OAAO,EAAE,UAAU;oBACnB,UAAU,EAAE,aAAa;iBAC1B;gBACD,IAAI,EAAE;oBACJ,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE;wBACX,UAAU,EAAE,QAAQ;wBACpB,YAAY,EAAE,oBAAoB;wBAClC,UAAU,EAAE,aAAa;wBACzB,OAAO,EAAE,UAAU;wBACnB,WAAW,EAAE,cAAc;wBAC3B,WAAW,EAAE,aAAa,EAAE,qDAAqD;wBACjF,WAAW,EAAE,MAAM;qBACpB;iBACF;gBACD,WAAW,EAAE;oBACX,cAAc,EAAE,UAAU;iBAC3B;aACF;SACF,CAAC;QAEF,YAAY,GAAG,EAAc,CAAC;QAC9B,kBAAkB,GAAG,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAC5D,MAAM,0BAA0B,GAAG,GAAG,EAAE,CAAC,CAAC;QACxC,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE;YACR,IAAI,EAAE;gBACJ,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE;oBACX,YAAY,EAAE,aAAa;oBAC3B,WAAW,EAAE,aAAa,CAAC,sCAAsC;iBAClE;aACF;SACF;KACF,CAAC,CAAC;IAEH,gDAAgD;IAChD,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,CAAC;QACpC,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;IAEH,uDAAuD;IACvD,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,UAAU;YACV,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;YAClD,kBAAkB,GAAG,IAAI,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YAClE,kBAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEnD,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAElD,SAAS;YACT,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,wCAAwC;YAC7F,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,UAAU,CAAC,GAAG,EAAE;YACd,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,UAAU;YACV,MAAM,YAAY,GAAG,0BAA0B,EAAE,CAAC;YAClD,kBAAkB,GAAG,IAAI,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC9D,kBAAkB,CAAC,YAAY,EAAE,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAErE,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAElD,SAAS;YACT,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,kBAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,0BAA0B;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,UAAU;YACV,MAAM,YAAY,GAAG,0BAA0B,EAAE,CAAC;YAClD,kBAAkB,GAAG,IAAI,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC9D,kBAAkB,CAAC,YAAY,EAAE,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAEtE,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAElD,SAAS;YACT,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,kBAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,0BAA0B;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;YAClG,UAAU;YACV,MAAM,YAAY,GAAG,0BAA0B,EAAE,CAAC;YAClD,kBAAkB,GAAG,IAAI,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC9D,kBAAkB,CAAC,YAAY,EAAE,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAEzG,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAElD,SAAS;YACT,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,kBAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;YAC/F,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,0BAA0B;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,UAAU;YACV,MAAM,YAAY,GAAG,0BAA0B,EAAE,CAAC;YAClD,kBAAkB,GAAG,IAAI,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC9D,kBAAkB,CAAC,YAAY,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAErF,eAAe;YACf,MAAM,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACjF,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,0BAA0B;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,oDAAoD;YACpD,MAAM,8BAA+B,SAAQ,uCAAkB;gBAC7D,YAAmB,OAAa;oBAC9B,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;oBACpB,IAAY,CAAC,OAAO,GAAG,OAAO,CAAC;gBAClC,CAAC;gBAEM,UAAU;oBACf,OAAQ,IAAY,CAAC,OAAO,CAAC;gBAC/B,CAAC;aACF;YAED,UAAU;YACV,MAAM,YAAY,GAAG,0BAA0B,EAAE,CAAC;YAClD,MAAM,yBAAyB,GAAG,IAAI,8BAA8B,CAAC,YAAY,CAAC,CAAC;YAEnF,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,OAAO,EAAE,CAAC;YAEzD,qDAAqD;YACrD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,kBAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,0BAA0B;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,UAAU;YACV,MAAM,uBAAuB,GAAG;gBAC9B,OAAO,EAAE,IAAI,GAAG,EAAE;gBAClB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,QAAQ;aACf,CAAC;YACF,kBAAkB,GAAG,IAAI,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;YACzE,kBAAkB,CAAC,YAAY,EAAE,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAErE,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAElD,SAAS;YACT,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,kBAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,oCAAoC;YACzF,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,0BAA0B;QAC/E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACzF,2DAA2D;YAC3D,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjD,kBAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YAC5E,gEAAgE;YAChE,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjD,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,0FAA0F;YAC1F,MAAM,yBAAyB,GAAG;gBAChC,GAAG,WAAW;gBACd,QAAQ,EAAE;oBACR,GAAG,WAAW,CAAC,QAAQ;oBACvB,IAAI,EAAE;wBACJ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI;wBAC5B,WAAW,EAAE;4BACX,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW;4BACxC,WAAW,EAAE,8BAA8B;yBAC5C;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,oCAAoC,GAAG,IAAI,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;YACnG,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjD,kBAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,oCAAoC,CAAC,OAAO,EAAE,CAAC;YAEpE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YAC5E,iEAAiE;YACjE,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjD,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,yBAAyB,EAAE,oCAAoC,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,8EAA8E;YAC9E,MAAM,wBAAwB,GAAG;gBAC/B,GAAG,WAAW;gBACd,QAAQ,EAAE;oBACR,GAAG,WAAW,CAAC,QAAQ;oBACvB,IAAI,EAAE;wBACJ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI;wBAC5B,WAAW,EAAE;4BACX,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW;4BACxC,WAAW,EAAE,SAAS;yBACvB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,mCAAmC,GAAG,IAAI,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;YACjG,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjD,kBAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,mCAAmC,CAAC,OAAO,EAAE,CAAC;YAEnE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YAC5E,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjD,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,EAAE,mCAAmC,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,4CAA4C;YAC5C,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBAC9B,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,GAAG;gBACX,MAAM,EAAE,6BAA6B;gBACrC,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YAC5E,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,sCAAsC;YACtC,MAAM,mBAAmB,GAAG;gBAC1B,GAAG,WAAW;gBACd,QAAQ,EAAE;oBACR,GAAG,WAAW,CAAC,QAAQ;oBACvB,IAAI,EAAE;wBACJ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI;wBAC5B,WAAW,EAAE;4BACX,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW;4BACxC,YAAY,EAAE,SAAS;yBACxB;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,8BAA8B,GAAG,IAAI,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;YAEvF,MAAM,MAAM,GAAG,MAAM,8BAA8B,CAAC,OAAO,EAAE,CAAC;YAE9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBAC9B,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,GAAG;gBACX,MAAM,EAAE,iCAAiC;gBACzC,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,yCAAyC;YACzC,MAAM,4BAA4B,GAAG;gBACnC,GAAG,WAAW;gBACd,QAAQ,EAAE;oBACR,GAAG,WAAW,CAAC,QAAQ;oBACvB,IAAI,EAAE;wBACJ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI;wBAC5B,QAAQ,EAAE,mBAAmB;qBAC9B;iBACF;aACF,CAAC;YAEF,MAAM,uCAAuC,GAAG,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,CAAC;YAEzG,MAAM,MAAM,GAAG,MAAM,uCAAuC,CAAC,OAAO,EAAE,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBAC9B,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,GAAG;gBACX,MAAM,EAAE,kDAAkD;gBAC1D,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,wCAAwC;YACxC,MAAM,kBAAkB,GAAG;gBACzB,GAAG,WAAW;gBACd,QAAQ,EAAE;oBACR,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU;oBAC3C,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,WAAW;iBAC9C;aACF,CAAC;YAEF,MAAM,6BAA6B,GAAG,IAAI,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;YAErF,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,OAAO,EAAE,CAAC;YAE7D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBAC9B,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,GAAG;gBACX,MAAM,EAAE,iCAAiC;gBACzC,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,0DAA0D;YAC1D,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAEzF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBAC9B,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,GAAG;gBACX,MAAM,EAAE,2BAA2B;gBACnC,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,8CAA8C;YAC9C,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAEjF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBAC9B,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,GAAG;gBACX,MAAM,EAAE,2BAA2B;gBACnC,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YAC5E,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,SAAS;YACT,MAAM,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC,uCAAkB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,SAAS;YACT,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;QAC5D,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,wFAAwF;YACxF,mGAAmG;YAEnG,MAAM,sBAAsB,GAAG;gBAC7B,GAAG,WAAW;gBACd,QAAQ,EAAE;oBACR,GAAG,WAAW,CAAC,QAAQ;oBACvB,IAAI,EAAE;wBACJ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI;wBAC5B,WAAW,EAAE;4BACX,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW;4BACxC,WAAW,EAAE,gBAAgB,CAAC,uDAAuD;yBACtF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,iCAAiC,GAAG,IAAI,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;YAC7F,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjD,kBAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC,OAAO,EAAE,CAAC;YAEjE,4CAA4C;YAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YAC5E,oEAAoE;YACpE,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjD,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,iCAAiC,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,kEAAkE;YAClE,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjD,kBAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YAE5E,2EAA2E;YAC3E,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjD,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"GlobalToolFunction.test.js","sourceRoot":"","sources":["../../src/function/GlobalToolFunction.test.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,10 @@ export declare abstract class ToolFunction extends Function {
25
25
  */
26
26
  private handleRequest;
27
27
  /**
28
- * Authenticate the incoming request by validating the OptiID token and organization ID
28
+ * Authenticate the incoming request based on the endpoint
29
+ * - /discovery: No auth required
30
+ * - /overrides: Internal auth (header-based token)
31
+ * - Tools/interactions: Regular auth if OptiID is required
29
32
  *
30
33
  * @throws {ToolError} If authentication fails
31
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ToolFunction.d.ts","sourceRoot":"","sources":["../../src/function/ToolFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAA4B,MAAM,mBAAmB,CAAC;AAKjF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,8BAAsB,YAAa,SAAQ,QAAQ;IAEjD;;;;;OAKG;IACH,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC;IAInD;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IAYzC;;;;OAIG;YACW,aAAa;IAoC3B;;;;OAIG;YACW,gBAAgB;CAS/B"}
1
+ {"version":3,"file":"ToolFunction.d.ts","sourceRoot":"","sources":["../../src/function/ToolFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAC;AAIxE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;GAGG;AACH,8BAAsB,YAAa,SAAQ,QAAQ;IAEjD;;;;;OAKG;IACH,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC;IAInD;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IAYzC;;;;OAIG;YACW,aAAa;IAmB3B;;;;;;;OAOG;YACW,gBAAgB;CAiB/B"}
@@ -5,7 +5,7 @@ const app_sdk_1 = require("@zaiusinc/app-sdk");
5
5
  const AuthUtils_1 = require("../auth/AuthUtils");
6
6
  const Service_1 = require("../service/Service");
7
7
  const ToolLogger_1 = require("../logging/ToolLogger");
8
- const ToolError_1 = require("../types/ToolError");
8
+ const ErrorFormatter_1 = require("../utils/ErrorFormatter");
9
9
  /**
10
10
  * Abstract base class for tool-based function execution
11
11
  * Provides a standard interface for processing requests through registered tools
@@ -39,21 +39,6 @@ class ToolFunction extends app_sdk_1.Function {
39
39
  * @returns Response as the HTTP response
40
40
  */
41
41
  async handleRequest() {
42
- try {
43
- await this.authorizeRequest();
44
- }
45
- catch (error) {
46
- if (error instanceof ToolError_1.ToolError) {
47
- return new app_sdk_1.Response(error.status, error.toProblemDetails(this.request.path), new app_sdk_1.Headers([['content-type', 'application/problem+json']]));
48
- }
49
- // Fallback for unexpected errors
50
- return new app_sdk_1.Response(500, {
51
- title: 'Internal Server Error',
52
- status: 500,
53
- detail: 'An unexpected error occurred during authentication',
54
- instance: this.request.path
55
- }, new app_sdk_1.Headers([['content-type', 'application/problem+json']]));
56
- }
57
42
  if (this.request.path === '/ready') {
58
43
  const readyResult = await this.ready();
59
44
  const readyResponse = typeof readyResult === 'boolean'
@@ -61,21 +46,35 @@ class ToolFunction extends app_sdk_1.Function {
61
46
  : readyResult;
62
47
  return new app_sdk_1.Response(200, readyResponse);
63
48
  }
64
- // Pass 'this' as context so decorated methods can use the existing instance
65
- return Service_1.toolsService.processRequest(this.request, this);
49
+ try {
50
+ await this.authorizeRequest();
51
+ // Pass 'this' as context so decorated methods can use the existing instance
52
+ return await Service_1.toolsService.processRequest(this.request, this);
53
+ }
54
+ catch (error) {
55
+ return (0, ErrorFormatter_1.formatErrorResponse)(error, this.request.path);
56
+ }
66
57
  }
67
58
  /**
68
- * Authenticate the incoming request by validating the OptiID token and organization ID
59
+ * Authenticate the incoming request based on the endpoint
60
+ * - /discovery: No auth required
61
+ * - /overrides: Internal auth (header-based token)
62
+ * - Tools/interactions: Regular auth if OptiID is required
69
63
  *
70
64
  * @throws {ToolError} If authentication fails
71
65
  */
72
66
  async authorizeRequest() {
67
+ // Discovery endpoint doesn't require auth
68
+ if (this.request.path === '/discovery') {
69
+ return;
70
+ }
73
71
  // Use internal authentication for overrides endpoint (header-based token)
74
72
  if (this.request.path === '/overrides') {
75
73
  await (0, AuthUtils_1.authenticateInternalRequest)(this.request);
74
+ return;
76
75
  }
77
- else {
78
- // Use regular authentication for other endpoints (body-based token with org validation)
76
+ // Tool/interaction endpoints - authenticate only if OptiID is required
77
+ if (Service_1.toolsService.requiresOptiIdAuth(this.request.path)) {
79
78
  await (0, AuthUtils_1.authenticateRegularRequest)(this.request);
80
79
  }
81
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToolFunction.js","sourceRoot":"","sources":["../../src/function/ToolFunction.ts"],"names":[],"mappings":";;;AAAA,+CAAiF;AACjF,iDAA4F;AAC5F,gDAAkD;AAClD,sDAAmD;AACnD,kDAA+C;AAG/C;;;GAGG;AACH,MAAsB,YAAa,SAAQ,kBAAQ;IAEjD;;;;;OAKG;IACO,KAAK;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAA,yBAAe,EAAC,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEtF,uBAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE5C,uBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,qBAAS,EAAE,CAAC;gBAC/B,OAAO,IAAI,kBAAQ,CACjB,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EACzC,IAAI,iBAAO,CAAC,CAAC,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAC5D,CAAC;YACJ,CAAC;YACD,iCAAiC;YACjC,OAAO,IAAI,kBAAQ,CACjB,GAAG,EACH;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,MAAM,EAAE,GAAG;gBACX,MAAM,EAAE,oDAAoD;gBAC5D,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;aAC5B,EACD,IAAI,iBAAO,CAAC,CAAC,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAC5D,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,OAAO,WAAW,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;gBACxB,CAAC,CAAC,WAAW,CAAC;YAChB,OAAO,IAAI,kBAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC1C,CAAC;QAED,4EAA4E;QAC5E,OAAO,sBAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB;QAC5B,0EAA0E;QAC1E,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,MAAM,IAAA,uCAA2B,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,wFAAwF;YACxF,MAAM,IAAA,sCAA0B,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF;AApFD,oCAoFC"}
1
+ {"version":3,"file":"ToolFunction.js","sourceRoot":"","sources":["../../src/function/ToolFunction.ts"],"names":[],"mappings":";;;AAAA,+CAAwE;AACxE,iDAA4F;AAC5F,gDAAkD;AAClD,sDAAmD;AAEnD,4DAA8D;AAE9D;;;GAGG;AACH,MAAsB,YAAa,SAAQ,kBAAQ;IAEjD;;;;;OAKG;IACO,KAAK;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAA,yBAAe,EAAC,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEtF,uBAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE5C,uBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,OAAO,WAAW,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;gBACxB,CAAC,CAAC,WAAW,CAAC;YAChB,OAAO,IAAI,kBAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE9B,4EAA4E;YAC5E,OAAO,MAAM,sBAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,oCAAmB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,gBAAgB;QAC5B,0CAA0C;QAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,MAAM,IAAA,uCAA2B,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,IAAI,sBAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,IAAA,sCAA0B,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF;AA9ED,oCA8EC"}