@cogitator-ai/core 0.4.0 → 0.6.0

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 (124) hide show
  1. package/dist/causal/capabilities/causal-explainer.d.ts.map +1 -1
  2. package/dist/causal/capabilities/causal-explainer.js +11 -4
  3. package/dist/causal/capabilities/causal-explainer.js.map +1 -1
  4. package/dist/causal/capabilities/causal-planner.d.ts.map +1 -1
  5. package/dist/causal/capabilities/causal-planner.js +4 -2
  6. package/dist/causal/capabilities/causal-planner.js.map +1 -1
  7. package/dist/causal/capabilities/effect-predictor.d.ts.map +1 -1
  8. package/dist/causal/capabilities/effect-predictor.js +4 -8
  9. package/dist/causal/capabilities/effect-predictor.js.map +1 -1
  10. package/dist/causal/causal-reasoner.d.ts.map +1 -1
  11. package/dist/causal/causal-reasoner.js +5 -2
  12. package/dist/causal/causal-reasoner.js.map +1 -1
  13. package/dist/causal/discovery/causal-validator.d.ts.map +1 -1
  14. package/dist/causal/discovery/causal-validator.js +4 -2
  15. package/dist/causal/discovery/causal-validator.js.map +1 -1
  16. package/dist/causal/discovery/hypothesis-generator.d.ts.map +1 -1
  17. package/dist/causal/discovery/hypothesis-generator.js +4 -1
  18. package/dist/causal/discovery/hypothesis-generator.js.map +1 -1
  19. package/dist/causal/discovery/prompts.d.ts.map +1 -1
  20. package/dist/causal/discovery/prompts.js +7 -5
  21. package/dist/causal/discovery/prompts.js.map +1 -1
  22. package/dist/causal/graph/causal-graph.d.ts.map +1 -1
  23. package/dist/causal/graph/causal-graph.js.map +1 -1
  24. package/dist/causal/graph/graph-builder.d.ts.map +1 -1
  25. package/dist/causal/graph/graph-builder.js.map +1 -1
  26. package/dist/causal/index.d.ts +1 -1
  27. package/dist/causal/index.d.ts.map +1 -1
  28. package/dist/causal/index.js.map +1 -1
  29. package/dist/causal/inference/adjustment.d.ts.map +1 -1
  30. package/dist/causal/inference/adjustment.js +1 -2
  31. package/dist/causal/inference/adjustment.js.map +1 -1
  32. package/dist/causal/inference/counterfactual.d.ts.map +1 -1
  33. package/dist/causal/inference/counterfactual.js +6 -7
  34. package/dist/causal/inference/counterfactual.js.map +1 -1
  35. package/dist/causal/inference/d-separation.d.ts.map +1 -1
  36. package/dist/causal/inference/d-separation.js.map +1 -1
  37. package/dist/causal/inference/inference-engine.d.ts.map +1 -1
  38. package/dist/causal/inference/inference-engine.js +2 -4
  39. package/dist/causal/inference/inference-engine.js.map +1 -1
  40. package/dist/causal/stores/causal-graph-store.d.ts.map +1 -1
  41. package/dist/causal/stores/causal-graph-store.js.map +1 -1
  42. package/dist/causal/stores/causal-pattern-store.d.ts.map +1 -1
  43. package/dist/causal/stores/causal-pattern-store.js.map +1 -1
  44. package/dist/causal/stores/intervention-log.d.ts.map +1 -1
  45. package/dist/causal/stores/intervention-log.js.map +1 -1
  46. package/dist/cogitator.d.ts +2 -0
  47. package/dist/cogitator.d.ts.map +1 -1
  48. package/dist/cogitator.js +18 -9
  49. package/dist/cogitator.js.map +1 -1
  50. package/dist/llm/google.js +2 -3
  51. package/dist/llm/google.js.map +1 -1
  52. package/package.json +5 -5
  53. package/dist/__tests__/agent.test.d.ts +0 -2
  54. package/dist/__tests__/agent.test.d.ts.map +0 -1
  55. package/dist/__tests__/agent.test.js +0 -91
  56. package/dist/__tests__/agent.test.js.map +0 -1
  57. package/dist/__tests__/base64.test.d.ts +0 -2
  58. package/dist/__tests__/base64.test.d.ts.map +0 -1
  59. package/dist/__tests__/base64.test.js +0 -62
  60. package/dist/__tests__/base64.test.js.map +0 -1
  61. package/dist/__tests__/calculator.test.d.ts +0 -2
  62. package/dist/__tests__/calculator.test.d.ts.map +0 -1
  63. package/dist/__tests__/calculator.test.js +0 -146
  64. package/dist/__tests__/calculator.test.js.map +0 -1
  65. package/dist/__tests__/cogitator-memory.test.d.ts +0 -2
  66. package/dist/__tests__/cogitator-memory.test.d.ts.map +0 -1
  67. package/dist/__tests__/cogitator-memory.test.js +0 -176
  68. package/dist/__tests__/cogitator-memory.test.js.map +0 -1
  69. package/dist/__tests__/datetime.test.d.ts +0 -2
  70. package/dist/__tests__/datetime.test.d.ts.map +0 -1
  71. package/dist/__tests__/datetime.test.js +0 -87
  72. package/dist/__tests__/datetime.test.js.map +0 -1
  73. package/dist/__tests__/exec.test.d.ts +0 -2
  74. package/dist/__tests__/exec.test.d.ts.map +0 -1
  75. package/dist/__tests__/exec.test.js +0 -59
  76. package/dist/__tests__/exec.test.js.map +0 -1
  77. package/dist/__tests__/filesystem.test.d.ts +0 -2
  78. package/dist/__tests__/filesystem.test.d.ts.map +0 -1
  79. package/dist/__tests__/filesystem.test.js +0 -148
  80. package/dist/__tests__/filesystem.test.js.map +0 -1
  81. package/dist/__tests__/google-backend.test.d.ts +0 -5
  82. package/dist/__tests__/google-backend.test.d.ts.map +0 -1
  83. package/dist/__tests__/google-backend.test.js +0 -429
  84. package/dist/__tests__/google-backend.test.js.map +0 -1
  85. package/dist/__tests__/hash.test.d.ts +0 -2
  86. package/dist/__tests__/hash.test.d.ts.map +0 -1
  87. package/dist/__tests__/hash.test.js +0 -50
  88. package/dist/__tests__/hash.test.js.map +0 -1
  89. package/dist/__tests__/http.test.d.ts +0 -2
  90. package/dist/__tests__/http.test.d.ts.map +0 -1
  91. package/dist/__tests__/http.test.js +0 -64
  92. package/dist/__tests__/http.test.js.map +0 -1
  93. package/dist/__tests__/json.test.d.ts +0 -2
  94. package/dist/__tests__/json.test.d.ts.map +0 -1
  95. package/dist/__tests__/json.test.js +0 -65
  96. package/dist/__tests__/json.test.js.map +0 -1
  97. package/dist/__tests__/logger.test.d.ts +0 -2
  98. package/dist/__tests__/logger.test.d.ts.map +0 -1
  99. package/dist/__tests__/logger.test.js +0 -186
  100. package/dist/__tests__/logger.test.js.map +0 -1
  101. package/dist/__tests__/random.test.d.ts +0 -2
  102. package/dist/__tests__/random.test.d.ts.map +0 -1
  103. package/dist/__tests__/random.test.js +0 -81
  104. package/dist/__tests__/random.test.js.map +0 -1
  105. package/dist/__tests__/regex.test.d.ts +0 -2
  106. package/dist/__tests__/regex.test.d.ts.map +0 -1
  107. package/dist/__tests__/regex.test.js +0 -75
  108. package/dist/__tests__/regex.test.js.map +0 -1
  109. package/dist/__tests__/registry.test.d.ts +0 -2
  110. package/dist/__tests__/registry.test.d.ts.map +0 -1
  111. package/dist/__tests__/registry.test.js +0 -102
  112. package/dist/__tests__/registry.test.js.map +0 -1
  113. package/dist/__tests__/sleep.test.d.ts +0 -2
  114. package/dist/__tests__/sleep.test.d.ts.map +0 -1
  115. package/dist/__tests__/sleep.test.js +0 -29
  116. package/dist/__tests__/sleep.test.js.map +0 -1
  117. package/dist/__tests__/tool.test.d.ts +0 -2
  118. package/dist/__tests__/tool.test.d.ts.map +0 -1
  119. package/dist/__tests__/tool.test.js +0 -103
  120. package/dist/__tests__/tool.test.js.map +0 -1
  121. package/dist/__tests__/uuid.test.d.ts +0 -2
  122. package/dist/__tests__/uuid.test.d.ts.map +0 -1
  123. package/dist/__tests__/uuid.test.js +0 -37
  124. package/dist/__tests__/uuid.test.js.map +0 -1
