@ai-setting/roy-agent-core 1.4.12 → 1.4.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/packages/core/src/config/index.js +32 -0
- package/dist/packages/core/src/env/agent/index.js +24 -0
- package/dist/packages/core/src/env/commands/index.js +14 -0
- package/dist/packages/core/src/env/debug/formatters/index.js +11 -0
- package/dist/packages/core/src/env/debug/index.js +26 -0
- package/dist/packages/core/src/env/hook/index.js +29 -0
- package/dist/packages/core/src/env/index.js +81 -0
- package/dist/packages/core/src/env/llm/index.js +40 -0
- package/dist/packages/core/src/env/log-trace/index.js +83 -0
- package/dist/packages/core/src/env/mcp/index.js +39 -0
- package/dist/packages/core/src/env/mcp/tool/index.js +14 -0
- package/dist/packages/core/src/env/memory/built-in/index.js +11 -0
- package/dist/packages/core/src/env/memory/index.js +56 -0
- package/dist/packages/core/src/env/memory/plugin/index.js +36 -0
- package/dist/packages/core/src/env/prompt/index.js +20 -0
- package/dist/packages/core/src/env/session/index.js +25 -0
- package/dist/packages/core/src/env/session/storage/index.js +18 -0
- package/dist/packages/core/src/env/skill/index.js +34 -0
- package/dist/packages/core/src/env/skill/tool/index.js +9 -0
- package/dist/packages/core/src/env/task/delegate/index.js +18 -0
- package/dist/packages/core/src/env/task/hooks/index.js +7 -0
- package/dist/packages/core/src/env/task/index.js +30 -0
- package/dist/packages/core/src/env/task/plugins/index.js +23 -0
- package/dist/packages/core/src/env/task/storage/index.js +14 -0
- package/dist/packages/core/src/env/task/tools/index.js +17 -0
- package/dist/packages/core/src/env/task/tools/operation/index.js +15 -0
- package/dist/packages/core/src/env/tool/built-in/index.js +25 -0
- package/dist/packages/core/src/env/tool/index.js +39 -0
- package/dist/packages/core/src/env/workflow/decorators/index.js +27 -0
- package/dist/packages/core/src/env/workflow/engine/index.js +28 -0
- package/dist/packages/core/src/env/workflow/index.js +132 -0
- package/dist/packages/core/src/env/workflow/nodes/index.js +19 -0
- package/dist/packages/core/src/env/workflow/service/index.js +13 -0
- package/dist/packages/core/src/env/workflow/storage/index.js +27 -0
- package/dist/packages/core/src/env/workflow/tools/index.js +159 -0
- package/dist/packages/core/src/env/workflow/types/index.js +94 -0
- package/dist/packages/core/src/env/workflow/utils/index.js +637 -0
- package/dist/packages/core/src/index.js +398 -0
- package/dist/shared/@ai-setting/roy-agent-core-04fm8177.js +393 -0
- package/dist/shared/@ai-setting/roy-agent-core-04qgbjbe.js +172 -0
- package/dist/shared/@ai-setting/roy-agent-core-084qqd7t.js +11 -0
- package/dist/shared/@ai-setting/roy-agent-core-0gekht4e.js +1130 -0
- package/dist/shared/@ai-setting/roy-agent-core-0hdry23r.js +419 -0
- package/dist/shared/@ai-setting/roy-agent-core-0sgn3de4.js +102 -0
- package/dist/{env/task/tools/index.js → shared/@ai-setting/roy-agent-core-12x57kf1.js} +1 -59
- package/dist/shared/@ai-setting/roy-agent-core-1f3xrrm6.js +393 -0
- package/dist/shared/@ai-setting/roy-agent-core-1k28kg7h.js +368 -0
- package/dist/shared/@ai-setting/roy-agent-core-1z1zv5g8.js +258 -0
- package/dist/shared/@ai-setting/roy-agent-core-2hqxnaf3.js +851 -0
- package/dist/shared/@ai-setting/roy-agent-core-3dfq8awb.js +587 -0
- package/dist/shared/@ai-setting/roy-agent-core-3takar0s.js +93 -0
- package/dist/shared/@ai-setting/roy-agent-core-3tnb2005.js +117 -0
- package/dist/shared/@ai-setting/roy-agent-core-4vmcvkav.js +14 -0
- package/dist/shared/@ai-setting/roy-agent-core-4ws8atva.js +107 -0
- package/dist/{env/workflow/nodes/index.js → shared/@ai-setting/roy-agent-core-5fbp24se.js} +8 -55
- package/dist/shared/@ai-setting/roy-agent-core-5my94ywp.js +66 -0
- package/dist/shared/@ai-setting/roy-agent-core-6j0zcmwk.js +2146 -0
- package/dist/shared/@ai-setting/roy-agent-core-6w4pmxc7.js +266 -0
- package/dist/shared/@ai-setting/roy-agent-core-7vrk3add.js +10 -0
- package/dist/shared/@ai-setting/roy-agent-core-8dvbn7tw.js +64 -0
- package/dist/{env/memory/built-in/index.js → shared/@ai-setting/roy-agent-core-8mbmrwzs.js} +22 -76
- package/dist/shared/@ai-setting/roy-agent-core-8wzz66qe.js +620 -0
- package/dist/shared/@ai-setting/roy-agent-core-9ykq91jc.js +762 -0
- package/dist/shared/@ai-setting/roy-agent-core-dde19zke.js +1305 -0
- package/dist/shared/@ai-setting/roy-agent-core-f7g67gce.js +913 -0
- package/dist/{env/workflow/types/index.js → shared/@ai-setting/roy-agent-core-fq5mtxsy.js} +16 -154
- package/dist/{env/task/hooks/index.js → shared/@ai-setting/roy-agent-core-fs0mn2jk.js} +3 -18
- package/dist/{config/index.js → shared/@ai-setting/roy-agent-core-fvd9g6k8.js} +140 -605
- package/dist/shared/@ai-setting/roy-agent-core-gv1hrn3x.js +378 -0
- package/dist/{env/task/tools/operation/index.js → shared/@ai-setting/roy-agent-core-gy0wp5h7.js} +1 -58
- package/dist/shared/@ai-setting/roy-agent-core-hyza1gm7.js +15 -0
- package/dist/shared/@ai-setting/roy-agent-core-j8zx62zr.js +154 -0
- package/dist/shared/@ai-setting/roy-agent-core-jb2exr0d.js +442 -0
- package/dist/shared/@ai-setting/roy-agent-core-jv3b7v9w.js +57 -0
- package/dist/shared/@ai-setting/roy-agent-core-k1rxf9ya.js +513 -0
- package/dist/shared/@ai-setting/roy-agent-core-kydc9nwb.js +60 -0
- package/dist/shared/@ai-setting/roy-agent-core-m2x48hw6.js +97 -0
- package/dist/shared/@ai-setting/roy-agent-core-m6y668cc.js +377 -0
- package/dist/shared/@ai-setting/roy-agent-core-nczzf0ms.js +15 -0
- package/dist/shared/@ai-setting/roy-agent-core-nfj6knp5.js +36 -0
- package/dist/shared/@ai-setting/roy-agent-core-ntrp979d.js +204 -0
- package/dist/shared/@ai-setting/roy-agent-core-pd7g8z5v.js +1387 -0
- package/dist/shared/@ai-setting/roy-agent-core-pzk1syce.js +14 -0
- package/dist/shared/@ai-setting/roy-agent-core-q50tg9m2.js +862 -0
- package/dist/shared/@ai-setting/roy-agent-core-qg9tcaph.js +11 -0
- package/dist/shared/@ai-setting/roy-agent-core-qhyerewk.js +20 -0
- package/dist/shared/@ai-setting/roy-agent-core-qxybm159.js +82 -0
- package/dist/shared/@ai-setting/roy-agent-core-rh9dpkpw.js +549 -0
- package/dist/shared/@ai-setting/roy-agent-core-rr9p1g43.js +205 -0
- package/dist/{env/workflow/decorators/index.js → shared/@ai-setting/roy-agent-core-sbzvpfn7.js} +8 -173
- package/dist/shared/@ai-setting/roy-agent-core-t22nqt4d.js +788 -0
- package/dist/shared/@ai-setting/roy-agent-core-tkr5ynkh.js +200 -0
- package/dist/shared/@ai-setting/roy-agent-core-v4aabsf0.js +303 -0
- package/dist/{env/hook/index.js → shared/@ai-setting/roy-agent-core-w75rafhy.js} +3 -74
- package/dist/{env/debug/formatters/index.js → shared/@ai-setting/roy-agent-core-w76hqkmg.js} +11 -66
- package/dist/shared/@ai-setting/roy-agent-core-yfbgwes2.js +408 -0
- package/dist/shared/@ai-setting/roy-agent-core-yn761yve.js +299 -0
- package/dist/shared/@ai-setting/roy-agent-core-yrzmn4m1.js +492 -0
- package/dist/{env/workflow/service/index.js → shared/@ai-setting/roy-agent-core-yt8wdh2w.js} +1 -57
- package/package.json +3 -2
- package/dist/env/agent/index.js +0 -3035
- package/dist/env/commands/index.js +0 -1685
- package/dist/env/debug/index.js +0 -2300
- package/dist/env/index.js +0 -12591
- package/dist/env/llm/index.js +0 -2736
- package/dist/env/log-trace/index.js +0 -1779
- package/dist/env/mcp/index.js +0 -2173
- package/dist/env/mcp/tool/index.js +0 -1149
- package/dist/env/memory/index.js +0 -2171
- package/dist/env/memory/plugin/index.js +0 -1263
- package/dist/env/prompt/index.js +0 -2107
- package/dist/env/session/index.js +0 -3594
- package/dist/env/session/storage/index.js +0 -2049
- package/dist/env/skill/index.js +0 -1635
- package/dist/env/skill/tool/index.js +0 -114
- package/dist/env/task/delegate/index.js +0 -1844
- package/dist/env/task/index.js +0 -3578
- package/dist/env/task/plugins/index.js +0 -1626
- package/dist/env/task/storage/index.js +0 -1464
- package/dist/env/tool/built-in/index.js +0 -1151
- package/dist/env/tool/index.js +0 -2284
- package/dist/env/workflow/engine/index.js +0 -4391
- package/dist/env/workflow/index.js +0 -6214
- package/dist/env/workflow/storage/index.js +0 -1236
- package/dist/env/workflow/tools/index.js +0 -1081
- package/dist/env/workflow/utils/index.js +0 -1631
- package/dist/index.js +0 -22778
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import {
|
|
2
|
+
exports_node_registry_helper,
|
|
3
|
+
init_node_registry_helper
|
|
4
|
+
} from "./roy-agent-core-1z1zv5g8.js";
|
|
5
|
+
import {
|
|
6
|
+
askUserTool
|
|
7
|
+
} from "./roy-agent-core-nfj6knp5.js";
|
|
8
|
+
import {
|
|
9
|
+
WorkflowEngine,
|
|
10
|
+
exports_engine,
|
|
11
|
+
init_engine
|
|
12
|
+
} from "./roy-agent-core-6j0zcmwk.js";
|
|
13
|
+
import {
|
|
14
|
+
WorkflowService
|
|
15
|
+
} from "./roy-agent-core-yt8wdh2w.js";
|
|
16
|
+
import {
|
|
17
|
+
BaseComponent
|
|
18
|
+
} from "./roy-agent-core-m2x48hw6.js";
|
|
19
|
+
import {
|
|
20
|
+
createLogger,
|
|
21
|
+
init_logger
|
|
22
|
+
} from "./roy-agent-core-yn761yve.js";
|
|
23
|
+
import {
|
|
24
|
+
__require,
|
|
25
|
+
__toCommonJS
|
|
26
|
+
} from "./roy-agent-core-fs0mn2jk.js";
|
|
27
|
+
|
|
28
|
+
// packages/core/src/env/workflow/workflow-component.ts
|
|
29
|
+
import"reflect-metadata";
|
|
30
|
+
init_engine();
|
|
31
|
+
init_logger();
|
|
32
|
+
init_engine();
|
|
33
|
+
init_node_registry_helper();
|
|
34
|
+
var componentLogger = createLogger("workflow");
|
|
35
|
+
|
|
36
|
+
class SkillRegistryAdapter {
|
|
37
|
+
skillComponent;
|
|
38
|
+
constructor(skillComponent) {
|
|
39
|
+
this.skillComponent = skillComponent;
|
|
40
|
+
}
|
|
41
|
+
getSkill(name) {
|
|
42
|
+
const entry = this.skillComponent.getSkill(name);
|
|
43
|
+
if (!entry)
|
|
44
|
+
return;
|
|
45
|
+
return {
|
|
46
|
+
name: entry.name,
|
|
47
|
+
invoke: async (input, context) => {
|
|
48
|
+
return entry.content;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
hasSkill(name) {
|
|
53
|
+
return this.skillComponent.hasSkill(name);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
class WorkflowComponent extends BaseComponent {
|
|
58
|
+
name = "workflow";
|
|
59
|
+
version = "1.0.0";
|
|
60
|
+
workflowService = null;
|
|
61
|
+
sessionComponent = null;
|
|
62
|
+
nodeRegistry = null;
|
|
63
|
+
decoratorsRegistered = false;
|
|
64
|
+
getService() {
|
|
65
|
+
return this.workflowService;
|
|
66
|
+
}
|
|
67
|
+
toolComponent;
|
|
68
|
+
llmComponent;
|
|
69
|
+
logTraceComponent;
|
|
70
|
+
_workflowEnv;
|
|
71
|
+
skillRegistry;
|
|
72
|
+
agentRunner;
|
|
73
|
+
async init(options) {
|
|
74
|
+
const opts = options;
|
|
75
|
+
this._status = "initializing";
|
|
76
|
+
componentLogger.info("Initializing WorkflowComponent...");
|
|
77
|
+
this.toolComponent = opts.toolComponent;
|
|
78
|
+
this.llmComponent = opts.llmComponent;
|
|
79
|
+
this.logTraceComponent = opts.logTraceComponent;
|
|
80
|
+
this._workflowEnv = opts.env;
|
|
81
|
+
this.skillRegistry = opts.skillRegistry;
|
|
82
|
+
this.agentRunner = opts.agentRunner;
|
|
83
|
+
try {
|
|
84
|
+
if (opts.autoRegisterDecorators !== false) {
|
|
85
|
+
await this.registerDecorators();
|
|
86
|
+
}
|
|
87
|
+
this._status = "ready";
|
|
88
|
+
componentLogger.info("WorkflowComponent initialized successfully");
|
|
89
|
+
} catch (error) {
|
|
90
|
+
this._status = "error";
|
|
91
|
+
componentLogger.error("Failed to initialize WorkflowComponent:", error);
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
async registerDecorators() {
|
|
96
|
+
if (this.decoratorsRegistered)
|
|
97
|
+
return;
|
|
98
|
+
try {
|
|
99
|
+
const { NodeRegistry } = await import("../../packages/core/src/env/workflow/engine/index.js");
|
|
100
|
+
const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-hyza1gm7.js");
|
|
101
|
+
this.nodeRegistry = new NodeRegistry;
|
|
102
|
+
registerDecoratorNodeType2(this.nodeRegistry);
|
|
103
|
+
this.decoratorsRegistered = true;
|
|
104
|
+
componentLogger.info("Decorator node type registered");
|
|
105
|
+
} catch (error) {
|
|
106
|
+
componentLogger.error("Failed to register decorator node type:", error);
|
|
107
|
+
throw error;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
createService(options) {
|
|
111
|
+
const skillRegistryAdapter = options.skillRegistry ? new SkillRegistryAdapter(options.skillRegistry) : undefined;
|
|
112
|
+
const sessionComponentForEngine = options.sessionComponent;
|
|
113
|
+
const engineFactory = (workflow, opts) => {
|
|
114
|
+
const { NodeRegistry, WorkflowEngine: WorkflowEngine2 } = (init_engine(), __toCommonJS(exports_engine));
|
|
115
|
+
const registry = new NodeRegistry({
|
|
116
|
+
toolRegistry: options.toolComponent,
|
|
117
|
+
agentComponent: options.env?.getComponent("agent"),
|
|
118
|
+
skillRegistry: skillRegistryAdapter,
|
|
119
|
+
sessionComponent: sessionComponentForEngine
|
|
120
|
+
});
|
|
121
|
+
const { registerDecoratorNodeType: registerDecoratorNodeType2 } = (init_node_registry_helper(), __toCommonJS(exports_node_registry_helper));
|
|
122
|
+
registerDecoratorNodeType2(registry);
|
|
123
|
+
return new WorkflowEngine2(registry, sessionComponentForEngine, options.workflowRepository);
|
|
124
|
+
};
|
|
125
|
+
this.workflowService = new WorkflowService(options.workflowRepository, engineFactory, options.sessionComponent);
|
|
126
|
+
return this.workflowService;
|
|
127
|
+
}
|
|
128
|
+
async runWorkflow(definition, input, options) {
|
|
129
|
+
const { NodeRegistry } = await import("../../packages/core/src/env/workflow/engine/index.js");
|
|
130
|
+
const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-hyza1gm7.js");
|
|
131
|
+
const toolComponent = this.toolComponent || this._workflowEnv?.getComponent("tool");
|
|
132
|
+
const skillComponent = this._workflowEnv?.getComponent("skill");
|
|
133
|
+
let agentRunner = this.agentRunner;
|
|
134
|
+
if (!agentRunner && this._workflowEnv) {
|
|
135
|
+
const agentComponent = this._workflowEnv.getComponent("agent");
|
|
136
|
+
if (agentComponent) {
|
|
137
|
+
const { AgentComponentAdapter } = await import("./roy-agent-core-qg9tcaph.js");
|
|
138
|
+
agentRunner = new AgentComponentAdapter(agentComponent);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
const registry = new NodeRegistry({
|
|
142
|
+
toolRegistry: toolComponent,
|
|
143
|
+
skillRegistry: skillComponent,
|
|
144
|
+
agentRunner
|
|
145
|
+
});
|
|
146
|
+
registerDecoratorNodeType2(registry);
|
|
147
|
+
const engine = new WorkflowEngine(registry);
|
|
148
|
+
return engine.runWorkflow(definition, { ...options, input });
|
|
149
|
+
}
|
|
150
|
+
async onStop() {
|
|
151
|
+
componentLogger.info("[WorkflowComponent] Stopping and cleaning up resources...");
|
|
152
|
+
if (this.nodeRegistry) {
|
|
153
|
+
this.nodeRegistry = null;
|
|
154
|
+
}
|
|
155
|
+
if (this.workflowService) {
|
|
156
|
+
this.workflowService = null;
|
|
157
|
+
try {
|
|
158
|
+
const { closeDatabase } = await import("./roy-agent-core-qhyerewk.js");
|
|
159
|
+
closeDatabase();
|
|
160
|
+
componentLogger.info("[WorkflowComponent] SQLite database closed");
|
|
161
|
+
} catch (error) {
|
|
162
|
+
componentLogger.warn("[WorkflowComponent] Failed to close SQLite database:", error);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
this._status = "stopped";
|
|
166
|
+
componentLogger.info("[WorkflowComponent] Cleanup completed");
|
|
167
|
+
}
|
|
168
|
+
async start() {
|
|
169
|
+
await super.start();
|
|
170
|
+
await this.initSqliteService();
|
|
171
|
+
await this.registerAskUserTool();
|
|
172
|
+
}
|
|
173
|
+
async registerAskUserTool() {
|
|
174
|
+
try {
|
|
175
|
+
const toolComponent = this.toolComponent || this._workflowEnv?.getComponent("tool");
|
|
176
|
+
if (!toolComponent) {
|
|
177
|
+
componentLogger.warn("ToolComponent not available, cannot register ask_user tool");
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
if (typeof toolComponent.register === "function") {
|
|
181
|
+
toolComponent.register(askUserTool);
|
|
182
|
+
componentLogger.info("ask_user tool registered to ToolComponent");
|
|
183
|
+
} else if (typeof toolComponent.registerMany === "function") {
|
|
184
|
+
toolComponent.registerMany([askUserTool]);
|
|
185
|
+
componentLogger.info("ask_user tool registered to ToolComponent");
|
|
186
|
+
} else {
|
|
187
|
+
componentLogger.warn("ToolComponent does not support tool registration");
|
|
188
|
+
}
|
|
189
|
+
} catch (error) {
|
|
190
|
+
componentLogger.warn("Failed to register ask_user tool:", error);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
async initSqliteService() {
|
|
194
|
+
try {
|
|
195
|
+
const { getDatabase, initializeTables } = await import("./roy-agent-core-qhyerewk.js");
|
|
196
|
+
const { WorkflowRepository } = await import("./roy-agent-core-4vmcvkav.js");
|
|
197
|
+
const db = getDatabase();
|
|
198
|
+
initializeTables();
|
|
199
|
+
const workflowRepository = new WorkflowRepository(db);
|
|
200
|
+
const toolComponent = this.toolComponent || this._workflowEnv?.getComponent("tool");
|
|
201
|
+
const llmComponent = this.llmComponent || this._workflowEnv?.getComponent("llm");
|
|
202
|
+
const agentComponent = this._workflowEnv?.getComponent("agent");
|
|
203
|
+
const skillComponent = this.skillRegistry || this._workflowEnv?.getComponent("skill");
|
|
204
|
+
const sessionComponent = this._workflowEnv?.getComponent("session");
|
|
205
|
+
componentLogger.info(`initSqliteService - toolComponent: ${!!toolComponent}, llmComponent: ${!!llmComponent}, skillRegistry: ${!!skillComponent}, sessionComponent: ${!!sessionComponent}`);
|
|
206
|
+
this.createService({
|
|
207
|
+
workflowRepository,
|
|
208
|
+
toolComponent,
|
|
209
|
+
llmComponent,
|
|
210
|
+
env: this._workflowEnv,
|
|
211
|
+
skillRegistry: skillComponent,
|
|
212
|
+
sessionComponent
|
|
213
|
+
});
|
|
214
|
+
this.sessionComponent = sessionComponent;
|
|
215
|
+
await this.registerAskUserTool();
|
|
216
|
+
componentLogger.info("SQLite WorkflowService initialized successfully");
|
|
217
|
+
} catch (error) {
|
|
218
|
+
componentLogger.error("Failed to initialize SQLite WorkflowService:", error);
|
|
219
|
+
await this.createInMemoryService();
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
createInMemoryService() {
|
|
223
|
+
const workflows = new Map;
|
|
224
|
+
const workflowRepository = {
|
|
225
|
+
create: (wf) => {
|
|
226
|
+
const id = wf.id || `wf_${Date.now()}`;
|
|
227
|
+
const record = { ...wf, id, createdAt: new Date, updatedAt: new Date };
|
|
228
|
+
workflows.set(id, record);
|
|
229
|
+
return record;
|
|
230
|
+
},
|
|
231
|
+
getById: (id) => workflows.get(id) || null,
|
|
232
|
+
getByName: (name) => {
|
|
233
|
+
for (const wf of workflows.values()) {
|
|
234
|
+
if (wf.name === name)
|
|
235
|
+
return wf;
|
|
236
|
+
}
|
|
237
|
+
return null;
|
|
238
|
+
},
|
|
239
|
+
list: () => Array.from(workflows.values()),
|
|
240
|
+
update: (id, updates) => {
|
|
241
|
+
const wf = workflows.get(id);
|
|
242
|
+
if (!wf)
|
|
243
|
+
return null;
|
|
244
|
+
const updated = { ...wf, ...updates, updatedAt: new Date };
|
|
245
|
+
workflows.set(id, updated);
|
|
246
|
+
return updated;
|
|
247
|
+
},
|
|
248
|
+
delete: (id) => workflows.delete(id)
|
|
249
|
+
};
|
|
250
|
+
const sessionComponent = this._workflowEnv?.getComponent("session");
|
|
251
|
+
return this.createService({
|
|
252
|
+
workflowRepository,
|
|
253
|
+
sessionComponent
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
async stop() {
|
|
257
|
+
componentLogger.info("Stopping WorkflowComponent...");
|
|
258
|
+
this._status = "stopping";
|
|
259
|
+
this.workflowService = null;
|
|
260
|
+
this.nodeRegistry = null;
|
|
261
|
+
this._status = "stopped";
|
|
262
|
+
componentLogger.info("WorkflowComponent stopped");
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
export { WorkflowComponent };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__esm
|
|
3
|
+
} from "./roy-agent-core-fs0mn2jk.js";
|
|
4
|
+
|
|
5
|
+
// packages/core/src/env/workflow/types/workflow-hil.ts
|
|
6
|
+
function createNodeInterruptEvent(runId, nodeId, nodeType, query, agentSessionId) {
|
|
7
|
+
return {
|
|
8
|
+
type: "node.interrupt",
|
|
9
|
+
run_id: runId,
|
|
10
|
+
timestamp: Date.now(),
|
|
11
|
+
node_id: nodeId,
|
|
12
|
+
node_type: nodeType,
|
|
13
|
+
query,
|
|
14
|
+
...agentSessionId ? { agent_session_id: agentSessionId } : {}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function createWorkflowAskUserEvent(runId, sessionId, nodeId, nodeType, query) {
|
|
18
|
+
return {
|
|
19
|
+
type: "workflow.ask-user",
|
|
20
|
+
run_id: runId,
|
|
21
|
+
timestamp: Date.now(),
|
|
22
|
+
session_id: sessionId,
|
|
23
|
+
node_id: nodeId,
|
|
24
|
+
node_type: nodeType,
|
|
25
|
+
query
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
var AskUserError;
|
|
29
|
+
var init_workflow_hil = __esm(() => {
|
|
30
|
+
AskUserError = class AskUserError extends Error {
|
|
31
|
+
runId;
|
|
32
|
+
sessionId;
|
|
33
|
+
nodeId;
|
|
34
|
+
nodeType;
|
|
35
|
+
query;
|
|
36
|
+
agentSessionId;
|
|
37
|
+
timestamp;
|
|
38
|
+
type = "ask-user";
|
|
39
|
+
name = "AskUserError";
|
|
40
|
+
constructor(runId, sessionId, nodeId, nodeType, query, agentSessionId, timestamp = Date.now()) {
|
|
41
|
+
super(`[${nodeType}:${nodeId}] Ask user: ${query}`);
|
|
42
|
+
this.runId = runId;
|
|
43
|
+
this.sessionId = sessionId;
|
|
44
|
+
this.nodeId = nodeId;
|
|
45
|
+
this.nodeType = nodeType;
|
|
46
|
+
this.query = query;
|
|
47
|
+
this.agentSessionId = agentSessionId;
|
|
48
|
+
this.timestamp = timestamp;
|
|
49
|
+
}
|
|
50
|
+
toEvent() {
|
|
51
|
+
return {
|
|
52
|
+
type: "workflow.ask-user",
|
|
53
|
+
run_id: this.runId,
|
|
54
|
+
timestamp: this.timestamp,
|
|
55
|
+
session_id: this.sessionId,
|
|
56
|
+
node_id: this.nodeId,
|
|
57
|
+
node_type: this.nodeType,
|
|
58
|
+
query: this.query
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
export { createNodeInterruptEvent, createWorkflowAskUserEvent, AskUserError, init_workflow_hil };
|
|
@@ -1,61 +1,10 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
function __accessProp(key) {
|
|
7
|
-
return this[key];
|
|
8
|
-
}
|
|
9
|
-
var __toCommonJS = (from) => {
|
|
10
|
-
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
11
|
-
if (entry)
|
|
12
|
-
return entry;
|
|
13
|
-
entry = __defProp({}, "__esModule", { value: true });
|
|
14
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
-
for (var key of __getOwnPropNames(from))
|
|
16
|
-
if (!__hasOwnProp.call(entry, key))
|
|
17
|
-
__defProp(entry, key, {
|
|
18
|
-
get: __accessProp.bind(from, key),
|
|
19
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
__moduleCache.set(from, entry);
|
|
23
|
-
return entry;
|
|
24
|
-
};
|
|
25
|
-
var __moduleCache;
|
|
26
|
-
var __returnValue = (v) => v;
|
|
27
|
-
function __exportSetter(name, newValue) {
|
|
28
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
29
|
-
}
|
|
30
|
-
var __export = (target, all) => {
|
|
31
|
-
for (var name in all)
|
|
32
|
-
__defProp(target, name, {
|
|
33
|
-
get: all[name],
|
|
34
|
-
enumerable: true,
|
|
35
|
-
configurable: true,
|
|
36
|
-
set: __exportSetter.bind(all, name)
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
var __legacyDecorateClassTS = function(decorators, target, key, desc) {
|
|
40
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
41
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
42
|
-
r = Reflect.decorate(decorators, target, key, desc);
|
|
43
|
-
else
|
|
44
|
-
for (var i = decorators.length - 1;i >= 0; i--)
|
|
45
|
-
if (d = decorators[i])
|
|
46
|
-
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
47
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
48
|
-
};
|
|
49
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
50
|
-
var __require = import.meta.require;
|
|
51
|
-
|
|
52
1
|
// packages/core/src/env/memory/built-in/record-memory.ts
|
|
53
2
|
import { z } from "zod";
|
|
54
3
|
var RecordMemorySchema = z.object({
|
|
55
|
-
scope: z.enum(["project", "global"]).describe("
|
|
56
|
-
mode: z.enum(["append", "prepend", "overwrite", "delete"]).describe("
|
|
57
|
-
content: z.string().optional().describe("
|
|
58
|
-
title: z.string().optional().describe("
|
|
4
|
+
scope: z.enum(["project", "global"]).describe("作用域: project/global"),
|
|
5
|
+
mode: z.enum(["append", "prepend", "overwrite", "delete"]).describe("模式: append(追加)/prepend(插入)/overwrite(覆盖)/delete(删除)"),
|
|
6
|
+
content: z.string().optional().describe("记忆内容"),
|
|
7
|
+
title: z.string().optional().describe("章节标题")
|
|
59
8
|
});
|
|
60
9
|
function createRecordMemoryTool(recordMemory, getMemoryPaths, getMemoryFile) {
|
|
61
10
|
return {
|
|
@@ -76,16 +25,16 @@ function createRecordMemoryTool(recordMemory, getMemoryPaths, getMemoryFile) {
|
|
|
76
25
|
return {
|
|
77
26
|
success: false,
|
|
78
27
|
output: "",
|
|
79
|
-
error: "
|
|
28
|
+
error: "未配置 memory 路径,无法记录记忆",
|
|
80
29
|
metadata: { execution_time_ms: Date.now() - startTime }
|
|
81
30
|
};
|
|
82
31
|
}
|
|
83
32
|
const actionMessages = {
|
|
84
|
-
created: "
|
|
85
|
-
overwrite: "
|
|
86
|
-
append: "
|
|
87
|
-
prepend: "
|
|
88
|
-
delete: "
|
|
33
|
+
created: "已创建记忆文件",
|
|
34
|
+
overwrite: "已覆盖记忆文件",
|
|
35
|
+
append: "已追加内容到记忆文件",
|
|
36
|
+
prepend: "已插入内容到记忆文件开头",
|
|
37
|
+
delete: "已删除记忆文件"
|
|
89
38
|
};
|
|
90
39
|
return {
|
|
91
40
|
success: true,
|
|
@@ -119,17 +68,17 @@ function buildDescription(getMemoryPaths, getMemoryFile) {
|
|
|
119
68
|
"",
|
|
120
69
|
"| Mode | Description |",
|
|
121
70
|
"|------|-------------|",
|
|
122
|
-
"| **append** |
|
|
123
|
-
"| **prepend** |
|
|
124
|
-
"| **overwrite** |
|
|
125
|
-
"| **delete** |
|
|
71
|
+
"| **append** | 追加内容到 ${memoryFile} 尾部 |",
|
|
72
|
+
"| **prepend** | 插入内容到 ${memoryFile} 开头 |",
|
|
73
|
+
"| **overwrite** | 覆盖 ${memoryFile} |",
|
|
74
|
+
"| **delete** | 删除 ${memoryFile} |",
|
|
126
75
|
"",
|
|
127
76
|
`## Parameters`,
|
|
128
77
|
"",
|
|
129
|
-
"- **scope** (required):
|
|
130
|
-
"- **mode** (required):
|
|
131
|
-
"- **content** (optional):
|
|
132
|
-
"- **title** (optional):
|
|
78
|
+
"- **scope** (required): 作用域 - project 或 global",
|
|
79
|
+
"- **mode** (required): 操作模式",
|
|
80
|
+
"- **content** (optional): 记忆内容",
|
|
81
|
+
"- **title** (optional): 章节标题",
|
|
133
82
|
"",
|
|
134
83
|
`## Memory Paths`,
|
|
135
84
|
""
|
|
@@ -149,7 +98,7 @@ function buildDescription(getMemoryPaths, getMemoryFile) {
|
|
|
149
98
|
// packages/core/src/env/memory/built-in/recall-memory.ts
|
|
150
99
|
import { z as z2 } from "zod";
|
|
151
100
|
var RecallMemorySchema = z2.object({
|
|
152
|
-
scope: z2.enum(["project", "global"]).optional().describe("
|
|
101
|
+
scope: z2.enum(["project", "global"]).optional().describe("作用域(可选,不传则读取所有)")
|
|
153
102
|
});
|
|
154
103
|
function createRecallMemoryTool(recallMemory, getMemoryPaths, getMemoryFile) {
|
|
155
104
|
return {
|
|
@@ -194,7 +143,7 @@ function buildDescription2(getMemoryPaths, getMemoryFile) {
|
|
|
194
143
|
"",
|
|
195
144
|
`## Parameters`,
|
|
196
145
|
"",
|
|
197
|
-
"- **scope** (optional):
|
|
146
|
+
"- **scope** (optional): 作用域 - project 或 global(不传则读取所有)",
|
|
198
147
|
"",
|
|
199
148
|
`## Memory Files`,
|
|
200
149
|
""
|
|
@@ -218,8 +167,5 @@ function createMemoryTools(recordMemory, recallMemory, config) {
|
|
|
218
167
|
createRecallMemoryTool(recallMemory, config.getMemoryPaths, config.getMemoryFile)
|
|
219
168
|
];
|
|
220
169
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
RecordMemorySchema,
|
|
224
|
-
RecallMemorySchema
|
|
225
|
-
};
|
|
170
|
+
|
|
171
|
+
export { RecordMemorySchema, RecallMemorySchema, createMemoryTools };
|