@aria-cli/tools 1.0.9 → 1.0.11
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/package.json +9 -5
- package/src/__tests__/web-fetch-download.test.ts +0 -433
- package/src/__tests__/web-tools.test.ts +0 -619
- package/src/ask-user-interaction.ts +0 -33
- package/src/cache/web-cache.ts +0 -110
- package/src/definitions/arion.ts +0 -118
- package/src/definitions/browser/browser.ts +0 -502
- package/src/definitions/browser/index.ts +0 -5
- package/src/definitions/browser/pw-downloads.ts +0 -142
- package/src/definitions/browser/pw-interactions.ts +0 -282
- package/src/definitions/browser/pw-responses.ts +0 -98
- package/src/definitions/browser/pw-session.ts +0 -405
- package/src/definitions/browser/pw-shared.ts +0 -85
- package/src/definitions/browser/pw-snapshot.ts +0 -383
- package/src/definitions/browser/pw-state.ts +0 -101
- package/src/definitions/browser/types.ts +0 -203
- package/src/definitions/code-intelligence.ts +0 -526
- package/src/definitions/core.ts +0 -118
- package/src/definitions/delegation.ts +0 -567
- package/src/definitions/deploy.ts +0 -73
- package/src/definitions/filesystem.ts +0 -217
- package/src/definitions/frg.ts +0 -67
- package/src/definitions/index.ts +0 -28
- package/src/definitions/memory.ts +0 -150
- package/src/definitions/messaging.ts +0 -734
- package/src/definitions/meta.ts +0 -392
- package/src/definitions/network.ts +0 -179
- package/src/definitions/outlook.ts +0 -318
- package/src/definitions/patch/apply-patch.ts +0 -235
- package/src/definitions/patch/fuzzy-match.ts +0 -217
- package/src/definitions/patch/index.ts +0 -1
- package/src/definitions/patch/patch-parser.ts +0 -297
- package/src/definitions/patch/sandbox-paths.ts +0 -129
- package/src/definitions/process/index.ts +0 -5
- package/src/definitions/process/process-registry.ts +0 -303
- package/src/definitions/process/process.ts +0 -456
- package/src/definitions/process/pty-keys.ts +0 -298
- package/src/definitions/process/session-slug.ts +0 -147
- package/src/definitions/quip.ts +0 -225
- package/src/definitions/search.ts +0 -67
- package/src/definitions/session-history.ts +0 -79
- package/src/definitions/shell.ts +0 -202
- package/src/definitions/slack.ts +0 -211
- package/src/definitions/web.ts +0 -119
- package/src/executors/apply-patch.ts +0 -1035
- package/src/executors/arion.ts +0 -199
- package/src/executors/code-intelligence.ts +0 -1179
- package/src/executors/deploy.ts +0 -1066
- package/src/executors/filesystem.ts +0 -1428
- package/src/executors/frg-freshness.ts +0 -743
- package/src/executors/frg.ts +0 -394
- package/src/executors/index.ts +0 -280
- package/src/executors/learning-meta.ts +0 -1367
- package/src/executors/lsp-client.ts +0 -355
- package/src/executors/memory.ts +0 -978
- package/src/executors/meta.ts +0 -293
- package/src/executors/process-registry.ts +0 -570
- package/src/executors/pty-session-store.ts +0 -43
- package/src/executors/pty.ts +0 -342
- package/src/executors/restart.ts +0 -133
- package/src/executors/search-freshness.ts +0 -249
- package/src/executors/search-types.ts +0 -98
- package/src/executors/search.ts +0 -89
- package/src/executors/self-diagnose.ts +0 -552
- package/src/executors/session-history.ts +0 -435
- package/src/executors/shell-safety.ts +0 -519
- package/src/executors/shell.ts +0 -1243
- package/src/executors/utils.ts +0 -40
- package/src/executors/web.ts +0 -786
- package/src/extraction/content-extraction.ts +0 -281
- package/src/extraction/index.ts +0 -5
- package/src/headless-control-contract.ts +0 -1149
- package/src/index.ts +0 -788
- package/src/local-control-http-auth.ts +0 -2
- package/src/mcp/client.ts +0 -218
- package/src/mcp/connection.ts +0 -568
- package/src/mcp/index.ts +0 -11
- package/src/mcp/jsonrpc.ts +0 -195
- package/src/mcp/types.ts +0 -199
- package/src/network-control-adapter.ts +0 -88
- package/src/network-runtime/address-types.ts +0 -218
- package/src/network-runtime/db-owner-fencing.ts +0 -91
- package/src/network-runtime/delivery-receipts.ts +0 -372
- package/src/network-runtime/direct-endpoint-authority.ts +0 -35
- package/src/network-runtime/index.ts +0 -316
- package/src/network-runtime/local-control-contract.ts +0 -784
- package/src/network-runtime/node-store-contract.ts +0 -46
- package/src/network-runtime/pair-route-contract.ts +0 -97
- package/src/network-runtime/peer-capabilities.ts +0 -48
- package/src/network-runtime/peer-principal-ref.ts +0 -20
- package/src/network-runtime/peer-state-machine.ts +0 -160
- package/src/network-runtime/protocol-schemas.ts +0 -265
- package/src/network-runtime/runtime-bootstrap-contract.ts +0 -83
- package/src/outlook/desktop-session.ts +0 -409
- package/src/policy.ts +0 -171
- package/src/providers/brave.ts +0 -80
- package/src/providers/duckduckgo.ts +0 -199
- package/src/providers/exa.ts +0 -85
- package/src/providers/firecrawl.ts +0 -77
- package/src/providers/index.ts +0 -8
- package/src/providers/jina.ts +0 -70
- package/src/providers/router.ts +0 -121
- package/src/providers/search-provider.ts +0 -74
- package/src/providers/tavily.ts +0 -74
- package/src/quip/desktop-session.ts +0 -435
- package/src/registry/index.ts +0 -1
- package/src/registry/registry.ts +0 -905
- package/src/runtime-socket-local-control-client.ts +0 -632
- package/src/security/dns-normalization.ts +0 -34
- package/src/security/dns-pinning.ts +0 -138
- package/src/security/external-content.ts +0 -129
- package/src/security/ssrf.ts +0 -207
- package/src/slack/desktop-session.ts +0 -493
- package/src/tool-factory.ts +0 -91
- package/src/types.ts +0 -1341
- package/src/utils/retry.ts +0 -163
- package/src/utils/safe-parse-json.ts +0 -176
- package/src/utils/url.ts +0 -20
- package/tests/benchmarks/registry.bench.ts +0 -57
- package/tests/cache/web-cache.test.ts +0 -147
- package/tests/critical-integration.test.ts +0 -1465
- package/tests/definitions/apply-patch.test.ts +0 -586
- package/tests/definitions/browser.test.ts +0 -495
- package/tests/definitions/delegation-pause-resume.test.ts +0 -758
- package/tests/definitions/execution.test.ts +0 -671
- package/tests/definitions/messaging-inbox-scope.test.ts +0 -229
- package/tests/definitions/messaging.test.ts +0 -1468
- package/tests/definitions/outlook.test.ts +0 -30
- package/tests/definitions/process.test.ts +0 -469
- package/tests/definitions/slack.test.ts +0 -28
- package/tests/definitions/tool-inventory.test.ts +0 -218
- package/tests/e2e/delegation-quest-orchestration.e2e.test.ts +0 -433
- package/tests/e2e/memory-tool-discovery-contract.e2e.test.ts +0 -81
- package/tests/executors/apply-patch.test.ts +0 -538
- package/tests/executors/arion.test.ts +0 -309
- package/tests/executors/conversation-primitives.test.ts +0 -250
- package/tests/executors/deploy.test.ts +0 -746
- package/tests/executors/filesystem-tools.test.ts +0 -357
- package/tests/executors/filesystem.test.ts +0 -959
- package/tests/executors/frg-freshness.test.ts +0 -136
- package/tests/executors/frg-merge.test.ts +0 -70
- package/tests/executors/frg-session-content.test.ts +0 -40
- package/tests/executors/frg.test.ts +0 -56
- package/tests/executors/memory-bugfixes.test.ts +0 -257
- package/tests/executors/memory-real-memoria.integration.test.ts +0 -316
- package/tests/executors/memory.test.ts +0 -853
- package/tests/executors/meta-tools.test.ts +0 -411
- package/tests/executors/meta.test.ts +0 -683
- package/tests/executors/path-containment.test.ts +0 -51
- package/tests/executors/process-registry.test.ts +0 -505
- package/tests/executors/pty.test.ts +0 -664
- package/tests/executors/quest-security.test.ts +0 -249
- package/tests/executors/read-file-media.test.ts +0 -230
- package/tests/executors/recall-knowledge-schema.test.ts +0 -209
- package/tests/executors/recall-tags.test.ts +0 -278
- package/tests/executors/remember-null-safety.contract.test.ts +0 -41
- package/tests/executors/restart.test.ts +0 -67
- package/tests/executors/search-unified.test.ts +0 -381
- package/tests/executors/session-history.test.ts +0 -340
- package/tests/executors/session-transcript.test.ts +0 -561
- package/tests/executors/shell-abort.test.ts +0 -416
- package/tests/executors/shell-env-blocklist.test.ts +0 -648
- package/tests/executors/shell-env-process.test.ts +0 -245
- package/tests/executors/shell-process-registry.test.ts +0 -334
- package/tests/executors/shell-tools.test.ts +0 -393
- package/tests/executors/shell.test.ts +0 -690
- package/tests/executors/web-abort-vs-timeout.test.ts +0 -213
- package/tests/executors/web-integration.test.ts +0 -633
- package/tests/executors/web-symlink.test.ts +0 -18
- package/tests/executors/web.test.ts +0 -1400
- package/tests/executors/write-stdin.test.ts +0 -145
- package/tests/extraction/content-extraction.test.ts +0 -153
- package/tests/guards/tools-default-test-lane.integration.test.ts +0 -21
- package/tests/guards/tools-package-test-commands.e2e.test.ts +0 -43
- package/tests/guards/tools-test-lane-manifest.contract.test.ts +0 -76
- package/tests/guards/tools-vitest-workspace-alias.contract.test.ts +0 -63
- package/tests/helpers/async-waits.ts +0 -53
- package/tests/integration/headless-control-contract.integration.test.ts +0 -153
- package/tests/integration/memory-tool-schema-parity.integration.test.ts +0 -67
- package/tests/integration/meta-tools-round-trip.integration.test.ts +0 -506
- package/tests/integration/quest-round-trip.test.ts +0 -303
- package/tests/integration/registry-executor-flow.test.ts +0 -85
- package/tests/integration.test.ts +0 -177
- package/tests/loading-tier.test.ts +0 -126
- package/tests/mcp/client-reconnect.test.ts +0 -267
- package/tests/mcp/connection.test.ts +0 -846
- package/tests/mcp/injectable-logger.test.ts +0 -83
- package/tests/mcp/jsonrpc.test.ts +0 -109
- package/tests/mcp/lifecycle.test.ts +0 -879
- package/tests/network-runtime/address-types.contract.test.ts +0 -143
- package/tests/network-runtime/continuity-bind-schema.contract.test.ts +0 -203
- package/tests/network-runtime/local-control-contract.test.ts +0 -869
- package/tests/network-runtime/local-control-invite-token.contract.test.ts +0 -146
- package/tests/network-runtime/node-store-contract.test.ts +0 -11
- package/tests/network-runtime/pair-protocol-nodeid.contract.test.ts +0 -15
- package/tests/network-runtime/peer-state-machine.contract.test.ts +0 -148
- package/tests/network-runtime/protocol-schemas.contract.test.ts +0 -512
- package/tests/network-runtime/relay-pending-nodeid.contract.test.ts +0 -62
- package/tests/network-runtime/runtime-bootstrap-contract.test.ts +0 -227
- package/tests/network-runtime/runtime-socket-local-control-client.test.ts +0 -621
- package/tests/network-runtime/wait-for-message-script.test.ts +0 -288
- package/tests/parallel.test.ts +0 -71
- package/tests/policy.test.ts +0 -184
- package/tests/print-default-test-lane.ts +0 -14
- package/tests/print-test-lane-manifest.ts +0 -22
- package/tests/providers/brave.test.ts +0 -159
- package/tests/providers/duckduckgo.test.ts +0 -207
- package/tests/providers/exa.test.ts +0 -175
- package/tests/providers/firecrawl.test.ts +0 -168
- package/tests/providers/jina.test.ts +0 -144
- package/tests/providers/router.test.ts +0 -328
- package/tests/providers/tavily.test.ts +0 -165
- package/tests/registry/discovery.test.ts +0 -154
- package/tests/registry/injectable-logger.test.ts +0 -230
- package/tests/registry/input-validation.test.ts +0 -361
- package/tests/registry/interface-completeness.test.ts +0 -85
- package/tests/registry/mcp-integration.test.ts +0 -103
- package/tests/registry/mcp-read-only-hint.test.ts +0 -60
- package/tests/registry/memoria-discovery.test.ts +0 -390
- package/tests/registry/nested-validation.test.ts +0 -283
- package/tests/registry/pseudo-tool-filtering.test.ts +0 -258
- package/tests/registry/registration-lifecycle.test.ts +0 -133
- package/tests/registry-validation.test.ts +0 -424
- package/tests/registry.test.ts +0 -460
- package/tests/security/dns-pinning.test.ts +0 -162
- package/tests/security/external-content.test.ts +0 -144
- package/tests/security/ssrf.test.ts +0 -118
- package/tests/shell-safety-integration.test.ts +0 -32
- package/tests/shell-safety.test.ts +0 -365
- package/tests/slack/desktop-session.test.ts +0 -50
- package/tests/test-lane-manifest.ts +0 -440
- package/tests/test-utils.ts +0 -27
- package/tests/tool-factory.test.ts +0 -188
- package/tests/utils/retry.test.ts +0 -231
- package/tests/utils/url.test.ts +0 -63
- package/tsconfig.cjs.json +0 -24
- package/tsconfig.json +0 -12
- package/vitest.config.ts +0 -55
- package/vitest.e2e.config.ts +0 -24
- package/vitest.integration.config.ts +0 -24
- package/vitest.native.config.ts +0 -24
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @aria/tools - Injectable Logger Tests for MCPClient
|
|
3
|
-
*
|
|
4
|
-
* Verifies that MCPClient uses an injectable logger instead of hardcoded
|
|
5
|
-
* console.warn/error, and that the default behavior (using console) is preserved.
|
|
6
|
-
*
|
|
7
|
-
* aria-rfu.17: Debug cleanup + injectable logger
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { describe, it, expect, vi } from "vitest";
|
|
11
|
-
import { MCPClient } from "../../src/mcp/client.js";
|
|
12
|
-
import type { Logger } from "../../src/types.js";
|
|
13
|
-
|
|
14
|
-
function createMockLogger(): Logger & {
|
|
15
|
-
warn: ReturnType<typeof vi.fn>;
|
|
16
|
-
error: ReturnType<typeof vi.fn>;
|
|
17
|
-
} {
|
|
18
|
-
return {
|
|
19
|
-
warn: vi.fn(),
|
|
20
|
-
error: vi.fn(),
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
describe("MCPClient — injectable logger", () => {
|
|
25
|
-
describe("constructor", () => {
|
|
26
|
-
it("accepts a custom logger via options", () => {
|
|
27
|
-
const logger = createMockLogger();
|
|
28
|
-
const client = new MCPClient({ logger });
|
|
29
|
-
|
|
30
|
-
// Client should be created successfully
|
|
31
|
-
expect(client.getConnectedServers()).toEqual([]);
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
it("defaults to console when no logger is provided", () => {
|
|
35
|
-
const client = new MCPClient();
|
|
36
|
-
expect(client.getConnectedServers()).toEqual([]);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it("defaults to console when options is empty object", () => {
|
|
40
|
-
const client = new MCPClient({});
|
|
41
|
-
expect(client.getConnectedServers()).toEqual([]);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
describe("logger is stored and used internally", () => {
|
|
46
|
-
it("stores custom logger and does not use console for warnings", () => {
|
|
47
|
-
const logger = createMockLogger();
|
|
48
|
-
const client = new MCPClient({ logger });
|
|
49
|
-
|
|
50
|
-
// Client should be usable — logger is stored internally
|
|
51
|
-
// We cannot easily trigger a logger.warn without connecting to a real
|
|
52
|
-
// MCP server, but we verify the client was constructed successfully
|
|
53
|
-
// with the custom logger and that it is functional.
|
|
54
|
-
expect(client.getConnectedServers()).toEqual([]);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
describe("logger isolation between instances", () => {
|
|
59
|
-
it("different MCPClient instances can use different loggers", () => {
|
|
60
|
-
const logger1 = createMockLogger();
|
|
61
|
-
const logger2 = createMockLogger();
|
|
62
|
-
|
|
63
|
-
const client1 = new MCPClient({ logger: logger1 });
|
|
64
|
-
const client2 = new MCPClient({ logger: logger2 });
|
|
65
|
-
|
|
66
|
-
expect(client1).toBeDefined();
|
|
67
|
-
expect(client2).toBeDefined();
|
|
68
|
-
|
|
69
|
-
// They should be independent instances
|
|
70
|
-
expect(client1).not.toBe(client2);
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
describe("disconnectAll is safe with custom logger", () => {
|
|
75
|
-
it("disconnectAll works cleanly with custom logger", async () => {
|
|
76
|
-
const logger = createMockLogger();
|
|
77
|
-
const client = new MCPClient({ logger });
|
|
78
|
-
|
|
79
|
-
// disconnectAll on empty client should be safe
|
|
80
|
-
await expect(client.disconnectAll()).resolves.toBeUndefined();
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
});
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import { PassThrough } from 'stream';
|
|
3
|
-
import { JSONRPCClient } from '../../src/mcp/jsonrpc.js';
|
|
4
|
-
|
|
5
|
-
describe('JSONRPCClient', () => {
|
|
6
|
-
let client: JSONRPCClient;
|
|
7
|
-
let stdin: PassThrough;
|
|
8
|
-
let stdout: PassThrough;
|
|
9
|
-
|
|
10
|
-
beforeEach(() => {
|
|
11
|
-
vi.useFakeTimers();
|
|
12
|
-
client = new JSONRPCClient({ timeout: 1000 });
|
|
13
|
-
stdin = new PassThrough();
|
|
14
|
-
stdout = new PassThrough();
|
|
15
|
-
client.connect(stdin, stdout);
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
afterEach(() => {
|
|
19
|
-
vi.useRealTimers();
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
describe('request', () => {
|
|
23
|
-
it('should send request and receive response', async () => {
|
|
24
|
-
const requestPromise = client.request('test/method', { foo: 'bar' });
|
|
25
|
-
|
|
26
|
-
// Capture sent message
|
|
27
|
-
const chunks: Buffer[] = [];
|
|
28
|
-
stdin.on('data', (chunk) => chunks.push(chunk));
|
|
29
|
-
|
|
30
|
-
// Wait for message to be sent
|
|
31
|
-
await vi.advanceTimersByTimeAsync(10);
|
|
32
|
-
|
|
33
|
-
// Parse request
|
|
34
|
-
const sentMessage = JSON.parse(chunks[0].toString().trim());
|
|
35
|
-
expect(sentMessage.jsonrpc).toBe('2.0');
|
|
36
|
-
expect(sentMessage.method).toBe('test/method');
|
|
37
|
-
expect(sentMessage.params).toEqual({ foo: 'bar' });
|
|
38
|
-
|
|
39
|
-
// Send response
|
|
40
|
-
const response = {
|
|
41
|
-
jsonrpc: '2.0',
|
|
42
|
-
id: sentMessage.id,
|
|
43
|
-
result: { success: true },
|
|
44
|
-
};
|
|
45
|
-
stdout.write(JSON.stringify(response) + '\n');
|
|
46
|
-
|
|
47
|
-
// Verify result
|
|
48
|
-
const result = await requestPromise;
|
|
49
|
-
expect(result).toEqual({ success: true });
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
it('should handle error response', async () => {
|
|
53
|
-
const chunks: Buffer[] = [];
|
|
54
|
-
stdin.on('data', (chunk) => chunks.push(chunk));
|
|
55
|
-
|
|
56
|
-
const requestPromise = client.request('test/error');
|
|
57
|
-
|
|
58
|
-
await vi.advanceTimersByTimeAsync(20);
|
|
59
|
-
const sentMessage = JSON.parse(chunks[0].toString().trim());
|
|
60
|
-
|
|
61
|
-
// Send error response
|
|
62
|
-
const response = {
|
|
63
|
-
jsonrpc: '2.0',
|
|
64
|
-
id: sentMessage.id,
|
|
65
|
-
error: { code: -32600, message: 'Invalid request' },
|
|
66
|
-
};
|
|
67
|
-
stdout.write(JSON.stringify(response) + '\n');
|
|
68
|
-
|
|
69
|
-
await expect(requestPromise).rejects.toThrow('-32600: Invalid request');
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
it('should timeout if no response', async () => {
|
|
73
|
-
const requestPromise = client.request('test/timeout');
|
|
74
|
-
const assertion = expect(requestPromise).rejects.toThrow('Request timeout');
|
|
75
|
-
await vi.advanceTimersByTimeAsync(1000);
|
|
76
|
-
await assertion;
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
describe('notify', () => {
|
|
81
|
-
it('should send notification without waiting for response', () => {
|
|
82
|
-
const chunks: Buffer[] = [];
|
|
83
|
-
stdin.on('data', (chunk) => chunks.push(chunk));
|
|
84
|
-
|
|
85
|
-
client.notify('test/notify', { data: 'value' });
|
|
86
|
-
|
|
87
|
-
const sent = JSON.parse(chunks[0].toString().trim());
|
|
88
|
-
expect(sent.jsonrpc).toBe('2.0');
|
|
89
|
-
expect(sent.method).toBe('test/notify');
|
|
90
|
-
expect(sent.id).toBeUndefined();
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
describe('notifications', () => {
|
|
95
|
-
it('should emit server notifications', async () => {
|
|
96
|
-
const notificationPromise = new Promise((resolve) => {
|
|
97
|
-
client.on('tools/list_changed', resolve);
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
stdout.write(JSON.stringify({
|
|
101
|
-
jsonrpc: '2.0',
|
|
102
|
-
method: 'tools/list_changed',
|
|
103
|
-
params: {},
|
|
104
|
-
}) + '\n');
|
|
105
|
-
|
|
106
|
-
await expect(notificationPromise).resolves.toEqual({});
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
});
|