@bitfab/sdk 0.52.5 → 0.52.6
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/autoTrace.cjs +84 -34
- package/dist/autoTrace.cjs.map +1 -1
- package/dist/autoTrace.d.cts +19 -4
- package/dist/autoTrace.d.ts +19 -4
- package/dist/autoTrace.js +9 -3
- package/dist/{chunk-BEAGKWXY.js → chunk-3TL4SATS.js} +136 -31
- package/dist/chunk-3TL4SATS.js.map +1 -0
- package/dist/{chunk-IHAB7SPF.js → chunk-7KIRLN47.js} +2 -2
- package/dist/{chunk-IHAB7SPF.js.map → chunk-7KIRLN47.js.map} +1 -1
- package/dist/{chunk-ITIMJ24H.js → chunk-A6KY2IFA.js} +3 -3
- package/dist/{chunk-ZUD7OFYB.js → chunk-E5BLYL5X.js} +81 -34
- package/dist/chunk-E5BLYL5X.js.map +1 -0
- package/dist/{chunk-VAIXHJ7O.js → chunk-RC6XLP6M.js} +2 -2
- package/dist/{chunk-VAIXHJ7O.js.map → chunk-RC6XLP6M.js.map} +1 -1
- package/dist/{chunk-THKLMOHS.js → chunk-WYC4QRK3.js} +2 -2
- package/dist/{http-KZU56HZA.js → http-EL26HG5B.js} +2 -2
- package/dist/{http-6Y3IQQ2Z.js → http-YMBQ4XJO.js} +2 -2
- package/dist/index.cjs +182 -48
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/node.cjs +182 -48
- package/dist/node.cjs.map +1 -1
- package/dist/node.js +4 -4
- package/dist/{replay-LZ7DIY5L.js → replay-DXDWFFJK.js} +3 -3
- package/dist/replayCli.js +2 -2
- package/dist/seedCli.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-BEAGKWXY.js.map +0 -1
- package/dist/chunk-ZUD7OFYB.js.map +0 -1
- /package/dist/{chunk-ITIMJ24H.js.map → chunk-A6KY2IFA.js.map} +0 -0
- /package/dist/{chunk-THKLMOHS.js.map → chunk-WYC4QRK3.js.map} +0 -0
- /package/dist/{http-6Y3IQQ2Z.js.map → http-EL26HG5B.js.map} +0 -0
- /package/dist/{http-KZU56HZA.js.map → http-YMBQ4XJO.js.map} +0 -0
- /package/dist/{replay-LZ7DIY5L.js.map → replay-DXDWFFJK.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BitfabError
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-RC6XLP6M.js";
|
|
4
4
|
|
|
5
5
|
// src/codeChange.ts
|
|
6
6
|
var NUL = String.fromCharCode(0);
|
|
@@ -207,7 +207,7 @@ async function seedFromRegistry(registry, pipeline, cases, options = {}) {
|
|
|
207
207
|
sessionId: seedCase.sessionId
|
|
208
208
|
})
|
|
209
209
|
);
|
|
210
|
-
const { flushTraces: flushTraces2 } = await import("./http-
|
|
210
|
+
const { flushTraces: flushTraces2 } = await import("./http-YMBQ4XJO.js");
|
|
211
211
|
await flushTraces2(3e4);
|
|
212
212
|
return { pipeline, traceFunctionKey, traceIds };
|
|
213
213
|
}
|
|
@@ -744,4 +744,4 @@ export {
|
|
|
744
744
|
runRegistryMain,
|
|
745
745
|
runIfEntrypoint
|
|
746
746
|
};
|
|
747
|
-
//# sourceMappingURL=chunk-
|
|
747
|
+
//# sourceMappingURL=chunk-A6KY2IFA.js.map
|
|
@@ -4,19 +4,18 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// src/autoTrace.ts
|
|
6
6
|
var autoTraceGlobal = globalThis;
|
|
7
|
-
var autoTraceState = autoTraceGlobal.
|
|
7
|
+
var autoTraceState = autoTraceGlobal.__bitfabAutoTraceStateV4 ?? {
|
|
8
8
|
storage: null,
|
|
9
9
|
browserScope: void 0,
|
|
10
10
|
capturePolicies: /* @__PURE__ */ new WeakMap(),
|
|
11
11
|
activeRoots: 0
|
|
12
12
|
};
|
|
13
|
-
autoTraceGlobal.
|
|
13
|
+
autoTraceGlobal.__bitfabAutoTraceStateV4 = autoTraceState;
|
|
14
14
|
function initializeAutoTraceStorage() {
|
|
15
15
|
autoTraceState.storage ?? (autoTraceState.storage = createAsyncLocalStorage());
|
|
16
16
|
}
|
|
17
|
-
function
|
|
17
|
+
function runWithAutoTraceScope(scope, fn) {
|
|
18
18
|
initializeAutoTraceStorage();
|
|
19
|
-
const scope = { context, depth };
|
|
20
19
|
if (autoTraceState.storage) {
|
|
21
20
|
return autoTraceState.storage.run(scope, fn);
|
|
22
21
|
}
|
|
@@ -28,41 +27,65 @@ function runWithAutoTraceContext(context, fn, depth = 0) {
|
|
|
28
27
|
autoTraceState.browserScope = previous;
|
|
29
28
|
}
|
|
30
29
|
}
|
|
30
|
+
function currentAutoTraceEntries() {
|
|
31
|
+
return currentAutoTraceScope()?.entries ?? [];
|
|
32
|
+
}
|
|
33
|
+
function replaceEntry(entries, previous, updated) {
|
|
34
|
+
return entries.map((entry) => entry === previous ? updated : entry);
|
|
35
|
+
}
|
|
36
|
+
function runWithAutoTraceEntry(previous, updated, fn) {
|
|
37
|
+
const result = runWithAutoTraceScope(
|
|
38
|
+
{ entries: replaceEntry(currentAutoTraceEntries(), previous, updated) },
|
|
39
|
+
fn
|
|
40
|
+
);
|
|
41
|
+
if (isAutoTraceAsyncGenerator(result)) {
|
|
42
|
+
return wrapAutoTraceEntryAsyncGenerator(previous, updated, result);
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
function wrapAutoTraceEntryAsyncGenerator(previous, updated, source) {
|
|
47
|
+
const step = (method, value) => runWithAutoTraceScope(
|
|
48
|
+
{ entries: replaceEntry(currentAutoTraceEntries(), previous, updated) },
|
|
49
|
+
() => source[method](value)
|
|
50
|
+
);
|
|
51
|
+
const wrapped = {
|
|
52
|
+
next: (value) => step("next", value),
|
|
53
|
+
return: (value) => step("return", value),
|
|
54
|
+
throw: (error) => step("throw", error),
|
|
55
|
+
[Symbol.asyncIterator]: () => wrapped
|
|
56
|
+
};
|
|
57
|
+
return wrapped;
|
|
58
|
+
}
|
|
59
|
+
function clearAutoTraceNodeConfiguration(fn) {
|
|
60
|
+
return runWithAutoTraceScope({ entries: currentAutoTraceEntries() }, fn);
|
|
61
|
+
}
|
|
31
62
|
function runWithAutoTraceNodeConfiguration(nodeConfiguration, fn) {
|
|
32
63
|
const scope = currentAutoTraceScope();
|
|
33
|
-
if (!scope) {
|
|
64
|
+
if (!scope || scope.entries.length === 0) {
|
|
34
65
|
return fn();
|
|
35
66
|
}
|
|
36
|
-
const
|
|
37
|
-
let result;
|
|
38
|
-
if (autoTraceState.storage) {
|
|
39
|
-
result = autoTraceState.storage.run(configuredScope, fn);
|
|
40
|
-
} else {
|
|
41
|
-
const previous = autoTraceState.browserScope;
|
|
42
|
-
autoTraceState.browserScope = configuredScope;
|
|
43
|
-
try {
|
|
44
|
-
result = fn();
|
|
45
|
-
} finally {
|
|
46
|
-
autoTraceState.browserScope = previous;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
67
|
+
const result = runWithAutoTraceScope({ ...scope, nodeConfiguration }, fn);
|
|
49
68
|
if (isAutoTraceAsyncGenerator(result)) {
|
|
50
69
|
return wrapAutoTraceNodeAsyncGenerator(nodeConfiguration, result);
|
|
51
70
|
}
|
|
52
71
|
return result;
|
|
53
72
|
}
|
|
54
|
-
function runWithAutoTraceRootContext(context, fn) {
|
|
73
|
+
function runWithAutoTraceRootContext(context, spanStack, fn) {
|
|
55
74
|
autoTraceState.activeRoots += 1;
|
|
75
|
+
const entries = [
|
|
76
|
+
...currentAutoTraceEntries(),
|
|
77
|
+
{ context, depth: 0, spanStack }
|
|
78
|
+
];
|
|
56
79
|
let result;
|
|
57
80
|
try {
|
|
58
|
-
result =
|
|
81
|
+
result = runWithAutoTraceScope({ entries }, fn);
|
|
59
82
|
} catch (error) {
|
|
60
83
|
autoTraceState.activeRoots -= 1;
|
|
61
84
|
throw error;
|
|
62
85
|
}
|
|
63
86
|
if (isAutoTraceAsyncGenerator(result)) {
|
|
64
87
|
autoTraceState.activeRoots -= 1;
|
|
65
|
-
return wrapAutoTraceAsyncGenerator(context, result);
|
|
88
|
+
return wrapAutoTraceAsyncGenerator(context, spanStack, result);
|
|
66
89
|
}
|
|
67
90
|
if (result instanceof Promise) {
|
|
68
91
|
return result.finally(() => {
|
|
@@ -72,6 +95,15 @@ function runWithAutoTraceRootContext(context, fn) {
|
|
|
72
95
|
autoTraceState.activeRoots -= 1;
|
|
73
96
|
return result;
|
|
74
97
|
}
|
|
98
|
+
function invokeThroughAutoTraceEntries(entries, step, fn) {
|
|
99
|
+
let run = fn;
|
|
100
|
+
for (let index = entries.length - 1; index >= 0; index -= 1) {
|
|
101
|
+
const entry = entries[index];
|
|
102
|
+
const next = run;
|
|
103
|
+
run = () => step(entry, next);
|
|
104
|
+
}
|
|
105
|
+
return run();
|
|
106
|
+
}
|
|
75
107
|
function isAutoTraceAsyncGenerator(value) {
|
|
76
108
|
if (value === null || typeof value !== "object") {
|
|
77
109
|
return false;
|
|
@@ -79,8 +111,8 @@ function isAutoTraceAsyncGenerator(value) {
|
|
|
79
111
|
const candidate = value;
|
|
80
112
|
return typeof candidate.next === "function" && typeof candidate.return === "function" && typeof candidate.throw === "function" && typeof candidate[Symbol.asyncIterator] === "function";
|
|
81
113
|
}
|
|
82
|
-
function wrapAutoTraceAsyncGenerator(context, source) {
|
|
83
|
-
const step = (method, value) => runWithAutoTraceRootContext(context, () => source[method](value));
|
|
114
|
+
function wrapAutoTraceAsyncGenerator(context, spanStack, source) {
|
|
115
|
+
const step = (method, value) => runWithAutoTraceRootContext(context, spanStack, () => source[method](value));
|
|
84
116
|
const wrapped = {
|
|
85
117
|
next: (value) => step("next", value),
|
|
86
118
|
return: (value) => step("return", value),
|
|
@@ -102,20 +134,32 @@ function wrapAutoTraceNodeAsyncGenerator(nodeConfiguration, source) {
|
|
|
102
134
|
};
|
|
103
135
|
return wrapped;
|
|
104
136
|
}
|
|
137
|
+
function shareFinalize(configuration) {
|
|
138
|
+
const finalize = configuration.finalize;
|
|
139
|
+
if (finalize === void 0) {
|
|
140
|
+
return configuration;
|
|
141
|
+
}
|
|
142
|
+
let settled;
|
|
143
|
+
return {
|
|
144
|
+
...configuration,
|
|
145
|
+
finalize: (result) => {
|
|
146
|
+
settled ?? (settled = Promise.resolve().then(() => finalize(result)));
|
|
147
|
+
return settled;
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
}
|
|
105
151
|
function __bitfabAutoSpan(definition, inputs, fn) {
|
|
106
152
|
const scope = currentAutoTraceScope();
|
|
107
|
-
if (!scope) {
|
|
153
|
+
if (!scope || scope.entries.length === 0) {
|
|
108
154
|
return fn();
|
|
109
155
|
}
|
|
110
156
|
const nameParts = definition.name.split(".");
|
|
111
157
|
const simpleName = nameParts[nameParts.length - 1];
|
|
112
|
-
const nodeConfiguration = simpleName === scope.nodeConfiguration?.functionName ? scope.nodeConfiguration : void 0;
|
|
113
|
-
return
|
|
114
|
-
|
|
115
|
-
inputs,
|
|
116
|
-
fn
|
|
117
|
-
scope.depth,
|
|
118
|
-
nodeConfiguration
|
|
158
|
+
const nodeConfiguration = simpleName === scope.nodeConfiguration?.functionName ? shareFinalize(scope.nodeConfiguration) : void 0;
|
|
159
|
+
return invokeThroughAutoTraceEntries(
|
|
160
|
+
scope.entries,
|
|
161
|
+
(entry, next) => entry.context.invoke(definition, inputs, next, entry, nodeConfiguration),
|
|
162
|
+
fn
|
|
119
163
|
);
|
|
120
164
|
}
|
|
121
165
|
function __bitfabAutoWrap(definition, fn) {
|
|
@@ -147,7 +191,7 @@ function __bitfabAutoTraceActive() {
|
|
|
147
191
|
if (autoTraceState.activeRoots === 0) {
|
|
148
192
|
return false;
|
|
149
193
|
}
|
|
150
|
-
return
|
|
194
|
+
return currentAutoTraceEntries().length > 0;
|
|
151
195
|
}
|
|
152
196
|
function currentAutoTraceScope() {
|
|
153
197
|
initializeAutoTraceStorage();
|
|
@@ -170,13 +214,16 @@ function getAutoTraceCapturePolicy(client, traceFunctionKey) {
|
|
|
170
214
|
}
|
|
171
215
|
|
|
172
216
|
export {
|
|
173
|
-
|
|
217
|
+
currentAutoTraceEntries,
|
|
218
|
+
runWithAutoTraceEntry,
|
|
219
|
+
clearAutoTraceNodeConfiguration,
|
|
174
220
|
runWithAutoTraceNodeConfiguration,
|
|
175
221
|
runWithAutoTraceRootContext,
|
|
222
|
+
invokeThroughAutoTraceEntries,
|
|
176
223
|
__bitfabAutoSpan,
|
|
177
224
|
__bitfabAutoWrap,
|
|
178
225
|
__bitfabAutoTraceActive,
|
|
179
226
|
__setBitfabAutoTraceCapturePolicy,
|
|
180
227
|
getAutoTraceCapturePolicy
|
|
181
228
|
};
|
|
182
|
-
//# sourceMappingURL=chunk-
|
|
229
|
+
//# sourceMappingURL=chunk-E5BLYL5X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/autoTrace.ts"],"sourcesContent":["import {\n type AsyncLocalStorageLike,\n createAsyncLocalStorage,\n} from \"./asyncStorage.js\"\n\nexport interface AutoTraceFunctionDefinition {\n id: string\n name: string\n file: string\n line: number\n column: number\n async?: boolean\n wrapper?: boolean\n}\n\nexport interface AutoTraceNodeConfiguration {\n functionName: string\n name?: string\n type?: \"llm\" | \"agent\" | \"function\" | \"guardrail\" | \"handoff\" | \"custom\"\n capture: boolean\n testRunId?: string\n mockOnReplay?: boolean\n // biome-ignore lint/suspicious/noExplicitAny: node finalizers receive the configured function's result, whose type is owned by the caller\n finalize?: (result: any) => unknown | Promise<unknown>\n}\n\nexport interface NestedTraceLink {\n traceFunctionKey: string\n traceId?: string\n rootSpanId?: string\n}\n\nexport interface AutoTraceEntry {\n context: AutoTraceContext\n depth: number\n spanStack: unknown\n}\n\nexport interface AutoTraceContext {\n readonly traceFunctionKey: string\n invoke<T>(\n definition: AutoTraceFunctionDefinition,\n inputs: unknown[],\n fn: () => T,\n entry: AutoTraceEntry,\n nodeConfiguration?: AutoTraceNodeConfiguration,\n ): T\n invokeNestedRoot<T>(\n name: string,\n functionName: string,\n inputs: unknown[],\n fn: () => T,\n entry: AutoTraceEntry,\n link: NestedTraceLink | undefined,\n ): T\n}\n\ninterface AutoTraceScope {\n entries: readonly AutoTraceEntry[]\n nodeConfiguration?: AutoTraceNodeConfiguration\n}\n\ninterface AutoTraceState {\n storage: AsyncLocalStorageLike<AutoTraceScope> | null\n browserScope: AutoTraceScope | undefined\n capturePolicies: WeakMap<object, Map<string, ReadonlySet<string>>>\n activeRoots: number\n}\n\ninterface AutoTraceGlobal {\n __bitfabAutoTraceStateV4?: AutoTraceState\n}\n\ninterface AutoTraceAsyncGenerator {\n next(value?: unknown): Promise<IteratorResult<unknown, unknown>>\n return(value?: unknown): Promise<IteratorResult<unknown, unknown>>\n throw(error?: unknown): Promise<IteratorResult<unknown, unknown>>\n [Symbol.asyncIterator](): AutoTraceAsyncGenerator\n}\n\nconst autoTraceGlobal = globalThis as unknown as AutoTraceGlobal\nconst autoTraceState: AutoTraceState =\n autoTraceGlobal.__bitfabAutoTraceStateV4 ?? {\n storage: null,\n browserScope: undefined,\n capturePolicies: new WeakMap(),\n activeRoots: 0,\n }\nautoTraceGlobal.__bitfabAutoTraceStateV4 = autoTraceState\n\nfunction initializeAutoTraceStorage(): void {\n autoTraceState.storage ??= createAsyncLocalStorage<AutoTraceScope>()\n}\n\nfunction runWithAutoTraceScope<T>(scope: AutoTraceScope, fn: () => T): T {\n initializeAutoTraceStorage()\n if (autoTraceState.storage) {\n return autoTraceState.storage.run(scope, fn)\n }\n\n const previous = autoTraceState.browserScope\n autoTraceState.browserScope = scope\n try {\n return fn()\n } finally {\n autoTraceState.browserScope = previous\n }\n}\n\nexport function currentAutoTraceEntries(): readonly AutoTraceEntry[] {\n return currentAutoTraceScope()?.entries ?? []\n}\n\nfunction replaceEntry(\n entries: readonly AutoTraceEntry[],\n previous: AutoTraceEntry,\n updated: AutoTraceEntry,\n): readonly AutoTraceEntry[] {\n return entries.map((entry) => (entry === previous ? updated : entry))\n}\n\nexport function runWithAutoTraceEntry<T>(\n previous: AutoTraceEntry,\n updated: AutoTraceEntry,\n fn: () => T,\n): T {\n const result = runWithAutoTraceScope(\n { entries: replaceEntry(currentAutoTraceEntries(), previous, updated) },\n fn,\n )\n if (isAutoTraceAsyncGenerator(result)) {\n return wrapAutoTraceEntryAsyncGenerator(previous, updated, result) as T\n }\n return result\n}\n\nfunction wrapAutoTraceEntryAsyncGenerator(\n previous: AutoTraceEntry,\n updated: AutoTraceEntry,\n source: AutoTraceAsyncGenerator,\n): AutoTraceAsyncGenerator {\n const step = (\n method: \"next\" | \"return\" | \"throw\",\n value?: unknown,\n ): Promise<IteratorResult<unknown, unknown>> =>\n runWithAutoTraceScope(\n { entries: replaceEntry(currentAutoTraceEntries(), previous, updated) },\n () => source[method](value),\n )\n const wrapped: AutoTraceAsyncGenerator = {\n next: (value) => step(\"next\", value),\n return: (value) => step(\"return\", value),\n throw: (error) => step(\"throw\", error),\n [Symbol.asyncIterator]: () => wrapped,\n }\n return wrapped\n}\n\nexport function clearAutoTraceNodeConfiguration<T>(fn: () => T): T {\n return runWithAutoTraceScope({ entries: currentAutoTraceEntries() }, fn)\n}\n\nexport function runWithAutoTraceNodeConfiguration<T>(\n nodeConfiguration: AutoTraceNodeConfiguration,\n fn: () => T,\n): T {\n const scope = currentAutoTraceScope()\n if (!scope || scope.entries.length === 0) {\n return fn()\n }\n\n const result = runWithAutoTraceScope({ ...scope, nodeConfiguration }, fn)\n if (isAutoTraceAsyncGenerator(result)) {\n return wrapAutoTraceNodeAsyncGenerator(nodeConfiguration, result) as T\n }\n return result\n}\n\nexport function runWithAutoTraceRootContext<T>(\n context: AutoTraceContext,\n spanStack: unknown,\n fn: () => T,\n): T {\n autoTraceState.activeRoots += 1\n const entries = [\n ...currentAutoTraceEntries(),\n { context, depth: 0, spanStack },\n ]\n let result: T\n try {\n result = runWithAutoTraceScope({ entries }, fn)\n } catch (error) {\n autoTraceState.activeRoots -= 1\n throw error\n }\n\n if (isAutoTraceAsyncGenerator(result)) {\n autoTraceState.activeRoots -= 1\n return wrapAutoTraceAsyncGenerator(context, spanStack, result) as T\n }\n\n if (result instanceof Promise) {\n return result.finally(() => {\n autoTraceState.activeRoots -= 1\n }) as T\n }\n\n autoTraceState.activeRoots -= 1\n return result\n}\n\nexport function invokeThroughAutoTraceEntries<T>(\n entries: readonly AutoTraceEntry[],\n step: (entry: AutoTraceEntry, next: () => T) => T,\n fn: () => T,\n): T {\n let run = fn\n for (let index = entries.length - 1; index >= 0; index -= 1) {\n const entry = entries[index] as AutoTraceEntry\n const next = run\n run = () => step(entry, next)\n }\n return run()\n}\n\nfunction isAutoTraceAsyncGenerator(\n value: unknown,\n): value is AutoTraceAsyncGenerator {\n if (value === null || typeof value !== \"object\") {\n return false\n }\n const candidate = value as Record<PropertyKey, unknown>\n return (\n typeof candidate.next === \"function\" &&\n typeof candidate.return === \"function\" &&\n typeof candidate.throw === \"function\" &&\n typeof candidate[Symbol.asyncIterator] === \"function\"\n )\n}\n\nfunction wrapAutoTraceAsyncGenerator(\n context: AutoTraceContext,\n spanStack: unknown,\n source: AutoTraceAsyncGenerator,\n): AutoTraceAsyncGenerator {\n const step = (\n method: \"next\" | \"return\" | \"throw\",\n value?: unknown,\n ): Promise<IteratorResult<unknown, unknown>> =>\n runWithAutoTraceRootContext(context, spanStack, () => source[method](value))\n const wrapped: AutoTraceAsyncGenerator = {\n next: (value) => step(\"next\", value),\n return: (value) => step(\"return\", value),\n throw: (error) => step(\"throw\", error),\n [Symbol.asyncIterator]: () => wrapped,\n }\n return wrapped\n}\n\nfunction wrapAutoTraceNodeAsyncGenerator(\n nodeConfiguration: AutoTraceNodeConfiguration,\n source: AutoTraceAsyncGenerator,\n): AutoTraceAsyncGenerator {\n const step = (\n method: \"next\" | \"return\" | \"throw\",\n value?: unknown,\n ): Promise<IteratorResult<unknown, unknown>> =>\n runWithAutoTraceNodeConfiguration(nodeConfiguration, () =>\n source[method](value),\n )\n const wrapped: AutoTraceAsyncGenerator = {\n next: (value) => step(\"next\", value),\n return: (value) => step(\"return\", value),\n throw: (error) => step(\"throw\", error),\n [Symbol.asyncIterator]: () => wrapped,\n }\n return wrapped\n}\n\nfunction shareFinalize(\n configuration: AutoTraceNodeConfiguration,\n): AutoTraceNodeConfiguration {\n const finalize = configuration.finalize\n if (finalize === undefined) {\n return configuration\n }\n let settled: Promise<unknown> | undefined\n return {\n ...configuration,\n finalize: (result: unknown) => {\n settled ??= Promise.resolve().then(() => finalize(result))\n return settled\n },\n }\n}\n\nexport function __bitfabAutoSpan<T>(\n definition: AutoTraceFunctionDefinition,\n inputs: unknown[],\n fn: () => T,\n): T {\n const scope = currentAutoTraceScope()\n if (!scope || scope.entries.length === 0) {\n return fn()\n }\n const nameParts = definition.name.split(\".\")\n const simpleName = nameParts[nameParts.length - 1]\n const nodeConfiguration =\n simpleName === scope.nodeConfiguration?.functionName\n ? shareFinalize(scope.nodeConfiguration)\n : undefined\n return invokeThroughAutoTraceEntries(\n scope.entries,\n (entry, next) =>\n entry.context.invoke(definition, inputs, next, entry, nodeConfiguration),\n fn,\n )\n}\n\n/**\n * Preserve a function's original call arguments for transform cases where\n * parameter bindings discard them, such as destructured arrow parameters.\n *\n * This helper is internal transform/runtime protocol. The proxy preserves the\n * target's callability, arity, async identity, and non-constructibility while\n * only allocating a trace closure beneath an active automatic trace root.\n *\n * @experimental The automatic tracing protocol may change.\n */\nexport function __bitfabAutoWrap<T extends (...args: never[]) => unknown>(\n definition: AutoTraceFunctionDefinition,\n fn: T,\n): T {\n if (fn.name === \"\") {\n const nameParts = definition.name.split(\".\")\n const inferredName = nameParts[nameParts.length - 1]\n if (inferredName !== undefined) {\n Object.defineProperty(fn, \"name\", {\n configurable: true,\n value: inferredName,\n })\n }\n }\n\n const target = fn as unknown as (...args: unknown[]) => unknown\n return new Proxy(target, {\n apply(callTarget, thisArg, args) {\n if (!__bitfabAutoTraceActive()) {\n return Reflect.apply(callTarget, thisArg, args)\n }\n return __bitfabAutoSpan(definition, args, () =>\n Reflect.apply(callTarget, thisArg, args),\n )\n },\n }) as unknown as T\n}\n\n/**\n * Return whether the current call is inside an automatic trace root.\n *\n * Build transforms use this before allocating function metadata, captured\n * inputs, or an invocation closure. It is internal transform/runtime protocol,\n * not a supported application API.\n *\n * @experimental The automatic tracing protocol may change.\n */\nexport function __bitfabAutoTraceActive(): boolean {\n if (autoTraceState.activeRoots === 0) {\n return false\n }\n return currentAutoTraceEntries().length > 0\n}\n\nfunction currentAutoTraceScope(): AutoTraceScope | undefined {\n initializeAutoTraceStorage()\n return autoTraceState.storage?.getStore() ?? autoTraceState.browserScope\n}\n\nexport function __setBitfabAutoTraceCapturePolicy(\n client: object,\n traceFunctionKey: string,\n functionIds: Iterable<string> | undefined,\n): void {\n const policies = autoTraceState.capturePolicies.get(client) ?? new Map()\n if (functionIds === undefined) {\n policies.delete(traceFunctionKey)\n if (policies.size === 0) {\n autoTraceState.capturePolicies.delete(client)\n }\n return\n }\n policies.set(traceFunctionKey, new Set(functionIds))\n autoTraceState.capturePolicies.set(client, policies)\n}\n\nexport function getAutoTraceCapturePolicy(\n client: object,\n traceFunctionKey: string,\n): ReadonlySet<string> | undefined {\n return autoTraceState.capturePolicies.get(client)?.get(traceFunctionKey)\n}\n"],"mappings":"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","names":[]}
|
|
@@ -94,7 +94,7 @@ function encodeRequestBody(body) {
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
// src/version.generated.ts
|
|
97
|
-
var __version__ = "0.52.
|
|
97
|
+
var __version__ = "0.52.6";
|
|
98
98
|
var __packageName__ = "@bitfab/sdk";
|
|
99
99
|
|
|
100
100
|
// src/errors.ts
|
|
@@ -1943,4 +1943,4 @@ export {
|
|
|
1943
1943
|
parseRetryAfterMs,
|
|
1944
1944
|
HttpClient
|
|
1945
1945
|
};
|
|
1946
|
-
//# sourceMappingURL=chunk-
|
|
1946
|
+
//# sourceMappingURL=chunk-RC6XLP6M.js.map
|