mioku 0.8.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,529 @@
1
+ import * as mioki0 from "mioki";
2
+ import { MiokiContext, MiokiContext as MiokiContext$1, MiokiPlugin } from "mioki";
3
+
4
+ //#region src/core/types.d.ts
5
+
6
+ /**
7
+ * 指令权限级别
8
+ * 主人 管理员 群主 群成员
9
+ */
10
+ type CommandRole$1 = "master" | "admin" | "owner" | "member";
11
+ /**
12
+ * 插件帮助信息
13
+ */
14
+ interface PluginHelp$1 {
15
+ title: string;
16
+ description: string;
17
+ commands: Array<{
18
+ cmd: string;
19
+ desc: string;
20
+ usage?: string;
21
+ role?: CommandRole$1;
22
+ }>;
23
+ }
24
+ /**
25
+ * 插件包配置
26
+ * package.json 中的 mioku 字段
27
+ */
28
+ interface PluginPackageConfig$1 {
29
+ services?: string[];
30
+ help?: PluginHelp$1;
31
+ }
32
+ /**
33
+ * Mioku 服务定义
34
+ */
35
+ interface MiokuService$1 {
36
+ name: string;
37
+ version: string;
38
+ description?: string;
39
+ init(): Promise<void>;
40
+ api: Record<string, any>;
41
+ dispose?(): Promise<void>;
42
+ }
43
+ /**
44
+ * 插件元数据
45
+ */
46
+ interface PluginMetadata$1 {
47
+ name: string;
48
+ version: string;
49
+ description?: string;
50
+ path: string;
51
+ packageJson: any;
52
+ config: PluginPackageConfig$1;
53
+ }
54
+ /**
55
+ * 服务元数据
56
+ */
57
+ interface ServiceMetadata$1 {
58
+ name: string;
59
+ version: string;
60
+ description?: string;
61
+ path: string;
62
+ packageJson: any;
63
+ }
64
+ //# sourceMappingURL=types.d.ts.map
65
+ //#endregion
66
+ //#region src/core/plugin-manager.d.ts
67
+ /**
68
+ * 插件管理器
69
+ *
70
+ * Discover and manage plugins from both local directories and node_modules.
71
+ */
72
+ declare class PluginManager {
73
+ private pluginMetadata;
74
+ static getInstance(): PluginManager;
75
+ discoverPlugins(miokuConfig?: any): Promise<PluginMetadata$1[]>;
76
+ private discoverFromDir;
77
+ private discoverFromNodeModules;
78
+ private resolveDirectoryPath;
79
+ private loadPluginMetadata;
80
+ collectRequiredServices(): Set<string>;
81
+ getPluginMetadata(name: string): PluginMetadata$1 | undefined;
82
+ getAllMetadata(): PluginMetadata$1[];
83
+ reset(): void;
84
+ }
85
+ declare const _default: PluginManager;
86
+ //#endregion
87
+ //#region src/core/service-manager.d.ts
88
+ /**
89
+ * 服务管理器
90
+ */
91
+ declare class ServiceManager {
92
+ private services;
93
+ private serviceMetadata;
94
+ private servicesDir;
95
+ static getInstance(): ServiceManager;
96
+ discoverServices(miokuConfig?: any): Promise<ServiceMetadata$1[]>;
97
+ private discoverFromDir;
98
+ private loadServiceMetadata;
99
+ /**
100
+ * Load built-in services from the package
101
+ */
102
+ private loadBuiltinServices;
103
+ private discoverFromNodeModules;
104
+ checkMissingServices(requiredServices: Set<string>): Promise<string[]>;
105
+ loadAllServices(ctx: MiokiContext$1): Promise<void>;
106
+ private loadService;
107
+ /**
108
+ * Register a builtin service directly
109
+ */
110
+ registerBuiltinService(name: string, service: MiokuService$1): void;
111
+ /**
112
+ * Get a loaded service
113
+ */
114
+ getService(name: string): MiokuService$1 | undefined;
115
+ disposeAll(): Promise<void>;
116
+ reset(): void;
117
+ }
118
+ declare const _default$1: ServiceManager;
119
+ //#endregion
120
+ //#region src/core/plugin-artifact-registry.d.ts
121
+ /**
122
+ * Auto-register plugin help manifests and AI skills
123
+ */
124
+ declare function registerPluginArtifacts(ctx: MiokiContext$1): Promise<void>;
125
+ //# sourceMappingURL=plugin-artifact-registry.d.ts.map
126
+ //#endregion
127
+ //#region src/types.d.ts
128
+ /**
129
+ * Mioku Service Definition
130
+ */
131
+ interface MiokuService {
132
+ name: string;
133
+ version: string;
134
+ description?: string;
135
+ init(): Promise<void>;
136
+ api: Record<string, any>;
137
+ dispose?(): Promise<void>;
138
+ }
139
+ /**
140
+ * 插件元数据
141
+ */
142
+ interface PluginMetadata {
143
+ name: string;
144
+ version: string;
145
+ description?: string;
146
+ path: string;
147
+ packageJson: any;
148
+ config: PluginPackageConfig;
149
+ }
150
+ /**
151
+ * 服务元数据
152
+ */
153
+ interface ServiceMetadata {
154
+ name: string;
155
+ version: string;
156
+ description?: string;
157
+ path: string;
158
+ packageJson: any;
159
+ }
160
+ /**
161
+ * 插件包配置
162
+ * package.json 中的 mioku 字段
163
+ */
164
+ interface PluginPackageConfig {
165
+ services?: string[];
166
+ help?: PluginHelp;
167
+ }
168
+ /**
169
+ * 插件帮助信息
170
+ */
171
+ interface PluginHelp {
172
+ title: string;
173
+ description: string;
174
+ commands: Array<{
175
+ cmd: string;
176
+ desc: string;
177
+ usage?: string;
178
+ role?: CommandRole;
179
+ }>;
180
+ }
181
+ /**
182
+ * 指令权限级别
183
+ * 主人 管理员 群主 群成员
184
+ */
185
+ type CommandRole = "master" | "admin" | "owner" | "member";
186
+ //# sourceMappingURL=types.d.ts.map
187
+ //#endregion
188
+ //#region src/service-types.d.ts
189
+ /**
190
+ * Service interface definitions for built-in services
191
+ * These are used for type annotations in plugins
192
+ */
193
+ interface ConfigService {
194
+ registerConfig(pluginName: string, configName: string, initialConfig: any): Promise<boolean>;
195
+ updateConfig(pluginName: string, configName: string, updates: any): Promise<boolean>;
196
+ getConfig(pluginName: string, configName: string): Promise<any>;
197
+ getPluginConfigs(pluginName: string): Promise<Record<string, any>>;
198
+ onConfigChange(pluginName: string, configName: string, callback: (newConfig: any) => void): () => void;
199
+ }
200
+ interface ScreenshotService {
201
+ screenshot(html: string, options?: any): Promise<string>;
202
+ screenshotMarkdown(markdownContent: string, options?: any): Promise<string>;
203
+ screenshotFromUrl(url: string, options?: any): Promise<string>;
204
+ cleanupTemp(olderThanMs?: number): Promise<number>;
205
+ }
206
+ interface HelpService {
207
+ registerHelp(pluginName: string, help: any): void;
208
+ getHelp(pluginName: string): any;
209
+ getAllHelp(): Map<string, any>;
210
+ unregisterHelp(pluginName: string): void;
211
+ }
212
+ interface WebUIService {
213
+ getSettings(): {
214
+ port: number;
215
+ host: string;
216
+ packageManager: string;
217
+ };
218
+ }
219
+ interface AITool {
220
+ name: string;
221
+ description: string;
222
+ parameters: {
223
+ type: "object";
224
+ properties: Record<string, any>;
225
+ required?: string[];
226
+ };
227
+ handler: (args: any, event?: any) => Promise<any> | any;
228
+ }
229
+ interface AISkill {
230
+ name: string;
231
+ description: string;
232
+ permission?: "owner" | "admin" | "member";
233
+ tools: AITool[];
234
+ }
235
+ interface TextMessage {
236
+ role: "system" | "user" | "assistant";
237
+ content: string;
238
+ }
239
+ interface MultimodalMessage {
240
+ role: "system" | "user" | "assistant";
241
+ content: string | MultimodalContentItem[];
242
+ }
243
+ interface ToolCallRecord {
244
+ name: string;
245
+ arguments: any;
246
+ result: any;
247
+ }
248
+ interface SessionToolDefinition {
249
+ name: string;
250
+ tool: AITool;
251
+ }
252
+ interface CompleteOptions {
253
+ model?: string;
254
+ messages: any[];
255
+ temperature?: number;
256
+ max_tokens?: number;
257
+ stream?: boolean;
258
+ tools?: any[];
259
+ executableTools?: SessionToolDefinition[];
260
+ executableToolsProvider?: () => SessionToolDefinition[];
261
+ maxIterations?: number;
262
+ onTextDelta?: (delta: string) => void | Promise<void>;
263
+ usageContext?: AIUsageContext;
264
+ usageContextTokens?: number;
265
+ usageBreakdown?: AIUsageFinalization["breakdown"];
266
+ }
267
+ interface CompleteResponse {
268
+ content: string | null;
269
+ reasoning: string | null;
270
+ toolCalls: Array<{
271
+ id: string;
272
+ name: string;
273
+ arguments: string;
274
+ }>;
275
+ raw: any;
276
+ turnMessages: any[];
277
+ iterations?: number;
278
+ allToolCalls?: ToolCallRecord[];
279
+ }
280
+ interface ChatRuntime {
281
+ generateNotice(options: ChatRuntimeNoticeOptions): Promise<ChatRuntimeResult>;
282
+ requestInformation(options: ChatRuntimeInformationRequestOptions): Promise<ChatRuntimeResult>;
283
+ }
284
+ declare const TOOL_RESULT_FOLLOWUP_KEY = "__miokuFollowup";
285
+ interface ToolResultFollowup {
286
+ text: string;
287
+ images: Array<{
288
+ url: string;
289
+ detail?: "auto" | "low" | "high";
290
+ }>;
291
+ }
292
+ type SkillPermissionRole = "owner" | "admin" | "member";
293
+ interface MultimodalContentItem {
294
+ type: "text" | "image_url";
295
+ text?: string;
296
+ image_url?: {
297
+ url: string;
298
+ detail?: "auto" | "low" | "high";
299
+ };
300
+ }
301
+ interface ChatRuntimePromptInjection {
302
+ content: string;
303
+ title?: string;
304
+ }
305
+ interface ChatRuntimeGroupTarget {
306
+ selfId: number;
307
+ groupId: number;
308
+ }
309
+ interface ChatRuntimePrivateTarget {
310
+ selfId: number;
311
+ userId: number;
312
+ }
313
+ type ChatRuntimeSource = {
314
+ event: any;
315
+ } | ChatRuntimeGroupTarget | ChatRuntimePrivateTarget;
316
+ type ChatRuntimeBaseOptions = ChatRuntimeSource & {
317
+ targetMessage?: string;
318
+ promptInjections?: ChatRuntimePromptInjection[];
319
+ send?: boolean;
320
+ };
321
+ type ChatRuntimeNoticeOptions = ChatRuntimeBaseOptions & {
322
+ instruction: string;
323
+ };
324
+ type ChatRuntimeInformationRequestOptions = ChatRuntimeBaseOptions & {
325
+ task: string;
326
+ schema: {
327
+ type: "object";
328
+ properties: Record<string, any>;
329
+ required?: string[];
330
+ };
331
+ toolName?: string;
332
+ toolDescription?: string;
333
+ };
334
+ interface ChatRuntimeCollectedInfo {
335
+ data: any;
336
+ isComplete?: boolean;
337
+ confidence?: number;
338
+ notes?: string;
339
+ }
340
+ type AIUsageRange = "today" | "7d" | "30d";
341
+ interface AIUsageContext {
342
+ usageId?: string;
343
+ source?: string;
344
+ botId?: number;
345
+ groupId?: number;
346
+ groupName?: string;
347
+ userId?: number;
348
+ userName?: string;
349
+ sessionId?: string;
350
+ }
351
+ interface AIUsageBreakdown {
352
+ systemPromptTokens?: number;
353
+ chatHistoryTokens?: number;
354
+ toolDefinitionTokens?: number;
355
+ toolUseTokens?: number;
356
+ otherContextTokens?: number;
357
+ }
358
+ interface AIUsageFinalization {
359
+ sentUserMessages?: number;
360
+ sentAssistantMessages?: number;
361
+ breakdown?: AIUsageBreakdown;
362
+ }
363
+ interface AIUsageSummary {
364
+ range: AIUsageRange;
365
+ total: {
366
+ requests: number;
367
+ inputTokens: number;
368
+ outputTokens: number;
369
+ cacheWriteTokens: number;
370
+ cacheReadTokens: number;
371
+ totalTokens: number;
372
+ };
373
+ byBot: Array<{
374
+ botId: number | null;
375
+ requests: number;
376
+ inputTokens: number;
377
+ outputTokens: number;
378
+ cacheWriteTokens: number;
379
+ cacheReadTokens: number;
380
+ totalTokens: number;
381
+ }>;
382
+ }
383
+ interface ChatRuntimeResult {
384
+ messages: string[];
385
+ toolCalls: ToolCallRecord[];
386
+ collectedInfo: ChatRuntimeCollectedInfo | null;
387
+ pendingAt?: number[];
388
+ pendingPoke?: number[];
389
+ pendingQuote?: number;
390
+ emojiPath?: string | null;
391
+ protocolMessages?: any[];
392
+ }
393
+ interface AIInstance {
394
+ generateText(options: {
395
+ prompt?: string;
396
+ messages: TextMessage[];
397
+ model?: string;
398
+ temperature?: number;
399
+ max_tokens?: number;
400
+ }): Promise<string>;
401
+ generateMultimodal(options: {
402
+ prompt?: string;
403
+ messages: MultimodalMessage[];
404
+ model?: string;
405
+ temperature?: number;
406
+ max_tokens?: number;
407
+ }): Promise<string>;
408
+ complete(options: CompleteOptions): Promise<CompleteResponse>;
409
+ generateWithTools(options: {
410
+ prompt?: string;
411
+ messages: TextMessage[] | MultimodalMessage[];
412
+ model?: string;
413
+ temperature?: number;
414
+ maxIterations?: number;
415
+ }): Promise<any>;
416
+ setUsageContext?(context: AIUsageContext | undefined): void;
417
+ withUsageContext?<T>(context: AIUsageContext | undefined, fn: () => Promise<T>): Promise<T>;
418
+ registerPrompt(name: string, prompt: string): boolean;
419
+ getPrompt(name: string): string | undefined;
420
+ getAllPrompts(): Record<string, string>;
421
+ removePrompt(name: string): boolean;
422
+ }
423
+ interface AIService {
424
+ create(options: {
425
+ name: string;
426
+ apiUrl: string;
427
+ apiKey: string;
428
+ modelType: "text" | "multimodal";
429
+ model?: string;
430
+ }): Promise<AIInstance>;
431
+ get(name: string): AIInstance | undefined;
432
+ list(): string[];
433
+ remove(name: string): boolean;
434
+ setDefault(name: string): boolean;
435
+ getDefault(): AIInstance | undefined;
436
+ registerChatRuntime(runtime: any): boolean;
437
+ getChatRuntime(): any;
438
+ removeChatRuntime(): boolean;
439
+ registerSkill(skill: AISkill): boolean;
440
+ getSkill(skillName: string): AISkill | undefined;
441
+ getAllSkills(): Map<string, AISkill>;
442
+ removeSkill(skillName: string): boolean;
443
+ getTool(toolName: string): AITool | undefined;
444
+ getAllTools(): Map<string, AITool>;
445
+ getUsageSummary?(options: {
446
+ range: AIUsageRange;
447
+ botId?: number;
448
+ }): AIUsageSummary;
449
+ cleanupUsageStats?(retentionMs?: number): number;
450
+ finalizeUsage?(usageId: string, finalization: AIUsageFinalization): boolean;
451
+ }
452
+ //# sourceMappingURL=service-types.d.ts.map
453
+ //#endregion
454
+ //#region src/core/data-paths.d.ts
455
+ /**
456
+ * Data Directory Utilities for Mioku Plugins
457
+ *
458
+ * Provides consistent data path resolution that respects the project directory
459
+ * (process.cwd()) rather than the package installation directory.
460
+ */
461
+ /**
462
+ * Get the data directory for a specific plugin
463
+ * Returns: {cwd}/data/{pluginName}
464
+ */
465
+ declare function getPluginDataDir(pluginName: string): string;
466
+ /**
467
+ * Get the data directory for a service
468
+ * Returns: {cwd}/data/{serviceName}
469
+ */
470
+ declare function getServiceDataDir(serviceName: string): string;
471
+ /**
472
+ * Get the main data directory
473
+ * Returns: {cwd}/data
474
+ */
475
+ declare function getDataDir(): string;
476
+ /**
477
+ * Get the config directory for a plugin
478
+ * Returns: {cwd}/config/{pluginName}
479
+ */
480
+ declare function getPluginConfigDir(pluginName: string): string;
481
+ /**
482
+ * Get the config directory for a service
483
+ * Returns: {cwd}/config/{serviceName}
484
+ */
485
+ declare function getServiceConfigDir(serviceName: string): string;
486
+ /**
487
+ * Get the main config directory
488
+ * Returns: {cwd}/config
489
+ */
490
+ declare function getConfigDir(): string;
491
+ /**
492
+ * Ensure a directory exists, creating it if necessary
493
+ */
494
+ declare function ensureDataDir(pluginName: string): string;
495
+ //# sourceMappingURL=data-paths.d.ts.map
496
+ //#endregion
497
+ //#region src/core/plugin-runtime-state.d.ts
498
+ /**
499
+ * Get the runtime state for a plugin
500
+ */
501
+ declare function getPluginRuntimeState(pluginName: string): Record<string, any>;
502
+ /**
503
+ * Set/update the runtime state for a plugin
504
+ */
505
+ declare function setPluginRuntimeState(pluginName: string, state: Record<string, any>): Record<string, any>;
506
+ /**
507
+ * Reset the runtime state for a plugin
508
+ */
509
+ declare function resetPluginRuntimeState(pluginName: string): void;
510
+ /**
511
+ * Get all plugin runtime states (for debugging)
512
+ */
513
+ //#endregion
514
+ //#region src/index.d.ts
515
+ declare function definePlugin<T extends mioki0.MiokiPlugin>(plugin: T): T;
516
+ /**
517
+ * Start options for Mioku
518
+ */
519
+ interface MiokuStartOptions {
520
+ cwd?: string;
521
+ }
522
+ /**
523
+ * Start Mioku with plugin and service discovery
524
+ */
525
+ declare function start(options?: MiokuStartOptions): Promise<void>;
526
+ declare const version = "1.0.0";
527
+ //#endregion
528
+ export { type AIInstance, type AIService, type AISkill, type AITool, type AIUsageBreakdown, type AIUsageContext, type AIUsageFinalization, type AIUsageRange, type AIUsageSummary, type ChatRuntime, type ChatRuntimeBaseOptions, type ChatRuntimeCollectedInfo, type ChatRuntimeGroupTarget, type ChatRuntimeInformationRequestOptions, type ChatRuntimeNoticeOptions, type ChatRuntimePrivateTarget, type ChatRuntimePromptInjection, type ChatRuntimeResult, type ChatRuntimeSource, type CommandRole, type CompleteOptions, type CompleteResponse, type ConfigService, type HelpService, type MiokiContext, type MiokiPlugin, type MiokuService, MiokuStartOptions, type MultimodalContentItem, type MultimodalMessage, type PluginHelp, type PluginMetadata, type PluginPackageConfig, type ScreenshotService, type ServiceMetadata, type SessionToolDefinition, type SkillPermissionRole, TOOL_RESULT_FOLLOWUP_KEY, type TextMessage, type ToolCallRecord, type ToolResultFollowup, type WebUIService, definePlugin, ensureDataDir, getConfigDir, getDataDir, getPluginConfigDir, getPluginDataDir, getPluginRuntimeState, getServiceConfigDir, getServiceDataDir, _default as pluginManager, registerPluginArtifacts, resetPluginRuntimeState, _default$1 as serviceManager, setPluginRuntimeState, start, version };
529
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/core/types.ts","../src/core/plugin-manager.ts","../src/core/service-manager.ts","../src/core/plugin-artifact-registry.ts","../src/types.ts","../src/service-types.ts","../src/core/data-paths.ts","../src/core/plugin-runtime-state.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}