@ai-setting/roy-agent-core 1.7.13 → 1.7.15
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 -9
- package/dist/env/agent/index.js +14 -15
- package/dist/env/commands/index.js +8 -9
- package/dist/env/context/index.js +4 -5
- package/dist/env/debug/index.js +8 -9
- package/dist/env/event-source/index.js +13 -14
- package/dist/env/hook/index.js +6 -7
- package/dist/env/index.js +38 -39
- package/dist/env/llm/index.js +9 -10
- package/dist/env/log-trace/index.js +16 -18
- package/dist/env/mcp/index.js +9 -10
- package/dist/env/mcp/tool/index.js +2 -3
- package/dist/env/memory/index.js +9 -10
- package/dist/env/memory/plugin/index.js +2 -3
- package/dist/env/plugin/index.js +8 -9
- package/dist/env/prompt/index.js +8 -9
- package/dist/env/session/index.js +11 -12
- package/dist/env/session/storage/index.js +4 -5
- package/dist/env/skill/index.js +8 -9
- package/dist/env/task/delegate/index.js +8 -9
- package/dist/env/task/index.js +13 -14
- package/dist/env/task/plugins/index.js +8 -9
- package/dist/env/task/storage/index.js +3 -4
- package/dist/env/task/tools/index.js +4 -5
- package/dist/env/tool/built-in/index.js +4 -5
- package/dist/env/tool/index.js +11 -12
- package/dist/env/workflow/engine/index.js +10 -11
- package/dist/env/workflow/index.js +21 -22
- package/dist/env/workflow/nodes/index.js +3 -4
- package/dist/env/workflow/service/index.js +3 -4
- package/dist/env/workflow/storage/index.js +4 -5
- package/dist/env/workflow/tools/index.js +15 -16
- package/dist/env/workflow/utils/index.js +5 -6
- package/dist/index.js +55 -57
- package/dist/shared/@ai-setting/{roy-agent-core-6qvgvbg1.js → roy-agent-core-0hzymk2b.js} +6 -7
- package/dist/shared/@ai-setting/{roy-agent-core-pz2n121t.js → roy-agent-core-0nz53t5v.js} +7 -9
- package/dist/shared/@ai-setting/{roy-agent-core-h9230kg6.js → roy-agent-core-0ra1gtn9.js} +5 -5
- package/dist/shared/@ai-setting/{roy-agent-core-w8rv08d3.js → roy-agent-core-1df0grva.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-6m2gh57e.js → roy-agent-core-1h6h6h37.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-7xek618f.js → roy-agent-core-1qt5x67p.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-b64s2vk9.js → roy-agent-core-1sxybyqq.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-wgp3q62x.js → roy-agent-core-1y4hr9v9.js} +3 -3
- package/dist/shared/@ai-setting/{roy-agent-core-rfwshpd0.js → roy-agent-core-2ah7204k.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-gb7pm9c0.js → roy-agent-core-38rtrpk3.js} +3 -5
- package/dist/shared/@ai-setting/{roy-agent-core-62mvbqmj.js → roy-agent-core-3qm3ps0w.js} +3 -4
- package/dist/shared/@ai-setting/{roy-agent-core-t9h4np6m.js → roy-agent-core-4r2e3b8a.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-v13dq3nc.js → roy-agent-core-4rg92cwq.js} +4 -4
- package/dist/shared/@ai-setting/{roy-agent-core-32226m35.js → roy-agent-core-62mfe44h.js} +6 -6
- package/dist/shared/@ai-setting/{roy-agent-core-nxqk5smq.js → roy-agent-core-6jafpa30.js} +5 -5
- package/dist/shared/@ai-setting/{roy-agent-core-hncxk9d1.js → roy-agent-core-6rebk607.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-8fcjcx67.js → roy-agent-core-77cpyf03.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-xrr7t0qc.js → roy-agent-core-7p6rny5m.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-qe3m3hec.js → roy-agent-core-7x8v3wbn.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-z2w7wtqd.js → roy-agent-core-89zsa89z.js} +4 -5
- package/dist/shared/@ai-setting/{roy-agent-core-7zy1mpmw.js → roy-agent-core-91rzfw8d.js} +8 -10
- package/dist/shared/@ai-setting/{roy-agent-core-br7dmedr.js → roy-agent-core-9sz7hnbf.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-4ggqsnbg.js → roy-agent-core-axkxd7jn.js} +14 -14
- package/dist/shared/@ai-setting/{roy-agent-core-ec4djnzd.js → roy-agent-core-ch3gg6r0.js} +3 -3
- package/dist/shared/@ai-setting/{roy-agent-core-mgp3284f.js → roy-agent-core-d12nwxfx.js} +4 -6
- package/dist/shared/@ai-setting/{roy-agent-core-1khp1m0r.js → roy-agent-core-e6dahpp2.js} +313 -8
- package/dist/shared/@ai-setting/{roy-agent-core-j29yg06n.js → roy-agent-core-g772q3gf.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-4m4awz0m.js → roy-agent-core-g7cht2pw.js} +8 -8
- package/dist/shared/@ai-setting/{roy-agent-core-zqeq8m9z.js → roy-agent-core-gjnhkemk.js} +3 -3
- package/dist/shared/@ai-setting/roy-agent-core-gtymhfda.js +10 -0
- package/dist/shared/@ai-setting/{roy-agent-core-zhv8efqh.js → roy-agent-core-h4h6n9vk.js} +8 -8
- package/dist/shared/@ai-setting/{roy-agent-core-3ep1dxf1.js → roy-agent-core-h76sw3ar.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-hmqmznjc.js → roy-agent-core-hfpbq1qy.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-k4byknt1.js → roy-agent-core-htwb9yj6.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-t3yqzgse.js → roy-agent-core-jbc1t62x.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-0v74marc.js → roy-agent-core-jdvgzf2y.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-d11714ee.js → roy-agent-core-kbf31f21.js} +5 -5
- package/dist/shared/@ai-setting/{roy-agent-core-6re7eg4w.js → roy-agent-core-kj93n7pb.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-zcx8nf4a.js → roy-agent-core-kp57kbzd.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-h7ak839w.js → roy-agent-core-m2pxg5d8.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-pde8hkq4.js → roy-agent-core-m725wp1x.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-2xb3f3ye.js → roy-agent-core-md5wg3ns.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-dxfd6p1c.js → roy-agent-core-ncvqfx7m.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-x0yztmm6.js → roy-agent-core-p06rm1xh.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-sfwt66pv.js → roy-agent-core-pqb1cx3t.js} +2 -2
- package/dist/shared/@ai-setting/{roy-agent-core-90wp1rgb.js → roy-agent-core-pz8jvvtn.js} +4 -5
- package/dist/shared/@ai-setting/{roy-agent-core-q6mq7gmc.js → roy-agent-core-qmbd0vx2.js} +11 -11
- package/dist/shared/@ai-setting/{roy-agent-core-rs5tp44j.js → roy-agent-core-r5d3f3nb.js} +4 -4
- package/dist/shared/@ai-setting/{roy-agent-core-71wde8ce.js → roy-agent-core-rsej8ed5.js} +6 -6
- package/dist/shared/@ai-setting/{roy-agent-core-5ts23mx0.js → roy-agent-core-sf4bjgwz.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-mvs5sen6.js → roy-agent-core-sh7bz68r.js} +1 -1
- package/dist/shared/@ai-setting/{roy-agent-core-2yt4jmzv.js → roy-agent-core-sh94bwdf.js} +7 -7
- package/dist/shared/@ai-setting/{roy-agent-core-7cxdkcrz.js → roy-agent-core-sxqhny9v.js} +4 -4
- package/dist/shared/@ai-setting/{roy-agent-core-wrjm9etv.js → roy-agent-core-tp0thedj.js} +6 -6
- package/dist/shared/@ai-setting/{roy-agent-core-qpt5fa8h.js → roy-agent-core-tzsmkk5w.js} +2 -2
- package/dist/utils/temp-file-manager/index.js +2 -3
- package/package.json +2 -2
- package/dist/shared/@ai-setting/roy-agent-core-4k8tv5q5.js +0 -11
- package/dist/shared/@ai-setting/roy-agent-core-kaq037np.js +0 -299
|
@@ -1,35 +1,33 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TaskTagPlugin,
|
|
3
3
|
createLarkCliTaskNotifyHook
|
|
4
|
-
} from "./roy-agent-core-
|
|
4
|
+
} from "./roy-agent-core-h4h6n9vk.js";
|
|
5
5
|
import {
|
|
6
6
|
envKeyToConfigKey
|
|
7
7
|
} from "./roy-agent-core-7hh0brvs.js";
|
|
8
8
|
import {
|
|
9
9
|
BaseComponent
|
|
10
|
-
} from "./roy-agent-core-
|
|
10
|
+
} from "./roy-agent-core-m725wp1x.js";
|
|
11
11
|
import {
|
|
12
12
|
globalHookManager,
|
|
13
13
|
init_global_hook_manager
|
|
14
|
-
} from "./roy-agent-core-
|
|
14
|
+
} from "./roy-agent-core-g772q3gf.js";
|
|
15
15
|
import {
|
|
16
16
|
init_context
|
|
17
|
-
} from "./roy-agent-core-
|
|
17
|
+
} from "./roy-agent-core-m2pxg5d8.js";
|
|
18
18
|
import {
|
|
19
19
|
createEnvContext,
|
|
20
20
|
runWithEnvContext
|
|
21
|
-
} from "./roy-agent-core-
|
|
21
|
+
} from "./roy-agent-core-7p6rny5m.js";
|
|
22
22
|
import {
|
|
23
23
|
TracedAs,
|
|
24
24
|
init_decorator
|
|
25
|
-
} from "./roy-agent-core-
|
|
25
|
+
} from "./roy-agent-core-38rtrpk3.js";
|
|
26
26
|
import {
|
|
27
27
|
createLogger,
|
|
28
|
+
getTracerProvider,
|
|
28
29
|
init_logger
|
|
29
|
-
} from "./roy-agent-core-
|
|
30
|
-
import {
|
|
31
|
-
getTracerProvider
|
|
32
|
-
} from "./roy-agent-core-1khp1m0r.js";
|
|
30
|
+
} from "./roy-agent-core-e6dahpp2.js";
|
|
33
31
|
import {
|
|
34
32
|
__legacyDecorateClassTS,
|
|
35
33
|
__require
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
exports_node_registry_helper,
|
|
3
3
|
init_node_registry_helper
|
|
4
|
-
} from "./roy-agent-core-
|
|
4
|
+
} from "./roy-agent-core-1qt5x67p.js";
|
|
5
5
|
import {
|
|
6
6
|
askUserTool,
|
|
7
7
|
createRunWorkflowTool,
|
|
@@ -13,22 +13,22 @@ import {
|
|
|
13
13
|
createWorkflowSearchTool,
|
|
14
14
|
createWorkflowTagListTool,
|
|
15
15
|
createWorkflowValidateTool
|
|
16
|
-
} from "./roy-agent-core-
|
|
16
|
+
} from "./roy-agent-core-6jafpa30.js";
|
|
17
17
|
import {
|
|
18
18
|
WorkflowService
|
|
19
|
-
} from "./roy-agent-core-
|
|
19
|
+
} from "./roy-agent-core-77cpyf03.js";
|
|
20
20
|
import {
|
|
21
21
|
WorkflowEngine,
|
|
22
22
|
exports_engine,
|
|
23
23
|
init_engine
|
|
24
|
-
} from "./roy-agent-core-
|
|
24
|
+
} from "./roy-agent-core-tp0thedj.js";
|
|
25
25
|
import {
|
|
26
26
|
BaseComponent
|
|
27
|
-
} from "./roy-agent-core-
|
|
27
|
+
} from "./roy-agent-core-m725wp1x.js";
|
|
28
28
|
import {
|
|
29
29
|
createLogger,
|
|
30
30
|
init_logger
|
|
31
|
-
} from "./roy-agent-core-
|
|
31
|
+
} from "./roy-agent-core-e6dahpp2.js";
|
|
32
32
|
import {
|
|
33
33
|
__require,
|
|
34
34
|
__toCommonJS
|
|
@@ -104,7 +104,7 @@ class WorkflowComponent extends BaseComponent {
|
|
|
104
104
|
return;
|
|
105
105
|
try {
|
|
106
106
|
const { NodeRegistry } = await import("../../env/workflow/engine/index.js");
|
|
107
|
-
const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-
|
|
107
|
+
const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-3qm3ps0w.js");
|
|
108
108
|
this.nodeRegistry = new NodeRegistry;
|
|
109
109
|
registerDecoratorNodeType2(this.nodeRegistry);
|
|
110
110
|
this.decoratorsRegistered = true;
|
|
@@ -134,14 +134,14 @@ class WorkflowComponent extends BaseComponent {
|
|
|
134
134
|
}
|
|
135
135
|
async runWorkflow(definition, input, options) {
|
|
136
136
|
const { NodeRegistry } = await import("../../env/workflow/engine/index.js");
|
|
137
|
-
const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-
|
|
137
|
+
const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-3qm3ps0w.js");
|
|
138
138
|
const toolComponent = this.toolComponent || this._workflowEnv?.getComponent("tool");
|
|
139
139
|
const skillComponent = this._workflowEnv?.getComponent("skill");
|
|
140
140
|
let agentRunner = this.agentRunner;
|
|
141
141
|
if (!agentRunner && this._workflowEnv) {
|
|
142
142
|
const agentComponent = this._workflowEnv.getComponent("agent");
|
|
143
143
|
if (agentComponent) {
|
|
144
|
-
const { AgentComponentAdapter } = await import("./roy-agent-core-
|
|
144
|
+
const { AgentComponentAdapter } = await import("./roy-agent-core-0hzymk2b.js");
|
|
145
145
|
agentRunner = new AgentComponentAdapter(agentComponent, {}, this.sessionComponent);
|
|
146
146
|
}
|
|
147
147
|
}
|
|
@@ -163,7 +163,7 @@ class WorkflowComponent extends BaseComponent {
|
|
|
163
163
|
if (this.workflowService) {
|
|
164
164
|
this.workflowService = null;
|
|
165
165
|
try {
|
|
166
|
-
const { closeDatabase } = await import("./roy-agent-core-
|
|
166
|
+
const { closeDatabase } = await import("./roy-agent-core-89zsa89z.js");
|
|
167
167
|
closeDatabase();
|
|
168
168
|
componentLogger.info("[WorkflowComponent] SQLite database closed");
|
|
169
169
|
} catch (error) {
|
|
@@ -241,9 +241,9 @@ class WorkflowComponent extends BaseComponent {
|
|
|
241
241
|
}
|
|
242
242
|
async initSqliteService() {
|
|
243
243
|
try {
|
|
244
|
-
const { getDatabase, initializeTables } = await import("./roy-agent-core-
|
|
245
|
-
const { WorkflowRepository } = await import("./roy-agent-core-
|
|
246
|
-
const { TagRepository } = await import("./roy-agent-core-
|
|
244
|
+
const { getDatabase, initializeTables } = await import("./roy-agent-core-89zsa89z.js");
|
|
245
|
+
const { WorkflowRepository } = await import("./roy-agent-core-pz8jvvtn.js");
|
|
246
|
+
const { TagRepository } = await import("./roy-agent-core-gtymhfda.js");
|
|
247
247
|
const db = getDatabase();
|
|
248
248
|
initializeTables();
|
|
249
249
|
const workflowRepository = new WorkflowRepository(db);
|
|
@@ -309,7 +309,7 @@ class WorkflowComponent extends BaseComponent {
|
|
|
309
309
|
this.workflowService = null;
|
|
310
310
|
this.nodeRegistry = null;
|
|
311
311
|
try {
|
|
312
|
-
const { closeDatabase } = await import("./roy-agent-core-
|
|
312
|
+
const { closeDatabase } = await import("./roy-agent-core-89zsa89z.js");
|
|
313
313
|
closeDatabase();
|
|
314
314
|
} catch {}
|
|
315
315
|
this._status = "stopped";
|
|
@@ -9,16 +9,16 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
globalHookManager,
|
|
11
11
|
init_global_hook_manager
|
|
12
|
-
} from "./roy-agent-core-
|
|
12
|
+
} from "./roy-agent-core-g772q3gf.js";
|
|
13
13
|
import {
|
|
14
14
|
TracedAs,
|
|
15
15
|
init_decorator,
|
|
16
16
|
wrapFunction
|
|
17
|
-
} from "./roy-agent-core-
|
|
17
|
+
} from "./roy-agent-core-38rtrpk3.js";
|
|
18
18
|
import {
|
|
19
19
|
createLogger,
|
|
20
20
|
init_logger
|
|
21
|
-
} from "./roy-agent-core-
|
|
21
|
+
} from "./roy-agent-core-e6dahpp2.js";
|
|
22
22
|
import {
|
|
23
23
|
__esm,
|
|
24
24
|
__legacyDecorateClassTS
|
|
@@ -7,21 +7,19 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
getCurrentProcessRegistry,
|
|
9
9
|
killProcessTree
|
|
10
|
-
} from "./roy-agent-core-
|
|
10
|
+
} from "./roy-agent-core-sh7bz68r.js";
|
|
11
11
|
import {
|
|
12
12
|
init_decorator,
|
|
13
13
|
wrapFunction
|
|
14
|
-
} from "./roy-agent-core-
|
|
14
|
+
} from "./roy-agent-core-38rtrpk3.js";
|
|
15
15
|
import {
|
|
16
16
|
createLogger,
|
|
17
|
-
init_logger
|
|
18
|
-
} from "./roy-agent-core-kaq037np.js";
|
|
19
|
-
import {
|
|
20
17
|
exports_tracer_provider,
|
|
18
|
+
init_logger,
|
|
21
19
|
init_propagation,
|
|
22
20
|
init_tracer_provider,
|
|
23
21
|
propagation
|
|
24
|
-
} from "./roy-agent-core-
|
|
22
|
+
} from "./roy-agent-core-e6dahpp2.js";
|
|
25
23
|
import {
|
|
26
24
|
__toCommonJS
|
|
27
25
|
} from "./roy-agent-core-fs0mn2jk.js";
|
|
@@ -88,6 +88,295 @@ var init_types = __esm(() => {
|
|
|
88
88
|
})(SpanStatus ||= {});
|
|
89
89
|
});
|
|
90
90
|
|
|
91
|
+
// src/env/log-trace/logger.ts
|
|
92
|
+
import { appendFileSync, existsSync, mkdirSync } from "fs";
|
|
93
|
+
import { join } from "path";
|
|
94
|
+
function simplifyFilePath(fullPath) {
|
|
95
|
+
let path = fullPath.replace(/\\/g, "/");
|
|
96
|
+
const bunfsMatch = path.match(/\/\$bunfs\/root\/(.+)$/);
|
|
97
|
+
if (bunfsMatch) {
|
|
98
|
+
const virtualPath = bunfsMatch[1];
|
|
99
|
+
const packagesMatch = virtualPath.match(/(packages\/[^/]+\/src\/[^/]+\/.+)$/);
|
|
100
|
+
if (packagesMatch) {
|
|
101
|
+
return packagesMatch[1];
|
|
102
|
+
}
|
|
103
|
+
return virtualPath;
|
|
104
|
+
}
|
|
105
|
+
const fileProtocolMatch = path.match(/@roy-agent\+core@file\+([^/]+)\/node_modules\/@roy-agent\/core\/(.+)$/);
|
|
106
|
+
if (fileProtocolMatch) {
|
|
107
|
+
const rootPkg = fileProtocolMatch[1].replace(/\+/g, "/");
|
|
108
|
+
const remaining = fileProtocolMatch[2];
|
|
109
|
+
const prefix = rootPkg;
|
|
110
|
+
const suffix = remaining.startsWith("src/") ? remaining : `src/${remaining}`;
|
|
111
|
+
return `${prefix}/${suffix}`;
|
|
112
|
+
}
|
|
113
|
+
const packagesRootMatch = path.match(/(packages\/[^/]+\/src\/[^/]+\/.+)$/);
|
|
114
|
+
if (packagesRootMatch) {
|
|
115
|
+
return packagesRootMatch[1];
|
|
116
|
+
}
|
|
117
|
+
const rootMarkers = ["packages/core/src", "packages/core", "packages"];
|
|
118
|
+
for (const marker of rootMarkers) {
|
|
119
|
+
const idx = path.indexOf(marker);
|
|
120
|
+
if (idx !== -1) {
|
|
121
|
+
return path.substring(idx);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return path;
|
|
125
|
+
}
|
|
126
|
+
function getDefaultLogDir() {
|
|
127
|
+
const home = process.env.HOME || process.env.USERPROFILE || "/tmp";
|
|
128
|
+
try {
|
|
129
|
+
const xdg = __require("xdg-basedir");
|
|
130
|
+
if (xdg.xdgData) {
|
|
131
|
+
return join(xdg.xdgData, "roy-agent", "logs");
|
|
132
|
+
}
|
|
133
|
+
} catch {}
|
|
134
|
+
return join(home, ".local", "share", "roy-agent", "logs");
|
|
135
|
+
}
|
|
136
|
+
function isQuietMode() {
|
|
137
|
+
return quietMode;
|
|
138
|
+
}
|
|
139
|
+
function setQuietMode(enabled) {
|
|
140
|
+
quietMode = enabled;
|
|
141
|
+
}
|
|
142
|
+
function setConfigComponent(component) {
|
|
143
|
+
configComponentInstance = component;
|
|
144
|
+
}
|
|
145
|
+
function getLogLevel() {
|
|
146
|
+
if (configComponentInstance) {
|
|
147
|
+
const level = configComponentInstance.get("log_trace.logging.level");
|
|
148
|
+
if (level && ["debug", "info", "warn", "error"].includes(level)) {
|
|
149
|
+
return level;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const envLevel = process.env.LOG_LEVEL;
|
|
153
|
+
if (envLevel && ["debug", "info", "warn", "error"].includes(envLevel)) {
|
|
154
|
+
return envLevel;
|
|
155
|
+
}
|
|
156
|
+
return "info";
|
|
157
|
+
}
|
|
158
|
+
function getCategoryLogLevel(category) {
|
|
159
|
+
if (configComponentInstance) {
|
|
160
|
+
const levels = configComponentInstance.get("log_trace.logging.levels");
|
|
161
|
+
if (levels && typeof levels === "object") {
|
|
162
|
+
const categoryLevel = levels[category];
|
|
163
|
+
if (categoryLevel && ["debug", "info", "warn", "error"].includes(categoryLevel)) {
|
|
164
|
+
return categoryLevel;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
const directLevel = configComponentInstance.get(`log_trace.logging.levels.${category}`);
|
|
168
|
+
if (directLevel && ["debug", "info", "warn", "error"].includes(directLevel)) {
|
|
169
|
+
return directLevel;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
const envKey = `LOG_LEVEL_${category.toUpperCase().replace(/:/g, "_")}`;
|
|
173
|
+
const envLevel = process.env[envKey];
|
|
174
|
+
if (envLevel && ["debug", "info", "warn", "error"].includes(envLevel)) {
|
|
175
|
+
return envLevel;
|
|
176
|
+
}
|
|
177
|
+
return getLogLevel();
|
|
178
|
+
}
|
|
179
|
+
function isAbsolutePath(path) {
|
|
180
|
+
if (path.startsWith("/")) {
|
|
181
|
+
return true;
|
|
182
|
+
}
|
|
183
|
+
if (/^[a-zA-Z]:[/\\]/.test(path)) {
|
|
184
|
+
return true;
|
|
185
|
+
}
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
function expandHomeDir(path) {
|
|
189
|
+
if (path.startsWith("~")) {
|
|
190
|
+
const home = process.env.HOME || process.env.USERPROFILE || "/tmp";
|
|
191
|
+
return join(home, path.slice(1));
|
|
192
|
+
}
|
|
193
|
+
return path;
|
|
194
|
+
}
|
|
195
|
+
function getLogFile() {
|
|
196
|
+
if (configComponentInstance) {
|
|
197
|
+
const file = configComponentInstance.get("log-trace.logging.file");
|
|
198
|
+
if (file) {
|
|
199
|
+
return file;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return "app.log";
|
|
203
|
+
}
|
|
204
|
+
function getLogDir() {
|
|
205
|
+
if (configComponentInstance) {
|
|
206
|
+
const dir = configComponentInstance.get("log-trace.logging.dir");
|
|
207
|
+
if (dir) {
|
|
208
|
+
return dir;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return getDefaultLogDir();
|
|
212
|
+
}
|
|
213
|
+
function getMaxOutput() {
|
|
214
|
+
if (configComponentInstance) {
|
|
215
|
+
const maxOutput = configComponentInstance.get("log-trace.logging.maxOutput");
|
|
216
|
+
if (typeof maxOutput === "number") {
|
|
217
|
+
return maxOutput;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
function setLogDirOverride(dir) {
|
|
223
|
+
logDirOverride = dir;
|
|
224
|
+
}
|
|
225
|
+
function getLogDirOverride() {
|
|
226
|
+
return logDirOverride;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
class Logger {
|
|
230
|
+
prefix;
|
|
231
|
+
constructor(prefix) {
|
|
232
|
+
this.prefix = prefix;
|
|
233
|
+
}
|
|
234
|
+
shouldLog(level) {
|
|
235
|
+
const categoryLevel = getCategoryLogLevel(this.prefix);
|
|
236
|
+
return levelPriority[level] >= levelPriority[categoryLevel];
|
|
237
|
+
}
|
|
238
|
+
ensureLogDirectory(dir) {
|
|
239
|
+
if (!existsSync(dir)) {
|
|
240
|
+
try {
|
|
241
|
+
mkdirSync(dir, { recursive: true });
|
|
242
|
+
} catch (err) {
|
|
243
|
+
console.error("[Logger] Failed to create log directory:", dir, err);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
getCallerLocation() {
|
|
248
|
+
const originalLimit = Error.stackTraceLimit;
|
|
249
|
+
Error.stackTraceLimit = 10;
|
|
250
|
+
const err = new Error;
|
|
251
|
+
Error.captureStackTrace(err, this.formatMessage);
|
|
252
|
+
const stack = err.stack?.split(`
|
|
253
|
+
`) || [];
|
|
254
|
+
Error.stackTraceLimit = originalLimit;
|
|
255
|
+
for (let i = 1;i < stack.length; i++) {
|
|
256
|
+
const line = stack[i];
|
|
257
|
+
if (line.includes("at ") && !line.includes("logger.ts") && !line.includes("formatMessage")) {
|
|
258
|
+
const match = line.match(/at\s+.+\s+\((.+):(\d+):\d+\)/) || line.match(/at\s+(.+):(\d+):\d+/);
|
|
259
|
+
if (match) {
|
|
260
|
+
const filePath = match[1];
|
|
261
|
+
const relativePath = this.getRelativePath(filePath);
|
|
262
|
+
return {
|
|
263
|
+
file: relativePath,
|
|
264
|
+
line: parseInt(match[2], 10)
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
return null;
|
|
270
|
+
}
|
|
271
|
+
getRelativePath(fullPath) {
|
|
272
|
+
return simplifyFilePath(fullPath);
|
|
273
|
+
}
|
|
274
|
+
formatMessage(level, message, data) {
|
|
275
|
+
const now = new Date;
|
|
276
|
+
const timestamp = now.toLocaleString("zh-CN", {
|
|
277
|
+
timeZone: "Asia/Shanghai",
|
|
278
|
+
year: "numeric",
|
|
279
|
+
month: "2-digit",
|
|
280
|
+
day: "2-digit",
|
|
281
|
+
hour: "2-digit",
|
|
282
|
+
minute: "2-digit",
|
|
283
|
+
second: "2-digit",
|
|
284
|
+
hour12: false
|
|
285
|
+
}).replace(/\//g, "-") + "." + String(now.getMilliseconds()).padStart(3, "0");
|
|
286
|
+
const prefix = this.prefix ? `[${this.prefix}]` : "";
|
|
287
|
+
let traceIdStr = "";
|
|
288
|
+
try {
|
|
289
|
+
const provider = getTracerProvider();
|
|
290
|
+
const tracer = provider.getTracer("roy-tracer");
|
|
291
|
+
const context = tracer.getCurrentContext();
|
|
292
|
+
if (context?.traceId) {
|
|
293
|
+
traceIdStr = `[traceId=${context.traceId}]`;
|
|
294
|
+
}
|
|
295
|
+
} catch {}
|
|
296
|
+
let locationStr = "";
|
|
297
|
+
if (data && typeof data === "object" && "callerLocation" in data) {
|
|
298
|
+
const logData = data;
|
|
299
|
+
locationStr = logData.callerLocation ? ` [${logData.callerLocation}]` : "";
|
|
300
|
+
const { callerLocation: _callerLocation, ...rest } = logData;
|
|
301
|
+
data = Object.keys(rest).length > 0 ? rest : undefined;
|
|
302
|
+
} else {
|
|
303
|
+
const location = this.getCallerLocation();
|
|
304
|
+
if (location) {
|
|
305
|
+
locationStr = ` [${location.file}:${location.line}]`;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
let formatted = `${timestamp} [${level.toUpperCase()}]${traceIdStr}${locationStr}${prefix} ${message}`;
|
|
309
|
+
if (data !== undefined) {
|
|
310
|
+
if (typeof data === "object") {
|
|
311
|
+
formatted += " " + JSON.stringify(data).replace(/\n/g, "");
|
|
312
|
+
} else {
|
|
313
|
+
formatted += " " + String(data);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
const maxOutput = getMaxOutput();
|
|
317
|
+
if (maxOutput && maxOutput > 0 && formatted.length > maxOutput) {
|
|
318
|
+
formatted = formatted.substring(0, maxOutput) + " [TRUNCATED]";
|
|
319
|
+
}
|
|
320
|
+
return formatted;
|
|
321
|
+
}
|
|
322
|
+
writeToFile(message) {
|
|
323
|
+
try {
|
|
324
|
+
const dir = getLogDir();
|
|
325
|
+
const filename = getLogFile();
|
|
326
|
+
const expandedDir = expandHomeDir(dir);
|
|
327
|
+
const resolvedDir = isAbsolutePath(expandedDir) ? expandedDir : join(process.cwd(), expandedDir);
|
|
328
|
+
this.ensureLogDirectory(resolvedDir);
|
|
329
|
+
const logFile = join(resolvedDir, filename);
|
|
330
|
+
appendFileSync(logFile, message + `
|
|
331
|
+
`, "utf-8");
|
|
332
|
+
} catch (err) {
|
|
333
|
+
console.error("[Logger] Failed to write to log file:", err);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
log(level, message, data) {
|
|
337
|
+
if (!this.shouldLog(level))
|
|
338
|
+
return;
|
|
339
|
+
const formatted = this.formatMessage(level, message, data);
|
|
340
|
+
this.writeToFile(formatted);
|
|
341
|
+
if (!isQuietMode()) {
|
|
342
|
+
const consoleMethod = level === "error" ? console.error : level === "warn" ? console.warn : level === "info" ? console.log : console.debug;
|
|
343
|
+
consoleMethod(formatted);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
debug(message, data) {
|
|
347
|
+
this.log("debug", message, data);
|
|
348
|
+
}
|
|
349
|
+
info(message, data) {
|
|
350
|
+
this.log("info", message, data);
|
|
351
|
+
}
|
|
352
|
+
warn(message, data) {
|
|
353
|
+
this.log("warn", message, data);
|
|
354
|
+
}
|
|
355
|
+
error(message, data) {
|
|
356
|
+
this.log("error", message, data);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
function createLogger(prefix) {
|
|
360
|
+
if (!loggerCache.has(prefix)) {
|
|
361
|
+
loggerCache.set(prefix, new Logger(prefix));
|
|
362
|
+
}
|
|
363
|
+
return loggerCache.get(prefix);
|
|
364
|
+
}
|
|
365
|
+
function getLogLevels() {
|
|
366
|
+
return ["debug", "info", "warn", "error"];
|
|
367
|
+
}
|
|
368
|
+
var configComponentInstance = null, quietMode = false, logDirOverride, levelPriority, loggerCache;
|
|
369
|
+
var init_logger = __esm(() => {
|
|
370
|
+
init_tracer_provider();
|
|
371
|
+
levelPriority = {
|
|
372
|
+
debug: 0,
|
|
373
|
+
info: 1,
|
|
374
|
+
warn: 2,
|
|
375
|
+
error: 3
|
|
376
|
+
};
|
|
377
|
+
loggerCache = new Map;
|
|
378
|
+
});
|
|
379
|
+
|
|
91
380
|
// src/env/log-trace/opentelemetry/tracer-provider.ts
|
|
92
381
|
var exports_tracer_provider = {};
|
|
93
382
|
__export(exports_tracer_provider, {
|
|
@@ -96,9 +385,24 @@ __export(exports_tracer_provider, {
|
|
|
96
385
|
getTracerProvider: () => getTracerProvider,
|
|
97
386
|
OTelTracerProvider: () => OTelTracerProvider
|
|
98
387
|
});
|
|
388
|
+
function getOtelLogger() {
|
|
389
|
+
if (!_otelLogger) {
|
|
390
|
+
_otelLogger = createLogger("otel-tracer");
|
|
391
|
+
}
|
|
392
|
+
return _otelLogger;
|
|
393
|
+
}
|
|
99
394
|
function isOtelTraceDebugEnabled() {
|
|
100
395
|
return process.env.ROY_TRACE_DEBUG_OTEL === "1" || process.env.ROY_TRACE_DEBUG === "1";
|
|
101
396
|
}
|
|
397
|
+
function otelLog(message, ...args) {
|
|
398
|
+
getOtelLogger().info(message, ...args);
|
|
399
|
+
}
|
|
400
|
+
function otelLogWarn(message, ...args) {
|
|
401
|
+
getOtelLogger().warn(message, ...args);
|
|
402
|
+
}
|
|
403
|
+
function otelLogError(message, ...args) {
|
|
404
|
+
getOtelLogger().error(message, ...args);
|
|
405
|
+
}
|
|
102
406
|
|
|
103
407
|
class OTelSpanImpl {
|
|
104
408
|
name;
|
|
@@ -135,20 +439,20 @@ class OTelSpanImpl {
|
|
|
135
439
|
}
|
|
136
440
|
const duration = this.endTime - (this.startTime || 0);
|
|
137
441
|
if (isOtelTraceDebugEnabled()) {
|
|
138
|
-
|
|
442
|
+
otelLog(`[OTelSpan] Ending span: name="${this.name}" traceId=${this.spanContext.traceId} spanId=${this.spanContext.spanId} duration=${duration}ms status=${error ? "ERROR" : "OK"}`);
|
|
139
443
|
}
|
|
140
444
|
let storage = this.storage;
|
|
141
445
|
if (!storage) {
|
|
142
|
-
|
|
446
|
+
otelLogWarn(`[OTelSpan] storage is null for "${this.name}", attempting to re-fetch...`);
|
|
143
447
|
const provider = getTracerProvider();
|
|
144
448
|
storage = provider.getStorage();
|
|
145
449
|
}
|
|
146
450
|
if (storage) {
|
|
147
451
|
const isInitialized = storage.db || storage.initialized;
|
|
148
452
|
if (!isInitialized) {
|
|
149
|
-
|
|
453
|
+
otelLogWarn(`[OTelSpan] storage not initialized for "${this.name}", initializing now...`);
|
|
150
454
|
storage.initialize().catch((err) => {
|
|
151
|
-
|
|
455
|
+
otelLogError(`[OTelSpan] Failed to initialize storage:`, err);
|
|
152
456
|
});
|
|
153
457
|
}
|
|
154
458
|
storage.save({
|
|
@@ -165,7 +469,7 @@ class OTelSpanImpl {
|
|
|
165
469
|
error: this.error
|
|
166
470
|
});
|
|
167
471
|
} else {
|
|
168
|
-
|
|
472
|
+
otelLogError(`[OTelSpan] Failed to save span "${this.name}": storage still null after re-fetch`);
|
|
169
473
|
}
|
|
170
474
|
this.onEnd?.();
|
|
171
475
|
}
|
|
@@ -261,7 +565,7 @@ class OTelTracerImpl {
|
|
|
261
565
|
}
|
|
262
566
|
this.activeSpans.set(spanId, span);
|
|
263
567
|
if (isOtelTraceDebugEnabled()) {
|
|
264
|
-
|
|
568
|
+
otelLog(`[OTelTracer] ✓ Span created: name="${name}" traceId=${traceId} spanId=${spanId} parentSpanId=${parentSpanId || "-"}`);
|
|
265
569
|
}
|
|
266
570
|
return span;
|
|
267
571
|
}
|
|
@@ -451,11 +755,12 @@ function getDefaultDbPath() {
|
|
|
451
755
|
const dataHome = process.env.XDG_DATA_HOME || path.join(home, ".local", "share");
|
|
452
756
|
return path.join(dataHome, "roy-agent", "traces.db");
|
|
453
757
|
}
|
|
454
|
-
var providerInstance = null, providerCounter = 0;
|
|
758
|
+
var _otelLogger = null, providerInstance = null, providerCounter = 0;
|
|
455
759
|
var init_tracer_provider = __esm(() => {
|
|
456
760
|
init_span_storage();
|
|
457
761
|
init_propagation();
|
|
458
762
|
init_types();
|
|
763
|
+
init_logger();
|
|
459
764
|
});
|
|
460
765
|
|
|
461
|
-
export { serialize, parse, propagation, init_propagation, SpanKind, SpanStatus, init_types, OTelTracerProvider, getTracerProvider, resetTracerProvider, setTracerProvider, exports_tracer_provider, init_tracer_provider };
|
|
766
|
+
export { serialize, parse, propagation, init_propagation, SpanKind, SpanStatus, init_types, OTelTracerProvider, getTracerProvider, resetTracerProvider, setTracerProvider, exports_tracer_provider, init_tracer_provider, simplifyFilePath, isQuietMode, setQuietMode, setConfigComponent, getLogLevel, getLogFile, getLogDir, getMaxOutput, setLogDirOverride, getLogDirOverride, createLogger, getLogLevels, init_logger };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_context
|
|
3
|
-
} from "./roy-agent-core-
|
|
3
|
+
} from "./roy-agent-core-m2pxg5d8.js";
|
|
4
4
|
import {
|
|
5
5
|
getEnvContext
|
|
6
|
-
} from "./roy-agent-core-
|
|
6
|
+
} from "./roy-agent-core-7p6rny5m.js";
|
|
7
7
|
import {
|
|
8
8
|
__esm
|
|
9
9
|
} from "./roy-agent-core-fs0mn2jk.js";
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
searchTasksTool,
|
|
10
10
|
treeTasksTool,
|
|
11
11
|
updateTaskTool
|
|
12
|
-
} from "./roy-agent-core-
|
|
12
|
+
} from "./roy-agent-core-htwb9yj6.js";
|
|
13
13
|
import {
|
|
14
14
|
createOperationTool,
|
|
15
15
|
deleteOperationTool,
|
|
@@ -27,11 +27,11 @@ import {
|
|
|
27
27
|
BackgroundTaskManager,
|
|
28
28
|
createDelegateTool,
|
|
29
29
|
createStopTool
|
|
30
|
-
} from "./roy-agent-core-
|
|
30
|
+
} from "./roy-agent-core-sh94bwdf.js";
|
|
31
31
|
import {
|
|
32
32
|
SQLiteTaskStore,
|
|
33
33
|
getDefaultTaskDbPath
|
|
34
|
-
} from "./roy-agent-core-
|
|
34
|
+
} from "./roy-agent-core-h76sw3ar.js";
|
|
35
35
|
import {
|
|
36
36
|
TaskHookPoints
|
|
37
37
|
} from "./roy-agent-core-1pg0fepg.js";
|
|
@@ -40,23 +40,23 @@ import {
|
|
|
40
40
|
} from "./roy-agent-core-7hh0brvs.js";
|
|
41
41
|
import {
|
|
42
42
|
BaseComponent
|
|
43
|
-
} from "./roy-agent-core-
|
|
43
|
+
} from "./roy-agent-core-m725wp1x.js";
|
|
44
44
|
import {
|
|
45
45
|
globalHookManager,
|
|
46
46
|
init_global_hook_manager
|
|
47
|
-
} from "./roy-agent-core-
|
|
47
|
+
} from "./roy-agent-core-g772q3gf.js";
|
|
48
48
|
import {
|
|
49
49
|
getEnvContextOrEmpty,
|
|
50
50
|
init_env_context
|
|
51
|
-
} from "./roy-agent-core-
|
|
51
|
+
} from "./roy-agent-core-7p6rny5m.js";
|
|
52
52
|
import {
|
|
53
53
|
TracedAs,
|
|
54
54
|
init_decorator
|
|
55
|
-
} from "./roy-agent-core-
|
|
55
|
+
} from "./roy-agent-core-38rtrpk3.js";
|
|
56
56
|
import {
|
|
57
57
|
createLogger,
|
|
58
58
|
init_logger
|
|
59
|
-
} from "./roy-agent-core-
|
|
59
|
+
} from "./roy-agent-core-e6dahpp2.js";
|
|
60
60
|
import {
|
|
61
61
|
__legacyDecorateClassTS
|
|
62
62
|
} from "./roy-agent-core-fs0mn2jk.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
adaptMcpTool
|
|
3
|
-
} from "./roy-agent-core-
|
|
3
|
+
} from "./roy-agent-core-ncvqfx7m.js";
|
|
4
4
|
import {
|
|
5
5
|
ComponentError,
|
|
6
6
|
ErrorCodes
|
|
@@ -10,11 +10,11 @@ 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-m725wp1x.js";
|
|
14
14
|
import {
|
|
15
15
|
createLogger,
|
|
16
16
|
init_logger
|
|
17
|
-
} from "./roy-agent-core-
|
|
17
|
+
} from "./roy-agent-core-e6dahpp2.js";
|
|
18
18
|
import {
|
|
19
19
|
ensureFallbackNpmPrefix,
|
|
20
20
|
isUsableNpmPrefix
|