neatlogs 1.1.19 → 1.1.21
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/README.md +34 -2
- package/dist/ai-sdk.cjs +186 -11
- package/dist/ai-sdk.cjs.map +1 -1
- package/dist/ai-sdk.d.ts +17 -7
- package/dist/ai-sdk.mjs +189 -12
- package/dist/ai-sdk.mjs.map +1 -1
- package/dist/anthropic.cjs +31 -14
- package/dist/anthropic.cjs.map +1 -1
- package/dist/anthropic.mjs +31 -14
- package/dist/anthropic.mjs.map +1 -1
- package/dist/azure-openai.cjs +31 -14
- package/dist/azure-openai.cjs.map +1 -1
- package/dist/azure-openai.mjs +31 -14
- package/dist/azure-openai.mjs.map +1 -1
- package/dist/bedrock.cjs +31 -14
- package/dist/bedrock.cjs.map +1 -1
- package/dist/bedrock.mjs +31 -14
- package/dist/bedrock.mjs.map +1 -1
- package/dist/browser.cjs +26 -1
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/browser.mjs +26 -1
- package/dist/browser.mjs.map +1 -1
- package/dist/claude-agent-sdk.cjs +2 -2
- package/dist/claude-agent-sdk.cjs.map +1 -1
- package/dist/claude-agent-sdk.mjs +2 -2
- package/dist/claude-agent-sdk.mjs.map +1 -1
- package/dist/cli.cjs +452 -200
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.mjs +427 -173
- package/dist/cli.mjs.map +1 -1
- package/dist/google-genai.cjs +31 -14
- package/dist/google-genai.cjs.map +1 -1
- package/dist/google-genai.mjs +31 -14
- package/dist/google-genai.mjs.map +1 -1
- package/dist/index.cjs +652 -333
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +15 -6
- package/dist/index.mjs +505 -184
- package/dist/index.mjs.map +1 -1
- package/dist/langchain.cjs +3 -3
- package/dist/langchain.cjs.map +1 -1
- package/dist/langchain.mjs +3 -3
- package/dist/langchain.mjs.map +1 -1
- package/dist/mastra-wrap.cjs +2 -2
- package/dist/mastra-wrap.cjs.map +1 -1
- package/dist/mastra-wrap.mjs +2 -2
- package/dist/mastra-wrap.mjs.map +1 -1
- package/dist/openai-agents.cjs.map +1 -1
- package/dist/openai-agents.mjs.map +1 -1
- package/dist/openai.cjs +31 -14
- package/dist/openai.cjs.map +1 -1
- package/dist/openai.mjs +31 -14
- package/dist/openai.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/dist/openrouter-agent.cjs +31 -14
- package/dist/openrouter-agent.cjs.map +1 -1
- package/dist/openrouter-agent.mjs +31 -14
- package/dist/openrouter-agent.mjs.map +1 -1
- package/dist/pi-agent.cjs.map +1 -1
- package/dist/pi-agent.mjs.map +1 -1
- package/dist/vertex-ai.cjs +31 -14
- package/dist/vertex-ai.cjs.map +1 -1
- package/dist/vertex-ai.mjs +31 -14
- package/dist/vertex-ai.mjs.map +1 -1
- package/package.json +1 -1
package/dist/openai.mjs
CHANGED
|
@@ -167,11 +167,11 @@ function getActiveNeatlogsSpan() {
|
|
|
167
167
|
function getNeatlogsParentContext(baseContext) {
|
|
168
168
|
return baseContext ?? getNeatlogsActiveContext();
|
|
169
169
|
}
|
|
170
|
-
function withNeatlogsSpan(span, fn, baseContext) {
|
|
170
|
+
function withNeatlogsSpan(span, fn, baseContext, rootSpan) {
|
|
171
171
|
const base = baseContext ?? getNeatlogsActiveContext();
|
|
172
172
|
let ctx = otelTrace.setSpan(base, span);
|
|
173
173
|
if (base.getValue(NEATLOGS_ROOT_SPAN_KEY) === void 0) {
|
|
174
|
-
ctx = ctx.setValue(NEATLOGS_ROOT_SPAN_KEY, span);
|
|
174
|
+
ctx = ctx.setValue(NEATLOGS_ROOT_SPAN_KEY, rootSpan ?? span);
|
|
175
175
|
}
|
|
176
176
|
return privateContextStorage.run(ctx, fn);
|
|
177
177
|
}
|
|
@@ -916,7 +916,8 @@ var USER_PROMPT_TEMPLATE_KEY = createContextKey2("neatlogs.user_prompt_template"
|
|
|
916
916
|
var USER_PROMPT_VARIABLES_KEY = createContextKey2("neatlogs.user_prompt_variables");
|
|
917
917
|
|
|
918
918
|
// src/core/auto-root.ts
|
|
919
|
-
var
|
|
919
|
+
var boundAutoRoots = /* @__PURE__ */ new WeakMap();
|
|
920
|
+
var ROOT_KINDS = /* @__PURE__ */ new Set(["workflow", "chain", "agent", "mcp_tool", "llm"]);
|
|
920
921
|
function autoRootEnabled() {
|
|
921
922
|
const val = (process.env.NEATLOGS_AUTO_ROOT ?? "").trim().toLowerCase();
|
|
922
923
|
return !["false", "0", "no", "off"].includes(val);
|
|
@@ -931,11 +932,12 @@ function resolveRootWorkflowName() {
|
|
|
931
932
|
}
|
|
932
933
|
return "workflow";
|
|
933
934
|
}
|
|
934
|
-
function
|
|
935
|
+
function stampRootIdentity(root) {
|
|
935
936
|
applySessionAttributes(root, void 0, true);
|
|
936
937
|
applyEndUserAttributes(root, void 0, void 0, true);
|
|
937
938
|
}
|
|
938
|
-
function
|
|
939
|
+
function bindSpanToAutoRoot(child, root) {
|
|
940
|
+
if (!root) return child;
|
|
939
941
|
let ended = false;
|
|
940
942
|
const proxy = new Proxy(child, {
|
|
941
943
|
get(target, prop, _receiver) {
|
|
@@ -957,6 +959,7 @@ function wrapSpanWithRoot(child, root) {
|
|
|
957
959
|
return typeof value === "function" ? value.bind(target) : value;
|
|
958
960
|
}
|
|
959
961
|
});
|
|
962
|
+
boundAutoRoots.set(proxy, root);
|
|
960
963
|
aliasMediaCaptureSpan(proxy, child);
|
|
961
964
|
return proxy;
|
|
962
965
|
}
|
|
@@ -969,27 +972,41 @@ var AutoRootTracer = class {
|
|
|
969
972
|
const kind = String(
|
|
970
973
|
options?.attributes?.["neatlogs.span.kind"] ?? ""
|
|
971
974
|
).toLowerCase();
|
|
975
|
+
const hasExplicitContext = context !== void 0;
|
|
972
976
|
const ctx = context ?? getNeatlogsParentContext();
|
|
973
977
|
const parent = getActiveNeatlogsSpan();
|
|
974
|
-
const
|
|
978
|
+
const isParentless = !hasExplicitContext && !(parent !== void 0 && parent.isRecording());
|
|
979
|
+
const needsRoot = autoRootEnabled() && !ROOT_KINDS.has(kind) && isParentless;
|
|
975
980
|
if (!needsRoot) {
|
|
976
|
-
|
|
981
|
+
const span = this._tracer.startSpan(name, options, ctx);
|
|
982
|
+
if (isParentless && ROOT_KINDS.has(kind)) stampRootIdentity(span);
|
|
983
|
+
return span;
|
|
977
984
|
}
|
|
978
985
|
const root = this._tracer.startSpan(
|
|
979
986
|
resolveRootWorkflowName(),
|
|
980
987
|
{ attributes: { "neatlogs.span.kind": "workflow", "neatlogs.auto_root": true } },
|
|
981
988
|
ctx
|
|
982
989
|
);
|
|
983
|
-
|
|
990
|
+
stampRootIdentity(root);
|
|
984
991
|
const childCtx = otelTrace3.setSpan(ctx, root);
|
|
985
992
|
const child = this._tracer.startSpan(name, options, childCtx);
|
|
986
|
-
return
|
|
993
|
+
return bindSpanToAutoRoot(child, root);
|
|
987
994
|
}
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
995
|
+
startActiveSpan = ((name, ...args) => {
|
|
996
|
+
const callback = args.at(-1);
|
|
997
|
+
if (typeof callback !== "function") {
|
|
998
|
+
throw new TypeError("startActiveSpan requires a callback");
|
|
999
|
+
}
|
|
1000
|
+
const options = args.length >= 2 ? args[0] : void 0;
|
|
1001
|
+
const parentContext = args.length >= 3 ? args[1] : getNeatlogsParentContext();
|
|
1002
|
+
const span = args.length >= 3 ? this.startSpan(name, options, parentContext) : this.startSpan(name, options);
|
|
1003
|
+
return withNeatlogsSpan(
|
|
1004
|
+
span,
|
|
1005
|
+
() => callback(span),
|
|
1006
|
+
parentContext,
|
|
1007
|
+
boundAutoRoots.get(span)
|
|
1008
|
+
);
|
|
1009
|
+
});
|
|
993
1010
|
};
|
|
994
1011
|
function getProviderTracer(name) {
|
|
995
1012
|
return new AutoRootTracer(getNeatlogsTracer(name));
|