@sendbird/cli 0.0.0-stage → 0.4.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/.claude-plugin/plugin.json +11 -0
- package/.codex-plugin/plugin.json +39 -0
- package/LICENSE +13 -0
- package/NOTICE.md +1105 -0
- package/PROVENANCE.md +15 -0
- package/README.md +44 -2
- package/dist/acl.d.ts +2 -0
- package/dist/acl.js +12 -0
- package/dist/acl.js.map +1 -0
- package/dist/billing-plan.d.ts +68 -0
- package/dist/billing-plan.js +235 -0
- package/dist/billing-plan.js.map +1 -0
- package/dist/browser.d.ts +1 -0
- package/dist/browser.js +20 -0
- package/dist/browser.js.map +1 -0
- package/dist/calls-catalog.d.ts +79 -0
- package/dist/calls-catalog.js +322 -0
- package/dist/calls-catalog.js.map +1 -0
- package/dist/calls-credits.d.ts +31 -0
- package/dist/calls-credits.js +224 -0
- package/dist/calls-credits.js.map +1 -0
- package/dist/calls-trial.d.ts +45 -0
- package/dist/calls-trial.js +77 -0
- package/dist/calls-trial.js.map +1 -0
- package/dist/calls.d.ts +10 -0
- package/dist/calls.js +470 -0
- package/dist/calls.js.map +1 -0
- package/dist/catalog.d.ts +67 -0
- package/dist/catalog.js +784 -0
- package/dist/catalog.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.js +502 -0
- package/dist/cli.js.map +1 -0
- package/dist/core.d.ts +86 -0
- package/dist/core.js +531 -0
- package/dist/core.js.map +1 -0
- package/dist/diagnostics.d.ts +206 -0
- package/dist/diagnostics.js +664 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/discovery.d.ts +703 -0
- package/dist/discovery.js +846 -0
- package/dist/discovery.js.map +1 -0
- package/dist/docs.d.ts +31 -0
- package/dist/docs.js +139 -0
- package/dist/docs.js.map +1 -0
- package/dist/features.d.ts +131 -0
- package/dist/features.js +227 -0
- package/dist/features.js.map +1 -0
- package/dist/generated-api.d.ts +116 -0
- package/dist/generated-api.js +118 -0
- package/dist/generated-api.js.map +1 -0
- package/dist/human-format.d.ts +40 -0
- package/dist/human-format.js +205 -0
- package/dist/human-format.js.map +1 -0
- package/dist/human-list.d.ts +2 -0
- package/dist/human-list.js +368 -0
- package/dist/human-list.js.map +1 -0
- package/dist/human-output.d.ts +10 -0
- package/dist/human-output.js +1351 -0
- package/dist/human-output.js.map +1 -0
- package/dist/human-pro.d.ts +3 -0
- package/dist/human-pro.js +201 -0
- package/dist/human-pro.js.map +1 -0
- package/dist/human-progress.d.ts +5 -0
- package/dist/human-progress.js +49 -0
- package/dist/human-progress.js.map +1 -0
- package/dist/local.d.ts +42 -0
- package/dist/local.js +707 -0
- package/dist/local.js.map +1 -0
- package/dist/oauth-callback.d.ts +3 -0
- package/dist/oauth-callback.js +66 -0
- package/dist/oauth-callback.js.map +1 -0
- package/dist/oauth-lock.d.ts +6 -0
- package/dist/oauth-lock.js +212 -0
- package/dist/oauth-lock.js.map +1 -0
- package/dist/oauth.d.ts +32 -0
- package/dist/oauth.js +493 -0
- package/dist/oauth.js.map +1 -0
- package/dist/presentation.d.ts +208 -0
- package/dist/presentation.js +156 -0
- package/dist/presentation.js.map +1 -0
- package/dist/pro-api-catalog.d.ts +24 -0
- package/dist/pro-api-catalog.js +619 -0
- package/dist/pro-api-catalog.js.map +1 -0
- package/dist/pro-api.d.ts +10 -0
- package/dist/pro-api.js +338 -0
- package/dist/pro-api.js.map +1 -0
- package/dist/project.d.ts +34 -0
- package/dist/project.js +62 -0
- package/dist/project.js.map +1 -0
- package/dist/recovery.d.ts +41 -0
- package/dist/recovery.js +417 -0
- package/dist/recovery.js.map +1 -0
- package/dist/runner.d.ts +47 -0
- package/dist/runner.js +603 -0
- package/dist/runner.js.map +1 -0
- package/dist/sdk-catalog.d.ts +69 -0
- package/dist/sdk-catalog.js +527 -0
- package/dist/sdk-catalog.js.map +1 -0
- package/dist/sdk-config.d.ts +19 -0
- package/dist/sdk-config.js +85 -0
- package/dist/sdk-config.js.map +1 -0
- package/dist/sdk-dto.d.ts +244 -0
- package/dist/sdk-dto.js +98 -0
- package/dist/sdk-dto.js.map +1 -0
- package/dist/sdk-limits.d.ts +2 -0
- package/dist/sdk-limits.js +3 -0
- package/dist/sdk-limits.js.map +1 -0
- package/dist/sdk-node-file-reader.d.ts +6 -0
- package/dist/sdk-node-file-reader.js +38 -0
- package/dist/sdk-node-file-reader.js.map +1 -0
- package/dist/sdk-pro-catalog.d.ts +22 -0
- package/dist/sdk-pro-catalog.js +234 -0
- package/dist/sdk-pro-catalog.js.map +1 -0
- package/dist/sdk-pro-runtime.d.ts +31 -0
- package/dist/sdk-pro-runtime.js +293 -0
- package/dist/sdk-pro-runtime.js.map +1 -0
- package/dist/sdk-query.d.ts +10 -0
- package/dist/sdk-query.js +29 -0
- package/dist/sdk-query.js.map +1 -0
- package/dist/sdk-runtime.d.ts +15 -0
- package/dist/sdk-runtime.js +685 -0
- package/dist/sdk-runtime.js.map +1 -0
- package/dist/sdk-worker.d.ts +1 -0
- package/dist/sdk-worker.js +26 -0
- package/dist/sdk-worker.js.map +1 -0
- package/dist/sdk.d.ts +29 -0
- package/dist/sdk.js +346 -0
- package/dist/sdk.js.map +1 -0
- package/dist/search-engine.d.ts +17 -0
- package/dist/search-engine.js +54 -0
- package/dist/search-engine.js.map +1 -0
- package/dist/search-intents.d.ts +2 -0
- package/dist/search-intents.js +106 -0
- package/dist/search-intents.js.map +1 -0
- package/dist/search.d.ts +7 -0
- package/dist/search.js +58 -0
- package/dist/search.js.map +1 -0
- package/dist/secret-output.d.ts +2 -0
- package/dist/secret-output.js +108 -0
- package/dist/secret-output.js.map +1 -0
- package/dist/shell.d.ts +3 -0
- package/dist/shell.js +14 -0
- package/dist/shell.js.map +1 -0
- package/dist/skills.d.ts +210 -0
- package/dist/skills.js +374 -0
- package/dist/skills.js.map +1 -0
- package/dist/value-semantics.d.ts +70 -0
- package/dist/value-semantics.js +173 -0
- package/dist/value-semantics.js.map +1 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/dist/windows.d.ts +4 -0
- package/dist/windows.js +136 -0
- package/dist/windows.js.map +1 -0
- package/dist/workflows.d.ts +228 -0
- package/dist/workflows.js +1207 -0
- package/dist/workflows.js.map +1 -0
- package/package.json +90 -4
- package/plugin.json +25 -0
- package/references/agent-guide.json +199 -0
- package/references/commands.md +247 -0
- package/references/dashboard-inventory.json +14796 -0
- package/references/docs-index.json +5329 -0
- package/references/sdk-commands.json +15065 -0
- package/references/workflows.json +1246 -0
- package/skills/sendbird/SKILL.md +96 -0
- package/skills/sendbird/agents/openai.yaml +4 -0
- package/skills/sendbird/references/build-chat-app.md +50 -0
- package/skills/sendbird/references/client-guide.md +34 -0
- package/skills/sendbird/references/client-plugin-bridge.md +77 -0
- package/skills/sendbird/references/client-plugin-install.md +39 -0
- package/skills/sendbird/references/operational-checks.md +35 -0
- package/skills/sendbird/references/pro-capabilities.md +52 -0
- package/skills/sendbird/scripts/client-guide.mjs +283 -0
- package/skills/sendbird/scripts/client-plugin-bridge.mjs +703 -0
- package/skills/sendbird-setup/SKILL.md +18 -0
- package/skills/sendbird-setup/agents/openai.yaml +4 -0
- package/skills/sendbird-setup/references/onboarding.md +73 -0
- package/skills/sendbird-setup/scripts/install-cli.mjs +447 -0
- package/skills/sendbird-setup/scripts/npm-run.mjs +34 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,GAEX,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,UAAU,GAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAwB,MAAM,mBAAmB,CAAC;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO;IACP,MAAM;IACN,UAAU;IACV,WAAW;IACX,UAAU;IACV,aAAa;IACb,WAAW;CACZ,CAAC;AACF,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,MAAM,IAAI,GAAyC,EAAE,CAAC;IACtD,SAAS,IAAI,CAAC,CAAU,EAAE,MAAM,GAAG,EAAE;QACnC,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9D,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC1B,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;oBAC5C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpB,CAAC;;gBAAM,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,OAAO,IAAI,CAAC;AACd,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC1E,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,KAAK,KAAK;QACxB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,CAAC;YACC;gBACE,gBAAgB;gBAChB,aAAa;gBACb,QAAQ;gBACR,YAAY;gBACZ,aAAa;gBACb,mBAAmB;gBACnB,0BAA0B;gBAC1B,SAAS;gBACT,SAAS;gBACT,iBAAiB;gBACjB,gBAAgB;aACjB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAClB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,OAAO,CAAC;AAChB,CAAC;AACD,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,KAAK,KAAK;QACrB,OAAQ,CAAmB,CAAC,MAAM;YAChC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAE,CAAmB,CAAC,OAAO;gBAC5B,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,UAAU,CAAC;IACnB,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IACvD,OAAO;QACL,gBAAgB;QAChB,aAAa;QACb,gBAAgB;QAChB,SAAS;QACT,WAAW;QACX,SAAS;QACT,WAAW;QACX,cAAc;QACd,YAAY;QACZ,aAAa;QACb,mBAAmB;QACnB,0BAA0B;QAC1B,gBAAgB;QAChB,aAAa;QACb,OAAO;QACP,gBAAgB;QAChB,eAAe;KAChB,CAAC,QAAQ,CAAC,IAAI,CAAC;QACd,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CACnE,IAAI,CACL;YACH,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC;AAClB,CAAC;AACD,MAAM,UAAU,UAAU;IACxB,OAAO;QACL,gBAAgB,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,uBAAuB;QACnC,OAAO,EAAE,kDAAkD;QAC3D,aAAa,EAAE;YACb,UAAU,EAAE,iDAAiD;SAC9D;QACD,WAAW,EAAE;YACX,0LAA0L;YAC1L,0HAA0H;YAC1H,wKAAwK;YACxK,sHAAsH;YACtH,uHAAuH;YACvH,yGAAyG;YACzG,kKAAkK;YAClK,0CAA0C;YAC1C,6JAA6J;SAC9J;QACD,UAAU,EAAE;YACV,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,wCAAwC;YAC/C,OAAO,EACL,0QAA0Q;YAC5Q,KAAK,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;SAChC;QACD,kBAAkB,EAAE;YAClB,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC;YACzC,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;YAClD,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,UAAU;oBACV,QAAQ;oBACR,SAAS;oBACT,SAAS;oBACT,QAAQ;oBACR,SAAS;oBACT,SAAS;iBACV;gBACD,KAAK,EAAE;oBACL,UAAU;oBACV,QAAQ;oBACR,SAAS;oBACT,SAAS;oBACT,OAAO;oBACP,SAAS;oBACT,SAAS;iBACV;aACF;YACD,IAAI,EAAE,4HAA4H;SACnI;QACD,cAAc,EACZ,oMAAoM;QACtM,iBAAiB,EACf,6KAA6K;QAC/K,cAAc,EAAE;YACd,IAAI,EAAE,iBAAiB;YACvB,OAAO,EACL,+EAA+E;YACjF,OAAO,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;YAC1C,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;YACtE,UAAU,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC;YAC9C,UAAU,EACR,uIAAuI;SAC1I;QACD,SAAS,EAAE;YACT;gBACE,IAAI,EAAE;oBACJ,UAAU;oBACV,QAAQ;oBACR,UAAU;oBACV,WAAW;oBACX,UAAU;oBACV,cAAc;iBACf;gBACD,OAAO,EAAE,gCAAgC;aAC1C;YACD;gBACE,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;gBACnE,OAAO,EACL,yEAAyE;aAC5E;YACD;gBACE,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;gBACzC,OAAO,EAAE,iDAAiD;aAC3D;YACD;gBACE,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC5D,OAAO,EACL,gEAAgE;aACnE;SACF;QACD,cAAc,EAAE;YACd,SAAS,EAAE;gBACT,UAAU,EAAE,oCAAoC;gBAChD,KAAK,EAAE;oBACL,UAAU;oBACV,QAAQ;oBACR,WAAW;oBACX,SAAS;oBACT,MAAM;oBACN,QAAQ;oBACR,WAAW;iBACZ;gBACD,KAAK,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;gBAC5D,IAAI,EAAE,uJAAuJ;aAC9J;YACD,GAAG,EAAE;gBACH,UAAU,EACR,4FAA4F;gBAC9F,QAAQ,EAAE;oBACR,UAAU;oBACV,WAAW;oBACX,yGAAyG;iBAC1G;gBACD,UAAU,EAAE;oBACV,UAAU;oBACV,WAAW;oBACX,SAAS;oBACT,UAAU;oBACV,QAAQ;oBACR,MAAM;oBACN,KAAK;oBACL,QAAQ;oBACR,mBAAmB;oBACnB,oBAAoB;oBACpB,WAAW;oBACX,SAAS;iBACV;gBACD,OAAO,EAAE;oBACP,UAAU;oBACV,WAAW;oBACX,SAAS;oBACT,UAAU;oBACV,QAAQ;oBACR,KAAK;oBACL,YAAY;oBACZ,OAAO;iBACR;gBACD,IAAI,EAAE,oTAAoT;aAC3T;SACF;QACD,QAAQ,EAAE;YACR,MAAM,EACJ,6ZAA6Z;YAC/Z,MAAM,EACJ,kIAAkI;YACpI,KAAK,EACH,8EAA8E;YAChF,SAAS,EACP,uGAAuG;YACzG,KAAK,EACH,oFAAoF;YACtF,OAAO,EACL,yHAAyH;YAC3H,YAAY,EACV,2EAA2E;SAC9E;QACD,YAAY,EAAE;YACZ,qIAAqI;YACrI,6SAA6S;YAC7S,+HAA+H;SAChI;KACF,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAa,EACb,IAKC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EACpC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACpC,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACxB,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,GAAG;QACX,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACzB,MAAM,GAAG,CAAC;QAEV,MAAM,IAAI,QAAQ,CAChB,SAAS,EACT,gEAAgE,EAChE,CAAC,CACF,CAAC;IACJ,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3E,MAAM,IAAI,QAAQ,CAChB,SAAS,EACT,2CAA2C,EAC3C,CAAC,CACF,CAAC;IACJ,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAClE,CAAC;IACF,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,MAAM,OAAO,GAAG,IAAI,GAAG,EAGpB,CAAC;IACJ,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACxB,MAAM,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpE,MAAM,CAAC,oBAAoB,CAAC;YAC5B,MAAM,CAAC,qBAAqB,CAAC;SAC9B,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG;YAC1B,MAAM,IAAI,QAAQ,CAChB,SAAS,EACT,6CAA6C,EAC7C,CAAC,CACF,CAAC;QACJ,MAAM,KAAK,GAAG,iBAAiB,CAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,EAAE,EAAE,CAAC,CAAC,IAAI;YACV,KAAK,EAAE,CAAC,CAAC,IAAI;YACb,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE;YACpC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;SAChC,CAAC,CAAC,CACJ,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAC3B,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,aAAa,EAAE,GAAG,CAAC,aAAa;aACjC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAE,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,MAAM;QACN,KAAK;QACL,WAAW,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI;QACpE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE;YAC7B,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE;YACpC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/B,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YACzB,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC,CAAC;QACH,GAAG,CAAC,OAAO,CAAC,MAAM;YAChB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,IAAI,EAAE;oBACJ,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC;oBACrC,CAAC,UAAU,EAAE,WAAW,CAAC;iBAC1B;aACF,CAAC;KACP,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,WAAW,CAAC,CAAa;IACvC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAkB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,WAAW;QACpE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAU,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAA4B,CAAC;QAClD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,IACE,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACjD,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EACpE,CAAC;gBACD,WAAW,GAAG,IAAI,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,IAAI,CACP,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAC1C,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAC9C,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,WAAW;QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IAC/D,IACE;QACE,mBAAmB;QACnB,mBAAmB;QACnB,kBAAkB;QAClB,kBAAkB;KACnB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAElB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvB,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,uBAAuB,CAAC;QAClD,KAAK,EAAE,CAAC;QACR,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,IAAI,EAAE,8SAA8S;KACrT,CAAC;AACJ,CAAC;AACD,SAAS,WAAW,CAAC,MAAwC;IAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAGzC,CAAC;IACF,OAAO;QACL,GAAG,KAAK;QACR,QAAQ,EAAE,CAAE,KAAK,CAAC,QAAqB,IAAI,EAAE,CAAC,CAAC,MAAM,CACnD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CACpD;KACF,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,IAAa,EAAE,IAAY;IACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,QAAQ,CAChB,aAAa,EACb,+EAA+E,EAC/E,CAAC,CACF,CAAC;IACJ,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,KAAK,GAAG;QACZ,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO;QACtB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;KACtD;SACE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACnD,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,KAAK;QACf,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,WAAW,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ;KACtC,CAAC,CAAC,CAAC;IACN,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAU,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAoB;YAC3C,IACE,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACrD,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAEvD,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,EAAE,KAAK,KAAK,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACjE,IAAI,CAAC,EAAE,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,iBAAiB,IAAI,CAAC,EAAE,WAAW;QACpE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC3C,IAAI,GAAG;QACL,QAAQ,CAAC,IAAI,CACX,WAAW,EACX,iEAAiE,CAClE,CAAC;IACJ,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,IAAI,KAAK,OAAO;QAClB,WAAW,CAAC,IAAI,CACd,iaAAia,CACla,CAAC;IACJ,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QACjC,WAAW,CAAC,IAAI,CACd,qnBAAqnB,CACtnB,CAAC;IACJ,IACE,kEAAkE,CAAC,IAAI,CACrE,IAAI,CACL;QACD,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAE3B,WAAW,CAAC,IAAI,CACd,yTAAyT,CAC1T,CAAC;IACJ,IAAI,IAAI,KAAK,YAAY;QACvB,WAAW,CAAC,IAAI,CACd,iKAAiK,CAClK,CAAC;IACJ,IAAI,IAAI,KAAK,uBAAuB;QAClC,WAAW,CAAC,IAAI,CACd,+IAA+I,CAChJ,CAAC;IACJ,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAC7B,WAAW,CAAC,IAAI,CACd,4QAA4Q,CAC7Q,CAAC;IACJ,IAAI,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9C,WAAW,CAAC,IAAI,CACd,0MAA0M,CAC3M,CAAC;IACJ,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACnC,WAAW,CAAC,IAAI,CACd,mMAAmM,CACpM,CAAC;IACJ,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;QACrC,WAAW,CAAC,IAAI,CACd,sLAAsL,CACvL,CAAC;IACJ,IAAI,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;QAC1C,WAAW,CAAC,IAAI,CACd,8JAA8J,CAC/J,CAAC;IACJ,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC3B,WAAW,CAAC,IAAI,CACd,qHAAqH,CACtH,CAAC;IACJ,IAAI,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC;QACjD,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACnC,WAAW,CAAC,IAAI,CACd,meAAme,CACpe,CAAC;IACJ,IAAI,IAAI,KAAK,gBAAgB;QAC3B,WAAW,CAAC,IAAI,CACd,kgBAAkgB,CACngB,CAAC;IACJ,IACE;QACE,mBAAmB;QACnB,mBAAmB;QACnB,kBAAkB;QAClB,kBAAkB;KACnB,CAAC,QAAQ,CAAC,IAAI,CAAC;QAEhB,WAAW,CAAC,IAAI,CACd,yTAAyT,CAC1T,CAAC;IACJ,IACE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QACzB,CAAC,EAAE,MAAM,KAAK,KAAK;QACnB,IAAI,KAAK,2BAA2B;QAEpC,WAAW,CAAC,IAAI,CACd,+GAA+G,CAChH,CAAC;IACJ,IAAI,IAAI,KAAK,YAAY;QACvB,WAAW,CAAC,IAAI,CACd,qpBAAqpB,CACtpB,CAAC;IACJ,IAAI,IAAI,KAAK,qBAAqB;QAChC,WAAW,CAAC,IAAI,CACd,qEAAqE,EACrE,gFAAgF,CACjF,CAAC;IACJ,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,qBAAqB;QAChE,WAAW,CAAC,IAAI,CACd,oIAAoI,CACrI,CAAC;IACJ,IAAI,IAAI,KAAK,mBAAmB;QAC9B,WAAW,CAAC,IAAI,CACd,6EAA6E,CAC9E,CAAC;IACJ,IAAI,IAAI,KAAK,mBAAmB;QAC9B,WAAW,CAAC,IAAI,CACd,8EAA8E,CAC/E,CAAC;IACJ,IAAI,IAAI,KAAK,qBAAqB;QAChC,WAAW,CAAC,IAAI,CACd,gFAAgF,CACjF,CAAC;IACJ,IAAI,CAAC,EAAE,MAAM;QACX,WAAW,CAAC,IAAI,CACd,sFAAsF,CACvF,CAAC;IACJ,IAAI,GAAG;QACL,WAAW,CAAC,IAAI,CACd,gWAAgW,EAChW,wFAAwF,CACzF,CAAC;IACJ,IACE;QACE,0BAA0B;QAC1B,gCAAgC;QAChC,+BAA+B;QAC/B,4BAA4B;QAC5B,iCAAiC;QACjC,oBAAoB;KACrB,CAAC,QAAQ,CAAC,IAAI,CAAC;QAEhB,WAAW,CAAC,IAAI,CACd,sRAAsR,CACvR,CAAC;IACJ,MAAM,aAAa,GAA6B;QAC9C,aAAa,EAAE,CAAC,YAAY,CAAC;QAC7B,WAAW,EAAE,CAAC,MAAM,CAAC;QACrB,gBAAgB,EAAE,CAAC,yBAAyB,CAAC;QAC7C,gBAAgB,EAAE,CAAC,SAAS,CAAC;QAC7B,eAAe,EAAE,CAAC,SAAS,EAAE,0BAA0B,CAAC;QACxD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QACrC,aAAa,EAAE,CAAC,QAAQ,CAAC;QACzB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QACrC,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,gBAAgB,EAAE,CAAC,MAAM,CAAC;QAC1B,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9C,IAAI,IAAI,KAAK,gBAAgB;QAC3B,WAAW,CAAC,IAAI,CACd,gFAAgF,CACjF,CAAC;IACJ,IAAI,IAAI,KAAK,gBAAgB;QAC3B,WAAW,CAAC,IAAI,CACd,uIAAuI,CACxI,CAAC;IACJ,IAAI,IAAI,KAAK,YAAY;QACvB,WAAW,CAAC,IAAI,CACd,uMAAuM,CACxM,CAAC;IACJ,IAAI,IAAI,KAAK,aAAa;QACxB,WAAW,CAAC,IAAI,CACd,gOAAgO,CACjO,CAAC;IACJ,IAAI,IAAI,KAAK,mBAAmB;QAC9B,WAAW,CAAC,IAAI,CACd,oKAAoK,CACrK,CAAC;IACJ,IAAI,IAAI,KAAK,YAAY;QACvB,WAAW,CAAC,IAAI,CACd,mGAAmG,CACpG,CAAC;IACJ,IAAI,IAAI,KAAK,WAAW;QACtB,WAAW,CAAC,IAAI,CACd,8JAA8J,EAC9J,oFAAoF,CACrF,CAAC;IACJ,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACzD,IACE,KAAK;QACL,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAC3B,CAAC;YACC,SAAS;YACT,cAAc;YACd,gBAAgB;YAChB,mBAAmB;YACnB,0BAA0B;SAC3B,CAAC,QAAQ,CAAC,IAAI,CAAC;QAEhB,WAAW,CAAC,IAAI,CACd,iIAAiI,CAClI,CAAC;IACJ,IAAI,IAAI,KAAK,SAAS;QACpB,WAAW,CAAC,IAAI,CACd,ySAAyS,CAC1S,CAAC;IACJ,IAAI,IAAI,KAAK,aAAa;QACxB,WAAW,CAAC,IAAI,CACd,8OAA8O,CAC/O,CAAC;IACJ,IAAI,IAAI,KAAK,QAAQ;QACnB,WAAW,CAAC,IAAI,CACd,oQAAoQ,CACrQ,CAAC;IACJ,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5B,WAAW,CAAC,IAAI,CACd,oXAAoX,CACrX,CAAC;IACJ,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC;QACtD,CAAC,CAAC,IAAI,KAAK,QAAQ;YACjB,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;YACjD,CAAC,CAAC,IAAI,KAAK,aAAa;gBACtB,CAAC,CAAC;oBACE,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE;wBACR,SAAS;wBACT,OAAO;wBACP,OAAO;wBACP,QAAQ;wBACR,OAAO;wBACP,aAAa;wBACb,SAAS;qBACV;oBACD,UAAU,EAAE;wBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wBAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wBAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wBAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;wBAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;qBACtD;iBACF;gBACH,CAAC,CAAC,IAAI,KAAK,WAAW;oBACpB,CAAC,CAAC;wBACE,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE;4BACR,SAAS;4BACT,IAAI;4BACJ,OAAO;4BACP,QAAQ;4BACR,YAAY;4BACZ,QAAQ;4BACR,SAAS;yBACV;wBACD,UAAU,EAAE;4BACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC3B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC1B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC1B,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,iCAAiC;6BAC/C;yBACF;qBACF;oBACH,CAAC,CAAC,SAAS,CAAC;IACpB,OAAO;QACL,gBAAgB,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,YAAY,IAAI,EAAE;QAC3B,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE;QACtC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC;QAC7B,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;QACvB,cAAc,EACZ,IAAI,KAAK,aAAa;YACpB,CAAC,CAAC,qEAAqE;YACvE,CAAC,CAAC,GAAG;gBACH,CAAC,CAAC,uGAAuG;gBACzG,CAAC,CAAC,CAAC;oBACD,CAAC,CAAC,oDAAoD;oBACtD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;wBACxB,CAAC,CAAC,8CAA8C;wBAChD,CAAC,CAAC,IAAI,KAAK,gBAAgB;4BACvB,IAAI,KAAK,aAAa;4BACtB,IAAI,KAAK,QAAQ;4BACnB,CAAC,CAAC,oDAAoD;4BACtD,CAAC,CAAC,mBAAmB;QACjC,QAAQ;QACR,KAAK;QACL,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC;QACH,WAAW;QACX,KAAK,EAAE;YACL,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC;YAC9B,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;YAC5B,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC;SAC3B;QACD,MAAM,EACJ,UAAU;YACV,YAAY,CACV,CAAC;gBACC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC;gBAC1C,CAAC,CAAC,IAAI,KAAK,OAAO;oBAChB,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;oBACzB,CAAC,CAAC,IAAI,KAAK,gBAAgB;wBACzB,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;wBAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,EACtD,CAAC,GAAG;gBACF,CAAC,CAAE,CAAmB,CAAC,MAAM;oBAC3B,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAE,CAAmB,CAAC,OAAO;wBAC5B,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,UAAU;gBAChB,CAAC,CAAC,CAAC;oBACD,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK;wBAClB,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,UAAU;oBACd,CAAC,CAAC,OAAO,CAAoB,CAClC;QACH,eAAe,EAAE,cAAc,CAAC,IAAI,CAAC;QACrC,aAAa,EACX,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/D,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,UAAU;YACV,CAAC,CAAC;gBACA,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC;gBAC1C,CAAC,CAAC,IAAI,KAAK,OAAO;oBAChB,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;oBACzB,CAAC,CAAC,IAAI,KAAK,gBAAgB;wBACzB,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;wBAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;QACzD,OAAO,EACL,IAAI,KAAK,aAAa;YACpB,CAAC,CAAC;gBACE,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAClD,KAAK,EAAE,mCAAmC;aAC3C;YACH,CAAC,CAAC,IAAI,KAAK,WAAW;gBACpB,CAAC,CAAC;oBACE,IAAI,EAAE;wBACJ,UAAU;wBACV,MAAM;wBACN,MAAM;wBACN,iDAAiD;qBAClD;oBACD,KAAK,EACH,sEAAsE;iBACzE;gBACH,CAAC,CAAC,CAAC;oBACD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;oBAChB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,YAAY,IAAI,SAAS,EAAE;QAChE,QAAQ,EAAE;YACR,6HAA6H;YAC7H,0IAA0I;YAC1I,2CAA2C;SAC5C;KACF,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,iBAAiB,CAAC,IAAa,EAAE,IAAc;IAC7D,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,CACvD,CAAC;YACF,IAAI,CAAC,GAAG;gBAAE,MAAM;YAChB,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,CAAC,EAAE,CAAC;YAC9D,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK;YAAE,MAAM;QAClB,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AACD,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,GAAwB,OAAO,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AACD,MAAM,UAAU,QAAQ,CAAC,KAAe,EAAE,OAAgB,EAAE,IAAa;IACvE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG;QACb,UAAU;QACV,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO;YACjC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;gBAChC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC;gBAC7B,CAAC,CAAC,EAAE,CAAC;KACV,CAAC;IACF,MAAM,IAAI,GAAyC,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,IAAI,CAAC,IAAI,CAAC;QACR,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,EAAE,oDAAoD;KAC7D,CAAC,CAAC;IACL,IAAI,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;;QAErE,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;YAC3B,MAAM,EAAE,yCAAyC;SAClD,CAAC,CAAC;IACL,IACE,KAAK,CAAC,IAAI,KAAK,UAAU;QACzB,IAAI,KAAK,qBAAqB;QAC9B,CAAC,KAAK,CAAC,gBAAgB;QACvB,KAAK,CAAC,OAAO;QACb,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,aAAa,IAAI,KAAK,CAAC,OAAO;QAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,QAAQ,EAC7C,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IACE,MAAM;YACN,OAAO,MAAM,KAAK,QAAQ;YAC1B,UAAU,IAAI,MAAM;YACpB,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS;YAEpC,IAAI,CAAC,OAAO,CAAC;gBACX,IAAI,EAAE;oBACJ,GAAG,MAAM;oBACT,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,MAAM;oBACN,SAAS;oBACT,KAAK;oBACL,QAAQ;oBACR,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO;oBACxC,MAAM;oBACN,KAAK,CAAC,OAAO,CAAC,WAAW;iBAC1B;gBACD,MAAM,EACJ,yGAAyG;aAC5G,CAAC,CAAC;IACP,CAAC;IACD,IACE,IAAI,KAAK,qBAAqB;QAC9B,IAAI,CAAC,IAAI,KAAK,YAAY;QAC1B,KAAK,CAAC,OAAO;QACb,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,eAAe,IAAI,KAAK,CAAC,OAAO;QAChC,KAAK,CAAC,OAAO,CAAC,aAAa,KAAK,MAAM;QACtC,QAAQ,IAAI,KAAK,CAAC,OAAO;QACzB,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,GAAG,EAC5B,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC;QAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE;gBACJ,GAAG,MAAM;gBACT,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,QAAQ;gBACR,WAAW;gBACX,qBAAqB;gBACrB,QAAQ;gBACR,YAAY;gBACZ,QAAQ;aACT;YACD,MAAM,EACJ,kMAAkM;SACrM,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,KAAK;QACzD,IAAI,CAAC,IAAI,CACP,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACxC,CAAC,CAAC;gBACE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;gBAClC,MAAM,EACJ,sGAAsG;aACzG;YACH,CAAC,CAAC;gBACE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;gBAChE,MAAM,EACJ,2IAA2I;aAC9I,CACN,CAAC;SACC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;YAClC,MAAM,EACJ,8EAA8E;SACjF,CAAC,CAAC;IACL,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE;gBACJ,GAAG,MAAM;gBACT,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,KAAK;gBACL,KAAK;aACN;YACD,MAAM,EACJ,2LAA2L;SAC9L,CAAC,CAAC;IACL,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;QACjC,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC;YACtD,MAAM,EACJ,uEAAuE;SAC1E,CAAC,CAAC;IACL,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAC7B,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC;YAC9C,MAAM,EACJ,6FAA6F;SAChG,CAAC,CAAC;IACL,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB;QACnC,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,EACJ,0HAA0H;SAC7H,CAAC,CAAC;IACL,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;YACpC,MAAM,EAAE,8DAA8D;SACvE,CAAC,CAAC;IACL,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;QAC/B,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC;YAChD,MAAM,EACJ,mEAAmE;SACtE,CAAC,CAAC;IACL,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB;QACrC,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;YAC1D,MAAM,EACJ,iLAAiL;SACpL,CAAC,CAAC;IACL,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,OAAO;QACpD,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC;YAC3B,MAAM,EACJ,qFAAqF;SACxF,CAAC,CAAC;IACL,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;QACxE,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;YAC7C,MAAM,EACJ,yFAAyF;SAC5F,CAAC,CAAC;IACL,MAAM,SAAS,GACb,KAAK,CAAC,aAAa,KAAK,SAAS;QAC/B,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS;YACjC,KAAK,CAAC,aAAa,KAAK,cAAc;QACxC,CAAC,CAAC;YACE,WAAW;YACX,WAAW;YACX,eAAe;YACf,eAAe;YACf,OAAO;YACP,UAAU;YACV,YAAY;YACZ,YAAY;SACb,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YACtB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,UAAU;gBAC7B,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,QAAQ,GACZ,SAAS,IAAI,KAAK,CAAC,gBAAgB;QACjC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,QAAQ;QAAE,IAAI,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9C,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,SAAS;QAC1B,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,IAAI,EAAE,IAAI,CAAC,MAAM,CACf,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CACpB,GAAG,CAAC,SAAS,CACX,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CACrE,KAAK,KAAK,CACd;KACF,CAAC;AACJ,CAAC"}
|
package/dist/docs.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare function searchDocs(query: string, limitValue?: string, offsetValue?: string): {
|
|
2
|
+
next?: string[] | undefined;
|
|
3
|
+
version: string;
|
|
4
|
+
query: string;
|
|
5
|
+
total: number;
|
|
6
|
+
offset: number;
|
|
7
|
+
limit: number;
|
|
8
|
+
next_offset: number | null;
|
|
9
|
+
results: {
|
|
10
|
+
id: string;
|
|
11
|
+
title: string;
|
|
12
|
+
description: string;
|
|
13
|
+
excerpt: string;
|
|
14
|
+
source: string;
|
|
15
|
+
source_url: string;
|
|
16
|
+
match: {
|
|
17
|
+
type: "exact" | "expanded" | "partial";
|
|
18
|
+
terms: string[];
|
|
19
|
+
};
|
|
20
|
+
read: string[];
|
|
21
|
+
}[];
|
|
22
|
+
};
|
|
23
|
+
export declare function readDocs(id: string, baseUrl?: string, fetcher?: typeof fetch): Promise<{
|
|
24
|
+
version: string;
|
|
25
|
+
id: string;
|
|
26
|
+
title: string;
|
|
27
|
+
source: string;
|
|
28
|
+
source_url: string;
|
|
29
|
+
sha256: string;
|
|
30
|
+
content: string;
|
|
31
|
+
}>;
|
package/dist/docs.js
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { CliError } from "./core.js";
|
|
4
|
+
import { createSearchIndex } from "./search-engine.js";
|
|
5
|
+
import { VERSION } from "./version.js";
|
|
6
|
+
let cached;
|
|
7
|
+
function index() {
|
|
8
|
+
if (!cached) {
|
|
9
|
+
const loaded = JSON.parse(readFileSync(new URL("../references/docs-index.json", import.meta.url), "utf8"));
|
|
10
|
+
if (loaded.version !== VERSION || !Array.isArray(loaded.sections))
|
|
11
|
+
throw new CliError("E_DOCS_VERSION", "Installed docs index does not match this CLI version; reinstall the package", 8);
|
|
12
|
+
cached = loaded;
|
|
13
|
+
}
|
|
14
|
+
return cached;
|
|
15
|
+
}
|
|
16
|
+
function boundedLimit(value) {
|
|
17
|
+
const limit = Number(value ?? 10);
|
|
18
|
+
if (!Number.isInteger(limit) || limit < 1 || limit > 20)
|
|
19
|
+
throw new CliError("E_INPUT", "Docs search --limit must be an integer from 1 to 20", 2);
|
|
20
|
+
return limit;
|
|
21
|
+
}
|
|
22
|
+
export function searchDocs(query, limitValue, offsetValue) {
|
|
23
|
+
if (!query.trim() || query.length > 256)
|
|
24
|
+
throw new CliError("E_INPUT", "Docs search needs 1–256 query characters", 2);
|
|
25
|
+
const limit = boundedLimit(limitValue);
|
|
26
|
+
const offset = Number(offsetValue ?? 0);
|
|
27
|
+
if (!Number.isInteger(offset) || offset < 0)
|
|
28
|
+
throw new CliError("E_INPUT", "Docs search --offset must be a nonnegative integer", 2);
|
|
29
|
+
const catalog = index();
|
|
30
|
+
const search = createSearchIndex(catalog.sections
|
|
31
|
+
.filter((section) => section.searchable !== false)
|
|
32
|
+
.map((section) => ({
|
|
33
|
+
id: section.id,
|
|
34
|
+
title: section.title,
|
|
35
|
+
description: section.description,
|
|
36
|
+
intents: section.intents,
|
|
37
|
+
text: section.terms,
|
|
38
|
+
})));
|
|
39
|
+
const byId = new Map(catalog.sections.map((section) => [section.id, section]));
|
|
40
|
+
const hits = search.search(query, catalog.sections.length);
|
|
41
|
+
return {
|
|
42
|
+
version: catalog.version,
|
|
43
|
+
query,
|
|
44
|
+
total: hits.length,
|
|
45
|
+
offset,
|
|
46
|
+
limit,
|
|
47
|
+
next_offset: offset + limit < hits.length ? offset + limit : null,
|
|
48
|
+
results: hits.slice(offset, offset + limit).map((hit) => {
|
|
49
|
+
const section = byId.get(hit.document.id);
|
|
50
|
+
return {
|
|
51
|
+
id: section.id,
|
|
52
|
+
title: section.title,
|
|
53
|
+
description: section.description,
|
|
54
|
+
excerpt: section.excerpt,
|
|
55
|
+
source: section.source,
|
|
56
|
+
source_url: section.url,
|
|
57
|
+
match: { type: hit.match_type, terms: hit.matched_terms },
|
|
58
|
+
read: ["sendbird", "docs", "read", section.id],
|
|
59
|
+
};
|
|
60
|
+
}),
|
|
61
|
+
...(hits.length
|
|
62
|
+
? {}
|
|
63
|
+
: { next: ["sendbird", "commands", "--compact", "--search", query] }),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function docsBase(value) {
|
|
67
|
+
const input = value ?? process.env.SENDBIRD_DOCS_URL ?? "http://127.0.0.1:4173";
|
|
68
|
+
let url;
|
|
69
|
+
try {
|
|
70
|
+
url = new URL(input);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
throw new CliError("E_INPUT", "Docs --base-url must be a valid HTTPS URL or loopback HTTP URL", 2);
|
|
74
|
+
}
|
|
75
|
+
const loopback = ["127.0.0.1", "localhost", "[::1]"].includes(url.hostname);
|
|
76
|
+
if ((url.protocol !== "https:" && !(url.protocol === "http:" && loopback)) ||
|
|
77
|
+
url.username ||
|
|
78
|
+
url.password ||
|
|
79
|
+
url.search ||
|
|
80
|
+
url.hash)
|
|
81
|
+
throw new CliError("E_INPUT", "Docs --base-url must be HTTPS (loopback HTTP allowed), without credentials, query or fragment", 2);
|
|
82
|
+
return url.href.endsWith("/") ? url.href : url.href + "/";
|
|
83
|
+
}
|
|
84
|
+
export async function readDocs(id, baseUrl, fetcher = fetch) {
|
|
85
|
+
const catalog = index();
|
|
86
|
+
const section = catalog.sections.find((s) => s.id === id);
|
|
87
|
+
if (!section)
|
|
88
|
+
throw new CliError("E_DISCOVERY", "Unknown docs section ID; run sendbird docs search WORDS", 2);
|
|
89
|
+
const base = docsBase(baseUrl);
|
|
90
|
+
const url = new URL(section.path.slice(1), base);
|
|
91
|
+
let response;
|
|
92
|
+
try {
|
|
93
|
+
response = await fetcher(url, { signal: AbortSignal.timeout(5000) });
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
throw new CliError("E_DOCS_UNAVAILABLE", "Docs server unavailable. In a source checkout run npm run docs -- --no-open, or pass --base-url to a hosted docs build", 7);
|
|
97
|
+
}
|
|
98
|
+
if (!response.ok)
|
|
99
|
+
throw new CliError("E_DOCS_UNAVAILABLE", `Docs section unavailable (HTTP ${response.status}). Rebuild/restart the docs server or set --base-url to a matching docs build`, 7);
|
|
100
|
+
if (Number(response.headers.get("content-length") ?? 0) > 24_000)
|
|
101
|
+
throw new CliError("E_DOCS_SIZE", "Docs section exceeds the 24 KB response limit", 8);
|
|
102
|
+
const reader = response.body?.getReader();
|
|
103
|
+
if (!reader)
|
|
104
|
+
throw new CliError("E_DOCS_UNAVAILABLE", "Docs server returned no section body", 7);
|
|
105
|
+
const chunks = [];
|
|
106
|
+
let size = 0;
|
|
107
|
+
try {
|
|
108
|
+
while (true) {
|
|
109
|
+
const part = await reader.read();
|
|
110
|
+
if (part.done)
|
|
111
|
+
break;
|
|
112
|
+
size += part.value.byteLength;
|
|
113
|
+
if (size > 24_000) {
|
|
114
|
+
await reader.cancel();
|
|
115
|
+
throw new CliError("E_DOCS_SIZE", "Docs section exceeds the 24 KB response limit", 8);
|
|
116
|
+
}
|
|
117
|
+
chunks.push(part.value);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
if (error instanceof CliError)
|
|
122
|
+
throw error;
|
|
123
|
+
throw new CliError("E_DOCS_UNAVAILABLE", "Docs stream interrupted; retry after checking the docs server", 7);
|
|
124
|
+
}
|
|
125
|
+
const content = Buffer.concat(chunks).toString("utf8");
|
|
126
|
+
const digest = createHash("sha256").update(content).digest("hex");
|
|
127
|
+
if (digest !== section.sha256 || size !== section.bytes)
|
|
128
|
+
throw new CliError("E_DOCS_VERSION", "Docs content does not match the installed CLI index; use a docs build for this CLI version", 8);
|
|
129
|
+
return {
|
|
130
|
+
version: catalog.version,
|
|
131
|
+
id: section.id,
|
|
132
|
+
title: section.title,
|
|
133
|
+
source: section.source,
|
|
134
|
+
source_url: new URL(section.url.slice(1), base).href,
|
|
135
|
+
sha256: digest,
|
|
136
|
+
content,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=docs.js.map
|
package/dist/docs.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/** Dashboard Features API contract. Keep entitlement, activation and runtime distinct. */
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { type Request, type Transport } from "./core.js";
|
|
4
|
+
import type { Definition } from "./catalog.js";
|
|
5
|
+
export declare const featureKeys: readonly ["auto_thumbnail", "translation_tools", "image_moderation", "moderation_tools", "delivery_receipt", "announcement", "supergroup", "advanced_analytics", "message_search", "domain_filter", "profanity_filter", "webhook", "poll", "hive_integration", "moderator_messages", "advanced_profanity_filter"];
|
|
6
|
+
export declare const featureName: z.ZodEnum<{
|
|
7
|
+
supergroup: "supergroup";
|
|
8
|
+
announcement: "announcement";
|
|
9
|
+
profanity_filter: "profanity_filter";
|
|
10
|
+
image_moderation: "image_moderation";
|
|
11
|
+
webhook: "webhook";
|
|
12
|
+
auto_thumbnail: "auto_thumbnail";
|
|
13
|
+
translation_tools: "translation_tools";
|
|
14
|
+
moderation_tools: "moderation_tools";
|
|
15
|
+
delivery_receipt: "delivery_receipt";
|
|
16
|
+
advanced_analytics: "advanced_analytics";
|
|
17
|
+
message_search: "message_search";
|
|
18
|
+
domain_filter: "domain_filter";
|
|
19
|
+
poll: "poll";
|
|
20
|
+
hive_integration: "hive_integration";
|
|
21
|
+
moderator_messages: "moderator_messages";
|
|
22
|
+
advanced_profanity_filter: "advanced_profanity_filter";
|
|
23
|
+
}>;
|
|
24
|
+
export declare const featureSnapshotSchema: z.ZodObject<{
|
|
25
|
+
[x: string]: z.ZodOptional<z.ZodBoolean>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export declare const featureListSchema: z.ZodObject<{
|
|
28
|
+
features: z.ZodArray<z.ZodObject<{
|
|
29
|
+
feature: z.ZodEnum<{
|
|
30
|
+
supergroup: "supergroup";
|
|
31
|
+
announcement: "announcement";
|
|
32
|
+
profanity_filter: "profanity_filter";
|
|
33
|
+
image_moderation: "image_moderation";
|
|
34
|
+
webhook: "webhook";
|
|
35
|
+
auto_thumbnail: "auto_thumbnail";
|
|
36
|
+
translation_tools: "translation_tools";
|
|
37
|
+
moderation_tools: "moderation_tools";
|
|
38
|
+
delivery_receipt: "delivery_receipt";
|
|
39
|
+
advanced_analytics: "advanced_analytics";
|
|
40
|
+
message_search: "message_search";
|
|
41
|
+
domain_filter: "domain_filter";
|
|
42
|
+
poll: "poll";
|
|
43
|
+
hive_integration: "hive_integration";
|
|
44
|
+
moderator_messages: "moderator_messages";
|
|
45
|
+
advanced_profanity_filter: "advanced_profanity_filter";
|
|
46
|
+
}>;
|
|
47
|
+
enabled: z.ZodNullable<z.ZodBoolean>;
|
|
48
|
+
}, z.core.$strip>>;
|
|
49
|
+
runtime_verified: z.ZodLiteral<false>;
|
|
50
|
+
note: z.ZodString;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
export declare const featureSetSchema: z.ZodObject<{
|
|
53
|
+
feature: z.ZodEnum<{
|
|
54
|
+
supergroup: "supergroup";
|
|
55
|
+
announcement: "announcement";
|
|
56
|
+
profanity_filter: "profanity_filter";
|
|
57
|
+
image_moderation: "image_moderation";
|
|
58
|
+
webhook: "webhook";
|
|
59
|
+
auto_thumbnail: "auto_thumbnail";
|
|
60
|
+
translation_tools: "translation_tools";
|
|
61
|
+
moderation_tools: "moderation_tools";
|
|
62
|
+
delivery_receipt: "delivery_receipt";
|
|
63
|
+
advanced_analytics: "advanced_analytics";
|
|
64
|
+
message_search: "message_search";
|
|
65
|
+
domain_filter: "domain_filter";
|
|
66
|
+
poll: "poll";
|
|
67
|
+
hive_integration: "hive_integration";
|
|
68
|
+
moderator_messages: "moderator_messages";
|
|
69
|
+
advanced_profanity_filter: "advanced_profanity_filter";
|
|
70
|
+
}>;
|
|
71
|
+
requested_enabled: z.ZodBoolean;
|
|
72
|
+
acknowledgement: z.ZodArray<z.ZodObject<{
|
|
73
|
+
feature: z.ZodEnum<{
|
|
74
|
+
supergroup: "supergroup";
|
|
75
|
+
announcement: "announcement";
|
|
76
|
+
profanity_filter: "profanity_filter";
|
|
77
|
+
image_moderation: "image_moderation";
|
|
78
|
+
webhook: "webhook";
|
|
79
|
+
auto_thumbnail: "auto_thumbnail";
|
|
80
|
+
translation_tools: "translation_tools";
|
|
81
|
+
moderation_tools: "moderation_tools";
|
|
82
|
+
delivery_receipt: "delivery_receipt";
|
|
83
|
+
advanced_analytics: "advanced_analytics";
|
|
84
|
+
message_search: "message_search";
|
|
85
|
+
domain_filter: "domain_filter";
|
|
86
|
+
poll: "poll";
|
|
87
|
+
hive_integration: "hive_integration";
|
|
88
|
+
moderator_messages: "moderator_messages";
|
|
89
|
+
advanced_profanity_filter: "advanced_profanity_filter";
|
|
90
|
+
}>;
|
|
91
|
+
enabled: z.ZodNullable<z.ZodBoolean>;
|
|
92
|
+
}, z.core.$strip>>;
|
|
93
|
+
readback: z.ZodObject<{
|
|
94
|
+
status: z.ZodEnum<{
|
|
95
|
+
matches: "matches";
|
|
96
|
+
mismatch: "mismatch";
|
|
97
|
+
unavailable: "unavailable";
|
|
98
|
+
}>;
|
|
99
|
+
features: z.ZodArray<z.ZodObject<{
|
|
100
|
+
feature: z.ZodEnum<{
|
|
101
|
+
supergroup: "supergroup";
|
|
102
|
+
announcement: "announcement";
|
|
103
|
+
profanity_filter: "profanity_filter";
|
|
104
|
+
image_moderation: "image_moderation";
|
|
105
|
+
webhook: "webhook";
|
|
106
|
+
auto_thumbnail: "auto_thumbnail";
|
|
107
|
+
translation_tools: "translation_tools";
|
|
108
|
+
moderation_tools: "moderation_tools";
|
|
109
|
+
delivery_receipt: "delivery_receipt";
|
|
110
|
+
advanced_analytics: "advanced_analytics";
|
|
111
|
+
message_search: "message_search";
|
|
112
|
+
domain_filter: "domain_filter";
|
|
113
|
+
poll: "poll";
|
|
114
|
+
hive_integration: "hive_integration";
|
|
115
|
+
moderator_messages: "moderator_messages";
|
|
116
|
+
advanced_profanity_filter: "advanced_profanity_filter";
|
|
117
|
+
}>;
|
|
118
|
+
enabled: z.ZodNullable<z.ZodBoolean>;
|
|
119
|
+
}, z.core.$strip>>;
|
|
120
|
+
next: z.ZodArray<z.ZodObject<{
|
|
121
|
+
argv: z.ZodArray<z.ZodString>;
|
|
122
|
+
reason: z.ZodString;
|
|
123
|
+
}, z.core.$strip>>;
|
|
124
|
+
}, z.core.$strip>;
|
|
125
|
+
runtime_verified: z.ZodLiteral<false>;
|
|
126
|
+
note: z.ZodString;
|
|
127
|
+
}, z.core.$strip>;
|
|
128
|
+
export declare const featureDefinitions: Definition[];
|
|
129
|
+
export declare function featureBody(d: Definition, body: Record<string, unknown> | undefined): Record<string, unknown> | undefined;
|
|
130
|
+
export declare function beforeFeatures(d: Definition, r: Request, t: Transport, orgId?: string, onPipelineRequest?: () => void): Promise<void>;
|
|
131
|
+
export declare function featuresResult(d: Definition, r: Request, t: Transport, value: unknown, prefix: string[]): Promise<unknown>;
|
package/dist/features.js
ADDED
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/** Dashboard Features API contract. Keep entitlement, activation and runtime distinct. */
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { CliError, request, encodeSegment, } from "./core.js";
|
|
4
|
+
// Gate application_feature_util.FEATURE_KEYS_LIST, excluding Data Export by product decision.
|
|
5
|
+
// Desk and AI Engine use different APIs and must never be accepted as silent no-ops here.
|
|
6
|
+
export const featureKeys = [
|
|
7
|
+
"auto_thumbnail",
|
|
8
|
+
"translation_tools",
|
|
9
|
+
"image_moderation",
|
|
10
|
+
"moderation_tools",
|
|
11
|
+
"delivery_receipt",
|
|
12
|
+
"announcement",
|
|
13
|
+
"supergroup",
|
|
14
|
+
"advanced_analytics",
|
|
15
|
+
"message_search",
|
|
16
|
+
"domain_filter",
|
|
17
|
+
"profanity_filter",
|
|
18
|
+
"webhook",
|
|
19
|
+
"poll",
|
|
20
|
+
"hive_integration",
|
|
21
|
+
"moderator_messages",
|
|
22
|
+
"advanced_profanity_filter",
|
|
23
|
+
];
|
|
24
|
+
export const featureName = z.enum(featureKeys);
|
|
25
|
+
export const featureSnapshotSchema = z
|
|
26
|
+
.object(Object.fromEntries(featureKeys.map((k) => [k, z.boolean().optional()])))
|
|
27
|
+
.strip()
|
|
28
|
+
.refine((v) => Object.keys(v).length > 0, "Missing feature flags");
|
|
29
|
+
const item = z.object({
|
|
30
|
+
feature: featureName,
|
|
31
|
+
enabled: z.boolean().nullable(),
|
|
32
|
+
});
|
|
33
|
+
export const featureListSchema = z.object({
|
|
34
|
+
features: z.array(item),
|
|
35
|
+
runtime_verified: z.literal(false),
|
|
36
|
+
note: z.string(),
|
|
37
|
+
});
|
|
38
|
+
export const featureSetSchema = z.object({
|
|
39
|
+
feature: featureName,
|
|
40
|
+
requested_enabled: z.boolean(),
|
|
41
|
+
acknowledgement: z.array(item),
|
|
42
|
+
readback: z.object({
|
|
43
|
+
status: z.enum(["matches", "mismatch", "unavailable"]),
|
|
44
|
+
features: z.array(item),
|
|
45
|
+
next: z.array(z.object({ argv: z.array(z.string()), reason: z.string() })),
|
|
46
|
+
}),
|
|
47
|
+
runtime_verified: z.literal(false),
|
|
48
|
+
note: z.string(),
|
|
49
|
+
});
|
|
50
|
+
const rows = (v) => featureKeys.map((feature) => ({
|
|
51
|
+
feature,
|
|
52
|
+
enabled: typeof v[feature] === "boolean" ? v[feature] : null,
|
|
53
|
+
}));
|
|
54
|
+
export const featureDefinitions = [
|
|
55
|
+
{
|
|
56
|
+
name: "app feature list",
|
|
57
|
+
description: "List app feature activation snapshots (not subscription entitlement or runtime verification)",
|
|
58
|
+
method: "GET",
|
|
59
|
+
path: "/dashboard_api/applications/{appId}/enabled_features/",
|
|
60
|
+
scope: "app",
|
|
61
|
+
response: featureSnapshotSchema,
|
|
62
|
+
resultSchema: featureListSchema,
|
|
63
|
+
source: ["app/core/api/application.ts", "fetchEnabledFeatures"],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "app feature set",
|
|
67
|
+
description: "Enable or disable one app feature under Dashboard subscription policy; requires --yes",
|
|
68
|
+
method: "PUT",
|
|
69
|
+
path: "/dashboard_api/applications/{appId}/enabled_features/",
|
|
70
|
+
scope: "app",
|
|
71
|
+
body: z.object({ feature: featureName, enabled: z.boolean() }).strict(),
|
|
72
|
+
response: featureSnapshotSchema,
|
|
73
|
+
resultSchema: featureSetSchema,
|
|
74
|
+
danger: true,
|
|
75
|
+
source: ["app/core/api/application.ts", "updateEnabledFeatures"],
|
|
76
|
+
example: { feature: "poll", enabled: true },
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
export function featureBody(d, body) {
|
|
80
|
+
if (d.name !== "app feature set")
|
|
81
|
+
return body;
|
|
82
|
+
return {
|
|
83
|
+
[String(body.feature)]: body.enabled,
|
|
84
|
+
...(body.feature === "advanced_profanity_filter" && body.enabled === true
|
|
85
|
+
? { profanity_filter: false }
|
|
86
|
+
: {}),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
const obj = (v) => v && typeof v === "object" && !Array.isArray(v)
|
|
90
|
+
? v
|
|
91
|
+
: {};
|
|
92
|
+
const fail = (message) => {
|
|
93
|
+
throw new CliError("E_POLICY", message, 5);
|
|
94
|
+
};
|
|
95
|
+
export async function beforeFeatures(d, r, t, orgId, onPipelineRequest) {
|
|
96
|
+
if (d.name !== "app feature set")
|
|
97
|
+
return;
|
|
98
|
+
// Subscription endpoints are account-scoped. Bind the authenticated organization first.
|
|
99
|
+
const who = obj(await request(t, { method: "GET", path: "/dashboard/auth/verify2/" }));
|
|
100
|
+
const organizations = Array.isArray(who.organizations)
|
|
101
|
+
? who.organizations.map(obj)
|
|
102
|
+
: [];
|
|
103
|
+
const sole = typeof obj(who.organization).uid === "string"
|
|
104
|
+
? obj(who.organization).uid
|
|
105
|
+
: organizations.length === 1
|
|
106
|
+
? organizations[0].uid
|
|
107
|
+
: null;
|
|
108
|
+
if (!orgId || sole !== orgId)
|
|
109
|
+
throw new CliError("E_CONTEXT", "Bind the selected app to the authenticated organization before changing features", 5);
|
|
110
|
+
// The pipeline status GET below can reset failed state. Check the write ACL
|
|
111
|
+
// before reaching it, so a view-only user cannot trigger that side effect.
|
|
112
|
+
const permissions = obj(who.role).permissions;
|
|
113
|
+
if (!Array.isArray(permissions) ||
|
|
114
|
+
!permissions.includes("application.settings.all"))
|
|
115
|
+
throw new CliError("E_PERMISSION", "Feature changes require application.settings.all; no feature change sent", 5);
|
|
116
|
+
const org = obj(await request(t, {
|
|
117
|
+
method: "GET",
|
|
118
|
+
path: `/dashboard_api/organizations/${encodeSegment(orgId)}/`,
|
|
119
|
+
}));
|
|
120
|
+
if (org.uid !== orgId)
|
|
121
|
+
throw new CliError("E_CONTEXT", "Organization identity mismatch; no feature change sent", 5);
|
|
122
|
+
if (org.status !== "ACTIVE" || org.is_self_serve !== true)
|
|
123
|
+
fail("Feature toggles require an active self-service organization, as in Dashboard");
|
|
124
|
+
const sub = obj(await request(t, {
|
|
125
|
+
method: "GET",
|
|
126
|
+
path: "/dashboard_api/billing/subscriptions/info/",
|
|
127
|
+
query: { product: "CHAT" },
|
|
128
|
+
}));
|
|
129
|
+
const subscription = obj(sub.current_subscription), plan = obj(subscription.plan);
|
|
130
|
+
if (!subscription.subscription_name || !Object.keys(plan).length)
|
|
131
|
+
fail("Current Chat subscription is unknown; no feature change sent");
|
|
132
|
+
const feature = Object.keys(r.body)[0];
|
|
133
|
+
const enabled = r.body[feature];
|
|
134
|
+
const keys = feature === "message_search"
|
|
135
|
+
? ["message_search_index", "message_search_query"]
|
|
136
|
+
: [feature];
|
|
137
|
+
if (enabled === true && !keys.every((k) => obj(plan[k]).enabled === true))
|
|
138
|
+
fail("Feature is not enabled by the current Chat subscription; review the plan in Dashboard");
|
|
139
|
+
const parsedCurrent = featureSnapshotSchema.safeParse(await request(t, { method: "GET", path: r.path, appId: r.appId }));
|
|
140
|
+
if (!parsedCurrent.success)
|
|
141
|
+
throw new CliError("E_SCHEMA", "Feature snapshot response changed; no feature change sent", 8);
|
|
142
|
+
const current = parsedCurrent.data;
|
|
143
|
+
if (feature === "profanity_filter" &&
|
|
144
|
+
current.advanced_profanity_filter === true)
|
|
145
|
+
fail("Dashboard locks the basic profanity filter while the advanced filter is enabled; disable the advanced filter in a separate confirmed operation first");
|
|
146
|
+
if (feature === "message_search") {
|
|
147
|
+
const app = obj(await request(t, {
|
|
148
|
+
method: "GET",
|
|
149
|
+
path: `/dashboard/applications/${encodeSegment(r.appId)}/get_detail/`,
|
|
150
|
+
}));
|
|
151
|
+
if (app.app_id !== r.appId ||
|
|
152
|
+
(app.is_delight_region !== undefined &&
|
|
153
|
+
typeof app.is_delight_region !== "boolean") ||
|
|
154
|
+
typeof app.region !== "string")
|
|
155
|
+
fail("Message Search region identity is unknown; no feature change sent");
|
|
156
|
+
const regions = obj(app.is_delight_region ? org.delight_regions : org.regions);
|
|
157
|
+
if (obj(obj(regions[String(app.region)]).features).message_search !== true)
|
|
158
|
+
fail("Message Search is not available in the app's selected region");
|
|
159
|
+
// Gate's status GET may reset a failed non-live pipeline. Only call as part of
|
|
160
|
+
// this explicitly confirmed change; never from list, doctor, or dry-run.
|
|
161
|
+
onPipelineRequest?.();
|
|
162
|
+
const pipelineResponse = await request(t, {
|
|
163
|
+
method: "GET",
|
|
164
|
+
path: "/message_search_api/migration_pipeline/",
|
|
165
|
+
appId: r.appId,
|
|
166
|
+
allowNull: true,
|
|
167
|
+
});
|
|
168
|
+
if (pipelineResponse === null && current.message_search === false)
|
|
169
|
+
return; // Dashboard initial pipeline state.
|
|
170
|
+
const pipeline = obj(pipelineResponse);
|
|
171
|
+
if (String(pipeline.app_uuid).toLowerCase() !== r.appId.toLowerCase() ||
|
|
172
|
+
typeof pipeline.is_live !== "boolean" ||
|
|
173
|
+
!["SCHEDULED", "EXECUTING", "MIGRATION_ERRORED", "STOPPED"].includes(String(pipeline.migration_status)) ||
|
|
174
|
+
!["SUBSCRIBED", "UNSUBSCRIBED"].includes(String(pipeline.subscription_status)))
|
|
175
|
+
fail("Message Search pipeline state is unknown; inspect Dashboard before changing it");
|
|
176
|
+
if ((!pipeline.is_live &&
|
|
177
|
+
["SCHEDULED", "EXECUTING"].includes(String(pipeline.migration_status))) ||
|
|
178
|
+
(pipeline.subscription_status === "UNSUBSCRIBED" &&
|
|
179
|
+
pipeline.migration_status !== "STOPPED"))
|
|
180
|
+
fail("Message Search is transitioning; wait for Dashboard migration to finish before another change");
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
export async function featuresResult(d, r, t, value, prefix) {
|
|
184
|
+
if (!d.name.startsWith("app feature "))
|
|
185
|
+
return value;
|
|
186
|
+
const snapshot = value;
|
|
187
|
+
if (d.method === "GET")
|
|
188
|
+
return {
|
|
189
|
+
features: rows(snapshot),
|
|
190
|
+
runtime_verified: false,
|
|
191
|
+
note: "App activation snapshot only. null means not reported. This does not establish entitlement, SDK availability, or Message Search readiness. Data Export is excluded.",
|
|
192
|
+
};
|
|
193
|
+
const feature = Object.keys(r.body)[0], requested = r.body[feature];
|
|
194
|
+
let status = "unavailable", observed = [];
|
|
195
|
+
try {
|
|
196
|
+
const read = featureSnapshotSchema.safeParse(await request(t, { method: "GET", path: r.path, appId: r.appId }));
|
|
197
|
+
if (read.success) {
|
|
198
|
+
observed = rows(read.data);
|
|
199
|
+
status = Object.keys(r.body).some((k) => typeof read.data[k] !== "boolean")
|
|
200
|
+
? "unavailable"
|
|
201
|
+
: Object.entries(r.body).every(([k, v]) => read.data[k] === v)
|
|
202
|
+
? "matches"
|
|
203
|
+
: "mismatch";
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
/* Preserve the write acknowledgement; never replay after failed readback. */
|
|
208
|
+
}
|
|
209
|
+
return {
|
|
210
|
+
feature,
|
|
211
|
+
requested_enabled: requested,
|
|
212
|
+
acknowledgement: rows(snapshot),
|
|
213
|
+
readback: {
|
|
214
|
+
status,
|
|
215
|
+
features: observed,
|
|
216
|
+
next: [
|
|
217
|
+
{
|
|
218
|
+
argv: [...prefix, "app", "feature", "list", "--json"],
|
|
219
|
+
reason: "Read current settings before another change; do not repeat the write blindly.",
|
|
220
|
+
},
|
|
221
|
+
],
|
|
222
|
+
},
|
|
223
|
+
runtime_verified: false,
|
|
224
|
+
note: "Write acknowledged; inspect readback. Activation may affect usage charges under the existing plan. No subscription was purchased or changed. Runtime and search index readiness are not verified.",
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=features.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,QAAQ,EACR,OAAO,EACP,aAAa,GAGd,MAAM,WAAW,CAAC;AAGnB,8FAA8F;AAC9F,0FAA0F;AAC1F,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,YAAY;IACZ,oBAAoB;IACpB,gBAAgB;IAChB,eAAe;IACf,kBAAkB;IAClB,SAAS;IACT,MAAM;IACN,kBAAkB;IAClB,oBAAoB;IACpB,2BAA2B;CACnB,CAAC;AACX,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CACL,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CACxE;KACA,KAAK,EAAE;KACP,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,uBAAuB,CAAC,CAAC;AACrE,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACvB,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,WAAW;IACpB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC9B,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACtD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KAC3E,CAAC;IACF,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AACH,MAAM,IAAI,GAAG,CAAC,CAA0B,EAAE,EAAE,CAC1C,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5B,OAAO;IACP,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,OAAO,CAAa,CAAC,CAAC,CAAC,IAAI;CAC1E,CAAC,CAAC,CAAC;AACN,MAAM,CAAC,MAAM,kBAAkB,GAAiB;IAC9C;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,8FAA8F;QAChG,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,uDAAuD;QAC7D,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,qBAAqB;QAC/B,YAAY,EAAE,iBAAiB;QAC/B,MAAM,EAAE,CAAC,6BAA6B,EAAE,sBAAsB,CAAC;KAChE;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,uFAAuF;QACzF,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,uDAAuD;QAC7D,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACvE,QAAQ,EAAE,qBAAqB;QAC/B,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,6BAA6B,EAAE,uBAAuB,CAAC;QAChE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;KAC5C;CACF,CAAC;AACF,MAAM,UAAU,WAAW,CACzB,CAAa,EACb,IAAyC;IAEzC,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO;QACL,CAAC,MAAM,CAAC,IAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAK,CAAC,OAAO;QACtC,GAAG,CAAC,IAAK,CAAC,OAAO,KAAK,2BAA2B,IAAI,IAAK,CAAC,OAAO,KAAK,IAAI;YACzE,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE;YAC7B,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AACD,MAAM,GAAG,GAAG,CAAC,CAAU,EAA2B,EAAE,CAClD,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAE,CAA6B;IAChC,CAAC,CAAC,EAAE,CAAC;AACT,MAAM,IAAI,GAAG,CAAC,OAAe,EAAS,EAAE;IACtC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC;AACF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,CAAa,EACb,CAAU,EACV,CAAY,EACZ,KAAc,EACd,iBAA8B;IAE9B,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB;QAAE,OAAO;IACzC,wFAAwF;IACxF,MAAM,GAAG,GAAG,GAAG,CACb,MAAM,OAAO,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CACtE,CAAC;IACF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QACpD,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5B,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,GACR,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,KAAK,QAAQ;QAC3C,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG;QAC3B,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;YAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG;YACtB,CAAC,CAAC,IAAI,CAAC;IACb,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,KAAK;QAC1B,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,kFAAkF,EAClF,CAAC,CACF,CAAC;IACJ,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;IAC9C,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAC3B,CAAC,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAEjD,MAAM,IAAI,QAAQ,CAChB,cAAc,EACd,0EAA0E,EAC1E,CAAC,CACF,CAAC;IACJ,MAAM,GAAG,GAAG,GAAG,CACb,MAAM,OAAO,CAAC,CAAC,EAAE;QACf,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,gCAAgC,aAAa,CAAC,KAAK,CAAC,GAAG;KAC9D,CAAC,CACH,CAAC;IACF,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK;QACnB,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,wDAAwD,EACxD,CAAC,CACF,CAAC;IACJ,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI;QACvD,IAAI,CACF,8EAA8E,CAC/E,CAAC;IACJ,MAAM,GAAG,GAAG,GAAG,CACb,MAAM,OAAO,CAAC,CAAC,EAAE;QACf,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,4CAA4C;QAClD,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;KAC3B,CAAC,CACH,CAAC;IACF,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAChD,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,YAAY,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;QAC9D,IAAI,CAAC,8DAA8D,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAK,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,IAAI,GACR,OAAO,KAAK,gBAAgB;QAC1B,CAAC,CAAC,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;QAClD,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAChB,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;QACvE,IAAI,CACF,uFAAuF,CACxF,CAAC;IACJ,MAAM,aAAa,GAAG,qBAAqB,CAAC,SAAS,CACnD,MAAM,OAAO,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAClE,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,OAAO;QACxB,MAAM,IAAI,QAAQ,CAChB,UAAU,EACV,2DAA2D,EAC3D,CAAC,CACF,CAAC;IACJ,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;IACnC,IACE,OAAO,KAAK,kBAAkB;QAC9B,OAAO,CAAC,yBAAyB,KAAK,IAAI;QAE1C,IAAI,CACF,sJAAsJ,CACvJ,CAAC;IACJ,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,GAAG,CACb,MAAM,OAAO,CAAC,CAAC,EAAE;YACf,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,2BAA2B,aAAa,CAAC,CAAC,CAAC,KAAM,CAAC,cAAc;SACvE,CAAC,CACH,CAAC;QACF,IACE,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK;YACtB,CAAC,GAAG,CAAC,iBAAiB,KAAK,SAAS;gBAClC,OAAO,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC;YAC7C,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAE9B,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,GAAG,CACjB,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAC1D,CAAC;QACF,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,KAAK,IAAI;YACxE,IAAI,CAAC,8DAA8D,CAAC,CAAC;QACvE,+EAA+E;QAC/E,yEAAyE;QACzE,iBAAiB,EAAE,EAAE,CAAC;QACtB,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE;YACxC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yCAAyC;YAC/C,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,gBAAgB,KAAK,IAAI,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK;YAAE,OAAO,CAAC,oCAAoC;QAC/G,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACvC,IACE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,KAAM,CAAC,WAAW,EAAE;YAClE,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS;YACrC,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC,QAAQ,CAClE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAClC;YACD,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,QAAQ,CACtC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CACrC;YAED,IAAI,CACF,gFAAgF,CACjF,CAAC;QACJ,IACE,CAAC,CAAC,QAAQ,CAAC,OAAO;YAChB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CACjC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAClC,CAAC;YACJ,CAAC,QAAQ,CAAC,mBAAmB,KAAK,cAAc;gBAC9C,QAAQ,CAAC,gBAAgB,KAAK,SAAS,CAAC;YAE1C,IAAI,CACF,+FAA+F,CAChG,CAAC;IACN,CAAC;AACH,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,CAAa,EACb,CAAU,EACV,CAAY,EACZ,KAAc,EACd,MAAgB;IAEhB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,QAAQ,GAAG,KAAgC,CAAC;IAClD,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK;QACpB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;YACxB,gBAAgB,EAAE,KAAK;YACvB,IAAI,EAAE,qKAAqK;SAC5K,CAAC;IACJ,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,EACrC,SAAS,GAAG,CAAC,CAAC,IAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,MAAM,GAA2C,aAAa,EAChE,QAAQ,GAA4B,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAC1C,MAAM,OAAO,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAClE,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CACzC;gBACC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC7D,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,UAAU,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;IAC/E,CAAC;IACD,OAAO;QACL,OAAO;QACP,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC;QAC/B,QAAQ,EAAE;YACR,MAAM;YACN,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC;oBACrD,MAAM,EACJ,+EAA+E;iBAClF;aACF;SACF;QACD,gBAAgB,EAAE,KAAK;QACvB,IAAI,EAAE,mMAAmM;KAC1M,CAAC;AACJ,CAAC"}
|