@avantf/dsh-mem 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/LICENSE +21 -0
- package/README.md +140 -0
- package/lib/client.js +5901 -0
- package/lib/client.js.map +1 -0
- package/lib/dsh-build.json +7 -0
- package/lib/index.js +14329 -0
- package/lib/types/client/domains.d.ts +52 -0
- package/lib/types/client/domains.d.ts.map +1 -0
- package/lib/types/client/domains.js +25 -0
- package/lib/types/client/domains.js.map +1 -0
- package/lib/types/client/index.d.ts +35 -0
- package/lib/types/client/index.d.ts.map +1 -0
- package/lib/types/client/index.js +1351 -0
- package/lib/types/client/index.js.map +1 -0
- package/lib/types/client/ingest.d.ts +24 -0
- package/lib/types/client/ingest.d.ts.map +1 -0
- package/lib/types/client/ingest.js +30 -0
- package/lib/types/client/ingest.js.map +1 -0
- package/lib/types/client/paging.d.ts +30 -0
- package/lib/types/client/paging.d.ts.map +1 -0
- package/lib/types/client/paging.js +36 -0
- package/lib/types/client/paging.js.map +1 -0
- package/lib/types/client/summarize.d.ts +11 -0
- package/lib/types/client/summarize.d.ts.map +1 -0
- package/lib/types/client/summarize.js +79 -0
- package/lib/types/client/summarize.js.map +1 -0
- package/lib/types/envinit-bootstrap.d.ts +43 -0
- package/lib/types/envinit-bootstrap.js +323 -0
- package/lib/types/envinit.d.ts +145 -0
- package/lib/types/envinit.d.ts.map +1 -0
- package/lib/types/envinit.js +495 -0
- package/lib/types/envinit.js.map +1 -0
- package/lib/types/hints.d.ts +42 -0
- package/lib/types/hints.d.ts.map +1 -0
- package/lib/types/hints.js +54 -0
- package/lib/types/hints.js.map +1 -0
- package/lib/types/index.d.ts +74 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +708 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/inject.d.ts +14 -0
- package/lib/types/inject.d.ts.map +1 -0
- package/lib/types/inject.js +14 -0
- package/lib/types/inject.js.map +1 -0
- package/lib/types/open.d.ts +27 -0
- package/lib/types/open.d.ts.map +1 -0
- package/lib/types/open.js +133 -0
- package/lib/types/open.js.map +1 -0
- package/lib/types/prompt.d.ts +49 -0
- package/lib/types/prompt.d.ts.map +1 -0
- package/lib/types/prompt.js +65 -0
- package/lib/types/prompt.js.map +1 -0
- package/lib/types/provision.d.ts +117 -0
- package/lib/types/provision.d.ts.map +1 -0
- package/lib/types/provision.js +233 -0
- package/lib/types/provision.js.map +1 -0
- package/lib/types/remote.d.ts +17 -0
- package/lib/types/remote.d.ts.map +1 -0
- package/lib/types/remote.js +233 -0
- package/lib/types/remote.js.map +1 -0
- package/lib/types/tool_schema.d.ts +40 -0
- package/lib/types/tool_schema.d.ts.map +1 -0
- package/lib/types/tool_schema.js +149 -0
- package/lib/types/tool_schema.js.map +1 -0
- package/package.json +109 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIpC,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AACxC,OAAO,EAAE,UAAU,EAAkD,MAAM,wBAAwB,CAAA;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAE9E,OAAO,EACL,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,MAAM,EACN,OAAO,EACP,eAAe,EACf,eAAe,GAKhB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,qBAAqB,EAAsB,MAAM,gBAAgB,CAAA;AAC9G,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,WAAW,GAGZ,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAmB,MAAM,WAAW,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,CAAC,MAAM,IAAI,GAAG,YAAY,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,mGAAmG;AACnG,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAM7E,MAAM,CAAC,MAAM,MAAM,GAAc,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACpE,6EAA6E;IAC7E,oEAAoE;IACpE,wEAAwE;IACxE,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,0BAA0B,GAAG,IAAI,CAAA;AAEvC,yFAAyF;AACzF,MAAM,yBAAyB,GAAG,IAAI,CAAA;AAEtC,iGAAiG;AACjG,EAAE;AACF,mGAAmG;AACnG,oGAAoG;AACpG,oFAAoF;AAEpF,KAAK,UAAU,WAAW,CAAC,IAAc,EAAE,EAAiB,EAAE,IAAa;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAyC,CAAA;IAChG,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAyC,CAAA;IAClH,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAA+B,CAAC,CAAA;QACzF,gFAAgF;QAChF,yEAAyE;QACzE,wFAAwF;QACxF,6DAA6D;QAC7D,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAG,MAAM,CAAC,IAA6B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACnG,OAAO,MAAM,CAAC,MAAM,CAAyC,CAAA;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,KAAK,CAAyC,CAAA;IAC/D,CAAC;AACH,CAAC;AAED,MAAM,MAAM,GAAG;IACb,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;IACtD,MAAM,EAAE,CAAC,KAAc,EAAE,KAAgB,EAAoC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;CAChI,CAAA;AAEV,SAAS,OAAO,CAAC,IAAc,EAAE,IAA6B;IAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;AAC7E,CAAC;AAMD,kFAAkF;AAClF,SAAS,OAAO,CAAC,IAAc;IAC7B,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAA;AAClG,CAAC;AAED;;;;;GAKG;IACU,gBAAgB;sBAAS,mBAAmB;;;;;;;;;;;;iBAA5C,gBAAiB,SAAQ,WAAmB;;;oCAqBtD,MAAM,CAAC,UAAU,CAAC;kCAMlB,MAAM,CAAC,QAAQ,CAAC;iCAMhB,MAAM,CAAC,OAAO,CAAC;8BAMf,MAAM,CAAC,IAAI,CAAC;iCAOZ,MAAM,CAAC,OAAO,CAAC;0CAUf,MAAM,CAAC,gBAAgB,CAAC;qCAYxB,MAAM,CAAC,WAAW,CAAC;qCAgBnB,MAAM,CAAC,WAAW,CAAC;uCAcnB,MAAM,CAAC,aAAa,CAAC;mCAiBrB,MAAM,CAAC,SAAS,CAAC;YA7FlB,2KAAA,QAAQ,6DAGP;YAGD,qKAAA,MAAM,6DAGL;YAGD,kKAAA,KAAK,6DAGJ;YAGD,yJAAA,EAAE,6DAID;YAGD,kKAAA,KAAK,6DAEJ;YAQD,6LAAM,cAAc,6DAQnB;YAID,8KAAM,SAAS,6DAQd;YAQD,8KAAM,SAAS,6DAMd;YAQD,oLAAM,WAAW,6DAQhB;YASD,wKAAM,OAAO,6DAgBZ;;;QAnIgB,EAAE,GADR,mDAAgB,CACO;QAClC,YAAY,GAAY,EAAE,EAAiB;YACzC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;YACvB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACd,CAAC;QAEO,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,IAAc,EAAE,OAAiB;YAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,6EAA6E;gBAC7E,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAc,CAAA;YACrE,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,IAAgB,CAAC,CAAA;gBAC1E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,CAAA;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAA;YACrD,CAAC;QACH,CAAC;QAGD,QAAQ,CAAC,IAAc;YACrB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QAC5E,CAAC;QAGD,MAAM,CAAC,IAAc;YACnB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QAC3E,CAAC;QAGD,KAAK,CAAC,IAAc;YAClB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QACvE,CAAC;QAGD,EAAE,CAAC,IAAc;YACf,6EAA6E;YAC7E,kDAAkD;YAClD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QAChD,CAAC;QAGD,KAAK,CAAC,IAAc;YAClB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QACtD,CAAC;QAED;;;;WAIG;QAEH,KAAK,CAAC,cAAc,CAAC,IAAc;YACjC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC7B,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;gBACjE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAA;YACrD,CAAC;QACH,CAAC;QAED,qFAAqF;QAErF,KAAK,CAAC,SAAS,CAAC,IAAc;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC7B,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC/F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;YACpF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAA;YACrD,CAAC;QACH,CAAC;QAED;;;;WAIG;QAEH,KAAK,CAAC,SAAS,CAAC,KAAe;YAC7B,IAAI,CAAC;gBACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,CAAA;YAC/D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAA;YACrD,CAAC;QACH,CAAC;QAED;;;;WAIG;QAEH,KAAK,CAAC,WAAW,CAAC,IAAc;YAC9B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC7B,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;gBACvE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAA;YACrD,CAAC;QACH,CAAC;QAED;;;;;WAKG;QAEH,KAAK,CAAC,OAAO,CAAC,IAAc;YAC1B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC7B,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC7E,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAA;gBACzE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;gBACjD,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;gBAC1E,MAAM,MAAM,GAAe,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;gBACpE,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,IAAI,YAAY,EAAE,CAAA;gBAC1D,CAAC;gBACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACpF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAA;YACrD,CAAC;QACH,CAAC;;;SApIU,gBAAgB;AAuI7B;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,GAAY;IAC9B,MAAM,KAAK,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAA;IACjD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAA;IACvB,OAAO;QACL,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;QAC9D,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;KAClE,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,WAAW,CAAC,GAAY;IAC/B,MAAM,KAAK,GAAI,GAAgD,CAAC,KAAK,CAAA;IACrE,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAA;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,SAAS,qBAAqB,CAC5B,GAAmB,EACnB,EAAiB,EACjB,MAAoB,EACpB,OAAqC;IAErC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAA;IAC5C,mGAAmG;IACnG,oFAAoF;IACpF,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1D,MAAM,IAAI,GAAiB;QACzB,MAAM,EAAE,KAAK,CAAC,YAAY;QAC1B,cAAc,EAAE,KAAK,CAAC,MAAM;QAC5B,+FAA+F;QAC/F,sFAAsF;QACtF,iBAAiB,EAAE,QAAQ,CAAC,aAAa;QACzC,KAAK;KACN,CAAA;IACD,8FAA8F;IAC9F,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IAEzE,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5D,+FAA+F;QAC/F,6FAA6F;QAC7F,wCAAwC;QACxC,iBAAiB,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC;IAED,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;QACrC,IAAI,KAAK,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YAC5B,6FAA6F;YAC7F,gGAAgG;YAChG,2FAA2F;YAC3F,iBAAiB,CAAC,EAAE,CAAC,CAAA;QACvB,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAA;QAC3E,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CACT,YAAY,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,GAAG,CAC3H,CAAA;YACD,IAAI,KAAK,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,4BAA4B,QAAQ,wDAAwD,CAAC,CAAA;gBACzG,qBAAqB,CAAC;oBACpB,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;oBACrC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY;oBAChD,MAAM;iBACP,CAAC,CAAA;gBACF,qBAAqB,EAAE,CAAA;YACzB,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAChI,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CAAC,EAAiB,EAAE,GAAmB;IAC5D,MAAM,QAAQ,GAAG,eAAe,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1E,OAAO,QAAQ,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAAY,EAAE,MAAc;IACtD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAE9B,gGAAgG;IAChG,sFAAsF;IACtF,+FAA+F;IAC/F,gGAAgG;IAChG,4CAA4C;IAC5C,EAAE;IACF,mGAAmG;IACnG,mGAAmG;IACnG,oGAAoG;IACpG,oGAAoG;IACpG,EAAE;IACF,kGAAkG;IAClG,kGAAkG;IAClG,6FAA6F;IAC7F,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;IAE9C,+FAA+F;IAC/F,kGAAkG;IAClG,iGAAiG;IACjG,wEAAwE;IACxE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAA;QAC9F,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,CAAA;IAC1B,IAAI,OAAkC,CAAA;IACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,wJAAwJ,CAAC,CAAA;IACvK,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACtB,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;YACzD,MAAM,CAAC,IAAI,CAAC,kIAAkI,CAAC,CAAA;YAC/I,OAAM;QACR,CAAC;QACD,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IACvB,CAAC;IAED,mGAAmG;IACnG,iGAAiG;IACjG,+FAA+F;IAC/F,uDAAuD;IACvD,MAAM,SAAS,GAAG,UAAU,CAAA;IAC5B,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,+EAA+E;QAC/E,6EAA6E;QAC7E,MAAM,CAAC,IAAI,CAAC,gHAAgH,CAAC,CAAA;IAC/H,CAAC;IACD,iFAAiF;IACjF,qFAAqF;IACrF,MAAM,CAAC,IAAI,CACT,sBAAsB,MAAM,CAAC,IAAI,IAAI,QAAQ,GAAG;UAC9C,YAAY,MAAM,CAAC,QAAQ,IAAI,uCAAuC,EAAE,CAC3E,CAAA;IAED,IAAI,EAAiB,CAAA;IACrB,IAAI,CAAC;QACH,EAAE,GAAG,YAAY,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM;YACN,4FAA4F;YAC5F,0FAA0F;YAC1F,4FAA4F;YAC5F,8EAA8E;YAC9E,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;SACrG,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gGAAgG;QAChG,0FAA0F;QAC1F,iGAAiG;QACjG,iGAAiG;QACjG,iGAAiG;QACjG,kEAAkE;QAClE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QACnC,MAAM,CAAC,KAAK,CAAC,2EAA2E,MAAM,EAAE,CAAC,CAAA;QACjG,MAAM,OAAO,GAAG,uBAAuB,MAAM,EAAE,CAAA;QAC/C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,KAAK,CAAC,QAAQ,CAChB,UAAU,CAAC;gBACT,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,eAAe,CAAC,IAAI,CAAmC;gBACnE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAyC,CAAC;gBACxF,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAA+B,CAAC;aACtE,CAAC,CACH,CAAA;YACD,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,yGAAyG,CAAC,CAAA;QACtH,OAAM;IACR,CAAC;IACD,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IAC/B,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IAE/C,2FAA2F;IAC3F,iFAAiF;IACjF,EAAE;IACF,wFAAwF;IACxF,EAAE;IACF,8FAA8F;IAC9F,oGAAoG;IACpG,mGAAmG;IACnG,iGAAiG;IACjG,uFAAuF;IACvF,+FAA+F;IAC/F,8CAA8C;IAC9C,EAAE;IACF,6FAA6F;IAC7F,6FAA6F;IAC7F,2FAA2F;IAC3F,kGAAkG;IAClG,8DAA8D;IAC9D,MAAM,MAAM,GAAI,GAAwF,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACtH,MAAM,OAAO,GAAG,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACxE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,qBAAqB,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;SAAM,CAAC;QACN,iGAAiG;QACjG,4FAA4F;QAC5F,8FAA8F;QAC9F,+CAA+C;QAC/C,KAAK,uBAAuB,CAAC,EAAE,EAAE;YAC/B,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YAC7C,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;SACzD,CAAC,CAAA;IACJ,CAAC;IAED,6FAA6F;IAC7F,+FAA+F;IAC/F,gGAAgG;IAChG,2FAA2F;IAC3F,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,KAAK,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,0BAA0B,CAAC;aACvD,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,OAAO,oCAAoC,KAAK,CAAC,QAAQ,eAAe,CAAC,CAAA;YACtH,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC/F,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;IACD,iGAAiG;IACjG,oFAAoF;IACpF,aAAa,EAAE,CAAA;IAEf,oFAAoF;IACpF,oFAAoF;IACpF,MAAM,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAA;IAC1E,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE;YACd,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC7B,IAAI,CAAC;oBACH,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;gBACvB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAC7F,CAAC;gBACD,aAAa,EAAE,CAAA;YACjB,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC,CAAA;YAC7B,MAAM,KAAK,GAAI,KAA2C,CAAC,KAAK,CAAA;YAChE,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClD,MAAM,CAAC,IAAI,CAAC,0BAA0B,gBAAgB,0CAA0C,CAAC,CAAA;YACjG,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAkD,CAAC,CAAA;QAChF,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kGAAkG;IAClG,wHAAwH;IACxH,2FAA2F;IAC3F,uFAAuF;IACvF,sDAAsD;IACtD,KAAK,MAAM,OAAO,IAAI,CAAC,qBAAqB,EAAE,wBAAwB,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAChG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACjC,MAAM,CAAC,IAAI,CAAC,8BAA8B,OAAO,CAAC,IAAI,WAAW,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5F,CAAC;IAED,+FAA+F;IAC/F,0FAA0F;IAC1F,gGAAgG;IAChG,+FAA+F;IAC/F,MAAM,KAAK,GAAG,IAAI,OAAO,EAAwB,CAAA;IACjD,GAAG,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,OAA8C,EAAE,EAAE;QAChF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAM;QAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACzC,uFAAuF;QACvF,kFAAkF;QAClF,IAAI,CAAC;YACH,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI;QACjC,CAAC,oBAAoB,EAAE,GAAG,EAAE,QAAQ,CAAC;QACrC,CAAC,uBAAuB,EAAE,GAAG,EAAE,WAAW,CAAC;KACnC,EAAE,CAAC;QACX,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC;YACvB,IAAI;YACJ,KAAK;YACL,oFAAoF;YACpF,wFAAwF;YACxF,qFAAqF;YACrF,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;gBAChB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC9E,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;YACvD,CAAC;SACF,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,8BAA8B,IAAI,WAAW,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5E,CAAC;IAED,+FAA+F;IAC/F,kGAAkG;IAClG,iGAAiG;IACjG,8FAA8F;IAC9F,+CAA+C;IAC/C,IAAI,WAAW,GAAG,KAAK,CAAA;IACvB,4FAA4F;IAC5F,kGAAkG;IAClG,0FAA0F;IAC1F,kFAAkF;IAClF,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,aAAa,GAAyC,IAAI,CAAA;IAC9D,MAAM,SAAS,GAAG,KAAK,EAAE,IAAa,EAAiB,EAAE;QACvD,IAAI,WAAW;YAAE,OAAM;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,yBAAyB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CAAA;YACnE,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACb,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC3B,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;gBACzF,CAAC;gBACD,OAAM;YACR,CAAC;YACD,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC1B,CAAC;QACD,WAAW,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC;YACH,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC3B,wFAAwF;gBACxF,yEAAyE;gBACzE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,CAAA;gBAC1B,OAAM;YACR,CAAC;YACD,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,CAAA;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc;gBAAE,OAAM;YAC7F,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,sFAAsF;gBACtF,0FAA0F;gBAC1F,iFAAiF;gBACjF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAC3B,OAAM;YACR,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO;gBAAE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC7F,CAAC;gBAAS,CAAC;YACT,WAAW,GAAG,KAAK,CAAA;QACrB,CAAC;IACH,CAAC,CAAA;IACD,kGAAkG;IAClG,KAAK,SAAS,CAAC,IAAI,CAAC,CAAA;IACpB,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,KAAK,SAAS,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;IAEF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,QAAQ,CAChB,UAAU,CAAC;YACT,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,+EAA+E;YAC/E,uDAAuD;YACvD,UAAU,EAAE,eAAe,CAAC,IAAI,CAAmC;YACnE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC;YAC5C,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAA+B,CAAC;SACtE,CAAC,CACH,CAAA;QACD,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA,CAAC,wDAAwD;IACtF,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAA;IAE3E,yEAAyE;IACzE,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAC3D,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAA;IAE3E,6FAA6F;IAC7F,iGAAiG;IACjG,iGAAiG;IACjG,0FAA0F;IAC1F,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,qBAAqB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAClG,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;QACpB,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;QACpE,EAAE,CAAC,QAAQ,EAAE,CAAA;QACb,KAAK,aAAa,EAAE,CAAA;QACpB,6FAA6F;QAC7F,wDAAwD;QACxD,GAAG,EAAE,OAAO,EAAE,CAAA;QACd,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,iBAAiB,SAAS,CAAC,MAAM,kDAAkD,CAAC,CAAA;AAClG,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The services this plugin injects.
|
|
3
|
+
*
|
|
4
|
+
* Kept out of `index.ts` so the compatibility spec's coverage of this list is unit-testable without
|
|
5
|
+
* dragging the whole plugin entry (and its host peers) into the test process — see
|
|
6
|
+
* `test/provision.spec.ts`, which asserts that every service cordis WAITS for has a contract in
|
|
7
|
+
* `SERVICE_CONTRACTS`.
|
|
8
|
+
*
|
|
9
|
+
* `systemPrompt` is here because the plugin contributes three usage sections and two conditional
|
|
10
|
+
* hints (see `prompt.ts`). Each service gates `apply`: without `tools`/`typert` there is nothing to
|
|
11
|
+
* register, and without the prompt registry the guidance has nowhere to land.
|
|
12
|
+
*/
|
|
13
|
+
export declare const inject: string[];
|
|
14
|
+
//# sourceMappingURL=inject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../src/inject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,MAAM,UAAsC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The services this plugin injects.
|
|
3
|
+
*
|
|
4
|
+
* Kept out of `index.ts` so the compatibility spec's coverage of this list is unit-testable without
|
|
5
|
+
* dragging the whole plugin entry (and its host peers) into the test process — see
|
|
6
|
+
* `test/provision.spec.ts`, which asserts that every service cordis WAITS for has a contract in
|
|
7
|
+
* `SERVICE_CONTRACTS`.
|
|
8
|
+
*
|
|
9
|
+
* `systemPrompt` is here because the plugin contributes three usage sections and two conditional
|
|
10
|
+
* hints (see `prompt.ts`). Each service gates `apply`: without `tools`/`typert` there is nothing to
|
|
11
|
+
* register, and without the prompt registry the guidance has nowhere to land.
|
|
12
|
+
*/
|
|
13
|
+
export const inject = ['tools', 'typert', 'systemPrompt'];
|
|
14
|
+
//# sourceMappingURL=inject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/inject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Which of the two things a document row can open. */
|
|
2
|
+
export type OpenTarget = 'file' | 'dir';
|
|
3
|
+
/** What was launched, for the UI's status line. */
|
|
4
|
+
export interface OpenOutcome {
|
|
5
|
+
path: string;
|
|
6
|
+
target: OpenTarget;
|
|
7
|
+
/** The command that was actually used (`code`, `explorer.exe`, …). */
|
|
8
|
+
opener: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The file names one command can have on PATH.
|
|
12
|
+
*
|
|
13
|
+
* On Windows a shim is `code.cmd` (or `.exe`/`.bat`), never the bare `code`, so probing only the
|
|
14
|
+
* bare name silently loses the editor and falls back to the OS default application. `PATHEXT` is
|
|
15
|
+
* what the shell itself uses; the default list is the fallback when it is not exported.
|
|
16
|
+
*/
|
|
17
|
+
export declare function commandFileNames(command: string, platform?: NodeJS.Platform): string[];
|
|
18
|
+
/**
|
|
19
|
+
* Launch the configured/detected tool on one document path.
|
|
20
|
+
*
|
|
21
|
+
* @param documentPath - the managed `.md` path.
|
|
22
|
+
* @param target - `file` opens the document, `dir` opens the directory that holds it.
|
|
23
|
+
* @param configured - `knowledge.open.editor` from config (empty ⇒ auto-detect).
|
|
24
|
+
* @throws when no candidate is available or every one of them fails to start.
|
|
25
|
+
*/
|
|
26
|
+
export declare function openDocumentPath(documentPath: string, target: OpenTarget, configured: string): OpenOutcome;
|
|
27
|
+
//# sourceMappingURL=open.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/open.ts"],"names":[],"mappings":"AAuBA,uDAAuD;AACvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,CAAA;AAEvC,mDAAmD;AACnD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAA;IAClB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,EAAE,CAIxG;AA+DD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CA0B1G"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Opening a managed document file (or its directory) with the user's own tools.
|
|
3
|
+
*
|
|
4
|
+
* The harness already ships `@deepseek-ai/dsh-host-open-in-app`, whose `/open-in-app/open` route
|
|
5
|
+
* launches a detected application — but that route accepts a DIRECTORY only (a file path is
|
|
6
|
+
* rejected with 404), and 「编辑」 has to open the file itself. So this module owns the launch,
|
|
7
|
+
* with a deliberately small surface:
|
|
8
|
+
*
|
|
9
|
+
* 1. `knowledge.open.editor` (or `$AVANTF_EDITOR`) wins when set.
|
|
10
|
+
* 2. then `$VISUAL` / `$EDITOR` — the answers an interactive shell already carries;
|
|
11
|
+
* 3. then `code` / `cursor` — an editor that can open a file AND a folder;
|
|
12
|
+
* 4. then the platform opener (`xdg-open`, `open`, and on WSL `explorer.exe` via `wslpath`).
|
|
13
|
+
*
|
|
14
|
+
* Everything is fire-and-forget: the child is detached with its stdio on /dev/null, so an editor
|
|
15
|
+
* that outlives the host (or a browser window that closes immediately) is normal. The returned
|
|
16
|
+
* `opener` is what the UI shows, so a wrong editor is diagnosable without reading the host log.
|
|
17
|
+
*
|
|
18
|
+
* @module open
|
|
19
|
+
*/
|
|
20
|
+
import { accessSync, constants } from 'node:fs';
|
|
21
|
+
import { spawn, spawnSync } from 'node:child_process';
|
|
22
|
+
import { delimiter, join, dirname } from 'node:path';
|
|
23
|
+
/**
|
|
24
|
+
* The file names one command can have on PATH.
|
|
25
|
+
*
|
|
26
|
+
* On Windows a shim is `code.cmd` (or `.exe`/`.bat`), never the bare `code`, so probing only the
|
|
27
|
+
* bare name silently loses the editor and falls back to the OS default application. `PATHEXT` is
|
|
28
|
+
* what the shell itself uses; the default list is the fallback when it is not exported.
|
|
29
|
+
*/
|
|
30
|
+
export function commandFileNames(command, platform = process.platform) {
|
|
31
|
+
if (platform !== 'win32')
|
|
32
|
+
return [command];
|
|
33
|
+
const exts = (process.env['PATHEXT'] ?? '.COM;.EXE;.BAT;.CMD').split(';').filter(ext => ext !== '');
|
|
34
|
+
return [command, ...exts.map(ext => `${command}${ext.toLowerCase()}`), ...exts.map(ext => `${command}${ext}`)];
|
|
35
|
+
}
|
|
36
|
+
/** True when `command` is an executable on PATH (any of its platform file names). */
|
|
37
|
+
function onPath(command) {
|
|
38
|
+
const path = process.env['PATH'];
|
|
39
|
+
if (path === undefined || path === '')
|
|
40
|
+
return false;
|
|
41
|
+
for (const dir of path.split(delimiter)) {
|
|
42
|
+
if (dir === '')
|
|
43
|
+
continue;
|
|
44
|
+
for (const name of commandFileNames(command)) {
|
|
45
|
+
try {
|
|
46
|
+
accessSync(join(dir, name), constants.X_OK);
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// Not here; keep looking.
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
/** Is this a WSL process (where a Windows-side opener is often the only one that works)? */
|
|
57
|
+
function isWsl() {
|
|
58
|
+
return process.platform === 'linux' && (process.env['WSL_DISTRO_NAME'] !== undefined || process.env['WSL_INTEROP'] !== undefined);
|
|
59
|
+
}
|
|
60
|
+
/** The Windows form of a WSL path, or `undefined` when `wslpath` cannot answer. */
|
|
61
|
+
function windowsPath(path) {
|
|
62
|
+
try {
|
|
63
|
+
const out = spawnSync('wslpath', ['-w', path], { encoding: 'utf8' });
|
|
64
|
+
const converted = out.status === 0 ? out.stdout.trim() : '';
|
|
65
|
+
return converted === '' ? undefined : converted;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/** Candidates in the order above, resolved against this machine. */
|
|
72
|
+
function candidates(configured) {
|
|
73
|
+
const list = [];
|
|
74
|
+
const explicit = configured !== '' ? configured : (process.env['AVANTF_EDITOR'] ?? '');
|
|
75
|
+
if (explicit !== '')
|
|
76
|
+
list.push({ command: explicit, arg: path => path });
|
|
77
|
+
const shellEditor = process.env['VISUAL'] ?? process.env['EDITOR'] ?? '';
|
|
78
|
+
if (shellEditor !== '')
|
|
79
|
+
list.push({ command: shellEditor, arg: path => path });
|
|
80
|
+
for (const editor of ['code', 'cursor']) {
|
|
81
|
+
if (onPath(editor))
|
|
82
|
+
list.push({ command: editor, arg: path => path });
|
|
83
|
+
}
|
|
84
|
+
if (process.platform === 'darwin')
|
|
85
|
+
list.push({ command: 'open', arg: path => path });
|
|
86
|
+
if (process.platform === 'linux') {
|
|
87
|
+
if (onPath('xdg-open'))
|
|
88
|
+
list.push({ command: 'xdg-open', arg: path => path });
|
|
89
|
+
// Last resort on WSL: Explorer opens a folder natively and hands a file to its default
|
|
90
|
+
// application. It needs a Windows path, which `wslpath` is the only reliable source of.
|
|
91
|
+
if (isWsl())
|
|
92
|
+
list.push({ command: 'explorer.exe', arg: path => windowsPath(path) });
|
|
93
|
+
}
|
|
94
|
+
if (process.platform === 'win32')
|
|
95
|
+
list.push({ command: 'cmd', arg: path => path });
|
|
96
|
+
return list;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Launch the configured/detected tool on one document path.
|
|
100
|
+
*
|
|
101
|
+
* @param documentPath - the managed `.md` path.
|
|
102
|
+
* @param target - `file` opens the document, `dir` opens the directory that holds it.
|
|
103
|
+
* @param configured - `knowledge.open.editor` from config (empty ⇒ auto-detect).
|
|
104
|
+
* @throws when no candidate is available or every one of them fails to start.
|
|
105
|
+
*/
|
|
106
|
+
export function openDocumentPath(documentPath, target, configured) {
|
|
107
|
+
const wanted = target === 'dir' ? dirname(documentPath) : documentPath;
|
|
108
|
+
const tried = [];
|
|
109
|
+
for (const candidate of candidates(configured)) {
|
|
110
|
+
const arg = candidate.arg(wanted);
|
|
111
|
+
if (arg === undefined)
|
|
112
|
+
continue;
|
|
113
|
+
tried.push(candidate.command);
|
|
114
|
+
try {
|
|
115
|
+
const child = candidate.command === 'cmd'
|
|
116
|
+
// `start` needs its own title argument before the path, or a quoted path becomes the title.
|
|
117
|
+
? spawn('cmd', ['/c', 'start', '', `"${arg}"`], { detached: true, stdio: 'ignore' }) // quoted: an
|
|
118
|
+
// unquoted path with `&`/`^` would be parsed as a second command by cmd
|
|
119
|
+
: spawn(candidate.command, [arg], { detached: true, stdio: 'ignore' });
|
|
120
|
+
child.unref();
|
|
121
|
+
// Spawn reports a missing binary asynchronously; a synchronous throw covers a bad
|
|
122
|
+
// configuration (e.g. a path that is not executable), which is the case worth reporting.
|
|
123
|
+
return { path: wanted, target, opener: candidate.command };
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// Try the next candidate.
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
throw new Error(tried.length === 0
|
|
130
|
+
? '没有可用的编辑器:设置 knowledge.open.editor(或 $EDITOR / $AVANTF_EDITOR),或安装 code / xdg-open'
|
|
131
|
+
: `无法启动编辑器(试过:${tried.join('、')})`);
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=open.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/open.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAapD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,WAA4B,OAAO,CAAC,QAAQ;IAC5F,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAA;IACnG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,CAAA;AAChH,CAAC;AAED,qFAAqF;AACrF,SAAS,MAAM,CAAC,OAAe;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,KAAK,CAAA;IACnD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,IAAI,GAAG,KAAK,EAAE;YAAE,SAAQ;QACxB,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;gBAC3C,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,4FAA4F;AAC5F,SAAS,KAAK;IACZ,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC,CAAA;AACnI,CAAC;AAED,mFAAmF;AACnF,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;QACpE,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3D,OAAO,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAQD,oEAAoE;AACpE,SAAS,UAAU,CAAC,UAAkB;IACpC,MAAM,IAAI,GAAgB,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAG,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAA;IACtF,IAAI,QAAQ,KAAK,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;IACxE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxE,IAAI,WAAW,KAAK,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;IAC9E,KAAK,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;IACvE,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;IACpF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,UAAU,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7E,uFAAuF;QACvF,wFAAwF;QACxF,IAAI,KAAK,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACrF,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;IAClF,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB,EAAE,MAAkB,EAAE,UAAkB;IAC3F,MAAM,MAAM,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;IACtE,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,GAAG,KAAK,SAAS;YAAE,SAAQ;QAC/B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,KAAK,KAAK;gBACvC,4FAA4F;gBAC5F,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,aAAa;gBAChG,wEAAwE;gBAC1E,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;YACxE,KAAK,CAAC,KAAK,EAAE,CAAA;YACb,kFAAkF;YAClF,yFAAyF;YACzF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,CAAA;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,KAAK,CAAC,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,mFAAmF;QACrF,CAAC,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CACrC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { PromptSection } from '@deepseek-ai/dsh-system-prompt';
|
|
2
|
+
/**
|
|
3
|
+
* The two system-prompt sections this plugin contributes (DESIGN §10).
|
|
4
|
+
*
|
|
5
|
+
* They exist for something a tool description cannot carry: a description says what a call DOES,
|
|
6
|
+
* never when to reach for it unprompted, and the default behaviour is to wait until asked. So each
|
|
7
|
+
* says only WHEN its store is worth writing or reading. Neither says anything about how memory is
|
|
8
|
+
* retained — that stays out of every model-facing string, held to the contract's
|
|
9
|
+
* `RETENTION_VOCABULARY`, the same list the tool descriptions are held to.
|
|
10
|
+
*
|
|
11
|
+
* The knowledge one is the section whose ABSENCE was measured: a user had just ingested
|
|
12
|
+
* 《Cgroup v2 技术综述》(which answers "cgroup v2 的内存保护" at score 1.0) and asked about it in a
|
|
13
|
+
* session whose prompt named only the memory tools, so the model never looked. A tool description
|
|
14
|
+
* cannot fix that by itself — `kb_query`'s says what the call does and even leads with 记忆 facts,
|
|
15
|
+
* which reads as a memory tool — and the model cannot know the library is relevant to a question
|
|
16
|
+
* without being told to check it. Hence the "先检索一次再作答" nudge, plus the explicit
|
|
17
|
+
* "你看不到库里有什么" clause: the thing that made the miss invisible is that nothing in the
|
|
18
|
+
* prompt acknowledged the store existed at all.
|
|
19
|
+
*
|
|
20
|
+
* `order` 3000/3010 are third-party slots: after the harness's per-tool guidance block (1000–2900)
|
|
21
|
+
* and before its toolset-level guidance (5000). They are not repository-owned placements, so they
|
|
22
|
+
* do not resolve through `getSectionOrder`.
|
|
23
|
+
*
|
|
24
|
+
* The sections say WHAT TO DO and never WHY. The reasoning behind each rule is measured and
|
|
25
|
+
* lives here, in DESIGN §10 and in the CHANGELOG — not in the prompt, where it costs tokens on
|
|
26
|
+
* every step and does not change the action.
|
|
27
|
+
*
|
|
28
|
+
* Kept in its own module — not in `index.ts` — so the text can be read and checked without the
|
|
29
|
+
* plugin entry's `@deepseek-ai/*` runtime imports, which resolve only in a harness workspace.
|
|
30
|
+
*/
|
|
31
|
+
export declare const MEMORY_PROMPT_SECTION: PromptSection;
|
|
32
|
+
/**
|
|
33
|
+
* WHEN to consult the document knowledge base. See the module comment for why this is a separate
|
|
34
|
+
* section rather than a clause inside the memory one: the two stores answer different questions,
|
|
35
|
+
* and a session that needs the knowledge base may have no memory question at all.
|
|
36
|
+
*/
|
|
37
|
+
export declare const KNOWLEDGE_PROMPT_SECTION: PromptSection;
|
|
38
|
+
/**
|
|
39
|
+
* HOW to change a document that is already in the library.
|
|
40
|
+
*
|
|
41
|
+
* A separate section because it is a different job from the one above, and because the first
|
|
42
|
+
* section is already at 382 of its 400-character budget. It exists to prevent a measured failure:
|
|
43
|
+
* asked to "update the knowledge base", a model called the old all-in-one tool with a NEW title and
|
|
44
|
+
* silently created a sibling document (《… · 补遗》) while the original stayed behind — two
|
|
45
|
+
* overlapping documents, and the reader left to reconcile them. Changing a document is a FILE EDIT,
|
|
46
|
+
* so the section has to name the file tools and warn about the one that destroys the frontmatter.
|
|
47
|
+
*/
|
|
48
|
+
export declare const KB_EDIT_PROMPT_SECTION: PromptSection;
|
|
49
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAOnC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,aAOtC,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAMpC,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The two system-prompt sections this plugin contributes (DESIGN §10).
|
|
3
|
+
*
|
|
4
|
+
* They exist for something a tool description cannot carry: a description says what a call DOES,
|
|
5
|
+
* never when to reach for it unprompted, and the default behaviour is to wait until asked. So each
|
|
6
|
+
* says only WHEN its store is worth writing or reading. Neither says anything about how memory is
|
|
7
|
+
* retained — that stays out of every model-facing string, held to the contract's
|
|
8
|
+
* `RETENTION_VOCABULARY`, the same list the tool descriptions are held to.
|
|
9
|
+
*
|
|
10
|
+
* The knowledge one is the section whose ABSENCE was measured: a user had just ingested
|
|
11
|
+
* 《Cgroup v2 技术综述》(which answers "cgroup v2 的内存保护" at score 1.0) and asked about it in a
|
|
12
|
+
* session whose prompt named only the memory tools, so the model never looked. A tool description
|
|
13
|
+
* cannot fix that by itself — `kb_query`'s says what the call does and even leads with 记忆 facts,
|
|
14
|
+
* which reads as a memory tool — and the model cannot know the library is relevant to a question
|
|
15
|
+
* without being told to check it. Hence the "先检索一次再作答" nudge, plus the explicit
|
|
16
|
+
* "你看不到库里有什么" clause: the thing that made the miss invisible is that nothing in the
|
|
17
|
+
* prompt acknowledged the store existed at all.
|
|
18
|
+
*
|
|
19
|
+
* `order` 3000/3010 are third-party slots: after the harness's per-tool guidance block (1000–2900)
|
|
20
|
+
* and before its toolset-level guidance (5000). They are not repository-owned placements, so they
|
|
21
|
+
* do not resolve through `getSectionOrder`.
|
|
22
|
+
*
|
|
23
|
+
* The sections say WHAT TO DO and never WHY. The reasoning behind each rule is measured and
|
|
24
|
+
* lives here, in DESIGN §10 and in the CHANGELOG — not in the prompt, where it costs tokens on
|
|
25
|
+
* every step and does not change the action.
|
|
26
|
+
*
|
|
27
|
+
* Kept in its own module — not in `index.ts` — so the text can be read and checked without the
|
|
28
|
+
* plugin entry's `@deepseek-ai/*` runtime imports, which resolve only in a harness workspace.
|
|
29
|
+
*/
|
|
30
|
+
export const MEMORY_PROMPT_SECTION = {
|
|
31
|
+
name: 'avantf:memory-usage',
|
|
32
|
+
order: 3000,
|
|
33
|
+
text: '记忆(`mem_remember`):把**重要且跨会话仍成立**的事实主动记下来——用户偏好、'
|
|
34
|
+
+ '项目决策、环境约束、接口约定、踩过的坑。同一事实的修正用 `update`,一句自包含的陈述。'
|
|
35
|
+
+ '不要记录临时聊天内容、一次性任务的中间状态、能直接从代码或文档读到的内容。',
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* WHEN to consult the document knowledge base. See the module comment for why this is a separate
|
|
39
|
+
* section rather than a clause inside the memory one: the two stores answer different questions,
|
|
40
|
+
* and a session that needs the knowledge base may have no memory question at all.
|
|
41
|
+
*/
|
|
42
|
+
export const KNOWLEDGE_PROMPT_SECTION = {
|
|
43
|
+
name: 'avantf:knowledge-usage',
|
|
44
|
+
order: 3010,
|
|
45
|
+
text: '知识库(`kb_query` / `kb_add`)存放**用户提供的成篇资料**:文档、长说明、规范、综述等要按原文查阅的内容。'
|
|
46
|
+
+ '回答涉及已入库资料的问题之前,先用 `kb_query` 检索;命中就按 `source_ref` 引用原文。'
|
|
47
|
+
+ '用户给了值得长期留存的成篇内容就主动 `kb_add` 入库;一句话的事实属于记忆(`mem_remember`),不要入知识库。'
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* HOW to change a document that is already in the library.
|
|
51
|
+
*
|
|
52
|
+
* A separate section because it is a different job from the one above, and because the first
|
|
53
|
+
* section is already at 382 of its 400-character budget. It exists to prevent a measured failure:
|
|
54
|
+
* asked to "update the knowledge base", a model called the old all-in-one tool with a NEW title and
|
|
55
|
+
* silently created a sibling document (《… · 补遗》) while the original stayed behind — two
|
|
56
|
+
* overlapping documents, and the reader left to reconcile them. Changing a document is a FILE EDIT,
|
|
57
|
+
* so the section has to name the file tools and warn about the one that destroys the frontmatter.
|
|
58
|
+
*/
|
|
59
|
+
export const KB_EDIT_PROMPT_SECTION = {
|
|
60
|
+
name: 'avantf:kb-edit',
|
|
61
|
+
order: 3020,
|
|
62
|
+
text: '更新知识库时,要在原文上修改或追加,不要新建一个补充文档。用 `kb_list` 拿到受管 `.md` 的绝对路径,'
|
|
63
|
+
+ '用文件工具修改。在用户明确要求时使用 `kb_remove` 删除。',
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAkB;IAClD,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,IAAI;IACX,IAAI,EACF,kDAAkD;UAChD,iDAAiD;UACjD,uCAAuC;CAC5C,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAkB;IACrD,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,IAAI;IACX,IAAI,EACF,mEAAmE;UACjE,yDAAyD;UACzD,mEAAmE;CACxE,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,IAAI;IACX,IAAI,EACF,4DAA4D;UAC1D,oCAAoC;CACzC,CAAA"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import type { CompatContext, CompatEvidence, CompatLogger, CompatSpec, CompatVerdict, ServiceContract } from '@avantf/dsh-compat';
|
|
2
|
+
export type { CompatEvidence, CompatVerdict };
|
|
3
|
+
/** The base package, typed but never imported (see the module note). */
|
|
4
|
+
export type CompatModule = typeof import('@avantf/dsh-compat');
|
|
5
|
+
/** The base package id, named here too so the item declaration and the spec need no import. */
|
|
6
|
+
export declare const COMPAT_PACKAGE = "@avantf/dsh-compat";
|
|
7
|
+
/**
|
|
8
|
+
* Fallback range for `@avantf/dsh-compat`, used only when `package.json` has lost the dependency
|
|
9
|
+
* entry. The manifest is the single source of truth (`compatRange()`); `scripts/pack-plugin.mjs`
|
|
10
|
+
* pins this constant to it so the two cannot drift.
|
|
11
|
+
*/
|
|
12
|
+
export declare const COMPAT_RANGE = "^0.1.0";
|
|
13
|
+
/**
|
|
14
|
+
* The services this plugin calls, with the methods it calls on them.
|
|
15
|
+
*
|
|
16
|
+
* `required` is this plugin's REFUSAL policy, not cordis's `inject`: `typert` is injected (the real
|
|
17
|
+
* wire face is registered at mount) yet a composition without the registry must still mount the
|
|
18
|
+
* memory tools, so its absence is a note rather than a refusal. Optional services are read with
|
|
19
|
+
* `ctx.get()`.
|
|
20
|
+
*
|
|
21
|
+
* `tools` lists only `register` because that is the one method this plugin calls; the post-load
|
|
22
|
+
* check reads `get`, but guards it and degrades to "not verified", so demanding it here would refuse
|
|
23
|
+
* a host this plugin can still drive.
|
|
24
|
+
*/
|
|
25
|
+
export declare const SERVICE_CONTRACTS: readonly ServiceContract[];
|
|
26
|
+
/**
|
|
27
|
+
* The events this plugin listens to — reported, never verified.
|
|
28
|
+
*
|
|
29
|
+
* A listener for a name the host no longer emits registers happily and then never runs: the house
|
|
30
|
+
* hints would simply stop appearing. Nothing inside a plugin can prove the host still emits a name,
|
|
31
|
+
* so the list is a known limit the gate records and the running dsh version is the operator's signal.
|
|
32
|
+
*/
|
|
33
|
+
export declare const REQUIRED_EVENTS: readonly string[];
|
|
34
|
+
/** Packages released in lockstep with dsh; their version says which dsh is running. */
|
|
35
|
+
export declare const VERSION_PACKAGES: readonly string[];
|
|
36
|
+
/** The base loaded once, with everything derived from it for THIS plugin. */
|
|
37
|
+
export interface CompatRuntime {
|
|
38
|
+
readonly module: CompatModule;
|
|
39
|
+
/** The base's log token (`compat:`). */
|
|
40
|
+
readonly prefix: string;
|
|
41
|
+
/** Everything the shared gate needs to judge this plugin. */
|
|
42
|
+
readonly spec: CompatSpec;
|
|
43
|
+
/** The schema names this plugin's wire face declares, derived from the contribution itself. */
|
|
44
|
+
readonly schemaNames: readonly string[];
|
|
45
|
+
}
|
|
46
|
+
/** The gate's outcome. */
|
|
47
|
+
export interface CompatRun {
|
|
48
|
+
/** The verdict `apply` branches on. Plain data — the engine's provisioning guard reads it too. */
|
|
49
|
+
readonly verdict: CompatVerdict;
|
|
50
|
+
}
|
|
51
|
+
/** Best-effort one-line reason for a caught value. */
|
|
52
|
+
export declare function reasonOf(error: unknown): string;
|
|
53
|
+
/** Emit a warning without ever letting the logger turn it into a crash. */
|
|
54
|
+
export declare function warn(log: CompatLogger | undefined, message: string): void;
|
|
55
|
+
/**
|
|
56
|
+
* The range of `@avantf/dsh-compat` this build is written against.
|
|
57
|
+
*
|
|
58
|
+
* Read from THIS plugin's manifest, which is the single source of truth — the framework does not
|
|
59
|
+
* pick it, and a hardcoded constant would silently keep provisioning an old range after the family
|
|
60
|
+
* publishes a new one. The constant is only a fallback for a manifest that lost the entry.
|
|
61
|
+
*
|
|
62
|
+
* It lives in `devDependencies`, deliberately. Nothing imports the base: the framework fetches it
|
|
63
|
+
* into its own managed home and this plugin loads it from there, so a RUNTIME dependency would
|
|
64
|
+
* install a second copy on every consumer that no code path ever loads. `devDependencies` still
|
|
65
|
+
* ships in the packed manifest (pnpm keeps it, rewriting `catalog:` like any other field), so the
|
|
66
|
+
* range travels with the artifact; it just is not installed.
|
|
67
|
+
*/
|
|
68
|
+
export declare function compatRange(manifestUrl?: URL): Promise<string>;
|
|
69
|
+
/**
|
|
70
|
+
* Build the plugin-specific half of the gate from a loaded base.
|
|
71
|
+
*
|
|
72
|
+
* Called ONCE per process (the loaded runtime is cached by `src/envinit.ts`), which is what makes the
|
|
73
|
+
* lazy construction equivalent to the module-level constants it replaces — `readBuildVersions` still
|
|
74
|
+
* reads the baked `lib/dsh-build.json` beside the built entry, falling back per package to the peer
|
|
75
|
+
* range floor when it is absent (a dev tree, a test run).
|
|
76
|
+
*/
|
|
77
|
+
export declare function runtimeFromCompat(module: CompatModule): CompatRuntime;
|
|
78
|
+
/**
|
|
79
|
+
* Run the gate. Call this FIRST in `apply()`: on a refusal nothing has been registered yet, so
|
|
80
|
+
* "do not load" costs nothing to unwind. Never throws — not even with a throwing logger, because
|
|
81
|
+
* "cannot tell" is not "incompatible".
|
|
82
|
+
* @param ctx - the plugin's context.
|
|
83
|
+
* @param log - the plugin's logger.
|
|
84
|
+
* @param compat - the loaded gate runtime (see `src/envinit.ts`).
|
|
85
|
+
* @param spec - what to judge (defaults to the runtime's spec; injectable so the version path is
|
|
86
|
+
* testable without a second host).
|
|
87
|
+
* @returns the verdict `apply` branches on.
|
|
88
|
+
*/
|
|
89
|
+
export declare function provision(ctx: CompatContext, log: CompatLogger, compat: CompatRuntime, spec?: CompatSpec): CompatRun;
|
|
90
|
+
/**
|
|
91
|
+
* Keep one `/mem` command that reports a refusal.
|
|
92
|
+
*
|
|
93
|
+
* The plugin provides nothing else when it refuses, and the alternative is a user watching a tab
|
|
94
|
+
* that never loads with no way to ask why.
|
|
95
|
+
* @param ctx - the plugin's context.
|
|
96
|
+
* @param verdict - the refusal to report.
|
|
97
|
+
* @param log - the plugin's logger.
|
|
98
|
+
* @param compat - the loaded gate runtime.
|
|
99
|
+
*/
|
|
100
|
+
export declare function registerCompatMegaphone(ctx: CompatContext, verdict: CompatVerdict, log: CompatLogger, compat: CompatRuntime): void;
|
|
101
|
+
/**
|
|
102
|
+
* The second phase: every real registration must be visible afterwards.
|
|
103
|
+
*
|
|
104
|
+
* Warn-only by design — the plugin is mounted by now, so there is no clean "do not load" left to
|
|
105
|
+
* take, and a silently dropped schema or tool is exactly what nothing else would report.
|
|
106
|
+
* @param input - the live context, the real tool names, the logger, and the loaded gate runtime.
|
|
107
|
+
* @returns the registrations that did not show up (empty on success).
|
|
108
|
+
*/
|
|
109
|
+
export declare function verifyRegisteredFaces(input: {
|
|
110
|
+
readonly ctx: CompatContext;
|
|
111
|
+
readonly toolNames: readonly string[];
|
|
112
|
+
readonly log: CompatLogger;
|
|
113
|
+
readonly compat: CompatRuntime;
|
|
114
|
+
}): {
|
|
115
|
+
readonly missing: readonly string[];
|
|
116
|
+
};
|
|
117
|
+
//# sourceMappingURL=provision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../src/provision.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,EAChB,MAAM,oBAAoB,CAAA;AAI3B,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAA;AAE7C,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG,cAAc,oBAAoB,CAAC,CAAA;AAE9D,+FAA+F;AAC/F,eAAO,MAAM,cAAc,uBAAuB,CAAA;AAElD;;;;GAIG;AACH,eAAO,MAAM,YAAY,WAAW,CAAA;AAEpC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAMvD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAA6C,CAAA;AAE1F,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAAmE,CAAA;AAKjH,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,+FAA+F;IAC/F,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;CACxC;AAED,0BAA0B;AAC1B,MAAM,WAAW,SAAS;IACxB,kGAAkG;IAClG,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;CAChC;AAED,sDAAsD;AACtD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C;AAED,2EAA2E;AAC3E,wBAAgB,IAAI,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAAC,WAAW,GAAE,GAAiD,GAAG,OAAO,CAAC,MAAM,CAAC,CAYjH;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAyBrE;AAoBD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,aAAa,EACrB,IAAI,GAAE,UAAwB,GAC7B,SAAS,CAqBX;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,aAAa,GACpB,IAAI,CAYN;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAC/B,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAQ1C"}
|