@openlauncher/sdk 0.1.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.
@@ -0,0 +1,106 @@
1
+ export type Permission = 'filesystem.read' | 'filesystem.write' | 'network.request' | 'clipboard.read' | 'clipboard.write' | 'shell.execute' | 'notification';
2
+ export interface LocalizedString {
3
+ zh: string;
4
+ en: string;
5
+ }
6
+ export type SettingType = 'string' | 'number' | 'boolean' | 'select' | 'checkbox-group' | 'color' | 'keybinding' | 'path' | 'list';
7
+ export interface SelectOption {
8
+ label: {
9
+ zh: string;
10
+ en: string;
11
+ };
12
+ value: any;
13
+ }
14
+ export interface ValidationRule {
15
+ min?: number;
16
+ max?: number;
17
+ minLength?: number;
18
+ maxLength?: number;
19
+ pattern?: string;
20
+ custom?: (value: any) => string | null;
21
+ }
22
+ export interface SettingDefinition {
23
+ key: string;
24
+ label: {
25
+ zh: string;
26
+ en: string;
27
+ };
28
+ type: SettingType;
29
+ defaultValue: any;
30
+ description?: {
31
+ zh: string;
32
+ en: string;
33
+ };
34
+ required?: boolean;
35
+ group?: string;
36
+ options?: SelectOption[];
37
+ validation?: ValidationRule;
38
+ visible?: (settings: Record<string, any>) => boolean;
39
+ pathType?: 'file' | 'directory';
40
+ itemSchema?: {
41
+ fields: Array<{
42
+ key: string;
43
+ type: SettingType;
44
+ label: {
45
+ zh: string;
46
+ en: string;
47
+ };
48
+ pathType?: 'file' | 'directory';
49
+ }>;
50
+ };
51
+ }
52
+ export interface PluginManifest {
53
+ name: LocalizedString;
54
+ id: string;
55
+ version: string;
56
+ description: LocalizedString;
57
+ author: string;
58
+ main: string;
59
+ icon?: string;
60
+ color?: string;
61
+ keywords: string[];
62
+ permissions: Permission[];
63
+ settings?: SettingDefinition[];
64
+ }
65
+ export interface ResultAction {
66
+ label: string;
67
+ type: 'primary' | 'secondary';
68
+ execute: () => void | Promise<void>;
69
+ }
70
+ export interface PluginResult {
71
+ id: string;
72
+ title: string;
73
+ subtitle?: string;
74
+ icon?: string;
75
+ category?: string;
76
+ score?: number;
77
+ favorited?: boolean;
78
+ actions: ResultAction[];
79
+ }
80
+ export interface PluginContext {
81
+ api: {
82
+ fetch(url: string, options?: Record<string, any>): Promise<any>;
83
+ readFile(path: string): Promise<string>;
84
+ writeFile(path: string, content: string): Promise<void>;
85
+ readClipboard(): Promise<string>;
86
+ writeClipboard(text: string): Promise<void>;
87
+ showNotification(title: string, body: string): void;
88
+ openUrl(url: string): void;
89
+ openPath(path: string): void;
90
+ openPathAsAdmin(path: string): void;
91
+ showItemInFolder(path: string): void;
92
+ getLocale(): string;
93
+ getSetting<T = any>(key: string): T;
94
+ onSettingChange?(callback: (key: string, newValue: any, oldValue: any) => void): void;
95
+ };
96
+ }
97
+ export declare abstract class OpenLauncherPlugin {
98
+ abstract name: string;
99
+ abstract keyword: string;
100
+ abstract onQuery(query: string, context: PluginContext): Promise<PluginResult[]>;
101
+ onAction?(result: PluginResult, context: PluginContext): Promise<void>;
102
+ onInit?(context: PluginContext): Promise<void>;
103
+ onDestroy?(): Promise<void>;
104
+ onSettingChange?(key: string, newValue: any, oldValue: any): void;
105
+ }
106
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenLauncherPlugin = void 0;
4
+ class OpenLauncherPlugin {
5
+ }
6
+ exports.OpenLauncherPlugin = OpenLauncherPlugin;
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AA8GA,MAAsB,kBAAkB;CAQvC;AARD,gDAQC"}
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@openlauncher/sdk",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js",
11
+ "default": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": ["dist"],
15
+ "scripts": {
16
+ "build": "tsc -p tsconfig.build.json",
17
+ "prepublishOnly": "npm run build"
18
+ },
19
+ "license": "MIT",
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://gitcode.com/chenxingmu/OpenLauncher"
23
+ },
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "dependencies": {}
28
+ }