@@ -1,50 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { hash } from '../tools/hash.js';
3
- const mockContext = {
4
- agentId: 'agent_test',
5
- runId: 'run_test',
6
- signal: new AbortController().signal,
7
- };
8
- describe('hash tool', () => {
9
- it('computes sha256 by default', async () => {
10
- const result = await hash.execute({ data: 'hello' }, mockContext);
11
- expect(result).toHaveProperty('hash');
12
- expect(result).toHaveProperty('algorithm', 'sha256');
13
- expect(result).toHaveProperty('encoding', 'hex');
14
- expect(result.hash).toBe('2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824');
15
- });
16
- it('computes md5', async () => {
17
- const result = await hash.execute({ data: 'hello', algorithm: 'md5' }, mockContext);
18
- expect(result.hash).toBe('5d41402abc4b2a76b9719d911017c592');
19
- });
20
- it('computes sha1', async () => {
21
- const result = await hash.execute({ data: 'hello', algorithm: 'sha1' }, mockContext);
22
- expect(result.hash).toBe('aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d');
23
- });
24
- it('computes sha512', async () => {
25
- const result = await hash.execute({ data: 'hello', algorithm: 'sha512' }, mockContext);
26
- const hashValue = result.hash;
27
- expect(hashValue).toHaveLength(128);
28
- });
29
- it('supports base64 encoding', async () => {
30
- const result = await hash.execute({ data: 'hello', algorithm: 'sha256', encoding: 'base64' }, mockContext);
31
- expect(result.hash).toBe('LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=');
32
- });
33
- it('produces consistent hashes', async () => {
34
- const result1 = await hash.execute({ data: 'test data' }, mockContext);
35
- const result2 = await hash.execute({ data: 'test data' }, mockContext);
36
- expect(result1.hash).toBe(result2.hash);
37
- });
38
- it('produces different hashes for different data', async () => {
39
- const result1 = await hash.execute({ data: 'data1' }, mockContext);
40
- const result2 = await hash.execute({ data: 'data2' }, mockContext);
41
- expect(result1.hash).not.toBe(result2.hash);
42
- });
43
- it('has correct metadata', () => {
44
- expect(hash.name).toBe('hash');
45
- const schema = hash.toJSON();
46
- expect(schema.parameters.properties).toHaveProperty('data');
47
- expect(schema.parameters.properties).toHaveProperty('algorithm');
48
- });
49
- });
50
- //# sourceMappingURL=hash.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hash.test.js","sourceRoot":"","sources":["../../src/__tests__/hash.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=http.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/http.test.ts"],"names":[],"mappings":""}
@@ -1,64 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { httpRequest } from '../tools/http.js';
3
- const mockContext = {
4
- agentId: 'agent_test',
5
- runId: 'run_test',
6
- signal: new AbortController().signal,
7
- };
8
- describe('httpRequest tool', () => {
9
- it('makes GET request', async () => {
10
- const result = await httpRequest.execute({ url: 'https://httpbin.org/get' }, mockContext);
11
- expect(result).toHaveProperty('status', 200);
12
- expect(result).toHaveProperty('method', 'GET');
13
- expect(result).toHaveProperty('body');
14
- expect(result).toHaveProperty('headers');
15
- });
16
- it('makes POST request with body', async () => {
17
- const result = await httpRequest.execute({
18
- url: 'https://httpbin.org/post',
19
- method: 'POST',
20
- headers: { 'Content-Type': 'application/json' },
21
- body: JSON.stringify({ test: 'data' }),
22
- }, mockContext);
23
- expect(result).toHaveProperty('status', 200);
24
- expect(result).toHaveProperty('method', 'POST');
25
- const body = JSON.parse(result.body);
26
- expect(body.json).toEqual({ test: 'data' });
27
- });
28
- it('includes custom headers', async () => {
29
- const result = await httpRequest.execute({
30
- url: 'https://httpbin.org/headers',
31
- headers: { 'X-Custom-Header': 'test-value' },
32
- }, mockContext);
33
- const body = JSON.parse(result.body);
34
- expect(body.headers['X-Custom-Header']).toBe('test-value');
35
- });
36
- it('returns error for invalid URL', async () => {
37
- const result = await httpRequest.execute({ url: 'https://this-domain-does-not-exist-12345.com/' }, mockContext);
38
- expect(result).toHaveProperty('error');
39
- });
40
- it('handles timeout', async () => {
41
- const result = await httpRequest.execute({ url: 'https://httpbin.org/delay/10', timeout: 1000 }, mockContext);
42
- expect(result).toHaveProperty('error');
43
- expect(result.error).toContain('timed out');
44
- });
45
- it('returns response headers', async () => {
46
- const result = await httpRequest.execute({ url: 'https://httpbin.org/response-headers?X-Test=hello' }, mockContext);
47
- const headers = result.headers;
48
- expect(headers['x-test']).toBe('hello');
49
- });
50
- it('handles non-2xx status codes', async () => {
51
- const result = await httpRequest.execute({ url: 'https://httpbin.org/status/404' }, mockContext);
52
- expect(result).toHaveProperty('status', 404);
53
- });
54
- it('has sideEffects declared', () => {
55
- expect(httpRequest.sideEffects).toContain('network');
56
- });
57
- it('has correct metadata', () => {
58
- expect(httpRequest.name).toBe('http_request');
59
- const schema = httpRequest.toJSON();
60
- expect(schema.parameters.properties).toHaveProperty('url');
61
- expect(schema.parameters.properties).toHaveProperty('method');
62
- });
63
- });
64
- //# sourceMappingURL=http.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http.test.js","sourceRoot":"","sources":["../../src/__tests__/http.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=json.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/json.test.ts"],"names":[],"mappings":""}
@@ -1,65 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { jsonParse, jsonStringify } from '../tools/json.js';
3
- const mockContext = {
4
- agentId: 'agent_test',
5
- runId: 'run_test',
6
- signal: new AbortController().signal,
7
- };
8
- describe('jsonParse tool', () => {
9
- it('parses valid JSON object', async () => {
10
- const result = await jsonParse.execute({ json: '{"name": "test", "value": 42}' }, mockContext);
11
- expect(result).toHaveProperty('valid', true);
12
- expect(result).toHaveProperty('result');
13
- expect(result.result).toEqual({ name: 'test', value: 42 });
14
- });
15
- it('parses valid JSON array', async () => {
16
- const result = await jsonParse.execute({ json: '[1, 2, 3]' }, mockContext);
17
- expect(result.result).toEqual([1, 2, 3]);
18
- });
19
- it('parses JSON primitives', async () => {
20
- expect((await jsonParse.execute({ json: '"hello"' }, mockContext)).result).toBe('hello');
21
- expect((await jsonParse.execute({ json: '42' }, mockContext)).result).toBe(42);
22
- expect((await jsonParse.execute({ json: 'true' }, mockContext)).result).toBe(true);
23
- expect((await jsonParse.execute({ json: 'null' }, mockContext)).result).toBe(null);
24
- });
25
- it('returns error for invalid JSON', async () => {
26
- const result = await jsonParse.execute({ json: '{invalid}' }, mockContext);
27
- expect(result).toHaveProperty('valid', false);
28
- expect(result).toHaveProperty('error');
29
- });
30
- it('returns error for incomplete JSON', async () => {
31
- const result = await jsonParse.execute({ json: '{"unclosed": ' }, mockContext);
32
- expect(result).toHaveProperty('valid', false);
33
- });
34
- it('has correct metadata', () => {
35
- expect(jsonParse.name).toBe('json_parse');
36
- });
37
- });
38
- describe('jsonStringify tool', () => {
39
- it('stringifies object', async () => {
40
- const result = await jsonStringify.execute({ data: { a: 1, b: 2 } }, mockContext);
41
- expect(result.result).toBe('{"a":1,"b":2}');
42
- expect(result).toHaveProperty('pretty', false);
43
- });
44
- it('stringifies with pretty formatting', async () => {
45
- const result = await jsonStringify.execute({ data: { a: 1 }, pretty: true }, mockContext);
46
- expect(result.result).toBe('{\n "a": 1\n}');
47
- });
48
- it('respects custom indent', async () => {
49
- const result = await jsonStringify.execute({ data: { a: 1 }, pretty: true, indent: 4 }, mockContext);
50
- expect(result.result).toBe('{\n "a": 1\n}');
51
- });
52
- it('stringifies arrays', async () => {
53
- const result = await jsonStringify.execute({ data: [1, 2, 3] }, mockContext);
54
- expect(result.result).toBe('[1,2,3]');
55
- });
56
- it('stringifies primitives', async () => {
57
- expect((await jsonStringify.execute({ data: 'hello' }, mockContext)).result).toBe('"hello"');
58
- expect((await jsonStringify.execute({ data: 42 }, mockContext)).result).toBe('42');
59
- expect((await jsonStringify.execute({ data: null }, mockContext)).result).toBe('null');
60
- });
61
- it('has correct metadata', () => {
62
- expect(jsonStringify.name).toBe('json_stringify');
63
- });
64
- });
65
- //# sourceMappingURL=json.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.test.js","sourceRoot":"","sources":["../../src/__tests__/json.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=logger.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/logger.test.ts"],"names":[],"mappings":""}
@@ -1,186 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
- import { Logger, createLogger, getLogger, setLogger } from '../logger.js';
3
- describe('Logger', () => {
4
- describe('log levels', () => {
5
- it('respects minimum log level', () => {
6
- const entries = [];
7
- const logger = createLogger({
8
- level: 'warn',
9
- output: (entry) => entries.push(entry),
10
- });
11
- logger.debug('debug message');
12
- logger.info('info message');
13
- logger.warn('warn message');
14
- logger.error('error message');
15
- expect(entries).toHaveLength(2);
16
- expect(entries[0].level).toBe('warn');
17
- expect(entries[1].level).toBe('error');
18
- });
19
- it('outputs all levels when set to debug', () => {
20
- const entries = [];
21
- const logger = createLogger({
22
- level: 'debug',
23
- output: (entry) => entries.push(entry),
24
- });
25
- logger.debug('debug');
26
- logger.info('info');
27
- logger.warn('warn');
28
- logger.error('error');
29
- expect(entries).toHaveLength(4);
30
- });
31
- it('defaults to info level', () => {
32
- const entries = [];
33
- const logger = createLogger({
34
- output: (entry) => entries.push(entry),
35
- });
36
- logger.debug('debug');
37
- logger.info('info');
38
- expect(entries).toHaveLength(1);
39
- expect(entries[0].level).toBe('info');
40
- });
41
- });
42
- describe('context', () => {
43
- it('includes context in log entry', () => {
44
- const entries = [];
45
- const logger = createLogger({
46
- level: 'debug',
47
- output: (entry) => entries.push(entry),
48
- });
49
- logger.info('test message', { userId: '123', action: 'login' });
50
- expect(entries[0].context).toEqual({ userId: '123', action: 'login' });
51
- });
52
- it('omits empty context', () => {
53
- const entries = [];
54
- const logger = createLogger({
55
- level: 'debug',
56
- output: (entry) => entries.push(entry),
57
- });
58
- logger.info('test message');
59
- expect(entries[0].context).toBeUndefined();
60
- });
61
- });
62
- describe('child logger', () => {
63
- it('creates child with inherited context', () => {
64
- const entries = [];
65
- const parentWithContext = new Logger({ level: 'debug', output: (entry) => entries.push(entry) }, { service: 'api' });
66
- const child = parentWithContext.child({ requestId: 'req-123' });
67
- child.info('processing request');
68
- expect(entries[0].context).toEqual({ service: 'api', requestId: 'req-123' });
69
- });
70
- it('can add call-time context to child', () => {
71
- const entries = [];
72
- const parent = new Logger({ level: 'debug', output: (entry) => entries.push(entry) }, { service: 'api' });
73
- const child = parent.child({ requestId: 'req-123' });
74
- child.info('operation', { operation: 'fetch' });
75
- expect(entries[0].context).toEqual({
76
- service: 'api',
77
- requestId: 'req-123',
78
- operation: 'fetch',
79
- });
80
- });
81
- });
82
- describe('formatting', () => {
83
- it('outputs JSON format', () => {
84
- let formatted = '';
85
- const logger = createLogger({
86
- level: 'debug',
87
- format: 'json',
88
- output: (_, f) => (formatted = f),
89
- });
90
- logger.info('test', { key: 'value' });
91
- const parsed = JSON.parse(formatted);
92
- expect(parsed.level).toBe('info');
93
- expect(parsed.message).toBe('test');
94
- expect(parsed.context).toEqual({ key: 'value' });
95
- expect(parsed.timestamp).toMatch(/^\d{4}-\d{2}-\d{2}T/);
96
- });
97
- it('outputs pretty format', () => {
98
- let formatted = '';
99
- const logger = createLogger({
100
- level: 'debug',
101
- format: 'pretty',
102
- output: (_, f) => (formatted = f),
103
- });
104
- logger.info('test message');
105
- expect(formatted).toContain('INFO');
106
- expect(formatted).toContain('test message');
107
- });
108
- it('includes context in pretty format', () => {
109
- let formatted = '';
110
- const logger = createLogger({
111
- level: 'debug',
112
- format: 'pretty',
113
- output: (_, f) => (formatted = f),
114
- });
115
- logger.info('test', { userId: '123' });
116
- expect(formatted).toContain('userId="123"');
117
- });
118
- });
119
- describe('timestamp', () => {
120
- it('includes ISO timestamp', () => {
121
- const entries = [];
122
- const logger = createLogger({
123
- level: 'debug',
124
- output: (entry) => entries.push(entry),
125
- });
126
- logger.info('test');
127
- expect(entries[0].timestamp).toMatch(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/);
128
- });
129
- });
130
- describe('default logger', () => {
131
- let originalEnv;
132
- beforeEach(() => {
133
- originalEnv = process.env.LOG_LEVEL;
134
- });
135
- afterEach(() => {
136
- if (originalEnv !== undefined) {
137
- process.env.LOG_LEVEL = originalEnv;
138
- }
139
- else {
140
- process.env.LOG_LEVEL = undefined;
141
- }
142
- setLogger(createLogger());
143
- });
144
- it('getLogger returns singleton', () => {
145
- const logger1 = getLogger();
146
- const logger2 = getLogger();
147
- expect(logger1).toBe(logger2);
148
- });
149
- it('setLogger replaces default', () => {
150
- const entries = [];
151
- const custom = createLogger({
152
- level: 'debug',
153
- output: (entry) => entries.push(entry),
154
- });
155
- setLogger(custom);
156
- const retrieved = getLogger();
157
- retrieved.info('test');
158
- expect(entries).toHaveLength(1);
159
- });
160
- });
161
- describe('console output', () => {
162
- it('uses console.error for error level', () => {
163
- const spy = vi.spyOn(console, 'error').mockImplementation(() => { });
164
- const logger = createLogger({ level: 'debug', format: 'pretty' });
165
- logger.error('error message');
166
- expect(spy).toHaveBeenCalled();
167
- spy.mockRestore();
168
- });
169
- it('uses console.warn for warn level', () => {
170
- const spy = vi.spyOn(console, 'warn').mockImplementation(() => { });
171
- const logger = createLogger({ level: 'debug', format: 'pretty' });
172
- logger.warn('warning');
173
- expect(spy).toHaveBeenCalled();
174
- spy.mockRestore();
175
- });
176
- it('uses console.log for info and debug', () => {
177
- const spy = vi.spyOn(console, 'log').mockImplementation(() => { });
178
- const logger = createLogger({ level: 'debug', format: 'pretty' });
179
- logger.info('info');
180
- logger.debug('debug');
181
- expect(spy).toHaveBeenCalledTimes(2);
182
- spy.mockRestore();
183
- });
184
- });
185
- });
186
- //# sourceMappingURL=logger.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../../src/__tests__/logger.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=random.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"random.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/random.test.ts"],"names":[],"mappings":""}
@@ -1,81 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { randomNumber, randomString } from '../tools/random.js';
3
- const mockContext = {
4
- agentId: 'agent_test',
5
- runId: 'run_test',
6
- signal: new AbortController().signal,
7
- };
8
- describe('randomNumber tool', () => {
9
- it('generates a number between 0 and 1 by default', async () => {
10
- const result = await randomNumber.execute({}, mockContext);
11
- expect(result).toHaveProperty('result');
12
- const value = result.result;
13
- expect(value).toBeGreaterThanOrEqual(0);
14
- expect(value).toBeLessThan(1);
15
- });
16
- it('respects min and max bounds', async () => {
17
- for (let i = 0; i < 20; i++) {
18
- const result = await randomNumber.execute({ min: 10, max: 20 }, mockContext);
19
- const value = result.result;
20
- expect(value).toBeGreaterThanOrEqual(10);
21
- expect(value).toBeLessThan(20);
22
- }
23
- });
24
- it('returns integers when specified', async () => {
25
- for (let i = 0; i < 20; i++) {
26
- const result = await randomNumber.execute({ min: 1, max: 100, integer: true }, mockContext);
27
- const value = result.result;
28
- expect(Number.isInteger(value)).toBe(true);
29
- expect(value).toBeGreaterThanOrEqual(1);
30
- expect(value).toBeLessThan(100);
31
- }
32
- });
33
- it('returns error when min >= max', async () => {
34
- const result = await randomNumber.execute({ min: 10, max: 5 }, mockContext);
35
- expect(result).toHaveProperty('error');
36
- expect(result.error).toContain('min must be less than max');
37
- });
38
- it('has correct metadata', () => {
39
- expect(randomNumber.name).toBe('random_number');
40
- });
41
- });
42
- describe('randomString tool', () => {
43
- it('generates alphanumeric string by default', async () => {
44
- const result = await randomString.execute({ length: 20 }, mockContext);
45
- expect(result).toHaveProperty('result');
46
- const str = result.result;
47
- expect(str).toHaveLength(20);
48
- expect(str).toMatch(/^[A-Za-z0-9]+$/);
49
- });
50
- it('generates alpha-only string', async () => {
51
- const result = await randomString.execute({ length: 20, charset: 'alpha' }, mockContext);
52
- const str = result.result;
53
- expect(str).toMatch(/^[A-Za-z]+$/);
54
- });
55
- it('generates numeric string', async () => {
56
- const result = await randomString.execute({ length: 20, charset: 'numeric' }, mockContext);
57
- const str = result.result;
58
- expect(str).toMatch(/^[0-9]+$/);
59
- });
60
- it('generates hex string', async () => {
61
- const result = await randomString.execute({ length: 32, charset: 'hex' }, mockContext);
62
- const str = result.result;
63
- expect(str).toMatch(/^[0-9a-f]+$/);
64
- });
65
- it('generates unique strings', async () => {
66
- const strings = [];
67
- for (let i = 0; i < 50; i++) {
68
- const result = await randomString.execute({ length: 32 }, mockContext);
69
- strings.push(result.result);
70
- }
71
- const unique = new Set(strings);
72
- expect(unique.size).toBe(50);
73
- });
74
- it('has correct metadata', () => {
75
- expect(randomString.name).toBe('random_string');
76
- const schema = randomString.toJSON();
77
- expect(schema.parameters.properties).toHaveProperty('length');
78
- expect(schema.parameters.properties).toHaveProperty('charset');
79
- });
80
- });
81
- //# sourceMappingURL=random.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"random.test.js","sourceRoot":"","sources":["../../src/__tests__/random.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=regex.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"regex.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/regex.test.ts"],"names":[],"mappings":""}
@@ -1,75 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { regexMatch, regexReplace } from '../tools/regex.js';
3
- const mockContext = {
4
- agentId: 'agent_test',
5
- runId: 'run_test',
6
- signal: new AbortController().signal,
7
- };
8
- describe('regexMatch tool', () => {
9
- it('finds all matches with global flag', async () => {
10
- const result = await regexMatch.execute({ text: 'cat bat rat', pattern: '[cbr]at' }, mockContext);
11
- expect(result).toHaveProperty('count', 3);
12
- const matches = result.matches;
13
- expect(matches.map((m) => m.match)).toEqual(['cat', 'bat', 'rat']);
14
- });
15
- it('returns match positions', async () => {
16
- const result = await regexMatch.execute({ text: 'hello world', pattern: 'o' }, mockContext);
17
- const matches = result.matches;
18
- expect(matches[0]).toEqual({ match: 'o', index: 4, groups: undefined });
19
- expect(matches[1]).toEqual({ match: 'o', index: 7, groups: undefined });
20
- });
21
- it('supports case-insensitive matching', async () => {
22
- const result = await regexMatch.execute({ text: 'Hello HELLO hello', pattern: 'hello', flags: 'gi' }, mockContext);
23
- expect(result).toHaveProperty('count', 3);
24
- });
25
- it('returns named groups', async () => {
26
- const result = await regexMatch.execute({ text: 'John: 25, Jane: 30', pattern: '(?<name>\\w+): (?<age>\\d+)', flags: 'g' }, mockContext);
27
- const matches = result.matches;
28
- expect(matches[0].groups).toEqual({ name: 'John', age: '25' });
29
- expect(matches[1].groups).toEqual({ name: 'Jane', age: '30' });
30
- });
31
- it('returns empty array for no matches', async () => {
32
- const result = await regexMatch.execute({ text: 'hello', pattern: 'xyz' }, mockContext);
33
- expect(result).toHaveProperty('count', 0);
34
- expect(result.matches).toEqual([]);
35
- });
36
- it('handles invalid regex', async () => {
37
- const result = await regexMatch.execute({ text: 'hello', pattern: '[invalid' }, mockContext);
38
- expect(result).toHaveProperty('error');
39
- });
40
- it('works without global flag', async () => {
41
- const result = await regexMatch.execute({ text: 'cat bat rat', pattern: '[cbr]at', flags: '' }, mockContext);
42
- expect(result).toHaveProperty('count', 1);
43
- });
44
- it('has correct metadata', () => {
45
- expect(regexMatch.name).toBe('regex_match');
46
- });
47
- });
48
- describe('regexReplace tool', () => {
49
- it('replaces all matches by default', async () => {
50
- const result = await regexReplace.execute({ text: 'cat bat rat', pattern: '[cbr]at', replacement: 'dog' }, mockContext);
51
- expect(result.result).toBe('dog dog dog');
52
- expect(result).toHaveProperty('replacements', 3);
53
- });
54
- it('uses capture groups in replacement', async () => {
55
- const result = await regexReplace.execute({ text: 'hello world', pattern: '(\\w+) (\\w+)', replacement: '$2 $1' }, mockContext);
56
- expect(result.result).toBe('world hello');
57
- });
58
- it('replaces only first match without global flag', async () => {
59
- const result = await regexReplace.execute({ text: 'cat bat rat', pattern: '[cbr]at', replacement: 'dog', flags: '' }, mockContext);
60
- expect(result.result).toBe('dog bat rat');
61
- });
62
- it('handles no matches', async () => {
63
- const result = await regexReplace.execute({ text: 'hello', pattern: 'xyz', replacement: 'abc' }, mockContext);
64
- expect(result.result).toBe('hello');
65
- expect(result).toHaveProperty('replacements', 0);
66
- });
67
- it('handles invalid regex', async () => {
68
- const result = await regexReplace.execute({ text: 'hello', pattern: '[invalid', replacement: 'x' }, mockContext);
69
- expect(result).toHaveProperty('error');
70
- });
71
- it('has correct metadata', () => {
72
- expect(regexReplace.name).toBe('regex_replace');
73
- });
74
- });
75
- //# sourceMappingURL=regex.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"regex.test.js","sourceRoot":"","sources":["../../src/__tests__/regex.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;CACrC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CACrC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,EAC3C,WAAW,CACZ,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAI,MAA2C,CAAC,OAAO,CAAC;QACrE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CACrC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,EACrC,WAAW,CACZ,CAAC;QACF,MAAM,OAAO,GAAI,MAA0D,CAAC,OAAO,CAAC;QACpF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CACrC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAC5D,WAAW,CACZ,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CACrC,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,6BAA6B,EAAE,KAAK,EAAE,GAAG,EAAE,EAClF,WAAW,CACZ,CAAC;QACF,MAAM,OAAO,GAAI,MAA6D,CAAC,OAAO,CAAC;QACvF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CACrC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EACjC,WAAW,CACZ,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAE,MAAiC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CACrC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EACtC,WAAW,CACZ,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CACrC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,EACtD,WAAW,CACZ,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CACvC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,EAC/D,WAAW,CACZ,CAAC;QACF,MAAM,CAAE,MAA6B,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CACvC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,EACvE,WAAW,CACZ,CAAC;QACF,MAAM,CAAE,MAA6B,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CACvC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAC1E,WAAW,CACZ,CAAC;QACF,MAAM,CAAE,MAA6B,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CACvC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EACrD,WAAW,CACZ,CAAC;QACF,MAAM,CAAE,MAA6B,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CACvC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,EACxD,WAAW,CACZ,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=registry.test.d.ts.map