@rasputin-ai/node 0.5.0-alpha.8 → 0.5.0-alpha.9
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/auto-instrumentation/transform-source.d.ts +2 -2
- package/dist/derivation/analyze-function.d.ts.map +1 -1
- package/dist/execution-recorder/execution-recorder.d.ts.map +1 -1
- package/dist/index.js +37 -13
- package/dist/instrument/build.js +19 -11
- package/dist/instrument/bun.js +19 -11
- package/dist/instrument/node.js +19 -11
- package/dist/sdk-meta.d.ts +1 -1
- package/package.json +2 -2
|
@@ -4,8 +4,8 @@ export type TransformSourceOptions = {
|
|
|
4
4
|
filePath: string;
|
|
5
5
|
mapLocation?: SourceLocationMapper;
|
|
6
6
|
/**
|
|
7
|
-
* analysis
|
|
8
|
-
* serialization for exact helpers
|
|
7
|
+
* analysis (default): full call capture plus derivation.
|
|
8
|
+
* selective (experimental): omit argument/return serialization for exact helpers.
|
|
9
9
|
*/
|
|
10
10
|
derivationMode?: DerivationCaptureMode;
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-function.d.ts","sourceRoot":"","sources":["../../src/derivation/analyze-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EAGb,cAAc,EAGd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAEN,KAAK,gBAAgB,EAErB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"analyze-function.d.ts","sourceRoot":"","sources":["../../src/derivation/analyze-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EAGb,cAAc,EAGd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAEN,KAAK,gBAAgB,EAErB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,KAAK,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,eAAe,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC1B,CAAC;AAojBF,MAAM,MAAM,oBAAoB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,EAAE,CAAC,uBAAuB,GAAG;QAAE,IAAI,EAAE,EAAE,CAAC,WAAW,CAAA;KAAE,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAClC,YAAY,EAAE,CAAC,UAAU,EACzB,SAAS,oBAAoB,EAAE,KAC7B,gBAAgB,EA2ClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-recorder.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/execution-recorder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execution-recorder.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/execution-recorder.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAGX,wBAAwB,EAExB,iBAAiB,EACjB,MAAM,4BAA4B,CAAC;AAiRpC,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,GACnC,SAAS,wBAAwB,GAAG,SAAS,KAC3C,iBA4yBF,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -391,6 +391,7 @@ import {
|
|
|
391
391
|
capturedValueCompleteness,
|
|
392
392
|
hashInstrumentationManifest,
|
|
393
393
|
rasputinOmitted,
|
|
394
|
+
rasputinTagKind,
|
|
394
395
|
runtimeFunctionId as runtimeFunctionId2
|
|
395
396
|
} from "@rasputin-ai/core";
|
|
396
397
|
|
|
@@ -1704,21 +1705,44 @@ var createExecutionRecorder = (options) => {
|
|
|
1704
1705
|
derivationRootBytes: recording.derivationRootBytes
|
|
1705
1706
|
};
|
|
1706
1707
|
};
|
|
1707
|
-
const
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1708
|
+
const eventsHaveOmittedValues = (events) => {
|
|
1709
|
+
for (const event of events) {
|
|
1710
|
+
if (event.type === "function_enter" && event.args.some((arg) => rasputinTagKind(arg) === "omitted")) {
|
|
1711
|
+
return true;
|
|
1712
|
+
}
|
|
1713
|
+
if (event.type === "function_exit" && rasputinTagKind(event.returnValue) === "omitted") {
|
|
1714
|
+
return true;
|
|
1715
|
+
}
|
|
1714
1716
|
}
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1717
|
+
return false;
|
|
1718
|
+
};
|
|
1719
|
+
const resolveCaptureProfile = (recording, events, truncated, capture, derivation) => {
|
|
1720
|
+
const source = recording.sawAutomatic ? "automatic" : recording.sawManual ? "manual" : "scope-only";
|
|
1721
|
+
if (source === "scope-only") {
|
|
1722
|
+
return {
|
|
1723
|
+
source,
|
|
1724
|
+
functionBoundaries: "none",
|
|
1725
|
+
functionValues: "none",
|
|
1726
|
+
timings: "none",
|
|
1727
|
+
derivation: derivation ? "available" : "none"
|
|
1728
|
+
};
|
|
1729
|
+
}
|
|
1730
|
+
const droppedEvents = Boolean(truncated?.eventsDropped || capture?.eventsDropped);
|
|
1731
|
+
return {
|
|
1732
|
+
source,
|
|
1733
|
+
functionBoundaries: droppedEvents ? "partial" : "full",
|
|
1734
|
+
functionValues: eventsHaveOmittedValues(events) ? "selective" : "full",
|
|
1735
|
+
timings: droppedEvents ? "partial" : "full",
|
|
1736
|
+
derivation: derivation ? "available" : "none"
|
|
1737
|
+
};
|
|
1718
1738
|
};
|
|
1719
1739
|
const derivationCapture = (recording) => {
|
|
1720
1740
|
const manifest = snapshotInstrumentationManifest();
|
|
1721
1741
|
if (!manifest) return void 0;
|
|
1742
|
+
const plans = manifest.derivationPlans ?? [];
|
|
1743
|
+
if (!plans.some((plan) => recording.executedFunctionIds.has(plan.functionId))) {
|
|
1744
|
+
return void 0;
|
|
1745
|
+
}
|
|
1722
1746
|
return {
|
|
1723
1747
|
manifestHash: hashInstrumentationManifest(manifest),
|
|
1724
1748
|
roots: recording.derivationRoots.slice(),
|
|
@@ -1759,8 +1783,8 @@ var createExecutionRecorder = (options) => {
|
|
|
1759
1783
|
}
|
|
1760
1784
|
}
|
|
1761
1785
|
const state = {
|
|
1762
|
-
version:
|
|
1763
|
-
|
|
1786
|
+
version: 4,
|
|
1787
|
+
captureProfile: resolveCaptureProfile(recording, events, truncated, capture, derivation),
|
|
1764
1788
|
executionId: recording.executionId,
|
|
1765
1789
|
startedAt: recording.startedAt,
|
|
1766
1790
|
durationMs: elapsedMs2(recording.startedAtNs, endedAtNs),
|
|
@@ -2385,7 +2409,7 @@ import {
|
|
|
2385
2409
|
|
|
2386
2410
|
// src/sdk-meta.ts
|
|
2387
2411
|
var SDK_NAME = "@rasputin-ai/node";
|
|
2388
|
-
var SDK_VERSION = "0.5.0-alpha.
|
|
2412
|
+
var SDK_VERSION = "0.5.0-alpha.9";
|
|
2389
2413
|
|
|
2390
2414
|
// src/rasputin-init.ts
|
|
2391
2415
|
var withExecution = (client, execution, installRuntime, manifest) => {
|
package/dist/instrument/build.js
CHANGED
|
@@ -377,9 +377,6 @@ var emptyPlan = (functionId) => ({
|
|
|
377
377
|
controlFacts: []
|
|
378
378
|
});
|
|
379
379
|
|
|
380
|
-
// src/derivation/derivation-proof.ts
|
|
381
|
-
var functionIsExact = (plan) => plan.fallbackReason === void 0 && plan.captureBoundaries.length === 0 && plan.controlFacts.length === 0;
|
|
382
|
-
|
|
383
380
|
// src/derivation/analyze-function.ts
|
|
384
381
|
var loc = (node, sourceFile) => {
|
|
385
382
|
const position = sourceFile.getLineAndCharacterOfPosition(node.getStart(sourceFile));
|
|
@@ -589,7 +586,7 @@ var analyzeExpression = (ctx, node) => {
|
|
|
589
586
|
if (!ts.isIdentifier(node.expression)) return capture(ctx, node, "dynamic_callee");
|
|
590
587
|
const calleeName = node.expression.text;
|
|
591
588
|
if (lookup(ctx, calleeName)) return capture(ctx, node, "opaque_call");
|
|
592
|
-
const provenId = ctx.
|
|
589
|
+
const provenId = ctx.moduleCallees.get(calleeName);
|
|
593
590
|
ctx.callEdges.push({
|
|
594
591
|
callerFunctionId: ctx.functionId,
|
|
595
592
|
calleeName,
|
|
@@ -779,7 +776,7 @@ var bindParams = (ctx, node) => {
|
|
|
779
776
|
index++;
|
|
780
777
|
}
|
|
781
778
|
};
|
|
782
|
-
var analyzeOne = (node, functionId, name, sourceFile,
|
|
779
|
+
var analyzeOne = (node, functionId, name, sourceFile, moduleCallees) => {
|
|
783
780
|
const ctx = {
|
|
784
781
|
sourceFile,
|
|
785
782
|
functionId,
|
|
@@ -795,7 +792,7 @@ var analyzeOne = (node, functionId, name, sourceFile, provenExact) => {
|
|
|
795
792
|
nextAssignmentId: { value: 0 },
|
|
796
793
|
hasThrow: false,
|
|
797
794
|
hasCoercionGuard: false,
|
|
798
|
-
|
|
795
|
+
moduleCallees,
|
|
799
796
|
identifierParams: []
|
|
800
797
|
};
|
|
801
798
|
if (node.asteriskToken || node.modifiers?.some((modifier) => modifier.kind === ts.SyntaxKind.AsyncKeyword)) {
|
|
@@ -852,14 +849,20 @@ var analyzeModuleFunctions = (sourceFile, targets) => {
|
|
|
852
849
|
graph
|
|
853
850
|
);
|
|
854
851
|
const byId = new Map(targets.map((target) => [target.functionId, target]));
|
|
855
|
-
const
|
|
852
|
+
const moduleCallees = /* @__PURE__ */ new Map();
|
|
856
853
|
const analyzed = [];
|
|
857
854
|
for (const functionId of order) {
|
|
858
855
|
const target = byId.get(functionId);
|
|
859
856
|
if (!target) continue;
|
|
860
|
-
const result2 = analyzeOne(
|
|
861
|
-
|
|
862
|
-
|
|
857
|
+
const result2 = analyzeOne(
|
|
858
|
+
target.node,
|
|
859
|
+
target.functionId,
|
|
860
|
+
target.name,
|
|
861
|
+
sourceFile,
|
|
862
|
+
moduleCallees
|
|
863
|
+
);
|
|
864
|
+
if (nameCounts.get(result2.name) === 1) {
|
|
865
|
+
moduleCallees.set(result2.name, result2.functionId);
|
|
863
866
|
}
|
|
864
867
|
analyzed.push(result2);
|
|
865
868
|
}
|
|
@@ -867,11 +870,16 @@ var analyzeModuleFunctions = (sourceFile, targets) => {
|
|
|
867
870
|
(target) => !analyzed.some((fn) => fn.functionId === target.functionId)
|
|
868
871
|
);
|
|
869
872
|
for (const target of remaining) {
|
|
870
|
-
analyzed.push(
|
|
873
|
+
analyzed.push(
|
|
874
|
+
analyzeOne(target.node, target.functionId, target.name, sourceFile, moduleCallees)
|
|
875
|
+
);
|
|
871
876
|
}
|
|
872
877
|
return analyzed;
|
|
873
878
|
};
|
|
874
879
|
|
|
880
|
+
// src/derivation/derivation-proof.ts
|
|
881
|
+
var functionIsExact = (plan) => plan.fallbackReason === void 0 && plan.captureBoundaries.length === 0 && plan.controlFacts.length === 0;
|
|
882
|
+
|
|
875
883
|
// src/derivation/emit-capture-plan.ts
|
|
876
884
|
var captureWrapEdits = (wraps, capName) => {
|
|
877
885
|
const edits = [];
|
package/dist/instrument/bun.js
CHANGED
|
@@ -211,9 +211,6 @@ var emptyPlan = (functionId) => ({
|
|
|
211
211
|
controlFacts: []
|
|
212
212
|
});
|
|
213
213
|
|
|
214
|
-
// src/derivation/derivation-proof.ts
|
|
215
|
-
var functionIsExact = (plan) => plan.fallbackReason === void 0 && plan.captureBoundaries.length === 0 && plan.controlFacts.length === 0;
|
|
216
|
-
|
|
217
214
|
// src/derivation/analyze-function.ts
|
|
218
215
|
var loc = (node, sourceFile) => {
|
|
219
216
|
const position = sourceFile.getLineAndCharacterOfPosition(node.getStart(sourceFile));
|
|
@@ -423,7 +420,7 @@ var analyzeExpression = (ctx, node) => {
|
|
|
423
420
|
if (!ts.isIdentifier(node.expression)) return capture(ctx, node, "dynamic_callee");
|
|
424
421
|
const calleeName = node.expression.text;
|
|
425
422
|
if (lookup(ctx, calleeName)) return capture(ctx, node, "opaque_call");
|
|
426
|
-
const provenId = ctx.
|
|
423
|
+
const provenId = ctx.moduleCallees.get(calleeName);
|
|
427
424
|
ctx.callEdges.push({
|
|
428
425
|
callerFunctionId: ctx.functionId,
|
|
429
426
|
calleeName,
|
|
@@ -613,7 +610,7 @@ var bindParams = (ctx, node) => {
|
|
|
613
610
|
index++;
|
|
614
611
|
}
|
|
615
612
|
};
|
|
616
|
-
var analyzeOne = (node, functionId, name, sourceFile,
|
|
613
|
+
var analyzeOne = (node, functionId, name, sourceFile, moduleCallees) => {
|
|
617
614
|
const ctx = {
|
|
618
615
|
sourceFile,
|
|
619
616
|
functionId,
|
|
@@ -629,7 +626,7 @@ var analyzeOne = (node, functionId, name, sourceFile, provenExact) => {
|
|
|
629
626
|
nextAssignmentId: { value: 0 },
|
|
630
627
|
hasThrow: false,
|
|
631
628
|
hasCoercionGuard: false,
|
|
632
|
-
|
|
629
|
+
moduleCallees,
|
|
633
630
|
identifierParams: []
|
|
634
631
|
};
|
|
635
632
|
if (node.asteriskToken || node.modifiers?.some((modifier) => modifier.kind === ts.SyntaxKind.AsyncKeyword)) {
|
|
@@ -686,14 +683,20 @@ var analyzeModuleFunctions = (sourceFile, targets) => {
|
|
|
686
683
|
graph
|
|
687
684
|
);
|
|
688
685
|
const byId = new Map(targets.map((target) => [target.functionId, target]));
|
|
689
|
-
const
|
|
686
|
+
const moduleCallees = /* @__PURE__ */ new Map();
|
|
690
687
|
const analyzed = [];
|
|
691
688
|
for (const functionId of order) {
|
|
692
689
|
const target = byId.get(functionId);
|
|
693
690
|
if (!target) continue;
|
|
694
|
-
const result = analyzeOne(
|
|
695
|
-
|
|
696
|
-
|
|
691
|
+
const result = analyzeOne(
|
|
692
|
+
target.node,
|
|
693
|
+
target.functionId,
|
|
694
|
+
target.name,
|
|
695
|
+
sourceFile,
|
|
696
|
+
moduleCallees
|
|
697
|
+
);
|
|
698
|
+
if (nameCounts.get(result.name) === 1) {
|
|
699
|
+
moduleCallees.set(result.name, result.functionId);
|
|
697
700
|
}
|
|
698
701
|
analyzed.push(result);
|
|
699
702
|
}
|
|
@@ -701,11 +704,16 @@ var analyzeModuleFunctions = (sourceFile, targets) => {
|
|
|
701
704
|
(target) => !analyzed.some((fn) => fn.functionId === target.functionId)
|
|
702
705
|
);
|
|
703
706
|
for (const target of remaining) {
|
|
704
|
-
analyzed.push(
|
|
707
|
+
analyzed.push(
|
|
708
|
+
analyzeOne(target.node, target.functionId, target.name, sourceFile, moduleCallees)
|
|
709
|
+
);
|
|
705
710
|
}
|
|
706
711
|
return analyzed;
|
|
707
712
|
};
|
|
708
713
|
|
|
714
|
+
// src/derivation/derivation-proof.ts
|
|
715
|
+
var functionIsExact = (plan) => plan.fallbackReason === void 0 && plan.captureBoundaries.length === 0 && plan.controlFacts.length === 0;
|
|
716
|
+
|
|
709
717
|
// src/derivation/emit-capture-plan.ts
|
|
710
718
|
var captureWrapEdits = (wraps, capName) => {
|
|
711
719
|
const edits = [];
|
package/dist/instrument/node.js
CHANGED
|
@@ -266,9 +266,6 @@ var emptyPlan = (functionId) => ({
|
|
|
266
266
|
controlFacts: []
|
|
267
267
|
});
|
|
268
268
|
|
|
269
|
-
// src/derivation/derivation-proof.ts
|
|
270
|
-
var functionIsExact = (plan) => plan.fallbackReason === void 0 && plan.captureBoundaries.length === 0 && plan.controlFacts.length === 0;
|
|
271
|
-
|
|
272
269
|
// src/derivation/analyze-function.ts
|
|
273
270
|
var loc = (node, sourceFile) => {
|
|
274
271
|
const position = sourceFile.getLineAndCharacterOfPosition(node.getStart(sourceFile));
|
|
@@ -478,7 +475,7 @@ var analyzeExpression = (ctx, node) => {
|
|
|
478
475
|
if (!ts.isIdentifier(node.expression)) return capture(ctx, node, "dynamic_callee");
|
|
479
476
|
const calleeName = node.expression.text;
|
|
480
477
|
if (lookup(ctx, calleeName)) return capture(ctx, node, "opaque_call");
|
|
481
|
-
const provenId = ctx.
|
|
478
|
+
const provenId = ctx.moduleCallees.get(calleeName);
|
|
482
479
|
ctx.callEdges.push({
|
|
483
480
|
callerFunctionId: ctx.functionId,
|
|
484
481
|
calleeName,
|
|
@@ -668,7 +665,7 @@ var bindParams = (ctx, node) => {
|
|
|
668
665
|
index++;
|
|
669
666
|
}
|
|
670
667
|
};
|
|
671
|
-
var analyzeOne = (node, functionId, name, sourceFile,
|
|
668
|
+
var analyzeOne = (node, functionId, name, sourceFile, moduleCallees) => {
|
|
672
669
|
const ctx = {
|
|
673
670
|
sourceFile,
|
|
674
671
|
functionId,
|
|
@@ -684,7 +681,7 @@ var analyzeOne = (node, functionId, name, sourceFile, provenExact) => {
|
|
|
684
681
|
nextAssignmentId: { value: 0 },
|
|
685
682
|
hasThrow: false,
|
|
686
683
|
hasCoercionGuard: false,
|
|
687
|
-
|
|
684
|
+
moduleCallees,
|
|
688
685
|
identifierParams: []
|
|
689
686
|
};
|
|
690
687
|
if (node.asteriskToken || node.modifiers?.some((modifier) => modifier.kind === ts.SyntaxKind.AsyncKeyword)) {
|
|
@@ -741,14 +738,20 @@ var analyzeModuleFunctions = (sourceFile, targets) => {
|
|
|
741
738
|
graph
|
|
742
739
|
);
|
|
743
740
|
const byId = new Map(targets.map((target) => [target.functionId, target]));
|
|
744
|
-
const
|
|
741
|
+
const moduleCallees = /* @__PURE__ */ new Map();
|
|
745
742
|
const analyzed = [];
|
|
746
743
|
for (const functionId of order) {
|
|
747
744
|
const target = byId.get(functionId);
|
|
748
745
|
if (!target) continue;
|
|
749
|
-
const result = analyzeOne(
|
|
750
|
-
|
|
751
|
-
|
|
746
|
+
const result = analyzeOne(
|
|
747
|
+
target.node,
|
|
748
|
+
target.functionId,
|
|
749
|
+
target.name,
|
|
750
|
+
sourceFile,
|
|
751
|
+
moduleCallees
|
|
752
|
+
);
|
|
753
|
+
if (nameCounts.get(result.name) === 1) {
|
|
754
|
+
moduleCallees.set(result.name, result.functionId);
|
|
752
755
|
}
|
|
753
756
|
analyzed.push(result);
|
|
754
757
|
}
|
|
@@ -756,11 +759,16 @@ var analyzeModuleFunctions = (sourceFile, targets) => {
|
|
|
756
759
|
(target) => !analyzed.some((fn) => fn.functionId === target.functionId)
|
|
757
760
|
);
|
|
758
761
|
for (const target of remaining) {
|
|
759
|
-
analyzed.push(
|
|
762
|
+
analyzed.push(
|
|
763
|
+
analyzeOne(target.node, target.functionId, target.name, sourceFile, moduleCallees)
|
|
764
|
+
);
|
|
760
765
|
}
|
|
761
766
|
return analyzed;
|
|
762
767
|
};
|
|
763
768
|
|
|
769
|
+
// src/derivation/derivation-proof.ts
|
|
770
|
+
var functionIsExact = (plan) => plan.fallbackReason === void 0 && plan.captureBoundaries.length === 0 && plan.controlFacts.length === 0;
|
|
771
|
+
|
|
764
772
|
// src/derivation/emit-capture-plan.ts
|
|
765
773
|
var captureWrapEdits = (wraps, capName) => {
|
|
766
774
|
const edits = [];
|
package/dist/sdk-meta.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rasputin-ai/node",
|
|
3
|
-
"version": "0.5.0-alpha.
|
|
3
|
+
"version": "0.5.0-alpha.9",
|
|
4
4
|
"description": "Official Rasputin AI SDK for Node and Bun.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@jridgewell/trace-mapping": "0.3.31",
|
|
47
|
-
"@rasputin-ai/core": "0.5.0-alpha.
|
|
47
|
+
"@rasputin-ai/core": "0.5.0-alpha.9",
|
|
48
48
|
"typescript": "5"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|