@bitfab/sdk 0.65.3 → 0.65.5

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.
Files changed (170) hide show
  1. package/dist/autoTrace-CZu0BXhG.js +270 -0
  2. package/dist/autoTrace-CZu0BXhG.js.map +1 -0
  3. package/dist/autoTrace-KM9pYqk9.cjs +395 -0
  4. package/dist/autoTrace-KM9pYqk9.cjs.map +1 -0
  5. package/dist/autoTrace.cjs +15 -353
  6. package/dist/autoTrace.d.cts +44 -44
  7. package/dist/autoTrace.d.ts +44 -44
  8. package/dist/autoTrace.js +1 -28
  9. package/dist/babelPlugin-C70OxrqA.js +209 -0
  10. package/dist/babelPlugin-C70OxrqA.js.map +1 -0
  11. package/dist/babelPlugin-Nta4-VcL.cjs +232 -0
  12. package/dist/babelPlugin-Nta4-VcL.cjs.map +1 -0
  13. package/dist/http-CG1Irqxx.js +2154 -0
  14. package/dist/http-CG1Irqxx.js.map +1 -0
  15. package/dist/index-BFkAwvuc.d.cts +4410 -0
  16. package/dist/index-BFkAwvuc.d.ts +4410 -0
  17. package/dist/index.cjs +48 -12501
  18. package/dist/index.d.cts +2 -4426
  19. package/dist/index.d.ts +2 -4426
  20. package/dist/index.js +3 -96
  21. package/dist/loaderRuntime-0huddOOP.d.ts +12 -0
  22. package/dist/loaderRuntime-CslfDFO7.d.cts +12 -0
  23. package/dist/node.cjs +56 -12517
  24. package/dist/node.cjs.map +1 -1
  25. package/dist/node.d.cts +2 -1
  26. package/dist/node.d.ts +2 -1
  27. package/dist/node.js +10 -105
  28. package/dist/node.js.map +1 -1
  29. package/dist/registryCommand-Di8x0YoJ.js +1111 -0
  30. package/dist/registryCommand-Di8x0YoJ.js.map +1 -0
  31. package/dist/replayCli.js +49 -87
  32. package/dist/replayCli.js.map +1 -1
  33. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  34. package/dist/seedCli.js +10 -24
  35. package/dist/seedCli.js.map +1 -1
  36. package/dist/src-BRKm0P_S.cjs +8434 -0
  37. package/dist/src-BRKm0P_S.cjs.map +1 -0
  38. package/dist/src-CfFkki5l.js +6011 -0
  39. package/dist/src-CfFkki5l.js.map +1 -0
  40. package/dist/transform/babel.cjs +5 -422
  41. package/dist/transform/babel.d.cts +16 -16
  42. package/dist/transform/babel.d.ts +16 -16
  43. package/dist/transform/babel.js +1 -7
  44. package/dist/transform/bun.cjs +9 -478
  45. package/dist/transform/bun.cjs.map +1 -1
  46. package/dist/transform/bun.d.cts +5 -7
  47. package/dist/transform/bun.d.ts +5 -7
  48. package/dist/transform/bun.js +6 -11
  49. package/dist/transform/bun.js.map +1 -1
  50. package/dist/transform/esbuild.cjs +9 -478
  51. package/dist/transform/esbuild.cjs.map +1 -1
  52. package/dist/transform/esbuild.d.cts +5 -7
  53. package/dist/transform/esbuild.d.ts +5 -7
  54. package/dist/transform/esbuild.js +6 -11
  55. package/dist/transform/esbuild.js.map +1 -1
  56. package/dist/transform/loaderRuntime.cjs +85 -532
  57. package/dist/transform/loaderRuntime.cjs.map +1 -1
  58. package/dist/transform/loaderRuntime.d.cts +2 -12
  59. package/dist/transform/loaderRuntime.d.ts +2 -12
  60. package/dist/transform/loaderRuntime.js +56 -98
  61. package/dist/transform/loaderRuntime.js.map +1 -1
  62. package/dist/transform/nest.cjs +12 -481
  63. package/dist/transform/nest.cjs.map +1 -1
  64. package/dist/transform/nest.d.cts +8 -9
  65. package/dist/transform/nest.d.ts +8 -9
  66. package/dist/transform/nest.js +9 -14
  67. package/dist/transform/nest.js.map +1 -1
  68. package/dist/transform/next.cjs +56 -528
  69. package/dist/transform/next.cjs.map +1 -1
  70. package/dist/transform/next.d.cts +25 -25
  71. package/dist/transform/next.d.ts +24 -24
  72. package/dist/transform/next.js +52 -60
  73. package/dist/transform/next.js.map +1 -1
  74. package/dist/transform/nodeLoader.js +260 -506
  75. package/dist/transform/nodeLoader.js.map +1 -1
  76. package/dist/transform/register.js +4 -1
  77. package/dist/transform/register.js.map +1 -1
  78. package/dist/transform/rolldown.cjs +9 -478
  79. package/dist/transform/rolldown.cjs.map +1 -1
  80. package/dist/transform/rolldown.d.cts +5 -7
  81. package/dist/transform/rolldown.d.ts +5 -7
  82. package/dist/transform/rolldown.js +6 -11
  83. package/dist/transform/rolldown.js.map +1 -1
  84. package/dist/transform/rollup.cjs +9 -478
  85. package/dist/transform/rollup.cjs.map +1 -1
  86. package/dist/transform/rollup.d.cts +5 -7
  87. package/dist/transform/rollup.d.ts +5 -7
  88. package/dist/transform/rollup.js +6 -11
  89. package/dist/transform/rollup.js.map +1 -1
  90. package/dist/transform/rsbuild.cjs +9 -478
  91. package/dist/transform/rsbuild.cjs.map +1 -1
  92. package/dist/transform/rsbuild.d.cts +5 -7
  93. package/dist/transform/rsbuild.d.ts +5 -7
  94. package/dist/transform/rsbuild.js +6 -11
  95. package/dist/transform/rsbuild.js.map +1 -1
  96. package/dist/transform/rspack.cjs +9 -478
  97. package/dist/transform/rspack.cjs.map +1 -1
  98. package/dist/transform/rspack.d.cts +5 -7
  99. package/dist/transform/rspack.d.ts +5 -7
  100. package/dist/transform/rspack.js +6 -11
  101. package/dist/transform/rspack.js.map +1 -1
  102. package/dist/transform/swc.cjs +18 -486
  103. package/dist/transform/swc.cjs.map +1 -1
  104. package/dist/transform/swc.d.cts +15 -14
  105. package/dist/transform/swc.d.ts +15 -14
  106. package/dist/transform/swc.js +14 -32
  107. package/dist/transform/swc.js.map +1 -1
  108. package/dist/transform/unplugin.cjs +20 -476
  109. package/dist/transform/unplugin.cjs.map +1 -1
  110. package/dist/transform/unplugin.d.cts +4 -6
  111. package/dist/transform/unplugin.d.ts +4 -6
  112. package/dist/transform/unplugin.js +19 -8
  113. package/dist/transform/unplugin.js.map +1 -1
  114. package/dist/transform/vite.cjs +9 -478
  115. package/dist/transform/vite.cjs.map +1 -1
  116. package/dist/transform/vite.d.cts +5 -7
  117. package/dist/transform/vite.d.ts +5 -7
  118. package/dist/transform/vite.js +6 -11
  119. package/dist/transform/vite.js.map +1 -1
  120. package/dist/transform/webpack.cjs +9 -478
  121. package/dist/transform/webpack.cjs.map +1 -1
  122. package/dist/transform/webpack.d.cts +5 -7
  123. package/dist/transform/webpack.d.ts +5 -7
  124. package/dist/transform/webpack.js +6 -11
  125. package/dist/transform/webpack.js.map +1 -1
  126. package/dist/transform-BcyUocwm.js +36 -0
  127. package/dist/transform-BcyUocwm.js.map +1 -0
  128. package/dist/transform-BjxHGGKc.cjs +47 -0
  129. package/dist/transform-BjxHGGKc.cjs.map +1 -0
  130. package/dist/transformOptions-BsjCELkh.d.cts +11 -0
  131. package/dist/transformOptions-BsjCELkh.d.ts +11 -0
  132. package/package.json +5 -5
  133. package/dist/autoTrace.cjs.map +0 -1
  134. package/dist/autoTrace.js.map +0 -1
  135. package/dist/chunk-BRMGNMDO.js +0 -1176
  136. package/dist/chunk-BRMGNMDO.js.map +0 -1
  137. package/dist/chunk-CLP2L5PU.js +0 -2547
  138. package/dist/chunk-CLP2L5PU.js.map +0 -1
  139. package/dist/chunk-HLH7TN2A.js +0 -2060
  140. package/dist/chunk-HLH7TN2A.js.map +0 -1
  141. package/dist/chunk-LCV2JYXL.js +0 -2979
  142. package/dist/chunk-LCV2JYXL.js.map +0 -1
  143. package/dist/chunk-MT36GJMW.js +0 -106
  144. package/dist/chunk-MT36GJMW.js.map +0 -1
  145. package/dist/chunk-NRE5CJPR.js +0 -6874
  146. package/dist/chunk-NRE5CJPR.js.map +0 -1
  147. package/dist/chunk-PTCLRG4E.js +0 -28
  148. package/dist/chunk-PTCLRG4E.js.map +0 -1
  149. package/dist/chunk-QRNHRY7F.js +0 -270
  150. package/dist/chunk-QRNHRY7F.js.map +0 -1
  151. package/dist/chunk-YVJAOGHE.js +0 -45
  152. package/dist/chunk-YVJAOGHE.js.map +0 -1
  153. package/dist/chunk-Z26K57WZ.js +0 -1912
  154. package/dist/chunk-Z26K57WZ.js.map +0 -1
  155. package/dist/chunk-ZG6SHKEF.js +0 -404
  156. package/dist/chunk-ZG6SHKEF.js.map +0 -1
  157. package/dist/http-VN52X47M.js +0 -24
  158. package/dist/http-VN52X47M.js.map +0 -1
  159. package/dist/http-WP4YPPKC.js +0 -23
  160. package/dist/http-WP4YPPKC.js.map +0 -1
  161. package/dist/index.cjs.map +0 -1
  162. package/dist/index.js.map +0 -1
  163. package/dist/replay-463SEV53.js +0 -28
  164. package/dist/replay-463SEV53.js.map +0 -1
  165. package/dist/replay-OT4A4HVF.js +0 -29
  166. package/dist/replay-OT4A4HVF.js.map +0 -1
  167. package/dist/transform/babel.cjs.map +0 -1
  168. package/dist/transform/babel.js.map +0 -1
  169. package/dist/transformOptions-Df2_Chtc.d.cts +0 -10
  170. package/dist/transformOptions-Df2_Chtc.d.ts +0 -10
