@rasputin-ai/node 0.6.2 → 0.7.1

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.
@@ -2,6 +2,7 @@ export { scheduleInstrumentationManifestUpload } from './auto-instrumentation/sc
2
2
  export type { ExecutionRuntime, ExecutionRuntimeScope, ExecutionState, PreparedCallHandle, } from './execution-recorder';
3
3
  export { createExecutionRecorder } from './execution-recorder';
4
4
  export { installAutomaticExecutionRuntime } from './execution-recorder/automatic-runtime';
5
+ export { inertErrorObservation } from './execution-recorder/error-observation';
5
6
  export type { InstallGlobalHandlersOptions } from './install-global-handlers';
6
7
  export { installGlobalHandlers } from './install-global-handlers';
7
8
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,iEAAiE,CAAC;AACxH,YAAY,EACX,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAC1F,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,iEAAiE,CAAC;AACxH,YAAY,EACX,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/internal.js CHANGED
@@ -665,6 +665,21 @@ import {
665
665
  runtimeFunctionId as runtimeFunctionId2
666
666
  } from "@rasputin-ai/core";
667
667
 
668
+ // src/execution-recorder/error-observation.ts
669
+ var bindings = /* @__PURE__ */ new WeakMap();
670
+ var mintErrorObservation = (binding) => {
671
+ const observation = Object.freeze(/* @__PURE__ */ Object.create(null));
672
+ bindings.set(observation, binding);
673
+ return observation;
674
+ };
675
+ var bindingForObservation = (value) => {
676
+ if (typeof value !== "object" || value === null) return void 0;
677
+ return bindings.get(value);
678
+ };
679
+ var inertErrorObservation = () => {
680
+ return Object.freeze(/* @__PURE__ */ Object.create(null));
681
+ };
682
+
668
683
  // src/execution-recorder/execution-journal.ts
669
684
  var KIND_ENTER = 1;
670
685
  var KIND_EXIT = 2;
