asyar-sdk 1.3.4 → 1.5.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 CHANGED
@@ -30,6 +30,8 @@ The `asyar` CLI drives the full extension development workflow:
30
30
  | `asyar build` | Production build of your extension |
31
31
  | `asyar validate` | Check manifest and project structure |
32
32
  | `asyar link` | Symlink your extension into the app's extensions directory |
33
+ | `asyar attach` | Register an extension directory for dev loading in the launcher |
34
+ | `asyar detach` | Unregister a dev extension from the launcher |
33
35
  | `asyar publish` | Build, package, and publish to the Asyar Store |
34
36
  | `asyar doctor` | Diagnose environment issues |
35
37
  | `asyar --version` | Show CLI version |
@@ -40,6 +42,16 @@ The `publish` command includes automatic guards:
40
42
  - **Stale build detection** — blocks publishing if source files are newer than the build output
41
43
  - **Duplicate version check** — blocks publishing if the version is already live in the store
42
44
 
45
+ ### Dev Loading Workflow
46
+
47
+ The `attach` and `detach` commands enable a fast developer loop:
48
+
49
+ 1. **Attach**: `asyar attach .` — Builds the extension and registers its current directory with the Asyar App. The launcher will now load this extension directly from your project folder during development.
50
+ 2. **Bulk Attach**: `asyar attach --all /path/to/extensions` — Scans for and attaches all extensions in a category/folder.
51
+ 3. **Detach**: `asyar detach` — Removes the dev registration.
52
+
53
+ Unlike `asyar link`, which uses symlinks/copying into a specialized system directory, `attach` allows the launcher to read your project in-place (respecting your development build outputs).
54
+
43
55
  ## For Core Developers
44
56
 
45
57
  If you are contributing to the SDK itself, use the workspace setup described in the [Asyar README](https://github.com/Xoshbin/asyar#development-setup).
@@ -152,6 +164,29 @@ Add an `icon` field to your manifest to show a branded icon next to your command
152
164
  }