@@ -1,28 +0,0 @@
1
- import {
2
- transformBitfabSource
3
- } from "./chunk-YVJAOGHE.js";
4
- import {
5
- shouldTransformBitfabFile
6
- } from "./chunk-ZG6SHKEF.js";
7
-
8
- // ../bitfab-typescript-transform/src/unplugin.ts
9
- import { createUnplugin } from "unplugin";
10
- var bitfabTraceUnplugin = createUnplugin((options) => {
11
- const resolvedOptions = options ?? {};
12
- return {
13
- name: "bitfab-auto-trace",
14
- enforce: "pre",
15
- transform(source, filename) {
16
- if (!shouldTransformBitfabFile(filename, resolvedOptions)) {
17
- return null;
18
- }
19
- const result = transformBitfabSource(source, filename, resolvedOptions);
20
- return result.map ? result : null;
21
- }
22
- };
23
- });
24
-
25
- export {
26
- bitfabTraceUnplugin
27
- };
28
- //# sourceMappingURL=chunk-PTCLRG4E.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../bitfab-typescript-transform/src/unplugin.ts"],"sourcesContent":["import { createUnplugin } from \"unplugin\"\nimport { transformBitfabSource } from \"./transform.js\"\nimport type { BitfabTransformOptions } from \"./transformOptions.js\"\nimport { shouldTransformBitfabFile } from \"./transformOptions.js\"\n\nexport const bitfabTraceUnplugin = createUnplugin<\n BitfabTransformOptions | undefined,\n false\n>((options) => {\n const resolvedOptions = options ?? {}\n\n return {\n name: \"bitfab-auto-trace\",\n enforce: \"pre\",\n transform(source, filename) {\n if (!shouldTransformBitfabFile(filename, resolvedOptions)) {\n return null\n }\n\n const result = transformBitfabSource(source, filename, resolvedOptions)\n return result.map ? result : null\n },\n }\n})\n"],"mappings":";;;;;;;;AAAA,SAAS,sBAAsB;AAKxB,IAAM,sBAAsB,eAGjC,CAAC,YAAY;AACb,QAAM,kBAAkB,WAAW,CAAC;AAEpC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU,QAAQ,UAAU;AAC1B,UAAI,CAAC,0BAA0B,UAAU,eAAe,GAAG;AACzD,eAAO;AAAA,MACT;AAEA,YAAM,SAAS,sBAAsB,QAAQ,UAAU,eAAe;AACtE,aAAO,OAAO,MAAM,SAAS;AAAA,IAC/B;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -1,270 +0,0 @@
1
- import {
2
- createAsyncLocalStorage,
3
- isCaptureSuppressed,
4
- warnOnce
5
- } from "./chunk-MT36GJMW.js";
6
-
7
- // src/autoTrace.ts
8
- var autoTraceGlobal = globalThis;
9
- var autoTraceState = autoTraceGlobal.__bitfabAutoTraceStateV4 ?? {
10
- storage: null,
11
- browserScope: void 0,
12
- capturePolicies: /* @__PURE__ */ new WeakMap(),
13
- activeRoots: 0
14
- };
15
- autoTraceGlobal.__bitfabAutoTraceStateV4 = autoTraceState;
16
- function initializeAutoTraceStorage() {
17
- autoTraceState.storage ?? (autoTraceState.storage = createAsyncLocalStorage());
18
- }
19
- function runWithAutoTraceScope(scope, fn) {
20
- initializeAutoTraceStorage();
21
- if (autoTraceState.storage) {
22
- return autoTraceState.storage.run(scope, fn);
23
- }
24
- const previous = autoTraceState.browserScope;
25
- autoTraceState.browserScope = scope;
26
- try {
27
- return fn();
28
- } finally {
29
- autoTraceState.browserScope = previous;
30
- }
31
- }
32
- function currentAutoTraceEntries() {
33
- return currentAutoTraceScope()?.entries ?? [];
34
- }
35
- function replaceEntry(entries, previous, updated) {
36
- return entries.map((entry) => entry === previous ? updated : entry);
37
- }
38
- function runWithAutoTraceEntry(previous, updated, fn) {
39
- const result = runWithAutoTraceScope(
40
- { entries: replaceEntry(currentAutoTraceEntries(), previous, updated) },
41
- fn
42
- );
43
- if (isAutoTraceAsyncGenerator(result)) {
44
- return wrapAutoTraceEntryAsyncGenerator(previous, updated, result);
45
- }
46
- return result;
47
- }
48
- function wrapAutoTraceEntryAsyncGenerator(previous, updated, source) {
49
- const step = (method, value) => runWithAutoTraceScope(
50
- { entries: replaceEntry(currentAutoTraceEntries(), previous, updated) },
51
- () => source[method](value)
52
- );
53
- const wrapped = {
54
- next: (value) => step("next", value),
55
- return: (value) => step("return", value),
56
- throw: (error) => step("throw", error),
57
- [Symbol.asyncIterator]: () => wrapped
58
- };
59
- return wrapped;
60
- }
61
- function clearAutoTraceNodeConfiguration(fn) {
62
- return runWithAutoTraceScope({ entries: currentAutoTraceEntries() }, fn);
63
- }
64
- function runWithAutoTraceNodeConfiguration(nodeConfiguration, fn) {
65
- const scope = currentAutoTraceScope();
66
- if (!scope || scope.entries.length === 0) {
67
- return fn();
68
- }
69
- const result = runWithAutoTraceScope({ ...scope, nodeConfiguration }, fn);
70
- if (isAutoTraceAsyncGenerator(result)) {
71
- return wrapAutoTraceNodeAsyncGenerator(nodeConfiguration, result);
72
- }
73
- return result;
74
- }
75
- function runAsAutoTraceRootFunction(functionName, fn) {
76
- const scope = currentAutoTraceScope();
77
- if (!scope || scope.entries.length === 0 || functionName === "") {
78
- return fn();
79
- }
80
- const rootFunction = {
81
- name: functionName,
82
- entering: true
83
- };
84
- try {
85
- return runWithAutoTraceScope({ ...scope, rootFunction }, fn);
86
- } finally {
87
- rootFunction.entering = false;
88
- }
89
- }
90
- function isRootFunctionEntry(scope, simpleName) {
91
- const rootFunction = scope.rootFunction;
92
- if (rootFunction === void 0 || !rootFunction.entering) {
93
- return false;
94
- }
95
- rootFunction.entering = false;
96
- return rootFunction.name === simpleName;
97
- }
98
- var SUBTREE_TRACING_DOCS_URL = "https://docs.bitfab.ai/typescript-sdk#experimental-subtree-tracing";
99
- function noteTransformedModule() {
100
- autoTraceGlobal.__bitfab_auto_trace_transformed_v1__ = true;
101
- }
102
- function transformInstalled() {
103
- return autoTraceGlobal.__bitfab_auto_trace_transformed_v1__ === true;
104
- }
105
- function runsOnNode() {
106
- return typeof process !== "undefined" && Boolean(process.versions?.node);
107
- }
108
- function closeAutoTraceRoot() {
109
- autoTraceState.activeRoots -= 1;
110
- }
111
- function settleAutoTraceRoot(context) {
112
- closeAutoTraceRoot();
113
- if (transformInstalled() || !runsOnNode()) {
114
- return;
115
- }
116
- warnOnce(
117
- "auto-trace-transform-missing",
118
- `trace root "${context.traceFunctionKey}" recorded only its own span. No module in this build was compiled by @bitfab/sdk/transform, so calls beneath the root were not discovered. Add the SDK's transform adapter to the server build: ${SUBTREE_TRACING_DOCS_URL}`
119
- );
120
- }
121
- function runWithAutoTraceRootContext(context, spanStack, fn) {
122
- autoTraceState.activeRoots += 1;
123
- const entries = [
124
- ...currentAutoTraceEntries(),
125
- { context, depth: 0, spanStack }
126
- ];
127
- let result;
128
- try {
129
- result = runWithAutoTraceScope({ entries }, fn);
130
- } catch (error) {
131
- settleAutoTraceRoot(context);
132
- throw error;
133
- }
134
- if (isAutoTraceAsyncGenerator(result)) {
135
- closeAutoTraceRoot();
136
- return wrapAutoTraceAsyncGenerator(context, spanStack, result);
137
- }
138
- if (result instanceof Promise) {
139
- return result.finally(() => {
140
- settleAutoTraceRoot(context);
141
- });
142
- }
143
- settleAutoTraceRoot(context);
144
- return result;
145
- }
146
- function invokeThroughAutoTraceEntries(entries, step, fn) {
147
- let run = fn;
148
- for (let index = entries.length - 1; index >= 0; index -= 1) {
149
- const entry = entries[index];
150
- const next = run;
151
- run = () => step(entry, next);
152
- }
153
- return run();
154
- }
155
- function isAutoTraceAsyncGenerator(value) {
156
- if (value === null || typeof value !== "object") {
157
- return false;
158
- }
159
- const candidate = value;
160
- return typeof candidate.next === "function" && typeof candidate.return === "function" && typeof candidate.throw === "function" && typeof candidate[Symbol.asyncIterator] === "function";
161
- }
162
- function wrapAutoTraceAsyncGenerator(context, spanStack, source) {
163
- const step = (method, value) => runWithAutoTraceRootContext(context, spanStack, () => source[method](value));
164
- const wrapped = {
165
- next: (value) => step("next", value),
166
- return: (value) => step("return", value),
167
- throw: (error) => step("throw", error),
168
- [Symbol.asyncIterator]: () => wrapped
169
- };
170
- return wrapped;
171
- }
172
- function wrapAutoTraceNodeAsyncGenerator(nodeConfiguration, source) {
173
- const step = (method, value) => runWithAutoTraceNodeConfiguration(
174
- nodeConfiguration,
175
- () => source[method](value)
176
- );
177
- const wrapped = {
178
- next: (value) => step("next", value),
179
- return: (value) => step("return", value),
180
- throw: (error) => step("throw", error),
181
- [Symbol.asyncIterator]: () => wrapped
182
- };
183
- return wrapped;
184
- }
185
- function shareFinalize(configuration) {
186
- const finalize = configuration.finalize;
187
- if (finalize === void 0) {
188
- return configuration;
189
- }
190
- let settled;
191
- return {
192
- ...configuration,
193
- finalize: (result) => {
194
- settled ?? (settled = Promise.resolve().then(() => finalize(result)));
195
- return settled;
196
- }
197
- };
198
- }
199
- function __bitfabAutoSpan(definition, inputs, fn) {
200
- noteTransformedModule();
201
- const scope = currentAutoTraceScope();
202
- if (!scope || scope.entries.length === 0 || isCaptureSuppressed()) {
203
- return fn();
204
- }
205
- const nameParts = definition.name.split(".");
206
- const simpleName = nameParts[nameParts.length - 1];
207
- if (isRootFunctionEntry(scope, simpleName)) {
208
- return fn();
209
- }
210
- const nodeConfiguration = simpleName === scope.nodeConfiguration?.functionName ? shareFinalize(scope.nodeConfiguration) : void 0;
211
- return invokeThroughAutoTraceEntries(
212
- scope.entries,
213
- (entry, next) => entry.context.invoke(definition, inputs, next, entry, nodeConfiguration),
214
- fn
215
- );
216
- }
217
- function __bitfabAutoWrap(definition, fn) {
218
- noteTransformedModule();
219
- if (fn.name === "") {
220
- const nameParts = definition.name.split(".");
221
- const inferredName = nameParts[nameParts.length - 1];
222
- if (inferredName !== void 0) {
223
- Object.defineProperty(fn, "name", {
224
- configurable: true,
225
- value: inferredName
226
- });
227
- }
228
- }
229
- const target = fn;
230
- return new Proxy(target, {
231
- apply(callTarget, thisArg, args) {
232
- if (!__bitfabAutoTraceActive()) {
233
- return Reflect.apply(callTarget, thisArg, args);
234
- }
235
- return __bitfabAutoSpan(
236
- definition,
237
- args,
238
- () => Reflect.apply(callTarget, thisArg, args)
239
- );
240
- }
241
- });
242
- }
243
- function __bitfabAutoTraceActive() {
244
- if (autoTraceState.activeRoots === 0 || isCaptureSuppressed()) {
245
- return false;
246
- }
247
- return currentAutoTraceEntries().length > 0;
248
- }
249
- function currentAutoTraceScope() {
250
- initializeAutoTraceStorage();
251
- return autoTraceState.storage?.getStore() ?? autoTraceState.browserScope;
252
- }
253
- function _resetAutoTraceTransformDetection() {
254
- autoTraceGlobal.__bitfab_auto_trace_transformed_v1__ = void 0;
255
- }
256
-
257
- export {
258
- currentAutoTraceEntries,
259
- runWithAutoTraceEntry,
260
- clearAutoTraceNodeConfiguration,
261
- runWithAutoTraceNodeConfiguration,
262
- runAsAutoTraceRootFunction,
263
- runWithAutoTraceRootContext,
264
- invokeThroughAutoTraceEntries,
265
- __bitfabAutoSpan,
266
- __bitfabAutoWrap,
267
- __bitfabAutoTraceActive,
268
- _resetAutoTraceTransformDetection
269
- };
270
- //# sourceMappingURL=chunk-QRNHRY7F.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/autoTrace.ts"],"sourcesContent":["import {\n type AsyncLocalStorageLike,\n createAsyncLocalStorage,\n} from \"./asyncStorage.js\"\nimport { isCaptureSuppressed } from \"./captureSuppression.js\"\nimport { warnOnce } from \"./warnOnce.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 experimentId?: string\n /** @deprecated Use experimentId. */\n testRunId?: string\n mockOnReplay?: boolean\n replayReusable?: 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 AutoTraceRootFunction {\n name: string\n entering: boolean\n}\n\ninterface AutoTraceScope {\n entries: readonly AutoTraceEntry[]\n nodeConfiguration?: AutoTraceNodeConfiguration\n rootFunction?: AutoTraceRootFunction\n}\n\ninterface AutoTraceState {\n storage: AsyncLocalStorageLike<AutoTraceScope> | null\n browserScope: AutoTraceScope | undefined\n // Older SDK copies read this field when sharing the process-wide V4 state.\n capturePolicies: WeakMap<object, Map<string, ReadonlySet<string>>>\n activeRoots: number\n}\n\ninterface AutoTraceGlobal {\n __bitfabAutoTraceStateV4?: AutoTraceState\n __bitfab_auto_trace_transformed_v1__?: boolean\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 runAsAutoTraceRootFunction<T>(\n functionName: string,\n fn: () => T,\n): T {\n const scope = currentAutoTraceScope()\n if (!scope || scope.entries.length === 0 || functionName === \"\") {\n return fn()\n }\n const rootFunction: AutoTraceRootFunction = {\n name: functionName,\n entering: true,\n }\n try {\n return runWithAutoTraceScope({ ...scope, rootFunction }, fn)\n } finally {\n rootFunction.entering = false\n }\n}\n\nfunction isRootFunctionEntry(\n scope: AutoTraceScope,\n simpleName: string | undefined,\n): boolean {\n const rootFunction = scope.rootFunction\n if (rootFunction === undefined || !rootFunction.entering) {\n return false\n }\n rootFunction.entering = false\n return rootFunction.name === simpleName\n}\n\nconst SUBTREE_TRACING_DOCS_URL =\n \"https://docs.bitfab.ai/typescript-sdk#experimental-subtree-tracing\"\n\nfunction noteTransformedModule(): void {\n autoTraceGlobal.__bitfab_auto_trace_transformed_v1__ = true\n}\n\nfunction transformInstalled(): boolean {\n return autoTraceGlobal.__bitfab_auto_trace_transformed_v1__ === true\n}\n\nfunction runsOnNode(): boolean {\n return typeof process !== \"undefined\" && Boolean(process.versions?.node)\n}\n\nfunction closeAutoTraceRoot(): void {\n autoTraceState.activeRoots -= 1\n}\n\nfunction settleAutoTraceRoot(context: AutoTraceContext): void {\n closeAutoTraceRoot()\n if (transformInstalled() || !runsOnNode()) {\n return\n }\n warnOnce(\n \"auto-trace-transform-missing\",\n `trace root \"${context.traceFunctionKey}\" recorded only its own span. ` +\n \"No module in this build was compiled by @bitfab/sdk/transform, so calls \" +\n \"beneath the root were not discovered. Add the SDK's transform adapter \" +\n `to the server build: ${SUBTREE_TRACING_DOCS_URL}`,\n )\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 settleAutoTraceRoot(context)\n throw error\n }\n\n if (isAutoTraceAsyncGenerator(result)) {\n closeAutoTraceRoot()\n return wrapAutoTraceAsyncGenerator(context, spanStack, result) as T\n }\n\n if (result instanceof Promise) {\n return result.finally(() => {\n settleAutoTraceRoot(context)\n }) as T\n }\n\n settleAutoTraceRoot(context)\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 noteTransformedModule()\n const scope = currentAutoTraceScope()\n if (!scope || scope.entries.length === 0 || isCaptureSuppressed()) {\n return fn()\n }\n const nameParts = definition.name.split(\".\")\n const simpleName = nameParts[nameParts.length - 1]\n if (isRootFunctionEntry(scope, simpleName)) {\n return fn()\n }\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 noteTransformedModule()\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 || isCaptureSuppressed()) {\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 _resetAutoTraceTransformDetection(): void {\n autoTraceGlobal.__bitfab_auto_trace_transformed_v1__ = undefined\n}\n"],"mappings":"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","names":[]}
@@ -1,45 +0,0 @@
1
- import {
2
- AUTO_TRACE_TRANSFORM_MARKER,
3
- bitfabBabelPlugin,
4
- shouldTransformBitfabFile,
5
- sourceFilename
6
- } from "./chunk-ZG6SHKEF.js";
7
-
8
- // ../bitfab-typescript-transform/src/transform.ts
9
- import { transformSync } from "@babel/core";
10
- function parserPlugins(filename) {
11
- const path = sourceFilename(filename);
12
- const typescript = /\.[cm]?tsx?$/.test(path);
13
- const jsx = /\.tsx$/.test(path) || /\.[cm]?jsx?$/.test(path);
14
- return [
15
- ...typescript ? ["typescript"] : [],
16
- ...jsx ? ["jsx"] : [],
17
- "decorators"
18
- ];
19
- }
20
- function transformBitfabSource(source, filename, options = {}) {
21
- if (!shouldTransformBitfabFile(filename, options)) {
22
- return { code: source };
23
- }
24
- const result = transformSync(source, {
25
- babelrc: false,
26
- configFile: false,
27
- filename: sourceFilename(filename),
28
- parserOpts: { plugins: parserPlugins(filename), sourceType: "module" },
29
- plugins: [[bitfabBabelPlugin, options]],
30
- sourceMaps: true
31
- });
32
- if (!result?.code || !result.metadata?.[AUTO_TRACE_TRANSFORM_MARKER]) {
33
- return { code: source };
34
- }
35
- return {
36
- code: result.code,
37
- ...result.map ? { map: result.map } : {}
38
- };
39
- }
40
-
41
- export {
42
- parserPlugins,
43
- transformBitfabSource
44
- };
45
- //# sourceMappingURL=chunk-YVJAOGHE.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../bitfab-typescript-transform/src/transform.ts"],"sourcesContent":["import { type InputOptions, transformSync } from \"@babel/core\"\nimport bitfabBabelPlugin from \"./babelPlugin.js\"\nimport type { BitfabTransformOptions } from \"./transformOptions.js\"\nimport {\n AUTO_TRACE_TRANSFORM_MARKER,\n shouldTransformBitfabFile,\n sourceFilename,\n} from \"./transformOptions.js\"\n\nexport type { BitfabTransformOptions } from \"./transformOptions.js\"\n\ntype ParserPlugin = NonNullable<\n NonNullable<InputOptions[\"parserOpts\"]>[\"plugins\"]\n>[number]\n\nexport interface BitfabSourceMap {\n version: number\n sources: string[]\n names: string[]\n mappings: string\n file?: string\n sourceRoot?: string\n sourcesContent?: Array<string | null>\n}\n\nexport interface BitfabTransformResult {\n code: string\n map?: BitfabSourceMap\n}\n\nexport function parserPlugins(filename: string): ParserPlugin[] {\n const path = sourceFilename(filename)\n const typescript = /\\.[cm]?tsx?$/.test(path)\n const jsx = /\\.tsx$/.test(path) || /\\.[cm]?jsx?$/.test(path)\n return [\n ...(typescript ? ([\"typescript\"] as const) : []),\n ...(jsx ? ([\"jsx\"] as const) : []),\n \"decorators\",\n ]\n}\n\nexport function transformBitfabSource(\n source: string,\n filename: string,\n options: BitfabTransformOptions = {},\n): BitfabTransformResult {\n if (!shouldTransformBitfabFile(filename, options)) {\n return { code: source }\n }\n const result = transformSync(source, {\n babelrc: false,\n configFile: false,\n filename: sourceFilename(filename),\n parserOpts: { plugins: parserPlugins(filename), sourceType: \"module\" },\n plugins: [[bitfabBabelPlugin, options]],\n sourceMaps: true,\n })\n if (!result?.code || !result.metadata?.[AUTO_TRACE_TRANSFORM_MARKER]) {\n return { code: source }\n }\n return {\n code: result.code,\n ...(result.map ? { map: result.map as BitfabSourceMap } : {}),\n }\n}\n"],"mappings":";;;;;;;;AAAA,SAA4B,qBAAqB;AA8B1C,SAAS,cAAc,UAAkC;AAC9D,QAAM,OAAO,eAAe,QAAQ;AACpC,QAAM,aAAa,eAAe,KAAK,IAAI;AAC3C,QAAM,MAAM,SAAS,KAAK,IAAI,KAAK,eAAe,KAAK,IAAI;AAC3D,SAAO;AAAA,IACL,GAAI,aAAc,CAAC,YAAY,IAAc,CAAC;AAAA,IAC9C,GAAI,MAAO,CAAC,KAAK,IAAc,CAAC;AAAA,IAChC;AAAA,EACF;AACF;AAEO,SAAS,sBACd,QACA,UACA,UAAkC,CAAC,GACZ;AACvB,MAAI,CAAC,0BAA0B,UAAU,OAAO,GAAG;AACjD,WAAO,EAAE,MAAM,OAAO;AAAA,EACxB;AACA,QAAM,SAAS,cAAc,QAAQ;AAAA,IACnC,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,UAAU,eAAe,QAAQ;AAAA,IACjC,YAAY,EAAE,SAAS,cAAc,QAAQ,GAAG,YAAY,SAAS;AAAA,IACrE,SAAS,CAAC,CAAC,mBAAmB,OAAO,CAAC;AAAA,IACtC,YAAY;AAAA,EACd,CAAC;AACD,MAAI,CAAC,QAAQ,QAAQ,CAAC,OAAO,WAAW,2BAA2B,GAAG;AACpE,WAAO,EAAE,MAAM,OAAO;AAAA,EACxB;AACA,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb,GAAI,OAAO,MAAM,EAAE,KAAK,OAAO,IAAuB,IAAI,CAAC;AAAA,EAC7D;AACF;","names":[]}