@intentface/latch-drizzle 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-store.js","sourceRoot":"","sources":["../src/agent-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-store.js","sourceRoot":"","sources":["../src/agent-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAWhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C;;;;GAIG;AAEH,SAAS,KAAK;IACZ,OAAO,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;GAGG;AACH,MAAM,cAAc,GAAG,GAAkB,EAAE,CACzC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACtD,MAAM,CAAC,GAAI,KAAiC,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;gBAAE,SAAS;YAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACjD,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,GAAgB,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAElF;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,IAA6B,EAC7B,IAAiB;IAEjB,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAA4B,CAAC;IACxD,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAA4B,CAAC;IACxD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAChE,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,GAAG,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAA4B,CAAC;IAC/F,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC5C,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC;IAC1D,OAAO,GAA6B,CAAC;AACvC,CAAC;AAoJD,uFAAuF;AACvF,MAAM,aAAa,GAAG,CAAC,CAA0B,EAAiB,EAAE,CAClE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,MAAM,eAAe,GAAG,CAAC,CAAgB,EAA2B,EAAE,CACpE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpD,MAAM,UAAU,GAAG,CAAC,QAAkB,EAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE9F,SAAS,WAAW,CAAI,OAAqB,EAAE,IAA0B;IACvE,MAAM,QAAQ,GAAG,CAAC,CAAI,EAAE,KAAiB,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/E,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,SAAS,GAAG,CAAC,CAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAErF,MAAM,QAAQ,GAAG,CAAC,GAAa,EAAe,EAAE,CAAC,CAAC;QAChD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;QAC7B,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;QACzC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,WAAW,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAa;QAChD,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvC,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,SAAS,CAAyB;QACvD,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAwB;QACpD,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAyB;QAC/D,aAAa,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS,CAAiC;QAC/E,KAAK,EAAE,GAAG,CAAC,KAAmB;KAC/B,CAAC,CAAC;IAEH,mFAAmF;IACnF,KAAK,UAAU,OAAO,CAAC,CAAI,EAAE,IAAY,EAAE,KAAkB;QAC3D,uEAAuE;QACvE,MAAM,MAAM,GACV,KAAK,KAAK,KAAK;YACb,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,KAAK,KAAK,MAAM;gBAChB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,OAAO,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,UAAU,IAAI,CAAC,CAAI,EAAE,IAAY,EAAE,KAAkB;QACxD,uEAAuE;QACvE,MAAM,MAAM,GACV,KAAK,KAAK,KAAK;YACb,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,KAAK,KAAK,MAAM;gBAChB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzC,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS;YAC3B,sEAAsE;YACtE,qEAAqE;YACrE,sEAAsE;YACtE,qCAAqC;YACrC,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAC;YAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,GAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YACxE,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC5D,yEAAyE;YACzE,kEAAkE;YAClE,uEAAuE;YACvE,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACjD,MAAM,WAAW,GACf,QAAQ,IAAI,iBAAiB;gBAC3B,CAAC,CAAC;oBACE;wBACE,KAAK,CAAC,IAAI,CAAC,CAAI;4BACb,0DAA0D;4BAC1D,IAAI,CAAC;gCACH,yDAAyD;gCACzD,+DAA+D;gCAC/D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gCAC9D,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;4BAC5E,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,OAAO,CAAC,IAAI,CAAC,qDAAqD,EAAE,CAAC,CAAC,CAAC;gCACvE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;4BAC9C,CAAC;wBACH,CAAC;qBACF;iBACF;gBACH,CAAC,CAAC,SAAS,CAAC;YAChB,OAAO,QAAQ,CACb;gBACE,sEAAsE;gBACtE,qEAAqE;gBACrE,kCAAkC;gBAClC,aAAa,EAAE,GAAG,CAAC,gBAAgB,IAAI,SAAS;gBAChD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;gBACjC,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,WAAW;gBACX,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,mDAAmD;gBACnD,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAC5D,kEAAkE;gBAClE,gBAAgB,EACd,GAAG,EAAE,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBAC1F,sEAAsE;gBACtE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC5D,sEAAsE;gBACtE,YAAY,EAAE,eAAe,CAAC,MAAM;oBAClC,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CACjF;oBACH,CAAC,CAAC,SAAS;gBACb,iEAAiE;gBACjE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS;gBACvC,eAAe,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ;gBACnC,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY;gBACpC,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY;gBACpC,gBAAgB,EAAE,GAAG,CAAC,IAAI,EAAE,gBAAgB,IAAI,SAAS;gBACzD,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,SAAS;gBAC/C,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM;gBACxB,2EAA2E;gBAC3E,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM;gBACxB,YAAY,EAAE,IAAI;aACnB,EACD,GAAG,EACH,SAAS,CACV,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,SAAS;YAClB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/F,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;gBAC3B,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;aACxC,CAAC,CAAC,CAAC;QACN,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,SAAS;YACzB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/F,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI;YAC7B,uEAAuE;YACvE,iEAAiE;YACjE,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,CAAC,sBAAsB;YAC1B,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACtC,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI;YAC/B,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE;gBACjD,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC;gBAC5B,GAAG,IAAI;aACR,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI;YACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACzC,wEAAwE;YACxE,oEAAoE;YACpE,iCAAiC;YACjC,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClC,MAAM,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK;YACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC7B,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;aAChC,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,IAAI,IAAI,CAAC;YAC3D,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;gBAC7B,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAA+B;gBAC7D,OAAO,EAAE,CAAC,CAAC,aAAa,IAAI,SAAS;gBACrC,aAAa,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,SAAS,CAAyB;gBACrE,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,SAAS,EAAE,CAAC,CAAC,OAAO,KAAK,gBAAgB;aAC1C,CAAC,CACH,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO;YAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/E,OAAO,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtD,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI;YACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,OAAO,cAAc,IAAI,IAAI,CAAC,CAAC;YACvE,sEAAsE;YACtE,sEAAsE;YACtE,MAAM,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,mEAAmE;YACnE,uEAAuE;YACvE,MAAM,OAAO,CAAC,MAAM,CAAC;gBACnB,EAAE,EAAE,KAAK,EAAE;gBACX,KAAK;gBACL,GAAG;gBACH,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACrC,GAAG;gBACH,gBAAgB,EAAE,OAAO;aAC1B,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QACrG,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;YACjD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAChF,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC;gBACvB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;gBAC3B,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAA8B;gBAC5D,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK;YACnC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;YACxF,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAC;YAC3B,OAAO;gBACL,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;gBAClC,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;gBACzC,SAAS,EAAE,GAAG,CAAC,SAAS;aACJ,CAAC;QACzB,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW;YACtD,MAAM,OAAO,CAAC,WAAW,CAAC;gBACxB,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;gBACjC,IAAI;gBACJ,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC;gBAC5B,qEAAqE;gBACrE,sEAAsE;gBACtE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC5B,WAAW,EAAE,WAAW,IAAI,IAAI;gBAChC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;aAChB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK;YACvC,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,SAAS;YACxB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACzE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,CAAC,EAAqB,EAAE,CAAC,CAAC;gBACzB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;gBAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI;gBACvB,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CACH,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,wEAAwE;IACxE,KAAK,UAAU,gBAAgB,CAC7B,KAAa,EACb,IAAY,EACZ,OAAe,EACf,KAAyB,EACzB,MAAc,EACd,GAAW;QAEX,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,gBAAgB,CAAC;gBAC7B,EAAE,EAAE,eAAe,EAAE;gBACrB,KAAK;gBACL,IAAI;gBACJ,OAAO;gBACP,KAAK,EAAE,KAAK,IAAI,IAAI;gBACpB,MAAM;gBACN,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wEAAwE;YACxE,yEAAyE;YACzE,+CAA+C;YAC/C,OAAO,CAAC,IAAI,CAAC,0CAA0C,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,UAAU,OAAO,CACpB,KAAa,EACb,GAAgB,EAChB,IAA0B;QAE1B,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC9B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,gBAAgB,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,qEAAqE;YACrE,2EAA2E;YAC3E,uEAAuE;YACvE,IAAI,IAAI,IAAI,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;gBAC9D,MAAM,OAAO,CAAC,MAAM,CAAC;oBACnB,EAAE,EAAE,KAAK,EAAE;oBACX,KAAK;oBACL,GAAG;oBACH,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACrC,GAAG;oBACH,gBAAgB,EAAE,IAAI,CAAC,OAAO;iBAC/B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,aAAa,CAAC;oBAC1B,EAAE,EAAE,YAAY,EAAE;oBAClB,KAAK;oBACL,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO;oBACP,GAAG;oBACH,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI;oBAC5B,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK;oBAC7B,aAAa,EACX,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,IAAI;oBACnF,aAAa,EAAE,OAAO,IAAI,IAAI;oBAC9B,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wEAAwE;gBACxE,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,gBAAgB,EAAE,CAAC;oBAC3D,MAAM,cAAc,EAAE,CAAC;oBACvB,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,OAAO,CAAC,MAAM,CAAC;gBACnB,EAAE,EAAE,KAAK,EAAE;gBACX,KAAK;gBACL,GAAG;gBACH,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACrC,GAAG;gBACH,gBAAgB,EAAE,OAAO;aAC1B,CAAC,CAAC;YACH,8DAA8D;YAC9D,yDAAyD;YACzD,MAAM,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,MAAM,IAAI,KAAK,CACb,4BAA4B,GAAG,CAAC,IAAI,MAAM,gBAAgB,2CAA2C,CACtG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,SAAS,YAAY,CAAC,GAOrB;IACC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC;IAChE,OAAO;QACL,MAAM,EAAE;YACN,EAAE;YACF,KAAK;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;YACxB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;YACpC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;YACtB,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;YACvD,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;YACnE,QAAQ;YACR,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,gBAAgB;YAChB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf;QACD,MAAM,EAAE;YACN,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;YACxB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;YACpC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;YACtB,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;YACvD,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;YACnE,QAAQ;YACR,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,gBAAgB;YAChB,SAAS,EAAE,GAAG;SACf;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,aAAa,CAAC,GAWtB;IACC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,GAAG;QACf,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,SAAS,EAAE,GAAG,CAAC,GAAG;KACnB,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,6BAA6B,CAC3C,EAAkD,EAClD,IAA0B;IAE1B,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC;IAC9B,MAAM,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC;IACrC,MAAM,CAAC,GAAG,YAAY,CAAC,gBAAgB,CAAC;IACxC,MAAM,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC;IACnC,OAAO,WAAW,CAChB;QACE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChG,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAe,CAAC;QAC3F,CAAC;QACD,KAAK,CAAC,kBAAkB;YACtB,sEAAsE;YACtE,gEAAgE;YAChE,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE;iBACnB,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;iBAChC,IAAI,CAAC,CAAC,CAAC;iBACP,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA,QAAQ,CAAC,CAAC,IAAI,WAAW,EAAE,YAAY,CAAC,CAAC,CAAuB,CAAC;YAClF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG;YACd,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACnG,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK;YAC/B,MAAM,CAAC,GAAG,EAAE;iBACT,MAAM,CAAC;gBACN,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC;iBACP,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;iBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAsB,CAAC;QACvE,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO;YAClC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE;iBACnB,MAAM,CAAC;gBACN,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC;iBACP,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;iBACxE,KAAK,CAAC,CAAC,CAAC,CAAsB,CAAC;YAClC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,GAAG;YACrB,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI;YAC9B,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,GAAG;YACxB,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACxB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,GAAG,CAAC,GAAG;aACnB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK;YAClC,MAAM,CAAC,GAAG,EAAE;iBACT,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;iBACxF,IAAI,CAAC,CAAC,CAAC;iBACP,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;iBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAyB,CAAC;QAC1E,CAAC;QACD,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI;YACjC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM;YAC7B,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE;iBACnB,MAAM,EAAE;iBACR,IAAI,CAAC,CAAC,CAAC;iBACP,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;iBACtE,KAAK,CAAC,CAAC,CAAC,CAAoB,CAAC;YAChC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,GAAG;YACnB,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC;iBACT,MAAM,CAAC;gBACN,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,GAAG;gBACf,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,SAAS,EAAE,GAAG,CAAC,GAAG;aACnB,CAAC;iBACD,kBAAkB,CAAC;gBAClB,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE;aAC3E,CAAC,CAAC;QACP,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM;YACnC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC;iBACT,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,MAAM;YACzB,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAoB,CAAC;QACxF,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI;YAC5B,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;KACF,EACD,IAAI,CACL,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,+BAA+B,CAC7C,EAA6B,EAC7B,IAA0B;IAE1B,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC1B,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC;IACjC,MAAM,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC;IACpC,MAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;IAC/B,OAAO,WAAW,CAChB;QACE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChG,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAe,CAAC;QAC3F,CAAC;QACD,KAAK,CAAC,kBAAkB;YACtB,sEAAsE;YACtE,gEAAgE;YAChE,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE;iBACnB,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;iBAChC,IAAI,CAAC,CAAC,CAAC;iBACP,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA,QAAQ,CAAC,CAAC,IAAI,WAAW,EAAE,YAAY,CAAC,CAAC,CAAuB,CAAC;YAClF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG;YACd,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACnG,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK;YAC/B,MAAM,CAAC,GAAG,EAAE;iBACT,MAAM,CAAC;gBACN,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC;iBACP,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;iBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAsB,CAAC;QACvE,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO;YAClC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE;iBACnB,MAAM,CAAC;gBACN,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC;iBACP,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;iBACxE,KAAK,CAAC,CAAC,CAAC,CAAsB,CAAC;YAClC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,GAAG;YACrB,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI;YAC9B,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,GAAG;YACxB,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACxB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,GAAG,CAAC,GAAG;aACnB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK;YAClC,MAAM,CAAC,GAAG,EAAE;iBACT,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;iBACxF,IAAI,CAAC,CAAC,CAAC;iBACP,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;iBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAyB,CAAC;QAC1E,CAAC;QACD,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI;YACjC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM;YAC7B,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE;iBACnB,MAAM,EAAE;iBACR,IAAI,CAAC,CAAC,CAAC;iBACP,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;iBACtE,KAAK,CAAC,CAAC,CAAC,CAAoB,CAAC;YAChC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,GAAG;YACnB,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC;iBACT,MAAM,CAAC;gBACN,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,GAAG;gBACf,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,SAAS,EAAE,GAAG,CAAC,GAAG;aACnB,CAAC;iBACD,kBAAkB,CAAC;gBAClB,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE;aAC3E,CAAC,CAAC;QACP,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM;YACnC,MAAM,EAAE;iBACL,MAAM,CAAC,CAAC,CAAC;iBACT,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,MAAM;YACzB,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAoB,CAAC;QACxF,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI;YAC5B,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;KACF,EACD,IAAI,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agent-versions.smoke.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-versions.smoke.d.ts","sourceRoot":"","sources":["../src/agent-versions.smoke.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ import { createClient } from "@libsql/client";
2
+ import { drizzle } from "drizzle-orm/libsql";
3
+ import { migrate } from "./migrate.js";
4
+ import { createSqliteAgentBuilderStore } from "./agent-store.js";
5
+ import * as schema from "./schema.js";
6
+ import { agentVersionsSmoke } from "./agent-versions.smoke.shared.js";
7
+ const assert = (cond, msg) => {
8
+ if (!cond)
9
+ throw new Error(`FAIL: ${msg}`);
10
+ };
11
+ const p = { orgId: "o1", userId: "u1" };
12
+ async function newEnv() {
13
+ const client = createClient({ url: ":memory:" });
14
+ await migrate(client);
15
+ const db = drizzle(client);
16
+ return {
17
+ store: createSqliteAgentBuilderStore(db, {
18
+ owner: (pr, scope) => (scope === "org" ? [pr.orgId] : [pr.orgId, pr.userId]),
19
+ modelFor: (id) => ({ modelId: id }),
20
+ }),
21
+ async insertLegacyAgent(row) {
22
+ // Straight to the table: no version row, published_version left NULL.
23
+ await db.insert(schema.agents).values({
24
+ id: "agt_legacy",
25
+ owner: row.owner,
26
+ name: row.name,
27
+ title: row.title,
28
+ description: null,
29
+ modelId: row.modelId,
30
+ instructions: row.instructions,
31
+ connections: row.connections,
32
+ tools: null,
33
+ exec: row.exec,
34
+ subagents: null,
35
+ attachedEvals: null,
36
+ maxSteps: row.maxSteps,
37
+ scope: "user",
38
+ createdAt: row.createdAt,
39
+ updatedAt: row.createdAt,
40
+ });
41
+ },
42
+ remigrate: () => migrate(client),
43
+ };
44
+ }
45
+ async function main() {
46
+ await agentVersionsSmoke({ newEnv, p, ownerKey: "o1/u1", assert });
47
+ console.log("agent-versions smoke (sqlite): ALL PASS");
48
+ }
49
+ main().catch((e) => {
50
+ console.error("❌ agent-versions smoke failed:", e);
51
+ throw e; // unhandled rejection → non-zero exit (no @types/node dep here)
52
+ });
53
+ //# sourceMappingURL=agent-versions.smoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-versions.smoke.js","sourceRoot":"","sources":["../src/agent-versions.smoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAyB,MAAM,kCAAkC,CAAC;AAK7F,MAAM,MAAM,GAAG,CAAC,IAAa,EAAE,GAAW,EAAE,EAAE;IAC5C,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,CAAC,GAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAE3C,KAAK,UAAU,MAAM;IACnB,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IACjD,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO;QACL,KAAK,EAAE,6BAA6B,CAAI,EAAE,EAAE;YAC1C,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5E,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAU;SAC7C,CAAC;QACF,KAAK,CAAC,iBAAiB,CAAC,GAAG;YACzB,sEAAsE;YACtE,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBACpC,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC,CAAC;QACL,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,kBAAkB,CAAI,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACzD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,CAAC,CAAC,gEAAgE;AAC3E,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agent-versions.smoke.pg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-versions.smoke.pg.d.ts","sourceRoot":"","sources":["../src/agent-versions.smoke.pg.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ import { PGlite } from "@electric-sql/pglite";
2
+ import { drizzle } from "drizzle-orm/pglite";
3
+ import { migratePostgres } from "./migrate.pg.js";
4
+ import { createPostgresAgentBuilderStore } from "./agent-store.js";
5
+ import * as schema from "./schema.pg.js";
6
+ import { agentVersionsSmoke } from "./agent-versions.smoke.shared.js";
7
+ const assert = (cond, msg) => {
8
+ if (!cond)
9
+ throw new Error(`FAIL: ${msg}`);
10
+ };
11
+ const p = { orgId: "o1", userId: "u1" };
12
+ async function newEnv() {
13
+ const pg = new PGlite();
14
+ const db = drizzle(pg, { schema });
15
+ await migratePostgres(db);
16
+ return {
17
+ store: createPostgresAgentBuilderStore(db, {
18
+ owner: (pr, scope) => (scope === "org" ? [pr.orgId] : [pr.orgId, pr.userId]),
19
+ modelFor: (id) => ({ modelId: id }),
20
+ }),
21
+ async insertLegacyAgent(row) {
22
+ // Straight to the table: no version row, published_version left NULL.
23
+ await db.insert(schema.agents).values({
24
+ id: "agt_legacy",
25
+ owner: row.owner,
26
+ name: row.name,
27
+ title: row.title,
28
+ description: null,
29
+ modelId: row.modelId,
30
+ instructions: row.instructions,
31
+ connections: row.connections,
32
+ tools: null,
33
+ exec: row.exec,
34
+ subagents: null,
35
+ attachedEvals: null,
36
+ maxSteps: row.maxSteps,
37
+ scope: "user",
38
+ createdAt: row.createdAt,
39
+ updatedAt: row.createdAt,
40
+ });
41
+ },
42
+ remigrate: () => migratePostgres(db),
43
+ };
44
+ }
45
+ async function main() {
46
+ await agentVersionsSmoke({ newEnv, p, ownerKey: "o1/u1", assert });
47
+ console.log("agent-versions smoke (postgres): ALL PASS");
48
+ }
49
+ main().catch((e) => {
50
+ console.error("❌ agent-versions pg smoke failed:", e);
51
+ throw e; // unhandled rejection → non-zero exit (no @types/node dep here)
52
+ });
53
+ //# sourceMappingURL=agent-versions.smoke.pg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-versions.smoke.pg.js","sourceRoot":"","sources":["../src/agent-versions.smoke.pg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAyB,MAAM,kCAAkC,CAAC;AAU7F,MAAM,MAAM,GAAG,CAAC,IAAa,EAAE,GAAW,EAAE,EAAE;IAC5C,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,CAAC,GAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAE3C,KAAK,UAAU,MAAM;IACnB,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;IAC1B,OAAO;QACL,KAAK,EAAE,+BAA+B,CAAI,EAAE,EAAE;YAC5C,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5E,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAU;SAC7C,CAAC;QACF,KAAK,CAAC,iBAAiB,CAAC,GAAG;YACzB,sEAAsE;YACtE,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBACpC,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC,CAAC;QACL,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,kBAAkB,CAAI,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,CAAC,CAAC,gEAAgE;AAC3E,CAAC,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { AgentBuilderStore } from "@intentface/latch-agent-builder";
2
+ /**
3
+ * Agent publish history, run against BOTH dialects.
4
+ *
5
+ * The backfill in particular is dialect-specific SQL (`json_object` +
6
+ * `json(col)` on sqlite, `jsonb_build_object` on Postgres) rescuing rows written
7
+ * before versioning existed. It has to produce the same `AgentRecord` on both,
8
+ * or a rollback target silently differs between dev and production.
9
+ */
10
+ /** A pre-versioning `latch_agents` row, written straight to the table. */
11
+ export interface LegacyAgentRow {
12
+ owner: string;
13
+ name: string;
14
+ title: string;
15
+ modelId: string;
16
+ instructions: string;
17
+ connections: string[];
18
+ exec: Record<string, unknown>;
19
+ /** Column-encoded: NULL=default, 0=unlimited, N=cap. */
20
+ maxSteps: number | null;
21
+ createdAt: number;
22
+ }
23
+ export interface AgentVersionsEnv<P> {
24
+ store: AgentBuilderStore<P>;
25
+ /** Insert into `latch_agents` bypassing the store, leaving published_version NULL. */
26
+ insertLegacyAgent(row: LegacyAgentRow): Promise<void>;
27
+ /** Re-run this dialect's migration (exercises backfill + its idempotency). */
28
+ remigrate(): Promise<void>;
29
+ }
30
+ export declare function agentVersionsSmoke<P>({ newEnv, p, ownerKey, assert, }: {
31
+ /** A fresh, migrated database each call — scenarios must not share state. */
32
+ newEnv: () => Promise<AgentVersionsEnv<P>>;
33
+ p: P;
34
+ /** The owner key `p` maps to at "user" scope, for the legacy-row insert. */
35
+ ownerKey: string;
36
+ assert: (cond: unknown, msg: string) => void;
37
+ }): Promise<void>;
38
+ //# sourceMappingURL=agent-versions.smoke.shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-versions.smoke.shared.d.ts","sourceRoot":"","sources":["../src/agent-versions.smoke.shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAe,MAAM,iCAAiC,CAAC;AAEtF;;;;;;;GAOG;AAEH,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5B,sFAAsF;IACtF,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,8EAA8E;IAC9E,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAeD,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,EAC1C,MAAM,EACN,CAAC,EACD,QAAQ,EACR,MAAM,GACP,EAAE;IACD,6EAA6E;IAC7E,MAAM,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,CAAC;IACL,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,GAAG,OAAO,CAAC,IAAI,CAAC,CA6ahB"}
@@ -0,0 +1,299 @@
1
+ /**
2
+ * Key-order-insensitive JSON, for comparing two spellings of one record. The
3
+ * store compares canonically, so a raw `JSON.stringify` comparison would fail on
4
+ * key order alone (the backfill builds its object in column order) while the
5
+ * store behaved correctly.
6
+ */
7
+ const stable = (v) => JSON.stringify(v, (_k, val) => val && typeof val === "object" && !Array.isArray(val)
8
+ ? Object.fromEntries(Object.entries(val).sort(([a], [b]) => (a < b ? -1 : 1)))
9
+ : val);
10
+ export async function agentVersionsSmoke({ newEnv, p, ownerKey, assert, }) {
11
+ const rec = (over = {}) => ({
12
+ name: "helper",
13
+ modelId: "m-1",
14
+ instructions: "help",
15
+ connections: [],
16
+ scope: "user",
17
+ ...over,
18
+ });
19
+ // A two-arg upsert still publishes — the builder agent's path must not regress.
20
+ {
21
+ const { store } = await newEnv();
22
+ await store.upsert(p, rec());
23
+ const vs = await store.listVersions(p, "helper", "user");
24
+ assert(vs.length === 1 && vs[0].version === 1, "default upsert appends v1");
25
+ assert(vs[0].published, "v1 is marked published");
26
+ assert(vs[0].source === "api", "source defaults to api");
27
+ assert((await store.resolve("helper", p))?.instructions === "help", "record is live");
28
+ }
29
+ // Appends on change only.
30
+ {
31
+ const { store } = await newEnv();
32
+ await store.upsert(p, rec({ instructions: "v1" }), { author: "u1", source: "editor" });
33
+ await store.upsert(p, rec({ instructions: "v2" }), { author: "u1", source: "editor" });
34
+ assert((await store.listVersions(p, "helper", "user")).length === 2, "changed content appends");
35
+ await store.upsert(p, rec({ instructions: "v2" }), { author: "u1", source: "editor" });
36
+ const vs = await store.listVersions(p, "helper", "user");
37
+ assert(vs.length === 2, "unchanged publish appends nothing");
38
+ assert(vs[0].version === 2 && vs[0].published, "head is still v2 and live");
39
+ assert(vs[0].author === "u1" && vs[0].source === "editor", "author/source recorded");
40
+ // Key order and empty arrays are spellings, not changes.
41
+ await store.upsert(p, {
42
+ scope: "user",
43
+ connections: [],
44
+ instructions: "v2",
45
+ modelId: "m-1",
46
+ name: "helper",
47
+ subagents: [],
48
+ });
49
+ assert((await store.listVersions(p, "helper", "user")).length === 2, "reordered keys / empty arrays are not a change");
50
+ }
51
+ // Rollback moves the pointer; it does NOT append. History stays a list of
52
+ // distinct configurations, so flipping between two of them cannot inflate it.
53
+ {
54
+ const { store } = await newEnv();
55
+ await store.upsert(p, rec({ instructions: "one" }));
56
+ await store.upsert(p, rec({ instructions: "two" }));
57
+ await store.upsert(p, rec({ instructions: "three" }));
58
+ await store.activateVersion(p, "helper", "user", 1);
59
+ const vs = await store.listVersions(p, "helper", "user");
60
+ assert(vs.length === 3, "activate appends no version");
61
+ assert(vs.find((v) => v.version === 1).published, "v1 is now the live version");
62
+ assert(!vs.find((v) => v.version === 3).published, "v3 is no longer live");
63
+ assert((await store.resolve("helper", p))?.instructions === "one", "live record carries the activated content");
64
+ assert((await store.getVersion(p, "helper", "user", 3))?.instructions === "three", "versions after the activated one survive");
65
+ // Reversible, and still no growth.
66
+ await store.activateVersion(p, "helper", "user", 3);
67
+ assert((await store.listVersions(p, "helper", "user")).length === 3, "flipping back and forth never grows history");
68
+ assert((await store.resolve("helper", p))?.instructions === "three", "activation is reversible");
69
+ // Activating what is already live is a no-op, not an error.
70
+ await store.activateVersion(p, "helper", "user", 3);
71
+ assert((await store.listVersions(p, "helper", "user")).length === 3, "activating the live version changes nothing");
72
+ // Publishing NEW content after a rollback still appends on top.
73
+ await store.activateVersion(p, "helper", "user", 1);
74
+ await store.upsert(p, rec({ instructions: "four" }));
75
+ const after = await store.listVersions(p, "helper", "user");
76
+ assert(after.length === 4 && after[0].version === 4, "new content appends after a rollback");
77
+ assert(after[0].published, "the new version is live");
78
+ let threw = false;
79
+ try {
80
+ await store.activateVersion(p, "helper", "user", 99);
81
+ }
82
+ catch {
83
+ threw = true;
84
+ }
85
+ assert(threw, "activating a missing version throws");
86
+ }
87
+ // changedFields + change message: a history list must be readable without
88
+ // fetching two snapshots and diffing them.
89
+ {
90
+ const { store } = await newEnv();
91
+ await store.upsert(p, rec({ instructions: "one" }), { source: "editor" });
92
+ const v1 = (await store.listVersions(p, "helper", "user"))[0];
93
+ assert(v1.changedFields === undefined, "v1 has nothing to have changed from");
94
+ assert(v1.message === undefined, "no message when none was given");
95
+ await store.upsert(p, rec({ instructions: "two" }), {
96
+ source: "editor",
97
+ message: " tightened refund wording ",
98
+ });
99
+ const v2 = (await store.listVersions(p, "helper", "user"))[0];
100
+ assert(JSON.stringify(v2.changedFields) === JSON.stringify(["instructions"]), `only instructions changed (got ${JSON.stringify(v2.changedFields)})`);
101
+ assert(v2.message === "tightened refund wording", "message is trimmed");
102
+ await store.upsert(p, rec({ instructions: "two", modelId: "m-2", subagents: ["helper2"] }), {
103
+ source: "editor",
104
+ message: " ",
105
+ });
106
+ const v3 = (await store.listVersions(p, "helper", "user"))[0];
107
+ assert(JSON.stringify(v3.changedFields) === JSON.stringify(["modelId", "subagents"]), `multi-field change is listed sorted (got ${JSON.stringify(v3.changedFields)})`);
108
+ assert(v3.message === undefined, "a blank message is stored as absent");
109
+ // changedFields must agree with the rule that decides whether to append at
110
+ // all — an empty-array/absent difference is neither a change nor a field.
111
+ await store.upsert(p, rec({ instructions: "two", modelId: "m-2", subagents: ["helper2"] }));
112
+ assert((await store.listVersions(p, "helper", "user")).length === 3, "an unchanged republish still appends nothing");
113
+ }
114
+ // Delete cascades.
115
+ {
116
+ const { store } = await newEnv();
117
+ await store.upsert(p, rec({ instructions: "one" }));
118
+ await store.upsert(p, rec({ instructions: "two" }));
119
+ await store.upsert(p, rec({ name: "keeper", instructions: "keep" }));
120
+ await store.remove(p, "user", "helper");
121
+ assert((await store.listVersions(p, "helper", "user")).length === 0, "delete cascades to versions");
122
+ assert(!(await store.getVersion(p, "helper", "user", 1)), "no version survives the delete");
123
+ assert((await store.listVersions(p, "keeper", "user")).length === 1, "a sibling agent's history is untouched");
124
+ await store.upsert(p, rec({ instructions: "reborn" }));
125
+ const vs = await store.listVersions(p, "helper", "user");
126
+ assert(vs.length === 1 && vs[0].version === 1, "recreated agent starts at v1");
127
+ }
128
+ // Concurrent publishes race for max+1; the UNIQUE index arbitrates, losers retry.
129
+ {
130
+ const { store } = await newEnv();
131
+ const n = 8;
132
+ await Promise.all(Array.from({ length: n }, (_, i) => store.upsert(p, rec({ instructions: `concurrent-${i}` }), { author: `u${i}` })));
133
+ const vs = await store.listVersions(p, "helper", "user");
134
+ const numbers = vs.map((v) => v.version).sort((a, b) => a - b);
135
+ assert(vs.length === n, `all ${n} concurrent publishes appended (got ${vs.length})`);
136
+ assert(numbers.every((v, i) => v === i + 1), `versions are contiguous 1..${n} (got ${numbers.join(",")})`);
137
+ assert(vs.filter((v) => v.published).length === 1, "exactly one version is live");
138
+ }
139
+ // The migration rescues rows written before versioning existed. Without it the
140
+ // first publish would create v1 from the NEW content and the prompt that was
141
+ // already running would be gone — the failure history exists to prevent.
142
+ {
143
+ const env = await newEnv();
144
+ const { store } = env;
145
+ await env.insertLegacyAgent({
146
+ owner: ownerKey,
147
+ name: "legacy",
148
+ title: "Legacy",
149
+ modelId: "m-legacy",
150
+ instructions: "the prompt that was already running",
151
+ connections: ["github"],
152
+ exec: { sandbox: true },
153
+ maxSteps: 0, // column-encoded "unlimited"
154
+ createdAt: 100,
155
+ });
156
+ assert((await store.listVersions(p, "legacy", "user")).length === 0, "a legacy row starts with no history");
157
+ await env.remigrate();
158
+ const vs = await store.listVersions(p, "legacy", "user");
159
+ assert(vs.length === 1 && vs[0].version === 1, "backfill creates exactly v1");
160
+ assert(vs[0].source === "backfill", "backfill row is labelled");
161
+ assert(vs[0].published, "the live row points at the backfilled version");
162
+ assert(vs[0].createdAt === 100, "backfill keeps the agent's original timestamp");
163
+ const v1 = (await store.getVersion(p, "legacy", "user", 1));
164
+ const live = (await store.getRecord(p, "legacy"));
165
+ assert(v1.instructions === "the prompt that was already running", "instructions backfilled");
166
+ assert(v1.modelId === "m-legacy" && v1.title === "Legacy", "scalar columns backfilled");
167
+ assert(v1.connections[0] === "github", "json columns embed as JSON, not as a quoted string");
168
+ assert(v1.exec?.sandbox === true, "nested json backfilled");
169
+ assert(v1.maxSteps === "unlimited", "column-encoded max_steps decodes to its record form");
170
+ assert(v1.subagents === undefined, "NULL columns become absent, not null");
171
+ assert(stable(v1) === stable(live), `backfilled v1 round-trips to the live record\n v1: ${stable(v1)}\n live: ${stable(live)}`);
172
+ await env.remigrate();
173
+ assert((await store.listVersions(p, "legacy", "user")).length === 1, "backfill is idempotent");
174
+ await store.upsert(p, live, { source: "editor" });
175
+ assert((await store.listVersions(p, "legacy", "user")).length === 1, "republishing a backfilled record unchanged appends nothing");
176
+ await store.upsert(p, { ...live, instructions: "edited" }, { source: "editor" });
177
+ const after = await store.listVersions(p, "legacy", "user");
178
+ assert(after.length === 2 && after[0].version === 2, "a real edit appends v2");
179
+ assert((await store.getVersion(p, "legacy", "user", 1))?.instructions ===
180
+ "the prompt that was already running", "the original prompt is still a rollback target");
181
+ }
182
+ // The publish timeline: versions are the distinct CONFIGURATIONS, activations
183
+ // are what was live when. Activating appends no version, so only the timeline
184
+ // records that a rollback happened at all.
185
+ {
186
+ const { store } = await newEnv();
187
+ await store.upsert(p, rec({ instructions: "one" }), { author: "u_a" });
188
+ await store.upsert(p, rec({ instructions: "two" }), { author: "u_b" });
189
+ await store.activateVersion(p, "helper", "user", 1, { actor: "u_c" });
190
+ await store.upsert(p, rec({ instructions: "three" }), { author: "u_a" });
191
+ const log = await store.listActivations(p, "helper", "user");
192
+ assert(log.length === 4, `every publish and activation is recorded (got ${log.length})`);
193
+ assert(log[0].version === 3 && log[0].source === "publish", "newest first: v3 published");
194
+ assert(log[1].version === 1 && log[1].source === "activate", "the rollback is recorded");
195
+ assert(log[1].actor === "u_c", "who rolled back is recorded");
196
+ assert(log[3].version === 1 && log[3].source === "publish", "oldest is the first publish");
197
+ assert((await store.listVersions(p, "helper", "user")).length === 3, "the timeline is longer than the version list — that is the point");
198
+ assert((await store.listActivations(p, "helper", "user", 2)).length === 2, "limit applies");
199
+ // An unchanged republish publishes nothing, so it activates nothing.
200
+ await store.upsert(p, rec({ instructions: "three" }), { author: "u_a" });
201
+ assert((await store.listActivations(p, "helper", "user")).length === 4, "a no-op publish adds no timeline entry");
202
+ }
203
+ // Drafts: per editor, never live, and cascading with the agent.
204
+ {
205
+ const { store } = await newEnv();
206
+ await store.upsert(p, rec({ instructions: "published" }));
207
+ assert(!(await store.getDraft(p, "helper", "user")), "no draft to begin with");
208
+ await store.saveDraft(p, "helper", "user", rec({ instructions: "work in progress" }), 1);
209
+ const draft = (await store.getDraft(p, "helper", "user"));
210
+ assert(draft.record.instructions === "work in progress", "draft round-trips");
211
+ assert(draft.baseVersion === 1, "base version is kept for the staleness check");
212
+ assert((await store.resolve("helper", p))?.instructions === "published", "a draft does NOT affect the running agent");
213
+ assert((await store.listVersions(p, "helper", "user")).length === 1, "saving a draft appends no version");
214
+ // Overwrite, then discard.
215
+ await store.saveDraft(p, "helper", "user", rec({ instructions: "second pass" }), 1);
216
+ assert((await store.getDraft(p, "helper", "user"))?.record.instructions === "second pass", "saving again replaces the working copy");
217
+ await store.discardDraft(p, "helper", "user");
218
+ assert(!(await store.getDraft(p, "helper", "user")), "discard removes it");
219
+ // listDrafts sees the caller's own and a colleague's, with content withheld.
220
+ await store.saveDraft(p, "helper", "user", rec({ instructions: "mine" }), 1);
221
+ const summaries = await store.listDrafts(p);
222
+ assert(summaries.length === 1, "one draft visible");
223
+ assert(summaries[0].name === "helper" && summaries[0].mine, "the caller's own draft");
224
+ assert(!("record" in summaries[0]), "summaries carry no content");
225
+ // Deleting the agent takes drafts and the timeline with it.
226
+ await store.remove(p, "user", "helper");
227
+ assert(!(await store.getDraft(p, "helper", "user")), "delete cascades to drafts");
228
+ assert((await store.listActivations(p, "helper", "user")).length === 0, "delete cascades to the timeline");
229
+ }
230
+ // `resolve` carries the live version onto the config, which is how a run and
231
+ // its trace end up attributable to an exact configuration.
232
+ {
233
+ const { store } = await newEnv();
234
+ await store.upsert(p, rec({ instructions: "one" }));
235
+ assert((await store.resolve("helper", p))?.configVersion === 1, "resolve carries the published version");
236
+ await store.upsert(p, rec({ instructions: "two" }));
237
+ assert((await store.resolve("helper", p))?.configVersion === 2, "it tracks new publishes");
238
+ // Rollback moves the pointer, so the config must follow it — otherwise a run
239
+ // after a rollback would be filed under a version it did not execute.
240
+ await store.activateVersion(p, "helper", "user", 1);
241
+ const rolledBack = await store.resolve("helper", p);
242
+ assert(rolledBack?.configVersion === 1, "it follows a rollback");
243
+ assert(rolledBack?.instructions === "one", "and matches the content served");
244
+ }
245
+ // The editor's whole lifecycle, in the order a person actually does it. This
246
+ // is the closest thing to clicking through the UI: every step below is the
247
+ // same store call the platform's server functions make.
248
+ {
249
+ const { store } = await newEnv();
250
+ // 1. Create the agent — first publish is v1 and goes live immediately.
251
+ await store.upsert(p, rec({ instructions: "v1 prompt" }), { source: "editor", author: "u1" });
252
+ assert((await store.resolve("helper", p))?.instructions === "v1 prompt", "created and live");
253
+ // 2. Open the editor and type. Autosave writes a draft based on v1.
254
+ await store.saveDraft(p, "helper", "user", rec({ instructions: "work in progress" }), 1);
255
+ assert((await store.resolve("helper", p))?.instructions === "v1 prompt", "typing does not touch the running agent");
256
+ // 3. Meanwhile a colleague publishes v2 through the agent builder.
257
+ await store.upsert(p, rec({ instructions: "colleague edit" }), {
258
+ source: "builder-agent",
259
+ author: "u2",
260
+ });
261
+ // 4. Back in the editor, publishing must be recognised as STALE: the draft
262
+ // is based on v1 but v2 is live. This is the comparison the server fn makes.
263
+ const draft = (await store.getDraft(p, "helper", "user"));
264
+ const liveNow = (await store.listVersions(p, "helper", "user")).find((v) => v.published);
265
+ assert(draft.baseVersion === 1, "draft remembers what it was based on");
266
+ assert(liveNow.version === 2, "v2 is live");
267
+ assert(draft.baseVersion !== liveNow.version, "stale publish is detectable");
268
+ assert(liveNow.author === "u2", "and we can say who published it");
269
+ // 5. Publish anyway — v3, and the draft is spent.
270
+ await store.upsert(p, draft.record, { source: "editor", author: "u1" });
271
+ await store.discardDraft(p, "helper", "user");
272
+ assert(!(await store.getDraft(p, "helper", "user")), "publishing consumes the draft");
273
+ assert((await store.resolve("helper", p))?.instructions === "work in progress", "the published draft is now live");
274
+ // 6. That was wrong — roll back to the colleague's v2. Pointer move only.
275
+ await store.activateVersion(p, "helper", "user", 2, { actor: "u1" });
276
+ assert((await store.resolve("helper", p))?.instructions === "colleague edit", "rollback is live immediately");
277
+ const vs = await store.listVersions(p, "helper", "user");
278
+ assert(vs.length === 3, "rollback appended nothing");
279
+ assert(vs.find((v) => v.version === 2).published, "v2 is live again");
280
+ // 7. The timeline tells the whole story; the version list does not.
281
+ const log = await store.listActivations(p, "helper", "user");
282
+ assert(log.length === 4, `4 things went live (got ${log.length})`);
283
+ assert(log[0].version === 2 && log[0].source === "activate", "newest: rolled back to v2");
284
+ assert(log[0].actor === "u1", "by whom");
285
+ assert(log[1].version === 3 && log[1].source === "publish", "before that, v3 was published");
286
+ assert(log.filter((a) => a.version === 2).length === 2, "v2 went live twice — published once, restored once");
287
+ }
288
+ // History is per (owner, name): personal and org agents never share one.
289
+ {
290
+ const { store } = await newEnv();
291
+ await store.upsert(p, rec({ name: "dual", instructions: "personal", scope: "user" }));
292
+ await store.upsert(p, rec({ name: "dual", instructions: "org", scope: "org" }));
293
+ assert((await store.listVersions(p, "dual", "user")).length === 1 &&
294
+ (await store.listVersions(p, "dual", "org")).length === 1, "same name at two scopes keeps two histories");
295
+ assert((await store.getVersion(p, "dual", "user", 1))?.instructions === "personal", "personal history holds the personal record");
296
+ assert((await store.getVersion(p, "dual", "org", 1))?.instructions === "org", "org history holds the org record");
297
+ }
298
+ }
299
+ //# sourceMappingURL=agent-versions.smoke.shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-versions.smoke.shared.js","sourceRoot":"","sources":["../src/agent-versions.smoke.shared.ts"],"names":[],"mappings":"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"}