@ai-setting/roy-agent-core 1.5.5 → 1.5.7

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 (58) hide show
  1. package/dist/config/index.d.ts +1250 -0
  2. package/dist/env/agent/index.d.ts +2279 -0
  3. package/dist/env/agent/index.js +1 -1
  4. package/dist/env/commands/index.d.ts +1131 -0
  5. package/dist/env/debug/formatters/index.d.ts +236 -0
  6. package/dist/env/debug/index.d.ts +1652 -0
  7. package/dist/env/hook/index.d.ts +279 -0
  8. package/dist/env/index.d.ts +3460 -0
  9. package/dist/env/index.js +8 -8
  10. package/dist/env/llm/index.d.ts +1760 -0
  11. package/dist/env/log-trace/index.d.ts +1574 -0
  12. package/dist/env/mcp/index.d.ts +1331 -0
  13. package/dist/env/mcp/index.js +2 -2
  14. package/dist/env/mcp/tool/index.d.ts +183 -0
  15. package/dist/env/mcp/tool/index.js +1 -1
  16. package/dist/env/memory/built-in/index.d.ts +232 -0
  17. package/dist/env/memory/index.d.ts +1799 -0
  18. package/dist/env/memory/plugin/index.d.ts +747 -0
  19. package/dist/env/prompt/index.d.ts +1164 -0
  20. package/dist/env/session/index.d.ts +1908 -0
  21. package/dist/env/session/storage/index.d.ts +564 -0
  22. package/dist/env/skill/index.d.ts +1266 -0
  23. package/dist/env/skill/tool/index.d.ts +193 -0
  24. package/dist/env/task/delegate/index.d.ts +1622 -0
  25. package/dist/env/task/hooks/index.d.ts +607 -0
  26. package/dist/env/task/index.d.ts +1415 -0
  27. package/dist/env/task/plugins/index.d.ts +462 -0
  28. package/dist/env/task/storage/index.d.ts +224 -0
  29. package/dist/env/task/tools/index.d.ts +1464 -0
  30. package/dist/env/task/tools/operation/index.d.ts +1463 -0
  31. package/dist/env/tool/built-in/index.d.ts +218 -0
  32. package/dist/env/tool/index.d.ts +1396 -0
  33. package/dist/env/workflow/decorators/index.d.ts +2161 -0
  34. package/dist/env/workflow/engine/index.d.ts +3453 -0
  35. package/dist/env/workflow/engine/index.js +4 -4
  36. package/dist/env/workflow/index.d.ts +3546 -0
  37. package/dist/env/workflow/index.js +9 -5
  38. package/dist/env/workflow/nodes/index.d.ts +2092 -0
  39. package/dist/env/workflow/nodes/index.js +1 -1
  40. package/dist/env/workflow/service/index.d.ts +227 -0
  41. package/dist/env/workflow/storage/index.d.ts +165 -0
  42. package/dist/env/workflow/tools/index.d.ts +416 -0
  43. package/dist/env/workflow/types/index.d.ts +2255 -0
  44. package/dist/env/workflow/types/index.js +5 -1
  45. package/dist/env/workflow/utils/index.d.ts +2031 -0
  46. package/dist/index.d.ts +7837 -0
  47. package/dist/index.js +8 -8
  48. package/dist/shared/@ai-setting/{roy-agent-core-nhdrvfp8.js → roy-agent-core-1akcqxj9.js} +49 -3
  49. package/dist/shared/@ai-setting/{roy-agent-core-rzp9kxne.js → roy-agent-core-5x94xmt6.js} +14 -5
  50. package/dist/shared/@ai-setting/{roy-agent-core-pc9g3962.js → roy-agent-core-69jskqjg.js} +41 -66
  51. package/dist/shared/@ai-setting/{roy-agent-core-f0cc2ep9.js → roy-agent-core-b0x5dda6.js} +2 -2
  52. package/dist/shared/@ai-setting/{roy-agent-core-ya8krqzt.js → roy-agent-core-dc497hmk.js} +5 -4
  53. package/dist/shared/@ai-setting/{roy-agent-core-z2t8hse8.js → roy-agent-core-dh9d7a3m.js} +1 -1
  54. package/dist/shared/@ai-setting/{roy-agent-core-qw0ebh1d.js → roy-agent-core-gq20wsgv.js} +49 -17
  55. package/dist/shared/@ai-setting/{roy-agent-core-3agad0d9.js → roy-agent-core-jvatggbb.js} +1 -1
  56. package/dist/shared/@ai-setting/{roy-agent-core-c0jcxnf4.js → roy-agent-core-pjr12nnd.js} +1 -1
  57. package/dist/shared/@ai-setting/{roy-agent-core-kkp3qmc3.js → roy-agent-core-wrcy0h6z.js} +132 -180
  58. package/package.json +4 -2
