asyar-sdk 1.10.2 → 1.12.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.
- package/README.md +70 -4
- package/dist/ExtensionBridge.d.ts +48 -0
- package/dist/ExtensionBridge.d.ts.map +1 -1
- package/dist/ExtensionBridge.js +141 -3
- package/dist/ExtensionBridge.js.map +1 -1
- package/dist/ExtensionBridge.test.js +65 -0
- package/dist/ExtensionBridge.test.js.map +1 -1
- package/dist/ExtensionContext.d.ts +77 -1
- package/dist/ExtensionContext.d.ts.map +1 -1
- package/dist/ExtensionContext.js +114 -0
- package/dist/ExtensionContext.js.map +1 -1
- package/dist/ExtensionContext.test.d.ts +2 -0
- package/dist/ExtensionContext.test.d.ts.map +1 -0
- package/dist/ExtensionContext.test.js +101 -0
- package/dist/ExtensionContext.test.js.map +1 -0
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +17 -7
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/lib/manifest.d.ts +22 -1
- package/dist/cli/lib/manifest.d.ts.map +1 -1
- package/dist/cli/lib/manifest.js +129 -1
- package/dist/cli/lib/manifest.js.map +1 -1
- package/dist/icons/iconData.d.ts.map +1 -1
- package/dist/icons/iconData.js +28 -0
- package/dist/icons/iconData.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/search/textUtils.d.ts +2 -1
- package/dist/search/textUtils.d.ts.map +1 -1
- package/dist/search/textUtils.js +143 -7
- package/dist/search/textUtils.js.map +1 -1
- package/dist/search/textUtils.test.js +47 -0
- package/dist/search/textUtils.test.js.map +1 -1
- package/dist/services/AIServiceProxy.d.ts +6 -0
- package/dist/services/AIServiceProxy.d.ts.map +1 -0
- package/dist/services/AIServiceProxy.js +99 -0
- package/dist/services/AIServiceProxy.js.map +1 -0
- package/dist/services/AIServiceProxy.test.d.ts +2 -0
- package/dist/services/AIServiceProxy.test.d.ts.map +1 -0
- package/dist/services/AIServiceProxy.test.js +192 -0
- package/dist/services/AIServiceProxy.test.js.map +1 -0
- package/dist/services/ActionServiceProxy.d.ts +1 -0
- package/dist/services/ActionServiceProxy.d.ts.map +1 -1
- package/dist/services/ActionServiceProxy.js +3 -0
- package/dist/services/ActionServiceProxy.js.map +1 -1
- package/dist/services/ApplicationService.d.ts +39 -0
- package/dist/services/ApplicationService.d.ts.map +1 -0
- package/dist/services/ApplicationService.js +32 -0
- package/dist/services/ApplicationService.js.map +1 -0
- package/dist/services/ApplicationService.test.d.ts +2 -0
- package/dist/services/ApplicationService.test.d.ts.map +1 -0
- package/dist/services/ApplicationService.test.js +75 -0
- package/dist/services/ApplicationService.test.js.map +1 -0
- package/dist/services/BaseServiceProxy.d.ts.map +1 -1
- package/dist/services/BaseServiceProxy.js +3 -1
- package/dist/services/BaseServiceProxy.js.map +1 -1
- package/dist/services/CacheServiceProxy.d.ts +27 -0
- package/dist/services/CacheServiceProxy.d.ts.map +1 -0
- package/dist/services/CacheServiceProxy.js +67 -0
- package/dist/services/CacheServiceProxy.js.map +1 -0
- package/dist/services/CacheServiceProxy.test.d.ts +2 -0
- package/dist/services/CacheServiceProxy.test.d.ts.map +1 -0
- package/dist/services/CacheServiceProxy.test.js +61 -0
- package/dist/services/CacheServiceProxy.test.js.map +1 -0
- package/dist/services/ClipboardHistoryServiceProxy.d.ts +1 -0
- package/dist/services/ClipboardHistoryServiceProxy.d.ts.map +1 -1
- package/dist/services/ClipboardHistoryServiceProxy.js +3 -0
- package/dist/services/ClipboardHistoryServiceProxy.js.map +1 -1
- package/dist/services/CommandServiceProxy.d.ts +3 -0
- package/dist/services/CommandServiceProxy.d.ts.map +1 -1
- package/dist/services/CommandServiceProxy.js +8 -0
- package/dist/services/CommandServiceProxy.js.map +1 -1
- package/dist/services/CommandServiceProxy.test.d.ts +2 -0
- package/dist/services/CommandServiceProxy.test.d.ts.map +1 -0
- package/dist/services/CommandServiceProxy.test.js +69 -0
- package/dist/services/CommandServiceProxy.test.js.map +1 -0
- package/dist/services/ExtensionManagerProxy.d.ts +1 -1
- package/dist/services/ExtensionManagerProxy.d.ts.map +1 -1
- package/dist/services/ExtensionManagerProxy.js +2 -2
- package/dist/services/ExtensionManagerProxy.js.map +1 -1
- package/dist/services/FeedbackServiceProxy.d.ts +25 -0
- package/dist/services/FeedbackServiceProxy.d.ts.map +1 -0
- package/dist/services/FeedbackServiceProxy.js +41 -0
- package/dist/services/FeedbackServiceProxy.js.map +1 -0
- package/dist/services/FileManagerServiceProxy.d.ts +7 -0
- package/dist/services/FileManagerServiceProxy.d.ts.map +1 -0
- package/dist/services/FileManagerServiceProxy.js +27 -0
- package/dist/services/FileManagerServiceProxy.js.map +1 -0
- package/dist/services/FileManagerServiceProxy.test.d.ts +2 -0
- package/dist/services/FileManagerServiceProxy.test.d.ts.map +1 -0
- package/dist/services/FileManagerServiceProxy.test.js +56 -0
- package/dist/services/FileManagerServiceProxy.test.js.map +1 -0
- package/dist/services/IAIService.d.ts +66 -0
- package/dist/services/IAIService.d.ts.map +1 -0
- package/dist/services/IAIService.js +3 -0
- package/dist/services/IAIService.js.map +1 -0
- package/dist/services/ICacheService.d.ts +45 -0
- package/dist/services/ICacheService.d.ts.map +1 -0
- package/dist/services/ICacheService.js +3 -0
- package/dist/services/ICacheService.js.map +1 -0
- package/dist/services/IClipboardHistoryService.d.ts +6 -0
- package/dist/services/IClipboardHistoryService.d.ts.map +1 -1
- package/dist/services/ICommandService.d.ts +3 -0
- package/dist/services/ICommandService.d.ts.map +1 -1
- package/dist/services/IExtensionManager.d.ts +7 -4
- package/dist/services/IExtensionManager.d.ts.map +1 -1
- package/dist/services/IFeedbackService.d.ts +84 -0
- package/dist/services/IFeedbackService.d.ts.map +1 -0
- package/dist/services/IFeedbackService.js +3 -0
- package/dist/services/IFeedbackService.js.map +1 -0
- package/dist/services/IFileManagerService.d.ts +33 -0
- package/dist/services/IFileManagerService.d.ts.map +1 -0
- package/dist/services/IFileManagerService.js +3 -0
- package/dist/services/IFileManagerService.js.map +1 -0
- package/dist/services/IInteropService.d.ts +16 -0
- package/dist/services/IInteropService.d.ts.map +1 -0
- package/dist/services/IInteropService.js +12 -0
- package/dist/services/IInteropService.js.map +1 -0
- package/dist/services/IOAuthService.d.ts +68 -0
- package/dist/services/IOAuthService.d.ts.map +1 -0
- package/dist/services/IOAuthService.js +3 -0
- package/dist/services/IOAuthService.js.map +1 -0
- package/dist/services/ISelectionService.d.ts +23 -0
- package/dist/services/ISelectionService.d.ts.map +1 -0
- package/dist/services/ISelectionService.js +3 -0
- package/dist/services/ISelectionService.js.map +1 -0
- package/dist/services/IShellService.d.ts +39 -0
- package/dist/services/IShellService.d.ts.map +1 -0
- package/dist/services/IShellService.js +3 -0
- package/dist/services/IShellService.js.map +1 -0
- package/dist/services/IStorageService.d.ts +22 -0
- package/dist/services/IStorageService.d.ts.map +1 -0
- package/dist/services/IStorageService.js +3 -0
- package/dist/services/IStorageService.js.map +1 -0
- package/dist/services/InteropServiceProxy.d.ts +6 -0
- package/dist/services/InteropServiceProxy.d.ts.map +1 -0
- package/dist/services/InteropServiceProxy.js +26 -0
- package/dist/services/InteropServiceProxy.js.map +1 -0
- package/dist/services/InteropServiceProxy.test.d.ts +2 -0
- package/dist/services/InteropServiceProxy.test.d.ts.map +1 -0
- package/dist/services/InteropServiceProxy.test.js +59 -0
- package/dist/services/InteropServiceProxy.test.js.map +1 -0
- package/dist/services/OAuthServiceProxy.d.ts +18 -0
- package/dist/services/OAuthServiceProxy.d.ts.map +1 -0
- package/dist/services/OAuthServiceProxy.js +70 -0
- package/dist/services/OAuthServiceProxy.js.map +1 -0
- package/dist/services/OAuthServiceProxy.test.d.ts +2 -0
- package/dist/services/OAuthServiceProxy.test.d.ts.map +1 -0
- package/dist/services/OAuthServiceProxy.test.js +165 -0
- package/dist/services/OAuthServiceProxy.test.js.map +1 -0
- package/dist/services/SelectionServiceProxy.d.ts +10 -0
- package/dist/services/SelectionServiceProxy.d.ts.map +1 -0
- package/dist/services/SelectionServiceProxy.js +17 -0
- package/dist/services/SelectionServiceProxy.js.map +1 -0
- package/dist/services/ShellServiceProxy.d.ts +6 -0
- package/dist/services/ShellServiceProxy.d.ts.map +1 -0
- package/dist/services/ShellServiceProxy.js +78 -0
- package/dist/services/ShellServiceProxy.js.map +1 -0
- package/dist/services/StorageServiceProxy.d.ts +16 -0
- package/dist/services/StorageServiceProxy.d.ts.map +1 -0
- package/dist/services/StorageServiceProxy.js +48 -0
- package/dist/services/StorageServiceProxy.js.map +1 -0
- package/dist/services/WindowManagementService.d.ts +48 -0
- package/dist/services/WindowManagementService.d.ts.map +1 -0
- package/dist/services/WindowManagementService.js +37 -0
- package/dist/services/WindowManagementService.js.map +1 -0
- package/dist/services/WindowManagementService.test.d.ts +2 -0
- package/dist/services/WindowManagementService.test.d.ts.map +1 -0
- package/dist/services/WindowManagementService.test.js +51 -0
- package/dist/services/WindowManagementService.test.js.map +1 -0
- package/dist/services/index.d.ts +23 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +27 -1
- package/dist/services/index.js.map +1 -1
- package/dist/types/ActionType.d.ts +2 -0
- package/dist/types/ActionType.d.ts.map +1 -1
- package/dist/types/ActionType.js.map +1 -1
- package/dist/types/ClipboardType.d.ts +13 -0
- package/dist/types/ClipboardType.d.ts.map +1 -1
- package/dist/types/ExtensionType.d.ts +72 -0
- package/dist/types/ExtensionType.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const vitest_1 = require("vitest");
|
|
13
|
+
const OAuthServiceProxy_1 = require("./OAuthServiceProxy");
|
|
14
|
+
const MessageBroker_1 = require("../ipc/MessageBroker");
|
|
15
|
+
vitest_1.vi.mock('../ipc/MessageBroker', () => ({
|
|
16
|
+
MessageBroker: {
|
|
17
|
+
getInstance: vitest_1.vi.fn(() => ({
|
|
18
|
+
invoke: vitest_1.vi.fn(),
|
|
19
|
+
on: vitest_1.vi.fn(),
|
|
20
|
+
off: vitest_1.vi.fn(),
|
|
21
|
+
})),
|
|
22
|
+
},
|
|
23
|
+
}));
|
|
24
|
+
// ── Helpers ───────────────────────────────────────────────────────────────────
|
|
25
|
+
function makeProxy() {
|
|
26
|
+
const mockInvoke = vitest_1.vi.fn();
|
|
27
|
+
vitest_1.vi.mocked(MessageBroker_1.MessageBroker.getInstance).mockReturnValue({
|
|
28
|
+
invoke: mockInvoke,
|
|
29
|
+
on: vitest_1.vi.fn(),
|
|
30
|
+
off: vitest_1.vi.fn(),
|
|
31
|
+
});
|
|
32
|
+
const proxy = new OAuthServiceProxy_1.OAuthServiceProxy();
|
|
33
|
+
proxy.setExtensionId('ext.test');
|
|
34
|
+
return { proxy, mockInvoke };
|
|
35
|
+
}
|
|
36
|
+
function validConfig() {
|
|
37
|
+
return {
|
|
38
|
+
providerId: 'github',
|
|
39
|
+
clientId: 'my-client-id',
|
|
40
|
+
authorizationUrl: 'https://github.com/login/oauth/authorize',
|
|
41
|
+
tokenUrl: 'https://github.com/login/oauth/access_token',
|
|
42
|
+
scopes: ['repo'],
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function validToken() {
|
|
46
|
+
return {
|
|
47
|
+
accessToken: 'gho_abc123',
|
|
48
|
+
tokenType: 'Bearer',
|
|
49
|
+
scopes: ['repo'],
|
|
50
|
+
expiresAt: Math.floor(Date.now() / 1000) + 3600,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function fireOAuthResult(flowId, payload) {
|
|
54
|
+
window.dispatchEvent(new MessageEvent('message', {
|
|
55
|
+
data: Object.assign({ type: 'asyar:oauth:result', flowId }, payload),
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
// ── Tests ─────────────────────────────────────────────────────────────────────
|
|
59
|
+
(0, vitest_1.describe)('OAuthServiceProxy', () => {
|
|
60
|
+
(0, vitest_1.beforeEach)(() => {
|
|
61
|
+
vitest_1.vi.clearAllMocks();
|
|
62
|
+
});
|
|
63
|
+
(0, vitest_1.describe)('authorize()', () => {
|
|
64
|
+
(0, vitest_1.it)('resolves immediately when IPC response contains a cached token', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
65
|
+
const { proxy, mockInvoke } = makeProxy();
|
|
66
|
+
const token = validToken();
|
|
67
|
+
// Host returned cached token directly in IPC response
|
|
68
|
+
mockInvoke.mockResolvedValue(token);
|
|
69
|
+
const result = yield proxy.authorize(validConfig());
|
|
70
|
+
(0, vitest_1.expect)(result).toEqual(token);
|
|
71
|
+
// setExtensionId patches invoke → originalInvoke(cmd, payload, extensionId, timeoutMs)
|
|
72
|
+
const [cmd, payload] = mockInvoke.mock.calls[0];
|
|
73
|
+
(0, vitest_1.expect)(cmd).toBe('asyar:service:OAuthService:authorize');
|
|
74
|
+
(0, vitest_1.expect)(payload).toMatchObject({
|
|
75
|
+
providerId: 'github',
|
|
76
|
+
clientId: 'my-client-id',
|
|
77
|
+
authorizationUrl: 'https://github.com/login/oauth/authorize',
|
|
78
|
+
tokenUrl: 'https://github.com/login/oauth/access_token',
|
|
79
|
+
scopes: ['repo'],
|
|
80
|
+
});
|
|
81
|
+
}));
|
|
82
|
+
(0, vitest_1.it)('payload key order matches host service parameter order', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
83
|
+
const { proxy, mockInvoke } = makeProxy();
|
|
84
|
+
mockInvoke.mockResolvedValue(validToken());
|
|
85
|
+
yield proxy.authorize(validConfig());
|
|
86
|
+
const payload = mockInvoke.mock.calls[0][1];
|
|
87
|
+
const keys = Object.keys(payload);
|
|
88
|
+
// Must match: providerId, clientId, authorizationUrl, tokenUrl, scopes, flowId
|
|
89
|
+
(0, vitest_1.expect)(keys).toEqual(['providerId', 'clientId', 'authorizationUrl', 'tokenUrl', 'scopes', 'flowId']);
|
|
90
|
+
}));
|
|
91
|
+
(0, vitest_1.it)('resolves via asyar:oauth:result postMessage when host returns pending:true', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
92
|
+
const { proxy, mockInvoke } = makeProxy();
|
|
93
|
+
const token = validToken();
|
|
94
|
+
let capturedFlowId;
|
|
95
|
+
mockInvoke.mockImplementation((_cmd, payload) => {
|
|
96
|
+
capturedFlowId = payload.flowId;
|
|
97
|
+
return Promise.resolve({ pending: true });
|
|
98
|
+
});
|
|
99
|
+
const promise = proxy.authorize(validConfig());
|
|
100
|
+
// Wait for invoke to fire and capture flowId
|
|
101
|
+
yield vitest_1.vi.waitFor(() => capturedFlowId !== undefined);
|
|
102
|
+
// Simulate host posting the result
|
|
103
|
+
fireOAuthResult(capturedFlowId, { token });
|
|
104
|
+
const result = yield promise;
|
|
105
|
+
(0, vitest_1.expect)(result).toEqual(token);
|
|
106
|
+
}));
|
|
107
|
+
(0, vitest_1.it)('rejects when asyar:oauth:result carries an error', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
108
|
+
const { proxy, mockInvoke } = makeProxy();
|
|
109
|
+
let capturedFlowId;
|
|
110
|
+
mockInvoke.mockImplementation((_cmd, payload) => {
|
|
111
|
+
capturedFlowId = payload.flowId;
|
|
112
|
+
return Promise.resolve({ pending: true });
|
|
113
|
+
});
|
|
114
|
+
const promise = proxy.authorize(validConfig());
|
|
115
|
+
yield vitest_1.vi.waitFor(() => capturedFlowId !== undefined);
|
|
116
|
+
fireOAuthResult(capturedFlowId, {
|
|
117
|
+
error: { code: 'access_denied', message: 'User denied access' },
|
|
118
|
+
});
|
|
119
|
+
yield (0, vitest_1.expect)(promise).rejects.toThrow('access_denied');
|
|
120
|
+
}));
|
|
121
|
+
(0, vitest_1.it)('rejects when invoke itself fails', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
122
|
+
const { proxy, mockInvoke } = makeProxy();
|
|
123
|
+
mockInvoke.mockRejectedValue(new Error('Permission denied: oauth:use'));
|
|
124
|
+
yield (0, vitest_1.expect)(proxy.authorize(validConfig())).rejects.toThrow('Permission denied');
|
|
125
|
+
}));
|
|
126
|
+
(0, vitest_1.it)('ignores asyar:oauth:result messages with a different flowId', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
127
|
+
const { proxy, mockInvoke } = makeProxy();
|
|
128
|
+
const token = validToken();
|
|
129
|
+
let capturedFlowId;
|
|
130
|
+
mockInvoke.mockImplementation((_cmd, payload) => {
|
|
131
|
+
capturedFlowId = payload.flowId;
|
|
132
|
+
return Promise.resolve({ pending: true });
|
|
133
|
+
});
|
|
134
|
+
const promise = proxy.authorize(validConfig());
|
|
135
|
+
yield vitest_1.vi.waitFor(() => capturedFlowId !== undefined);
|
|
136
|
+
// Fire a message with a wrong flowId — should be ignored
|
|
137
|
+
fireOAuthResult('wrong-flow-id', { token });
|
|
138
|
+
// Fire the correct one
|
|
139
|
+
fireOAuthResult(capturedFlowId, { token });
|
|
140
|
+
const result = yield promise;
|
|
141
|
+
(0, vitest_1.expect)(result).toEqual(token);
|
|
142
|
+
}));
|
|
143
|
+
(0, vitest_1.it)('cleans up listener after cached token resolve', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
144
|
+
const { proxy, mockInvoke } = makeProxy();
|
|
145
|
+
const token = validToken();
|
|
146
|
+
const addSpy = vitest_1.vi.spyOn(window, 'addEventListener');
|
|
147
|
+
const removeSpy = vitest_1.vi.spyOn(window, 'removeEventListener');
|
|
148
|
+
mockInvoke.mockResolvedValue(token);
|
|
149
|
+
yield proxy.authorize(validConfig());
|
|
150
|
+
(0, vitest_1.expect)(addSpy).toHaveBeenCalledWith('message', vitest_1.expect.any(Function));
|
|
151
|
+
(0, vitest_1.expect)(removeSpy).toHaveBeenCalledWith('message', vitest_1.expect.any(Function));
|
|
152
|
+
}));
|
|
153
|
+
});
|
|
154
|
+
(0, vitest_1.describe)('revokeToken()', () => {
|
|
155
|
+
(0, vitest_1.it)('invokes revokeToken with correct providerId', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
156
|
+
const { proxy, mockInvoke } = makeProxy();
|
|
157
|
+
mockInvoke.mockResolvedValue(undefined);
|
|
158
|
+
yield proxy.revokeToken('github');
|
|
159
|
+
const [cmd, payload] = mockInvoke.mock.calls[0];
|
|
160
|
+
(0, vitest_1.expect)(cmd).toBe('asyar:service:OAuthService:revokeToken');
|
|
161
|
+
(0, vitest_1.expect)(payload).toEqual({ providerId: 'github' });
|
|
162
|
+
}));
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
//# sourceMappingURL=OAuthServiceProxy.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OAuthServiceProxy.test.js","sourceRoot":"","sources":["../../src/services/OAuthServiceProxy.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseServiceProxy } from './BaseServiceProxy';
|
|
2
|
+
import { ISelectionService } from './ISelectionService';
|
|
3
|
+
/**
|
|
4
|
+
* Proxy for the Selection service, mapping SDK calls to IPC commands.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SelectionServiceProxy extends BaseServiceProxy implements ISelectionService {
|
|
7
|
+
getSelectedText(): Promise<string | null>;
|
|
8
|
+
getSelectedFinderItems(): Promise<string[]>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=SelectionServiceProxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/SelectionServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,gBAAiB,YAAW,iBAAiB;IACtF,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKzC,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAI5C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SelectionServiceProxy = void 0;
|
|
4
|
+
const BaseServiceProxy_1 = require("./BaseServiceProxy");
|
|
5
|
+
/**
|
|
6
|
+
* Proxy for the Selection service, mapping SDK calls to IPC commands.
|
|
7
|
+
*/
|
|
8
|
+
class SelectionServiceProxy extends BaseServiceProxy_1.BaseServiceProxy {
|
|
9
|
+
getSelectedText() {
|
|
10
|
+
return this.broker.invoke('selection:getSelectedText', {}, undefined, 5000);
|
|
11
|
+
}
|
|
12
|
+
getSelectedFinderItems() {
|
|
13
|
+
return this.broker.invoke('selection:getSelectedFinderItems', {}, undefined, 5000);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.SelectionServiceProxy = SelectionServiceProxy;
|
|
17
|
+
//# sourceMappingURL=SelectionServiceProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionServiceProxy.js","sourceRoot":"","sources":["../../src/services/SelectionServiceProxy.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AAGrD;;GAEG;AACH,MAAa,qBAAsB,SAAQ,mCAAgB;IACzD,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CACvB,2BAA2B,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CACvB,kCAAkC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;CACF;AAVD,sDAUC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BaseServiceProxy } from './BaseServiceProxy';
|
|
2
|
+
import { IShellService, ShellHandle, SpawnParams } from './IShellService';
|
|
3
|
+
export declare class ShellServiceProxy extends BaseServiceProxy implements IShellService {
|
|
4
|
+
spawn(params: SpawnParams): ShellHandle;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=ShellServiceProxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShellServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/ShellServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAc,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEtF,qBAAa,iBAAkB,SAAQ,gBAAiB,YAAW,aAAa;IAC9E,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW;CA+ExC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShellServiceProxy = void 0;
|
|
4
|
+
const BaseServiceProxy_1 = require("./BaseServiceProxy");
|
|
5
|
+
class ShellServiceProxy extends BaseServiceProxy_1.BaseServiceProxy {
|
|
6
|
+
spawn(params) {
|
|
7
|
+
const spawnId = crypto.randomUUID();
|
|
8
|
+
let settled = false;
|
|
9
|
+
let chunkCb = () => { };
|
|
10
|
+
let doneCb = () => { };
|
|
11
|
+
let errorCb = () => { };
|
|
12
|
+
const cleanup = () => {
|
|
13
|
+
window.removeEventListener('message', onMessage);
|
|
14
|
+
};
|
|
15
|
+
const settle = (err, exitCode) => {
|
|
16
|
+
if (settled)
|
|
17
|
+
return;
|
|
18
|
+
settled = true;
|
|
19
|
+
cleanup();
|
|
20
|
+
if (err) {
|
|
21
|
+
errorCb(err);
|
|
22
|
+
}
|
|
23
|
+
else if (exitCode !== undefined || !err) {
|
|
24
|
+
// Only call doneCb if no error was passed (normal completion)
|
|
25
|
+
doneCb(exitCode);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const onMessage = (event) => {
|
|
29
|
+
const msg = event.data;
|
|
30
|
+
if ((msg === null || msg === void 0 ? void 0 : msg.type) !== 'asyar:stream' || (msg === null || msg === void 0 ? void 0 : msg.streamId) !== spawnId) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const { phase, data } = msg;
|
|
34
|
+
switch (phase) {
|
|
35
|
+
case 'chunk':
|
|
36
|
+
if (data) {
|
|
37
|
+
chunkCb(data);
|
|
38
|
+
}
|
|
39
|
+
break;
|
|
40
|
+
case 'done':
|
|
41
|
+
settle(undefined, data === null || data === void 0 ? void 0 : data.exitCode);
|
|
42
|
+
break;
|
|
43
|
+
case 'error':
|
|
44
|
+
settle((data === null || data === void 0 ? void 0 : data.error) || { code: 'UNKNOWN_ERROR', message: 'Unknown shell stream error' });
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
// Register listener BEFORE invoking to avoid races
|
|
49
|
+
window.addEventListener('message', onMessage);
|
|
50
|
+
this.broker
|
|
51
|
+
.invoke('asyar:service:ShellService:spawn', {
|
|
52
|
+
program: params.program,
|
|
53
|
+
args: params.args,
|
|
54
|
+
spawnId,
|
|
55
|
+
})
|
|
56
|
+
.catch((err) => {
|
|
57
|
+
// Handle rejection from the host side (e.g. permission denied)
|
|
58
|
+
const errorStr = String(err.message || err);
|
|
59
|
+
settle({ code: 'SPAWN_FAILED', message: errorStr });
|
|
60
|
+
});
|
|
61
|
+
return {
|
|
62
|
+
onChunk: (cb) => { chunkCb = cb; },
|
|
63
|
+
onDone: (cb) => { doneCb = cb; },
|
|
64
|
+
onError: (cb) => { errorCb = cb; },
|
|
65
|
+
abort: () => {
|
|
66
|
+
if (settled)
|
|
67
|
+
return;
|
|
68
|
+
window.parent.postMessage({
|
|
69
|
+
type: 'asyar:stream:abort',
|
|
70
|
+
streamId: spawnId,
|
|
71
|
+
}, '*');
|
|
72
|
+
settle({ code: 'ABORTED', message: 'Process was aborted by the extension' });
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.ShellServiceProxy = ShellServiceProxy;
|
|
78
|
+
//# sourceMappingURL=ShellServiceProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShellServiceProxy.js","sourceRoot":"","sources":["../../src/services/ShellServiceProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { IStorageService } from "./IStorageService";
|
|
2
|
+
import { BaseServiceProxy } from "./BaseServiceProxy";
|
|
3
|
+
/**
|
|
4
|
+
* SDK proxy for extension key-value storage.
|
|
5
|
+
*
|
|
6
|
+
* The host's IPC router automatically injects the calling extension's ID,
|
|
7
|
+
* so extensions can only access their own data — no cross-extension leaks.
|
|
8
|
+
*/
|
|
9
|
+
export declare class StorageServiceProxy extends BaseServiceProxy implements IStorageService {
|
|
10
|
+
get(key: string): Promise<string | null>;
|
|
11
|
+
set(key: string, value: string): Promise<void>;
|
|
12
|
+
delete(key: string): Promise<boolean>;
|
|
13
|
+
getAll(): Promise<Record<string, string>>;
|
|
14
|
+
clear(): Promise<number>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=StorageServiceProxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/StorageServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,gBAAiB,YAAW,eAAe;IAC5E,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIzC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;CAG/B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.StorageServiceProxy = void 0;
|
|
13
|
+
const BaseServiceProxy_1 = require("./BaseServiceProxy");
|
|
14
|
+
/**
|
|
15
|
+
* SDK proxy for extension key-value storage.
|
|
16
|
+
*
|
|
17
|
+
* The host's IPC router automatically injects the calling extension's ID,
|
|
18
|
+
* so extensions can only access their own data — no cross-extension leaks.
|
|
19
|
+
*/
|
|
20
|
+
class StorageServiceProxy extends BaseServiceProxy_1.BaseServiceProxy {
|
|
21
|
+
get(key) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
return this.broker.invoke('storage:get', { key });
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
set(key, value) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
return this.broker.invoke('storage:set', { key, value });
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
delete(key) {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
return this.broker.invoke('storage:delete', { key });
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
getAll() {
|
|
37
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
return this.broker.invoke('storage:getAll', {});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
clear() {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
return this.broker.invoke('storage:clear', {});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.StorageServiceProxy = StorageServiceProxy;
|
|
48
|
+
//# sourceMappingURL=StorageServiceProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageServiceProxy.js","sourceRoot":"","sources":["../../src/services/StorageServiceProxy.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yDAAsD;AAEtD;;;;;GAKG;AACH,MAAa,mBAAoB,SAAQ,mCAAgB;IACjD,GAAG,CAAC,GAAW;;YACnB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAgB,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;KAAA;IAEK,GAAG,CAAC,GAAW,EAAE,KAAa;;YAClC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,aAAa,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;KAAA;IAEK,MAAM,CAAC,GAAW;;YACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAU,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAChE,CAAC;KAAA;IAEK,MAAM;;YACV,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAyB,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;KAAA;IAEK,KAAK;;YACT,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAS,eAAe,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC;KAAA;CACF;AApBD,kDAoBC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { BaseServiceProxy } from './BaseServiceProxy';
|
|
2
|
+
export interface WindowBounds {
|
|
3
|
+
/** Logical pixels from the left edge of the monitor. */
|
|
4
|
+
x: number;
|
|
5
|
+
/** Logical pixels from the top edge of the monitor. */
|
|
6
|
+
y: number;
|
|
7
|
+
/** Logical width in pixels. */
|
|
8
|
+
width: number;
|
|
9
|
+
/** Logical height in pixels. */
|
|
10
|
+
height: number;
|
|
11
|
+
}
|
|
12
|
+
export interface IWindowManagementService {
|
|
13
|
+
/**
|
|
14
|
+
* Returns the bounds (position and size) of the frontmost OS application
|
|
15
|
+
* window — the window that was active before Asyar was opened.
|
|
16
|
+
*
|
|
17
|
+
* Requires `window:manage` permission.
|
|
18
|
+
*
|
|
19
|
+
* **macOS:** Uses the Accessibility API (AXUIElement). Requires Accessibility
|
|
20
|
+
* permission in System Settings > Privacy & Security > Accessibility.
|
|
21
|
+
*
|
|
22
|
+
* **Windows:** Targets the window that was frontmost when Asyar was invoked.
|
|
23
|
+
*
|
|
24
|
+
* **Linux (X11):** Requires `xdotool` to be installed. Not supported on Wayland.
|
|
25
|
+
*/
|
|
26
|
+
getWindowBounds(): Promise<WindowBounds>;
|
|
27
|
+
/**
|
|
28
|
+
* Updates the position and/or size of the frontmost OS application window.
|
|
29
|
+
* Omit any fields you do not want to change.
|
|
30
|
+
*
|
|
31
|
+
* Requires `window:manage` permission.
|
|
32
|
+
*/
|
|
33
|
+
setWindowBounds(update: Partial<WindowBounds>): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Toggles the fullscreen state of the frontmost OS application window.
|
|
36
|
+
*
|
|
37
|
+
* On Windows, this maximizes/restores the window.
|
|
38
|
+
*
|
|
39
|
+
* Requires `window:manage` permission.
|
|
40
|
+
*/
|
|
41
|
+
setFullscreen(enable: boolean): Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
export declare class WindowManagementServiceProxy extends BaseServiceProxy implements IWindowManagementService {
|
|
44
|
+
getWindowBounds(): Promise<WindowBounds>;
|
|
45
|
+
setWindowBounds(update: Partial<WindowBounds>): Promise<void>;
|
|
46
|
+
setFullscreen(enable: boolean): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=WindowManagementService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowManagementService.d.ts","sourceRoot":"","sources":["../../src/services/WindowManagementService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,CAAC,EAAE,MAAM,CAAA;IACT,uDAAuD;IACvD,CAAC,EAAE,MAAM,CAAA;IACT,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;;;OAYG;IACH,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;IAExC;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE7D;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9C;AAED,qBAAa,4BACX,SAAQ,gBACR,YAAW,wBAAwB;IAE7B,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC;IAIxC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7D,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAGpD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.WindowManagementServiceProxy = void 0;
|
|
13
|
+
const BaseServiceProxy_1 = require("./BaseServiceProxy");
|
|
14
|
+
class WindowManagementServiceProxy extends BaseServiceProxy_1.BaseServiceProxy {
|
|
15
|
+
getWindowBounds() {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
return this.broker.invoke('WindowManagementService:getWindowBounds');
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
setWindowBounds(update) {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
return this.broker.invoke('WindowManagementService:setWindowBounds', {
|
|
23
|
+
x: update.x,
|
|
24
|
+
y: update.y,
|
|
25
|
+
width: update.width,
|
|
26
|
+
height: update.height,
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
setFullscreen(enable) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
return this.broker.invoke('WindowManagementService:setFullscreen', { enable });
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.WindowManagementServiceProxy = WindowManagementServiceProxy;
|
|
37
|
+
//# sourceMappingURL=WindowManagementService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowManagementService.js","sourceRoot":"","sources":["../../src/services/WindowManagementService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAqD;AA+CrD,MAAa,4BACX,SAAQ,mCAAgB;IAGlB,eAAe;;YACnB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAA;QACtE,CAAC;KAAA;IAEK,eAAe,CAAC,MAA6B;;YACjD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,yCAAyC,EAAE;gBACnE,CAAC,EAAE,MAAM,CAAC,CAAC;gBACX,CAAC,EAAE,MAAM,CAAC,CAAC;gBACX,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAA;QACJ,CAAC;KAAA;IAEK,aAAa,CAAC,MAAe;;YACjC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uCAAuC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAChF,CAAC;KAAA;CACF;AApBD,oEAoBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowManagementService.test.d.ts","sourceRoot":"","sources":["../../src/services/WindowManagementService.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const vitest_1 = require("vitest");
|
|
13
|
+
vitest_1.vi.mock('../ipc/MessageBroker', () => ({
|
|
14
|
+
MessageBroker: {
|
|
15
|
+
getInstance: vitest_1.vi.fn().mockReturnValue({ invoke: vitest_1.vi.fn() }),
|
|
16
|
+
},
|
|
17
|
+
}));
|
|
18
|
+
const MessageBroker_1 = require("../ipc/MessageBroker");
|
|
19
|
+
const WindowManagementService_1 = require("./WindowManagementService");
|
|
20
|
+
(0, vitest_1.describe)('WindowManagementServiceProxy', () => {
|
|
21
|
+
let mockBroker;
|
|
22
|
+
let proxy;
|
|
23
|
+
(0, vitest_1.beforeEach)(() => {
|
|
24
|
+
vitest_1.vi.clearAllMocks();
|
|
25
|
+
mockBroker = MessageBroker_1.MessageBroker.getInstance();
|
|
26
|
+
proxy = new WindowManagementService_1.WindowManagementServiceProxy();
|
|
27
|
+
});
|
|
28
|
+
(0, vitest_1.it)('getWindowBounds calls correct IPC key', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
const bounds = { x: 0, y: 0, width: 1280, height: 800 };
|
|
30
|
+
vitest_1.vi.mocked(mockBroker.invoke).mockResolvedValueOnce(bounds);
|
|
31
|
+
const result = yield proxy.getWindowBounds();
|
|
32
|
+
(0, vitest_1.expect)(mockBroker.invoke).toHaveBeenCalledWith('WindowManagementService:getWindowBounds');
|
|
33
|
+
(0, vitest_1.expect)(result).toEqual(bounds);
|
|
34
|
+
}));
|
|
35
|
+
(0, vitest_1.it)('setWindowBounds calls correct IPC key with partial update', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
+
vitest_1.vi.mocked(mockBroker.invoke).mockResolvedValueOnce(undefined);
|
|
37
|
+
yield proxy.setWindowBounds({ width: 800, height: 600 });
|
|
38
|
+
(0, vitest_1.expect)(mockBroker.invoke).toHaveBeenCalledWith('WindowManagementService:setWindowBounds', { x: undefined, y: undefined, width: 800, height: 600 });
|
|
39
|
+
}));
|
|
40
|
+
(0, vitest_1.it)('setFullscreen calls correct IPC key with enable=true', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
+
vitest_1.vi.mocked(mockBroker.invoke).mockResolvedValueOnce(undefined);
|
|
42
|
+
yield proxy.setFullscreen(true);
|
|
43
|
+
(0, vitest_1.expect)(mockBroker.invoke).toHaveBeenCalledWith('WindowManagementService:setFullscreen', { enable: true });
|
|
44
|
+
}));
|
|
45
|
+
(0, vitest_1.it)('setFullscreen calls correct IPC key with enable=false', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
|
+
vitest_1.vi.mocked(mockBroker.invoke).mockResolvedValueOnce(undefined);
|
|
47
|
+
yield proxy.setFullscreen(false);
|
|
48
|
+
(0, vitest_1.expect)(mockBroker.invoke).toHaveBeenCalledWith('WindowManagementService:setFullscreen', { enable: false });
|
|
49
|
+
}));
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=WindowManagementService.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowManagementService.test.js","sourceRoot":"","sources":["../../src/services/WindowManagementService.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAA6D;AAE7D,WAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,aAAa,EAAE;QACb,WAAW,EAAE,WAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,WAAE,CAAC,EAAE,EAAE,EAAE,CAAC;KAC1D;CACF,CAAC,CAAC,CAAA;AAEH,wDAAoD;AACpD,uEAAwE;AAExE,IAAA,iBAAQ,EAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,IAAI,UAAgD,CAAA;IACpD,IAAI,KAAmC,CAAA;IAEvC,IAAA,mBAAU,EAAC,GAAG,EAAE;QACd,WAAE,CAAC,aAAa,EAAE,CAAA;QAClB,UAAU,GAAG,6BAAa,CAAC,WAAW,EAAS,CAAA;QAC/C,KAAK,GAAG,IAAI,sDAA4B,EAAE,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,IAAA,WAAE,EAAC,uCAAuC,EAAE,GAAS,EAAE;QACrD,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;QACvD,WAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAE1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAE5C,IAAA,eAAM,EAAC,UAAU,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,yCAAyC,CAAC,CAAA;QACzF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC,CAAA,CAAC,CAAA;IAEF,IAAA,WAAE,EAAC,2DAA2D,EAAE,GAAS,EAAE;QACzE,WAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;QAE7D,MAAM,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAExD,IAAA,eAAM,EAAC,UAAU,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAC5C,yCAAyC,EACzC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CACxD,CAAA;IACH,CAAC,CAAA,CAAC,CAAA;IAEF,IAAA,WAAE,EAAC,sDAAsD,EAAE,GAAS,EAAE;QACpE,WAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;QAE7D,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAE/B,IAAA,eAAM,EAAC,UAAU,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAC5C,uCAAuC,EACvC,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;IACH,CAAC,CAAA,CAAC,CAAA;IAEF,IAAA,WAAE,EAAC,uDAAuD,EAAE,GAAS,EAAE;QACrE,WAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;QAE7D,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAEhC,IAAA,eAAM,EAAC,UAAU,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAC5C,uCAAuC,EACvC,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAA;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/services/index.d.ts
CHANGED
|
@@ -17,4 +17,27 @@ export { StatusBarServiceProxy } from './StatusBarServiceProxy';
|
|
|
17
17
|
export type { IStatusBarService, IStatusBarItem } from './IStatusBarService';
|
|
18
18
|
export type { IEntitlementService } from './IEntitlementService';
|
|
19
19
|
export { EntitlementServiceProxy } from './EntitlementServiceProxy';
|
|
20
|
+
export type { IStorageService } from './IStorageService';
|
|
21
|
+
export { StorageServiceProxy } from './StorageServiceProxy';
|
|
22
|
+
export type { ICacheService, CacheSetOptions } from './ICacheService';
|
|
23
|
+
export { CacheServiceProxy } from './CacheServiceProxy';
|
|
24
|
+
export type { IFeedbackService, ShowToastOptions, ConfirmAlertOptions, ToastStyle, } from './IFeedbackService';
|
|
25
|
+
export { FeedbackServiceProxy } from './FeedbackServiceProxy';
|
|
26
|
+
export type { ISelectionService, SelectionError, SelectionErrorCode } from './ISelectionService';
|
|
27
|
+
export { SelectionServiceProxy } from './SelectionServiceProxy';
|
|
28
|
+
export * from './IAIService';
|
|
29
|
+
export { AIServiceProxy } from './AIServiceProxy';
|
|
30
|
+
export type { IOAuthService, OAuthConfig, OAuthToken, OAuthError } from './IOAuthService';
|
|
31
|
+
export { OAuthServiceProxy } from './OAuthServiceProxy';
|
|
32
|
+
export * from './IShellService';
|
|
33
|
+
export { ShellServiceProxy } from './ShellServiceProxy';
|
|
34
|
+
export type { IFileManagerService } from './IFileManagerService';
|
|
35
|
+
export { FileManagerServiceProxy } from './FileManagerServiceProxy';
|
|
36
|
+
export type { IInteropService } from './IInteropService';
|
|
37
|
+
export { LaunchCommandError } from './IInteropService';
|
|
38
|
+
export { InteropServiceProxy } from './InteropServiceProxy';
|
|
39
|
+
export type { IApplicationService, FrontmostApplication } from './ApplicationService';
|
|
40
|
+
export { ApplicationServiceProxy } from './ApplicationService';
|
|
41
|
+
export type { IWindowManagementService, WindowBounds } from './WindowManagementService';
|
|
42
|
+
export { WindowManagementServiceProxy } from './WindowManagementService';
|
|
20
43
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE7E,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE7E,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/services/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.EntitlementServiceProxy = exports.StatusBarServiceProxy = exports.SettingsServiceProxy = exports.NetworkServiceProxy = exports.ActionServiceProxy = exports.CommandServiceProxy = void 0;
|
|
17
|
+
exports.WindowManagementServiceProxy = exports.ApplicationServiceProxy = exports.InteropServiceProxy = exports.LaunchCommandError = exports.FileManagerServiceProxy = exports.ShellServiceProxy = exports.OAuthServiceProxy = exports.AIServiceProxy = exports.SelectionServiceProxy = exports.FeedbackServiceProxy = exports.CacheServiceProxy = exports.StorageServiceProxy = exports.EntitlementServiceProxy = exports.StatusBarServiceProxy = exports.SettingsServiceProxy = exports.NetworkServiceProxy = exports.ActionServiceProxy = exports.CommandServiceProxy = void 0;
|
|
18
18
|
__exportStar(require("./LogService"), exports);
|
|
19
19
|
__exportStar(require("./INotificationService"), exports);
|
|
20
20
|
__exportStar(require("./IClipboardHistoryService"), exports);
|
|
@@ -38,4 +38,30 @@ var StatusBarServiceProxy_1 = require("./StatusBarServiceProxy");
|
|
|
38
38
|
Object.defineProperty(exports, "StatusBarServiceProxy", { enumerable: true, get: function () { return StatusBarServiceProxy_1.StatusBarServiceProxy; } });
|
|
39
39
|
var EntitlementServiceProxy_1 = require("./EntitlementServiceProxy");
|
|
40
40
|
Object.defineProperty(exports, "EntitlementServiceProxy", { enumerable: true, get: function () { return EntitlementServiceProxy_1.EntitlementServiceProxy; } });
|
|
41
|
+
var StorageServiceProxy_1 = require("./StorageServiceProxy");
|
|
42
|
+
Object.defineProperty(exports, "StorageServiceProxy", { enumerable: true, get: function () { return StorageServiceProxy_1.StorageServiceProxy; } });
|
|
43
|
+
var CacheServiceProxy_1 = require("./CacheServiceProxy");
|
|
44
|
+
Object.defineProperty(exports, "CacheServiceProxy", { enumerable: true, get: function () { return CacheServiceProxy_1.CacheServiceProxy; } });
|
|
45
|
+
var FeedbackServiceProxy_1 = require("./FeedbackServiceProxy");
|
|
46
|
+
Object.defineProperty(exports, "FeedbackServiceProxy", { enumerable: true, get: function () { return FeedbackServiceProxy_1.FeedbackServiceProxy; } });
|
|
47
|
+
var SelectionServiceProxy_1 = require("./SelectionServiceProxy");
|
|
48
|
+
Object.defineProperty(exports, "SelectionServiceProxy", { enumerable: true, get: function () { return SelectionServiceProxy_1.SelectionServiceProxy; } });
|
|
49
|
+
__exportStar(require("./IAIService"), exports);
|
|
50
|
+
var AIServiceProxy_1 = require("./AIServiceProxy");
|
|
51
|
+
Object.defineProperty(exports, "AIServiceProxy", { enumerable: true, get: function () { return AIServiceProxy_1.AIServiceProxy; } });
|
|
52
|
+
var OAuthServiceProxy_1 = require("./OAuthServiceProxy");
|
|
53
|
+
Object.defineProperty(exports, "OAuthServiceProxy", { enumerable: true, get: function () { return OAuthServiceProxy_1.OAuthServiceProxy; } });
|
|
54
|
+
__exportStar(require("./IShellService"), exports);
|
|
55
|
+
var ShellServiceProxy_1 = require("./ShellServiceProxy");
|
|
56
|
+
Object.defineProperty(exports, "ShellServiceProxy", { enumerable: true, get: function () { return ShellServiceProxy_1.ShellServiceProxy; } });
|
|
57
|
+
var FileManagerServiceProxy_1 = require("./FileManagerServiceProxy");
|
|
58
|
+
Object.defineProperty(exports, "FileManagerServiceProxy", { enumerable: true, get: function () { return FileManagerServiceProxy_1.FileManagerServiceProxy; } });
|
|
59
|
+
var IInteropService_1 = require("./IInteropService");
|
|
60
|
+
Object.defineProperty(exports, "LaunchCommandError", { enumerable: true, get: function () { return IInteropService_1.LaunchCommandError; } });
|
|
61
|
+
var InteropServiceProxy_1 = require("./InteropServiceProxy");
|
|
62
|
+
Object.defineProperty(exports, "InteropServiceProxy", { enumerable: true, get: function () { return InteropServiceProxy_1.InteropServiceProxy; } });
|
|
63
|
+
var ApplicationService_1 = require("./ApplicationService");
|
|
64
|
+
Object.defineProperty(exports, "ApplicationServiceProxy", { enumerable: true, get: function () { return ApplicationService_1.ApplicationServiceProxy; } });
|
|
65
|
+
var WindowManagementService_1 = require("./WindowManagementService");
|
|
66
|
+
Object.defineProperty(exports, "WindowManagementServiceProxy", { enumerable: true, get: function () { return WindowManagementService_1.WindowManagementServiceProxy; } });
|
|
41
67
|
//# sourceMappingURL=index.js.map
|