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/bedrock.cjs
CHANGED
|
@@ -179,11 +179,11 @@ function getActiveNeatlogsSpan() {
|
|
|
179
179
|
function getNeatlogsParentContext(baseContext) {
|
|
180
180
|
return baseContext ?? getNeatlogsActiveContext();
|
|
181
181
|
}
|
|
182
|
-
function withNeatlogsSpan(span, fn, baseContext) {
|
|
182
|
+
function withNeatlogsSpan(span, fn, baseContext, rootSpan) {
|
|
183
183
|
const base = baseContext ?? getNeatlogsActiveContext();
|
|
184
184
|
let ctx = import_api.trace.setSpan(base, span);
|
|
185
185
|
if (base.getValue(NEATLOGS_ROOT_SPAN_KEY) === void 0) {
|
|
186
|
-
ctx = ctx.setValue(NEATLOGS_ROOT_SPAN_KEY, span);
|
|
186
|
+
ctx = ctx.setValue(NEATLOGS_ROOT_SPAN_KEY, rootSpan ?? span);
|
|
187
187
|
}
|
|
188
188
|
return privateContextStorage.run(ctx, fn);
|
|
189
189
|
}
|
|
@@ -917,7 +917,8 @@ var USER_PROMPT_TEMPLATE_KEY = (0, import_api3.createContextKey)("neatlogs.user_
|
|
|
917
917
|
var USER_PROMPT_VARIABLES_KEY = (0, import_api3.createContextKey)("neatlogs.user_prompt_variables");
|
|
918
918
|
|
|
919
919
|
// src/core/auto-root.ts
|
|
920
|
-
var
|
|
920
|
+
var boundAutoRoots = /* @__PURE__ */ new WeakMap();
|
|
921
|
+
var ROOT_KINDS = /* @__PURE__ */ new Set(["workflow", "chain", "agent", "mcp_tool", "llm"]);
|
|
921
922
|
function autoRootEnabled() {
|
|
922
923
|
const val = (process.env.NEATLOGS_AUTO_ROOT ?? "").trim().toLowerCase();
|
|
923
924
|
return !["false", "0", "no", "off"].includes(val);
|
|
@@ -932,11 +933,12 @@ function resolveRootWorkflowName() {
|
|
|
932
933
|
}
|
|
933
934
|
return "workflow";
|
|
934
935
|
}
|
|
935
|
-
function
|
|
936
|
+
function stampRootIdentity(root) {
|
|
936
937
|
applySessionAttributes(root, void 0, true);
|
|
937
938
|
applyEndUserAttributes(root, void 0, void 0, true);
|
|
938
939
|
}
|
|
939
|
-
function
|
|
940
|
+
function bindSpanToAutoRoot(child, root) {
|
|
941
|
+
if (!root) return child;
|
|
940
942
|
let ended = false;
|
|
941
943
|
const proxy = new Proxy(child, {
|
|
942
944
|
get(target, prop, _receiver) {
|
|
@@ -958,6 +960,7 @@ function wrapSpanWithRoot(child, root) {
|
|
|
958
960
|
return typeof value === "function" ? value.bind(target) : value;
|
|
959
961
|
}
|
|
960
962
|
});
|
|
963
|
+
boundAutoRoots.set(proxy, root);
|
|
961
964
|
aliasMediaCaptureSpan(proxy, child);
|
|
962
965
|
return proxy;
|
|
963
966
|
}
|
|
@@ -970,27 +973,41 @@ var AutoRootTracer = class {
|
|
|
970
973
|
const kind = String(
|
|
971
974
|
options?.attributes?.["neatlogs.span.kind"] ?? ""
|
|
972
975
|
).toLowerCase();
|
|
976
|
+
const hasExplicitContext = context !== void 0;
|
|
973
977
|
const ctx = context ?? getNeatlogsParentContext();
|
|
974
978
|
const parent = getActiveNeatlogsSpan();
|
|
975
|
-
const
|
|
979
|
+
const isParentless = !hasExplicitContext && !(parent !== void 0 && parent.isRecording());
|
|
980
|
+
const needsRoot = autoRootEnabled() && !ROOT_KINDS.has(kind) && isParentless;
|
|
976
981
|
if (!needsRoot) {
|
|
977
|
-
|
|
982
|
+
const span = this._tracer.startSpan(name, options, ctx);
|
|
983
|
+
if (isParentless && ROOT_KINDS.has(kind)) stampRootIdentity(span);
|
|
984
|
+
return span;
|
|
978
985
|
}
|
|
979
986
|
const root = this._tracer.startSpan(
|
|
980
987
|
resolveRootWorkflowName(),
|
|
981
988
|
{ attributes: { "neatlogs.span.kind": "workflow", "neatlogs.auto_root": true } },
|
|
982
989
|
ctx
|
|
983
990
|
);
|
|
984
|
-
|
|
991
|
+
stampRootIdentity(root);
|
|
985
992
|
const childCtx = import_api4.trace.setSpan(ctx, root);
|
|
986
993
|
const child = this._tracer.startSpan(name, options, childCtx);
|
|
987
|
-
return
|
|
994
|
+
return bindSpanToAutoRoot(child, root);
|
|
988
995
|
}
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
996
|
+
startActiveSpan = ((name, ...args) => {
|
|
997
|
+
const callback = args.at(-1);
|
|
998
|
+
if (typeof callback !== "function") {
|
|
999
|
+
throw new TypeError("startActiveSpan requires a callback");
|
|
1000
|
+
}
|
|
1001
|
+
const options = args.length >= 2 ? args[0] : void 0;
|
|
1002
|
+
const parentContext = args.length >= 3 ? args[1] : getNeatlogsParentContext();
|
|
1003
|
+
const span = args.length >= 3 ? this.startSpan(name, options, parentContext) : this.startSpan(name, options);
|
|
1004
|
+
return withNeatlogsSpan(
|
|
1005
|
+
span,
|
|
1006
|
+
() => callback(span),
|
|
1007
|
+
parentContext,
|
|
1008
|
+
boundAutoRoots.get(span)
|
|
1009
|
+
);
|
|
1010
|
+
});
|
|
994
1011
|
};
|
|
995
1012
|
function getProviderTracer(name) {
|
|
996
1013
|
return new AutoRootTracer(getNeatlogsTracer(name));
|