nightshift-mcp 2.1.3 → 2.3.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":"daemon-manager.js","sourceRoot":"","sources":["../src/daemon-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon-manager.js","sourceRoot":"","sources":["../src/daemon-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAuB,MAAM,aAAa,CAAC;AAUjG;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAElC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,QAAQ;gBACR,KAAK,EAAE,0BAA0B;aAClC,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,oCAAoC;YACpC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,GAAG;gBACH,QAAQ;gBACR,KAAK,EAAE,uCAAuC;aAC/C,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAE/D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,GAAG;YACH,QAAQ;YACR,MAAM;SACP,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ;YACR,KAAK,EAAE,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACtF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAgBD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA2B;IAC3D,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAE5F,2BAA2B;IAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAED,sCAAsC;IACtC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,yBAAyB;IACzB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,mBAAmB,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;IACnD,CAAC;IAED,iDAAiD;IACjD,kDAAkD;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,SAAS,MAAM,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,SAAS,MAAM,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEzD,8BAA8B;IAC9B,4CAA4C;IAC5C,MAAM,YAAY,GAAG;;;;;sBAKD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;kBAC/B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;eAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;;;;;IAM/B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAC;IAEA,IAAI,CAAC;QACH,2BAA2B;QAC3B,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAErD,0CAA0C;QAC1C,oFAAoF;QACpF,oFAAoF;QACpF,2FAA2F;QAC3F,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE;YAC9C,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,uBAAuB,EAAE,WAAW;aACrC;YACD,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,0BAA0B;QAC1B,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,2BAA2B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;aACzD,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YACrC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;oBACjC,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,GAAG,EAAE,MAAM,CAAC,GAAG;qBAChB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;QAED,kEAAkE;QAClE,6DAA6D;QAC7D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,GAAG,EAAE,SAAS,CAAC,GAAG;iBACnB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,wDAAwD;SAChE,CAAC;IAEJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACpF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,iCAAiC;QACjC,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,CAAC;QACH,wEAAwE;QACxE,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE/B,qCAAqC;QACrC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,OAAO,QAAQ,GAAG,EAAE,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,kCAAkC;YAClC,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9B,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,8BAA8B;QAC9B,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,kCAAkC;QAClC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC9B,cAAc,CAAC,WAAW,CAAC,CAAC;QAE5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACpF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAmB,EACnB,UAAmD,EAAE;IAOrD,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,UAAU,EAAE,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAED,mBAAmB;IACnB,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAEnE,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,UAAU,EAAE,CAAC,WAAW,CAAC,cAAc;SACxC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,WAAW,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,gBAAgB;AAChB,+CAA+C;AAE/C,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAE3C;;GAEG;AACH,SAAS,cAAc,CAAC,WAAmB;IACzC,mEAAmE;IACnE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO,GAAG,YAAY,IAAI,IAAI,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAExE,IAAI,SAAS,EAAE,CAAC;QACd,yCAAyC;QACzC,qEAAqE;QACrE,OAAO,kCAAkC;YACvC,QAAQ,aAAa,aAAa,QAAQ,KAAK;YAC/C,yBAAyB;YACvB,uBAAuB;YACrB,iEAAiE;YACjE,2BAA2B,QAAQ,gBAAgB;YACrD,kBAAkB,QAAQ,gBAAgB;YAC5C,IAAI,CAAC;IACT,CAAC;IAED,mGAAmG;IACnG,OAAO,YAAY,QAAQ,YAAY;QACrC,YAAY,aAAa,YAAY;QACnC,uCAAuC,aAAa,gCAAgC,aAAa,qBAAqB;QACtH,8BAA8B;QAC5B,4BAA4B,WAAW,WAAW,QAAQ,gBAAgB;QAC5E,MAAM;QACR,OAAO;QACL,4BAA4B,WAAW,WAAW,QAAQ,gBAAgB;QAC5E,MAAM;QACR,IAAI,CAAC;AACP,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,IAAI,SAAS,EAAE,CAAC;YACd,wBAAwB;YACxB,MAAM,QAAQ,GAAG,GAAG,CAAC;YAErB,kDAAkD;YAClD,IAAI,CAAC;gBACH,QAAQ,CAAC,yBAAyB,QAAQ,MAAM,EAAE;oBAChD,KAAK,EAAE,QAAQ;oBACf,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,iCAAiC;YACnC,CAAC;YAED,kDAAkD;YAClD,QAAQ,CACN,yBAAyB,QAAQ,2BAA2B,OAAO,MAAM,EACzE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CACvC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,eAAe,GAAG,QAAQ,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;YAED,sDAAsD;YACtD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAE9E,kCAAkC;YAClC,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,MAAM,GAAG,EAAE,CAAC,CAAC;YAE9C,aAAa;YACb,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACjE,QAAQ,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,EAAE;gBAChE,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACzF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAExC,IAAI,CAAC;QACH,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,QAAQ,CAAC,yBAAyB,GAAG,MAAM,EAAE;oBAC3C,KAAK,EAAE,QAAQ;oBACf,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,oBAAoB;YACtB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,eAAe,GAAG,QAAQ,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,oBAAoB;YAChD,CAAC;YAED,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9E,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACjE,QAAQ,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,EAAE;gBAChE,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACxF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+CAA+C;AAC/C,gCAAgC;AAChC,+CAA+C;AAE/C,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAC9C,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAE5C,SAAS,cAAc,CAAC,WAAmB,EAAE,IAAsB;IACjE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACvE,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,QAAwB;IAExB,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE1C,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oDAAoD,QAAQ,CAAC,KAAK,WAAW,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;IAClI,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,WAAW,CACZ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,IAAI,SAAS,EAAE,CAAC;YACd,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,qEAAqE,QAAQ,wDAAwD,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;YAC1L,MAAM,OAAO,GAAG,kCAAkC;gBAChD,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK;gBACvF,yBAAyB;gBACvB,4BAA4B;gBAC5B,8DAA8D;gBAC9D,yDAAyD;gBAC3D,IAAI,CAAC;YAEP,wBAAwB;YACxB,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC;oBAAC,QAAQ,CAAC,yBAAyB,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClH,CAAC;YAED,oBAAoB;YACpB,QAAQ,CACN,yBAAyB,QAAQ,mBAAmB,QAAQ,CAAC,KAAK,SAAS,QAAQ,MAAM,EACzF,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CACvC,CAAC;YAEF,mBAAmB;YACnB,QAAQ,CACN,yBAAyB,OAAO,mBAAmB,QAAQ,CAAC,IAAI,SAAS,OAAO,MAAM,EACtF,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CACvC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,eAAe,GAAG,QAAQ,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC;YAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAE5B,oDAAoD;YACpD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAC9C,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC5D,CAAC;YAEF,wCAAwC;YACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAErE,+CAA+C;YAC/C,MAAM,SAAS,GAAG,GAAG,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,QAAQ,QAAQ,6BAA6B,WAAW,WAAW,QAAQ,mBAAmB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,QAAQ,EAAE,CAAC;YAEzQ,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC1F,MAAM,QAAQ,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,QAAQ,QAAQ,aAAa,QAAQ,yBAAyB,QAAQ,0BAA0B,QAAQ,WAAW,OAAO,EAAE,CAAC;YAE5L,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAErB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACjE,QAAQ,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,EAAE;gBAChE,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,UAAU,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEtC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,wBAAwB,QAAQ,CAAC,KAAK,gBAAgB,QAAQ,CAAC,IAAI,EAAE;gBAC5E,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC9D,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACzF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC;oBAAC,QAAQ,CAAC,yBAAyB,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,eAAe,GAAG,QAAQ,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAED,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAC9C,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC5D,CAAC;YACF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACjE,QAAQ,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,EAAE;gBAChE,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAED,8BAA8B;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,UAAU,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAgB,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACxF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;AACjC,CAAC"}
package/dist/daemon.d.ts CHANGED
@@ -18,6 +18,8 @@ interface DaemonConfig {
18
18
  dryRun: boolean;
19
19
  healthThreshold: number;
20
20
  healthCooldownMs: number;
21
+ rateLimitBackoffMs: number;
22
+ maxVerifyAttempts: number;
21
23
  }
