@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,419 @@
|
|
|
1
|
+
import {
|
|
2
|
+
init_decorator
|
|
3
|
+
} from "./roy-agent-core-04qgbjbe.js";
|
|
4
|
+
import {
|
|
5
|
+
envKeyToConfigKey
|
|
6
|
+
} from "./roy-agent-core-jv3b7v9w.js";
|
|
7
|
+
import {
|
|
8
|
+
BaseComponent
|
|
9
|
+
} from "./roy-agent-core-m2x48hw6.js";
|
|
10
|
+
import {
|
|
11
|
+
createLogger,
|
|
12
|
+
init_logger,
|
|
13
|
+
setConfigComponent,
|
|
14
|
+
setQuietMode
|
|
15
|
+
} from "./roy-agent-core-yn761yve.js";
|
|
16
|
+
import {
|
|
17
|
+
getTracerProvider,
|
|
18
|
+
init_propagation,
|
|
19
|
+
init_tracer_provider,
|
|
20
|
+
init_types,
|
|
21
|
+
propagation
|
|
22
|
+
} from "./roy-agent-core-1k28kg7h.js";
|
|
23
|
+
import {
|
|
24
|
+
SQLiteSpanStorage,
|
|
25
|
+
init_span_storage
|
|
26
|
+
} from "./roy-agent-core-j8zx62zr.js";
|
|
27
|
+
import {
|
|
28
|
+
__require
|
|
29
|
+
} from "./roy-agent-core-fs0mn2jk.js";
|
|
30
|
+
|
|
31
|
+
// packages/core/src/env/log-trace/index.ts
|
|
32
|
+
init_types();
|
|
33
|
+
init_span_storage();
|
|
34
|
+
|
|
35
|
+
// packages/core/src/env/log-trace/log-trace-component.ts
|
|
36
|
+
init_logger();
|
|
37
|
+
init_tracer_provider();
|
|
38
|
+
init_span_storage();
|
|
39
|
+
import { z } from "zod";
|
|
40
|
+
import { join } from "path";
|
|
41
|
+
|
|
42
|
+
// packages/core/src/env/log-trace/trace-context.ts
|
|
43
|
+
import { AsyncLocalStorage } from "async_hooks";
|
|
44
|
+
var contextStore = new AsyncLocalStorage;
|
|
45
|
+
function createLightweightContext() {
|
|
46
|
+
return new LightweightTraceContext;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
class LightweightTraceContext {
|
|
50
|
+
getRequestId() {
|
|
51
|
+
return contextStore.getStore()?.requestId;
|
|
52
|
+
}
|
|
53
|
+
getSpanContext() {
|
|
54
|
+
return contextStore.getStore()?.spanContext;
|
|
55
|
+
}
|
|
56
|
+
setSpanContext(spanContext) {
|
|
57
|
+
const store = contextStore.getStore();
|
|
58
|
+
if (store) {
|
|
59
|
+
store.spanContext = spanContext;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
runWithContext(fn) {
|
|
63
|
+
const store = contextStore.getStore();
|
|
64
|
+
if (store) {
|
|
65
|
+
return contextStore.run(store, fn);
|
|
66
|
+
}
|
|
67
|
+
return fn();
|
|
68
|
+
}
|
|
69
|
+
runWithNewContext(requestId, sessionId, fn) {
|
|
70
|
+
const context = {
|
|
71
|
+
requestId,
|
|
72
|
+
sessionId,
|
|
73
|
+
timestamp: Date.now(),
|
|
74
|
+
spanContext: {
|
|
75
|
+
traceId: requestId,
|
|
76
|
+
spanId: this.generateSpanId()
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
return contextStore.run(context, fn);
|
|
80
|
+
}
|
|
81
|
+
async runWithContextAsync(fn) {
|
|
82
|
+
const store = contextStore.getStore();
|
|
83
|
+
if (store) {
|
|
84
|
+
return contextStore.run(store, fn);
|
|
85
|
+
}
|
|
86
|
+
return fn();
|
|
87
|
+
}
|
|
88
|
+
async runWithNewContextAsync(requestId, sessionId, fn) {
|
|
89
|
+
const context = {
|
|
90
|
+
requestId,
|
|
91
|
+
sessionId,
|
|
92
|
+
timestamp: Date.now(),
|
|
93
|
+
spanContext: {
|
|
94
|
+
traceId: requestId,
|
|
95
|
+
spanId: this.generateSpanId()
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
return contextStore.run(context, fn);
|
|
99
|
+
}
|
|
100
|
+
generateRequestId() {
|
|
101
|
+
return `req_${Date.now()}_${Math.random().toString(36).slice(2, 11)}`;
|
|
102
|
+
}
|
|
103
|
+
generateSpanId() {
|
|
104
|
+
return `span_${Date.now()}_${Math.random().toString(36).slice(2, 11)}`;
|
|
105
|
+
}
|
|
106
|
+
initContext(requestId, sessionId) {
|
|
107
|
+
const context = {
|
|
108
|
+
requestId,
|
|
109
|
+
sessionId,
|
|
110
|
+
timestamp: Date.now(),
|
|
111
|
+
spanContext: {
|
|
112
|
+
traceId: requestId,
|
|
113
|
+
spanId: this.generateSpanId()
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
contextStore.enterWith(context);
|
|
117
|
+
}
|
|
118
|
+
startNewContext(requestId, sessionId) {
|
|
119
|
+
const context = {
|
|
120
|
+
requestId,
|
|
121
|
+
sessionId,
|
|
122
|
+
timestamp: Date.now(),
|
|
123
|
+
spanContext: {
|
|
124
|
+
traceId: requestId,
|
|
125
|
+
spanId: this.generateSpanId()
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
const previousStore = contextStore.getStore();
|
|
129
|
+
contextStore.enterWith(context);
|
|
130
|
+
return () => {
|
|
131
|
+
contextStore.enterWith(previousStore);
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
var traceContextImpl = null;
|
|
136
|
+
function initTraceContext(options) {
|
|
137
|
+
traceContextImpl = createLightweightContext();
|
|
138
|
+
return traceContextImpl;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// packages/core/src/env/log-trace/log-trace-config-registration.ts
|
|
142
|
+
var LOG_TRACE_DEFAULTS = {
|
|
143
|
+
"log-trace.logging.enabled": true,
|
|
144
|
+
"log-trace.logging.level": "info",
|
|
145
|
+
"log-trace.logging.quiet": false,
|
|
146
|
+
"log-trace.tracing.enabled": true
|
|
147
|
+
};
|
|
148
|
+
var LOG_TRACE_CONFIG_REGISTRATION = {
|
|
149
|
+
name: "log-trace",
|
|
150
|
+
sources: [
|
|
151
|
+
{ type: "env", envPrefix: "LOG_TRACE", priority: 20, watch: false }
|
|
152
|
+
],
|
|
153
|
+
keys: [
|
|
154
|
+
{ key: "log-trace.logging.enabled", sources: ["env", "file"] },
|
|
155
|
+
{ key: "log-trace.logging.level", sources: ["env", "file"] },
|
|
156
|
+
{ key: "log-trace.logging.quiet", sources: ["env", "file"] },
|
|
157
|
+
{ key: "log-trace.logging.dir", sources: ["env", "file"] },
|
|
158
|
+
{ key: "log-trace.logging.file", sources: ["env", "file"] },
|
|
159
|
+
{ key: "log-trace.logging.maxOutput", sources: ["env", "file"] },
|
|
160
|
+
{ key: "log-trace.tracing.enabled", sources: ["env", "file"] },
|
|
161
|
+
{ key: "log-trace.tracing.dbPath", sources: ["env", "file"] }
|
|
162
|
+
]
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
// packages/core/src/env/log-trace/log-trace-component.ts
|
|
166
|
+
function getDefaultDataDir() {
|
|
167
|
+
try {
|
|
168
|
+
const xdg = __require("xdg-basedir");
|
|
169
|
+
if (xdg.xdgData) {
|
|
170
|
+
return xdg.xdgData;
|
|
171
|
+
}
|
|
172
|
+
} catch {}
|
|
173
|
+
const home = process.env.HOME || process.env.USERPROFILE || "/tmp";
|
|
174
|
+
return join(home, ".local", "share");
|
|
175
|
+
}
|
|
176
|
+
function getDefaultLogDir() {
|
|
177
|
+
return join(getDefaultDataDir(), "roy-agent", "logs");
|
|
178
|
+
}
|
|
179
|
+
function getDefaultSpanDbPath() {
|
|
180
|
+
return join(getDefaultDataDir(), "roy-agent", "traces.db");
|
|
181
|
+
}
|
|
182
|
+
var LogTraceConfigSchema = z.object({
|
|
183
|
+
logging: z.object({
|
|
184
|
+
enabled: z.boolean().default(true),
|
|
185
|
+
level: z.enum(["debug", "info", "warn", "error"]).default("info"),
|
|
186
|
+
quiet: z.boolean().default(false),
|
|
187
|
+
file: z.string().default("app.log"),
|
|
188
|
+
dir: z.string().default(getDefaultLogDir()),
|
|
189
|
+
maxOutput: z.number().default(0)
|
|
190
|
+
}).default({}),
|
|
191
|
+
tracing: z.object({
|
|
192
|
+
enabled: z.boolean().default(true),
|
|
193
|
+
dbPath: z.string().optional()
|
|
194
|
+
}).default({}),
|
|
195
|
+
initContext: z.object({
|
|
196
|
+
requestId: z.string().optional(),
|
|
197
|
+
sessionId: z.string().optional()
|
|
198
|
+
}).optional()
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
class LogTraceComponent extends BaseComponent {
|
|
202
|
+
name = "log-trace";
|
|
203
|
+
version = "1.0.0";
|
|
204
|
+
config;
|
|
205
|
+
configComponent;
|
|
206
|
+
tracer;
|
|
207
|
+
traceContext;
|
|
208
|
+
configWatcher;
|
|
209
|
+
constructor() {
|
|
210
|
+
super();
|
|
211
|
+
}
|
|
212
|
+
async init(config) {
|
|
213
|
+
await super.init(config);
|
|
214
|
+
const options = config.options;
|
|
215
|
+
if (!options?.configComponent) {
|
|
216
|
+
throw new Error("ConfigComponent is required for LogTraceComponent initialization");
|
|
217
|
+
}
|
|
218
|
+
this.configComponent = options.configComponent;
|
|
219
|
+
await this.registerConfig(options);
|
|
220
|
+
this.traceContext = initTraceContext();
|
|
221
|
+
const provider = getTracerProvider();
|
|
222
|
+
const _unused = provider;
|
|
223
|
+
await provider.initialize();
|
|
224
|
+
this.tracer = provider.getTracer("roy-tracer");
|
|
225
|
+
this.configureLogging();
|
|
226
|
+
if (this.config?.initContext?.requestId) {
|
|
227
|
+
this.traceContext.initContext(this.config.initContext.requestId, this.config.initContext.sessionId);
|
|
228
|
+
}
|
|
229
|
+
this.setStatus("running");
|
|
230
|
+
}
|
|
231
|
+
async registerConfig(options) {
|
|
232
|
+
const configComponent = options.configComponent;
|
|
233
|
+
if (!configComponent)
|
|
234
|
+
return;
|
|
235
|
+
const { configPath, envPrefix, config } = options;
|
|
236
|
+
const prefix = envPrefix !== undefined ? envPrefix : "LOG_TRACE";
|
|
237
|
+
configComponent.registerComponent(LOG_TRACE_CONFIG_REGISTRATION);
|
|
238
|
+
if (configPath) {
|
|
239
|
+
configComponent.registerSource({
|
|
240
|
+
type: "file",
|
|
241
|
+
relativePath: configPath,
|
|
242
|
+
optional: true,
|
|
243
|
+
watch: false
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
configComponent.registerSource({
|
|
247
|
+
type: "env",
|
|
248
|
+
envPrefix: prefix,
|
|
249
|
+
priority: 20,
|
|
250
|
+
watch: false
|
|
251
|
+
});
|
|
252
|
+
await configComponent.load("log-trace");
|
|
253
|
+
for (const envKey of Object.keys(process.env)) {
|
|
254
|
+
const configKey = envKeyToConfigKey(envKey, prefix, "log-trace");
|
|
255
|
+
if (!configKey)
|
|
256
|
+
continue;
|
|
257
|
+
const value = process.env[envKey];
|
|
258
|
+
if (value !== undefined) {
|
|
259
|
+
await configComponent.set(configKey, value);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
for (const [key, value] of Object.entries(LOG_TRACE_DEFAULTS)) {
|
|
263
|
+
if (configComponent.get(key) === undefined) {
|
|
264
|
+
await configComponent.set(key, value);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
if (configComponent.get("log-trace.logging.dir") === undefined) {
|
|
268
|
+
await configComponent.set("log-trace.logging.dir", getDefaultLogDir());
|
|
269
|
+
}
|
|
270
|
+
if (configComponent.get("log-trace.logging.file") === undefined) {
|
|
271
|
+
await configComponent.set("log-trace.logging.file", "app.log");
|
|
272
|
+
}
|
|
273
|
+
if (configComponent.get("log-trace.logging.maxOutput") === undefined) {
|
|
274
|
+
await configComponent.set("log-trace.logging.maxOutput", 0);
|
|
275
|
+
}
|
|
276
|
+
if (configComponent.get("log-trace.tracing.dbPath") === undefined) {
|
|
277
|
+
await configComponent.set("log-trace.tracing.dbPath", getDefaultSpanDbPath());
|
|
278
|
+
}
|
|
279
|
+
if (config) {
|
|
280
|
+
const flatConfig = this.flattenConfig(config);
|
|
281
|
+
for (const [key, value] of Object.entries(flatConfig)) {
|
|
282
|
+
await configComponent.set(key, value);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
this.registerConfigWatcher(configComponent);
|
|
286
|
+
setConfigComponent(configComponent);
|
|
287
|
+
const tracingDbPath = configComponent.get("log-trace.tracing.dbPath");
|
|
288
|
+
this.config = {
|
|
289
|
+
logging: {
|
|
290
|
+
enabled: configComponent.get("log-trace.logging.enabled") ?? true,
|
|
291
|
+
level: configComponent.get("log-trace.logging.level") ?? "info",
|
|
292
|
+
quiet: configComponent.get("log-trace.logging.quiet") ?? false,
|
|
293
|
+
file: configComponent.get("log-trace.logging.file") ?? "app.log",
|
|
294
|
+
dir: configComponent.get("log-trace.logging.dir") ?? getDefaultLogDir(),
|
|
295
|
+
maxOutput: configComponent.get("log-trace.logging.maxOutput") ?? 0
|
|
296
|
+
},
|
|
297
|
+
tracing: {
|
|
298
|
+
enabled: configComponent.get("log-trace.tracing.enabled") ?? true,
|
|
299
|
+
dbPath: tracingDbPath ?? getDefaultSpanDbPath()
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
flattenConfig(obj, prefix = "log-trace") {
|
|
304
|
+
const result = {};
|
|
305
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
306
|
+
const fullKey = `${prefix}.${key}`;
|
|
307
|
+
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
308
|
+
Object.assign(result, this.flattenConfig(value, fullKey));
|
|
309
|
+
} else {
|
|
310
|
+
result[fullKey] = value;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
return result;
|
|
314
|
+
}
|
|
315
|
+
registerConfigWatcher(configComponent) {
|
|
316
|
+
if (typeof configComponent.watch !== "function") {
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
this.configWatcher = configComponent.watch("log-trace.*", (event) => {
|
|
320
|
+
this.onConfigChange(event);
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
onConfigChange(event) {
|
|
324
|
+
if (event.key === "log-trace.logging.quiet") {
|
|
325
|
+
setQuietMode(event.newValue);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
createStorage() {
|
|
329
|
+
if (this.configComponent) {
|
|
330
|
+
const dbPath = this.configComponent.get("log-trace.tracing.dbPath");
|
|
331
|
+
if (dbPath) {
|
|
332
|
+
return new SQLiteSpanStorage(dbPath);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
if (this.config?.tracing?.dbPath) {
|
|
336
|
+
return new SQLiteSpanStorage(this.config.tracing.dbPath);
|
|
337
|
+
}
|
|
338
|
+
return new SQLiteSpanStorage(getDefaultSpanDbPath());
|
|
339
|
+
}
|
|
340
|
+
configureLogging() {
|
|
341
|
+
if (!this.config?.logging)
|
|
342
|
+
return;
|
|
343
|
+
if (this.config.logging.quiet) {
|
|
344
|
+
setQuietMode(true);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
initContext(requestId, sessionId) {
|
|
348
|
+
if (!this.traceContext) {
|
|
349
|
+
throw new Error("Component not initialized");
|
|
350
|
+
}
|
|
351
|
+
this.traceContext.initContext(requestId, sessionId);
|
|
352
|
+
}
|
|
353
|
+
startContext(requestId, sessionId) {
|
|
354
|
+
if (!this.traceContext) {
|
|
355
|
+
throw new Error("Component not initialized");
|
|
356
|
+
}
|
|
357
|
+
return this.traceContext.startNewContext(requestId, sessionId);
|
|
358
|
+
}
|
|
359
|
+
getLogger(prefix) {
|
|
360
|
+
return createLogger(prefix || "app");
|
|
361
|
+
}
|
|
362
|
+
getTracer() {
|
|
363
|
+
if (!this.tracer) {
|
|
364
|
+
throw new Error("Component not initialized");
|
|
365
|
+
}
|
|
366
|
+
return this.tracer;
|
|
367
|
+
}
|
|
368
|
+
getTraceContext() {
|
|
369
|
+
return this.traceContext;
|
|
370
|
+
}
|
|
371
|
+
getRequestId() {
|
|
372
|
+
return this.traceContext?.getRequestId();
|
|
373
|
+
}
|
|
374
|
+
async onStop() {
|
|
375
|
+
this.configWatcher?.();
|
|
376
|
+
this.configWatcher = undefined;
|
|
377
|
+
this.tracer = undefined;
|
|
378
|
+
this.setStatus("stopped");
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
// packages/core/src/env/log-trace/index.ts
|
|
383
|
+
init_tracer_provider();
|
|
384
|
+
init_propagation();
|
|
385
|
+
|
|
386
|
+
// packages/core/src/env/log-trace/opentelemetry/propagation-env.ts
|
|
387
|
+
init_propagation();
|
|
388
|
+
init_tracer_provider();
|
|
389
|
+
function injectToEnv(env = {}) {
|
|
390
|
+
const provider = getTracerProvider();
|
|
391
|
+
const tracer = provider.getTracer("roy-tracer");
|
|
392
|
+
tracer.injectToEnv(env);
|
|
393
|
+
return env;
|
|
394
|
+
}
|
|
395
|
+
function injectToEnvWithContext(env, context) {
|
|
396
|
+
propagation.inject(env, context);
|
|
397
|
+
return env;
|
|
398
|
+
}
|
|
399
|
+
function injectToEnvFromCarrier(target, source) {
|
|
400
|
+
const extracted = propagation.extract(source);
|
|
401
|
+
if (extracted) {
|
|
402
|
+
const context = {
|
|
403
|
+
traceId: extracted.traceId,
|
|
404
|
+
spanId: extracted.spanId,
|
|
405
|
+
parentSpanId: undefined
|
|
406
|
+
};
|
|
407
|
+
propagation.inject(target, context);
|
|
408
|
+
}
|
|
409
|
+
return target;
|
|
410
|
+
}
|
|
411
|
+
function getTraceparentHeader() {
|
|
412
|
+
return propagation.getTraceparentHeader();
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
// packages/core/src/env/log-trace/index.ts
|
|
416
|
+
init_logger();
|
|
417
|
+
init_decorator();
|
|
418
|
+
|
|
419
|
+
export { getDefaultLogDir, getDefaultSpanDbPath, LogTraceConfigSchema, LogTraceComponent, injectToEnv, injectToEnvWithContext, injectToEnvFromCarrier, getTraceparentHeader };
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__esm,
|
|
3
|
+
__export
|
|
4
|
+
} from "./roy-agent-core-fs0mn2jk.js";
|
|
5
|
+
|
|
6
|
+
// packages/core/src/env/session/search-query-parser.ts
|
|
7
|
+
var exports_search_query_parser = {};
|
|
8
|
+
__export(exports_search_query_parser, {
|
|
9
|
+
parseSearchQuery: () => parseSearchQuery,
|
|
10
|
+
matchesQuery: () => matchesQuery
|
|
11
|
+
});
|
|
12
|
+
function parseSearchQuery(query) {
|
|
13
|
+
const result = {
|
|
14
|
+
required: [],
|
|
15
|
+
excluded: [],
|
|
16
|
+
phrases: []
|
|
17
|
+
};
|
|
18
|
+
if (!query || !query.trim()) {
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
const phraseRegex = /"([^"]+)"/g;
|
|
22
|
+
let match;
|
|
23
|
+
while ((match = phraseRegex.exec(query)) !== null) {
|
|
24
|
+
result.phrases.push(match[1].toLowerCase());
|
|
25
|
+
}
|
|
26
|
+
query = query.replace(phraseRegex, "");
|
|
27
|
+
query = query.replace(/\s+/g, " ").trim();
|
|
28
|
+
if (!query) {
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
const parts = [];
|
|
32
|
+
let remaining = query;
|
|
33
|
+
const singleOpRegex = /\s+(AND|OR|NOT)\s+/gi;
|
|
34
|
+
let opMatch;
|
|
35
|
+
while ((opMatch = singleOpRegex.exec(remaining)) !== null) {
|
|
36
|
+
const op = opMatch[1].toUpperCase();
|
|
37
|
+
const beforeText = remaining.slice(0, opMatch.index).trim();
|
|
38
|
+
if (beforeText) {
|
|
39
|
+
parts.push({ text: beforeText, operator: undefined });
|
|
40
|
+
}
|
|
41
|
+
parts.push({ text: op, operator: op });
|
|
42
|
+
remaining = remaining.slice(opMatch.index + opMatch[0].length);
|
|
43
|
+
singleOpRegex.lastIndex = 0;
|
|
44
|
+
}
|
|
45
|
+
if (remaining.trim()) {
|
|
46
|
+
parts.push({ text: remaining.trim(), operator: undefined });
|
|
47
|
+
}
|
|
48
|
+
let currentOperator = "AND";
|
|
49
|
+
for (const part of parts) {
|
|
50
|
+
if (part.operator) {
|
|
51
|
+
currentOperator = part.operator;
|
|
52
|
+
} else {
|
|
53
|
+
const wordRegex = /[\w\u4e00-\u9fff\u3040-\u309f\u30a0-\u30ff]+/gu;
|
|
54
|
+
const words = part.text.match(wordRegex) || [];
|
|
55
|
+
for (const word of words) {
|
|
56
|
+
const lowerWord = word.toLowerCase();
|
|
57
|
+
if (lowerWord === "and" || lowerWord === "or" || lowerWord === "not") {
|
|
58
|
+
currentOperator = lowerWord.toUpperCase();
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (currentOperator === "NOT") {
|
|
62
|
+
if (!result.excluded.includes(lowerWord)) {
|
|
63
|
+
result.excluded.push(lowerWord);
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
if (!result.required.includes(lowerWord)) {
|
|
67
|
+
result.required.push(lowerWord);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
currentOperator = "AND";
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
function matchesQuery(content, query) {
|
|
77
|
+
if (!content) {
|
|
78
|
+
return query.required.length === 0 && query.phrases.length === 0;
|
|
79
|
+
}
|
|
80
|
+
const lowerContent = content.toLowerCase();
|
|
81
|
+
for (const term of query.excluded) {
|
|
82
|
+
if (lowerContent.includes(term.toLowerCase())) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
for (const phrase of query.phrases) {
|
|
87
|
+
if (!lowerContent.includes(phrase)) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (query.required.length > 0) {
|
|
92
|
+
for (const term of query.required) {
|
|
93
|
+
if (!lowerContent.includes(term)) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
var init_search_query_parser = () => {};
|
|
101
|
+
|
|
102
|
+
export { parseSearchQuery, matchesQuery, exports_search_query_parser, init_search_query_parser };
|
|
@@ -1,54 +1,3 @@
|
|
|
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/task/tools/task-types.ts
|
|
53
2
|
import { z } from "zod";
|
|
54
3
|
var CreateTaskToolSchema = z.object({
|
|
@@ -334,11 +283,4 @@ function completeTaskTool(taskComponent) {
|
|
|
334
283
|
}
|
|
335
284
|
};
|
|
336
285
|
}
|
|
337
|
-
export {
|
|
338
|
-
updateTaskTool,
|
|
339
|
-
listTasksTool,
|
|
340
|
-
getTaskTool,
|
|
341
|
-
deleteTaskTool,
|
|
342
|
-
createTaskTool,
|
|
343
|
-
completeTaskTool
|
|
344
|
-
};
|
|
286
|
+
export { createTaskTool, getTaskTool, listTasksTool, updateTaskTool, deleteTaskTool, completeTaskTool };
|