@olane/os 0.7.12-alpha.6 → 0.7.12-alpha.61

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 (66) hide show
  1. package/dist/src/o-olane-os/config/default.config.js +1 -1
  2. package/dist/src/o-olane-os/o-os.d.ts +1 -1
  3. package/dist/src/o-olane-os/o-os.d.ts.map +1 -1
  4. package/dist/src/o-olane-os/o-os.js +1 -2
  5. package/dist/src/utils/config.d.ts.map +1 -1
  6. package/dist/src/utils/config.js +2 -2
  7. package/dist/test/basic/basic-usage.spec.d.ts +0 -1
  8. package/dist/test/basic/basic-usage.spec.js +137 -107
  9. package/dist/test/basic/playground.spec.d.ts +2 -0
  10. package/dist/test/basic/playground.spec.d.ts.map +1 -0
  11. package/dist/test/basic/playground.spec.js +108 -0
  12. package/dist/test/capabilities/base-capability.spec.d.ts +2 -0
  13. package/dist/test/capabilities/base-capability.spec.d.ts.map +1 -0
  14. package/dist/test/capabilities/base-capability.spec.js +174 -0
  15. package/dist/test/capabilities/capability-errors.spec.d.ts +2 -0
  16. package/dist/test/capabilities/capability-errors.spec.d.ts.map +1 -0
  17. package/dist/test/capabilities/capability-errors.spec.js +340 -0
  18. package/dist/test/capabilities/capability-integration.spec.d.ts +2 -0
  19. package/dist/test/capabilities/capability-integration.spec.d.ts.map +1 -0
  20. package/dist/test/capabilities/capability-integration.spec.js +463 -0
  21. package/dist/test/capabilities/capability-registry.spec.d.ts +2 -0
  22. package/dist/test/capabilities/capability-registry.spec.d.ts.map +1 -0
  23. package/dist/test/capabilities/capability-registry.spec.js +261 -0
  24. package/dist/test/capabilities/configure-capability.spec.d.ts +2 -0
  25. package/dist/test/capabilities/configure-capability.spec.d.ts.map +1 -0
  26. package/dist/test/capabilities/configure-capability.spec.js +366 -0
  27. package/dist/test/capabilities/evaluate-capability.spec.d.ts +2 -0
  28. package/dist/test/capabilities/evaluate-capability.spec.d.ts.map +1 -0
  29. package/dist/test/capabilities/evaluate-capability.spec.js +323 -0
  30. package/dist/test/capabilities/intelligence-capability.spec.d.ts +2 -0
  31. package/dist/test/capabilities/intelligence-capability.spec.d.ts.map +1 -0
  32. package/dist/test/capabilities/intelligence-capability.spec.js +171 -0
  33. package/dist/test/capabilities/multiple-step-capability.spec.d.ts +2 -0
  34. package/dist/test/capabilities/multiple-step-capability.spec.d.ts.map +1 -0
  35. package/dist/test/capabilities/multiple-step-capability.spec.js +441 -0
  36. package/dist/test/capabilities/search-capability.spec.d.ts +2 -0
  37. package/dist/test/capabilities/search-capability.spec.d.ts.map +1 -0
  38. package/dist/test/capabilities/search-capability.spec.js +337 -0
  39. package/dist/test/capabilities/task-capability.spec.d.ts +2 -0
  40. package/dist/test/capabilities/task-capability.spec.d.ts.map +1 -0
  41. package/dist/test/capabilities/task-capability.spec.js +335 -0
  42. package/dist/test/capabilities/utils/capability-test-utils.d.ts +68 -0
  43. package/dist/test/capabilities/utils/capability-test-utils.d.ts.map +1 -0
  44. package/dist/test/capabilities/utils/capability-test-utils.js +161 -0
  45. package/dist/test/utils/tmp.node.d.ts +3 -0
  46. package/dist/test/utils/tmp.node.d.ts.map +1 -0
  47. package/dist/test/utils/tmp.node.js +8 -0
  48. package/package.json +15 -12
  49. package/dist/src/network/config/default.config.d.ts +0 -3
  50. package/dist/src/network/config/default.config.d.ts.map +0 -1
  51. package/dist/src/network/config/default.config.js +0 -32
  52. package/dist/src/network/index.d.ts +0 -5
  53. package/dist/src/network/index.d.ts.map +0 -1
  54. package/dist/src/network/index.js +0 -4
  55. package/dist/src/network/interfaces/network-status.enum.d.ts +0 -7
  56. package/dist/src/network/interfaces/network-status.enum.d.ts.map +0 -1
  57. package/dist/src/network/interfaces/network-status.enum.js +0 -7
  58. package/dist/src/network/interfaces/network.interface.d.ts +0 -18
  59. package/dist/src/network/interfaces/network.interface.d.ts.map +0 -1
  60. package/dist/src/network/interfaces/network.interface.js +0 -1
  61. package/dist/src/network/o-network.d.ts +0 -34
  62. package/dist/src/network/o-network.d.ts.map +0 -1
  63. package/dist/src/network/o-network.js +0 -247
  64. package/dist/test/utils/default.network.d.ts +0 -3
  65. package/dist/test/utils/default.network.d.ts.map +0 -1
  66. package/dist/test/utils/default.network.js +0 -33
