@amalgm/shell 0.1.20 → 0.1.22

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.
@@ -1 +1 @@
1
- {"version":3,"file":"machine-host.js","sourceRoot":"","sources":["../src/machine-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"machine-host.js","sourceRoot":"","sources":["../src/machine-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAW,IAAI,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,EACf,cAAc,GAQf,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAgCvD;+EAC+E;AAC/E,MAAM,OAAO,WAAW;IACb,OAAO,CAAqB;IAC5B,OAAO,CAAS;IAChB,UAAU,CAAS;IACnB,UAAU,CAAS;IACnB,KAAK,CAAoB;IAE1B,iBAAiB,CAAgB;IACjC,UAAU,GAA0B,IAAI,CAAC;IACzC,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEvD,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAA4C,IAAI,CAAC,UAAU,CAAC;YACtF,IAAI,EAAE,KAAK,EAAE,MAAiD,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;SACvG,CAAC;QACF,MAAM,YAAY,GAAG;YACnB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;YACpC,IAAI,EAAE,KAAK,EAAE,OAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACjE,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;SACF,CAAC;QACF,MAAM,YAAY,GAA4B;YAC5C,KAAK,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,CAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,oCAAoC,EAAE,IAAI,CAChE;YACD,IAAI,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,CAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,mCAAmC,EAAE,IAAI,CAC/D;YACD,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,CAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,iCAAiC,EAAE,IAAI,CAC7D;YACD,QAAQ,EAAE,KAAK,EAAE,KAAa,EAAE,IAAU,EAAE,EAAE;gBAC5C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7F,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK;oBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,EAAE;wBACrF,IAAI,EAAE,oBAAoB;qBAC3B,CAAC,CAAC;gBACH,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,YAAY,EAAE,CAAC,KAAa,EAAE,IAAU,EAAE,EAAE,CAC1C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,KAAK,CAAC;SAC3E,CAAC;QACF,MAAM,SAAS,GAAG;YAChB,OAAO,EAAE,KAAK,EAAE,IAAsB,EAA6B,EAAE;gBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3F,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAC7B,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE;oBAC5C,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;iBAC5C,CAAC,CAAC;gBACH,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,SAA2B,EAAE,EAAE;gBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;gBACrF,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;SACF,CAAC;QACF,MAAM,UAAU,GAAmB;YACjC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO;oBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBAChH,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC9C,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC/B,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;gBACnH,CAAC;gBACD,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,cAAc,CAAC;oBACnC,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,SAAS;oBACT,WAAW;oBACX,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;iBAC5C,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;SACF,CAAC;QACF,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,KAAK,EAAE,OAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;SACpE,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG;YACX,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YAClF,SAAS;YACT,UAAU;YACV,OAAO;YACP,YAAY,EAAE;gBACZ,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC;aACtD;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC;aACnD;YACD,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACvB,UAAU,EAAE,UAAU;YACtB,KAAK,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;SACrF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAA+F;QAClG,OAAO,WAAW,CAAC;YACjB,GAAG,KAAK;YACR,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,QAAQ,EAAE,GAAG,QAAQ,EAAE,IAAI,OAAO,EAAE,EAAE;YACtC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YACvC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM;YACjD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM;SACtC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAC7C,CAAC;IAED;gFAC4E;IAC5E,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,wBAAwB,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,KAAK,MAAM,OAAO,IAAI,QAAQ;YAAE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC;IAEO,sBAAsB;QAC5B,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,QAAQ,CAA0C,YAAY,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE;YAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SACzD,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,cAAc;YAAE,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAEO,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE;QAC9C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAyB,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ;YAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjH,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,OAAO;YACL,QAAQ;YACR,UAAU;YACV,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC;YAC/C,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;YACzC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;YACnD,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;SACxC,CAAC;IACJ,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wDAAwD,CAAC,EAAE;gBACvF,IAAI,EAAE,yBAAyB;aAChC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAyB,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO;QAChD,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,QAAQ,CAA8B,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC;YAC5F,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,QAAQ,CAAsB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;YACtG,IAAI,KAAK,IAAI,MAAM,EAAE,KAAK,KAAK,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAW,CAAC;aACzE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6CAA6C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACnG,IAAI,EAAE,yBAAyB;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,QAAQ,CAAO,KAAK,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,QAAQ,CAAO,KAAK,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,QAAQ,CAAmB,KAAK,CAAC,YAAY,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,QAAQ,CAAsB,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC1E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;IAClF,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAsB;QAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,WAAW;YAAE,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,aAAa,CAAC;YACZ,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;YAC1C,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;YACtC,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;YAC1C,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;SAC9E,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,OAAsB;QAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;YACnG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAC5H,CAAC;QACD,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAsB;YAC7B,GAAG,OAAO,CAAC,GAAG;YACd,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,iBAAiB,EAAE,SAAS;YAC5B,cAAc,EAAE,MAAM;YACtB,gBAAgB,EAAE,QAAQ;YAC1B,kBAAkB,EAAE,UAAU;YAC9B,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM;YACzD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM;YAC5C,oBAAoB,EAAE,YAAY;YAClC,kBAAkB,EAAE,UAAU;YAC9B,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,qCAAqC;SACjF,CAAC;QACF,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACvF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxG,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACxE,MAAM,OAAO,GAAG;gBACd,QAAQ,EAAE;oBACR,MAAM;oBACN,UAAU;oBACV,QAAQ;oBACR,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ;oBACvC,oBAAoB,EAAE,IAAI;oBAC1B,YAAY,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;iBACrC;gBACD,IAAI,EAAE,KAAK,IAAI,EAAE;oBACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC7B,MAAM,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;oBAC3C,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC9E,OAAO,CAAC,mBAAmB,EAAE,CAAC;oBAC9B,MAAM,MAAM,CAAC;gBACf,CAAC;aACF,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC9E,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBAC9B,MAAM,MAAM,CAAC;YACf,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,SAAS,IAAI,CAAC,KAAc;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAW,OAAe,EAAE,IAAY,EAAE,IAAU,EAAE,KAAK,GAAG,EAAE;IACrF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;QACnE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,kBAAkB;YAClC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,OAAO,GAAS,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE;YACzG,IAAI,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE;YAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO;SACR,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,OAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,QAAQ,EAAE,IAAI,gBAAgB,CAAC;AACxC,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import { createHash, randomUUID } from "node:crypto";
2
- import { createReadStream, existsSync, lstatSync, realpathSync, readFileSync, readdirSync, readlinkSync, rmSync, statSync, symlinkSync, watch, writeFileSync, } from "node:fs";
2
+ import { existsSync, lstatSync, realpathSync, readFileSync, readdirSync, readlinkSync, rmSync, statSync, symlinkSync, watch, writeFileSync, } from "node:fs";
3
3
  import { open } from "node:fs/promises";
4
- import { basename, dirname, extname, isAbsolute, join, relative, resolve, sep } from "node:path";
4
+ import { basename, dirname, extname, join, relative, resolve, sep } from "node:path";
5
5
  import { buildUserHomeManifest, buildUserManifest, liveMachineStateDir, scopedAmalgmDir, shippedUserHomeDeclaration, } from "@amalgm/core/identity";
6
- import { CHUNK_BYTES, ENTITY_CLOUD_CONTRACT, ENTITY_CLOUD_SCHEMA_VERSION, artifactForRecord, canonicalVersion, checkContentManifest, classifyDirectory, classifyFile, classifyRegisteredRoot, convergeUserGround, createSuspicionScope, createUserGroundEnrollmentPolicy, isRepositoryMetadataEntry, download as downloadArtifact, membershipHash, parseSnapshot, pathIsSuspect, privateEntityResourceId, sameRecords, snapshotFromRecords, stableJson, travelingRecords, upload as uploadArtifact, userGroundRecords, } from "@amalgm/live";
6
+ import { CHUNK_BYTES, ENTITY_CLOUD_CONTRACT, ENTITY_CLOUD_SCHEMA_VERSION, artifactForRecord, canonicalVersion, checkContentManifest, classifyDirectory, classifyFile, classifyRegisteredRoot, convergeUserGround, createSuspicionScope, createUserGroundEnrollmentPolicy, isRepositoryMetadataEntry, download as downloadArtifact, deriveUploadManifest, membershipHash, parseSnapshot, pathIsSuspect, privateEntityResourceId, sameRecords, snapshotFromRecords, stableJson, travelingRecords, upload as uploadArtifact, userGroundRecords, } from "@amalgm/live";
7
7
  import Database from "better-sqlite3";
8
- import { atomicAssemble, atomicCopy, atomicWrite, ensurePrivateDir } from "./filesystem.js";
8
+ import { atomicCopy, atomicWrite, ensurePrivateDir } from "./filesystem.js";
9
+ import { ContentCacheDownload, hashContentFile } from "./content-cache-host.js";
10
+ import { WORKSPACE_UUID as UUID, createFilesRegisterPorts, pathExists, pathWithin, referenceWorkspaceId, workspaceBindingDir, } from "./files-register-host.js";
9
11
  import { applyRepositoryFiles, captureRepository, inspectRepositoryTransportFile, isRepository, } from "./git-repository-host.js";
10
12
  import { inspectGitRegistration, } from "./git-registration-host.js";
11
13
  import { projectMaterializedGraph } from "./materialized-graph.js";
@@ -77,80 +79,11 @@ export class UserGroundHost {
77
79
  }
78
80
  const userRoot = this.userRoot(identity);
79
81
  const bindingDir = workspaceBindingDir(userRoot, identity.deviceId);
80
- const register = {
81
- inspectExternalWorkspace: async (requestedPath) => {
82
- const resolved = realpathSync(resolve(requestedPath));
83
- const stats = statSync(resolved);
84
- if (!stats.isDirectory())
85
- throw new Error("workspace path must name a directory");
86
- if (pathWithin(userRoot, resolved)) {
87
- throw new Error("files register is only for a workspace outside the Amalgm user ground");
88
- }
89
- let workspaceId = null;
90
- if (existsSync(bindingDir)) {
91
- for (const entry of readdirSync(bindingDir, { withFileTypes: true })) {
92
- if (!entry.isSymbolicLink() || !UUID.test(entry.name))
93
- continue;
94
- try {
95
- const found = statSync(join(bindingDir, entry.name));
96
- if (found.dev === stats.dev && found.ino === stats.ino) {
97
- workspaceId = entry.name.toLowerCase();
98
- break;
99
- }
100
- }
101
- catch {
102
- // A broken binding is not evidence about this physical root.
103
- }
104
- }
105
- }
106
- const name = basename(resolved);
107
- if (!name)
108
- throw new Error("workspace path has no name");
109
- return { absolutePath: resolved, name, workspaceId };
110
- },
111
- randomUuid: randomUUID,
112
- declareWorkspaceReference: async ({ workspaceId, workspaceName, absolutePath }) => {
113
- ensurePrivateDir(bindingDir);
114
- const binding = join(bindingDir, workspaceId);
115
- let createdBinding = false;
116
- if (pathExists(binding)) {
117
- if (realpathSync(binding) !== realpathSync(absolutePath)) {
118
- throw new Error(`workspace ${workspaceId} is already bound to different ground`);
119
- }
120
- }
121
- else {
122
- symlinkSync(absolutePath, binding, "dir");
123
- createdBinding = true;
124
- }
125
- try {
126
- const workspaceDir = join(userRoot, "workspaces");
127
- ensurePrivateDir(workspaceDir);
128
- const existing = findReference(workspaceDir, bindingDir, workspaceId);
129
- if (existing) {
130
- if (createdBinding)
131
- this.scheduleRescan();
132
- return {
133
- created: false,
134
- referenceName: basename(existing),
135
- referencePath: existing,
136
- };
137
- }
138
- const referencePath = availableReferencePath(workspaceDir, workspaceName);
139
- symlinkSync(relative(dirname(referencePath), binding), referencePath);
140
- this.scheduleRescan();
141
- return {
142
- created: true,
143
- referenceName: basename(referencePath),
144
- referencePath,
145
- };
146
- }
147
- catch (error) {
148
- if (createdBinding)
149
- rmSync(binding, { force: true });
150
- throw error;
151
- }
152
- },
153
- };
82
+ const register = createFilesRegisterPorts({
83
+ userRoot,
84
+ deviceId: identity.deviceId,
85
+ onReferenceDeclared: () => this.scheduleRescan(),
86
+ });
154
87
  const add = {
155
88
  lookupRegistry: async () => {
156
89
  const resourceId = privateEntityResourceId(identity.userId, sha256Hex);
@@ -351,11 +284,13 @@ export class UserGroundHost {
351
284
  const receipt = await uploadArtifact(artifact, {
352
285
  bytes: fileBytes,
353
286
  ...(cachedManifest ? { manifest: cachedManifest } : {}),
354
- verify: async (contentHash) => await sha256File(file) === contentHash,
287
+ ...(cachedManifest ? { manifestVerified: true } : {}),
288
+ verify: async (contentHash) => await hashContentFile(file) === contentHash,
355
289
  read: async (offset, bytes) => {
356
- sourceFile.handle ??= await open(file, "r");
290
+ sourceFile.handle ??= open(file, "r");
291
+ const handle = await sourceFile.handle;
357
292
  const buffer = Buffer.allocUnsafe(bytes);
358
- const { bytesRead } = await sourceFile.handle.read(buffer, 0, bytes, offset);
293
+ const { bytesRead } = await handle.read(buffer, 0, bytes, offset);
359
294
  return buffer.subarray(0, bytesRead);
360
295
  },
361
296
  }, {
@@ -408,7 +343,7 @@ export class UserGroundHost {
408
343
  }
409
344
  finally {
410
345
  if (sourceFile.handle)
411
- await sourceFile.handle.close();
346
+ await (await sourceFile.handle).close();
412
347
  }
413
348
  };
414
349
  await boundedForEach(small, SMALL_CONTENT_UPLOAD_CONCURRENCY, transfer);
@@ -417,59 +352,61 @@ export class UserGroundHost {
417
352
  }
418
353
  }
419
354
  async downloadContent(resourceId, cacheDir, artifact) {
420
- const receipt = await downloadArtifact(artifact, {
421
- sha256Hex,
422
- getManifest: async () => {
423
- const frame = await retryContent(() => this.wire.request({
424
- type: "private.entity-content.get",
425
- resource_id: resourceId,
426
- content_hash: artifact.contentHash,
427
- kind: "manifest",
428
- part_index: 0,
429
- }, ["private.entity-content.data"]));
430
- return JSON.parse(frameBytes(frame).toString("utf8"));
431
- },
432
- hasChunk: async (chunk) => {
433
- try {
434
- const bytes = readFileSync(chunkCacheFile(cacheDir, chunk.sha256));
435
- return bytes.length === chunk.bytes && sha256Hex(bytes) === chunk.sha256;
436
- }
437
- catch {
438
- return false;
439
- }
440
- },
441
- getChunk: async (_candidate, manifest, index) => {
442
- const chunk = manifest.chunks[index];
443
- if (!chunk)
444
- throw new Error(`content manifest has no chunk ${index}`);
445
- const frame = await retryContent(() => this.wire.request({
446
- type: "private.entity-content.get",
447
- resource_id: resourceId,
448
- content_hash: artifact.contentHash,
449
- kind: "chunk",
450
- part_index: index,
451
- sha256: chunk.sha256,
452
- }, ["private.entity-content.data"]), true);
453
- return frameBytes(frame);
454
- },
455
- putChunk: async (chunk, bytes) => {
456
- atomicWrite(chunkCacheFile(cacheDir, chunk.sha256), bytes);
457
- },
458
- sealArtifact: async (_candidate, manifest) => {
459
- const file = contentCacheFile(cacheDir, artifact.contentHash);
460
- const sealed = await atomicAssemble(file, manifest.chunks.map((chunk) => chunkCacheFile(cacheDir, chunk.sha256)));
461
- if (sealed.bytes !== manifest.bytes || sealed.sha256 !== manifest.contentHash) {
462
- throw new Error(`cloud content ${artifact.contentHash} is corrupt`);
463
- }
464
- atomicWrite(manifestCacheFile(cacheDir, artifact.contentHash), stableJson(manifest));
465
- return {
466
- local: { file, bytes: sealed.bytes, contentHash: sealed.sha256 },
467
- bytes: sealed.bytes,
468
- contentHash: sealed.sha256,
469
- };
470
- },
471
- });
472
- return receipt.local;
355
+ const cache = { target: null };
356
+ try {
357
+ const receipt = await downloadArtifact(artifact, {
358
+ sha256Hex,
359
+ getManifest: async () => {
360
+ const frame = await retryContent(() => this.wire.request({
361
+ type: "private.entity-content.get",
362
+ resource_id: resourceId,
363
+ content_hash: artifact.contentHash,
364
+ kind: "manifest",
365
+ part_index: 0,
366
+ }, ["private.entity-content.data"]));
367
+ const candidate = JSON.parse(frameBytes(frame).toString("utf8"));
368
+ const checked = checkContentManifest(candidate, artifact.contentHash);
369
+ if (!checked.ok)
370
+ throw new Error(checked.error);
371
+ cache.target = new ContentCacheDownload(cacheDir, artifact, checked.value);
372
+ return checked.value;
373
+ },
374
+ hasChunk: async (_candidate, _manifest, index) => {
375
+ if (!cache.target)
376
+ throw new Error("download cache has no content manifest");
377
+ return cache.target.hasChunk(index);
378
+ },
379
+ getChunk: async (_candidate, manifest, index) => {
380
+ const chunk = manifest.chunks[index];
381
+ if (!chunk)
382
+ throw new Error(`content manifest has no chunk ${index}`);
383
+ const frame = await retryContent(() => this.wire.request({
384
+ type: "private.entity-content.get",
385
+ resource_id: resourceId,
386
+ content_hash: artifact.contentHash,
387
+ kind: "chunk",
388
+ part_index: index,
389
+ sha256: chunk.sha256,
390
+ }, ["private.entity-content.data"]), true);
391
+ return frameBytes(frame);
392
+ },
393
+ putChunk: async (_candidate, _manifest, index, bytes) => {
394
+ if (!cache.target)
395
+ throw new Error("download cache has no content manifest");
396
+ await cache.target.putChunk(index, bytes);
397
+ },
398
+ sealArtifact: async () => {
399
+ if (!cache.target)
400
+ throw new Error("download cache has no content manifest");
401
+ const sealed = await cache.target.seal();
402
+ return { local: sealed, bytes: sealed.bytes, contentHash: sealed.contentHash };
403
+ },
404
+ });
405
+ return receipt.local;
406
+ }
407
+ finally {
408
+ await cache.target?.close();
409
+ }
473
410
  }
474
411
  ensureWatchers(identity) {
475
412
  if (this.closing)
@@ -640,21 +577,12 @@ export class UserGroundHost {
640
577
  }
641
578
  }
642
579
  const sha256Hex = (input) => createHash("sha256").update(input).digest("hex");
643
- async function sha256File(file) {
644
- const hash = createHash("sha256");
645
- for await (const chunk of createReadStream(file))
646
- hash.update(chunk);
647
- return hash.digest("hex");
648
- }
649
580
  function contentCacheFile(cacheDir, contentHash) {
650
581
  return join(cacheDir, `${contentHash}.bin`);
651
582
  }
652
583
  function manifestCacheFile(cacheDir, contentHash) {
653
584
  return join(cacheDir, "manifests", `${contentHash}.json`);
654
585
  }
655
- function chunkCacheFile(cacheDir, chunkHash) {
656
- return join(cacheDir, "chunks", `${chunkHash}.bin`);
657
- }
658
586
  function readCachedManifest(cacheDir, contentHash) {
659
587
  try {
660
588
  const checked = checkContentManifest(JSON.parse(readFileSync(manifestCacheFile(cacheDir, contentHash), "utf8")), contentHash);
@@ -664,55 +592,6 @@ function readCachedManifest(cacheDir, contentHash) {
664
592
  return null;
665
593
  }
666
594
  }
667
- const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
668
- function workspaceBindingDir(userRoot, deviceId) {
669
- return join(liveMachineStateDir(userRoot, deviceId), "bindings");
670
- }
671
- function pathExists(path) {
672
- try {
673
- lstatSync(path);
674
- return true;
675
- }
676
- catch {
677
- return false;
678
- }
679
- }
680
- function pathWithin(root, candidate) {
681
- const rel = relative(resolve(root), resolve(candidate));
682
- return rel === "" || (rel !== ".." && !rel.startsWith(`..${sep}`) && !isAbsolute(rel));
683
- }
684
- function referenceWorkspaceId(referencePath, bindingDir) {
685
- try {
686
- const target = resolve(dirname(referencePath), readlinkSync(referencePath));
687
- const id = basename(target).toLowerCase();
688
- return resolve(dirname(target)) === resolve(bindingDir) && UUID.test(id) ? id : null;
689
- }
690
- catch {
691
- return null;
692
- }
693
- }
694
- function findReference(workspaceDir, bindingDir, workspaceId) {
695
- for (const entry of readdirSync(workspaceDir, { withFileTypes: true })) {
696
- if (!entry.isSymbolicLink())
697
- continue;
698
- const path = join(workspaceDir, entry.name);
699
- if (referenceWorkspaceId(path, bindingDir) === workspaceId)
700
- return path;
701
- }
702
- return null;
703
- }
704
- function availableReferencePath(workspaceDir, requestedName) {
705
- const name = requestedName.trim();
706
- if (!name || name === "." || name === ".." || name.includes("/") || name.includes("\\")) {
707
- throw new Error("workspace name must be one path segment");
708
- }
709
- for (let suffix = 1; suffix < 10_000; suffix += 1) {
710
- const candidate = join(workspaceDir, suffix === 1 ? name : `${name} (${suffix})`);
711
- if (!pathExists(candidate))
712
- return candidate;
713
- }
714
- throw new Error(`no available reference name for ${name}`);
715
- }
716
595
  function normalizedIdentity(identity) {
717
596
  return {
718
597
  userId: String(identity.userId).trim(),
@@ -732,6 +611,11 @@ function immutableWrite(file, bytes) {
732
611
  throw new Error(`immutable object conflict at ${file}`);
733
612
  }
734
613
  }
614
+ function immutableWriteArtifact(cacheDir, artifact, bytes) {
615
+ const manifest = deriveUploadManifest(artifact, bytes, sha256Hex);
616
+ immutableWrite(contentCacheFile(cacheDir, artifact.contentHash), bytes);
617
+ atomicWrite(manifestCacheFile(cacheDir, artifact.contentHash), stableJson(manifest));
618
+ }
735
619
  function initializeDatabase(file) {
736
620
  ensurePrivateDir(dirname(file));
737
621
  const database = new Database(file);
@@ -1133,7 +1017,12 @@ function scanRoot(input) {
1133
1017
  const bytes = Buffer.from(readlinkSync(absolutePath), "utf8");
1134
1018
  payloadVersion = sha256Hex(bytes);
1135
1019
  if (!activeRepository)
1136
- immutableWrite(join(cacheDir, `${payloadVersion}.bin`), bytes);
1020
+ immutableWriteArtifact(cacheDir, {
1021
+ entityId: uuid,
1022
+ entityType: type,
1023
+ kind: "link",
1024
+ contentHash: payloadVersion,
1025
+ }, bytes);
1137
1026
  }
1138
1027
  }
1139
1028
  }
@@ -1150,7 +1039,12 @@ function scanRoot(input) {
1150
1039
  type = fileType(bytes);
1151
1040
  payloadVersion = sha256Hex(bytes);
1152
1041
  if (!activeRepository)
1153
- immutableWrite(join(cacheDir, `${payloadVersion}.bin`), bytes);
1042
+ immutableWriteArtifact(cacheDir, {
1043
+ entityId: uuid,
1044
+ entityType: type,
1045
+ kind: "file",
1046
+ contentHash: payloadVersion,
1047
+ }, bytes);
1154
1048
  }
1155
1049
  }
1156
1050
  else {
@@ -1247,7 +1141,12 @@ function scanRoot(input) {
1247
1141
  repository.payloadVersion = captured.stateId;
1248
1142
  repository.transportVersion = captured.transportVersion;
1249
1143
  if (captured.bytes) {
1250
- immutableWrite(join(cacheDir, `${captured.transportVersion}.bin`), captured.bytes);
1144
+ immutableWriteArtifact(cacheDir, {
1145
+ entityId: repository.uuid,
1146
+ entityType: "repo.git",
1147
+ kind: "git",
1148
+ contentHash: captured.transportVersion,
1149
+ }, captured.bytes);
1251
1150
  }
1252
1151
  }
1253
1152
  const children = new Map();