153
165
  ```
154
166
 
167
+ ### Platform Compatibility
168
+
169
+ Add a `platforms` field to your manifest to restrict your extension to specific operating systems. Extensions that don't support the current OS are hidden in the store and blocked from loading by the host.
170
+
171
+ ```json
172
+ {
173
+ "id": "com.example.my-extension",
174
+ "platforms": ["macos", "linux"],
175
+ "commands": [...]
176
+ }
177
+ ```
178
+
179
+ Valid values: `"macos"`, `"windows"`, `"linux"`. You can list any combination.
180
+
181
+ **Omit the field entirely for a universal extension** — that is the default. The `asyar validate` command enforces the allowed values and rejects anything outside the list.
182
+
183
+ | Manifest value | Behaviour |
184
+ |---|---|
185
+ | Field absent | Works on all platforms (universal) |
186
+ | `["macos"]` | macOS only |
187
+ | `["macos", "linux"]` | macOS and Linux, not Windows |
188
+ | `["windows", "linux"]` | Windows and Linux, not macOS |
189
+
155
190
  ## Available Scripts
156
191
 
157
192
  | Script | Description |
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerAttach(program: Command): void;
3
+ //# sourceMappingURL=attach.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach.d.ts","sourceRoot":"","sources":["../../../cli/commands/attach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QAgE9C"}
@@ -0,0 +1,103 @@
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.registerAttach = registerAttach;
39
+ const fs = __importStar(require("node:fs"));
40
+ const path = __importStar(require("node:path"));
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const manifest_1 = require("../lib/manifest");
43
+ const platform_1 = require("../lib/platform");
44
+ const build_1 = require("./build");
45
+ function registerAttach(program) {
46
+ program
47
+ .command('attach [path]')
48
+ .description('Register an extension directory for dev loading in the launcher')
49
+ .option('--all', 'Scan [path] for subdirectories containing manifest.json and attach each one')
50
+ .option('--no-build', 'Skip building the extension(s)')
51
+ .action((targetPathArg, opts) => __awaiter(this, void 0, void 0, function* () {
52
+ try {
53
+ const targetPath = path.resolve(targetPathArg || process.cwd());
54
+ let extensionDirs = [];
55
+ if (opts.all) {
56
+ const subdirs = fs.readdirSync(targetPath, { withFileTypes: true })
57
+ .filter((dirent) => dirent.isDirectory())
58
+ .map((dirent) => path.join(targetPath, dirent.name));
59
+ extensionDirs = subdirs.filter((dir) => fs.existsSync(path.join(dir, 'manifest.json')));
60
+ if (extensionDirs.length === 0) {
61
+ console.log(chalk_1.default.red('✗ No extensions with manifest.json found in ' + targetPath));
62
+ return;
63
+ }
64
+ }
65
+ else {
66
+ if (!fs.existsSync(path.join(targetPath, 'manifest.json'))) {
67
+ throw new Error(`manifest.json not found in ${targetPath}`);
68
+ }
69
+ extensionDirs = [targetPath];
70
+ }
71
+ const devExtensionsFile = (0, platform_1.getDevExtensionsFile)();
72
+ const devExtensionsDir = path.dirname(devExtensionsFile);
73
+ if (!fs.existsSync(devExtensionsDir)) {
74
+ fs.mkdirSync(devExtensionsDir, { recursive: true });
75
+ }
76
+ let registry = {};
77
+ if (fs.existsSync(devExtensionsFile)) {
78
+ try {
79
+ registry = JSON.parse(fs.readFileSync(devExtensionsFile, 'utf-8'));
80
+ }
81
+ catch (_a) {
82
+ registry = {};
83
+ }
84
+ }
85
+ for (const dir of extensionDirs) {
86
+ const manifest = (0, manifest_1.readManifest)(dir);
87
+ if (opts.build !== false) {
88
+ yield (0, build_1.runViteBuild)(dir);
89
+ (0, build_1.verifyBuildOutput)(dir);
90
+ }
91
+ registry[manifest.id] = dir;
92
+ console.log(chalk_1.default.green('✓') + ` Attached ${manifest.name} (${manifest.id})`);
93
+ }
94
+ fs.writeFileSync(devExtensionsFile, JSON.stringify(registry, null, 2));
95
+ console.log(chalk_1.default.cyan(`\n${extensionDirs.length} extension(s) attached. Restart the launcher to load them.`));
96
+ }
97
+ catch (error) {
98
+ console.log(chalk_1.default.red('✗ ' + error.message));
99
+ process.exit(1);
100
+ }
101
+ }));
102
+ }
103
+ //# sourceMappingURL=attach.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach.js","sourceRoot":"","sources":["../../../cli/commands/attach.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerDetach(program: Command): void;
3
+ //# sourceMappingURL=detach.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detach.d.ts","sourceRoot":"","sources":["../../../cli/commands/detach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOnC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QAgE9C"}
@@ -0,0 +1,97 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.registerDetach = registerDetach;
30
+ const fs = __importStar(require("node:fs"));
31
+ const path = __importStar(require("node:path"));
32
+ const chalk_1 = __importDefault(require("chalk"));
33
+ const manifest_1 = require("../lib/manifest");
34
+ const platform_1 = require("../lib/platform");
35
+ function registerDetach(program) {
36
+ program
37
+ .command('detach [id-or-path]')
38
+ .description('Unregister a dev extension from the launcher')
39
+ .option('--all', 'Remove all dev extension registrations')
40
+ .action((idOrPath, opts) => {
41
+ try {
42
+ const devExtensionsFile = (0, platform_1.getDevExtensionsFile)();
43
+ if (!fs.existsSync(devExtensionsFile)) {
44
+ console.log(chalk_1.default.yellow('No dev extensions registered.'));
45
+ return;
46
+ }
47
+ let registry = JSON.parse(fs.readFileSync(devExtensionsFile, 'utf-8'));
48
+ if (opts.all) {
49
+ const count = Object.keys(registry).length;
50
+ fs.writeFileSync(devExtensionsFile, JSON.stringify({}, null, 2));
51
+ console.log(chalk_1.default.green('✓') + ` Detached ${count} extension(s).`);
52
+ return;
53
+ }
54
+ let identifier = idOrPath;
55
+ if (!identifier) {
56
+ try {
57
+ const manifest = (0, manifest_1.readManifest)(process.cwd());
58
+ identifier = manifest.id;
59
+ }
60
+ catch (_a) {
61
+ console.log(chalk_1.default.red('Provide an extension ID, path, or run from inside an extension directory.'));
62
+ return;
63
+ }
64
+ }
65
+ let removedId;
66
+ if (identifier.includes('/') || identifier.includes('\\')) {
67
+ // It's a path
68
+ const fullPath = path.resolve(identifier);
69
+ for (const [id, dir] of Object.entries(registry)) {
70
+ if (path.resolve(dir) === fullPath) {
71
+ removedId = id;
72
+ delete registry[id];
73
+ break;
74
+ }
75
+ }
76
+ }
77
+ else {
78
+ // It's an ID
79
+ if (registry[identifier]) {
80
+ removedId = identifier;
81
+ delete registry[identifier];
82
+ }
83
+ }
84
+ if (!removedId) {
85
+ console.log(chalk_1.default.yellow(`Extension "${identifier}" is not registered as a dev extension.`));
86
+ return;
87
+ }
88
+ fs.writeFileSync(devExtensionsFile, JSON.stringify(registry, null, 2));
89
+ console.log(chalk_1.default.green('✓') + ` Detached ${removedId}`);
90
+ }
91
+ catch (error) {
92
+ console.log(chalk_1.default.red('✗ ' + error.message));
93
+ process.exit(1);
94
+ }
95
+ });
96
+ }
97
+ //# sourceMappingURL=detach.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detach.js","sourceRoot":"","sources":["../../../cli/commands/detach.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -10,6 +10,8 @@ const link_1 = require("./commands/link");
10
10
  const dev_1 = require("./commands/dev");
11
11
  const publish_1 = require("./commands/publish");
12
12
  const doctor_1 = require("./commands/doctor");
13
+ const attach_1 = require("./commands/attach");
14
+ const detach_1 = require("./commands/detach");
13
15
  const pkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.resolve)(__dirname, '..', '..', 'package.json'), 'utf-8'));
14
16
  commander_1.program
15
17
  .name('asyar')
@@ -21,5 +23,7 @@ commander_1.program
21
23
  (0, dev_1.registerDev)(commander_1.program);
22
24
  (0, publish_1.registerPublish)(commander_1.program);
23
25
  (0, doctor_1.registerDoctor)(commander_1.program);
26
+ (0, attach_1.registerAttach)(commander_1.program);
27
+ (0, detach_1.registerDetach)(commander_1.program);
24
28
  commander_1.program.parse(process.argv);
25
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":";;;AACA,yCAAmC;AACnC,2BAAiC;AACjC,+BAA8B;AAC9B,kDAAsD;AACtD,4CAAgD;AAChD,0CAA8C;AAC9C,wCAA4C;AAC5C,gDAAoD;AACpD,8CAAkD;AAElD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,cAAO,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AAE7F,mBAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,+BAA+B,CAAC;KAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AAEvB,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;AACxB,IAAA,uBAAc,EAAC,mBAAO,CAAC,CAAA;AAEvB,mBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":";;;AACA,yCAAmC;AACnC,2BAAiC;AACjC,+BAA8B;AAC9B,kDAAsD;AACtD,4CAAgD;AAChD,0CAA8C;AAC9C,wCAA4C;AAC5C,gDAAoD;AACpD,8CAAkD;AAClD,8CAAkD;AAClD,8CAAkD;AAGlD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,cAAO,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AAE7F,mBAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,+BAA+B,CAAC;KAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AAEvB,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;AACxB,IAAA,uBAAc,EAAC,mBAAO,CAAC,CAAA;AACvB,IAAA,uBAAc,EAAC,mBAAO,CAAC,CAAA;AACvB,IAAA,uBAAc,EAAC,mBAAO,CAAC,CAAA;AAGvB,mBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -8,6 +8,7 @@ export interface AsyarManifest {
8
8
  commands: ManifestCommand[];
9
9
  minAppVersion?: string;
10
10
  asyarSdk?: string;
11
+ platforms?: string[];
11
12
  type?: 'result' | 'view';
12
13
  defaultView?: string;
13
14
  searchable?: boolean;
@@ -25,6 +26,7 @@ export interface ValidationError {
25
26
  message: string;
26
27
  }
27
28
  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"];
29
+ export declare const VALID_PLATFORMS: readonly ["macos", "windows", "linux"];
28
30
  export declare function readManifest(cwd: string): AsyarManifest;
29
31
  export declare function validateManifest(manifest: AsyarManifest, cwd: string): ValidationError[];
30
32
  //# sourceMappingURL=manifest.d.ts.map
@@ -1 +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,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,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,CAuHnB"}
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,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,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,eAAO,MAAM,eAAe,wCAAyC,CAAA;AAErE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAUvD;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,MAAM,GACV,eAAe,EAAE,CAuInB"}
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.VALID_PERMISSIONS = void 0;
26
+ exports.VALID_PLATFORMS = exports.VALID_PERMISSIONS = void 0;
27
27
  exports.readManifest = readManifest;
28
28
  exports.validateManifest = validateManifest;
29
29
  const fs = __importStar(require("node:fs"));
@@ -38,6 +38,7 @@ exports.VALID_PERMISSIONS = [
38
38
  'shell:open-url',
39
39
  'network',
40
40
  ];
41
+ exports.VALID_PLATFORMS = ['macos', 'windows', 'linux'];
41
42
  function readManifest(cwd) {
42
43
  const manifestPath = path.join(cwd, 'manifest.json');
43
44
  if (!fs.existsSync(manifestPath)) {
@@ -137,6 +138,22 @@ function validateManifest(manifest, cwd) {
137
138
  });
138
139
  }
139
140
  }
141
+ // Validate platforms if present
142
+ if (manifest.platforms !== undefined) {
143
+ if (!Array.isArray(manifest.platforms)) {
144
+ errors.push({ field: 'platforms', message: 'must be an array' });
145
+ }
146
+ else {
147
+ manifest.platforms.forEach((p) => {
148
+ if (!exports.VALID_PLATFORMS.includes(p)) {
149
+ errors.push({
150
+ field: 'platforms',
151
+ message: `"${p}" is not a valid platform. Valid values: ${exports.VALID_PLATFORMS.join(', ')}`,
152
+ });
153
+ }
154
+ });
155
+ }
156
+ }
140
157
  // Warn if asyarSdk is missing (soft warning, not an error)
141
158
  if (!manifest.asyarSdk) {
142
159
  console.warn('⚠️ Consider adding "asyarSdk" to your manifest.json to declare SDK compatibility (e.g., "^1.2.0")');
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../cli/lib/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../cli/lib/manifest.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
  export declare function getExtensionsDir(): string;
2
+ export declare function getAppDataDir(): string;
3
+ export declare function getDevExtensionsFile(): string;
2
4
  //# sourceMappingURL=platform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../cli/lib/platform.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,IAAI,MAAM,CAmBzC"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../cli/lib/platform.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAmBtC;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
@@ -24,17 +24,25 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.getExtensionsDir = getExtensionsDir;
27
+ exports.getAppDataDir = getAppDataDir;
28
+ exports.getDevExtensionsFile = getDevExtensionsFile;
27
29
  const os = __importStar(require("os"));
28
30
  const path = __importStar(require("path"));
29
31
  function getExtensionsDir() {
32
+ return path.join(getAppDataDir(), 'extensions');
33
+ }
34
+ function getAppDataDir() {
30
35
  var _a, _b;
31
36
  switch (process.platform) {
32
37
  case 'darwin':
33
- return path.join(os.homedir(), 'Library', 'Application Support', 'org.asyar.app', 'extensions');
38
+ return path.join(os.homedir(), 'Library', 'Application Support', 'org.asyar.app');
34
39
  case 'win32':
35
- return path.join((_a = process.env.APPDATA) !== null && _a !== void 0 ? _a : path.join(os.homedir(), 'AppData', 'Roaming'), 'org.asyar.app', 'extensions');
40
+ return path.join((_a = process.env.APPDATA) !== null && _a !== void 0 ? _a : path.join(os.homedir(), 'AppData', 'Roaming'), 'org.asyar.app');
36
41
  default: // linux — respects XDG_DATA_HOME
37
- return path.join((_b = process.env.XDG_DATA_HOME) !== null && _b !== void 0 ? _b : path.join(os.homedir(), '.local', 'share'), 'org.asyar.app', 'extensions');
42
+ return path.join((_b = process.env.XDG_DATA_HOME) !== null && _b !== void 0 ? _b : path.join(os.homedir(), '.local', 'share'), 'org.asyar.app');
38
43
  }
39
44
  }
45
+ function getDevExtensionsFile() {
46
+ return path.join(getAppDataDir(), 'dev_extensions.json');
47
+ }
40
48
  //# sourceMappingURL=platform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../cli/lib/platform.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,4CAmBC;AAtBD,uCAAwB;AACxB,2CAA4B;AAE5B,SAAgB,gBAAgB;;IAC9B,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,IAAI,CACd,EAAE,CAAC,OAAO,EAAE,EACZ,SAAS,EAAE,qBAAqB,EAChC,eAAe,EAAE,YAAY,CAC9B,CAAA;QACH,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,IAAI,CACd,MAAA,OAAO,CAAC,GAAG,CAAC,OAAO,mCAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EACpE,eAAe,EAAE,YAAY,CAC9B,CAAA;QACH,SAAS,iCAAiC;YACxC,OAAO,IAAI,CAAC,IAAI,CACd,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EACvE,eAAe,EAAE,YAAY,CAC9B,CAAA;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../cli/lib/platform.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,4CAEC;AAED,sCAmBC;AAED,oDAEC;AA9BD,uCAAwB;AACxB,2CAA4B;AAE5B,SAAgB,gBAAgB;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,YAAY,CAAC,CAAA;AACjD,CAAC;AAED,SAAgB,aAAa;;IAC3B,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,IAAI,CACd,EAAE,CAAC,OAAO,EAAE,EACZ,SAAS,EAAE,qBAAqB,EAChC,eAAe,CAChB,CAAA;QACH,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,IAAI,CACd,MAAA,OAAO,CAAC,GAAG,CAAC,OAAO,mCAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EACpE,eAAe,CAChB,CAAA;QACH,SAAS,iCAAiC;YACxC,OAAO,IAAI,CAAC,IAAI,CACd,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EACvE,eAAe,CAChB,CAAA;IACL,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,qBAAqB,CAAC,CAAA;AAC1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClipboardHistoryServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/ClipboardHistoryServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,4BAA6B,SAAQ,gBAAiB,YAAW,wBAAwB;IACpG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,cAAc,IAAI,IAAI;IAItB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM;IAOvD,SAAS,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAI/D,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5C,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAK3C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI1C,oBAAoB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAG9E"}
1
+ {"version":3,"file":"ClipboardHistoryServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/ClipboardHistoryServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,4BAA6B,SAAQ,gBAAiB,YAAW,wBAAwB;IACpG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,cAAc,IAAI,IAAI;IAItB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM;IAkBvD,SAAS,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAI/D,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5C,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAK3C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI1C,oBAAoB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAG9E"}
@@ -14,6 +14,18 @@ class ClipboardHistoryServiceProxy extends BaseServiceProxy_1.BaseServiceProxy {
14
14
  if (item.type === types_1.ClipboardItemType.Text || item.type === types_1.ClipboardItemType.Html) {
15
15
  return item.content || '';
16
16
  }
17
+ if (item.type === types_1.ClipboardItemType.Rtf) {
18
+ return item.content || '[RTF item]';
19
+ }
20
+ if (item.type === types_1.ClipboardItemType.Files) {
21
+ try {
22
+ const paths = JSON.parse(item.content || '[]');
23
+ return `[${paths.length} file${paths.length !== 1 ? 's' : ''}]`;
24
+ }
25
+ catch (_a) {
26
+ return '[Files]';
27
+ }
28
+ }
17
29
  return `[${item.type} item]`;
18
30
  }
19
31
  pasteItem(item) {
@@ -1 +1 @@
1
- {"version":3,"file":"ClipboardHistoryServiceProxy.js","sourceRoot":"","sources":["../../src/services/ClipboardHistoryServiceProxy.ts"],"names":[],"mappings":";;;AAEA,oCAA6C;AAC7C,yDAAsD;AAEtD,MAAa,4BAA6B,SAAQ,mCAAgB;IAChE,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,sBAAsB,CAAC,CAAC;IAC1D,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAED,mBAAmB,CAAC,IAA0B;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAiB,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAiB,CAAC,IAAI,EAAE,CAAC;YACjF,OAAO,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,QAAQ,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,IAA0B;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,sBAAsB,CAAC,CAAC;IAC1D,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAU,yBAAyB,CAAC,CAAC;IAChE,CAAC;IAED,gBAAgB,CAAC,IAA0B;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,4BAA4B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,cAAc,CAAC,KAAc;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAyB,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,kBAAkB,CAAC,MAAc;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAU,8BAA8B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAU,sBAAsB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAU,6BAA6B,CAAC,CAAC;IACpE,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO,OAAO,CAAC;QACrD,OAAO,yBAAyB,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,OAAO,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/E,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAA+C,gCAAgC,CAAC,CAAC;IAC5G,CAAC;CACF;AA5DD,oEA4DC"}
1
+ {"version":3,"file":"ClipboardHistoryServiceProxy.js","sourceRoot":"","sources":["../../src/services/ClipboardHistoryServiceProxy.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,20 @@
4
4
  export declare enum ClipboardItemType {
5
5
  Text = "text",
6
6
  Html = "html",
7
- Image = "image"
7
+ Rtf = "rtf",
8
+ Image = "image",
9
+ Files = "files"
10
+ }
11
+ /**
12
+ * Optional metadata for clipboard items
13
+ */
14
+ export interface ClipboardItemMetadata {
15
+ width?: number;
16
+ height?: number;
17
+ fileCount?: number;
18
+ fileNames?: string[];
19
+ sizeBytes?: number;
20
+ mimeType?: string;
8
21
  }
9
22
  /**
10
23
  * Interface for clipboard history items that can be safely exposed externally
@@ -16,5 +29,6 @@ export interface ClipboardHistoryItem {
16
29
  preview?: string;
17
30
  createdAt: number;
18
31
  favorite: boolean;
32
+ metadata?: ClipboardItemMetadata;
19
33
  }
20
34
  //# sourceMappingURL=ClipboardType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClipboardType.d.ts","sourceRoot":"","sources":["../../src/types/ClipboardType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"ClipboardType.d.ts","sourceRoot":"","sources":["../../src/types/ClipboardType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC"}
@@ -8,6 +8,8 @@ var ClipboardItemType;
8
8
  (function (ClipboardItemType) {
9
9
  ClipboardItemType["Text"] = "text";
10
10
  ClipboardItemType["Html"] = "html";
11
+ ClipboardItemType["Rtf"] = "rtf";
11
12
  ClipboardItemType["Image"] = "image";
13
+ ClipboardItemType["Files"] = "files";
12
14
  })(ClipboardItemType || (exports.ClipboardItemType = ClipboardItemType = {}));
13
15
  //# sourceMappingURL=ClipboardType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClipboardType.js","sourceRoot":"","sources":["../../src/types/ClipboardType.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,oCAAe,CAAA;AACjB,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B"}
1
+ {"version":3,"file":"ClipboardType.js","sourceRoot":"","sources":["../../src/types/ClipboardType.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,oCAAe,CAAA;IACf,oCAAe,CAAA;AACjB,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B"}
@@ -11,6 +11,7 @@ export interface ExtensionManifest {
11
11
  commands: ExtensionCommand[];
12
12
  asyarSdk?: string;
13
13
  minAppVersion?: string;
14
+ platforms?: string[];
14
15
  }
15
16
  export interface ExtensionCommand {
16
17
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionType.d.ts","sourceRoot":"","sources":["../../src/types/ExtensionType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC7B;AAGD,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC;IACd,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEvD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;KACjB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGpB,cAAc,EAAE,CACd,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACvB,OAAO,CAAC,GAAG,CAAC,CAAC;CACnB"}
1
+ {"version":3,"file":"ExtensionType.d.ts","sourceRoot":"","sources":["../../src/types/ExtensionType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC7B;AAGD,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC;IACd,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEvD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;KACjB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGpB,cAAc,EAAE,CACd,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACvB,OAAO,CAAC,GAAG,CAAC,CAAC;CACnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asyar-sdk",
3
- "version": "1.3.4",
3
+ "version": "1.5.0",
4
4
  "main": "dist/index.js",
5
5
  "bin": {
6
6
  "asyar": "./dist/cli/index.js"