@@ -0,0 +1,323 @@
1
+ import { expect } from 'chai';
2
+ import { oCapabilityEvaluate, oCapabilityType } from '@olane/o-lane';
3
+ import { createTestOS, createTestLaneTool, createMockCapabilityConfig } from './utils/capability-test-utils.js';
4
+ describe('oCapabilityEvaluate @capability @evaluate', () => {
5
+ let os;
6
+ let laneTool;
7
+ let evaluateCapability;
8
+ before(async () => {
9
+ os = await createTestOS();
10
+ laneTool = await createTestLaneTool(os);
11
+ });
12
+ after(async () => {
13
+ if (laneTool) {
14
+ await laneTool.stop();
15
+ }
16
+ if (os) {
17
+ await os.stop();
18
+ }
19
+ });
20
+ beforeEach(() => {
21
+ evaluateCapability = new oCapabilityEvaluate();
22
+ });
23
+ describe('type identification', () => {
24
+ it('should return EVALUATE type from instance getter', () => {
25
+ expect(evaluateCapability.type).to.equal(oCapabilityType.EVALUATE);
26
+ });
27
+ it('should return EVALUATE type from static getter', () => {
28
+ expect(oCapabilityEvaluate.type).to.equal(oCapabilityType.EVALUATE);
29
+ });
30
+ });
31
+ describe('inheritance', () => {
32
+ it('should extend oCapabilityIntelligence', async () => {
33
+ expect(evaluateCapability).to.respondTo('intelligence');
34
+ });
35
+ it('should have access to intelligence method', async () => {
36
+ const config = createMockCapabilityConfig(laneTool, 'Evaluate this intent');
37
+ await evaluateCapability.execute(config);
38
+ expect(evaluateCapability.intelligence).to.be.a('function');
39
+ });
40
+ });
41
+ describe('run() method', () => {
42
+ it('should execute intelligence with intent', async () => {
43
+ const config = createMockCapabilityConfig(laneTool, 'Evaluate this test intent');
44
+ // May fail if intelligence service not available
45
+ try {
46
+ const result = await evaluateCapability.execute(config);
47
+ expect(result).to.exist;
48
+ expect(result).to.have.property('type');
49
+ }
50
+ catch (error) {
51
+ // Expected if intelligence service is not configured
52
+ expect(error).to.exist;
53
+ }
54
+ });
55
+ it('should include intent in intelligence prompt', async () => {
56
+ const intent = 'Evaluate this specific intent for testing';
57
+ const config = createMockCapabilityConfig(laneTool, intent);
58
+ try {
59
+ await evaluateCapability.execute(config);
60
+ // Validates structure even if intelligence service unavailable
61
+ expect(evaluateCapability.config.intent.value).to.equal(intent);
62
+ }
63
+ catch (error) {
64
+ // Expected if service not available
65
+ }
66
+ });
67
+ it('should include history in intelligence prompt', async () => {
68
+ const history = 'Previous steps:\n1. User asked a question\n2. Searched for information';
69
+ const config = createMockCapabilityConfig(laneTool, 'Evaluate with history');
70
+ config.history = history;
71
+ try {
72
+ await evaluateCapability.execute(config);
73
+ expect(evaluateCapability.config.history).to.equal(history);
74
+ }
75
+ catch (error) {
76
+ // Expected if service not available
77
+ }
78
+ });
79
+ it('should include context in intelligence prompt', async () => {
80
+ const config = createMockCapabilityConfig(laneTool, 'Evaluate with context');
81
+ config.laneConfig.context = {
82
+ toString: () => 'Test context data'
83
+ };
84
+ try {
85
+ await evaluateCapability.execute(config);
86
+ expect(evaluateCapability.config.laneConfig.context).to.exist;
87
+ }
88
+ catch (error) {
89
+ // Expected if service not available
90
+ }
91
+ });
92
+ it('should include extra instructions in intelligence prompt', async () => {
93
+ const extraInstructions = 'Please be concise and focus on key points';
94
+ const config = createMockCapabilityConfig(laneTool, 'Evaluate with instructions');
95
+ config.laneConfig.extraInstructions = extraInstructions;
96
+ try {
97
+ await evaluateCapability.execute(config);
98
+ expect(evaluateCapability.config.laneConfig.extraInstructions).to.equal(extraInstructions);
99
+ }
100
+ catch (error) {
101
+ // Expected if service not available
102
+ }
103
+ });
104
+ it('should handle missing context gracefully', async () => {
105
+ const config = createMockCapabilityConfig(laneTool, 'Evaluate without context');
106
+ // Don't set context
107
+ try {
108
+ await evaluateCapability.execute(config);
109
+ // Should handle missing context
110
+ }
111
+ catch (error) {
112
+ // Expected if service not available
113
+ }
114
+ });
115
+ it('should handle missing history gracefully', async () => {
116
+ const config = createMockCapabilityConfig(laneTool, 'Evaluate without history');
117
+ config.history = '';
118
+ try {
119
+ await evaluateCapability.execute(config);
120
+ expect(evaluateCapability.config.history).to.equal('');
121
+ }
122
+ catch (error) {
123
+ // Expected if service not available
124
+ }
125
+ });
126
+ it('should handle missing extra instructions gracefully', async () => {
127
+ const config = createMockCapabilityConfig(laneTool, 'Evaluate without instructions');
128
+ // Don't set extra instructions
129
+ try {
130
+ await evaluateCapability.execute(config);
131
+ // Should handle missing instructions
132
+ }
133
+ catch (error) {
134
+ // Expected if service not available
135
+ }
136
+ });
137
+ });
138
+ describe('result structure', () => {
139
+ it('should return capability result', async () => {
140
+ const config = createMockCapabilityConfig(laneTool, 'Test result structure');
141
+ try {
142
+ const result = await evaluateCapability.execute(config);
143
+ expect(result).to.exist;
144
+ expect(result.type).to.equal(oCapabilityType.EVALUATE);
145
+ }
146
+ catch (error) {
147
+ // Expected if service not available
148
+ }
149
+ });
150
+ it('should include config in result', async () => {
151
+ const config = createMockCapabilityConfig(laneTool, 'Test config inclusion');
152
+ try {
153
+ const result = await evaluateCapability.execute(config);
154
+ if (result.config) {
155
+ expect(result.config).to.exist;
156
+ }
157
+ }
158
+ catch (error) {
159
+ // Expected if service not available
160
+ }
161
+ });
162
+ });
163
+ describe('streaming support', () => {
164
+ it('should support streaming evaluation', async () => {
165
+ const chunks = [];
166
+ const config = createMockCapabilityConfig(laneTool, 'Evaluate with streaming', {}, {
167
+ useStream: true,
168
+ onChunk: (chunk) => chunks.push(chunk)
169
+ });
170
+ try {
171
+ await evaluateCapability.execute(config);
172
+ expect(config.useStream).to.be.true;
173
+ expect(config.onChunk).to.be.a('function');
174
+ }
175
+ catch (error) {
176
+ // Expected if service not available
177
+ }
178
+ });
179
+ it('should work without streaming', async () => {
180
+ const config = createMockCapabilityConfig(laneTool, 'Evaluate without streaming');
181
+ try {
182
+ await evaluateCapability.execute(config);
183
+ expect(config.useStream).to.be.false;
184
+ }
185
+ catch (error) {
186
+ // Expected if service not available
187
+ }
188
+ });
189
+ });
190
+ describe('complex scenarios', () => {
191
+ it('should handle evaluation with all context elements', async () => {
192
+ const config = createMockCapabilityConfig(laneTool, 'Complex evaluation scenario');
193
+ config.history = 'Step 1: User requested action\nStep 2: Searched for information';
194
+ config.laneConfig.context = {
195
+ toString: () => 'Relevant context about the domain'
196
+ };
197
+ config.laneConfig.extraInstructions = 'Be detailed but concise';
198
+ try {
199
+ await evaluateCapability.execute(config);
200
+ expect(evaluateCapability.config.intent.value).to.equal('Complex evaluation scenario');
201
+ expect(evaluateCapability.config.history).to.exist;
202
+ expect(evaluateCapability.config.laneConfig.context).to.exist;
203
+ expect(evaluateCapability.config.laneConfig.extraInstructions).to.exist;
204
+ }
205
+ catch (error) {
206
+ // Expected if service not available
207
+ }
208
+ });
209
+ it('should handle evaluation with minimal config', async () => {
210
+ const config = createMockCapabilityConfig(laneTool, 'Minimal evaluation');
211
+ try {
212
+ const result = await evaluateCapability.execute(config);
213
+ expect(result).to.exist;
214
+ }
215
+ catch (error) {
216
+ // Expected if service not available
217
+ }
218
+ });
219
+ it('should handle long intent strings', async () => {
220
+ const longIntent = 'Evaluate this very long intent that contains multiple sentences and complex requirements. '.repeat(10);
221
+ const config = createMockCapabilityConfig(laneTool, longIntent);
222
+ try {
223
+ await evaluateCapability.execute(config);
224
+ expect(evaluateCapability.config.intent.value).to.equal(longIntent);
225
+ }
226
+ catch (error) {
227
+ // Expected if service not available
228
+ }
229
+ });
230
+ it('should handle intent with special characters', async () => {
231
+ const intent = 'Evaluate: "What is 2+2?" & other questions! #test';
232
+ const config = createMockCapabilityConfig(laneTool, intent);
233
+ try {
234
+ await evaluateCapability.execute(config);
235
+ expect(evaluateCapability.config.intent.value).to.equal(intent);
236
+ }
237
+ catch (error) {
238
+ // Expected if service not available
239
+ }
240
+ });
241
+ it('should handle multiline intent', async () => {
242
+ const intent = `Evaluate this scenario:
243
+ Line 1: First requirement
244
+ Line 2: Second requirement
245
+ Line 3: Third requirement`;
246
+ const config = createMockCapabilityConfig(laneTool, intent);
247
+ try {
248
+ await evaluateCapability.execute(config);
249
+ expect(evaluateCapability.config.intent.value).to.equal(intent);
250
+ }
251
+ catch (error) {
252
+ // Expected if service not available
253
+ }
254
+ });
255
+ });
256
+ describe('integration with base capabilities', () => {
257
+ it('should have access to node through base class', async () => {
258
+ const config = createMockCapabilityConfig(laneTool, 'Test node access');
259
+ await evaluateCapability.execute(config);
260
+ expect(evaluateCapability.node).to.equal(laneTool);
261
+ });
262
+ it('should have access to intent through base class', async () => {
263
+ const config = createMockCapabilityConfig(laneTool, 'Test intent access');
264
+ await evaluateCapability.execute(config);
265
+ expect(evaluateCapability.intent).to.exist;
266
+ expect(evaluateCapability.intent.value).to.equal('Test intent access');
267
+ });
268
+ it('should support cancellation', () => {
269
+ evaluateCapability.cancel();
270
+ // Should not throw - validates cancel method exists
271
+ });
272
+ });
273
+ describe('error handling', () => {
274
+ it('should handle intelligence service unavailable', async () => {
275
+ const config = createMockCapabilityConfig(laneTool, 'Test error handling');
276
+ try {
277
+ const result = await evaluateCapability.execute(config);
278
+ // If no error, validate result structure
279
+ expect(result).to.exist;
280
+ }
281
+ catch (error) {
282
+ // Expected if intelligence service is not available
283
+ expect(error).to.exist;
284
+ }
285
+ });
286
+ it('should handle node not running', async () => {
287
+ const config = createMockCapabilityConfig(laneTool, 'Test with stopped node');
288
+ await evaluateCapability.execute(config);
289
+ // Stop the node
290
+ await laneTool.stop();
291
+ try {
292
+ const result = await evaluateCapability.intelligence('Test prompt');
293
+ // Should have error
294
+ if (result.error) {
295
+ expect(result.error).to.exist;
296
+ }
297
+ }
298
+ catch (error) {
299
+ // Expected
300
+ expect(error).to.exist;
301
+ }
302
+ // Restart for cleanup
303
+ await laneTool.start();
304
+ });
305
+ });
306
+ describe('parameter handling', () => {
307
+ it('should handle custom parameters', async () => {
308
+ const params = {
309
+ customParam1: 'value1',
310
+ customParam2: 123,
311
+ customParam3: { nested: 'object' }
312
+ };
313
+ const config = createMockCapabilityConfig(laneTool, 'Test custom params', params);
314
+ await evaluateCapability.execute(config);
315
+ expect(evaluateCapability.config.params).to.deep.include(params);
316
+ });
317
+ it('should handle empty parameters', async () => {
318
+ const config = createMockCapabilityConfig(laneTool, 'Test empty params', {});
319
+ await evaluateCapability.execute(config);
320
+ expect(evaluateCapability.config.params).to.exist;
321
+ });
322
+ });
323
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=intelligence-capability.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intelligence-capability.spec.d.ts","sourceRoot":"","sources":["../../../test/capabilities/intelligence-capability.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,171 @@
1
+ import { expect } from 'chai';
2
+ // TODO: oCapabilityIntelligence is not yet implemented
3
+ // import { oCapabilityIntelligence, oCapabilityType, oCapabilityResult } from '@olane/o-lane';
4
+ import { oCapabilityType, oCapabilityResult } from '@olane/o-lane';
5
+ import { NodeState, RestrictedAddresses } from '@olane/o-core';
6
+ import { createTestOS, createTestLaneTool, createMockCapabilityConfig } from './utils/capability-test-utils.js';
7
+ /**
8
+ * Test implementation of oCapabilityIntelligence
9
+ * TODO: This test is skipped until oCapabilityIntelligence is implemented
10
+ */
11
+ class TestIntelligenceCapability {
12
+ async execute(_config) {
13
+ return null;
14
+ }
15
+ async run() {
16
+ const result = await this.intelligence('Test intelligence prompt');
17
+ return new oCapabilityResult({
18
+ type: result.type,
19
+ result: result.result,
20
+ humanResult: result.humanResult,
21
+ error: result.error
22
+ });
23
+ }
24
+ get type() {
25
+ return oCapabilityType.EVALUATE;
26
+ }
27
+ static get type() {
28
+ return oCapabilityType.EVALUATE;
29
+ }
30
+ }
31
+ describe.skip('oCapabilityIntelligence @capability @intelligence', () => {
32
+ let os;
33
+ let laneTool;
34
+ let testCapability;
35
+ before(async () => {
36
+ os = await createTestOS();
37
+ laneTool = await createTestLaneTool(os);
38
+ });
39
+ after(async () => {
40
+ if (laneTool) {
41
+ await laneTool.stop();
42
+ }
43
+ if (os) {
44
+ await os.stop();
45
+ }
46
+ });
47
+ beforeEach(() => {
48
+ testCapability = new TestIntelligenceCapability();
49
+ });
50
+ describe('intelligence() method', () => {
51
+ it('should require node to be running', async () => {
52
+ const config = createMockCapabilityConfig(laneTool, 'Test intent');
53
+ await testCapability.execute(config);
54
+ // Stop the node
55
+ await laneTool.stop();
56
+ try {
57
+ await testCapability.intelligence('Test prompt');
58
+ expect.fail('Should have thrown an error');
59
+ }
60
+ catch (error) {
61
+ expect(error.message).to.include('Node is not running');
62
+ }
63
+ // Restart for cleanup
64
+ await laneTool.start();
65
+ });
66
+ it('should call intelligence service with correct address', async () => {
67
+ // This test validates the structure but may fail if intelligence service is not configured
68
+ // We're testing that the method attempts to use the correct address
69
+ const config = createMockCapabilityConfig(laneTool, 'Test intent');
70
+ await testCapability.execute(config);
71
+ expect(laneTool.state).to.equal(NodeState.RUNNING);
72
+ // The intelligence method should attempt to use RestrictedAddresses.INTELLIGENCE
73
+ // We can't easily test the actual call without mocking, but we can verify the node is running
74
+ expect(RestrictedAddresses.INTELLIGENCE).to.equal('o://intelligence');
75
+ });
76
+ it('should handle streaming configuration', async () => {
77
+ const chunks = [];
78
+ const config = createMockCapabilityConfig(laneTool, 'Test intent', {}, {
79
+ useStream: true,
80
+ onChunk: (chunk) => chunks.push(chunk)
81
+ });
82
+ await testCapability.execute(config);
83
+ expect(testCapability.config.useStream).to.be.true;
84
+ expect(testCapability.config.onChunk).to.be.a('function');
85
+ });
86
+ it('should use non-streaming by default', async () => {
87
+ const config = createMockCapabilityConfig(laneTool, 'Test intent');
88
+ await testCapability.execute(config);
89
+ expect(testCapability.config.useStream).to.be.false;
90
+ });
91
+ });
92
+ describe('result structure', () => {
93
+ it('should return oCapabilityIntelligenceResult', async () => {
94
+ const config = createMockCapabilityConfig(laneTool, 'Test intent');
95
+ // This may fail if intelligence service is not available, but tests the structure
96
+ try {
97
+ const result = await testCapability.execute(config);
98
+ expect(result).to.exist;
99
+ expect(result.type).to.be.a('string');
100
+ }
101
+ catch (error) {
102
+ // Expected if intelligence service is not configured
103
+ // The test still validates the code structure
104
+ }
105
+ });
106
+ it('should handle errors gracefully', async () => {
107
+ const config = createMockCapabilityConfig(laneTool, 'Test intent');
108
+ await testCapability.execute(config);
109
+ // Stop the node to force an error
110
+ await laneTool.stop();
111
+ const result = await testCapability.intelligence('Test prompt');
112
+ expect(result).to.exist;
113
+ expect(result.error).to.exist;
114
+ expect(result.error).to.be.a('string');
115
+ expect(result.result).to.be.null;
116
+ // Restart for cleanup
117
+ await laneTool.start();
118
+ });
119
+ });
120
+ describe('prompt handling', () => {
121
+ it('should accept string prompts', async () => {
122
+ const config = createMockCapabilityConfig(laneTool, 'Test intent');
123
+ await testCapability.execute(config);
124
+ const testPrompts = [
125
+ 'Simple prompt',
126
+ 'Multi-line\nprompt\nwith\nbreaks',
127
+ 'Prompt with special characters: !@#$%^&*()',
128
+ ''
129
+ ];
130
+ for (const prompt of testPrompts) {
131
+ try {
132
+ const result = await testCapability.intelligence(prompt);
133
+ expect(result).to.exist;
134
+ }
135
+ catch (error) {
136
+ // Expected if service not available
137
+ }
138
+ }
139
+ });
140
+ });
141
+ describe('integration with base capability', () => {
142
+ it('should extend oCapability properly', () => {
143
+ expect(testCapability).to.be.instanceOf(TestIntelligenceCapability);
144
+ });
145
+ it('should have access to config through base class', async () => {
146
+ const config = createMockCapabilityConfig(laneTool, 'Test intent', { param1: 'value1' });
147
+ await testCapability.execute(config);
148
+ expect(testCapability.config).to.exist;
149
+ expect(testCapability.config.params).to.deep.equal({ param1: 'value1' });
150
+ });
151
+ it('should have access to node through base class', async () => {
152
+ const config = createMockCapabilityConfig(laneTool, 'Test intent');
153
+ await testCapability.execute(config);
154
+ expect(testCapability.node).to.equal(laneTool);
155
+ });
156
+ it('should have access to intent through base class', async () => {
157
+ const config = createMockCapabilityConfig(laneTool, 'Test intelligence intent');
158
+ await testCapability.execute(config);
159
+ expect(testCapability.intent).to.exist;
160
+ expect(testCapability.intent.intent).to.equal('Test intelligence intent');
161
+ });
162
+ });
163
+ describe('type identification', () => {
164
+ it('should return correct type from instance getter', () => {
165
+ expect(testCapability.type).to.equal(oCapabilityType.EVALUATE);
166
+ });
167
+ it('should return correct type from static getter', () => {
168
+ expect(TestIntelligenceCapability.type).to.equal(oCapabilityType.EVALUATE);
169
+ });
170
+ });
171
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=multiple-step-capability.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiple-step-capability.spec.d.ts","sourceRoot":"","sources":["../../../test/capabilities/multiple-step-capability.spec.ts"],"names":[],"mappings":""}