recordable 0.3.0 → 0.5.0
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 +198 -44
- package/dist/actions.d.ts +8 -0
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +11 -5
- package/dist/actions.js.map +1 -1
- package/dist/audio/track.d.ts +10 -0
- package/dist/audio/track.d.ts.map +1 -1
- package/dist/audio/track.js +19 -0
- package/dist/audio/track.js.map +1 -1
- package/dist/browser/cursor.d.ts +8 -6
- package/dist/browser/cursor.d.ts.map +1 -1
- package/dist/browser/cursor.js +32 -21
- package/dist/browser/cursor.js.map +1 -1
- package/dist/browser/dom.d.ts +33 -13
- package/dist/browser/dom.d.ts.map +1 -1
- package/dist/browser/dom.js +158 -56
- package/dist/browser/dom.js.map +1 -1
- package/dist/browser/page-zoom.d.ts +11 -0
- package/dist/browser/page-zoom.d.ts.map +1 -0
- package/dist/browser/page-zoom.js +37 -0
- package/dist/browser/page-zoom.js.map +1 -0
- package/dist/browser/play-button.d.ts.map +1 -1
- package/dist/browser/play-button.js.map +1 -1
- package/dist/browser/runtime.d.ts +1 -0
- package/dist/browser/runtime.d.ts.map +1 -1
- package/dist/browser/runtime.js +22 -14
- package/dist/browser/runtime.js.map +1 -1
- package/dist/browser/targets.d.ts.map +1 -0
- package/dist/{targets.js → browser/targets.js} +3 -2
- package/dist/browser/targets.js.map +1 -0
- package/dist/compose/boundaries.d.ts +13 -0
- package/dist/compose/boundaries.d.ts.map +1 -0
- package/dist/compose/boundaries.js +49 -0
- package/dist/compose/boundaries.js.map +1 -0
- package/dist/compose/mix.d.ts +3 -2
- package/dist/compose/mix.d.ts.map +1 -1
- package/dist/compose/mix.js +9 -4
- package/dist/compose/mix.js.map +1 -1
- package/dist/compose/recordable.d.ts +28 -3
- package/dist/compose/recordable.d.ts.map +1 -1
- package/dist/compose/recordable.js +75 -18
- package/dist/compose/recordable.js.map +1 -1
- package/dist/compose/session.d.ts +20 -8
- package/dist/compose/session.d.ts.map +1 -1
- package/dist/compose/session.js +120 -38
- package/dist/compose/session.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -3
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/ffmpeg.d.ts +3 -0
- package/dist/ffmpeg.d.ts.map +1 -1
- package/dist/ffmpeg.js +22 -4
- package/dist/ffmpeg.js.map +1 -1
- package/dist/formats/json.d.ts +2 -1
- package/dist/formats/json.d.ts.map +1 -1
- package/dist/formats/json.js.map +1 -1
- package/dist/formats/markdown/method.d.ts.map +1 -1
- package/dist/formats/markdown/method.js +4 -3
- package/dist/formats/markdown/method.js.map +1 -1
- package/dist/fs.d.ts +16 -0
- package/dist/fs.d.ts.map +1 -1
- package/dist/fs.js +33 -4
- package/dist/fs.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +3 -1
- package/dist/logger.js.map +1 -1
- package/dist/result.d.ts +30 -0
- package/dist/result.d.ts.map +1 -0
- package/dist/result.js +8 -0
- package/dist/result.js.map +1 -0
- package/dist/timing.d.ts +2 -0
- package/dist/timing.d.ts.map +1 -1
- package/dist/timing.js +10 -4
- package/dist/timing.js.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +11 -10
- package/dist/validate.js.map +1 -1
- package/dist/video/recorder.d.ts +26 -3
- package/dist/video/recorder.d.ts.map +1 -1
- package/dist/video/recorder.js +50 -32
- package/dist/video/recorder.js.map +1 -1
- package/dist/video/stitch.js +3 -17
- package/dist/video/stitch.js.map +1 -1
- package/dist/voiceover/compile.d.ts.map +1 -1
- package/dist/voiceover/compile.js +42 -24
- package/dist/voiceover/compile.js.map +1 -1
- package/dist/voiceover/elevenlabs.d.ts.map +1 -1
- package/dist/voiceover/elevenlabs.js +41 -11
- package/dist/voiceover/elevenlabs.js.map +1 -1
- package/dist/voiceover/mock.d.ts.map +1 -1
- package/dist/voiceover/mock.js +38 -15
- package/dist/voiceover/mock.js.map +1 -1
- package/package.json +20 -6
- package/recordable.schema.json +81 -0
- package/dist/targets.d.ts.map +0 -1
- package/dist/targets.js.map +0 -1
- /package/dist/{targets.d.ts → browser/targets.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordable.js","sourceRoot":"","sources":["../../src/compose/recordable.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recordable.js","sourceRoot":"","sources":["../../src/compose/recordable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EACL,cAAc,GAOf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAe,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAoC,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAkB,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAe,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAe,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,gFAAgF;AAChF,EAAE;AACF,2EAA2E;AAC3E,kFAAkF;AAClF,kFAAkF;AAClF,6CAA6C;AAE7C,MAAM,OAAO,UAAU;IACb,GAAG,GAAmB,EAAE,GAAG,cAAc,EAAE,CAAC;IACpD,sEAAsE;IACtE,4DAA4D;IAC3C,UAAU,CAAmB;IAC7B,GAAG,GAAW,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAC9B,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,KAAK,GAAgB,EAAE,CAAC;IAChC,6EAA6E;IAC7E,oEAAoE;IAC5D,OAAO,GAA+B,EAAE,CAAC;IAEjD,8EAA8E;IAC9E,2EAA2E;IACnE,SAAS,GAAG,IAAI,CAAC;IAEzB,YAAY,SAA2B,EAAE;QACvC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,oDAAoD;IACpF,CAAC;IAED,8EAA8E;IAC9E,EAAE;IACF,gFAAgF;IAEhF;0FACsF;IACtF,QAAQ,CAAC,MAAuB;QAC9B,MAAM,MAAM,GACV,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACzB,MAAM,IAAI,eAAe,CACvB,gBAAgB,EAChB,2DAA2D,CAC5D,CAAC;QACJ,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,EAAU;QACrB,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,wEAAwE;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;+EAC2E;IACnE,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,QAAgB;QACxD,wEAAwE;QACxE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,yEAAyE;YAC3E,CAAC;QACH,CAAC;QAED,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE;YACzC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;YAC7B,cAAc,EAAE,IAAI,CAAC,GAAG;YACxB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,8CAA8C;QAE1F,+EAA+E;QAC/E,8EAA8E;QAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,6EAA6E;IAC7E,SAAS,CAAC,MAAwB;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gFAAgF;IAChF,EAAE;IACF,6EAA6E;IAC7E,oEAAoE;IACpE,8EAA8E;IAC9E,+EAA+E;IAC/E,mFAAmF;IAEnF;;;;;OAKG;IACH,KAAK,CAAC,IAAa;QACjB,OAAO,IAAI,CAAC,QAAQ,CAClB,KAAK,IAAI,EAAE;YACT,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;QACvC,CAAC,EACD,IAAI,EACJ,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,QAAQ,CAClB,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAClC,CAAC,EACD,IAAI,EACJ,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAa;QACjB,OAAO,IAAI,CAAC,QAAQ,CAClB,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;YACrC,6EAA6E;YAC7E,IAAI,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC,EACD,IAAI,EACJ,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAClB,KAAK,IAAI,EAAE;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,4CAA4C;YACvE,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC5B,CAAC,EACD,IAAI,EACJ,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;yCAEqC;IACrC,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAClB,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC,EACD,IAAI,EACJ,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,OAAO,GAAG,0BAA0B;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,OAAO,GAAG,0CAA0C;QAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,IAAY,EAAE,UAAyB,EAAE;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAClB,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC,EACD,IAAI,EACJ,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAY,EAAE,UAAwB,EAAE;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAClB,KAAK,IAAI,EAAE;YACT,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACrC,2EAA2E;YAC3E,mEAAmE;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAClD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE;gBAC9D,MAAM;aACP,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CACN,OAAO,EACP,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAC7E,CAAC;YACF,IAAI,IAAI;gBAAE,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,EACD,KAAK,EACL,OAAO,CACR,CAAC;IACJ,CAAC;IAED,8EAA8E;IAE9E,yDAAyD;IACzD,KAAK,CAAC,GAAW,EAAE,OAAqB;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,MAAc,EAAE,UAA0B,EAAE;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,8EAA8E;IAE9E;;;;;;;OAOG;IACH,KAAK,CAAC,MAAc,EAAE,UAAwB,EAAE;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAc;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CACF,MAAc,EACd,IAAY,EACZ,UAAiC,EAAE;QAEnC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAC/C,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,KAAK,CAAC,MAAc;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,MAAc,EAAE,KAAa;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,4DAA4D;IAC5D,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAyC;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,8EAA8E;IAE9E;;;;;;OAMG;IACH,MAAM,CACJ,MAAuB,EACvB,UAAqD,EAAE;QAEvD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,8EAA8E;IAE9E;;;;;OAKG;IACH,IAAI,CACF,KAAa,EACb,UAAkD,EAAE;QAEpD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,qCAAqC;IACrC,SAAS,CAAC,UAAiC,EAAE;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,8EAA8E;IAE9E,gDAAgD;IAChD,IAAI,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC5B,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAE9E;qEACiE;IACjE,KAAK,CAAC,GAAG;QACP,wEAAwE;QACxE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,4EAA4E;QAC5E,4EAA4E;QAC5E,kBAAkB,CAChB,IAAI,CAAC,KAAK;aACP,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAClD,CAAC;QAEF,4EAA4E;QAC5E,+DAA+D;QAC/D,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;SACP,CAAC;QACjB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE;YACjC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG;YACnB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;YACvC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,8EAA8E;IAE9E;;qFAEiF;IACzE,YAAY,CAAC,IAAY;QAC/B,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAEO,QAAQ,CACd,GAAyC,EACzC,OAAO,GAAG,KAAK,EACf,IAAgB;QAEhB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;wEACoE;IAC5D,mBAAmB,CAAC,OAAyB;QACnD,IAAI,CAAC,GAAG,GAAG;YACT,GAAG,cAAc;YACjB,GAAG,WAAW,CAAC,OAAO,CAAC;YACvB,GAAG,IAAI,CAAC,UAAU;SACnB,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;mEAC+D;IACvD,YAAY,CAAC,OAAiB;QACpC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,MAAM,IAAI,GAAG,GAAG,CAAC;YACnD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBACnC,MAAM,IAAI,eAAe,CAAC,gBAAgB,EAAE,GAAG,KAAK,iBAAiB,CAAC,CAAC;YACzE,IAAI,CAAC;gBACH,cAAc,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,eAAe,CACvB,gBAAgB,EAChB,GAAG,KAAK,KAAM,GAAa,CAAC,OAAO,EAAE,EACrC,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;YACJ,CAAC;YACA,IAAgE,CAC/D,IAAI,CAAC,MAAM,CACZ,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -4,13 +4,17 @@ import type { ResolvedConfig } from "../config.js";
|
|
|
4
4
|
import { type Recorder } from "../video/recorder.js";
|
|
5
5
|
import { type AudioTrack } from "../audio/track.js";
|
|
6
6
|
import { type Runtime } from "../browser/runtime.js";
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
import { type QueueKind } from "./boundaries.js";
|
|
8
|
+
import { type RecordableResult } from "../result.js";
|
|
9
|
+
/** One queued action. `control` actions (pause/resume/insert/boundaries) run
|
|
10
|
+
* without forcing a capture segment to begin; `kind` tags the recording-control
|
|
11
|
+
* actions so the boundary state machine and finalisation can reason about them. */
|
|
9
12
|
export interface QueueItem {
|
|
10
13
|
/** Returns a `Page` to switch the active tab to (e.g. a `followNewTab` click),
|
|
11
14
|
* otherwise void — capture stays on the current tab. */
|
|
12
15
|
run: (page: Page) => Promise<Page | void>;
|
|
13
16
|
control: boolean;
|
|
17
|
+
kind?: QueueKind;
|
|
14
18
|
}
|
|
15
19
|
/** What the session needs from the builder to execute a composed recording.
|
|
16
20
|
* `cfg` and `recording` are read live (the builder mutates them mid-run). */
|
|
@@ -26,11 +30,17 @@ export interface Composition {
|
|
|
26
30
|
export declare class Session {
|
|
27
31
|
private readonly comp;
|
|
28
32
|
private browser;
|
|
29
|
-
private
|
|
33
|
+
private zoomExt;
|
|
30
34
|
private finalised;
|
|
35
|
+
private startedAt;
|
|
36
|
+
private readonly warnings;
|
|
37
|
+
private result;
|
|
31
38
|
constructor(comp: Composition);
|
|
32
|
-
/** Execute the queued action sequence, then finalise the recording.
|
|
33
|
-
|
|
39
|
+
/** Execute the queued action sequence, then finalise the recording. Resolves to
|
|
40
|
+
* a {@link RecordableResult} on success; throws (browser/ffmpeg failure, or a
|
|
41
|
+
* script that can't run to completion) otherwise — so the result is the success
|
|
42
|
+
* path only and its `files` are always real. */
|
|
43
|
+
run(): Promise<RecordableResult>;
|
|
34
44
|
/** Prepare a page for capture: set the viewport, the `Accept-Language` header (when
|
|
35
45
|
* a `language` is configured), and (when the cursor is on) wire the per-page
|
|
36
46
|
* re-inject. A navigation wipes the in-page cursor overlay and any
|
|
@@ -44,9 +54,11 @@ export declare class Session {
|
|
|
44
54
|
* the run loop lazily begins a fresh segment before the next action. */
|
|
45
55
|
private _switchTab;
|
|
46
56
|
private _cleanup;
|
|
47
|
-
/** Seal the recording:
|
|
48
|
-
*
|
|
49
|
-
*
|
|
57
|
+
/** Seal the recording: close any open file (implicit end at the bottom), then for
|
|
58
|
+
* each output file stitch its segments (video layer) and mix its slice of the
|
|
59
|
+
* audio track onto it (audio layer). Empty files are reported and skipped.
|
|
60
|
+
* Builds the {@link RecordableResult}. Idempotent — a signal handler and the
|
|
61
|
+
* normal path both call it. */
|
|
50
62
|
private _finalize;
|
|
51
63
|
}
|
|
52
64
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/compose/session.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAgB,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/compose/session.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAgB,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAK/D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,KAAK,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,KAAK,UAAU,EAAyB,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,cAAc,CAAC;AAe1E;;oFAEoF;AACpF,MAAM,WAAW,SAAS;IACxB;6DACyD;IACzD,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;8EAC8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,OAAO;IAQN,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPjC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,MAAM,CAAiC;gBAElB,IAAI,EAAE,WAAW;IAE9C;;;qDAGiD;IAC3C,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA4FtC;;;;;wFAKoF;YACtE,UAAU;IAwBxB;;;6EAGyE;YAC3D,UAAU;YAyBV,QAAQ;IAWtB;;;;oCAIgC;YAClB,SAAS;CA4ExB"}
|
package/dist/compose/session.js
CHANGED
|
@@ -1,32 +1,51 @@
|
|
|
1
1
|
import puppeteer from "puppeteer";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
+
import { statSync } from "node:fs";
|
|
3
4
|
import { sleep } from "../utils.js";
|
|
4
|
-
import {
|
|
5
|
+
import { resolveOutputPaths } from "../fs.js";
|
|
5
6
|
import { RecordableError } from "../errors.js";
|
|
6
7
|
import { stitch } from "../video/stitch.js";
|
|
8
|
+
import { partitionAudioByFiles } from "../audio/track.js";
|
|
7
9
|
import { addAudio } from "./mix.js";
|
|
10
|
+
import { createZoomExtension, } from "../browser/page-zoom.js";
|
|
8
11
|
export class Session {
|
|
9
12
|
comp;
|
|
10
13
|
browser = null;
|
|
11
|
-
|
|
14
|
+
zoomExt = null;
|
|
12
15
|
finalised = false;
|
|
16
|
+
startedAt = 0;
|
|
17
|
+
warnings = [];
|
|
18
|
+
result = null;
|
|
13
19
|
constructor(comp) {
|
|
14
20
|
this.comp = comp;
|
|
15
21
|
}
|
|
16
|
-
/** Execute the queued action sequence, then finalise the recording.
|
|
22
|
+
/** Execute the queued action sequence, then finalise the recording. Resolves to
|
|
23
|
+
* a {@link RecordableResult} on success; throws (browser/ffmpeg failure, or a
|
|
24
|
+
* script that can't run to completion) otherwise — so the result is the success
|
|
25
|
+
* path only and its `files` are always real. */
|
|
17
26
|
async run() {
|
|
18
27
|
const { log, recorder, runtime } = this.comp;
|
|
19
28
|
log("Start", "recording…");
|
|
20
|
-
|
|
21
|
-
this.outputPath = getOutputPath(this.comp.cfg);
|
|
29
|
+
this.startedAt = Date.now();
|
|
22
30
|
recorder.init();
|
|
23
31
|
const cfg = this.comp.cfg;
|
|
32
|
+
// Browser page zoom (Ctrl +/−) ships as a bundled extension — the only
|
|
33
|
+
// mechanism that reflows the painted window without splitting click coords
|
|
34
|
+
// (see browser/page-zoom.ts). Needs a visible/extension-capable browser.
|
|
35
|
+
if (cfg.pageZoom !== 1)
|
|
36
|
+
this.zoomExt = createZoomExtension(cfg.pageZoom);
|
|
24
37
|
try {
|
|
25
38
|
this.browser = await puppeteer.launch({
|
|
26
39
|
headless: cfg.headless,
|
|
27
40
|
args: [
|
|
28
41
|
`--window-size=${cfg.viewport.width},${cfg.viewport.height}`,
|
|
29
|
-
...(
|
|
42
|
+
...(this.zoomExt?.args ?? []),
|
|
43
|
+
// --lang sets the Chromium UI language; --accept-lang is what actually
|
|
44
|
+
// drives navigator.language / navigator.languages (--lang alone leaves
|
|
45
|
+
// them at the system locale, notably headless).
|
|
46
|
+
...(cfg.language
|
|
47
|
+
? [`--lang=${cfg.language}`, `--accept-lang=${cfg.language}`]
|
|
48
|
+
: []),
|
|
30
49
|
...cfg.launchArgs,
|
|
31
50
|
],
|
|
32
51
|
});
|
|
@@ -37,6 +56,11 @@ export class Session {
|
|
|
37
56
|
}
|
|
38
57
|
let page = await this.browser.newPage();
|
|
39
58
|
await this._setupPage(page, runtime, cfg);
|
|
59
|
+
// Boundaries default to the script edges (ROADMAP §6): with no explicit
|
|
60
|
+
// start() the first file is open from the top; otherwise the file opens
|
|
61
|
+
// closed and the first start() opens it (content before runs off-camera).
|
|
62
|
+
if (!this.comp.queue.some((i) => i.kind === "start"))
|
|
63
|
+
recorder.openFile(null);
|
|
40
64
|
// Finalise the recording and close the browser on SIGINT / SIGTERM.
|
|
41
65
|
const onSignal = () => {
|
|
42
66
|
log("Signal", "finalising recording…");
|
|
@@ -44,11 +68,16 @@ export class Session {
|
|
|
44
68
|
};
|
|
45
69
|
process.once("SIGINT", onSignal);
|
|
46
70
|
process.once("SIGTERM", onSignal);
|
|
71
|
+
let caught = null;
|
|
47
72
|
try {
|
|
48
73
|
for (const item of this.comp.queue) {
|
|
49
74
|
// Lazily begin a segment before the first capture-worthy action while
|
|
50
|
-
// recording is intended — keeps a leading pause()
|
|
51
|
-
|
|
75
|
+
// recording is intended *and* a file is open — keeps a leading pause()
|
|
76
|
+
// (or an off-camera gap between end() and start()) from making a clip.
|
|
77
|
+
if (!item.control &&
|
|
78
|
+
this.comp.recording &&
|
|
79
|
+
recorder.fileOpen &&
|
|
80
|
+
!recorder.capturing) {
|
|
52
81
|
await recorder.begin(page);
|
|
53
82
|
}
|
|
54
83
|
// A `followNewTab` click returns the tab it opened: seal the current segment
|
|
@@ -62,18 +91,23 @@ export class Session {
|
|
|
62
91
|
}
|
|
63
92
|
}
|
|
64
93
|
catch (err) {
|
|
65
|
-
|
|
94
|
+
caught = err;
|
|
66
95
|
log.error(String(err));
|
|
67
96
|
}
|
|
68
97
|
finally {
|
|
69
98
|
process.off("SIGINT", onSignal);
|
|
70
99
|
process.off("SIGTERM", onSignal);
|
|
71
100
|
await this._cleanup();
|
|
72
|
-
|
|
101
|
+
for (const f of this.result?.files ?? [])
|
|
102
|
+
log("Output", f.path);
|
|
73
103
|
// Bookends the "Start" line; green only when the run actually succeeded.
|
|
74
|
-
if (
|
|
104
|
+
if (!caught)
|
|
75
105
|
log.success("Done", "recording complete");
|
|
76
106
|
}
|
|
107
|
+
// A run that couldn't complete throws — never a half-real result.
|
|
108
|
+
if (caught)
|
|
109
|
+
throw caught;
|
|
110
|
+
return this.result;
|
|
77
111
|
}
|
|
78
112
|
/** Prepare a page for capture: set the viewport, the `Accept-Language` header (when
|
|
79
113
|
* a `language` is configured), and (when the cursor is on) wire the per-page
|
|
@@ -83,14 +117,8 @@ export class Session {
|
|
|
83
117
|
* re-inject. Used for the first page and for each new tab `followNewTab` opens. */
|
|
84
118
|
async _setupPage(page, runtime, cfg) {
|
|
85
119
|
await page.setViewport({ ...cfg.viewport, deviceScaleFactor: 1 });
|
|
86
|
-
//
|
|
87
|
-
//
|
|
88
|
-
// on every navigation (and each new tab), so it survives nav without re-arming.
|
|
89
|
-
if (cfg.pageZoom !== 1) {
|
|
90
|
-
await page.evaluateOnNewDocument((z) => {
|
|
91
|
-
document.documentElement.style.zoom = String(z);
|
|
92
|
-
}, cfg.pageZoom);
|
|
93
|
-
}
|
|
120
|
+
// pageZoom (Ctrl +/−) is applied by the bundled extension, which re-zooms
|
|
121
|
+
// every tab on create/navigate — nothing to arm per-page here.
|
|
94
122
|
// Content-negotiation header, paired with the `--lang` launch flag. Persists
|
|
95
123
|
// across navigations for the life of the page (and applies to each new tab too).
|
|
96
124
|
if (cfg.language) {
|
|
@@ -102,9 +130,9 @@ export class Session {
|
|
|
102
130
|
if (frame !== page.mainFrame())
|
|
103
131
|
return;
|
|
104
132
|
runtime.resetZoomState();
|
|
105
|
-
// Only mask the real pointer while recording — a paused /
|
|
106
|
-
// step is driven by hand, so the `cursor: none` overlay stays off.
|
|
107
|
-
if (!this.comp.recording)
|
|
133
|
+
// Only mask the real pointer while actually recording — a paused / off-camera
|
|
134
|
+
// (no file open) step is driven by hand, so the `cursor: none` overlay stays off.
|
|
135
|
+
if (!this.comp.recording || !this.comp.recorder.fileOpen)
|
|
108
136
|
return;
|
|
109
137
|
void runtime.injectCursor(page).catch(() => { });
|
|
110
138
|
});
|
|
@@ -125,7 +153,9 @@ export class Session {
|
|
|
125
153
|
await newPage
|
|
126
154
|
.waitForFunction(() => document.readyState === "complete", { timeout })
|
|
127
155
|
.catch(() => { });
|
|
128
|
-
await newPage
|
|
156
|
+
await newPage
|
|
157
|
+
.waitForNetworkIdle({ idleTime: 500, timeout })
|
|
158
|
+
.catch(() => { });
|
|
129
159
|
if (cfg.cursor)
|
|
130
160
|
await runtime.injectCursor(newPage).catch(() => { });
|
|
131
161
|
this.comp.log("Tab", "following new tab");
|
|
@@ -138,32 +168,84 @@ export class Session {
|
|
|
138
168
|
await this.browser.close().catch(() => { });
|
|
139
169
|
this.browser = null;
|
|
140
170
|
}
|
|
171
|
+
this.zoomExt?.cleanup();
|
|
172
|
+
this.zoomExt = null;
|
|
141
173
|
}
|
|
142
|
-
/** Seal the recording:
|
|
143
|
-
*
|
|
144
|
-
*
|
|
174
|
+
/** Seal the recording: close any open file (implicit end at the bottom), then for
|
|
175
|
+
* each output file stitch its segments (video layer) and mix its slice of the
|
|
176
|
+
* audio track onto it (audio layer). Empty files are reported and skipped.
|
|
177
|
+
* Builds the {@link RecordableResult}. Idempotent — a signal handler and the
|
|
178
|
+
* normal path both call it. */
|
|
145
179
|
async _finalize() {
|
|
146
180
|
if (this.finalised)
|
|
147
181
|
return;
|
|
148
182
|
this.finalised = true;
|
|
149
183
|
const { recorder, audioTrack, cfg, log } = this.comp;
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
if (
|
|
184
|
+
// Implicit end: close the file still open at the script's end (seals the
|
|
185
|
+
// in-flight segment). A no-op when the script ended with an explicit end().
|
|
186
|
+
if (recorder.fileOpen)
|
|
187
|
+
await recorder.closeFile();
|
|
188
|
+
const elapsedMs = Date.now() - this.startedAt;
|
|
189
|
+
const files = recorder.outputFiles;
|
|
190
|
+
// Drop files that captured no frames (e.g. start→end with nothing between),
|
|
191
|
+
// warning each — they're never written.
|
|
192
|
+
const kept = [];
|
|
193
|
+
files.forEach((f, i) => {
|
|
194
|
+
if (f.segments.length > 0) {
|
|
195
|
+
kept.push(f);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
const name = f.label ? `"${f.label}"` : `#${i + 1}`;
|
|
199
|
+
const msg = `empty recording ${name} captured no frames — skipped`;
|
|
200
|
+
this.warnings.push(msg);
|
|
201
|
+
log("Record", msg);
|
|
202
|
+
});
|
|
203
|
+
if (kept.length === 0) {
|
|
153
204
|
log("Record", "nothing was recorded — no output written");
|
|
154
205
|
recorder.removeTmp();
|
|
206
|
+
this.result = {
|
|
207
|
+
status: "empty",
|
|
208
|
+
files: [],
|
|
209
|
+
outputDir: cfg.outputDir,
|
|
210
|
+
durationMs: 0,
|
|
211
|
+
elapsedMs,
|
|
212
|
+
warnings: this.warnings,
|
|
213
|
+
};
|
|
155
214
|
return;
|
|
156
215
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
216
|
+
const paths = resolveOutputPaths(cfg, kept);
|
|
217
|
+
const clipsByFile = partitionAudioByFiles(audioTrack.list(), kept);
|
|
218
|
+
const resultFiles = [];
|
|
219
|
+
for (let i = 0; i < kept.length; i++) {
|
|
220
|
+
const f = kept[i];
|
|
221
|
+
const out = paths[i];
|
|
222
|
+
const clips = clipsByFile[i];
|
|
223
|
+
const needAudio = clips.length > 0;
|
|
224
|
+
// With audio, render the silent video to a temp file then mix onto it;
|
|
225
|
+
// otherwise stitch straight to the output.
|
|
226
|
+
const videoOut = needAudio
|
|
227
|
+
? join(recorder.tmpDir, `video-${i}.mp4`)
|
|
228
|
+
: out;
|
|
229
|
+
await stitch(f.segments, cfg, log, videoOut, recorder.tmpDir);
|
|
230
|
+
if (needAudio)
|
|
231
|
+
this.warnings.push(...(await addAudio(videoOut, clips, out, log)));
|
|
232
|
+
resultFiles.push({
|
|
233
|
+
path: out,
|
|
234
|
+
label: f.label,
|
|
235
|
+
index: i + 1,
|
|
236
|
+
durationMs: Math.round(f.durationMs),
|
|
237
|
+
bytes: statSync(out).size,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
166
240
|
recorder.removeTmp();
|
|
241
|
+
this.result = {
|
|
242
|
+
status: "completed",
|
|
243
|
+
files: resultFiles,
|
|
244
|
+
outputDir: cfg.outputDir,
|
|
245
|
+
durationMs: resultFiles.reduce((sum, f) => sum + f.durationMs, 0),
|
|
246
|
+
elapsedMs,
|
|
247
|
+
warnings: this.warnings,
|
|
248
|
+
};
|
|
167
249
|
}
|
|
168
250
|
}
|
|
169
251
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/compose/session.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsC,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/compose/session.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAUzB;wEACwE;AACxE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAUzB;wEACwE;AACxE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4DvB,CAAC;AAEH,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5D,mFAAmF;AACnF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAE3D,gFAAgF;AAChF,eAAO,MAAM,cAAc,EAAE,cAAuC,CAAC;AAErE;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
package/dist/config.js
CHANGED
|
@@ -34,9 +34,10 @@ export const ConfigSchema = z.strictObject({
|
|
|
34
34
|
* for CI / containers / sandboxed environments. Default: [] */
|
|
35
35
|
launchArgs: z.array(z.string()).default([]),
|
|
36
36
|
/** Browser locale as a BCP-47 tag, e.g. `"fr-FR"`. Sets the Chromium UI
|
|
37
|
-
* language
|
|
38
|
-
*
|
|
39
|
-
* → no override (use the
|
|
37
|
+
* language (`--lang`), `navigator.language` / `navigator.languages`
|
|
38
|
+
* (`--accept-lang`), and the `Accept-Language` request header, so pages render
|
|
39
|
+
* and content-negotiate in this locale. Default: "" → no override (use the
|
|
40
|
+
* system locale). */
|
|
40
41
|
language: z.string().default(""),
|
|
41
42
|
/** Typing speed in characters per second. Higher = faster. Default: 7 */
|
|
42
43
|
typingSpeed: z.number().default(7),
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,gFAAgF;AAChF,EAAE;AACF,6EAA6E;AAC7E,0EAA0E;AAC1E,4EAA4E;AAC5E,8EAA8E;AAC9E,iBAAiB;AAEjB;wEACwE;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;IACzC,sDAAsD;IACtD,QAAQ,EAAE,CAAC;SACR,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SACvD,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACzC;;0EAEsE;IACtE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/B,wCAAwC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3B,kFAAkF;IAClF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvC,0EAA0E;IAC1E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;IAC5C,8DAA8D;IAC9D,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1C;oEACgE;IAChE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvC,2DAA2D;IAC3D,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC;oEACgE;IAChE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3C
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Stable, machine-readable failure categories. */
|
|
2
|
-
export type ErrorCode = "CONFIG_INVALID" | "FILE_NOT_FOUND" | "FFMPEG_FAILED" | "TTS_FAILED" | "BROWSER_LAUNCH";
|
|
2
|
+
export type ErrorCode = "CONFIG_INVALID" | "FILE_NOT_FOUND" | "TARGET_NOT_FOUND" | "FFMPEG_FAILED" | "TTS_FAILED" | "BROWSER_LAUNCH";
|
|
3
3
|
/** An expected, user-facing failure. `message` should say what went wrong *and*
|
|
4
4
|
* how to fix it; `cause` keeps the original error for debugging. */
|
|
5
5
|
export declare class RecordableError extends Error {
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAOA,mDAAmD;AACnD,MAAM,MAAM,SAAS,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,gBAAgB,CAAC;AAErB;qEACqE;AACrE,qBAAa,eAAgB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,IAAI,EAAE,SAAS;gBAAf,IAAI,EAAE,SAAS,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAKpC;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe,CAEtE"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAOA,mDAAmD;AACnD,MAAM,MAAM,SAAS,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,gBAAgB,CAAC;AAErB;qEACqE;AACrE,qBAAa,eAAgB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,IAAI,EAAE,SAAS;gBAAf,IAAI,EAAE,SAAS,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAKpC;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe,CAEtE"}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,iFAAiF;AACjF,0DAA0D;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,iFAAiF;AACjF,0DAA0D;AAW1D;qEACqE;AACrE,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAE7B;IADX,YACW,IAAe,EACxB,OAAe,EACf,UAA+B,EAAE;QAEjC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAJf,SAAI,GAAJ,IAAI,CAAW;QAKxB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,OAAO,GAAG,YAAY,eAAe,CAAC;AACxC,CAAC"}
|
package/dist/ffmpeg.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import type { ResolvedConfig } from "./config.js";
|
|
2
|
+
/** Shared video-encode args (codec/preset/crf) for every re-encode site. */
|
|
3
|
+
export declare function videoEncodeArgs(cfg: ResolvedConfig): string[];
|
|
1
4
|
/** Probe a clip's duration in seconds by parsing ffmpeg's stderr banner. 0 if unreadable. */
|
|
2
5
|
export declare function getDuration(path: string): Promise<number>;
|
|
3
6
|
export declare const FFMPEG_PATH: string;
|
package/dist/ffmpeg.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ffmpeg.d.ts","sourceRoot":"","sources":["../src/ffmpeg.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ffmpeg.d.ts","sourceRoot":"","sources":["../src/ffmpeg.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,EAAE,CAS7D;AAED,6FAA6F;AAC7F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAazD;AAmBD,eAAO,MAAM,WAAW,QAAsB,CAAC;AAS/C;;kFAEkF;AAClF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BvD"}
|
package/dist/ffmpeg.js
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import { RecordableError } from "./errors.js";
|
|
4
|
+
/** Shared video-encode args (codec/preset/crf) for every re-encode site. */
|
|
5
|
+
export function videoEncodeArgs(cfg) {
|
|
6
|
+
return [
|
|
7
|
+
"-c:v",
|
|
8
|
+
cfg.videoCodec,
|
|
9
|
+
"-preset",
|
|
10
|
+
cfg.videoPreset,
|
|
11
|
+
"-crf",
|
|
12
|
+
String(cfg.videoCrf),
|
|
13
|
+
];
|
|
14
|
+
}
|
|
4
15
|
/** Probe a clip's duration in seconds by parsing ffmpeg's stderr banner. 0 if unreadable. */
|
|
5
16
|
export function getDuration(path) {
|
|
6
17
|
return new Promise((resolve) => {
|
|
@@ -16,11 +27,16 @@ export function getDuration(path) {
|
|
|
16
27
|
});
|
|
17
28
|
});
|
|
18
29
|
}
|
|
19
|
-
// Prefer the ffmpeg binary bundled by
|
|
20
|
-
//
|
|
30
|
+
// Prefer the ffmpeg binary bundled by ffmpeg-static; fall back to a system
|
|
31
|
+
// `ffmpeg` on PATH if it isn't present for some reason. ffmpeg-static ships a
|
|
32
|
+
// current ffmpeg (>= 6) on every platform — unlike @ffmpeg-installer, whose
|
|
33
|
+
// Linux binary was 4.1 and lacked `xfade` (4.3) and adelay's `all` option (4.2).
|
|
21
34
|
function resolveFfmpegPath() {
|
|
22
35
|
try {
|
|
23
|
-
|
|
36
|
+
// ffmpeg-static exports the binary path directly (null on an unsupported
|
|
37
|
+
// platform, in which case we defer to a system ffmpeg).
|
|
38
|
+
const path = createRequire(import.meta.url)("ffmpeg-static");
|
|
39
|
+
return path ?? "ffmpeg";
|
|
24
40
|
}
|
|
25
41
|
catch {
|
|
26
42
|
return "ffmpeg";
|
|
@@ -38,7 +54,9 @@ function tail(text, max = 8) {
|
|
|
38
54
|
* so the real cause (bad filter, missing codec, unreadable input) is visible. */
|
|
39
55
|
export function runFfmpeg(args) {
|
|
40
56
|
return new Promise((resolve, reject) => {
|
|
41
|
-
const proc = spawn(FFMPEG_PATH, args, {
|
|
57
|
+
const proc = spawn(FFMPEG_PATH, args, {
|
|
58
|
+
stdio: ["ignore", "ignore", "pipe"],
|
|
59
|
+
});
|
|
42
60
|
let err = "";
|
|
43
61
|
proc.stderr?.on("data", (d) => (err += String(d)));
|
|
44
62
|
proc.on("error", (e) => reject(new RecordableError("FFMPEG_FAILED", `Could not run ffmpeg: ${e.message}`, {
|
package/dist/ffmpeg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ffmpeg.js","sourceRoot":"","sources":["../src/ffmpeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ffmpeg.js","sourceRoot":"","sources":["../src/ffmpeg.ts"],"names":[],"mappings":"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"}
|
package/dist/formats/json.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Recordable } from "../compose/recordable.js";
|
|
2
2
|
import type { RecordableConfig } from "../config.js";
|
|
3
|
+
import type { RecordableResult } from "../result.js";
|
|
3
4
|
import type { Script } from "../script.js";
|
|
4
5
|
/**
|
|
5
6
|
* Build a {@link Recordable} from a JSON script without running it — a thin
|
|
@@ -8,5 +9,5 @@ import type { Script } from "../script.js";
|
|
|
8
9
|
*/
|
|
9
10
|
export declare function fromJSON(script: Script | string, configOverride?: RecordableConfig): Recordable;
|
|
10
11
|
/** Build a {@link Recordable} from a JSON script and run it to completion. */
|
|
11
|
-
export declare function runScript(script: Script | string, configOverride?: RecordableConfig): Promise<
|
|
12
|
+
export declare function runScript(script: Script | string, configOverride?: RecordableConfig): Promise<RecordableResult>;
|
|
12
13
|
//# sourceMappingURL=json.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/formats/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAS3C;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,cAAc,GAAE,gBAAqB,GACpC,UAAU,CAEZ;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,cAAc,CAAC,EAAE,gBAAgB,GAChC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/formats/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAS3C;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,cAAc,GAAE,gBAAqB,GACpC,UAAU,CAEZ;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,cAAc,CAAC,EAAE,gBAAgB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAE3B"}
|
package/dist/formats/json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/formats/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/formats/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKtD,gFAAgF;AAChF,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAE1E;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CACtB,MAAuB,EACvB,iBAAmC,EAAE;IAErC,OAAO,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,SAAS,CACvB,MAAuB,EACvB,cAAiC;IAEjC,OAAO,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../src/formats/markdown/method.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../src/formats/markdown/method.ts"],"names":[],"mappings":"AAiBA,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAiBvD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAM1D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAWnD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import JSON5 from "json5";
|
|
2
|
+
import { RecordableError } from "../../errors.js";
|
|
2
3
|
/** True if a string looks like a method call — `ident(` at the start. */
|
|
3
4
|
export function isMethodCall(src) {
|
|
4
5
|
return /^\s*[A-Za-z_]\w*\s*\(/.test(src);
|
|
@@ -12,9 +13,9 @@ export function parseMethodCall(src) {
|
|
|
12
13
|
const s = src.trim();
|
|
13
14
|
const head = /^([A-Za-z_]\w*)\s*\(/.exec(s);
|
|
14
15
|
if (!head)
|
|
15
|
-
throw new
|
|
16
|
+
throw new RecordableError("CONFIG_INVALID", `Not a method call: ${src.trim()}`);
|
|
16
17
|
if (!s.endsWith(")"))
|
|
17
|
-
throw new
|
|
18
|
+
throw new RecordableError("CONFIG_INVALID", `A method call must end with ")": ${src.trim()}`);
|
|
18
19
|
const open = head[0].length - 1; // index of the first "("
|
|
19
20
|
const close = s.length - 1; // index of the trailing ")"
|
|
20
21
|
return { name: head[1], args: parseArgList(s.slice(open + 1, close)) };
|
|
@@ -42,7 +43,7 @@ export function parseArgList(src) {
|
|
|
42
43
|
return JSON5.parse(`[${src}]`);
|
|
43
44
|
}
|
|
44
45
|
catch (e) {
|
|
45
|
-
throw new
|
|
46
|
+
throw new RecordableError("CONFIG_INVALID", `Invalid arguments "${src.trim()}": ${e.message}`, { cause: e });
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
//# sourceMappingURL=method.js.map
|