@aalis/plugin-todo-list 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.
- package/README.md +21 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +174 -0
- package/dist/index.js.map +1 -0
- package/package.json +31 -0
package/README.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# @aalis/plugin-todo-list
|
|
2
|
+
|
|
3
|
+
运行时插件
|
|
4
|
+
|
|
5
|
+
## 角色
|
|
6
|
+
|
|
7
|
+
运行时插件
|
|
8
|
+
|
|
9
|
+
## 安装
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
pnpm add @aalis/plugin-todo-list
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 文档
|
|
16
|
+
|
|
17
|
+
详见 [docs/plugins/plugin-todo-list.md](../../docs/plugins/plugin-todo-list.md)。
|
|
18
|
+
|
|
19
|
+
## 许可
|
|
20
|
+
|
|
21
|
+
见仓库根目录 LICENSE。
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ConfigSchema, Context, PluginModule } from '@aalis/core';
|
|
2
|
+
import '@aalis/plugin-tools-api';
|
|
3
|
+
export declare const name = "@aalis/plugin-todo-list";
|
|
4
|
+
export declare const displayName = "\u4EFB\u52A1\u8BA1\u5212";
|
|
5
|
+
export declare const subsystem = "scheduler";
|
|
6
|
+
export declare const inject: {};
|
|
7
|
+
export declare const configSchema: ConfigSchema;
|
|
8
|
+
export interface TodoItem {
|
|
9
|
+
id: number;
|
|
10
|
+
title: string;
|
|
11
|
+
status: 'not-started' | 'in-progress' | 'completed';
|
|
12
|
+
}
|
|
13
|
+
declare module '@aalis/core' {
|
|
14
|
+
interface AalisEvents {
|
|
15
|
+
'todo:updated': [sessionId: string, items: TodoItem[]];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export declare const actions: PluginModule['actions'];
|
|
19
|
+
export declare function apply(ctx: Context, config: Record<string, unknown>): void;
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKvE,OAAO,yBAAyB,CAAC;AAKjC,eAAO,MAAM,IAAI,4BAA4B,CAAC;AAC9C,eAAO,MAAM,WAAW,6BAAS,CAAC;AAClC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,MAAM,IAAK,CAAC;AAEzB,eAAO,MAAM,YAAY,EAAE,YAE1B,CAAC;AAIF,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC;CACrD;AAmCD,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,WAAW;QACnB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;KACxD;CACF;AAID,eAAO,MAAM,OAAO,EAAE,YAAY,CAAC,SAAS,CAkB3C,CAAC;AAIF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAsHzE"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { useToolService } from '@aalis/plugin-tools-api';
|
|
2
|
+
import '@aalis/plugin-tools-api';
|
|
3
|
+
// ===== 插件元数据 =====
|
|
4
|
+
export const name = '@aalis/plugin-todo-list';
|
|
5
|
+
export const displayName = '任务计划';
|
|
6
|
+
export const subsystem = 'scheduler';
|
|
7
|
+
export const inject = {};
|
|
8
|
+
export const configSchema = {
|
|
9
|
+
enabled: { type: 'boolean', label: '启用任务计划工具', default: true },
|
|
10
|
+
};
|
|
11
|
+
/** sessionId → TodoItem[] */
|
|
12
|
+
const store = new Map();
|
|
13
|
+
const TODO_NAMESPACE = 'todo-list';
|
|
14
|
+
const MAX_TODO_ITEMS = 50;
|
|
15
|
+
const MAX_TODO_TITLE_LENGTH = 120;
|
|
16
|
+
/** 将 todo 持久化到 MemoryService */
|
|
17
|
+
async function persistTodos(ctx, sessionId, items) {
|
|
18
|
+
const memory = ctx.getService('memory');
|
|
19
|
+
if (memory?.saveMetadata) {
|
|
20
|
+
await memory.saveMetadata(TODO_NAMESPACE, sessionId, { items });
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/** 从 MemoryService 加载 todo(优先内存缓存) */
|
|
24
|
+
async function loadTodos(ctx, sessionId) {
|
|
25
|
+
const cached = store.get(sessionId);
|
|
26
|
+
if (cached)
|
|
27
|
+
return cached;
|
|
28
|
+
const memory = ctx.getService('memory');
|
|
29
|
+
if (memory?.getMetadata) {
|
|
30
|
+
const data = await memory.getMetadata(TODO_NAMESPACE, sessionId);
|
|
31
|
+
if (data?.items && Array.isArray(data.items)) {
|
|
32
|
+
const items = data.items;
|
|
33
|
+
store.set(sessionId, items);
|
|
34
|
+
return items;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
// ===== Actions =====
|
|
40
|
+
export const actions = {
|
|
41
|
+
async getTodos(ctx, args) {
|
|
42
|
+
const sessionId = args.sessionId;
|
|
43
|
+
if (!sessionId)
|
|
44
|
+
return [];
|
|
45
|
+
return await loadTodos(ctx, sessionId);
|
|
46
|
+
},
|
|
47
|
+
async clearTodos(ctx, args) {
|
|
48
|
+
const sessionId = args.sessionId;
|
|
49
|
+
if (!sessionId)
|
|
50
|
+
throw new Error('缺少 sessionId');
|
|
51
|
+
store.delete(sessionId);
|
|
52
|
+
const memory = ctx.getService('memory');
|
|
53
|
+
if (memory?.deleteMetadata) {
|
|
54
|
+
await memory.deleteMetadata(TODO_NAMESPACE, sessionId);
|
|
55
|
+
}
|
|
56
|
+
await ctx.emit('todo:updated', sessionId, []);
|
|
57
|
+
return { success: true };
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
// ===== 插件入口 =====
|
|
61
|
+
export function apply(ctx, config) {
|
|
62
|
+
if (config.enabled === false)
|
|
63
|
+
return;
|
|
64
|
+
// 注册工具分组
|
|
65
|
+
useToolService(ctx).registerGroup({
|
|
66
|
+
name: 'todo',
|
|
67
|
+
label: '任务计划',
|
|
68
|
+
description: '创建和管理任务计划列表,拆分复杂任务并追踪进度',
|
|
69
|
+
});
|
|
70
|
+
// ---- manage_todo_list ----
|
|
71
|
+
useToolService(ctx).register({
|
|
72
|
+
groups: ['todo'],
|
|
73
|
+
definition: {
|
|
74
|
+
type: 'function',
|
|
75
|
+
function: {
|
|
76
|
+
name: 'manage_todo_list',
|
|
77
|
+
description: [
|
|
78
|
+
'管理当前会话的任务计划列表,用于规划和追踪多步骤任务的执行进度。',
|
|
79
|
+
'传入完整的 todoList 数组以创建或更新计划。每次调用需提供所有 todo 项(包括已有项和新增项)。',
|
|
80
|
+
'',
|
|
81
|
+
'工作流程:',
|
|
82
|
+
'1. 收到复杂任务时,规划 todo 列表(所有项 status=not-started)',
|
|
83
|
+
'2. 开始某项前,将其标记为 in-progress(同一时间最多一项 in-progress)',
|
|
84
|
+
'3. 完成某项后,立即将其标记为 completed',
|
|
85
|
+
'4. 继续下一项,重复步骤 2-3',
|
|
86
|
+
'',
|
|
87
|
+
'你可以随时调整计划:重新排序、修改标题、插入新步骤、删除多余步骤均可。',
|
|
88
|
+
'发现更优执行顺序或需要增补步骤时,直接传入更新后的完整数组即可。',
|
|
89
|
+
'',
|
|
90
|
+
'【子任务协作时必须使用 todo】:',
|
|
91
|
+
'当需要创建子任务时,todo 列表应包含:准备工作(如创建共享文档)→ 创建子任务 → 等待子任务完成 → 整合结果/保存文档。',
|
|
92
|
+
'这样能确保不会遗忘等待子任务或丢失结果。',
|
|
93
|
+
'',
|
|
94
|
+
'Todo 状态:',
|
|
95
|
+
'- not-started: 尚未开始',
|
|
96
|
+
'- in-progress: 正在执行(限一项)',
|
|
97
|
+
'- completed: 已完成',
|
|
98
|
+
].join('\n'),
|
|
99
|
+
parameters: {
|
|
100
|
+
type: 'object',
|
|
101
|
+
properties: {
|
|
102
|
+
todoList: {
|
|
103
|
+
type: 'array',
|
|
104
|
+
description: '完整的任务列表数组,每次调用必须包含所有项',
|
|
105
|
+
items: {
|
|
106
|
+
type: 'object',
|
|
107
|
+
properties: {
|
|
108
|
+
id: { type: 'number', description: '唯一 ID,从 1 开始递增' },
|
|
109
|
+
title: { type: 'string', description: '简洁的任务描述(3-10 字)' },
|
|
110
|
+
status: {
|
|
111
|
+
type: 'string',
|
|
112
|
+
enum: ['not-started', 'in-progress', 'completed'],
|
|
113
|
+
description: '任务状态',
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
required: ['id', 'title', 'status'],
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
required: ['todoList'],
|
|
121
|
+
additionalProperties: false,
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
handler: async (args, callCtx) => {
|
|
126
|
+
const rawList = args.todoList;
|
|
127
|
+
if (!Array.isArray(rawList)) {
|
|
128
|
+
return JSON.stringify({ error: 'todoList 必须是数组' });
|
|
129
|
+
}
|
|
130
|
+
if (rawList.length > MAX_TODO_ITEMS) {
|
|
131
|
+
return JSON.stringify({ error: `todoList 最多允许 ${MAX_TODO_ITEMS} 项` });
|
|
132
|
+
}
|
|
133
|
+
const longTitleIndex = rawList.findIndex((item) => {
|
|
134
|
+
const obj = item;
|
|
135
|
+
return String(obj.title ?? '').length > MAX_TODO_TITLE_LENGTH;
|
|
136
|
+
});
|
|
137
|
+
if (longTitleIndex >= 0) {
|
|
138
|
+
return JSON.stringify({
|
|
139
|
+
error: `第 ${longTitleIndex + 1} 项 todo 标题最多允许 ${MAX_TODO_TITLE_LENGTH} 个字符`,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
const items = rawList.map((item) => {
|
|
143
|
+
const obj = item;
|
|
144
|
+
const title = String(obj.title ?? '');
|
|
145
|
+
return {
|
|
146
|
+
id: Number(obj.id),
|
|
147
|
+
title,
|
|
148
|
+
status: ['not-started', 'in-progress', 'completed'].includes(obj.status)
|
|
149
|
+
? obj.status
|
|
150
|
+
: 'not-started',
|
|
151
|
+
};
|
|
152
|
+
});
|
|
153
|
+
store.set(callCtx.sessionId, items);
|
|
154
|
+
await persistTodos(ctx, callCtx.sessionId, items);
|
|
155
|
+
await ctx.emit('todo:updated', callCtx.sessionId, items);
|
|
156
|
+
const total = items.length;
|
|
157
|
+
const completed = items.filter(i => i.status === 'completed').length;
|
|
158
|
+
const inProgress = items.filter(i => i.status === 'in-progress').length;
|
|
159
|
+
return JSON.stringify({
|
|
160
|
+
success: true,
|
|
161
|
+
summary: `${completed}/${total} 已完成${inProgress > 0 ? `,${inProgress} 项进行中` : ''}`,
|
|
162
|
+
});
|
|
163
|
+
},
|
|
164
|
+
});
|
|
165
|
+
// 会话删除时清理
|
|
166
|
+
ctx.on('session:deleted', (sessionId) => {
|
|
167
|
+
store.delete(sessionId);
|
|
168
|
+
const memory = ctx.getService('memory');
|
|
169
|
+
if (memory?.deleteMetadata) {
|
|
170
|
+
memory.deleteMetadata(TODO_NAMESPACE, sessionId).catch(() => { });
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@aalis/plugin-todo-list",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"aalis-plugin"
|
|
7
|
+
],
|
|
8
|
+
"main": "dist/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@aalis/plugin-tools-api": "^0.1.0"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@types/node": "^22.0.0",
|
|
18
|
+
"typescript": "^5.7.0",
|
|
19
|
+
"@aalis/plugin-webui-api": "0.1.0",
|
|
20
|
+
"@aalis/core": "0.1.0",
|
|
21
|
+
"@aalis/plugin-memory-api": "0.1.0",
|
|
22
|
+
"@aalis/plugin-session-manager-api": "0.1.0"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"@aalis/core": "^0.1.0"
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsc",
|
|
29
|
+
"dev": "tsc --watch"
|
|
30
|
+
}
|
|
31
|
+
}
|