@ai-setting/roy-agent-core 1.3.10 → 1.3.14
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/dist/config/index.js +1647 -0
- package/dist/index.js +12579 -89691
- package/package.json +19 -56
- package/src/config/config-component.test.ts +0 -627
- package/src/config/config-component.ts +0 -906
- package/src/config/config-parser.test.ts +0 -319
- package/src/config/config-parser.ts +0 -203
- package/src/config/decentralized-config.test.ts +0 -740
- package/src/config/env-key.ts +0 -210
- package/src/config/env-source.test.ts +0 -252
- package/src/config/env-source.ts +0 -301
- package/src/config/file-source.test.ts +0 -357
- package/src/config/file-source.ts +0 -421
- package/src/config/index.ts +0 -24
- package/src/config/protocol-resolver.test.ts +0 -217
- package/src/config/protocol-resolver.ts +0 -228
- package/src/env/agent/agent-component.abort.test.ts +0 -511
- package/src/env/agent/agent-component.record-session.test.ts +0 -349
- package/src/env/agent/agent-component.test.ts +0 -1389
- package/src/env/agent/agent-component.tool-error.test.ts +0 -327
- package/src/env/agent/agent-component.ts +0 -1711
- package/src/env/agent/agent-config-registration.test.ts +0 -226
- package/src/env/agent/agent-config-registration.ts +0 -46
- package/src/env/agent/agent-reminder-plugin.integration.test.ts +0 -243
- package/src/env/agent/index.ts +0 -10
- package/src/env/agent/summary-agent.parse-hint.test.ts +0 -360
- package/src/env/agent/summary-agent.ts +0 -508
- package/src/env/agent/types.ts +0 -536
- package/src/env/commands/commands-component.test.ts +0 -364
- package/src/env/commands/commands-component.ts +0 -604
- package/src/env/commands/commands-config-registration.test.ts +0 -198
- package/src/env/commands/commands-config-registration.ts +0 -38
- package/src/env/commands/index.ts +0 -21
- package/src/env/commands/parser.test.ts +0 -203
- package/src/env/commands/parser.ts +0 -115
- package/src/env/commands/types.ts +0 -184
- package/src/env/commands-prompt-integration.test.ts +0 -243
- package/src/env/component-env.test.ts +0 -119
- package/src/env/component.ts +0 -335
- package/src/env/constants.test.ts +0 -72
- package/src/env/constants.ts +0 -123
- package/src/env/debug/debug-component.test.ts +0 -114
- package/src/env/debug/debug-component.ts +0 -547
- package/src/env/debug/formatters/index.ts +0 -9
- package/src/env/debug/formatters/repl-formatter.test.ts +0 -139
- package/src/env/debug/formatters/repl-formatter.ts +0 -358
- package/src/env/debug/formatters/trace-formatter.test.ts +0 -119
- package/src/env/debug/formatters/trace-formatter.ts +0 -191
- package/src/env/debug/formatters/tree-formatter.test.ts +0 -107
- package/src/env/debug/formatters/tree-formatter.ts +0 -325
- package/src/env/debug/index.ts +0 -38
- package/src/env/debug/parser/regex-parser.test.ts +0 -201
- package/src/env/debug/parser/regex-parser.ts +0 -196
- package/src/env/debug/parser/span-builder.test.ts +0 -241
- package/src/env/debug/parser/span-builder.ts +0 -386
- package/src/env/debug/reader/log-reader.test.ts +0 -170
- package/src/env/debug/reader/log-reader.ts +0 -186
- package/src/env/debug/reader/span-db-reader.test.ts +0 -118
- package/src/env/debug/reader/span-db-reader.ts +0 -201
- package/src/env/debug/types.test.ts +0 -187
- package/src/env/debug/types.ts +0 -171
- package/src/env/environment-init.test.ts +0 -183
- package/src/env/environment-lifecycle.test.ts +0 -516
- package/src/env/environment-service.test.ts +0 -332
- package/src/env/environment.handle-query.test.ts +0 -96
- package/src/env/environment.test.ts +0 -232
- package/src/env/environment.ts +0 -708
- package/src/env/errors.test.ts +0 -165
- package/src/env/errors.ts +0 -157
- package/src/env/event-source/event-source-agent-handler.test.ts +0 -193
- package/src/env/event-source/event-source-agent-handler.ts +0 -111
- package/src/env/event-source/event-source-component.process-cleanup.test.ts +0 -236
- package/src/env/event-source/event-source-component.stop.test.ts +0 -346
- package/src/env/event-source/event-source-component.test.ts +0 -1207
- package/src/env/event-source/event-source-component.ts +0 -1379
- package/src/env/event-source/event-source-config-registration.test.ts +0 -242
- package/src/env/event-source/event-source-config-registration.ts +0 -37
- package/src/env/event-source/event-source-integration.test.ts +0 -320
- package/src/env/event-source/event-source-platform.test.ts +0 -630
- package/src/env/event-source/types.ts +0 -298
- package/src/env/hook/global-hook-manager.ts +0 -162
- package/src/env/hook/hook-manager.test.ts +0 -374
- package/src/env/hook/hook-manager.ts +0 -309
- package/src/env/hook/index.ts +0 -38
- package/src/env/hook/types.ts +0 -138
- package/src/env/index.ts +0 -144
- package/src/env/interface.ts +0 -203
- package/src/env/llm/hooks.test.ts +0 -293
- package/src/env/llm/hooks.ts +0 -316
- package/src/env/llm/index.ts +0 -61
- package/src/env/llm/invoke-threshold-check.test.ts +0 -88
- package/src/env/llm/invoke-timeout.test.ts +0 -54
- package/src/env/llm/invoke.test.ts +0 -71
- package/src/env/llm/invoke.ts +0 -1039
- package/src/env/llm/llm-config.test.ts +0 -523
- package/src/env/llm/llm.test.ts +0 -233
- package/src/env/llm/llm.ts +0 -568
- package/src/env/llm/provider.test.ts +0 -182
- package/src/env/llm/provider.ts +0 -108
- package/src/env/llm/transform.test.ts +0 -251
- package/src/env/llm/transform.ts +0 -286
- package/src/env/llm/types.test.ts +0 -580
- package/src/env/llm/types.ts +0 -424
- package/src/env/log-trace/decorator-otel.test.ts +0 -182
- package/src/env/log-trace/decorator.ts +0 -230
- package/src/env/log-trace/index.ts +0 -79
- package/src/env/log-trace/log-trace-component.test.ts +0 -242
- package/src/env/log-trace/log-trace-component.ts +0 -497
- package/src/env/log-trace/log-trace-config-registration.test.ts +0 -348
- package/src/env/log-trace/log-trace-config-registration.ts +0 -45
- package/src/env/log-trace/logger.test.ts +0 -149
- package/src/env/log-trace/logger.ts +0 -522
- package/src/env/log-trace/opentelemetry/cli-propagation.test.ts +0 -147
- package/src/env/log-trace/opentelemetry/cli-propagation.ts +0 -194
- package/src/env/log-trace/opentelemetry/integration.test.ts +0 -668
- package/src/env/log-trace/opentelemetry/mod.ts +0 -25
- package/src/env/log-trace/opentelemetry/propagation-env.test.ts +0 -181
- package/src/env/log-trace/opentelemetry/propagation-env.ts +0 -136
- package/src/env/log-trace/opentelemetry/propagation.test.ts +0 -259
- package/src/env/log-trace/opentelemetry/propagation.ts +0 -215
- package/src/env/log-trace/opentelemetry/tracer-provider-context.test.ts +0 -166
- package/src/env/log-trace/opentelemetry/tracer-provider.test.ts +0 -379
- package/src/env/log-trace/opentelemetry/tracer-provider.ts +0 -612
- package/src/env/log-trace/span-storage.test.ts +0 -145
- package/src/env/log-trace/span-storage.ts +0 -230
- package/src/env/log-trace/trace-context.test.ts +0 -187
- package/src/env/log-trace/trace-context.ts +0 -162
- package/src/env/log-trace/types.test.ts +0 -63
- package/src/env/log-trace/types.ts +0 -172
- package/src/env/mcp/README.md +0 -244
- package/src/env/mcp/__integration__/mcp-component.integration.test.ts +0 -373
- package/src/env/mcp/config.test.ts +0 -74
- package/src/env/mcp/config.ts +0 -116
- package/src/env/mcp/index.ts +0 -41
- package/src/env/mcp/loader.test.ts +0 -161
- package/src/env/mcp/loader.ts +0 -209
- package/src/env/mcp/mcp-component.test.ts +0 -111
- package/src/env/mcp/mcp-component.ts +0 -358
- package/src/env/mcp/mcp-config-registration.test.ts +0 -304
- package/src/env/mcp/mcp-config-registration.ts +0 -50
- package/src/env/mcp/scanner.test.ts +0 -170
- package/src/env/mcp/scanner.ts +0 -246
- package/src/env/mcp/tool/adapter.test.ts +0 -520
- package/src/env/mcp/tool/adapter.ts +0 -521
- package/src/env/mcp/tool/index.ts +0 -5
- package/src/env/mcp/types.test.ts +0 -171
- package/src/env/mcp/types.ts +0 -79
- package/src/env/memory/README.md +0 -177
- package/src/env/memory/built-in/index.ts +0 -59
- package/src/env/memory/built-in/recall-memory.ts +0 -103
- package/src/env/memory/built-in/record-memory.ts +0 -148
- package/src/env/memory/index.ts +0 -20
- package/src/env/memory/memory-component.test.ts +0 -239
- package/src/env/memory/memory-component.ts +0 -503
- package/src/env/memory/memory-config-registration.test.ts +0 -67
- package/src/env/memory/memory-config-registration.ts +0 -48
- package/src/env/memory/memory-config.ts +0 -45
- package/src/env/memory/memory-file.test.ts +0 -268
- package/src/env/memory/plugin/index.ts +0 -48
- package/src/env/memory/plugin/memory-agent.test.ts +0 -249
- package/src/env/memory/plugin/memory-agent.ts +0 -365
- package/src/env/memory/plugin/memory-manager.ts +0 -198
- package/src/env/memory/plugin/memory-plugin-agent.test.ts +0 -145
- package/src/env/memory/plugin/memory-plugin.ts +0 -210
- package/src/env/memory/plugin/plugin-simplified.test.ts +0 -51
- package/src/env/memory/plugin/recall-memory.test.ts +0 -106
- package/src/env/memory/plugin/recall-memory.ts +0 -53
- package/src/env/memory/plugin/types.ts +0 -101
- package/src/env/memory/tools/memory-agent-tools.ts +0 -228
- package/src/env/memory/types.ts +0 -85
- package/src/env/paths.ts +0 -118
- package/src/env/prompt/index.ts +0 -18
- package/src/env/prompt/memory-prompts.test.ts +0 -91
- package/src/env/prompt/prompt-component.test.ts +0 -491
- package/src/env/prompt/prompt-component.ts +0 -619
- package/src/env/prompt/prompt-config-registration.test.ts +0 -213
- package/src/env/prompt/prompt-config-registration.ts +0 -39
- package/src/env/prompt/prompts-index.ts +0 -504
- package/src/env/prompt/renderer.ts +0 -67
- package/src/env/prompt/types.ts +0 -136
- package/src/env/session/hooks.ts +0 -18
- package/src/env/session/index.ts +0 -37
- package/src/env/session/search-query-parser.test.ts +0 -425
- package/src/env/session/search-query-parser.ts +0 -171
- package/src/env/session/session-checkpoint.test.ts +0 -523
- package/src/env/session/session-component.extract-recent-messages.test.ts +0 -209
- package/src/env/session/session-component.test.ts +0 -132
- package/src/env/session/session-component.ts +0 -1249
- package/src/env/session/session-config-registration.test.ts +0 -138
- package/src/env/session/session-config-registration.ts +0 -52
- package/src/env/session/session-message-converter.test.ts +0 -763
- package/src/env/session/session-message-converter.ts +0 -415
- package/src/env/session/session-message-e2e.test.ts +0 -448
- package/src/env/session/session-search.test.ts +0 -391
- package/src/env/session/session-store.test.ts +0 -362
- package/src/env/session/session-store.ts +0 -141
- package/src/env/session/storage/index.ts +0 -6
- package/src/env/session/storage/memory.ts +0 -502
- package/src/env/session/storage/sqlite.ts +0 -794
- package/src/env/session/types.ts +0 -742
- package/src/env/skill/config.ts +0 -39
- package/src/env/skill/index.ts +0 -6
- package/src/env/skill/parser.test.ts +0 -116
- package/src/env/skill/parser.ts +0 -77
- package/src/env/skill/scanner.test.ts +0 -211
- package/src/env/skill/scanner.ts +0 -119
- package/src/env/skill/skill-component.test.ts +0 -234
- package/src/env/skill/skill-component.ts +0 -352
- package/src/env/skill/skill-config-registration.test.ts +0 -60
- package/src/env/skill/skill-config-registration.ts +0 -43
- package/src/env/skill/tool/index.ts +0 -1
- package/src/env/skill/tool/skill-tool.test.ts +0 -100
- package/src/env/skill/tool/skill-tool.ts +0 -72
- package/src/env/skill/types.ts +0 -64
- package/src/env/task/delegate/delegate-tool.test.ts +0 -498
- package/src/env/task/delegate/delegate-tool.ts +0 -1014
- package/src/env/task/delegate/index.ts +0 -18
- package/src/env/task/delegate/stop-tool.test.ts +0 -140
- package/src/env/task/delegate/stop-tool.ts +0 -119
- package/src/env/task/delegate/task-events.test.ts +0 -178
- package/src/env/task/delegate/task-events.ts +0 -143
- package/src/env/task/hooks/contexts.test.ts +0 -92
- package/src/env/task/hooks/contexts.ts +0 -192
- package/src/env/task/hooks/index.ts +0 -23
- package/src/env/task/hooks/task-hook-points.test.ts +0 -32
- package/src/env/task/hooks/task-hook-points.ts +0 -54
- package/src/env/task/index.ts +0 -7
- package/src/env/task/plugins/index.ts +0 -13
- package/src/env/task/plugins/task-plugin.test.ts +0 -74
- package/src/env/task/plugins/task-plugin.ts +0 -89
- package/src/env/task/plugins/task-tag-plugin.test.ts +0 -377
- package/src/env/task/plugins/task-tag-plugin.ts +0 -319
- package/src/env/task/plugins/task-workflow-extractor.integration.test.ts +0 -226
- package/src/env/task/plugins/workflow-extractor-agent.test.ts +0 -107
- package/src/env/task/plugins/workflow-extractor-agent.ts +0 -225
- package/src/env/task/storage/index.ts +0 -6
- package/src/env/task/storage/sqlite-task-store.test.ts +0 -283
- package/src/env/task/storage/sqlite-task-store.ts +0 -903
- package/src/env/task/storage/task-search.test.ts +0 -291
- package/src/env/task/tag-service.test.ts +0 -198
- package/src/env/task/tag-service.ts +0 -264
- package/src/env/task/task-component.test.ts +0 -193
- package/src/env/task/task-component.ts +0 -658
- package/src/env/task/task-config-registration.test.ts +0 -57
- package/src/env/task/task-config-registration.ts +0 -37
- package/src/env/task/task-types.test.ts +0 -137
- package/src/env/task/tools/complete-tool.ts +0 -44
- package/src/env/task/tools/create-tool.ts +0 -49
- package/src/env/task/tools/delete-tool.ts +0 -43
- package/src/env/task/tools/get-tool.ts +0 -59
- package/src/env/task/tools/index.ts +0 -10
- package/src/env/task/tools/list-tool.ts +0 -40
- package/src/env/task/tools/operation/create-tool.ts +0 -48
- package/src/env/task/tools/operation/delete-tool.ts +0 -43
- package/src/env/task/tools/operation/get-tool.ts +0 -43
- package/src/env/task/tools/operation/index.ts +0 -9
- package/src/env/task/tools/operation/list-tool.ts +0 -40
- package/src/env/task/tools/operation/operation-tools.test.ts +0 -274
- package/src/env/task/tools/operation/operation-types.ts +0 -75
- package/src/env/task/tools/operation/update-tool.ts +0 -47
- package/src/env/task/tools/task-tools.test.ts +0 -203
- package/src/env/task/tools/task-types.test.ts +0 -75
- package/src/env/task/tools/task-types.ts +0 -68
- package/src/env/task/tools/update-tool.ts +0 -70
- package/src/env/task/types.ts +0 -160
- package/src/env/tool/built-in/bash.ts +0 -201
- package/src/env/tool/built-in/echo.ts +0 -29
- package/src/env/tool/built-in/edit-file.test.ts +0 -136
- package/src/env/tool/built-in/edit-file.ts +0 -92
- package/src/env/tool/built-in/glob.test.ts +0 -94
- package/src/env/tool/built-in/glob.ts +0 -65
- package/src/env/tool/built-in/grep.test.ts +0 -122
- package/src/env/tool/built-in/grep.ts +0 -108
- package/src/env/tool/built-in/index.ts +0 -44
- package/src/env/tool/built-in/read-file.test.ts +0 -84
- package/src/env/tool/built-in/read-file.ts +0 -75
- package/src/env/tool/built-in/write-file.test.ts +0 -119
- package/src/env/tool/built-in/write-file.ts +0 -68
- package/src/env/tool/index.ts +0 -24
- package/src/env/tool/registry.test.ts +0 -257
- package/src/env/tool/registry.ts +0 -167
- package/src/env/tool/tool-component.test.ts +0 -559
- package/src/env/tool/tool-component.ts +0 -563
- package/src/env/tool/tool-config-registration.test.ts +0 -249
- package/src/env/tool/tool-config-registration.ts +0 -46
- package/src/env/tool/types.ts +0 -267
- package/src/env/tool/validator.test.ts +0 -143
- package/src/env/tool/validator.ts +0 -44
- package/src/env/types.ts +0 -180
- package/src/env/workflow/ask-user-tool-registration.test.ts +0 -216
- package/src/env/workflow/complex-workflow.integration.test.ts +0 -1900
- package/src/env/workflow/decorators/decorator-node.ts +0 -229
- package/src/env/workflow/decorators/decorator.test.ts +0 -196
- package/src/env/workflow/decorators/edge.ts +0 -82
- package/src/env/workflow/decorators/index.ts +0 -31
- package/src/env/workflow/decorators/node-as.ts +0 -98
- package/src/env/workflow/decorators/workflow.ts +0 -54
- package/src/env/workflow/engine/dag-manager.test.ts +0 -570
- package/src/env/workflow/engine/dag-manager.ts +0 -594
- package/src/env/workflow/engine/engine.ts +0 -1422
- package/src/env/workflow/engine/event-bus.test.ts +0 -359
- package/src/env/workflow/engine/event-bus.ts +0 -156
- package/src/env/workflow/engine/executor-agent-session.test.ts +0 -84
- package/src/env/workflow/engine/executor.test.ts +0 -619
- package/src/env/workflow/engine/executor.ts +0 -593
- package/src/env/workflow/engine/index.ts +0 -24
- package/src/env/workflow/engine/node-registry.test.ts +0 -560
- package/src/env/workflow/engine/node-registry.ts +0 -289
- package/src/env/workflow/engine/resume-removed.test.ts +0 -22
- package/src/env/workflow/engine/scheduler.test.ts +0 -715
- package/src/env/workflow/engine/scheduler.ts +0 -318
- package/src/env/workflow/engine/workflow-engine.test.ts +0 -815
- package/src/env/workflow/extractor/workflow-converter.ts +0 -306
- package/src/env/workflow/fixtures.ts +0 -380
- package/src/env/workflow/index.ts +0 -38
- package/src/env/workflow/integration/run-resume-unified.test.ts +0 -186
- package/src/env/workflow/integration/service-integration.test.ts +0 -267
- package/src/env/workflow/metadata/keys.ts +0 -12
- package/src/env/workflow/nodes/agent-component-adapter.test.ts +0 -318
- package/src/env/workflow/nodes/agent-component-adapter.ts +0 -448
- package/src/env/workflow/nodes/agent-node.test.ts +0 -371
- package/src/env/workflow/nodes/agent-node.ts +0 -598
- package/src/env/workflow/nodes/ask-user-node.ts +0 -113
- package/src/env/workflow/nodes/condition-node.ts +0 -200
- package/src/env/workflow/nodes/index.ts +0 -9
- package/src/env/workflow/nodes/merge-node.ts +0 -141
- package/src/env/workflow/nodes/skill-node.test.ts +0 -253
- package/src/env/workflow/nodes/skill-node.ts +0 -393
- package/src/env/workflow/nodes/tool-node.test.ts +0 -251
- package/src/env/workflow/nodes/tool-node.ts +0 -493
- package/src/env/workflow/nodes/workflow-llm-history.test.ts +0 -455
- package/src/env/workflow/nodes/workflow-node.test.ts +0 -315
- package/src/env/workflow/nodes/workflow-node.ts +0 -311
- package/src/env/workflow/service/index.ts +0 -27
- package/src/env/workflow/service/registry.test.ts +0 -133
- package/src/env/workflow/service/registry.ts +0 -71
- package/src/env/workflow/service/workflow-service.test.ts +0 -310
- package/src/env/workflow/service/workflow-service.ts +0 -393
- package/src/env/workflow/storage/index.ts +0 -28
- package/src/env/workflow/storage/mock-repositories.ts +0 -385
- package/src/env/workflow/storage/sqlite.test.ts +0 -179
- package/src/env/workflow/storage/sqlite.ts +0 -163
- package/src/env/workflow/storage/workflow-repo.test.ts +0 -780
- package/src/env/workflow/storage/workflow-repo.ts +0 -342
- package/src/env/workflow/tools/ask-user-tool.ts +0 -82
- package/src/env/workflow/tools/index.ts +0 -26
- package/src/env/workflow/tools/run-workflow.test.ts +0 -352
- package/src/env/workflow/tools/run-workflow.ts +0 -214
- package/src/env/workflow/types/context.ts +0 -18
- package/src/env/workflow/types/decorators-types.ts +0 -198
- package/src/env/workflow/types/event.test.ts +0 -515
- package/src/env/workflow/types/event.ts +0 -193
- package/src/env/workflow/types/index.ts +0 -49
- package/src/env/workflow/types/run.test.ts +0 -437
- package/src/env/workflow/types/run.ts +0 -173
- package/src/env/workflow/types/workflow-hil.ts +0 -114
- package/src/env/workflow/types/workflow-message.test.ts +0 -138
- package/src/env/workflow/types/workflow-message.ts +0 -196
- package/src/env/workflow/types/workflow-session.test.ts +0 -95
- package/src/env/workflow/types/workflow-session.ts +0 -59
- package/src/env/workflow/types/workflow.test.ts +0 -495
- package/src/env/workflow/types/workflow.ts +0 -195
- package/src/env/workflow/types_compat.ts +0 -51
- package/src/env/workflow/utils/create-workflow.ts +0 -47
- package/src/env/workflow/utils/execution-state.ts +0 -245
- package/src/env/workflow/utils/index.ts +0 -18
- package/src/env/workflow/utils/node-registry-helper.ts +0 -58
- package/src/env/workflow/utils/recovery-validator.test.ts +0 -460
- package/src/env/workflow/utils/recovery-validator.ts +0 -377
- package/src/env/workflow/utils/session-parser.test.ts +0 -111
- package/src/env/workflow/utils/session-parser.ts +0 -94
- package/src/env/workflow/utils/session-recovery.test.ts +0 -334
- package/src/env/workflow/utils/session-recovery.ts +0 -188
- package/src/env/workflow/utils/template-resolver.test.ts +0 -258
- package/src/env/workflow/utils/template-resolver.ts +0 -436
- package/src/env/workflow/utils/validation-rules.ts +0 -149
- package/src/env/workflow/workflow-component.ts +0 -544
- package/src/index.ts +0 -422
- package/src/utils/id.ts +0 -21
package/src/env/mcp/types.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview MCP 类型定义
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
|
|
7
|
-
// ========== MCP Server 配置 ==========
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Local MCP Server 配置(stdio 传输)
|
|
11
|
-
*/
|
|
12
|
-
export const McpServerLocalConfigSchema = z.object({
|
|
13
|
-
type: z.literal("local"),
|
|
14
|
-
command: z.array(z.string()).min(1),
|
|
15
|
-
environment: z.record(z.string(), z.string()).optional(),
|
|
16
|
-
enabled: z.boolean().optional().default(true),
|
|
17
|
-
timeout: z.number().int().positive().optional(),
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
export type McpServerLocalConfig = z.infer<typeof McpServerLocalConfigSchema>;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Remote MCP Server 配置(HTTP 传输)
|
|
24
|
-
*/
|
|
25
|
-
export const McpServerRemoteConfigSchema = z.object({
|
|
26
|
-
type: z.literal("remote"),
|
|
27
|
-
url: z.string().url(),
|
|
28
|
-
enabled: z.boolean().optional().default(true),
|
|
29
|
-
headers: z.record(z.string(), z.string()).optional(),
|
|
30
|
-
timeout: z.number().int().positive().optional(),
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
export type McpServerRemoteConfig = z.infer<typeof McpServerRemoteConfigSchema>;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* MCP Server 配置(联合类型)
|
|
37
|
-
*/
|
|
38
|
-
export const McpServerConfigSchema = z.discriminatedUnion("type", [
|
|
39
|
-
McpServerLocalConfigSchema,
|
|
40
|
-
McpServerRemoteConfigSchema,
|
|
41
|
-
]);
|
|
42
|
-
|
|
43
|
-
export type McpServerConfig = z.infer<typeof McpServerConfigSchema>;
|
|
44
|
-
|
|
45
|
-
// ========== 扫描发现的服务器 ==========
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* 扫描发现的 MCP 服务器信息
|
|
49
|
-
*/
|
|
50
|
-
export interface DiscoveredMcpServer {
|
|
51
|
-
/** 服务器名称(目录名) */
|
|
52
|
-
name: string;
|
|
53
|
-
/** 入口脚本路径 */
|
|
54
|
-
entryPath?: string;
|
|
55
|
-
/** 配置文件路径 */
|
|
56
|
-
configPath?: string;
|
|
57
|
-
/** package.json 路径 */
|
|
58
|
-
packagePath?: string;
|
|
59
|
-
/** 目录中的配置 */
|
|
60
|
-
directoryConfig?: Record<string, unknown>;
|
|
61
|
-
/** 解析后的默认命令(兼容不同路径) */
|
|
62
|
-
defaultCommand?: string[];
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// ========== 服务器状态 ==========
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* MCP 服务器状态
|
|
69
|
-
*/
|
|
70
|
-
export interface McpServerStatus {
|
|
71
|
-
/** 服务器名称 */
|
|
72
|
-
name: string;
|
|
73
|
-
/** 连接状态 */
|
|
74
|
-
status: "connecting" | "connected" | "disconnected" | "error";
|
|
75
|
-
/** 错误信息 */
|
|
76
|
-
error?: string;
|
|
77
|
-
/** 工具数量 */
|
|
78
|
-
toolsCount?: number;
|
|
79
|
-
}
|
package/src/env/memory/README.md
DELETED
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
# MemoryComponent
|
|
2
|
-
|
|
3
|
-
> 记忆管理核心组件
|
|
4
|
-
|
|
5
|
-
## 概述
|
|
6
|
-
|
|
7
|
-
MemoryComponent 是 roy-agent 的**记忆管理核心组件**,负责:
|
|
8
|
-
- 管理本地文件系统记忆存储
|
|
9
|
-
- 注册记忆操作工具(record_memory, recall_memory)
|
|
10
|
-
- 支持 project/global 两种作用域
|
|
11
|
-
|
|
12
|
-
## 快速开始
|
|
13
|
-
|
|
14
|
-
### 1. 在 Environment 中注册
|
|
15
|
-
|
|
16
|
-
```typescript
|
|
17
|
-
import { BaseEnvironment } from "@roy-agent/core";
|
|
18
|
-
import { MemoryComponent } from "@roy-agent/core";
|
|
19
|
-
import { ToolComponent } from "@roy-agent/core";
|
|
20
|
-
|
|
21
|
-
export class MyEnvironment extends BaseEnvironment {
|
|
22
|
-
protected registerDefaultComponents(): void {
|
|
23
|
-
// 注册 ToolComponent(MemoryComponent 依赖它)
|
|
24
|
-
if (!this.getComponent("tool")) {
|
|
25
|
-
this.registerComponent(new ToolComponent());
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// 注册 MemoryComponent
|
|
29
|
-
const memoryComponent = new MemoryComponent();
|
|
30
|
-
this.registerComponent(memoryComponent);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### 2. 初始化配置
|
|
36
|
-
|
|
37
|
-
```typescript
|
|
38
|
-
const memoryComponent = new MemoryComponent();
|
|
39
|
-
await memoryComponent.init({
|
|
40
|
-
options: {
|
|
41
|
-
config: {
|
|
42
|
-
memoryPaths: [
|
|
43
|
-
{ type: "global", path: "~/.config/roy-agent/memory" },
|
|
44
|
-
{ type: "project", path: ".roy/memory" },
|
|
45
|
-
],
|
|
46
|
-
recursive: true,
|
|
47
|
-
cacheEnabled: true,
|
|
48
|
-
cacheTTL: 5 * 60 * 1000, // 5 分钟
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
});
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### 3. 启动组件
|
|
55
|
-
|
|
56
|
-
```typescript
|
|
57
|
-
await memoryComponent.start();
|
|
58
|
-
// MemoryComponent 会自动注册 2 个工具:
|
|
59
|
-
// - record_memory
|
|
60
|
-
// - recall_memory
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## 工具 API
|
|
64
|
-
|
|
65
|
-
### record_memory
|
|
66
|
-
|
|
67
|
-
记录记忆到指定 scope 的 memory.md 文件。
|
|
68
|
-
|
|
69
|
-
```typescript
|
|
70
|
-
// 追加内容
|
|
71
|
-
await memoryComponent.recordMemory({
|
|
72
|
-
scope: "project",
|
|
73
|
-
mode: "append",
|
|
74
|
-
content: "# 新记忆\n\n...",
|
|
75
|
-
title: "项目架构更新",
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
// 覆盖内容
|
|
79
|
-
await memoryComponent.recordMemory({
|
|
80
|
-
scope: "global",
|
|
81
|
-
mode: "overwrite",
|
|
82
|
-
content: "# 全局记忆\n\n...",
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
// 删除记忆
|
|
86
|
-
await memoryComponent.recordMemory({
|
|
87
|
-
scope: "project",
|
|
88
|
-
mode: "delete",
|
|
89
|
-
});
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
**参数**:
|
|
93
|
-
- `scope`: 作用域 - `"project"` 或 `"global"` (必填)
|
|
94
|
-
- `mode`: 操作模式 - `"append"`, `"prepend"`, `"overwrite"`, `"delete"`
|
|
95
|
-
- `content`: 记忆内容 (delete 模式不需要)
|
|
96
|
-
- `title`: 章节标题 (可选)
|
|
97
|
-
|
|
98
|
-
### recall_memory
|
|
99
|
-
|
|
100
|
-
回忆记忆,从指定 scope 读取 memory.md 文件。
|
|
101
|
-
|
|
102
|
-
```typescript
|
|
103
|
-
// 读取所有 scope 的记忆
|
|
104
|
-
const allMemory = await memoryComponent.recallMemory();
|
|
105
|
-
|
|
106
|
-
// 只读取 project scope
|
|
107
|
-
const projectMemory = await memoryComponent.recallMemory("project");
|
|
108
|
-
|
|
109
|
-
// 只读取 global scope
|
|
110
|
-
const globalMemory = await memoryComponent.recallMemory("global");
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
**参数**:
|
|
114
|
-
- `scope`: 作用域 - `"project"` 或 `"global"` (可选,不传则读取所有)
|
|
115
|
-
|
|
116
|
-
## 文件路径
|
|
117
|
-
|
|
118
|
-
```
|
|
119
|
-
~/.config/roy-agent/memory/
|
|
120
|
-
└── memory.md # global scope(全局记忆)
|
|
121
|
-
|
|
122
|
-
.roy/memory/
|
|
123
|
-
└── memory.md # project scope(项目记忆,根据工作目录动态)
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## CLI 使用
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
# 记录记忆(必填 --scope 参数)
|
|
130
|
-
roy memory record --scope project --mode append --content "# 新内容" --title "标题"
|
|
131
|
-
roy memory record --scope global --mode overwrite --content "# 全局内容"
|
|
132
|
-
|
|
133
|
-
# 回忆记忆(可选 --scope 参数)
|
|
134
|
-
roy memory recall # 读取所有 scope
|
|
135
|
-
roy memory recall --scope project # 只读取 project scope
|
|
136
|
-
roy memory recall --scope global # 只读取 global scope
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
## 配置
|
|
140
|
-
|
|
141
|
-
### 默认配置
|
|
142
|
-
|
|
143
|
-
```typescript
|
|
144
|
-
{
|
|
145
|
-
memoryPaths: [
|
|
146
|
-
{ type: "global", path: "~/.config/roy-agent/memory" },
|
|
147
|
-
{ type: "project", path: ".roy/memory" },
|
|
148
|
-
],
|
|
149
|
-
recursive: true,
|
|
150
|
-
cacheEnabled: true,
|
|
151
|
-
cacheTTL: 5 * 60 * 1000,
|
|
152
|
-
memoryFile: "memory.md",
|
|
153
|
-
}
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
### 环境变量
|
|
157
|
-
|
|
158
|
-
```bash
|
|
159
|
-
# 设置 memory paths
|
|
160
|
-
export MEMORY_MEMORYPATHS='[{"type":"global","path":"/home/user/.config/roy-agent/memory"},{"type":"project","path":".roy/memory"}]'
|
|
161
|
-
|
|
162
|
-
# 设置递归扫描
|
|
163
|
-
export MEMORY_RECURSIVE=true
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
## 类型定义
|
|
167
|
-
|
|
168
|
-
```typescript
|
|
169
|
-
import type {
|
|
170
|
-
MemoryConfig,
|
|
171
|
-
MemoryPath,
|
|
172
|
-
RecordMemoryMode,
|
|
173
|
-
RecordMemoryResult,
|
|
174
|
-
RecordMemoryParams,
|
|
175
|
-
RecallMemoryParams,
|
|
176
|
-
} from "@roy-agent/core";
|
|
177
|
-
```
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Memory Built-in Tools Index
|
|
3
|
-
*
|
|
4
|
-
* 简化的记忆工具导出
|
|
5
|
-
*
|
|
6
|
-
* 只暴露两个工具:
|
|
7
|
-
* - record_memory: 统一的记忆写入工具
|
|
8
|
-
* - recall_memory: 统一的记忆读取工具
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import type { Tool } from "../../tool/types";
|
|
12
|
-
import type { MemoryPath, RecordMemoryResult } from "../types";
|
|
13
|
-
import { createRecordMemoryTool, RecordMemorySchema } from "./record-memory";
|
|
14
|
-
import { createRecallMemoryTool, RecallMemorySchema } from "./recall-memory";
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* record_memory 工具操作接口
|
|
18
|
-
*/
|
|
19
|
-
export interface RecordMemoryOperations {
|
|
20
|
-
(args: {
|
|
21
|
-
scope: "project" | "global";
|
|
22
|
-
mode: "append" | "prepend" | "overwrite" | "delete";
|
|
23
|
-
content?: string;
|
|
24
|
-
title?: string;
|
|
25
|
-
}): Promise<RecordMemoryResult | null>;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* recall_memory 工具操作接口
|
|
30
|
-
*/
|
|
31
|
-
export interface RecallMemoryOperations {
|
|
32
|
-
(scope?: "project" | "global"): Promise<string>;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* MemoryToolConfig
|
|
37
|
-
*/
|
|
38
|
-
export interface MemoryToolConfig {
|
|
39
|
-
getMemoryPaths: () => MemoryPath[];
|
|
40
|
-
getMemoryFile: () => string;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* 创建所有记忆工具
|
|
45
|
-
*/
|
|
46
|
-
export function createMemoryTools(
|
|
47
|
-
recordMemory: RecordMemoryOperations,
|
|
48
|
-
recallMemory: RecallMemoryOperations,
|
|
49
|
-
config: MemoryToolConfig
|
|
50
|
-
): Tool[] {
|
|
51
|
-
return [
|
|
52
|
-
createRecordMemoryTool(recordMemory, config.getMemoryPaths, config.getMemoryFile),
|
|
53
|
-
createRecallMemoryTool(recallMemory, config.getMemoryPaths, config.getMemoryFile),
|
|
54
|
-
];
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// Re-export schemas for external use
|
|
58
|
-
export { RecordMemorySchema, type RecordMemoryParams } from "./record-memory";
|
|
59
|
-
export { RecallMemorySchema, type RecallMemoryParams } from "./recall-memory";
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview recall_memory Tool
|
|
3
|
-
*
|
|
4
|
-
* 统一的记忆读取工具
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import type { Tool, ToolContext, ToolResult } from "../../tool/types";
|
|
8
|
-
import { z } from "zod";
|
|
9
|
-
import type { MemoryPath } from "../types";
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* recall_memory 工具参数
|
|
13
|
-
*/
|
|
14
|
-
export const RecallMemorySchema = z.object({
|
|
15
|
-
/** 作用域 (可选,不传则读取所有 scope) */
|
|
16
|
-
scope: z.enum(["project", "global"]).optional().describe("作用域(可选,不传则读取所有)"),
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
export type RecallMemoryParams = z.infer<typeof RecallMemorySchema>;
|
|
20
|
-
|
|
21
|
-
export interface RecallMemoryOptions {
|
|
22
|
-
scope?: "project" | "global";
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* 创建 recall_memory 工具
|
|
27
|
-
*/
|
|
28
|
-
export function createRecallMemoryTool(
|
|
29
|
-
recallMemory: (scope?: "project" | "global") => Promise<string>,
|
|
30
|
-
getMemoryPaths: () => MemoryPath[],
|
|
31
|
-
getMemoryFile: () => string
|
|
32
|
-
): Tool {
|
|
33
|
-
return {
|
|
34
|
-
name: "recall_memory",
|
|
35
|
-
description: buildDescription(getMemoryPaths, getMemoryFile),
|
|
36
|
-
parameters: RecallMemorySchema,
|
|
37
|
-
execute: async (args: unknown, _ctx: ToolContext): Promise<ToolResult> => {
|
|
38
|
-
const params = RecallMemorySchema.parse(args);
|
|
39
|
-
const startTime = Date.now();
|
|
40
|
-
|
|
41
|
-
try {
|
|
42
|
-
const content = await recallMemory(params.scope);
|
|
43
|
-
|
|
44
|
-
if (!content) {
|
|
45
|
-
return {
|
|
46
|
-
success: true,
|
|
47
|
-
output: "(No memory files found)",
|
|
48
|
-
metadata: { execution_time_ms: Date.now() - startTime },
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return {
|
|
53
|
-
success: true,
|
|
54
|
-
output: content,
|
|
55
|
-
metadata: { execution_time_ms: Date.now() - startTime },
|
|
56
|
-
};
|
|
57
|
-
} catch (error) {
|
|
58
|
-
return {
|
|
59
|
-
success: false,
|
|
60
|
-
output: "",
|
|
61
|
-
error: error instanceof Error ? error.message : String(error),
|
|
62
|
-
metadata: { execution_time_ms: Date.now() - startTime },
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function buildDescription(
|
|
70
|
-
getMemoryPaths: () => MemoryPath[],
|
|
71
|
-
getMemoryFile: () => string
|
|
72
|
-
): string {
|
|
73
|
-
const paths = getMemoryPaths();
|
|
74
|
-
const memoryFile = getMemoryFile();
|
|
75
|
-
|
|
76
|
-
const lines = [
|
|
77
|
-
`# Recall Memory Tool`,
|
|
78
|
-
"",
|
|
79
|
-
`Recall memory from memory files. Reads from the memory.md file in the specified scope.`,
|
|
80
|
-
"",
|
|
81
|
-
`## Parameters`,
|
|
82
|
-
"",
|
|
83
|
-
"- **scope** (optional): 作用域 - project 或 global(不传则读取所有)",
|
|
84
|
-
"",
|
|
85
|
-
`## Memory Files`,
|
|
86
|
-
"",
|
|
87
|
-
];
|
|
88
|
-
|
|
89
|
-
if (paths.length === 0) {
|
|
90
|
-
lines.push("No memory paths configured.");
|
|
91
|
-
} else {
|
|
92
|
-
lines.push("Files will be read from:");
|
|
93
|
-
for (const p of paths) {
|
|
94
|
-
lines.push(`- **[${p.type}]** ${p.path}/${memoryFile}`);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
return lines.join("\n");
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Re-export for external use
|
|
102
|
-
export { RecallMemorySchema as UnifiedRecallMemorySchema };
|
|
103
|
-
export type { RecallMemoryParams as UnifiedRecallMemoryParams };
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
// packages/core/src/env/memory/built-in/record-memory.ts
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @fileoverview record_memory Tool
|
|
5
|
-
*
|
|
6
|
-
* 统一的记忆记录工具
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { Tool, ToolContext, ToolResult } from "../../tool/types";
|
|
10
|
-
import { z } from "zod";
|
|
11
|
-
import type { MemoryPath, RecordMemoryResult } from "../types";
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* record_memory 工具参数
|
|
15
|
-
*/
|
|
16
|
-
export const RecordMemorySchema = z.object({
|
|
17
|
-
/** 作用域 (必填) */
|
|
18
|
-
scope: z.enum(["project", "global"]).describe("作用域: project/global"),
|
|
19
|
-
|
|
20
|
-
/** 操作模式 */
|
|
21
|
-
mode: z.enum(["append", "prepend", "overwrite", "delete"])
|
|
22
|
-
.describe("模式: append(追加)/prepend(插入)/overwrite(覆盖)/delete(删除)"),
|
|
23
|
-
|
|
24
|
-
/** 记忆内容 (delete 模式不需要) */
|
|
25
|
-
content: z.string().optional().describe("记忆内容"),
|
|
26
|
-
|
|
27
|
-
/** 章节标题 (可选,用于生成 ## title 章节) */
|
|
28
|
-
title: z.string().optional().describe("章节标题"),
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
export type RecordMemoryParams = z.infer<typeof RecordMemorySchema>;
|
|
32
|
-
|
|
33
|
-
export interface RecordMemoryOptions {
|
|
34
|
-
scope: "project" | "global";
|
|
35
|
-
mode: "append" | "prepend" | "overwrite" | "delete";
|
|
36
|
-
content?: string;
|
|
37
|
-
title?: string;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* 创建 record_memory 工具
|
|
42
|
-
*/
|
|
43
|
-
export function createRecordMemoryTool(
|
|
44
|
-
recordMemory: (args: RecordMemoryOptions) => Promise<RecordMemoryResult | null>,
|
|
45
|
-
getMemoryPaths: () => MemoryPath[],
|
|
46
|
-
getMemoryFile: () => string
|
|
47
|
-
): Tool {
|
|
48
|
-
return {
|
|
49
|
-
name: "record_memory",
|
|
50
|
-
description: buildDescription(getMemoryPaths, getMemoryFile),
|
|
51
|
-
parameters: RecordMemorySchema,
|
|
52
|
-
execute: async (args: unknown, _ctx: ToolContext): Promise<ToolResult> => {
|
|
53
|
-
const params = RecordMemorySchema.parse(args);
|
|
54
|
-
const startTime = Date.now();
|
|
55
|
-
|
|
56
|
-
try {
|
|
57
|
-
const result = await recordMemory({
|
|
58
|
-
scope: params.scope,
|
|
59
|
-
mode: params.mode,
|
|
60
|
-
content: params.content,
|
|
61
|
-
title: params.title,
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
if (!result) {
|
|
65
|
-
return {
|
|
66
|
-
success: false,
|
|
67
|
-
output: "",
|
|
68
|
-
error: "未配置 memory 路径,无法记录记忆",
|
|
69
|
-
metadata: { execution_time_ms: Date.now() - startTime },
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
const actionMessages: Record<string, string> = {
|
|
74
|
-
created: "已创建记忆文件",
|
|
75
|
-
overwrite: "已覆盖记忆文件",
|
|
76
|
-
append: "已追加内容到记忆文件",
|
|
77
|
-
prepend: "已插入内容到记忆文件开头",
|
|
78
|
-
delete: "已删除记忆文件",
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
return {
|
|
82
|
-
success: true,
|
|
83
|
-
output: `${actionMessages[result.action]}: ${result.path}`,
|
|
84
|
-
metadata: {
|
|
85
|
-
execution_time_ms: Date.now() - startTime,
|
|
86
|
-
path: result.path,
|
|
87
|
-
action: result.action,
|
|
88
|
-
},
|
|
89
|
-
};
|
|
90
|
-
} catch (error) {
|
|
91
|
-
return {
|
|
92
|
-
success: false,
|
|
93
|
-
output: "",
|
|
94
|
-
error: error instanceof Error ? error.message : String(error),
|
|
95
|
-
metadata: { execution_time_ms: Date.now() - startTime },
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
},
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
function buildDescription(
|
|
103
|
-
getMemoryPaths: () => MemoryPath[],
|
|
104
|
-
getMemoryFile: () => string
|
|
105
|
-
): string {
|
|
106
|
-
const paths = getMemoryPaths();
|
|
107
|
-
const memoryFile = getMemoryFile();
|
|
108
|
-
|
|
109
|
-
const lines = [
|
|
110
|
-
`# Record Memory Tool`,
|
|
111
|
-
"",
|
|
112
|
-
`Record memory to file. Writes to the memory.md file in the specified scope.`,
|
|
113
|
-
"",
|
|
114
|
-
`## Modes`,
|
|
115
|
-
"",
|
|
116
|
-
"| Mode | Description |",
|
|
117
|
-
"|------|-------------|",
|
|
118
|
-
"| **append** | 追加内容到 ${memoryFile} 尾部 |",
|
|
119
|
-
"| **prepend** | 插入内容到 ${memoryFile} 开头 |",
|
|
120
|
-
"| **overwrite** | 覆盖 ${memoryFile} |",
|
|
121
|
-
"| **delete** | 删除 ${memoryFile} |",
|
|
122
|
-
"",
|
|
123
|
-
`## Parameters`,
|
|
124
|
-
"",
|
|
125
|
-
"- **scope** (required): 作用域 - project 或 global",
|
|
126
|
-
"- **mode** (required): 操作模式",
|
|
127
|
-
"- **content** (optional): 记忆内容",
|
|
128
|
-
"- **title** (optional): 章节标题",
|
|
129
|
-
"",
|
|
130
|
-
`## Memory Paths`,
|
|
131
|
-
"",
|
|
132
|
-
];
|
|
133
|
-
|
|
134
|
-
if (paths.length === 0) {
|
|
135
|
-
lines.push("No memory paths configured.");
|
|
136
|
-
} else {
|
|
137
|
-
lines.push("Files will be written to:");
|
|
138
|
-
for (const p of paths) {
|
|
139
|
-
lines.push(`- **[${p.type}]** ${p.path}/${memoryFile}`);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
return lines.join("\n");
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// Re-export for external use
|
|
147
|
-
export { RecordMemorySchema as UnifiedRecordMemorySchema };
|
|
148
|
-
export type { RecordMemoryParams as UnifiedRecordMemoryParams };
|
package/src/env/memory/index.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Memory Component Index
|
|
3
|
-
*
|
|
4
|
-
* 导出 Memory 组件及相关类型
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
// Types - only export from one place to avoid duplicates
|
|
8
|
-
export * from "./types";
|
|
9
|
-
|
|
10
|
-
// Config
|
|
11
|
-
export { DEFAULT_MEMORY_CONFIG, SOURCE_PRIORITY, getSourcePriority } from "./memory-config";
|
|
12
|
-
|
|
13
|
-
// Component
|
|
14
|
-
export { MemoryComponent, type MemoryComponentOptions } from "./memory-component";
|
|
15
|
-
|
|
16
|
-
// Built-in Tools - export only schemas to avoid type conflicts
|
|
17
|
-
export { RecordMemorySchema, RecallMemorySchema } from "./built-in";
|
|
18
|
-
|
|
19
|
-
// Memory Plugin (for --plugin memory)
|
|
20
|
-
export * from "./plugin";
|