@downcity/plugins 1.0.60 → 1.0.61
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/bin/BuiltinPlugins.d.ts +15 -0
- package/bin/BuiltinPlugins.d.ts.map +1 -1
- package/bin/BuiltinPlugins.js +7 -1
- package/bin/BuiltinPlugins.js.map +1 -1
- package/bin/index.d.ts +6 -0
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +3 -0
- package/bin/index.js.map +1 -1
- package/bin/memory/Action.d.ts +15 -10
- package/bin/memory/Action.d.ts.map +1 -1
- package/bin/memory/Action.js +233 -16
- package/bin/memory/Action.js.map +1 -1
- package/bin/memory/MemoryPlugin.d.ts +10 -4
- package/bin/memory/MemoryPlugin.d.ts.map +1 -1
- package/bin/memory/MemoryPlugin.js +79 -37
- package/bin/memory/MemoryPlugin.js.map +1 -1
- package/bin/memory/runtime/Search.d.ts +1 -1
- package/bin/memory/runtime/Search.d.ts.map +1 -1
- package/bin/memory/runtime/Search.js +11 -7
- package/bin/memory/runtime/Search.js.map +1 -1
- package/bin/memory/runtime/Store.d.ts +8 -23
- package/bin/memory/runtime/Store.d.ts.map +1 -1
- package/bin/memory/runtime/Store.js +28 -43
- package/bin/memory/runtime/Store.js.map +1 -1
- package/bin/memory/runtime/SystemProvider.d.ts +4 -8
- package/bin/memory/runtime/SystemProvider.d.ts.map +1 -1
- package/bin/memory/runtime/SystemProvider.js +55 -62
- package/bin/memory/runtime/SystemProvider.js.map +1 -1
- package/bin/memory/runtime/Writer.d.ts +48 -10
- package/bin/memory/runtime/Writer.d.ts.map +1 -1
- package/bin/memory/runtime/Writer.js +197 -60
- package/bin/memory/runtime/Writer.js.map +1 -1
- package/bin/memory/types/Memory.d.ts +222 -33
- package/bin/memory/types/Memory.d.ts.map +1 -1
- package/bin/memory/types/Memory.js +4 -3
- package/bin/memory/types/Memory.js.map +1 -1
- package/bin/shell/ShellPlugin.d.ts +2 -1
- package/bin/shell/ShellPlugin.d.ts.map +1 -1
- package/bin/shell/ShellPlugin.js +3 -3
- package/bin/shell/ShellPlugin.js.map +1 -1
- package/bin/shell/ShellRuntimeTypes.d.ts +7 -2
- package/bin/shell/ShellRuntimeTypes.d.ts.map +1 -1
- package/bin/shell/runtime/ShellActionRuntime.d.ts.map +1 -1
- package/bin/shell/runtime/ShellActionRuntime.js +6 -6
- package/bin/shell/runtime/ShellActionRuntime.js.map +1 -1
- package/bin/shell/runtime/ShellActionRuntimeSupport.d.ts +14 -5
- package/bin/shell/runtime/ShellActionRuntimeSupport.d.ts.map +1 -1
- package/bin/shell/runtime/ShellActionRuntimeSupport.js +58 -22
- package/bin/shell/runtime/ShellActionRuntimeSupport.js.map +1 -1
- package/bin/shell/runtime/ShellProcessEvents.js +3 -3
- package/bin/shell/runtime/ShellProcessEvents.js.map +1 -1
- package/bin/shell/types/ShellPluginOptions.d.ts +95 -0
- package/bin/shell/types/ShellPluginOptions.d.ts.map +1 -0
- package/bin/shell/types/ShellPluginOptions.js +10 -0
- package/bin/shell/types/ShellPluginOptions.js.map +1 -0
- package/bin/task/Scheduler.d.ts +8 -0
- package/bin/task/Scheduler.d.ts.map +1 -1
- package/bin/task/Scheduler.js +7 -9
- package/bin/task/Scheduler.js.map +1 -1
- package/bin/task/TaskPlugin.d.ts +18 -1
- package/bin/task/TaskPlugin.d.ts.map +1 -1
- package/bin/task/TaskPlugin.js +23 -1
- package/bin/task/TaskPlugin.js.map +1 -1
- package/bin/task/types/TaskPluginOptions.d.ts +22 -0
- package/bin/task/types/TaskPluginOptions.d.ts.map +1 -0
- package/bin/task/types/TaskPluginOptions.js +9 -0
- package/bin/task/types/TaskPluginOptions.js.map +1 -0
- package/package.json +2 -2
- package/src/BuiltinPlugins.ts +27 -1
- package/src/index.ts +35 -0
- package/src/memory/Action.ts +292 -25
- package/src/memory/MemoryPlugin.ts +82 -40
- package/src/memory/runtime/Search.ts +16 -9
- package/src/memory/runtime/Store.ts +52 -49
- package/src/memory/runtime/SystemProvider.ts +55 -69
- package/src/memory/runtime/Writer.ts +262 -81
- package/src/memory/types/Memory.ts +296 -35
- package/src/shell/ShellPlugin.ts +4 -3
- package/src/shell/ShellRuntimeTypes.ts +7 -2
- package/src/shell/runtime/ShellActionRuntime.ts +18 -9
- package/src/shell/runtime/ShellActionRuntimeSupport.ts +106 -21
- package/src/shell/runtime/ShellProcessEvents.ts +3 -3
- package/src/shell/types/ShellPluginOptions.ts +112 -0
- package/src/task/Scheduler.ts +15 -9
- package/src/task/TaskPlugin.ts +27 -1
- package/src/task/types/TaskPluginOptions.ts +22 -0
- package/bin/memory/runtime/Flush.d.ts +0 -15
- package/bin/memory/runtime/Flush.d.ts.map +0 -1
- package/bin/memory/runtime/Flush.js +0 -63
- package/bin/memory/runtime/Flush.js.map +0 -1
- package/src/memory/runtime/Flush.ts +0 -83
package/bin/BuiltinPlugins.d.ts
CHANGED
|
@@ -10,6 +10,9 @@ import type { BasePlugin } from "@downcity/agent/internal/plugin/core/BasePlugin
|
|
|
10
10
|
import type { ImagePluginOptions } from "./image/types/ImagePlugin.js";
|
|
11
11
|
import type { AsrPluginOptions } from "./asr/types/AsrPlugin.js";
|
|
12
12
|
import type { TtsPluginOptions } from "./tts/types/TtsPlugin.js";
|
|
13
|
+
import type { TaskPluginOptions } from "./task/types/TaskPluginOptions.js";
|
|
14
|
+
import type { MemoryPluginOptions } from "./memory/types/Memory.js";
|
|
15
|
+
import type { ShellPluginOptions } from "./shell/types/ShellPluginOptions.js";
|
|
13
16
|
/**
|
|
14
17
|
* 内建 plugin class 构造器。
|
|
15
18
|
*/
|
|
@@ -36,6 +39,18 @@ export interface BuiltinPluginOptions {
|
|
|
36
39
|
* 文本转语音 plugin 的 City AI 能力注入。
|
|
37
40
|
*/
|
|
38
41
|
tts?: TtsPluginOptions;
|
|
42
|
+
/**
|
|
43
|
+
* task plugin 的定时任务运行参数。
|
|
44
|
+
*/
|
|
45
|
+
task?: TaskPluginOptions;
|
|
46
|
+
/**
|
|
47
|
+
* memory plugin 的 LLM Wiki 能力注入。
|
|
48
|
+
*/
|
|
49
|
+
memory?: MemoryPluginOptions;
|
|
50
|
+
/**
|
|
51
|
+
* shell plugin 的可选 runtime 参数。
|
|
52
|
+
*/
|
|
53
|
+
shell?: ShellPluginOptions;
|
|
39
54
|
}
|
|
40
55
|
/**
|
|
41
56
|
* 创建完整内建 plugin 实例集合。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuiltinPlugins.d.ts","sourceRoot":"","sources":["../src/BuiltinPlugins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAYrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"BuiltinPlugins.d.ts","sourceRoot":"","sources":["../src/BuiltinPlugins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAYrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,EAStD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAE3B;;OAEG;IACH,GAAG,CAAC,EAAE,gBAAgB,CAAC;IAEvB;;OAEG;IACH,GAAG,CAAC,EAAE,gBAAgB,CAAC;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,oBAAyB,GAAG,UAAU,EAAE,CAoBrF"}
|
package/bin/BuiltinPlugins.js
CHANGED
|
@@ -36,7 +36,13 @@ export const BUILTIN_PLUGIN_CLASSES = [
|
|
|
36
36
|
* 创建完整内建 plugin 实例集合。
|
|
37
37
|
*/
|
|
38
38
|
export function createBuiltinPlugins(options = {}) {
|
|
39
|
-
const plugins = BUILTIN_PLUGIN_CLASSES.map((PluginClass) =>
|
|
39
|
+
const plugins = BUILTIN_PLUGIN_CLASSES.map((PluginClass) => PluginClass === TaskPlugin
|
|
40
|
+
? new TaskPlugin(options.task)
|
|
41
|
+
: PluginClass === MemoryPlugin
|
|
42
|
+
? new MemoryPlugin(options.memory)
|
|
43
|
+
: PluginClass === ShellPlugin
|
|
44
|
+
? new ShellPlugin(options.shell)
|
|
45
|
+
: new PluginClass());
|
|
40
46
|
if (options.image?.image_create && options.image?.image_result) {
|
|
41
47
|
plugins.push(new ImagePlugin(options.image));
|
|
42
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuiltinPlugins.js","sourceRoot":"","sources":["../src/BuiltinPlugins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"BuiltinPlugins.js","sourceRoot":"","sources":["../src/BuiltinPlugins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAa5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAyB;IAC1D,WAAW;IACX,SAAS;IACT,eAAe;IACf,UAAU;IACV,aAAa;IACb,UAAU;IACV,YAAY;IACZ,WAAW;CACZ,CAAC;AAqCF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAgC,EAAE;IACrE,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACzD,WAAW,KAAK,UAAU;QACxB,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9B,CAAC,CAAC,WAAW,KAAK,YAAY;YAC5B,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,WAAW,KAAK,WAAW;gBAC3B,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpC,CAAC,CAAC,IAAI,WAAW,EAAE,CACtB,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,EAAE,YAAY,IAAI,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/bin/index.d.ts
CHANGED
|
@@ -18,6 +18,9 @@ export { WebPlugin } from "./web/Plugin.js";
|
|
|
18
18
|
export { AsrPlugin } from "./asr/Plugin.js";
|
|
19
19
|
export { TtsPlugin } from "./tts/Plugin.js";
|
|
20
20
|
export { WorkboardPlugin } from "./workboard/Plugin.js";
|
|
21
|
+
export { TaskPlugin } from "./task/TaskPlugin.js";
|
|
22
|
+
export { MemoryPlugin } from "./memory/MemoryPlugin.js";
|
|
23
|
+
export { ShellPlugin } from "./shell/ShellPlugin.js";
|
|
21
24
|
export { listChatAuthorizationRoles, readChatAuthorizationConfigSync, setChatAuthorizationUserRole, } from "./auth/runtime/AuthorizationConfig.js";
|
|
22
25
|
export { resolveAuthorizedUserRole } from "./auth/runtime/AuthorizationPolicy.js";
|
|
23
26
|
export { CHAT_AUTHORIZATION_ACTIONS, CHAT_AUTHORIZATION_CHANNELS, CHAT_AUTHORIZATION_POINTS, createDefaultChatAuthorizationRoles, isChatAuthorizationChannel, } from "./auth/types/AuthPlugin.js";
|
|
@@ -25,6 +28,9 @@ export type { ChatChannelAccountListItem, } from "./chat/types/ChannelAccount.js
|
|
|
25
28
|
export type { BaseChatChannelOptions, ChatChannelEnv, FeishuChannelOptions, QqChannelOptions, TelegramChannelOptions, } from "./chat/channels/RuntimeChannel.js";
|
|
26
29
|
export type { ChatChannel, ChatChannelRuntimePatch, ChatPluginOptions, } from "./chat/types/ChatPluginOptions.js";
|
|
27
30
|
export type { ContactPluginOptions } from "./contact/types/ContactPluginOptions.js";
|
|
31
|
+
export type { TaskPluginOptions } from "./task/types/TaskPluginOptions.js";
|
|
32
|
+
export type { ResolvedShellPluginOptions, ShellPluginOptions, } from "./shell/types/ShellPluginOptions.js";
|
|
33
|
+
export type { MemoryActionPayload, MemoryDefaults, MemoryDigestHandler, MemoryDigestHandlerInput, MemoryDigestHandlerOutput, MemoryDigestPayload, MemoryDigestResponse, MemoryPluginOptions, MemoryReadPayload, MemoryReadResponse, MemoryRememberPayload, MemoryRememberResponse, MemoryReviseHandler, MemoryReviseHandlerInput, MemoryReviseHandlerOutput, MemoryRevisePayload, MemoryReviseResponse, MemorySearchMode, MemorySearchPayload, MemorySearchResponse, MemorySearchResultItem, MemorySourceStat, MemorySourceType, MemoryStatusResponse, MemoryWikiPageDraft, } from "./memory/types/Memory.js";
|
|
28
34
|
export type { AsrPluginInput, AsrPluginOptions, AsrPluginResult, } from "./asr/types/AsrPlugin.js";
|
|
29
35
|
export type { TtsPluginInput, TtsPluginOptions, TtsPluginResult, TtsPluginSimpleAudioResult, TtsPluginUiMessageResult, } from "./tts/types/TtsPlugin.js";
|
|
30
36
|
export type { ImagePluginContent, ImagePluginFileContent, ImagePluginInput, ImagePluginJobCreateResult, ImagePluginJobResult, ImagePluginJobStatus, ImagePluginMessage, ImagePluginOptions, ImagePluginResult, ImagePluginTextContent, } from "./image/types/ImagePlugin.js";
|
package/bin/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,SAAS,EACT,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,mCAAmC,EACnC,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACV,WAAW,EACX,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,8BAA8B,EAC9B,+BAA+B,EAC/B,wCAAwC,EACxC,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,+BAA+B,EAC/B,uCAAuC,EACvC,qBAAqB,EACrB,mCAAmC,EACnC,yBAAyB,EACzB,0BAA0B,EAC1B,mCAAmC,EACnC,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,SAAS,EACT,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,mCAAmC,EACnC,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACV,WAAW,EACX,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EACV,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,8BAA8B,EAC9B,+BAA+B,EAC/B,wCAAwC,EACxC,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,+BAA+B,EAC/B,uCAAuC,EACvC,qBAAqB,EACrB,mCAAmC,EACnC,yBAAyB,EACzB,0BAA0B,EAC1B,mCAAmC,EACnC,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC"}
|
package/bin/index.js
CHANGED
|
@@ -17,6 +17,9 @@ export { WebPlugin } from "./web/Plugin.js";
|
|
|
17
17
|
export { AsrPlugin } from "./asr/Plugin.js";
|
|
18
18
|
export { TtsPlugin } from "./tts/Plugin.js";
|
|
19
19
|
export { WorkboardPlugin } from "./workboard/Plugin.js";
|
|
20
|
+
export { TaskPlugin } from "./task/TaskPlugin.js";
|
|
21
|
+
export { MemoryPlugin } from "./memory/MemoryPlugin.js";
|
|
22
|
+
export { ShellPlugin } from "./shell/ShellPlugin.js";
|
|
20
23
|
export { listChatAuthorizationRoles, readChatAuthorizationConfigSync, setChatAuthorizationUserRole, } from "./auth/runtime/AuthorizationConfig.js";
|
|
21
24
|
export { resolveAuthorizedUserRole } from "./auth/runtime/AuthorizationPolicy.js";
|
|
22
25
|
export { CHAT_AUTHORIZATION_ACTIONS, CHAT_AUTHORIZATION_CHANNELS, CHAT_AUTHORIZATION_POINTS, createDefaultChatAuthorizationRoles, isChatAuthorizationChannel, } from "./auth/types/AuthPlugin.js";
|
package/bin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,SAAS,EACT,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,mCAAmC,EACnC,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,SAAS,EACT,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,mCAAmC,EACnC,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC"}
|
package/bin/memory/Action.d.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Memory
|
|
2
|
+
* Memory Plugin action 逻辑。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
5
|
+
* - action 面向 agent 的记忆语义:search/read/remember/digest/revise。
|
|
6
|
+
* - 原始证据先进入 sources,长期知识进入 wiki。
|
|
7
|
+
* - LLM digest/revise 能力由 MemoryPlugin constructor 注入。
|
|
7
8
|
*/
|
|
8
9
|
import type { PluginActionResult } from "@downcity/agent/internal/plugin/types/Plugin.js";
|
|
9
10
|
import type { AgentContext } from "@downcity/agent/internal/types/runtime/agent/AgentContext.js";
|
|
10
11
|
import type { JsonValue } from "@downcity/agent/internal/types/common/Json.js";
|
|
11
|
-
import type {
|
|
12
|
+
import type { MemoryDigestPayload, MemoryPluginOptions, MemoryReadPayload, MemoryRememberPayload, MemoryRevisePayload, MemorySearchPayload } from "../memory/types/Memory.js";
|
|
12
13
|
import { type MemoryRuntimeState } from "./runtime/Store.js";
|
|
13
14
|
/**
|
|
14
15
|
* status action。
|
|
@@ -19,17 +20,21 @@ export declare function statusMemoryAction(context: AgentContext, state: MemoryR
|
|
|
19
20
|
*/
|
|
20
21
|
export declare function searchMemoryAction(context: AgentContext, state: MemoryRuntimeState, payload: MemorySearchPayload): Promise<PluginActionResult<JsonValue>>;
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
+
* read action。
|
|
23
24
|
*/
|
|
24
|
-
export declare function
|
|
25
|
+
export declare function readMemoryAction(context: AgentContext, payload: MemoryReadPayload): Promise<PluginActionResult<JsonValue>>;
|
|
25
26
|
/**
|
|
26
|
-
*
|
|
27
|
+
* remember action。
|
|
27
28
|
*/
|
|
28
|
-
export declare function
|
|
29
|
+
export declare function rememberMemoryAction(context: AgentContext, options: MemoryPluginOptions, payload: MemoryRememberPayload): Promise<PluginActionResult<JsonValue>>;
|
|
29
30
|
/**
|
|
30
|
-
*
|
|
31
|
+
* digest action。
|
|
31
32
|
*/
|
|
32
|
-
export declare function
|
|
33
|
+
export declare function digestMemoryAction(context: AgentContext, options: MemoryPluginOptions, payload: MemoryDigestPayload): Promise<PluginActionResult<JsonValue>>;
|
|
34
|
+
/**
|
|
35
|
+
* revise action。
|
|
36
|
+
*/
|
|
37
|
+
export declare function reviseMemoryAction(context: AgentContext, options: MemoryPluginOptions, payload: MemoryRevisePayload): Promise<PluginActionResult<JsonValue>>;
|
|
33
38
|
/**
|
|
34
39
|
* 把任意 payload 归一化为 search payload。
|
|
35
40
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../../src/memory/Action.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../../src/memory/Action.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,EACV,mBAAmB,EAEnB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EAErB,mBAAmB,EAEnB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAyF5B;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAaxC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAaxC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAUxC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CA2DxC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAwExC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAgDxC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,CAsBnF"}
|
package/bin/memory/Action.js
CHANGED
|
@@ -1,14 +1,77 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Memory
|
|
2
|
+
* Memory Plugin action 逻辑。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
5
|
+
* - action 面向 agent 的记忆语义:search/read/remember/digest/revise。
|
|
6
|
+
* - 原始证据先进入 sources,长期知识进入 wiki。
|
|
7
|
+
* - LLM digest/revise 能力由 MemoryPlugin constructor 注入。
|
|
7
8
|
*/
|
|
8
|
-
import {
|
|
9
|
+
import { isTextUIPart } from "ai";
|
|
9
10
|
import { collectMemoryStatus, searchMemory, } from "./runtime/Search.js";
|
|
10
11
|
import { MEMORY_DEFAULTS, } from "./runtime/Store.js";
|
|
11
|
-
import {
|
|
12
|
+
import { appendManualSource, appendMemoryRevision, appendWikiPage, readMemory, readWikiIndex, writeSessionSource, writeWikiPage, } from "./runtime/Writer.js";
|
|
13
|
+
function toUiParts(message) {
|
|
14
|
+
return Array.isArray(message?.parts) ? message.parts : [];
|
|
15
|
+
}
|
|
16
|
+
function extractReadableLine(message) {
|
|
17
|
+
const role = String(message.role || "").toLowerCase() === "user" ? "User" : "Assistant";
|
|
18
|
+
const text = toUiParts(message)
|
|
19
|
+
.filter(isTextUIPart)
|
|
20
|
+
.map((part) => String(part.text || "").trim())
|
|
21
|
+
.filter(Boolean)
|
|
22
|
+
.join("\n")
|
|
23
|
+
.trim();
|
|
24
|
+
if (!text) {
|
|
25
|
+
return "";
|
|
26
|
+
}
|
|
27
|
+
return `${role}: ${text}`;
|
|
28
|
+
}
|
|
29
|
+
function readDigestPages(result) {
|
|
30
|
+
if (typeof result === "string") {
|
|
31
|
+
return {
|
|
32
|
+
pages: [{ title: "Memory Digest", content: result, tags: ["memory", "digest"] }],
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
pages: result.pages,
|
|
37
|
+
summary: result.summary,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function readReviseResult(result, fallbackPath) {
|
|
41
|
+
if (typeof result === "string") {
|
|
42
|
+
return {
|
|
43
|
+
path: fallbackPath,
|
|
44
|
+
content: result,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
path: result.path || fallbackPath,
|
|
49
|
+
content: result.content,
|
|
50
|
+
summary: result.summary,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function slugify(value) {
|
|
54
|
+
const text = String(value || "")
|
|
55
|
+
.trim()
|
|
56
|
+
.toLowerCase()
|
|
57
|
+
.replace(/[^\p{L}\p{N}]+/gu, "-")
|
|
58
|
+
.replace(/^-+|-+$/g, "")
|
|
59
|
+
.slice(0, 80);
|
|
60
|
+
return text || "inbox";
|
|
61
|
+
}
|
|
62
|
+
function toWikiMemoryPath(value) {
|
|
63
|
+
const clean = String(value || "").replace(/\\/g, "/").replace(/^\/+/, "").trim();
|
|
64
|
+
if (!clean)
|
|
65
|
+
return ".downcity/memory/wiki/inbox.md";
|
|
66
|
+
if (clean.startsWith(".downcity/memory/wiki/")) {
|
|
67
|
+
return clean.toLowerCase().endsWith(".md") ? clean : `${clean}.md`;
|
|
68
|
+
}
|
|
69
|
+
const withoutPrefix = clean.replace(/^wiki\//, "");
|
|
70
|
+
const withExt = withoutPrefix.toLowerCase().endsWith(".md")
|
|
71
|
+
? withoutPrefix
|
|
72
|
+
: `${withoutPrefix}.md`;
|
|
73
|
+
return `.downcity/memory/wiki/${withExt}`;
|
|
74
|
+
}
|
|
12
75
|
/**
|
|
13
76
|
* status action。
|
|
14
77
|
*/
|
|
@@ -46,11 +109,11 @@ export async function searchMemoryAction(context, state, payload) {
|
|
|
46
109
|
}
|
|
47
110
|
}
|
|
48
111
|
/**
|
|
49
|
-
*
|
|
112
|
+
* read action。
|
|
50
113
|
*/
|
|
51
|
-
export async function
|
|
114
|
+
export async function readMemoryAction(context, payload) {
|
|
52
115
|
try {
|
|
53
|
-
const data = await
|
|
116
|
+
const data = await readMemory(context, payload);
|
|
54
117
|
return { success: true, data: data };
|
|
55
118
|
}
|
|
56
119
|
catch (error) {
|
|
@@ -61,12 +124,56 @@ export async function getMemoryAction(context, payload) {
|
|
|
61
124
|
}
|
|
62
125
|
}
|
|
63
126
|
/**
|
|
64
|
-
*
|
|
127
|
+
* remember action。
|
|
65
128
|
*/
|
|
66
|
-
export async function
|
|
129
|
+
export async function rememberMemoryAction(context, options, payload) {
|
|
67
130
|
try {
|
|
68
|
-
const
|
|
69
|
-
|
|
131
|
+
const content = String(payload.content || "").trim();
|
|
132
|
+
if (!content) {
|
|
133
|
+
throw new Error("content is required");
|
|
134
|
+
}
|
|
135
|
+
const source = await appendManualSource(context, content, payload.source);
|
|
136
|
+
const targetPath = toWikiMemoryPath(payload.path || slugify(payload.topic || "inbox"));
|
|
137
|
+
if (options.revise) {
|
|
138
|
+
const current = await readMemory(context, { path: targetPath }).catch(() => ({
|
|
139
|
+
path: targetPath,
|
|
140
|
+
text: "",
|
|
141
|
+
}));
|
|
142
|
+
const revised = readReviseResult(await options.revise({
|
|
143
|
+
rootPath: context.rootPath,
|
|
144
|
+
path: targetPath,
|
|
145
|
+
currentContent: current.text,
|
|
146
|
+
instruction: "Integrate this new memory into the wiki page. Deduplicate and keep it concise.",
|
|
147
|
+
evidence: `${content}\n\nSource: ${source.path}`,
|
|
148
|
+
}), targetPath);
|
|
149
|
+
const written = await writeWikiPage(context, {
|
|
150
|
+
path: revised.path,
|
|
151
|
+
title: payload.topic,
|
|
152
|
+
content: revised.content,
|
|
153
|
+
tags: ["memory"],
|
|
154
|
+
});
|
|
155
|
+
const response = {
|
|
156
|
+
sourcePath: source.path,
|
|
157
|
+
wikiPath: written.path,
|
|
158
|
+
mode: "revised",
|
|
159
|
+
writtenChars: written.writtenChars,
|
|
160
|
+
summary: revised.summary,
|
|
161
|
+
};
|
|
162
|
+
return { success: true, data: response };
|
|
163
|
+
}
|
|
164
|
+
const written = await appendWikiPage(context, {
|
|
165
|
+
path: targetPath,
|
|
166
|
+
title: payload.topic || "Memory Inbox",
|
|
167
|
+
content,
|
|
168
|
+
sourcePath: source.path,
|
|
169
|
+
});
|
|
170
|
+
const response = {
|
|
171
|
+
sourcePath: source.path,
|
|
172
|
+
wikiPath: written.path,
|
|
173
|
+
mode: "appended",
|
|
174
|
+
writtenChars: written.writtenChars,
|
|
175
|
+
};
|
|
176
|
+
return { success: true, data: response };
|
|
70
177
|
}
|
|
71
178
|
catch (error) {
|
|
72
179
|
return {
|
|
@@ -76,12 +183,117 @@ export async function storeMemoryAction(context, state, payload) {
|
|
|
76
183
|
}
|
|
77
184
|
}
|
|
78
185
|
/**
|
|
79
|
-
*
|
|
186
|
+
* digest action。
|
|
80
187
|
*/
|
|
81
|
-
export async function
|
|
188
|
+
export async function digestMemoryAction(context, options, payload) {
|
|
82
189
|
try {
|
|
83
|
-
const
|
|
84
|
-
|
|
190
|
+
const sessionId = String(payload.sessionId || "").trim();
|
|
191
|
+
if (!sessionId) {
|
|
192
|
+
throw new Error("sessionId is required");
|
|
193
|
+
}
|
|
194
|
+
const maxMessages = Number.isFinite(payload.maxMessages)
|
|
195
|
+
? Math.max(1, Math.floor(payload.maxMessages))
|
|
196
|
+
: 30;
|
|
197
|
+
const historyStore = context.session.get(sessionId).getHistoryStore();
|
|
198
|
+
const total = await historyStore.size();
|
|
199
|
+
const start = Math.max(0, total - maxMessages);
|
|
200
|
+
const messages = await historyStore.slice(start, total);
|
|
201
|
+
const lines = messages
|
|
202
|
+
.map((msg) => extractReadableLine(msg))
|
|
203
|
+
.filter((line) => line.length > 0);
|
|
204
|
+
const transcript = lines.length > 0
|
|
205
|
+
? lines.join("\n\n")
|
|
206
|
+
: "本次 digest 未找到可写入的用户/助手文本内容。";
|
|
207
|
+
const sourceText = [
|
|
208
|
+
`Window: ${start}-${Math.max(start, total - 1)}`,
|
|
209
|
+
"",
|
|
210
|
+
transcript,
|
|
211
|
+
].join("\n");
|
|
212
|
+
const source = await writeSessionSource(context, sessionId, sourceText);
|
|
213
|
+
if (options.digest) {
|
|
214
|
+
const wikiIndex = await readWikiIndex(context);
|
|
215
|
+
const digested = readDigestPages(await options.digest({
|
|
216
|
+
rootPath: context.rootPath,
|
|
217
|
+
sourceText,
|
|
218
|
+
sourcePath: source.path,
|
|
219
|
+
sessionId,
|
|
220
|
+
wikiIndex,
|
|
221
|
+
}));
|
|
222
|
+
const wikiPaths = [];
|
|
223
|
+
for (const page of digested.pages) {
|
|
224
|
+
const written = await writeWikiPage(context, page);
|
|
225
|
+
wikiPaths.push(written.path);
|
|
226
|
+
}
|
|
227
|
+
const response = {
|
|
228
|
+
sourcePath: source.path,
|
|
229
|
+
wikiPaths,
|
|
230
|
+
messageCount: lines.length,
|
|
231
|
+
mode: "digested",
|
|
232
|
+
summary: digested.summary,
|
|
233
|
+
};
|
|
234
|
+
return { success: true, data: response };
|
|
235
|
+
}
|
|
236
|
+
const written = await appendWikiPage(context, {
|
|
237
|
+
path: "session-digests",
|
|
238
|
+
title: "Session Digests",
|
|
239
|
+
content: sourceText,
|
|
240
|
+
sourcePath: source.path,
|
|
241
|
+
});
|
|
242
|
+
const response = {
|
|
243
|
+
sourcePath: source.path,
|
|
244
|
+
wikiPaths: [written.path],
|
|
245
|
+
messageCount: lines.length,
|
|
246
|
+
mode: "archived",
|
|
247
|
+
};
|
|
248
|
+
return { success: true, data: response };
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
return {
|
|
252
|
+
success: false,
|
|
253
|
+
error: String(error),
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* revise action。
|
|
259
|
+
*/
|
|
260
|
+
export async function reviseMemoryAction(context, options, payload) {
|
|
261
|
+
try {
|
|
262
|
+
const targetPath = toWikiMemoryPath(String(payload.path || "").trim());
|
|
263
|
+
if (!targetPath) {
|
|
264
|
+
throw new Error("path is required");
|
|
265
|
+
}
|
|
266
|
+
const instruction = String(payload.instruction || "").trim();
|
|
267
|
+
if (!instruction) {
|
|
268
|
+
throw new Error("instruction is required");
|
|
269
|
+
}
|
|
270
|
+
if (options.revise) {
|
|
271
|
+
const current = await readMemory(context, { path: targetPath }).catch(() => ({
|
|
272
|
+
path: targetPath,
|
|
273
|
+
text: "",
|
|
274
|
+
}));
|
|
275
|
+
const revised = readReviseResult(await options.revise({
|
|
276
|
+
rootPath: context.rootPath,
|
|
277
|
+
path: targetPath,
|
|
278
|
+
currentContent: current.text,
|
|
279
|
+
instruction,
|
|
280
|
+
evidence: String(payload.evidence || ""),
|
|
281
|
+
}), targetPath);
|
|
282
|
+
const written = await writeWikiPage(context, {
|
|
283
|
+
path: revised.path,
|
|
284
|
+
content: revised.content,
|
|
285
|
+
tags: ["memory"],
|
|
286
|
+
});
|
|
287
|
+
const response = {
|
|
288
|
+
path: written.path,
|
|
289
|
+
mode: "revised",
|
|
290
|
+
writtenChars: written.writtenChars,
|
|
291
|
+
summary: revised.summary,
|
|
292
|
+
};
|
|
293
|
+
return { success: true, data: response };
|
|
294
|
+
}
|
|
295
|
+
const response = await appendMemoryRevision(context, payload);
|
|
296
|
+
return { success: true, data: response };
|
|
85
297
|
}
|
|
86
298
|
catch (error) {
|
|
87
299
|
return {
|
|
@@ -106,6 +318,11 @@ export function toSearchPayload(input) {
|
|
|
106
318
|
: typeof input.minScore === "string"
|
|
107
319
|
? Number(input.minScore)
|
|
108
320
|
: MEMORY_DEFAULTS.minScore,
|
|
321
|
+
includeSources: typeof input.includeSources === "boolean"
|
|
322
|
+
? input.includeSources
|
|
323
|
+
: typeof input.includeSources === "string"
|
|
324
|
+
? input.includeSources === "true"
|
|
325
|
+
: undefined,
|
|
109
326
|
};
|
|
110
327
|
}
|
|
111
328
|
//# sourceMappingURL=Action.js.map
|
package/bin/memory/Action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/memory/Action.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/memory/Action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MemoryPlugin:
|
|
2
|
+
* MemoryPlugin:agent 的长期记忆 plugin。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
5
|
+
* - 对外仍然是 MemoryPlugin,内部使用 LLM Wiki 方式组织知识。
|
|
6
|
+
* - constructor 注入 digest/revise 能力,plugin 不绑定具体 LLM 服务。
|
|
7
|
+
* - action 面向 agent 语义,而不是暴露底层文件写入细节。
|
|
8
8
|
*/
|
|
9
9
|
import type { AgentContext } from "@downcity/agent/internal/types/runtime/agent/AgentContext.js";
|
|
10
10
|
import type { PluginActions } from "@downcity/agent/internal/plugin/types/Plugin.js";
|
|
11
11
|
import { BasePlugin } from "@downcity/agent/internal/plugin/core/BasePlugin.js";
|
|
12
12
|
import { type MemoryRuntimeState } from "./runtime/Store.js";
|
|
13
|
+
import type { MemoryPluginOptions } from "./types/Memory.js";
|
|
13
14
|
/**
|
|
14
15
|
* Memory plugin 类实现。
|
|
15
16
|
*/
|
|
16
17
|
export declare class MemoryPlugin extends BasePlugin {
|
|
18
|
+
private readonly options;
|
|
17
19
|
/**
|
|
18
20
|
* plugin 名称。
|
|
19
21
|
*/
|
|
@@ -22,6 +24,10 @@ export declare class MemoryPlugin extends BasePlugin {
|
|
|
22
24
|
* 当前实例持有的 memory plugin state。
|
|
23
25
|
*/
|
|
24
26
|
runtimeState: MemoryRuntimeState | null;
|
|
27
|
+
/**
|
|
28
|
+
* 创建 MemoryPlugin。
|
|
29
|
+
*/
|
|
30
|
+
constructor(options?: MemoryPluginOptions);
|
|
25
31
|
/**
|
|
26
32
|
* 当前 plugin 的 system 文本提供器。
|
|
27
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryPlugin.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;
|
|
1
|
+
{"version":3,"file":"MemoryPlugin.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAShF,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAqD7D;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAc9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAbpC;;OAEG;IACH,QAAQ,CAAC,IAAI,YAAY;IAEzB;;OAEG;IACI,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAEtD;;OAEG;gBAC0B,OAAO,GAAE,mBAAwB;IAI9D;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpD;;OAEG;IACH,QAAQ,CAAC,SAAS;yBACO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC;oBAInC,OAAO,CAAC,IAAI,CAAC;MAG7B;IAEF;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CA4K7B;IAEF;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAMhC"}
|