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.
Files changed (163) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +165 -0
  3. package/dist/ExtensionBridge.d.ts +34 -0
  4. package/dist/ExtensionBridge.d.ts.map +1 -0
  5. package/dist/ExtensionBridge.js +192 -0
  6. package/dist/ExtensionBridge.js.map +1 -0
  7. package/dist/ExtensionContext.d.ts +25 -0
  8. package/dist/ExtensionContext.d.ts.map +1 -0
  9. package/dist/ExtensionContext.js +128 -0
  10. package/dist/ExtensionContext.js.map +1 -0
  11. package/dist/cli/commands/build.d.ts +5 -0
  12. package/dist/cli/commands/build.d.ts.map +1 -0
  13. package/dist/cli/commands/build.js +122 -0
  14. package/dist/cli/commands/build.js.map +1 -0
  15. package/dist/cli/commands/dev.d.ts +3 -0
  16. package/dist/cli/commands/dev.d.ts.map +1 -0
  17. package/dist/cli/commands/dev.js +85 -0
  18. package/dist/cli/commands/dev.js.map +1 -0
  19. package/dist/cli/commands/link.d.ts +6 -0
  20. package/dist/cli/commands/link.d.ts.map +1 -0
  21. package/dist/cli/commands/link.js +153 -0
  22. package/dist/cli/commands/link.js.map +1 -0
  23. package/dist/cli/commands/publish.d.ts +3 -0
  24. package/dist/cli/commands/publish.d.ts.map +1 -0
  25. package/dist/cli/commands/publish.js +344 -0
  26. package/dist/cli/commands/publish.js.map +1 -0
  27. package/dist/cli/commands/validate.d.ts +3 -0
  28. package/dist/cli/commands/validate.d.ts.map +1 -0
  29. package/dist/cli/commands/validate.js +58 -0
  30. package/dist/cli/commands/validate.js.map +1 -0
  31. package/dist/cli/index.d.ts +3 -0
  32. package/dist/cli/index.d.ts.map +1 -0
  33. package/dist/cli/index.js +20 -0
  34. package/dist/cli/index.js.map +1 -0
  35. package/dist/cli/lib/auth.d.ts +16 -0
  36. package/dist/cli/lib/auth.d.ts.map +1 -0
  37. package/dist/cli/lib/auth.js +225 -0
  38. package/dist/cli/lib/auth.js.map +1 -0
  39. package/dist/cli/lib/config.d.ts +11 -0
  40. package/dist/cli/lib/config.d.ts.map +1 -0
  41. package/dist/cli/lib/config.js +77 -0
  42. package/dist/cli/lib/config.js.map +1 -0
  43. package/dist/cli/lib/github.d.ts +44 -0
  44. package/dist/cli/lib/github.d.ts.map +1 -0
  45. package/dist/cli/lib/github.js +106 -0
  46. package/dist/cli/lib/github.js.map +1 -0
  47. package/dist/cli/lib/manifest.d.ts +29 -0
  48. package/dist/cli/lib/manifest.d.ts.map +1 -0
  49. package/dist/cli/lib/manifest.js +138 -0
  50. package/dist/cli/lib/manifest.js.map +1 -0
  51. package/dist/cli/lib/platform.d.ts +2 -0
  52. package/dist/cli/lib/platform.d.ts.map +1 -0
  53. package/dist/cli/lib/platform.js +40 -0
  54. package/dist/cli/lib/platform.js.map +1 -0
  55. package/dist/cli/lib/store.d.ts +21 -0
  56. package/dist/cli/lib/store.d.ts.map +1 -0
  57. package/dist/cli/lib/store.js +81 -0
  58. package/dist/cli/lib/store.js.map +1 -0
  59. package/dist/cli/lib/zip.d.ts +7 -0
  60. package/dist/cli/lib/zip.d.ts.map +1 -0
  61. package/dist/cli/lib/zip.js +67 -0
  62. package/dist/cli/lib/zip.js.map +1 -0
  63. package/dist/components/index.d.ts +8 -0
  64. package/dist/components/index.d.ts.map +1 -0
  65. package/dist/components/index.js +25 -0
  66. package/dist/components/index.js.map +1 -0
  67. package/dist/index.d.ts +9 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +36 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/ipc/MessageBroker.d.ts +30 -0
  72. package/dist/ipc/MessageBroker.d.ts.map +1 -0
  73. package/dist/ipc/MessageBroker.js +118 -0
  74. package/dist/ipc/MessageBroker.js.map +1 -0
  75. package/dist/services/ActionServiceProxy.d.ts +17 -0
  76. package/dist/services/ActionServiceProxy.d.ts.map +1 -0
  77. package/dist/services/ActionServiceProxy.js +60 -0
  78. package/dist/services/ActionServiceProxy.js.map +1 -0
  79. package/dist/services/ClipboardHistoryServiceProxy.d.ts +26 -0
  80. package/dist/services/ClipboardHistoryServiceProxy.d.ts.map +1 -0
  81. package/dist/services/ClipboardHistoryServiceProxy.js +74 -0
  82. package/dist/services/ClipboardHistoryServiceProxy.js.map +1 -0
  83. package/dist/services/CommandServiceProxy.d.ts +15 -0
  84. package/dist/services/CommandServiceProxy.d.ts.map +1 -0
  85. package/dist/services/CommandServiceProxy.js +44 -0
  86. package/dist/services/CommandServiceProxy.js.map +1 -0
  87. package/dist/services/ExtensionManagerProxy.d.ts +25 -0
  88. package/dist/services/ExtensionManagerProxy.d.ts.map +1 -0
  89. package/dist/services/ExtensionManagerProxy.js +78 -0
  90. package/dist/services/ExtensionManagerProxy.js.map +1 -0
  91. package/dist/services/IClipboardHistoryService.d.ts +24 -0
  92. package/dist/services/IClipboardHistoryService.d.ts.map +1 -0
  93. package/dist/services/IClipboardHistoryService.js +3 -0
  94. package/dist/services/IClipboardHistoryService.js.map +1 -0
  95. package/dist/services/ICommandService.d.ts +10 -0
  96. package/dist/services/ICommandService.d.ts.map +1 -0
  97. package/dist/services/ICommandService.js +3 -0
  98. package/dist/services/ICommandService.js.map +1 -0
  99. package/dist/services/IExtensionManager.d.ts +26 -0
  100. package/dist/services/IExtensionManager.d.ts.map +1 -0
  101. package/dist/services/IExtensionManager.js +3 -0
  102. package/dist/services/IExtensionManager.js.map +1 -0
  103. package/dist/services/INotificationService.d.ts +15 -0
  104. package/dist/services/INotificationService.d.ts.map +1 -0
  105. package/dist/services/INotificationService.js +3 -0
  106. package/dist/services/INotificationService.js.map +1 -0
  107. package/dist/services/IStatusBarService.d.ts +11 -0
  108. package/dist/services/IStatusBarService.d.ts.map +1 -0
  109. package/dist/services/IStatusBarService.js +3 -0
  110. package/dist/services/IStatusBarService.js.map +1 -0
  111. package/dist/services/LogService.d.ts +8 -0
  112. package/dist/services/LogService.d.ts.map +1 -0
  113. package/dist/services/LogService.js +3 -0
  114. package/dist/services/LogService.js.map +1 -0
  115. package/dist/services/LogServiceProxy.d.ts +13 -0
  116. package/dist/services/LogServiceProxy.d.ts.map +1 -0
  117. package/dist/services/LogServiceProxy.js +33 -0
  118. package/dist/services/LogServiceProxy.js.map +1 -0
  119. package/dist/services/NetworkServiceProxy.d.ts +9 -0
  120. package/dist/services/NetworkServiceProxy.d.ts.map +1 -0
  121. package/dist/services/NetworkServiceProxy.js +37 -0
  122. package/dist/services/NetworkServiceProxy.js.map +1 -0
  123. package/dist/services/NotificationServiceProxy.d.ts +17 -0
  124. package/dist/services/NotificationServiceProxy.d.ts.map +1 -0
  125. package/dist/services/NotificationServiceProxy.js +42 -0
  126. package/dist/services/NotificationServiceProxy.js.map +1 -0
  127. package/dist/services/StatusBarServiceProxy.d.ts +11 -0
  128. package/dist/services/StatusBarServiceProxy.d.ts.map +1 -0
  129. package/dist/services/StatusBarServiceProxy.js +28 -0
  130. package/dist/services/StatusBarServiceProxy.js.map +1 -0
  131. package/dist/services/index.d.ts +15 -0
  132. package/dist/services/index.d.ts.map +1 -0
  133. package/dist/services/index.js +35 -0
  134. package/dist/services/index.js.map +1 -0
  135. package/dist/types/ActionType.d.ts +64 -0
  136. package/dist/types/ActionType.d.ts.map +1 -0
  137. package/dist/types/ActionType.js +47 -0
  138. package/dist/types/ActionType.js.map +1 -0
  139. package/dist/types/ClipboardType.d.ts +20 -0
  140. package/dist/types/ClipboardType.d.ts.map +1 -0
  141. package/dist/types/ClipboardType.js +13 -0
  142. package/dist/types/ClipboardType.js.map +1 -0
  143. package/dist/types/CommandType.d.ts +36 -0
  144. package/dist/types/CommandType.d.ts.map +1 -0
  145. package/dist/types/CommandType.js +3 -0
  146. package/dist/types/CommandType.js.map +1 -0
  147. package/dist/types/ExtensionType.d.ts +50 -0
  148. package/dist/types/ExtensionType.d.ts.map +1 -0
  149. package/dist/types/ExtensionType.js +3 -0
  150. package/dist/types/ExtensionType.js.map +1 -0
  151. package/dist/types/NetworkType.d.ts +17 -0
  152. package/dist/types/NetworkType.d.ts.map +1 -0
  153. package/dist/types/NetworkType.js +3 -0
  154. package/dist/types/NetworkType.js.map +1 -0
  155. package/dist/types/NotificationType.d.ts +48 -0
  156. package/dist/types/NotificationType.d.ts.map +1 -0
  157. package/dist/types/NotificationType.js +3 -0
  158. package/dist/types/NotificationType.js.map +1 -0
  159. package/dist/types/index.d.ts +7 -0
  160. package/dist/types/index.d.ts.map +1 -0
  161. package/dist/types/index.js +19 -0
  162. package/dist/types/index.js.map +1 -0
  163. package/package.json +48 -0