@@ -0,0 +1,607 @@
1
+ import { z as z2, ZodType, ZodError } from "zod";
2
+ /**
3
+ * 沙箱配置
4
+ */
5
+ interface SandboxConfig {
6
+ /** 是否启用沙箱 */
7
+ enabled: boolean;
8
+ /** 沙箱类型 */
9
+ type: "native" | "docker";
10
+ /** 动作过滤 */
11
+ actionFilter?: {
12
+ /** 包含的动作 */
13
+ include?: string[];
14
+ /** 排除的动作 */
15
+ exclude?: string[];
16
+ };
17
+ /** 文件系统限制 */
18
+ filesystem?: {
19
+ /** 允许读取 */
20
+ allowRead?: string[];
21
+ /** 禁止读取 */
22
+ denyRead?: string[];
23
+ /** 允许写入 */
24
+ allowWrite?: string[];
25
+ /** 禁止写入 */
26
+ denyWrite?: string[];
27
+ };
28
+ /** 网络限制 */
29
+ network?: {
30
+ /** 允许的域名 */
31
+ allowedDomains?: string[];
32
+ /** 禁止的域名 */
33
+ deniedDomains?: string[];
34
+ };
35
+ /** Docker 配置 */
36
+ docker?: {
37
+ /** 镜像 */
38
+ image?: string;
39
+ /** 网络模式 */
40
+ networkMode?: "bridge" | "host" | "none";
41
+ /** 卷挂载 */
42
+ volumes?: Record<string, string>;
43
+ };
44
+ }
45
+ /**
46
+ * 工具执行上下文
47
+ */
48
+ interface ToolContext {
49
+ /** 工作目录 */
50
+ workdir?: string;
51
+ /** 用户 ID */
52
+ user_id?: string;
53
+ /** 会话 ID */
54
+ session_id?: string;
55
+ /** 消息 ID */
56
+ message_id?: string;
57
+ /** 中断信号 */
58
+ abort?: AbortSignal;
59
+ /** 额外元数据 */
60
+ metadata?: Record<string, unknown>;
61
+ /** 沙箱配置 */
62
+ sandbox?: SandboxConfig;
63
+ /** 沙箱 Provider */
64
+ sandboxProvider?: unknown | null;
65
+ }
66
+ /**
67
+ * 工具结果元数据
68
+ */
69
+ interface ToolResultMetadata {
70
+ /** 执行时间(毫秒) */
71
+ execution_time_ms: number;
72
+ /** 输出大小(字节) */
73
+ output_size?: number;
74
+ /** 标准输出 */
75
+ stdout?: string;
76
+ /** 标准错误 */
77
+ stderr?: string;
78
+ /** 退出码 */
79
+ exit_code?: number;
80
+ /** Token 使用量 */
81
+ usage?: {
82
+ inputTokens: number;
83
+ outputTokens: number;
84
+ totalTokens?: number;
85
+ };
86
+ /** 额外元数据 */
87
+ [key: string]: unknown;
88
+ }
89
+ /**
90
+ * 工具执行结果
91
+ */
92
+ interface ToolResult2 {
93
+ /** 是否成功 */
94
+ success: boolean;
95
+ /** 输出内容 */
96
+ output: string | Record<string, unknown>;
97
+ /** 错误信息 */
98
+ error?: string;
99
+ /** 结果元数据 */
100
+ metadata?: ToolResultMetadata;
101
+ }
102
+ /**
103
+ * 工具元数据
104
+ */
105
+ interface ToolMetadata {
106
+ /** 分类 */
107
+ category?: string;
108
+ /** 标签 */
109
+ tags?: string[];
110
+ /** 版本 */
111
+ version?: string;
112
+ /** 作者 */
113
+ author?: string;
114
+ /** 是否实验性 */
115
+ experimental?: boolean;
116
+ /** MCP 工具信息(MCP adapter 使用) */
117
+ mcpTool?: {
118
+ originalName: string;
119
+ originalDescription: string;
120
+ inputSchema?: unknown;
121
+ };
122
+ }
123
+ /**
124
+ * 工具沙箱配置
125
+ */
126
+ interface ToolSandboxConfig {
127
+ /** 是否启用沙箱 */
128
+ enabled: boolean;
129
+ /** 沙箱配置 */
130
+ config?: Partial<SandboxConfig>;
131
+ }
132
+ /**
133
+ * 工具权限配置
134
+ */
135
+ interface ToolPermissionConfig {
136
+ /** 是否需要用户确认 */
137
+ requireConfirmation?: boolean;
138
+ /** 权限级别 */
139
+ level?: "safe" | "dangerous" | "critical";
140
+ }
141
+ /**
142
+ * 工具信息
143
+ */
144
+ interface ToolInfo<Parameters extends ZodType = ZodType> {
145
+ /** 工具名称 */
146
+ name: string;
147
+ /** 工具描述 */
148
+ description: string;
149
+ /** 参数 Schema */
150
+ parameters: Parameters;
151
+ /** 初始化函数(可选) */
152
+ init?: (ctx?: ToolContext) => Promise<void>;
153
+ /** 执行函数 */
154
+ execute: (args: z2.infer<Parameters>, ctx: ToolContext) => Promise<ToolResult2>;
155
+ /** 参数验证错误格式化(可选) */
156
+ formatValidationError?: (error: ZodError) => string;
157
+ /** 沙箱配置 */
158
+ sandbox?: ToolSandboxConfig;
159
+ /** 权限配置 */
160
+ permission?: ToolPermissionConfig;
161
+ /** 工具元数据 */
162
+ metadata?: ToolMetadata;
163
+ }
164
+ /**
165
+ * 工具类型别名
166
+ */
167
+ type Tool = ToolInfo;
168
+ import { z as z7 } from "zod";
169
+ /**
170
+ * Task status enum
171
+ */
172
+ declare const TaskStatusEnum: unknown;
173
+ type TaskStatus = z7.infer<typeof TaskStatusEnum>;
174
+ /**
175
+ * Task priority enum
176
+ */
177
+ declare const TaskPriorityEnum: unknown;
178
+ type TaskPriority = z7.infer<typeof TaskPriorityEnum>;
179
+ /**
180
+ * Action type for task operations
181
+ */
182
+ declare const ActionTypeEnum: unknown;
183
+ type ActionType = z7.infer<typeof ActionTypeEnum>;
184
+ /**
185
+ * Task entity
186
+ */
187
+ interface Task {
188
+ id: number;
189
+ title: string;
190
+ description: string;
191
+ status: TaskStatus;
192
+ priority: TaskPriority;
193
+ progress: number;
194
+ current_status: string;
195
+ goals_and_expected_deliverables: string;
196
+ parent_task_id?: number;
197
+ createdAt: string;
198
+ updatedAt: string;
199
+ due_date?: string;
200
+ tags?: string[];
201
+ }
202
+ /**
203
+ * TaskOperation entity
204
+ *
205
+ * 记录任务的操作历史,每个操作关联到一个 sessionId
206
+ */
207
+ interface TaskOperation {
208
+ id: number;
209
+ taskId: number;
210
+ sessionId: string;
211
+ actionType: ActionType;
212
+ actionTitle: string;
213
+ actionDescription: string;
214
+ timestamp: string;
215
+ mdPath?: string;
216
+ }
217
+ /**
218
+ * TaskTag entity
219
+ *
220
+ * Tag 池中的单个 Tag
221
+ */
222
+ interface TaskTag {
223
+ id: number;
224
+ name: string;
225
+ createdAt: string;
226
+ taskCount: number;
227
+ }
228
+ interface CreateTaskOptions {
229
+ title: string;
230
+ description?: string;
231
+ priority?: TaskPriority;
232
+ parent_task_id?: number;
233
+ goals_and_expected_deliverables?: string;
234
+ due_date?: string;
235
+ tags?: string[];
236
+ sessionId: string;
237
+ }
238
+ interface UpdateTaskOptions {
239
+ title?: string;
240
+ description?: string;
241
+ status?: TaskStatus;
242
+ priority?: TaskPriority;
243
+ progress?: number;
244
+ current_status?: string;
245
+ goals_and_expected_deliverables?: string;
246
+ due_date?: string;
247
+ tags?: string[];
248
+ }
249
+ interface CreateOperationOptions {
250
+ taskId: number;
251
+ sessionId: string;
252
+ actionType: ActionType;
253
+ actionTitle: string;
254
+ actionDescription?: string;
255
+ mdPath?: string;
256
+ }
257
+ /**
258
+ * @fileoverview Task Hook Points - Hook 点常量定义
259
+ *
260
+ * 定义 Task Component 生命周期中的所有 Hook 点
261
+ */
262
+ declare const TaskHookPoints: {
263
+ /** 创建 Task 前 - 可干预 options */
264
+ readonly BEFORE_CREATE: "task:before.create";
265
+ /** 创建 Task 后 - 观察或触发副作用 */
266
+ readonly AFTER_CREATE: "task:after.create";
267
+ /** 更新 Task 前 - 可干预 options */
268
+ readonly BEFORE_UPDATE: "task:before.update";
269
+ /** 更新 Task 后 - 观察变更 */
270
+ readonly AFTER_UPDATE: "task:after.update";
271
+ /** 删除 Task 前 - 观察 */
272
+ readonly BEFORE_DELETE: "task:before.delete";
273
+ /** 删除 Task 后 - 清理关联资源 */
274
+ readonly AFTER_DELETE: "task:after.delete";
275
+ /** 委派任务前 - 可干预 prompt、参数 */
276
+ readonly DELEGATE_BEFORE: "task:delegate:before";
277
+ /** 委派任务后 - 观察结果 */
278
+ readonly DELEGATE_AFTER: "task:delegate:after";
279
+ /** 创建操作记录前 - 可干预 options */
280
+ readonly OPERATION_BEFORE_CREATE: "task:operation:before.create";
281
+ /** 创建操作记录后 - 观察或触发副作用 */
282
+ readonly OPERATION_AFTER_CREATE: "task:operation:after.create";
283
+ };
284
+ /**
285
+ * Task Hook 点类型
286
+ */
287
+ type TaskHookPoint = typeof TaskHookPoints[keyof typeof TaskHookPoints];
288
+ interface ListTagsOptions {
289
+ limit?: number;
290
+ offset?: number;
291
+ orderBy?: "count" | "name" | "created_at";
292
+ }
293
+ interface SearchTagsOptions {
294
+ query: string;
295
+ limit?: number;
296
+ }
297
+ interface TagService {
298
+ /**
299
+ * 创建 Tag(如果已存在则返回现有 Tag)
300
+ */
301
+ createTag(name: string): Promise<TaskTag>;
302
+ /**
303
+ * 获取 Tag by ID
304
+ */
305
+ getTag(id: number): Promise<TaskTag | undefined>;
306
+ /**
307
+ * 获取 Tag by Name
308
+ */
309
+ getTagByName(name: string): Promise<TaskTag | undefined>;
310
+ /**
311
+ * 列出所有 Tag
312
+ */
313
+ listTags(options?: ListTagsOptions): Promise<TaskTag[]>;
314
+ /**
315
+ * 搜索 Tag(模糊匹配)
316
+ */
317
+ searchTags(options: SearchTagsOptions): Promise<TaskTag[]>;
318
+ /**
319
+ * 删除 Tag(同时删除所有关联)
320
+ */
321
+ deleteTag(id: number): Promise<boolean>;
322
+ /**
323
+ * 给 Task 添加 Tags
324
+ */
325
+ addTagsToTask(taskId: number, tagIds: number[]): Promise<void>;
326
+ /**
327
+ * 从 Task 移除 Tags
328
+ */
329
+ removeTagsFromTask(taskId: number, tagIds: number[]): Promise<void>;
330
+ /**
331
+ * 获取 Task 的所有 Tags
332
+ */
333
+ getTagsForTask(taskId: number): Promise<TaskTag[]>;
334
+ /**
335
+ * 根据 Tag 名称获取关联的 Task IDs
336
+ */
337
+ getTaskIdsByTags(tagNames: string[]): Promise<number[]>;
338
+ /**
339
+ * 根据关键词列表搜索 Task(检索 tags、description、goals、operations)
340
+ * 这是新的核心检索方法
341
+ */
342
+ searchTasksByKeywords(keywords: string[], options?: {
343
+ limit?: number;
344
+ excludeTaskId?: number;
345
+ }): Promise<Task[]>;
346
+ /**
347
+ * 根据关键词查找类似 Task(排除自身,按相关性排序)
348
+ * 这是新的核心检索方法
349
+ */
350
+ findSimilarTasksByKeywords(keywords: string[], options?: {
351
+ limit?: number;
352
+ excludeTaskId?: number;
353
+ }): Promise<Task[]>;
354
+ /**
355
+ * 同步 Tags 到 Task(根据 tag 名称列表)
356
+ * - 查找或创建 Tag
357
+ * - 更新关联关系
358
+ * - 更新 task.tags JSON 字段
359
+ */
360
+ syncTagsToTask(taskId: number, tagNames: string[]): Promise<void>;
361
+ /**
362
+ * 查找类似 Task(基于 Tag 匹配度)- 原始实现,保留兼容
363
+ * @deprecated 使用 findSimilarTasksByKeywords 代替
364
+ */
365
+ findSimilarTasks(taskId: number, limit?: number): Promise<Task[]>;
366
+ /**
367
+ * 根据关键词搜索 Task(标题 + 描述)- 原始实现,保留兼容
368
+ * @deprecated 使用 searchTasksByKeywords 代替
369
+ */
370
+ searchTasks(query: string, limit?: number): Promise<Task[]>;
371
+ }
372
+ interface DelegateToolResult {
373
+ tool: Tool;
374
+ backgroundTaskManager: BackgroundTaskManager;
375
+ }
376
+ interface BackgroundTask {
377
+ id: string;
378
+ subSessionId: string;
379
+ parentSessionId: string;
380
+ description: string;
381
+ subagentType: string;
382
+ status: "pending" | "running" | "completed" | "failed" | "timeout" | "stopped";
383
+ createdAt: number;
384
+ startedAt?: number;
385
+ completedAt?: number;
386
+ result?: string;
387
+ error?: string;
388
+ progress?: number;
389
+ progressMessage?: string;
390
+ abortController?: AbortController;
391
+ taskId?: number;
392
+ }
393
+ interface CreateBackgroundTaskOptions {
394
+ parentSessionId: string;
395
+ description: string;
396
+ prompt: string;
397
+ subagentType: string;
398
+ timeout?: number;
399
+ cleanup?: "delete" | "keep";
400
+ taskId?: number;
401
+ }
402
+ /**
403
+ * Background Task Manager (简化版)
404
+ *
405
+ * 管理后台任务的创建、执行、状态跟踪
406
+ * 支持 EnvEvent 发布
407
+ */
408
+ declare class BackgroundTaskManager {
409
+ private env;
410
+ private tasks;
411
+ private progressTimers;
412
+ private abortControllers;
413
+ constructor(env: any);
414
+ /**
415
+ * Get SessionComponent from env
416
+ */
417
+ private getSessionComponent;
418
+ createTask(options: CreateBackgroundTaskOptions): Promise<{
419
+ taskId: string;
420
+ subSessionId: string;
421
+ }>;
422
+ private executeTask;
423
+ private executeWithAbort;
424
+ /**
425
+ * Start progress reporter for a task
426
+ */
427
+ private startProgressReporter;
428
+ /**
429
+ * Stop progress reporter for a task
430
+ */
431
+ private stopProgressReporter;
432
+ /**
433
+ * Publish an event to the environment
434
+ */
435
+ private publishEvent;
436
+ stopTask(taskId: string): {
437
+ success: boolean;
438
+ task?: BackgroundTask;
439
+ message: string;
440
+ };
441
+ getTask(taskId: string): BackgroundTask | undefined;
442
+ listTasks(): BackgroundTask[];
443
+ /**
444
+ * Dispose and cleanup all resources
445
+ * Call this when shutting down to prevent process from hanging
446
+ */
447
+ dispose(): void;
448
+ }
449
+ /**
450
+ * Task Create Hook Context
451
+ *
452
+ * 触发时机:createTask() 方法调用后,实际创建前
453
+ *
454
+ * Plugin 可直接修改 options 来干预创建行为
455
+ */
456
+ interface TaskCreateContext {
457
+ /** 创建选项(Plugin 可直接修改) */
458
+ options: CreateTaskOptions;
459
+ /** Session ID */
460
+ sessionId: string;
461
+ /** Tag 服务引用 */
462
+ tagService: TagService;
463
+ }
464
+ /**
465
+ * Task Create Result Hook Context
466
+ *
467
+ * 触发时机:Task 创建成功后
468
+ *
469
+ * Plugin 可在此 Hook 中:
470
+ * - 同步 Tag 到数据库
471
+ * - 创建关联资源
472
+ * - 发送通知
473
+ */
474
+ interface TaskCreateResultContext {
475
+ /** 创建后的 Task(已包含生成 ID) */
476
+ task: Task;
477
+ /** Session ID */
478
+ sessionId: string;
479
+ /** Tag 服务引用 */
480
+ tagService: TagService;
481
+ }
482
+ /**
483
+ * Task Update Hook Context
484
+ *
485
+ * 触发时机:updateTask() 方法调用后,实际更新前
486
+ *
487
+ * Plugin 可直接修改 options 来干预更新行为
488
+ */
489
+ interface TaskUpdateContext {
490
+ /** Task ID */
491
+ id: number;
492
+ /** 更新选项(Plugin 可直接修改) */
493
+ options: UpdateTaskOptions;
494
+ /** Tag 服务引用 */
495
+ tagService: TagService;
496
+ }
497
+ /**
498
+ * Task Update Result Hook Context
499
+ *
500
+ * 触发时机:Task 更新成功后
501
+ */
502
+ interface TaskUpdateResultContext {
503
+ /** 更新后的 Task */
504
+ task: Task;
505
+ /** 变更的字段 */
506
+ changes: Partial<UpdateTaskOptions>;
507
+ /** Tag 服务引用 */
508
+ tagService: TagService;
509
+ }
510
+ /**
511
+ * Task Delete Hook Context
512
+ *
513
+ * 触发时机:deleteTask() 方法调用后,实际删除前
514
+ */
515
+ interface TaskDeleteContext {
516
+ /** Task ID */
517
+ id: number;
518
+ }
519
+ /**
520
+ * Task Delete Result Hook Context
521
+ *
522
+ * 触发时机:Task 删除成功后
523
+ *
524
+ * 注意:删除成功后无法获取 Task 的详细信息
525
+ */
526
+ interface TaskDeleteResultContext {
527
+ /** 被删除的 Task ID */
528
+ id: number;
529
+ /** 是否成功删除 */
530
+ deleted: boolean;
531
+ }
532
+ /**
533
+ * Delegate Before Hook Context
534
+ *
535
+ * 触发时机:delegate_task 工具执行前
536
+ *
537
+ * Plugin 可直接修改 prompt 来注入上下文
538
+ */
539
+ interface TaskDelegateContext {
540
+ /** 关联的 Task ID */
541
+ taskId?: number;
542
+ /** 执行提示词(Plugin 可直接修改以注入上下文) */
543
+ prompt: string;
544
+ /** SubAgent 类型 */
545
+ subagentType: string;
546
+ /** 是否后台执行 */
547
+ background: boolean;
548
+ /** 超时时间 */
549
+ timeout?: number;
550
+ /** 清理策略 */
551
+ cleanup?: "delete" | "keep";
552
+ /** 执行原因 */
553
+ reason?: string;
554
+ /** Tag 服务引用 */
555
+ tagService: TagService;
556
+ }
557
+ /**
558
+ * Delegate After Hook Context
559
+ *
560
+ * 触发时机:delegate_task 工具执行后
561
+ */
562
+ interface TaskDelegateResultContext {
563
+ /** 关联的 Task ID */
564
+ taskId?: number;
565
+ /** 执行结果 */
566
+ result: DelegateToolResult;
567
+ /** Tag 服务引用 */
568
+ tagService: TagService;
569
+ }
570
+ /**
571
+ * Operation Create Hook Context
572
+ *
573
+ * 触发时机:createOperation() 方法调用后,实际创建前
574
+ *
575
+ * Plugin 可直接修改 options 来干预操作记录创建
576
+ */
577
+ interface TaskOperationCreateContext {
578
+ /** 创建选项(Plugin 可直接修改) */
579
+ options: CreateOperationOptions;
580
+ }
581
+ /**
582
+ * Operation Create Result Hook Context
583
+ *
584
+ * 触发时机:操作记录创建成功后
585
+ */
586
+ interface TaskOperationCreateResultContext {
587
+ /** 创建后的操作记录 */
588
+ operation: TaskOperation;
589
+ }
590
+ /**
591
+ * TaskHookContextMap - Hook 点与 Context 类型的映射
592
+ *
593
+ * 用于 Hook 执行时类型安全的 Context 获取
594
+ */
595
+ interface TaskHookContextMap {
596
+ "task:before.create": TaskCreateContext;
597
+ "task:after.create": TaskCreateResultContext;
598
+ "task:before.update": TaskUpdateContext;
599
+ "task:after.update": TaskUpdateResultContext;
600
+ "task:before.delete": TaskDeleteContext;
601
+ "task:after.delete": TaskDeleteResultContext;
602
+ "task:delegate:before": TaskDelegateContext;
603
+ "task:delegate:after": TaskDelegateResultContext;
604
+ "task:operation:before.create": TaskOperationCreateContext;
605
+ "task:operation:after.create": TaskOperationCreateResultContext;
606
+ }
607
+ export { TaskUpdateResultContext, TaskUpdateContext, TaskOperationCreateResultContext, TaskOperationCreateContext, TaskHookPoints, TaskHookPoint, TaskHookContextMap, TaskDeleteResultContext, TaskDeleteContext, TaskDelegateResultContext, TaskDelegateContext, TaskCreateResultContext, TaskCreateContext };