@rasputin-ai/node 0.5.1 → 0.5.3

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/README.md CHANGED
@@ -183,7 +183,7 @@ Defaults work for most apps. Customize to exclude noisy sources, redact fields,
183
183
  | `maxObjectKeys` | `30` | Maximum properties retained from one object |
184
184
  | `maxArrayElements` | `20` | Maximum items retained from one array, map, or set |
185
185
  | `maxStringLength` | `500` | Maximum characters retained from one string |
186
- | `maxSerializedValueBytes` | `8 KiB` | Maximum retained size of one captured value |
186
+ | `maxSerializedValueBytes` | `16 KiB` | Maximum retained size of one captured value |
187
187
  | `runtimeStateTargetBytes` | `256 KiB` | Soft size goal for the snapshot sent with an error; extra reconstruction data is dropped first |
188
188
  | `maxRuntimeStateBytes` | `512 KiB` | Hard size limit for that snapshot; values are dropped before call history |
189
189
  | `redactKeys` | `[]` | Additional property names to redact (case- and separator-insensitive, trailing digits ignored) |
@@ -1 +1 @@
1
- {"version":3,"file":"transform-source.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/transform-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,OAAO,KAAK,EACX,4BAA4B,EAE5B,MAAM,kCAAkC,CAAC;AAwC1C,MAAM,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,+BAA+B,6BAA6B,CAAC;AAC1E,eAAO,MAAM,iCAAiC,iCAA2C,CAAC;AAE1F,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,KAAG,OACX,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,4BAA4B,CAAC;CACpC,CAAC;AAOF,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,cAAc,GAAG,SAAS,CAAC;AA6d5F,6FAA6F;AAC7F,eAAO,MAAM,eAAe,GAC3B,QAAQ,MAAM,EACd,SAAS,sBAAsB,KAC7B,iBAAiB,GAAG,SAwOtB,CAAC"}
1
+ {"version":3,"file":"transform-source.d.ts","sourceRoot":"","sources":["../../src/auto-instrumentation/transform-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,OAAO,KAAK,EACX,4BAA4B,EAE5B,MAAM,kCAAkC,CAAC;AAwC1C,MAAM,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,+BAA+B,6BAA6B,CAAC;AAC1E,eAAO,MAAM,iCAAiC,iCAA2C,CAAC;AAE1F,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,KAAG,OACX,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,4BAA4B,CAAC;CACpC,CAAC;AAOF,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,cAAc,GAAG,SAAS,CAAC;AAwgB5F,6FAA6F;AAC7F,eAAO,MAAM,eAAe,GAC3B,QAAQ,MAAM,EACd,SAAS,sBAAsB,KAC7B,iBAAiB,GAAG,SAwOtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"encode-frozen.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/encode-frozen.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,QAAQ,OAAO;;;CAGtD,CAAC;AAEH,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,QAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;CAI5E,CAAC;AA+DH,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,KAAG,MAmCrD,CAAC;AA2KF,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,OAc7C,CAAC;AAEF,eAAO,MAAM,qBAAqB,GACjC,QAAQ,OAAO,EACf,cAAc,MAAM,EACpB,yBAAyB,MAAM,KAC7B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAiBvD,CAAC"}
1
+ {"version":3,"file":"encode-frozen.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/encode-frozen.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,QAAQ,OAAO;;;CAGtD,CAAC;AAEH,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,QAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;CAI5E,CAAC;AA+DH,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,KAAG,MAmCrD,CAAC;AA2KF,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,OAc7C,CAAC;AAWF,eAAO,MAAM,qBAAqB,GACjC,QAAQ,OAAO,EACf,cAAc,MAAM,EACpB,yBAAyB,MAAM,KAC7B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAQvD,CAAC"}
@@ -40,7 +40,7 @@ export type ExecutionRecorderOptions = {
40
40
  maxArrayElements?: number;
41
41
  /** How many characters to keep from one string. Default: 500. */
42
42
  maxStringLength?: number;
43
- /** Maximum size of one captured value after serialization. Default: 8 KiB. */
43
+ /** Maximum size of one captured value after serialization. Default: 16 KiB. */
44
44
  maxSerializedValueBytes?: number;
45
45
  /**
46
46
  * Soft size goal for the whole snapshot sent with an error. Extra reconstruction
@@ -1 +1 @@
1
- {"version":3,"file":"execution-recorder-types.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/execution-recorder-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACX,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,mCAAmC,EACnC,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEjF,2FAA2F;AAC3F,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvD,kFAAkF;AAClF,MAAM,MAAM,wBAAwB,GAAG;IACtC,sFAAsF;IACtF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sGAAsG;IACtG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,cAAc,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC5C,wGAAwG;IACxG,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,+FAA+F;AAC/F,MAAM,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AACzD,oEAAoE;AACpE,MAAM,MAAM,aAAa,GAAG,oBAAoB,CAAC;AACjD,MAAM,MAAM,2BAA2B,GAAG,yBAAyB,CAAC;AACpE,MAAM,MAAM,qCAAqC,GAAG,mCAAmC,CAAC;AACxF,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAC;AACnD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAEnD,gGAAgG;AAChG,MAAM,MAAM,2BAA2B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,wFAAwF;AACxF,MAAM,MAAM,sBAAsB,GAAG;IACpC,4EAA4E;IAC5E,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sEAAsE;IACtE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,6EAA6E;IAC7E,gBAAgB,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+DAA+D;IAC/D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,6BAA6B,EAAE,MAAM,CAAC;IACtC,+EAA+E;IAC/E,eAAe,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,uBAAuB,EAAE,MAAM,CAAC;IAChC,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,4DAA4D;IAC5D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2DAA2D;IAC3D,wBAAwB,EAAE,MAAM,CAAC;IACjC,8EAA8E;IAC9E,wBAAwB,EAAE,MAAM,CAAC;IACjC,4FAA4F;IAC5F,0BAA0B,EAAE,MAAM,CAAC;IACnC,sEAAsE;IACtE,2BAA2B,EAAE,MAAM,CAAC;IACpC,wDAAwD;IACxD,2BAA2B,EAAE,MAAM,CAAC;IACpC,kEAAkE;IAClE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iEAAiE;IACjE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gFAAgF;IAChF,eAAe,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,wBAAwB,EAAE,MAAM,CAAC;IACjC,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0GAA0G;IAC1G,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,uBAAuB,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,cAAc,GAAG;IAC5B,+FAA+F;IAC/F,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,yEAAyE;IACzE,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,qEAAqE;IACrE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG;IACpD,aAAa,EAAE,CACd,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,KACjC,cAAc,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACpC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9D,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB;;;;OAIG;IACH,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,+DAA+D;IAC/D,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACtC,4FAA4F;IAC5F,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,0FAA0F;IAC1F,WAAW,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,cAAc,CAAC;IAC7D;;;;;OAKG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EAC9C,UAAU,EAAE,MAAM,GAAG,2BAA2B,EAChD,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,KACxC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC;IAC9C,qEAAqE;IACrE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,WAAW,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,qBAAqB,CAAC;IACpE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACxC,aAAa,EAAE,CACd,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,KACjC,cAAc,GAAG,SAAS,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,EACd,UAAU,EAAE,yBAAyB,GAAG,MAAM,EAC9C,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,EACxB,QAAQ,EAAE,MAAM,CAAC,KACb,CAAC,CAAC;IACP,gBAAgB,EAAE,CAAC,CAAC,EACnB,KAAK,EAAE,SAAS,mBAAmB,EAAE,EACrC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,EACxB,QAAQ,EAAE,MAAM,CAAC,EACjB,UAAU,CAAC,EAAE,OAAO,KAChB,CAAC,CAAC;IACP,oBAAoB,EAAE,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,CAAC;IACxF,mBAAmB,EAAE,CAAC,CAAC,EACtB,IAAI,EAAE,oBAAoB,EAC1B,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,EACxB,QAAQ,EAAE,MAAM,CAAC,EACjB,UAAU,CAAC,EAAE,OAAO,KAChB,CAAC,CAAC;IACP,qBAAqB,EAAE,CACtB,IAAI,EAAE,oBAAoB,EAC1B,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,EACxB,UAAU,CAAC,EAAE,OAAO,KAChB,kBAAkB,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"execution-recorder-types.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/execution-recorder-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"value-freeze.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/value-freeze.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAG3E,eAAO,MAAM,QAAQ,wBAAwB,CAAC;AAU9C,MAAM,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,wBAAwB,KAAG,YAMtE,CAAC;AAEH,eAAO,MAAM,MAAM,eAA4B,CAAC;AAEhD,MAAM,MAAM,UAAU,GACnB,WAAW,GACX,KAAK,GACL,UAAU,GACV,WAAW,GACX,IAAI,GACJ,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,UAAU,GACV,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,KAAK,GACL,KAAK,GACL,UAAU,GACV,gBAAgB,GAChB,WAAW,GACX,UAAU,GACV,MAAM,CAAC;AAEV,MAAM,MAAM,UAAU,GAAG;IACxB,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AAsXF,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UACQ,CAAC;AAEhE,eAAO,MAAM,kBAAkB,GAAI,UAAS,wBAA6B;oBAmXjD,OAAO,KAAG,cAAc;;CA2C/C,CAAC"}
1
+ {"version":3,"file":"value-freeze.d.ts","sourceRoot":"","sources":["../../src/execution-recorder/value-freeze.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAG3E,eAAO,MAAM,QAAQ,wBAAwB,CAAC;AAU9C,MAAM,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,wBAAwB,KAAG,YAMtE,CAAC;AAEH,eAAO,MAAM,MAAM,eAA4B,CAAC;AAEhD,MAAM,MAAM,UAAU,GACnB,WAAW,GACX,KAAK,GACL,UAAU,GACV,WAAW,GACX,IAAI,GACJ,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,UAAU,GACV,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,KAAK,GACL,KAAK,GACL,UAAU,GACV,gBAAgB,GAChB,WAAW,GACX,UAAU,GACV,MAAM,CAAC;AAEV,MAAM,MAAM,UAAU,GAAG;IACxB,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AAsXF,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UACQ,CAAC;AAoBhE,eAAO,MAAM,kBAAkB,GAAI,UAAS,wBAA6B;oBA+ZjD,OAAO,KAAG,cAAc;;CA8B/C,CAAC"}
package/dist/index.js CHANGED
@@ -1301,7 +1301,7 @@ var defaults = {
1301
1301
  maxObjectKeys: 30,
1302
1302
  maxArrayElements: 20,
1303
1303
  maxStringLength: 500,
1304
- maxSerializedValueBytes: 8 * 1024
1304
+ maxSerializedValueBytes: 16 * 1024
1305
1305
  };
1306
1306
  var compileFreezeLimits = (options) => ({
1307
1307
  maxDepth: options.maxDepth ?? defaults.maxDepth,
@@ -1628,6 +1628,21 @@ var redactUrlUserinfo = (text) => {
1628
1628
  };
1629
1629
  var redactUrlLikeString = (text, redactKeys) => redactSensitiveQuery(redactUrlUserinfo(text), redactKeys);
1630
1630
  var isFrozenAtom = (value) => typeof value === "object" && value !== null && FROZEN in value;
1631
+ var isRetainedOverflowChild = (value) => {
1632
+ if (isFrozenAtom(value)) {
1633
+ if (value[FROZEN] === "truncated") return true;
1634
+ return (value[FROZEN] === "Map" || value[FROZEN] === "Set") && value.truncated === true;
1635
+ }
1636
+ if (!Array.isArray(value) || value.length === 0) return false;
1637
+ const last = value[value.length - 1];
1638
+ return isFrozenAtom(last) && last[FROZEN] === "truncated";
1639
+ };
1640
+ var keepOverflowChild = (child, overflowedOnChild) => {
1641
+ if (!overflowedOnChild) return true;
1642
+ if (child === void 0) return false;
1643
+ return isRetainedOverflowChild(child);
1644
+ };
1645
+ var BYTE_LIMIT = "max_serialized_value_bytes";
1631
1646
  var createValueFreezer = (options = {}) => {
1632
1647
  const limits = compileFreezeLimits(options);
1633
1648
  const redactKeys = compileRedactKeys(options.redactKeys);
@@ -1760,20 +1775,32 @@ var createValueFreezer = (options = {}) => {
1760
1775
  for (const mapKey of Map.prototype.keys.call(value)) {
1761
1776
  if (counted2 >= limits.maxArrayElements || metrics.oversize) break;
1762
1777
  const key = freezeInner(mapKey, depth + 1, path, metrics);
1778
+ if (!keepOverflowChild(key, metrics.oversize)) break;
1763
1779
  if (typeof mapKey === "string" && keyIsRedacted(mapKey, redactKeys)) {
1764
1780
  add(metrics, stringEstimate(REDACTED));
1781
+ if (metrics.oversize) break;
1765
1782
  entries.push([key, REDACTED]);
1766
1783
  } else {
1767
- entries.push([
1768
- key,
1769
- freezeInner(Map.prototype.get.call(value, mapKey), depth + 1, path, metrics)
1770
- ]);
1784
+ const mapValue = freezeInner(
1785
+ Map.prototype.get.call(value, mapKey),
1786
+ depth + 1,
1787
+ path,
1788
+ metrics
1789
+ );
1790
+ if (!keepOverflowChild(mapValue, metrics.oversize)) break;
1791
+ entries.push([key, mapValue]);
1771
1792
  }
1772
1793
  counted2++;
1773
1794
  }
1795
+ const hitBytes2 = metrics.oversize && counted2 < Math.min(size, limits.maxArrayElements);
1796
+ const hitCount = size > limits.maxArrayElements;
1774
1797
  return atom("Map", {
1775
1798
  entries,
1776
- ...size > limits.maxArrayElements ? { truncated: true, reason: "max_array_elements", originalLength: size } : {}
1799
+ ...hitBytes2 || hitCount ? {
1800
+ truncated: true,
1801
+ reason: hitBytes2 ? BYTE_LIMIT : "max_array_elements",
1802
+ originalLength: size
1803
+ } : {}
1777
1804
  });
1778
1805
  }
1779
1806
  if (types.isSet(value)) {
@@ -1784,12 +1811,20 @@ var createValueFreezer = (options = {}) => {
1784
1811
  const size = setSize ? setSize.call(value) : 0;
1785
1812
  for (const item of Set.prototype.values.call(value)) {
1786
1813
  if (counted2 >= limits.maxArrayElements || metrics.oversize) break;
1787
- values.push(freezeInner(item, depth + 1, path, metrics));
1814
+ const frozen = freezeInner(item, depth + 1, path, metrics);
1815
+ if (!keepOverflowChild(frozen, metrics.oversize)) break;
1816
+ values.push(frozen);
1788
1817
  counted2++;
1789
1818
  }
1819
+ const hitBytes2 = metrics.oversize && counted2 < Math.min(size, limits.maxArrayElements);
1820
+ const hitCount = size > limits.maxArrayElements;
1790
1821
  return atom("Set", {
1791
1822
  values,
1792
- ...size > limits.maxArrayElements ? { truncated: true, reason: "max_array_elements", originalLength: size } : {}
1823
+ ...hitBytes2 || hitCount ? {
1824
+ truncated: true,
1825
+ reason: hitBytes2 ? BYTE_LIMIT : "max_array_elements",
1826
+ originalLength: size
1827
+ } : {}
1793
1828
  });
1794
1829
  }
1795
1830
  if (Array.isArray(value)) {
@@ -1807,26 +1842,39 @@ var createValueFreezer = (options = {}) => {
1807
1842
  }
1808
1843
  if (!descriptor) {
1809
1844
  add(metrics, NODE + 16);
1845
+ if (metrics.oversize) break;
1810
1846
  items.push(atom("hole"));
1811
1847
  redactNext = false;
1812
1848
  continue;
1813
1849
  }
1814
1850
  if (!("value" in descriptor)) {
1815
1851
  add(metrics, NODE + 16);
1852
+ if (metrics.oversize) break;
1816
1853
  items.push(atom("accessor"));
1817
1854
  redactNext = false;
1818
1855
  continue;
1819
1856
  }
1820
1857
  if (redactNext) {
1821
1858
  add(metrics, stringEstimate(REDACTED));
1859
+ if (metrics.oversize) break;
1822
1860
  items.push(REDACTED);
1823
1861
  redactNext = false;
1824
1862
  } else {
1825
- items.push(freezeInner(descriptor.value, depth + 1, path, metrics));
1863
+ const frozen = freezeInner(descriptor.value, depth + 1, path, metrics);
1864
+ if (!keepOverflowChild(frozen, metrics.oversize)) break;
1865
+ items.push(frozen);
1826
1866
  redactNext = typeof descriptor.value === "string" && keyIsRedacted(descriptor.value, redactKeys);
1827
1867
  }
1828
1868
  }
1829
- if (value.length > limits.maxArrayElements) {
1869
+ if (metrics.oversize && items.length < maxItems) {
1870
+ add(metrics, NODE + 32);
1871
+ items.push(
1872
+ atom("truncated", {
1873
+ reason: BYTE_LIMIT,
1874
+ originalLength: value.length
1875
+ })
1876
+ );
1877
+ } else if (value.length > limits.maxArrayElements) {
1830
1878
  add(metrics, NODE + 32);
1831
1879
  items.push(
1832
1880
  atom("truncated", {
@@ -1934,30 +1982,41 @@ var createValueFreezer = (options = {}) => {
1934
1982
  const pairIsSensitive = pairLabel !== void 0 && typeof pairLabel.value === "string" && keyIsRedacted(pairLabel.value, redactKeys);
1935
1983
  const { keys, truncated } = ownEnumerableKeys(value, limits.maxObjectKeys);
1936
1984
  const maxKeys = truncated ? Math.max(0, limits.maxObjectKeys - 1) : keys.length;
1985
+ let kept = 0;
1937
1986
  for (let index = 0; index < maxKeys; index++) {
1987
+ if (metrics.oversize) break;
1938
1988
  const key = keys[index];
1939
- if (key === void 0 || metrics.oversize) continue;
1989
+ if (key === void 0) continue;
1940
1990
  add(metrics, stringEstimate(key));
1991
+ if (metrics.oversize) break;
1941
1992
  if (keyIsRedacted(key, redactKeys) || key === "value" && pairIsSensitive) {
1942
1993
  add(metrics, stringEstimate(REDACTED));
1994
+ if (metrics.oversize) break;
1943
1995
  assignFrozenField(fields, key, REDACTED);
1996
+ kept++;
1944
1997
  continue;
1945
1998
  }
1946
1999
  const slot = ownData(value, key);
1947
2000
  if (slot) {
1948
2001
  const field = typeof slot.value === "string" && propertyNameLooksLikeUrl(key) ? redactUrlLikeString(slot.value, redactKeys) : slot.value;
1949
- assignFrozenField(fields, key, freezeInner(field, depth + 1, path, metrics));
2002
+ const frozen = freezeInner(field, depth + 1, path, metrics);
2003
+ if (!keepOverflowChild(frozen, metrics.oversize)) break;
2004
+ assignFrozenField(fields, key, frozen);
2005
+ kept++;
1950
2006
  } else {
1951
2007
  add(metrics, NODE + 16);
2008
+ if (metrics.oversize) break;
1952
2009
  assignFrozenField(fields, key, atom("accessor"));
2010
+ kept++;
1953
2011
  }
1954
2012
  }
1955
- if (truncated) {
2013
+ const hitBytes = metrics.oversize && kept < maxKeys;
2014
+ if (hitBytes || truncated) {
1956
2015
  return atom("instance", {
1957
2016
  type: typeName,
1958
2017
  value: fields,
1959
2018
  truncated: true,
1960
- reason: "max_object_keys"
2019
+ reason: hitBytes ? BYTE_LIMIT : "max_object_keys"
1961
2020
  });
1962
2021
  }
1963
2022
  if (typeName) return atom("instance", { type: typeName, value: fields });
@@ -1981,22 +2040,11 @@ var createValueFreezer = (options = {}) => {
1981
2040
  }
1982
2041
  try {
1983
2042
  const frozen = freezeInner(value, 0, path, metrics);
1984
- if (metrics.oversize) {
1985
- return {
1986
- value: atom("truncated", {
1987
- reason: "max_serialized_value_bytes",
1988
- serializedBytes: metrics.estimatedBytes
1989
- }),
1990
- estimatedBytes: metrics.estimatedBytes,
1991
- visitedNodes: metrics.visitedNodes,
1992
- oversize: true
1993
- };
1994
- }
1995
2043
  return {
1996
2044
  value: frozen,
1997
2045
  estimatedBytes: metrics.estimatedBytes,
1998
2046
  visitedNodes: metrics.visitedNodes,
1999
- oversize: false
2047
+ oversize: metrics.oversize
2000
2048
  };
2001
2049
  } catch {
2002
2050
  return {
@@ -2286,14 +2334,18 @@ var encodeFrozen = (value) => {
2286
2334
  }
2287
2335
  return value;
2288
2336
  };
2337
+ var isByteBudgetStub = (encoded) => {
2338
+ if (typeof encoded !== "object" || encoded === null || Array.isArray(encoded)) return false;
2339
+ const record = encoded;
2340
+ if (record.__rasputin_truncated !== true || record.__reason !== "max_serialized_value_bytes") {
2341
+ return false;
2342
+ }
2343
+ return Object.keys(record).every((key) => key.startsWith("__"));
2344
+ };
2289
2345
  var encodeFrozenWithBytes = (frozen, visitedNodes, maxSerializedValueBytes) => {
2290
2346
  const encoded = encodeFrozen(frozen);
2291
- if (typeof encoded === "object" && encoded !== null && !Array.isArray(encoded) && encoded.__reason === "max_serialized_value_bytes") {
2292
- const bytes2 = jsonLiteralUtf8Bytes(encoded);
2293
- return { value: encoded, bytes: bytes2, visitedNodes };
2294
- }
2295
2347
  const bytes = jsonLiteralUtf8Bytes(encoded);
2296
- if (bytes > maxSerializedValueBytes) {
2348
+ if (!isByteBudgetStub(encoded) && bytes > maxSerializedValueBytes) {
2297
2349
  const bounded = truncation("max_serialized_value_bytes", { __serialized_bytes: bytes });
2298
2350
  return { value: bounded, bytes: jsonLiteralUtf8Bytes(bounded), visitedNodes };
2299
2351
  }
@@ -2604,7 +2656,7 @@ var createExecutionRecorder = (options) => {
2604
2656
  const sweepIntervalNs = maxExecutionHoldNs / 4n < 50000000n ? maxExecutionHoldNs / 4n : 50000000n;
2605
2657
  const memoryBudget = new RecorderMemoryBudget(
2606
2658
  maxActiveMemoryBytes,
2607
- options.maxSerializedValueBytes ?? 8 * 1024
2659
+ options.maxSerializedValueBytes ?? 16 * 1024
2608
2660
  );
2609
2661
  const serializer = createSafeSerializer(options);
2610
2662
  const excludesSource = createSourceExclusionMatcher(options.excludeSources);
@@ -4096,7 +4148,7 @@ var installGlobalHandlers = (client, options = {}) => {
4096
4148
 
4097
4149
  // src/sdk-meta.ts
4098
4150
  var SDK_NAME = "@rasputin-ai/node";
4099
- var SDK_VERSION = "0.5.1";
4151
+ var SDK_VERSION = "0.5.3";
4100
4152
 
4101
4153
  // src/rasputin-init.ts
4102
4154
  var publicExecution = (runtime) => ({
@@ -933,19 +933,52 @@ var functionBodyPrologueEnd = (body, sourceFile) => {
933
933
  }
934
934
  return end;
935
935
  };
936
+ var isStaticPropertyName = (name) => ts6.isIdentifier(name) || ts6.isStringLiteral(name) || ts6.isNoSubstitutionTemplateLiteral(name) || ts6.isNumericLiteral(name);
937
+ var canReconstructBinding = (name) => {
938
+ if (ts6.isIdentifier(name)) return true;
939
+ if (ts6.isArrayBindingPattern(name)) {
940
+ return name.elements.every(
941
+ (element) => ts6.isOmittedExpression(element) || canReconstructBinding(element.name)
942
+ );
943
+ }
944
+ return name.elements.every((element) => {
945
+ if (element.propertyName && !isStaticPropertyName(element.propertyName)) return false;
946
+ return canReconstructBinding(element.name);
947
+ });
948
+ };
949
+ var bindingValue = (name, sourceFile) => {
950
+ if (ts6.isIdentifier(name)) return name.text;
951
+ if (ts6.isArrayBindingPattern(name)) {
952
+ const values = name.elements.map((element) => {
953
+ if (ts6.isOmittedExpression(element)) return "";
954
+ const value = bindingValue(element.name, sourceFile);
955
+ return element.dotDotDotToken ? `...${value}` : value;
956
+ });
957
+ return `[${values.join(",")}]`;
958
+ }
959
+ const properties = name.elements.map((element) => {
960
+ const value = bindingValue(element.name, sourceFile);
961
+ if (element.dotDotDotToken) return `...${value}`;
962
+ if (!element.propertyName) return value;
963
+ const key = ts6.isIdentifier(element.propertyName) ? element.propertyName.text : element.propertyName.getText(sourceFile);
964
+ return `${key}:${value}`;
965
+ });
966
+ return `{${properties.join(",")}}`;
967
+ };
936
968
  var arrowArgsCapture = (node) => {
937
- if (!node.parameters.every((parameter) => ts6.isIdentifier(parameter.name))) {
938
- const count = node.parameters.filter(
939
- (parameter) => !(ts6.isIdentifier(parameter.name) && parameter.name.text === "this")
940
- ).length;
969
+ const sourceFile = node.getSourceFile();
970
+ const params = node.parameters.filter(
971
+ (parameter) => !(ts6.isIdentifier(parameter.name) && parameter.name.text === "this")
972
+ );
973
+ if (!params.every((parameter) => canReconstructBinding(parameter.name))) {
941
974
  return {
942
- args: `[${Array.from({ length: count }, () => "void 0").join(",")}]`,
975
+ args: `[${Array.from({ length: params.length }, () => "void 0").join(",")}]`,
943
976
  omitValues: true
944
977
  };
945
978
  }
946
- const values = node.parameters.flatMap((parameter) => {
947
- if (!ts6.isIdentifier(parameter.name) || parameter.name.text === "this") return [];
948
- return [parameter.dotDotDotToken ? `...${parameter.name.text}` : parameter.name.text];
979
+ const values = params.map((parameter) => {
980
+ const value = bindingValue(parameter.name, sourceFile);
981
+ return parameter.dotDotDotToken ? `...${value}` : value;
949
982
  });
950
983
  return { args: `[${values.join(",")}]`, omitValues: false };
951
984
  };
@@ -119,7 +119,7 @@ import { homedir } from "node:os";
119
119
  import { dirname as dirname2, join as join2 } from "node:path";
120
120
 
121
121
  // src/sdk-meta.ts
122
- var SDK_VERSION = "0.5.1";
122
+ var SDK_VERSION = "0.5.3";
123
123
 
124
124
  // src/auto-instrumentation/source-map-locations.ts
125
125
  import { readFileSync } from "node:fs";
@@ -799,19 +799,52 @@ var functionBodyPrologueEnd = (body, sourceFile) => {
799
799
  }
800
800
  return end;
801
801
  };
802
+ var isStaticPropertyName = (name) => ts6.isIdentifier(name) || ts6.isStringLiteral(name) || ts6.isNoSubstitutionTemplateLiteral(name) || ts6.isNumericLiteral(name);
803
+ var canReconstructBinding = (name) => {
804
+ if (ts6.isIdentifier(name)) return true;
805
+ if (ts6.isArrayBindingPattern(name)) {
806
+ return name.elements.every(
807
+ (element) => ts6.isOmittedExpression(element) || canReconstructBinding(element.name)
808
+ );
809
+ }
810
+ return name.elements.every((element) => {
811
+ if (element.propertyName && !isStaticPropertyName(element.propertyName)) return false;
812
+ return canReconstructBinding(element.name);
813
+ });
814
+ };
815
+ var bindingValue = (name, sourceFile) => {
816
+ if (ts6.isIdentifier(name)) return name.text;
817
+ if (ts6.isArrayBindingPattern(name)) {
818
+ const values = name.elements.map((element) => {
819
+ if (ts6.isOmittedExpression(element)) return "";
820
+ const value = bindingValue(element.name, sourceFile);
821
+ return element.dotDotDotToken ? `...${value}` : value;
822
+ });
823
+ return `[${values.join(",")}]`;
824
+ }
825
+ const properties = name.elements.map((element) => {
826
+ const value = bindingValue(element.name, sourceFile);
827
+ if (element.dotDotDotToken) return `...${value}`;
828
+ if (!element.propertyName) return value;
829
+ const key = ts6.isIdentifier(element.propertyName) ? element.propertyName.text : element.propertyName.getText(sourceFile);
830
+ return `${key}:${value}`;
831
+ });
832
+ return `{${properties.join(",")}}`;
833
+ };
802
834
  var arrowArgsCapture = (node) => {
803
- if (!node.parameters.every((parameter) => ts6.isIdentifier(parameter.name))) {
804
- const count = node.parameters.filter(
805
- (parameter) => !(ts6.isIdentifier(parameter.name) && parameter.name.text === "this")
806
- ).length;
835
+ const sourceFile = node.getSourceFile();
836
+ const params = node.parameters.filter(
837
+ (parameter) => !(ts6.isIdentifier(parameter.name) && parameter.name.text === "this")
838
+ );
839
+ if (!params.every((parameter) => canReconstructBinding(parameter.name))) {
807
840
  return {
808
- args: `[${Array.from({ length: count }, () => "void 0").join(",")}]`,
841
+ args: `[${Array.from({ length: params.length }, () => "void 0").join(",")}]`,
809
842
  omitValues: true
810
843
  };
811
844
  }
812
- const values = node.parameters.flatMap((parameter) => {
813
- if (!ts6.isIdentifier(parameter.name) || parameter.name.text === "this") return [];
814
- return [parameter.dotDotDotToken ? `...${parameter.name.text}` : parameter.name.text];
845
+ const values = params.map((parameter) => {
846
+ const value = bindingValue(parameter.name, sourceFile);
847
+ return parameter.dotDotDotToken ? `...${value}` : value;
815
848
  });
816
849
  return { args: `[${values.join(",")}]`, omitValues: false };
817
850
  };
@@ -181,7 +181,7 @@ import { homedir } from "node:os";
181
181
  import { dirname as dirname2, join as join2 } from "node:path";
182
182
 
183
183
  // src/sdk-meta.ts
184
- var SDK_VERSION = "0.5.1";
184
+ var SDK_VERSION = "0.5.3";
185
185
 
186
186
  // src/auto-instrumentation/transform-source.ts
187
187
  import { basename, resolve as resolve4 } from "node:path";
@@ -828,19 +828,52 @@ var functionBodyPrologueEnd = (body, sourceFile) => {
828
828
  }
829
829
  return end;
830
830
  };
831
+ var isStaticPropertyName = (name) => ts6.isIdentifier(name) || ts6.isStringLiteral(name) || ts6.isNoSubstitutionTemplateLiteral(name) || ts6.isNumericLiteral(name);
832
+ var canReconstructBinding = (name) => {
833
+ if (ts6.isIdentifier(name)) return true;
834
+ if (ts6.isArrayBindingPattern(name)) {
835
+ return name.elements.every(
836
+ (element) => ts6.isOmittedExpression(element) || canReconstructBinding(element.name)
837
+ );
838
+ }
839
+ return name.elements.every((element) => {
840
+ if (element.propertyName && !isStaticPropertyName(element.propertyName)) return false;
841
+ return canReconstructBinding(element.name);
842
+ });
843
+ };
844
+ var bindingValue = (name, sourceFile) => {
845
+ if (ts6.isIdentifier(name)) return name.text;
846
+ if (ts6.isArrayBindingPattern(name)) {
847
+ const values = name.elements.map((element) => {
848
+ if (ts6.isOmittedExpression(element)) return "";
849
+ const value = bindingValue(element.name, sourceFile);
850
+ return element.dotDotDotToken ? `...${value}` : value;
851
+ });
852
+ return `[${values.join(",")}]`;
853
+ }
854
+ const properties = name.elements.map((element) => {
855
+ const value = bindingValue(element.name, sourceFile);
856
+ if (element.dotDotDotToken) return `...${value}`;
857
+ if (!element.propertyName) return value;
858
+ const key = ts6.isIdentifier(element.propertyName) ? element.propertyName.text : element.propertyName.getText(sourceFile);
859
+ return `${key}:${value}`;
860
+ });
861
+ return `{${properties.join(",")}}`;
862
+ };
831
863
  var arrowArgsCapture = (node) => {
832
- if (!node.parameters.every((parameter) => ts6.isIdentifier(parameter.name))) {
833
- const count = node.parameters.filter(
834
- (parameter) => !(ts6.isIdentifier(parameter.name) && parameter.name.text === "this")
835
- ).length;
864
+ const sourceFile = node.getSourceFile();
865
+ const params = node.parameters.filter(
866
+ (parameter) => !(ts6.isIdentifier(parameter.name) && parameter.name.text === "this")
867
+ );
868
+ if (!params.every((parameter) => canReconstructBinding(parameter.name))) {
836
869
  return {
837
- args: `[${Array.from({ length: count }, () => "void 0").join(",")}]`,
870
+ args: `[${Array.from({ length: params.length }, () => "void 0").join(",")}]`,
838
871
  omitValues: true
839
872
  };
840
873
  }
841
- const values = node.parameters.flatMap((parameter) => {
842
- if (!ts6.isIdentifier(parameter.name) || parameter.name.text === "this") return [];
843
- return [parameter.dotDotDotToken ? `...${parameter.name.text}` : parameter.name.text];
874
+ const values = params.map((parameter) => {
875
+ const value = bindingValue(parameter.name, sourceFile);
876
+ return parameter.dotDotDotToken ? `...${value}` : value;
844
877
  });
845
878
  return { args: `[${values.join(",")}]`, omitValues: false };
846
879
  };
package/dist/internal.js CHANGED
@@ -1272,7 +1272,7 @@ var defaults = {
1272
1272
  maxObjectKeys: 30,
1273
1273
  maxArrayElements: 20,
1274
1274
  maxStringLength: 500,
1275
- maxSerializedValueBytes: 8 * 1024
1275
+ maxSerializedValueBytes: 16 * 1024
1276
1276
  };
1277
1277
  var compileFreezeLimits = (options) => ({
1278
1278
  maxDepth: options.maxDepth ?? defaults.maxDepth,
@@ -1599,6 +1599,21 @@ var redactUrlUserinfo = (text) => {
1599
1599
  };
1600
1600
  var redactUrlLikeString = (text, redactKeys) => redactSensitiveQuery(redactUrlUserinfo(text), redactKeys);
1601
1601
  var isFrozenAtom = (value) => typeof value === "object" && value !== null && FROZEN in value;
1602
+ var isRetainedOverflowChild = (value) => {
1603
+ if (isFrozenAtom(value)) {
1604
+ if (value[FROZEN] === "truncated") return true;
1605
+ return (value[FROZEN] === "Map" || value[FROZEN] === "Set") && value.truncated === true;
1606
+ }
1607
+ if (!Array.isArray(value) || value.length === 0) return false;
1608
+ const last = value[value.length - 1];
1609
+ return isFrozenAtom(last) && last[FROZEN] === "truncated";
1610
+ };
1611
+ var keepOverflowChild = (child, overflowedOnChild) => {
1612
+ if (!overflowedOnChild) return true;
1613
+ if (child === void 0) return false;
1614
+ return isRetainedOverflowChild(child);
1615
+ };
1616
+ var BYTE_LIMIT = "max_serialized_value_bytes";
1602
1617
  var createValueFreezer = (options = {}) => {
1603
1618
  const limits = compileFreezeLimits(options);
1604
1619
  const redactKeys = compileRedactKeys(options.redactKeys);
@@ -1731,20 +1746,32 @@ var createValueFreezer = (options = {}) => {
1731
1746
  for (const mapKey of Map.prototype.keys.call(value)) {
1732
1747
  if (counted2 >= limits.maxArrayElements || metrics.oversize) break;
1733
1748
  const key = freezeInner(mapKey, depth + 1, path, metrics);
1749
+ if (!keepOverflowChild(key, metrics.oversize)) break;
1734
1750
  if (typeof mapKey === "string" && keyIsRedacted(mapKey, redactKeys)) {
1735
1751
  add(metrics, stringEstimate(REDACTED));
1752
+ if (metrics.oversize) break;
1736
1753
  entries.push([key, REDACTED]);
1737
1754
  } else {
1738
- entries.push([
1739
- key,
1740
- freezeInner(Map.prototype.get.call(value, mapKey), depth + 1, path, metrics)
1741
- ]);
1755
+ const mapValue = freezeInner(
1756
+ Map.prototype.get.call(value, mapKey),
1757
+ depth + 1,
1758
+ path,
1759
+ metrics
1760
+ );
1761
+ if (!keepOverflowChild(mapValue, metrics.oversize)) break;
1762
+ entries.push([key, mapValue]);
1742
1763
  }
1743
1764
  counted2++;
1744
1765
  }
1766
+ const hitBytes2 = metrics.oversize && counted2 < Math.min(size, limits.maxArrayElements);
1767
+ const hitCount = size > limits.maxArrayElements;
1745
1768
  return atom("Map", {
1746
1769
  entries,
1747
- ...size > limits.maxArrayElements ? { truncated: true, reason: "max_array_elements", originalLength: size } : {}
1770
+ ...hitBytes2 || hitCount ? {
1771
+ truncated: true,
1772
+ reason: hitBytes2 ? BYTE_LIMIT : "max_array_elements",
1773
+ originalLength: size
1774
+ } : {}
1748
1775
  });
1749
1776
  }
1750
1777
  if (types.isSet(value)) {
@@ -1755,12 +1782,20 @@ var createValueFreezer = (options = {}) => {
1755
1782
  const size = setSize ? setSize.call(value) : 0;
1756
1783
  for (const item of Set.prototype.values.call(value)) {
1757
1784
  if (counted2 >= limits.maxArrayElements || metrics.oversize) break;
1758
- values.push(freezeInner(item, depth + 1, path, metrics));
1785
+ const frozen = freezeInner(item, depth + 1, path, metrics);
1786
+ if (!keepOverflowChild(frozen, metrics.oversize)) break;
1787
+ values.push(frozen);
1759
1788
  counted2++;
1760
1789
  }
1790
+ const hitBytes2 = metrics.oversize && counted2 < Math.min(size, limits.maxArrayElements);
1791
+ const hitCount = size > limits.maxArrayElements;
1761
1792
  return atom("Set", {
1762
1793
  values,
1763
- ...size > limits.maxArrayElements ? { truncated: true, reason: "max_array_elements", originalLength: size } : {}
1794
+ ...hitBytes2 || hitCount ? {
1795
+ truncated: true,
1796
+ reason: hitBytes2 ? BYTE_LIMIT : "max_array_elements",
1797
+ originalLength: size
1798
+ } : {}
1764
1799
  });
1765
1800
  }
1766
1801
  if (Array.isArray(value)) {
@@ -1778,26 +1813,39 @@ var createValueFreezer = (options = {}) => {
1778
1813
  }
1779
1814
  if (!descriptor) {
1780
1815
  add(metrics, NODE + 16);
1816
+ if (metrics.oversize) break;
1781
1817
  items.push(atom("hole"));
1782
1818
  redactNext = false;
1783
1819
  continue;
1784
1820
  }
1785
1821
  if (!("value" in descriptor)) {
1786
1822
  add(metrics, NODE + 16);
1823
+ if (metrics.oversize) break;
1787
1824
  items.push(atom("accessor"));
1788
1825
  redactNext = false;
1789
1826
  continue;
1790
1827
  }
1791
1828
  if (redactNext) {
1792
1829
  add(metrics, stringEstimate(REDACTED));
1830
+ if (metrics.oversize) break;
1793
1831
  items.push(REDACTED);
1794
1832
  redactNext = false;
1795
1833
  } else {
1796
- items.push(freezeInner(descriptor.value, depth + 1, path, metrics));
1834
+ const frozen = freezeInner(descriptor.value, depth + 1, path, metrics);
1835
+ if (!keepOverflowChild(frozen, metrics.oversize)) break;
1836
+ items.push(frozen);
1797
1837
  redactNext = typeof descriptor.value === "string" && keyIsRedacted(descriptor.value, redactKeys);
1798
1838
  }
1799
1839
  }
1800
- if (value.length > limits.maxArrayElements) {
1840
+ if (metrics.oversize && items.length < maxItems) {
1841
+ add(metrics, NODE + 32);
1842
+ items.push(
1843
+ atom("truncated", {
1844
+ reason: BYTE_LIMIT,
1845
+ originalLength: value.length
1846
+ })
1847
+ );
1848
+ } else if (value.length > limits.maxArrayElements) {
1801
1849
  add(metrics, NODE + 32);
1802
1850
  items.push(
1803
1851
  atom("truncated", {
@@ -1905,30 +1953,41 @@ var createValueFreezer = (options = {}) => {
1905
1953
  const pairIsSensitive = pairLabel !== void 0 && typeof pairLabel.value === "string" && keyIsRedacted(pairLabel.value, redactKeys);
1906
1954
  const { keys, truncated } = ownEnumerableKeys(value, limits.maxObjectKeys);
1907
1955
  const maxKeys = truncated ? Math.max(0, limits.maxObjectKeys - 1) : keys.length;
1956
+ let kept = 0;
1908
1957
  for (let index = 0; index < maxKeys; index++) {
1958
+ if (metrics.oversize) break;
1909
1959
  const key = keys[index];
1910
- if (key === void 0 || metrics.oversize) continue;
1960
+ if (key === void 0) continue;
1911
1961
  add(metrics, stringEstimate(key));
1962
+ if (metrics.oversize) break;
1912
1963
  if (keyIsRedacted(key, redactKeys) || key === "value" && pairIsSensitive) {
1913
1964
  add(metrics, stringEstimate(REDACTED));
1965
+ if (metrics.oversize) break;
1914
1966
  assignFrozenField(fields, key, REDACTED);
1967
+ kept++;
1915
1968
  continue;
1916
1969
  }
1917
1970
  const slot = ownData(value, key);
1918
1971
  if (slot) {
1919
1972
  const field = typeof slot.value === "string" && propertyNameLooksLikeUrl(key) ? redactUrlLikeString(slot.value, redactKeys) : slot.value;
1920
- assignFrozenField(fields, key, freezeInner(field, depth + 1, path, metrics));
1973
+ const frozen = freezeInner(field, depth + 1, path, metrics);
1974
+ if (!keepOverflowChild(frozen, metrics.oversize)) break;
1975
+ assignFrozenField(fields, key, frozen);
1976
+ kept++;
1921
1977
  } else {
1922
1978
  add(metrics, NODE + 16);
1979
+ if (metrics.oversize) break;
1923
1980
  assignFrozenField(fields, key, atom("accessor"));
1981
+ kept++;
1924
1982
  }
1925
1983
  }
1926
- if (truncated) {
1984
+ const hitBytes = metrics.oversize && kept < maxKeys;
1985
+ if (hitBytes || truncated) {
1927
1986
  return atom("instance", {
1928
1987
  type: typeName,
1929
1988
  value: fields,
1930
1989
  truncated: true,
1931
- reason: "max_object_keys"
1990
+ reason: hitBytes ? BYTE_LIMIT : "max_object_keys"
1932
1991
  });
1933
1992
  }
1934
1993
  if (typeName) return atom("instance", { type: typeName, value: fields });
@@ -1952,22 +2011,11 @@ var createValueFreezer = (options = {}) => {
1952
2011
  }
1953
2012
  try {
1954
2013
  const frozen = freezeInner(value, 0, path, metrics);
1955
- if (metrics.oversize) {
1956
- return {
1957
- value: atom("truncated", {
1958
- reason: "max_serialized_value_bytes",
1959
- serializedBytes: metrics.estimatedBytes
1960
- }),
1961
- estimatedBytes: metrics.estimatedBytes,
1962
- visitedNodes: metrics.visitedNodes,
1963
- oversize: true
1964
- };
1965
- }
1966
2014
  return {
1967
2015
  value: frozen,
1968
2016
  estimatedBytes: metrics.estimatedBytes,
1969
2017
  visitedNodes: metrics.visitedNodes,
1970
- oversize: false
2018
+ oversize: metrics.oversize
1971
2019
  };
1972
2020
  } catch {
1973
2021
  return {
@@ -2257,14 +2305,18 @@ var encodeFrozen = (value) => {
2257
2305
  }
2258
2306
  return value;
2259
2307
  };
2308
+ var isByteBudgetStub = (encoded) => {
2309
+ if (typeof encoded !== "object" || encoded === null || Array.isArray(encoded)) return false;
2310
+ const record = encoded;
2311
+ if (record.__rasputin_truncated !== true || record.__reason !== "max_serialized_value_bytes") {
2312
+ return false;
2313
+ }
2314
+ return Object.keys(record).every((key) => key.startsWith("__"));
2315
+ };
2260
2316
  var encodeFrozenWithBytes = (frozen, visitedNodes, maxSerializedValueBytes) => {
2261
2317
  const encoded = encodeFrozen(frozen);
2262
- if (typeof encoded === "object" && encoded !== null && !Array.isArray(encoded) && encoded.__reason === "max_serialized_value_bytes") {
2263
- const bytes2 = jsonLiteralUtf8Bytes(encoded);
2264
- return { value: encoded, bytes: bytes2, visitedNodes };
2265
- }
2266
2318
  const bytes = jsonLiteralUtf8Bytes(encoded);
2267
- if (bytes > maxSerializedValueBytes) {
2319
+ if (!isByteBudgetStub(encoded) && bytes > maxSerializedValueBytes) {
2268
2320
  const bounded = truncation("max_serialized_value_bytes", { __serialized_bytes: bytes });
2269
2321
  return { value: bounded, bytes: jsonLiteralUtf8Bytes(bounded), visitedNodes };
2270
2322
  }
@@ -2575,7 +2627,7 @@ var createExecutionRecorder = (options) => {
2575
2627
  const sweepIntervalNs = maxExecutionHoldNs / 4n < 50000000n ? maxExecutionHoldNs / 4n : 50000000n;
2576
2628
  const memoryBudget = new RecorderMemoryBudget(
2577
2629
  maxActiveMemoryBytes,
2578
- options.maxSerializedValueBytes ?? 8 * 1024
2630
+ options.maxSerializedValueBytes ?? 16 * 1024
2579
2631
  );
2580
2632
  const serializer = createSafeSerializer(options);
2581
2633
  const excludesSource = createSourceExclusionMatcher(options.excludeSources);
@@ -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.5.1";
3
+ export declare const SDK_VERSION = "0.5.3";
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.5.1",
3
+ "version": "0.5.3",
4
4
  "description": "Official Rasputin AI SDK for Node and Bun.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -49,7 +49,7 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@jridgewell/trace-mapping": "0.3.31",
52
- "@rasputin-ai/core": "0.5.1",
52
+ "@rasputin-ai/core": "0.5.3",
53
53
  "typescript": "5"
54
54
  },
55
55
  "devDependencies": {