flashclaw 1.0.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/LICENSE +21 -0
- package/README.md +305 -0
- package/config/plugins.json +23 -0
- package/dist/agent-runner.d.ts +103 -0
- package/dist/agent-runner.d.ts.map +1 -0
- package/dist/agent-runner.js +530 -0
- package/dist/agent-runner.js.map +1 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +497 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands.d.ts +68 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +252 -0
- package/dist/commands.js.map +1 -0
- package/dist/config-schema.d.ts +21 -0
- package/dist/config-schema.d.ts.map +1 -0
- package/dist/config-schema.js +26 -0
- package/dist/config-schema.js.map +1 -0
- package/dist/config.d.ts +11 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +36 -0
- package/dist/config.js.map +1 -0
- package/dist/core/api-client.d.ts +236 -0
- package/dist/core/api-client.d.ts.map +1 -0
- package/dist/core/api-client.js +369 -0
- package/dist/core/api-client.js.map +1 -0
- package/dist/core/memory.d.ts +291 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +754 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/model-capabilities.d.ts +45 -0
- package/dist/core/model-capabilities.d.ts.map +1 -0
- package/dist/core/model-capabilities.js +85 -0
- package/dist/core/model-capabilities.js.map +1 -0
- package/dist/db.d.ts +103 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +380 -0
- package/dist/db.js.map +1 -0
- package/dist/errors.d.ts +22 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +44 -0
- package/dist/errors.js.map +1 -0
- package/dist/health.d.ts +27 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +55 -0
- package/dist/health.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1181 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +9 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +19 -0
- package/dist/logger.js.map +1 -0
- package/dist/message-queue.d.ts +69 -0
- package/dist/message-queue.d.ts.map +1 -0
- package/dist/message-queue.js +198 -0
- package/dist/message-queue.js.map +1 -0
- package/dist/metrics.d.ts +46 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +101 -0
- package/dist/metrics.js.map +1 -0
- package/dist/paths.d.ts +81 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +127 -0
- package/dist/paths.js.map +1 -0
- package/dist/plugins/index.d.ts +9 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +13 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/installer.d.ts +120 -0
- package/dist/plugins/installer.d.ts.map +1 -0
- package/dist/plugins/installer.js +1008 -0
- package/dist/plugins/installer.js.map +1 -0
- package/dist/plugins/loader.d.ts +37 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +429 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/plugins/manager.d.ts +72 -0
- package/dist/plugins/manager.d.ts.map +1 -0
- package/dist/plugins/manager.js +187 -0
- package/dist/plugins/manager.js.map +1 -0
- package/dist/plugins/types.d.ts +101 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +12 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/session-tracker.d.ts +81 -0
- package/dist/session-tracker.d.ts.map +1 -0
- package/dist/session-tracker.js +228 -0
- package/dist/session-tracker.js.map +1 -0
- package/dist/task-scheduler.d.ts +47 -0
- package/dist/task-scheduler.d.ts.map +1 -0
- package/dist/task-scheduler.js +331 -0
- package/dist/task-scheduler.js.map +1 -0
- package/dist/types.d.ts +57 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/env-substitute.d.ts +63 -0
- package/dist/utils/env-substitute.d.ts.map +1 -0
- package/dist/utils/env-substitute.js +133 -0
- package/dist/utils/env-substitute.js.map +1 -0
- package/dist/utils/log-rotate.d.ts +19 -0
- package/dist/utils/log-rotate.d.ts.map +1 -0
- package/dist/utils/log-rotate.js +85 -0
- package/dist/utils/log-rotate.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +38 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +79 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/retry.d.ts +10 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +47 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils.d.ts +86 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +218 -0
- package/dist/utils.js.map +1 -0
- package/package.json +78 -0
- package/plugins/cancel-task/index.ts +161 -0
- package/plugins/cancel-task/plugin.json +9 -0
- package/plugins/feishu/index.ts +944 -0
- package/plugins/feishu/plugin.json +29 -0
- package/plugins/list-tasks/index.ts +150 -0
- package/plugins/list-tasks/plugin.json +9 -0
- package/plugins/memory/index.ts +190 -0
- package/plugins/memory/plugin.json +7 -0
- package/plugins/pause-task/index.ts +95 -0
- package/plugins/pause-task/plugin.json +8 -0
- package/plugins/register-group/index.ts +147 -0
- package/plugins/register-group/plugin.json +7 -0
- package/plugins/resume-task/index.ts +92 -0
- package/plugins/resume-task/plugin.json +8 -0
- package/plugins/schedule-task/index.ts +248 -0
- package/plugins/schedule-task/plugin.json +9 -0
- package/plugins/send-message/index.ts +75 -0
- package/plugins/send-message/plugin.json +9 -0
package/dist/paths.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FlashClaw Path Management Module
|
|
3
|
+
*
|
|
4
|
+
* Centralized path management for all FlashClaw directories and files.
|
|
5
|
+
* Uses ~/.flashclaw/ as the configuration root directory.
|
|
6
|
+
*/
|
|
7
|
+
import { homedir } from 'os';
|
|
8
|
+
import { join, dirname } from 'path';
|
|
9
|
+
import { mkdirSync, existsSync } from 'fs';
|
|
10
|
+
import { fileURLToPath } from 'url';
|
|
11
|
+
/**
|
|
12
|
+
* Get the FlashClaw home directory.
|
|
13
|
+
* Supports FLASHCLAW_HOME environment variable override.
|
|
14
|
+
*
|
|
15
|
+
* @returns The FlashClaw home directory path (~/.flashclaw or FLASHCLAW_HOME)
|
|
16
|
+
*/
|
|
17
|
+
export function getFlashClawHome() {
|
|
18
|
+
return process.env.FLASHCLAW_HOME || join(homedir(), '.flashclaw');
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Path utility object containing all FlashClaw path functions.
|
|
22
|
+
*/
|
|
23
|
+
export const paths = {
|
|
24
|
+
/**
|
|
25
|
+
* Root directory (~/.flashclaw)
|
|
26
|
+
*/
|
|
27
|
+
home() {
|
|
28
|
+
return getFlashClawHome();
|
|
29
|
+
},
|
|
30
|
+
/**
|
|
31
|
+
* Environment file path (~/.flashclaw/.env)
|
|
32
|
+
*/
|
|
33
|
+
env() {
|
|
34
|
+
return join(getFlashClawHome(), '.env');
|
|
35
|
+
},
|
|
36
|
+
/**
|
|
37
|
+
* Config directory (~/.flashclaw/config)
|
|
38
|
+
*/
|
|
39
|
+
config() {
|
|
40
|
+
return join(getFlashClawHome(), 'config');
|
|
41
|
+
},
|
|
42
|
+
/**
|
|
43
|
+
* Plugins configuration file (~/.flashclaw/config/plugins.json)
|
|
44
|
+
*/
|
|
45
|
+
pluginsConfig() {
|
|
46
|
+
return join(getFlashClawHome(), 'config', 'plugins.json');
|
|
47
|
+
},
|
|
48
|
+
/**
|
|
49
|
+
* Data directory (~/.flashclaw/data)
|
|
50
|
+
*/
|
|
51
|
+
data() {
|
|
52
|
+
return join(getFlashClawHome(), 'data');
|
|
53
|
+
},
|
|
54
|
+
/**
|
|
55
|
+
* Database file path (~/.flashclaw/data/flashclaw.db)
|
|
56
|
+
*/
|
|
57
|
+
database() {
|
|
58
|
+
return join(getFlashClawHome(), 'data', 'flashclaw.db');
|
|
59
|
+
},
|
|
60
|
+
/**
|
|
61
|
+
* PID file path (~/.flashclaw/data/flashclaw.pid)
|
|
62
|
+
*/
|
|
63
|
+
pidFile() {
|
|
64
|
+
return join(getFlashClawHome(), 'data', 'flashclaw.pid');
|
|
65
|
+
},
|
|
66
|
+
/**
|
|
67
|
+
* Logs directory (~/.flashclaw/logs)
|
|
68
|
+
*/
|
|
69
|
+
logs() {
|
|
70
|
+
return join(getFlashClawHome(), 'logs');
|
|
71
|
+
},
|
|
72
|
+
/**
|
|
73
|
+
* Log file path (~/.flashclaw/logs/flashclaw.log)
|
|
74
|
+
*/
|
|
75
|
+
logFile() {
|
|
76
|
+
return join(getFlashClawHome(), 'logs', 'flashclaw.log');
|
|
77
|
+
},
|
|
78
|
+
/**
|
|
79
|
+
* User plugins directory (~/.flashclaw/plugins)
|
|
80
|
+
*/
|
|
81
|
+
userPlugins() {
|
|
82
|
+
return join(getFlashClawHome(), 'plugins');
|
|
83
|
+
},
|
|
84
|
+
/**
|
|
85
|
+
* Groups directory (~/.flashclaw/groups)
|
|
86
|
+
*/
|
|
87
|
+
groups() {
|
|
88
|
+
return join(getFlashClawHome(), 'groups');
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Get the built-in plugins directory.
|
|
93
|
+
* Returns the path relative to the current module (../plugins).
|
|
94
|
+
*
|
|
95
|
+
* @returns The built-in plugins directory path
|
|
96
|
+
*/
|
|
97
|
+
export function getBuiltinPluginsDir() {
|
|
98
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
99
|
+
const __dirname = dirname(__filename);
|
|
100
|
+
return join(__dirname, '..', 'plugins');
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Ensure all necessary directories exist.
|
|
104
|
+
* Creates the following directories if they don't exist:
|
|
105
|
+
* - ~/.flashclaw
|
|
106
|
+
* - ~/.flashclaw/config
|
|
107
|
+
* - ~/.flashclaw/data
|
|
108
|
+
* - ~/.flashclaw/logs
|
|
109
|
+
* - ~/.flashclaw/plugins
|
|
110
|
+
* - ~/.flashclaw/groups
|
|
111
|
+
*/
|
|
112
|
+
export function ensureDirectories() {
|
|
113
|
+
const directories = [
|
|
114
|
+
paths.home(),
|
|
115
|
+
paths.config(),
|
|
116
|
+
paths.data(),
|
|
117
|
+
paths.logs(),
|
|
118
|
+
paths.userPlugins(),
|
|
119
|
+
paths.groups(),
|
|
120
|
+
];
|
|
121
|
+
for (const dir of directories) {
|
|
122
|
+
if (!existsSync(dir)) {
|
|
123
|
+
mkdirSync(dir, { recursive: true });
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;;OAEG;IACH,IAAI;QACF,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,WAAW,GAAG;QAClB,KAAK,CAAC,IAAI,EAAE;QACZ,KAAK,CAAC,MAAM,EAAE;QACd,KAAK,CAAC,IAAI,EAAE;QACZ,KAAK,CAAC,IAAI,EAAE;QACZ,KAAK,CAAC,WAAW,EAAE;QACnB,KAAK,CAAC,MAAM,EAAE;KACf,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FlashClaw 插件系统
|
|
3
|
+
* 统一导出入口
|
|
4
|
+
*/
|
|
5
|
+
export { PluginConfig, ToolContext, ToolResult, Message, MessageHandler, ToolSchema, PluginManifest, ToolPlugin, ChannelPlugin, Plugin, isToolPlugin, isChannelPlugin, } from './types.js';
|
|
6
|
+
export { PluginManager, pluginManager } from './manager.js';
|
|
7
|
+
export { loadFromDir, loadPlugin, reloadPlugin, watchPlugins, stopWatching, getLoadedPaths, } from './loader.js';
|
|
8
|
+
export { PluginInfo, Registry, InstalledPluginMeta, getUserPluginsDir, getRegistry, updateRegistry, downloadPlugin, validatePlugin, installPlugin, uninstallPlugin, listInstalledPlugins, listAvailablePlugins, updatePlugin, showPluginInfo, printPluginList, } from './installer.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,OAAO,EACP,cAAc,EACd,UAAU,EACV,cAAc,EACd,UAAU,EACV,aAAa,EACb,MAAM,EACN,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG5D,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FlashClaw 插件系统
|
|
3
|
+
* 统一导出入口
|
|
4
|
+
*/
|
|
5
|
+
// 类型定义
|
|
6
|
+
export { isToolPlugin, isChannelPlugin, } from './types.js';
|
|
7
|
+
// 插件管理器
|
|
8
|
+
export { PluginManager, pluginManager } from './manager.js';
|
|
9
|
+
// 热加载器
|
|
10
|
+
export { loadFromDir, loadPlugin, reloadPlugin, watchPlugins, stopWatching, getLoadedPaths, } from './loader.js';
|
|
11
|
+
// 插件安装器
|
|
12
|
+
export { getUserPluginsDir, getRegistry, updateRegistry, downloadPlugin, validatePlugin, installPlugin, uninstallPlugin, listInstalledPlugins, listAvailablePlugins, updatePlugin, showPluginInfo, printPluginList, } from './installer.js';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO;AACP,OAAO,EAWL,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,QAAQ;AACR,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO;AACP,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,QAAQ;AACR,OAAO,EAIL,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FlashClaw 插件安装器
|
|
3
|
+
* 支持从 GitHub 下载、安装、卸载和更新插件
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 插件信息(来自注册表)
|
|
7
|
+
*/
|
|
8
|
+
export interface PluginInfo {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
type: 'tool' | 'channel' | 'system';
|
|
12
|
+
version: string;
|
|
13
|
+
author: string;
|
|
14
|
+
tags: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 插件注册表
|
|
18
|
+
*/
|
|
19
|
+
export interface Registry {
|
|
20
|
+
$schema?: string;
|
|
21
|
+
version: string;
|
|
22
|
+
updated: string;
|
|
23
|
+
officialRepo?: string;
|
|
24
|
+
officialPluginsPath?: string;
|
|
25
|
+
plugins: Record<string, PluginInfo>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 已安装插件的元数据
|
|
29
|
+
*/
|
|
30
|
+
export interface InstalledPluginMeta {
|
|
31
|
+
name: string;
|
|
32
|
+
version: string;
|
|
33
|
+
installedAt: string;
|
|
34
|
+
source: 'registry' | 'local' | 'github';
|
|
35
|
+
repo?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 获取用户插件安装目录
|
|
39
|
+
*/
|
|
40
|
+
export declare function getUserPluginsDir(): string;
|
|
41
|
+
/**
|
|
42
|
+
* 获取插件注册表(兼容旧接口)
|
|
43
|
+
* 现在从 GitHub API 动态获取
|
|
44
|
+
*/
|
|
45
|
+
export declare function getRegistry(forceRemote?: boolean): Promise<Registry>;
|
|
46
|
+
/**
|
|
47
|
+
* 更新注册表(从远程)
|
|
48
|
+
*/
|
|
49
|
+
export declare function updateRegistry(): Promise<Registry>;
|
|
50
|
+
/**
|
|
51
|
+
* 从 GitHub 下载插件
|
|
52
|
+
* 下载仓库的 ZIP 文件并解压
|
|
53
|
+
*
|
|
54
|
+
* @param repo GitHub 仓库路径 (如 "owner/repo")
|
|
55
|
+
* @param targetDir 目标目录
|
|
56
|
+
* @param branch 分支名 (默认 "main")
|
|
57
|
+
*/
|
|
58
|
+
export declare function downloadPlugin(repo: string, targetDir: string, branch?: string): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* 验证插件结构
|
|
61
|
+
* 检查必要文件是否存在:plugin.json 或 package.json, index.ts 或 index.js
|
|
62
|
+
*
|
|
63
|
+
* @param pluginDir 插件目录
|
|
64
|
+
* @returns 验证结果
|
|
65
|
+
*/
|
|
66
|
+
export declare function validatePlugin(pluginDir: string): Promise<{
|
|
67
|
+
valid: boolean;
|
|
68
|
+
errors: string[];
|
|
69
|
+
manifest?: {
|
|
70
|
+
name: string;
|
|
71
|
+
version: string;
|
|
72
|
+
description?: string;
|
|
73
|
+
type?: string;
|
|
74
|
+
};
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* 安装插件
|
|
78
|
+
* 直接从 community-plugins 目录下载,无需预先检查注册表
|
|
79
|
+
*
|
|
80
|
+
* @param name 插件名称
|
|
81
|
+
* @returns 是否安装成功
|
|
82
|
+
*/
|
|
83
|
+
export declare function installPlugin(name: string): Promise<boolean>;
|
|
84
|
+
/**
|
|
85
|
+
* 卸载插件
|
|
86
|
+
*
|
|
87
|
+
* @param name 插件名称
|
|
88
|
+
* @returns 是否卸载成功
|
|
89
|
+
*/
|
|
90
|
+
export declare function uninstallPlugin(name: string): Promise<boolean>;
|
|
91
|
+
/**
|
|
92
|
+
* 列出已安装插件
|
|
93
|
+
*
|
|
94
|
+
* @returns 已安装插件列表
|
|
95
|
+
*/
|
|
96
|
+
export declare function listInstalledPlugins(): Promise<InstalledPluginMeta[]>;
|
|
97
|
+
/**
|
|
98
|
+
* 列出可用插件(注册表中的插件)
|
|
99
|
+
*
|
|
100
|
+
* @returns 可用插件列表
|
|
101
|
+
*/
|
|
102
|
+
export declare function listAvailablePlugins(): Promise<PluginInfo[]>;
|
|
103
|
+
/**
|
|
104
|
+
* 更新插件
|
|
105
|
+
*
|
|
106
|
+
* @param name 插件名称
|
|
107
|
+
* @returns 是否更新成功
|
|
108
|
+
*/
|
|
109
|
+
export declare function updatePlugin(name: string): Promise<boolean>;
|
|
110
|
+
/**
|
|
111
|
+
* 显示插件详情
|
|
112
|
+
*
|
|
113
|
+
* @param name 插件名称
|
|
114
|
+
*/
|
|
115
|
+
export declare function showPluginInfo(name: string): Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* 列出插件(带格式化输出)
|
|
118
|
+
*/
|
|
119
|
+
export declare function printPluginList(): Promise<void>;
|
|
120
|
+
//# sourceMappingURL=installer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/plugins/installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwLH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACrC;AA4BD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAaD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAsJD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,WAAW,UAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgCxE;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,CAExD;AAMD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAwEf;AAqDD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/D,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC,CA2ED;AA2GD;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA4ElE;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgCpE;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAiC3E;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAQlE;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsGjE;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDhE;AAMD;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAsCrD"}
|