@struere/cli 0.2.7 → 0.2.9

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":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAc,eAAe,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE1D,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,CAAC;KACrD,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,EAAE,KAAK,CAAC;KACtE,MAAM,CAAC,WAAW,EAAE,qBAAqB,CAAC;KAC1C,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC;KACnD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAA;IACrB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAEzB,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAC7C,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAClD,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAA;QACpG,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAA;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACjE,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAEtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,CAAA;IAE1D,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAEvC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAE9B,IAAI,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;IAEhC,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,CAAA;IAE/C,MAAM,WAAW,GAAG,eAAe,EAAE,CAAA;IACrC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC7B,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAC1F,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAChE,CAAC,CAAC,CAAA;AAEJ,KAAK,UAAU,WAAW,CACxB,KAAwE,EACxE,OAAiF,EACjF,GAAW,EACX,IAAY,EACZ,OAA2C,EAC3C,OAA+B;IAE/B,MAAM,WAAW,GAAG,eAAe,EAAE,CAAA;IACrC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAE5C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,OAAO,cAAc,CAAC,CAAA;IAElD,IAAI,QAAQ,GAAkB,IAAI,CAAA;IAClC,IAAI,SAAS,GAAkB,IAAI,CAAA;IACnC,IAAI,WAAW,GAAG,KAAK,CAAA;IAEvB,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;QACf,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACrB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM,IAAI,WAAW,EAAE,KAAK;SACrC,CAAC,CAAC,CAAA;IACL,CAAC,CAAA;IAED,EAAE,CAAC,SAAS,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAc,CAS3C,CAAA;QAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,eAAe;gBAClB,OAAO,CAAC,IAAI,GAAG,eAAe,CAAA;gBAC9B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;gBACrC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;gBACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;oBAC7B,MAAM;oBACN,UAAU;iBACX,CAAC,CAAC,CAAA;gBACH,MAAK;YAEP,KAAK,QAAQ;gBACX,WAAW,GAAG,IAAI,CAAA;gBAClB,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAA;gBAC3B,SAAS,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAA;gBAChC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAA;gBAC7C,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;gBACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAA;gBACnF,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACrC,MAAK;YAEP,KAAK,KAAK;gBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;oBACjD,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;wBACtC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;4BACrC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;gBACd,OAAO,CAAC,IAAI,EAAE,CAAA;gBACd,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;gBACtD,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACrC,MAAK;YAEP,KAAK,OAAO;gBACV,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;oBACzE,OAAO,CAAC,GAAG,EAAE,CAAA;oBACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;gBAC5F,CAAC;gBACD,MAAK;QACT,CAAC;IACH,CAAC,CAAA;IAED,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;QAChB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAA;IAED,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;QAChB,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,EAAE,CAAA;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAA;QACtD,CAAC;IACH,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;QACvB,IAAI;QACJ,KAAK,CAAC,KAAK,CAAC,GAAG;YACb,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAE5B,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,QAAQ,CAAC,IAAI,CAAC;oBACnB,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,IAAI,EAAE,OAAO;oBACb,QAAQ;iBACT,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1D,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC5B,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;gBAC5E,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAoE,CAAA;gBAE/F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,6BAA6B,WAAW,SAAS,OAAO,EAAE;oBAC3H,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,eAAe,EAAE,UAAU,MAAM,IAAI,WAAW,EAAE,KAAK,EAAE;qBAC1D;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;iBAC3B,CAAC,CAAA;gBAEF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;wBACjC,OAAO,EAAE;4BACP,cAAc,EAAE,mBAAmB;4BACnC,eAAe,EAAE,UAAU;4BAC3B,YAAY,EAAE,YAAY;yBAC3B;qBACF,CAAC,CAAA;gBACJ,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACpC,CAAC;YAED,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtD,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;oBAC7D,OAAO,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE;iBACzC,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QACnD,CAAC;KACF,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,oBAAoB,IAAI,EAAE,CAAA;QAC1C,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QAC9B,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,EAAE;QACjF,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE,cAAc;KACxB,CAAC,CAAA;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAClC,OAAO,CAAC,IAAI,GAAG,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAA;QACpD,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;YAC5B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;YAErC,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;oBAC7B,MAAM;oBACN,UAAU;iBACX,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAA;YACrC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACvC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;YAC3C,EAAE,CAAC,KAAK,EAAE,CAAA;QACZ,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,MAAM,CAAC,IAAI,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC;QAC7B,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;IAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACvC,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;QAClC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB,EAAE,IAAuB,EAAE,QAAwB;IACtF,MAAM,SAAS,GAAG,IAAI,KAAK,OAAO;QAChC,CAAC,CAAC,6CAA6C,QAAQ,CAAC,CAAC,CAAC,eAAe,QAAQ,6CAA6C,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACnJ,CAAC,CAAC,4CAA4C,CAAA;IAEhD,OAAO;;;;;WAKE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4BV,SAAS;yBACM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6I1B,CAAA;AACR,CAAC"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -905,7 +905,7 @@ import { Command as Command3 } from "commander";
905
905
  import chalk3 from "chalk";
