smol-symphony 0.1.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.
- package/AGENTS.md +73 -0
- package/DESIGN.md +453 -0
- package/LICENSE +21 -0
- package/PRODUCT.md +106 -0
- package/README.md +232 -0
- package/SPEC.md +2169 -0
- package/WORKFLOW.md +269 -0
- package/WORKFLOW.template.md +307 -0
- package/dist/agent/acp.js +304 -0
- package/dist/agent/acp.js.map +1 -0
- package/dist/agent/adapters.js +275 -0
- package/dist/agent/adapters.js.map +1 -0
- package/dist/agent/codex.js +439 -0
- package/dist/agent/codex.js.map +1 -0
- package/dist/agent/runner.js +394 -0
- package/dist/agent/runner.js.map +1 -0
- package/dist/agent/smolvm.js +174 -0
- package/dist/agent/smolvm.js.map +1 -0
- package/dist/bin/symphony.js +205 -0
- package/dist/bin/symphony.js.map +1 -0
- package/dist/http.js +1189 -0
- package/dist/http.js.map +1 -0
- package/dist/logging.js +45 -0
- package/dist/logging.js.map +1 -0
- package/dist/mcp.js +478 -0
- package/dist/mcp.js.map +1 -0
- package/dist/orchestrator.js +683 -0
- package/dist/orchestrator.js.map +1 -0
- package/dist/prompt.js +65 -0
- package/dist/prompt.js.map +1 -0
- package/dist/trackers/local.js +344 -0
- package/dist/trackers/local.js.map +1 -0
- package/dist/trackers/types.js +10 -0
- package/dist/trackers/types.js.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/workflow.js +385 -0
- package/dist/workflow.js.map +1 -0
- package/dist/workspace.js +196 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +68 -0
- package/scripts/build-vm.sh +67 -0
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,sFAAsF;AACtF,UAAU;AAEV,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,SAAS,YAAY,CAAC,GAAmB,EAAE,MAAc,EAAE,IAAa;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC;IACxB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;IACjE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAmB;IAC3C,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,QAAQ,CAAC,GAAmB,EAAE,IAAI,GAAG,WAAW,EAAE,OAAO,GAAG,WAAW;IAC9E,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,GAAmB,EAAE,OAAe;IACtD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAoB,EAAE,QAAQ,GAAG,SAAS;IACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;YACrB,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;gBACpB,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAkB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,iFAAiF;AACjF,kFAAkF;AAClF,0EAA0E;AAC1E,EAAE;AACF,iDAAiD;AACjD,gFAAgF;AAChF,+BAA+B;AAC/B,oFAAoF;AACpF,kFAAkF;AAClF,SAAS,mBAAmB,CAAC,GAAoB;IAC/C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,6EAA6E;IAC7E,gCAAgC;IAChC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,kFAAkF;AAClF,iFAAiF;AACjF,mFAAmF;AACnF,oFAAoF;AACpF,0DAA0D;AAC1D,KAAK,UAAU,eAAe,CAC5B,GAAmB,EACnB,MAAe,EACf,IAAkB,EAClB,IAAqD,EACrD,UAAkB,EAClB,IAAY,EACZ,OAAe;IAEf,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAC1D,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IACD,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAoB,EAAE,QAAQ,GAAG,SAAS;IACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;YACrB,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;gBACpB,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kEAAkE;AAClE,2CAA2C;AAC3C,yFAAyF;AACzF,gEAAgE;AAChE,KAAK,UAAU,cAAc,CAAC,KAS7B;IACC,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,sBAAsB,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IAClE,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,EAAE,GAA4B;QAClC,EAAE,EAAE,KAAK;QACT,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,GAAG;KAChB,CAAC;IACF,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAAE,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACrE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACtE,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAEtF,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACnE,CAAC;AAED,qFAAqF;AACrF,4CAA4C;AAC5C,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IAKnD,MAAM,GAAG,GAAgE,EAAE,CAAC;IAC5E,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,EAAE,CAAC;QACP,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;YAAE,SAAS;QAChC,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACvC,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,2CAA2C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,UAAU,EAAE,CAAC;gBACf,KAAK,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAChE,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAkB,EAClB,IAKC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;IAClD,IAAI,UAAU,GAAgB,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,UAAU,GAAG,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,aAAa,CAAC;QAC/D,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;QACrC,WAAW;QACX,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;QACzB,UAAU;KACX,CAAC;AACJ,CAAC;AAuBD,SAAS,aAAa,CAAC,IAAc;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAChE,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IAC7D,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,GAAG,SAAS;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvE,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAC1C,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACnB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;AAC9C,CAAC;AAED,SAAS,eAAe,CAAC,GAA8B;IACrD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,QAAQ,CAAC,IAA+B,EAAE,GAAW;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,OAAO,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1E,CAAC;AAED,yFAAyF;AACzF,yFAAyF;AACzF,8CAA8C;AAC9C,SAAS,mBAAmB,CAAC,CAAgB;IAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACrG,OAAO,4BAA4B,MAAM,gCAAgC,WAAW,KAAK,WAAW,SAAS,CAAC;AAChH,CAAC;AAED,SAAS,sBAAsB,CAAC,CAAgB,EAAE,IAAgC;IAChF,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACrC,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAE/E,MAAM,WAAW,GAAG,YAAY;QAC9B,CAAC,CAAC,4CAA4C,UAAU,CAAC,YAAY,CAAC,QAAQ;QAC9E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,OAAO;EACP,WAAW,GAAG,cAAc,GAAG,WAAW,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAa;IACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,oBAAoB,CAAC;IAC5E,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1D,qFAAqF;IACrF,oEAAoE;IACpE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACjD,MAAM,YAAY,GAChB,eAAe,IAAI,OAAO,CAAC,CAAC,CAAC,iCAAiC;QAC9D,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe;YACnC,CAAC,CAAC,iBAAiB,CAAC;IACtB,OAAO,8CAA8C,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;;4BAEzD,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;;uDAEH,CAAC,CAAC,UAAU;;gCAEnC,UAAU,CAAC,QAAQ,CAAC;IAChD,WAAW,CAAC,CAAC,CAAC;eACH,UAAU,CAAC,YAAY,CAAC;;QAE/B,eAAe,CAAC,CAAC,CAAC;QAClB,UAAU,CAAC,CAAC,CAAC,2BAA2B,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAC1E,SAAS,CAAC,CAAC,CAAC,yBAAyB,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;QAC5E,OAAO,CAAC,CAAC,CAAC;6BACW,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;;aAEhD,CAAC,CAAC,CAAC,EAAE;;kCAEgB,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC;;oBAEpD,UAAU,CAAC,UAAU,CAAC;;qCAEL,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;;;;;;;WAOxD,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAgB;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;4BACJ,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;;gCAE1B,CAAC,CAAC,OAAO;4BACb,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;MAClE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QACjF,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,mDAAmD,KAAK,OAAO,CAAC;AACzE,CAAC;AAED,SAAS,qBAAqB,CAAC,CAAgB;IAC7C,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;qFAC0E,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC;IAC1I,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO,yCAAyC,IAAI,CAAC,MAAM;uBACtC,YAAY,OAAO,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAa;IACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,kBAAkB,CAAC;IACtC,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,6CAA6C;QAC/C,CAAC,CAAC,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,2CAA2C,CAAC;IAClD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACpE,qFAAqF;IACrF,qFAAqF;IACrF,oFAAoF;IACpF,MAAM,QAAQ,GAAG;QACf,WAAW,SAAS,EAAE;QACtB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,UAAU,IAAI,IAAI;QACpB,WAAW,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE;KAClD;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,8BAA8B,UAAU,CAAC,QAAQ,CAAC;;4BAE/B,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;MACpD,IAAI;uDAC6C,CAAC,CAAC,UAAU;;+BAEpC,YAAY,CAAC,MAAM,CAAC;;IAE/C,OAAO,CAAC,CAAC,CAAC,gCAAgC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;MACxE,CAAC;AACP,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAgB;IACzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CACvF,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;yEAC8D,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,gDAAgD,CAAC;IAC/J,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;0BACV,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;8BACpB,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;0BACvB,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QACrC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,wCAAwC,QAAQ,CAAC,MAAM;mBAC7C,KAAK,OAAO,CAAC;AAChC,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAgB;IAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;IAClC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAChG,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC;AAC3K,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAgB;IAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,YAAY,GAAG,SAAS;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;SACxE,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACtF,MAAM,QAAQ,GACZ,SAAS,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IAEzF,OAAO;;;;oBAIW,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAgTZ,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;sCACrD,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;;;oCAGzD,mBAAmB,CAAC,CAAC,CAAC;;;;;;;;;;qCAUrB,sBAAsB,CAAC,CAAC,CAAC;;;;qCAIzB,qBAAqB,CAAC,CAAC,CAAC;;;;qCAIxB,iBAAiB,CAAC,CAAC,CAAC;;4BAE7B,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;;;;;;;sCAQb,YAAY;;;;;;;;;;;;;;;;oCAgBd,mBAAmB,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAsD3C,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;AACrH,CAAC;AAgBD,yFAAyF;AACzF,0FAA0F;AAC1F,sFAAsF;AACtF,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAkB,EAClB,IAAuB;IAEvB,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAoB,EAAE,GAAmB,EAAE,EAAE;QACxE,KAAK,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACrD,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC;gBACH,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;oBACrB,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAG,GAAa,CAAC,OAAO,EAAE;iBACnE,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACvC,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;IAC1B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,CAAC,GAAU,EAAE,EAAE;YAC7B,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACtE,SAAS,GAAG,IAAI,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,iFAAiF;IACjF,mFAAmF;IACnF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACzB,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC;KACL,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,GAAoB,EACpB,GAAmB,EACnB,IAAkB,EAClB,IAAuB;IAEvB,wFAAwF;IACxF,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,uBAAuB,CAAC,CAAC;QAC7D,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAEnC,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACrB,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACpC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAC1D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;IACT,CAAC;IACD,oFAAoF;IACpF,0FAA0F;IAC1F,6DAA6D;IAC7D,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QACxD,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;YAC1E,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;YAC1D,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAC3C,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,GAAG,EAAE,iBAAiB,EAAE,0BAA2B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO;IACT,CAAC;IACD,sFAAsF;IACtF,oFAAoF;IACpF,qCAAqC;IACrC,IAAI,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC7C,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,IAAI,GAAkB,IAAI,CAAC;QAC/B,IAAI,IAAI,KAAK,QAAQ;YAAE,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;aAChD,IAAI,IAAI,KAAK,WAAW;YAAE,IAAI,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;aAC3D,IAAI,IAAI,KAAK,UAAU;YAAE,IAAI,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;aACzD,IAAI,IAAI,KAAK,MAAM;YAAE,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;aACjD,IAAI,IAAI,KAAK,QAAQ;YAAE,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAC,GAAG,EAAE,mBAAmB,EAAE,WAAW,IAAI,iBAAiB,CAAC,CAAC;QAC/F,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAC1D,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;QACnC,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACrC,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;YAC5B,GAAG,MAAM;YACT,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,IAAI,CAAC,IAAI;gBAAE,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,IAAI,CAAC,IAAI;gBAAE,OAAO,UAAU,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;YACjE,IAAI,IAAa,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,UAAU,CAAC,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,OAAO,UAAU,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,CAAC,GAAG,IAA+B,CAAC;YAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,UAAU;gBAAE,OAAO,UAAU,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK;gBAAE,OAAO,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK;gBAAE,OAAO,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;YACxD,kFAAkF;YAClF,kFAAkF;YAClF,2CAA2C;YAC3C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,UAAU,CAAC,GAAG,EAAE,yBAAyB,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;YAC1G,CAAC;YACD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,MAAM,QAAQ,GACZ,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACpF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;gBACpC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;gBAC5D,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC3C,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;gBAChE,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC;oBACnC,WAAW,EAAE,IAAI;oBACjB,UAAU;oBACV,KAAK;oBACL,KAAK;oBACL,WAAW;oBACX,QAAQ;oBACR,MAAM;oBACN,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7F,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAG,GAAa,CAAC,OAAO,EAAE;iBAClE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,sFAAsF;IACtF,sFAAsF;IACtF,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAE7D,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;YACjE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/F,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;YACjE,GAAG,CAAC,GAAG,CACL,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oCAAoC,EAAE,EAAE,CAAC,CAChG,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,CAAC,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,iDAAiD;YACjD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,kFAAkF;IAClF,oFAAoF;IACpF,mDAAmD;IACnD,EAAE;IACF,eAAe;IACf,wFAAwF;IACxF,qFAAqF;IACrF,sBAAsB;IACtB,oFAAoF;IACpF,EAAE;IACF,sFAAsF;IACtF,yFAAyF;IACzF,sFAAsF;IACtF,qFAAqF;IACrF,yFAAyF;IACzF,0FAA0F;IAC1F,MAAM,aAAa,GAAG,8CAA8C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpF,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,+BAA+B,CAAC,CAAC;QAChF,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC;QACpD,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,SAAS,KAAK,mCAAmC,CAAC;QACrE,MAAM,UAAU,GAAG,SAAS,KAAK,kBAAkB,CAAC;QAEpD,wFAAwF;QACxF,sFAAsF;QACtF,kFAAkF;QAClF,yEAAyE;QACzE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;gBAC5B,KAAK,EAAE;oBACL,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,4EAA4E;iBACtF;aACF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC5B,KAAK,EAAE;wBACL,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,mEAAmE;qBAC7E;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,IAAa,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,UAAU,CAAC,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;YACD,IAAI;gBACF,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAQ,IAAgC,CAAC,IAAI,KAAK,QAAQ;oBACpH,CAAC,CAAG,IAAgC,CAAC,IAAe,CAAC,IAAI,EAAE;oBAC3D,CAAC,CAAC,EAAE,CAAC;QACX,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,eAAe,CACpB,GAAG,EACH,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,aAAa,EACb,iDAAiD,CAClD,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,GAAG,GAAG,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,eAAe,CACpB,GAAG,EACH,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,qBAAqB,EACrB,8CAA8C,CAC/C,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;YAC1D,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,EAAE,CAAC;QACN,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC,GAAG,EAAE,iBAAiB,EAAE,SAAS,UAAU,iBAAiB,CAAC,CAAC;QAC3F,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC"}
|
package/dist/logging.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Structured key=value logging to stderr per SPEC.md §13.1.
|
|
2
|
+
// Sink failures do not crash the orchestrator (§13.2).
|
|
3
|
+
const ENV_LEVEL = (process.env.SYMPHONY_LOG_LEVEL ?? 'info').toLowerCase();
|
|
4
|
+
const LEVEL_RANK = { debug: 10, info: 20, warn: 30, error: 40 };
|
|
5
|
+
function quote(v) {
|
|
6
|
+
if (v === null || v === undefined)
|
|
7
|
+
return '';
|
|
8
|
+
const s = String(v);
|
|
9
|
+
return /[\s"=]/.test(s) ? JSON.stringify(s) : s;
|
|
10
|
+
}
|
|
11
|
+
function format(level, msg, fields) {
|
|
12
|
+
const ts = new Date().toISOString();
|
|
13
|
+
const parts = [`ts=${ts}`, `level=${level}`, `msg=${quote(msg)}`];
|
|
14
|
+
for (const [k, v] of Object.entries(fields)) {
|
|
15
|
+
if (v === undefined)
|
|
16
|
+
continue;
|
|
17
|
+
parts.push(`${k}=${quote(v)}`);
|
|
18
|
+
}
|
|
19
|
+
return parts.join(' ');
|
|
20
|
+
}
|
|
21
|
+
function emit(level, msg, fields = {}) {
|
|
22
|
+
if (LEVEL_RANK[level] < LEVEL_RANK[ENV_LEVEL])
|
|
23
|
+
return;
|
|
24
|
+
try {
|
|
25
|
+
process.stderr.write(format(level, msg, fields) + '\n');
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Spec §13.2: a failed sink must not crash the service.
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export const log = {
|
|
32
|
+
debug: (msg, fields) => emit('debug', msg, fields ?? {}),
|
|
33
|
+
info: (msg, fields) => emit('info', msg, fields ?? {}),
|
|
34
|
+
warn: (msg, fields) => emit('warn', msg, fields ?? {}),
|
|
35
|
+
error: (msg, fields) => emit('error', msg, fields ?? {}),
|
|
36
|
+
};
|
|
37
|
+
export function withIssue(ctx) {
|
|
38
|
+
return {
|
|
39
|
+
debug: (msg, fields = {}) => log.debug(msg, { ...ctx, ...fields }),
|
|
40
|
+
info: (msg, fields = {}) => log.info(msg, { ...ctx, ...fields }),
|
|
41
|
+
warn: (msg, fields = {}) => log.warn(msg, { ...ctx, ...fields }),
|
|
42
|
+
error: (msg, fields = {}) => log.error(msg, { ...ctx, ...fields }),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp.js
ADDED
|
@@ -0,0 +1,478 @@
|
|
|
1
|
+
// Per-issue MCP server. Each active dispatch registers an entry here; the agent inside
|
|
2
|
+
// the smolvm connects to /api/v1/issues/<id>/mcp with the per-dispatch bearer token and
|
|
3
|
+
// sees exactly two tools:
|
|
4
|
+
//
|
|
5
|
+
// mark_done(summary) ─ atomic file move into the terminal state, sets the
|
|
6
|
+
// marked_done flag on the RunningEntry so the runner
|
|
7
|
+
// exits cleanly on next post-turn check.
|
|
8
|
+
// request_human_steering(question, context?)
|
|
9
|
+
// ─ stashes the question on the RunningEntry, returns
|
|
10
|
+
// an ack to the agent. The runner then pauses the
|
|
11
|
+
// autonomous loop and awaits a human reply submitted
|
|
12
|
+
// via POST /api/v1/issues/<id>/steering-reply.
|
|
13
|
+
//
|
|
14
|
+
// The URL is the capability: the agent only ever knows its own /<id>/mcp endpoint. The
|
|
15
|
+
// bearer token is belt-and-braces in case a non-agent caller can reach 8787.
|
|
16
|
+
//
|
|
17
|
+
// MCP wire format here is JSON-RPC 2.0 over HTTP (the "Streamable HTTP" transport's
|
|
18
|
+
// non-SSE subset). We implement only the subset our two tools need: initialize, tools/list,
|
|
19
|
+
// tools/call, plus a polite notifications/initialized acknowledgement.
|
|
20
|
+
import { randomBytes, timingSafeEqual } from 'node:crypto';
|
|
21
|
+
import { Buffer } from 'node:buffer';
|
|
22
|
+
import { lstat, mkdir, writeFile } from 'node:fs/promises';
|
|
23
|
+
import path from 'node:path';
|
|
24
|
+
import { log } from './logging.js';
|
|
25
|
+
const TERMINAL_STATE_FOR_DONE_DEFAULT = 'Done';
|
|
26
|
+
/**
|
|
27
|
+
* Pick the terminal state directory mark_done should move issues into.
|
|
28
|
+
*
|
|
29
|
+
* Shared between the orchestrator (which snapshots this at dispatch time onto
|
|
30
|
+
* the RunningEntry) and the registry's fallback path. Prefers an entry whose
|
|
31
|
+
* lowercase form is "done"; falls back to the first configured terminal state,
|
|
32
|
+
* then to a hardcoded "Done" when the list is empty.
|
|
33
|
+
*/
|
|
34
|
+
export function pickTerminalTarget(terminalStates) {
|
|
35
|
+
const preferred = terminalStates.find((s) => s.toLowerCase() === 'done');
|
|
36
|
+
if (preferred)
|
|
37
|
+
return preferred;
|
|
38
|
+
if (terminalStates.length > 0)
|
|
39
|
+
return terminalStates[0];
|
|
40
|
+
return TERMINAL_STATE_FOR_DONE_DEFAULT;
|
|
41
|
+
}
|
|
42
|
+
const PROTOCOL_VERSION = '2025-06-18';
|
|
43
|
+
const TOOL_LIST = [
|
|
44
|
+
{
|
|
45
|
+
name: 'mark_done',
|
|
46
|
+
description: 'Signal that this issue is fully complete. The orchestrator will move the issue file into the terminal Done state, persist the title/summary you provide for downstream tooling (PR title, PR body, transcripts), and stop dispatching new turns. Call this once, at the very end of a successful run. There is no RESULT.md to write — the structured fields here are the canonical record.',
|
|
47
|
+
inputSchema: {
|
|
48
|
+
type: 'object',
|
|
49
|
+
properties: {
|
|
50
|
+
title: {
|
|
51
|
+
type: 'string',
|
|
52
|
+
description: 'Short single-line title in imperative voice (≤72 chars recommended). Becomes the PR/commit title for the work. Example: "Add CHANGELOG.md with MCP entry".',
|
|
53
|
+
},
|
|
54
|
+
summary: {
|
|
55
|
+
type: 'string',
|
|
56
|
+
description: 'Multi-paragraph narrative describing what changed, why, and any follow-ups the agent noticed but did not do. Becomes the PR body / transcript record.',
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
required: ['title', 'summary'],
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: 'request_human_steering',
|
|
64
|
+
description: 'Pause work and ask the human operator a question. Your current turn will end immediately after this returns; the human response will arrive as the prompt for your next turn. Use only when you cannot proceed without a decision a human must make.',
|
|
65
|
+
inputSchema: {
|
|
66
|
+
type: 'object',
|
|
67
|
+
properties: {
|
|
68
|
+
question: {
|
|
69
|
+
type: 'string',
|
|
70
|
+
description: 'The question to ask the human. Be specific about what decision they need to make.',
|
|
71
|
+
},
|
|
72
|
+
context: {
|
|
73
|
+
type: 'string',
|
|
74
|
+
description: 'Optional: relevant context the human needs to answer (file paths, options considered, etc.).',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
required: ['question'],
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
export class McpRegistry {
|
|
82
|
+
tracker;
|
|
83
|
+
opts;
|
|
84
|
+
byIdentifier = new Map();
|
|
85
|
+
effectivePort = null;
|
|
86
|
+
constructor(tracker, opts) {
|
|
87
|
+
this.tracker = tracker;
|
|
88
|
+
this.opts = opts;
|
|
89
|
+
}
|
|
90
|
+
updateTerminalStates(states) {
|
|
91
|
+
this.opts.terminalStates = states;
|
|
92
|
+
}
|
|
93
|
+
/** Called once after the HTTP server binds, so URL construction uses the real port. */
|
|
94
|
+
setEffectivePort(port) {
|
|
95
|
+
this.effectivePort = port;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Build the URL the ACP agent will be told to POST to. Returns null when no HTTP server
|
|
99
|
+
* is available and no explicit URL is configured; the runner uses that to skip MCP
|
|
100
|
+
* injection (with a warning) instead of advertising an unreachable endpoint.
|
|
101
|
+
*/
|
|
102
|
+
buildUrl(identifier, mcp) {
|
|
103
|
+
const base = mcp.explicit_host_url
|
|
104
|
+
? mcp.explicit_host_url.replace(/\/+$/, '')
|
|
105
|
+
: this.effectivePort === null
|
|
106
|
+
? null
|
|
107
|
+
: `http://${mcp.host}:${this.effectivePort}`;
|
|
108
|
+
if (!base)
|
|
109
|
+
return null;
|
|
110
|
+
return `${base}/api/v1/issues/${encodeURIComponent(identifier)}/mcp`;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Register an active dispatch. Returns the bearer token the runner injects into the
|
|
114
|
+
* agent's MCP server config via ACP's session/new mcpServers field.
|
|
115
|
+
*/
|
|
116
|
+
activate(entry) {
|
|
117
|
+
const token = randomBytes(24).toString('base64url');
|
|
118
|
+
entry.mcp_token = token;
|
|
119
|
+
entry.marked_done = false;
|
|
120
|
+
entry.steering_requested = false;
|
|
121
|
+
entry.steering_question = null;
|
|
122
|
+
entry.steering_context = null;
|
|
123
|
+
// Carry the dispatch-time snapshots through verbatim. Reading
|
|
124
|
+
// this.tracker.currentRoot() / this.preferredTerminalState() here would be
|
|
125
|
+
// wrong: activate runs AFTER workspace setup, before_run hook, and smolvm
|
|
126
|
+
// bring-up — a window during which a WORKFLOW.md reload can mutate tracker
|
|
127
|
+
// root or terminal_states. The dispatch-time values are the only ones that
|
|
128
|
+
// accurately reflect the world the run was started in.
|
|
129
|
+
const active = {
|
|
130
|
+
issueId: entry.issue_id,
|
|
131
|
+
identifier: entry.identifier,
|
|
132
|
+
entry,
|
|
133
|
+
token,
|
|
134
|
+
pendingReply: null,
|
|
135
|
+
trackerRootSnapshot: entry.tracker_root_at_dispatch,
|
|
136
|
+
terminalTarget: entry.terminal_target_at_dispatch,
|
|
137
|
+
};
|
|
138
|
+
this.byIdentifier.set(entry.identifier, active);
|
|
139
|
+
log.debug('mcp activated', {
|
|
140
|
+
issue_identifier: entry.identifier,
|
|
141
|
+
terminal_target: active.terminalTarget,
|
|
142
|
+
tracker_root: active.trackerRootSnapshot,
|
|
143
|
+
});
|
|
144
|
+
return token;
|
|
145
|
+
}
|
|
146
|
+
deactivate(identifier) {
|
|
147
|
+
const active = this.byIdentifier.get(identifier);
|
|
148
|
+
if (!active)
|
|
149
|
+
return;
|
|
150
|
+
// Reject any waiter so the runner unblocks instead of hanging.
|
|
151
|
+
if (active.pendingReply) {
|
|
152
|
+
active.pendingReply.reject(new Error('mcp deactivated while awaiting human reply'));
|
|
153
|
+
active.pendingReply = null;
|
|
154
|
+
}
|
|
155
|
+
this.byIdentifier.delete(identifier);
|
|
156
|
+
log.debug('mcp deactivated', { issue_identifier: identifier });
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Resolve a pending human reply. Returns false if no waiter exists (the agent hasn't
|
|
160
|
+
* requested steering, or the reply was already delivered).
|
|
161
|
+
*/
|
|
162
|
+
submitSteeringReply(identifier, text) {
|
|
163
|
+
const active = this.byIdentifier.get(identifier);
|
|
164
|
+
if (!active || !active.pendingReply)
|
|
165
|
+
return false;
|
|
166
|
+
const { resolve } = active.pendingReply;
|
|
167
|
+
active.pendingReply = null;
|
|
168
|
+
resolve(text);
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Block until a human reply arrives, the cancel signal trips, or the active entry is
|
|
173
|
+
* deactivated. Returns the reply text or null if cancelled.
|
|
174
|
+
*/
|
|
175
|
+
async awaitSteeringReply(identifier, cancelSignal) {
|
|
176
|
+
const active = this.byIdentifier.get(identifier);
|
|
177
|
+
if (!active)
|
|
178
|
+
return null;
|
|
179
|
+
if (active.pendingReply) {
|
|
180
|
+
throw new Error('steering reply already being awaited for this issue');
|
|
181
|
+
}
|
|
182
|
+
let timer = null;
|
|
183
|
+
try {
|
|
184
|
+
return await new Promise((resolve, reject) => {
|
|
185
|
+
active.pendingReply = {
|
|
186
|
+
resolve: (text) => resolve(text),
|
|
187
|
+
reject: (err) => reject(err),
|
|
188
|
+
};
|
|
189
|
+
// Poll cancellation every 250ms (same cadence as the runner's cancel-check timer).
|
|
190
|
+
timer = setInterval(() => {
|
|
191
|
+
if (cancelSignal.cancelled) {
|
|
192
|
+
if (active.pendingReply) {
|
|
193
|
+
active.pendingReply = null;
|
|
194
|
+
resolve(null);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}, 250);
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
finally {
|
|
201
|
+
if (timer)
|
|
202
|
+
clearInterval(timer);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Handle a single JSON-RPC envelope. The HTTP layer takes care of routing (identifier
|
|
207
|
+
* lookup, token check) and passes us the parsed body. Returns null for notifications
|
|
208
|
+
* (no `id`); the HTTP layer responds with 204 in that case.
|
|
209
|
+
*/
|
|
210
|
+
async handleJsonRpc(identifier, token, body) {
|
|
211
|
+
const active = this.byIdentifier.get(identifier);
|
|
212
|
+
if (!active) {
|
|
213
|
+
return makeError(getId(body), -32001, 'issue not active');
|
|
214
|
+
}
|
|
215
|
+
if (!constantTimeStringEqual(active.token, token)) {
|
|
216
|
+
return makeError(getId(body), -32002, 'invalid token');
|
|
217
|
+
}
|
|
218
|
+
if (!isRpcRequest(body)) {
|
|
219
|
+
return makeError(getId(body), -32600, 'invalid JSON-RPC request');
|
|
220
|
+
}
|
|
221
|
+
const id = body.id ?? null;
|
|
222
|
+
const isNotification = body.id === undefined;
|
|
223
|
+
try {
|
|
224
|
+
switch (body.method) {
|
|
225
|
+
case 'initialize': {
|
|
226
|
+
if (isNotification)
|
|
227
|
+
return null;
|
|
228
|
+
return {
|
|
229
|
+
jsonrpc: '2.0',
|
|
230
|
+
id,
|
|
231
|
+
result: {
|
|
232
|
+
protocolVersion: PROTOCOL_VERSION,
|
|
233
|
+
capabilities: {
|
|
234
|
+
tools: { listChanged: false },
|
|
235
|
+
},
|
|
236
|
+
serverInfo: {
|
|
237
|
+
name: 'smol-symphony',
|
|
238
|
+
version: '0.1.0',
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
case 'notifications/initialized':
|
|
244
|
+
case 'notifications/cancelled':
|
|
245
|
+
case 'notifications/progress': {
|
|
246
|
+
return null;
|
|
247
|
+
}
|
|
248
|
+
case 'tools/list': {
|
|
249
|
+
if (isNotification)
|
|
250
|
+
return null;
|
|
251
|
+
return { jsonrpc: '2.0', id, result: { tools: TOOL_LIST } };
|
|
252
|
+
}
|
|
253
|
+
case 'tools/call': {
|
|
254
|
+
if (isNotification)
|
|
255
|
+
return null;
|
|
256
|
+
const params = (body.params ?? {});
|
|
257
|
+
const name = params.name;
|
|
258
|
+
const args = params.arguments ?? {};
|
|
259
|
+
if (name === 'mark_done') {
|
|
260
|
+
return await this.callMarkDone(active, id, args);
|
|
261
|
+
}
|
|
262
|
+
if (name === 'request_human_steering') {
|
|
263
|
+
return this.callRequestHumanSteering(active, id, args);
|
|
264
|
+
}
|
|
265
|
+
return makeError(id, -32601, `unknown tool: ${name}`);
|
|
266
|
+
}
|
|
267
|
+
case 'ping': {
|
|
268
|
+
if (isNotification)
|
|
269
|
+
return null;
|
|
270
|
+
return { jsonrpc: '2.0', id, result: {} };
|
|
271
|
+
}
|
|
272
|
+
default:
|
|
273
|
+
if (isNotification)
|
|
274
|
+
return null;
|
|
275
|
+
return makeError(id, -32601, `unknown method: ${body.method}`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
catch (err) {
|
|
279
|
+
log.warn('mcp handler error', {
|
|
280
|
+
issue_identifier: identifier,
|
|
281
|
+
method: body.method,
|
|
282
|
+
error: err.message,
|
|
283
|
+
});
|
|
284
|
+
return makeError(id, -32603, err.message);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
async callMarkDone(active, id, args) {
|
|
288
|
+
const titleRaw = typeof args.title === 'string' ? args.title.trim() : '';
|
|
289
|
+
const summary = typeof args.summary === 'string' ? args.summary : '';
|
|
290
|
+
if (!titleRaw) {
|
|
291
|
+
return makeToolError(id, 'title is required and must be a non-empty string');
|
|
292
|
+
}
|
|
293
|
+
if (titleRaw.includes('\n')) {
|
|
294
|
+
return makeToolError(id, 'title must be a single line (no embedded newlines)');
|
|
295
|
+
}
|
|
296
|
+
if (!summary.trim()) {
|
|
297
|
+
return makeToolError(id, 'summary is required and must be a non-empty string');
|
|
298
|
+
}
|
|
299
|
+
if (!this.tracker.moveIssueToState) {
|
|
300
|
+
return makeToolError(id, 'this tracker does not support state transitions');
|
|
301
|
+
}
|
|
302
|
+
// Use the snapshots captured at activate time, not the registry's live config.
|
|
303
|
+
// A WORKFLOW.md reload that changes tracker.root or terminal_states between
|
|
304
|
+
// dispatch and mark_done must not redirect the move.
|
|
305
|
+
//
|
|
306
|
+
// Pass the entry's dispatched-from state as `fromState` so the tracker can
|
|
307
|
+
// disambiguate when a stale terminal copy (e.g. a leftover Done/ABC-1.md
|
|
308
|
+
// from a prior cycle) shares the issue id with the active In Progress copy.
|
|
309
|
+
// Without this, a blind first-match could pick the stale terminal file and
|
|
310
|
+
// silently no-op via the same-state short-circuit.
|
|
311
|
+
const target = active.terminalTarget;
|
|
312
|
+
const fromRoot = active.trackerRootSnapshot ?? undefined;
|
|
313
|
+
const fromState = active.entry.issue.state;
|
|
314
|
+
try {
|
|
315
|
+
const result = await this.tracker.moveIssueToState(active.issueId, target, {
|
|
316
|
+
fromRoot,
|
|
317
|
+
fromState,
|
|
318
|
+
});
|
|
319
|
+
active.entry.marked_done = true;
|
|
320
|
+
// The reconcile loop normally sets cleanup_workspace_on_exit when it observes a
|
|
321
|
+
// terminal-state transition, but the runner can exit (via the marked_done flag)
|
|
322
|
+
// before the next reconcile tick. Set it here so the workspace is cleaned up on
|
|
323
|
+
// worker exit regardless of which path got there first.
|
|
324
|
+
active.entry.cleanup_workspace_on_exit = true;
|
|
325
|
+
// Persist the structured title+summary into the workspace so the after_run
|
|
326
|
+
// hook (and any other consumers) can read them. Format is markdown so
|
|
327
|
+
// operators can `cat` it without parsing JSON:
|
|
328
|
+
// # <title>
|
|
329
|
+
//
|
|
330
|
+
// <summary>
|
|
331
|
+
try {
|
|
332
|
+
const stagingDir = await pickStagingDir(active.entry.workspace_path);
|
|
333
|
+
await mkdir(stagingDir, { recursive: true });
|
|
334
|
+
const body = `# ${titleRaw}\n\n${summary.trim()}\n`;
|
|
335
|
+
await writeFile(path.join(stagingDir, 'mark_done.md'), body, { mode: 0o644 });
|
|
336
|
+
}
|
|
337
|
+
catch (err) {
|
|
338
|
+
// Persistence failure is non-fatal — the move already happened, the
|
|
339
|
+
// flag is set, and the title/summary are in the log line below. We
|
|
340
|
+
// surface it as a warning so the operator can investigate.
|
|
341
|
+
log.warn('mcp mark_done: failed to persist mark_done.md', {
|
|
342
|
+
issue_identifier: active.identifier,
|
|
343
|
+
error: err.message,
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
log.info('mcp mark_done', {
|
|
347
|
+
issue_identifier: active.identifier,
|
|
348
|
+
from: result.fromState,
|
|
349
|
+
to: result.toState,
|
|
350
|
+
title: titleRaw,
|
|
351
|
+
summary_chars: summary.length,
|
|
352
|
+
});
|
|
353
|
+
return {
|
|
354
|
+
jsonrpc: '2.0',
|
|
355
|
+
id,
|
|
356
|
+
result: {
|
|
357
|
+
content: [
|
|
358
|
+
{
|
|
359
|
+
type: 'text',
|
|
360
|
+
text: `Marked ${active.identifier} as done (moved to ${result.toState}). Stop now; no further turns will be dispatched.`,
|
|
361
|
+
},
|
|
362
|
+
],
|
|
363
|
+
isError: false,
|
|
364
|
+
},
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
catch (err) {
|
|
368
|
+
return makeToolError(id, `failed to mark done: ${err.message}`);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
callRequestHumanSteering(active, id, args) {
|
|
372
|
+
const question = typeof args.question === 'string' ? args.question.trim() : '';
|
|
373
|
+
const context = typeof args.context === 'string' ? args.context.trim() : '';
|
|
374
|
+
if (!question) {
|
|
375
|
+
return makeToolError(id, 'question is required and must be a non-empty string');
|
|
376
|
+
}
|
|
377
|
+
if (active.entry.steering_requested) {
|
|
378
|
+
return makeToolError(id, 'a steering request is already pending for this issue; end the turn and wait for the response');
|
|
379
|
+
}
|
|
380
|
+
active.entry.steering_requested = true;
|
|
381
|
+
active.entry.steering_question = question;
|
|
382
|
+
active.entry.steering_context = context.length > 0 ? context : null;
|
|
383
|
+
log.info('mcp request_human_steering', {
|
|
384
|
+
issue_identifier: active.identifier,
|
|
385
|
+
question_chars: question.length,
|
|
386
|
+
has_context: context.length > 0,
|
|
387
|
+
});
|
|
388
|
+
return {
|
|
389
|
+
jsonrpc: '2.0',
|
|
390
|
+
id,
|
|
391
|
+
result: {
|
|
392
|
+
content: [
|
|
393
|
+
{
|
|
394
|
+
type: 'text',
|
|
395
|
+
text: 'Question queued. End this turn now. The human response will arrive as the prompt for your next turn.',
|
|
396
|
+
},
|
|
397
|
+
],
|
|
398
|
+
isError: false,
|
|
399
|
+
},
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
preferredTerminalState() {
|
|
403
|
+
return pickTerminalTarget(this.opts.terminalStates);
|
|
404
|
+
}
|
|
405
|
+
/** Snapshot of currently active issues, used by HTTP for routing lookups. */
|
|
406
|
+
isActive(identifier, token) {
|
|
407
|
+
const active = this.byIdentifier.get(identifier);
|
|
408
|
+
return !!active && constantTimeStringEqual(active.token, token);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Constant-time string comparison for secrets. Uses crypto.timingSafeEqual on
|
|
413
|
+
* equal-length buffers; rejects different-length inputs (the registry only ever
|
|
414
|
+
* issues fixed-width base64url tokens, so a length mismatch is unconditionally
|
|
415
|
+
* a wrong-token signal and the early exit doesn't leak per-byte timing).
|
|
416
|
+
*
|
|
417
|
+
* We compare BYTE lengths after UTF-8 encoding, not JS string `.length` (which
|
|
418
|
+
* counts UTF-16 code units). An attacker-supplied non-ASCII token can match the
|
|
419
|
+
* real token's code-unit count while encoding to a different byte length; passing
|
|
420
|
+
* those buffers to timingSafeEqual would throw `Input buffers must have the same
|
|
421
|
+
* byte length`, surfacing as an HTTP 500 instead of a clean wrong-token rejection.
|
|
422
|
+
*/
|
|
423
|
+
function constantTimeStringEqual(a, b) {
|
|
424
|
+
const aBuf = Buffer.from(a, 'utf8');
|
|
425
|
+
const bBuf = Buffer.from(b, 'utf8');
|
|
426
|
+
if (aBuf.length !== bBuf.length)
|
|
427
|
+
return false;
|
|
428
|
+
return timingSafeEqual(aBuf, bBuf);
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Pick the symphony-runtime staging directory for a workspace. Mirrors the
|
|
432
|
+
* adapter-staging policy in adapters.ts: when the workspace has its own
|
|
433
|
+
* `.git/` directory, the runtime files live inside it (outside the working
|
|
434
|
+
* tree, structurally untrackable); otherwise they sit at workspace root.
|
|
435
|
+
* `mark_done` writes its persisted artifact here so the after_run hook can
|
|
436
|
+
* find it via the same probe.
|
|
437
|
+
*/
|
|
438
|
+
async function pickStagingDir(workspacePath) {
|
|
439
|
+
const gitPath = path.join(workspacePath, '.git');
|
|
440
|
+
try {
|
|
441
|
+
const st = await lstat(gitPath);
|
|
442
|
+
if (st.isDirectory())
|
|
443
|
+
return path.join(workspacePath, '.git', 'symphony-runtime');
|
|
444
|
+
}
|
|
445
|
+
catch {
|
|
446
|
+
// .git missing or unstat-able — fall through to the workspace-root path.
|
|
447
|
+
}
|
|
448
|
+
return path.join(workspacePath, '.symphony-runtime');
|
|
449
|
+
}
|
|
450
|
+
function getId(body) {
|
|
451
|
+
if (body && typeof body === 'object' && !Array.isArray(body)) {
|
|
452
|
+
const rec = body;
|
|
453
|
+
if (typeof rec.id === 'string' || typeof rec.id === 'number')
|
|
454
|
+
return rec.id;
|
|
455
|
+
}
|
|
456
|
+
return null;
|
|
457
|
+
}
|
|
458
|
+
function isRpcRequest(body) {
|
|
459
|
+
if (!body || typeof body !== 'object' || Array.isArray(body))
|
|
460
|
+
return false;
|
|
461
|
+
const rec = body;
|
|
462
|
+
return rec.jsonrpc === '2.0' && typeof rec.method === 'string';
|
|
463
|
+
}
|
|
464
|
+
function makeError(id, code, message) {
|
|
465
|
+
return { jsonrpc: '2.0', id, error: { code, message } };
|
|
466
|
+
}
|
|
467
|
+
function makeToolError(id, message) {
|
|
468
|
+
// MCP convention: tool errors return result.isError=true rather than JSON-RPC error.
|
|
469
|
+
return {
|
|
470
|
+
jsonrpc: '2.0',
|
|
471
|
+
id,
|
|
472
|
+
result: {
|
|
473
|
+
content: [{ type: 'text', text: message }],
|
|
474
|
+
isError: true,
|
|
475
|
+
},
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
//# sourceMappingURL=mcp.js.map
|
package/dist/mcp.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|