@bjorntech/key-ferry 0.1.12 → 0.1.14
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 +20 -0
- package/dist/broker-registry.d.ts +32 -0
- package/dist/broker-registry.d.ts.map +1 -1
- package/dist/broker-registry.js +376 -42
- package/dist/broker-registry.js.map +1 -1
- package/dist/contracts.d.ts +13 -3
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +3 -0
- package/dist/contracts.js.map +1 -1
- package/dist/options.d.ts +1 -0
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +17 -0
- package/dist/options.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +4 -4
- package/dist/plugin.js.map +1 -1
- package/dist/rpc.d.ts +62 -12
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +41 -27
- package/dist/rpc.js.map +1 -1
- package/dist/scoped-controller.d.ts +5 -3
- package/dist/scoped-controller.d.ts.map +1 -1
- package/dist/scoped-controller.js +110 -44
- package/dist/scoped-controller.js.map +1 -1
- package/dist/scopes/controller-helpers.d.ts.map +1 -1
- package/dist/scopes/controller-helpers.js +15 -6
- package/dist/scopes/controller-helpers.js.map +1 -1
- package/dist/services/process.d.ts +3 -0
- package/dist/services/process.d.ts.map +1 -1
- package/dist/services/process.js +22 -6
- package/dist/services/process.js.map +1 -1
- package/dist/varlock/diagnostics.d.ts +7 -0
- package/dist/varlock/diagnostics.d.ts.map +1 -0
- package/dist/varlock/diagnostics.js +35 -0
- package/dist/varlock/diagnostics.js.map +1 -0
- package/dist/varlock/manager.d.ts.map +1 -1
- package/dist/varlock/manager.js +265 -72
- package/dist/varlock/manager.js.map +1 -1
- package/dist/varlock/ownership.d.ts +60 -0
- package/dist/varlock/ownership.d.ts.map +1 -0
- package/dist/varlock/ownership.js +372 -0
- package/dist/varlock/ownership.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/services/process.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/services/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAIhE,uEAAuE;AACvE,MAAM,OAAO,YAAa,SAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,CAO/D;CAAG;AAkDL,MAAM,OAAO,OAAQ,SAAQ,OAAO,CAAC,OAAO,EAA2B,CAAC,mBAAmB,CAAC;CAAG;AAE/F,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC;AACpC,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,0BAA0B,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAEjG,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAE,IAA0B,EAAU,EAAE,CAC9E,GAAG,KAAK,YAAY,IAAI,GAAG,CAAC;AAE9B,MAAM,KAAK,GAAG,CACZ,KAAmB,EACnB,IAA0B,EAC1B,QAA4D,EAAE,EAC9D,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AAEpF,MAAM,WAAW,GAAG,CAAC,IAAmB,EAAE,MAA6B,EAAE,MAAc,EAAE,EAAE,CACzF,IAAI,YAAY,CAAC;IACf,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;IAC3C,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IACnE,QAAQ,EAAE,IAAI,IAAI,SAAS;IAC3B,MAAM,EAAE,MAAM,IAAI,SAAS;IAC3B,MAAM;CACP,CAAC,CAAC;AAQL,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,EAAE,CAC5C,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;AAEnE,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAE,KAAqB,EAAE,EAAE;IACjE,4EAA4E;IAC5E,2EAA2E;IAC3E,wDAAwD;IACxD,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;;YAChE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;AACH,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,cAAc,GAAG,CAAC,KAAmB,EAAE,OAAe,EAAiB,EAAE,CAC7E,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACtB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,UAAqD,CAAC;IAC1D,IAAI,SAAoD,CAAC;IACzD,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,UAAU;YAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,MAAM,EAAE,CAAC;IACX,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;IAC/B,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,MAAM,EAAE,CAAC;QACT,OAAO;IACT,CAAC;IACD,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9B,UAAU,GAAG,UAAU,CACrB,GAAG,EAAE;QACH,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,MAAM,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9B,yEAAyE;QACzE,gDAAgD;QAChD,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CACrB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,MAAM,QAAQ,GAAG,CACf,KAAiB,EACjB,eAA6B,KAAK,EAC6B,EAAE,CACjE,MAAM,CAAC,cAAc,CACnB,MAAM,CAAC,QAAQ,CAA+B,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;IACpE,IAAI,KAAmB,CAAC;IACxB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,QAAmC,CAAC;IACxC,IAAI,CAAC;QACH,qEAAqE;QACrE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE;YACtD,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,iEAAiE;YACjE,6DAA6D;YAC7D,4DAA4D;YAC5D,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;YACtC,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,0BAA0B;YACpC,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAiB;QAC1B,KAAK;QACL,4DAA4D;QAC5D,+DAA+D;QAC/D,uBAAuB;QACvB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,IAAI;KACZ,CAAC;IAIF,IAAI,QAAsC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IACpF,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACvF,MAAM,OAAO,GAAG,CAAC,IAAmB,EAAE,MAA6B,EAAE,EAAE;QACrE,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACjD,QAAQ,CACN,IAAI,KAAK,CAAC;YACR,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YACvC,CAAC,CAAC;gBACE,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE;oBAC1D,QAAQ,EAAE,IAAI,IAAI,SAAS;oBAC3B,MAAM,EAAE,MAAM,IAAI,SAAS;iBAC5B,CAAC;aACH,CACN,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,iBAAiB,GAAG,IAAI,CAAC;QACzB,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC5C,KAAK,CAAC,OAAO,GAAG,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAC5D,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CACrE,CACF,CAAC;QACF,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YAC/B,IAAI,OAAO;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC;YAChC,qEAAqE;YACrE,oEAAoE;YACpE,8CAA8C;YAC9C,QAAQ,KAAK,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,IAAI,cAAc,CAAC,CAAC;YAC7E,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAS,CAAC,CAAC,CAAC,IAAI,CACjE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CACtD,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,CACJ,MAAM,CAAC,OAAO,CAAC;YACb,GAAG,EAAE,KAAK,CAAC,GAAI;YACf,UAAU;YACV,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzB,GAAG,EAAE,KAAK,CAAC,GAAI;gBACf,OAAO,EAAE,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI;gBAC7D,IAAI,EACF,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI;oBAClD,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE;oBACpD,CAAC,CAAC,SAAS;aAChB,CAAC,CAAC;YACH,IAAI;SACL,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IACF,sEAAsE;IACtE,uEAAuE;IACvE,4DAA4D;IAC5D,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAClC,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,QAAQ,IAAI,iBAAiB;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5D,QAAQ,KAAK,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,IAAI,cAAc,CAAC,CAAC;QAC7E,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,KAAK,kBAAkB,EAAE,CAAC;IAC5B,CAAC,CAAC;IACF,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CACd,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACf,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC5C,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,CACH,CACF,CAAC;AACJ,CAAC,CAAC,EACF,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAC/D,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC;AAEJ,MAAM,GAAG,GAAG,CAAC,KAAe,EAA0C,EAAE;IACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,eAAe,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAA0B,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC/E,IAAI,KAAmB,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC/C,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;gBACtC,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,0BAA0B;gBACpC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAiB;YAC1B,KAAK;YACL,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YAC3D,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,QAAmC,CAAC;QACxC,IAAI,aAAwD,CAAC;QAC7D,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrD,OAAO,GAAG,IAAI,CAAC;gBACf,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;YACxF,CAAC;QACH,CAAC,CAAC;QACF,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrD,OAAO,GAAG,IAAI,CAAC;gBACf,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;YACxF,CAAC;QACH,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,aAAa;gBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;YAC/C,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1C,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1C,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACrC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACvC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC;QACF,MAAM,aAAa,GAAG,CAAC,OAAqB,EAAE,EAAE;YAC9C,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,IAAmB,EAAE,GAA0B,EAAE,EAAE;YACtE,IAAI,OAAO;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;YACzE,IAAI,IAAI,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7E,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,IAAmB,EAAE,GAA0B,EAAE,EAAE;YACtE,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,QAAQ,KAAK,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACnD,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,qEAAqE;YACrE,wEAAwE;YACxE,qEAAqE;YACrE,yEAAyE;YACzE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,aAAa,KAAK,UAAU,CAAC,GAAG,EAAE;gBAChC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACxB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACxB,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,IAAmB,EAAE,GAA0B,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5F,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7B,WAAW,CAAC,gBAAgB,CAC1B,OAAO,EACP,GAAG,EAAE;YACH,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,EAAE,CAAC;oBACV,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBACxB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;QACF,OAAO,MAAM,CAAC,eAAe,CAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CACtD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CACd,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,OAAO,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QAC1B,CAAC,CAAC,CACH,CACF,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GACX,KAAK,CAAC,SAAS,KAAK,SAAS;QAC3B,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,OAAO,CAAC,IAAI,CACV,MAAM,CAAC,aAAa,CAAC;YACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1C,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SACvD,CAAC,CACH,CAAC;IACR,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,eAA6B,KAAK,EAAE,EAAE,CAC7D,KAAK,CAAC,OAAO,CACX,OAAO,EACP,OAAO,CAAC,EAAE,CAAC;IACT,GAAG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC/C,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,MAAM,CAAC,UAAU,CAAC;QAChB,GAAG,EAAE,KAAK,IAAI,EAAE;YACd,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC;KACjD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;CACzD,CAAC,CACH,CAAC;AAEJ,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;AAE7C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,YAA0B,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type VarlockStderrCode = "op_prompt_dismissed" | "op_not_signed_in" | "op_auth_failed" | "op_bad_vault_reference" | "op_multiple_accounts_app_auth" | "op_not_found" | "varlock_schema_error" | "varlock_timeout" | "unknown";
|
|
2
|
+
export declare function classifyStderr(stderr: string | undefined): {
|
|
3
|
+
readonly code: VarlockStderrCode;
|
|
4
|
+
readonly message: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function safeStderrMessage(code: string | undefined, message: string | undefined): string | undefined;
|
|
7
|
+
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/varlock/diagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,qBAAqB,GACrB,kBAAkB,GAClB,gBAAgB,GAChB,wBAAwB,GACxB,+BAA+B,GAC/B,cAAc,GACd,sBAAsB,GACtB,iBAAiB,GACjB,SAAS,CAAC;AAed,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG;IAC1D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAiBA;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,MAAM,GAAG,SAAS,CAGpB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const messages = {
|
|
2
|
+
op_prompt_dismissed: "1Password app authorization prompt dismissed by user",
|
|
3
|
+
op_not_signed_in: "1Password CLI is not signed in",
|
|
4
|
+
op_auth_failed: "1Password authentication failed",
|
|
5
|
+
op_bad_vault_reference: "1Password vault or account reference is invalid",
|
|
6
|
+
op_multiple_accounts_app_auth: "Cannot use multiple different 1Password accounts when using CLI auth with batching enabled",
|
|
7
|
+
op_not_found: "The Varlock or 1Password CLI was not found",
|
|
8
|
+
varlock_schema_error: "Varlock schema validation failed",
|
|
9
|
+
varlock_timeout: "Varlock operation timed out",
|
|
10
|
+
unknown: "Varlock failed; see the doctor guidance",
|
|
11
|
+
};
|
|
12
|
+
export function classifyStderr(stderr) {
|
|
13
|
+
const value = stderr ?? "";
|
|
14
|
+
const matchers = [
|
|
15
|
+
[/dismiss|cancel|declin|reject.*prompt|prompt.*(?:close|dismiss)/i, "op_prompt_dismissed"],
|
|
16
|
+
[/not signed in|not logged in|sign in to 1password/i, "op_not_signed_in"],
|
|
17
|
+
[/authentication failed|auth failed|invalid credentials|unauthorized/i, "op_auth_failed"],
|
|
18
|
+
[
|
|
19
|
+
/BAD_VAULT_REFERENCE|bad vault|vault.*(?:not found|invalid)|account.*(?:not found|invalid)/i,
|
|
20
|
+
"op_bad_vault_reference",
|
|
21
|
+
],
|
|
22
|
+
[/multiple different 1password accounts|batching enabled/i, "op_multiple_accounts_app_auth"],
|
|
23
|
+
[/command not found|enoent|could not find.*(?:varlock|op)/i, "op_not_found"],
|
|
24
|
+
[/schema|validation|parse error/i, "varlock_schema_error"],
|
|
25
|
+
[/timed out|timeout/i, "varlock_timeout"],
|
|
26
|
+
];
|
|
27
|
+
const code = matchers.find(([pattern]) => pattern.test(value))?.[1] ?? "unknown";
|
|
28
|
+
return { code, message: messages[code] };
|
|
29
|
+
}
|
|
30
|
+
export function safeStderrMessage(code, message) {
|
|
31
|
+
if (!code || !(code in messages))
|
|
32
|
+
return undefined;
|
|
33
|
+
return messages[code] === message ? message : undefined;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/varlock/diagnostics.ts"],"names":[],"mappings":"AAWA,MAAM,QAAQ,GAAsC;IAClD,mBAAmB,EAAE,sDAAsD;IAC3E,gBAAgB,EAAE,gCAAgC;IAClD,cAAc,EAAE,iCAAiC;IACjD,sBAAsB,EAAE,iDAAiD;IACzE,6BAA6B,EAC3B,4FAA4F;IAC9F,YAAY,EAAE,4CAA4C;IAC1D,oBAAoB,EAAE,kCAAkC;IACxD,eAAe,EAAE,6BAA6B;IAC9C,OAAO,EAAE,yCAAyC;CACnD,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,MAA0B;IAIvD,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAsD;QAClE,CAAC,iEAAiE,EAAE,qBAAqB,CAAC;QAC1F,CAAC,mDAAmD,EAAE,kBAAkB,CAAC;QACzE,CAAC,qEAAqE,EAAE,gBAAgB,CAAC;QACzF;YACE,4FAA4F;YAC5F,wBAAwB;SACzB;QACD,CAAC,yDAAyD,EAAE,+BAA+B,CAAC;QAC5F,CAAC,0DAA0D,EAAE,cAAc,CAAC;QAC5E,CAAC,gCAAgC,EAAE,sBAAsB,CAAC;QAC1D,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;KAC1C,CAAC;IACF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACjF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAwB,EACxB,OAA2B;IAE3B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,OAAO,QAAQ,CAAC,IAAyB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/varlock/manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/varlock/manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAe,MAAM,kBAAkB,CAAC;AAG9E,OAAO,EAAoB,KAAK,EAAoB,MAAM,QAAQ,CAAC;AACnE,OAAO,EACL,sBAAsB,EACtB,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAIlC,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,OAAO,EAKR,MAAM,wBAAwB,CAAC;AA2ChC,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,EAAE,EAAE,OAAO,EAAE,CAAC;CACf,CAAC;AAgZF,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,6BAA6B,EACtC,YAAY,GAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAe,EAC9D,OAAO,GAAE,cAA+B,GACvC,KAAK,CAAC,KAAK,CAAC,sBAAsB,EAAE,YAAY,EAAE,KAAK,CAAC,CA4mB1D;AAED,eAAO,MAAM,6BAA6B,EAAE,6BAE3C,CAAC"}
|
package/dist/varlock/manager.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
1
2
|
import { constants as fsConstants } from "node:fs";
|
|
2
3
|
import { access, mkdtemp, realpath, rm, stat, lstat } from "node:fs/promises";
|
|
3
4
|
import { tmpdir } from "node:os";
|
|
@@ -5,6 +6,8 @@ import { join, relative } from "node:path";
|
|
|
5
6
|
import { Duration, Effect, Layer, Scope, Semaphore } from "effect";
|
|
6
7
|
import { ProjectKeyFerryManager, VarlockError, } from "../contracts.js";
|
|
7
8
|
import { Process, ProcessLive, } from "../services/process.js";
|
|
9
|
+
import { classifyStderr } from "./diagnostics.js";
|
|
10
|
+
import { removeOwnershipRecord, reapStaleOwnershipRecords, writeOwnershipRecord, ownershipFileOps, ownershipDirectory, } from "./ownership.js";
|
|
8
11
|
import { decodeSessionList, findOwnedSession, sanitizeSessionStatus, selectPlaceholderEnvironment, validateProxyWiring, } from "./protocol.js";
|
|
9
12
|
const DEFAULT_COMMAND = ["varlock"];
|
|
10
13
|
const DEFAULT_START_TIMEOUT = 30_000;
|
|
@@ -13,48 +16,88 @@ const DEFAULT_REFRESH_TIMEOUT = 30_000;
|
|
|
13
16
|
const DEFAULT_POLL_INTERVAL = 100;
|
|
14
17
|
const MAX_OUTPUT_BYTES = 2 * 1024 * 1024;
|
|
15
18
|
const MAX_TIMEOUT = 10 * 60_000;
|
|
19
|
+
const DEFAULT_HEALTH_CHECK_INTERVAL = 1_000;
|
|
16
20
|
const defaultFileOps = { mkdtemp, realpath, rm };
|
|
17
|
-
const safeError = (code, retryable) => new VarlockError({
|
|
21
|
+
const safeError = (code, retryable) => new VarlockError({
|
|
22
|
+
code,
|
|
23
|
+
retryable,
|
|
24
|
+
message: code === "ownership_unavailable"
|
|
25
|
+
? "Key Ferry ownership directory is unavailable"
|
|
26
|
+
: `Varlock ${code.replaceAll("_", " ")}`,
|
|
27
|
+
});
|
|
18
28
|
const fromProcessError = (error, code) => new VarlockError({
|
|
19
29
|
code,
|
|
20
30
|
retryable: error.code === "timeout" || error.code === "spawn-failed" || error.code === "io",
|
|
21
31
|
message: error.code === "timeout" ? "Varlock command timed out" : `Varlock command ${error.code}`,
|
|
32
|
+
...(error.stderr
|
|
33
|
+
? {
|
|
34
|
+
stderrTail: classifyStderr(error.stderr).message,
|
|
35
|
+
stderrCode: classifyStderr(error.stderr).code,
|
|
36
|
+
}
|
|
37
|
+
: {}),
|
|
22
38
|
});
|
|
23
39
|
function adapterOptions(options) {
|
|
24
40
|
const raw = options.adapter ?? {};
|
|
25
41
|
const command = raw.command === undefined ? [...DEFAULT_COMMAND] : raw.command;
|
|
26
42
|
const environmentKeys = raw.environmentKeys;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
43
|
+
const [validCommand, validEnvironmentKeys] = validateAdapterArrays(command, environmentKeys);
|
|
44
|
+
const ownershipDirectory = raw.ownershipDirectory;
|
|
45
|
+
validateOwnershipDirectory(ownershipDirectory);
|
|
46
|
+
return {
|
|
47
|
+
command: [...validCommand],
|
|
48
|
+
environmentKeys: [...validEnvironmentKeys],
|
|
49
|
+
startupTimeoutMs: adapterNumber(raw, "startupTimeoutMs", DEFAULT_START_TIMEOUT, 100, MAX_TIMEOUT),
|
|
50
|
+
commandTimeoutMs: adapterNumber(raw, "commandTimeoutMs", DEFAULT_COMMAND_TIMEOUT, 100, MAX_TIMEOUT),
|
|
51
|
+
reloadTimeoutMs: adapterNumber(raw, "reloadTimeoutMs", DEFAULT_REFRESH_TIMEOUT, 100, MAX_TIMEOUT),
|
|
52
|
+
pollIntervalMs: adapterNumber(raw, "pollIntervalMs", DEFAULT_POLL_INTERVAL, 10, 10_000),
|
|
53
|
+
requireStrictEgress: readStrictEgress(raw.requireStrictEgress),
|
|
54
|
+
...(ownershipDirectory === undefined ? {} : { ownershipDirectory }),
|
|
55
|
+
healthCheckIntervalMs: adapterNumber(raw, "healthCheckIntervalMs", DEFAULT_HEALTH_CHECK_INTERVAL, 100, MAX_TIMEOUT),
|
|
56
|
+
...readLifecycleLogger(raw),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function validateAdapterArrays(command, environmentKeys) {
|
|
60
|
+
if (!validCommandArray(command) || !validEnvironmentKeyArray(environmentKeys))
|
|
31
61
|
throw safeError("invalid_config", false);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
62
|
+
return [command, environmentKeys];
|
|
63
|
+
}
|
|
64
|
+
function validateOwnershipDirectory(value) {
|
|
65
|
+
if (value !== undefined && (typeof value !== "string" || value.length === 0))
|
|
36
66
|
throw safeError("invalid_config", false);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
throw safeError("invalid_config", false);
|
|
44
|
-
return value;
|
|
45
|
-
};
|
|
46
|
-
const strict = raw.requireStrictEgress;
|
|
47
|
-
if (strict !== undefined && typeof strict !== "boolean")
|
|
67
|
+
}
|
|
68
|
+
function adapterNumber(raw, name, fallback, min, max) {
|
|
69
|
+
const value = raw[name];
|
|
70
|
+
if (value === undefined)
|
|
71
|
+
return fallback;
|
|
72
|
+
if (!validAdapterNumber(value, min, max))
|
|
48
73
|
throw safeError("invalid_config", false);
|
|
49
|
-
return
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
74
|
+
return value;
|
|
75
|
+
}
|
|
76
|
+
function validAdapterNumber(value, min, max) {
|
|
77
|
+
return typeof value === "number" && Number.isSafeInteger(value) && value >= min && value <= max;
|
|
78
|
+
}
|
|
79
|
+
function readLifecycleLogger(raw) {
|
|
80
|
+
return typeof raw.lifecycleLogger === "function"
|
|
81
|
+
? {
|
|
82
|
+
lifecycleLogger: raw.lifecycleLogger,
|
|
83
|
+
}
|
|
84
|
+
: {};
|
|
85
|
+
}
|
|
86
|
+
function validCommandArray(value) {
|
|
87
|
+
return (Array.isArray(value) &&
|
|
88
|
+
value.length > 0 &&
|
|
89
|
+
value.length <= 32 &&
|
|
90
|
+
value.every((v) => typeof v === "string" && v.length > 0 && v.length <= 1024 && !v.includes("\0")));
|
|
91
|
+
}
|
|
92
|
+
function validEnvironmentKeyArray(value) {
|
|
93
|
+
return (Array.isArray(value) &&
|
|
94
|
+
value.length <= 128 &&
|
|
95
|
+
value.every((v) => typeof v === "string" && /^[A-Za-z_][A-Za-z0-9_]*$/.test(v) && v.length <= 256));
|
|
96
|
+
}
|
|
97
|
+
function readStrictEgress(value) {
|
|
98
|
+
if (value !== undefined && typeof value !== "boolean")
|
|
99
|
+
throw safeError("invalid_config", false);
|
|
100
|
+
return value ?? true;
|
|
58
101
|
}
|
|
59
102
|
function safeProjectDirectory(value) {
|
|
60
103
|
if (typeof value !== "string" ||
|
|
@@ -95,32 +138,48 @@ function parseEnvironmentOutput(raw) {
|
|
|
95
138
|
return result;
|
|
96
139
|
}
|
|
97
140
|
function statusSnapshot(state, projectDirectory) {
|
|
98
|
-
let endpoint;
|
|
99
|
-
if (state.session) {
|
|
100
|
-
try {
|
|
101
|
-
endpoint = validateProxyWiring(state.session.env).proxyUrl;
|
|
102
|
-
}
|
|
103
|
-
catch {
|
|
104
|
-
endpoint = undefined;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
141
|
return {
|
|
108
142
|
phase: state.phase,
|
|
109
143
|
projectDirectory: projectDirectory,
|
|
110
144
|
generation: state.generation,
|
|
145
|
+
...statusOptionalFields(state),
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
function statusOptionalFields(state) {
|
|
149
|
+
return {
|
|
111
150
|
...(state.process ? { pid: state.process.pid } : {}),
|
|
112
|
-
...(
|
|
151
|
+
...(state.session ? { sessionId: state.session.uuid, proxySessionId: state.session.uuid } : {}),
|
|
152
|
+
...statusEndpointField(state),
|
|
113
153
|
...(state.lastRefreshAt ? { lastRefreshAt: state.lastRefreshAt } : {}),
|
|
114
154
|
...(state.error ? { error: state.error } : {}),
|
|
115
155
|
};
|
|
116
156
|
}
|
|
157
|
+
function statusEndpointField(state) {
|
|
158
|
+
if (!state.session)
|
|
159
|
+
return {};
|
|
160
|
+
try {
|
|
161
|
+
return { endpoint: validateProxyWiring(state.session.env).proxyUrl };
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
return {};
|
|
165
|
+
}
|
|
166
|
+
}
|
|
117
167
|
function commandParts(options, args) {
|
|
118
|
-
return {
|
|
168
|
+
return {
|
|
169
|
+
executable: options.command[0],
|
|
170
|
+
args: [...options.command.slice(1), ...args],
|
|
171
|
+
};
|
|
119
172
|
}
|
|
120
173
|
function runCommand(process, options, cwd, args, timeoutMs, environment) {
|
|
121
174
|
const parts = commandParts(options, args);
|
|
122
175
|
return process
|
|
123
|
-
.run({
|
|
176
|
+
.run({
|
|
177
|
+
...parts,
|
|
178
|
+
cwd,
|
|
179
|
+
env: environment,
|
|
180
|
+
maxBytes: MAX_OUTPUT_BYTES,
|
|
181
|
+
timeoutMs,
|
|
182
|
+
})
|
|
124
183
|
.pipe(Effect.mapError((error) => fromProcessError(error, error.code === "timeout" ? "timeout" : "unavailable")), Effect.map(({ stdout, stderr }) => ({ stdout, stderr })));
|
|
125
184
|
}
|
|
126
185
|
function candidatesForOwner(records, pid, cwd) {
|
|
@@ -136,7 +195,17 @@ function prepareStart(state, healthCheck, snapshot) {
|
|
|
136
195
|
return Effect.fail(safeError("disposed", false));
|
|
137
196
|
if (!state.process || !state.session)
|
|
138
197
|
return Effect.succeed(undefined);
|
|
139
|
-
return healthCheck().pipe(Effect.
|
|
198
|
+
return healthCheck(true).pipe(Effect.flatMap(() => prepareExistingStart(state, snapshot)));
|
|
199
|
+
}
|
|
200
|
+
function prepareExistingStart(state, snapshot) {
|
|
201
|
+
if (!state.process || !state.session)
|
|
202
|
+
return Effect.succeed(undefined);
|
|
203
|
+
if (state.phase === "ready")
|
|
204
|
+
return Effect.succeed(snapshot());
|
|
205
|
+
return Effect.fail(startFailure(state.error));
|
|
206
|
+
}
|
|
207
|
+
function startFailure(error) {
|
|
208
|
+
return error ?? safeError("not_ready", true);
|
|
140
209
|
}
|
|
141
210
|
function requireRefreshSession(state) {
|
|
142
211
|
if (!state.process || !state.session)
|
|
@@ -180,13 +249,10 @@ function validateRefreshCapability(state, session, requireStrictEgress, healthCh
|
|
|
180
249
|
}
|
|
181
250
|
});
|
|
182
251
|
}
|
|
183
|
-
function validateStartupEgress(state, requireStrictEgress, session,
|
|
252
|
+
function validateStartupEgress(state, requireStrictEgress, session, _handle) {
|
|
184
253
|
if (!requireStrictEgress || session.egressMode === "strict")
|
|
185
254
|
return Effect.void;
|
|
186
|
-
|
|
187
|
-
return handle.stop.pipe(Effect.catch(() => Effect.void), Effect.tap(() => Effect.sync(() => {
|
|
188
|
-
state.process = undefined;
|
|
189
|
-
})), Effect.flatMap(() => Effect.fail(error)));
|
|
255
|
+
return Effect.fail(safeError("invalid_config", false));
|
|
190
256
|
}
|
|
191
257
|
function assertRegularCertificate(pathInfo) {
|
|
192
258
|
if (!pathInfo.isFile() || pathInfo.isSymbolicLink())
|
|
@@ -216,6 +282,8 @@ export function makeProjectKeyFerryManager(options, processLayer = ProcessLive,
|
|
|
216
282
|
// released, rather than being released at the end of ensureStarted.
|
|
217
283
|
const managerScope = yield* Scope.Scope;
|
|
218
284
|
const config = adapterOptions(options);
|
|
285
|
+
// Stale cleanup is bounded, idempotent, and never gates MCP startup.
|
|
286
|
+
yield* Effect.promise(() => reapStaleOwnershipRecords(config.command, ownershipFileOps(config.ownershipDirectory ?? ownershipDirectory()))).pipe(Effect.forkDetach, Effect.asVoid);
|
|
219
287
|
const requestedCwd = safeProjectDirectory(options.projectDirectory);
|
|
220
288
|
const cwd = yield* Effect.tryPromise({
|
|
221
289
|
try: async () => {
|
|
@@ -237,25 +305,101 @@ export function makeProjectKeyFerryManager(options, processLayer = ProcessLive,
|
|
|
237
305
|
let certDirectoryReal;
|
|
238
306
|
const ownedCertDirectories = new Set();
|
|
239
307
|
const lock = yield* Semaphore.make(1);
|
|
240
|
-
const state = {
|
|
308
|
+
const state = {
|
|
309
|
+
phase: "stopped",
|
|
310
|
+
generation: 0,
|
|
311
|
+
disposed: false,
|
|
312
|
+
};
|
|
313
|
+
let ownershipHash = createHash("sha256").update(cwd).digest("hex");
|
|
314
|
+
const ownershipRecord = (session, pid, _command) => Effect.tryPromise({
|
|
315
|
+
try: async () => {
|
|
316
|
+
const starterStartTime = processService.startTime
|
|
317
|
+
? await Effect.runPromise(processService.startTime(pid))
|
|
318
|
+
: undefined;
|
|
319
|
+
await writeOwnershipRecord({
|
|
320
|
+
brokerKeyHash: (ownershipHash = createHash("sha256")
|
|
321
|
+
.update(`${cwd}\0${session.uuid}`)
|
|
322
|
+
.digest("hex")),
|
|
323
|
+
version: 2,
|
|
324
|
+
sessionUuid: session.uuid,
|
|
325
|
+
starterPid: pid,
|
|
326
|
+
...(starterStartTime ? { starterStartTime } : {}),
|
|
327
|
+
cwd,
|
|
328
|
+
created: new Date().toISOString(),
|
|
329
|
+
}, ownershipFileOps(config.ownershipDirectory ?? ownershipDirectory()));
|
|
330
|
+
},
|
|
331
|
+
catch: () => safeError("ownership_unavailable", false),
|
|
332
|
+
});
|
|
241
333
|
const clearCapability = (phase, error) => {
|
|
242
334
|
state.phase = phase;
|
|
243
335
|
state.environment = undefined;
|
|
244
|
-
state.session = undefined;
|
|
245
336
|
state.error = error;
|
|
246
337
|
state.generation += 1;
|
|
247
338
|
};
|
|
248
|
-
|
|
249
|
-
|
|
339
|
+
let lastHealthCheckAt = 0;
|
|
340
|
+
const healthCheck = (force = false) => {
|
|
341
|
+
if (!state.process || !state.session)
|
|
250
342
|
return Effect.void;
|
|
251
|
-
|
|
252
|
-
if (health.running)
|
|
253
|
-
return Effect.void;
|
|
254
|
-
clearCapability("degraded", safeError("unavailable", true));
|
|
343
|
+
if (!force && Date.now() - lastHealthCheckAt < config.healthCheckIntervalMs)
|
|
255
344
|
return Effect.void;
|
|
256
|
-
|
|
345
|
+
lastHealthCheckAt = Date.now();
|
|
346
|
+
const old = state.session;
|
|
347
|
+
const oldHandle = state.process;
|
|
348
|
+
return runCommand(processService, config, cwd, ["proxy", "status", "--format", "json"], config.commandTimeoutMs, ambientEnvironment).pipe(
|
|
349
|
+
// A failed status query is unknown, not evidence that the proxy died.
|
|
350
|
+
Effect.flatMap(({ stdout }) => Effect.try({
|
|
351
|
+
try: () => decodeSessionList(stdout),
|
|
352
|
+
catch: () => undefined,
|
|
353
|
+
})), Effect.flatMap((records) => {
|
|
354
|
+
if (!records)
|
|
355
|
+
return Effect.void;
|
|
356
|
+
return oldHandle.health.pipe(Effect.flatMap((health) => {
|
|
357
|
+
const failedStarter = !health.running &&
|
|
358
|
+
health.exit !== undefined &&
|
|
359
|
+
(health.exit.code !== 0 || health.exit.signal !== null);
|
|
360
|
+
const active = records.some((item) => item.uuid === old.uuid && item.endedAt === undefined);
|
|
361
|
+
if (active && !failedStarter)
|
|
362
|
+
return Effect.void;
|
|
363
|
+
return stopCapturedSession(old).pipe(Effect.tap((stopped) => oldHandle.stop.pipe(Effect.catch(() => Effect.void)).pipe(Effect.andThen(Effect.sync(() => {
|
|
364
|
+
if (stopped) {
|
|
365
|
+
state.process = undefined;
|
|
366
|
+
clearCapability("degraded", safeError("unavailable", true));
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
state.phase = "degraded";
|
|
370
|
+
state.error = safeError("unavailable", true);
|
|
371
|
+
}
|
|
372
|
+
})))), Effect.asVoid);
|
|
373
|
+
}));
|
|
374
|
+
}), Effect.catch(() => Effect.void));
|
|
257
375
|
};
|
|
258
376
|
const status = Effect.suspend(() => healthCheck()).pipe(Effect.asVoid, Effect.map(() => statusSnapshot(state, cwd)));
|
|
377
|
+
// `proxy start` is a daemon command: the CLI process we spawn may hand
|
|
378
|
+
// the listener to a longer-lived session process. Always use Varlock's
|
|
379
|
+
// session protocol first, then reap our owned process group as a bounded
|
|
380
|
+
// fallback. The command is deliberately best-effort during teardown.
|
|
381
|
+
const stopProxy = (session) => session
|
|
382
|
+
? runCommand(processService, config, cwd, ["proxy", "stop", "--session", session.uuid], config.commandTimeoutMs, ambientEnvironment).pipe(Effect.as(true), Effect.catch(() => Effect.sync(() => {
|
|
383
|
+
config.lifecycleLogger?.({
|
|
384
|
+
event: "stop-failed",
|
|
385
|
+
proxySessionId: session.uuid,
|
|
386
|
+
});
|
|
387
|
+
return false;
|
|
388
|
+
})))
|
|
389
|
+
: Effect.succeed(true);
|
|
390
|
+
const stopCapturedSession = (session = state.session) => stopProxy(session).pipe(Effect.tap((stopped) => stopped
|
|
391
|
+
? Effect.tryPromise({
|
|
392
|
+
try: () => removeOwnershipRecord(ownershipHash, ownershipFileOps(config.ownershipDirectory ?? ownershipDirectory())),
|
|
393
|
+
catch: () => undefined,
|
|
394
|
+
}).pipe(Effect.catch(() => Effect.void), Effect.andThen(Effect.sync(() => {
|
|
395
|
+
if (state.session?.uuid === session?.uuid)
|
|
396
|
+
state.session = undefined;
|
|
397
|
+
})))
|
|
398
|
+
: Effect.void));
|
|
399
|
+
const cleanupUncapturedSessions = (handle) => runCommand(processService, config, cwd, ["proxy", "status", "--format", "json"], config.commandTimeoutMs, ambientEnvironment).pipe(Effect.flatMap(({ stdout }) => Effect.try({
|
|
400
|
+
try: () => decodeSessionList(stdout),
|
|
401
|
+
catch: () => [],
|
|
402
|
+
})), Effect.flatMap((records) => Effect.forEach(records.filter((record) => record.ownerPid === handle.pid && record.cwd === cwd), (record) => stopProxy(record), { discard: true })), Effect.catch(() => Effect.void));
|
|
259
403
|
const waitForSession = (handle) => {
|
|
260
404
|
const deadline = Date.now() + config.startupTimeoutMs;
|
|
261
405
|
const poll = () => Effect.gen(function* () {
|
|
@@ -331,10 +475,11 @@ export function makeProjectKeyFerryManager(options, processLayer = ProcessLive,
|
|
|
331
475
|
return { directory, canonical };
|
|
332
476
|
}));
|
|
333
477
|
const interruptedStartCleanup = (handle, directory) => Effect.uninterruptible(Effect.gen(function* () {
|
|
334
|
-
|
|
478
|
+
yield* stopCapturedSession();
|
|
479
|
+
if (handle) {
|
|
335
480
|
yield* handle.stop.pipe(Effect.catch(() => Effect.void));
|
|
481
|
+
}
|
|
336
482
|
state.process = undefined;
|
|
337
|
-
state.session = undefined;
|
|
338
483
|
state.environment = undefined;
|
|
339
484
|
clearCapability("failed", safeError("timeout", true));
|
|
340
485
|
if (directory) {
|
|
@@ -369,25 +514,59 @@ export function makeProjectKeyFerryManager(options, processLayer = ProcessLive,
|
|
|
369
514
|
certDirectory,
|
|
370
515
|
]);
|
|
371
516
|
const handle = yield* Effect.provideService(processService
|
|
372
|
-
.spawn({
|
|
517
|
+
.spawn({
|
|
518
|
+
...parts,
|
|
519
|
+
cwd,
|
|
520
|
+
env: ambientEnvironment,
|
|
521
|
+
terminateGraceMs: 500,
|
|
522
|
+
})
|
|
373
523
|
.pipe(Effect.mapError((error) => fromProcessError(error, "start_failed"))), Scope.Scope, managerScope);
|
|
374
524
|
acquired = handle;
|
|
375
525
|
state.process = handle;
|
|
376
|
-
|
|
526
|
+
let startedSession;
|
|
527
|
+
const result = yield* waitForSession(handle).pipe(Effect.flatMap((session) => Effect.gen(function* () {
|
|
528
|
+
startedSession = session;
|
|
529
|
+
// Capture is the ownership boundary: publish before any
|
|
530
|
+
// environment or policy work can fail.
|
|
531
|
+
state.session = session;
|
|
532
|
+
yield* ownershipRecord(session, handle.pid, [config.command[0], ...parts.args]);
|
|
533
|
+
const environment = yield* readEnvironment(session);
|
|
534
|
+
yield* validateStartupEgress(state, config.requireStrictEgress, session, handle);
|
|
535
|
+
return { session, environment };
|
|
536
|
+
})), Effect.catch((error) => Effect.gen(function* () {
|
|
537
|
+
const captured = startedSession;
|
|
538
|
+
let stopped = true;
|
|
539
|
+
if (captured) {
|
|
540
|
+
stopped = yield* stopCapturedSession(captured);
|
|
541
|
+
}
|
|
542
|
+
else
|
|
543
|
+
yield* cleanupUncapturedSessions(handle);
|
|
377
544
|
yield* handle.stop.pipe(Effect.catch(() => Effect.void));
|
|
378
|
-
|
|
545
|
+
if (stopped) {
|
|
546
|
+
state.process = undefined;
|
|
547
|
+
}
|
|
548
|
+
else {
|
|
549
|
+
state.phase = "failed";
|
|
550
|
+
state.error = error;
|
|
551
|
+
}
|
|
379
552
|
return yield* Effect.fail(error);
|
|
380
553
|
})));
|
|
381
|
-
yield* validateStartupEgress(state, config.requireStrictEgress, result.session, handle);
|
|
382
554
|
state.session = result.session;
|
|
383
555
|
state.environment = result.environment;
|
|
384
556
|
state.phase = "ready";
|
|
385
557
|
state.error = undefined;
|
|
386
558
|
return statusSnapshot(state, cwd);
|
|
387
559
|
}).pipe(Effect.catch((error) => Effect.gen(function* () {
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
560
|
+
const failure = error ?? safeError("start_failed", true);
|
|
561
|
+
if (failure.code !== "disposed") {
|
|
562
|
+
// A failed post-capture stop must retain the session so the
|
|
563
|
+
// finalizer can retry the exact UUID without deleting its record.
|
|
564
|
+
if (state.phase === "failed" && state.session)
|
|
565
|
+
state.error = failure;
|
|
566
|
+
else
|
|
567
|
+
clearCapability("failed", failure);
|
|
568
|
+
}
|
|
569
|
+
return yield* Effect.fail(failure);
|
|
391
570
|
})), Effect.onInterrupt(() => interruptedStartCleanup(acquired, cleanupDirectory)));
|
|
392
571
|
});
|
|
393
572
|
// Do not attach ownership cleanup until preflight has completed: a
|
|
@@ -407,7 +586,10 @@ export function makeProjectKeyFerryManager(options, processLayer = ProcessLive,
|
|
|
407
586
|
}
|
|
408
587
|
if (!state.environment)
|
|
409
588
|
return yield* Effect.fail(safeError("not_ready", true));
|
|
410
|
-
return {
|
|
589
|
+
return {
|
|
590
|
+
status: statusSnapshot(state, cwd),
|
|
591
|
+
environment: state.environment,
|
|
592
|
+
};
|
|
411
593
|
}));
|
|
412
594
|
const environmentEffect = exclusive(Effect.gen(function* () {
|
|
413
595
|
yield* healthCheck();
|
|
@@ -420,7 +602,11 @@ export function makeProjectKeyFerryManager(options, processLayer = ProcessLive,
|
|
|
420
602
|
return state.environment;
|
|
421
603
|
}));
|
|
422
604
|
const refreshInternal = Effect.gen(function* () {
|
|
423
|
-
yield* ensureRefreshReadiness({
|
|
605
|
+
yield* ensureRefreshReadiness({
|
|
606
|
+
state,
|
|
607
|
+
healthCheck,
|
|
608
|
+
start: startInternal,
|
|
609
|
+
});
|
|
424
610
|
const session = yield* requireRefreshSession(state);
|
|
425
611
|
const reload = runCommand(processService, config, cwd, ["proxy", "reload", "--session", session.uuid], config.reloadTimeoutMs, ambientEnvironment).pipe(Effect.mapError((error) => new VarlockError({
|
|
426
612
|
...error,
|
|
@@ -442,8 +628,10 @@ export function makeProjectKeyFerryManager(options, processLayer = ProcessLive,
|
|
|
442
628
|
}).pipe(Effect.catch((error) => Effect.gen(function* () {
|
|
443
629
|
if (error.code !== "disposed") {
|
|
444
630
|
const handle = state.process;
|
|
445
|
-
|
|
631
|
+
yield* stopCapturedSession();
|
|
632
|
+
if (handle) {
|
|
446
633
|
yield* handle.stop.pipe(Effect.catch(() => Effect.void));
|
|
634
|
+
}
|
|
447
635
|
state.process = undefined;
|
|
448
636
|
clearCapability("failed", error.code === "refresh_failed" ? error : safeError("refresh_failed", true));
|
|
449
637
|
}
|
|
@@ -458,15 +646,18 @@ export function makeProjectKeyFerryManager(options, processLayer = ProcessLive,
|
|
|
458
646
|
return { status, environment: state.environment };
|
|
459
647
|
}));
|
|
460
648
|
const dispose = lock.withPermit(Effect.gen(function* () {
|
|
461
|
-
if (state.disposed)
|
|
649
|
+
if (state.disposed && !state.session)
|
|
462
650
|
return;
|
|
463
651
|
state.disposed = true;
|
|
464
652
|
state.phase = "stopping";
|
|
465
653
|
const handle = state.process;
|
|
654
|
+
const stopped = yield* stopCapturedSession();
|
|
655
|
+
if (!stopped)
|
|
656
|
+
return;
|
|
466
657
|
state.environment = undefined;
|
|
467
|
-
|
|
468
|
-
if (handle)
|
|
658
|
+
if (handle) {
|
|
469
659
|
yield* handle.stop.pipe(Effect.catch(() => Effect.void));
|
|
660
|
+
}
|
|
470
661
|
state.process = undefined;
|
|
471
662
|
state.phase = "stopped";
|
|
472
663
|
state.generation += 1;
|
|
@@ -481,7 +672,9 @@ export function makeProjectKeyFerryManager(options, processLayer = ProcessLive,
|
|
|
481
672
|
dispose,
|
|
482
673
|
withExclusive: (effect) => lock.withPermit(effect),
|
|
483
674
|
};
|
|
484
|
-
yield* Effect.addFinalizer(() => Effect.forEach([...ownedCertDirectories], removeOwnedDirectory, {
|
|
675
|
+
yield* Effect.addFinalizer(() => Effect.forEach([...ownedCertDirectories], removeOwnedDirectory, {
|
|
676
|
+
discard: true,
|
|
677
|
+
}));
|
|
485
678
|
// Finalizers run in reverse registration order, so stop the sidecar
|
|
486
679
|
// before removing the directory that contains its CA.
|
|
487
680
|
yield* Effect.addFinalizer(() => dispose);
|