synomem 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 +42 -0
- package/ARCHITECTURE.md +126 -0
- package/CHANGELOG.md +35 -0
- package/CODE_OF_CONDUCT.md +29 -0
- package/CONTRIBUTING.md +48 -0
- package/LICENSE +21 -0
- package/README.md +247 -0
- package/SECURITY.md +117 -0
- package/dist/backend.d.ts +9 -0
- package/dist/backend.d.ts.map +1 -0
- package/dist/backend.js +60 -0
- package/dist/backend.js.map +1 -0
- package/dist/cli.d.ts +34 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1040 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +168 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +1031 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +33 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +153 -0
- package/dist/config.js.map +1 -0
- package/dist/credentials.d.ts +36 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +127 -0
- package/dist/credentials.js.map +1 -0
- package/dist/errors.d.ts +9 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +60 -0
- package/dist/errors.js.map +1 -0
- package/dist/fs-utils.d.ts +7 -0
- package/dist/fs-utils.d.ts.map +1 -0
- package/dist/fs-utils.js +68 -0
- package/dist/fs-utils.js.map +1 -0
- package/dist/import.d.ts +655 -0
- package/dist/import.d.ts.map +1 -0
- package/dist/import.js +226 -0
- package/dist/import.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/index.d.ts +14 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +698 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp-server.d.ts +3 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +45 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/oauth.d.ts +27 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +201 -0
- package/dist/oauth.js.map +1 -0
- package/dist/ports/projections.d.ts +6 -0
- package/dist/ports/projections.d.ts.map +1 -0
- package/dist/ports/projections.js +2 -0
- package/dist/ports/projections.js.map +1 -0
- package/dist/ports/repository.d.ts +31 -0
- package/dist/ports/repository.d.ts.map +1 -0
- package/dist/ports/repository.js +2 -0
- package/dist/ports/repository.js.map +1 -0
- package/dist/projections.d.ts +24 -0
- package/dist/projections.d.ts.map +1 -0
- package/dist/projections.js +531 -0
- package/dist/projections.js.map +1 -0
- package/dist/remote.d.ts +120 -0
- package/dist/remote.d.ts.map +1 -0
- package/dist/remote.js +286 -0
- package/dist/remote.js.map +1 -0
- package/dist/schemas.d.ts +901 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +424 -0
- package/dist/schemas.js.map +1 -0
- package/dist/service.d.ts +126 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +2 -0
- package/dist/service.js.map +1 -0
- package/dist/skill-install.d.ts +34 -0
- package/dist/skill-install.d.ts.map +1 -0
- package/dist/skill-install.js +256 -0
- package/dist/skill-install.js.map +1 -0
- package/dist/storage.d.ts +94 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +1229 -0
- package/dist/storage.js.map +1 -0
- package/dist/types.d.ts +442 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +14 -0
- package/dist/version.js.map +1 -0
- package/docs/cli.md +180 -0
- package/docs/examples.md +70 -0
- package/docs/mcp.md +96 -0
- package/docs/recovery.md +45 -0
- package/docs/releasing.md +61 -0
- package/docs/skill.md +93 -0
- package/docs/storage-format.md +83 -0
- package/openapi/synomem-v1.yaml +674 -0
- package/package.json +100 -0
- package/skills/synomem/SKILL.md +71 -0
- package/skills/synomem/agents/openai.yaml +8 -0
- package/skills/synomem/references/examples.md +28 -0
- package/src/backend.ts +91 -0
- package/src/cli.ts +1623 -0
- package/src/client.ts +1261 -0
- package/src/config.ts +170 -0
- package/src/credentials.ts +194 -0
- package/src/errors.ts +64 -0
- package/src/fs-utils.ts +85 -0
- package/src/import.ts +284 -0
- package/src/index.ts +61 -0
- package/src/mcp/index.ts +973 -0
- package/src/mcp-server.ts +46 -0
- package/src/oauth.ts +252 -0
- package/src/ports/projections.ts +6 -0
- package/src/ports/repository.ts +67 -0
- package/src/projections.ts +624 -0
- package/src/remote.ts +516 -0
- package/src/schemas.ts +457 -0
- package/src/service.ts +140 -0
- package/src/skill-install.ts +332 -0
- package/src/storage.ts +1603 -0
- package/src/types.ts +458 -0
- package/src/version.ts +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,IAAI,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA2D9C,MAAM,OAAO,WAAW;IACb,KAAK,CAAgB;IACb,UAAU,CAAoB;IAC9B,gBAAgB,CAAmB;IACnC,KAAK,CAAa;IAClB,WAAW,CAAe;IAC1B,MAAM,CAAe;IACrB,cAAc,CAAU;IACjC,WAAW,GAAG,KAAK,CAAC;IAEnB,MAAM,GAAG;QAChB,MAAM,EAAE,CAAC,KAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAC5D,MAAM,EAAE,CAAC,EAAU,EAAE,OAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC;QAChF,GAAG,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACpD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;KAC9B,CAAC;IAEO,KAAK,GAAG;QACf,IAAI,EAAE,CAAC,KAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACtD,IAAI,EAAE,CAAC,QAAwB,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC3D,OAAO,EAAE,CAAC,QAA2B,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACxE,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,WAAW,EAAE,CAAC,KAAyC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACxF,MAAM,EAAE,CAAC,KAAoE,EAAE,EAAE,CAC/E,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;KAC1B,CAAC;IAEO,KAAK,GAAG;QACf,IAAI,EAAE,CAAC,KAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpD,IAAI,EAAE,CAAC,QAAsC,EAAE,EAAE,EAAE,CACjD,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,IAAI,EAAE,CAAC,KAAkD,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClF,OAAO,EAAE,CAAC,KAAkD,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;KACzF,CAAC;IAEO,KAAK,GAAG;QACf,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC1D,IAAI,EAAE,CAAC,QAAsC,EAAE,EAAE,EAAE,CACjD,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC1D,OAAO,EAAE,CAAC,KAAkD,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;KACzF,CAAC;IAEO,KAAK,GAAG;QACf,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC1D,IAAI,EAAE,CAAC,QAAsC,EAAE,EAAE,EAAE,CACjD,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC1D,MAAM,EAAE,CAAC,KAAkD,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACtF,MAAM,EAAE,CAAC,KAAmE,EAAE,EAAE,CAC9E,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB,QAAQ,EAAE,CAAC,KAAiE,EAAE,EAAE,CAC9E,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAC1B,MAAM,EAAE,CAAC,KAAkD,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACtF,MAAM,EAAE,CAAC,KAAmE,EAAE,EAAE,CAC9E,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;KACzB,CAAC;IAEO,KAAK,GAAG;QACf,IAAI,EAAE,CAAC,QAAuB,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC1D,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC,QAAsB,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;KACnE,CAAC;IAEF,YAAY,OAA2B;QACrC,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;QAC5E,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEO,GAAG;QACT,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;IAEO,MAAM;QACZ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAEO,SAAS,CAAC,WAAmB,EAAE,gBAAwB,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;QACjF,OAAO;YACL,aAAa,EAAE,CAAU;YACzB,EAAE;YACF,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW;YAC/C,WAAW;YACX,gBAAgB;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAES,UAAU;QAClB,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;IAChC,CAAC;IAEO,QAAQ,CAAI,SAAkB;QACpC,IAAI,CAAC;YACH,OAAO,SAAS,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAAuB;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,YAAY,CAAC,cAAc,EAAE,kCAAkC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,6CAA6C,CAAC,CAAC;QAC1F,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,sCAAsC,KAAK,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAiB;YAC5B,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC;QACF,MAAM,KAAK,GAAiB;YAC1B,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,OAAO;SACf,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,OAAyB;QACpE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,SAAS,EAAE,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxF,IAAI,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,6CAA6C,CAAC,CAAC;QAC1F,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,4BAA4B,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAiB;YAC5B,GAAG,QAAQ;YACX,GAAG,MAAM;YACT,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;SAC5D,CAAC;QACF,MAAM,eAAe,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3C,MAAM,KAAK,GAAiB;gBAC1B,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACvF,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACpB,OAAO,EAAE,eAAe;aACzB,CAAC;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,SAAiB;QACtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,SAAS,EAAE,CAAC,CAAC;QACvF,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,KAAqB;QAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAChC,eAAe,CAAC,KAAK,CAAC;YACpB,GAAG,KAAK;YACR,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB;SACzE,CAAC,CACH,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,sBAAsB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,IACE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe;YACvC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;YAC3B,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,EAC9B,CAAC;YACD,MAAM,IAAI,YAAY,CACpB,sBAAsB,EACtB,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAC7E,IAAI,KAAK,EAAE,IAAI,KAAK,aAAa;gBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC3E,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,KAAK,GAAoB;gBAC7B,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAI,EAAE,aAAa;gBACnB,gBAAgB,EAAE,SAAS,CAAC,EAAE;gBAC9B,oBAAoB,EAAE,SAAS,CAAC,WAAW;gBAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9E,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,EAAU;QACrC,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAC/E,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,EAAU;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,KAAqB;QAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB;YACxC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC1D,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,OAAO,CAAC,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAC7C;YACE,GAAG,OAAO;YACV,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,EACD,IAAI,CAAC,KAAK,CACX,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAAwB;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACxF,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAAyC;QACtE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,iDAAiD,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,cAAc;YAAE,OAAO,MAAM,CAAC;QACzC,IAAI,MAAM,CAAC,UAAU;YACnB,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,uCAAuC,CAAC,CAAC;QACnF,MAAM,WAAW,GACf,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,IAAI,YAAY,CACpB,0BAA0B,EAC1B,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAA2B;YACpC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;YACxB,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB;YAC/C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAIzB;QACC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,+CAA+C,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,UAAU;YAAE,OAAO,MAAM,CAAC;QACrC,MAAM,eAAe,GACnB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzF,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1D,MAAM,IAAI,YAAY,CACpB,sBAAsB,EACtB,iEAAiE,CAClE,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,CAAC;QAC/D,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7C,MAAM,IAAI,YAAY,CACpB,sBAAsB,EACtB,+DAA+D,CAChE,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAsB;YAC/B,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;YACxB,MAAM;YACN,IAAI,EAAE,cAAc,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB;SAChF,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,cAAkC,EAClC,YAAkC;QAElC,IAAI,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CACvD,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,cAAc,CACf,CAAC;QACF,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACzC,MAAM,IAAI,YAAY,CACpB,sBAAsB,EACtB,wCAAwC,KAAK,CAAC,IAAI,GAAG,CACtD,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,WAAW,CAAC,OAAoB;QACtC,OAAO,CACL,IAAI,CAAC,cAAc;YACnB,OAAO,CAAC,UAAU,KAAK,SAAS;YAChC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;gBAC1B,CAAC,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE;oBACzC,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE;oBACtC,OAAO,CAAC,eAAe,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAChD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,EAAU,EAAE,IAAyB;QACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,GACR,IAAI,KAAK,MAAM;gBACb,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,IAAI,KAAK,MAAM;oBACf,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,IAAI,KAAK,MAAM;wBACf,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,iBAAiB,CAAC;YAC5B,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE,WAAW,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CACpB,kBAAkB,EAClB,QAAQ,IAAI,0CAA0C,CACvD,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,EAAU;QACpC,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,EAAU;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAAoB;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS;YACZ,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,sBAAsB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC3E,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACzE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,KAAK,GAAiB;gBAC1B,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAI,EAAE,WAAW;gBACjB,gBAAgB,EAAE,SAAS,CAAC,EAAE;gBAC9B,oBAAoB,EAAE,SAAS,CAAC,WAAW;gBAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC5C,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB;gBACzE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO;YACL,MAAM,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,CAAC,OAAO,CAAC,OAAO;SAC/B,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,gBAAwB,EAAE,SAAiB;QACjE,IACE,CAAC,IAAI,CAAC,cAAc;YACpB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,gBAAgB,CAAC,EACpE,CAAC;YACD,MAAM,IAAI,YAAY,CACpB,oBAAoB,EACpB,yDAAyD,SAAS,GAAG,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAAkD;QACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAC3E,IAAI,MAAM,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC;QAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC1E,IAAI,KAAK;gBAAE,OAAO;YAClB,MAAM,KAAK,GAAiB;gBAC1B,GAAG,IAAI,CAAC,SAAS,CACf,MAAM,CAAC,KAAK,CAAC,EAAE,EACf,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAC5D;gBACD,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACvB,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB;gBAC/C,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAC;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrE,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAGzB;QACC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,MAAM,CAAC;QACnC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAC9E,IAAI,KAAK;gBAAE,OAAO;YAClB,MAAM,KAAK,GAAiB;gBAC1B,GAAG,IAAI,CAAC,SAAS,CACf,MAAM,CAAC,KAAK,CAAC,EAAE,EACf,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAC5D;gBACD,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACvB,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB;gBAC/C,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAC;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrE,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,EAAU;QACpC,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC;IAChB,CAAC;IACO,KAAK,CAAC,OAAO,CAAC,EAAU;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,KAAsB;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,OAAO,GACX,MAAM,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,oDAAoD,CAAC,CAAC;QAChG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,uBAAuB,OAAO,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACxF,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE,8CAA8C,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAC9E,IAAI,KAAK,EAAE,IAAI,KAAK,cAAc;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5E,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,KAAK,GAAiB;gBAC1B,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAI,EAAE,cAAc;gBACpB,YAAY,EAAE,KAAK,CAAC,EAAE;gBACtB,gBAAgB,EAAE,KAAK,CAAC,WAAW;gBACnC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC5C,UAAU,EAAE,SAAS;gBACrB,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrE,OAAO;YACL,MAAM,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,CAAC,OAAO,CAAC,OAAO;SAC/B,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,MAAkB;QACxC,IACE,CAAC,IAAI,CAAC,cAAc;YACpB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAC7E,CAAC;YACD,MAAM,IAAI,YAAY,CACpB,oBAAoB,EACpB,6DAA6D,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,KAAsB;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;YAC9B,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,mCAAmC,CAAC,CAAC;QAC/E,IAAI,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,OAAO,CAAC,OAAO;YACnD,MAAM,IAAI,YAAY,CACpB,mBAAmB,EACnB,yBAAyB,MAAM,CAAC,eAAe,wBAAwB,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CACjG,CAAC;QACJ,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAC9E,IAAI,KAAK;gBAAE,OAAO;YAClB,IACE,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC,eAAe,GAAG,CAAC;gBAE1B,MAAM,IAAI,YAAY,CACpB,mBAAmB,EACnB,mDAAmD,CACpD,CAAC;YACJ,MAAM,KAAK,GAAiB;gBAC1B,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;gBAC9D,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK;gBAC3C,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI;gBACxC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI;gBACxC,UAAU,EAAE,SAAS;gBACrB,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjE,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAGzB;QACC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,MAAM,CAAC;QACnC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAC9E,IAAI,KAAK;gBAAE,OAAO;YAClB,MAAM,KAAK,GAAiB;gBAC1B,GAAG,IAAI,CAAC,SAAS,CACf,MAAM,CAAC,KAAK,CAAC,EAAE,EACf,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAC5D;gBACD,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACvB,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAC;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjE,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,EAAU;QACpC,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC;IAChB,CAAC;IACO,KAAK,CAAC,OAAO,CAAC,EAAU;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,KAAsB;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,UAAU,GACd,MAAM,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtF,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,YAAY,CACpB,eAAe,EACf,uDAAuD,CACxD,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ;YACX,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,0BAA0B,UAAU,EAAE,CAAC,CAAC;QACpF,IACE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;YAC3B,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE;YAC7B,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB;YAE5C,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,0CAA0C,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAC9E,IAAI,KAAK,EAAE,IAAI,KAAK,cAAc;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5E,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC;YACxF,MAAM,KAAK,GAAiB;gBAC1B,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAI,EAAE,cAAc;gBACpB,eAAe,EAAE,QAAQ,CAAC,EAAE;gBAC5B,mBAAmB,EAAE,QAAQ,CAAC,WAAW;gBACzC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;gBAC9B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC5C,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB;gBACzE,kBAAkB;gBAClB,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO;YACL,MAAM,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,CAAC,OAAO,CAAC,OAAO;SAC/B,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,MAAkB;QAC9C,MAAM,SAAS,GACb,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzF,MAAM,UAAU,GACd,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU;YACnD,MAAM,IAAI,YAAY,CACpB,oBAAoB,EACpB,0EAA0E,CAC3E,CAAC;IACN,CAAC;IAEO,kBAAkB,CAAC,MAAkB;QAC3C,IACE,CAAC,IAAI,CAAC,cAAc;YACpB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAChF,CAAC;YACD,MAAM,IAAI,YAAY,CACpB,oBAAoB,EACpB,kFAAkF,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,KAAsB;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;YAC1B,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,iCAAiC,CAAC,CAAC;QAC7E,IAAI,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,OAAO,CAAC,OAAO;YACnD,MAAM,IAAI,YAAY,CACpB,mBAAmB,EACnB,yBAAyB,MAAM,CAAC,eAAe,wBAAwB,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CACjG,CAAC;QACJ,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAC9E,IAAI,KAAK;gBAAE,OAAO;YAClB,IACE,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC,eAAe,GAAG,CAAC;gBAE1B,MAAM,IAAI,YAAY,CACpB,mBAAmB,EACnB,iDAAiD,CAClD,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjF,MAAM,KAAK,GAAiB;gBAC1B,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;gBAC9D,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK;gBAC3C,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;oBAClC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE;oBACrC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS;wBACxC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;wBAC7C,CAAC,CAAC,EAAE,CAAC;gBACT,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ;gBACpD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI;gBACxC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU;gBAC1D,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpE,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,KAAkF,EAClF,IAA8F;QAE9F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,eAAe;YAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;;YACrF,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,eAAe,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC3F,IAAI,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,MAAM,CAAC;YACxE,IAAI,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,MAAM,CAAC;YAC5E,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,kDAAkD,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,IAAI,KAAK,gBAAgB,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;gBAAE,OAAO,MAAM,CAAC;YACjD,MAAM,IAAI,YAAY,CACpB,eAAe,EACf,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC9F,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC5C,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,mDAAmD,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACzF,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,MAAM,CAAC;YAChD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,8CAA8C,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACnE,IAAI,KAAK;gBAAE,OAAO;YAClB,MAAM,IAAI,GAAG;gBACX,GAAG,IAAI,CAAC,SAAS,CACf,MAAM,CAAC,KAAK,CAAC,EAAE,EACf,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAC5D;gBACD,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACvB,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAC;YACF,MAAM,KAAK,GACT,IAAI,KAAK,gBAAgB;gBACvB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gBACvE,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,eAAe;oBACpD,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;oBAC7E,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpE,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IACO,YAAY,CAAC,KAAiE;QACpF,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC;IACO,UAAU,CAAC,KAAkD;QACnE,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACrD,CAAC;IACO,UAAU,CAAC,KAAmE;QACpF,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACrD,CAAC;IACO,UAAU,CAAC,KAAkD;QACnE,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACrD,CAAC;IACO,UAAU,CAAC,KAAmE;QACpF,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,KAAoB;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IACO,KAAK,CAAC,eAAe,CAAC,KAAmB;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAChC,kBAAkB;aACf,MAAM,CAAC;YACN,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK;SACvC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,CAChB,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAC1C,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EACZ,IAAI,CAAC,KAAK,EACV,MAAM,CAAC,KAAK,CACb,CAAC;IACJ,CAAC;IACO,KAAK,CAAC,OAAO,CAAC,EAAU;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CACpB,kBAAkB,EAClB,mDAAmD,CACpD,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAwB,EAAE;QACpC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;QAC/E,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB;YACxC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC1D,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,OAAO,CAAC,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,IAAI,MAA0B,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,OAAO,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACnD;gBACE,GAAG,OAAO;gBACV,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,CAAC;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,EACD,MAAM,CACP,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;YACzB,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB;YAClE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;QAChE,MAAM,KAAK,GAAe;YACxB,KAAK,EAAE,eAAe,CAAC,MAAM;YAC7B,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,MAAM;YACvF,YAAY,EAAE,eAAe,CAAC,MAAM,CAClC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,cAAc,IAAI,MAAM,CAAC,gBAAgB,KAAK,QAAQ,CACrF,CAAC,MAAM;YACR,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,MAAM;YACzF,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;SACV,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3F,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACxD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACvD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI;gBAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,WAAW;IACnC,IAAI,CAAS;IACb,OAAO,CAAiB;IACxB,WAAW,CAAoB;IAExC,YAAY,UAAgC,EAAE;QAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC;YACjC,IAAI;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;YACnC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACnD,KAAK,CAAC;YACJ,UAAU,EAAE,OAAO;YACnB,gBAAgB,EAAE,WAAW;YAC7B,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,WAAW,GAAiB,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzF,WAAW,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,mBAAmB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAuB,GAAG;iBAC5F,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,yBAAyB;oBAC/B,OAAO,EAAE,oEAAoE;oBAC7E,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpD,WAAW,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,gCAAgC;iBAC1C,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,yBAAyB;oBAC/B,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC9B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC3C,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACpE,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,0BAA0B,OAAO,GAAG;aAC9C,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5C,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC7B,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACxC,WAAW,CAAC,IAAI,CAAC;wBACf,KAAK,EAAE,OAAO;wBACd,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;wBACxB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;qBAC/B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,mBAAmB,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa;iBAC5G,CAAC,CAAC;YACL,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACtD,MAAM,UAAU,GACd,WAAW,CAAC,KAAK,KAAK,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,eAAe,KAAK,CAAC,CAAC;YACjF,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;gBAClC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,4BAA4B;gBACvE,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,OAAO,WAAW,CAAC,KAAK,kDAAkD,WAAW,CAAC,eAAe,kBAAkB,WAAW,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY;aAChN,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAClD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,CAAC;YAC7D,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;gBAClC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB;gBACjE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,OAAO,UAAU,CAAC,OAAO,iEAAiE;aACzH,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACrD,MAAM,eAAe,GACnB,cAAc,CAAC,aAAa,KAAK,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/E,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;gBACvC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB;gBACtE,OAAO,EAAE,8BAA8B,cAAc,CAAC,aAAa,0BAA0B,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG;aACpJ,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YAC7D,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBAC7C,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe;gBACvE,OAAO,EAAE,cAAc,CAAC,MAAM;oBAC5B,CAAC,CAAC,iDAAiD,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;oBAC9H,CAAC,CAAC,kDAAkD;aACvD,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YACpF,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;gBACtC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB;gBAChE,OAAO,EAAE,KAAK,CAAC,MAAM;oBACnB,CAAC,CAAC,wCAAwC;oBAC1C,CAAC,CAAC,iCAAiC;aACtC,CAAC,CAAC;YACH,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC;oBACH,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC5C,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;wBACnE,MAAM,IAAI,YAAY,CAAC,aAAa,EAAE,qCAAqC,CAAC,CAAC;oBAC/E,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,WAAW,CAAC,IAAI,CAAC;wBACf,KAAK,EAAE,OAAO;wBACd,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC/D,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;qBACrC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC;gBACf,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe;gBAClE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAqC;QAChD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACzC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAY,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,uBAAuB,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9E,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;YACjC,CAAC,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,uEAAuE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YAC9J,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG;YACf,GAAG,OAAO,CAAC,GAAG,CACZ,CAAC,MAAM,EAAE,EAAE,CACT,aAAa,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAC5M;YACD,GAAG,KAAK,CAAC,GAAG,CACV,CAAC,MAAM,EAAE,EAAE,CACT,YAAY,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CACvJ;YACD,GAAG,KAAK,CAAC,GAAG,CACV,CAAC,MAAM,EAAE,EAAE,CACT,YAAY,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,OAAO,CAAC,OAAO,aAAa,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAC5L;YACD,GAAG,KAAK,CAAC,GAAG,CACV,CAAC,MAAM,EAAE,EAAE,CACT,YAAY,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,cAAc,MAAM,CAAC,OAAO,CAAC,QAAQ,aAAa,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAC5O;SACF,CAAC;QACF,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAmB;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YAC5E,cAAc,EAAE;gBACd,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB;gBACjE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB;aACtD;YACD,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE;SACnD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;CACF"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { SynomemConfig, SynomemConfigOverrides } from './types.js';
|
|
3
|
+
export declare const defaultConfig: SynomemConfig;
|
|
4
|
+
export declare const configSchema: z.ZodObject<{
|
|
5
|
+
workspaceId: z.ZodString;
|
|
6
|
+
defaultVisibility: z.ZodEnum<{
|
|
7
|
+
private: "private";
|
|
8
|
+
workspace: "workspace";
|
|
9
|
+
public: "public";
|
|
10
|
+
}>;
|
|
11
|
+
allowSelfAwards: z.ZodBoolean;
|
|
12
|
+
allowCrossAgentTodos: z.ZodBoolean;
|
|
13
|
+
allowAgentCreationViaMcp: z.ZodBoolean;
|
|
14
|
+
allowRebuildViaMcp: z.ZodBoolean;
|
|
15
|
+
includePrivateInStats: z.ZodBoolean;
|
|
16
|
+
projection: z.ZodObject<{
|
|
17
|
+
writeWinsMarkdown: z.ZodBoolean;
|
|
18
|
+
writeMemoryMarkdown: z.ZodBoolean;
|
|
19
|
+
writeTodosMarkdown: z.ZodBoolean;
|
|
20
|
+
writeInboxEntries: z.ZodBoolean;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
schemaVersion: z.ZodLiteral<3>;
|
|
23
|
+
backend: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
24
|
+
kind: z.ZodLiteral<"local">;
|
|
25
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
26
|
+
kind: z.ZodLiteral<"remote">;
|
|
27
|
+
baseUrl: z.ZodURL;
|
|
28
|
+
workspaceId: z.ZodString;
|
|
29
|
+
}, z.core.$strip>], "kind">;
|
|
30
|
+
}, z.core.$strip>;
|
|
31
|
+
export declare function resolveHome(explicitHome?: string): string;
|
|
32
|
+
export declare function mergeConfig(fileConfig: unknown, explicit?: SynomemConfigOverrides, env?: NodeJS.ProcessEnv): SynomemConfig;
|
|
33
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAExE,eAAO,MAAM,aAAa,EAAE,aAgB3B,CAAC;AA+CF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGvB,CAAC;AAEH,wBAAgB,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED,wBAAgB,WAAW,CACzB,UAAU,EAAE,OAAO,EACnB,QAAQ,CAAC,EAAE,sBAAsB,EACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,aAAa,CA2Bf"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { SynomemError } from './errors.js';
|
|
5
|
+
export const defaultConfig = {
|
|
6
|
+
schemaVersion: 3,
|
|
7
|
+
backend: { kind: 'local' },
|
|
8
|
+
workspaceId: 'workspace',
|
|
9
|
+
defaultVisibility: 'workspace',
|
|
10
|
+
allowSelfAwards: false,
|
|
11
|
+
allowCrossAgentTodos: true,
|
|
12
|
+
allowAgentCreationViaMcp: false,
|
|
13
|
+
allowRebuildViaMcp: false,
|
|
14
|
+
includePrivateInStats: false,
|
|
15
|
+
projection: {
|
|
16
|
+
writeWinsMarkdown: true,
|
|
17
|
+
writeMemoryMarkdown: true,
|
|
18
|
+
writeTodosMarkdown: true,
|
|
19
|
+
writeInboxEntries: true,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
const backendSchema = z.discriminatedUnion('kind', [
|
|
23
|
+
z.object({ kind: z.literal('local') }),
|
|
24
|
+
z.object({
|
|
25
|
+
kind: z.literal('remote'),
|
|
26
|
+
baseUrl: z.url().refine((value) => {
|
|
27
|
+
try {
|
|
28
|
+
const parsed = new URL(value);
|
|
29
|
+
const loopback = ['localhost', '127.0.0.1', '[::1]'].includes(parsed.hostname);
|
|
30
|
+
return ((parsed.protocol === 'https:' || (parsed.protocol === 'http:' && loopback)) &&
|
|
31
|
+
!parsed.username &&
|
|
32
|
+
!parsed.password &&
|
|
33
|
+
!parsed.search &&
|
|
34
|
+
!parsed.hash &&
|
|
35
|
+
parsed.pathname === '/');
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}, { message: 'Remote baseUrl must be an HTTPS origin (loopback HTTP is allowed).' }),
|
|
41
|
+
workspaceId: z.string().trim().min(1).max(100),
|
|
42
|
+
}),
|
|
43
|
+
]);
|
|
44
|
+
const policySchema = z.object({
|
|
45
|
+
workspaceId: z.string().trim().min(1).max(100),
|
|
46
|
+
defaultVisibility: z.enum(['private', 'workspace', 'public']),
|
|
47
|
+
allowSelfAwards: z.boolean(),
|
|
48
|
+
allowCrossAgentTodos: z.boolean(),
|
|
49
|
+
allowAgentCreationViaMcp: z.boolean(),
|
|
50
|
+
allowRebuildViaMcp: z.boolean(),
|
|
51
|
+
includePrivateInStats: z.boolean(),
|
|
52
|
+
projection: z.object({
|
|
53
|
+
writeWinsMarkdown: z.boolean(),
|
|
54
|
+
writeMemoryMarkdown: z.boolean(),
|
|
55
|
+
writeTodosMarkdown: z.boolean(),
|
|
56
|
+
writeInboxEntries: z.boolean(),
|
|
57
|
+
}),
|
|
58
|
+
});
|
|
59
|
+
const legacyConfigSchema = policySchema.extend({ schemaVersion: z.literal(2) });
|
|
60
|
+
export const configSchema = policySchema.extend({
|
|
61
|
+
schemaVersion: z.literal(3),
|
|
62
|
+
backend: backendSchema,
|
|
63
|
+
});
|
|
64
|
+
export function resolveHome(explicitHome) {
|
|
65
|
+
const candidate = explicitHome ?? process.env.SYNOMEM_HOME ?? resolve(homedir(), '.agents');
|
|
66
|
+
if (candidate.includes('\0'))
|
|
67
|
+
throw new SynomemError('UNSAFE_PATH', 'Storage home contains NUL.');
|
|
68
|
+
return resolve(candidate);
|
|
69
|
+
}
|
|
70
|
+
export function mergeConfig(fileConfig, explicit, env = process.env) {
|
|
71
|
+
const parsedFile = parseFileConfig(fileConfig);
|
|
72
|
+
if (!parsedFile.success) {
|
|
73
|
+
throw new SynomemError('CONFIG_INVALID', 'Synomem configuration file is invalid.', {
|
|
74
|
+
issues: parsedFile.error.issues,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
const fromFile = parsedFile.data;
|
|
78
|
+
const fromEnvironment = environmentConfig(env);
|
|
79
|
+
const merged = {
|
|
80
|
+
...fromFile,
|
|
81
|
+
...fromEnvironment,
|
|
82
|
+
...explicit,
|
|
83
|
+
projection: {
|
|
84
|
+
...fromFile.projection,
|
|
85
|
+
...fromEnvironment.projection,
|
|
86
|
+
...explicit?.projection,
|
|
87
|
+
},
|
|
88
|
+
schemaVersion: 3,
|
|
89
|
+
};
|
|
90
|
+
const result = configSchema.safeParse(merged);
|
|
91
|
+
if (!result.success) {
|
|
92
|
+
throw new SynomemError('CONFIG_INVALID', 'Synomem configuration is invalid.', {
|
|
93
|
+
issues: result.error.issues,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
return result.data;
|
|
97
|
+
}
|
|
98
|
+
function parseFileConfig(fileConfig) {
|
|
99
|
+
if (fileConfig === undefined)
|
|
100
|
+
return { success: true, data: defaultConfig };
|
|
101
|
+
const current = configSchema.safeParse(fileConfig);
|
|
102
|
+
if (current.success)
|
|
103
|
+
return current;
|
|
104
|
+
const legacy = legacyConfigSchema.safeParse(fileConfig);
|
|
105
|
+
if (legacy.success) {
|
|
106
|
+
return {
|
|
107
|
+
success: true,
|
|
108
|
+
data: { ...legacy.data, schemaVersion: 3, backend: { kind: 'local' } },
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
return current;
|
|
112
|
+
}
|
|
113
|
+
function optionalBoolean(env, name) {
|
|
114
|
+
const value = env[name];
|
|
115
|
+
if (value === undefined)
|
|
116
|
+
return undefined;
|
|
117
|
+
if (value === 'true')
|
|
118
|
+
return true;
|
|
119
|
+
if (value === 'false')
|
|
120
|
+
return false;
|
|
121
|
+
throw new SynomemError('CONFIG_INVALID', `${name} must be true or false.`);
|
|
122
|
+
}
|
|
123
|
+
function environmentConfig(env) {
|
|
124
|
+
const visibility = env.SYNOMEM_DEFAULT_VISIBILITY;
|
|
125
|
+
if (visibility && !['private', 'workspace', 'public'].includes(visibility)) {
|
|
126
|
+
throw new SynomemError('CONFIG_INVALID', 'SYNOMEM_DEFAULT_VISIBILITY must be private, workspace, or public.');
|
|
127
|
+
}
|
|
128
|
+
const writeWinsMarkdown = optionalBoolean(env, 'SYNOMEM_WRITE_WINS_MARKDOWN');
|
|
129
|
+
const writeMemoryMarkdown = optionalBoolean(env, 'SYNOMEM_WRITE_MEMORY_MARKDOWN');
|
|
130
|
+
const writeTodosMarkdown = optionalBoolean(env, 'SYNOMEM_WRITE_TODOS_MARKDOWN');
|
|
131
|
+
const writeInboxEntries = optionalBoolean(env, 'SYNOMEM_WRITE_INBOX_ENTRIES');
|
|
132
|
+
const allowSelfAwards = optionalBoolean(env, 'SYNOMEM_ALLOW_SELF_AWARDS');
|
|
133
|
+
const allowCrossAgentTodos = optionalBoolean(env, 'SYNOMEM_ALLOW_CROSS_AGENT_TODOS');
|
|
134
|
+
const allowAgentCreationViaMcp = optionalBoolean(env, 'SYNOMEM_ALLOW_AGENT_CREATION_VIA_MCP');
|
|
135
|
+
const allowRebuildViaMcp = optionalBoolean(env, 'SYNOMEM_ALLOW_REBUILD_VIA_MCP');
|
|
136
|
+
const includePrivateInStats = optionalBoolean(env, 'SYNOMEM_INCLUDE_PRIVATE_IN_STATS');
|
|
137
|
+
const projection = {
|
|
138
|
+
...(writeWinsMarkdown !== undefined ? { writeWinsMarkdown } : {}),
|
|
139
|
+
...(writeMemoryMarkdown !== undefined ? { writeMemoryMarkdown } : {}),
|
|
140
|
+
...(writeTodosMarkdown !== undefined ? { writeTodosMarkdown } : {}),
|
|
141
|
+
...(writeInboxEntries !== undefined ? { writeInboxEntries } : {}),
|
|
142
|
+
};
|
|
143
|
+
return {
|
|
144
|
+
...(visibility ? { defaultVisibility: visibility } : {}),
|
|
145
|
+
...(allowSelfAwards !== undefined ? { allowSelfAwards } : {}),
|
|
146
|
+
...(allowCrossAgentTodos !== undefined ? { allowCrossAgentTodos } : {}),
|
|
147
|
+
...(allowAgentCreationViaMcp !== undefined ? { allowAgentCreationViaMcp } : {}),
|
|
148
|
+
...(allowRebuildViaMcp !== undefined ? { allowRebuildViaMcp } : {}),
|
|
149
|
+
...(includePrivateInStats !== undefined ? { includePrivateInStats } : {}),
|
|
150
|
+
...(Object.keys(projection).length ? { projection } : {}),
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ActorIdentity } from './types.js';
|
|
2
|
+
export interface StoredOAuthCredential {
|
|
3
|
+
accessToken: string;
|
|
4
|
+
refreshToken?: string;
|
|
5
|
+
expiresAt?: number;
|
|
6
|
+
tokenEndpoint: string;
|
|
7
|
+
clientId: string;
|
|
8
|
+
resource: string;
|
|
9
|
+
scope: string;
|
|
10
|
+
}
|
|
11
|
+
export interface CredentialStore {
|
|
12
|
+
get(reference: string): Promise<StoredOAuthCredential | undefined>;
|
|
13
|
+
set(reference: string, credential: StoredOAuthCredential): Promise<void>;
|
|
14
|
+
delete(reference: string): Promise<boolean>;
|
|
15
|
+
}
|
|
16
|
+
export declare function credentialReference(baseUrl: string, workspaceId: string, actor: ActorIdentity): string;
|
|
17
|
+
interface CommandResult {
|
|
18
|
+
stdout: string;
|
|
19
|
+
stderr: string;
|
|
20
|
+
code: number;
|
|
21
|
+
}
|
|
22
|
+
export type CredentialCommandRunner = (executable: string, arguments_: string[], input?: string) => Promise<CommandResult>;
|
|
23
|
+
export declare class OsCredentialStore implements CredentialStore {
|
|
24
|
+
private readonly platform;
|
|
25
|
+
private readonly run;
|
|
26
|
+
constructor(options?: {
|
|
27
|
+
platform?: NodeJS.Platform;
|
|
28
|
+
run?: CredentialCommandRunner;
|
|
29
|
+
});
|
|
30
|
+
get(reference: string): Promise<StoredOAuthCredential | undefined>;
|
|
31
|
+
set(reference: string, credential: StoredOAuthCredential): Promise<void>;
|
|
32
|
+
delete(reference: string): Promise<boolean>;
|
|
33
|
+
private unsupported;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAKhD,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IACnE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7C;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,aAAa,GACnB,MAAM,CAUR;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,uBAAuB,GAAG,CACpC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,CAAC,EAAE,MAAM,KACX,OAAO,CAAC,aAAa,CAAC,CAAC;AAqD5B,qBAAa,iBAAkB,YAAW,eAAe;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;gBAElC,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;QAAC,GAAG,CAAC,EAAE,uBAAuB,CAAA;KAAO;IAKjF,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAkBlE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCxE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBjD,OAAO,CAAC,WAAW;CAMpB"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { spawn } from 'node:child_process';
|
|
3
|
+
import { SynomemError } from './errors.js';
|
|
4
|
+
const serviceName = 'ai.synomem.credentials';
|
|
5
|
+
const maximumOutputBytes = 128 * 1024;
|
|
6
|
+
export function credentialReference(baseUrl, workspaceId, actor) {
|
|
7
|
+
return createHash('sha256')
|
|
8
|
+
.update(JSON.stringify({
|
|
9
|
+
baseUrl: new URL(baseUrl).origin,
|
|
10
|
+
workspaceId,
|
|
11
|
+
actor: { kind: actor.kind, id: actor.id },
|
|
12
|
+
}))
|
|
13
|
+
.digest('base64url');
|
|
14
|
+
}
|
|
15
|
+
async function command(executable, arguments_, input) {
|
|
16
|
+
return await new Promise((resolve, reject) => {
|
|
17
|
+
const child = spawn(executable, arguments_, { stdio: ['pipe', 'pipe', 'pipe'] });
|
|
18
|
+
const stdout = [];
|
|
19
|
+
const stderr = [];
|
|
20
|
+
let bytes = 0;
|
|
21
|
+
const collect = (target) => (chunk) => {
|
|
22
|
+
bytes += chunk.byteLength;
|
|
23
|
+
if (bytes > maximumOutputBytes) {
|
|
24
|
+
child.kill();
|
|
25
|
+
reject(new SynomemError('INTERNAL_ERROR', 'Credential helper output was too large.'));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
target.push(chunk);
|
|
29
|
+
};
|
|
30
|
+
child.stdout.on('data', collect(stdout));
|
|
31
|
+
child.stderr.on('data', collect(stderr));
|
|
32
|
+
child.once('error', reject);
|
|
33
|
+
child.once('close', (code) => resolve({
|
|
34
|
+
stdout: Buffer.concat(stdout).toString('utf8'),
|
|
35
|
+
stderr: Buffer.concat(stderr).toString('utf8'),
|
|
36
|
+
code: code ?? 1,
|
|
37
|
+
}));
|
|
38
|
+
child.stdin.end(input);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function parseCredential(value) {
|
|
42
|
+
try {
|
|
43
|
+
const parsed = JSON.parse(value);
|
|
44
|
+
if (typeof parsed.accessToken !== 'string' ||
|
|
45
|
+
typeof parsed.tokenEndpoint !== 'string' ||
|
|
46
|
+
typeof parsed.clientId !== 'string' ||
|
|
47
|
+
typeof parsed.resource !== 'string' ||
|
|
48
|
+
typeof parsed.scope !== 'string') {
|
|
49
|
+
throw new Error();
|
|
50
|
+
}
|
|
51
|
+
return parsed;
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
throw new SynomemError('AUTH_REQUIRED', 'Stored Synomem credentials are malformed.');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export class OsCredentialStore {
|
|
58
|
+
platform;
|
|
59
|
+
run;
|
|
60
|
+
constructor(options = {}) {
|
|
61
|
+
this.platform = options.platform ?? process.platform;
|
|
62
|
+
this.run = options.run ?? command;
|
|
63
|
+
}
|
|
64
|
+
async get(reference) {
|
|
65
|
+
const result = this.platform === 'darwin'
|
|
66
|
+
? await this.run('/usr/bin/security', [
|
|
67
|
+
'find-generic-password',
|
|
68
|
+
'-a',
|
|
69
|
+
reference,
|
|
70
|
+
'-s',
|
|
71
|
+
serviceName,
|
|
72
|
+
'-w',
|
|
73
|
+
])
|
|
74
|
+
: this.platform === 'linux'
|
|
75
|
+
? await this.run('secret-tool', ['lookup', 'service', serviceName, 'account', reference])
|
|
76
|
+
: this.unsupported();
|
|
77
|
+
if (result.code !== 0)
|
|
78
|
+
return undefined;
|
|
79
|
+
return parseCredential(result.stdout.trim());
|
|
80
|
+
}
|
|
81
|
+
async set(reference, credential) {
|
|
82
|
+
const serialized = JSON.stringify(credential);
|
|
83
|
+
const result = this.platform === 'darwin'
|
|
84
|
+
? await this.run('/usr/bin/security', [
|
|
85
|
+
'add-generic-password',
|
|
86
|
+
'-a',
|
|
87
|
+
reference,
|
|
88
|
+
'-s',
|
|
89
|
+
serviceName,
|
|
90
|
+
'-l',
|
|
91
|
+
'Synomem OAuth credential',
|
|
92
|
+
'-U',
|
|
93
|
+
'-w',
|
|
94
|
+
], `${serialized}\n`)
|
|
95
|
+
: this.platform === 'linux'
|
|
96
|
+
? await this.run('secret-tool', [
|
|
97
|
+
'store',
|
|
98
|
+
'--label=Synomem OAuth credential',
|
|
99
|
+
'service',
|
|
100
|
+
serviceName,
|
|
101
|
+
'account',
|
|
102
|
+
reference,
|
|
103
|
+
], serialized)
|
|
104
|
+
: this.unsupported();
|
|
105
|
+
if (result.code !== 0) {
|
|
106
|
+
throw new SynomemError('AUTH_REQUIRED', 'The operating-system credential store rejected the credential.');
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
async delete(reference) {
|
|
110
|
+
const result = this.platform === 'darwin'
|
|
111
|
+
? await this.run('/usr/bin/security', [
|
|
112
|
+
'delete-generic-password',
|
|
113
|
+
'-a',
|
|
114
|
+
reference,
|
|
115
|
+
'-s',
|
|
116
|
+
serviceName,
|
|
117
|
+
])
|
|
118
|
+
: this.platform === 'linux'
|
|
119
|
+
? await this.run('secret-tool', ['clear', 'service', serviceName, 'account', reference])
|
|
120
|
+
: this.unsupported();
|
|
121
|
+
return result.code === 0;
|
|
122
|
+
}
|
|
123
|
+
unsupported() {
|
|
124
|
+
throw new SynomemError('CONFIG_INVALID', 'Interactive credential storage is currently supported on macOS and Linux with secret-tool.');
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const errorCodes: readonly ["INVALID_INPUT", "INVALID_AGENT_ID", "INVALID_EVENT", "UNSUPPORTED_EVENT", "AGENT_NOT_FOUND", "AGENT_EXISTS", "ALIAS_CONFLICT", "KUDOS_NOT_FOUND", "ITEM_NOT_FOUND", "MEMO_NOT_FOUND", "NOTE_NOT_FOUND", "TODO_NOT_FOUND", "REVISION_CONFLICT", "IDEMPOTENCY_CONFLICT", "MUTATION_FORBIDDEN", "SELF_AWARD_FORBIDDEN", "ACKNOWLEDGMENT_FORBIDDEN", "REVOCATION_FORBIDDEN", "READ_ONLY", "DATABASE_BUSY", "DATABASE_CORRUPT", "UNSUPPORTED_SCHEMA", "UNSAFE_PATH", "POLICY_FORBIDDEN", "CONFIG_INVALID", "AUTH_REQUIRED", "AUTH_FORBIDDEN", "REMOTE_UNAVAILABLE", "REMOTE_PROTOCOL", "RATE_LIMITED", "INTERNAL_ERROR"];
|
|
2
|
+
export type SynomemErrorCode = (typeof errorCodes)[number];
|
|
3
|
+
export declare class SynomemError extends Error {
|
|
4
|
+
readonly code: SynomemErrorCode;
|
|
5
|
+
readonly details?: Record<string, unknown>;
|
|
6
|
+
constructor(code: SynomemErrorCode, message: string, details?: Record<string, unknown>);
|
|
7
|
+
}
|
|
8
|
+
export declare function asSynomemError(error: unknown): SynomemError;
|
|
9
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,gmBAgCb,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE/B,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAMvF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAa3D"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { ZodError } from 'zod';
|
|
2
|
+
export const errorCodes = [
|
|
3
|
+
'INVALID_INPUT',
|
|
4
|
+
'INVALID_AGENT_ID',
|
|
5
|
+
'INVALID_EVENT',
|
|
6
|
+
'UNSUPPORTED_EVENT',
|
|
7
|
+
'AGENT_NOT_FOUND',
|
|
8
|
+
'AGENT_EXISTS',
|
|
9
|
+
'ALIAS_CONFLICT',
|
|
10
|
+
'KUDOS_NOT_FOUND',
|
|
11
|
+
'ITEM_NOT_FOUND',
|
|
12
|
+
'MEMO_NOT_FOUND',
|
|
13
|
+
'NOTE_NOT_FOUND',
|
|
14
|
+
'TODO_NOT_FOUND',
|
|
15
|
+
'REVISION_CONFLICT',
|
|
16
|
+
'IDEMPOTENCY_CONFLICT',
|
|
17
|
+
'MUTATION_FORBIDDEN',
|
|
18
|
+
'SELF_AWARD_FORBIDDEN',
|
|
19
|
+
'ACKNOWLEDGMENT_FORBIDDEN',
|
|
20
|
+
'REVOCATION_FORBIDDEN',
|
|
21
|
+
'READ_ONLY',
|
|
22
|
+
'DATABASE_BUSY',
|
|
23
|
+
'DATABASE_CORRUPT',
|
|
24
|
+
'UNSUPPORTED_SCHEMA',
|
|
25
|
+
'UNSAFE_PATH',
|
|
26
|
+
'POLICY_FORBIDDEN',
|
|
27
|
+
'CONFIG_INVALID',
|
|
28
|
+
'AUTH_REQUIRED',
|
|
29
|
+
'AUTH_FORBIDDEN',
|
|
30
|
+
'REMOTE_UNAVAILABLE',
|
|
31
|
+
'REMOTE_PROTOCOL',
|
|
32
|
+
'RATE_LIMITED',
|
|
33
|
+
'INTERNAL_ERROR',
|
|
34
|
+
];
|
|
35
|
+
export class SynomemError extends Error {
|
|
36
|
+
code;
|
|
37
|
+
details;
|
|
38
|
+
constructor(code, message, details) {
|
|
39
|
+
super(message);
|
|
40
|
+
this.name = 'SynomemError';
|
|
41
|
+
this.code = code;
|
|
42
|
+
this.details = details;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export function asSynomemError(error) {
|
|
46
|
+
if (error instanceof SynomemError)
|
|
47
|
+
return error;
|
|
48
|
+
if (error instanceof ZodError) {
|
|
49
|
+
return new SynomemError('INVALID_INPUT', 'Input validation failed.', { issues: error.issues });
|
|
50
|
+
}
|
|
51
|
+
const message = error instanceof Error ? error.message : 'Unexpected Synomem error';
|
|
52
|
+
if (/SQLITE_BUSY|database is locked/i.test(message)) {
|
|
53
|
+
return new SynomemError('DATABASE_BUSY', 'The Synomem database is busy; retry shortly.');
|
|
54
|
+
}
|
|
55
|
+
if (/malformed|not a database|database disk image/i.test(message)) {
|
|
56
|
+
return new SynomemError('DATABASE_CORRUPT', 'The Synomem database failed an integrity check.');
|
|
57
|
+
}
|
|
58
|
+
return new SynomemError('INTERNAL_ERROR', message);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAE/B,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,eAAe;IACf,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,mBAAmB;IACnB,sBAAsB;IACtB,oBAAoB;IACpB,sBAAsB;IACtB,0BAA0B;IAC1B,sBAAsB;IACtB,WAAW;IACX,eAAe;IACf,kBAAkB;IAClB,oBAAoB;IACpB,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,iBAAiB;IACjB,cAAc;IACd,gBAAgB;CACR,CAAC;AAIX,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAmB;IACvB,OAAO,CAA2B;IAE3C,YAAY,IAAsB,EAAE,OAAe,EAAE,OAAiC;QACpF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,YAAY;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,YAAY,CAAC,eAAe,EAAE,0BAA0B,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC;IACpF,IAAI,iCAAiC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,YAAY,CAAC,eAAe,EAAE,8CAA8C,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,+CAA+C,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,OAAO,IAAI,YAAY,CAAC,kBAAkB,EAAE,iDAAiD,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,IAAI,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function ensureDirectory(path: string): void;
|
|
2
|
+
export declare function assertNoSymlinkEscape(home: string, target: string): void;
|
|
3
|
+
export declare function atomicWriteFile(path: string, content: string, mode?: number): void;
|
|
4
|
+
/** Atomically replace rebuildable derived data without forcing it to stable storage. */
|
|
5
|
+
export declare function atomicWriteDerivedFile(path: string, content: string, mode?: number): void;
|
|
6
|
+
export declare function readJsonFile(path: string): unknown;
|
|
7
|
+
//# sourceMappingURL=fs-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../src/fs-utils.ts"],"names":[],"mappings":"AAgBA,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAmBxE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,SAAQ,GAAG,IAAI,CAEjF;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,SAAQ,GAAG,IAAI,CAExF;AAkCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD"}
|