@ai-setting/roy-agent-core 1.7.61 → 1.7.62
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 +8 -8
- package/dist/env/agent/agent-component.js +41 -0
- package/dist/env/agent/index.js +18 -16
- package/dist/env/commands/index.js +8 -8
- package/dist/env/context/index.js +4 -4
- package/dist/env/debug/index.js +8 -8
- package/dist/env/error-reply.js +18 -0
- package/dist/env/event-source/cli-command-handler.js +17 -0
- package/dist/env/event-source/event-source-handlers.js +58 -0
- package/dist/env/event-source/event-store.js +18 -0
- package/dist/env/event-source/idempotency-key.js +20 -0
- package/dist/env/event-source/index.js +30 -25
- package/dist/env/hook/index.js +6 -6
- package/dist/env/index.js +52 -46
- package/dist/env/lark-mention-utils.js +9 -0
- package/dist/env/llm/index.js +9 -9
- package/dist/env/log-trace/index.js +8 -8
- package/dist/env/log-trace/logger.js +39 -0
- package/dist/env/mcp/index.js +9 -9
- package/dist/env/mcp/tool/index.js +2 -2
- package/dist/env/memory/index.js +9 -9
- package/dist/env/memory/plugin/index.js +2 -2
- package/dist/env/plugin/index.js +9 -9
- package/dist/env/prompt/index.js +8 -8
- package/dist/env/session/index.js +11 -11
- package/dist/env/session/storage/index.js +5 -5
- package/dist/env/skill/index.js +8 -8
- package/dist/env/task/delegate/delegate-tool.js +42 -0
- package/dist/env/task/delegate/index.js +13 -11
- package/dist/env/task/index.js +16 -15
- package/dist/env/task/mcp/index.js +4 -4
- package/dist/env/task/plugins/index.js +11 -11
- package/dist/env/task/plugins/lark-card-patch-notifier.js +42 -0
- package/dist/env/task/storage/index.js +4 -4
- package/dist/env/task/tools/index.js +4 -4
- package/dist/env/tool/built-in/index.js +4 -4
- package/dist/env/tool/index.js +12 -11
- package/dist/env/tool/types.js +1 -0
- package/dist/env/workflow/engine/index.js +13 -13
- package/dist/env/workflow/hooks/index.js +8 -8
- package/dist/env/workflow/index.js +23 -23
- package/dist/env/workflow/nodes/index.js +3 -3
- package/dist/env/workflow/plugins/index.js +9 -9
- package/dist/env/workflow/service/index.js +3 -3
- package/dist/env/workflow/storage/index.js +4 -4
- package/dist/env/workflow/tools/index.js +15 -15
- package/dist/env/workflow/utils/index.js +5 -5
- package/dist/index.js +70 -62
- package/dist/shared/@ai-setting/{roy-agent-core-dythsgkn.js → roy-agent-core-06jakebr.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-jsn21cb9.js → roy-agent-core-084zthqx.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-x1m0gs0q.js → roy-agent-core-2hkyp51n.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-q212q0w1.js → roy-agent-core-2pma868e.js} +4 -4
- package/dist/shared/@ai-setting/{roy-agent-core-vmfk4m1v.js → roy-agent-core-2veqhrxa.js} +3 -3
- package/dist/shared/@ai-setting/{roy-agent-core-mw0bc9g6.js → roy-agent-core-32ck9rqt.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-bdzdw1g3.js → roy-agent-core-33hn1beg.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-2qkrpc7m.js → roy-agent-core-386wa4wy.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-rnzm0tpf.js → roy-agent-core-48h4zh60.js} +4 -4
- package/dist/shared/@ai-setting/{roy-agent-core-yr5eqyhz.js → roy-agent-core-5bj0xfjk.js} +13 -27
- package/dist/shared/@ai-setting/{roy-agent-core-khc23qs1.js → roy-agent-core-5mrynf9g.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-y0k9kaxz.js → roy-agent-core-6awgfh3x.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-ygfjgk9b.js → roy-agent-core-6wxww10t.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-xc0es9zc.js → roy-agent-core-79gyka2q.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-expvav8a.js → roy-agent-core-7tce05jt.js} +1 -1
- package/dist/shared/@ai-setting/roy-agent-core-9nvyffxg.js +414 -0
- package/dist/shared/@ai-setting/{roy-agent-core-m2tv4pj0.js → roy-agent-core-9qgrc9dy.js} +158 -158
- package/dist/shared/@ai-setting/{roy-agent-core-z51jktet.js → roy-agent-core-a08dpf71.js} +17 -2
- package/dist/shared/@ai-setting/{roy-agent-core-22r4zmkw.js → roy-agent-core-a6cz4d23.js} +3 -3
- package/dist/shared/@ai-setting/{roy-agent-core-0f989bnp.js → roy-agent-core-anb53t3v.js} +3 -3
- package/dist/shared/@ai-setting/{roy-agent-core-ymcvsdzn.js → roy-agent-core-as0dd70m.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-nd5171pv.js → roy-agent-core-bpvz1dqr.js} +8 -8
- package/dist/shared/@ai-setting/{roy-agent-core-aa514zm8.js → roy-agent-core-c4t4y18j.js} +5 -5
- package/dist/shared/@ai-setting/{roy-agent-core-sf9tsj0g.js → roy-agent-core-c57278kx.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-e6k448ka.js → roy-agent-core-c8xvy6hj.js} +4 -4
- package/dist/shared/@ai-setting/{roy-agent-core-gtb4fj8j.js → roy-agent-core-cqpd41gf.js} +12 -10
- package/dist/shared/@ai-setting/{roy-agent-core-qgapy83x.js → roy-agent-core-cxpgd415.js} +6 -6
- package/dist/shared/@ai-setting/{roy-agent-core-g44nbgtt.js → roy-agent-core-dfqhc9ey.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-cndvj1hv.js → roy-agent-core-fqandv0a.js} +9 -107
- package/dist/shared/@ai-setting/{roy-agent-core-4m5spt7m.js → roy-agent-core-fr296a53.js} +5 -5
- package/dist/shared/@ai-setting/{roy-agent-core-3p59ap0x.js → roy-agent-core-gc6wcd7z.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-s7w47mnn.js → roy-agent-core-gjsvehfs.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-9s3payp1.js → roy-agent-core-gtdtzbs7.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-jrksyqb6.js → roy-agent-core-gz2jnaan.js} +7 -7
- package/dist/shared/@ai-setting/{roy-agent-core-6cyjps72.js → roy-agent-core-h3fwjbhp.js} +14 -14
- package/dist/shared/@ai-setting/{roy-agent-core-mhppywse.js → roy-agent-core-hczj1ryh.js} +4 -4
- package/dist/shared/@ai-setting/{roy-agent-core-qrjs2500.js → roy-agent-core-hfyxv2kx.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-dg286rpd.js → roy-agent-core-hwkc0bg2.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-bc3v8pw4.js → roy-agent-core-ja4sr63d.js} +6 -6
- package/dist/shared/@ai-setting/roy-agent-core-jagkferh.js +16 -0
- package/dist/shared/@ai-setting/roy-agent-core-jm136jzh.js +99 -0
- package/dist/shared/@ai-setting/{roy-agent-core-g5sw19fa.js → roy-agent-core-jw63js86.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-8fy467qs.js → roy-agent-core-kmvw6b4v.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-3bpntd80.js → roy-agent-core-kvq4a4p6.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-yd85623y.js → roy-agent-core-m3w3ytxt.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-64f22h1g.js → roy-agent-core-m880qz3y.js} +7 -1
- package/dist/shared/@ai-setting/{roy-agent-core-5knpegzr.js → roy-agent-core-mbwaxqs0.js} +3 -3
- package/dist/shared/@ai-setting/{roy-agent-core-tn96n4wz.js → roy-agent-core-mkpsz128.js} +4 -4
- package/dist/shared/@ai-setting/{roy-agent-core-9k8ms63r.js → roy-agent-core-mrrv80jy.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-ytnedzks.js → roy-agent-core-nmn853z0.js} +333 -1332
- package/dist/shared/@ai-setting/roy-agent-core-p37kh0kt.js +155 -0
- package/dist/shared/@ai-setting/{roy-agent-core-60p2380d.js → roy-agent-core-p6a4v4fq.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-hf0t8agb.js → roy-agent-core-p8rf4z89.js} +1 -1
- package/dist/shared/@ai-setting/roy-agent-core-pnj0zh25.js +0 -0
- package/dist/shared/@ai-setting/{roy-agent-core-dp1hp24k.js → roy-agent-core-prnry2mw.js} +3 -3
- package/dist/shared/@ai-setting/{roy-agent-core-qw5fpa24.js → roy-agent-core-qmqe8ds3.js} +3 -3
- package/dist/shared/@ai-setting/{roy-agent-core-j0x9yf96.js → roy-agent-core-sj4y3wdm.js} +3 -3
- package/dist/shared/@ai-setting/{roy-agent-core-xeqp659x.js → roy-agent-core-th92f833.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-ajmgyawx.js → roy-agent-core-v7mwj8eq.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-5565cvw8.js → roy-agent-core-vvb4cyyy.js} +5 -5
- package/dist/shared/@ai-setting/{roy-agent-core-qpqqx1wd.js → roy-agent-core-vwzan9v0.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-pj5tfmn5.js → roy-agent-core-w2ev3z5q.js} +12 -14
- package/dist/shared/@ai-setting/roy-agent-core-w2h6xt6k.js +473 -0
- package/dist/shared/@ai-setting/{roy-agent-core-kfmrfaft.js → roy-agent-core-wzp4tbsn.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-jsdqzfbj.js → roy-agent-core-x1d6edkh.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-n1ck0x1r.js → roy-agent-core-ye4bfzqg.js} +11 -11
- package/dist/shared/@ai-setting/{roy-agent-core-p2dpcyrz.js → roy-agent-core-zjgckbdd.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-a5nh5q6v.js → roy-agent-core-zy8vkbnk.js} +1 -1
- package/dist/test-utils/child-process-mock.js +23 -0
- package/dist/utils/temp-file-manager/index.js +2 -2
- package/package.json +61 -1
|
@@ -7,16 +7,168 @@ import {
|
|
|
7
7
|
embedResultFilter,
|
|
8
8
|
init_decorator,
|
|
9
9
|
init_trace_filters
|
|
10
|
-
} from "./roy-agent-core-
|
|
10
|
+
} from "./roy-agent-core-386wa4wy.js";
|
|
11
11
|
import {
|
|
12
12
|
createLogger,
|
|
13
13
|
init_logger
|
|
14
|
-
} from "./roy-agent-core-
|
|
14
|
+
} from "./roy-agent-core-6awgfh3x.js";
|
|
15
15
|
import {
|
|
16
16
|
__legacyDecorateClassTS,
|
|
17
17
|
__require
|
|
18
18
|
} from "./roy-agent-core-fs0mn2jk.js";
|
|
19
19
|
|
|
20
|
+
// src/env/llm/tool-args-parser.ts
|
|
21
|
+
init_logger();
|
|
22
|
+
var logger = createLogger("llm:tool-args-parser");
|
|
23
|
+
var ARG_KEY_RE = /<arg_key>([\s\S]*?)<\/arg_key>\s*<arg_value>([\s\S]*?)<\/arg_value>/g;
|
|
24
|
+
function salvageTextualToolArgs(raw) {
|
|
25
|
+
if (!raw.includes("<arg_key>"))
|
|
26
|
+
return;
|
|
27
|
+
const out = {};
|
|
28
|
+
let matched = false;
|
|
29
|
+
ARG_KEY_RE.lastIndex = 0;
|
|
30
|
+
let m;
|
|
31
|
+
while ((m = ARG_KEY_RE.exec(raw)) !== null) {
|
|
32
|
+
const key = m[1].trim();
|
|
33
|
+
if (!key)
|
|
34
|
+
continue;
|
|
35
|
+
const value = m[2];
|
|
36
|
+
try {
|
|
37
|
+
out[key] = JSON.parse(value);
|
|
38
|
+
} catch {
|
|
39
|
+
out[key] = value;
|
|
40
|
+
}
|
|
41
|
+
matched = true;
|
|
42
|
+
}
|
|
43
|
+
return matched ? out : undefined;
|
|
44
|
+
}
|
|
45
|
+
function stripTextualToolArgsMarkers(raw) {
|
|
46
|
+
return raw.replace(/<\/?arg_key>/g, "").replace(/<\/?arg_value>/g, "").replace(/<\/?tool_call>/g, "");
|
|
47
|
+
}
|
|
48
|
+
function parseToolArgsStrict(args) {
|
|
49
|
+
if (args && typeof args === "object" && !Array.isArray(args)) {
|
|
50
|
+
return { ok: true, args };
|
|
51
|
+
}
|
|
52
|
+
if (typeof args !== "string") {
|
|
53
|
+
return {
|
|
54
|
+
ok: false,
|
|
55
|
+
args: {},
|
|
56
|
+
error: `tool arguments must be a JSON object, got ${args === null ? "null" : typeof args}`
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
const raw = args.trim();
|
|
60
|
+
if (raw.length === 0) {
|
|
61
|
+
return { ok: true, args: {} };
|
|
62
|
+
}
|
|
63
|
+
const direct = tryParseObject(raw);
|
|
64
|
+
if (direct.ok) {
|
|
65
|
+
if (raw.includes("<arg_key>") || raw.includes("<arg_value>") || raw.includes("<tool_call>")) {
|
|
66
|
+
logger.warn("[parseToolArgsStrict] arguments 里出现上游文本工具调用标记,已清洗值中的 marker");
|
|
67
|
+
return { ok: true, args: sanitizeArgValues(direct.args), salvaged: true };
|
|
68
|
+
}
|
|
69
|
+
return { ok: true, args: direct.args };
|
|
70
|
+
}
|
|
71
|
+
if (raw.includes("<arg_key>") || raw.includes("<arg_value>")) {
|
|
72
|
+
const stripped = stripTextualToolArgsMarkers(raw);
|
|
73
|
+
const afterStrip = tryParseObject(stripped);
|
|
74
|
+
if (afterStrip.ok) {
|
|
75
|
+
logger.warn("[parseToolArgsStrict] 上游把文本工具调用标记混进了 arguments,已剥离 marker 后恢复");
|
|
76
|
+
return { ok: true, args: afterStrip.args, salvaged: true };
|
|
77
|
+
}
|
|
78
|
+
const salvaged = salvageTextualToolArgs(raw);
|
|
79
|
+
if (salvaged) {
|
|
80
|
+
logger.warn("[parseToolArgsStrict] 上游输出的是文本工具调用格式,已按 <arg_key>/<arg_value> 重建参数", { keys: Object.keys(salvaged).join(",") });
|
|
81
|
+
return { ok: true, args: salvaged, salvaged: true };
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
const nested = tryParseObject(raw);
|
|
85
|
+
if (!nested.ok && raw.length > 1) {
|
|
86
|
+
const rec = safeParseToolArgs(raw);
|
|
87
|
+
if (Object.keys(rec).length > 0) {
|
|
88
|
+
return { ok: true, args: rec, salvaged: true };
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
ok: false,
|
|
93
|
+
args: {},
|
|
94
|
+
error: "tool arguments 不是合法 JSON(上游模型输出可能已损坏)。请重新调用该工具,确保 arguments 是合法 JSON 对象。" + ` 原始片段:${raw.slice(0, 200)}`
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function sanitizeArgValues(args) {
|
|
98
|
+
const clean = (v) => {
|
|
99
|
+
if (typeof v === "string")
|
|
100
|
+
return stripTextualToolArgsMarkers(v);
|
|
101
|
+
if (Array.isArray(v))
|
|
102
|
+
return v.map(clean);
|
|
103
|
+
if (v && typeof v === "object") {
|
|
104
|
+
const out = {};
|
|
105
|
+
for (const [k, val] of Object.entries(v)) {
|
|
106
|
+
out[k] = clean(val);
|
|
107
|
+
}
|
|
108
|
+
return out;
|
|
109
|
+
}
|
|
110
|
+
return v;
|
|
111
|
+
};
|
|
112
|
+
return clean(args);
|
|
113
|
+
}
|
|
114
|
+
function tryParseObject(raw) {
|
|
115
|
+
try {
|
|
116
|
+
const parsed = JSON.parse(raw);
|
|
117
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
118
|
+
return { ok: true, args: parsed };
|
|
119
|
+
}
|
|
120
|
+
if (typeof parsed === "string") {
|
|
121
|
+
const twice = JSON.parse(parsed);
|
|
122
|
+
if (twice && typeof twice === "object" && !Array.isArray(twice)) {
|
|
123
|
+
return { ok: true, args: twice };
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return { ok: false };
|
|
127
|
+
} catch {
|
|
128
|
+
return { ok: false };
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
var MAX_SAFE_DEPTH = 5;
|
|
132
|
+
function safeParseToolArgs(args, depth = 0) {
|
|
133
|
+
if (depth >= MAX_SAFE_DEPTH) {
|
|
134
|
+
logger.warn(`[safeParseToolArgs] Max recursion depth (${MAX_SAFE_DEPTH}) exceeded at depth ${depth}. ` + "Input may be malicious or abnormally deeply nested. Returning empty object.", { depth, argsType: typeof args });
|
|
135
|
+
return {};
|
|
136
|
+
}
|
|
137
|
+
if (typeof args === "object" && args !== null && !Array.isArray(args)) {
|
|
138
|
+
return args;
|
|
139
|
+
}
|
|
140
|
+
if (Array.isArray(args)) {
|
|
141
|
+
logger.debug(`[safeParseToolArgs] Input is an array. Tool arguments should be objects. Returning empty object.`, { depth, arrayLength: args.length });
|
|
142
|
+
return {};
|
|
143
|
+
}
|
|
144
|
+
if (typeof args === "string") {
|
|
145
|
+
try {
|
|
146
|
+
const parsed = JSON.parse(args);
|
|
147
|
+
if (typeof parsed === "string") {
|
|
148
|
+
logger.debug(`[safeParseToolArgs] Detected double/multi-stringified JSON at depth ${depth}. ` + "LLM may be double-stringifying tool arguments. Parsing recursively.", { depth, parsedLength: parsed.length });
|
|
149
|
+
return safeParseToolArgs(parsed, depth + 1);
|
|
150
|
+
}
|
|
151
|
+
if (typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)) {
|
|
152
|
+
return parsed;
|
|
153
|
+
}
|
|
154
|
+
if (Array.isArray(parsed)) {
|
|
155
|
+
logger.debug(`[safeParseToolArgs] Parsed result is an array at depth ${depth}. ` + "Tool arguments should be objects, not arrays. Returning empty object.", { depth, parsedLength: parsed.length });
|
|
156
|
+
return {};
|
|
157
|
+
}
|
|
158
|
+
return { value: parsed };
|
|
159
|
+
} catch (e) {
|
|
160
|
+
logger.warn(`[safeParseToolArgs] JSON.parse failed at depth ${depth}`, {
|
|
161
|
+
parse_failed: true,
|
|
162
|
+
input_length: args.length,
|
|
163
|
+
depth,
|
|
164
|
+
error: e.message
|
|
165
|
+
});
|
|
166
|
+
return {};
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return {};
|
|
170
|
+
}
|
|
171
|
+
|
|
20
172
|
// src/env/llm/opencode-session.ts
|
|
21
173
|
var OPENCODE_SESSION_ID_CACHE_MAX = 1000;
|
|
22
174
|
var opencodeSessionIdCache = new Map;
|
|
@@ -200,7 +352,7 @@ function createReasoningDefenseHook(target) {
|
|
|
200
352
|
}
|
|
201
353
|
|
|
202
354
|
// src/env/llm/adapter-pi-ai.ts
|
|
203
|
-
var
|
|
355
|
+
var logger2 = createLogger("llm:adapter-pi-ai");
|
|
204
356
|
var KNOWN_PROVIDER_APIS = {
|
|
205
357
|
anthropic: {
|
|
206
358
|
api: "anthropic-messages",
|
|
@@ -311,7 +463,7 @@ function resolveApiProtocol(provider, baseURL, explicitProtocol) {
|
|
|
311
463
|
if (baseURL?.includes("/responses"))
|
|
312
464
|
return "openai-responses";
|
|
313
465
|
if (baseURL?.includes("anthropic")) {
|
|
314
|
-
|
|
466
|
+
logger2.warn(`[adapter-pi-ai] provider "${provider}" 的协议靠 baseURL 含 "anthropic" 推断为 anthropic-messages;` + `建议在 KNOWN_PROVIDER_APIS 或调用处显式声明 apiProtocol(Task #4383 P1)`, { provider, inferred_api_protocol: "anthropic-messages", base_url: baseURL });
|
|
315
467
|
return "anthropic-messages";
|
|
316
468
|
}
|
|
317
469
|
return KNOWN_PROVIDER_APIS[provider]?.api || "openai-completions";
|
|
@@ -334,7 +486,7 @@ function resolveModelReasoning(provider, modelId, capabilities, apiProtocol) {
|
|
|
334
486
|
const key = `${provider}:${apiProtocol ?? "<unresolved>"}`;
|
|
335
487
|
if (!warnedReasoningRefusals.has(key)) {
|
|
336
488
|
warnedReasoningRefusals.add(key);
|
|
337
|
-
|
|
489
|
+
logger2.warn(`[adapter-pi-ai] provider "${provider}" (${apiProtocol ?? "unresolved"}) 的 capabilities.reasoning=true 被忽略:` + `该协议无法通过 compat pin 保持请求体字节一致,打开会破坏 prompt cache 前缀(Task #4403)`, { provider, model_id: modelId, api_protocol: apiProtocol });
|
|
338
490
|
}
|
|
339
491
|
return false;
|
|
340
492
|
}
|
|
@@ -423,7 +575,7 @@ function safeJson(s) {
|
|
|
423
575
|
try {
|
|
424
576
|
return JSON.parse(s);
|
|
425
577
|
} catch (e) {
|
|
426
|
-
|
|
578
|
+
logger2.warn(`[safeJson] JSON.parse failed`, {
|
|
427
579
|
parse_failed: true,
|
|
428
580
|
input_length: s.length,
|
|
429
581
|
error: e.message
|
|
@@ -635,158 +787,6 @@ import { createGoogleGenerativeAI } from "@ai-sdk/google";
|
|
|
635
787
|
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
|
|
636
788
|
init_logger();
|
|
637
789
|
|
|
638
|
-
// src/env/llm/tool-args-parser.ts
|
|
639
|
-
init_logger();
|
|
640
|
-
var logger2 = createLogger("llm:tool-args-parser");
|
|
641
|
-
var ARG_KEY_RE = /<arg_key>([\s\S]*?)<\/arg_key>\s*<arg_value>([\s\S]*?)<\/arg_value>/g;
|
|
642
|
-
function salvageTextualToolArgs(raw) {
|
|
643
|
-
if (!raw.includes("<arg_key>"))
|
|
644
|
-
return;
|
|
645
|
-
const out = {};
|
|
646
|
-
let matched = false;
|
|
647
|
-
ARG_KEY_RE.lastIndex = 0;
|
|
648
|
-
let m;
|
|
649
|
-
while ((m = ARG_KEY_RE.exec(raw)) !== null) {
|
|
650
|
-
const key = m[1].trim();
|
|
651
|
-
if (!key)
|
|
652
|
-
continue;
|
|
653
|
-
const value = m[2];
|
|
654
|
-
try {
|
|
655
|
-
out[key] = JSON.parse(value);
|
|
656
|
-
} catch {
|
|
657
|
-
out[key] = value;
|
|
658
|
-
}
|
|
659
|
-
matched = true;
|
|
660
|
-
}
|
|
661
|
-
return matched ? out : undefined;
|
|
662
|
-
}
|
|
663
|
-
function stripTextualToolArgsMarkers(raw) {
|
|
664
|
-
return raw.replace(/<\/?arg_key>/g, "").replace(/<\/?arg_value>/g, "").replace(/<\/?tool_call>/g, "");
|
|
665
|
-
}
|
|
666
|
-
function parseToolArgsStrict(args) {
|
|
667
|
-
if (args && typeof args === "object" && !Array.isArray(args)) {
|
|
668
|
-
return { ok: true, args };
|
|
669
|
-
}
|
|
670
|
-
if (typeof args !== "string") {
|
|
671
|
-
return {
|
|
672
|
-
ok: false,
|
|
673
|
-
args: {},
|
|
674
|
-
error: `tool arguments must be a JSON object, got ${args === null ? "null" : typeof args}`
|
|
675
|
-
};
|
|
676
|
-
}
|
|
677
|
-
const raw = args.trim();
|
|
678
|
-
if (raw.length === 0) {
|
|
679
|
-
return { ok: true, args: {} };
|
|
680
|
-
}
|
|
681
|
-
const direct = tryParseObject(raw);
|
|
682
|
-
if (direct.ok) {
|
|
683
|
-
if (raw.includes("<arg_key>") || raw.includes("<arg_value>") || raw.includes("<tool_call>")) {
|
|
684
|
-
logger2.warn("[parseToolArgsStrict] arguments 里出现上游文本工具调用标记,已清洗值中的 marker");
|
|
685
|
-
return { ok: true, args: sanitizeArgValues(direct.args), salvaged: true };
|
|
686
|
-
}
|
|
687
|
-
return { ok: true, args: direct.args };
|
|
688
|
-
}
|
|
689
|
-
if (raw.includes("<arg_key>") || raw.includes("<arg_value>")) {
|
|
690
|
-
const stripped = stripTextualToolArgsMarkers(raw);
|
|
691
|
-
const afterStrip = tryParseObject(stripped);
|
|
692
|
-
if (afterStrip.ok) {
|
|
693
|
-
logger2.warn("[parseToolArgsStrict] 上游把文本工具调用标记混进了 arguments,已剥离 marker 后恢复");
|
|
694
|
-
return { ok: true, args: afterStrip.args, salvaged: true };
|
|
695
|
-
}
|
|
696
|
-
const salvaged = salvageTextualToolArgs(raw);
|
|
697
|
-
if (salvaged) {
|
|
698
|
-
logger2.warn("[parseToolArgsStrict] 上游输出的是文本工具调用格式,已按 <arg_key>/<arg_value> 重建参数", { keys: Object.keys(salvaged).join(",") });
|
|
699
|
-
return { ok: true, args: salvaged, salvaged: true };
|
|
700
|
-
}
|
|
701
|
-
}
|
|
702
|
-
const nested = tryParseObject(raw);
|
|
703
|
-
if (!nested.ok && raw.length > 1) {
|
|
704
|
-
const rec = safeParseToolArgs(raw);
|
|
705
|
-
if (Object.keys(rec).length > 0) {
|
|
706
|
-
return { ok: true, args: rec, salvaged: true };
|
|
707
|
-
}
|
|
708
|
-
}
|
|
709
|
-
return {
|
|
710
|
-
ok: false,
|
|
711
|
-
args: {},
|
|
712
|
-
error: "tool arguments 不是合法 JSON(上游模型输出可能已损坏)。请重新调用该工具,确保 arguments 是合法 JSON 对象。" + ` 原始片段:${raw.slice(0, 200)}`
|
|
713
|
-
};
|
|
714
|
-
}
|
|
715
|
-
function sanitizeArgValues(args) {
|
|
716
|
-
const clean = (v) => {
|
|
717
|
-
if (typeof v === "string")
|
|
718
|
-
return stripTextualToolArgsMarkers(v);
|
|
719
|
-
if (Array.isArray(v))
|
|
720
|
-
return v.map(clean);
|
|
721
|
-
if (v && typeof v === "object") {
|
|
722
|
-
const out = {};
|
|
723
|
-
for (const [k, val] of Object.entries(v)) {
|
|
724
|
-
out[k] = clean(val);
|
|
725
|
-
}
|
|
726
|
-
return out;
|
|
727
|
-
}
|
|
728
|
-
return v;
|
|
729
|
-
};
|
|
730
|
-
return clean(args);
|
|
731
|
-
}
|
|
732
|
-
function tryParseObject(raw) {
|
|
733
|
-
try {
|
|
734
|
-
const parsed = JSON.parse(raw);
|
|
735
|
-
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
736
|
-
return { ok: true, args: parsed };
|
|
737
|
-
}
|
|
738
|
-
if (typeof parsed === "string") {
|
|
739
|
-
const twice = JSON.parse(parsed);
|
|
740
|
-
if (twice && typeof twice === "object" && !Array.isArray(twice)) {
|
|
741
|
-
return { ok: true, args: twice };
|
|
742
|
-
}
|
|
743
|
-
}
|
|
744
|
-
return { ok: false };
|
|
745
|
-
} catch {
|
|
746
|
-
return { ok: false };
|
|
747
|
-
}
|
|
748
|
-
}
|
|
749
|
-
var MAX_SAFE_DEPTH = 5;
|
|
750
|
-
function safeParseToolArgs(args, depth = 0) {
|
|
751
|
-
if (depth >= MAX_SAFE_DEPTH) {
|
|
752
|
-
logger2.warn(`[safeParseToolArgs] Max recursion depth (${MAX_SAFE_DEPTH}) exceeded at depth ${depth}. ` + "Input may be malicious or abnormally deeply nested. Returning empty object.", { depth, argsType: typeof args });
|
|
753
|
-
return {};
|
|
754
|
-
}
|
|
755
|
-
if (typeof args === "object" && args !== null && !Array.isArray(args)) {
|
|
756
|
-
return args;
|
|
757
|
-
}
|
|
758
|
-
if (Array.isArray(args)) {
|
|
759
|
-
logger2.debug(`[safeParseToolArgs] Input is an array. Tool arguments should be objects. Returning empty object.`, { depth, arrayLength: args.length });
|
|
760
|
-
return {};
|
|
761
|
-
}
|
|
762
|
-
if (typeof args === "string") {
|
|
763
|
-
try {
|
|
764
|
-
const parsed = JSON.parse(args);
|
|
765
|
-
if (typeof parsed === "string") {
|
|
766
|
-
logger2.debug(`[safeParseToolArgs] Detected double/multi-stringified JSON at depth ${depth}. ` + "LLM may be double-stringifying tool arguments. Parsing recursively.", { depth, parsedLength: parsed.length });
|
|
767
|
-
return safeParseToolArgs(parsed, depth + 1);
|
|
768
|
-
}
|
|
769
|
-
if (typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)) {
|
|
770
|
-
return parsed;
|
|
771
|
-
}
|
|
772
|
-
if (Array.isArray(parsed)) {
|
|
773
|
-
logger2.debug(`[safeParseToolArgs] Parsed result is an array at depth ${depth}. ` + "Tool arguments should be objects, not arrays. Returning empty object.", { depth, parsedLength: parsed.length });
|
|
774
|
-
return {};
|
|
775
|
-
}
|
|
776
|
-
return { value: parsed };
|
|
777
|
-
} catch (e) {
|
|
778
|
-
logger2.warn(`[safeParseToolArgs] JSON.parse failed at depth ${depth}`, {
|
|
779
|
-
parse_failed: true,
|
|
780
|
-
input_length: args.length,
|
|
781
|
-
depth,
|
|
782
|
-
error: e.message
|
|
783
|
-
});
|
|
784
|
-
return {};
|
|
785
|
-
}
|
|
786
|
-
}
|
|
787
|
-
return {};
|
|
788
|
-
}
|
|
789
|
-
|
|
790
790
|
// src/env/llm/llm-cache.ts
|
|
791
791
|
function isOpenAICompatibleProvider(providerName) {
|
|
792
792
|
return providerName === "openai-compatible" || providerName === "openai" || providerName.startsWith("minimax") || providerName === "deepseek" || providerName.startsWith("deepseek") || providerName === "glm" || providerName.startsWith("glm");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TracedAs,
|
|
3
3
|
init_decorator
|
|
4
|
-
} from "./roy-agent-core-
|
|
4
|
+
} from "./roy-agent-core-386wa4wy.js";
|
|
5
5
|
import {
|
|
6
6
|
__legacyDecorateClassTS,
|
|
7
7
|
__require
|
|
@@ -32,6 +32,21 @@ function createCompatibleDatabase(path) {
|
|
|
32
32
|
}
|
|
33
33
|
return db;
|
|
34
34
|
}
|
|
35
|
+
var SCHEMA_SQL = `
|
|
36
|
+
CREATE TABLE IF NOT EXISTS event_store (
|
|
37
|
+
event_id TEXT PRIMARY KEY,
|
|
38
|
+
es_type TEXT NOT NULL,
|
|
39
|
+
sender_id TEXT NOT NULL,
|
|
40
|
+
text TEXT,
|
|
41
|
+
metadata TEXT NOT NULL,
|
|
42
|
+
raw_event TEXT,
|
|
43
|
+
created_at INTEGER NOT NULL
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
CREATE INDEX IF NOT EXISTS idx_es_sender_time
|
|
47
|
+
ON event_store (es_type, sender_id, created_at DESC);
|
|
48
|
+
`;
|
|
49
|
+
|
|
35
50
|
class EventStoreImpl {
|
|
36
51
|
db;
|
|
37
52
|
insertStmt;
|
|
@@ -156,4 +171,4 @@ function resetSharedEventStore() {
|
|
|
156
171
|
sharedEventStore = null;
|
|
157
172
|
}
|
|
158
173
|
|
|
159
|
-
export { EventStoreImpl, setSharedEventStore, getSharedEventStore, resetSharedEventStore };
|
|
174
|
+
export { SCHEMA_SQL, EventStoreImpl, setSharedEventStore, getSharedEventStore, resetSharedEventStore };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TagRepository
|
|
3
|
-
} from "./roy-agent-core-
|
|
4
|
-
import"./roy-agent-core-
|
|
5
|
-
import"./roy-agent-core-
|
|
3
|
+
} from "./roy-agent-core-gc6wcd7z.js";
|
|
4
|
+
import"./roy-agent-core-386wa4wy.js";
|
|
5
|
+
import"./roy-agent-core-6awgfh3x.js";
|
|
6
6
|
import"./roy-agent-core-jnszp0jq.js";
|
|
7
7
|
import"./roy-agent-core-fs0mn2jk.js";
|
|
8
8
|
export {
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
} from "./roy-agent-core-7hh0brvs.js";
|
|
4
4
|
import {
|
|
5
5
|
BaseComponent
|
|
6
|
-
} from "./roy-agent-core-
|
|
6
|
+
} from "./roy-agent-core-gtdtzbs7.js";
|
|
7
7
|
import {
|
|
8
8
|
init_decorator,
|
|
9
9
|
init_trace_filters
|
|
10
|
-
} from "./roy-agent-core-
|
|
10
|
+
} from "./roy-agent-core-386wa4wy.js";
|
|
11
11
|
import {
|
|
12
12
|
createLogger,
|
|
13
13
|
getTracerProvider,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
propagation,
|
|
19
19
|
setConfigComponent,
|
|
20
20
|
setQuietMode
|
|
21
|
-
} from "./roy-agent-core-
|
|
21
|
+
} from "./roy-agent-core-6awgfh3x.js";
|
|
22
22
|
import {
|
|
23
23
|
SQLiteSpanStorage,
|
|
24
24
|
init_span_storage
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
getEnvContextOrEmpty,
|
|
3
3
|
init_env_context,
|
|
4
4
|
setCurrentTaskId
|
|
5
|
-
} from "./roy-agent-core-
|
|
5
|
+
} from "./roy-agent-core-hfyxv2kx.js";
|
|
6
6
|
import {
|
|
7
7
|
createLogger,
|
|
8
8
|
init_logger
|
|
9
|
-
} from "./roy-agent-core-
|
|
9
|
+
} from "./roy-agent-core-6awgfh3x.js";
|
|
10
10
|
|
|
11
11
|
// src/env/task/tools/task-types.ts
|
|
12
12
|
import { z } from "zod";
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
AgentComponentAdapter,
|
|
9
9
|
init_agent_component_adapter
|
|
10
|
-
} from "./roy-agent-core-
|
|
10
|
+
} from "./roy-agent-core-sj4y3wdm.js";
|
|
11
11
|
import {
|
|
12
12
|
PythonCallNode,
|
|
13
13
|
SkillNode,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
init_skill_node,
|
|
18
18
|
init_tool_node,
|
|
19
19
|
init_workflow_node
|
|
20
|
-
} from "./roy-agent-core-
|
|
20
|
+
} from "./roy-agent-core-hwkc0bg2.js";
|
|
21
21
|
import {
|
|
22
22
|
WORKFLOW_SUBMIT_OUTPUT_TOOL_NAME,
|
|
23
23
|
init_json_schema_to_zod,
|
|
@@ -28,20 +28,20 @@ import {
|
|
|
28
28
|
} from "./roy-agent-core-1db4vpc6.js";
|
|
29
29
|
import {
|
|
30
30
|
init_hooks
|
|
31
|
-
} from "./roy-agent-core-
|
|
31
|
+
} from "./roy-agent-core-zy8vkbnk.js";
|
|
32
32
|
import {
|
|
33
33
|
WorkflowHookPoints,
|
|
34
34
|
emitWorkflowNodeHook,
|
|
35
35
|
emitWorkflowRunHook
|
|
36
|
-
} from "./roy-agent-core-
|
|
36
|
+
} from "./roy-agent-core-zjgckbdd.js";
|
|
37
37
|
import {
|
|
38
38
|
TemplateResolver,
|
|
39
39
|
init_template_resolver
|
|
40
|
-
} from "./roy-agent-core-
|
|
40
|
+
} from "./roy-agent-core-c57278kx.js";
|
|
41
41
|
import {
|
|
42
42
|
DAGManager,
|
|
43
43
|
init_dag_manager
|
|
44
|
-
} from "./roy-agent-core-
|
|
44
|
+
} from "./roy-agent-core-p6a4v4fq.js";
|
|
45
45
|
import {
|
|
46
46
|
WorkflowError,
|
|
47
47
|
createWorkflowEvent,
|
|
@@ -57,11 +57,11 @@ import {
|
|
|
57
57
|
import {
|
|
58
58
|
TracedAs,
|
|
59
59
|
init_decorator
|
|
60
|
-
} from "./roy-agent-core-
|
|
60
|
+
} from "./roy-agent-core-386wa4wy.js";
|
|
61
61
|
import {
|
|
62
62
|
createLogger,
|
|
63
63
|
init_logger
|
|
64
|
-
} from "./roy-agent-core-
|
|
64
|
+
} from "./roy-agent-core-6awgfh3x.js";
|
|
65
65
|
import {
|
|
66
66
|
__esm,
|
|
67
67
|
__export,
|
|
@@ -3,21 +3,21 @@ import {
|
|
|
3
3
|
} from "./roy-agent-core-az13yzmc.js";
|
|
4
4
|
import {
|
|
5
5
|
BaseComponent
|
|
6
|
-
} from "./roy-agent-core-
|
|
6
|
+
} from "./roy-agent-core-gtdtzbs7.js";
|
|
7
7
|
import {
|
|
8
8
|
globalHookManager,
|
|
9
9
|
init_global_hook_manager
|
|
10
|
-
} from "./roy-agent-core-
|
|
10
|
+
} from "./roy-agent-core-v7mwj8eq.js";
|
|
11
11
|
import {
|
|
12
12
|
init_context
|
|
13
|
-
} from "./roy-agent-core-
|
|
13
|
+
} from "./roy-agent-core-33hn1beg.js";
|
|
14
14
|
import {
|
|
15
15
|
getEnvContextOrEmpty
|
|
16
|
-
} from "./roy-agent-core-
|
|
16
|
+
} from "./roy-agent-core-hfyxv2kx.js";
|
|
17
17
|
import {
|
|
18
18
|
createLogger,
|
|
19
19
|
init_logger
|
|
20
|
-
} from "./roy-agent-core-
|
|
20
|
+
} from "./roy-agent-core-6awgfh3x.js";
|
|
21
21
|
import {
|
|
22
22
|
__require
|
|
23
23
|
} from "./roy-agent-core-fs0mn2jk.js";
|
|
@@ -10,18 +10,18 @@ import {
|
|
|
10
10
|
} from "./roy-agent-core-7hh0brvs.js";
|
|
11
11
|
import {
|
|
12
12
|
BaseComponent
|
|
13
|
-
} from "./roy-agent-core-
|
|
13
|
+
} from "./roy-agent-core-gtdtzbs7.js";
|
|
14
14
|
import {
|
|
15
15
|
createHook
|
|
16
|
-
} from "./roy-agent-core-
|
|
16
|
+
} from "./roy-agent-core-7tce05jt.js";
|
|
17
17
|
import {
|
|
18
18
|
globalHookManager,
|
|
19
19
|
init_global_hook_manager
|
|
20
|
-
} from "./roy-agent-core-
|
|
20
|
+
} from "./roy-agent-core-v7mwj8eq.js";
|
|
21
21
|
import {
|
|
22
22
|
createLogger,
|
|
23
23
|
init_logger
|
|
24
|
-
} from "./roy-agent-core-
|
|
24
|
+
} from "./roy-agent-core-6awgfh3x.js";
|
|
25
25
|
|
|
26
26
|
// src/env/prompt/types.ts
|
|
27
27
|
import { z } from "zod";
|
|
@@ -2,10 +2,12 @@ import {
|
|
|
2
2
|
createQueryBackgroundProcessTool
|
|
3
3
|
} from "./roy-agent-core-amkqnyzy.js";
|
|
4
4
|
import {
|
|
5
|
-
BackgroundTaskManager,
|
|
6
|
-
createDelegateTool,
|
|
7
5
|
createStopTool
|
|
8
|
-
} from "./roy-agent-core-
|
|
6
|
+
} from "./roy-agent-core-jm136jzh.js";
|
|
7
|
+
import {
|
|
8
|
+
BackgroundTaskManager,
|
|
9
|
+
createDelegateTool
|
|
10
|
+
} from "./roy-agent-core-fqandv0a.js";
|
|
9
11
|
import {
|
|
10
12
|
TaskEntityEventTypes
|
|
11
13
|
} from "./roy-agent-core-8gxth0eh.js";
|
|
@@ -20,7 +22,7 @@ import {
|
|
|
20
22
|
searchTasksTool,
|
|
21
23
|
treeTasksTool,
|
|
22
24
|
updateTaskTool
|
|
23
|
-
} from "./roy-agent-core-
|
|
25
|
+
} from "./roy-agent-core-as0dd70m.js";
|
|
24
26
|
import {
|
|
25
27
|
createOperationTool,
|
|
26
28
|
deleteOperationTool,
|
|
@@ -31,7 +33,7 @@ import {
|
|
|
31
33
|
import {
|
|
32
34
|
SQLiteTaskStore,
|
|
33
35
|
getDefaultTaskDbPath
|
|
34
|
-
} from "./roy-agent-core-
|
|
36
|
+
} from "./roy-agent-core-th92f833.js";
|
|
35
37
|
import {
|
|
36
38
|
TaskHookPoints
|
|
37
39
|
} from "./roy-agent-core-1pg0fepg.js";
|
|
@@ -40,23 +42,23 @@ import {
|
|
|
40
42
|
} from "./roy-agent-core-7hh0brvs.js";
|
|
41
43
|
import {
|
|
42
44
|
BaseComponent
|
|
43
|
-
} from "./roy-agent-core-
|
|
45
|
+
} from "./roy-agent-core-gtdtzbs7.js";
|
|
44
46
|
import {
|
|
45
47
|
globalHookManager,
|
|
46
48
|
init_global_hook_manager
|
|
47
|
-
} from "./roy-agent-core-
|
|
49
|
+
} from "./roy-agent-core-v7mwj8eq.js";
|
|
48
50
|
import {
|
|
49
51
|
getEnvContextOrEmpty,
|
|
50
52
|
init_env_context
|
|
51
|
-
} from "./roy-agent-core-
|
|
53
|
+
} from "./roy-agent-core-hfyxv2kx.js";
|
|
52
54
|
import {
|
|
53
55
|
TracedAs,
|
|
54
56
|
init_decorator
|
|
55
|
-
} from "./roy-agent-core-
|
|
57
|
+
} from "./roy-agent-core-386wa4wy.js";
|
|
56
58
|
import {
|
|
57
59
|
createLogger,
|
|
58
60
|
init_logger
|
|
59
|
-
} from "./roy-agent-core-
|
|
61
|
+
} from "./roy-agent-core-6awgfh3x.js";
|
|
60
62
|
import {
|
|
61
63
|
__legacyDecorateClassTS
|
|
62
64
|
} from "./roy-agent-core-fs0mn2jk.js";
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import {
|
|
2
2
|
LarkCardPatchNotifier,
|
|
3
3
|
formatDurationMs
|
|
4
|
-
} from "./roy-agent-core-
|
|
4
|
+
} from "./roy-agent-core-m3w3ytxt.js";
|
|
5
5
|
import {
|
|
6
6
|
WorkflowHookPoints,
|
|
7
7
|
init_workflow_hook_points
|
|
8
|
-
} from "./roy-agent-core-
|
|
8
|
+
} from "./roy-agent-core-zjgckbdd.js";
|
|
9
9
|
import {
|
|
10
10
|
init_context
|
|
11
|
-
} from "./roy-agent-core-
|
|
11
|
+
} from "./roy-agent-core-33hn1beg.js";
|
|
12
12
|
import {
|
|
13
13
|
getEnvContextOrEmpty
|
|
14
|
-
} from "./roy-agent-core-
|
|
14
|
+
} from "./roy-agent-core-hfyxv2kx.js";
|
|
15
15
|
import {
|
|
16
16
|
TracedAs,
|
|
17
17
|
init_decorator
|
|
18
|
-
} from "./roy-agent-core-
|
|
18
|
+
} from "./roy-agent-core-386wa4wy.js";
|
|
19
19
|
import {
|
|
20
20
|
createLogger,
|
|
21
21
|
init_logger
|
|
22
|
-
} from "./roy-agent-core-
|
|
22
|
+
} from "./roy-agent-core-6awgfh3x.js";
|
|
23
23
|
import {
|
|
24
24
|
__legacyDecorateClassTS
|
|
25
25
|
} from "./roy-agent-core-fs0mn2jk.js";
|
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
TracedAs,
|
|
11
11
|
init_decorator
|
|
12
|
-
} from "./roy-agent-core-
|
|
12
|
+
} from "./roy-agent-core-386wa4wy.js";
|
|
13
13
|
import {
|
|
14
14
|
createLogger,
|
|
15
15
|
init_logger
|
|
16
|
-
} from "./roy-agent-core-
|
|
16
|
+
} from "./roy-agent-core-6awgfh3x.js";
|
|
17
17
|
import {
|
|
18
18
|
__esm,
|
|
19
19
|
__export,
|