instar 1.3.583 → 1.3.584
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +13 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/PlaywrightProfileRegistry.d.ts +269 -0
- package/dist/core/PlaywrightProfileRegistry.d.ts.map +1 -0
- package/dist/core/PlaywrightProfileRegistry.js +640 -0
- package/dist/core/PlaywrightProfileRegistry.js.map +1 -0
- package/dist/core/PostUpdateMigrator.d.ts +21 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +195 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +6 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/types.d.ts +13 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +8 -1
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts +8 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +341 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +63 -63
- package/src/scaffold/templates.ts +9 -1
- package/upgrades/1.3.584.md +84 -0
- package/upgrades/side-effects/playwright-profile-registry.md +140 -0
- package/upgrades/1.3.583.md +0 -51
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaywrightProfileRegistry.js","sourceRoot":"","sources":["../../src/core/PlaywrightProfileRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,uFAAuF;AACvF,yEAAyE;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAsH1D,0FAA0F;AAC1F,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED,yFAAyF;AACzF,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACvC,MAAM,CAAS;IACxB,YAAY,OAAe,EAAE,MAAM,GAAG,GAAG;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,MAAM,aAAa,GAAqC;IACtD,gBAAgB;IAChB,UAAU;IACV,eAAe;IACf,oBAAoB;IACpB,aAAa;IACb,SAAS;CACV,CAAC;AAEF,MAAM,OAAO,yBAAyB;IACnB,QAAQ,CAAS;IACjB,UAAU,CAAS;IACnB,cAAc,CAAwB;IACtC,QAAQ,CAAS;IAElC,YAAY,IAAsC;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IACjD,CAAC;IAED,0CAA0C;IAC1C,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,gFAAgF;IAEhF;;;;;;OAMG;IACH,0BAA0B;QACxB,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;SACxC,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACnC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,qGAAqG;gBACrG,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAI,MAAmD,EAAE,UAAU,CAAC;YACpF,MAAM,KAAK,GAAG,UAAU,EAAE,UAAU,CAAC;YACrC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBACxB,KAAK,EAAE,KAAgC;oBACvC,WAAW,EAAE,kBAAkB,CAAE,KAA4B,CAAC,IAAI,CAAC;iBACpE,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gFAAgF;IAEhF;;;;;OAKG;IACK,IAAI;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,8BAA8B,CAAC,6BAA8B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,8BAA8B,CAAC,4CAA4C,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,MAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/F,MAAM,IAAI,8BAA8B,CAAC,4CAA4C,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,MAAsB,CAAC;IAChC,CAAC;IAED,8FAA8F;IACtF,YAAY;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACnD,iFAAiF;QACjF,sFAAsF;QACtF,MAAM,WAAW,GAAG,QAAQ,EAAE,WAAW,IAAI,IAAI,CAAC;QAClD,OAAO;YACL,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE;gBACR;oBACE,EAAE,EAAE,SAAS;oBACb,WAAW;oBACX,WAAW,EAAE,0BAA0B;oBACvC,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,QAAQ,EAAE,EAAE;iBACb;aACF;SACF,CAAC;IACJ,CAAC;IAED,qGAAqG;IACrG,YAAY;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,oEAAoE;YACpE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,KAAmB;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAClG,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7D,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,gFAAgF;IAEhF;;;;;;;OAOG;IACH,MAAM,CAAI,EAA8D;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,OAAO,IAAI,sBAAsB,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,gFAAgF;YAChF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YAEnC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnE,qFAAqF;gBACrF,OAAO,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,uBAAuB,CAC/B,8EAA8E,EAC9E,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,iFAAiF;IAEjF,gGAAgG;IAChG,YAAY;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,CAAC;YACJ,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;YACxC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,GAAG,CAAC;gBACJ,YAAY,EACV,SAAS,KAAK,IAAI;oBAChB,CAAC,CAAC,EAAE,CAAC,iFAAiF;oBACtF,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACxD,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAe,EAAE,QAAiB;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAE5B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACnE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACtC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,IAAI,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,CAC/D,CAAC;YACF,IAAI,KAAK;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACnF,+BAA+B;QACjC,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3F,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1F,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC/E,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,mFAAmF;IAEnF,aAAa,CAAC,KAAwE;QACpF,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,uBAAuB,CAAC,kCAAkC,aAAa,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;QACnF,8BAA8B;QAC9B,MAAM,WAAW,GACf,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI;YAC3D,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC,MAAM,CAAoB,CAAC,KAAK,EAAE,EAAE;YAC9C,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,uBAAuB,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;gBAC1C,MAAM,IAAI,uBAAuB,CAAC,eAAe,YAAY,UAAU,EAAE,GAAG,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,OAAO,GAAsB;gBACjC,EAAE;gBACF,WAAW;gBACX,WAAW;gBACX,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,QAAQ,EAAE,EAAE;aACb,CAAC;YACF,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CACX,SAAiB,EACjB,KAOC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,uBAAuB,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,uBAAuB,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAC9E,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC1D,MAAM,IAAI,uBAAuB,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,WAAW,GAA0B,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAoC,CAAC;YAC3G,CAAC,CAAE,KAAK,CAAC,WAAqC;YAC9C,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9F,mEAAmE;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,uBAAuB,CAC/B,6EAA6E,EAC7E,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,uBAAuB,CAAC,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAoB,CAAC,KAAK,EAAE,EAAE;YAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,uBAAuB,CAAC,YAAY,SAAS,aAAa,EAAE,GAAG,CAAC,CAAC;YAEzF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YAChG,MAAM,OAAO,GAAsB;gBACjC,OAAO;gBACP,QAAQ;gBACR,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS;gBACT,WAAW;gBACX,YAAY,EAAE,QAAQ,EAAE,YAAY,IAAI,KAAK;gBAC7C,cAAc,EAAE,QAAQ,EAAE,cAAc,IAAI,IAAI;gBAChD,IAAI;aACL,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,wDAAwD;gBACxD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,wBAAwB,EAAE,CAAC;oBACxD,MAAM,IAAI,uBAAuB,CAAC,yBAAyB,wBAAwB,UAAU,EAAE,GAAG,CAAC,CAAC;gBACtG,CAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CACV,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,KAAgF;QAEhF,OAAO,IAAI,CAAC,MAAM,CAAoB,CAAC,KAAK,EAAE,EAAE;YAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,uBAAuB,CAAC,YAAY,SAAS,aAAa,EAAE,GAAG,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YAC/F,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,uBAAuB,CAAC,YAAY,OAAO,KAAK,QAAQ,aAAa,EAAE,GAAG,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;gBAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;YAClF,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACvC,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACxF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,SAAiB;QAC7B,IAAI,CAAC,MAAM,CAAO,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,uBAAuB,CAAC,YAAY,SAAS,aAAa,EAAE,GAAG,CAAC,CAAC;YACzF,IAAI,OAAO,CAAC,SAAS;gBAAE,MAAM,IAAI,uBAAuB,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;YACnG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAClE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,SAAiB,EAAE,OAAe,EAAE,QAAgB;QAChE,IAAI,CAAC,MAAM,CAAO,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,uBAAuB,CAAC,YAAY,SAAS,aAAa,EAAE,GAAG,CAAC,CAAC;YACzF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAC3D,CAAC;YACF,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACvC,MAAM,IAAI,uBAAuB,CAAC,YAAY,OAAO,KAAK,QAAQ,aAAa,EAAE,GAAG,CAAC,CAAC;YACxF,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mFAAmF;IAEnF;;;;;OAKG;IACH,iBAAiB,CAAC,SAAiB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,uBAAuB,CAAC,YAAY,SAAS,aAAa,EAAE,GAAG,CAAC,CAAC;QAEzF,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,uBAAuB,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAE,QAAQ,CAAC,KAA4B,CAAC,IAAI,CAAC;YAC5E,CAAC,CAAC,CAAE,QAAQ,CAAC,KAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,mBAAmB;QACvD,MAAM,YAAY,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,YAAY,KAAK,MAAM,CAAC;QAE9C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAE1D,OAAO;YACL,SAAS;YACT,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ;YACR,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACjC,aAAa;SACd,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,IAA8B;QAC5C,IAAI,MAAgD,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAA6C,CAAC;QACtG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,uBAAuB,CAAC,wCAAyC,GAAa,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC3E,MAAM,IAAI,uBAAuB,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;QACtF,CAAC;QACA,MAAM,CAAC,UAAU,CAAC,UAAiC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAChE,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9D,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,mFAAmF;IAEnF;;;;;;;OAOG;IACH,wBAAwB,CAAC,WAAmB,uBAAuB,EAAE,OAA2B,EAAE;QAIhG,IAAI,KAAmB,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,qGAAqG;YACrG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAEtE,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS;gBAAE,OAAO,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS;gBAAE,OAAO,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG;YACb,4CAA4C,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI;YACnF,+EAA+E;YAC/E,uFAAuF;YACvF,wFAAwF;YACxF,sGAAsG;YACtG,EAAE;SACH,CAAC;QACF,MAAM,MAAM,GAAG;YACb,uGAAuG;YACvG,wBAAwB;SACzB,CAAC;QAEF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAClC,CAAC;QAED,sFAAsF;QACtF,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;QAChC,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC;YAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1C,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,MAAM,MAAM,mCAAmC,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,QAAQ,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC7C,CAAC;YACD,KAAK,EAAE,CAAC;QACV,CAAC;QACD,2EAA2E;QAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACrE,CAAC;IAED,qEAAqE;IAC7D,iBAAiB,CAAC,CAAoB;QAC5C,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;YAC3D,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7F,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACpD,OAAO,GAAG,GAAG,IAAI,EAAE,KAAK,SAAS,MAAM,SAAS,GAAG,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC/F,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,CAAC;IAED,mFAAmF;IAEnF,qFAAqF;IAC7E,cAAc;QACpB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,2GAA2G;YAC3G,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,0FAA0F;IAClF,SAAS,CAAC,WAA0B;QAC1C,IAAI,WAAW,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,0FAA0F;IAClF,eAAe,CAAC,EAAU;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,KAAa;QACnC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,uBAAuB,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,uBAAuB,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,uBAAuB,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;QAC/F,IAAI,QAAQ,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,uBAAuB,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,kFAAkF;AAElF,2HAA2H;AAC3H,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,QAAgB;IAC5D,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACnB,4CAA4C;SAC3C,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;QACxC,4CAA4C;SAC3C,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC;SACtC,IAAI,EAAE,CAAC;IACV,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ;QAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,eAAe,CAAC,cAA6B;IAC3D,IAAI,CAAC,cAAc;QAAE,OAAO,YAAY,CAAC;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAClE,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IACnC,OAAO,QAAQ,IAAI,OAAO,CAAC;AAC7B,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAc,EAAE,MAAqB;IACvE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,EAAE,CAAC;YAClC,CAAC,EAAE,CAAC,CAAC,uCAAuC;YAC5C,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oFAAoF;AACpF,SAAS,OAAO,CAAC,IAAY;IAC3B,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,uGAAuG;QACvG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjC,CAAC;AACH,CAAC"}
|
|
@@ -19,6 +19,14 @@
|
|
|
19
19
|
* - Scripts are installed only if missing (never overwrite user modifications)
|
|
20
20
|
*/
|
|
21
21
|
import { type MigratorStep, type RunPendingStepsResult } from './MigratorStepEngine.js';
|
|
22
|
+
/**
|
|
23
|
+
* The "Playwright Profile Registry" CLAUDE.md awareness section. SHARED by
|
|
24
|
+
* `generateClaudeMd` (new installs) and `migrateClaudeMd` (existing agents) so the
|
|
25
|
+
* two can never drift (Agent Awareness + Migration Parity). Uses the `${port}`
|
|
26
|
+
* template var — NEVER a hardcoded port. Content-sniff marker: 'Playwright Profile
|
|
27
|
+
* Registry'. Spec: docs/specs/playwright-profile-registry.md.
|
|
28
|
+
*/
|
|
29
|
+
export declare function PLAYWRIGHT_PROFILE_REGISTRY_CLAUDEMD_SECTION(port: number): string;
|
|
22
30
|
export interface MigrationResult {
|
|
23
31
|
/** What was upgraded */
|
|
24
32
|
upgraded: string[];
|
|
@@ -75,6 +83,18 @@ export declare function migrateConfigWs44PoolCache(config: Record<string, unknow
|
|
|
75
83
|
* write-safety canary). Idempotent.
|
|
76
84
|
*/
|
|
77
85
|
export declare function migrateConfigCredentialRepointingDevGate(config: Record<string, unknown>): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* The Playwright profile registry is a developmentAgent dark-feature: `enabled` is
|
|
88
|
+
* OMITTED from ConfigDefaults so resolveDevAgentGate resolves it (live on dev, dark
|
|
89
|
+
* on the fleet); the destructive `activate` write is gated by the SEPARATE
|
|
90
|
+
* `dryRun:true`. An existing agent that somehow carries a default-shaped literal
|
|
91
|
+
* `playwrightRegistry.enabled: false` would force-dark even a dev agent (the #1001
|
|
92
|
+
* mechanism) — strip a default-shaped `false` so the gate resolves, mirroring the
|
|
93
|
+
* credentialRepointing strip. An explicit `true` (operator fleet-flip) is preserved;
|
|
94
|
+
* the separate `dryRun` field is left untouched (it stays the write-safety canary).
|
|
95
|
+
* Idempotent + existence-checked.
|
|
96
|
+
*/
|
|
97
|
+
export declare function migrateConfigPlaywrightRegistryDevGate(config: Record<string, unknown>): boolean;
|
|
78
98
|
/**
|
|
79
99
|
* "Self-Unblock Before Escalating" (docs/specs/self-unblock-before-escalating.md):
|
|
80
100
|
* the two nested blockerLedger sub-features — selfUnblockChecklist + durableVaultSession
|
|
@@ -196,6 +216,7 @@ export declare class PostUpdateMigrator {
|
|
|
196
216
|
migrate(): MigrationResult;
|
|
197
217
|
private migrateConformanceGateAutoInvoke;
|
|
198
218
|
private migrateCommitmentOwnerBackfill;
|
|
219
|
+
private migratePlaywrightProfilesSeed;
|
|
199
220
|
private migrateMultiMachinePostureReviewDimension;
|
|
200
221
|
private migrateCartographerDevGate;
|
|
201
222
|
private migrateDevGateTeethStrip;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ import { randomUUID } from 'node:crypto';
|
|
|
43
43
|
import { ELIGIBILITY_SCHEMA_SQL, ELIGIBILITY_SCHEMA_SQL_SHA256, PUSH_GATE_SH, PUSH_GATE_SH_SHA256, INSTAR_PR_GATE_WORKFLOW_YML, INSTAR_PR_GATE_WORKFLOW_YML_SHA256, PR_GATE_SETUP_MD, PR_GATE_SETUP_MD_SHA256, } from '../data/pr-gate-artifacts.js';
|
|
44
44
|
import { SafeFsExecutor } from './SafeFsExecutor.js';
|
|
45
45
|
import { SubscriptionPool } from './SubscriptionPool.js';
|
|
46
|
+
import { PlaywrightProfileRegistry } from './PlaywrightProfileRegistry.js';
|
|
46
47
|
import { ensureInteractiveReady } from './ensureInteractiveReady.js';
|
|
47
48
|
import { installCodexHooks } from './installCodexHooks.js';
|
|
48
49
|
import { armCodexHooks, makeTmuxTrustDriver } from './codexHookArm.js';
|
|
@@ -50,6 +51,28 @@ import { detectCodexPath, detectTmuxPath } from './Config.js';
|
|
|
50
51
|
import { DegradationReporter } from '../monitoring/DegradationReporter.js';
|
|
51
52
|
import { MigratorStepEngine, } from './MigratorStepEngine.js';
|
|
52
53
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
54
|
+
/**
|
|
55
|
+
* The "Playwright Profile Registry" CLAUDE.md awareness section. SHARED by
|
|
56
|
+
* `generateClaudeMd` (new installs) and `migrateClaudeMd` (existing agents) so the
|
|
57
|
+
* two can never drift (Agent Awareness + Migration Parity). Uses the `${port}`
|
|
58
|
+
* template var — NEVER a hardcoded port. Content-sniff marker: 'Playwright Profile
|
|
59
|
+
* Registry'. Spec: docs/specs/playwright-profile-registry.md.
|
|
60
|
+
*/
|
|
61
|
+
export function PLAYWRIGHT_PROFILE_REGISTRY_CLAUDEMD_SECTION(port) {
|
|
62
|
+
return `\n### Playwright Profile Registry (which browser profile holds which account)
|
|
63
|
+
|
|
64
|
+
A durable per-agent registry mapping each Playwright browser **profile** (a physical user-data-dir on THIS machine) to the **accounts** it is logged into — by vault-secret NAME only, NEVER values. It is the structured answer to "what browser access do I actually have, and as whom?", replacing the scattered, stale operationalFacts that left me asking the operator to act instead of self-unblocking. Machine-local by design (a logged-in session lives in cookies on one disk). Dev-gated: the routes 503 on the fleet; the boot block injects nothing there.
|
|
65
|
+
- **List profiles + accounts** (the FULL detail — identities, owner, vault key NAMES, loginMethod, last-asserted/verified, dangling-ref flags; never values): \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/playwright-profiles\`
|
|
66
|
+
- **The compact boot pointer** (also injected at session start): \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/playwright-profiles/session-context\`
|
|
67
|
+
- **Create a custom profile**: \`curl -X POST -H "Authorization: Bearer $AUTH" http://localhost:${port}/playwright-profiles -H 'Content-Type: application/json' -d '{"id":"justin-google","description":"..."}'\` (userDataDir auto-allocated under the agent home, or supply an absolute path jailed to it).
|
|
68
|
+
- **Assign an account to a profile**: \`curl -X POST -H "Authorization: Bearer $AUTH" http://localhost:${port}/playwright-profiles/default/accounts -H 'Content-Type: application/json' -d '{"service":"github","identity":"EchoOfDawn","owner":"agent","vaultRefs":["github_token"],"loginMethod":"oauth-token"}'\` (\`owner\` REQUIRED — \`agent\`|\`operator\`; refs validated against the live vault, fails CLOSED).
|
|
69
|
+
- **Pick the right profile for a task**: \`curl -H "Authorization: Bearer $AUTH" "http://localhost:${port}/playwright-profiles/resolve?service=github&identity=EchoOfDawn"\` → the owning profile + \`dirExists\`; an ambiguous service-only match returns \`{ambiguous:true, candidates}\` (disambiguate by identity — never silently pick a privileged account).
|
|
70
|
+
- **Switch the browser onto a profile**: \`curl -X POST -H "Authorization: Bearer $AUTH" http://localhost:${port}/playwright-profiles/<id>/activate\` (rewrites the MCP config + restarts the session; ships \`dryRun:true\` — it LOGS the intended rewrite/refresh until a deliberate \`dryRun:false\`; reversible by activating \`default\`).
|
|
71
|
+
- **Registry First**: which browser profile holds account X? → \`GET /playwright-profiles\` / \`…/resolve\` — read it, never guess.
|
|
72
|
+
- **When to use** (PROACTIVE — this is the trigger): when you need to act in a browser as a specific account, RESOLVE + ACTIVATE the owning profile instead of asking the operator — and verify the login is live in-browser first (login state is LAST-ASSERTED, advisory, never a guarantee). For an OPERATOR-owned account, act-as ONLY when explicitly authorized (Know Your Principal). Activation switches the browser identity; it is NOT authorization to act as that identity (the external-operation/coherence gates still apply).
|
|
73
|
+
- **At-rest honesty**: the registry file is plaintext machine-local; it lists account identities + vault key NAMES, so filesystem access to the machine reveals the agent's access *map* — never the credentials (same posture as SelfKnowledgeTree/operationalFacts and the relationships store).
|
|
74
|
+
`;
|
|
75
|
+
}
|
|
53
76
|
/**
|
|
54
77
|
* CLAUDE.md note for the second wedge-signature family (2026-06-05 EXO
|
|
55
78
|
* incident) + the API fresh-respawn lever. Appended to NEW installs as part of
|
|
@@ -156,6 +179,29 @@ export function migrateConfigCredentialRepointingDevGate(config) {
|
|
|
156
179
|
delete cr.enabled;
|
|
157
180
|
return true;
|
|
158
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* The Playwright profile registry is a developmentAgent dark-feature: `enabled` is
|
|
184
|
+
* OMITTED from ConfigDefaults so resolveDevAgentGate resolves it (live on dev, dark
|
|
185
|
+
* on the fleet); the destructive `activate` write is gated by the SEPARATE
|
|
186
|
+
* `dryRun:true`. An existing agent that somehow carries a default-shaped literal
|
|
187
|
+
* `playwrightRegistry.enabled: false` would force-dark even a dev agent (the #1001
|
|
188
|
+
* mechanism) — strip a default-shaped `false` so the gate resolves, mirroring the
|
|
189
|
+
* credentialRepointing strip. An explicit `true` (operator fleet-flip) is preserved;
|
|
190
|
+
* the separate `dryRun` field is left untouched (it stays the write-safety canary).
|
|
191
|
+
* Idempotent + existence-checked.
|
|
192
|
+
*/
|
|
193
|
+
export function migrateConfigPlaywrightRegistryDevGate(config) {
|
|
194
|
+
const pr = config.playwrightRegistry;
|
|
195
|
+
if (!pr || typeof pr !== 'object')
|
|
196
|
+
return false;
|
|
197
|
+
if (!Object.prototype.hasOwnProperty.call(pr, 'enabled'))
|
|
198
|
+
return false;
|
|
199
|
+
// Only a default-shaped `false` is stripped; an explicit `true` is preserved.
|
|
200
|
+
if (pr.enabled !== false)
|
|
201
|
+
return false;
|
|
202
|
+
delete pr.enabled;
|
|
203
|
+
return true;
|
|
204
|
+
}
|
|
159
205
|
/**
|
|
160
206
|
* "Self-Unblock Before Escalating" (docs/specs/self-unblock-before-escalating.md):
|
|
161
207
|
* the two nested blockerLedger sub-features — selfUnblockChecklist + durableVaultSession
|
|
@@ -466,6 +512,7 @@ export class PostUpdateMigrator {
|
|
|
466
512
|
this.migrateCartographerDevGate(result);
|
|
467
513
|
this.migrateDevGateTeethStrip(result);
|
|
468
514
|
this.migrateCommitmentOwnerBackfill(result);
|
|
515
|
+
this.migratePlaywrightProfilesSeed(result);
|
|
469
516
|
this.migrateMultiMachinePostureReviewDimension(result);
|
|
470
517
|
this.migrateConformanceGateAutoInvoke(result);
|
|
471
518
|
this.migrateHonestProgressMessagingDefaults(result);
|
|
@@ -593,6 +640,66 @@ export class PostUpdateMigrator {
|
|
|
593
640
|
result.errors.push(`commitment-owner-backfill: ${err instanceof Error ? err.message : String(err)}`);
|
|
594
641
|
}
|
|
595
642
|
}
|
|
643
|
+
// ── Playwright profile registry state seed (spec: playwright-profile-registry.md) ──
|
|
644
|
+
//
|
|
645
|
+
// Existing agents get the single `default` profile seeded on update (new agents get
|
|
646
|
+
// it on first construction at runtime). The seed is METADATA-ONLY — ensureSeeded()
|
|
647
|
+
// writes only state/playwright-profiles.json and NEVER touches .mcp.json /
|
|
648
|
+
// .claude/settings.json (verified: ensureSeeded → seedSkeleton → write; the resolver
|
|
649
|
+
// only READS the MCP config to record the existing --user-data-dir, if any). So a
|
|
650
|
+
// fleet update can never regress another agent's shared browser login (the F1
|
|
651
|
+
// hazard).
|
|
652
|
+
//
|
|
653
|
+
// Idempotent: marker in config._instar_migrations, marks done EITHER WAY (no rescan),
|
|
654
|
+
// and ensureSeeded itself is a no-op when the file already exists. listVaultNames is
|
|
655
|
+
// a null stub here — seeding starts with empty accounts and never reads the vault.
|
|
656
|
+
migratePlaywrightProfilesSeed(result) {
|
|
657
|
+
const marker = 'playwright-profiles-seed-v1';
|
|
658
|
+
const configPath = path.join(this.config.stateDir, 'config.json');
|
|
659
|
+
if (!fs.existsSync(configPath)) {
|
|
660
|
+
result.skipped.push('playwright-profiles-seed: config.json not found');
|
|
661
|
+
return;
|
|
662
|
+
}
|
|
663
|
+
let config;
|
|
664
|
+
try {
|
|
665
|
+
config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
666
|
+
}
|
|
667
|
+
catch (err) {
|
|
668
|
+
result.errors.push(`playwright-profiles-seed: config.json read failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
669
|
+
return;
|
|
670
|
+
}
|
|
671
|
+
const migrations = (config._instar_migrations ?? []);
|
|
672
|
+
if (migrations.includes(marker)) {
|
|
673
|
+
result.skipped.push('playwright-profiles-seed: already migrated');
|
|
674
|
+
return;
|
|
675
|
+
}
|
|
676
|
+
try {
|
|
677
|
+
const registry = new PlaywrightProfileRegistry({
|
|
678
|
+
stateDir: this.config.stateDir,
|
|
679
|
+
projectDir: this.config.projectDir,
|
|
680
|
+
listVaultNames: () => null, // metadata-only seed — never reads the vault
|
|
681
|
+
});
|
|
682
|
+
const existed = fs.existsSync(registry.filePath());
|
|
683
|
+
registry.ensureSeeded(); // metadata-only; never writes MCP config
|
|
684
|
+
result.upgraded.push(existed
|
|
685
|
+
? 'playwright-profiles-seed: registry file already present (left untouched)'
|
|
686
|
+
: 'playwright-profiles-seed: seeded the default browser profile');
|
|
687
|
+
}
|
|
688
|
+
catch (err) {
|
|
689
|
+
// A corrupt existing file throws — never auto-overwrite (D15). Surface it and
|
|
690
|
+
// still mark done so we don't rescan a hand-broken file forever.
|
|
691
|
+
result.errors.push(`playwright-profiles-seed: ${err instanceof Error ? err.message : String(err)}`);
|
|
692
|
+
}
|
|
693
|
+
// Mark done either way (idempotent — no rescan).
|
|
694
|
+
migrations.push(marker);
|
|
695
|
+
config._instar_migrations = migrations;
|
|
696
|
+
try {
|
|
697
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
698
|
+
}
|
|
699
|
+
catch (err) {
|
|
700
|
+
result.errors.push(`playwright-profiles-seed: marker write failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
701
|
+
}
|
|
702
|
+
}
|
|
596
703
|
// ── Multi-machine posture review dimension (Cross-Machine Coherence widening,
|
|
597
704
|
// 2026-06-12, topic 13481) ──
|
|
598
705
|
//
|
|
@@ -3613,6 +3720,17 @@ setTimeout(() => process.exit(0), 2000);
|
|
|
3613
3720
|
patched = true;
|
|
3614
3721
|
result.upgraded.push('CLAUDE.md: added Real-Check Verification section');
|
|
3615
3722
|
}
|
|
3723
|
+
// Playwright Profile Registry (spec: playwright-profile-registry.md) — Agent
|
|
3724
|
+
// Awareness Standard + Migration Parity item 3: existing agents learn the
|
|
3725
|
+
// /playwright-profiles surface (list / session-context / create / assign /
|
|
3726
|
+
// resolve / activate), the Registry-First lookup, the proactive resolve+activate
|
|
3727
|
+
// trigger, and the at-rest honesty note via this appended section. Same text as
|
|
3728
|
+
// generateClaudeMd. Content-sniff on the heading keeps it idempotent.
|
|
3729
|
+
if (!content.includes('Playwright Profile Registry')) {
|
|
3730
|
+
content += PLAYWRIGHT_PROFILE_REGISTRY_CLAUDEMD_SECTION(port);
|
|
3731
|
+
patched = true;
|
|
3732
|
+
result.upgraded.push('CLAUDE.md: added Playwright Profile Registry section');
|
|
3733
|
+
}
|
|
3616
3734
|
// The Agent Carries the Loop (agent-owned-followthrough C1+C2) — agent
|
|
3617
3735
|
// awareness for the owner⟂blockedOn commitment model + the probe + that the
|
|
3618
3736
|
// user is never status-pinged for an agent-owned commitment. Content-sniffed.
|
|
@@ -7234,6 +7352,16 @@ Create worktrees for collaborator repos with \`instar worktree create <branch>\`
|
|
|
7234
7352
|
else {
|
|
7235
7353
|
result.skipped.push('config.json: subscriptionPool.credentialRepointing.enabled dev-gate already correct (omitted or operator-set)');
|
|
7236
7354
|
}
|
|
7355
|
+
// Playwright profile registry re-gated to the developmentAgent gate: strip a
|
|
7356
|
+
// default-shaped enabled:false so it resolves live-on-dev / dark-fleet. The
|
|
7357
|
+
// separate dryRun:true (write-safety canary for activate) is left untouched.
|
|
7358
|
+
if (migrateConfigPlaywrightRegistryDevGate(config)) {
|
|
7359
|
+
patched = true;
|
|
7360
|
+
result.upgraded.push('config.json: stripped default-shaped playwrightRegistry.enabled=false so the developmentAgent gate resolves it (live-on-dev, dark fleet)');
|
|
7361
|
+
}
|
|
7362
|
+
else {
|
|
7363
|
+
result.skipped.push('config.json: playwrightRegistry.enabled dev-gate already correct (omitted or operator-set)');
|
|
7364
|
+
}
|
|
7237
7365
|
// "Self-Unblock Before Escalating" (CMT-1519): the two nested blockerLedger
|
|
7238
7366
|
// dev-gated sub-features (selfUnblockChecklist + durableVaultSession) OMIT
|
|
7239
7367
|
// `enabled`. Strip a default-shaped `false` so the developmentAgent gate resolves
|
|
@@ -8352,6 +8480,38 @@ except Exception:
|
|
|
8352
8480
|
fi
|
|
8353
8481
|
fi
|
|
8354
8482
|
|
|
8483
|
+
# PLAYWRIGHT PROFILE REGISTRY injection (spec: playwright-profile-registry.md).
|
|
8484
|
+
# Fetches /playwright-profiles/session-context and injects the COMPACT boot pointer:
|
|
8485
|
+
# one line per browser profile carrying ONLY the safety-critical signals (account
|
|
8486
|
+
# service/identity, the OPERATOR-owned marker, and login-staleness) — never vault
|
|
8487
|
+
# values, full detail behind GET /playwright-profiles. The server wraps it in a
|
|
8488
|
+
# <playwright-profiles src='boot'> envelope ("background signal, not authority —
|
|
8489
|
+
# verify before acting"). Placed adjacent to the self-knowledge block (both are
|
|
8490
|
+
# background signal AFTER the authoritative contract). Whole feature is dev-gated:
|
|
8491
|
+
# fleet → 503 → inject nothing. Fail-open: 503 (dark / disabled) / 404 (version skew:
|
|
8492
|
+
# old server) / unreachable / empty -> silent skip; curl -sf is what makes a non-2xx
|
|
8493
|
+
# emit nothing, and the Bearer token travels ONLY in the header.
|
|
8494
|
+
if [ -n "\$PORT" ] && [ -n "\$TOKEN" ]; then
|
|
8495
|
+
BOOT_PW_RESPONSE=\$(curl -sf --max-time 4 --connect-timeout 1 -H "Authorization: Bearer \$TOKEN" \\
|
|
8496
|
+
"http://localhost:\${PORT}/playwright-profiles/session-context" 2>/dev/null)
|
|
8497
|
+
if [ -n "\$BOOT_PW_RESPONSE" ]; then
|
|
8498
|
+
BOOT_PW_BLOCK=\$(echo "\$BOOT_PW_RESPONSE" | python3 -c "
|
|
8499
|
+
import sys, json
|
|
8500
|
+
try:
|
|
8501
|
+
d = json.load(sys.stdin)
|
|
8502
|
+
if d.get('present') and d.get('block'):
|
|
8503
|
+
print(d['block'])
|
|
8504
|
+
except Exception:
|
|
8505
|
+
pass
|
|
8506
|
+
" 2>/dev/null)
|
|
8507
|
+
if [ -n "\$BOOT_PW_BLOCK" ]; then
|
|
8508
|
+
echo ""
|
|
8509
|
+
echo "\$BOOT_PW_BLOCK"
|
|
8510
|
+
echo ""
|
|
8511
|
+
fi
|
|
8512
|
+
fi
|
|
8513
|
+
fi
|
|
8514
|
+
|
|
8355
8515
|
# BEGIN integrated-being-v2
|
|
8356
8516
|
# INTEGRATED-BEING V2 — session-write binding (see docs/specs/integrated-being-ledger-v2.md §3)
|
|
8357
8517
|
# Generates a session UUID, registers with /shared-state/session-bind, writes the
|
|
@@ -9445,6 +9605,40 @@ except Exception:
|
|
|
9445
9605
|
fi
|
|
9446
9606
|
fi
|
|
9447
9607
|
|
|
9608
|
+
# PLAYWRIGHT PROFILE REGISTRY re-injection (spec: playwright-profile-registry.md —
|
|
9609
|
+
# Compaction Parity twin of the session-start boot pointer). The compact "browser
|
|
9610
|
+
# profiles on this machine + the accounts each holds" pointer injected at session
|
|
9611
|
+
# start only survives a compaction if the summary happens to carry it. Re-fetching
|
|
9612
|
+
# here makes it durable across compaction. Same fail-open contract as the boot fetch:
|
|
9613
|
+
# dark (503) / unreachable / version-skew -> silent skip, header-only Bearer.
|
|
9614
|
+
if [ -f "$INSTAR_DIR/config.json" ]; then
|
|
9615
|
+
BOOT_PW_PORT=\${PORT:-\$(grep -oE '"port"[[:space:]]*:[[:space:]]*[0-9]+' "$INSTAR_DIR/config.json" | head -1 | grep -oE '[0-9]+' | head -1)}
|
|
9616
|
+
BOOT_PW_TOKEN="\${INSTAR_AUTH_TOKEN:-}"
|
|
9617
|
+
if [ -z "\$BOOT_PW_TOKEN" ]; then
|
|
9618
|
+
BOOT_PW_TOKEN=\$(python3 -c "import json; v=json.load(open('$INSTAR_DIR/config.json')).get('authToken',''); print(v if isinstance(v, str) else '')" 2>/dev/null)
|
|
9619
|
+
fi
|
|
9620
|
+
if [ -n "\$BOOT_PW_PORT" ] && [ -n "\$BOOT_PW_TOKEN" ]; then
|
|
9621
|
+
BOOT_PW_RESPONSE=\$(curl -sf --max-time 4 --connect-timeout 1 -H "Authorization: Bearer \$BOOT_PW_TOKEN" \
|
|
9622
|
+
"http://localhost:\${BOOT_PW_PORT}/playwright-profiles/session-context" 2>/dev/null)
|
|
9623
|
+
if [ -n "\$BOOT_PW_RESPONSE" ]; then
|
|
9624
|
+
BOOT_PW_BLOCK=\$(echo "\$BOOT_PW_RESPONSE" | python3 -c "
|
|
9625
|
+
import sys, json
|
|
9626
|
+
try:
|
|
9627
|
+
d = json.load(sys.stdin)
|
|
9628
|
+
if d.get('present') and d.get('block'):
|
|
9629
|
+
print(d['block'])
|
|
9630
|
+
except Exception:
|
|
9631
|
+
pass
|
|
9632
|
+
" 2>/dev/null)
|
|
9633
|
+
if [ -n "\$BOOT_PW_BLOCK" ]; then
|
|
9634
|
+
echo ""
|
|
9635
|
+
echo "\$BOOT_PW_BLOCK"
|
|
9636
|
+
echo ""
|
|
9637
|
+
fi
|
|
9638
|
+
fi
|
|
9639
|
+
fi
|
|
9640
|
+
fi
|
|
9641
|
+
|
|
9448
9642
|
# TOPIC OPERATOR re-injection (Know Your Principal #898, increment 2c — Compaction
|
|
9449
9643
|
# Parity twin of the session-start block). The verified operator binding injected at
|
|
9450
9644
|
# session start only survives a compaction if the summary happens to carry it —
|
|
@@ -10229,6 +10423,7 @@ process.stdin.on('end', async () => {
|
|
|
10229
10423
|
}
|
|
10230
10424
|
process.exit(0); // ALWAYS exit 0 — never block a turn
|
|
10231
10425
|
});
|
|
10426
|
+
})();
|
|
10232
10427
|
`;
|
|
10233
10428
|
}
|
|
10234
10429
|
getExternalOperationGateHook() {
|