neatlogs 1.1.2 → 1.1.4
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/browser.cjs +11 -11
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.ts +15 -15
- package/dist/browser.mjs +11 -11
- package/dist/browser.mjs.map +1 -1
- package/dist/index.cjs +83 -81
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +83 -81
- package/dist/index.mjs.map +1 -1
- package/dist/opencode-plugin.cjs +1 -1
- package/dist/opencode-plugin.cjs.map +1 -1
- package/dist/opencode-plugin.mjs +1 -1
- package/dist/opencode-plugin.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -590,6 +590,6 @@ declare function registerCrewaiTask(task: {
|
|
|
590
590
|
* SDK version. Kept in sync with package.json by the `version:sync` script
|
|
591
591
|
* (runs automatically on `prebuild`). Do not edit by hand — bump package.json.
|
|
592
592
|
*/
|
|
593
|
-
declare const __version__ = "1.1.
|
|
593
|
+
declare const __version__ = "1.1.4";
|
|
594
594
|
|
|
595
595
|
export { type CachedPrompt, type InitOptions, type MaskFunction, PromptApiError, PromptClient, PromptClientError, PromptHandle, type PromptMessage, PromptNotFoundError, PromptTemplate, Span, type SpanKind, type SpanOptions, type TraceOptions, UserPromptTemplate, __version__, bindTemplates, createPrompt, deletePrompt, fetchPrompt, flush, getMastraObservability, getPrompt, getSessionConfig, identify, init, isDebugEnabled, listPrompts, log, registerCrewaiTask, removeTag, saveAsVersion, shutdown, span, trace, updatePrompt };
|
package/dist/index.mjs
CHANGED
|
@@ -2136,9 +2136,84 @@ function applyMask(spanData, globalMask) {
|
|
|
2136
2136
|
}
|
|
2137
2137
|
}
|
|
2138
2138
|
|
|
2139
|
-
// src/
|
|
2139
|
+
// src/core/identity.ts
|
|
2140
2140
|
import { AsyncLocalStorage } from "async_hooks";
|
|
2141
|
-
var
|
|
2141
|
+
var _GLOBAL_KEY = /* @__PURE__ */ Symbol.for("neatlogs.identity.storage");
|
|
2142
|
+
var _g = globalThis;
|
|
2143
|
+
var _storage = _g[_GLOBAL_KEY] ?? (_g[_GLOBAL_KEY] = new AsyncLocalStorage());
|
|
2144
|
+
function currentSessionId() {
|
|
2145
|
+
return _storage.getStore()?.sessionId;
|
|
2146
|
+
}
|
|
2147
|
+
function currentEndUserId() {
|
|
2148
|
+
return _storage.getStore()?.endUserId;
|
|
2149
|
+
}
|
|
2150
|
+
function currentEndUserMetadata() {
|
|
2151
|
+
return _storage.getStore()?.endUserMetadata;
|
|
2152
|
+
}
|
|
2153
|
+
function identify(opts, fn) {
|
|
2154
|
+
const prev = _storage.getStore();
|
|
2155
|
+
const next = { ...prev ?? {} };
|
|
2156
|
+
if (opts.sessionId !== void 0) next.sessionId = opts.sessionId;
|
|
2157
|
+
if (opts.endUserId !== void 0) next.endUserId = opts.endUserId;
|
|
2158
|
+
if (opts.endUserMetadata !== void 0) next.endUserMetadata = opts.endUserMetadata;
|
|
2159
|
+
return _storage.run(next, fn);
|
|
2160
|
+
}
|
|
2161
|
+
|
|
2162
|
+
// src/core/session.ts
|
|
2163
|
+
var logger4 = getLogger();
|
|
2164
|
+
var SESSION_ID_KEY = "neatlogs.session.id";
|
|
2165
|
+
function applySessionAttributes(span2, sessionId, isRoot = true) {
|
|
2166
|
+
const resolved = isRoot ? sessionId ?? currentSessionId() : sessionId;
|
|
2167
|
+
if (!resolved) return;
|
|
2168
|
+
if (!isRoot) {
|
|
2169
|
+
logger4.debug(
|
|
2170
|
+
"[session] Ignoring sessionId on a non-root span \u2014 declare it on the trace root (top-level trace()/span()) or identify()."
|
|
2171
|
+
);
|
|
2172
|
+
return;
|
|
2173
|
+
}
|
|
2174
|
+
span2.setAttribute(SESSION_ID_KEY, String(resolved));
|
|
2175
|
+
}
|
|
2176
|
+
|
|
2177
|
+
// src/core/end-user.ts
|
|
2178
|
+
import { trace as otelTrace, context as otelContext } from "@opentelemetry/api";
|
|
2179
|
+
var logger5 = getLogger();
|
|
2180
|
+
var END_USER_ID_KEY = "neatlogs.end_user.id";
|
|
2181
|
+
var END_USER_METADATA_KEY = "neatlogs.end_user.metadata";
|
|
2182
|
+
function normalizeEndUserMetadata(metadata) {
|
|
2183
|
+
if (metadata === void 0 || metadata === null) return void 0;
|
|
2184
|
+
if (typeof metadata === "string") return metadata || void 0;
|
|
2185
|
+
try {
|
|
2186
|
+
return JSON.stringify(metadata);
|
|
2187
|
+
} catch {
|
|
2188
|
+
return JSON.stringify(String(metadata));
|
|
2189
|
+
}
|
|
2190
|
+
}
|
|
2191
|
+
function isRootSpan() {
|
|
2192
|
+
const current = otelTrace.getSpan(otelContext.active());
|
|
2193
|
+
return !(current && current.isRecording());
|
|
2194
|
+
}
|
|
2195
|
+
function applyEndUserAttributes(span2, endUserId, endUserMetadata, isRoot = true) {
|
|
2196
|
+
const resolvedId = isRoot ? endUserId ?? currentEndUserId() : endUserId;
|
|
2197
|
+
const resolvedMeta = isRoot ? endUserMetadata ?? currentEndUserMetadata() : endUserMetadata;
|
|
2198
|
+
if (!resolvedId && !resolvedMeta) return;
|
|
2199
|
+
if (!isRoot) {
|
|
2200
|
+
logger5.debug(
|
|
2201
|
+
"[end_user] Ignoring endUserId/endUserMetadata on a non-root span \u2014 declare it on the trace root (top-level trace()/span()) or identify()."
|
|
2202
|
+
);
|
|
2203
|
+
return;
|
|
2204
|
+
}
|
|
2205
|
+
if (resolvedId) {
|
|
2206
|
+
span2.setAttribute(END_USER_ID_KEY, String(resolvedId));
|
|
2207
|
+
}
|
|
2208
|
+
const metaJson = normalizeEndUserMetadata(resolvedMeta);
|
|
2209
|
+
if (metaJson) {
|
|
2210
|
+
span2.setAttribute(END_USER_METADATA_KEY, metaJson);
|
|
2211
|
+
}
|
|
2212
|
+
}
|
|
2213
|
+
|
|
2214
|
+
// src/prompt/template.ts
|
|
2215
|
+
import { AsyncLocalStorage as AsyncLocalStorage2 } from "async_hooks";
|
|
2216
|
+
var _promptStorage = new AsyncLocalStorage2();
|
|
2142
2217
|
var PromptContext = class {
|
|
2143
2218
|
/**
|
|
2144
2219
|
* Store system prompt template and variables in context.
|
|
@@ -2165,7 +2240,7 @@ var PromptContext = class {
|
|
|
2165
2240
|
_promptStorage.enterWith(void 0);
|
|
2166
2241
|
}
|
|
2167
2242
|
};
|
|
2168
|
-
var _userPromptStorage = new
|
|
2243
|
+
var _userPromptStorage = new AsyncLocalStorage2();
|
|
2169
2244
|
var UserPromptContext = class {
|
|
2170
2245
|
/**
|
|
2171
2246
|
* Store user prompt template and variables in context.
|
|
@@ -2297,83 +2372,6 @@ import {
|
|
|
2297
2372
|
SpanStatusCode as SpanStatusCode2
|
|
2298
2373
|
} from "@opentelemetry/api";
|
|
2299
2374
|
|
|
2300
|
-
// src/core/end-user.ts
|
|
2301
|
-
import { trace as otelTrace, context as otelContext } from "@opentelemetry/api";
|
|
2302
|
-
|
|
2303
|
-
// src/core/identity.ts
|
|
2304
|
-
import { AsyncLocalStorage as AsyncLocalStorage2 } from "async_hooks";
|
|
2305
|
-
var _GLOBAL_KEY = /* @__PURE__ */ Symbol.for("neatlogs.identity.storage");
|
|
2306
|
-
var _g = globalThis;
|
|
2307
|
-
var _storage = _g[_GLOBAL_KEY] ?? (_g[_GLOBAL_KEY] = new AsyncLocalStorage2());
|
|
2308
|
-
function currentSessionId() {
|
|
2309
|
-
return _storage.getStore()?.sessionId;
|
|
2310
|
-
}
|
|
2311
|
-
function currentEndUserId() {
|
|
2312
|
-
return _storage.getStore()?.endUserId;
|
|
2313
|
-
}
|
|
2314
|
-
function currentEndUserMetadata() {
|
|
2315
|
-
return _storage.getStore()?.endUserMetadata;
|
|
2316
|
-
}
|
|
2317
|
-
function identify(opts, fn) {
|
|
2318
|
-
const prev = _storage.getStore();
|
|
2319
|
-
const next = { ...prev ?? {} };
|
|
2320
|
-
if (opts.sessionId !== void 0) next.sessionId = opts.sessionId;
|
|
2321
|
-
if (opts.endUserId !== void 0) next.endUserId = opts.endUserId;
|
|
2322
|
-
if (opts.endUserMetadata !== void 0) next.endUserMetadata = opts.endUserMetadata;
|
|
2323
|
-
return _storage.run(next, fn);
|
|
2324
|
-
}
|
|
2325
|
-
|
|
2326
|
-
// src/core/end-user.ts
|
|
2327
|
-
var logger4 = getLogger();
|
|
2328
|
-
var END_USER_ID_KEY = "neatlogs.end_user.id";
|
|
2329
|
-
var END_USER_METADATA_KEY = "neatlogs.end_user.metadata";
|
|
2330
|
-
function normalizeEndUserMetadata(metadata) {
|
|
2331
|
-
if (metadata === void 0 || metadata === null) return void 0;
|
|
2332
|
-
if (typeof metadata === "string") return metadata || void 0;
|
|
2333
|
-
try {
|
|
2334
|
-
return JSON.stringify(metadata);
|
|
2335
|
-
} catch {
|
|
2336
|
-
return JSON.stringify(String(metadata));
|
|
2337
|
-
}
|
|
2338
|
-
}
|
|
2339
|
-
function isRootSpan() {
|
|
2340
|
-
const current = otelTrace.getSpan(otelContext.active());
|
|
2341
|
-
return !(current && current.isRecording());
|
|
2342
|
-
}
|
|
2343
|
-
function applyEndUserAttributes(span2, endUserId, endUserMetadata, isRoot = true) {
|
|
2344
|
-
const resolvedId = isRoot ? endUserId ?? currentEndUserId() : endUserId;
|
|
2345
|
-
const resolvedMeta = isRoot ? endUserMetadata ?? currentEndUserMetadata() : endUserMetadata;
|
|
2346
|
-
if (!resolvedId && !resolvedMeta) return;
|
|
2347
|
-
if (!isRoot) {
|
|
2348
|
-
logger4.debug(
|
|
2349
|
-
"[end_user] Ignoring endUserId/endUserMetadata on a non-root span \u2014 declare it on the trace root (top-level trace()/span()) or identify()."
|
|
2350
|
-
);
|
|
2351
|
-
return;
|
|
2352
|
-
}
|
|
2353
|
-
if (resolvedId) {
|
|
2354
|
-
span2.setAttribute(END_USER_ID_KEY, String(resolvedId));
|
|
2355
|
-
}
|
|
2356
|
-
const metaJson = normalizeEndUserMetadata(resolvedMeta);
|
|
2357
|
-
if (metaJson) {
|
|
2358
|
-
span2.setAttribute(END_USER_METADATA_KEY, metaJson);
|
|
2359
|
-
}
|
|
2360
|
-
}
|
|
2361
|
-
|
|
2362
|
-
// src/core/session.ts
|
|
2363
|
-
var logger5 = getLogger();
|
|
2364
|
-
var SESSION_ID_KEY = "neatlogs.session.id";
|
|
2365
|
-
function applySessionAttributes(span2, sessionId, isRoot = true) {
|
|
2366
|
-
const resolved = isRoot ? sessionId ?? currentSessionId() : sessionId;
|
|
2367
|
-
if (!resolved) return;
|
|
2368
|
-
if (!isRoot) {
|
|
2369
|
-
logger5.debug(
|
|
2370
|
-
"[session] Ignoring sessionId on a non-root span \u2014 declare it on the trace root (top-level trace()/span()) or identify()."
|
|
2371
|
-
);
|
|
2372
|
-
return;
|
|
2373
|
-
}
|
|
2374
|
-
span2.setAttribute(SESSION_ID_KEY, String(resolved));
|
|
2375
|
-
}
|
|
2376
|
-
|
|
2377
2375
|
// src/decorators/base.ts
|
|
2378
2376
|
import { trace, SpanStatusCode } from "@opentelemetry/api";
|
|
2379
2377
|
var logger6 = getLogger();
|
|
@@ -4351,6 +4349,10 @@ var NeatlogsSpanProcessor = class {
|
|
|
4351
4349
|
onStart(span2, parentContext) {
|
|
4352
4350
|
const startTime = performance.now();
|
|
4353
4351
|
try {
|
|
4352
|
+
if (!span2.parentSpanId) {
|
|
4353
|
+
applySessionAttributes(span2, void 0, true);
|
|
4354
|
+
applyEndUserAttributes(span2, void 0, void 0, true);
|
|
4355
|
+
}
|
|
4354
4356
|
const attrs = span2.attributes ?? {};
|
|
4355
4357
|
const spanKind = attrs["openinference.span.kind"];
|
|
4356
4358
|
const spanName = typeof span2.name === "string" ? span2.name : "";
|
|
@@ -5743,7 +5745,7 @@ async function removeTag(name, tag) {
|
|
|
5743
5745
|
}
|
|
5744
5746
|
|
|
5745
5747
|
// src/version.ts
|
|
5746
|
-
var __version__ = "1.1.
|
|
5748
|
+
var __version__ = "1.1.4";
|
|
5747
5749
|
|
|
5748
5750
|
// src/init.ts
|
|
5749
5751
|
var logger13 = getLogger();
|