@lobu/core 3.0.8 → 3.0.9
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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/otel.d.ts +5 -5
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +7 -8
- package/dist/otel.js.map +1 -1
- package/dist/sentry.d.ts +3 -3
- package/dist/sentry.d.ts.map +1 -1
- package/dist/sentry.js +9 -6
- package/dist/sentry.js.map +1 -1
- package/package.json +8 -8
- package/src/index.ts +22 -23
- package/src/otel.ts +11 -10
- package/src/sentry.ts +10 -8
- package/tsconfig.tsbuildinfo +1 -0
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
export * from "./agent-policy";
|
|
3
3
|
export type { AgentAccessStore, AgentConfigStore, AgentConnectionStore, AgentMetadata, AgentSettings, AgentStore, ChannelBinding, ConnectionSettings, Grant, StoredConnection, } from "./agent-store";
|
|
4
4
|
export { findTemplateAgentId } from "./agent-store";
|
|
5
|
+
export type { AgentConfigResponse, AgentInfo, CatalogProvider, Connection, McpConfig, ModelOption, ModelSelectionState, PermissionGrant, PrefillMcp, PrefillSkill, ProviderInfo, ProviderState, ProviderStatus, Schedule, SettingsSnapshot, Skill, SkillMcpServerInfo, } from "./api-types";
|
|
5
6
|
export type { CommandContext, CommandDefinition } from "./command-registry";
|
|
6
7
|
export { CommandRegistry } from "./command-registry";
|
|
7
8
|
export * from "./constants";
|
|
@@ -17,8 +18,7 @@ export type { ConfigProviderMeta, ProviderConfigEntry, } from "./provider-config
|
|
|
17
18
|
export * from "./redis/base-store";
|
|
18
19
|
export { getSentry, initSentry } from "./sentry";
|
|
19
20
|
export { extractTraceId, generateTraceId } from "./trace";
|
|
20
|
-
export type { AgentMcpConfig, AgentOptions, AuthProfile, CliBackendConfig, ConversationMessage, HistoryMessage, InstalledProvider, InstructionContext, InstructionProvider, LogLevel, McpServerConfig, NetworkConfig, NixConfig, RegistryEntry, SessionContext, SkillConfig,
|
|
21
|
-
export type { AgentConfigResponse, AgentInfo, CatalogProvider, Connection, McpConfig, ModelOption, ModelSelectionState, PermissionGrant, PrefillMcp, PrefillSkill, ProviderInfo, ProviderState, ProviderStatus, Schedule, SettingsSnapshot, Skill, SkillMcpServerInfo, } from "./api-types";
|
|
21
|
+
export type { AgentMcpConfig, AgentOptions, AuthProfile, CliBackendConfig, ConversationMessage, HistoryMessage, InstalledProvider, InstructionContext, InstructionProvider, LogLevel, McpOAuthConfig, McpServerConfig, NetworkConfig, NixConfig, RegistryEntry, SessionContext, SkillConfig, SkillMcpServer, SkillsConfig, SuggestedPrompt, ThinkingLevel, ThreadResponsePayload, ToolsConfig, UserSuggestion, } from "./types";
|
|
22
22
|
export * from "./utils/encryption";
|
|
23
23
|
export * from "./utils/env";
|
|
24
24
|
export * from "./utils/json";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAIA,cAAc,gBAAgB,CAAC;AAE/B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,KAAK,EACL,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAIA,cAAc,gBAAgB,CAAC;AAE/B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,KAAK,EACL,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,YAAY,EACV,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,UAAU,EACV,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,cAAc,aAAa,CAAC;AAE5B,cAAc,UAAU,CAAC;AAEzB,YAAY,EACV,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,cAAc,UAAU,CAAC;AAEzB,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACpE,cAAc,WAAW,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEvD,OAAO,EACL,eAAe,EACf,cAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,eAAe,EACf,aAAa,EACb,QAAQ,GACT,MAAM,QAAQ,CAAC;AAEhB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,aAAa,EACb,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1D,YAAY,EACV,cAAc,EACd,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,cAAc,GACf,MAAM,SAAS,CAAC;AAGjB,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,YAAY,EACV,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -28,7 +28,7 @@ __exportStar(require("./constants"), exports);
|
|
|
28
28
|
__exportStar(require("./errors"), exports);
|
|
29
29
|
__exportStar(require("./logger"), exports);
|
|
30
30
|
__exportStar(require("./modules"), exports);
|
|
31
|
-
// OpenTelemetry tracing
|
|
31
|
+
// OpenTelemetry tracing
|
|
32
32
|
var otel_1 = require("./otel");
|
|
33
33
|
Object.defineProperty(exports, "createChildSpan", { enumerable: true, get: function () { return otel_1.createChildSpan; } });
|
|
34
34
|
Object.defineProperty(exports, "createRootSpan", { enumerable: true, get: function () { return otel_1.createRootSpan; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,4EAA4E;;;;;;;;;;;;;;;;;AAE5E,iDAA+B;AAc/B,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,4EAA4E;;;;;;;;;;;;;;;;;AAE5E,iDAA+B;AAc/B,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAsB5B,mBAAmB;AACnB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,8CAA4B;AAC5B,mBAAmB;AACnB,2CAAyB;AAMzB,2CAAyB;AAGzB,4CAA0B;AAE1B,wBAAwB;AACxB,+BAegB;AAdd,uGAAA,eAAe,OAAA;AACf,sGAAA,cAAc,OAAA;AACd,kGAAA,UAAU,OAAA;AACV,oGAAA,YAAY,OAAA;AACZ,sGAAA,cAAc,OAAA;AACd,sGAAA,cAAc,OAAA;AACd,iGAAA,SAAS,OAAA;AACT,mGAAA,WAAW,OAAA;AACX,wGAAA,gBAAgB,OAAA;AAChB,gGAAA,QAAQ,OAAA;AACR,sGAAA,cAAc,OAAA;AACd,uGAAA,eAAe,OAAA;AACf,qGAAA,aAAa,OAAA;AACb,gGAAA,QAAQ,OAAA;AAeV,yBAAyB;AACzB,qDAAmC;AACnC,gBAAgB;AAChB,mCAAiD;AAAxC,mGAAA,SAAS,OAAA;AAAE,oGAAA,UAAU,OAAA;AAC9B,iCAA0D;AAAjD,uGAAA,cAAc,OAAA;AAAE,wGAAA,eAAe,OAAA;AA6BxC,YAAY;AACZ,qDAAmC;AACnC,8CAA4B;AAC5B,+CAA6B;AAC7B,+CAA6B;AAE7B,gDAA8B;AAC9B,mDAAiC;AACjC,gDAA8B"}
|
package/dist/otel.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* OpenTelemetry tracing setup for distributed tracing
|
|
3
|
-
*
|
|
2
|
+
* OpenTelemetry tracing setup for distributed tracing.
|
|
3
|
+
* Ships traces via OTLP HTTP to any compatible collector (Tempo, Jaeger, Datadog, etc.).
|
|
4
4
|
*/
|
|
5
5
|
import type { Span, Tracer } from "@opentelemetry/api";
|
|
6
6
|
import { SpanKind, SpanStatusCode } from "@opentelemetry/api";
|
|
7
7
|
export interface OtelConfig {
|
|
8
8
|
serviceName: string;
|
|
9
9
|
serviceVersion?: string;
|
|
10
|
-
|
|
10
|
+
otlpEndpoint?: string;
|
|
11
11
|
enabled?: boolean;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
@@ -17,7 +17,7 @@ export interface OtelConfig {
|
|
|
17
17
|
* @example
|
|
18
18
|
* initTracing({
|
|
19
19
|
* serviceName: "lobu-gateway",
|
|
20
|
-
*
|
|
20
|
+
* otlpEndpoint: "http://collector:4318/v1/traces",
|
|
21
21
|
* });
|
|
22
22
|
*/
|
|
23
23
|
export declare function initTracing(config: OtelConfig): void;
|
|
@@ -102,6 +102,6 @@ export declare function withChildSpan<T>(name: string, traceparent: string | nul
|
|
|
102
102
|
* Extract traceparent from span for propagation to downstream services.
|
|
103
103
|
*/
|
|
104
104
|
export declare function getTraceparent(span: Span | null): string | null;
|
|
105
|
-
export { SpanKind, SpanStatusCode };
|
|
106
105
|
export type { Span, Tracer };
|
|
106
|
+
export { SpanKind, SpanStatusCode };
|
|
107
107
|
//# sourceMappingURL=otel.d.ts.map
|
package/dist/otel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAW,QAAQ,EAAE,cAAc,EAAS,MAAM,oBAAoB,CAAC;AAkB9E,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAW,QAAQ,EAAE,cAAc,EAAS,MAAM,oBAAoB,CAAC;AAkB9E,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAkCpD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAEzC;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD;AAED;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAIlD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EACtD,IAAI,GAAE,QAA4B,GACjC,IAAI,GAAG,IAAI,CAWb;AAED;;;;;;;;;GASG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EACrC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACrD,OAAO,CAAC,CAAC,CAAC,CAmBZ;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,GAAG,SAAS,CAEjD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAG9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACrD;IAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAenD;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACrD,IAAI,GAAG,IAAI,CAiCb;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EACrC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACrD,OAAO,CAAC,CAAC,CAAC,CAmBZ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAI/D;AAED,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
|
package/dist/otel.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* OpenTelemetry tracing setup for distributed tracing
|
|
4
|
-
*
|
|
3
|
+
* OpenTelemetry tracing setup for distributed tracing.
|
|
4
|
+
* Ships traces via OTLP HTTP to any compatible collector (Tempo, Jaeger, Datadog, etc.).
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.SpanStatusCode = exports.SpanKind = void 0;
|
|
@@ -35,16 +35,16 @@ let tracer = null;
|
|
|
35
35
|
* @example
|
|
36
36
|
* initTracing({
|
|
37
37
|
* serviceName: "lobu-gateway",
|
|
38
|
-
*
|
|
38
|
+
* otlpEndpoint: "http://collector:4318/v1/traces",
|
|
39
39
|
* });
|
|
40
40
|
*/
|
|
41
41
|
function initTracing(config) {
|
|
42
42
|
if (provider) {
|
|
43
43
|
return; // Already initialized
|
|
44
44
|
}
|
|
45
|
-
const enabled = config.enabled ?? !!config.
|
|
45
|
+
const enabled = config.enabled ?? !!config.otlpEndpoint;
|
|
46
46
|
if (!enabled) {
|
|
47
|
-
logger.debug("Tracing disabled (no
|
|
47
|
+
logger.debug("Tracing disabled (no OTEL_EXPORTER_OTLP_ENDPOINT configured)");
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
50
|
const resource = new resources_1.Resource({
|
|
@@ -52,16 +52,15 @@ function initTracing(config) {
|
|
|
52
52
|
[semantic_conventions_1.ATTR_SERVICE_VERSION]: config.serviceVersion || "1.0.0",
|
|
53
53
|
});
|
|
54
54
|
provider = new sdk_trace_node_1.NodeTracerProvider({ resource });
|
|
55
|
-
// Configure OTLP exporter to send traces to Tempo
|
|
56
55
|
const exporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({
|
|
57
|
-
url: config.
|
|
56
|
+
url: config.otlpEndpoint,
|
|
58
57
|
timeoutMillis: 30000, // 30 second timeout for reliability
|
|
59
58
|
});
|
|
60
59
|
// Use SimpleSpanProcessor for immediate export (better for short-lived workers)
|
|
61
60
|
provider.addSpanProcessor(new sdk_trace_node_1.SimpleSpanProcessor(exporter));
|
|
62
61
|
provider.register();
|
|
63
62
|
tracer = api_1.trace.getTracer(config.serviceName, config.serviceVersion);
|
|
64
|
-
logger.info(`Tracing initialized: ${config.serviceName} -> ${config.
|
|
63
|
+
logger.info(`Tracing initialized: ${config.serviceName} -> ${config.otlpEndpoint}`);
|
|
65
64
|
}
|
|
66
65
|
/**
|
|
67
66
|
* Get the configured tracer. Returns null if not initialized.
|
package/dist/otel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel.js","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAsCH,
|
|
1
|
+
{"version":3,"file":"otel.js","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"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"}
|
package/dist/sentry.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Initialize Sentry with configuration from environment variables
|
|
3
|
-
*
|
|
4
|
-
* Uses dynamic import to avoid module resolution issues in dev mode
|
|
2
|
+
* Initialize Sentry with configuration from environment variables.
|
|
3
|
+
* Only initializes if SENTRY_DSN is set — no implicit error reporting.
|
|
4
|
+
* Uses dynamic import to avoid module resolution issues in dev mode.
|
|
5
5
|
*/
|
|
6
6
|
export declare function initSentry(): Promise<void>;
|
|
7
7
|
/**
|
package/dist/sentry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../src/sentry.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,wBAAsB,UAAU,
|
|
1
|
+
{"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../src/sentry.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,wBAAsB,UAAU,kBA6B/B;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,cAAc,cAAc,CAAC,GAAG,IAAI,CAEhE"}
|
package/dist/sentry.js
CHANGED
|
@@ -46,16 +46,19 @@ function getLogger() {
|
|
|
46
46
|
}
|
|
47
47
|
let sentryInstance = null;
|
|
48
48
|
/**
|
|
49
|
-
* Initialize Sentry with configuration from environment variables
|
|
50
|
-
*
|
|
51
|
-
* Uses dynamic import to avoid module resolution issues in dev mode
|
|
49
|
+
* Initialize Sentry with configuration from environment variables.
|
|
50
|
+
* Only initializes if SENTRY_DSN is set — no implicit error reporting.
|
|
51
|
+
* Uses dynamic import to avoid module resolution issues in dev mode.
|
|
52
52
|
*/
|
|
53
53
|
async function initSentry() {
|
|
54
|
+
const sentryDsn = process.env.SENTRY_DSN;
|
|
55
|
+
if (!sentryDsn) {
|
|
56
|
+
getLogger().debug("Sentry disabled (no SENTRY_DSN configured)");
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
54
59
|
try {
|
|
55
60
|
const Sentry = await Promise.resolve().then(() => __importStar(require("@sentry/node")));
|
|
56
61
|
sentryInstance = Sentry;
|
|
57
|
-
const sentryDsn = process.env.SENTRY_DSN ||
|
|
58
|
-
"https://c5910e58d1a134d64ff93a95a9c535bb@o4507291398897664.ingest.us.sentry.io/4511097466781696";
|
|
59
62
|
Sentry.init({
|
|
60
63
|
dsn: sentryDsn,
|
|
61
64
|
sendDefaultPii: true,
|
|
@@ -69,7 +72,7 @@ async function initSentry() {
|
|
|
69
72
|
getLogger().debug("Sentry monitoring initialized");
|
|
70
73
|
}
|
|
71
74
|
catch (error) {
|
|
72
|
-
getLogger().warn("
|
|
75
|
+
getLogger().warn("Sentry initialization failed (continuing without monitoring):", error);
|
|
73
76
|
}
|
|
74
77
|
}
|
|
75
78
|
/**
|
package/dist/sentry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.js","sourceRoot":"","sources":["../src/sentry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,
|
|
1
|
+
{"version":3,"file":"sentry.js","sourceRoot":"","sources":["../src/sentry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,gCA6BC;AAMD,8BAEC;AAvDD,qCAAqD;AAErD,0DAA0D;AAC1D,IAAI,OAAO,GAAkB,IAAI,CAAC;AAClC,SAAS,SAAS;IAChB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAA,qBAAY,EAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,IAAI,cAAc,GAAyC,IAAI,CAAC;AAEhE;;;;GAIG;AACI,KAAK,UAAU,UAAU;IAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACzC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,EAAE,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,wDAAa,cAAc,GAAC,CAAC;QAC5C,cAAc,GAAG,MAAM,CAAC;QAExB,MAAM,CAAC,IAAI,CAAC;YACV,GAAG,EAAE,SAAS;YACd,cAAc,EAAE,IAAI;YACpB,wBAAwB,EAAE,GAAG;YAC7B,gBAAgB,EAAE,GAAG,EAAE,+CAA+C;YACtE,YAAY,EAAE;gBACZ,MAAM,CAAC,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;gBACtE,MAAM,CAAC,gBAAgB,EAAE;aAC1B;SACF,CAAC,CAAC;QAEH,SAAS,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,EAAE,CAAC,IAAI,CACd,+DAA+D,EAC/D,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,SAAS;IACvB,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobu/core",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.9",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Core types and utilities for Lobu agent platform",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,12 +16,6 @@
|
|
|
16
16
|
"bun": "./src/__tests__/fixtures/index.ts"
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
|
-
"scripts": {
|
|
20
|
-
"build": "tsc",
|
|
21
|
-
"dev": "tsc --watch",
|
|
22
|
-
"test": "bun test",
|
|
23
|
-
"typecheck": "tsc --noEmit"
|
|
24
|
-
},
|
|
25
19
|
"dependencies": {
|
|
26
20
|
"@opentelemetry/api": "^1.9.0",
|
|
27
21
|
"@opentelemetry/sdk-trace-node": "^1.30.0",
|
|
@@ -36,5 +30,11 @@
|
|
|
36
30
|
"@types/bun": "1.2.11",
|
|
37
31
|
"@types/node": "^20.0.0",
|
|
38
32
|
"typescript": "^5.8.3"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"build": "tsc",
|
|
36
|
+
"dev": "tsc --watch",
|
|
37
|
+
"test": "bun test",
|
|
38
|
+
"typecheck": "tsc --noEmit"
|
|
39
39
|
}
|
|
40
|
-
}
|
|
40
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -17,6 +17,26 @@ export type {
|
|
|
17
17
|
StoredConnection,
|
|
18
18
|
} from "./agent-store";
|
|
19
19
|
export { findTemplateAgentId } from "./agent-store";
|
|
20
|
+
// Agent Settings API response types (for UI consumers)
|
|
21
|
+
export type {
|
|
22
|
+
AgentConfigResponse,
|
|
23
|
+
AgentInfo,
|
|
24
|
+
CatalogProvider,
|
|
25
|
+
Connection,
|
|
26
|
+
McpConfig,
|
|
27
|
+
ModelOption,
|
|
28
|
+
ModelSelectionState,
|
|
29
|
+
PermissionGrant,
|
|
30
|
+
PrefillMcp,
|
|
31
|
+
PrefillSkill,
|
|
32
|
+
ProviderInfo,
|
|
33
|
+
ProviderState,
|
|
34
|
+
ProviderStatus,
|
|
35
|
+
Schedule,
|
|
36
|
+
SettingsSnapshot,
|
|
37
|
+
Skill,
|
|
38
|
+
SkillMcpServerInfo,
|
|
39
|
+
} from "./api-types";
|
|
20
40
|
export type { CommandContext, CommandDefinition } from "./command-registry";
|
|
21
41
|
// Command registry
|
|
22
42
|
export { CommandRegistry } from "./command-registry";
|
|
@@ -33,7 +53,7 @@ export * from "./logger";
|
|
|
33
53
|
export type { ActionButton, ModuleSessionContext } from "./modules";
|
|
34
54
|
export * from "./modules";
|
|
35
55
|
export type { OtelConfig, Span, Tracer } from "./otel";
|
|
36
|
-
// OpenTelemetry tracing
|
|
56
|
+
// OpenTelemetry tracing
|
|
37
57
|
export {
|
|
38
58
|
createChildSpan,
|
|
39
59
|
createRootSpan,
|
|
@@ -80,13 +100,13 @@ export type {
|
|
|
80
100
|
InstructionContext,
|
|
81
101
|
InstructionProvider,
|
|
82
102
|
LogLevel,
|
|
103
|
+
McpOAuthConfig,
|
|
83
104
|
McpServerConfig,
|
|
84
105
|
NetworkConfig,
|
|
85
106
|
NixConfig,
|
|
86
107
|
RegistryEntry,
|
|
87
108
|
SessionContext,
|
|
88
109
|
SkillConfig,
|
|
89
|
-
McpOAuthConfig,
|
|
90
110
|
SkillMcpServer,
|
|
91
111
|
SkillsConfig,
|
|
92
112
|
SuggestedPrompt,
|
|
@@ -96,27 +116,6 @@ export type {
|
|
|
96
116
|
UserSuggestion,
|
|
97
117
|
} from "./types";
|
|
98
118
|
|
|
99
|
-
// Agent Settings API response types (for UI consumers)
|
|
100
|
-
export type {
|
|
101
|
-
AgentConfigResponse,
|
|
102
|
-
AgentInfo,
|
|
103
|
-
CatalogProvider,
|
|
104
|
-
Connection,
|
|
105
|
-
McpConfig,
|
|
106
|
-
ModelOption,
|
|
107
|
-
ModelSelectionState,
|
|
108
|
-
PermissionGrant,
|
|
109
|
-
PrefillMcp,
|
|
110
|
-
PrefillSkill,
|
|
111
|
-
ProviderInfo,
|
|
112
|
-
ProviderState,
|
|
113
|
-
ProviderStatus,
|
|
114
|
-
Schedule,
|
|
115
|
-
SettingsSnapshot,
|
|
116
|
-
Skill,
|
|
117
|
-
SkillMcpServerInfo,
|
|
118
|
-
} from "./api-types";
|
|
119
|
-
|
|
120
119
|
// Utilities
|
|
121
120
|
export * from "./utils/encryption";
|
|
122
121
|
export * from "./utils/env";
|
package/src/otel.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* OpenTelemetry tracing setup for distributed tracing
|
|
3
|
-
*
|
|
2
|
+
* OpenTelemetry tracing setup for distributed tracing.
|
|
3
|
+
* Ships traces via OTLP HTTP to any compatible collector (Tempo, Jaeger, Datadog, etc.).
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import type { Span, Tracer } from "@opentelemetry/api";
|
|
@@ -25,7 +25,7 @@ let tracer: Tracer | null = null;
|
|
|
25
25
|
export interface OtelConfig {
|
|
26
26
|
serviceName: string;
|
|
27
27
|
serviceVersion?: string;
|
|
28
|
-
|
|
28
|
+
otlpEndpoint?: string; // e.g., "http://collector:4318/v1/traces"
|
|
29
29
|
enabled?: boolean;
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -36,7 +36,7 @@ export interface OtelConfig {
|
|
|
36
36
|
* @example
|
|
37
37
|
* initTracing({
|
|
38
38
|
* serviceName: "lobu-gateway",
|
|
39
|
-
*
|
|
39
|
+
* otlpEndpoint: "http://collector:4318/v1/traces",
|
|
40
40
|
* });
|
|
41
41
|
*/
|
|
42
42
|
export function initTracing(config: OtelConfig): void {
|
|
@@ -44,9 +44,11 @@ export function initTracing(config: OtelConfig): void {
|
|
|
44
44
|
return; // Already initialized
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
const enabled = config.enabled ?? !!config.
|
|
47
|
+
const enabled = config.enabled ?? !!config.otlpEndpoint;
|
|
48
48
|
if (!enabled) {
|
|
49
|
-
logger.debug(
|
|
49
|
+
logger.debug(
|
|
50
|
+
"Tracing disabled (no OTEL_EXPORTER_OTLP_ENDPOINT configured)"
|
|
51
|
+
);
|
|
50
52
|
return;
|
|
51
53
|
}
|
|
52
54
|
|
|
@@ -57,9 +59,8 @@ export function initTracing(config: OtelConfig): void {
|
|
|
57
59
|
|
|
58
60
|
provider = new NodeTracerProvider({ resource });
|
|
59
61
|
|
|
60
|
-
// Configure OTLP exporter to send traces to Tempo
|
|
61
62
|
const exporter = new OTLPTraceExporter({
|
|
62
|
-
url: config.
|
|
63
|
+
url: config.otlpEndpoint,
|
|
63
64
|
timeoutMillis: 30000, // 30 second timeout for reliability
|
|
64
65
|
});
|
|
65
66
|
|
|
@@ -70,7 +71,7 @@ export function initTracing(config: OtelConfig): void {
|
|
|
70
71
|
tracer = trace.getTracer(config.serviceName, config.serviceVersion);
|
|
71
72
|
|
|
72
73
|
logger.info(
|
|
73
|
-
`Tracing initialized: ${config.serviceName} -> ${config.
|
|
74
|
+
`Tracing initialized: ${config.serviceName} -> ${config.otlpEndpoint}`
|
|
74
75
|
);
|
|
75
76
|
}
|
|
76
77
|
|
|
@@ -301,6 +302,6 @@ export function getTraceparent(span: Span | null): string | null {
|
|
|
301
302
|
return `00-${ctx.traceId}-${ctx.spanId}-01`;
|
|
302
303
|
}
|
|
303
304
|
|
|
305
|
+
export type { Span, Tracer };
|
|
304
306
|
// Re-export OpenTelemetry types for convenience
|
|
305
307
|
export { SpanKind, SpanStatusCode };
|
|
306
|
-
export type { Span, Tracer };
|
package/src/sentry.ts
CHANGED
|
@@ -12,19 +12,21 @@ function getLogger(): Logger {
|
|
|
12
12
|
let sentryInstance: typeof import("@sentry/node") | null = null;
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
* Initialize Sentry with configuration from environment variables
|
|
16
|
-
*
|
|
17
|
-
* Uses dynamic import to avoid module resolution issues in dev mode
|
|
15
|
+
* Initialize Sentry with configuration from environment variables.
|
|
16
|
+
* Only initializes if SENTRY_DSN is set — no implicit error reporting.
|
|
17
|
+
* Uses dynamic import to avoid module resolution issues in dev mode.
|
|
18
18
|
*/
|
|
19
19
|
export async function initSentry() {
|
|
20
|
+
const sentryDsn = process.env.SENTRY_DSN;
|
|
21
|
+
if (!sentryDsn) {
|
|
22
|
+
getLogger().debug("Sentry disabled (no SENTRY_DSN configured)");
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
20
26
|
try {
|
|
21
27
|
const Sentry = await import("@sentry/node");
|
|
22
28
|
sentryInstance = Sentry;
|
|
23
29
|
|
|
24
|
-
const sentryDsn =
|
|
25
|
-
process.env.SENTRY_DSN ||
|
|
26
|
-
"https://c5910e58d1a134d64ff93a95a9c535bb@o4507291398897664.ingest.us.sentry.io/4511097466781696";
|
|
27
|
-
|
|
28
30
|
Sentry.init({
|
|
29
31
|
dsn: sentryDsn,
|
|
30
32
|
sendDefaultPii: true,
|
|
@@ -39,7 +41,7 @@ export async function initSentry() {
|
|
|
39
41
|
getLogger().debug("Sentry monitoring initialized");
|
|
40
42
|
} catch (error) {
|
|
41
43
|
getLogger().warn(
|
|
42
|
-
"
|
|
44
|
+
"Sentry initialization failed (continuing without monitoring):",
|
|
43
45
|
error
|
|
44
46
|
);
|
|
45
47
|
}
|