asyar-sdk 1.0.2
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/LICENSE +661 -0
- package/README.md +165 -0
- package/dist/ExtensionBridge.d.ts +34 -0
- package/dist/ExtensionBridge.d.ts.map +1 -0
- package/dist/ExtensionBridge.js +192 -0
- package/dist/ExtensionBridge.js.map +1 -0
- package/dist/ExtensionContext.d.ts +25 -0
- package/dist/ExtensionContext.d.ts.map +1 -0
- package/dist/ExtensionContext.js +128 -0
- package/dist/ExtensionContext.js.map +1 -0
- package/dist/cli/commands/build.d.ts +5 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/build.js +122 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +3 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/dev.js +85 -0
- package/dist/cli/commands/dev.js.map +1 -0
- package/dist/cli/commands/link.d.ts +6 -0
- package/dist/cli/commands/link.d.ts.map +1 -0
- package/dist/cli/commands/link.js +153 -0
- package/dist/cli/commands/link.js.map +1 -0
- package/dist/cli/commands/publish.d.ts +3 -0
- package/dist/cli/commands/publish.d.ts.map +1 -0
- package/dist/cli/commands/publish.js +344 -0
- package/dist/cli/commands/publish.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +3 -0
- package/dist/cli/commands/validate.d.ts.map +1 -0
- package/dist/cli/commands/validate.js +58 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +20 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/lib/auth.d.ts +16 -0
- package/dist/cli/lib/auth.d.ts.map +1 -0
- package/dist/cli/lib/auth.js +225 -0
- package/dist/cli/lib/auth.js.map +1 -0
- package/dist/cli/lib/config.d.ts +11 -0
- package/dist/cli/lib/config.d.ts.map +1 -0
- package/dist/cli/lib/config.js +77 -0
- package/dist/cli/lib/config.js.map +1 -0
- package/dist/cli/lib/github.d.ts +44 -0
- package/dist/cli/lib/github.d.ts.map +1 -0
- package/dist/cli/lib/github.js +106 -0
- package/dist/cli/lib/github.js.map +1 -0
- package/dist/cli/lib/manifest.d.ts +29 -0
- package/dist/cli/lib/manifest.d.ts.map +1 -0
- package/dist/cli/lib/manifest.js +138 -0
- package/dist/cli/lib/manifest.js.map +1 -0
- package/dist/cli/lib/platform.d.ts +2 -0
- package/dist/cli/lib/platform.d.ts.map +1 -0
- package/dist/cli/lib/platform.js +40 -0
- package/dist/cli/lib/platform.js.map +1 -0
- package/dist/cli/lib/store.d.ts +21 -0
- package/dist/cli/lib/store.d.ts.map +1 -0
- package/dist/cli/lib/store.js +81 -0
- package/dist/cli/lib/store.js.map +1 -0
- package/dist/cli/lib/zip.d.ts +7 -0
- package/dist/cli/lib/zip.d.ts.map +1 -0
- package/dist/cli/lib/zip.js +67 -0
- package/dist/cli/lib/zip.js.map +1 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +25 -0
- package/dist/components/index.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/ipc/MessageBroker.d.ts +30 -0
- package/dist/ipc/MessageBroker.d.ts.map +1 -0
- package/dist/ipc/MessageBroker.js +118 -0
- package/dist/ipc/MessageBroker.js.map +1 -0
- package/dist/services/ActionServiceProxy.d.ts +17 -0
- package/dist/services/ActionServiceProxy.d.ts.map +1 -0
- package/dist/services/ActionServiceProxy.js +60 -0
- package/dist/services/ActionServiceProxy.js.map +1 -0
- package/dist/services/ClipboardHistoryServiceProxy.d.ts +26 -0
- package/dist/services/ClipboardHistoryServiceProxy.d.ts.map +1 -0
- package/dist/services/ClipboardHistoryServiceProxy.js +74 -0
- package/dist/services/ClipboardHistoryServiceProxy.js.map +1 -0
- package/dist/services/CommandServiceProxy.d.ts +15 -0
- package/dist/services/CommandServiceProxy.d.ts.map +1 -0
- package/dist/services/CommandServiceProxy.js +44 -0
- package/dist/services/CommandServiceProxy.js.map +1 -0
- package/dist/services/ExtensionManagerProxy.d.ts +25 -0
- package/dist/services/ExtensionManagerProxy.d.ts.map +1 -0
- package/dist/services/ExtensionManagerProxy.js +78 -0
- package/dist/services/ExtensionManagerProxy.js.map +1 -0
- package/dist/services/IClipboardHistoryService.d.ts +24 -0
- package/dist/services/IClipboardHistoryService.d.ts.map +1 -0
- package/dist/services/IClipboardHistoryService.js +3 -0
- package/dist/services/IClipboardHistoryService.js.map +1 -0
- package/dist/services/ICommandService.d.ts +10 -0
- package/dist/services/ICommandService.d.ts.map +1 -0
- package/dist/services/ICommandService.js +3 -0
- package/dist/services/ICommandService.js.map +1 -0
- package/dist/services/IExtensionManager.d.ts +26 -0
- package/dist/services/IExtensionManager.d.ts.map +1 -0
- package/dist/services/IExtensionManager.js +3 -0
- package/dist/services/IExtensionManager.js.map +1 -0
- package/dist/services/INotificationService.d.ts +15 -0
- package/dist/services/INotificationService.d.ts.map +1 -0
- package/dist/services/INotificationService.js +3 -0
- package/dist/services/INotificationService.js.map +1 -0
- package/dist/services/IStatusBarService.d.ts +11 -0
- package/dist/services/IStatusBarService.d.ts.map +1 -0
- package/dist/services/IStatusBarService.js +3 -0
- package/dist/services/IStatusBarService.js.map +1 -0
- package/dist/services/LogService.d.ts +8 -0
- package/dist/services/LogService.d.ts.map +1 -0
- package/dist/services/LogService.js +3 -0
- package/dist/services/LogService.js.map +1 -0
- package/dist/services/LogServiceProxy.d.ts +13 -0
- package/dist/services/LogServiceProxy.d.ts.map +1 -0
- package/dist/services/LogServiceProxy.js +33 -0
- package/dist/services/LogServiceProxy.js.map +1 -0
- package/dist/services/NetworkServiceProxy.d.ts +9 -0
- package/dist/services/NetworkServiceProxy.d.ts.map +1 -0
- package/dist/services/NetworkServiceProxy.js +37 -0
- package/dist/services/NetworkServiceProxy.js.map +1 -0
- package/dist/services/NotificationServiceProxy.d.ts +17 -0
- package/dist/services/NotificationServiceProxy.d.ts.map +1 -0
- package/dist/services/NotificationServiceProxy.js +42 -0
- package/dist/services/NotificationServiceProxy.js.map +1 -0
- package/dist/services/StatusBarServiceProxy.d.ts +11 -0
- package/dist/services/StatusBarServiceProxy.d.ts.map +1 -0
- package/dist/services/StatusBarServiceProxy.js +28 -0
- package/dist/services/StatusBarServiceProxy.js.map +1 -0
- package/dist/services/index.d.ts +15 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +35 -0
- package/dist/services/index.js.map +1 -0
- package/dist/types/ActionType.d.ts +64 -0
- package/dist/types/ActionType.d.ts.map +1 -0
- package/dist/types/ActionType.js +47 -0
- package/dist/types/ActionType.js.map +1 -0
- package/dist/types/ClipboardType.d.ts +20 -0
- package/dist/types/ClipboardType.d.ts.map +1 -0
- package/dist/types/ClipboardType.js +13 -0
- package/dist/types/ClipboardType.js.map +1 -0
- package/dist/types/CommandType.d.ts +36 -0
- package/dist/types/CommandType.d.ts.map +1 -0
- package/dist/types/CommandType.js +3 -0
- package/dist/types/CommandType.js.map +1 -0
- package/dist/types/ExtensionType.d.ts +50 -0
- package/dist/types/ExtensionType.d.ts.map +1 -0
- package/dist/types/ExtensionType.js +3 -0
- package/dist/types/ExtensionType.js.map +1 -0
- package/dist/types/NetworkType.d.ts +17 -0
- package/dist/types/NetworkType.d.ts.map +1 -0
- package/dist/types/NetworkType.js +3 -0
- package/dist/types/NetworkType.js.map +1 -0
- package/dist/types/NotificationType.d.ts +48 -0
- package/dist/types/NotificationType.d.ts.map +1 -0
- package/dist/types/NotificationType.js +3 -0
- package/dist/types/NotificationType.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +19 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
var _a;
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.STORE_URL = void 0;
|
|
40
|
+
exports.getStoredAuth = getStoredAuth;
|
|
41
|
+
exports.login = login;
|
|
42
|
+
exports.logout = logout;
|
|
43
|
+
exports.requireAuth = requireAuth;
|
|
44
|
+
exports.getOrAuthorizeGitHub = getOrAuthorizeGitHub;
|
|
45
|
+
const http = __importStar(require("http"));
|
|
46
|
+
const child_process_1 = require("child_process");
|
|
47
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
48
|
+
const ora_1 = __importDefault(require("ora"));
|
|
49
|
+
const KEYCHAIN_SERVICE = 'asyar-cli';
|
|
50
|
+
const KEY_STORE_TOKEN = 'store-session-token';
|
|
51
|
+
const KEY_GITHUB_TOKEN = 'github-token';
|
|
52
|
+
const KEY_GITHUB_USERNAME = 'github-username';
|
|
53
|
+
const CLI_PORT = 7123;
|
|
54
|
+
exports.STORE_URL = (_a = process.env.ASYAR_STORE_URL) !== null && _a !== void 0 ? _a : 'https://asyar.org';
|
|
55
|
+
function getStoredAuth() {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
const keytar = require('keytar');
|
|
58
|
+
const storeToken = yield keytar.getPassword(KEYCHAIN_SERVICE, KEY_STORE_TOKEN);
|
|
59
|
+
const githubUsername = yield keytar.getPassword(KEYCHAIN_SERVICE, KEY_GITHUB_USERNAME);
|
|
60
|
+
if (!storeToken || !githubUsername)
|
|
61
|
+
return null;
|
|
62
|
+
return { storeToken, githubUsername };
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function login() {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
return new Promise((resolve, reject) => {
|
|
68
|
+
const server = http.createServer((req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
const url = new URL(req.url, `http://localhost:${CLI_PORT}`);
|
|
70
|
+
const token = url.searchParams.get('token');
|
|
71
|
+
const username = url.searchParams.get('username');
|
|
72
|
+
if (!token || !username) {
|
|
73
|
+
res.writeHead(400);
|
|
74
|
+
res.end('Missing token or username');
|
|
75
|
+
reject(new Error('OAuth callback missing required parameters'));
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
79
|
+
res.end(`
|
|
80
|
+
<html><body style="font-family:system-ui;padding:40px;text-align:center">
|
|
81
|
+
<h2>✓ Connected to Asyar Store</h2>
|
|
82
|
+
<p>Logged in as <strong>${username}</strong>.</p>
|
|
83
|
+
<p>You can close this tab and return to your terminal.</p>
|
|
84
|
+
</body></html>
|
|
85
|
+
`);
|
|
86
|
+
const keytar = require('keytar');
|
|
87
|
+
yield keytar.setPassword(KEYCHAIN_SERVICE, KEY_STORE_TOKEN, token);
|
|
88
|
+
yield keytar.setPassword(KEYCHAIN_SERVICE, KEY_GITHUB_USERNAME, username);
|
|
89
|
+
server.close();
|
|
90
|
+
resolve({ storeToken: token, githubUsername: username });
|
|
91
|
+
}));
|
|
92
|
+
server.listen(CLI_PORT, () => {
|
|
93
|
+
const authUrl = `${exports.STORE_URL}/auth/github` +
|
|
94
|
+
`?redirect=http://localhost:${CLI_PORT}/callback`;
|
|
95
|
+
console.log(chalk_1.default.cyan('\nConnect your GitHub account to publish to the Asyar Store.'));
|
|
96
|
+
console.log(chalk_1.default.gray('Opening browser...\n'));
|
|
97
|
+
const cmd = process.platform === 'darwin' ? 'open' :
|
|
98
|
+
process.platform === 'win32' ? 'start' :
|
|
99
|
+
'xdg-open';
|
|
100
|
+
(0, child_process_1.exec)(`${cmd} "${authUrl}"`);
|
|
101
|
+
console.log(chalk_1.default.gray(`If the browser did not open, visit:\n${authUrl}\n`));
|
|
102
|
+
});
|
|
103
|
+
setTimeout(() => {
|
|
104
|
+
server.close();
|
|
105
|
+
reject(new Error('Authentication timed out after 5 minutes'));
|
|
106
|
+
}, 5 * 60 * 1000);
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
function logout() {
|
|
111
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
const keytar = require('keytar');
|
|
113
|
+
yield keytar.deletePassword(KEYCHAIN_SERVICE, KEY_STORE_TOKEN);
|
|
114
|
+
yield keytar.deletePassword(KEYCHAIN_SERVICE, KEY_GITHUB_USERNAME);
|
|
115
|
+
yield keytar.deletePassword(KEYCHAIN_SERVICE, KEY_GITHUB_TOKEN);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
function requireAuth() {
|
|
119
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
+
const stored = yield getStoredAuth();
|
|
121
|
+
if (stored)
|
|
122
|
+
return stored;
|
|
123
|
+
console.log(chalk_1.default.yellow('You are not logged in.'));
|
|
124
|
+
return login();
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function getOrAuthorizeGitHub() {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
const keytar = require('keytar');
|
|
130
|
+
const existing = yield keytar.getPassword(KEYCHAIN_SERVICE, KEY_GITHUB_TOKEN);
|
|
131
|
+
if (existing)
|
|
132
|
+
return existing;
|
|
133
|
+
const GITHUB_CLI_CLIENT_ID = 'Ov23liZOKJsuDznWHkDE';
|
|
134
|
+
// Request device code
|
|
135
|
+
let deviceResponse;
|
|
136
|
+
try {
|
|
137
|
+
deviceResponse = yield fetch('https://github.com/login/device/code', {
|
|
138
|
+
method: 'POST',
|
|
139
|
+
headers: {
|
|
140
|
+
'Accept': 'application/json',
|
|
141
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
142
|
+
},
|
|
143
|
+
body: new URLSearchParams({
|
|
144
|
+
client_id: GITHUB_CLI_CLIENT_ID,
|
|
145
|
+
scope: 'repo read:user',
|
|
146
|
+
}).toString(),
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
throw new Error('Could not connect to GitHub. Please check your internet connection.');
|
|
151
|
+
}
|
|
152
|
+
if (!deviceResponse.ok) {
|
|
153
|
+
throw new Error('Failed to initiate GitHub device authorization');
|
|
154
|
+
}
|
|
155
|
+
const { device_code, user_code, verification_uri, expires_in, interval, } = yield deviceResponse.json();
|
|
156
|
+
// Show the code to the developer
|
|
157
|
+
console.log();
|
|
158
|
+
console.log(chalk_1.default.cyan('Authorizing GitHub access...'));
|
|
159
|
+
console.log(chalk_1.default.bold('\nOpen this URL and enter the code below:'));
|
|
160
|
+
console.log(chalk_1.default.underline(verification_uri));
|
|
161
|
+
console.log();
|
|
162
|
+
console.log(chalk_1.default.bgBlue.white.bold(` ${user_code} `));
|
|
163
|
+
console.log();
|
|
164
|
+
// Open browser
|
|
165
|
+
const cmd = process.platform === 'darwin' ? 'open' :
|
|
166
|
+
process.platform === 'win32' ? 'start' :
|
|
167
|
+
'xdg-open';
|
|
168
|
+
(0, child_process_1.exec)(`${cmd} "${verification_uri}"`);
|
|
169
|
+
const spinner = (0, ora_1.default)('Waiting for GitHub authorization...').start();
|
|
170
|
+
const expiresAt = Date.now() + expires_in * 1000;
|
|
171
|
+
let pollInterval = interval * 1000;
|
|
172
|
+
// Poll for authorization
|
|
173
|
+
while (Date.now() < expiresAt) {
|
|
174
|
+
yield sleep(pollInterval);
|
|
175
|
+
let pollResponse;
|
|
176
|
+
try {
|
|
177
|
+
pollResponse = yield fetch('https://github.com/login/oauth/access_token', {
|
|
178
|
+
method: 'POST',
|
|
179
|
+
headers: {
|
|
180
|
+
'Accept': 'application/json',
|
|
181
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
182
|
+
},
|
|
183
|
+
body: new URLSearchParams({
|
|
184
|
+
client_id: GITHUB_CLI_CLIENT_ID,
|
|
185
|
+
device_code,
|
|
186
|
+
grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
|
|
187
|
+
}).toString(),
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
catch (err) {
|
|
191
|
+
spinner.fail('Connection failed');
|
|
192
|
+
throw new Error('Could not connect to GitHub during authorization. Please check your internet connection.');
|
|
193
|
+
}
|
|
194
|
+
const result = yield pollResponse.json();
|
|
195
|
+
if (result.access_token) {
|
|
196
|
+
spinner.succeed('GitHub authorized');
|
|
197
|
+
const keytar = require('keytar');
|
|
198
|
+
yield keytar.setPassword(KEYCHAIN_SERVICE, KEY_GITHUB_TOKEN, result.access_token);
|
|
199
|
+
return result.access_token;
|
|
200
|
+
}
|
|
201
|
+
if (result.error === 'slow_down') {
|
|
202
|
+
pollInterval += 5000;
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
if (result.error === 'authorization_pending') {
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
if (result.error === 'expired_token') {
|
|
209
|
+
spinner.fail('Authorization expired');
|
|
210
|
+
throw new Error('GitHub authorization expired. Run the command again.');
|
|
211
|
+
}
|
|
212
|
+
if (result.error === 'access_denied') {
|
|
213
|
+
spinner.fail('Authorization denied');
|
|
214
|
+
throw new Error('GitHub authorization was denied.');
|
|
215
|
+
}
|
|
216
|
+
throw new Error(`Unexpected GitHub response: ${result.error}`);
|
|
217
|
+
}
|
|
218
|
+
spinner.fail('Authorization timed out');
|
|
219
|
+
throw new Error('GitHub authorization timed out. Run the command again.');
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
function sleep(ms) {
|
|
223
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../cli/lib/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface AsyarConfig {
|
|
2
|
+
storeUrl?: string;
|
|
3
|
+
extensions?: Record<string, {
|
|
4
|
+
repoUrl: string;
|
|
5
|
+
}>;
|
|
6
|
+
}
|
|
7
|
+
export declare function readConfig(): AsyarConfig;
|
|
8
|
+
export declare function writeConfig(updates: Partial<AsyarConfig>): void;
|
|
9
|
+
export declare function getExtensionRepoUrl(extensionId: string): string | null;
|
|
10
|
+
export declare function saveExtensionRepoUrl(extensionId: string, repoUrl: string): void;
|
|
11
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../cli/lib/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAC1B,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC,CAAA;CACH;AAED,wBAAgB,UAAU,IAAI,WAAW,CAOxC;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAK/D;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAM/E"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.readConfig = readConfig;
|
|
27
|
+
exports.writeConfig = writeConfig;
|
|
28
|
+
exports.getExtensionRepoUrl = getExtensionRepoUrl;
|
|
29
|
+
exports.saveExtensionRepoUrl = saveExtensionRepoUrl;
|
|
30
|
+
const fs = __importStar(require("fs"));
|
|
31
|
+
const path = __importStar(require("path"));
|
|
32
|
+
const os = __importStar(require("os"));
|
|
33
|
+
const CONFIG_DIR = path.join(os.homedir(), '.asyar');
|
|
34
|
+
const CONFIG_FILE = path.join(CONFIG_DIR, 'config.json');
|
|
35
|
+
function readConfig() {
|
|
36
|
+
if (!fs.existsSync(CONFIG_FILE))
|
|
37
|
+
return {};
|
|
38
|
+
try {
|
|
39
|
+
return JSON.parse(fs.readFileSync(CONFIG_FILE, 'utf-8'));
|
|
40
|
+
}
|
|
41
|
+
catch (_a) {
|
|
42
|
+
return {};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function writeConfig(updates) {
|
|
46
|
+
fs.mkdirSync(CONFIG_DIR, { recursive: true });
|
|
47
|
+
const current = readConfig();
|
|
48
|
+
const merged = deepMerge(current, updates);
|
|
49
|
+
fs.writeFileSync(CONFIG_FILE, JSON.stringify(merged, null, 2));
|
|
50
|
+
}
|
|
51
|
+
function getExtensionRepoUrl(extensionId) {
|
|
52
|
+
var _a, _b, _c;
|
|
53
|
+
const config = readConfig();
|
|
54
|
+
return (_c = (_b = (_a = config.extensions) === null || _a === void 0 ? void 0 : _a[extensionId]) === null || _b === void 0 ? void 0 : _b.repoUrl) !== null && _c !== void 0 ? _c : null;
|
|
55
|
+
}
|
|
56
|
+
function saveExtensionRepoUrl(extensionId, repoUrl) {
|
|
57
|
+
writeConfig({
|
|
58
|
+
extensions: {
|
|
59
|
+
[extensionId]: { repoUrl }
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function deepMerge(target, source) {
|
|
64
|
+
const result = Object.assign({}, target);
|
|
65
|
+
for (const key of Object.keys(source)) {
|
|
66
|
+
if (source[key] instanceof Object &&
|
|
67
|
+
!Array.isArray(source[key]) &&
|
|
68
|
+
target[key] instanceof Object) {
|
|
69
|
+
result[key] = deepMerge(target[key], source[key]);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
result[key] = source[key];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../cli/lib/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAcA,gCAOC;AAED,kCAKC;AAED,kDAGC;AAED,oDAMC;AAzCD,uCAAwB;AACxB,2CAA4B;AAC5B,uCAAwB;AAExB,MAAM,UAAU,GAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAA;AACrD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;AASxD,SAAgB,UAAU;IACxB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAA;IAC1C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1D,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,OAA6B;IACvD,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC3C,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAChE,CAAC;AAED,SAAgB,mBAAmB,CAAC,WAAmB;;IACrD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAC3B,OAAO,MAAA,MAAA,MAAA,MAAM,CAAC,UAAU,0CAAG,WAAW,CAAC,0CAAE,OAAO,mCAAI,IAAI,CAAA;AAC1D,CAAC;AAED,SAAgB,oBAAoB,CAAC,WAAmB,EAAE,OAAe;IACvE,WAAW,CAAC;QACV,UAAU,EAAE;YACV,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE;SAC3B;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAAW,EAAE,MAAW;IACzC,MAAM,MAAM,qBAAQ,MAAM,CAAE,CAAA;IAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IACE,MAAM,CAAC,GAAG,CAAC,YAAY,MAAM;YAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,YAAY,MAAM,EAC7B,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export declare class GitHubClient {
|
|
2
|
+
private token;
|
|
3
|
+
constructor(token: string);
|
|
4
|
+
private request;
|
|
5
|
+
getAuthenticatedUser(): Promise<{
|
|
6
|
+
login: string;
|
|
7
|
+
}>;
|
|
8
|
+
createRepo(opts: {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
isPrivate: boolean;
|
|
12
|
+
}): Promise<{
|
|
13
|
+
html_url: string;
|
|
14
|
+
clone_url: string;
|
|
15
|
+
ssh_url: string;
|
|
16
|
+
}>;
|
|
17
|
+
getRepo(owner: string, repo: string): Promise<{
|
|
18
|
+
html_url: string;
|
|
19
|
+
clone_url: string;
|
|
20
|
+
ssh_url: string;
|
|
21
|
+
}>;
|
|
22
|
+
getRelease(owner: string, repo: string, tag: string): Promise<{
|
|
23
|
+
id: number;
|
|
24
|
+
upload_url: string;
|
|
25
|
+
html_url: string;
|
|
26
|
+
assets: Array<{
|
|
27
|
+
name: string;
|
|
28
|
+
browser_download_url: string;
|
|
29
|
+
}>;
|
|
30
|
+
} | null>;
|
|
31
|
+
createRelease(owner: string, repo: string, opts: {
|
|
32
|
+
tag: string;
|
|
33
|
+
name: string;
|
|
34
|
+
body: string;
|
|
35
|
+
}): Promise<{
|
|
36
|
+
id: number;
|
|
37
|
+
upload_url: string;
|
|
38
|
+
html_url: string;
|
|
39
|
+
}>;
|
|
40
|
+
uploadReleaseAsset(uploadUrl: string, fileBuffer: Buffer, fileName: string): Promise<{
|
|
41
|
+
browser_download_url: string;
|
|
42
|
+
}>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=github.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../cli/lib/github.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACX,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;YAEnB,OAAO;IA2Bf,oBAAoB,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAIlD,UAAU,CAAC,IAAI,EAAE;QACrB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,OAAO,CAAA;KACnB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAY/D,OAAO,CACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAI9D,UAAU,CACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;QACT,EAAE,EAAE,MAAM,CAAA;QACV,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,oBAAoB,EAAE,MAAM,CAAA;SAC7B,CAAC,CAAA;KACH,GAAG,IAAI,CAAC;IAQH,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAChD,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAa1D,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,oBAAoB,EAAE,MAAM,CAAA;KAAE,CAAC;CAsB7C"}
|
|
@@ -0,0 +1,106 @@
|
|
|
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.GitHubClient = void 0;
|
|
13
|
+
class GitHubClient {
|
|
14
|
+
constructor(token) {
|
|
15
|
+
this.token = token;
|
|
16
|
+
}
|
|
17
|
+
request(path_1) {
|
|
18
|
+
return __awaiter(this, arguments, void 0, function* (path, options = {}) {
|
|
19
|
+
var _a;
|
|
20
|
+
let response;
|
|
21
|
+
try {
|
|
22
|
+
response = yield fetch(`https://api.github.com${path}`, Object.assign(Object.assign({}, options), { headers: Object.assign({ 'Authorization': `Bearer ${this.token}`, 'Accept': 'application/vnd.github+json', 'X-GitHub-Api-Version': '2022-11-28', 'Content-Type': 'application/json' }, options.headers) }));
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
throw new Error(`Could not connect to GitHub API. Please check your internet connection.`);
|
|
26
|
+
}
|
|
27
|
+
if (!response.ok) {
|
|
28
|
+
const err = yield response.json().catch(() => ({}));
|
|
29
|
+
throw new Error(`GitHub API ${response.status}: ${(_a = err.message) !== null && _a !== void 0 ? _a : response.statusText}`);
|
|
30
|
+
}
|
|
31
|
+
return response.json();
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
getAuthenticatedUser() {
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
return this.request('/user');
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
createRepo(opts) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
return this.request('/user/repos', {
|
|
42
|
+
method: 'POST',
|
|
43
|
+
body: JSON.stringify({
|
|
44
|
+
name: opts.name,
|
|
45
|
+
description: opts.description,
|
|
46
|
+
private: opts.isPrivate,
|
|
47
|
+
auto_init: false,
|
|
48
|
+
}),
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
getRepo(owner, repo) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
return this.request(`/repos/${owner}/${repo}`);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
getRelease(owner, repo, tag) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
try {
|
|
60
|
+
return yield this.request(`/repos/${owner}/${repo}/releases/tags/${tag}`);
|
|
61
|
+
}
|
|
62
|
+
catch (_a) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
createRelease(owner, repo, opts) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
return this.request(`/repos/${owner}/${repo}/releases`, {
|
|
70
|
+
method: 'POST',
|
|
71
|
+
body: JSON.stringify({
|
|
72
|
+
tag_name: opts.tag,
|
|
73
|
+
name: opts.name,
|
|
74
|
+
body: opts.body,
|
|
75
|
+
draft: false,
|
|
76
|
+
prerelease: false,
|
|
77
|
+
}),
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
uploadReleaseAsset(uploadUrl, fileBuffer, fileName) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
const url = uploadUrl.replace('{?name,label}', `?name=${fileName}`);
|
|
84
|
+
let response;
|
|
85
|
+
try {
|
|
86
|
+
response = yield fetch(url, {
|
|
87
|
+
method: 'POST',
|
|
88
|
+
headers: {
|
|
89
|
+
'Authorization': `Bearer ${this.token}`,
|
|
90
|
+
'Content-Type': 'application/zip',
|
|
91
|
+
},
|
|
92
|
+
body: fileBuffer,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
throw new Error(`Could not connect to GitHub to upload release asset. Please check your internet connection.`);
|
|
97
|
+
}
|
|
98
|
+
if (!response.ok) {
|
|
99
|
+
throw new Error(`Failed to upload release asset: ${response.status} ${response.statusText}`);
|
|
100
|
+
}
|
|
101
|
+
return response.json();
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.GitHubClient = GitHubClient;
|
|
106
|
+
//# sourceMappingURL=github.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../cli/lib/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface AsyarManifest {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
version: string;
|
|
5
|
+
description: string;
|
|
6
|
+
author: string;
|
|
7
|
+
permissions?: string[];
|
|
8
|
+
commands: ManifestCommand[];
|
|
9
|
+
minAppVersion?: string;
|
|
10
|
+
type?: 'result' | 'view';
|
|
11
|
+
defaultView?: string;
|
|
12
|
+
searchable?: boolean;
|
|
13
|
+
main?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ManifestCommand {
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
description: string;
|
|
19
|
+
resultType?: 'view' | 'no-view' | 'result';
|
|
20
|
+
view?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface ValidationError {
|
|
23
|
+
field: string;
|
|
24
|
+
message: string;
|
|
25
|
+
}
|
|
26
|
+
export declare const VALID_PERMISSIONS: readonly ["clipboard:read", "clipboard:write", "store:read", "store:write", "notifications:send", "fs:read", "fs:write", "shell:execute", "shell:open-url", "network"];
|
|
27
|
+
export declare function readManifest(cwd: string): AsyarManifest;
|
|
28
|
+
export declare function validateManifest(manifest: AsyarManifest, cwd: string): ValidationError[];
|
|
29
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../cli/lib/manifest.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,EAAE,eAAe,EAAE,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,iBAAiB,wKAQpB,CAAA;AAEV,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAUvD;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,MAAM,GACV,eAAe,EAAE,CA4FnB"}
|