@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.
- package/dist/execution-recorder/error-observation.d.ts +14 -0
- package/dist/execution-recorder/error-observation.d.ts.map +1 -0
- package/dist/execution-recorder/execution-recorder-types.d.ts +10 -7
- package/dist/execution-recorder/execution-recorder-types.d.ts.map +1 -1
- package/dist/execution-recorder/execution-recorder.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +119 -62
- package/dist/instrument/build.js +142 -130
- package/dist/instrument/bun.js +143 -131
- package/dist/instrument/node.js +143 -131
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +117 -56
- package/dist/rasputin-init.d.ts.map +1 -1
- package/dist/sdk-meta.d.ts +1 -1
- package/package.json +5 -5
package/dist/internal.d.ts
CHANGED
|
@@ -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
|
package/dist/internal.d.ts.map
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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
|
|
3123
|
-
recording.
|
|
3124
|
-
|
|
3125
|
-
|
|
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
|
-
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
3451
|
+
observeError: (_error) => {
|
|
3375
3452
|
try {
|
|
3376
|
-
|
|
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
|
|
3455
|
+
return inertErrorObservation();
|
|
3383
3456
|
}
|
|
3384
3457
|
},
|
|
3385
|
-
|
|
3458
|
+
getErrorState: (observation) => {
|
|
3386
3459
|
try {
|
|
3387
|
-
|
|
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 = (
|
|
3398
|
-
const getStateStartedAtNs = process.hrtime.bigint();
|
|
3474
|
+
const getErrorState = (observation) => {
|
|
3399
3475
|
try {
|
|
3400
|
-
|
|
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
|
-
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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: (
|
|
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: (
|
|
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: (
|
|
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((
|
|
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,
|
|
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"}
|
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.
|
|
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
|
|
41
|
-
"prepublishOnly": "npm run build && bun
|
|
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
|
|
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.
|
|
52
|
+
"@rasputin-ai/core": "0.7.1",
|
|
53
53
|
"typescript": "5"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|