@optimizely-opal/opal-tool-ocp-sdk 1.1.4 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decorator/Decorator.d.ts +21 -0
- package/dist/decorator/Decorator.d.ts.map +1 -1
- package/dist/decorator/Decorator.js +23 -1
- package/dist/decorator/Decorator.js.map +1 -1
- package/dist/decorator/Decorator.test.js +125 -16
- package/dist/decorator/Decorator.test.js.map +1 -1
- package/dist/function/GlobalToolFunction.d.ts +29 -1
- package/dist/function/GlobalToolFunction.d.ts.map +1 -1
- package/dist/function/GlobalToolFunction.js +32 -2
- package/dist/function/GlobalToolFunction.js.map +1 -1
- package/dist/function/GlobalToolFunction.test.js +21 -0
- package/dist/function/GlobalToolFunction.test.js.map +1 -1
- package/dist/function/ToolFunction.d.ts +11 -1
- package/dist/function/ToolFunction.d.ts.map +1 -1
- package/dist/function/ToolFunction.js +14 -2
- package/dist/function/ToolFunction.js.map +1 -1
- package/dist/function/ToolFunction.test.js +20 -0
- package/dist/function/ToolFunction.test.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/service/Service.d.ts +35 -3
- package/dist/service/Service.d.ts.map +1 -1
- package/dist/service/Service.js +79 -7
- package/dist/service/Service.js.map +1 -1
- package/dist/service/Service.test.js +141 -0
- package/dist/service/Service.test.js.map +1 -1
- package/dist/types/Models.d.ts +26 -1
- package/dist/types/Models.d.ts.map +1 -1
- package/dist/types/Models.js +26 -1
- package/dist/types/Models.js.map +1 -1
- package/dist/types/Models.test.d.ts +2 -0
- package/dist/types/Models.test.d.ts.map +1 -0
- package/dist/types/Models.test.js +84 -0
- package/dist/types/Models.test.js.map +1 -0
- package/dist/validation/ParameterValidator.d.ts.map +1 -1
- package/dist/validation/ParameterValidator.js +2 -1
- package/dist/validation/ParameterValidator.js.map +1 -1
- package/dist/validation/ParameterValidator.test.js +32 -0
- package/dist/validation/ParameterValidator.test.js.map +1 -1
- package/package.json +1 -1
- package/src/decorator/Decorator.test.ts +169 -6
- package/src/decorator/Decorator.ts +49 -1
- package/src/function/GlobalToolFunction.test.ts +24 -0
- package/src/function/GlobalToolFunction.ts +36 -3
- package/src/function/ToolFunction.test.ts +22 -0
- package/src/function/ToolFunction.ts +18 -3
- package/src/index.ts +1 -1
- package/src/service/Service.test.ts +217 -0
- package/src/service/Service.ts +97 -6
- package/src/types/Models.test.ts +102 -0
- package/src/types/Models.ts +33 -1
- package/src/validation/ParameterValidator.test.ts +38 -0
- package/src/validation/ParameterValidator.ts +2 -1
|
@@ -14,6 +14,12 @@ export interface ToolConfig {
|
|
|
14
14
|
* Example: ['get_tool', 'default_tool_set']
|
|
15
15
|
*/
|
|
16
16
|
tags?: string[];
|
|
17
|
+
/**
|
|
18
|
+
* Optional URI of a UI resource associated with this tool
|
|
19
|
+
* Enables dynamic UI rendering for tool results
|
|
20
|
+
* Example: 'ui://my-app/task-results'
|
|
21
|
+
*/
|
|
22
|
+
uiResource?: string;
|
|
17
23
|
}
|
|
18
24
|
/**
|
|
19
25
|
* Parameter configuration for decorators
|
|
@@ -39,6 +45,15 @@ export interface InteractionConfig {
|
|
|
39
45
|
name: string;
|
|
40
46
|
endpoint: string;
|
|
41
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Configuration for @resource decorator
|
|
50
|
+
*/
|
|
51
|
+
export interface ResourceConfig {
|
|
52
|
+
uri: string;
|
|
53
|
+
name: string;
|
|
54
|
+
description: string;
|
|
55
|
+
mimeType: string;
|
|
56
|
+
}
|
|
42
57
|
/**
|
|
43
58
|
* Decorator for registering tool functions
|
|
44
59
|
* Immediately registers the tool with the global ToolsService
|
|
@@ -51,4 +66,10 @@ export declare function tool(config: ToolConfig): (target: any, _propertyKey: st
|
|
|
51
66
|
* The handler will have access to 'this' context when called
|
|
52
67
|
*/
|
|
53
68
|
export declare function interaction(config: InteractionConfig): (target: any, _propertyKey: string, descriptor: PropertyDescriptor) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Decorator for registering resource handlers
|
|
71
|
+
* Immediately registers the resource with the global ToolsService
|
|
72
|
+
* The handler will have access to 'this' context when called
|
|
73
|
+
*/
|
|
74
|
+
export declare function resource(config: ResourceConfig): (target: any, _propertyKey: string, descriptor: PropertyDescriptor) => void;
|
|
54
75
|
//# sourceMappingURL=Decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Decorator.d.ts","sourceRoot":"","sources":["../../src/decorator/Decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG5E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Decorator.d.ts","sourceRoot":"","sources":["../../src/decorator/Decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG5E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,IACrB,QAAQ,GAAG,EAAE,cAAc,MAAM,EAAE,YAAY,kBAAkB,UAoClF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,IACnC,QAAQ,GAAG,EAAE,cAAc,MAAM,EAAE,YAAY,kBAAkB,UAqBlF;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,IAC7B,QAAQ,GAAG,EAAE,cAAc,MAAM,EAAE,YAAY,kBAAkB,UAuBlF"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.tool = tool;
|
|
4
4
|
exports.interaction = interaction;
|
|
5
|
+
exports.resource = resource;
|
|
5
6
|
const Models_1 = require("../types/Models");
|
|
6
7
|
const Service_1 = require("../service/Service");
|
|
7
8
|
/**
|
|
@@ -26,7 +27,7 @@ function tool(config) {
|
|
|
26
27
|
return originalMethod.call(instance, params, authData);
|
|
27
28
|
};
|
|
28
29
|
// Immediately register with global ToolsService
|
|
29
|
-
Service_1.toolsService.registerTool(config.name, config.description, boundHandler, parameters, config.endpoint, authRequirements, config.tags);
|
|
30
|
+
Service_1.toolsService.registerTool(config.name, config.description, boundHandler, parameters, config.endpoint, authRequirements, config.tags, config.uiResource);
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
@@ -50,4 +51,25 @@ function interaction(config) {
|
|
|
50
51
|
Service_1.toolsService.registerInteraction(config.name, boundHandler, config.endpoint);
|
|
51
52
|
};
|
|
52
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Decorator for registering resource handlers
|
|
56
|
+
* Immediately registers the resource with the global ToolsService
|
|
57
|
+
* The handler will have access to 'this' context when called
|
|
58
|
+
*/
|
|
59
|
+
function resource(config) {
|
|
60
|
+
return function (target, _propertyKey, descriptor) {
|
|
61
|
+
const originalMethod = descriptor.value;
|
|
62
|
+
const boundHandler = function (functionContext) {
|
|
63
|
+
// Check if we're being called from within a ToolFunction instance context
|
|
64
|
+
// If so, use that instance; otherwise create a new one
|
|
65
|
+
const instance = (functionContext && functionContext instanceof target.constructor) ?
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
67
|
+
functionContext : new target.constructor();
|
|
68
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
69
|
+
return originalMethod.call(instance);
|
|
70
|
+
};
|
|
71
|
+
// Immediately register with global ToolsService
|
|
72
|
+
Service_1.toolsService.registerResource(config.uri, config.name, config.description, config.mimeType, boundHandler);
|
|
73
|
+
};
|
|
74
|
+
}
|
|
53
75
|
//# sourceMappingURL=Decorator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Decorator.js","sourceRoot":"","sources":["../../src/decorator/Decorator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Decorator.js","sourceRoot":"","sources":["../../src/decorator/Decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@ const Models_1 = require("../types/Models");
|
|
|
13
13
|
jest.mock('../service/Service', () => ({
|
|
14
14
|
toolsService: {
|
|
15
15
|
registerTool: jest.fn(),
|
|
16
|
-
registerInteraction: jest.fn()
|
|
16
|
+
registerInteraction: jest.fn(),
|
|
17
|
+
registerResource: jest.fn()
|
|
17
18
|
}
|
|
18
19
|
}));
|
|
19
20
|
describe('Decorators', () => {
|
|
@@ -36,7 +37,7 @@ describe('Decorators', () => {
|
|
|
36
37
|
__decorate([
|
|
37
38
|
(0, Decorator_1.tool)(config)
|
|
38
39
|
], TestClass.prototype, "testMethod", null);
|
|
39
|
-
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('testTool', 'A test tool', expect.any(Function), [], '/test-tool', [], undefined);
|
|
40
|
+
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('testTool', 'A test tool', expect.any(Function), [], '/test-tool', [], undefined, undefined);
|
|
40
41
|
// Ensure TestClass is considered "used" by TypeScript
|
|
41
42
|
expect(TestClass).toBeDefined();
|
|
42
43
|
});
|
|
@@ -68,7 +69,7 @@ describe('Decorators', () => {
|
|
|
68
69
|
description: 'An input parameter',
|
|
69
70
|
required: true
|
|
70
71
|
})
|
|
71
|
-
]), '/tool-with-params', [], undefined);
|
|
72
|
+
]), '/tool-with-params', [], undefined, undefined);
|
|
72
73
|
// Ensure TestClass is considered "used" by TypeScript
|
|
73
74
|
expect(TestClass).toBeDefined();
|
|
74
75
|
});
|
|
@@ -99,7 +100,7 @@ describe('Decorators', () => {
|
|
|
99
100
|
scopeBundle: 'calendar',
|
|
100
101
|
required: true
|
|
101
102
|
})
|
|
102
|
-
]), undefined);
|
|
103
|
+
]), undefined, undefined);
|
|
103
104
|
// Ensure TestClass is considered "used" by TypeScript
|
|
104
105
|
expect(TestClass).toBeDefined();
|
|
105
106
|
});
|
|
@@ -169,7 +170,7 @@ describe('Decorators', () => {
|
|
|
169
170
|
scopeBundle: 'drive',
|
|
170
171
|
required: false
|
|
171
172
|
})
|
|
172
|
-
]), undefined);
|
|
173
|
+
]), undefined, undefined);
|
|
173
174
|
// Ensure TestClass is considered "used" by TypeScript
|
|
174
175
|
expect(TestClass).toBeDefined();
|
|
175
176
|
});
|
|
@@ -188,7 +189,7 @@ describe('Decorators', () => {
|
|
|
188
189
|
__decorate([
|
|
189
190
|
(0, Decorator_1.tool)(config)
|
|
190
191
|
], TestClass.prototype, "emptyParamsTool", null);
|
|
191
|
-
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('emptyParamsTool', 'Tool with empty parameters', expect.any(Function), [], '/empty-params', [], undefined);
|
|
192
|
+
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('emptyParamsTool', 'Tool with empty parameters', expect.any(Function), [], '/empty-params', [], undefined, undefined);
|
|
192
193
|
expect(TestClass).toBeDefined();
|
|
193
194
|
});
|
|
194
195
|
it('should handle empty auth requirements array', () => {
|
|
@@ -207,7 +208,7 @@ describe('Decorators', () => {
|
|
|
207
208
|
__decorate([
|
|
208
209
|
(0, Decorator_1.tool)(config)
|
|
209
210
|
], TestClass.prototype, "noAuthTool", null);
|
|
210
|
-
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('noAuthTool', 'Tool with no auth requirements', expect.any(Function), [], '/no-auth', [], undefined);
|
|
211
|
+
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('noAuthTool', 'Tool with no auth requirements', expect.any(Function), [], '/no-auth', [], undefined, undefined);
|
|
211
212
|
expect(TestClass).toBeDefined();
|
|
212
213
|
});
|
|
213
214
|
it('should register the actual method as the handler', () => {
|
|
@@ -237,7 +238,8 @@ describe('Decorators', () => {
|
|
|
237
238
|
{ name: 'intParam', type: Models_1.ParameterType.Integer, description: 'Integer param', required: true },
|
|
238
239
|
{ name: 'numberParam', type: Models_1.ParameterType.Number, description: 'Number param', required: false },
|
|
239
240
|
{ name: 'boolParam', type: Models_1.ParameterType.Boolean, description: 'Boolean param', required: false },
|
|
240
|
-
{ name: 'listParam', type: Models_1.ParameterType.List, description: 'List param', required: false },
|
|
241
|
+
{ name: 'listParam', type: Models_1.ParameterType.List, description: 'List param (deprecated)', required: false },
|
|
242
|
+
{ name: 'arrayParam', type: Models_1.ParameterType.Array, description: 'Array param', required: false },
|
|
241
243
|
{ name: 'dictParam', type: Models_1.ParameterType.Dictionary, description: 'Dictionary param', required: false }
|
|
242
244
|
];
|
|
243
245
|
const config = {
|
|
@@ -261,8 +263,46 @@ describe('Decorators', () => {
|
|
|
261
263
|
expect.objectContaining({ name: 'numberParam', type: Models_1.ParameterType.Number }),
|
|
262
264
|
expect.objectContaining({ name: 'boolParam', type: Models_1.ParameterType.Boolean }),
|
|
263
265
|
expect.objectContaining({ name: 'listParam', type: Models_1.ParameterType.List }),
|
|
266
|
+
expect.objectContaining({ name: 'arrayParam', type: Models_1.ParameterType.Array }),
|
|
264
267
|
expect.objectContaining({ name: 'dictParam', type: Models_1.ParameterType.Dictionary })
|
|
265
|
-
]), '/multi-type', [], undefined);
|
|
268
|
+
]), '/multi-type', [], undefined, undefined);
|
|
269
|
+
});
|
|
270
|
+
it('should register a tool with uiResource', () => {
|
|
271
|
+
const config = {
|
|
272
|
+
name: 'toolWithUiResource',
|
|
273
|
+
description: 'Tool with UI resource',
|
|
274
|
+
parameters: [],
|
|
275
|
+
endpoint: '/tool-with-ui-resource',
|
|
276
|
+
uiResource: 'ui://my-app/test-resource'
|
|
277
|
+
};
|
|
278
|
+
class TestClass {
|
|
279
|
+
async toolWithUiResource(_params) {
|
|
280
|
+
return { result: 'success' };
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
__decorate([
|
|
284
|
+
(0, Decorator_1.tool)(config)
|
|
285
|
+
], TestClass.prototype, "toolWithUiResource", null);
|
|
286
|
+
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('toolWithUiResource', 'Tool with UI resource', expect.any(Function), [], '/tool-with-ui-resource', [], undefined, 'ui://my-app/test-resource');
|
|
287
|
+
expect(TestClass).toBeDefined();
|
|
288
|
+
});
|
|
289
|
+
it('should register a tool without uiResource', () => {
|
|
290
|
+
const config = {
|
|
291
|
+
name: 'toolWithoutUiResource',
|
|
292
|
+
description: 'Tool without UI resource',
|
|
293
|
+
parameters: [],
|
|
294
|
+
endpoint: '/tool-without-ui-resource'
|
|
295
|
+
};
|
|
296
|
+
class TestClass {
|
|
297
|
+
async toolWithoutUiResource(_params) {
|
|
298
|
+
return { result: 'success' };
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
__decorate([
|
|
302
|
+
(0, Decorator_1.tool)(config)
|
|
303
|
+
], TestClass.prototype, "toolWithoutUiResource", null);
|
|
304
|
+
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('toolWithoutUiResource', 'Tool without UI resource', expect.any(Function), [], '/tool-without-ui-resource', [], undefined, undefined);
|
|
305
|
+
expect(TestClass).toBeDefined();
|
|
266
306
|
});
|
|
267
307
|
});
|
|
268
308
|
describe('@interaction decorator', () => {
|
|
@@ -322,6 +362,75 @@ describe('Decorators', () => {
|
|
|
322
362
|
expect(Service_1.toolsService.registerInteraction).toHaveBeenNthCalledWith(2, 'interaction2', expect.any(Function), '/interaction2');
|
|
323
363
|
});
|
|
324
364
|
});
|
|
365
|
+
describe('@resource decorator', () => {
|
|
366
|
+
it('should register a resource with correct configuration', () => {
|
|
367
|
+
const config = {
|
|
368
|
+
uri: 'ui://my-app/test-resource',
|
|
369
|
+
name: 'test-resource',
|
|
370
|
+
description: 'A test resource',
|
|
371
|
+
mimeType: 'application/vnd.opal.proteus+json'
|
|
372
|
+
};
|
|
373
|
+
class TestClass {
|
|
374
|
+
async getTestResource() {
|
|
375
|
+
return '{"test": true}';
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
__decorate([
|
|
379
|
+
(0, Decorator_1.resource)(config)
|
|
380
|
+
], TestClass.prototype, "getTestResource", null);
|
|
381
|
+
expect(Service_1.toolsService.registerResource).toHaveBeenCalledWith('ui://my-app/test-resource', 'test-resource', 'A test resource', 'application/vnd.opal.proteus+json', expect.any(Function));
|
|
382
|
+
expect(TestClass).toBeDefined();
|
|
383
|
+
});
|
|
384
|
+
it('should allow resource handler to call class methods', async () => {
|
|
385
|
+
class TestClass {
|
|
386
|
+
getSpec() {
|
|
387
|
+
return '{"from": "class-method"}';
|
|
388
|
+
}
|
|
389
|
+
async getResource() {
|
|
390
|
+
return this.getSpec();
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
__decorate([
|
|
394
|
+
(0, Decorator_1.resource)({
|
|
395
|
+
uri: 'ui://my-app/instance-test',
|
|
396
|
+
name: 'instance-test',
|
|
397
|
+
description: 'Instance test resource',
|
|
398
|
+
mimeType: 'application/json'
|
|
399
|
+
})
|
|
400
|
+
], TestClass.prototype, "getResource", null);
|
|
401
|
+
const mockedRegisterResource = jest.mocked(Service_1.toolsService.registerResource);
|
|
402
|
+
const call = mockedRegisterResource.mock.calls.find((c) => c[0] === 'ui://my-app/instance-test');
|
|
403
|
+
const registeredHandler = call[4];
|
|
404
|
+
const result = await registeredHandler(undefined);
|
|
405
|
+
expect(result).toBe('{"from": "class-method"}');
|
|
406
|
+
expect(TestClass).toBeDefined();
|
|
407
|
+
});
|
|
408
|
+
it('should handle invalid functionContext gracefully for resource', async () => {
|
|
409
|
+
class TestClass {
|
|
410
|
+
getSpec() {
|
|
411
|
+
return '{"fallback": true}';
|
|
412
|
+
}
|
|
413
|
+
async getResource() {
|
|
414
|
+
return this.getSpec();
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
__decorate([
|
|
418
|
+
(0, Decorator_1.resource)({
|
|
419
|
+
uri: 'ui://my-app/context-test',
|
|
420
|
+
name: 'context-test',
|
|
421
|
+
description: 'Context test resource',
|
|
422
|
+
mimeType: 'application/json'
|
|
423
|
+
})
|
|
424
|
+
], TestClass.prototype, "getResource", null);
|
|
425
|
+
const mockedRegisterResource = jest.mocked(Service_1.toolsService.registerResource);
|
|
426
|
+
const call = mockedRegisterResource.mock.calls.find((c) => c[0] === 'ui://my-app/context-test');
|
|
427
|
+
const registeredHandler = call[4];
|
|
428
|
+
const invalidContext = { notAnInstance: true };
|
|
429
|
+
const result = await registeredHandler(invalidContext);
|
|
430
|
+
expect(result).toBe('{"fallback": true}');
|
|
431
|
+
expect(TestClass).toBeDefined();
|
|
432
|
+
});
|
|
433
|
+
});
|
|
325
434
|
describe('mixed decorators', () => {
|
|
326
435
|
it('should handle both tool and interaction decorators in the same class', () => {
|
|
327
436
|
const toolConfig = {
|
|
@@ -358,7 +467,7 @@ describe('Decorators', () => {
|
|
|
358
467
|
description: 'String param',
|
|
359
468
|
required: true
|
|
360
469
|
})
|
|
361
|
-
]), '/mixed-tool', [], undefined);
|
|
470
|
+
]), '/mixed-tool', [], undefined, undefined);
|
|
362
471
|
expect(Service_1.toolsService.registerInteraction).toHaveBeenCalledWith('mixedInteraction', expect.any(Function), '/mixed-interaction');
|
|
363
472
|
});
|
|
364
473
|
});
|
|
@@ -379,7 +488,7 @@ describe('Decorators', () => {
|
|
|
379
488
|
__decorate([
|
|
380
489
|
(0, Decorator_1.tool)(config)
|
|
381
490
|
], TestClass.prototype, "toolWithTags", null);
|
|
382
|
-
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('toolWithTags', 'Tool with tags', expect.any(Function), [], '/tool-with-tags', [], ['get_tool', 'default_tool_set']);
|
|
491
|
+
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('toolWithTags', 'Tool with tags', expect.any(Function), [], '/tool-with-tags', [], ['get_tool', 'default_tool_set'], undefined);
|
|
383
492
|
expect(TestClass).toBeDefined();
|
|
384
493
|
});
|
|
385
494
|
it('should register a tool with empty tags array', () => {
|
|
@@ -398,7 +507,7 @@ describe('Decorators', () => {
|
|
|
398
507
|
__decorate([
|
|
399
508
|
(0, Decorator_1.tool)(config)
|
|
400
509
|
], TestClass.prototype, "toolWithEmptyTags", null);
|
|
401
|
-
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('toolWithEmptyTags', 'Tool with empty tags', expect.any(Function), [], '/tool-with-empty-tags', [], []);
|
|
510
|
+
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('toolWithEmptyTags', 'Tool with empty tags', expect.any(Function), [], '/tool-with-empty-tags', [], [], undefined);
|
|
402
511
|
expect(TestClass).toBeDefined();
|
|
403
512
|
});
|
|
404
513
|
it('should register a tool without tags property', () => {
|
|
@@ -416,7 +525,7 @@ describe('Decorators', () => {
|
|
|
416
525
|
__decorate([
|
|
417
526
|
(0, Decorator_1.tool)(config)
|
|
418
527
|
], TestClass.prototype, "toolWithoutTags", null);
|
|
419
|
-
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('toolWithoutTags', 'Tool without tags property', expect.any(Function), [], '/tool-without-tags', [], undefined);
|
|
528
|
+
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('toolWithoutTags', 'Tool without tags property', expect.any(Function), [], '/tool-without-tags', [], undefined, undefined);
|
|
420
529
|
expect(TestClass).toBeDefined();
|
|
421
530
|
});
|
|
422
531
|
it('should register a tool with tags and parameters', () => {
|
|
@@ -444,7 +553,7 @@ describe('Decorators', () => {
|
|
|
444
553
|
description: 'Param 1',
|
|
445
554
|
required: true
|
|
446
555
|
})
|
|
447
|
-
]), '/tool-with-tags-params', [], ['tag1', 'tag2']);
|
|
556
|
+
]), '/tool-with-tags-params', [], ['tag1', 'tag2'], undefined);
|
|
448
557
|
expect(TestClass).toBeDefined();
|
|
449
558
|
});
|
|
450
559
|
});
|
|
@@ -477,7 +586,7 @@ describe('Decorators', () => {
|
|
|
477
586
|
scopeBundle: 'calendar',
|
|
478
587
|
required: true // Should default to true
|
|
479
588
|
})
|
|
480
|
-
]), undefined);
|
|
589
|
+
]), undefined, undefined);
|
|
481
590
|
});
|
|
482
591
|
it('should handle undefined parameters and authRequirements arrays', () => {
|
|
483
592
|
const config = {
|
|
@@ -497,7 +606,7 @@ describe('Decorators', () => {
|
|
|
497
606
|
expect(TestClass).toBeDefined();
|
|
498
607
|
expect(Service_1.toolsService.registerTool).toHaveBeenCalledWith('undefinedArraysTool', 'Tool with undefined arrays', expect.any(Function), [], // Should be empty array when parameters is undefined
|
|
499
608
|
'/undefined-arrays', [], // Should be empty array when authRequirements is undefined
|
|
500
|
-
undefined);
|
|
609
|
+
undefined, undefined);
|
|
501
610
|
});
|
|
502
611
|
});
|
|
503
612
|
describe('handler instance context', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Decorator.test.js","sourceRoot":"","sources":["../../src/decorator/Decorator.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Decorator.test.js","sourceRoot":"","sources":["../../src/decorator/Decorator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GlobalFunction, Response } from '@zaiusinc/app-sdk';
|
|
2
|
-
import { ReadyResponse } from '../types/Models';
|
|
2
|
+
import { ReadyResponse, AuthRequirement } from '../types/Models';
|
|
3
3
|
/**
|
|
4
4
|
* Abstract base class for global tool-based function execution
|
|
5
5
|
* Provides a standard interface for processing requests through registered tools
|
|
@@ -12,6 +12,33 @@ export declare abstract class GlobalToolFunction extends GlobalFunction {
|
|
|
12
12
|
* @returns ReadyResponse containing ready status and optional reason when not ready
|
|
13
13
|
*/
|
|
14
14
|
protected ready(): Promise<ReadyResponse | boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* Override this method to customize auth requirements for all tools before they are returned
|
|
17
|
+
* This is useful for instance-level OAuth where the provider name needs to be dynamic
|
|
18
|
+
* based on user settings.
|
|
19
|
+
*
|
|
20
|
+
* @param authRequirements Original auth requirements from tool definitions
|
|
21
|
+
* @returns Modified auth requirements (can return the same array if no changes needed)
|
|
22
|
+
*
|
|
23
|
+
* Example usage:
|
|
24
|
+
* ```typescript
|
|
25
|
+
* public async customizeAuthRequirements(
|
|
26
|
+
* authRequirements: AuthRequirement[]
|
|
27
|
+
* ): Promise<AuthRequirement[]> {
|
|
28
|
+
* const settings = await storage.settings.get('my_settings');
|
|
29
|
+
* const providerName = settings?.provider_name as string;
|
|
30
|
+
*
|
|
31
|
+
* if (providerName) {
|
|
32
|
+
* authRequirements.forEach(auth => {
|
|
33
|
+
* auth.provider = providerName;
|
|
34
|
+
* });
|
|
35
|
+
* }
|
|
36
|
+
*
|
|
37
|
+
* return authRequirements;
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
customizeAuthRequirements(authRequirements: AuthRequirement[]): Promise<AuthRequirement[]>;
|
|
15
42
|
/**
|
|
16
43
|
* Process the incoming request using the tools service
|
|
17
44
|
*
|
|
@@ -22,6 +49,7 @@ export declare abstract class GlobalToolFunction extends GlobalFunction {
|
|
|
22
49
|
/**
|
|
23
50
|
* Authenticate the incoming request based on the endpoint
|
|
24
51
|
* - /discovery: No auth required
|
|
52
|
+
* - /resources/read: No auth required
|
|
25
53
|
* - /overrides: Internal auth (header-based token)
|
|
26
54
|
* - Tools/interactions: Global auth if OptiID is required
|
|
27
55
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalToolFunction.d.ts","sourceRoot":"","sources":["../../src/function/GlobalToolFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAC;AAI9E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"GlobalToolFunction.d.ts","sourceRoot":"","sources":["../../src/function/GlobalToolFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAC;AAI9E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGjE;;;GAGG;AACH,8BAAsB,kBAAmB,SAAQ,cAAc;IAE7D;;;;;OAKG;IACH,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC;IAInD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACU,yBAAyB,CACpC,gBAAgB,EAAE,eAAe,EAAE,GAClC,OAAO,CAAC,eAAe,EAAE,CAAC;IAI7B;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;YAmB3B,aAAa;IAkB3B;;;;;;;;OAQG;YACW,gBAAgB;CAiB/B"}
|
|
@@ -20,6 +20,35 @@ class GlobalToolFunction extends app_sdk_1.GlobalFunction {
|
|
|
20
20
|
ready() {
|
|
21
21
|
return Promise.resolve({ ready: true });
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Override this method to customize auth requirements for all tools before they are returned
|
|
25
|
+
* This is useful for instance-level OAuth where the provider name needs to be dynamic
|
|
26
|
+
* based on user settings.
|
|
27
|
+
*
|
|
28
|
+
* @param authRequirements Original auth requirements from tool definitions
|
|
29
|
+
* @returns Modified auth requirements (can return the same array if no changes needed)
|
|
30
|
+
*
|
|
31
|
+
* Example usage:
|
|
32
|
+
* ```typescript
|
|
33
|
+
* public async customizeAuthRequirements(
|
|
34
|
+
* authRequirements: AuthRequirement[]
|
|
35
|
+
* ): Promise<AuthRequirement[]> {
|
|
36
|
+
* const settings = await storage.settings.get('my_settings');
|
|
37
|
+
* const providerName = settings?.provider_name as string;
|
|
38
|
+
*
|
|
39
|
+
* if (providerName) {
|
|
40
|
+
* authRequirements.forEach(auth => {
|
|
41
|
+
* auth.provider = providerName;
|
|
42
|
+
* });
|
|
43
|
+
* }
|
|
44
|
+
*
|
|
45
|
+
* return authRequirements;
|
|
46
|
+
* }
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
async customizeAuthRequirements(authRequirements) {
|
|
50
|
+
return authRequirements;
|
|
51
|
+
}
|
|
23
52
|
/**
|
|
24
53
|
* Process the incoming request using the tools service
|
|
25
54
|
*
|
|
@@ -58,14 +87,15 @@ class GlobalToolFunction extends app_sdk_1.GlobalFunction {
|
|
|
58
87
|
/**
|
|
59
88
|
* Authenticate the incoming request based on the endpoint
|
|
60
89
|
* - /discovery: No auth required
|
|
90
|
+
* - /resources/read: No auth required
|
|
61
91
|
* - /overrides: Internal auth (header-based token)
|
|
62
92
|
* - Tools/interactions: Global auth if OptiID is required
|
|
63
93
|
*
|
|
64
94
|
* @throws {ToolError} If authentication fails
|
|
65
95
|
*/
|
|
66
96
|
async authorizeRequest() {
|
|
67
|
-
// Discovery
|
|
68
|
-
if (this.request.path === '/discovery') {
|
|
97
|
+
// Discovery and resource read endpoints don't require auth
|
|
98
|
+
if (this.request.path === '/discovery' || this.request.path === '/resources/read') {
|
|
69
99
|
return;
|
|
70
100
|
}
|
|
71
101
|
// Use internal authentication for overrides endpoint (header-based token)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalToolFunction.js","sourceRoot":"","sources":["../../src/function/GlobalToolFunction.ts"],"names":[],"mappings":";;;AAAA,+CAA8E;AAC9E,iDAA4G;AAC5G,gDAAkD;AAClD,sDAAmD;AAEnD,4DAA8D;AAE9D;;;GAGG;AACH,MAAsB,kBAAmB,SAAQ,wBAAc;IAE7D;;;;;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;QAE7B,oEAAoE;QACpE,MAAM,iBAAiB,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,iBAAiB,EAAE,WAAW,CAAC;QAElD,IAAA,yBAAe,EAAC;YACd,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE;YAChE,UAAU,EAAE,UAAU,IAAI,EAAE;SAC7B,CAAC,CAAC;QAEH,uBAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,uBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,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,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
|
|
1
|
+
{"version":3,"file":"GlobalToolFunction.js","sourceRoot":"","sources":["../../src/function/GlobalToolFunction.ts"],"names":[],"mappings":";;;AAAA,+CAA8E;AAC9E,iDAA4G;AAC5G,gDAAkD;AAClD,sDAAmD;AAEnD,4DAA8D;AAE9D;;;GAGG;AACH,MAAsB,kBAAmB,SAAQ,wBAAc;IAE7D;;;;;OAKG;IACO,KAAK;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,KAAK,CAAC,yBAAyB,CACpC,gBAAmC;QAEnC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,oEAAoE;QACpE,MAAM,iBAAiB,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,iBAAiB,EAAE,WAAW,CAAC;QAElD,IAAA,yBAAe,EAAC;YACd,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE;YAChE,UAAU,EAAE,UAAU,IAAI,EAAE;SAC7B,CAAC,CAAC;QAEH,uBAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,uBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,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,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;;;;;;;;OAQG;IACK,KAAK,CAAC,gBAAgB;QAC5B,2DAA2D;QAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAClF,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,qCAAyB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF;AAhHD,gDAgHC"}
|
|
@@ -171,6 +171,27 @@ describe('GlobalToolFunction', () => {
|
|
|
171
171
|
expect(mockProcessRequest).toHaveBeenCalledWith(discoveryRequest, globalToolFunction);
|
|
172
172
|
});
|
|
173
173
|
});
|
|
174
|
+
describe('/resources/read endpoint', () => {
|
|
175
|
+
it('should allow resources/read endpoint without authentication', async () => {
|
|
176
|
+
// Arrange
|
|
177
|
+
const resourcesReadRequest = {
|
|
178
|
+
headers: new Map(),
|
|
179
|
+
method: 'POST',
|
|
180
|
+
path: '/resources/read'
|
|
181
|
+
};
|
|
182
|
+
globalToolFunction = new TestGlobalToolFunction(resourcesReadRequest);
|
|
183
|
+
mockProcessRequest.mockResolvedValue(mockResponse);
|
|
184
|
+
// Act
|
|
185
|
+
const result = await globalToolFunction.perform();
|
|
186
|
+
// Assert
|
|
187
|
+
expect(result).toBe(mockResponse);
|
|
188
|
+
expect(mockGetTokenVerifier).not.toHaveBeenCalled(); // Should not verify token for resources/read
|
|
189
|
+
// Verify authenticateGlobalRequest was NOT called
|
|
190
|
+
expect(jest.mocked(AuthUtils_1.authenticateGlobalRequest)).not.toHaveBeenCalled();
|
|
191
|
+
// processRequest is called without authValidator (auth handled internally)
|
|
192
|
+
expect(mockProcessRequest).toHaveBeenCalledWith(resourcesReadRequest, globalToolFunction);
|
|
193
|
+
});
|
|
194
|
+
});
|
|
174
195
|
describe('/ready endpoint', () => {
|
|
175
196
|
beforeEach(() => {
|
|
176
197
|
setupAuthMocks();
|