@@ -0,0 +1,344 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.registerPublish = registerPublish;
39
+ const chalk_1 = __importDefault(require("chalk"));
40
+ const ora_1 = __importDefault(require("ora"));
41
+ const fs = __importStar(require("fs"));
42
+ const child_process_1 = require("child_process");
43
+ const manifest_1 = require("../lib/manifest");
44
+ const auth_1 = require("../lib/auth");
45
+ const github_1 = require("../lib/github");
46
+ const store_1 = require("../lib/store");
47
+ const zip_1 = require("../lib/zip");
48
+ const build_1 = require("./build");
49
+ const config_1 = require("../lib/config");
50
+ function registerPublish(program) {
51
+ program
52
+ .command('publish')
53
+ .description('Package, release to GitHub, and submit to Asyar Store')
54
+ .option('--dry-run', 'Run all steps but do not publish anything')
55
+ .option('--reset-auth', 'Clear stored credentials and re-authenticate')
56
+ .option('--repo <url>', 'GitHub repository URL (overrides auto-detection)')
57
+ .action((opts) => __awaiter(this, void 0, void 0, function* () {
58
+ var _a, _b;
59
+ const cwd = process.cwd();
60
+ if (opts.resetAuth) {
61
+ yield (0, auth_1.logout)();
62
+ console.log(chalk_1.default.green('✓ Credentials cleared'));
63
+ }
64
+ // 1. Validate
65
+ const manifest = (0, manifest_1.readManifest)(cwd);
66
+ const errors = (0, manifest_1.validateManifest)(manifest, cwd);
67
+ if (errors.length > 0) {
68
+ console.log(chalk_1.default.red('✗ Validation failed:'));
69
+ errors.forEach((e) => console.log(chalk_1.default.red(` ✗ ${e.field}: ${e.message}`)));
70
+ process.exit(1);
71
+ }
72
+ console.log(chalk_1.default.green('✓ Validation passed'));
73
+ // 2. Build
74
+ try {
75
+ yield (0, build_1.runViteBuild)(cwd);
76
+ (0, build_1.verifyBuildOutput)(cwd);
77
+ }
78
+ catch (_c) {
79
+ process.exit(1);
80
+ }
81
+ // 3. Authenticate with store (GitHub OAuth)
82
+ const { storeToken, githubUsername } = yield (0, auth_1.requireAuth)();
83
+ console.log(chalk_1.default.green('✓') + ` Authenticated as ${githubUsername}`);
84
+ // 4. Get GitHub Personal Access Token (for creating releases)
85
+ const githubToken = yield (0, auth_1.getOrAuthorizeGitHub)();
86
+ const github = new github_1.GitHubClient(githubToken);
87
+ // 5. Resolve repo URL — in priority order:
88
+ // 1. --repo flag (explicit override)
89
+ // 2. git remote origin (already configured)
90
+ // 3. ~/.asyar/config.json (stored from previous publish)
91
+ // 4. Auto-create GitHub repo (first time, no remote anywhere)
92
+ let repoUrl;
93
+ if (opts.repo) {
94
+ // Explicit --repo flag — validate it's a GitHub URL, store it, use it
95
+ if (!/github\.com\//.test(opts.repo)) {
96
+ console.error(chalk_1.default.red('✗ --repo must be a GitHub URL'));
97
+ process.exit(1);
98
+ }
99
+ repoUrl = opts.repo.replace(/\.git$/, '');
100
+ (0, config_1.saveExtensionRepoUrl)(manifest.id, repoUrl);
101
+ console.log(chalk_1.default.green('✓') + ` Using repo: ${repoUrl}`);
102
+ }
103
+ else {
104
+ // Try git remote
105
+ let remoteUrl = null;
106
+ try {
107
+ remoteUrl = (0, child_process_1.execSync)('git remote get-url origin', { cwd, stdio: 'pipe' })
108
+ .toString().trim()
109
+ .replace('git@github.com:', 'https://github.com/')
110
+ .replace(/\.git$/, '');
111
+ }
112
+ catch (_d) {
113
+ // No remote — that's OK, we handle it below
114
+ }
115
+ if (remoteUrl && /github\.com\//.test(remoteUrl)) {
116
+ repoUrl = remoteUrl;
117
+ (0, config_1.saveExtensionRepoUrl)(manifest.id, repoUrl);
118
+ console.log(chalk_1.default.green('✓') + ` Using repo: ${repoUrl}`);
119
+ }
120
+ else {
121
+ // Try stored config
122
+ const storedRepoUrl = (0, config_1.getExtensionRepoUrl)(manifest.id);
123
+ if (storedRepoUrl) {
124
+ repoUrl = storedRepoUrl;
125
+ console.log(chalk_1.default.green('✓') + ` Using stored repo: ${repoUrl}`);
126
+ }
127
+ else {
128
+ // Auto-create GitHub repo
129
+ console.log(chalk_1.default.cyan('\nNo GitHub repository found for this extension.'));
130
+ console.log(chalk_1.default.cyan('Creating one automatically...\n'));
131
+ // Derive a repo name from the extension ID
132
+ // com.xoshbin.greeting → asyar-greeting-extension
133
+ const repoName = 'asyar-' +
134
+ manifest.id.split('.').pop() +
135
+ '-extension';
136
+ const createSpinner = (0, ora_1.default)(`Creating GitHub repo: ${repoName}...`).start();
137
+ let newRepo;
138
+ try {
139
+ newRepo = yield github.createRepo({
140
+ name: repoName,
141
+ description: manifest.description,
142
+ isPrivate: false,
143
+ });
144
+ createSpinner.succeed(`Repository created: ${newRepo.html_url}`);
145
+ }
146
+ catch (err) {
147
+ // 422 means repo already exists — try to use it
148
+ if ((_a = err.message) === null || _a === void 0 ? void 0 : _a.includes('422')) {
149
+ createSpinner.warn(`Repository "${repoName}" already exists — using it`);
150
+ try {
151
+ const existingRepo = yield github.getRepo(githubUsername, repoName);
152
+ newRepo = {
153
+ html_url: existingRepo.html_url,
154
+ clone_url: existingRepo.clone_url,
155
+ ssh_url: existingRepo.ssh_url,
156
+ };
157
+ }
158
+ catch (_e) {
159
+ createSpinner.fail(`Repository "${repoName}" exists but is not accessible`);
160
+ console.error(chalk_1.default.gray(` Use --repo https://github.com/${githubUsername}/${repoName} to specify it explicitly`));
161
+ process.exit(1);
162
+ }
163
+ }
164
+ else {
165
+ createSpinner.fail('Failed to create repository');
166
+ console.error(chalk_1.default.red('✗ ' + err.message));
167
+ process.exit(1);
168
+ }
169
+ }
170
+ repoUrl = newRepo.html_url;
171
+ // Configure git remote and push
172
+ const pushSpinner = (0, ora_1.default)('Configuring git remote and pushing...').start();
173
+ try {
174
+ // Initialize git repo if needed
175
+ try {
176
+ (0, child_process_1.execSync)('git rev-parse --git-dir', { cwd, stdio: 'pipe' });
177
+ }
178
+ catch (_f) {
179
+ (0, child_process_1.execSync)('git init', { cwd, stdio: 'pipe' });
180
+ (0, child_process_1.execSync)('git add .', { cwd, stdio: 'pipe' });
181
+ (0, child_process_1.execSync)('git commit -m "Initial extension"', { cwd, stdio: 'pipe' });
182
+ }
183
+ // Add remote (use HTTPS, not SSH, for reliability)
184
+ (0, child_process_1.execSync)(`git remote add origin ${newRepo.clone_url}`, { cwd, stdio: 'pipe' });
185
+ // Push
186
+ try {
187
+ (0, child_process_1.execSync)('git push -u origin main', { cwd, stdio: 'pipe' });
188
+ }
189
+ catch (_g) {
190
+ try {
191
+ (0, child_process_1.execSync)('git push -u origin master', { cwd, stdio: 'pipe' });
192
+ }
193
+ catch (_h) {
194
+ // Both branch names failed — try force push on main
195
+ (0, child_process_1.execSync)('git push -u origin main --force', { cwd, stdio: 'pipe' });
196
+ }
197
+ }
198
+ pushSpinner.succeed('Pushed to GitHub');
199
+ }
200
+ catch (err) {
201
+ pushSpinner.fail('Failed to push to GitHub');
202
+ console.error(chalk_1.default.red('✗ ' + err.message));
203
+ console.error(chalk_1.default.gray(` Repo was created at ${repoUrl}\n` +
204
+ ` Push manually with: git push -u origin main --force\n` +
205
+ ` Then run "asyar publish" again.`));
206
+ process.exit(1);
207
+ }
208
+ // Store for future publishes
209
+ (0, config_1.saveExtensionRepoUrl)(manifest.id, repoUrl);
210
+ console.log(chalk_1.default.green('✓') + ` Repo URL saved for future publishes`);
211
+ }
212
+ }
213
+ }
214
+ // At this point repoUrl is guaranteed to be set
215
+ const repoMatch = repoUrl.match(/github\.com\/([^\/]+)\/([^\/]+)/);
216
+ if (!repoMatch) {
217
+ console.error(chalk_1.default.red('✗ Could not parse owner/repo from: ' + repoUrl));
218
+ process.exit(1);
219
+ }
220
+ const [, owner, repo] = repoMatch;
221
+ // 6. Check version not already released
222
+ const releaseTag = `v${manifest.version}`;
223
+ const existingRelease = yield github.getRelease(owner, repo, releaseTag);
224
+ // 7. Package
225
+ const pkgSpinner = (0, ora_1.default)('Packaging extension...').start();
226
+ const { zipPath, checksum, sizeBytes } = (0, zip_1.packageExtension)(cwd, manifest.id, manifest.version);
227
+ pkgSpinner.succeed(`Extension packaged (${(sizeBytes / 1024).toFixed(1)} kB)`);
228
+ if (opts.dryRun) {
229
+ console.log(chalk_1.default.yellow('\n[Dry Run] Would publish:'));
230
+ console.log(chalk_1.default.gray(` Repo: ${repoUrl}`));
231
+ console.log(chalk_1.default.gray(` Tag: ${releaseTag}`));
232
+ console.log(chalk_1.default.gray(` Checksum: ${checksum}`));
233
+ console.log(chalk_1.default.gray(` Zip: ${zipPath}`));
234
+ console.log(chalk_1.default.yellow('\nDry run complete — nothing was published.'));
235
+ return;
236
+ }
237
+ let downloadUrl;
238
+ let releaseHtmlUrl;
239
+ if (existingRelease) {
240
+ // Find existing zip asset
241
+ const existingAsset = (_b = existingRelease.assets) === null || _b === void 0 ? void 0 : _b.find((a) => a.name.endsWith('.zip'));
242
+ if (existingAsset) {
243
+ // Release and asset both exist — fully completed in previous run
244
+ console.log(chalk_1.default.yellow(`⚠ Release ${releaseTag} already exists — resuming from store submission`));
245
+ downloadUrl = existingAsset.browser_download_url;
246
+ releaseHtmlUrl = existingRelease.html_url;
247
+ }
248
+ else {
249
+ // Release exists but asset missing — upload asset only
250
+ const uploadSpinner = (0, ora_1.default)('Uploading missing asset to existing release...').start();
251
+ const zipBuffer = fs.readFileSync(zipPath);
252
+ const asset = yield github.uploadReleaseAsset(existingRelease.upload_url, zipBuffer, `${manifest.id}-${manifest.version}.zip`);
253
+ uploadSpinner.succeed('Asset uploaded to existing release');
254
+ downloadUrl = asset.browser_download_url;
255
+ releaseHtmlUrl = existingRelease.html_url;
256
+ }
257
+ }
258
+ else {
259
+ // Fresh publish — create release and upload asset
260
+ const releaseBody = [
261
+ manifest.description,
262
+ '',
263
+ '## Commands',
264
+ ...manifest.commands.map((c) => `- **${c.name}**: ${c.description}`),
265
+ '',
266
+ '_Published via Asyar CLI_',
267
+ ].join('\n');
268
+ const releaseSpinner = (0, ora_1.default)('Creating GitHub Release...').start();
269
+ const release = yield github.createRelease(owner, repo, {
270
+ tag: releaseTag,
271
+ name: `${manifest.name} ${releaseTag}`,
272
+ body: releaseBody,
273
+ });
274
+ releaseSpinner.succeed(`GitHub Release created: ${releaseTag}`);
275
+ const uploadSpinner = (0, ora_1.default)('Uploading package...').start();
276
+ const zipBuffer = fs.readFileSync(zipPath);
277
+ const asset = yield github.uploadReleaseAsset(release.upload_url, zipBuffer, `${manifest.id}-${manifest.version}.zip`);
278
+ uploadSpinner.succeed('Package uploaded');
279
+ downloadUrl = asset.browser_download_url;
280
+ releaseHtmlUrl = release.html_url;
281
+ }
282
+ // Clean up temp zip
283
+ if (fs.existsSync(zipPath))
284
+ fs.unlinkSync(zipPath);
285
+ // 10. Notify Asyar Store
286
+ const storeSpinner = (0, ora_1.default)('Submitting to Asyar Store...').start();
287
+ let store = new store_1.StoreClient(storeToken);
288
+ let submission;
289
+ try {
290
+ submission = yield store.submitExtension({
291
+ repoUrl,
292
+ extensionId: manifest.id,
293
+ version: manifest.version,
294
+ releaseTag,
295
+ downloadUrl,
296
+ checksum,
297
+ });
298
+ }
299
+ catch (err) {
300
+ if (err instanceof store_1.AuthExpiredError) {
301
+ storeSpinner.warn('Store session expired — re-authenticating...');
302
+ yield (0, auth_1.logout)();
303
+ const { storeToken: freshToken } = yield (0, auth_1.login)();
304
+ storeSpinner.start('Retrying store submission...');
305
+ store = new store_1.StoreClient(freshToken);
306
+ submission = yield store.submitExtension({
307
+ repoUrl,
308
+ extensionId: manifest.id,
309
+ version: manifest.version,
310
+ releaseTag,
311
+ downloadUrl,
312
+ checksum,
313
+ });
314
+ }
315
+ else {
316
+ storeSpinner.fail('Store submission failed');
317
+ throw err;
318
+ }
319
+ }
320
+ storeSpinner.succeed('Store submission complete');
321
+ // Handle each result state
322
+ if (submission.status === 'already_pending') {
323
+ console.log(chalk_1.default.yellow('\n⚠ Already submitted and pending review'));
324
+ if (submission.trackingUrl) {
325
+ console.log(chalk_1.default.gray(` Track: ${submission.trackingUrl}`));
326
+ }
327
+ console.log(chalk_1.default.gray(' No action needed — your extension is in the review queue.'));
328
+ process.exit(0);
329
+ }
330
+ if (submission.status === 'already_approved') {
331
+ console.log(chalk_1.default.yellow('\n⚠ This version is already approved in the store'));
332
+ console.log(chalk_1.default.gray(' Bump the version in manifest.json to publish an update.'));
333
+ process.exit(0);
334
+ }
335
+ // Fresh submission — show full success output
336
+ console.log(chalk_1.default.green('\n✓ Published successfully!\n'));
337
+ console.log(` ${chalk_1.default.bold('Extension:')} ${manifest.name} v${manifest.version}`);
338
+ console.log(` ${chalk_1.default.bold('GitHub:')} ${releaseHtmlUrl}`);
339
+ console.log(` ${chalk_1.default.bold('Status:')} Pending review`);
340
+ console.log(` ${chalk_1.default.bold('Track:')} ${submission.trackingUrl}`);
341
+ console.log(chalk_1.default.gray('\nYour extension will appear in the store once approved.'));
342
+ }));
343
+ }
344
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../cli/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerValidate(program: Command): void;
3
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../cli/commands/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAgDhD"}
@@ -0,0 +1,58 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.registerValidate = registerValidate;
16
+ const chalk_1 = __importDefault(require("chalk"));
17
+ const manifest_1 = require("../lib/manifest");
18
+ function registerValidate(program) {
19
+ program
20
+ .command('validate')
21
+ .description('Validate manifest.json and project structure')
22
+ .action(() => __awaiter(this, void 0, void 0, function* () {
23
+ const cwd = process.cwd();
24
+ try {
25
+ const manifest = (0, manifest_1.readManifest)(cwd);
26
+ console.log(chalk_1.default.green('✓') + ' manifest.json found and parsed');
27
+ const errors = (0, manifest_1.validateManifest)(manifest, cwd);
28
+ const fields = ['id', 'name', 'version', 'description', 'author'];
29
+ for (const field of fields) {
30
+ const fieldErrors = errors.filter((e) => e.field === field);
31
+ const value = manifest[field];
32
+ if (fieldErrors.length === 0) {
33
+ console.log(chalk_1.default.green('✓') + ` ${field}: ${value}`);
34
+ }
35
+ else {
36
+ fieldErrors.forEach((e) => console.log(chalk_1.default.red('✗') + ` ${e.field}: ${e.message}`));
37
+ }
38
+ }
39
+ errors
40
+ .filter((e) => !fields.includes(e.field))
41
+ .forEach((e) => console.log(chalk_1.default.red('✗') + ` ${e.field}: ${e.message}`));
42
+ if (errors.length === 0) {
43
+ console.log(chalk_1.default.green('\n✓ All checks passed'));
44
+ process.exit(0);
45
+ }
46
+ else {
47
+ console.log(chalk_1.default.red(`\n${errors.length} error${errors.length > 1 ? 's' : ''} found. ` +
48
+ `Fix them and run "asyar validate" again.`));
49
+ process.exit(1);
50
+ }
51
+ }
52
+ catch (err) {
53
+ console.error(chalk_1.default.red('✗ ' + err.message));
54
+ process.exit(1);
55
+ }
56
+ }));
57
+ }
58
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../cli/commands/validate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,4CAgDC;AAnDD,kDAAyB;AACzB,8CAAgE;AAEhE,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,GAAS,EAAE;QACjB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,uBAAY,EAAC,GAAG,CAAC,CAAA;YAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,iCAAiC,CAAC,CAAA;YAEjE,MAAM,MAAM,GAAI,IAAA,2BAAgB,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YAC/C,MAAM,MAAM,GAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;YAElE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;gBAC3D,MAAM,KAAK,GAAU,QAAgB,CAAC,KAAK,CAAC,CAAA;gBAC5C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC,CAAA;gBACvD,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAC1D,CAAA;gBACH,CAAC;YACH,CAAC;YAED,MAAM;iBACH,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBACxC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAC1D,CAAA;YAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAA;gBACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CACP,KAAK,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU;oBACjE,0CAA0C,CAC3C,CACF,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAA,CAAC,CAAA;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const commander_1 = require("commander");
5
+ const validate_1 = require("./commands/validate");
6
+ const build_1 = require("./commands/build");
7
+ const link_1 = require("./commands/link");
8
+ const dev_1 = require("./commands/dev");
9
+ const publish_1 = require("./commands/publish");
10
+ commander_1.program
11
+ .name('asyar')
12
+ .description('Asyar Extension Developer CLI')
13
+ .version('1.0.0');
14
+ (0, validate_1.registerValidate)(commander_1.program);
15
+ (0, build_1.registerBuild)(commander_1.program);
16
+ (0, link_1.registerLink)(commander_1.program);
17
+ (0, dev_1.registerDev)(commander_1.program);
18
+ (0, publish_1.registerPublish)(commander_1.program);
19
+ commander_1.program.parse(process.argv);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":";;;AACA,yCAAmC;AACnC,kDAAsD;AACtD,4CAAgD;AAChD,0CAA8C;AAC9C,wCAA4C;AAC5C,gDAAoD;AAEpD,mBAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,+BAA+B,CAAC;KAC5C,OAAO,CAAC,OAAO,CAAC,CAAA;AAEnB,IAAA,2BAAgB,EAAC,mBAAO,CAAC,CAAA;AACzB,IAAA,qBAAa,EAAC,mBAAO,CAAC,CAAA;AACtB,IAAA,mBAAY,EAAC,mBAAO,CAAC,CAAA;AACrB,IAAA,iBAAW,EAAC,mBAAO,CAAC,CAAA;AACpB,IAAA,yBAAe,EAAC,mBAAO,CAAC,CAAA;AAExB,mBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ export declare const STORE_URL: string;
2
+ export declare function getStoredAuth(): Promise<{
3
+ storeToken: string;
4
+ githubUsername: string;
5
+ } | null>;
6
+ export declare function login(): Promise<{
7
+ storeToken: string;
8
+ githubUsername: string;
9
+ }>;
10
+ export declare function logout(): Promise<void>;
11
+ export declare function requireAuth(): Promise<{
12
+ storeToken: string;
13
+ githubUsername: string;
14
+ }>;
15
+ export declare function getOrAuthorizeGitHub(): Promise<string>;
16
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../cli/lib/auth.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,SAAS,QAC8B,CAAA;AAEpD,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;CACvB,GAAG,IAAI,CAAC,CAMR;AAED,wBAAsB,KAAK,IAAI,OAAO,CAAC;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAC,CAqDD;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAK5C;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAC,CAKD;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CA4H5D"}