@@ -2671,8 +2686,7 @@ var noOpExecution = {
2671
2686
  createScope: () => ({
2672
2687
  run: (callback) => callback(),
2673
2688
  getErrorState: () => void 0,
2674
- associateError: () => {
2675
- },
2689
+ observeError: () => inertErrorObservation(),
2676
2690
  finish: () => {
2677
2691
  }
2678
2692
  }),
@@ -2785,7 +2799,12 @@ var createExecutionRecorder = (options) => {
2785
2799
  let nextRuntimePlanId = 1;
2786
2800
  const internedPlans = /* @__PURE__ */ new Map();
2787
2801
  const preparedModules = /* @__PURE__ */ new WeakMap();
2788
- const errorExecutions = /* @__PURE__ */ new WeakMap();
2802
+ const owner = {};
2803
+ const ownerGeneration = 1;
2804
+ let storageClock = 0;
2805
+ let occurrenceCounter = 0;
2806
+ const recordingsById = /* @__PURE__ */ new Map();
2807
+ const evictedRecordingIds = [];
2789
2808
  const retainedErrorRecordings = [];
2790
2809
  const phases = phaseTimingEnabled ? { alsNs: 0n, materializeNs: 0n } : void 0;
2791
2810
  const stats = {
@@ -3018,6 +3037,39 @@ var createExecutionRecorder = (options) => {
3018
3037
  };
3019
3038
  return boundedState.truncated?.size ? enforceRuntimeStateSizeBudget(boundedState, runtimeStateSizeBudget) : boundedState;
3020
3039
  };
3040
+ const forgetDiscardedRecording = (recording) => {
3041
+ if (recording.hasError || recording.retainedForError) return;
3042
+ recordingsById.delete(recording.executionId);
3043
+ };
3044
+ const discardSuccessfulEvidence = (recording) => {
3045
+ if (recording.evidenceDiscarded) return;
3046
+ recording.evidenceDiscarded = true;
3047
+ recording.cachedState = void 0;
3048
+ recording.repeatedCalls = [];
3049
+ recording.lateCapturedCallIds = void 0;
3050
+ recording.capturedErrors = /* @__PURE__ */ new WeakMap();
3051
+ if (recording.journal) {
3052
+ journalPool.release(recording.journal);
3053
+ recording.journal = void 0;
3054
+ }
3055
+ recordingsById.delete(recording.executionId);
3056
+ };
3057
+ const mintOccurrence = (recording, provenance) => mintErrorObservation({
3058
+ owner,
3059
+ ownerGeneration,
3060
+ recordingId: recording.executionId,
3061
+ recordingGeneration: recording.storageGeneration,
3062
+ occurrenceId: ++occurrenceCounter,
3063
+ provenance
3064
+ });
3065
+ const dropOldestEvictedRecording = () => {
3066
+ while (evictedRecordingIds.length > maxRetainedErrorRecordings) {
3067
+ const oldId = evictedRecordingIds.shift();
3068
+ if (!oldId) continue;
3069
+ const old = recordingsById.get(oldId);
3070
+ if (old?.evicted) recordingsById.delete(oldId);
3071
+ }
3072
+ };
3021
3073
  const evictRetainedRecording = (recording) => {
3022
3074
  const eventCount = recording.cachedState?.events.length ?? recording.journal?.eventCount ?? 0;
3023
3075
  const dropped = (recording.cachedState?.truncated?.eventsDropped ?? recording.journal?.dropped ?? 0) + eventCount;
@@ -3042,6 +3094,8 @@ var createExecutionRecorder = (options) => {
3042
3094
  eventsDropped: Math.max(1, dropped)
3043
3095
  }
3044
3096
  };
3097
+ evictedRecordingIds.push(recording.executionId);
3098
+ dropOldestEvictedRecording();
3045
3099
  };
3046
3100
  const trimFinishedRetainedRecordings = (keep) => {
3047
3101
  while (retainedErrorRecordings.length > maxRetainedErrorRecordings) {
@@ -3119,10 +3173,17 @@ var createExecutionRecorder = (options) => {
3119
3173
  }
3120
3174
  }
3121
3175
  };
3122
- const rememberError = (error, recording) => {
3123
- recording.hasError = true;
3124
- const key = (typeof error === "object" || typeof error === "function") && error !== null ? error : void 0;
3125
- if (recording.budgetExpired && !(key && errorExecutions.has(key))) {
3176
+ const retainFailure = (recording) => {
3177
+ if (recording.evidenceDiscarded) return;
3178
+ if (!recording.hasError) {
3179
+ recording.hasError = true;
3180
+ stats.errorSnapshots++;
3181
+ if (recording.memory.underPressure && !recording.partialSnapshotCounted) {
3182
+ recording.partialSnapshotCounted = true;
3183
+ stats.partialErrorSnapshots++;
3184
+ }
3185
+ }
3186
+ if (recording.budgetExpired) {
3126
3187
  const eventsDropped = Math.max(
3127
3188
  1,
3128
3189
  recording.cachedState?.capture?.eventsDropped ?? recording.cachedState?.truncated?.eventsDropped ?? recording.memory.eventsDropped
@@ -3140,15 +3201,23 @@ var createExecutionRecorder = (options) => {
3140
3201
  };
3141
3202
  }
3142
3203
  retainErrorRecording(recording);
3143
- if (!key) return;
3144
- if (!errorExecutions.has(key)) {
3145
- stats.errorSnapshots++;
3146
- if (recording.memory.underPressure && !recording.partialSnapshotCounted) {
3147
- recording.partialSnapshotCounted = true;
3148
- stats.partialErrorSnapshots++;
3149
- }
3204
+ recordingsById.set(recording.executionId, recording);
3205
+ };
3206
+ const observeFailure = (recording, provenance) => {
3207
+ if (!recording.evidenceDiscarded) {
3208
+ retainFailure(recording);
3209
+ }
3210
+ return mintOccurrence(recording, provenance);
3211
+ };
3212
+ const stateForObservation = (observation) => {
3213
+ const binding = bindingForObservation(observation);
3214
+ if (!binding) return void 0;
3215
+ if (binding.owner !== owner || binding.ownerGeneration !== ownerGeneration) return void 0;
3216
+ const recording = recordingsById.get(binding.recordingId);
3217
+ if (!recording || recording.evidenceDiscarded || recording.storageGeneration !== binding.recordingGeneration) {
3218
+ return void 0;
3150
3219
  }
3151
- errorExecutions.set(key, recording);
3220
+ return stateFrom(recording, recording.finishedAtNs);
3152
3221
  };
3153
3222
  const countDroppedEvents = (recording, droppedBefore) => {
3154
3223
  const dropped = recording.journal?.dropped ?? droppedBefore;
@@ -3212,11 +3281,9 @@ var createExecutionRecorder = (options) => {
3212
3281
  };
3213
3282
  const captureCompletedThrow = (recording, plan, args, parentCallId, startedAtNs, error, capturedArgs) => {
3214
3283
  if (!recording.journal) {
3215
- rememberError(error, recording);
3216
3284
  return;
3217
3285
  }
3218
3286
  if (!memoryBudget.reserveCall(recording.memory, plan.estimatedCallBytes)) {
3219
- rememberError(error, recording);
3220
3287
  return;
3221
3288
  }
3222
3289
  const callId = ++recording.nextCallId;
@@ -3242,7 +3309,6 @@ var createExecutionRecorder = (options) => {
3242
3309
  capturedError.commit();
3243
3310
  }
3244
3311
  countDroppedEvents(recording, droppedBefore);
3245
- rememberError(error, recording);
3246
3312
  };
3247
3313
  const recordSuppressedCall = (recording, group, parentCallId, startedAtNs, endedAtNs) => {
3248
3314
  stats.repeatedCallsSuppressed++;
@@ -3288,7 +3354,12 @@ var createExecutionRecorder = (options) => {
3288
3354
  try {
3289
3355
  if (!recording.finished || recording.inFlightCalls > 0) return;
3290
3356
  memoryBudget.release(recording.memory);
3357
+ if (!recording.hasError && !recording.retainedForError) {
3358
+ discardSuccessfulEvidence(recording);
3359
+ return;
3360
+ }
3291
3361
  releaseJournalIfIdle(recording);
3362
+ forgetDiscardedRecording(recording);
3292
3363
  } catch {
3293
3364
  }
3294
3365
  };
@@ -3300,6 +3371,9 @@ var createExecutionRecorder = (options) => {
3300
3371
  recording.finished = true;
3301
3372
  if (metadata) mergeExecutionMetadata(recording.execution, metadata);
3302
3373
  stats.activeExecutions = Math.max(0, stats.activeExecutions - 1);
3374
+ if (recording.runFailed && !recording.hasError) {
3375
+ retainFailure(recording);
3376
+ }
3303
3377
  if (!recording.hasError) {
3304
3378
  stats.successfulExecutionsDiscarded++;
3305
3379
  }
@@ -3325,6 +3399,7 @@ var createExecutionRecorder = (options) => {
3325
3399
  sweepLongLivedExecutions(recorderStartedAtNs);
3326
3400
  const recording = {
3327
3401
  executionId: `${Date.now()}-${process.pid}-${++executionCounter}`,
3402
+ storageGeneration: ++storageClock,
3328
3403
  startedAt: (/* @__PURE__ */ new Date()).toISOString(),
3329
3404
  startedAtNs: recorderStartedAtNs,
3330
3405
  inlineRecorderTimeNs: 0n,
@@ -3347,6 +3422,7 @@ var createExecutionRecorder = (options) => {
3347
3422
  stats.activeExecutions++;
3348
3423
  stats.peakActiveExecutions = Math.max(stats.peakActiveExecutions, stats.activeExecutions);
3349
3424
  liveRecordings.push(recording);
3425
+ recordingsById.set(recording.executionId, recording);
3350
3426
  addRecorderTime(recording, process.hrtime.bigint() - recorderStartedAtNs);
3351
3427
  const store = { recording };
3352
3428
  return {
@@ -3360,8 +3436,9 @@ var createExecutionRecorder = (options) => {
3360
3436
  try {
3361
3437
  return callback();
3362
3438
  } catch (error) {
3439
+ recording.runFailed = true;
3363
3440
  if (recording.budgetExpired || recording.evicted) {
3364
- rememberError(error, recording);
3441
+ retainFailure(recording);
3365
3442
  }
3366
3443
  throw error;
3367
3444
  }
@@ -3371,21 +3448,21 @@ var createExecutionRecorder = (options) => {
3371
3448
  return callback();
3372
3449
  }
3373
3450
  },
3374
- getErrorState: (error, errorMetadata) => {
3451
+ observeError: (_error) => {
3375
3452
  try {
3376
- const getStateStartedAtNs = process.hrtime.bigint();
3377
- if (errorMetadata) mergeExecutionMetadata(recording.execution, errorMetadata);
3378
- rememberError(error, recording);
3379
- addRecorderTime(recording, process.hrtime.bigint() - getStateStartedAtNs);
3380
- return stateFrom(recording, recording.finishedAtNs);
3453
+ return observeFailure(recording, "scope-observe");
3381
3454
  } catch {
3382
- return void 0;
3455
+ return inertErrorObservation();
3383
3456
  }
3384
3457
  },
3385
- associateError: (error) => {
3458
+ getErrorState: (observation) => {
3386
3459
  try {
3387
- rememberError(error, recording);
3460
+ const getStateStartedAtNs = process.hrtime.bigint();
3461
+ const state = stateForObservation(observation);
3462
+ addRecorderTime(recording, process.hrtime.bigint() - getStateStartedAtNs);
3463
+ return state;
3388
3464
  } catch {
3465
+ return void 0;
3389
3466
  }
3390
3467
  },
3391
3468
  finish: (finishMetadata) => finish(store, finishMetadata)
@@ -3394,16 +3471,9 @@ var createExecutionRecorder = (options) => {
3394
3471
  return noOpExecution.createScope(metadata);
3395
3472
  }
3396
3473
  };
3397
- const getErrorState = (error, metadata) => {
3398
- const getStateStartedAtNs = process.hrtime.bigint();
3474
+ const getErrorState = (observation) => {
3399
3475
  try {
3400
- const weakKey = (typeof error === "object" || typeof error === "function") && error !== null ? error : void 0;
3401
- const recording = (weakKey ? errorExecutions.get(weakKey) : void 0) ?? currentStore()?.recording;
3402
- if (!recording) return void 0;
3403
- if (metadata) mergeExecutionMetadata(recording.execution, metadata);
3404
- rememberError(error, recording);
3405
- addRecorderTime(recording, process.hrtime.bigint() - getStateStartedAtNs);
3406
- return stateFrom(recording, recording.finishedAtNs);
3476
+ return stateForObservation(observation);
3407
3477
  } catch {
3408
3478
  return void 0;
3409
3479
  }
@@ -3438,7 +3508,7 @@ var createExecutionRecorder = (options) => {
3438
3508
  return callback();
3439
3509
  } catch (error) {
3440
3510
  if (store.recording.budgetExpired || store.recording.evicted) {
3441
- rememberError(error, store.recording);
3511
+ retainFailure(store.recording);
3442
3512
  }
3443
3513
  throw error;
3444
3514
  }
@@ -3486,8 +3556,7 @@ var createExecutionRecorder = (options) => {
3486
3556
  recorderStartedAtNs,
3487
3557
  callback,
3488
3558
  () => settleInFlight(recording),
3489
- (error) => {
3490
- rememberError(error, recording);
3559
+ (_error) => {
3491
3560
  settleInFlight(recording);
3492
3561
  }
3493
3562
  );
@@ -3519,8 +3588,7 @@ var createExecutionRecorder = (options) => {
3519
3588
  recorderStartedAtNs,
3520
3589
  callback,
3521
3590
  () => settleInFlight(recording),
3522
- (error) => {
3523
- rememberError(error, recording);
3591
+ (_error) => {
3524
3592
  settleInFlight(recording);
3525
3593
  }
3526
3594
  );
@@ -3538,8 +3606,7 @@ var createExecutionRecorder = (options) => {
3538
3606
  recorderStartedAtNs,
3539
3607
  callback,
3540
3608
  () => settleInFlight(recording),
3541
- (error) => {
3542
- rememberError(error, recording);
3609
+ (_error) => {
3543
3610
  settleInFlight(recording);
3544
3611
  }
3545
3612
  );
@@ -3563,7 +3630,6 @@ var createExecutionRecorder = (options) => {
3563
3630
  },
3564
3631
  (error) => {
3565
3632
  if (!recording.journal) {
3566
- rememberError(error, recording);
3567
3633
  settleInFlight(recording);
3568
3634
  return;
3569
3635
  }
@@ -3577,7 +3643,6 @@ var createExecutionRecorder = (options) => {
3577
3643
  );
3578
3644
  stats.functionCallsCaptured++;
3579
3645
  capturedError.commit();
3580
- rememberError(error, recording);
3581
3646
  settleInFlight(recording);
3582
3647
  }
3583
3648
  );
@@ -3652,8 +3717,7 @@ var createExecutionRecorder = (options) => {
3652
3717
  const expiredStore = { recording: expired };
3653
3718
  return {
3654
3719
  leave: (value) => value,
3655
- fail: (error) => {
3656
- rememberError(error, expired);
3720
+ fail: () => {
3657
3721
  },
3658
3722
  end: () => {
3659
3723
  },
@@ -3787,10 +3851,9 @@ var createExecutionRecorder = (options) => {
3787
3851
  }
3788
3852
  return value;
3789
3853
  },
3790
- fail: (error) => {
3854
+ fail: (_error) => {
3791
3855
  if (status === "failed") return;
3792
3856
  status = "failed";
3793
- rememberError(error, recording);
3794
3857
  },
3795
3858
  end: finishEnd,
3796
3859
  ...context
@@ -3811,10 +3874,9 @@ var createExecutionRecorder = (options) => {
3811
3874
  }
3812
3875
  return value;
3813
3876
  },
3814
- fail: (error) => {
3877
+ fail: (_error) => {
3815
3878
  if (status === "failed") return;
3816
3879
  status = "failed";
3817
- rememberError(error, recording);
3818
3880
  },
3819
3881
  end: finishEnd,
3820
3882
  ...context
@@ -3827,7 +3889,8 @@ var createExecutionRecorder = (options) => {
3827
3889
  journal.startCall(plan.runtimePlanId, callId, parentCallId, enterTimestampNs, capturedArgs);
3828
3890
  } catch {
3829
3891
  journal.dropCall();
3830
- return dropWithoutCapture((error) => rememberError(error, recording));
3892
+ return dropWithoutCapture(() => {
3893
+ });
3831
3894
  }
3832
3895
  const callStore = { recording, currentCallId: callId };
3833
3896
  const captured = bindStoreTransitions(callStore, parentStore, recording, plan);
@@ -3842,7 +3905,6 @@ var createExecutionRecorder = (options) => {
3842
3905
  };
3843
3906
  const writeThrow = (error) => {
3844
3907
  if (!recording.journal) {
3845
- rememberError(error, recording);
3846
3908
  return;
3847
3909
  }
3848
3910
  const capturedError = serializedError(recording, error, callId);
@@ -3855,7 +3917,6 @@ var createExecutionRecorder = (options) => {
3855
3917
  );
3856
3918
  stats.functionCallsCaptured++;
3857
3919
  capturedError.commit();
3858
- rememberError(error, recording);
3859
3920
  };
3860
3921
  return {
3861
3922
  leave: (value) => {
@@ -3871,7 +3932,6 @@ var createExecutionRecorder = (options) => {
3871
3932
  try {
3872
3933
  writeThrow(error);
3873
3934
  } catch {
3874
- rememberError(error, recording);
3875
3935
  }
3876
3936
  },
3877
3937
  end: () => {
@@ -4175,6 +4235,7 @@ var installGlobalHandlers = (client, options = {}) => {
4175
4235
  };
4176
4236
  export {
4177
4237
  createExecutionRecorder,
4238
+ inertErrorObservation,
4178
4239
  installAutomaticExecutionRuntime,
4179
4240
  installGlobalHandlers,
4180
4241
  scheduleInstrumentationManifestUpload
@@ -1 +1 @@
1
- {"version":3,"file":"rasputin-init.d.ts","sourceRoot":"","sources":["../src/rasputin-init.ts"],"names":[],"mappings":"AAMA,OAAO,EAIN,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEN,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAE3B,KAAK,iBAAiB,EACtB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG;IACnD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG;IAC3D,qFAAqF;IACrF,QAAQ,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IACnE,+EAA+E;IAC/E,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,EAAE,MAAM,uBAAuB,CAAC;IACxC;;;OAGG;IACH,mBAAmB,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACvD,CAAC;AA+DF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,mBAAmB,KAAG,kBAmE3D,CAAC"}
1
+ {"version":3,"file":"rasputin-init.d.ts","sourceRoot":"","sources":["../src/rasputin-init.ts"],"names":[],"mappings":"AAMA,OAAO,EAIN,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEN,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAE3B,KAAK,iBAAiB,EACtB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG;IACnD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG;IAC3D,qFAAqF;IACrF,QAAQ,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IACnE,+EAA+E;IAC/E,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,EAAE,MAAM,uBAAuB,CAAC;IACxC;;;OAGG;IACH,mBAAmB,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACvD,CAAC;AA+DF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,mBAAmB,KAAG,kBA+D3D,CAAC"}
@@ -1,4 +1,4 @@
1
1
  /** Generated by scripts/generate-sdk-meta.ts — do not edit. */
2
2
  export declare const SDK_NAME = "@rasputin-ai/node";
3
- export declare const SDK_VERSION = "0.6.2";
3
+ export declare const SDK_VERSION = "0.7.1";
4
4
  //# sourceMappingURL=sdk-meta.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rasputin-ai/node",
3
- "version": "0.6.2",
3
+ "version": "0.7.1",
4
4
  "description": "Official Rasputin AI SDK for Node and Bun.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -37,10 +37,10 @@
37
37
  "dist"
38
38
  ],
39
39
  "scripts": {
40
- "build": "bun ../scripts/build-package.ts .",
41
- "prepublishOnly": "npm run build && bun ../scripts/check-lockstep-versions.ts",
40
+ "build": "bun ../../scripts/build-package.ts .",
41
+ "prepublishOnly": "npm run build && bun ../../scripts/check-lockstep-versions.ts",
42
42
  "pack:check": "npm run build && npm pack --dry-run",
43
- "typecheck": "bun ../scripts/build-package.ts ../core && bun ../scripts/generate-sdk-meta.ts . && bunx tsc --noEmit",
43
+ "typecheck": "bun ../../scripts/generate-sdk-meta.ts . && bunx tsc --noEmit",
44
44
  "lint": "biome check .",
45
45
  "test": "bun test"
46
46
  },
@@ -49,7 +49,7 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@jridgewell/trace-mapping": "0.3.31",
52
- "@rasputin-ai/core": "0.6.2",
52
+ "@rasputin-ai/core": "0.7.1",
53
53
  "typescript": "5"
54
54
  },
55
55
  "devDependencies": {