906
906
  import ora3 from "ora";
907
907
  import chokidar from "chokidar";
908
- import { join as join7 } from "path";
908
+ import { join as join7, basename as basename2 } from "path";
909
909
 
910
910
  // src/utils/config.ts
911
911
  import { join as join5 } from "path";
@@ -976,20 +976,23 @@ async function loadAgent(cwd) {
976
976
  }
977
977
 
978
978
  // src/commands/dev.ts
979
- var devCommand = new Command3("dev").description("Start development server with cloud sync").option("-p, --port <port>", "Port to run on", "3000").option("-c, --channel <channel>", "Channel to open (web, api)", "web").option("--no-open", "Do not open browser").option("--local", "Run locally without cloud sync").action(async (options) => {
979
+ var devCommand = new Command3("dev").description("Sync agent to development environment").action(async () => {
980
980
  const spinner = ora3();
981
981
  const cwd = process.cwd();
982
982
  console.log();
983
- console.log(chalk3.bold("Struere Dev Server"));
983
+ console.log(chalk3.bold("Struere Dev"));
984
984
  console.log();
985
+ let project = loadProject(cwd);
985
986
  if (!hasProject(cwd)) {
986
987
  console.log(chalk3.yellow("No struere.json found"));
987
988
  console.log();
988
- console.log(chalk3.gray("Run"), chalk3.cyan("struere init"), chalk3.gray("to initialize this project"));
989
- console.log();
990
- process.exit(1);
989
+ const setupResult = await interactiveSetup(cwd);
990
+ if (!setupResult) {
991
+ process.exit(0);
992
+ }
993
+ project = setupResult;
991
994
  }
992
- const project = loadProject(cwd);
995
+ project = loadProject(cwd);
993
996
  if (!project) {
994
997
  console.log(chalk3.red("Failed to load struere.json"));
995
998
  process.exit(1);
@@ -997,8 +1000,7 @@ var devCommand = new Command3("dev").description("Start development server with
997
1000
  console.log(chalk3.gray("Agent:"), chalk3.cyan(project.agent.name));
998
1001
  console.log();
999
1002
  spinner.start("Loading configuration");
1000
- const config = await loadConfig(cwd);
1001
- const port = parseInt(options.port) || config.port || 3000;
1003
+ await loadConfig(cwd);
1002
1004
  spinner.succeed("Configuration loaded");
1003
1005
  spinner.start("Loading agent");
1004
1006
  let agent = await loadAgent(cwd);
@@ -1012,16 +1014,10 @@ var devCommand = new Command3("dev").description("Start development server with
1012
1014
  console.log();
1013
1015
  process.exit(1);
1014
1016
  }
1015
- await runCloudDev(agent, project, cwd, port, options, spinner);
1016
- });
1017
- async function runCloudDev(agent, project, cwd, port, options, spinner) {
1018
- const credentials = loadCredentials();
1019
- const apiKey = getApiKey();
1020
1017
  spinner.start("Connecting to Struere Cloud");
1021
1018
  const syncUrl = getSyncUrl();
1022
1019
  const ws = new WebSocket(`${syncUrl}/v1/dev/sync`);
1023
1020
  let cloudUrl = null;
1024
- let sessionId = null;
1025
1021
  let isConnected = false;
1026
1022
  ws.onopen = () => {
1027
1023
  ws.send(JSON.stringify({
@@ -1047,23 +1043,19 @@ async function runCloudDev(agent, project, cwd, port, options, spinner) {
1047
1043
  case "synced":
1048
1044
  isConnected = true;
1049
1045
  cloudUrl = data.url || null;
1050
- sessionId = data.agentId || null;
1051
- spinner.succeed("Connected to Struere Cloud");
1046
+ spinner.succeed("Synced to development");
1047
+ console.log();
1048
+ console.log(chalk3.green("Development URL:"), chalk3.cyan(cloudUrl));
1052
1049
  console.log();
1053
- console.log(chalk3.gray("Mode:"), chalk3.green("Cloud"));
1054
- console.log(chalk3.green("Agent running at"), chalk3.cyan(cloudUrl));
1055
- console.log(chalk3.green("Local server at"), chalk3.cyan(`http://localhost:${port}`));
1050
+ console.log(chalk3.gray("Watching for changes... Press Ctrl+C to stop"));
1056
1051
  console.log();
1057
- spinner.start("Watching for changes");
1058
1052
  break;
1059
1053
  case "log":
1060
1054
  const logColor = data.level === "error" ? chalk3.red : data.level === "warn" ? chalk3.yellow : data.level === "debug" ? chalk3.gray : chalk3.blue;
1061
- spinner.stop();
1062
1055
  console.log(logColor(`[${data.level}]`), data.message);
1063
- spinner.start("Watching for changes");
1064
1056
  break;
1065
1057
  case "error":
1066
- spinner.fail(`Cloud error: ${data.message}`);
1058
+ spinner.fail(`Error: ${data.message}`);
1067
1059
  if (data.code === "INVALID_API_KEY" || data.code === "NOT_AUTHENTICATED") {
1068
1060
  console.log();
1069
1061
  console.log(chalk3.gray("Run"), chalk3.cyan("struere login"), chalk3.gray("to authenticate"));
@@ -1072,74 +1064,20 @@ async function runCloudDev(agent, project, cwd, port, options, spinner) {
1072
1064
  }
1073
1065
  };
1074
1066
  ws.onerror = () => {
1075
- spinner.fail("WebSocket error");
1076
- console.log(chalk3.red("Connection error"));
1067
+ spinner.fail("Connection error");
1077
1068
  };
1078
1069
  ws.onclose = () => {
1079
1070
  if (isConnected) {
1080
- spinner.stop();
1081
1071
  console.log(chalk3.yellow("Disconnected from cloud"));
1082
1072
  }
1083
1073
  };
1084
- const server = Bun.serve({
1085
- port,
1086
- async fetch(req) {
1087
- const url = new URL(req.url);
1088
- if (url.pathname === "/health") {
1089
- return Response.json({
1090
- status: "ok",
1091
- agent: agent.name,
1092
- mode: "cloud",
1093
- cloudUrl
1094
- });
1095
- }
1096
- if (url.pathname === "/api/chat" && req.method === "POST") {
1097
- if (!cloudUrl || !sessionId) {
1098
- return Response.json({ error: "Not connected to cloud" }, { status: 503 });
1099
- }
1100
- const body = await req.json();
1101
- const response = await fetch(`${process.env.STRUERE_GATEWAY_URL || "https://gateway.struere.dev"}/v1/dev/${sessionId}/chat`, {
1102
- method: "POST",
1103
- headers: {
1104
- "Content-Type": "application/json",
1105
- Authorization: `Bearer ${apiKey || credentials?.token}`
1106
- },
1107
- body: JSON.stringify(body)
1108
- });
1109
- if (body.stream) {
1110
- return new Response(response.body, {
1111
- headers: {
1112
- "Content-Type": "text/event-stream",
1113
- "Cache-Control": "no-cache",
1114
- Connection: "keep-alive"
1115
- }
1116
- });
1117
- }
1118
- const responseData = await response.json();
1119
- return Response.json(responseData);
1120
- }
1121
- if (url.pathname === "/" && options.channel === "web") {
1122
- return new Response(getDevHtml(agent.name, "cloud", cloudUrl), {
1123
- headers: { "Content-Type": "text/html" }
1124
- });
1125
- }
1126
- return new Response("Not Found", { status: 404 });
1127
- }
1128
- });
1129
- if (options.channel === "web" && options.open) {
1130
- const openUrl = `http://localhost:${port}`;
1131
- if (process.platform === "darwin") {
1132
- Bun.spawn(["open", openUrl]);
1133
- } else if (process.platform === "linux") {
1134
- Bun.spawn(["xdg-open", openUrl]);
1135
- }
1136
- }
1137
1074
  const watcher = chokidar.watch([join7(cwd, "src"), join7(cwd, "struere.config.ts")], {
1138
1075
  ignoreInitial: true,
1139
1076
  ignored: /node_modules/
1140
1077
  });
1141
1078
  watcher.on("change", async (path) => {
1142
- spinner.text = `Syncing (${path.replace(cwd, ".")})`;
1079
+ const relativePath = path.replace(cwd, ".");
1080
+ console.log(chalk3.gray(`Changed: ${relativePath}`));
1143
1081
  try {
1144
1082
  agent = await loadAgent(cwd);
1145
1083
  const bundle = await bundleAgent(cwd);
@@ -1154,23 +1092,20 @@ async function runCloudDev(agent, project, cwd, port, options, spinner) {
1154
1092
  }));
1155
1093
  }
1156
1094
  } catch (error) {
1157
- spinner.fail(`Sync failed: ${error}`);
1158
- spinner.start("Watching for changes");
1095
+ console.log(chalk3.red("Sync failed:"), error);
1159
1096
  }
1160
1097
  });
1161
1098
  process.on("SIGINT", () => {
1162
1099
  console.log();
1163
- spinner.stop();
1164
1100
  if (ws.readyState === WebSocket.OPEN) {
1165
1101
  ws.send(JSON.stringify({ type: "unsync" }));
1166
1102
  ws.close();
1167
1103
  }
1168
1104
  watcher.close();
1169
- server.stop();
1170
- console.log(chalk3.gray("Server stopped"));
1105
+ console.log(chalk3.gray("Stopped"));
1171
1106
  process.exit(0);
1172
1107
  });
1173
- }
1108
+ });
1174
1109
  async function bundleAgent(cwd) {
1175
1110
  const result = await Bun.build({
1176
1111
  entrypoints: [join7(cwd, "src", "agent.ts")],
@@ -1192,184 +1127,144 @@ function hashString(str) {
1192
1127
  }
1193
1128
  return Math.abs(hash).toString(16);
1194
1129
  }
1195
- function getDevHtml(agentName, mode, cloudUrl) {
1196
- const modeLabel = mode === "cloud" ? `<span style="color: #22c55e;">Cloud</span>${cloudUrl ? ` - <a href="${cloudUrl}" target="_blank" style="color: #60a5fa;">${cloudUrl}</a>` : ""}` : '<span style="color: #eab308;">Local</span>';
1197
- return `<!DOCTYPE html>
1198
- <html lang="en">
1199
- <head>
1200
- <meta charset="UTF-8">
1201
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
1202
- <title>${agentName} - Dev</title>
1203
- <style>
1204
- * { box-sizing: border-box; margin: 0; padding: 0; }
1205
- body { font-family: system-ui, -apple-system, sans-serif; background: #0a0a0a; color: #fafafa; height: 100vh; display: flex; flex-direction: column; }
1206
- header { padding: 1rem; border-bottom: 1px solid #333; display: flex; justify-content: space-between; align-items: center; }
1207
- header h1 { font-size: 1rem; font-weight: 500; }
1208
- header .mode { font-size: 0.875rem; }
1209
- header a { text-decoration: none; }
1210
- #messages { flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: 0.75rem; }
1211
- .message { max-width: 80%; padding: 0.75rem 1rem; border-radius: 0.75rem; line-height: 1.5; white-space: pre-wrap; }
1212
- .message.user { align-self: flex-end; background: #2563eb; }
1213
- .message.assistant { align-self: flex-start; background: #27272a; }
1214
- .message.tool { align-self: flex-start; background: #1e3a5f; font-family: monospace; font-size: 0.875rem; border-left: 3px solid #3b82f6; }
1215
- .message.streaming { opacity: 0.9; }
1216
- form { padding: 1rem; border-top: 1px solid #333; display: flex; gap: 0.5rem; }
1217
- input { flex: 1; padding: 0.75rem 1rem; background: #18181b; border: 1px solid #333; border-radius: 0.5rem; color: #fafafa; font-size: 1rem; outline: none; }
1218
- input:focus { border-color: #2563eb; }
1219
- input:disabled { opacity: 0.5; }
1220
- button { padding: 0.75rem 1.5rem; background: #2563eb; border: none; border-radius: 0.5rem; color: white; font-size: 1rem; cursor: pointer; }
1221
- button:hover { background: #1d4ed8; }
1222
- button:disabled { opacity: 0.5; cursor: not-allowed; }
1223
- .toggle-container { padding: 0.5rem 1rem; display: flex; align-items: center; gap: 0.5rem; border-top: 1px solid #333; }
1224
- .toggle-container label { font-size: 0.875rem; color: #888; }
1225
- .toggle-container input[type="checkbox"] { width: 1rem; height: 1rem; }
1226
- </style>
1227
- </head>
1228
- <body>
1229
- <header>
1230
- <h1>${agentName}</h1>
1231
- <span class="mode">${modeLabel}</span>
1232
- </header>
1233
- <div id="messages"></div>
1234
- <div class="toggle-container">
1235
- <input type="checkbox" id="stream-toggle" checked />
1236
- <label for="stream-toggle">Enable streaming</label>
1237
- </div>
1238
- <form id="chat-form">
1239
- <input type="text" id="input" placeholder="Type a message..." autocomplete="off" />
1240
- <button type="submit">Send</button>
1241
- </form>
1242
- <script>
1243
- const messages = document.getElementById('messages');
1244
- const form = document.getElementById('chat-form');
1245
- const input = document.getElementById('input');
1246
- const button = form.querySelector('button');
1247
- const streamToggle = document.getElementById('stream-toggle');
1248
- let conversationId = null;
1249
- let isProcessing = false;
1250
-
1251
- function addMessage(role, content, isStreaming = false) {
1252
- const div = document.createElement('div');
1253
- div.className = 'message ' + role + (isStreaming ? ' streaming' : '');
1254
- div.textContent = content;
1255
- messages.appendChild(div);
1256
- messages.scrollTop = messages.scrollHeight;
1257
- return div;
1130
+ async function interactiveSetup(cwd) {
1131
+ const spinner = ora3();
1132
+ let credentials = loadCredentials();
1133
+ if (!credentials) {
1134
+ console.log(chalk3.gray("Authentication required"));
1135
+ console.log();
1136
+ credentials = await performLogin();
1137
+ if (!credentials) {
1138
+ console.log(chalk3.red("Authentication failed"));
1139
+ return null;
1258
1140
  }
1259
-
1260
- function setProcessing(processing) {
1261
- isProcessing = processing;
1262
- input.disabled = processing;
1263
- button.disabled = processing;
1141
+ } else {
1142
+ console.log(chalk3.green("\u2713"), "Logged in as", chalk3.cyan(credentials.user.name));
1143
+ console.log();
1144
+ }
1145
+ spinner.start("Fetching agents");
1146
+ const api = new ApiClient;
1147
+ let agents = [];
1148
+ try {
1149
+ const { agents: existingAgents } = await api.listAgents();
1150
+ agents = existingAgents;
1151
+ spinner.succeed(`Found ${agents.length} existing agent(s)`);
1152
+ } catch (error) {
1153
+ if (error instanceof ApiError && error.status === 401) {
1154
+ spinner.fail("Session expired");
1155
+ console.log();
1156
+ console.log(chalk3.gray("Run"), chalk3.cyan("struere login"), chalk3.gray("to re-authenticate"));
1157
+ return null;
1264
1158
  }
1265
-
1266
- async function sendWithStreaming(message) {
1267
- const assistantDiv = addMessage('assistant', '', true);
1268
-
1269
- const response = await fetch('/api/chat', {
1270
- method: 'POST',
1271
- headers: { 'Content-Type': 'application/json' },
1272
- body: JSON.stringify({ message, conversationId, stream: true }),
1159
+ spinner.succeed("Ready to create agent");
1160
+ }
1161
+ console.log();
1162
+ const choices = [
1163
+ { value: "link", label: "Link to an existing agent" },
1164
+ { value: "create", label: "Create a new agent" },
1165
+ { value: "cancel", label: "Cancel" }
1166
+ ];
1167
+ if (agents.length === 0) {
1168
+ choices.shift();
1169
+ }
1170
+ const action = await promptChoice2("No agent configured. Would you like to:", choices);
1171
+ if (action === "cancel") {
1172
+ console.log();
1173
+ console.log(chalk3.gray("Run"), chalk3.cyan("struere init"), chalk3.gray("when ready to set up"));
1174
+ return null;
1175
+ }
1176
+ let selectedAgent = null;
1177
+ if (action === "link" && agents.length > 0) {
1178
+ console.log();
1179
+ const agentChoices = agents.map((a) => ({ value: a.id, label: `${a.name} (${a.slug})` }));
1180
+ const agentId = await promptChoice2("Select an agent:", agentChoices);
1181
+ selectedAgent = agents.find((a) => a.id === agentId) || null;
1182
+ } else if (action === "create") {
1183
+ console.log();
1184
+ const projectName = slugify2(basename2(cwd));
1185
+ const name = await promptText2("Agent name:", projectName);
1186
+ const displayName = name.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
1187
+ spinner.start("Creating agent");
1188
+ try {
1189
+ const { agent } = await api.createAgent({
1190
+ name: displayName,
1191
+ slug: name,
1192
+ description: `${displayName} Agent`
1273
1193
  });
1274
-
1275
- const reader = response.body.getReader();
1276
- const decoder = new TextDecoder();
1277
- let buffer = '';
1278
- let fullText = '';
1279
-
1280
- while (true) {
1281
- const { done, value } = await reader.read();
1282
- if (done) break;
1283
-
1284
- buffer += decoder.decode(value, { stream: true });
1285
- const lines = buffer.split('\\n');
1286
- buffer = lines.pop() || '';
1287
-
1288
- for (const line of lines) {
1289
- if (line.startsWith('data: ')) {
1290
- try {
1291
- const data = JSON.parse(line.slice(6));
1292
-
1293
- if (data.conversationId) {
1294
- conversationId = data.conversationId;
1295
- }
1296
-
1297
- if (data.type === 'text-delta' && (data.textDelta || data.content)) {
1298
- fullText += data.textDelta || data.content;
1299
- assistantDiv.textContent = fullText;
1300
- messages.scrollTop = messages.scrollHeight;
1301
- } else if (data.type === 'tool-call-start') {
1302
- addMessage('tool', 'Calling tool: ' + (data.toolName || data.toolCall?.name));
1303
- } else if (data.type === 'tool-result') {
1304
- const resultText = typeof data.toolResult === 'string'
1305
- ? data.toolResult
1306
- : JSON.stringify(data.toolResult || data.toolCall?.result, null, 2);
1307
- addMessage('tool', 'Result: ' + resultText);
1308
- } else if (data.type === 'finish') {
1309
- assistantDiv.classList.remove('streaming');
1310
- } else if (data.type === 'error') {
1311
- assistantDiv.textContent = 'Error: ' + (data.error || data.message);
1312
- assistantDiv.classList.remove('streaming');
1313
- }
1314
- } catch (e) {}
1315
- }
1316
- }
1317
- }
1318
-
1319
- if (!fullText) {
1320
- assistantDiv.remove();
1194
+ selectedAgent = { id: agent.id, name: displayName, slug: name };
1195
+ spinner.succeed(`Created agent "${name}"`);
1196
+ } catch (error) {
1197
+ spinner.fail("Failed to create agent");
1198
+ console.log();
1199
+ if (error instanceof ApiError) {
1200
+ console.log(chalk3.red("Error:"), error.message);
1201
+ } else {
1202
+ console.log(chalk3.red("Error:"), error instanceof Error ? error.message : String(error));
1321
1203
  }
1204
+ return null;
1322
1205
  }
1323
-
1324
- async function sendWithoutStreaming(message) {
1325
- const res = await fetch('/api/chat', {
1326
- method: 'POST',
1327
- headers: { 'Content-Type': 'application/json' },
1328
- body: JSON.stringify({ message, conversationId }),
1329
- });
1330
- const data = await res.json();
1331
- conversationId = data.conversationId;
1332
-
1333
- if (data.toolCalls && data.toolCalls.length > 0) {
1334
- for (const tc of data.toolCalls) {
1335
- const resultText = typeof tc.result === 'string'
1336
- ? tc.result
1337
- : JSON.stringify(tc.result, null, 2);
1338
- addMessage('tool', tc.name + ': ' + resultText);
1339
- }
1340
- }
1341
-
1342
- addMessage('assistant', data.response || data.content);
1206
+ }
1207
+ if (!selectedAgent) {
1208
+ return null;
1209
+ }
1210
+ const projectData = {
1211
+ agentId: selectedAgent.id,
1212
+ team: credentials.organization.slug,
1213
+ agent: {
1214
+ slug: selectedAgent.slug,
1215
+ name: selectedAgent.name
1343
1216
  }
1344
-
1345
- form.addEventListener('submit', async (e) => {
1346
- e.preventDefault();
1347
- if (isProcessing) return;
1348
-
1349
- const message = input.value.trim();
1350
- if (!message) return;
1351
-
1352
- addMessage('user', message);
1353
- input.value = '';
1354
- setProcessing(true);
1355
-
1356
- try {
1357
- if (streamToggle.checked) {
1358
- await sendWithStreaming(message);
1359
- } else {
1360
- await sendWithoutStreaming(message);
1361
- }
1362
- } catch (err) {
1363
- addMessage('assistant', 'Error: ' + err.message);
1364
- } finally {
1365
- setProcessing(false);
1217
+ };
1218
+ saveProject(cwd, projectData);
1219
+ console.log(chalk3.green("\u2713"), "Created struere.json");
1220
+ console.log();
1221
+ return projectData;
1222
+ }
1223
+ function slugify2(name) {
1224
+ return name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
1225
+ }
1226
+ async function promptChoice2(message, choices) {
1227
+ console.log(chalk3.gray(message));
1228
+ console.log();
1229
+ for (let i = 0;i < choices.length; i++) {
1230
+ const prefix = i === 0 ? chalk3.cyan("\u276F") : chalk3.gray(" ");
1231
+ console.log(`${prefix} ${i + 1}. ${choices[i].label}`);
1232
+ }
1233
+ console.log();
1234
+ process.stdout.write(chalk3.gray("Enter choice (1-" + choices.length + "): "));
1235
+ const answer = await readLine2();
1236
+ const num = parseInt(answer, 10);
1237
+ if (num >= 1 && num <= choices.length) {
1238
+ return choices[num - 1].value;
1239
+ }
1240
+ return choices[0].value;
1241
+ }
1242
+ async function promptText2(message, defaultValue) {
1243
+ process.stdout.write(chalk3.gray(`${message} `));
1244
+ process.stdout.write(chalk3.cyan(`(${defaultValue}) `));
1245
+ const answer = await readLine2();
1246
+ return answer || defaultValue;
1247
+ }
1248
+ function readLine2() {
1249
+ return new Promise((resolve) => {
1250
+ let buffer = "";
1251
+ const onData = (chunk) => {
1252
+ const str = chunk.toString();
1253
+ buffer += str;
1254
+ if (str.includes(`
1255
+ `) || str.includes("\r")) {
1256
+ process.stdin.removeListener("data", onData);
1257
+ process.stdin.pause();
1258
+ process.stdin.setRawMode?.(false);
1259
+ resolve(buffer.replace(/[\r\n]/g, "").trim());
1366
1260
  }
1367
- });
1368
-
1369
- input.focus();
1370
- </script>
1371
- </body>
1372
- </html>`;
1261
+ };
1262
+ if (process.stdin.isTTY) {
1263
+ process.stdin.setRawMode?.(false);
1264
+ }
1265
+ process.stdin.resume();
1266
+ process.stdin.on("data", onData);
1267
+ });
1373
1268
  }
1374
1269
 
1375
1270
  // src/commands/build.ts
@@ -2114,7 +2009,7 @@ var whoamiCommand = new Command11("whoami").description("Show current logged in
2114
2009
  });
2115
2010
 
2116
2011
  // src/index.ts
2117
- var CURRENT_VERSION = "0.2.7";
2012
+ var CURRENT_VERSION = "0.2.9";
2118
2013
  async function checkForUpdates() {
2119
2014
  try {
2120
2015
  const response = await fetch("https://registry.npmjs.org/@struere/cli/latest", {
@@ -53,7 +53,22 @@ export declare class ApiClient {
53
53
  slug: string;
54
54
  description: string | null;
55
55
  status: string;
56
- currentVersionId: string | null;
56
+ developmentVersionId: string | null;
57
+ productionVersionId: string | null;
58
+ environments: {
59
+ development: {
60
+ versionId: string;
61
+ version: string;
62
+ url: string;
63
+ deployedAt: string;
64
+ } | null;
65
+ production: {
66
+ versionId: string;
67
+ version: string;
68
+ url: string;
69
+ deployedAt: string;
70
+ } | null;
71
+ };
57
72
  createdAt: string;
58
73
  updatedAt: string;
59
74
  }>;
@@ -76,7 +91,22 @@ export declare class ApiClient {
76
91
  name: string;
77
92
  slug: string;
78
93
  status: string;
79
- currentVersionId: string | null;
94
+ developmentVersionId: string | null;
95
+ productionVersionId: string | null;
96
+ environments: {
97
+ development: {
98
+ versionId: string;
99
+ version: string;
100
+ url: string;
101
+ deployedAt: string;
102
+ } | null;
103
+ production: {
104
+ versionId: string;
105
+ version: string;
106
+ url: string;
107
+ deployedAt: string;
108
+ } | null;
109
+ };
80
110
  };
81
111
  versions: Array<{
82
112
  id: string;
@@ -88,7 +118,7 @@ export declare class ApiClient {
88
118
  deployAgent(agentId: string, data: {
89
119
  bundle: string;
90
120
  version: string;
91
- environment: 'preview' | 'staging' | 'production';
121
+ environment: 'development' | 'production';
92
122
  metadata: {
93
123
  modelProvider: string;
94
124
  modelName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"AAMA,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,aAAa,CAAC,CAAQ;IAC9B,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,UAAQ;YAMpD,OAAO;IAqCf,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;eAEhC,MAAM;cACP;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE;;IAOrF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;eAE/C,MAAM;cACP;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE;;IAOrF,KAAK;cAGD;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE;sBACzE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE;mBAC3D,MAAM;;IAIf,YAAY;eACa,MAAM;;IAG/B,UAAU;gBAEJ,KAAK,CAAC;YACZ,EAAE,EAAE,MAAM,CAAA;YACV,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;YAC1B,MAAM,EAAE,MAAM,CAAA;YACd,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;YAC/B,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;SAClB,CAAC;;IAIA,WAAW,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;eAEjE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE;;IAO/D,QAAQ,CAAC,OAAO,EAAE,MAAM;eAEnB;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE;kBACxF,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;;IAIlF,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;QACvC,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAA;QACjD,QAAQ,EAAE;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAA;KAC9F;oBAEe;YACV,EAAE,EAAE,MAAM,CAAA;YACV,OAAO,EAAE,MAAM,CAAA;YACf,SAAS,EAAE,MAAM,CAAA;YACjB,OAAO,EAAE,MAAM,CAAA;YACf,WAAW,EAAE,MAAM,CAAA;YACnB,GAAG,EAAE,MAAM,CAAA;YACX,MAAM,EAAE,MAAM,CAAA;SACf;;IAOC,YAAY,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE;gBAEpD;YACN,EAAE,EAAE,MAAM,CAAA;YACV,IAAI,EAAE,MAAM,CAAA;YACZ,GAAG,EAAE,MAAM,CAAA;YACX,SAAS,EAAE,MAAM,CAAA;YACjB,WAAW,EAAE,MAAM,EAAE,CAAA;SACtB;;IAOC,WAAW;iBAEJ,KAAK,CAAC;YACb,EAAE,EAAE,MAAM,CAAA;YACV,IAAI,EAAE,MAAM,CAAA;YACZ,SAAS,EAAE,MAAM,CAAA;YACjB,WAAW,EAAE,MAAM,EAAE,CAAA;YACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;YACzB,SAAS,EAAE,MAAM,CAAA;SAClB,CAAC;;IAIA,QAAQ,CAAC,MAAM,GAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAe;gBAEpD,MAAM;mBACH,MAAM;iBACR,MAAM;iBACN;YACP,UAAU,EAAE,MAAM,CAAA;YAClB,WAAW,EAAE,MAAM,CAAA;YACnB,YAAY,EAAE,MAAM,CAAA;YACpB,WAAW,EAAE,MAAM,CAAA;YACnB,aAAa,EAAE,MAAM,CAAA;YACrB,WAAW,EAAE,MAAM,CAAA;SACpB;;CAGN;AAED,qBAAa,QAAS,SAAQ,KAAK;IAGxB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;gBAFrB,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM;CAKxB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"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"}