22
24
  type HealthState = "CLOSED" | "OPEN" | "HALF_OPEN";
23
25
  export declare class NightShiftDaemon {
@@ -39,6 +41,12 @@ export declare class NightShiftDaemon {
39
41
  private debounceTimers;
40
42
  private lockFile;
41
43
  private lockFd;
44
+ private operatingMode;
45
+ private effectiveMode;
46
+ private nightshiftConfig;
47
+ private rateLimitBackoffUntil;
48
+ private rateLimitBackoffMultiplier;
49
+ private completedThisSession;
42
50
  constructor(config: Partial<DaemonConfig> & {
43
51
  projectPath: string;
44
52
  });
@@ -70,6 +78,12 @@ export declare class NightShiftDaemon {
70
78
  consecutiveFailures: number;
71
79
  }>;
72
80
  private reconcile;
81
+ /**
82
+ * Determine the effective operating mode based on config + current state.
83
+ */
84
+ private updateEffectiveMode;
85
+ private visionGenerationInProgress;
86
+ private checkVisionGeneration;
73
87
  private getNextAgent;
74
88
  private spawnAgentForStory;
75
89
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AASH,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAS5B,UAAU,YAAY;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAmBD,KAAK,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAiBnD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,EAAE,CAAe;IAGzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,UAAU,CAAK;IAGvB,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,eAAe,CAAQ;IAG/B,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,cAAc,CAA0C;IAGhE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;IA0BnE,OAAO,CAAC,GAAG;IAwBX,OAAO,CAAC,WAAW;IAmCnB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,QAAQ;YAkBF,YAAY;YAKZ,aAAa;YAwBb,cAAc;IA2B5B,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,kBAAkB;IAyB1B;;;OAGG;IACH,OAAO,CAAC,eAAe;IA0CvB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,gBAAgB;IAexB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;YAiB9G,SAAS;IAkDvB,OAAO,CAAC,YAAY;YAQN,kBAAkB;IA4BhC;;;;OAIG;YACW,mBAAmB;IA+JjC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA+B/B;;OAEG;YACW,wBAAwB;IAkEtC,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,YAAY;YAaN,WAAW;IA2CzB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,eAAe;YAOT,WAAW;IAiDnB,KAAK;IAoDL,QAAQ;CAyBf"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
package/dist/daemon.js CHANGED
@@ -15,6 +15,9 @@ import { spawnAgent, spawnAgentBackground, getAvailableAgents, } from "./agent-s
15
15
  import { killProcess, isProcessRunning, getNightshiftCliCommand } from "./platform.js";
16
16
  import { NightShiftDB } from "./database.js";
17
17
  import { resolveExecutablePipeline } from "./pipeline.js";
18
+ import { checkVisionThreshold } from "./vision.js";
19
+ import { loadConfig } from "./config.js";
20
+ import { runDueRoutines } from "./routines.js";
18
21
  // ============================================
19
22
  // Daemon Class
20
23
  // ============================================
@@ -41,6 +44,15 @@ export class NightShiftDaemon {
41
44
  // Singleton lock
42
45
  lockFile;
43
46
  lockFd = null;
47
+ // Operating mode state
48
+ operatingMode = "auto";
49
+ effectiveMode = "sprint";
50
+ nightshiftConfig = null;
51
+ // Rate limit backoff state
52
+ rateLimitBackoffUntil = 0;
53
+ rateLimitBackoffMultiplier = 1;
54
+ // Dedup: track which stories have been completed this session
55
+ completedThisSession = new Set();
44
56
  constructor(config) {
45
57
  this.config = {
46
58
  projectPath: config.projectPath,
@@ -53,7 +65,9 @@ export class NightShiftDaemon {
53
65
  verbose: config.verbose ?? false,
54
66
  dryRun: config.dryRun ?? false,
55
67
  healthThreshold: config.healthThreshold ?? 3,
56
- healthCooldownMs: config.healthCooldownMs ?? 60_000,
68
+ healthCooldownMs: config.healthCooldownMs ?? 5 * 60 * 1000, // 5 minutes (was 60s — too short for real rate limits)
69
+ rateLimitBackoffMs: config.rateLimitBackoffMs ?? 5 * 60 * 1000, // 5 minutes global pause
70
+ maxVerifyAttempts: config.maxVerifyAttempts ?? 2,
57
71
  };
58
72
  this.ralph = new RalphManager(this.config.projectPath);
59
73
  this.chat = new ChatManager(this.config.projectPath);
@@ -415,6 +429,12 @@ export class NightShiftDaemon {
415
429
  if (!this.running)
416
430
  return;
417
431
  this.log("debug", "Reconciling state");
432
+ // Global rate limit backoff — pause ALL spawning if we're in backoff
433
+ if (Date.now() < this.rateLimitBackoffUntil) {
434
+ const remaining = Math.round((this.rateLimitBackoffUntil - Date.now()) / 1000);
435
+ this.log("info", `Rate limit backoff active — pausing ${remaining}s`);
436
+ return;
437
+ }
418
438
  // Get current state
419
439
  const prd = this.ralph.readPRD();
420
440
  if (!prd) {
@@ -423,29 +443,144 @@ export class NightShiftDaemon {
423
443
  }
424
444
  const incomplete = prd.userStories.filter(s => !s.passes);
425
445
  const activeCount = this.activeAgents.size;
426
- // Check if all complete
427
- if (incomplete.length === 0) {
428
- this.log("info", "All stories complete!");
429
- this.chat.writeMessage({
430
- agent: "NightShift",
431
- type: "READY_TO_TEST",
432
- content: "All stories complete. Daemon shutting down.",
433
- });
434
- await this.shutdown();
446
+ // Detect effective operating mode
447
+ this.updateEffectiveMode(incomplete.length);
448
+ // === SPRINT MODE ===
449
+ if (this.effectiveMode === "sprint") {
450
+ // Check if all complete
451
+ if (incomplete.length === 0) {
452
+ // Before transitioning, check if vision auto-generation can create more work
453
+ const generated = await this.checkVisionGeneration();
454
+ if (generated) {
455
+ await this.reconcile();
456
+ return;
457
+ }
458
+ // No more sprint work — transition to maintain mode
459
+ if (this.nightshiftConfig?.maintain?.routines?.length) {
460
+ this.log("info", "All stories complete — transitioning to maintain mode");
461
+ this.effectiveMode = "maintain";
462
+ this.chat.writeMessage({
463
+ agent: "NightShift",
464
+ type: "READY_TO_TEST",
465
+ content: "All sprint stories complete! Transitioning to maintain mode for ongoing health routines.",
466
+ });
467
+ // Fall through to maintain mode handling below
468
+ }
469
+ else {
470
+ this.log("info", "All stories complete!");
471
+ this.chat.writeMessage({
472
+ agent: "NightShift",
473
+ type: "READY_TO_TEST",
474
+ content: "All stories complete. Daemon shutting down.",
475
+ });
476
+ await this.shutdown();
477
+ return;
478
+ }
479
+ }
480
+ if (this.effectiveMode === "sprint") {
481
+ // Check vision threshold — generate more stories if running low
482
+ const workableIncomplete = incomplete.filter(s => !s.tags?.includes("pending_approval"));
483
+ if (workableIncomplete.length > 0 && workableIncomplete.length < 5) {
484
+ this.checkVisionGeneration().catch(err => this.log("error", "Vision generation failed", { error: String(err) }));
485
+ }
486
+ // Find orphaned stories (incomplete, not assigned, not pending approval, not already completed this session)
487
+ const assignedIds = new Set(this.activeAgents.keys());
488
+ const orphaned = incomplete.filter(s => !assignedIds.has(s.id) &&
489
+ !this.isQuarantined(s.id) &&
490
+ !s.tags?.includes("pending_approval") &&
491
+ !this.completedThisSession.has(s.id) // Dedup: don't re-run completed stories
492
+ );
493
+ // Spawn agents for orphaned stories up to concurrency limit
494
+ const slotsAvailable = this.config.maxConcurrentAgents - activeCount;
495
+ const toSpawn = orphaned.slice(0, slotsAvailable);
496
+ for (const story of toSpawn) {
497
+ await this.spawnAgentForStory(story.id);
498
+ }
499
+ this.log("info", `[sprint] ${incomplete.length} incomplete, ${activeCount} active, ${orphaned.length} orphaned`);
500
+ return;
501
+ }
502
+ }
503
+ // === MAINTAIN MODE ===
504
+ if (this.effectiveMode === "maintain") {
505
+ // Run due routines
506
+ const routines = this.nightshiftConfig?.maintain?.routines ?? [];
507
+ if (routines.length > 0 && activeCount === 0) {
508
+ const result = await runDueRoutines(routines, this.config.projectPath, this.chat, 1);
509
+ if (result.executed > 0) {
510
+ this.log("info", `[maintain] Ran ${result.executed} routines (${result.succeeded} ok, ${result.failed} failed)`);
511
+ }
512
+ }
513
+ // Check if new stories appeared (user added to PRD, or routines filed bugs)
514
+ const freshPrd = this.ralph.readPRD();
515
+ const freshIncomplete = freshPrd?.userStories.filter(s => !s.passes) ?? [];
516
+ if (freshIncomplete.length > 0) {
517
+ this.log("info", `[maintain] ${freshIncomplete.length} new incomplete stories detected — switching to sprint`);
518
+ this.effectiveMode = "sprint";
519
+ await this.reconcile();
520
+ return;
521
+ }
522
+ // Check if growth evaluation is due
523
+ if (this.nightshiftConfig?.grow) {
524
+ const generated = await this.checkVisionGeneration();
525
+ if (generated) {
526
+ this.log("info", "[maintain→sprint] Growth evaluation generated new stories");
527
+ this.effectiveMode = "sprint";
528
+ await this.reconcile();
529
+ return;
530
+ }
531
+ }
532
+ this.log("debug", "[maintain] No work due, idling");
533
+ return;
534
+ }
535
+ // === GROW MODE ===
536
+ if (this.effectiveMode === "grow") {
537
+ const generated = await this.checkVisionGeneration();
538
+ if (generated) {
539
+ this.effectiveMode = "sprint";
540
+ await this.reconcile();
541
+ }
542
+ else {
543
+ // Nothing to grow into — fall back to maintain
544
+ this.effectiveMode = "maintain";
545
+ }
546
+ }
547
+ }
548
+ /**
549
+ * Determine the effective operating mode based on config + current state.
550
+ */
551
+ updateEffectiveMode(incompleteCount) {
552
+ // Reload config periodically (it may have been edited)
553
+ this.nightshiftConfig = loadConfig(this.config.projectPath);
554
+ this.operatingMode = this.nightshiftConfig.mode;
555
+ if (this.operatingMode !== "auto") {
556
+ this.effectiveMode = this.operatingMode;
435
557
  return;
436
558
  }
437
- // Find orphaned stories (incomplete but not assigned)
438
- const assignedIds = new Set(this.activeAgents.keys());
439
- const orphaned = incomplete.filter(s => !assignedIds.has(s.id) &&
440
- !this.isQuarantined(s.id));
441
- // Spawn agents for orphaned stories up to concurrency limit
442
- const slotsAvailable = this.config.maxConcurrentAgents - activeCount;
443
- const toSpawn = orphaned.slice(0, slotsAvailable);
444
- for (const story of toSpawn) {
445
- await this.spawnAgentForStory(story.id);
559
+ // Auto mode: determine based on state
560
+ if (incompleteCount > 0) {
561
+ this.effectiveMode = "sprint";
562
+ }
563
+ // If already in maintain/grow, stay there (transitions happen in reconcile)
564
+ }
565
+ // ============================================
566
+ // Vision Auto-Generation
567
+ // ============================================
568
+ visionGenerationInProgress = false;
569
+ async checkVisionGeneration() {
570
+ // Prevent concurrent generation
571
+ if (this.visionGenerationInProgress)
572
+ return false;
573
+ this.visionGenerationInProgress = true;
574
+ try {
575
+ const generated = await checkVisionThreshold(this.config.projectPath, this.ralph, this.chat);
576
+ if (generated) {
577
+ this.log("info", "Vision auto-generation added new stories to PRD");
578
+ }
579
+ return generated;
580
+ }
581
+ finally {
582
+ this.visionGenerationInProgress = false;
446
583
  }
447
- // Log status
448
- this.log("info", `Status: ${incomplete.length} incomplete, ${activeCount} active, ${orphaned.length} orphaned`);
449
584
  }
450
585
  // ============================================
451
586
  // Agent Management
@@ -458,8 +593,20 @@ export class NightShiftDaemon {
458
593
  return agent;
459
594
  }
460
595
  async spawnAgentForStory(storyId) {
596
+ // Dedup: don't re-run stories already completed this session
597
+ if (this.completedThisSession.has(storyId)) {
598
+ this.log("debug", `Skipping ${storyId} — already completed this session`);
599
+ return;
600
+ }
601
+ // Re-check PRD to avoid re-running stories marked complete by another agent
602
+ const freshStory = this.ralph.getStory(storyId);
603
+ if (freshStory?.passes) {
604
+ this.log("info", `Skipping ${storyId} — already marked complete in PRD`);
605
+ this.completedThisSession.add(storyId);
606
+ return;
607
+ }
461
608
  // Get story details first
462
- const story = this.ralph.getStory(storyId);
609
+ const story = freshStory;
463
610
  if (!story) {
464
611
  this.log("error", `Story ${storyId} not found`);
465
612
  return;
@@ -633,7 +780,7 @@ ${Array.isArray(story.acceptanceCriteria) && story.acceptanceCriteria.length > 0
633
780
  drafter: `You are a drafting agent (step ${stepIndex + 1}/${totalSteps}). Create an initial implementation. Focus on structure over perfection.`,
634
781
  implementer: `You are an implementation agent (step ${stepIndex + 1}/${totalSteps}). Implement fully, run checks, commit, and mark complete: ${ns} complete ${story.id} --agent ${step.agent} --summary "what you did"`,
635
782
  fixer: `You are a fixer agent (step ${stepIndex + 1}/${totalSteps}). Review and fix any issues from the previous step. Run all quality checks.`,
636
- verifier: `You are a verification agent (step ${stepIndex + 1}/${totalSteps}). Run all checks. If passing: ${ns} complete ${story.id} --agent ${step.agent} --summary "verified"`,
783
+ verifier: `You are a verification agent (step ${stepIndex + 1}/${totalSteps}). Run all checks. Check git log --oneline -5 to confirm the story was committed (do NOT re-commit if already committed). If passing: ${ns} complete ${story.id} --agent ${step.agent} --summary "verified"`,
637
784
  researcher: `You are a research agent (step ${stepIndex + 1}/${totalSteps}). Explore the codebase and post findings.`,
638
785
  reviewer: `You are a review agent (step ${stepIndex + 1}/${totalSteps}). Review for correctness and security.`,
639
786
  };
@@ -717,8 +864,9 @@ ${Array.isArray(story.acceptanceCriteria) && story.acceptanceCriteria.length > 0
717
864
  2. Claim your story: ${ns} claim ${story.id} --agent YourName
718
865
  3. Implement the story
719
866
  4. Run quality checks (typecheck, lint, test)
720
- 5. Commit your changes: git commit -m "feat: ${story.id} - ${story.title}"
721
- 6. Complete: ${ns} complete ${story.id} --agent YourName --summary "what you did"
867
+ 5. Before committing, check git log to avoid duplicate commits: git log --oneline -5
868
+ 6. Commit your changes: git commit -m "feat: ${story.id} - ${story.title}"
869
+ 7. Complete: ${ns} complete ${story.id} --agent YourName --summary "what you did"
722
870
 
723
871
  ## Progress Context
724
872
  ${progress ? progress.substring(0, 2000) : "No progress file yet."}
@@ -754,17 +902,34 @@ ${progress ? progress.substring(0, 2000) : "No progress file yet."}
754
902
  this.log("info", `${storyId} completed successfully`);
755
903
  this.recordAgentSuccess(agentProc.agent);
756
904
  this.activeAgents.delete(storyId);
905
+ // Track completion to prevent duplicate re-verification
906
+ this.completedThisSession.add(storyId);
907
+ // Reset rate limit backoff on success
908
+ this.rateLimitBackoffMultiplier = 1;
757
909
  // Audit + run record: success
758
910
  this.db.appendAudit("complete", { duration_ms: duration }, agentProc.agent, storyId);
759
911
  this.db.insertRunRecord({ story_id: storyId, agent: agentProc.agent, status: "success", duration_ms: duration });
760
912
  }
761
913
  else {
762
- // Agent exited without completing - record failure on both story and health tracker
914
+ // Agent exited without completing - record failure
763
915
  this.recordAgentFailure(agentProc.agent);
764
916
  this.incrementRetry(storyId, agentProc.agent);
765
917
  this.activeAgents.delete(storyId);
766
- // Classify exit: short runs are likely crashes, long runs are likely timeouts
918
+ // Classify exit: short runs are likely crashes/rate limits, long runs are timeouts
767
919
  const exitStatus = duration < this.config.stuckTimeout / 2 ? "failed" : "timeout";
920
+ // Check for rate limit cascade: if ALL agents have open circuits, trigger global backoff
921
+ const healthyCount = this.getHealthyAgents().length;
922
+ if (healthyCount === 0 && this.availableAgents.length > 0) {
923
+ const backoffMs = this.config.rateLimitBackoffMs * this.rateLimitBackoffMultiplier;
924
+ this.rateLimitBackoffUntil = Date.now() + backoffMs;
925
+ this.rateLimitBackoffMultiplier = Math.min(this.rateLimitBackoffMultiplier * 2, 12); // Max ~60min
926
+ this.log("warn", `All agents exhausted — global backoff for ${Math.round(backoffMs / 1000)}s (multiplier: ${this.rateLimitBackoffMultiplier}x)`);
927
+ this.chat.writeMessage({
928
+ agent: "NightShift",
929
+ type: "ERROR",
930
+ content: `All agents rate limited. Global backoff: ${Math.round(backoffMs / 60000)} minutes. Will resume automatically.`,
931
+ });
932
+ }
768
933
  // Audit + run record: failure
769
934
  this.db.appendAudit("fail", { duration_ms: duration, exitStatus, retryCount: this.storyStates.get(storyId)?.retryCount }, agentProc.agent, storyId);
770
935
  this.db.insertRunRecord({ story_id: storyId, agent: agentProc.agent, status: exitStatus, duration_ms: duration });
@@ -885,10 +1050,22 @@ ${progress ? progress.substring(0, 2000) : "No progress file yet."}
885
1050
  this.startWatchers();
886
1051
  // Start health check (fallback)
887
1052
  this.startHealthCheck();
1053
+ // Load NightShift config for operating mode
1054
+ this.nightshiftConfig = loadConfig(this.config.projectPath);
1055
+ this.operatingMode = this.nightshiftConfig.mode;
888
1056
  this.log("info", "Daemon started successfully");
889
1057
  this.writeHeartbeat();
890
1058
  this.log("info", `Health check interval: ${this.config.healthCheckInterval / 1000}s`);
891
1059
  this.log("info", `Max concurrent agents: ${this.config.maxConcurrentAgents}`);
1060
+ this.log("info", `Circuit breaker cooldown: ${this.config.healthCooldownMs / 1000}s`);
1061
+ this.log("info", `Rate limit backoff: ${this.config.rateLimitBackoffMs / 1000}s (exponential)`);
1062
+ this.log("info", `Operating mode: ${this.operatingMode}`);
1063
+ if (this.nightshiftConfig.vision) {
1064
+ this.log("info", `Vision: ${this.nightshiftConfig.vision.substring(0, 100)}...`);
1065
+ }
1066
+ if (this.nightshiftConfig.maintain?.routines?.length) {
1067
+ this.log("info", `Routines configured: ${this.nightshiftConfig.maintain.routines.map(r => r.name).join(", ")}`);
1068
+ }
892
1069
  // Initial reconciliation
893
1070
  await this.reconcile();
894
1071
  }
@@ -916,6 +1093,16 @@ ${progress ? progress.substring(0, 2000) : "No progress file yet."}
916
1093
  // CLI Entry Point
917
1094
  // ============================================
918
1095
  async function main() {
1096
+ // Global crash handlers — ensure failures are NEVER silent
1097
+ process.on("uncaughtException", (err) => {
1098
+ console.error(`[${new Date().toISOString()}] UNCAUGHT EXCEPTION:`, err);
1099
+ process.exit(1);
1100
+ });
1101
+ process.on("unhandledRejection", (reason) => {
1102
+ console.error(`[${new Date().toISOString()}] UNHANDLED REJECTION:`, reason);
1103
+ process.exit(1);
1104
+ });
1105
+ console.log(`[${new Date().toISOString()}] NightShift daemon process starting (PID: ${process.pid})`);
919
1106
  const args = process.argv.slice(2);
920
1107
  // Parse arguments
921
1108
  const projectPath = process.env.ROBOT_CHAT_PROJECT_PATH || process.cwd();
@@ -964,6 +1151,7 @@ Environment:
964
1151
  process.exit(0);
965
1152
  }
966
1153
  }
1154
+ console.log(`[${new Date().toISOString()}] Config: project=${projectPath} verbose=${verbose} dryRun=${dryRun} maxAgents=${maxConcurrentAgents} healthCheck=${healthCheckInterval}ms`);
967
1155
  const daemon = new NightShiftDaemon({
968
1156
  projectPath,
969
1157
  verbose,
@@ -976,11 +1164,25 @@ Environment:
976
1164
  setInterval(() => { }, 30000);
977
1165
  }
978
1166
  // Run if executed directly
1167
+ // NOTE: npm bin shims are symlinks, so process.argv[1] (symlink) won't match
1168
+ // import.meta.url (real path after resolution). We must resolve both through
1169
+ // symlinks before comparing.
979
1170
  const normalizedImportPath = fileURLToPath(import.meta.url).replace(/\\/g, "/");
980
- const normalizedArgvPath = process.argv[1]
1171
+ let normalizedArgvPath = process.argv[1]
981
1172
  ? path.resolve(process.argv[1]).replace(/\\/g, "/")
982
1173
  : "";
983
- const isMain = normalizedImportPath === normalizedArgvPath;
1174
+ // Resolve symlinks so npx/npm bin shim paths match the real file
1175
+ let resolvedArgvPath = "";
1176
+ try {
1177
+ if (process.argv[1]) {
1178
+ resolvedArgvPath = fs.realpathSync(path.resolve(process.argv[1])).replace(/\\/g, "/");
1179
+ }
1180
+ }
1181
+ catch {
1182
+ // realpathSync can fail if path doesn't exist; ignore
1183
+ }
1184
+ const isMain = normalizedImportPath === normalizedArgvPath ||
1185
+ normalizedImportPath === resolvedArgvPath;
984
1186
  if (isMain) {
985
1187
  main().catch((err) => {
986
1188
  console.error("Fatal error:", err);