mcp-lab-agent 2.0.1 → 2.1.2
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/README.md +19 -12
- package/dist/index.js +1189 -481
- package/dist/index.js.map +1 -1
- package/package.json +5 -2
- package/qa-lab-agent.config.json +12 -0
- package/slack-bot/.env +10 -0
- package/slack-bot/.env.example +10 -0
- package/slack-bot/README.md +66 -0
- package/slack-bot/node_modules/.package-lock.json +2782 -0
- package/slack-bot/node_modules/@slack/bolt/LICENSE +22 -0
- package/slack-bot/node_modules/@slack/bolt/README.md +142 -0
- package/slack-bot/node_modules/@slack/bolt/dist/App.d.ts +241 -0
- package/slack-bot/node_modules/@slack/bolt/dist/App.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/App.js +949 -0
- package/slack-bot/node_modules/@slack/bolt/dist/App.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/CustomFunction.d.ts +64 -0
- package/slack-bot/node_modules/@slack/bolt/dist/CustomFunction.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/CustomFunction.js +140 -0
- package/slack-bot/node_modules/@slack/bolt/dist/CustomFunction.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/WorkflowStep.d.ts +107 -0
- package/slack-bot/node_modules/@slack/bolt/dist/WorkflowStep.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/WorkflowStep.js +196 -0
- package/slack-bot/node_modules/@slack/bolt/dist/WorkflowStep.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/conversation-store.d.ts +31 -0
- package/slack-bot/node_modules/@slack/bolt/dist/conversation-store.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/conversation-store.js +71 -0
- package/slack-bot/node_modules/@slack/bolt/dist/conversation-store.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/errors.d.ts +92 -0
- package/slack-bot/node_modules/@slack/bolt/dist/errors.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/errors.js +149 -0
- package/slack-bot/node_modules/@slack/bolt/dist/errors.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/helpers.d.ts +38 -0
- package/slack-bot/node_modules/@slack/bolt/dist/helpers.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/helpers.js +139 -0
- package/slack-bot/node_modules/@slack/bolt/dist/helpers.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/index.d.ts +19 -0
- package/slack-bot/node_modules/@slack/bolt/dist/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/index.js +54 -0
- package/slack-bot/node_modules/@slack/bolt/dist/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/middleware/builtin.d.ts +62 -0
- package/slack-bot/node_modules/@slack/bolt/dist/middleware/builtin.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/middleware/builtin.js +339 -0
- package/slack-bot/node_modules/@slack/bolt/dist/middleware/builtin.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/middleware/process.d.ts +5 -0
- package/slack-bot/node_modules/@slack/bolt/dist/middleware/process.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/middleware/process.js +25 -0
- package/slack-bot/node_modules/@slack/bolt/dist/middleware/process.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/AwsLambdaReceiver.d.ts +96 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/AwsLambdaReceiver.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/AwsLambdaReceiver.js +205 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/AwsLambdaReceiver.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/BufferedIncomingMessage.d.ts +7 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/BufferedIncomingMessage.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/BufferedIncomingMessage.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/BufferedIncomingMessage.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/ExpressReceiver.d.ts +93 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/ExpressReceiver.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/ExpressReceiver.js +438 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/ExpressReceiver.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/HTTPModuleFunctions.d.ts +47 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/HTTPModuleFunctions.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/HTTPModuleFunctions.js +210 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/HTTPModuleFunctions.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/HTTPReceiver.d.ts +94 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/HTTPReceiver.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/HTTPReceiver.js +375 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/HTTPReceiver.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/HTTPResponseAck.d.ts +30 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/HTTPResponseAck.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/HTTPResponseAck.js +64 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/HTTPResponseAck.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/ParamsIncomingMessage.d.ts +14 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/ParamsIncomingMessage.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/ParamsIncomingMessage.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/ParamsIncomingMessage.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/SocketModeFunctions.d.ts +12 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/SocketModeFunctions.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/SocketModeFunctions.js +29 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/SocketModeFunctions.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.d.ts +69 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.js +179 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/custom-routes.d.ts +15 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/custom-routes.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/custom-routes.js +33 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/custom-routes.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/http-utils.d.ts +5 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/http-utils.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/http-utils.js +19 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/http-utils.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/render-html-for-install-path.d.ts +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/render-html-for-install-path.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/render-html-for-install-path.js +32 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/render-html-for-install-path.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/verify-redirect-opts.d.ts +7 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/verify-redirect-opts.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/verify-redirect-opts.js +23 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/verify-redirect-opts.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/verify-request.d.ts +33 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/verify-request.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/verify-request.js +79 -0
- package/slack-bot/node_modules/@slack/bolt/dist/receivers/verify-request.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/block-action.d.ts +251 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/block-action.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/block-action.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/block-action.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/dialog-action.d.ts +47 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/dialog-action.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/dialog-action.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/dialog-action.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/index.d.ts +51 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/index.js +21 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/interactive-message.d.ts +66 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/interactive-message.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/interactive-message.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/interactive-message.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/workflow-step-edit.d.ts +49 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/workflow-step-edit.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/workflow-step-edit.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/actions/workflow-step-edit.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/command/index.d.ts +36 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/command/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/command/index.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/command/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/events/index.d.ts +68 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/events/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/events/index.js +19 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/events/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/helpers.d.ts +17 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/helpers.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/helpers.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/helpers.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/index.d.ts +10 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/index.js +26 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/middleware.d.ts +87 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/middleware.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/middleware.js +17 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/middleware.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/options/index.d.ts +194 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/options/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/options/index.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/options/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/receiver.d.ts +16 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/receiver.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/receiver.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/receiver.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/shortcuts/global-shortcut.d.ts +29 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/shortcuts/global-shortcut.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/shortcuts/global-shortcut.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/shortcuts/global-shortcut.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/shortcuts/index.d.ts +23 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/shortcuts/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/shortcuts/index.js +20 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/shortcuts/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/shortcuts/message-shortcut.d.ts +43 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/shortcuts/message-shortcut.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/shortcuts/message-shortcut.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/shortcuts/message-shortcut.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/utilities.d.ts +23 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/utilities.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/utilities.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/utilities.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/view/index.d.ts +310 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/view/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/view/index.js +3 -0
- package/slack-bot/node_modules/@slack/bolt/dist/types/view/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/bolt/package.json +89 -0
- package/slack-bot/node_modules/@slack/logger/LICENSE +23 -0
- package/slack-bot/node_modules/@slack/logger/README.md +66 -0
- package/slack-bot/node_modules/@slack/logger/dist/index.d.ts +94 -0
- package/slack-bot/node_modules/@slack/logger/dist/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/logger/dist/index.js +94 -0
- package/slack-bot/node_modules/@slack/logger/dist/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/logger/package.json +43 -0
- package/slack-bot/node_modules/@slack/oauth/README.md +377 -0
- package/slack-bot/node_modules/@slack/oauth/dist/authorize-result.d.ts +13 -0
- package/slack-bot/node_modules/@slack/oauth/dist/authorize-result.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/authorize-result.js +3 -0
- package/slack-bot/node_modules/@slack/oauth/dist/authorize-result.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/callback-options.d.ts +36 -0
- package/slack-bot/node_modules/@slack/oauth/dist/callback-options.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/callback-options.js +69 -0
- package/slack-bot/node_modules/@slack/oauth/dist/callback-options.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/default-render-html-for-install-path.d.ts +2 -0
- package/slack-bot/node_modules/@slack/oauth/dist/default-render-html-for-install-path.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/default-render-html-for-install-path.js +7 -0
- package/slack-bot/node_modules/@slack/oauth/dist/default-render-html-for-install-path.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/errors.d.ts +39 -0
- package/slack-bot/node_modules/@slack/oauth/dist/errors.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/errors.js +105 -0
- package/slack-bot/node_modules/@slack/oauth/dist/errors.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/index.d.ts +14 -0
- package/slack-bot/node_modules/@slack/oauth/dist/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/index.js +38 -0
- package/slack-bot/node_modules/@slack/oauth/dist/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-path-options.d.ts +22 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-path-options.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-path-options.js +3 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-path-options.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-provider-options.d.ts +82 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-provider-options.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-provider-options.js +3 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-provider-options.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-provider.d.ts +117 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-provider.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-provider.js +785 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-provider.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-url-options.d.ts +8 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-url-options.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-url-options.js +3 -0
- package/slack-bot/node_modules/@slack/oauth/dist/install-url-options.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-query.d.ts +9 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-query.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-query.js +3 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-query.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/file-store.d.ts +17 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/file-store.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/file-store.js +173 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/file-store.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/index.d.ts +4 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/index.js +11 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/interface.d.ts +8 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/interface.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/interface.js +3 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/interface.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/memory-store.d.ts +13 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/memory-store.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/memory-store.js +139 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation-stores/memory-store.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation.d.ts +95 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation.js +3 -0
- package/slack-bot/node_modules/@slack/oauth/dist/installation.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/logger.d.ts +7 -0
- package/slack-bot/node_modules/@slack/oauth/dist/logger.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/logger.js +29 -0
- package/slack-bot/node_modules/@slack/oauth/dist/logger.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/clear-state-store.d.ts +10 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/clear-state-store.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/clear-state-store.js +85 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/clear-state-store.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/file-state-store.d.ts +21 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/file-state-store.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/file-state-store.js +148 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/file-state-store.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/index.d.ts +4 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/index.js +11 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/interface.d.ts +37 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/interface.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/interface.js +3 -0
- package/slack-bot/node_modules/@slack/oauth/dist/state-stores/interface.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/node_modules/@slack/logger/README.md +0 -0
- package/slack-bot/node_modules/@slack/oauth/node_modules/@slack/logger/dist/index.d.ts +100 -0
- package/slack-bot/node_modules/@slack/oauth/node_modules/@slack/logger/dist/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/node_modules/@slack/logger/dist/index.js +92 -0
- package/slack-bot/node_modules/@slack/oauth/node_modules/@slack/logger/dist/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/oauth/node_modules/@slack/logger/package.json +52 -0
- package/slack-bot/node_modules/@slack/oauth/package.json +76 -0
- package/slack-bot/node_modules/@slack/socket-mode/README.md +232 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/SocketModeClient.d.ts +158 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/SocketModeClient.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/SocketModeClient.js +660 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/SocketModeClient.js.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/SocketModeOptions.d.ts +13 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/SocketModeOptions.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/SocketModeOptions.js +3 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/SocketModeOptions.js.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/UnrecoverableSocketModeStartError.d.ts +8 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/UnrecoverableSocketModeStartError.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/UnrecoverableSocketModeStartError.js +15 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/UnrecoverableSocketModeStartError.js.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/errors.d.ts +60 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/errors.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/errors.js +68 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/errors.js.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/index.d.ts +7 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/index.js +13 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/logger.d.ts +7 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/logger.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/logger.js +29 -0
- package/slack-bot/node_modules/@slack/socket-mode/dist/logger.js.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/node_modules/@slack/logger/README.md +0 -0
- package/slack-bot/node_modules/@slack/socket-mode/node_modules/@slack/logger/dist/index.d.ts +100 -0
- package/slack-bot/node_modules/@slack/socket-mode/node_modules/@slack/logger/dist/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/node_modules/@slack/logger/dist/index.js +92 -0
- package/slack-bot/node_modules/@slack/socket-mode/node_modules/@slack/logger/dist/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/socket-mode/node_modules/@slack/logger/package.json +52 -0
- package/slack-bot/node_modules/@slack/socket-mode/package.json +76 -0
- package/slack-bot/node_modules/@slack/types/LICENSE +23 -0
- package/slack-bot/node_modules/@slack/types/README.md +32 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/block-elements.d.ts +953 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/block-elements.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/block-elements.js +4 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/block-elements.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/blocks.d.ts +405 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/blocks.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/blocks.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/blocks.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/composition-objects.d.ts +237 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/composition-objects.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/composition-objects.js +4 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/composition-objects.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/extensions.d.ts +88 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/extensions.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/extensions.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/block-kit/extensions.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/calls.d.ts +26 -0
- package/slack-bot/node_modules/@slack/types/dist/calls.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/calls.js +6 -0
- package/slack-bot/node_modules/@slack/types/dist/calls.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/chunk.d.ts +42 -0
- package/slack-bot/node_modules/@slack/types/dist/chunk.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/chunk.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/chunk.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/common/bot-profile.d.ts +12 -0
- package/slack-bot/node_modules/@slack/types/dist/common/bot-profile.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/common/bot-profile.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/common/bot-profile.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/common/status-emoji-display-info.d.ts +6 -0
- package/slack-bot/node_modules/@slack/types/dist/common/status-emoji-display-info.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/common/status-emoji-display-info.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/common/status-emoji-display-info.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/dialog.d.ts +36 -0
- package/slack-bot/node_modules/@slack/types/dist/dialog.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/dialog.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/dialog.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/app.d.ts +204 -0
- package/slack-bot/node_modules/@slack/types/dist/events/app.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/app.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/app.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/assistant.d.ts +29 -0
- package/slack-bot/node_modules/@slack/types/dist/events/assistant.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/assistant.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/assistant.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/call.d.ts +8 -0
- package/slack-bot/node_modules/@slack/types/dist/events/call.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/call.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/call.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/channel.d.ts +85 -0
- package/slack-bot/node_modules/@slack/types/dist/events/channel.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/channel.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/channel.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/dnd.d.ts +24 -0
- package/slack-bot/node_modules/@slack/types/dist/events/dnd.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/dnd.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/dnd.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/email.d.ts +6 -0
- package/slack-bot/node_modules/@slack/types/dist/events/email.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/email.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/email.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/emoji.d.ts +11 -0
- package/slack-bot/node_modules/@slack/types/dist/events/emoji.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/emoji.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/emoji.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/entity-details-requested.d.ts +21 -0
- package/slack-bot/node_modules/@slack/types/dist/events/entity-details-requested.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/entity-details-requested.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/entity-details-requested.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/file.d.ts +60 -0
- package/slack-bot/node_modules/@slack/types/dist/events/file.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/file.js +4 -0
- package/slack-bot/node_modules/@slack/types/dist/events/file.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/function.d.ts +33 -0
- package/slack-bot/node_modules/@slack/types/dist/events/function.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/function.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/function.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/grid-migration.d.ts +9 -0
- package/slack-bot/node_modules/@slack/types/dist/events/grid-migration.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/grid-migration.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/grid-migration.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/group.d.ts +55 -0
- package/slack-bot/node_modules/@slack/types/dist/events/group.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/group.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/group.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/im.d.ts +26 -0
- package/slack-bot/node_modules/@slack/types/dist/events/im.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/im.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/im.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/index.d.ts +60 -0
- package/slack-bot/node_modules/@slack/types/dist/events/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/index.js +43 -0
- package/slack-bot/node_modules/@slack/types/dist/events/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/invite.d.ts +20 -0
- package/slack-bot/node_modules/@slack/types/dist/events/invite.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/invite.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/invite.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/link-shared.d.ts +16 -0
- package/slack-bot/node_modules/@slack/types/dist/events/link-shared.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/link-shared.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/link-shared.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/member.d.ts +19 -0
- package/slack-bot/node_modules/@slack/types/dist/events/member.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/member.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/member.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/message-metadata.d.ts +38 -0
- package/slack-bot/node_modules/@slack/types/dist/events/message-metadata.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/message-metadata.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/message-metadata.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/message.d.ts +306 -0
- package/slack-bot/node_modules/@slack/types/dist/events/message.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/message.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/message.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/pin.d.ts +60 -0
- package/slack-bot/node_modules/@slack/types/dist/events/pin.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/pin.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/pin.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/reaction.d.ts +23 -0
- package/slack-bot/node_modules/@slack/types/dist/events/reaction.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/reaction.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/reaction.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/shared-channel.d.ts +134 -0
- package/slack-bot/node_modules/@slack/types/dist/events/shared-channel.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/shared-channel.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/shared-channel.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/star.d.ts +13 -0
- package/slack-bot/node_modules/@slack/types/dist/events/star.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/star.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/star.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/steps-from-apps.d.ts +82 -0
- package/slack-bot/node_modules/@slack/types/dist/events/steps-from-apps.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/steps-from-apps.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/steps-from-apps.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/subteam.d.ts +66 -0
- package/slack-bot/node_modules/@slack/types/dist/events/subteam.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/subteam.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/subteam.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/team.d.ts +99 -0
- package/slack-bot/node_modules/@slack/types/dist/events/team.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/team.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/team.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/token.d.ts +8 -0
- package/slack-bot/node_modules/@slack/types/dist/events/token.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/token.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/token.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/user.d.ts +313 -0
- package/slack-bot/node_modules/@slack/types/dist/events/user.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/events/user.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/events/user.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/index.d.ts +12 -0
- package/slack-bot/node_modules/@slack/types/dist/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/index.js +28 -0
- package/slack-bot/node_modules/@slack/types/dist/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/message-attachments.d.ts +171 -0
- package/slack-bot/node_modules/@slack/types/dist/message-attachments.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/message-attachments.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/message-attachments.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/message-metadata.d.ts +281 -0
- package/slack-bot/node_modules/@slack/types/dist/message-metadata.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/message-metadata.js +27 -0
- package/slack-bot/node_modules/@slack/types/dist/message-metadata.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/views.d.ts +71 -0
- package/slack-bot/node_modules/@slack/types/dist/views.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/types/dist/views.js +3 -0
- package/slack-bot/node_modules/@slack/types/dist/views.js.map +1 -0
- package/slack-bot/node_modules/@slack/types/package.json +47 -0
- package/slack-bot/node_modules/@slack/web-api/README.md +399 -0
- package/slack-bot/node_modules/@slack/web-api/dist/WebClient.d.ts +192 -0
- package/slack-bot/node_modules/@slack/web-api/dist/WebClient.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/WebClient.js +734 -0
- package/slack-bot/node_modules/@slack/web-api/dist/WebClient.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/errors.d.ts +78 -0
- package/slack-bot/node_modules/@slack/web-api/dist/errors.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/errors.js +77 -0
- package/slack-bot/node_modules/@slack/web-api/dist/errors.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/file-upload.d.ts +108 -0
- package/slack-bot/node_modules/@slack/web-api/dist/file-upload.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/file-upload.js +329 -0
- package/slack-bot/node_modules/@slack/web-api/dist/file-upload.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/helpers.d.ts +7 -0
- package/slack-bot/node_modules/@slack/web-api/dist/helpers.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/helpers.js +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/helpers.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/index.d.ts +10 -0
- package/slack-bot/node_modules/@slack/web-api/dist/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/index.js +35 -0
- package/slack-bot/node_modules/@slack/web-api/dist/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/instrument.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/instrument.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/instrument.js +65 -0
- package/slack-bot/node_modules/@slack/web-api/dist/instrument.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/logger.d.ts +7 -0
- package/slack-bot/node_modules/@slack/web-api/dist/logger.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/logger.js +29 -0
- package/slack-bot/node_modules/@slack/web-api/dist/logger.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/methods.d.ts +1877 -0
- package/slack-bot/node_modules/@slack/web-api/dist/methods.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/methods.js +568 -0
- package/slack-bot/node_modules/@slack/web-api/dist/methods.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAnalyticsGetFileResponse.d.ts +77 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAnalyticsGetFileResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAnalyticsGetFileResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAnalyticsGetFileResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsActivitiesListResponse.d.ts +63 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsActivitiesListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsActivitiesListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsActivitiesListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsApproveResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsApproveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsApproveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsApproveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsApprovedListResponse.d.ts +58 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsApprovedListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsApprovedListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsApprovedListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsClearResolutionResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsClearResolutionResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsClearResolutionResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsClearResolutionResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsConfigLookupResponse.d.ts +22 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsConfigLookupResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsConfigLookupResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsConfigLookupResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsConfigSetResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsConfigSetResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsConfigSetResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsConfigSetResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRequestsCancelResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRequestsCancelResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRequestsCancelResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRequestsCancelResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRequestsListResponse.d.ts +67 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRequestsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRequestsListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRequestsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRestrictResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRestrictResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRestrictResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRestrictResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRestrictedListResponse.d.ts +58 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRestrictedListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRestrictedListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsRestrictedListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsUninstallResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsUninstallResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsUninstallResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAppsUninstallResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAuthPolicyAssignEntitiesResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAuthPolicyAssignEntitiesResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAuthPolicyAssignEntitiesResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAuthPolicyAssignEntitiesResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAuthPolicyGetEntitiesResponse.d.ts +15 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAuthPolicyGetEntitiesResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAuthPolicyGetEntitiesResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAuthPolicyGetEntitiesResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAuthPolicyRemoveEntitiesResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAuthPolicyRemoveEntitiesResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAuthPolicyRemoveEntitiesResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminAuthPolicyRemoveEntitiesResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersCreateResponse.d.ts +25 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersCreateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersCreateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersCreateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersDeleteResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersDeleteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersDeleteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersDeleteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersListResponse.d.ts +21 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersUpdateResponse.d.ts +21 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersUpdateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersUpdateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminBarriersUpdateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsArchiveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsArchiveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsArchiveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsArchiveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsBulkArchiveResponse.d.ts +18 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsBulkArchiveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsBulkArchiveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsBulkArchiveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsBulkDeleteResponse.d.ts +18 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsBulkDeleteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsBulkDeleteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsBulkDeleteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsBulkMoveResponse.d.ts +18 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsBulkMoveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsBulkMoveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsBulkMoveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsConvertToPrivateResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsConvertToPrivateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsConvertToPrivateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsConvertToPrivateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsConvertToPublicResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsConvertToPublicResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsConvertToPublicResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsConvertToPublicResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsCreateResponse.d.ts +13 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsCreateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsCreateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsCreateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsDeleteResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsDeleteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsDeleteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsDeleteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsDisconnectSharedResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsDisconnectSharedResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsDisconnectSharedResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsDisconnectSharedResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsEkmListOriginalConnectedChannelInfoResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsEkmListOriginalConnectedChannelInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsEkmListOriginalConnectedChannelInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsEkmListOriginalConnectedChannelInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsGetConversationPrefsResponse.d.ts +17 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsGetConversationPrefsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsGetConversationPrefsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsGetConversationPrefsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsGetCustomRetentionResponse.d.ts +10 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsGetCustomRetentionResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsGetCustomRetentionResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsGetCustomRetentionResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsGetTeamsResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsGetTeamsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsGetTeamsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsGetTeamsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsInviteResponse.d.ts +13 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsInviteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsInviteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsInviteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsLookupResponse.d.ts +13 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsLookupResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsLookupResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsLookupResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRemoveCustomRetentionResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRemoveCustomRetentionResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRemoveCustomRetentionResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRemoveCustomRetentionResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRenameResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRenameResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRenameResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRenameResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRestrictAccessAddGroupResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRestrictAccessAddGroupResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRestrictAccessAddGroupResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRestrictAccessAddGroupResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRestrictAccessListGroupsResponse.d.ts +13 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRestrictAccessListGroupsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRestrictAccessListGroupsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRestrictAccessListGroupsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRestrictAccessRemoveGroupResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRestrictAccessRemoveGroupResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRestrictAccessRemoveGroupResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsRestrictAccessRemoveGroupResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSearchResponse.d.ts +69 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSearchResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSearchResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSearchResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSetConversationPrefsResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSetConversationPrefsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSetConversationPrefsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSetConversationPrefsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSetCustomRetentionResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSetCustomRetentionResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSetCustomRetentionResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSetCustomRetentionResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSetTeamsResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSetTeamsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSetTeamsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsSetTeamsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsUnarchiveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsUnarchiveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsUnarchiveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsUnarchiveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsWhitelistAddResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsWhitelistAddResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsWhitelistAddResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsWhitelistAddResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsWhitelistListGroupsLinkedToChannelResponse.d.ts +15 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsWhitelistListGroupsLinkedToChannelResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsWhitelistListGroupsLinkedToChannelResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsWhitelistListGroupsLinkedToChannelResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsWhitelistRemoveResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsWhitelistRemoveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsWhitelistRemoveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminConversationsWhitelistRemoveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiAddAliasResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiAddAliasResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiAddAliasResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiAddAliasResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiAddResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiAddResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiAddResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiAddResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiListResponse.d.ts +20 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiRemoveResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiRemoveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiRemoveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiRemoveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiRenameResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiRenameResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiRenameResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminEmojiRenameResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminFunctionsListResponse.d.ts +35 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminFunctionsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminFunctionsListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminFunctionsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminFunctionsPermissionsLookupResponse.d.ts +27 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminFunctionsPermissionsLookupResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminFunctionsPermissionsLookupResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminFunctionsPermissionsLookupResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminFunctionsPermissionsSetResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminFunctionsPermissionsSetResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminFunctionsPermissionsSetResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminFunctionsPermissionsSetResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsApproveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsApproveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsApproveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsApproveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsApprovedListResponse.d.ts +40 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsApprovedListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsApprovedListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsApprovedListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsDeniedListResponse.d.ts +26 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsDeniedListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsDeniedListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsDeniedListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsDenyResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsDenyResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsDenyResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsDenyResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsListResponse.d.ts +19 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminInviteRequestsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminRolesAddAssignmentsResponse.d.ts +13 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminRolesAddAssignmentsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminRolesAddAssignmentsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminRolesAddAssignmentsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminRolesListAssignmentsResponse.d.ts +20 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminRolesListAssignmentsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminRolesListAssignmentsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminRolesListAssignmentsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminRolesRemoveAssignmentsResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminRolesRemoveAssignmentsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminRolesRemoveAssignmentsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminRolesRemoveAssignmentsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsAdminsListResponse.d.ts +13 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsAdminsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsAdminsListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsAdminsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsCreateResponse.d.ts +13 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsCreateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsCreateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsCreateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsListResponse.d.ts +24 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsOwnersListResponse.d.ts +13 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsOwnersListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsOwnersListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsOwnersListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsInfoResponse.d.ts +34 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetDefaultChannelsResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetDefaultChannelsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetDefaultChannelsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetDefaultChannelsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetDescriptionResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetDescriptionResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetDescriptionResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetDescriptionResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetDiscoverabilityResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetDiscoverabilityResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetDiscoverabilityResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetDiscoverabilityResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetIconResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetIconResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetIconResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetIconResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetNameResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetNameResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetNameResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminTeamsSettingsSetNameResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsAddChannelsResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsAddChannelsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsAddChannelsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsAddChannelsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsAddTeamsResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsAddTeamsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsAddTeamsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsAddTeamsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsListChannelsResponse.d.ts +54 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsListChannelsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsListChannelsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsListChannelsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsRemoveChannelsResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsRemoveChannelsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsRemoveChannelsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsergroupsRemoveChannelsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersAssignResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersAssignResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersAssignResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersAssignResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersInviteResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersInviteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersInviteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersInviteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersListResponse.d.ts +33 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersRemoveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersRemoveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersRemoveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersRemoveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionClearSettingsResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionClearSettingsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionClearSettingsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionClearSettingsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionGetSettingsResponse.d.ts +15 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionGetSettingsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionGetSettingsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionGetSettingsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionInvalidateResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionInvalidateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionInvalidateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionInvalidateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionListResponse.d.ts +27 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionResetBulkResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionResetBulkResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionResetBulkResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionResetBulkResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionResetResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionResetResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionResetResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionResetResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionSetSettingsResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionSetSettingsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionSetSettingsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSessionSetSettingsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetAdminResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetAdminResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetAdminResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetAdminResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetExpirationResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetExpirationResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetExpirationResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetExpirationResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetOwnerResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetOwnerResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetOwnerResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetOwnerResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetRegularResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetRegularResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetRegularResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersSetRegularResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersUnsupportedVersionsExportResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersUnsupportedVersionsExportResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersUnsupportedVersionsExportResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminUsersUnsupportedVersionsExportResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsCollaboratorsAddResponse.d.ts +18 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsCollaboratorsAddResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsCollaboratorsAddResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsCollaboratorsAddResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsCollaboratorsRemoveResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsCollaboratorsRemoveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsCollaboratorsRemoveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsCollaboratorsRemoveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsPermissionsLookupResponse.d.ts +22 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsPermissionsLookupResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsPermissionsLookupResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsPermissionsLookupResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsSearchResponse.d.ts +65 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsSearchResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsSearchResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsSearchResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsUnpublishResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsUnpublishResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsUnpublishResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AdminWorkflowsUnpublishResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ApiTestResponse.d.ts +13 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ApiTestResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ApiTestResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ApiTestResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsConnectionsOpenResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsConnectionsOpenResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsConnectionsOpenResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsConnectionsOpenResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsEventAuthorizationsListResponse.d.ts +16 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsEventAuthorizationsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsEventAuthorizationsListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsEventAuthorizationsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestCreateResponse.d.ts +27 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestCreateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestCreateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestCreateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestDeleteResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestDeleteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestDeleteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestDeleteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestExportResponse.d.ts +112 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestExportResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestExportResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestExportResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestUpdateResponse.d.ts +10 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestUpdateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestUpdateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestUpdateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestValidateResponse.d.ts +19 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestValidateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestValidateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsManifestValidateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsInfoResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsRequestResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsRequestResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsRequestResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsRequestResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsResourcesListResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsResourcesListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsResourcesListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsResourcesListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsScopesListResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsScopesListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsScopesListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsScopesListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsUsersListResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsUsersListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsUsersListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsUsersListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsUsersRequestResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsUsersRequestResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsUsersRequestResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsPermissionsUsersRequestResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsUninstallResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsUninstallResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsUninstallResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AppsUninstallResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AssistantThreadsSetStatusResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AssistantThreadsSetStatusResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AssistantThreadsSetStatusResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AssistantThreadsSetStatusResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AssistantThreadsSetSuggestedPromptsResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AssistantThreadsSetSuggestedPromptsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AssistantThreadsSetSuggestedPromptsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AssistantThreadsSetSuggestedPromptsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AssistantThreadsSetTitleResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AssistantThreadsSetTitleResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AssistantThreadsSetTitleResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AssistantThreadsSetTitleResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AuthRevokeResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AuthRevokeResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AuthRevokeResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AuthRevokeResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AuthTeamsListResponse.d.ts +28 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AuthTeamsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AuthTeamsListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AuthTeamsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AuthTestResponse.d.ts +19 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AuthTestResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AuthTestResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/AuthTestResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksAddResponse.d.ts +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksAddResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksAddResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksAddResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksEditResponse.d.ts +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksEditResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksEditResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksEditResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksListResponse.d.ts +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksRemoveResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksRemoveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksRemoveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BookmarksRemoveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BotsInfoResponse.d.ts +23 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BotsInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BotsInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/BotsInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsAddResponse.d.ts +29 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsAddResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsAddResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsAddResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsEndResponse.d.ts +27 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsEndResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsEndResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsEndResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsInfoResponse.d.ts +26 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsParticipantsAddResponse.d.ts +26 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsParticipantsAddResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsParticipantsAddResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsParticipantsAddResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsParticipantsRemoveResponse.d.ts +26 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsParticipantsRemoveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsParticipantsRemoveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsParticipantsRemoveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsUpdateResponse.d.ts +26 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsUpdateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsUpdateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/CallsUpdateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsArchiveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsArchiveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsArchiveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsArchiveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsCreateResponse.d.ts +38 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsCreateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsCreateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsCreateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsHistoryResponse.d.ts +324 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsHistoryResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsHistoryResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsHistoryResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsInfoResponse.d.ts +250 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsInviteResponse.d.ts +46 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsInviteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsInviteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsInviteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsJoinResponse.d.ts +46 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsJoinResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsJoinResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsJoinResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsKickResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsKickResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsKickResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsKickResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsLeaveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsLeaveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsLeaveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsLeaveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsListResponse.d.ts +42 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsMarkResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsMarkResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsMarkResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsMarkResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsRenameResponse.d.ts +34 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsRenameResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsRenameResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsRenameResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsRepliesResponse.d.ts +46 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsRepliesResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsRepliesResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsRepliesResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsSetPurposeResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsSetPurposeResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsSetPurposeResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsSetPurposeResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsSetTopicResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsSetTopicResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsSetTopicResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsSetTopicResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsUnarchiveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsUnarchiveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsUnarchiveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChannelsUnarchiveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatDeleteResponse.d.ts +10 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatDeleteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatDeleteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatDeleteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatDeleteScheduledMessageResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatDeleteScheduledMessageResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatDeleteScheduledMessageResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatDeleteScheduledMessageResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatGetPermalinkResponse.d.ts +10 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatGetPermalinkResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatGetPermalinkResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatGetPermalinkResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatMeMessageResponse.d.ts +10 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatMeMessageResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatMeMessageResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatMeMessageResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatPostEphemeralResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatPostEphemeralResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatPostEphemeralResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatPostEphemeralResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatPostMessageResponse.d.ts +1001 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatPostMessageResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatPostMessageResponse.js +49 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatPostMessageResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatScheduleMessageResponse.d.ts +482 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatScheduleMessageResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatScheduleMessageResponse.js +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatScheduleMessageResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatScheduledMessagesListResponse.d.ts +20 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatScheduledMessagesListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatScheduledMessagesListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatScheduledMessagesListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatUnfurlResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatUnfurlResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatUnfurlResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatUnfurlResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatUpdateResponse.d.ts +721 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatUpdateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatUpdateResponse.js +38 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ChatUpdateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsAcceptSharedInviteResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsAcceptSharedInviteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsAcceptSharedInviteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsAcceptSharedInviteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsApproveSharedInviteResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsApproveSharedInviteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsApproveSharedInviteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsApproveSharedInviteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsArchiveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsArchiveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsArchiveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsArchiveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsCloseResponse.d.ts +10 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsCloseResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsCloseResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsCloseResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsCreateResponse.d.ts +48 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsCreateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsCreateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsCreateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsDeclineSharedInviteResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsDeclineSharedInviteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsDeclineSharedInviteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsDeclineSharedInviteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsHistoryResponse.d.ts +1016 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsHistoryResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsHistoryResponse.js +49 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsHistoryResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsInfoResponse.d.ts +56 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsInviteResponse.d.ts +51 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsInviteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsInviteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsInviteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsInviteSharedResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsInviteSharedResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsInviteSharedResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsInviteSharedResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsJoinResponse.d.ts +61 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsJoinResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsJoinResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsJoinResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsKickResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsKickResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsKickResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsKickResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsLeaveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsLeaveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsLeaveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsLeaveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsListConnectInvitesResponse.d.ts +100 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsListConnectInvitesResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsListConnectInvitesResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsListConnectInvitesResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsListResponse.d.ts +71 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsMarkResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsMarkResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsMarkResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsMarkResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsMembersResponse.d.ts +13 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsMembersResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsMembersResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsMembersResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsOpenResponse.d.ts +457 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsOpenResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsOpenResponse.js +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsOpenResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsRenameResponse.d.ts +46 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsRenameResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsRenameResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsRenameResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsRepliesResponse.d.ts +985 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsRepliesResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsRepliesResponse.js +49 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsRepliesResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsSetPurposeResponse.d.ts +43 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsSetPurposeResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsSetPurposeResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsSetPurposeResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsSetTopicResponse.d.ts +43 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsSetTopicResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsSetTopicResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsSetTopicResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsUnarchiveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsUnarchiveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsUnarchiveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ConversationsUnarchiveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DialogOpenResponse.d.ts +13 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DialogOpenResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DialogOpenResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DialogOpenResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndEndDndResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndEndDndResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndEndDndResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndEndDndResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndEndSnoozeResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndEndSnoozeResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndEndSnoozeResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndEndSnoozeResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndInfoResponse.d.ts +11 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndSetSnoozeResponse.d.ts +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndSetSnoozeResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndSetSnoozeResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndSetSnoozeResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndTeamInfoResponse.d.ts +16 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndTeamInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndTeamInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/DndTeamInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/EmojiListResponse.d.ts +18 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/EmojiListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/EmojiListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/EmojiListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCommentsAddResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCommentsAddResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCommentsAddResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCommentsAddResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCommentsDeleteResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCommentsDeleteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCommentsDeleteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCommentsDeleteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCommentsEditResponse.d.ts +17 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCommentsEditResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCommentsEditResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCommentsEditResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCompleteUploadExternalResponse.d.ts +77 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCompleteUploadExternalResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCompleteUploadExternalResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesCompleteUploadExternalResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesDeleteResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesDeleteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesDeleteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesDeleteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesGetUploadURLExternalResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesGetUploadURLExternalResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesGetUploadURLExternalResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesGetUploadURLExternalResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesInfoResponse.d.ts +382 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesInfoResponse.js +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesListResponse.d.ts +611 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesListResponse.js +41 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteAddResponse.d.ts +390 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteAddResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteAddResponse.js +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteAddResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteInfoResponse.d.ts +390 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteInfoResponse.js +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteListResponse.d.ts +533 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteListResponse.js +41 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteRemoveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteRemoveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteRemoveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteRemoveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteShareResponse.d.ts +390 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteShareResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteShareResponse.js +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteShareResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteUpdateResponse.d.ts +390 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteUpdateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteUpdateResponse.js +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRemoteUpdateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRevokePublicURLResponse.d.ts +390 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRevokePublicURLResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRevokePublicURLResponse.js +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesRevokePublicURLResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesSharedPublicURLResponse.d.ts +390 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesSharedPublicURLResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesSharedPublicURLResponse.js +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesSharedPublicURLResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesUploadResponse.d.ts +390 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesUploadResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesUploadResponse.js +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FilesUploadResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FunctionsCompleteErrorResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FunctionsCompleteErrorResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FunctionsCompleteErrorResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FunctionsCompleteErrorResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FunctionsCompleteSuccessResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FunctionsCompleteSuccessResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FunctionsCompleteSuccessResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/FunctionsCompleteSuccessResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsArchiveResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsArchiveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsArchiveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsArchiveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsCloseResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsCloseResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsCloseResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsCloseResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsCreateChildResponse.d.ts +46 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsCreateChildResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsCreateChildResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsCreateChildResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsCreateResponse.d.ts +38 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsCreateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsCreateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsCreateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsHistoryResponse.d.ts +24 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsHistoryResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsHistoryResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsHistoryResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsInfoResponse.d.ts +45 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsInviteResponse.d.ts +46 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsInviteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsInviteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsInviteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsKickResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsKickResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsKickResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsKickResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsLeaveResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsLeaveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsLeaveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsLeaveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsListResponse.d.ts +37 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsMarkResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsMarkResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsMarkResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsMarkResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsOpenResponse.d.ts +16 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsOpenResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsOpenResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsOpenResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsRenameResponse.d.ts +33 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsRenameResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsRenameResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsRenameResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsRepliesResponse.d.ts +47 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsRepliesResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsRepliesResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsRepliesResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsSetPurposeResponse.d.ts +15 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsSetPurposeResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsSetPurposeResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsSetPurposeResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsSetTopicResponse.d.ts +15 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsSetTopicResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsSetTopicResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsSetTopicResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsUnarchiveResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsUnarchiveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsUnarchiveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/GroupsUnarchiveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImCloseResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImCloseResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImCloseResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImCloseResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImHistoryResponse.d.ts +122 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImHistoryResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImHistoryResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImHistoryResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImListResponse.d.ts +26 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImMarkResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImMarkResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImMarkResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImMarkResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImOpenResponse.d.ts +20 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImOpenResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImOpenResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImOpenResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImRepliesResponse.d.ts +47 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImRepliesResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImRepliesResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ImRepliesResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MigrationExchangeResponse.d.ts +15 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MigrationExchangeResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MigrationExchangeResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MigrationExchangeResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimCloseResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimCloseResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimCloseResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimCloseResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimHistoryResponse.d.ts +49 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimHistoryResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimHistoryResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimHistoryResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimListResponse.d.ts +36 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimMarkResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimMarkResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimMarkResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimMarkResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimOpenResponse.d.ts +64 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimOpenResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimOpenResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimOpenResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimRepliesResponse.d.ts +47 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimRepliesResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimRepliesResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/MpimRepliesResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthAccessResponse.d.ts +44 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthAccessResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthAccessResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthAccessResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthTokenResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthTokenResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthTokenResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthTokenResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthV2AccessResponse.d.ts +39 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthV2AccessResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthV2AccessResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthV2AccessResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthV2ExchangeResponse.d.ts +43 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthV2ExchangeResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthV2ExchangeResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OauthV2ExchangeResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OpenIDConnectTokenResponse.d.ts +14 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OpenIDConnectTokenResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OpenIDConnectTokenResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OpenIDConnectTokenResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OpenIDConnectUserInfoResponse.d.ts +39 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OpenIDConnectUserInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OpenIDConnectUserInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/OpenIDConnectUserInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/PinsAddResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/PinsAddResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/PinsAddResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/PinsAddResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/PinsListResponse.d.ts +397 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/PinsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/PinsListResponse.js +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/PinsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/PinsRemoveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/PinsRemoveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/PinsRemoveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/PinsRemoveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsAddResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsAddResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsAddResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsAddResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsGetResponse.d.ts +480 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsGetResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsGetResponse.js +31 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsGetResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsListResponse.d.ts +999 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsListResponse.js +49 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsRemoveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsRemoveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsRemoveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ReactionsRemoveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersAddResponse.d.ts +22 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersAddResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersAddResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersAddResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersCompleteResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersCompleteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersCompleteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersCompleteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersDeleteResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersDeleteResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersDeleteResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersDeleteResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersInfoResponse.d.ts +18 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersListResponse.d.ts +24 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RemindersListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RtmConnectResponse.d.ts +20 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RtmConnectResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RtmConnectResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RtmConnectResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RtmStartResponse.d.ts +1966 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RtmStartResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RtmStartResponse.js +49 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/RtmStartResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/SearchAllResponse.d.ts +1167 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/SearchAllResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/SearchAllResponse.js +68 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/SearchAllResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/SearchFilesResponse.d.ts +1089 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/SearchFilesResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/SearchFilesResponse.js +49 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/SearchFilesResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/SearchMessagesResponse.d.ts +1035 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/SearchMessagesResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/SearchMessagesResponse.js +68 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/SearchMessagesResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/StarsAddResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/StarsAddResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/StarsAddResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/StarsAddResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/StarsListResponse.d.ts +689 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/StarsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/StarsListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/StarsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/StarsRemoveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/StarsRemoveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/StarsRemoveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/StarsRemoveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamAccessLogsResponse.d.ts +32 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamAccessLogsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamAccessLogsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamAccessLogsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamBillableInfoResponse.d.ts +18 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamBillableInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamBillableInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamBillableInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamBillingInfoResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamBillingInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamBillingInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamBillingInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamInfoResponse.d.ts +34 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamIntegrationLogsResponse.d.ts +34 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamIntegrationLogsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamIntegrationLogsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamIntegrationLogsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamPreferencesListResponse.d.ts +13 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamPreferencesListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamPreferencesListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamPreferencesListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamProfileGetResponse.d.ts +44 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamProfileGetResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamProfileGetResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/TeamProfileGetResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ToolingTokensRotateResponse.d.ts +18 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ToolingTokensRotateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ToolingTokensRotateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ToolingTokensRotateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsCreateResponse.d.ts +33 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsCreateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsCreateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsCreateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsDisableResponse.d.ts +34 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsDisableResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsDisableResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsDisableResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsEnableResponse.d.ts +33 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsEnableResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsEnableResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsEnableResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsListResponse.d.ts +34 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsUpdateResponse.d.ts +33 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsUpdateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsUpdateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsUpdateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsUsersListResponse.d.ts +9 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsUsersListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsUsersListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsUsersListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsUsersUpdateResponse.d.ts +33 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsUsersUpdateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsUsersUpdateResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsergroupsUsersUpdateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersConversationsResponse.d.ts +73 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersConversationsResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersConversationsResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersConversationsResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersDeletePhotoResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersDeletePhotoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersDeletePhotoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersDeletePhotoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersGetPresenceResponse.d.ts +15 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersGetPresenceResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersGetPresenceResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersGetPresenceResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersIdentityResponse.d.ts +26 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersIdentityResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersIdentityResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersIdentityResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersInfoResponse.d.ts +88 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersInfoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersInfoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersInfoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersListResponse.d.ts +98 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersListResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersListResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersListResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersLookupByEmailResponse.d.ts +76 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersLookupByEmailResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersLookupByEmailResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersLookupByEmailResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersProfileGetResponse.d.ts +54 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersProfileGetResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersProfileGetResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersProfileGetResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersProfileSetResponse.d.ts +54 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersProfileSetResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersProfileSetResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersProfileSetResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersSetActiveResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersSetActiveResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersSetActiveResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersSetActiveResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersSetPhotoResponse.d.ts +20 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersSetPhotoResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersSetPhotoResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersSetPhotoResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersSetPresenceResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersSetPresenceResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersSetPresenceResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/UsersSetPresenceResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsOpenResponse.d.ts +251 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsOpenResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsOpenResponse.js +32 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsOpenResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsPublishResponse.d.ts +251 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsPublishResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsPublishResponse.js +32 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsPublishResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsPushResponse.d.ts +251 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsPushResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsPushResponse.js +32 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsPushResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsUpdateResponse.d.ts +251 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsUpdateResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsUpdateResponse.js +32 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/ViewsUpdateResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/WorkflowsStepCompletedResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/WorkflowsStepCompletedResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/WorkflowsStepCompletedResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/WorkflowsStepCompletedResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/WorkflowsStepFailedResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/WorkflowsStepFailedResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/WorkflowsStepFailedResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/WorkflowsStepFailedResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/WorkflowsUpdateStepResponse.d.ts +8 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/WorkflowsUpdateStepResponse.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/WorkflowsUpdateStepResponse.js +12 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/WorkflowsUpdateStepResponse.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/index.d.ts +295 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/index.js +3 -0
- package/slack-bot/node_modules/@slack/web-api/dist/response/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/retry-policies.d.ts +27 -0
- package/slack-bot/node_modules/@slack/web-api/dist/retry-policies.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/dist/retry-policies.js +34 -0
- package/slack-bot/node_modules/@slack/web-api/dist/retry-policies.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/@slack/logger/README.md +0 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/@slack/logger/dist/index.d.ts +100 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/@slack/logger/dist/index.d.ts.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/@slack/logger/dist/index.js +92 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/@slack/logger/dist/index.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/@slack/logger/package.json +52 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/eventemitter3/LICENSE +21 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/eventemitter3/README.md +92 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/eventemitter3/index.d.ts +64 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/eventemitter3/index.js +336 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/eventemitter3/package.json +56 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/eventemitter3/umd/eventemitter3.js +340 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/eventemitter3/umd/eventemitter3.min.js +1 -0
- package/slack-bot/node_modules/@slack/web-api/node_modules/eventemitter3/umd/eventemitter3.min.js.map +1 -0
- package/slack-bot/node_modules/@slack/web-api/package.json +92 -0
- package/slack-bot/node_modules/@types/body-parser/LICENSE +21 -0
- package/slack-bot/node_modules/@types/body-parser/README.md +15 -0
- package/slack-bot/node_modules/@types/body-parser/index.d.ts +95 -0
- package/slack-bot/node_modules/@types/body-parser/package.json +64 -0
- package/slack-bot/node_modules/@types/connect/LICENSE +21 -0
- package/slack-bot/node_modules/@types/connect/README.md +15 -0
- package/slack-bot/node_modules/@types/connect/index.d.ts +91 -0
- package/slack-bot/node_modules/@types/connect/package.json +32 -0
- package/slack-bot/node_modules/@types/express/LICENSE +21 -0
- package/slack-bot/node_modules/@types/express/README.md +15 -0
- package/slack-bot/node_modules/@types/express/index.d.ts +128 -0
- package/slack-bot/node_modules/@types/express/package.json +46 -0
- package/slack-bot/node_modules/@types/express-serve-static-core/LICENSE +21 -0
- package/slack-bot/node_modules/@types/express-serve-static-core/README.md +15 -0
- package/slack-bot/node_modules/@types/express-serve-static-core/index.d.ts +1281 -0
- package/slack-bot/node_modules/@types/express-serve-static-core/package.json +51 -0
- package/slack-bot/node_modules/@types/http-errors/LICENSE +21 -0
- package/slack-bot/node_modules/@types/http-errors/README.md +15 -0
- package/slack-bot/node_modules/@types/http-errors/index.d.ts +77 -0
- package/slack-bot/node_modules/@types/http-errors/package.json +36 -0
- package/slack-bot/node_modules/@types/is-stream/LICENSE +21 -0
- package/slack-bot/node_modules/@types/is-stream/README.md +16 -0
- package/slack-bot/node_modules/@types/is-stream/index.d.ts +18 -0
- package/slack-bot/node_modules/@types/is-stream/package.json +24 -0
- package/slack-bot/node_modules/@types/jsonwebtoken/LICENSE +21 -0
- package/slack-bot/node_modules/@types/jsonwebtoken/README.md +16 -0
- package/slack-bot/node_modules/@types/jsonwebtoken/index.d.ts +247 -0
- package/slack-bot/node_modules/@types/jsonwebtoken/package.json +82 -0
- package/slack-bot/node_modules/@types/mime/LICENSE +21 -0
- package/slack-bot/node_modules/@types/mime/Mime.d.ts +10 -0
- package/slack-bot/node_modules/@types/mime/README.md +15 -0
- package/slack-bot/node_modules/@types/mime/index.d.ts +31 -0
- package/slack-bot/node_modules/@types/mime/lite.d.ts +7 -0
- package/slack-bot/node_modules/@types/mime/package.json +30 -0
- package/slack-bot/node_modules/@types/node/LICENSE +21 -0
- package/slack-bot/node_modules/@types/node/README.md +15 -0
- package/slack-bot/node_modules/@types/node/assert/strict.d.ts +105 -0
- package/slack-bot/node_modules/@types/node/assert.d.ts +955 -0
- package/slack-bot/node_modules/@types/node/async_hooks.d.ts +623 -0
- package/slack-bot/node_modules/@types/node/buffer.buffer.d.ts +466 -0
- package/slack-bot/node_modules/@types/node/buffer.d.ts +1810 -0
- package/slack-bot/node_modules/@types/node/child_process.d.ts +1433 -0
- package/slack-bot/node_modules/@types/node/cluster.d.ts +486 -0
- package/slack-bot/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/slack-bot/node_modules/@types/node/console.d.ts +151 -0
- package/slack-bot/node_modules/@types/node/constants.d.ts +20 -0
- package/slack-bot/node_modules/@types/node/crypto.d.ts +4065 -0
- package/slack-bot/node_modules/@types/node/dgram.d.ts +564 -0
- package/slack-bot/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
- package/slack-bot/node_modules/@types/node/dns/promises.d.ts +503 -0
- package/slack-bot/node_modules/@types/node/dns.d.ts +922 -0
- package/slack-bot/node_modules/@types/node/domain.d.ts +166 -0
- package/slack-bot/node_modules/@types/node/events.d.ts +1047 -0
- package/slack-bot/node_modules/@types/node/fs/promises.d.ts +1329 -0
- package/slack-bot/node_modules/@types/node/fs.d.ts +4678 -0
- package/slack-bot/node_modules/@types/node/globals.d.ts +150 -0
- package/slack-bot/node_modules/@types/node/globals.typedarray.d.ts +101 -0
- package/slack-bot/node_modules/@types/node/http.d.ts +2188 -0
- package/slack-bot/node_modules/@types/node/http2.d.ts +2480 -0
- package/slack-bot/node_modules/@types/node/https.d.ts +405 -0
- package/slack-bot/node_modules/@types/node/index.d.ts +115 -0
- package/slack-bot/node_modules/@types/node/inspector/promises.d.ts +41 -0
- package/slack-bot/node_modules/@types/node/inspector.d.ts +269 -0
- package/slack-bot/node_modules/@types/node/inspector.generated.d.ts +4401 -0
- package/slack-bot/node_modules/@types/node/module.d.ts +757 -0
- package/slack-bot/node_modules/@types/node/net.d.ts +933 -0
- package/slack-bot/node_modules/@types/node/os.d.ts +507 -0
- package/slack-bot/node_modules/@types/node/package.json +155 -0
- package/slack-bot/node_modules/@types/node/path/posix.d.ts +8 -0
- package/slack-bot/node_modules/@types/node/path/win32.d.ts +8 -0
- package/slack-bot/node_modules/@types/node/path.d.ts +187 -0
- package/slack-bot/node_modules/@types/node/perf_hooks.d.ts +643 -0
- package/slack-bot/node_modules/@types/node/process.d.ts +2175 -0
- package/slack-bot/node_modules/@types/node/punycode.d.ts +117 -0
- package/slack-bot/node_modules/@types/node/querystring.d.ts +152 -0
- package/slack-bot/node_modules/@types/node/quic.d.ts +910 -0
- package/slack-bot/node_modules/@types/node/readline/promises.d.ts +161 -0
- package/slack-bot/node_modules/@types/node/readline.d.ts +542 -0
- package/slack-bot/node_modules/@types/node/repl.d.ts +415 -0
- package/slack-bot/node_modules/@types/node/sea.d.ts +162 -0
- package/slack-bot/node_modules/@types/node/sqlite.d.ts +1065 -0
- package/slack-bot/node_modules/@types/node/stream/consumers.d.ts +38 -0
- package/slack-bot/node_modules/@types/node/stream/promises.d.ts +211 -0
- package/slack-bot/node_modules/@types/node/stream/web.d.ts +296 -0
- package/slack-bot/node_modules/@types/node/stream.d.ts +1770 -0
- package/slack-bot/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/slack-bot/node_modules/@types/node/test/reporters.d.ts +96 -0
- package/slack-bot/node_modules/@types/node/test.d.ts +2275 -0
- package/slack-bot/node_modules/@types/node/timers/promises.d.ts +108 -0
- package/slack-bot/node_modules/@types/node/timers.d.ts +159 -0
- package/slack-bot/node_modules/@types/node/tls.d.ts +1203 -0
- package/slack-bot/node_modules/@types/node/trace_events.d.ts +197 -0
- package/slack-bot/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
- package/slack-bot/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
- package/slack-bot/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
- package/slack-bot/node_modules/@types/node/ts5.6/index.d.ts +117 -0
- package/slack-bot/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
- package/slack-bot/node_modules/@types/node/ts5.7/index.d.ts +117 -0
- package/slack-bot/node_modules/@types/node/tty.d.ts +250 -0
- package/slack-bot/node_modules/@types/node/url.d.ts +541 -0
- package/slack-bot/node_modules/@types/node/util/types.d.ts +558 -0
- package/slack-bot/node_modules/@types/node/util.d.ts +1687 -0
- package/slack-bot/node_modules/@types/node/v8.d.ts +988 -0
- package/slack-bot/node_modules/@types/node/vm.d.ts +1208 -0
- package/slack-bot/node_modules/@types/node/wasi.d.ts +202 -0
- package/slack-bot/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
- package/slack-bot/node_modules/@types/node/web-globals/blob.d.ts +23 -0
- package/slack-bot/node_modules/@types/node/web-globals/console.d.ts +9 -0
- package/slack-bot/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
- package/slack-bot/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/slack-bot/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
- package/slack-bot/node_modules/@types/node/web-globals/events.d.ts +106 -0
- package/slack-bot/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
- package/slack-bot/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
- package/slack-bot/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
- package/slack-bot/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
- package/slack-bot/node_modules/@types/node/web-globals/performance.d.ts +45 -0
- package/slack-bot/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/slack-bot/node_modules/@types/node/web-globals/streams.d.ts +115 -0
- package/slack-bot/node_modules/@types/node/web-globals/timers.d.ts +44 -0
- package/slack-bot/node_modules/@types/node/web-globals/url.d.ts +24 -0
- package/slack-bot/node_modules/@types/node/worker_threads.d.ts +717 -0
- package/slack-bot/node_modules/@types/node/zlib.d.ts +682 -0
- package/slack-bot/node_modules/@types/promise.allsettled/LICENSE +21 -0
- package/slack-bot/node_modules/@types/promise.allsettled/README.md +15 -0
- package/slack-bot/node_modules/@types/promise.allsettled/auto.d.ts +5 -0
- package/slack-bot/node_modules/@types/promise.allsettled/implementation.d.ts +12 -0
- package/slack-bot/node_modules/@types/promise.allsettled/index.d.ts +27 -0
- package/slack-bot/node_modules/@types/promise.allsettled/package.json +35 -0
- package/slack-bot/node_modules/@types/promise.allsettled/polyfill.d.ts +5 -0
- package/slack-bot/node_modules/@types/promise.allsettled/requirePromise.d.ts +3 -0
- package/slack-bot/node_modules/@types/promise.allsettled/shim.d.ts +5 -0
- package/slack-bot/node_modules/@types/promise.allsettled/types.d.ts +14 -0
- package/slack-bot/node_modules/@types/qs/LICENSE +21 -0
- package/slack-bot/node_modules/@types/qs/README.md +15 -0
- package/slack-bot/node_modules/@types/qs/index.d.ts +83 -0
- package/slack-bot/node_modules/@types/qs/package.json +66 -0
- package/slack-bot/node_modules/@types/range-parser/LICENSE +21 -0
- package/slack-bot/node_modules/@types/range-parser/README.md +53 -0
- package/slack-bot/node_modules/@types/range-parser/index.d.ts +34 -0
- package/slack-bot/node_modules/@types/range-parser/package.json +25 -0
- package/slack-bot/node_modules/@types/retry/LICENSE +21 -0
- package/slack-bot/node_modules/@types/retry/README.md +16 -0
- package/slack-bot/node_modules/@types/retry/index.d.ts +151 -0
- package/slack-bot/node_modules/@types/retry/package.json +28 -0
- package/slack-bot/node_modules/@types/send/LICENSE +21 -0
- package/slack-bot/node_modules/@types/send/README.md +15 -0
- package/slack-bot/node_modules/@types/send/index.d.ts +187 -0
- package/slack-bot/node_modules/@types/send/package.json +38 -0
- package/slack-bot/node_modules/@types/serve-static/LICENSE +21 -0
- package/slack-bot/node_modules/@types/serve-static/README.md +15 -0
- package/slack-bot/node_modules/@types/serve-static/index.d.ts +107 -0
- package/slack-bot/node_modules/@types/serve-static/node_modules/@types/send/LICENSE +21 -0
- package/slack-bot/node_modules/@types/serve-static/node_modules/@types/send/README.md +15 -0
- package/slack-bot/node_modules/@types/serve-static/node_modules/@types/send/index.d.ts +225 -0
- package/slack-bot/node_modules/@types/serve-static/node_modules/@types/send/package.json +39 -0
- package/slack-bot/node_modules/@types/serve-static/package.json +45 -0
- package/slack-bot/node_modules/@types/tsscmp/LICENSE +21 -0
- package/slack-bot/node_modules/@types/tsscmp/README.md +23 -0
- package/slack-bot/node_modules/@types/tsscmp/index.d.ts +4 -0
- package/slack-bot/node_modules/@types/tsscmp/package.json +25 -0
- package/slack-bot/node_modules/@types/ws/LICENSE +21 -0
- package/slack-bot/node_modules/@types/ws/README.md +16 -0
- package/slack-bot/node_modules/@types/ws/index.d.ts +353 -0
- package/slack-bot/node_modules/@types/ws/package.json +57 -0
- package/slack-bot/node_modules/accepts/HISTORY.md +243 -0
- package/slack-bot/node_modules/accepts/LICENSE +23 -0
- package/slack-bot/node_modules/accepts/README.md +140 -0
- package/slack-bot/node_modules/accepts/index.js +238 -0
- package/slack-bot/node_modules/accepts/package.json +47 -0
- package/slack-bot/node_modules/array-buffer-byte-length/.eslintrc +9 -0
- package/slack-bot/node_modules/array-buffer-byte-length/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/array-buffer-byte-length/.nycrc +13 -0
- package/slack-bot/node_modules/array-buffer-byte-length/CHANGELOG.md +43 -0
- package/slack-bot/node_modules/array-buffer-byte-length/LICENSE +21 -0
- package/slack-bot/node_modules/array-buffer-byte-length/README.md +40 -0
- package/slack-bot/node_modules/array-buffer-byte-length/index.d.ts +4 -0
- package/slack-bot/node_modules/array-buffer-byte-length/index.js +14 -0
- package/slack-bot/node_modules/array-buffer-byte-length/package.json +94 -0
- package/slack-bot/node_modules/array-buffer-byte-length/test/index.js +29 -0
- package/slack-bot/node_modules/array-buffer-byte-length/tsconfig.json +9 -0
- package/slack-bot/node_modules/array-flatten/LICENSE +21 -0
- package/slack-bot/node_modules/array-flatten/README.md +43 -0
- package/slack-bot/node_modules/array-flatten/array-flatten.js +64 -0
- package/slack-bot/node_modules/array-flatten/package.json +39 -0
- package/slack-bot/node_modules/array.prototype.map/.editorconfig +20 -0
- package/slack-bot/node_modules/array.prototype.map/.eslintrc +36 -0
- package/slack-bot/node_modules/array.prototype.map/.nycrc +9 -0
- package/slack-bot/node_modules/array.prototype.map/CHANGELOG.md +126 -0
- package/slack-bot/node_modules/array.prototype.map/LICENSE +21 -0
- package/slack-bot/node_modules/array.prototype.map/README.md +66 -0
- package/slack-bot/node_modules/array.prototype.map/auto.js +3 -0
- package/slack-bot/node_modules/array.prototype.map/implementation.js +52 -0
- package/slack-bot/node_modules/array.prototype.map/index.js +26 -0
- package/slack-bot/node_modules/array.prototype.map/package.json +84 -0
- package/slack-bot/node_modules/array.prototype.map/polyfill.js +10 -0
- package/slack-bot/node_modules/array.prototype.map/shim.js +14 -0
- package/slack-bot/node_modules/array.prototype.map/test/implementation.js +51 -0
- package/slack-bot/node_modules/array.prototype.map/test/index.js +18 -0
- package/slack-bot/node_modules/array.prototype.map/test/shimmed.js +67 -0
- package/slack-bot/node_modules/array.prototype.map/test/tests.js +186 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/.editorconfig +13 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/.eslintrc +34 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/.nycrc +9 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/CHANGELOG.md +52 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/LICENSE +21 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/README.md +61 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/auto.js +3 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/implementation.js +84 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/index.js +18 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/package.json +102 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/polyfill.js +21 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/shim.js +18 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/test/implementation.js +32 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/test/index.js +29 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/test/shimmed.js +54 -0
- package/slack-bot/node_modules/arraybuffer.prototype.slice/test/tests.js +81 -0
- package/slack-bot/node_modules/async-function/.eslintrc +16 -0
- package/slack-bot/node_modules/async-function/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/async-function/.nycrc +9 -0
- package/slack-bot/node_modules/async-function/CHANGELOG.md +16 -0
- package/slack-bot/node_modules/async-function/LICENSE +21 -0
- package/slack-bot/node_modules/async-function/README.md +51 -0
- package/slack-bot/node_modules/async-function/index.d.mts +3 -0
- package/slack-bot/node_modules/async-function/index.d.ts +13 -0
- package/slack-bot/node_modules/async-function/index.js +8 -0
- package/slack-bot/node_modules/async-function/index.mjs +4 -0
- package/slack-bot/node_modules/async-function/legacy.js +18 -0
- package/slack-bot/node_modules/async-function/package.json +86 -0
- package/slack-bot/node_modules/async-function/require.mjs +5 -0
- package/slack-bot/node_modules/async-function/test/index.js +40 -0
- package/slack-bot/node_modules/async-function/tsconfig.json +9 -0
- package/slack-bot/node_modules/asynckit/LICENSE +21 -0
- package/slack-bot/node_modules/asynckit/README.md +233 -0
- package/slack-bot/node_modules/asynckit/bench.js +76 -0
- package/slack-bot/node_modules/asynckit/index.js +6 -0
- package/slack-bot/node_modules/asynckit/lib/abort.js +29 -0
- package/slack-bot/node_modules/asynckit/lib/async.js +34 -0
- package/slack-bot/node_modules/asynckit/lib/defer.js +26 -0
- package/slack-bot/node_modules/asynckit/lib/iterate.js +75 -0
- package/slack-bot/node_modules/asynckit/lib/readable_asynckit.js +91 -0
- package/slack-bot/node_modules/asynckit/lib/readable_parallel.js +25 -0
- package/slack-bot/node_modules/asynckit/lib/readable_serial.js +25 -0
- package/slack-bot/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
- package/slack-bot/node_modules/asynckit/lib/state.js +37 -0
- package/slack-bot/node_modules/asynckit/lib/streamify.js +141 -0
- package/slack-bot/node_modules/asynckit/lib/terminator.js +29 -0
- package/slack-bot/node_modules/asynckit/package.json +63 -0
- package/slack-bot/node_modules/asynckit/parallel.js +43 -0
- package/slack-bot/node_modules/asynckit/serial.js +17 -0
- package/slack-bot/node_modules/asynckit/serialOrdered.js +75 -0
- package/slack-bot/node_modules/asynckit/stream.js +21 -0
- package/slack-bot/node_modules/available-typed-arrays/.eslintrc +5 -0
- package/slack-bot/node_modules/available-typed-arrays/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/available-typed-arrays/.nycrc +9 -0
- package/slack-bot/node_modules/available-typed-arrays/CHANGELOG.md +100 -0
- package/slack-bot/node_modules/available-typed-arrays/LICENSE +21 -0
- package/slack-bot/node_modules/available-typed-arrays/README.md +55 -0
- package/slack-bot/node_modules/available-typed-arrays/index.d.ts +8 -0
- package/slack-bot/node_modules/available-typed-arrays/index.js +17 -0
- package/slack-bot/node_modules/available-typed-arrays/package.json +93 -0
- package/slack-bot/node_modules/available-typed-arrays/test/index.js +18 -0
- package/slack-bot/node_modules/available-typed-arrays/tsconfig.json +49 -0
- package/slack-bot/node_modules/axios/CHANGELOG.md +1416 -0
- package/slack-bot/node_modules/axios/LICENSE +7 -0
- package/slack-bot/node_modules/axios/MIGRATION_GUIDE.md +877 -0
- package/slack-bot/node_modules/axios/README.md +1921 -0
- package/slack-bot/node_modules/axios/dist/axios.js +4463 -0
- package/slack-bot/node_modules/axios/dist/axios.js.map +1 -0
- package/slack-bot/node_modules/axios/dist/axios.min.js +5 -0
- package/slack-bot/node_modules/axios/dist/axios.min.js.map +1 -0
- package/slack-bot/node_modules/axios/dist/browser/axios.cjs +4239 -0
- package/slack-bot/node_modules/axios/dist/browser/axios.cjs.map +1 -0
- package/slack-bot/node_modules/axios/dist/esm/axios.js +4262 -0
- package/slack-bot/node_modules/axios/dist/esm/axios.js.map +1 -0
- package/slack-bot/node_modules/axios/dist/esm/axios.min.js +3 -0
- package/slack-bot/node_modules/axios/dist/esm/axios.min.js.map +1 -0
- package/slack-bot/node_modules/axios/dist/node/axios.cjs +5643 -0
- package/slack-bot/node_modules/axios/dist/node/axios.cjs.map +1 -0
- package/slack-bot/node_modules/axios/index.d.cts +716 -0
- package/slack-bot/node_modules/axios/index.d.ts +810 -0
- package/slack-bot/node_modules/axios/index.js +43 -0
- package/slack-bot/node_modules/axios/lib/adapters/README.md +36 -0
- package/slack-bot/node_modules/axios/lib/adapters/adapters.js +130 -0
- package/slack-bot/node_modules/axios/lib/adapters/fetch.js +334 -0
- package/slack-bot/node_modules/axios/lib/adapters/http.js +949 -0
- package/slack-bot/node_modules/axios/lib/adapters/xhr.js +222 -0
- package/slack-bot/node_modules/axios/lib/axios.js +89 -0
- package/slack-bot/node_modules/axios/lib/cancel/CancelToken.js +135 -0
- package/slack-bot/node_modules/axios/lib/cancel/CanceledError.js +22 -0
- package/slack-bot/node_modules/axios/lib/cancel/isCancel.js +5 -0
- package/slack-bot/node_modules/axios/lib/core/Axios.js +263 -0
- package/slack-bot/node_modules/axios/lib/core/AxiosError.js +90 -0
- package/slack-bot/node_modules/axios/lib/core/AxiosHeaders.js +344 -0
- package/slack-bot/node_modules/axios/lib/core/InterceptorManager.js +72 -0
- package/slack-bot/node_modules/axios/lib/core/README.md +8 -0
- package/slack-bot/node_modules/axios/lib/core/buildFullPath.js +22 -0
- package/slack-bot/node_modules/axios/lib/core/dispatchRequest.js +77 -0
- package/slack-bot/node_modules/axios/lib/core/mergeConfig.js +107 -0
- package/slack-bot/node_modules/axios/lib/core/settle.js +31 -0
- package/slack-bot/node_modules/axios/lib/core/transformData.js +28 -0
- package/slack-bot/node_modules/axios/lib/defaults/index.js +172 -0
- package/slack-bot/node_modules/axios/lib/defaults/transitional.js +8 -0
- package/slack-bot/node_modules/axios/lib/env/README.md +3 -0
- package/slack-bot/node_modules/axios/lib/env/classes/FormData.js +2 -0
- package/slack-bot/node_modules/axios/lib/env/data.js +1 -0
- package/slack-bot/node_modules/axios/lib/helpers/AxiosTransformStream.js +156 -0
- package/slack-bot/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +62 -0
- package/slack-bot/node_modules/axios/lib/helpers/HttpStatusCode.js +77 -0
- package/slack-bot/node_modules/axios/lib/helpers/README.md +7 -0
- package/slack-bot/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js +29 -0
- package/slack-bot/node_modules/axios/lib/helpers/bind.js +14 -0
- package/slack-bot/node_modules/axios/lib/helpers/buildURL.js +66 -0
- package/slack-bot/node_modules/axios/lib/helpers/callbackify.js +18 -0
- package/slack-bot/node_modules/axios/lib/helpers/combineURLs.js +15 -0
- package/slack-bot/node_modules/axios/lib/helpers/composeSignals.js +56 -0
- package/slack-bot/node_modules/axios/lib/helpers/cookies.js +48 -0
- package/slack-bot/node_modules/axios/lib/helpers/deprecatedMethod.js +31 -0
- package/slack-bot/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +73 -0
- package/slack-bot/node_modules/axios/lib/helpers/formDataToJSON.js +95 -0
- package/slack-bot/node_modules/axios/lib/helpers/formDataToStream.js +118 -0
- package/slack-bot/node_modules/axios/lib/helpers/fromDataURI.js +53 -0
- package/slack-bot/node_modules/axios/lib/helpers/isAbsoluteURL.js +19 -0
- package/slack-bot/node_modules/axios/lib/helpers/isAxiosError.js +14 -0
- package/slack-bot/node_modules/axios/lib/helpers/isURLSameOrigin.js +16 -0
- package/slack-bot/node_modules/axios/lib/helpers/null.js +2 -0
- package/slack-bot/node_modules/axios/lib/helpers/parseHeaders.js +69 -0
- package/slack-bot/node_modules/axios/lib/helpers/parseProtocol.js +6 -0
- package/slack-bot/node_modules/axios/lib/helpers/progressEventReducer.js +51 -0
- package/slack-bot/node_modules/axios/lib/helpers/readBlob.js +15 -0
- package/slack-bot/node_modules/axios/lib/helpers/resolveConfig.js +70 -0
- package/slack-bot/node_modules/axios/lib/helpers/speedometer.js +55 -0
- package/slack-bot/node_modules/axios/lib/helpers/spread.js +28 -0
- package/slack-bot/node_modules/axios/lib/helpers/throttle.js +44 -0
- package/slack-bot/node_modules/axios/lib/helpers/toFormData.js +241 -0
- package/slack-bot/node_modules/axios/lib/helpers/toURLEncodedForm.js +19 -0
- package/slack-bot/node_modules/axios/lib/helpers/trackStream.js +89 -0
- package/slack-bot/node_modules/axios/lib/helpers/validator.js +110 -0
- package/slack-bot/node_modules/axios/lib/platform/browser/classes/Blob.js +3 -0
- package/slack-bot/node_modules/axios/lib/platform/browser/classes/FormData.js +3 -0
- package/slack-bot/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +4 -0
- package/slack-bot/node_modules/axios/lib/platform/browser/index.js +13 -0
- package/slack-bot/node_modules/axios/lib/platform/common/utils.js +52 -0
- package/slack-bot/node_modules/axios/lib/platform/index.js +7 -0
- package/slack-bot/node_modules/axios/lib/platform/node/classes/FormData.js +3 -0
- package/slack-bot/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +4 -0
- package/slack-bot/node_modules/axios/lib/platform/node/index.js +37 -0
- package/slack-bot/node_modules/axios/lib/utils.js +919 -0
- package/slack-bot/node_modules/axios/node_modules/form-data/CHANGELOG.md +659 -0
- package/slack-bot/node_modules/axios/node_modules/form-data/License +19 -0
- package/slack-bot/node_modules/axios/node_modules/form-data/README.md +355 -0
- package/slack-bot/node_modules/axios/node_modules/form-data/index.d.ts +62 -0
- package/slack-bot/node_modules/axios/node_modules/form-data/lib/browser.js +4 -0
- package/slack-bot/node_modules/axios/node_modules/form-data/lib/form_data.js +494 -0
- package/slack-bot/node_modules/axios/node_modules/form-data/lib/populate.js +10 -0
- package/slack-bot/node_modules/axios/node_modules/form-data/package.json +82 -0
- package/slack-bot/node_modules/axios/package.json +226 -0
- package/slack-bot/node_modules/body-parser/HISTORY.md +680 -0
- package/slack-bot/node_modules/body-parser/LICENSE +23 -0
- package/slack-bot/node_modules/body-parser/README.md +476 -0
- package/slack-bot/node_modules/body-parser/index.js +156 -0
- package/slack-bot/node_modules/body-parser/lib/read.js +205 -0
- package/slack-bot/node_modules/body-parser/lib/types/json.js +247 -0
- package/slack-bot/node_modules/body-parser/lib/types/raw.js +101 -0
- package/slack-bot/node_modules/body-parser/lib/types/text.js +121 -0
- package/slack-bot/node_modules/body-parser/lib/types/urlencoded.js +300 -0
- package/slack-bot/node_modules/body-parser/package.json +55 -0
- package/slack-bot/node_modules/buffer-equal-constant-time/.travis.yml +4 -0
- package/slack-bot/node_modules/buffer-equal-constant-time/LICENSE.txt +12 -0
- package/slack-bot/node_modules/buffer-equal-constant-time/README.md +50 -0
- package/slack-bot/node_modules/buffer-equal-constant-time/index.js +41 -0
- package/slack-bot/node_modules/buffer-equal-constant-time/package.json +21 -0
- package/slack-bot/node_modules/buffer-equal-constant-time/test.js +42 -0
- package/slack-bot/node_modules/bytes/History.md +97 -0
- package/slack-bot/node_modules/bytes/LICENSE +23 -0
- package/slack-bot/node_modules/bytes/Readme.md +152 -0
- package/slack-bot/node_modules/bytes/index.js +170 -0
- package/slack-bot/node_modules/bytes/package.json +42 -0
- package/slack-bot/node_modules/call-bind/.eslintignore +1 -0
- package/slack-bot/node_modules/call-bind/.eslintrc +16 -0
- package/slack-bot/node_modules/call-bind/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/call-bind/.nycrc +9 -0
- package/slack-bot/node_modules/call-bind/CHANGELOG.md +106 -0
- package/slack-bot/node_modules/call-bind/LICENSE +21 -0
- package/slack-bot/node_modules/call-bind/README.md +64 -0
- package/slack-bot/node_modules/call-bind/callBound.js +15 -0
- package/slack-bot/node_modules/call-bind/index.js +24 -0
- package/slack-bot/node_modules/call-bind/package.json +93 -0
- package/slack-bot/node_modules/call-bind/test/callBound.js +54 -0
- package/slack-bot/node_modules/call-bind/test/index.js +74 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/.nycrc +9 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/LICENSE +21 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/README.md +62 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/index.js +15 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/package.json +85 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/test/index.js +63 -0
- package/slack-bot/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
- package/slack-bot/node_modules/call-bound/.eslintrc +13 -0
- package/slack-bot/node_modules/call-bound/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/call-bound/.nycrc +9 -0
- package/slack-bot/node_modules/call-bound/CHANGELOG.md +42 -0
- package/slack-bot/node_modules/call-bound/LICENSE +21 -0
- package/slack-bot/node_modules/call-bound/README.md +53 -0
- package/slack-bot/node_modules/call-bound/index.d.ts +94 -0
- package/slack-bot/node_modules/call-bound/index.js +19 -0
- package/slack-bot/node_modules/call-bound/package.json +99 -0
- package/slack-bot/node_modules/call-bound/test/index.js +61 -0
- package/slack-bot/node_modules/call-bound/tsconfig.json +10 -0
- package/slack-bot/node_modules/combined-stream/License +19 -0
- package/slack-bot/node_modules/combined-stream/Readme.md +138 -0
- package/slack-bot/node_modules/combined-stream/lib/combined_stream.js +208 -0
- package/slack-bot/node_modules/combined-stream/package.json +25 -0
- package/slack-bot/node_modules/combined-stream/yarn.lock +17 -0
- package/slack-bot/node_modules/content-disposition/HISTORY.md +60 -0
- package/slack-bot/node_modules/content-disposition/LICENSE +22 -0
- package/slack-bot/node_modules/content-disposition/README.md +142 -0
- package/slack-bot/node_modules/content-disposition/index.js +458 -0
- package/slack-bot/node_modules/content-disposition/package.json +44 -0
- package/slack-bot/node_modules/content-type/HISTORY.md +29 -0
- package/slack-bot/node_modules/content-type/LICENSE +22 -0
- package/slack-bot/node_modules/content-type/README.md +94 -0
- package/slack-bot/node_modules/content-type/index.js +225 -0
- package/slack-bot/node_modules/content-type/package.json +42 -0
- package/slack-bot/node_modules/cookie/LICENSE +24 -0
- package/slack-bot/node_modules/cookie/README.md +317 -0
- package/slack-bot/node_modules/cookie/SECURITY.md +25 -0
- package/slack-bot/node_modules/cookie/index.js +335 -0
- package/slack-bot/node_modules/cookie/package.json +44 -0
- package/slack-bot/node_modules/cookie-signature/History.md +42 -0
- package/slack-bot/node_modules/cookie-signature/Readme.md +42 -0
- package/slack-bot/node_modules/cookie-signature/index.js +51 -0
- package/slack-bot/node_modules/cookie-signature/package.json +18 -0
- package/slack-bot/node_modules/data-view-buffer/.eslintrc +17 -0
- package/slack-bot/node_modules/data-view-buffer/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/data-view-buffer/.nycrc +13 -0
- package/slack-bot/node_modules/data-view-buffer/CHANGELOG.md +38 -0
- package/slack-bot/node_modules/data-view-buffer/LICENSE +21 -0
- package/slack-bot/node_modules/data-view-buffer/README.md +43 -0
- package/slack-bot/node_modules/data-view-buffer/index.d.ts +4 -0
- package/slack-bot/node_modules/data-view-buffer/index.js +19 -0
- package/slack-bot/node_modules/data-view-buffer/package.json +88 -0
- package/slack-bot/node_modules/data-view-buffer/test/index.js +31 -0
- package/slack-bot/node_modules/data-view-buffer/tsconfig.json +10 -0
- package/slack-bot/node_modules/data-view-byte-length/.eslintrc +17 -0
- package/slack-bot/node_modules/data-view-byte-length/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/data-view-byte-length/.nycrc +13 -0
- package/slack-bot/node_modules/data-view-byte-length/CHANGELOG.md +36 -0
- package/slack-bot/node_modules/data-view-byte-length/LICENSE +21 -0
- package/slack-bot/node_modules/data-view-byte-length/README.md +43 -0
- package/slack-bot/node_modules/data-view-byte-length/index.d.ts +4 -0
- package/slack-bot/node_modules/data-view-byte-length/index.js +19 -0
- package/slack-bot/node_modules/data-view-byte-length/package.json +92 -0
- package/slack-bot/node_modules/data-view-byte-length/test/index.js +31 -0
- package/slack-bot/node_modules/data-view-byte-length/tsconfig.json +9 -0
- package/slack-bot/node_modules/data-view-byte-offset/.eslintrc +17 -0
- package/slack-bot/node_modules/data-view-byte-offset/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/data-view-byte-offset/.nycrc +13 -0
- package/slack-bot/node_modules/data-view-byte-offset/CHANGELOG.md +31 -0
- package/slack-bot/node_modules/data-view-byte-offset/LICENSE +21 -0
- package/slack-bot/node_modules/data-view-byte-offset/README.md +43 -0
- package/slack-bot/node_modules/data-view-byte-offset/index.d.ts +4 -0
- package/slack-bot/node_modules/data-view-byte-offset/index.js +19 -0
- package/slack-bot/node_modules/data-view-byte-offset/package.json +94 -0
- package/slack-bot/node_modules/data-view-byte-offset/test/index.js +31 -0
- package/slack-bot/node_modules/data-view-byte-offset/tsconfig.json +9 -0
- package/slack-bot/node_modules/debug/.coveralls.yml +1 -0
- package/slack-bot/node_modules/debug/.eslintrc +11 -0
- package/slack-bot/node_modules/debug/.travis.yml +14 -0
- package/slack-bot/node_modules/debug/CHANGELOG.md +362 -0
- package/slack-bot/node_modules/debug/LICENSE +19 -0
- package/slack-bot/node_modules/debug/Makefile +50 -0
- package/slack-bot/node_modules/debug/README.md +312 -0
- package/slack-bot/node_modules/debug/component.json +19 -0
- package/slack-bot/node_modules/debug/karma.conf.js +70 -0
- package/slack-bot/node_modules/debug/node.js +1 -0
- package/slack-bot/node_modules/debug/package.json +49 -0
- package/slack-bot/node_modules/debug/src/browser.js +185 -0
- package/slack-bot/node_modules/debug/src/debug.js +202 -0
- package/slack-bot/node_modules/debug/src/index.js +10 -0
- package/slack-bot/node_modules/debug/src/inspector-log.js +15 -0
- package/slack-bot/node_modules/debug/src/node.js +248 -0
- package/slack-bot/node_modules/define-data-property/.eslintrc +24 -0
- package/slack-bot/node_modules/define-data-property/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/define-data-property/.nycrc +13 -0
- package/slack-bot/node_modules/define-data-property/CHANGELOG.md +70 -0
- package/slack-bot/node_modules/define-data-property/LICENSE +21 -0
- package/slack-bot/node_modules/define-data-property/README.md +67 -0
- package/slack-bot/node_modules/define-data-property/index.d.ts +12 -0
- package/slack-bot/node_modules/define-data-property/index.js +56 -0
- package/slack-bot/node_modules/define-data-property/package.json +106 -0
- package/slack-bot/node_modules/define-data-property/test/index.js +392 -0
- package/slack-bot/node_modules/define-data-property/tsconfig.json +59 -0
- package/slack-bot/node_modules/define-properties/.editorconfig +13 -0
- package/slack-bot/node_modules/define-properties/.eslintrc +19 -0
- package/slack-bot/node_modules/define-properties/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/define-properties/.nycrc +9 -0
- package/slack-bot/node_modules/define-properties/CHANGELOG.md +91 -0
- package/slack-bot/node_modules/define-properties/LICENSE +21 -0
- package/slack-bot/node_modules/define-properties/README.md +84 -0
- package/slack-bot/node_modules/define-properties/index.js +47 -0
- package/slack-bot/node_modules/define-properties/package.json +88 -0
- package/slack-bot/node_modules/delayed-stream/License +19 -0
- package/slack-bot/node_modules/delayed-stream/Makefile +7 -0
- package/slack-bot/node_modules/delayed-stream/Readme.md +141 -0
- package/slack-bot/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
- package/slack-bot/node_modules/delayed-stream/package.json +27 -0
- package/slack-bot/node_modules/depd/History.md +103 -0
- package/slack-bot/node_modules/depd/LICENSE +22 -0
- package/slack-bot/node_modules/depd/Readme.md +280 -0
- package/slack-bot/node_modules/depd/index.js +538 -0
- package/slack-bot/node_modules/depd/lib/browser/index.js +77 -0
- package/slack-bot/node_modules/depd/package.json +45 -0
- package/slack-bot/node_modules/destroy/LICENSE +23 -0
- package/slack-bot/node_modules/destroy/README.md +63 -0
- package/slack-bot/node_modules/destroy/index.js +209 -0
- package/slack-bot/node_modules/destroy/package.json +48 -0
- package/slack-bot/node_modules/dotenv/CHANGELOG.md +520 -0
- package/slack-bot/node_modules/dotenv/LICENSE +23 -0
- package/slack-bot/node_modules/dotenv/README-es.md +411 -0
- package/slack-bot/node_modules/dotenv/README.md +645 -0
- package/slack-bot/node_modules/dotenv/SECURITY.md +1 -0
- package/slack-bot/node_modules/dotenv/config.d.ts +1 -0
- package/slack-bot/node_modules/dotenv/config.js +9 -0
- package/slack-bot/node_modules/dotenv/lib/cli-options.js +17 -0
- package/slack-bot/node_modules/dotenv/lib/env-options.js +28 -0
- package/slack-bot/node_modules/dotenv/lib/main.d.ts +162 -0
- package/slack-bot/node_modules/dotenv/lib/main.js +386 -0
- package/slack-bot/node_modules/dotenv/package.json +62 -0
- package/slack-bot/node_modules/dunder-proto/.eslintrc +5 -0
- package/slack-bot/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/dunder-proto/.nycrc +13 -0
- package/slack-bot/node_modules/dunder-proto/CHANGELOG.md +24 -0
- package/slack-bot/node_modules/dunder-proto/LICENSE +21 -0
- package/slack-bot/node_modules/dunder-proto/README.md +54 -0
- package/slack-bot/node_modules/dunder-proto/get.d.ts +5 -0
- package/slack-bot/node_modules/dunder-proto/get.js +30 -0
- package/slack-bot/node_modules/dunder-proto/package.json +76 -0
- package/slack-bot/node_modules/dunder-proto/set.d.ts +5 -0
- package/slack-bot/node_modules/dunder-proto/set.js +35 -0
- package/slack-bot/node_modules/dunder-proto/test/get.js +34 -0
- package/slack-bot/node_modules/dunder-proto/test/index.js +4 -0
- package/slack-bot/node_modules/dunder-proto/test/set.js +50 -0
- package/slack-bot/node_modules/dunder-proto/tsconfig.json +9 -0
- package/slack-bot/node_modules/ecdsa-sig-formatter/CODEOWNERS +1 -0
- package/slack-bot/node_modules/ecdsa-sig-formatter/LICENSE +201 -0
- package/slack-bot/node_modules/ecdsa-sig-formatter/README.md +65 -0
- package/slack-bot/node_modules/ecdsa-sig-formatter/package.json +46 -0
- package/slack-bot/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts +17 -0
- package/slack-bot/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js +187 -0
- package/slack-bot/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js +23 -0
- package/slack-bot/node_modules/ee-first/LICENSE +22 -0
- package/slack-bot/node_modules/ee-first/README.md +80 -0
- package/slack-bot/node_modules/ee-first/index.js +95 -0
- package/slack-bot/node_modules/ee-first/package.json +29 -0
- package/slack-bot/node_modules/encodeurl/LICENSE +22 -0
- package/slack-bot/node_modules/encodeurl/README.md +109 -0
- package/slack-bot/node_modules/encodeurl/index.js +60 -0
- package/slack-bot/node_modules/encodeurl/package.json +40 -0
- package/slack-bot/node_modules/es-abstract/.claude/settings.local.json +12 -0
- package/slack-bot/node_modules/es-abstract/.editorconfig +15 -0
- package/slack-bot/node_modules/es-abstract/.nycrc +15 -0
- package/slack-bot/node_modules/es-abstract/2015/AbstractEqualityComparison.js +38 -0
- package/slack-bot/node_modules/es-abstract/2015/AbstractRelationalComparison.js +62 -0
- package/slack-bot/node_modules/es-abstract/2015/AdvanceStringIndex.js +44 -0
- package/slack-bot/node_modules/es-abstract/2015/ArrayCreate.js +42 -0
- package/slack-bot/node_modules/es-abstract/2015/ArraySetLength.js +77 -0
- package/slack-bot/node_modules/es-abstract/2015/ArraySpeciesCreate.js +46 -0
- package/slack-bot/node_modules/es-abstract/2015/Call.js +20 -0
- package/slack-bot/node_modules/es-abstract/2015/CanonicalNumericIndexString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2015/Canonicalize.js +51 -0
- package/slack-bot/node_modules/es-abstract/2015/CharacterRange.js +53 -0
- package/slack-bot/node_modules/es-abstract/2015/CompletePropertyDescriptor.js +43 -0
- package/slack-bot/node_modules/es-abstract/2015/CompletionRecord.js +48 -0
- package/slack-bot/node_modules/es-abstract/2015/CreateDataProperty.js +25 -0
- package/slack-bot/node_modules/es-abstract/2015/CreateDataPropertyOrThrow.js +24 -0
- package/slack-bot/node_modules/es-abstract/2015/CreateHTML.js +27 -0
- package/slack-bot/node_modules/es-abstract/2015/CreateIterResultObject.js +15 -0
- package/slack-bot/node_modules/es-abstract/2015/CreateListFromArrayLike.js +43 -0
- package/slack-bot/node_modules/es-abstract/2015/CreateMethodProperty.js +38 -0
- package/slack-bot/node_modules/es-abstract/2015/DateFromTime.js +52 -0
- package/slack-bot/node_modules/es-abstract/2015/Day.js +11 -0
- package/slack-bot/node_modules/es-abstract/2015/DayFromYear.js +10 -0
- package/slack-bot/node_modules/es-abstract/2015/DayWithinYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2015/DaysInYear.js +18 -0
- package/slack-bot/node_modules/es-abstract/2015/DefinePropertyOrThrow.js +39 -0
- package/slack-bot/node_modules/es-abstract/2015/DeletePropertyOrThrow.js +25 -0
- package/slack-bot/node_modules/es-abstract/2015/DetachArrayBuffer.js +38 -0
- package/slack-bot/node_modules/es-abstract/2015/EnumerableOwnNames.js +16 -0
- package/slack-bot/node_modules/es-abstract/2015/FromPropertyDescriptor.js +16 -0
- package/slack-bot/node_modules/es-abstract/2015/Get.js +24 -0
- package/slack-bot/node_modules/es-abstract/2015/GetGlobalObject.js +9 -0
- package/slack-bot/node_modules/es-abstract/2015/GetIterator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2015/GetMethod.js +34 -0
- package/slack-bot/node_modules/es-abstract/2015/GetOwnPropertyKeys.js +30 -0
- package/slack-bot/node_modules/es-abstract/2015/GetPrototypeFromConstructor.js +33 -0
- package/slack-bot/node_modules/es-abstract/2015/GetSubstitution.js +98 -0
- package/slack-bot/node_modules/es-abstract/2015/GetV.js +23 -0
- package/slack-bot/node_modules/es-abstract/2015/GetValueFromBuffer.js +86 -0
- package/slack-bot/node_modules/es-abstract/2015/HasOwnProperty.js +20 -0
- package/slack-bot/node_modules/es-abstract/2015/HasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2015/HourFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2015/InLeapYear.js +19 -0
- package/slack-bot/node_modules/es-abstract/2015/InstanceofOperator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2015/IntegerIndexedElementGet.js +57 -0
- package/slack-bot/node_modules/es-abstract/2015/IntegerIndexedElementSet.js +62 -0
- package/slack-bot/node_modules/es-abstract/2015/InternalizeJSONProperty.js +68 -0
- package/slack-bot/node_modules/es-abstract/2015/Invoke.js +22 -0
- package/slack-bot/node_modules/es-abstract/2015/IsAccessorDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2015/IsArray.js +4 -0
- package/slack-bot/node_modules/es-abstract/2015/IsCallable.js +5 -0
- package/slack-bot/node_modules/es-abstract/2015/IsCompatiblePropertyDescriptor.js +9 -0
- package/slack-bot/node_modules/es-abstract/2015/IsConcatSpreadable.js +26 -0
- package/slack-bot/node_modules/es-abstract/2015/IsConstructor.js +40 -0
- package/slack-bot/node_modules/es-abstract/2015/IsDataDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2015/IsDetachedBuffer.js +25 -0
- package/slack-bot/node_modules/es-abstract/2015/IsExtensible.js +18 -0
- package/slack-bot/node_modules/es-abstract/2015/IsGenericDescriptor.js +26 -0
- package/slack-bot/node_modules/es-abstract/2015/IsInteger.js +9 -0
- package/slack-bot/node_modules/es-abstract/2015/IsPromise.js +24 -0
- package/slack-bot/node_modules/es-abstract/2015/IsPropertyDescriptor.js +11 -0
- package/slack-bot/node_modules/es-abstract/2015/IsPropertyKey.js +9 -0
- package/slack-bot/node_modules/es-abstract/2015/IsRegExp.js +25 -0
- package/slack-bot/node_modules/es-abstract/2015/IsWordChar.js +37 -0
- package/slack-bot/node_modules/es-abstract/2015/IteratorClose.js +51 -0
- package/slack-bot/node_modules/es-abstract/2015/IteratorComplete.js +16 -0
- package/slack-bot/node_modules/es-abstract/2015/IteratorNext.js +16 -0
- package/slack-bot/node_modules/es-abstract/2015/IteratorStep.js +13 -0
- package/slack-bot/node_modules/es-abstract/2015/IteratorValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2015/MakeDate.js +14 -0
- package/slack-bot/node_modules/es-abstract/2015/MakeDay.js +33 -0
- package/slack-bot/node_modules/es-abstract/2015/MakeTime.js +24 -0
- package/slack-bot/node_modules/es-abstract/2015/MinFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2015/MonthFromTime.js +51 -0
- package/slack-bot/node_modules/es-abstract/2015/NewPromiseCapability.js +34 -0
- package/slack-bot/node_modules/es-abstract/2015/NormalCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2015/ObjectCreate.js +50 -0
- package/slack-bot/node_modules/es-abstract/2015/ObjectDefineProperties.js +37 -0
- package/slack-bot/node_modules/es-abstract/2015/OrdinaryCreateFromConstructor.js +20 -0
- package/slack-bot/node_modules/es-abstract/2015/OrdinaryDefineOwnProperty.js +54 -0
- package/slack-bot/node_modules/es-abstract/2015/OrdinaryGetOwnProperty.js +40 -0
- package/slack-bot/node_modules/es-abstract/2015/OrdinaryHasInstance.js +23 -0
- package/slack-bot/node_modules/es-abstract/2015/OrdinaryHasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2015/QuoteJSONString.js +48 -0
- package/slack-bot/node_modules/es-abstract/2015/RegExpCreate.js +21 -0
- package/slack-bot/node_modules/es-abstract/2015/RegExpExec.js +29 -0
- package/slack-bot/node_modules/es-abstract/2015/RequireObjectCoercible.js +3 -0
- package/slack-bot/node_modules/es-abstract/2015/SameValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2015/SameValueZero.js +9 -0
- package/slack-bot/node_modules/es-abstract/2015/SecFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2015/Set.js +45 -0
- package/slack-bot/node_modules/es-abstract/2015/SetFunctionName.js +40 -0
- package/slack-bot/node_modules/es-abstract/2015/SetIntegrityLevel.js +57 -0
- package/slack-bot/node_modules/es-abstract/2015/SetValueInBuffer.js +110 -0
- package/slack-bot/node_modules/es-abstract/2015/SpeciesConstructor.js +32 -0
- package/slack-bot/node_modules/es-abstract/2015/SplitMatch.js +35 -0
- package/slack-bot/node_modules/es-abstract/2015/StrictEqualityComparison.js +15 -0
- package/slack-bot/node_modules/es-abstract/2015/StringCreate.js +38 -0
- package/slack-bot/node_modules/es-abstract/2015/StringGetIndexProperty.js +50 -0
- package/slack-bot/node_modules/es-abstract/2015/SymbolDescriptiveString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2015/TestIntegrityLevel.js +40 -0
- package/slack-bot/node_modules/es-abstract/2015/TimeClip.js +20 -0
- package/slack-bot/node_modules/es-abstract/2015/TimeFromYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2015/TimeWithinDay.js +12 -0
- package/slack-bot/node_modules/es-abstract/2015/ToBoolean.js +5 -0
- package/slack-bot/node_modules/es-abstract/2015/ToDateString.js +21 -0
- package/slack-bot/node_modules/es-abstract/2015/ToInt16.js +10 -0
- package/slack-bot/node_modules/es-abstract/2015/ToInt32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2015/ToInt8.js +10 -0
- package/slack-bot/node_modules/es-abstract/2015/ToInteger.js +12 -0
- package/slack-bot/node_modules/es-abstract/2015/ToLength.js +14 -0
- package/slack-bot/node_modules/es-abstract/2015/ToNumber.js +48 -0
- package/slack-bot/node_modules/es-abstract/2015/ToObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/2015/ToPrimitive.js +12 -0
- package/slack-bot/node_modules/es-abstract/2015/ToPropertyDescriptor.js +50 -0
- package/slack-bot/node_modules/es-abstract/2015/ToPropertyKey.js +15 -0
- package/slack-bot/node_modules/es-abstract/2015/ToString.js +15 -0
- package/slack-bot/node_modules/es-abstract/2015/ToUint16.js +19 -0
- package/slack-bot/node_modules/es-abstract/2015/ToUint32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2015/ToUint8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2015/ToUint8Clamp.js +19 -0
- package/slack-bot/node_modules/es-abstract/2015/Type.js +12 -0
- package/slack-bot/node_modules/es-abstract/2015/ValidateAndApplyPropertyDescriptor.js +159 -0
- package/slack-bot/node_modules/es-abstract/2015/ValidateTypedArray.js +28 -0
- package/slack-bot/node_modules/es-abstract/2015/WeekDay.js +10 -0
- package/slack-bot/node_modules/es-abstract/2015/YearFromTime.js +16 -0
- package/slack-bot/node_modules/es-abstract/2015/abs.js +9 -0
- package/slack-bot/node_modules/es-abstract/2015/floor.js +11 -0
- package/slack-bot/node_modules/es-abstract/2015/max.js +5 -0
- package/slack-bot/node_modules/es-abstract/2015/min.js +5 -0
- package/slack-bot/node_modules/es-abstract/2015/modulo.js +9 -0
- package/slack-bot/node_modules/es-abstract/2015/msFromTime.js +11 -0
- package/slack-bot/node_modules/es-abstract/2015/tables/typed-array-objects.js +32 -0
- package/slack-bot/node_modules/es-abstract/2015/thisBooleanValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2015/thisNumberValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2015/thisStringValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2015/thisTimeValue.js +9 -0
- package/slack-bot/node_modules/es-abstract/2016/AbstractEqualityComparison.js +38 -0
- package/slack-bot/node_modules/es-abstract/2016/AbstractRelationalComparison.js +62 -0
- package/slack-bot/node_modules/es-abstract/2016/AdvanceStringIndex.js +44 -0
- package/slack-bot/node_modules/es-abstract/2016/ArrayCreate.js +42 -0
- package/slack-bot/node_modules/es-abstract/2016/ArraySetLength.js +77 -0
- package/slack-bot/node_modules/es-abstract/2016/ArraySpeciesCreate.js +46 -0
- package/slack-bot/node_modules/es-abstract/2016/Call.js +20 -0
- package/slack-bot/node_modules/es-abstract/2016/CanonicalNumericIndexString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2016/Canonicalize.js +51 -0
- package/slack-bot/node_modules/es-abstract/2016/CharacterRange.js +53 -0
- package/slack-bot/node_modules/es-abstract/2016/CompletePropertyDescriptor.js +43 -0
- package/slack-bot/node_modules/es-abstract/2016/CompletionRecord.js +48 -0
- package/slack-bot/node_modules/es-abstract/2016/CreateDataProperty.js +25 -0
- package/slack-bot/node_modules/es-abstract/2016/CreateDataPropertyOrThrow.js +24 -0
- package/slack-bot/node_modules/es-abstract/2016/CreateHTML.js +27 -0
- package/slack-bot/node_modules/es-abstract/2016/CreateIterResultObject.js +15 -0
- package/slack-bot/node_modules/es-abstract/2016/CreateListFromArrayLike.js +43 -0
- package/slack-bot/node_modules/es-abstract/2016/CreateMethodProperty.js +38 -0
- package/slack-bot/node_modules/es-abstract/2016/DateFromTime.js +52 -0
- package/slack-bot/node_modules/es-abstract/2016/Day.js +11 -0
- package/slack-bot/node_modules/es-abstract/2016/DayFromYear.js +10 -0
- package/slack-bot/node_modules/es-abstract/2016/DayWithinYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2016/DaysInYear.js +18 -0
- package/slack-bot/node_modules/es-abstract/2016/DefinePropertyOrThrow.js +39 -0
- package/slack-bot/node_modules/es-abstract/2016/DeletePropertyOrThrow.js +25 -0
- package/slack-bot/node_modules/es-abstract/2016/DetachArrayBuffer.js +38 -0
- package/slack-bot/node_modules/es-abstract/2016/EnumerableOwnNames.js +16 -0
- package/slack-bot/node_modules/es-abstract/2016/FromPropertyDescriptor.js +16 -0
- package/slack-bot/node_modules/es-abstract/2016/Get.js +24 -0
- package/slack-bot/node_modules/es-abstract/2016/GetGlobalObject.js +9 -0
- package/slack-bot/node_modules/es-abstract/2016/GetIterator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2016/GetMethod.js +34 -0
- package/slack-bot/node_modules/es-abstract/2016/GetOwnPropertyKeys.js +30 -0
- package/slack-bot/node_modules/es-abstract/2016/GetPrototypeFromConstructor.js +33 -0
- package/slack-bot/node_modules/es-abstract/2016/GetSubstitution.js +98 -0
- package/slack-bot/node_modules/es-abstract/2016/GetV.js +23 -0
- package/slack-bot/node_modules/es-abstract/2016/GetValueFromBuffer.js +86 -0
- package/slack-bot/node_modules/es-abstract/2016/HasOwnProperty.js +20 -0
- package/slack-bot/node_modules/es-abstract/2016/HasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2016/HourFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2016/InLeapYear.js +19 -0
- package/slack-bot/node_modules/es-abstract/2016/InstanceofOperator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2016/IntegerIndexedElementGet.js +57 -0
- package/slack-bot/node_modules/es-abstract/2016/IntegerIndexedElementSet.js +62 -0
- package/slack-bot/node_modules/es-abstract/2016/InternalizeJSONProperty.js +68 -0
- package/slack-bot/node_modules/es-abstract/2016/Invoke.js +22 -0
- package/slack-bot/node_modules/es-abstract/2016/IsAccessorDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2016/IsArray.js +4 -0
- package/slack-bot/node_modules/es-abstract/2016/IsCallable.js +5 -0
- package/slack-bot/node_modules/es-abstract/2016/IsCompatiblePropertyDescriptor.js +9 -0
- package/slack-bot/node_modules/es-abstract/2016/IsConcatSpreadable.js +26 -0
- package/slack-bot/node_modules/es-abstract/2016/IsConstructor.js +40 -0
- package/slack-bot/node_modules/es-abstract/2016/IsDataDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2016/IsDetachedBuffer.js +25 -0
- package/slack-bot/node_modules/es-abstract/2016/IsExtensible.js +18 -0
- package/slack-bot/node_modules/es-abstract/2016/IsGenericDescriptor.js +26 -0
- package/slack-bot/node_modules/es-abstract/2016/IsInteger.js +9 -0
- package/slack-bot/node_modules/es-abstract/2016/IsPromise.js +24 -0
- package/slack-bot/node_modules/es-abstract/2016/IsPropertyDescriptor.js +11 -0
- package/slack-bot/node_modules/es-abstract/2016/IsPropertyKey.js +9 -0
- package/slack-bot/node_modules/es-abstract/2016/IsRegExp.js +25 -0
- package/slack-bot/node_modules/es-abstract/2016/IsWordChar.js +37 -0
- package/slack-bot/node_modules/es-abstract/2016/IterableToArrayLike.js +34 -0
- package/slack-bot/node_modules/es-abstract/2016/IteratorClose.js +51 -0
- package/slack-bot/node_modules/es-abstract/2016/IteratorComplete.js +16 -0
- package/slack-bot/node_modules/es-abstract/2016/IteratorNext.js +16 -0
- package/slack-bot/node_modules/es-abstract/2016/IteratorStep.js +13 -0
- package/slack-bot/node_modules/es-abstract/2016/IteratorValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2016/MakeDate.js +14 -0
- package/slack-bot/node_modules/es-abstract/2016/MakeDay.js +33 -0
- package/slack-bot/node_modules/es-abstract/2016/MakeTime.js +24 -0
- package/slack-bot/node_modules/es-abstract/2016/MinFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2016/MonthFromTime.js +51 -0
- package/slack-bot/node_modules/es-abstract/2016/NewPromiseCapability.js +34 -0
- package/slack-bot/node_modules/es-abstract/2016/NormalCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2016/ObjectCreate.js +50 -0
- package/slack-bot/node_modules/es-abstract/2016/ObjectDefineProperties.js +37 -0
- package/slack-bot/node_modules/es-abstract/2016/OrdinaryCreateFromConstructor.js +20 -0
- package/slack-bot/node_modules/es-abstract/2016/OrdinaryDefineOwnProperty.js +54 -0
- package/slack-bot/node_modules/es-abstract/2016/OrdinaryGetOwnProperty.js +40 -0
- package/slack-bot/node_modules/es-abstract/2016/OrdinaryGetPrototypeOf.js +18 -0
- package/slack-bot/node_modules/es-abstract/2016/OrdinaryHasInstance.js +23 -0
- package/slack-bot/node_modules/es-abstract/2016/OrdinaryHasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2016/OrdinarySetPrototypeOf.js +50 -0
- package/slack-bot/node_modules/es-abstract/2016/QuoteJSONString.js +48 -0
- package/slack-bot/node_modules/es-abstract/2016/RegExpCreate.js +21 -0
- package/slack-bot/node_modules/es-abstract/2016/RegExpExec.js +29 -0
- package/slack-bot/node_modules/es-abstract/2016/RequireObjectCoercible.js +3 -0
- package/slack-bot/node_modules/es-abstract/2016/SameValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2016/SameValueNonNumber.js +14 -0
- package/slack-bot/node_modules/es-abstract/2016/SameValueZero.js +9 -0
- package/slack-bot/node_modules/es-abstract/2016/SecFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2016/Set.js +45 -0
- package/slack-bot/node_modules/es-abstract/2016/SetFunctionName.js +40 -0
- package/slack-bot/node_modules/es-abstract/2016/SetIntegrityLevel.js +57 -0
- package/slack-bot/node_modules/es-abstract/2016/SetValueInBuffer.js +110 -0
- package/slack-bot/node_modules/es-abstract/2016/SpeciesConstructor.js +32 -0
- package/slack-bot/node_modules/es-abstract/2016/SplitMatch.js +35 -0
- package/slack-bot/node_modules/es-abstract/2016/StrictEqualityComparison.js +15 -0
- package/slack-bot/node_modules/es-abstract/2016/StringCreate.js +38 -0
- package/slack-bot/node_modules/es-abstract/2016/SymbolDescriptiveString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2016/TestIntegrityLevel.js +40 -0
- package/slack-bot/node_modules/es-abstract/2016/TimeClip.js +20 -0
- package/slack-bot/node_modules/es-abstract/2016/TimeFromYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2016/TimeWithinDay.js +12 -0
- package/slack-bot/node_modules/es-abstract/2016/ToBoolean.js +5 -0
- package/slack-bot/node_modules/es-abstract/2016/ToDateString.js +21 -0
- package/slack-bot/node_modules/es-abstract/2016/ToInt16.js +10 -0
- package/slack-bot/node_modules/es-abstract/2016/ToInt32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2016/ToInt8.js +10 -0
- package/slack-bot/node_modules/es-abstract/2016/ToInteger.js +12 -0
- package/slack-bot/node_modules/es-abstract/2016/ToLength.js +14 -0
- package/slack-bot/node_modules/es-abstract/2016/ToNumber.js +48 -0
- package/slack-bot/node_modules/es-abstract/2016/ToObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/2016/ToPrimitive.js +12 -0
- package/slack-bot/node_modules/es-abstract/2016/ToPropertyDescriptor.js +50 -0
- package/slack-bot/node_modules/es-abstract/2016/ToPropertyKey.js +15 -0
- package/slack-bot/node_modules/es-abstract/2016/ToString.js +15 -0
- package/slack-bot/node_modules/es-abstract/2016/ToUint16.js +19 -0
- package/slack-bot/node_modules/es-abstract/2016/ToUint32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2016/ToUint8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2016/ToUint8Clamp.js +19 -0
- package/slack-bot/node_modules/es-abstract/2016/Type.js +12 -0
- package/slack-bot/node_modules/es-abstract/2016/TypedArrayCreate.js +47 -0
- package/slack-bot/node_modules/es-abstract/2016/TypedArraySpeciesCreate.js +37 -0
- package/slack-bot/node_modules/es-abstract/2016/UTF16Decode.js +21 -0
- package/slack-bot/node_modules/es-abstract/2016/UTF16Encoding.js +25 -0
- package/slack-bot/node_modules/es-abstract/2016/ValidateAndApplyPropertyDescriptor.js +159 -0
- package/slack-bot/node_modules/es-abstract/2016/ValidateTypedArray.js +28 -0
- package/slack-bot/node_modules/es-abstract/2016/WeekDay.js +10 -0
- package/slack-bot/node_modules/es-abstract/2016/YearFromTime.js +16 -0
- package/slack-bot/node_modules/es-abstract/2016/abs.js +9 -0
- package/slack-bot/node_modules/es-abstract/2016/floor.js +11 -0
- package/slack-bot/node_modules/es-abstract/2016/max.js +5 -0
- package/slack-bot/node_modules/es-abstract/2016/min.js +5 -0
- package/slack-bot/node_modules/es-abstract/2016/modulo.js +9 -0
- package/slack-bot/node_modules/es-abstract/2016/msFromTime.js +11 -0
- package/slack-bot/node_modules/es-abstract/2016/tables/typed-array-objects.js +32 -0
- package/slack-bot/node_modules/es-abstract/2016/thisBooleanValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2016/thisNumberValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2016/thisStringValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2016/thisTimeValue.js +9 -0
- package/slack-bot/node_modules/es-abstract/2017/AbstractEqualityComparison.js +38 -0
- package/slack-bot/node_modules/es-abstract/2017/AbstractRelationalComparison.js +62 -0
- package/slack-bot/node_modules/es-abstract/2017/AdvanceStringIndex.js +44 -0
- package/slack-bot/node_modules/es-abstract/2017/ArrayCreate.js +42 -0
- package/slack-bot/node_modules/es-abstract/2017/ArraySetLength.js +77 -0
- package/slack-bot/node_modules/es-abstract/2017/ArraySpeciesCreate.js +46 -0
- package/slack-bot/node_modules/es-abstract/2017/Call.js +20 -0
- package/slack-bot/node_modules/es-abstract/2017/CanonicalNumericIndexString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2017/Canonicalize.js +51 -0
- package/slack-bot/node_modules/es-abstract/2017/CharacterRange.js +53 -0
- package/slack-bot/node_modules/es-abstract/2017/CompletePropertyDescriptor.js +43 -0
- package/slack-bot/node_modules/es-abstract/2017/CompletionRecord.js +48 -0
- package/slack-bot/node_modules/es-abstract/2017/CreateDataProperty.js +25 -0
- package/slack-bot/node_modules/es-abstract/2017/CreateDataPropertyOrThrow.js +24 -0
- package/slack-bot/node_modules/es-abstract/2017/CreateHTML.js +27 -0
- package/slack-bot/node_modules/es-abstract/2017/CreateIterResultObject.js +15 -0
- package/slack-bot/node_modules/es-abstract/2017/CreateListFromArrayLike.js +43 -0
- package/slack-bot/node_modules/es-abstract/2017/CreateMethodProperty.js +38 -0
- package/slack-bot/node_modules/es-abstract/2017/DateFromTime.js +52 -0
- package/slack-bot/node_modules/es-abstract/2017/Day.js +11 -0
- package/slack-bot/node_modules/es-abstract/2017/DayFromYear.js +10 -0
- package/slack-bot/node_modules/es-abstract/2017/DayWithinYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2017/DaysInYear.js +18 -0
- package/slack-bot/node_modules/es-abstract/2017/DefinePropertyOrThrow.js +39 -0
- package/slack-bot/node_modules/es-abstract/2017/DeletePropertyOrThrow.js +25 -0
- package/slack-bot/node_modules/es-abstract/2017/DetachArrayBuffer.js +39 -0
- package/slack-bot/node_modules/es-abstract/2017/EnumerableOwnProperties.js +37 -0
- package/slack-bot/node_modules/es-abstract/2017/FromPropertyDescriptor.js +16 -0
- package/slack-bot/node_modules/es-abstract/2017/Get.js +24 -0
- package/slack-bot/node_modules/es-abstract/2017/GetGlobalObject.js +9 -0
- package/slack-bot/node_modules/es-abstract/2017/GetIterator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2017/GetMethod.js +34 -0
- package/slack-bot/node_modules/es-abstract/2017/GetOwnPropertyKeys.js +30 -0
- package/slack-bot/node_modules/es-abstract/2017/GetPrototypeFromConstructor.js +33 -0
- package/slack-bot/node_modules/es-abstract/2017/GetSubstitution.js +98 -0
- package/slack-bot/node_modules/es-abstract/2017/GetV.js +23 -0
- package/slack-bot/node_modules/es-abstract/2017/GetValueFromBuffer.js +96 -0
- package/slack-bot/node_modules/es-abstract/2017/HasOwnProperty.js +20 -0
- package/slack-bot/node_modules/es-abstract/2017/HasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2017/HourFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2017/InLeapYear.js +19 -0
- package/slack-bot/node_modules/es-abstract/2017/InstanceofOperator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2017/IntegerIndexedElementGet.js +58 -0
- package/slack-bot/node_modules/es-abstract/2017/IntegerIndexedElementSet.js +62 -0
- package/slack-bot/node_modules/es-abstract/2017/InternalizeJSONProperty.js +68 -0
- package/slack-bot/node_modules/es-abstract/2017/Invoke.js +22 -0
- package/slack-bot/node_modules/es-abstract/2017/IsAccessorDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2017/IsArray.js +4 -0
- package/slack-bot/node_modules/es-abstract/2017/IsCallable.js +5 -0
- package/slack-bot/node_modules/es-abstract/2017/IsCompatiblePropertyDescriptor.js +9 -0
- package/slack-bot/node_modules/es-abstract/2017/IsConcatSpreadable.js +26 -0
- package/slack-bot/node_modules/es-abstract/2017/IsConstructor.js +40 -0
- package/slack-bot/node_modules/es-abstract/2017/IsDataDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2017/IsDetachedBuffer.js +28 -0
- package/slack-bot/node_modules/es-abstract/2017/IsExtensible.js +18 -0
- package/slack-bot/node_modules/es-abstract/2017/IsGenericDescriptor.js +26 -0
- package/slack-bot/node_modules/es-abstract/2017/IsInteger.js +9 -0
- package/slack-bot/node_modules/es-abstract/2017/IsPromise.js +24 -0
- package/slack-bot/node_modules/es-abstract/2017/IsPropertyDescriptor.js +11 -0
- package/slack-bot/node_modules/es-abstract/2017/IsPropertyKey.js +9 -0
- package/slack-bot/node_modules/es-abstract/2017/IsRegExp.js +25 -0
- package/slack-bot/node_modules/es-abstract/2017/IsSharedArrayBuffer.js +16 -0
- package/slack-bot/node_modules/es-abstract/2017/IsWordChar.js +45 -0
- package/slack-bot/node_modules/es-abstract/2017/IterableToList.js +21 -0
- package/slack-bot/node_modules/es-abstract/2017/IteratorClose.js +51 -0
- package/slack-bot/node_modules/es-abstract/2017/IteratorComplete.js +16 -0
- package/slack-bot/node_modules/es-abstract/2017/IteratorNext.js +16 -0
- package/slack-bot/node_modules/es-abstract/2017/IteratorStep.js +13 -0
- package/slack-bot/node_modules/es-abstract/2017/IteratorValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2017/MakeDate.js +14 -0
- package/slack-bot/node_modules/es-abstract/2017/MakeDay.js +33 -0
- package/slack-bot/node_modules/es-abstract/2017/MakeTime.js +24 -0
- package/slack-bot/node_modules/es-abstract/2017/MinFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2017/MonthFromTime.js +51 -0
- package/slack-bot/node_modules/es-abstract/2017/NewPromiseCapability.js +34 -0
- package/slack-bot/node_modules/es-abstract/2017/NormalCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2017/NumberToRawBytes.js +59 -0
- package/slack-bot/node_modules/es-abstract/2017/ObjectCreate.js +50 -0
- package/slack-bot/node_modules/es-abstract/2017/ObjectDefineProperties.js +37 -0
- package/slack-bot/node_modules/es-abstract/2017/OrdinaryCreateFromConstructor.js +20 -0
- package/slack-bot/node_modules/es-abstract/2017/OrdinaryDefineOwnProperty.js +54 -0
- package/slack-bot/node_modules/es-abstract/2017/OrdinaryGetOwnProperty.js +40 -0
- package/slack-bot/node_modules/es-abstract/2017/OrdinaryGetPrototypeOf.js +18 -0
- package/slack-bot/node_modules/es-abstract/2017/OrdinaryHasInstance.js +23 -0
- package/slack-bot/node_modules/es-abstract/2017/OrdinaryHasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2017/OrdinarySetPrototypeOf.js +50 -0
- package/slack-bot/node_modules/es-abstract/2017/OrdinaryToPrimitive.js +36 -0
- package/slack-bot/node_modules/es-abstract/2017/QuoteJSONString.js +48 -0
- package/slack-bot/node_modules/es-abstract/2017/RawBytesToNumber.js +58 -0
- package/slack-bot/node_modules/es-abstract/2017/RegExpCreate.js +21 -0
- package/slack-bot/node_modules/es-abstract/2017/RegExpExec.js +29 -0
- package/slack-bot/node_modules/es-abstract/2017/RequireObjectCoercible.js +3 -0
- package/slack-bot/node_modules/es-abstract/2017/SameValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2017/SameValueNonNumber.js +14 -0
- package/slack-bot/node_modules/es-abstract/2017/SameValueZero.js +9 -0
- package/slack-bot/node_modules/es-abstract/2017/SecFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2017/Set.js +45 -0
- package/slack-bot/node_modules/es-abstract/2017/SetFunctionName.js +40 -0
- package/slack-bot/node_modules/es-abstract/2017/SetIntegrityLevel.js +57 -0
- package/slack-bot/node_modules/es-abstract/2017/SetValueInBuffer.js +94 -0
- package/slack-bot/node_modules/es-abstract/2017/SpeciesConstructor.js +32 -0
- package/slack-bot/node_modules/es-abstract/2017/SplitMatch.js +35 -0
- package/slack-bot/node_modules/es-abstract/2017/StrictEqualityComparison.js +15 -0
- package/slack-bot/node_modules/es-abstract/2017/StringCreate.js +38 -0
- package/slack-bot/node_modules/es-abstract/2017/StringGetOwnProperty.js +47 -0
- package/slack-bot/node_modules/es-abstract/2017/SymbolDescriptiveString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2017/TestIntegrityLevel.js +40 -0
- package/slack-bot/node_modules/es-abstract/2017/TimeClip.js +20 -0
- package/slack-bot/node_modules/es-abstract/2017/TimeFromYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2017/TimeWithinDay.js +12 -0
- package/slack-bot/node_modules/es-abstract/2017/ToBoolean.js +5 -0
- package/slack-bot/node_modules/es-abstract/2017/ToDateString.js +21 -0
- package/slack-bot/node_modules/es-abstract/2017/ToIndex.js +24 -0
- package/slack-bot/node_modules/es-abstract/2017/ToInt16.js +10 -0
- package/slack-bot/node_modules/es-abstract/2017/ToInt32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2017/ToInt8.js +10 -0
- package/slack-bot/node_modules/es-abstract/2017/ToInteger.js +12 -0
- package/slack-bot/node_modules/es-abstract/2017/ToLength.js +14 -0
- package/slack-bot/node_modules/es-abstract/2017/ToNumber.js +48 -0
- package/slack-bot/node_modules/es-abstract/2017/ToObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/2017/ToPrimitive.js +12 -0
- package/slack-bot/node_modules/es-abstract/2017/ToPropertyDescriptor.js +50 -0
- package/slack-bot/node_modules/es-abstract/2017/ToPropertyKey.js +15 -0
- package/slack-bot/node_modules/es-abstract/2017/ToString.js +15 -0
- package/slack-bot/node_modules/es-abstract/2017/ToUint16.js +19 -0
- package/slack-bot/node_modules/es-abstract/2017/ToUint32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2017/ToUint8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2017/ToUint8Clamp.js +19 -0
- package/slack-bot/node_modules/es-abstract/2017/Type.js +12 -0
- package/slack-bot/node_modules/es-abstract/2017/TypedArrayCreate.js +47 -0
- package/slack-bot/node_modules/es-abstract/2017/TypedArraySpeciesCreate.js +37 -0
- package/slack-bot/node_modules/es-abstract/2017/UTF16Decode.js +21 -0
- package/slack-bot/node_modules/es-abstract/2017/UTF16Encoding.js +25 -0
- package/slack-bot/node_modules/es-abstract/2017/ValidateAndApplyPropertyDescriptor.js +159 -0
- package/slack-bot/node_modules/es-abstract/2017/ValidateAtomicAccess.js +34 -0
- package/slack-bot/node_modules/es-abstract/2017/ValidateTypedArray.js +28 -0
- package/slack-bot/node_modules/es-abstract/2017/WeekDay.js +10 -0
- package/slack-bot/node_modules/es-abstract/2017/WordCharacters.js +46 -0
- package/slack-bot/node_modules/es-abstract/2017/YearFromTime.js +16 -0
- package/slack-bot/node_modules/es-abstract/2017/abs.js +9 -0
- package/slack-bot/node_modules/es-abstract/2017/floor.js +11 -0
- package/slack-bot/node_modules/es-abstract/2017/max.js +5 -0
- package/slack-bot/node_modules/es-abstract/2017/min.js +5 -0
- package/slack-bot/node_modules/es-abstract/2017/modulo.js +9 -0
- package/slack-bot/node_modules/es-abstract/2017/msFromTime.js +11 -0
- package/slack-bot/node_modules/es-abstract/2017/tables/typed-array-objects.js +32 -0
- package/slack-bot/node_modules/es-abstract/2017/thisBooleanValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2017/thisNumberValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2017/thisStringValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2017/thisTimeValue.js +9 -0
- package/slack-bot/node_modules/es-abstract/2018/AbstractEqualityComparison.js +38 -0
- package/slack-bot/node_modules/es-abstract/2018/AbstractRelationalComparison.js +59 -0
- package/slack-bot/node_modules/es-abstract/2018/AdvanceStringIndex.js +44 -0
- package/slack-bot/node_modules/es-abstract/2018/ArrayCreate.js +42 -0
- package/slack-bot/node_modules/es-abstract/2018/ArraySetLength.js +77 -0
- package/slack-bot/node_modules/es-abstract/2018/ArraySpeciesCreate.js +46 -0
- package/slack-bot/node_modules/es-abstract/2018/AsyncIteratorClose.js +64 -0
- package/slack-bot/node_modules/es-abstract/2018/Call.js +20 -0
- package/slack-bot/node_modules/es-abstract/2018/CanonicalNumericIndexString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2018/Canonicalize.js +51 -0
- package/slack-bot/node_modules/es-abstract/2018/CharacterRange.js +53 -0
- package/slack-bot/node_modules/es-abstract/2018/CompletePropertyDescriptor.js +43 -0
- package/slack-bot/node_modules/es-abstract/2018/CompletionRecord.js +48 -0
- package/slack-bot/node_modules/es-abstract/2018/CopyDataProperties.js +62 -0
- package/slack-bot/node_modules/es-abstract/2018/CreateAsyncFromSyncIterator.js +169 -0
- package/slack-bot/node_modules/es-abstract/2018/CreateDataProperty.js +25 -0
- package/slack-bot/node_modules/es-abstract/2018/CreateDataPropertyOrThrow.js +24 -0
- package/slack-bot/node_modules/es-abstract/2018/CreateHTML.js +27 -0
- package/slack-bot/node_modules/es-abstract/2018/CreateIterResultObject.js +15 -0
- package/slack-bot/node_modules/es-abstract/2018/CreateListFromArrayLike.js +43 -0
- package/slack-bot/node_modules/es-abstract/2018/CreateMethodProperty.js +38 -0
- package/slack-bot/node_modules/es-abstract/2018/DateFromTime.js +52 -0
- package/slack-bot/node_modules/es-abstract/2018/DateString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2018/Day.js +11 -0
- package/slack-bot/node_modules/es-abstract/2018/DayFromYear.js +10 -0
- package/slack-bot/node_modules/es-abstract/2018/DayWithinYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2018/DaysInYear.js +18 -0
- package/slack-bot/node_modules/es-abstract/2018/DefinePropertyOrThrow.js +39 -0
- package/slack-bot/node_modules/es-abstract/2018/DeletePropertyOrThrow.js +25 -0
- package/slack-bot/node_modules/es-abstract/2018/DetachArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2018/EnumerableOwnPropertyNames.js +37 -0
- package/slack-bot/node_modules/es-abstract/2018/FromPropertyDescriptor.js +16 -0
- package/slack-bot/node_modules/es-abstract/2018/Get.js +24 -0
- package/slack-bot/node_modules/es-abstract/2018/GetGlobalObject.js +9 -0
- package/slack-bot/node_modules/es-abstract/2018/GetIterator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2018/GetMethod.js +34 -0
- package/slack-bot/node_modules/es-abstract/2018/GetOwnPropertyKeys.js +30 -0
- package/slack-bot/node_modules/es-abstract/2018/GetPrototypeFromConstructor.js +33 -0
- package/slack-bot/node_modules/es-abstract/2018/GetSubstitution.js +120 -0
- package/slack-bot/node_modules/es-abstract/2018/GetV.js +23 -0
- package/slack-bot/node_modules/es-abstract/2018/GetValueFromBuffer.js +96 -0
- package/slack-bot/node_modules/es-abstract/2018/HasOwnProperty.js +20 -0
- package/slack-bot/node_modules/es-abstract/2018/HasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2018/HourFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2018/InLeapYear.js +19 -0
- package/slack-bot/node_modules/es-abstract/2018/InstanceofOperator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2018/IntegerIndexedElementGet.js +58 -0
- package/slack-bot/node_modules/es-abstract/2018/IntegerIndexedElementSet.js +62 -0
- package/slack-bot/node_modules/es-abstract/2018/InternalizeJSONProperty.js +68 -0
- package/slack-bot/node_modules/es-abstract/2018/Invoke.js +22 -0
- package/slack-bot/node_modules/es-abstract/2018/IsAccessorDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2018/IsArray.js +4 -0
- package/slack-bot/node_modules/es-abstract/2018/IsCallable.js +5 -0
- package/slack-bot/node_modules/es-abstract/2018/IsCompatiblePropertyDescriptor.js +9 -0
- package/slack-bot/node_modules/es-abstract/2018/IsConcatSpreadable.js +26 -0
- package/slack-bot/node_modules/es-abstract/2018/IsConstructor.js +40 -0
- package/slack-bot/node_modules/es-abstract/2018/IsDataDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2018/IsDetachedBuffer.js +28 -0
- package/slack-bot/node_modules/es-abstract/2018/IsExtensible.js +18 -0
- package/slack-bot/node_modules/es-abstract/2018/IsGenericDescriptor.js +26 -0
- package/slack-bot/node_modules/es-abstract/2018/IsInteger.js +9 -0
- package/slack-bot/node_modules/es-abstract/2018/IsPromise.js +24 -0
- package/slack-bot/node_modules/es-abstract/2018/IsPropertyKey.js +9 -0
- package/slack-bot/node_modules/es-abstract/2018/IsRegExp.js +25 -0
- package/slack-bot/node_modules/es-abstract/2018/IsSharedArrayBuffer.js +16 -0
- package/slack-bot/node_modules/es-abstract/2018/IsStringPrefix.js +43 -0
- package/slack-bot/node_modules/es-abstract/2018/IsWordChar.js +45 -0
- package/slack-bot/node_modules/es-abstract/2018/IterableToList.js +21 -0
- package/slack-bot/node_modules/es-abstract/2018/IteratorClose.js +51 -0
- package/slack-bot/node_modules/es-abstract/2018/IteratorComplete.js +16 -0
- package/slack-bot/node_modules/es-abstract/2018/IteratorNext.js +16 -0
- package/slack-bot/node_modules/es-abstract/2018/IteratorStep.js +13 -0
- package/slack-bot/node_modules/es-abstract/2018/IteratorValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2018/MakeDate.js +14 -0
- package/slack-bot/node_modules/es-abstract/2018/MakeDay.js +33 -0
- package/slack-bot/node_modules/es-abstract/2018/MakeTime.js +24 -0
- package/slack-bot/node_modules/es-abstract/2018/MinFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2018/MonthFromTime.js +51 -0
- package/slack-bot/node_modules/es-abstract/2018/NewPromiseCapability.js +34 -0
- package/slack-bot/node_modules/es-abstract/2018/NormalCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2018/NumberToRawBytes.js +59 -0
- package/slack-bot/node_modules/es-abstract/2018/NumberToString.js +17 -0
- package/slack-bot/node_modules/es-abstract/2018/ObjectCreate.js +50 -0
- package/slack-bot/node_modules/es-abstract/2018/ObjectDefineProperties.js +37 -0
- package/slack-bot/node_modules/es-abstract/2018/OrdinaryCreateFromConstructor.js +20 -0
- package/slack-bot/node_modules/es-abstract/2018/OrdinaryDefineOwnProperty.js +54 -0
- package/slack-bot/node_modules/es-abstract/2018/OrdinaryGetOwnProperty.js +40 -0
- package/slack-bot/node_modules/es-abstract/2018/OrdinaryGetPrototypeOf.js +18 -0
- package/slack-bot/node_modules/es-abstract/2018/OrdinaryHasInstance.js +23 -0
- package/slack-bot/node_modules/es-abstract/2018/OrdinaryHasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2018/OrdinarySetPrototypeOf.js +50 -0
- package/slack-bot/node_modules/es-abstract/2018/OrdinaryToPrimitive.js +36 -0
- package/slack-bot/node_modules/es-abstract/2018/PromiseResolve.js +18 -0
- package/slack-bot/node_modules/es-abstract/2018/QuoteJSONString.js +45 -0
- package/slack-bot/node_modules/es-abstract/2018/RawBytesToNumber.js +58 -0
- package/slack-bot/node_modules/es-abstract/2018/RegExpCreate.js +21 -0
- package/slack-bot/node_modules/es-abstract/2018/RegExpExec.js +29 -0
- package/slack-bot/node_modules/es-abstract/2018/RequireObjectCoercible.js +3 -0
- package/slack-bot/node_modules/es-abstract/2018/SameValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2018/SameValueNonNumber.js +14 -0
- package/slack-bot/node_modules/es-abstract/2018/SameValueZero.js +9 -0
- package/slack-bot/node_modules/es-abstract/2018/SecFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2018/Set.js +45 -0
- package/slack-bot/node_modules/es-abstract/2018/SetFunctionLength.js +28 -0
- package/slack-bot/node_modules/es-abstract/2018/SetFunctionName.js +40 -0
- package/slack-bot/node_modules/es-abstract/2018/SetIntegrityLevel.js +57 -0
- package/slack-bot/node_modules/es-abstract/2018/SetValueInBuffer.js +94 -0
- package/slack-bot/node_modules/es-abstract/2018/SpeciesConstructor.js +32 -0
- package/slack-bot/node_modules/es-abstract/2018/SplitMatch.js +35 -0
- package/slack-bot/node_modules/es-abstract/2018/StrictEqualityComparison.js +15 -0
- package/slack-bot/node_modules/es-abstract/2018/StringCreate.js +38 -0
- package/slack-bot/node_modules/es-abstract/2018/StringGetOwnProperty.js +47 -0
- package/slack-bot/node_modules/es-abstract/2018/SymbolDescriptiveString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2018/TestIntegrityLevel.js +40 -0
- package/slack-bot/node_modules/es-abstract/2018/ThrowCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2018/TimeClip.js +20 -0
- package/slack-bot/node_modules/es-abstract/2018/TimeFromYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2018/TimeString.js +22 -0
- package/slack-bot/node_modules/es-abstract/2018/TimeWithinDay.js +12 -0
- package/slack-bot/node_modules/es-abstract/2018/TimeZoneString.js +33 -0
- package/slack-bot/node_modules/es-abstract/2018/ToBoolean.js +5 -0
- package/slack-bot/node_modules/es-abstract/2018/ToDateString.js +21 -0
- package/slack-bot/node_modules/es-abstract/2018/ToIndex.js +24 -0
- package/slack-bot/node_modules/es-abstract/2018/ToInt16.js +10 -0
- package/slack-bot/node_modules/es-abstract/2018/ToInt32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2018/ToInt8.js +10 -0
- package/slack-bot/node_modules/es-abstract/2018/ToInteger.js +12 -0
- package/slack-bot/node_modules/es-abstract/2018/ToLength.js +14 -0
- package/slack-bot/node_modules/es-abstract/2018/ToNumber.js +48 -0
- package/slack-bot/node_modules/es-abstract/2018/ToObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/2018/ToPrimitive.js +12 -0
- package/slack-bot/node_modules/es-abstract/2018/ToPropertyDescriptor.js +50 -0
- package/slack-bot/node_modules/es-abstract/2018/ToPropertyKey.js +15 -0
- package/slack-bot/node_modules/es-abstract/2018/ToString.js +15 -0
- package/slack-bot/node_modules/es-abstract/2018/ToUint16.js +19 -0
- package/slack-bot/node_modules/es-abstract/2018/ToUint32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2018/ToUint8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2018/ToUint8Clamp.js +19 -0
- package/slack-bot/node_modules/es-abstract/2018/Type.js +12 -0
- package/slack-bot/node_modules/es-abstract/2018/TypedArrayCreate.js +47 -0
- package/slack-bot/node_modules/es-abstract/2018/TypedArraySpeciesCreate.js +37 -0
- package/slack-bot/node_modules/es-abstract/2018/UTF16Decode.js +21 -0
- package/slack-bot/node_modules/es-abstract/2018/UTF16Encoding.js +25 -0
- package/slack-bot/node_modules/es-abstract/2018/UnicodeEscape.js +24 -0
- package/slack-bot/node_modules/es-abstract/2018/ValidateAndApplyPropertyDescriptor.js +159 -0
- package/slack-bot/node_modules/es-abstract/2018/ValidateAtomicAccess.js +34 -0
- package/slack-bot/node_modules/es-abstract/2018/ValidateTypedArray.js +28 -0
- package/slack-bot/node_modules/es-abstract/2018/WeekDay.js +10 -0
- package/slack-bot/node_modules/es-abstract/2018/WordCharacters.js +46 -0
- package/slack-bot/node_modules/es-abstract/2018/YearFromTime.js +16 -0
- package/slack-bot/node_modules/es-abstract/2018/abs.js +9 -0
- package/slack-bot/node_modules/es-abstract/2018/floor.js +11 -0
- package/slack-bot/node_modules/es-abstract/2018/max.js +5 -0
- package/slack-bot/node_modules/es-abstract/2018/min.js +5 -0
- package/slack-bot/node_modules/es-abstract/2018/modulo.js +9 -0
- package/slack-bot/node_modules/es-abstract/2018/msFromTime.js +11 -0
- package/slack-bot/node_modules/es-abstract/2018/tables/typed-array-objects.js +32 -0
- package/slack-bot/node_modules/es-abstract/2018/thisBooleanValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2018/thisNumberValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2018/thisStringValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2018/thisSymbolValue.js +20 -0
- package/slack-bot/node_modules/es-abstract/2018/thisTimeValue.js +9 -0
- package/slack-bot/node_modules/es-abstract/2019/AbstractEqualityComparison.js +38 -0
- package/slack-bot/node_modules/es-abstract/2019/AbstractRelationalComparison.js +59 -0
- package/slack-bot/node_modules/es-abstract/2019/AddEntriesFromIterable.js +44 -0
- package/slack-bot/node_modules/es-abstract/2019/AdvanceStringIndex.js +44 -0
- package/slack-bot/node_modules/es-abstract/2019/ArrayCreate.js +42 -0
- package/slack-bot/node_modules/es-abstract/2019/ArraySetLength.js +77 -0
- package/slack-bot/node_modules/es-abstract/2019/ArraySpeciesCreate.js +46 -0
- package/slack-bot/node_modules/es-abstract/2019/AsyncFromSyncIteratorContinuation.js +45 -0
- package/slack-bot/node_modules/es-abstract/2019/AsyncIteratorClose.js +64 -0
- package/slack-bot/node_modules/es-abstract/2019/Call.js +20 -0
- package/slack-bot/node_modules/es-abstract/2019/CanonicalNumericIndexString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2019/Canonicalize.js +51 -0
- package/slack-bot/node_modules/es-abstract/2019/CharacterRange.js +53 -0
- package/slack-bot/node_modules/es-abstract/2019/CompletePropertyDescriptor.js +43 -0
- package/slack-bot/node_modules/es-abstract/2019/CompletionRecord.js +48 -0
- package/slack-bot/node_modules/es-abstract/2019/CopyDataProperties.js +62 -0
- package/slack-bot/node_modules/es-abstract/2019/CreateAsyncFromSyncIterator.js +137 -0
- package/slack-bot/node_modules/es-abstract/2019/CreateDataProperty.js +25 -0
- package/slack-bot/node_modules/es-abstract/2019/CreateDataPropertyOrThrow.js +24 -0
- package/slack-bot/node_modules/es-abstract/2019/CreateHTML.js +27 -0
- package/slack-bot/node_modules/es-abstract/2019/CreateIterResultObject.js +15 -0
- package/slack-bot/node_modules/es-abstract/2019/CreateListFromArrayLike.js +43 -0
- package/slack-bot/node_modules/es-abstract/2019/CreateMethodProperty.js +38 -0
- package/slack-bot/node_modules/es-abstract/2019/DateFromTime.js +52 -0
- package/slack-bot/node_modules/es-abstract/2019/DateString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2019/Day.js +11 -0
- package/slack-bot/node_modules/es-abstract/2019/DayFromYear.js +10 -0
- package/slack-bot/node_modules/es-abstract/2019/DayWithinYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2019/DaysInYear.js +18 -0
- package/slack-bot/node_modules/es-abstract/2019/DefinePropertyOrThrow.js +39 -0
- package/slack-bot/node_modules/es-abstract/2019/DeletePropertyOrThrow.js +25 -0
- package/slack-bot/node_modules/es-abstract/2019/DetachArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2019/EnumerableOwnPropertyNames.js +37 -0
- package/slack-bot/node_modules/es-abstract/2019/FlattenIntoArray.js +55 -0
- package/slack-bot/node_modules/es-abstract/2019/FromPropertyDescriptor.js +16 -0
- package/slack-bot/node_modules/es-abstract/2019/Get.js +24 -0
- package/slack-bot/node_modules/es-abstract/2019/GetGlobalObject.js +9 -0
- package/slack-bot/node_modules/es-abstract/2019/GetIterator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2019/GetMethod.js +34 -0
- package/slack-bot/node_modules/es-abstract/2019/GetOwnPropertyKeys.js +30 -0
- package/slack-bot/node_modules/es-abstract/2019/GetPrototypeFromConstructor.js +33 -0
- package/slack-bot/node_modules/es-abstract/2019/GetSubstitution.js +120 -0
- package/slack-bot/node_modules/es-abstract/2019/GetV.js +23 -0
- package/slack-bot/node_modules/es-abstract/2019/GetValueFromBuffer.js +94 -0
- package/slack-bot/node_modules/es-abstract/2019/HasOwnProperty.js +20 -0
- package/slack-bot/node_modules/es-abstract/2019/HasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2019/HourFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2019/InLeapYear.js +19 -0
- package/slack-bot/node_modules/es-abstract/2019/InstanceofOperator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2019/IntegerIndexedElementGet.js +58 -0
- package/slack-bot/node_modules/es-abstract/2019/IntegerIndexedElementSet.js +62 -0
- package/slack-bot/node_modules/es-abstract/2019/InternalizeJSONProperty.js +68 -0
- package/slack-bot/node_modules/es-abstract/2019/Invoke.js +22 -0
- package/slack-bot/node_modules/es-abstract/2019/IsAccessorDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2019/IsArray.js +4 -0
- package/slack-bot/node_modules/es-abstract/2019/IsCallable.js +5 -0
- package/slack-bot/node_modules/es-abstract/2019/IsCompatiblePropertyDescriptor.js +9 -0
- package/slack-bot/node_modules/es-abstract/2019/IsConcatSpreadable.js +26 -0
- package/slack-bot/node_modules/es-abstract/2019/IsConstructor.js +40 -0
- package/slack-bot/node_modules/es-abstract/2019/IsDataDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2019/IsDetachedBuffer.js +28 -0
- package/slack-bot/node_modules/es-abstract/2019/IsExtensible.js +18 -0
- package/slack-bot/node_modules/es-abstract/2019/IsGenericDescriptor.js +26 -0
- package/slack-bot/node_modules/es-abstract/2019/IsInteger.js +9 -0
- package/slack-bot/node_modules/es-abstract/2019/IsPromise.js +24 -0
- package/slack-bot/node_modules/es-abstract/2019/IsPropertyKey.js +9 -0
- package/slack-bot/node_modules/es-abstract/2019/IsRegExp.js +25 -0
- package/slack-bot/node_modules/es-abstract/2019/IsSharedArrayBuffer.js +16 -0
- package/slack-bot/node_modules/es-abstract/2019/IsStringPrefix.js +43 -0
- package/slack-bot/node_modules/es-abstract/2019/IsWordChar.js +45 -0
- package/slack-bot/node_modules/es-abstract/2019/IterableToList.js +21 -0
- package/slack-bot/node_modules/es-abstract/2019/IteratorClose.js +51 -0
- package/slack-bot/node_modules/es-abstract/2019/IteratorComplete.js +16 -0
- package/slack-bot/node_modules/es-abstract/2019/IteratorNext.js +16 -0
- package/slack-bot/node_modules/es-abstract/2019/IteratorStep.js +13 -0
- package/slack-bot/node_modules/es-abstract/2019/IteratorValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2019/MakeDate.js +14 -0
- package/slack-bot/node_modules/es-abstract/2019/MakeDay.js +33 -0
- package/slack-bot/node_modules/es-abstract/2019/MakeTime.js +24 -0
- package/slack-bot/node_modules/es-abstract/2019/MinFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2019/MonthFromTime.js +51 -0
- package/slack-bot/node_modules/es-abstract/2019/NewPromiseCapability.js +34 -0
- package/slack-bot/node_modules/es-abstract/2019/NormalCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2019/NumberToRawBytes.js +59 -0
- package/slack-bot/node_modules/es-abstract/2019/NumberToString.js +17 -0
- package/slack-bot/node_modules/es-abstract/2019/ObjectCreate.js +50 -0
- package/slack-bot/node_modules/es-abstract/2019/ObjectDefineProperties.js +37 -0
- package/slack-bot/node_modules/es-abstract/2019/OrdinaryCreateFromConstructor.js +20 -0
- package/slack-bot/node_modules/es-abstract/2019/OrdinaryDefineOwnProperty.js +54 -0
- package/slack-bot/node_modules/es-abstract/2019/OrdinaryGetOwnProperty.js +40 -0
- package/slack-bot/node_modules/es-abstract/2019/OrdinaryGetPrototypeOf.js +18 -0
- package/slack-bot/node_modules/es-abstract/2019/OrdinaryHasInstance.js +23 -0
- package/slack-bot/node_modules/es-abstract/2019/OrdinaryHasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2019/OrdinarySetPrototypeOf.js +50 -0
- package/slack-bot/node_modules/es-abstract/2019/OrdinaryToPrimitive.js +36 -0
- package/slack-bot/node_modules/es-abstract/2019/PromiseResolve.js +18 -0
- package/slack-bot/node_modules/es-abstract/2019/QuoteJSONString.js +51 -0
- package/slack-bot/node_modules/es-abstract/2019/RawBytesToNumber.js +58 -0
- package/slack-bot/node_modules/es-abstract/2019/RegExpCreate.js +21 -0
- package/slack-bot/node_modules/es-abstract/2019/RegExpExec.js +29 -0
- package/slack-bot/node_modules/es-abstract/2019/RequireObjectCoercible.js +3 -0
- package/slack-bot/node_modules/es-abstract/2019/SameValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2019/SameValueNonNumber.js +14 -0
- package/slack-bot/node_modules/es-abstract/2019/SameValueZero.js +9 -0
- package/slack-bot/node_modules/es-abstract/2019/SecFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2019/Set.js +45 -0
- package/slack-bot/node_modules/es-abstract/2019/SetFunctionLength.js +28 -0
- package/slack-bot/node_modules/es-abstract/2019/SetFunctionName.js +40 -0
- package/slack-bot/node_modules/es-abstract/2019/SetIntegrityLevel.js +57 -0
- package/slack-bot/node_modules/es-abstract/2019/SetValueInBuffer.js +94 -0
- package/slack-bot/node_modules/es-abstract/2019/SpeciesConstructor.js +32 -0
- package/slack-bot/node_modules/es-abstract/2019/SplitMatch.js +35 -0
- package/slack-bot/node_modules/es-abstract/2019/StrictEqualityComparison.js +15 -0
- package/slack-bot/node_modules/es-abstract/2019/StringCreate.js +38 -0
- package/slack-bot/node_modules/es-abstract/2019/StringGetOwnProperty.js +47 -0
- package/slack-bot/node_modules/es-abstract/2019/SymbolDescriptiveString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2019/TestIntegrityLevel.js +40 -0
- package/slack-bot/node_modules/es-abstract/2019/ThrowCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2019/TimeClip.js +20 -0
- package/slack-bot/node_modules/es-abstract/2019/TimeFromYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2019/TimeString.js +22 -0
- package/slack-bot/node_modules/es-abstract/2019/TimeWithinDay.js +12 -0
- package/slack-bot/node_modules/es-abstract/2019/TimeZoneString.js +33 -0
- package/slack-bot/node_modules/es-abstract/2019/ToBoolean.js +5 -0
- package/slack-bot/node_modules/es-abstract/2019/ToDateString.js +21 -0
- package/slack-bot/node_modules/es-abstract/2019/ToIndex.js +24 -0
- package/slack-bot/node_modules/es-abstract/2019/ToInt16.js +10 -0
- package/slack-bot/node_modules/es-abstract/2019/ToInt32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2019/ToInt8.js +10 -0
- package/slack-bot/node_modules/es-abstract/2019/ToInteger.js +12 -0
- package/slack-bot/node_modules/es-abstract/2019/ToLength.js +14 -0
- package/slack-bot/node_modules/es-abstract/2019/ToNumber.js +48 -0
- package/slack-bot/node_modules/es-abstract/2019/ToObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/2019/ToPrimitive.js +12 -0
- package/slack-bot/node_modules/es-abstract/2019/ToPropertyDescriptor.js +50 -0
- package/slack-bot/node_modules/es-abstract/2019/ToPropertyKey.js +15 -0
- package/slack-bot/node_modules/es-abstract/2019/ToString.js +15 -0
- package/slack-bot/node_modules/es-abstract/2019/ToUint16.js +19 -0
- package/slack-bot/node_modules/es-abstract/2019/ToUint32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2019/ToUint8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2019/ToUint8Clamp.js +19 -0
- package/slack-bot/node_modules/es-abstract/2019/TrimString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2019/Type.js +12 -0
- package/slack-bot/node_modules/es-abstract/2019/TypedArrayCreate.js +47 -0
- package/slack-bot/node_modules/es-abstract/2019/TypedArraySpeciesCreate.js +37 -0
- package/slack-bot/node_modules/es-abstract/2019/UTF16Decode.js +21 -0
- package/slack-bot/node_modules/es-abstract/2019/UTF16Encoding.js +25 -0
- package/slack-bot/node_modules/es-abstract/2019/UnicodeEscape.js +24 -0
- package/slack-bot/node_modules/es-abstract/2019/ValidateAndApplyPropertyDescriptor.js +159 -0
- package/slack-bot/node_modules/es-abstract/2019/ValidateAtomicAccess.js +34 -0
- package/slack-bot/node_modules/es-abstract/2019/ValidateTypedArray.js +28 -0
- package/slack-bot/node_modules/es-abstract/2019/WeekDay.js +10 -0
- package/slack-bot/node_modules/es-abstract/2019/WordCharacters.js +46 -0
- package/slack-bot/node_modules/es-abstract/2019/YearFromTime.js +16 -0
- package/slack-bot/node_modules/es-abstract/2019/abs.js +9 -0
- package/slack-bot/node_modules/es-abstract/2019/floor.js +11 -0
- package/slack-bot/node_modules/es-abstract/2019/max.js +5 -0
- package/slack-bot/node_modules/es-abstract/2019/min.js +5 -0
- package/slack-bot/node_modules/es-abstract/2019/modulo.js +9 -0
- package/slack-bot/node_modules/es-abstract/2019/msFromTime.js +11 -0
- package/slack-bot/node_modules/es-abstract/2019/tables/typed-array-objects.js +32 -0
- package/slack-bot/node_modules/es-abstract/2019/thisBooleanValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2019/thisNumberValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2019/thisStringValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2019/thisSymbolValue.js +20 -0
- package/slack-bot/node_modules/es-abstract/2019/thisTimeValue.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/AbstractEqualityComparison.js +56 -0
- package/slack-bot/node_modules/es-abstract/2020/AbstractRelationalComparison.js +80 -0
- package/slack-bot/node_modules/es-abstract/2020/AddEntriesFromIterable.js +44 -0
- package/slack-bot/node_modules/es-abstract/2020/AdvanceStringIndex.js +30 -0
- package/slack-bot/node_modules/es-abstract/2020/ArrayCreate.js +42 -0
- package/slack-bot/node_modules/es-abstract/2020/ArraySetLength.js +77 -0
- package/slack-bot/node_modules/es-abstract/2020/ArraySpeciesCreate.js +46 -0
- package/slack-bot/node_modules/es-abstract/2020/AsyncFromSyncIteratorContinuation.js +45 -0
- package/slack-bot/node_modules/es-abstract/2020/AsyncIteratorClose.js +64 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/add.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/bitwiseAND.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/bitwiseNOT.js +15 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/bitwiseOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/bitwiseXOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/divide.js +20 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/equal.js +13 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/exponentiate.js +29 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/index.js +43 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/leftShift.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/lessThan.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/multiply.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/remainder.js +28 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/sameValue.js +15 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/sameValueZero.js +15 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/signedRightShift.js +15 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/subtract.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/toString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/unaryMinus.js +22 -0
- package/slack-bot/node_modules/es-abstract/2020/BigInt/unsignedRightShift.js +13 -0
- package/slack-bot/node_modules/es-abstract/2020/BigIntBitwiseOp.js +63 -0
- package/slack-bot/node_modules/es-abstract/2020/BinaryAnd.js +12 -0
- package/slack-bot/node_modules/es-abstract/2020/BinaryOr.js +12 -0
- package/slack-bot/node_modules/es-abstract/2020/BinaryXor.js +12 -0
- package/slack-bot/node_modules/es-abstract/2020/Call.js +20 -0
- package/slack-bot/node_modules/es-abstract/2020/CanonicalNumericIndexString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2020/Canonicalize.js +51 -0
- package/slack-bot/node_modules/es-abstract/2020/CharacterRange.js +53 -0
- package/slack-bot/node_modules/es-abstract/2020/CodePointAt.js +55 -0
- package/slack-bot/node_modules/es-abstract/2020/CompletePropertyDescriptor.js +43 -0
- package/slack-bot/node_modules/es-abstract/2020/CompletionRecord.js +48 -0
- package/slack-bot/node_modules/es-abstract/2020/CopyDataProperties.js +62 -0
- package/slack-bot/node_modules/es-abstract/2020/CreateAsyncFromSyncIterator.js +137 -0
- package/slack-bot/node_modules/es-abstract/2020/CreateDataProperty.js +25 -0
- package/slack-bot/node_modules/es-abstract/2020/CreateDataPropertyOrThrow.js +24 -0
- package/slack-bot/node_modules/es-abstract/2020/CreateHTML.js +27 -0
- package/slack-bot/node_modules/es-abstract/2020/CreateIterResultObject.js +15 -0
- package/slack-bot/node_modules/es-abstract/2020/CreateListFromArrayLike.js +46 -0
- package/slack-bot/node_modules/es-abstract/2020/CreateMethodProperty.js +38 -0
- package/slack-bot/node_modules/es-abstract/2020/CreateRegExpStringIterator.js +100 -0
- package/slack-bot/node_modules/es-abstract/2020/DateFromTime.js +52 -0
- package/slack-bot/node_modules/es-abstract/2020/DateString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2020/Day.js +11 -0
- package/slack-bot/node_modules/es-abstract/2020/DayFromYear.js +10 -0
- package/slack-bot/node_modules/es-abstract/2020/DayWithinYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2020/DaysInYear.js +18 -0
- package/slack-bot/node_modules/es-abstract/2020/DefinePropertyOrThrow.js +39 -0
- package/slack-bot/node_modules/es-abstract/2020/DeletePropertyOrThrow.js +25 -0
- package/slack-bot/node_modules/es-abstract/2020/DetachArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2020/EnumerableOwnPropertyNames.js +37 -0
- package/slack-bot/node_modules/es-abstract/2020/FlattenIntoArray.js +55 -0
- package/slack-bot/node_modules/es-abstract/2020/FromPropertyDescriptor.js +16 -0
- package/slack-bot/node_modules/es-abstract/2020/Get.js +24 -0
- package/slack-bot/node_modules/es-abstract/2020/GetGlobalObject.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/GetIterator.js +63 -0
- package/slack-bot/node_modules/es-abstract/2020/GetMethod.js +34 -0
- package/slack-bot/node_modules/es-abstract/2020/GetOwnPropertyKeys.js +30 -0
- package/slack-bot/node_modules/es-abstract/2020/GetPrototypeFromConstructor.js +33 -0
- package/slack-bot/node_modules/es-abstract/2020/GetSubstitution.js +120 -0
- package/slack-bot/node_modules/es-abstract/2020/GetV.js +23 -0
- package/slack-bot/node_modules/es-abstract/2020/GetValueFromBuffer.js +96 -0
- package/slack-bot/node_modules/es-abstract/2020/HasOwnProperty.js +20 -0
- package/slack-bot/node_modules/es-abstract/2020/HasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2020/HourFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/InLeapYear.js +19 -0
- package/slack-bot/node_modules/es-abstract/2020/InstanceofOperator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2020/IntegerIndexedElementGet.js +53 -0
- package/slack-bot/node_modules/es-abstract/2020/IntegerIndexedElementSet.js +60 -0
- package/slack-bot/node_modules/es-abstract/2020/InternalizeJSONProperty.js +66 -0
- package/slack-bot/node_modules/es-abstract/2020/Invoke.js +22 -0
- package/slack-bot/node_modules/es-abstract/2020/IsAccessorDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2020/IsArray.js +4 -0
- package/slack-bot/node_modules/es-abstract/2020/IsBigIntElementType.js +7 -0
- package/slack-bot/node_modules/es-abstract/2020/IsCallable.js +5 -0
- package/slack-bot/node_modules/es-abstract/2020/IsCompatiblePropertyDescriptor.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/IsConcatSpreadable.js +26 -0
- package/slack-bot/node_modules/es-abstract/2020/IsConstructor.js +40 -0
- package/slack-bot/node_modules/es-abstract/2020/IsDataDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2020/IsDetachedBuffer.js +28 -0
- package/slack-bot/node_modules/es-abstract/2020/IsExtensible.js +18 -0
- package/slack-bot/node_modules/es-abstract/2020/IsGenericDescriptor.js +26 -0
- package/slack-bot/node_modules/es-abstract/2020/IsInteger.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/IsNoTearConfiguration.js +16 -0
- package/slack-bot/node_modules/es-abstract/2020/IsNonNegativeInteger.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/IsPromise.js +24 -0
- package/slack-bot/node_modules/es-abstract/2020/IsPropertyKey.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/IsRegExp.js +25 -0
- package/slack-bot/node_modules/es-abstract/2020/IsSharedArrayBuffer.js +16 -0
- package/slack-bot/node_modules/es-abstract/2020/IsStringPrefix.js +43 -0
- package/slack-bot/node_modules/es-abstract/2020/IsUnclampedIntegerElementType.js +12 -0
- package/slack-bot/node_modules/es-abstract/2020/IsUnsignedElementType.js +11 -0
- package/slack-bot/node_modules/es-abstract/2020/IsValidIntegerIndex.js +32 -0
- package/slack-bot/node_modules/es-abstract/2020/IsWordChar.js +45 -0
- package/slack-bot/node_modules/es-abstract/2020/IterableToList.js +21 -0
- package/slack-bot/node_modules/es-abstract/2020/IteratorClose.js +51 -0
- package/slack-bot/node_modules/es-abstract/2020/IteratorComplete.js +16 -0
- package/slack-bot/node_modules/es-abstract/2020/IteratorNext.js +16 -0
- package/slack-bot/node_modules/es-abstract/2020/IteratorStep.js +13 -0
- package/slack-bot/node_modules/es-abstract/2020/IteratorValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2020/LengthOfArrayLike.js +18 -0
- package/slack-bot/node_modules/es-abstract/2020/MakeDate.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/MakeDay.js +33 -0
- package/slack-bot/node_modules/es-abstract/2020/MakeTime.js +24 -0
- package/slack-bot/node_modules/es-abstract/2020/MinFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/MonthFromTime.js +51 -0
- package/slack-bot/node_modules/es-abstract/2020/NewPromiseCapability.js +34 -0
- package/slack-bot/node_modules/es-abstract/2020/NormalCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/add.js +40 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/bitwiseAND.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/bitwiseNOT.js +16 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/bitwiseOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/bitwiseXOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/divide.js +18 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/equal.js +18 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/exponentiate.js +74 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/index.js +43 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/leftShift.js +21 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/lessThan.js +22 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/multiply.js +29 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/remainder.js +28 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/sameValue.js +18 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/sameValueZero.js +20 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/signedRightShift.js +21 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/subtract.js +12 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/toString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/unaryMinus.js +17 -0
- package/slack-bot/node_modules/es-abstract/2020/Number/unsignedRightShift.js +21 -0
- package/slack-bot/node_modules/es-abstract/2020/NumberBitwiseOp.js +26 -0
- package/slack-bot/node_modules/es-abstract/2020/NumberToBigInt.js +24 -0
- package/slack-bot/node_modules/es-abstract/2020/NumericToRawBytes.js +62 -0
- package/slack-bot/node_modules/es-abstract/2020/ObjectDefineProperties.js +37 -0
- package/slack-bot/node_modules/es-abstract/2020/OrdinaryCreateFromConstructor.js +20 -0
- package/slack-bot/node_modules/es-abstract/2020/OrdinaryDefineOwnProperty.js +54 -0
- package/slack-bot/node_modules/es-abstract/2020/OrdinaryGetOwnProperty.js +40 -0
- package/slack-bot/node_modules/es-abstract/2020/OrdinaryGetPrototypeOf.js +18 -0
- package/slack-bot/node_modules/es-abstract/2020/OrdinaryHasInstance.js +23 -0
- package/slack-bot/node_modules/es-abstract/2020/OrdinaryHasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2020/OrdinaryObjectCreate.js +56 -0
- package/slack-bot/node_modules/es-abstract/2020/OrdinarySetPrototypeOf.js +50 -0
- package/slack-bot/node_modules/es-abstract/2020/OrdinaryToPrimitive.js +36 -0
- package/slack-bot/node_modules/es-abstract/2020/PromiseResolve.js +18 -0
- package/slack-bot/node_modules/es-abstract/2020/QuoteJSONString.js +52 -0
- package/slack-bot/node_modules/es-abstract/2020/RawBytesToNumeric.js +67 -0
- package/slack-bot/node_modules/es-abstract/2020/RegExpCreate.js +21 -0
- package/slack-bot/node_modules/es-abstract/2020/RegExpExec.js +29 -0
- package/slack-bot/node_modules/es-abstract/2020/RequireObjectCoercible.js +3 -0
- package/slack-bot/node_modules/es-abstract/2020/SameValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2020/SameValueNonNumeric.js +18 -0
- package/slack-bot/node_modules/es-abstract/2020/SameValueZero.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/SecFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/Set.js +45 -0
- package/slack-bot/node_modules/es-abstract/2020/SetFunctionLength.js +28 -0
- package/slack-bot/node_modules/es-abstract/2020/SetFunctionName.js +40 -0
- package/slack-bot/node_modules/es-abstract/2020/SetIntegrityLevel.js +57 -0
- package/slack-bot/node_modules/es-abstract/2020/SetValueInBuffer.js +96 -0
- package/slack-bot/node_modules/es-abstract/2020/SpeciesConstructor.js +32 -0
- package/slack-bot/node_modules/es-abstract/2020/SplitMatch.js +35 -0
- package/slack-bot/node_modules/es-abstract/2020/StrictEqualityComparison.js +15 -0
- package/slack-bot/node_modules/es-abstract/2020/StringCreate.js +38 -0
- package/slack-bot/node_modules/es-abstract/2020/StringGetOwnProperty.js +47 -0
- package/slack-bot/node_modules/es-abstract/2020/StringPad.js +41 -0
- package/slack-bot/node_modules/es-abstract/2020/StringToBigInt.js +23 -0
- package/slack-bot/node_modules/es-abstract/2020/SymbolDescriptiveString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2020/TestIntegrityLevel.js +40 -0
- package/slack-bot/node_modules/es-abstract/2020/ThrowCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/TimeClip.js +20 -0
- package/slack-bot/node_modules/es-abstract/2020/TimeFromYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2020/TimeString.js +22 -0
- package/slack-bot/node_modules/es-abstract/2020/TimeWithinDay.js +12 -0
- package/slack-bot/node_modules/es-abstract/2020/TimeZoneString.js +33 -0
- package/slack-bot/node_modules/es-abstract/2020/ToBigInt.js +53 -0
- package/slack-bot/node_modules/es-abstract/2020/ToBigInt64.js +25 -0
- package/slack-bot/node_modules/es-abstract/2020/ToBigUint64.js +23 -0
- package/slack-bot/node_modules/es-abstract/2020/ToBoolean.js +5 -0
- package/slack-bot/node_modules/es-abstract/2020/ToDateString.js +21 -0
- package/slack-bot/node_modules/es-abstract/2020/ToIndex.js +24 -0
- package/slack-bot/node_modules/es-abstract/2020/ToInt16.js +10 -0
- package/slack-bot/node_modules/es-abstract/2020/ToInt32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/ToInt8.js +10 -0
- package/slack-bot/node_modules/es-abstract/2020/ToInteger.js +15 -0
- package/slack-bot/node_modules/es-abstract/2020/ToLength.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/ToNumber.js +51 -0
- package/slack-bot/node_modules/es-abstract/2020/ToNumeric.js +20 -0
- package/slack-bot/node_modules/es-abstract/2020/ToObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/2020/ToPrimitive.js +12 -0
- package/slack-bot/node_modules/es-abstract/2020/ToPropertyDescriptor.js +50 -0
- package/slack-bot/node_modules/es-abstract/2020/ToPropertyKey.js +15 -0
- package/slack-bot/node_modules/es-abstract/2020/ToString.js +15 -0
- package/slack-bot/node_modules/es-abstract/2020/ToUint16.js +19 -0
- package/slack-bot/node_modules/es-abstract/2020/ToUint32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/ToUint8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2020/ToUint8Clamp.js +19 -0
- package/slack-bot/node_modules/es-abstract/2020/TrimString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2020/Type.js +15 -0
- package/slack-bot/node_modules/es-abstract/2020/TypedArrayCreate.js +47 -0
- package/slack-bot/node_modules/es-abstract/2020/TypedArraySpeciesCreate.js +37 -0
- package/slack-bot/node_modules/es-abstract/2020/UTF16DecodeString.js +22 -0
- package/slack-bot/node_modules/es-abstract/2020/UTF16DecodeSurrogatePair.js +19 -0
- package/slack-bot/node_modules/es-abstract/2020/UTF16Encoding.js +25 -0
- package/slack-bot/node_modules/es-abstract/2020/UnicodeEscape.js +25 -0
- package/slack-bot/node_modules/es-abstract/2020/ValidateAndApplyPropertyDescriptor.js +159 -0
- package/slack-bot/node_modules/es-abstract/2020/ValidateAtomicAccess.js +34 -0
- package/slack-bot/node_modules/es-abstract/2020/ValidateTypedArray.js +28 -0
- package/slack-bot/node_modules/es-abstract/2020/WeekDay.js +10 -0
- package/slack-bot/node_modules/es-abstract/2020/WordCharacters.js +46 -0
- package/slack-bot/node_modules/es-abstract/2020/YearFromTime.js +16 -0
- package/slack-bot/node_modules/es-abstract/2020/abs.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/floor.js +14 -0
- package/slack-bot/node_modules/es-abstract/2020/max.js +5 -0
- package/slack-bot/node_modules/es-abstract/2020/min.js +5 -0
- package/slack-bot/node_modules/es-abstract/2020/modulo.js +9 -0
- package/slack-bot/node_modules/es-abstract/2020/msFromTime.js +11 -0
- package/slack-bot/node_modules/es-abstract/2020/tables/typed-array-objects.js +36 -0
- package/slack-bot/node_modules/es-abstract/2020/thisBigIntValue.js +18 -0
- package/slack-bot/node_modules/es-abstract/2020/thisBooleanValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2020/thisNumberValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2020/thisStringValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2020/thisSymbolValue.js +20 -0
- package/slack-bot/node_modules/es-abstract/2020/thisTimeValue.js +9 -0
- package/slack-bot/node_modules/es-abstract/2021/AbstractEqualityComparison.js +56 -0
- package/slack-bot/node_modules/es-abstract/2021/AbstractRelationalComparison.js +80 -0
- package/slack-bot/node_modules/es-abstract/2021/AddEntriesFromIterable.js +44 -0
- package/slack-bot/node_modules/es-abstract/2021/AddToKeptObjects.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/AdvanceStringIndex.js +30 -0
- package/slack-bot/node_modules/es-abstract/2021/ApplyStringOrNumericBinaryOperator.js +77 -0
- package/slack-bot/node_modules/es-abstract/2021/ArrayCreate.js +42 -0
- package/slack-bot/node_modules/es-abstract/2021/ArraySetLength.js +77 -0
- package/slack-bot/node_modules/es-abstract/2021/ArraySpeciesCreate.js +48 -0
- package/slack-bot/node_modules/es-abstract/2021/AsyncFromSyncIteratorContinuation.js +45 -0
- package/slack-bot/node_modules/es-abstract/2021/AsyncIteratorClose.js +70 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/add.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/bitwiseAND.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/bitwiseNOT.js +15 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/bitwiseOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/bitwiseXOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/divide.js +20 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/equal.js +13 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/exponentiate.js +29 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/index.js +43 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/leftShift.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/lessThan.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/multiply.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/remainder.js +28 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/sameValue.js +15 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/sameValueZero.js +15 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/signedRightShift.js +15 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/subtract.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/toString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/unaryMinus.js +22 -0
- package/slack-bot/node_modules/es-abstract/2021/BigInt/unsignedRightShift.js +13 -0
- package/slack-bot/node_modules/es-abstract/2021/BigIntBitwiseOp.js +63 -0
- package/slack-bot/node_modules/es-abstract/2021/BinaryAnd.js +12 -0
- package/slack-bot/node_modules/es-abstract/2021/BinaryOr.js +12 -0
- package/slack-bot/node_modules/es-abstract/2021/BinaryXor.js +12 -0
- package/slack-bot/node_modules/es-abstract/2021/ByteListBitwiseOp.js +39 -0
- package/slack-bot/node_modules/es-abstract/2021/ByteListEqual.js +31 -0
- package/slack-bot/node_modules/es-abstract/2021/Call.js +20 -0
- package/slack-bot/node_modules/es-abstract/2021/CanonicalNumericIndexString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2021/Canonicalize.js +51 -0
- package/slack-bot/node_modules/es-abstract/2021/CharacterRange.js +53 -0
- package/slack-bot/node_modules/es-abstract/2021/ClearKeptObjects.js +12 -0
- package/slack-bot/node_modules/es-abstract/2021/CloneArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2021/CodePointAt.js +55 -0
- package/slack-bot/node_modules/es-abstract/2021/CodePointsToString.js +25 -0
- package/slack-bot/node_modules/es-abstract/2021/CompletePropertyDescriptor.js +43 -0
- package/slack-bot/node_modules/es-abstract/2021/CompletionRecord.js +48 -0
- package/slack-bot/node_modules/es-abstract/2021/CopyDataProperties.js +69 -0
- package/slack-bot/node_modules/es-abstract/2021/CreateAsyncFromSyncIterator.js +137 -0
- package/slack-bot/node_modules/es-abstract/2021/CreateDataProperty.js +25 -0
- package/slack-bot/node_modules/es-abstract/2021/CreateDataPropertyOrThrow.js +24 -0
- package/slack-bot/node_modules/es-abstract/2021/CreateHTML.js +27 -0
- package/slack-bot/node_modules/es-abstract/2021/CreateIterResultObject.js +15 -0
- package/slack-bot/node_modules/es-abstract/2021/CreateListFromArrayLike.js +44 -0
- package/slack-bot/node_modules/es-abstract/2021/CreateMethodProperty.js +38 -0
- package/slack-bot/node_modules/es-abstract/2021/CreateRegExpStringIterator.js +100 -0
- package/slack-bot/node_modules/es-abstract/2021/DateFromTime.js +52 -0
- package/slack-bot/node_modules/es-abstract/2021/DateString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2021/Day.js +11 -0
- package/slack-bot/node_modules/es-abstract/2021/DayFromYear.js +10 -0
- package/slack-bot/node_modules/es-abstract/2021/DayWithinYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2021/DaysInYear.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/DefinePropertyOrThrow.js +39 -0
- package/slack-bot/node_modules/es-abstract/2021/DeletePropertyOrThrow.js +25 -0
- package/slack-bot/node_modules/es-abstract/2021/DetachArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2021/EnumerableOwnPropertyNames.js +37 -0
- package/slack-bot/node_modules/es-abstract/2021/FlattenIntoArray.js +55 -0
- package/slack-bot/node_modules/es-abstract/2021/FromPropertyDescriptor.js +16 -0
- package/slack-bot/node_modules/es-abstract/2021/Get.js +24 -0
- package/slack-bot/node_modules/es-abstract/2021/GetGlobalObject.js +9 -0
- package/slack-bot/node_modules/es-abstract/2021/GetIterator.js +63 -0
- package/slack-bot/node_modules/es-abstract/2021/GetMethod.js +34 -0
- package/slack-bot/node_modules/es-abstract/2021/GetOwnPropertyKeys.js +30 -0
- package/slack-bot/node_modules/es-abstract/2021/GetPromiseResolve.js +20 -0
- package/slack-bot/node_modules/es-abstract/2021/GetPrototypeFromConstructor.js +33 -0
- package/slack-bot/node_modules/es-abstract/2021/GetSubstitution.js +119 -0
- package/slack-bot/node_modules/es-abstract/2021/GetV.js +23 -0
- package/slack-bot/node_modules/es-abstract/2021/GetValueFromBuffer.js +96 -0
- package/slack-bot/node_modules/es-abstract/2021/HasOwnProperty.js +20 -0
- package/slack-bot/node_modules/es-abstract/2021/HasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/HourFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/InLeapYear.js +19 -0
- package/slack-bot/node_modules/es-abstract/2021/InstanceofOperator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2021/IntegerIndexedElementGet.js +39 -0
- package/slack-bot/node_modules/es-abstract/2021/IntegerIndexedElementSet.js +44 -0
- package/slack-bot/node_modules/es-abstract/2021/InternalizeJSONProperty.js +66 -0
- package/slack-bot/node_modules/es-abstract/2021/Invoke.js +22 -0
- package/slack-bot/node_modules/es-abstract/2021/IsAccessorDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2021/IsArray.js +4 -0
- package/slack-bot/node_modules/es-abstract/2021/IsBigIntElementType.js +7 -0
- package/slack-bot/node_modules/es-abstract/2021/IsCallable.js +5 -0
- package/slack-bot/node_modules/es-abstract/2021/IsCompatiblePropertyDescriptor.js +9 -0
- package/slack-bot/node_modules/es-abstract/2021/IsConcatSpreadable.js +26 -0
- package/slack-bot/node_modules/es-abstract/2021/IsConstructor.js +40 -0
- package/slack-bot/node_modules/es-abstract/2021/IsDataDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2021/IsDetachedBuffer.js +28 -0
- package/slack-bot/node_modules/es-abstract/2021/IsExtensible.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/IsGenericDescriptor.js +26 -0
- package/slack-bot/node_modules/es-abstract/2021/IsIntegralNumber.js +9 -0
- package/slack-bot/node_modules/es-abstract/2021/IsNoTearConfiguration.js +16 -0
- package/slack-bot/node_modules/es-abstract/2021/IsPromise.js +24 -0
- package/slack-bot/node_modules/es-abstract/2021/IsPropertyKey.js +9 -0
- package/slack-bot/node_modules/es-abstract/2021/IsRegExp.js +25 -0
- package/slack-bot/node_modules/es-abstract/2021/IsSharedArrayBuffer.js +16 -0
- package/slack-bot/node_modules/es-abstract/2021/IsStringPrefix.js +43 -0
- package/slack-bot/node_modules/es-abstract/2021/IsUnclampedIntegerElementType.js +12 -0
- package/slack-bot/node_modules/es-abstract/2021/IsUnsignedElementType.js +11 -0
- package/slack-bot/node_modules/es-abstract/2021/IsValidIntegerIndex.js +30 -0
- package/slack-bot/node_modules/es-abstract/2021/IsWordChar.js +46 -0
- package/slack-bot/node_modules/es-abstract/2021/IterableToList.js +26 -0
- package/slack-bot/node_modules/es-abstract/2021/IteratorClose.js +51 -0
- package/slack-bot/node_modules/es-abstract/2021/IteratorComplete.js +16 -0
- package/slack-bot/node_modules/es-abstract/2021/IteratorNext.js +16 -0
- package/slack-bot/node_modules/es-abstract/2021/IteratorStep.js +13 -0
- package/slack-bot/node_modules/es-abstract/2021/IteratorValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2021/LengthOfArrayLike.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/MakeDate.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/MakeDay.js +36 -0
- package/slack-bot/node_modules/es-abstract/2021/MakeTime.js +23 -0
- package/slack-bot/node_modules/es-abstract/2021/MinFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/MonthFromTime.js +51 -0
- package/slack-bot/node_modules/es-abstract/2021/NewPromiseCapability.js +34 -0
- package/slack-bot/node_modules/es-abstract/2021/NormalCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/add.js +31 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/bitwiseAND.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/bitwiseNOT.js +16 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/bitwiseOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/bitwiseXOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/divide.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/equal.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/exponentiate.js +74 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/index.js +43 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/leftShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/lessThan.js +22 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/multiply.js +29 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/remainder.js +28 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/sameValue.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/sameValueZero.js +20 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/signedRightShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/subtract.js +15 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/toString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/unaryMinus.js +17 -0
- package/slack-bot/node_modules/es-abstract/2021/Number/unsignedRightShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2021/NumberBitwiseOp.js +26 -0
- package/slack-bot/node_modules/es-abstract/2021/NumberToBigInt.js +25 -0
- package/slack-bot/node_modules/es-abstract/2021/NumericToRawBytes.js +62 -0
- package/slack-bot/node_modules/es-abstract/2021/ObjectDefineProperties.js +37 -0
- package/slack-bot/node_modules/es-abstract/2021/OrdinaryCreateFromConstructor.js +20 -0
- package/slack-bot/node_modules/es-abstract/2021/OrdinaryDefineOwnProperty.js +54 -0
- package/slack-bot/node_modules/es-abstract/2021/OrdinaryGetOwnProperty.js +41 -0
- package/slack-bot/node_modules/es-abstract/2021/OrdinaryGetPrototypeOf.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/OrdinaryHasInstance.js +23 -0
- package/slack-bot/node_modules/es-abstract/2021/OrdinaryHasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/OrdinaryObjectCreate.js +56 -0
- package/slack-bot/node_modules/es-abstract/2021/OrdinarySetPrototypeOf.js +50 -0
- package/slack-bot/node_modules/es-abstract/2021/OrdinaryToPrimitive.js +36 -0
- package/slack-bot/node_modules/es-abstract/2021/PromiseResolve.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/QuoteJSONString.js +52 -0
- package/slack-bot/node_modules/es-abstract/2021/RawBytesToNumeric.js +67 -0
- package/slack-bot/node_modules/es-abstract/2021/RegExpCreate.js +21 -0
- package/slack-bot/node_modules/es-abstract/2021/RegExpExec.js +29 -0
- package/slack-bot/node_modules/es-abstract/2021/RequireObjectCoercible.js +3 -0
- package/slack-bot/node_modules/es-abstract/2021/SameValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2021/SameValueNonNumeric.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/SameValueZero.js +9 -0
- package/slack-bot/node_modules/es-abstract/2021/SecFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/Set.js +45 -0
- package/slack-bot/node_modules/es-abstract/2021/SetFunctionLength.js +28 -0
- package/slack-bot/node_modules/es-abstract/2021/SetFunctionName.js +40 -0
- package/slack-bot/node_modules/es-abstract/2021/SetIntegrityLevel.js +57 -0
- package/slack-bot/node_modules/es-abstract/2021/SetTypedArrayFromArrayLike.js +96 -0
- package/slack-bot/node_modules/es-abstract/2021/SetTypedArrayFromTypedArray.js +138 -0
- package/slack-bot/node_modules/es-abstract/2021/SetValueInBuffer.js +92 -0
- package/slack-bot/node_modules/es-abstract/2021/SpeciesConstructor.js +32 -0
- package/slack-bot/node_modules/es-abstract/2021/SplitMatch.js +35 -0
- package/slack-bot/node_modules/es-abstract/2021/StrictEqualityComparison.js +15 -0
- package/slack-bot/node_modules/es-abstract/2021/StringCreate.js +38 -0
- package/slack-bot/node_modules/es-abstract/2021/StringGetOwnProperty.js +46 -0
- package/slack-bot/node_modules/es-abstract/2021/StringIndexOf.js +36 -0
- package/slack-bot/node_modules/es-abstract/2021/StringPad.js +41 -0
- package/slack-bot/node_modules/es-abstract/2021/StringToBigInt.js +23 -0
- package/slack-bot/node_modules/es-abstract/2021/StringToCodePoints.js +22 -0
- package/slack-bot/node_modules/es-abstract/2021/SymbolDescriptiveString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2021/TestIntegrityLevel.js +40 -0
- package/slack-bot/node_modules/es-abstract/2021/ThrowCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2021/TimeClip.js +20 -0
- package/slack-bot/node_modules/es-abstract/2021/TimeFromYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2021/TimeString.js +22 -0
- package/slack-bot/node_modules/es-abstract/2021/TimeWithinDay.js +12 -0
- package/slack-bot/node_modules/es-abstract/2021/TimeZoneString.js +38 -0
- package/slack-bot/node_modules/es-abstract/2021/ToBigInt.js +53 -0
- package/slack-bot/node_modules/es-abstract/2021/ToBigInt64.js +25 -0
- package/slack-bot/node_modules/es-abstract/2021/ToBigUint64.js +23 -0
- package/slack-bot/node_modules/es-abstract/2021/ToBoolean.js +5 -0
- package/slack-bot/node_modules/es-abstract/2021/ToDateString.js +21 -0
- package/slack-bot/node_modules/es-abstract/2021/ToIndex.js +24 -0
- package/slack-bot/node_modules/es-abstract/2021/ToInt16.js +10 -0
- package/slack-bot/node_modules/es-abstract/2021/ToInt32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2021/ToInt8.js +10 -0
- package/slack-bot/node_modules/es-abstract/2021/ToIntegerOrInfinity.js +20 -0
- package/slack-bot/node_modules/es-abstract/2021/ToLength.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/ToNumber.js +51 -0
- package/slack-bot/node_modules/es-abstract/2021/ToNumeric.js +20 -0
- package/slack-bot/node_modules/es-abstract/2021/ToObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/2021/ToPrimitive.js +12 -0
- package/slack-bot/node_modules/es-abstract/2021/ToPropertyDescriptor.js +50 -0
- package/slack-bot/node_modules/es-abstract/2021/ToPropertyKey.js +15 -0
- package/slack-bot/node_modules/es-abstract/2021/ToString.js +15 -0
- package/slack-bot/node_modules/es-abstract/2021/ToUint16.js +19 -0
- package/slack-bot/node_modules/es-abstract/2021/ToUint32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2021/ToUint8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2021/ToUint8Clamp.js +19 -0
- package/slack-bot/node_modules/es-abstract/2021/TrimString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2021/Type.js +15 -0
- package/slack-bot/node_modules/es-abstract/2021/TypedArrayCreate.js +47 -0
- package/slack-bot/node_modules/es-abstract/2021/TypedArraySpeciesCreate.js +37 -0
- package/slack-bot/node_modules/es-abstract/2021/UTF16EncodeCodePoint.js +25 -0
- package/slack-bot/node_modules/es-abstract/2021/UTF16SurrogatePairToCodePoint.js +19 -0
- package/slack-bot/node_modules/es-abstract/2021/UnicodeEscape.js +25 -0
- package/slack-bot/node_modules/es-abstract/2021/ValidateAndApplyPropertyDescriptor.js +159 -0
- package/slack-bot/node_modules/es-abstract/2021/ValidateAtomicAccess.js +45 -0
- package/slack-bot/node_modules/es-abstract/2021/ValidateIntegerTypedArray.js +37 -0
- package/slack-bot/node_modules/es-abstract/2021/ValidateTypedArray.js +28 -0
- package/slack-bot/node_modules/es-abstract/2021/WeakRefDeref.js +23 -0
- package/slack-bot/node_modules/es-abstract/2021/WeekDay.js +10 -0
- package/slack-bot/node_modules/es-abstract/2021/WordCharacters.js +46 -0
- package/slack-bot/node_modules/es-abstract/2021/YearFromTime.js +16 -0
- package/slack-bot/node_modules/es-abstract/2021/abs.js +9 -0
- package/slack-bot/node_modules/es-abstract/2021/clamp.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/floor.js +14 -0
- package/slack-bot/node_modules/es-abstract/2021/max.js +5 -0
- package/slack-bot/node_modules/es-abstract/2021/min.js +5 -0
- package/slack-bot/node_modules/es-abstract/2021/modulo.js +9 -0
- package/slack-bot/node_modules/es-abstract/2021/msFromTime.js +11 -0
- package/slack-bot/node_modules/es-abstract/2021/substring.js +15 -0
- package/slack-bot/node_modules/es-abstract/2021/tables/typed-array-objects.js +36 -0
- package/slack-bot/node_modules/es-abstract/2021/thisBigIntValue.js +18 -0
- package/slack-bot/node_modules/es-abstract/2021/thisBooleanValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2021/thisNumberValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2021/thisStringValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2021/thisSymbolValue.js +20 -0
- package/slack-bot/node_modules/es-abstract/2021/thisTimeValue.js +9 -0
- package/slack-bot/node_modules/es-abstract/2022/AddEntriesFromIterable.js +44 -0
- package/slack-bot/node_modules/es-abstract/2022/AddToKeptObjects.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/AdvanceStringIndex.js +30 -0
- package/slack-bot/node_modules/es-abstract/2022/ApplyStringOrNumericBinaryOperator.js +77 -0
- package/slack-bot/node_modules/es-abstract/2022/ArrayCreate.js +42 -0
- package/slack-bot/node_modules/es-abstract/2022/ArraySetLength.js +77 -0
- package/slack-bot/node_modules/es-abstract/2022/ArraySpeciesCreate.js +48 -0
- package/slack-bot/node_modules/es-abstract/2022/AsyncFromSyncIteratorContinuation.js +45 -0
- package/slack-bot/node_modules/es-abstract/2022/AsyncIteratorClose.js +70 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/add.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/bitwiseAND.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/bitwiseNOT.js +15 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/bitwiseOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/bitwiseXOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/divide.js +20 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/equal.js +13 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/exponentiate.js +29 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/index.js +43 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/leftShift.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/lessThan.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/multiply.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/remainder.js +28 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/sameValue.js +15 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/sameValueZero.js +15 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/signedRightShift.js +15 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/subtract.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/toString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/unaryMinus.js +22 -0
- package/slack-bot/node_modules/es-abstract/2022/BigInt/unsignedRightShift.js +13 -0
- package/slack-bot/node_modules/es-abstract/2022/BigIntBitwiseOp.js +63 -0
- package/slack-bot/node_modules/es-abstract/2022/BinaryAnd.js +12 -0
- package/slack-bot/node_modules/es-abstract/2022/BinaryOr.js +12 -0
- package/slack-bot/node_modules/es-abstract/2022/BinaryXor.js +12 -0
- package/slack-bot/node_modules/es-abstract/2022/ByteListBitwiseOp.js +39 -0
- package/slack-bot/node_modules/es-abstract/2022/ByteListEqual.js +31 -0
- package/slack-bot/node_modules/es-abstract/2022/Call.js +20 -0
- package/slack-bot/node_modules/es-abstract/2022/CanonicalNumericIndexString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2022/Canonicalize.js +51 -0
- package/slack-bot/node_modules/es-abstract/2022/CharacterRange.js +53 -0
- package/slack-bot/node_modules/es-abstract/2022/ClearKeptObjects.js +12 -0
- package/slack-bot/node_modules/es-abstract/2022/CloneArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2022/CodePointAt.js +55 -0
- package/slack-bot/node_modules/es-abstract/2022/CodePointsToString.js +25 -0
- package/slack-bot/node_modules/es-abstract/2022/CompletePropertyDescriptor.js +43 -0
- package/slack-bot/node_modules/es-abstract/2022/CompletionRecord.js +48 -0
- package/slack-bot/node_modules/es-abstract/2022/CopyDataProperties.js +69 -0
- package/slack-bot/node_modules/es-abstract/2022/CreateAsyncFromSyncIterator.js +137 -0
- package/slack-bot/node_modules/es-abstract/2022/CreateDataProperty.js +25 -0
- package/slack-bot/node_modules/es-abstract/2022/CreateDataPropertyOrThrow.js +24 -0
- package/slack-bot/node_modules/es-abstract/2022/CreateHTML.js +27 -0
- package/slack-bot/node_modules/es-abstract/2022/CreateIterResultObject.js +15 -0
- package/slack-bot/node_modules/es-abstract/2022/CreateListFromArrayLike.js +44 -0
- package/slack-bot/node_modules/es-abstract/2022/CreateMethodProperty.js +38 -0
- package/slack-bot/node_modules/es-abstract/2022/CreateNonEnumerableDataPropertyOrThrow.js +28 -0
- package/slack-bot/node_modules/es-abstract/2022/CreateRegExpStringIterator.js +100 -0
- package/slack-bot/node_modules/es-abstract/2022/DateFromTime.js +52 -0
- package/slack-bot/node_modules/es-abstract/2022/DateString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2022/Day.js +11 -0
- package/slack-bot/node_modules/es-abstract/2022/DayFromYear.js +10 -0
- package/slack-bot/node_modules/es-abstract/2022/DayWithinYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2022/DaysInYear.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/DefineMethodProperty.js +42 -0
- package/slack-bot/node_modules/es-abstract/2022/DefinePropertyOrThrow.js +39 -0
- package/slack-bot/node_modules/es-abstract/2022/DeletePropertyOrThrow.js +25 -0
- package/slack-bot/node_modules/es-abstract/2022/DetachArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2022/EnumerableOwnPropertyNames.js +37 -0
- package/slack-bot/node_modules/es-abstract/2022/FlattenIntoArray.js +55 -0
- package/slack-bot/node_modules/es-abstract/2022/FromPropertyDescriptor.js +16 -0
- package/slack-bot/node_modules/es-abstract/2022/Get.js +24 -0
- package/slack-bot/node_modules/es-abstract/2022/GetGlobalObject.js +9 -0
- package/slack-bot/node_modules/es-abstract/2022/GetIterator.js +63 -0
- package/slack-bot/node_modules/es-abstract/2022/GetMatchIndexPair.js +24 -0
- package/slack-bot/node_modules/es-abstract/2022/GetMatchString.js +26 -0
- package/slack-bot/node_modules/es-abstract/2022/GetMethod.js +34 -0
- package/slack-bot/node_modules/es-abstract/2022/GetOwnPropertyKeys.js +30 -0
- package/slack-bot/node_modules/es-abstract/2022/GetPromiseResolve.js +20 -0
- package/slack-bot/node_modules/es-abstract/2022/GetPrototypeFromConstructor.js +33 -0
- package/slack-bot/node_modules/es-abstract/2022/GetStringIndex.js +27 -0
- package/slack-bot/node_modules/es-abstract/2022/GetSubstitution.js +137 -0
- package/slack-bot/node_modules/es-abstract/2022/GetV.js +23 -0
- package/slack-bot/node_modules/es-abstract/2022/GetValueFromBuffer.js +96 -0
- package/slack-bot/node_modules/es-abstract/2022/HasOwnProperty.js +20 -0
- package/slack-bot/node_modules/es-abstract/2022/HasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/HourFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/InLeapYear.js +19 -0
- package/slack-bot/node_modules/es-abstract/2022/InstallErrorCause.js +21 -0
- package/slack-bot/node_modules/es-abstract/2022/InstanceofOperator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2022/IntegerIndexedElementGet.js +38 -0
- package/slack-bot/node_modules/es-abstract/2022/IntegerIndexedElementSet.js +42 -0
- package/slack-bot/node_modules/es-abstract/2022/InternalizeJSONProperty.js +66 -0
- package/slack-bot/node_modules/es-abstract/2022/Invoke.js +22 -0
- package/slack-bot/node_modules/es-abstract/2022/IsAccessorDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2022/IsArray.js +4 -0
- package/slack-bot/node_modules/es-abstract/2022/IsBigIntElementType.js +7 -0
- package/slack-bot/node_modules/es-abstract/2022/IsCallable.js +5 -0
- package/slack-bot/node_modules/es-abstract/2022/IsCompatiblePropertyDescriptor.js +9 -0
- package/slack-bot/node_modules/es-abstract/2022/IsConcatSpreadable.js +26 -0
- package/slack-bot/node_modules/es-abstract/2022/IsConstructor.js +40 -0
- package/slack-bot/node_modules/es-abstract/2022/IsDataDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2022/IsDetachedBuffer.js +28 -0
- package/slack-bot/node_modules/es-abstract/2022/IsExtensible.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/IsGenericDescriptor.js +26 -0
- package/slack-bot/node_modules/es-abstract/2022/IsIntegralNumber.js +9 -0
- package/slack-bot/node_modules/es-abstract/2022/IsLessThan.js +87 -0
- package/slack-bot/node_modules/es-abstract/2022/IsLooselyEqual.js +58 -0
- package/slack-bot/node_modules/es-abstract/2022/IsNoTearConfiguration.js +16 -0
- package/slack-bot/node_modules/es-abstract/2022/IsPromise.js +24 -0
- package/slack-bot/node_modules/es-abstract/2022/IsPropertyKey.js +9 -0
- package/slack-bot/node_modules/es-abstract/2022/IsRegExp.js +25 -0
- package/slack-bot/node_modules/es-abstract/2022/IsSharedArrayBuffer.js +16 -0
- package/slack-bot/node_modules/es-abstract/2022/IsStrictlyEqual.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/IsStringPrefix.js +19 -0
- package/slack-bot/node_modules/es-abstract/2022/IsStringWellFormedUnicode.js +23 -0
- package/slack-bot/node_modules/es-abstract/2022/IsUnclampedIntegerElementType.js +12 -0
- package/slack-bot/node_modules/es-abstract/2022/IsUnsignedElementType.js +11 -0
- package/slack-bot/node_modules/es-abstract/2022/IsValidIntegerIndex.js +30 -0
- package/slack-bot/node_modules/es-abstract/2022/IsWordChar.js +46 -0
- package/slack-bot/node_modules/es-abstract/2022/IterableToList.js +26 -0
- package/slack-bot/node_modules/es-abstract/2022/IteratorClose.js +51 -0
- package/slack-bot/node_modules/es-abstract/2022/IteratorComplete.js +16 -0
- package/slack-bot/node_modules/es-abstract/2022/IteratorNext.js +16 -0
- package/slack-bot/node_modules/es-abstract/2022/IteratorStep.js +13 -0
- package/slack-bot/node_modules/es-abstract/2022/IteratorValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2022/LengthOfArrayLike.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/MakeDate.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/MakeDay.js +36 -0
- package/slack-bot/node_modules/es-abstract/2022/MakeMatchIndicesIndexPairArray.js +66 -0
- package/slack-bot/node_modules/es-abstract/2022/MakeTime.js +23 -0
- package/slack-bot/node_modules/es-abstract/2022/MinFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/MonthFromTime.js +51 -0
- package/slack-bot/node_modules/es-abstract/2022/NewPromiseCapability.js +34 -0
- package/slack-bot/node_modules/es-abstract/2022/NormalCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/add.js +31 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/bitwiseAND.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/bitwiseNOT.js +16 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/bitwiseOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/bitwiseXOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/divide.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/equal.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/exponentiate.js +74 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/index.js +43 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/leftShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/lessThan.js +22 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/multiply.js +29 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/remainder.js +28 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/sameValue.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/sameValueZero.js +20 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/signedRightShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/subtract.js +15 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/toString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/unaryMinus.js +17 -0
- package/slack-bot/node_modules/es-abstract/2022/Number/unsignedRightShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2022/NumberBitwiseOp.js +26 -0
- package/slack-bot/node_modules/es-abstract/2022/NumberToBigInt.js +25 -0
- package/slack-bot/node_modules/es-abstract/2022/NumericToRawBytes.js +62 -0
- package/slack-bot/node_modules/es-abstract/2022/ObjectDefineProperties.js +37 -0
- package/slack-bot/node_modules/es-abstract/2022/OrdinaryCreateFromConstructor.js +20 -0
- package/slack-bot/node_modules/es-abstract/2022/OrdinaryDefineOwnProperty.js +54 -0
- package/slack-bot/node_modules/es-abstract/2022/OrdinaryGetOwnProperty.js +41 -0
- package/slack-bot/node_modules/es-abstract/2022/OrdinaryGetPrototypeOf.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/OrdinaryHasInstance.js +23 -0
- package/slack-bot/node_modules/es-abstract/2022/OrdinaryHasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/OrdinaryObjectCreate.js +56 -0
- package/slack-bot/node_modules/es-abstract/2022/OrdinarySetPrototypeOf.js +50 -0
- package/slack-bot/node_modules/es-abstract/2022/OrdinaryToPrimitive.js +36 -0
- package/slack-bot/node_modules/es-abstract/2022/PromiseResolve.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/QuoteJSONString.js +52 -0
- package/slack-bot/node_modules/es-abstract/2022/RawBytesToNumeric.js +67 -0
- package/slack-bot/node_modules/es-abstract/2022/RegExpCreate.js +21 -0
- package/slack-bot/node_modules/es-abstract/2022/RegExpExec.js +29 -0
- package/slack-bot/node_modules/es-abstract/2022/RegExpHasFlag.js +38 -0
- package/slack-bot/node_modules/es-abstract/2022/RequireObjectCoercible.js +3 -0
- package/slack-bot/node_modules/es-abstract/2022/SameValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2022/SameValueNonNumeric.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/SameValueZero.js +9 -0
- package/slack-bot/node_modules/es-abstract/2022/SecFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/Set.js +45 -0
- package/slack-bot/node_modules/es-abstract/2022/SetFunctionLength.js +28 -0
- package/slack-bot/node_modules/es-abstract/2022/SetFunctionName.js +40 -0
- package/slack-bot/node_modules/es-abstract/2022/SetIntegrityLevel.js +57 -0
- package/slack-bot/node_modules/es-abstract/2022/SetTypedArrayFromArrayLike.js +94 -0
- package/slack-bot/node_modules/es-abstract/2022/SetTypedArrayFromTypedArray.js +134 -0
- package/slack-bot/node_modules/es-abstract/2022/SetValueInBuffer.js +92 -0
- package/slack-bot/node_modules/es-abstract/2022/SortIndexedProperties.js +62 -0
- package/slack-bot/node_modules/es-abstract/2022/SpeciesConstructor.js +32 -0
- package/slack-bot/node_modules/es-abstract/2022/StringCreate.js +38 -0
- package/slack-bot/node_modules/es-abstract/2022/StringGetOwnProperty.js +46 -0
- package/slack-bot/node_modules/es-abstract/2022/StringIndexOf.js +36 -0
- package/slack-bot/node_modules/es-abstract/2022/StringPad.js +41 -0
- package/slack-bot/node_modules/es-abstract/2022/StringToBigInt.js +23 -0
- package/slack-bot/node_modules/es-abstract/2022/StringToCodePoints.js +22 -0
- package/slack-bot/node_modules/es-abstract/2022/StringToNumber.js +42 -0
- package/slack-bot/node_modules/es-abstract/2022/SymbolDescriptiveString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2022/TestIntegrityLevel.js +40 -0
- package/slack-bot/node_modules/es-abstract/2022/ThrowCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2022/TimeClip.js +20 -0
- package/slack-bot/node_modules/es-abstract/2022/TimeFromYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2022/TimeString.js +26 -0
- package/slack-bot/node_modules/es-abstract/2022/TimeWithinDay.js +12 -0
- package/slack-bot/node_modules/es-abstract/2022/TimeZoneString.js +38 -0
- package/slack-bot/node_modules/es-abstract/2022/ToBigInt.js +51 -0
- package/slack-bot/node_modules/es-abstract/2022/ToBigInt64.js +25 -0
- package/slack-bot/node_modules/es-abstract/2022/ToBigUint64.js +23 -0
- package/slack-bot/node_modules/es-abstract/2022/ToBoolean.js +5 -0
- package/slack-bot/node_modules/es-abstract/2022/ToDateString.js +21 -0
- package/slack-bot/node_modules/es-abstract/2022/ToIndex.js +24 -0
- package/slack-bot/node_modules/es-abstract/2022/ToInt16.js +10 -0
- package/slack-bot/node_modules/es-abstract/2022/ToInt32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2022/ToInt8.js +10 -0
- package/slack-bot/node_modules/es-abstract/2022/ToIntegerOrInfinity.js +20 -0
- package/slack-bot/node_modules/es-abstract/2022/ToLength.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/ToNumber.js +26 -0
- package/slack-bot/node_modules/es-abstract/2022/ToNumeric.js +20 -0
- package/slack-bot/node_modules/es-abstract/2022/ToObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/2022/ToPrimitive.js +12 -0
- package/slack-bot/node_modules/es-abstract/2022/ToPropertyDescriptor.js +50 -0
- package/slack-bot/node_modules/es-abstract/2022/ToPropertyKey.js +15 -0
- package/slack-bot/node_modules/es-abstract/2022/ToString.js +15 -0
- package/slack-bot/node_modules/es-abstract/2022/ToUint16.js +19 -0
- package/slack-bot/node_modules/es-abstract/2022/ToUint32.js +9 -0
- package/slack-bot/node_modules/es-abstract/2022/ToUint8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2022/ToUint8Clamp.js +19 -0
- package/slack-bot/node_modules/es-abstract/2022/ToZeroPaddedDecimalString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2022/TrimString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2022/Type.js +15 -0
- package/slack-bot/node_modules/es-abstract/2022/TypedArrayCreate.js +47 -0
- package/slack-bot/node_modules/es-abstract/2022/TypedArrayElementSize.js +23 -0
- package/slack-bot/node_modules/es-abstract/2022/TypedArrayElementType.js +23 -0
- package/slack-bot/node_modules/es-abstract/2022/TypedArraySpeciesCreate.js +37 -0
- package/slack-bot/node_modules/es-abstract/2022/UTF16EncodeCodePoint.js +25 -0
- package/slack-bot/node_modules/es-abstract/2022/UTF16SurrogatePairToCodePoint.js +19 -0
- package/slack-bot/node_modules/es-abstract/2022/UnicodeEscape.js +25 -0
- package/slack-bot/node_modules/es-abstract/2022/ValidateAndApplyPropertyDescriptor.js +171 -0
- package/slack-bot/node_modules/es-abstract/2022/ValidateAtomicAccess.js +40 -0
- package/slack-bot/node_modules/es-abstract/2022/ValidateIntegerTypedArray.js +38 -0
- package/slack-bot/node_modules/es-abstract/2022/ValidateTypedArray.js +26 -0
- package/slack-bot/node_modules/es-abstract/2022/WeakRefDeref.js +23 -0
- package/slack-bot/node_modules/es-abstract/2022/WeekDay.js +10 -0
- package/slack-bot/node_modules/es-abstract/2022/WordCharacters.js +46 -0
- package/slack-bot/node_modules/es-abstract/2022/YearFromTime.js +16 -0
- package/slack-bot/node_modules/es-abstract/2022/abs.js +9 -0
- package/slack-bot/node_modules/es-abstract/2022/clamp.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/floor.js +14 -0
- package/slack-bot/node_modules/es-abstract/2022/max.js +5 -0
- package/slack-bot/node_modules/es-abstract/2022/min.js +5 -0
- package/slack-bot/node_modules/es-abstract/2022/modulo.js +9 -0
- package/slack-bot/node_modules/es-abstract/2022/msFromTime.js +11 -0
- package/slack-bot/node_modules/es-abstract/2022/substring.js +15 -0
- package/slack-bot/node_modules/es-abstract/2022/tables/typed-array-objects.js +36 -0
- package/slack-bot/node_modules/es-abstract/2022/thisBigIntValue.js +18 -0
- package/slack-bot/node_modules/es-abstract/2022/thisBooleanValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2022/thisNumberValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2022/thisStringValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2022/thisSymbolValue.js +20 -0
- package/slack-bot/node_modules/es-abstract/2022/thisTimeValue.js +9 -0
- package/slack-bot/node_modules/es-abstract/2023/AddEntriesFromIterable.js +44 -0
- package/slack-bot/node_modules/es-abstract/2023/AddToKeptObjects.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/AdvanceStringIndex.js +30 -0
- package/slack-bot/node_modules/es-abstract/2023/ApplyStringOrNumericBinaryOperator.js +77 -0
- package/slack-bot/node_modules/es-abstract/2023/ArrayCreate.js +42 -0
- package/slack-bot/node_modules/es-abstract/2023/ArraySetLength.js +77 -0
- package/slack-bot/node_modules/es-abstract/2023/ArraySpeciesCreate.js +48 -0
- package/slack-bot/node_modules/es-abstract/2023/AsyncFromSyncIteratorContinuation.js +45 -0
- package/slack-bot/node_modules/es-abstract/2023/AsyncIteratorClose.js +70 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/add.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/bitwiseAND.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/bitwiseNOT.js +15 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/bitwiseOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/bitwiseXOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/divide.js +20 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/equal.js +13 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/exponentiate.js +29 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/index.js +39 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/leftShift.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/lessThan.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/multiply.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/remainder.js +28 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/signedRightShift.js +15 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/subtract.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/toString.js +26 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/unaryMinus.js +22 -0
- package/slack-bot/node_modules/es-abstract/2023/BigInt/unsignedRightShift.js +13 -0
- package/slack-bot/node_modules/es-abstract/2023/BigIntBitwiseOp.js +63 -0
- package/slack-bot/node_modules/es-abstract/2023/BinaryAnd.js +12 -0
- package/slack-bot/node_modules/es-abstract/2023/BinaryOr.js +12 -0
- package/slack-bot/node_modules/es-abstract/2023/BinaryXor.js +12 -0
- package/slack-bot/node_modules/es-abstract/2023/ByteListBitwiseOp.js +39 -0
- package/slack-bot/node_modules/es-abstract/2023/ByteListEqual.js +31 -0
- package/slack-bot/node_modules/es-abstract/2023/Call.js +20 -0
- package/slack-bot/node_modules/es-abstract/2023/CanBeHeldWeakly.js +17 -0
- package/slack-bot/node_modules/es-abstract/2023/CanonicalNumericIndexString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2023/Canonicalize.js +52 -0
- package/slack-bot/node_modules/es-abstract/2023/CharacterRange.js +53 -0
- package/slack-bot/node_modules/es-abstract/2023/ClearKeptObjects.js +12 -0
- package/slack-bot/node_modules/es-abstract/2023/CloneArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2023/CodePointAt.js +55 -0
- package/slack-bot/node_modules/es-abstract/2023/CodePointsToString.js +25 -0
- package/slack-bot/node_modules/es-abstract/2023/CompareArrayElements.js +50 -0
- package/slack-bot/node_modules/es-abstract/2023/CompareTypedArrayElements.js +60 -0
- package/slack-bot/node_modules/es-abstract/2023/CompletePropertyDescriptor.js +43 -0
- package/slack-bot/node_modules/es-abstract/2023/CompletionRecord.js +48 -0
- package/slack-bot/node_modules/es-abstract/2023/CopyDataProperties.js +69 -0
- package/slack-bot/node_modules/es-abstract/2023/CreateAsyncFromSyncIterator.js +137 -0
- package/slack-bot/node_modules/es-abstract/2023/CreateDataProperty.js +25 -0
- package/slack-bot/node_modules/es-abstract/2023/CreateDataPropertyOrThrow.js +23 -0
- package/slack-bot/node_modules/es-abstract/2023/CreateHTML.js +27 -0
- package/slack-bot/node_modules/es-abstract/2023/CreateIterResultObject.js +15 -0
- package/slack-bot/node_modules/es-abstract/2023/CreateListFromArrayLike.js +44 -0
- package/slack-bot/node_modules/es-abstract/2023/CreateMethodProperty.js +38 -0
- package/slack-bot/node_modules/es-abstract/2023/CreateNonEnumerableDataPropertyOrThrow.js +28 -0
- package/slack-bot/node_modules/es-abstract/2023/CreateRegExpStringIterator.js +100 -0
- package/slack-bot/node_modules/es-abstract/2023/DateFromTime.js +52 -0
- package/slack-bot/node_modules/es-abstract/2023/DateString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2023/Day.js +11 -0
- package/slack-bot/node_modules/es-abstract/2023/DayFromYear.js +10 -0
- package/slack-bot/node_modules/es-abstract/2023/DayWithinYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2023/DaysInYear.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/DefaultTimeZone.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/DefineMethodProperty.js +42 -0
- package/slack-bot/node_modules/es-abstract/2023/DefinePropertyOrThrow.js +39 -0
- package/slack-bot/node_modules/es-abstract/2023/DeletePropertyOrThrow.js +25 -0
- package/slack-bot/node_modules/es-abstract/2023/DetachArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2023/EnumerableOwnProperties.js +36 -0
- package/slack-bot/node_modules/es-abstract/2023/FindViaPredicate.js +43 -0
- package/slack-bot/node_modules/es-abstract/2023/FlattenIntoArray.js +55 -0
- package/slack-bot/node_modules/es-abstract/2023/FromPropertyDescriptor.js +16 -0
- package/slack-bot/node_modules/es-abstract/2023/Get.js +24 -0
- package/slack-bot/node_modules/es-abstract/2023/GetGlobalObject.js +9 -0
- package/slack-bot/node_modules/es-abstract/2023/GetIterator.js +53 -0
- package/slack-bot/node_modules/es-abstract/2023/GetIteratorFromMethod.js +28 -0
- package/slack-bot/node_modules/es-abstract/2023/GetMatchIndexPair.js +24 -0
- package/slack-bot/node_modules/es-abstract/2023/GetMatchString.js +26 -0
- package/slack-bot/node_modules/es-abstract/2023/GetMethod.js +34 -0
- package/slack-bot/node_modules/es-abstract/2023/GetNamedTimeZoneEpochNanoseconds.js +72 -0
- package/slack-bot/node_modules/es-abstract/2023/GetOwnPropertyKeys.js +30 -0
- package/slack-bot/node_modules/es-abstract/2023/GetPromiseResolve.js +20 -0
- package/slack-bot/node_modules/es-abstract/2023/GetPrototypeFromConstructor.js +33 -0
- package/slack-bot/node_modules/es-abstract/2023/GetStringIndex.js +27 -0
- package/slack-bot/node_modules/es-abstract/2023/GetSubstitution.js +138 -0
- package/slack-bot/node_modules/es-abstract/2023/GetUTCEpochNanoseconds.js +68 -0
- package/slack-bot/node_modules/es-abstract/2023/GetV.js +23 -0
- package/slack-bot/node_modules/es-abstract/2023/GetValueFromBuffer.js +96 -0
- package/slack-bot/node_modules/es-abstract/2023/HasOwnProperty.js +20 -0
- package/slack-bot/node_modules/es-abstract/2023/HasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/HourFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/InLeapYear.js +19 -0
- package/slack-bot/node_modules/es-abstract/2023/InstallErrorCause.js +21 -0
- package/slack-bot/node_modules/es-abstract/2023/InstanceofOperator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2023/IntegerIndexedElementGet.js +38 -0
- package/slack-bot/node_modules/es-abstract/2023/IntegerIndexedElementSet.js +42 -0
- package/slack-bot/node_modules/es-abstract/2023/InternalizeJSONProperty.js +68 -0
- package/slack-bot/node_modules/es-abstract/2023/Invoke.js +22 -0
- package/slack-bot/node_modules/es-abstract/2023/IsAccessorDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2023/IsArray.js +4 -0
- package/slack-bot/node_modules/es-abstract/2023/IsBigIntElementType.js +7 -0
- package/slack-bot/node_modules/es-abstract/2023/IsCallable.js +5 -0
- package/slack-bot/node_modules/es-abstract/2023/IsCompatiblePropertyDescriptor.js +9 -0
- package/slack-bot/node_modules/es-abstract/2023/IsConcatSpreadable.js +26 -0
- package/slack-bot/node_modules/es-abstract/2023/IsConstructor.js +40 -0
- package/slack-bot/node_modules/es-abstract/2023/IsDataDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2023/IsDetachedBuffer.js +28 -0
- package/slack-bot/node_modules/es-abstract/2023/IsExtensible.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/IsGenericDescriptor.js +26 -0
- package/slack-bot/node_modules/es-abstract/2023/IsIntegralNumber.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/IsLessThan.js +97 -0
- package/slack-bot/node_modules/es-abstract/2023/IsLooselyEqual.js +58 -0
- package/slack-bot/node_modules/es-abstract/2023/IsNoTearConfiguration.js +16 -0
- package/slack-bot/node_modules/es-abstract/2023/IsPromise.js +24 -0
- package/slack-bot/node_modules/es-abstract/2023/IsPropertyKey.js +9 -0
- package/slack-bot/node_modules/es-abstract/2023/IsRegExp.js +25 -0
- package/slack-bot/node_modules/es-abstract/2023/IsSharedArrayBuffer.js +16 -0
- package/slack-bot/node_modules/es-abstract/2023/IsStrictlyEqual.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/IsStringWellFormedUnicode.js +23 -0
- package/slack-bot/node_modules/es-abstract/2023/IsTimeZoneOffsetString.js +20 -0
- package/slack-bot/node_modules/es-abstract/2023/IsUnclampedIntegerElementType.js +12 -0
- package/slack-bot/node_modules/es-abstract/2023/IsUnsignedElementType.js +11 -0
- package/slack-bot/node_modules/es-abstract/2023/IsValidIntegerIndex.js +30 -0
- package/slack-bot/node_modules/es-abstract/2023/IsWordChar.js +42 -0
- package/slack-bot/node_modules/es-abstract/2023/IteratorClose.js +65 -0
- package/slack-bot/node_modules/es-abstract/2023/IteratorComplete.js +16 -0
- package/slack-bot/node_modules/es-abstract/2023/IteratorNext.js +28 -0
- package/slack-bot/node_modules/es-abstract/2023/IteratorStep.js +21 -0
- package/slack-bot/node_modules/es-abstract/2023/IteratorToList.js +27 -0
- package/slack-bot/node_modules/es-abstract/2023/IteratorValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2023/KeyForSymbol.js +16 -0
- package/slack-bot/node_modules/es-abstract/2023/LengthOfArrayLike.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/MakeDate.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/MakeDay.js +36 -0
- package/slack-bot/node_modules/es-abstract/2023/MakeMatchIndicesIndexPairArray.js +66 -0
- package/slack-bot/node_modules/es-abstract/2023/MakeTime.js +23 -0
- package/slack-bot/node_modules/es-abstract/2023/MinFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/MonthFromTime.js +51 -0
- package/slack-bot/node_modules/es-abstract/2023/NewPromiseCapability.js +34 -0
- package/slack-bot/node_modules/es-abstract/2023/NormalCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/add.js +31 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/bitwiseAND.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/bitwiseNOT.js +16 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/bitwiseOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/bitwiseXOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/divide.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/equal.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/exponentiate.js +74 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/index.js +43 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/leftShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/lessThan.js +22 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/multiply.js +29 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/remainder.js +38 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/sameValue.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/sameValueZero.js +20 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/signedRightShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/subtract.js +15 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/toString.js +20 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/unaryMinus.js +17 -0
- package/slack-bot/node_modules/es-abstract/2023/Number/unsignedRightShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2023/NumberBitwiseOp.js +26 -0
- package/slack-bot/node_modules/es-abstract/2023/NumberToBigInt.js +25 -0
- package/slack-bot/node_modules/es-abstract/2023/NumericToRawBytes.js +62 -0
- package/slack-bot/node_modules/es-abstract/2023/ObjectDefineProperties.js +37 -0
- package/slack-bot/node_modules/es-abstract/2023/OrdinaryCreateFromConstructor.js +20 -0
- package/slack-bot/node_modules/es-abstract/2023/OrdinaryDefineOwnProperty.js +54 -0
- package/slack-bot/node_modules/es-abstract/2023/OrdinaryGetOwnProperty.js +41 -0
- package/slack-bot/node_modules/es-abstract/2023/OrdinaryGetPrototypeOf.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/OrdinaryHasInstance.js +23 -0
- package/slack-bot/node_modules/es-abstract/2023/OrdinaryHasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/OrdinaryObjectCreate.js +56 -0
- package/slack-bot/node_modules/es-abstract/2023/OrdinarySetPrototypeOf.js +50 -0
- package/slack-bot/node_modules/es-abstract/2023/OrdinaryToPrimitive.js +36 -0
- package/slack-bot/node_modules/es-abstract/2023/ParseHexOctet.js +40 -0
- package/slack-bot/node_modules/es-abstract/2023/PromiseResolve.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/QuoteJSONString.js +52 -0
- package/slack-bot/node_modules/es-abstract/2023/RawBytesToNumeric.js +67 -0
- package/slack-bot/node_modules/es-abstract/2023/RegExpCreate.js +21 -0
- package/slack-bot/node_modules/es-abstract/2023/RegExpExec.js +29 -0
- package/slack-bot/node_modules/es-abstract/2023/RegExpHasFlag.js +38 -0
- package/slack-bot/node_modules/es-abstract/2023/RequireObjectCoercible.js +3 -0
- package/slack-bot/node_modules/es-abstract/2023/SameValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2023/SameValueNonNumber.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/SameValueZero.js +9 -0
- package/slack-bot/node_modules/es-abstract/2023/SecFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/Set.js +45 -0
- package/slack-bot/node_modules/es-abstract/2023/SetFunctionLength.js +28 -0
- package/slack-bot/node_modules/es-abstract/2023/SetFunctionName.js +40 -0
- package/slack-bot/node_modules/es-abstract/2023/SetIntegrityLevel.js +57 -0
- package/slack-bot/node_modules/es-abstract/2023/SetTypedArrayFromArrayLike.js +68 -0
- package/slack-bot/node_modules/es-abstract/2023/SetTypedArrayFromTypedArray.js +129 -0
- package/slack-bot/node_modules/es-abstract/2023/SetValueInBuffer.js +92 -0
- package/slack-bot/node_modules/es-abstract/2023/SortIndexedProperties.js +49 -0
- package/slack-bot/node_modules/es-abstract/2023/SpeciesConstructor.js +32 -0
- package/slack-bot/node_modules/es-abstract/2023/StringCreate.js +38 -0
- package/slack-bot/node_modules/es-abstract/2023/StringGetOwnProperty.js +46 -0
- package/slack-bot/node_modules/es-abstract/2023/StringIndexOf.js +36 -0
- package/slack-bot/node_modules/es-abstract/2023/StringPad.js +41 -0
- package/slack-bot/node_modules/es-abstract/2023/StringToBigInt.js +23 -0
- package/slack-bot/node_modules/es-abstract/2023/StringToCodePoints.js +22 -0
- package/slack-bot/node_modules/es-abstract/2023/StringToNumber.js +42 -0
- package/slack-bot/node_modules/es-abstract/2023/SymbolDescriptiveString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2023/TestIntegrityLevel.js +40 -0
- package/slack-bot/node_modules/es-abstract/2023/ThrowCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2023/TimeClip.js +20 -0
- package/slack-bot/node_modules/es-abstract/2023/TimeFromYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2023/TimeString.js +26 -0
- package/slack-bot/node_modules/es-abstract/2023/TimeWithinDay.js +12 -0
- package/slack-bot/node_modules/es-abstract/2023/TimeZoneString.js +41 -0
- package/slack-bot/node_modules/es-abstract/2023/ToBigInt.js +51 -0
- package/slack-bot/node_modules/es-abstract/2023/ToBigInt64.js +25 -0
- package/slack-bot/node_modules/es-abstract/2023/ToBigUint64.js +23 -0
- package/slack-bot/node_modules/es-abstract/2023/ToBoolean.js +5 -0
- package/slack-bot/node_modules/es-abstract/2023/ToDateString.js +21 -0
- package/slack-bot/node_modules/es-abstract/2023/ToIndex.js +24 -0
- package/slack-bot/node_modules/es-abstract/2023/ToInt16.js +21 -0
- package/slack-bot/node_modules/es-abstract/2023/ToInt32.js +23 -0
- package/slack-bot/node_modules/es-abstract/2023/ToInt8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2023/ToIntegerOrInfinity.js +16 -0
- package/slack-bot/node_modules/es-abstract/2023/ToLength.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/ToNumber.js +26 -0
- package/slack-bot/node_modules/es-abstract/2023/ToNumeric.js +20 -0
- package/slack-bot/node_modules/es-abstract/2023/ToObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/2023/ToPrimitive.js +12 -0
- package/slack-bot/node_modules/es-abstract/2023/ToPropertyDescriptor.js +50 -0
- package/slack-bot/node_modules/es-abstract/2023/ToPropertyKey.js +15 -0
- package/slack-bot/node_modules/es-abstract/2023/ToString.js +15 -0
- package/slack-bot/node_modules/es-abstract/2023/ToUint16.js +21 -0
- package/slack-bot/node_modules/es-abstract/2023/ToUint32.js +21 -0
- package/slack-bot/node_modules/es-abstract/2023/ToUint8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2023/ToUint8Clamp.js +19 -0
- package/slack-bot/node_modules/es-abstract/2023/ToZeroPaddedDecimalString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2023/TrimString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2023/Type.js +15 -0
- package/slack-bot/node_modules/es-abstract/2023/TypedArrayCreate.js +47 -0
- package/slack-bot/node_modules/es-abstract/2023/TypedArrayCreateSameType.js +35 -0
- package/slack-bot/node_modules/es-abstract/2023/TypedArrayElementSize.js +23 -0
- package/slack-bot/node_modules/es-abstract/2023/TypedArrayElementType.js +23 -0
- package/slack-bot/node_modules/es-abstract/2023/TypedArraySpeciesCreate.js +37 -0
- package/slack-bot/node_modules/es-abstract/2023/UTF16EncodeCodePoint.js +25 -0
- package/slack-bot/node_modules/es-abstract/2023/UTF16SurrogatePairToCodePoint.js +19 -0
- package/slack-bot/node_modules/es-abstract/2023/UnicodeEscape.js +25 -0
- package/slack-bot/node_modules/es-abstract/2023/ValidateAndApplyPropertyDescriptor.js +171 -0
- package/slack-bot/node_modules/es-abstract/2023/ValidateAtomicAccess.js +40 -0
- package/slack-bot/node_modules/es-abstract/2023/ValidateIntegerTypedArray.js +38 -0
- package/slack-bot/node_modules/es-abstract/2023/ValidateTypedArray.js +26 -0
- package/slack-bot/node_modules/es-abstract/2023/WeakRefDeref.js +23 -0
- package/slack-bot/node_modules/es-abstract/2023/WeekDay.js +10 -0
- package/slack-bot/node_modules/es-abstract/2023/WordCharacters.js +47 -0
- package/slack-bot/node_modules/es-abstract/2023/YearFromTime.js +16 -0
- package/slack-bot/node_modules/es-abstract/2023/abs.js +9 -0
- package/slack-bot/node_modules/es-abstract/2023/clamp.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/floor.js +14 -0
- package/slack-bot/node_modules/es-abstract/2023/max.js +5 -0
- package/slack-bot/node_modules/es-abstract/2023/min.js +5 -0
- package/slack-bot/node_modules/es-abstract/2023/modulo.js +9 -0
- package/slack-bot/node_modules/es-abstract/2023/msFromTime.js +11 -0
- package/slack-bot/node_modules/es-abstract/2023/substring.js +15 -0
- package/slack-bot/node_modules/es-abstract/2023/tables/typed-array-objects.js +36 -0
- package/slack-bot/node_modules/es-abstract/2023/thisBigIntValue.js +18 -0
- package/slack-bot/node_modules/es-abstract/2023/thisBooleanValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2023/thisNumberValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2023/thisStringValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2023/thisSymbolValue.js +20 -0
- package/slack-bot/node_modules/es-abstract/2023/thisTimeValue.js +9 -0
- package/slack-bot/node_modules/es-abstract/2023/truncate.js +15 -0
- package/slack-bot/node_modules/es-abstract/2024/AddEntriesFromIterable.js +44 -0
- package/slack-bot/node_modules/es-abstract/2024/AddToKeptObjects.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/AddValueToKeyedGroup.js +45 -0
- package/slack-bot/node_modules/es-abstract/2024/AdvanceStringIndex.js +30 -0
- package/slack-bot/node_modules/es-abstract/2024/AllCharacters.js +29 -0
- package/slack-bot/node_modules/es-abstract/2024/ApplyStringOrNumericBinaryOperator.js +77 -0
- package/slack-bot/node_modules/es-abstract/2024/ArrayBufferByteLength.js +41 -0
- package/slack-bot/node_modules/es-abstract/2024/ArrayBufferCopyAndDetach.js +101 -0
- package/slack-bot/node_modules/es-abstract/2024/ArrayCreate.js +42 -0
- package/slack-bot/node_modules/es-abstract/2024/ArraySetLength.js +77 -0
- package/slack-bot/node_modules/es-abstract/2024/ArraySpeciesCreate.js +48 -0
- package/slack-bot/node_modules/es-abstract/2024/AsyncFromSyncIteratorContinuation.js +45 -0
- package/slack-bot/node_modules/es-abstract/2024/AsyncIteratorClose.js +70 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/add.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/bitwiseAND.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/bitwiseNOT.js +15 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/bitwiseOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/bitwiseXOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/divide.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/equal.js +13 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/exponentiate.js +29 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/index.js +39 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/leftShift.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/lessThan.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/multiply.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/remainder.js +28 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/signedRightShift.js +15 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/subtract.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/toString.js +26 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/unaryMinus.js +22 -0
- package/slack-bot/node_modules/es-abstract/2024/BigInt/unsignedRightShift.js +13 -0
- package/slack-bot/node_modules/es-abstract/2024/BigIntBitwiseOp.js +63 -0
- package/slack-bot/node_modules/es-abstract/2024/BinaryAnd.js +12 -0
- package/slack-bot/node_modules/es-abstract/2024/BinaryOr.js +12 -0
- package/slack-bot/node_modules/es-abstract/2024/BinaryXor.js +12 -0
- package/slack-bot/node_modules/es-abstract/2024/ByteListBitwiseOp.js +39 -0
- package/slack-bot/node_modules/es-abstract/2024/ByteListEqual.js +31 -0
- package/slack-bot/node_modules/es-abstract/2024/Call.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/CanBeHeldWeakly.js +17 -0
- package/slack-bot/node_modules/es-abstract/2024/CanonicalNumericIndexString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2024/Canonicalize.js +52 -0
- package/slack-bot/node_modules/es-abstract/2024/CharacterComplement.js +34 -0
- package/slack-bot/node_modules/es-abstract/2024/CharacterRange.js +53 -0
- package/slack-bot/node_modules/es-abstract/2024/ClearKeptObjects.js +12 -0
- package/slack-bot/node_modules/es-abstract/2024/CloneArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2024/CodePointAt.js +55 -0
- package/slack-bot/node_modules/es-abstract/2024/CodePointsToString.js +25 -0
- package/slack-bot/node_modules/es-abstract/2024/CompareArrayElements.js +50 -0
- package/slack-bot/node_modules/es-abstract/2024/CompareTypedArrayElements.js +60 -0
- package/slack-bot/node_modules/es-abstract/2024/CompletePropertyDescriptor.js +43 -0
- package/slack-bot/node_modules/es-abstract/2024/CompletionRecord.js +48 -0
- package/slack-bot/node_modules/es-abstract/2024/CopyDataProperties.js +69 -0
- package/slack-bot/node_modules/es-abstract/2024/CreateAsyncFromSyncIterator.js +137 -0
- package/slack-bot/node_modules/es-abstract/2024/CreateDataProperty.js +25 -0
- package/slack-bot/node_modules/es-abstract/2024/CreateDataPropertyOrThrow.js +23 -0
- package/slack-bot/node_modules/es-abstract/2024/CreateHTML.js +27 -0
- package/slack-bot/node_modules/es-abstract/2024/CreateIterResultObject.js +15 -0
- package/slack-bot/node_modules/es-abstract/2024/CreateListFromArrayLike.js +44 -0
- package/slack-bot/node_modules/es-abstract/2024/CreateNonEnumerableDataPropertyOrThrow.js +28 -0
- package/slack-bot/node_modules/es-abstract/2024/CreateRegExpStringIterator.js +101 -0
- package/slack-bot/node_modules/es-abstract/2024/DateFromTime.js +52 -0
- package/slack-bot/node_modules/es-abstract/2024/DateString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2024/Day.js +11 -0
- package/slack-bot/node_modules/es-abstract/2024/DayFromYear.js +10 -0
- package/slack-bot/node_modules/es-abstract/2024/DayWithinYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2024/DaysInYear.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/DefineMethodProperty.js +42 -0
- package/slack-bot/node_modules/es-abstract/2024/DefinePropertyOrThrow.js +39 -0
- package/slack-bot/node_modules/es-abstract/2024/DeletePropertyOrThrow.js +25 -0
- package/slack-bot/node_modules/es-abstract/2024/DetachArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2024/EnumerableOwnProperties.js +36 -0
- package/slack-bot/node_modules/es-abstract/2024/FindViaPredicate.js +43 -0
- package/slack-bot/node_modules/es-abstract/2024/FlattenIntoArray.js +55 -0
- package/slack-bot/node_modules/es-abstract/2024/FromPropertyDescriptor.js +16 -0
- package/slack-bot/node_modules/es-abstract/2024/Get.js +24 -0
- package/slack-bot/node_modules/es-abstract/2024/GetArrayBufferMaxByteLengthOption.js +22 -0
- package/slack-bot/node_modules/es-abstract/2024/GetGlobalObject.js +9 -0
- package/slack-bot/node_modules/es-abstract/2024/GetIterator.js +53 -0
- package/slack-bot/node_modules/es-abstract/2024/GetIteratorFromMethod.js +28 -0
- package/slack-bot/node_modules/es-abstract/2024/GetMatchIndexPair.js +24 -0
- package/slack-bot/node_modules/es-abstract/2024/GetMatchString.js +26 -0
- package/slack-bot/node_modules/es-abstract/2024/GetMethod.js +34 -0
- package/slack-bot/node_modules/es-abstract/2024/GetNamedTimeZoneEpochNanoseconds.js +72 -0
- package/slack-bot/node_modules/es-abstract/2024/GetOwnPropertyKeys.js +30 -0
- package/slack-bot/node_modules/es-abstract/2024/GetPromiseResolve.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/GetPrototypeFromConstructor.js +33 -0
- package/slack-bot/node_modules/es-abstract/2024/GetStringIndex.js +27 -0
- package/slack-bot/node_modules/es-abstract/2024/GetSubstitution.js +148 -0
- package/slack-bot/node_modules/es-abstract/2024/GetUTCEpochNanoseconds.js +68 -0
- package/slack-bot/node_modules/es-abstract/2024/GetV.js +23 -0
- package/slack-bot/node_modules/es-abstract/2024/GetValueFromBuffer.js +95 -0
- package/slack-bot/node_modules/es-abstract/2024/GetViewByteLength.js +47 -0
- package/slack-bot/node_modules/es-abstract/2024/GroupBy.js +75 -0
- package/slack-bot/node_modules/es-abstract/2024/HasEitherUnicodeFlag.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/HasOwnProperty.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/HasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/HourFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/InLeapYear.js +19 -0
- package/slack-bot/node_modules/es-abstract/2024/InstallErrorCause.js +21 -0
- package/slack-bot/node_modules/es-abstract/2024/InstanceofOperator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2024/InternalizeJSONProperty.js +68 -0
- package/slack-bot/node_modules/es-abstract/2024/Invoke.js +22 -0
- package/slack-bot/node_modules/es-abstract/2024/IsAccessorDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2024/IsArray.js +4 -0
- package/slack-bot/node_modules/es-abstract/2024/IsArrayBufferViewOutOfBounds.js +30 -0
- package/slack-bot/node_modules/es-abstract/2024/IsBigIntElementType.js +7 -0
- package/slack-bot/node_modules/es-abstract/2024/IsCallable.js +5 -0
- package/slack-bot/node_modules/es-abstract/2024/IsCompatiblePropertyDescriptor.js +9 -0
- package/slack-bot/node_modules/es-abstract/2024/IsConcatSpreadable.js +26 -0
- package/slack-bot/node_modules/es-abstract/2024/IsConstructor.js +40 -0
- package/slack-bot/node_modules/es-abstract/2024/IsDataDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2024/IsDetachedBuffer.js +28 -0
- package/slack-bot/node_modules/es-abstract/2024/IsExtensible.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/IsFixedLengthArrayBuffer.js +29 -0
- package/slack-bot/node_modules/es-abstract/2024/IsGenericDescriptor.js +26 -0
- package/slack-bot/node_modules/es-abstract/2024/IsIntegralNumber.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/IsLessThan.js +97 -0
- package/slack-bot/node_modules/es-abstract/2024/IsLooselyEqual.js +58 -0
- package/slack-bot/node_modules/es-abstract/2024/IsNoTearConfiguration.js +16 -0
- package/slack-bot/node_modules/es-abstract/2024/IsPromise.js +24 -0
- package/slack-bot/node_modules/es-abstract/2024/IsPropertyKey.js +9 -0
- package/slack-bot/node_modules/es-abstract/2024/IsRegExp.js +25 -0
- package/slack-bot/node_modules/es-abstract/2024/IsSharedArrayBuffer.js +16 -0
- package/slack-bot/node_modules/es-abstract/2024/IsStrictlyEqual.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/IsStringWellFormedUnicode.js +23 -0
- package/slack-bot/node_modules/es-abstract/2024/IsTimeZoneOffsetString.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/IsTypedArrayOutOfBounds.js +57 -0
- package/slack-bot/node_modules/es-abstract/2024/IsUnclampedIntegerElementType.js +12 -0
- package/slack-bot/node_modules/es-abstract/2024/IsUnsignedElementType.js +11 -0
- package/slack-bot/node_modules/es-abstract/2024/IsValidIntegerIndex.js +43 -0
- package/slack-bot/node_modules/es-abstract/2024/IsViewOutOfBounds.js +48 -0
- package/slack-bot/node_modules/es-abstract/2024/IsWordChar.js +42 -0
- package/slack-bot/node_modules/es-abstract/2024/IteratorClose.js +65 -0
- package/slack-bot/node_modules/es-abstract/2024/IteratorComplete.js +16 -0
- package/slack-bot/node_modules/es-abstract/2024/IteratorNext.js +28 -0
- package/slack-bot/node_modules/es-abstract/2024/IteratorStep.js +21 -0
- package/slack-bot/node_modules/es-abstract/2024/IteratorStepValue.js +49 -0
- package/slack-bot/node_modules/es-abstract/2024/IteratorToList.js +27 -0
- package/slack-bot/node_modules/es-abstract/2024/IteratorValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2024/KeyForSymbol.js +16 -0
- package/slack-bot/node_modules/es-abstract/2024/LengthOfArrayLike.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/MakeDataViewWithBufferWitnessRecord.js +26 -0
- package/slack-bot/node_modules/es-abstract/2024/MakeDate.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/MakeDay.js +36 -0
- package/slack-bot/node_modules/es-abstract/2024/MakeFullYear.js +26 -0
- package/slack-bot/node_modules/es-abstract/2024/MakeMatchIndicesIndexPairArray.js +66 -0
- package/slack-bot/node_modules/es-abstract/2024/MakeTime.js +23 -0
- package/slack-bot/node_modules/es-abstract/2024/MakeTypedArrayWithBufferWitnessRecord.js +26 -0
- package/slack-bot/node_modules/es-abstract/2024/MinFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/MonthFromTime.js +51 -0
- package/slack-bot/node_modules/es-abstract/2024/NewPromiseCapability.js +34 -0
- package/slack-bot/node_modules/es-abstract/2024/NormalCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/add.js +31 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/bitwiseAND.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/bitwiseNOT.js +16 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/bitwiseOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/bitwiseXOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/divide.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/equal.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/exponentiate.js +74 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/index.js +43 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/leftShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/lessThan.js +22 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/multiply.js +29 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/remainder.js +38 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/sameValue.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/sameValueZero.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/signedRightShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/subtract.js +15 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/toString.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/unaryMinus.js +17 -0
- package/slack-bot/node_modules/es-abstract/2024/Number/unsignedRightShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2024/NumberBitwiseOp.js +26 -0
- package/slack-bot/node_modules/es-abstract/2024/NumberToBigInt.js +25 -0
- package/slack-bot/node_modules/es-abstract/2024/NumericToRawBytes.js +62 -0
- package/slack-bot/node_modules/es-abstract/2024/ObjectDefineProperties.js +33 -0
- package/slack-bot/node_modules/es-abstract/2024/OrdinaryCreateFromConstructor.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/OrdinaryDefineOwnProperty.js +54 -0
- package/slack-bot/node_modules/es-abstract/2024/OrdinaryGetOwnProperty.js +41 -0
- package/slack-bot/node_modules/es-abstract/2024/OrdinaryGetPrototypeOf.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/OrdinaryHasInstance.js +23 -0
- package/slack-bot/node_modules/es-abstract/2024/OrdinaryHasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/OrdinaryObjectCreate.js +56 -0
- package/slack-bot/node_modules/es-abstract/2024/OrdinarySetPrototypeOf.js +50 -0
- package/slack-bot/node_modules/es-abstract/2024/OrdinaryToPrimitive.js +36 -0
- package/slack-bot/node_modules/es-abstract/2024/ParseHexOctet.js +40 -0
- package/slack-bot/node_modules/es-abstract/2024/PromiseResolve.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/QuoteJSONString.js +52 -0
- package/slack-bot/node_modules/es-abstract/2024/RawBytesToNumeric.js +67 -0
- package/slack-bot/node_modules/es-abstract/2024/RegExpCreate.js +21 -0
- package/slack-bot/node_modules/es-abstract/2024/RegExpExec.js +29 -0
- package/slack-bot/node_modules/es-abstract/2024/RegExpHasFlag.js +38 -0
- package/slack-bot/node_modules/es-abstract/2024/RequireObjectCoercible.js +3 -0
- package/slack-bot/node_modules/es-abstract/2024/SameValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2024/SameValueNonNumber.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/SameValueZero.js +9 -0
- package/slack-bot/node_modules/es-abstract/2024/SecFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/Set.js +45 -0
- package/slack-bot/node_modules/es-abstract/2024/SetFunctionLength.js +28 -0
- package/slack-bot/node_modules/es-abstract/2024/SetFunctionName.js +40 -0
- package/slack-bot/node_modules/es-abstract/2024/SetIntegrityLevel.js +57 -0
- package/slack-bot/node_modules/es-abstract/2024/SetTypedArrayFromArrayLike.js +64 -0
- package/slack-bot/node_modules/es-abstract/2024/SetTypedArrayFromTypedArray.js +133 -0
- package/slack-bot/node_modules/es-abstract/2024/SetValueInBuffer.js +92 -0
- package/slack-bot/node_modules/es-abstract/2024/SortIndexedProperties.js +49 -0
- package/slack-bot/node_modules/es-abstract/2024/SpeciesConstructor.js +32 -0
- package/slack-bot/node_modules/es-abstract/2024/StringCreate.js +38 -0
- package/slack-bot/node_modules/es-abstract/2024/StringGetOwnProperty.js +46 -0
- package/slack-bot/node_modules/es-abstract/2024/StringIndexOf.js +36 -0
- package/slack-bot/node_modules/es-abstract/2024/StringPad.js +43 -0
- package/slack-bot/node_modules/es-abstract/2024/StringPaddingBuiltinsImpl.js +27 -0
- package/slack-bot/node_modules/es-abstract/2024/StringToBigInt.js +23 -0
- package/slack-bot/node_modules/es-abstract/2024/StringToCodePoints.js +22 -0
- package/slack-bot/node_modules/es-abstract/2024/StringToNumber.js +42 -0
- package/slack-bot/node_modules/es-abstract/2024/SymbolDescriptiveString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2024/SystemTimeZoneIdentifier.js +18 -0
- package/slack-bot/node_modules/es-abstract/2024/TestIntegrityLevel.js +40 -0
- package/slack-bot/node_modules/es-abstract/2024/ThisBigIntValue.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/ThisBooleanValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2024/ThisNumberValue.js +15 -0
- package/slack-bot/node_modules/es-abstract/2024/ThisStringValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2024/ThisSymbolValue.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/ThrowCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2024/TimeClip.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/TimeFromYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2024/TimeString.js +26 -0
- package/slack-bot/node_modules/es-abstract/2024/TimeWithinDay.js +12 -0
- package/slack-bot/node_modules/es-abstract/2024/TimeZoneString.js +41 -0
- package/slack-bot/node_modules/es-abstract/2024/ToBigInt.js +51 -0
- package/slack-bot/node_modules/es-abstract/2024/ToBigInt64.js +25 -0
- package/slack-bot/node_modules/es-abstract/2024/ToBigUint64.js +23 -0
- package/slack-bot/node_modules/es-abstract/2024/ToBoolean.js +5 -0
- package/slack-bot/node_modules/es-abstract/2024/ToDateString.js +21 -0
- package/slack-bot/node_modules/es-abstract/2024/ToIndex.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/ToInt16.js +21 -0
- package/slack-bot/node_modules/es-abstract/2024/ToInt32.js +23 -0
- package/slack-bot/node_modules/es-abstract/2024/ToInt8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2024/ToIntegerOrInfinity.js +16 -0
- package/slack-bot/node_modules/es-abstract/2024/ToLength.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/ToNumber.js +26 -0
- package/slack-bot/node_modules/es-abstract/2024/ToNumeric.js +20 -0
- package/slack-bot/node_modules/es-abstract/2024/ToObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/2024/ToPrimitive.js +12 -0
- package/slack-bot/node_modules/es-abstract/2024/ToPropertyDescriptor.js +50 -0
- package/slack-bot/node_modules/es-abstract/2024/ToPropertyKey.js +15 -0
- package/slack-bot/node_modules/es-abstract/2024/ToString.js +15 -0
- package/slack-bot/node_modules/es-abstract/2024/ToUint16.js +21 -0
- package/slack-bot/node_modules/es-abstract/2024/ToUint32.js +21 -0
- package/slack-bot/node_modules/es-abstract/2024/ToUint8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2024/ToUint8Clamp.js +26 -0
- package/slack-bot/node_modules/es-abstract/2024/ToZeroPaddedDecimalString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2024/TrimString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2024/Type.js +15 -0
- package/slack-bot/node_modules/es-abstract/2024/TypedArrayByteLength.js +43 -0
- package/slack-bot/node_modules/es-abstract/2024/TypedArrayCreateFromConstructor.js +52 -0
- package/slack-bot/node_modules/es-abstract/2024/TypedArrayCreateSameType.js +35 -0
- package/slack-bot/node_modules/es-abstract/2024/TypedArrayElementSize.js +23 -0
- package/slack-bot/node_modules/es-abstract/2024/TypedArrayElementType.js +23 -0
- package/slack-bot/node_modules/es-abstract/2024/TypedArrayGetElement.js +37 -0
- package/slack-bot/node_modules/es-abstract/2024/TypedArrayLength.js +51 -0
- package/slack-bot/node_modules/es-abstract/2024/TypedArraySetElement.js +42 -0
- package/slack-bot/node_modules/es-abstract/2024/TypedArraySpeciesCreate.js +37 -0
- package/slack-bot/node_modules/es-abstract/2024/UTF16EncodeCodePoint.js +25 -0
- package/slack-bot/node_modules/es-abstract/2024/UTF16SurrogatePairToCodePoint.js +19 -0
- package/slack-bot/node_modules/es-abstract/2024/UnicodeEscape.js +25 -0
- package/slack-bot/node_modules/es-abstract/2024/ValidateAndApplyPropertyDescriptor.js +171 -0
- package/slack-bot/node_modules/es-abstract/2024/ValidateAtomicAccess.js +43 -0
- package/slack-bot/node_modules/es-abstract/2024/ValidateAtomicAccessOnIntegerTypedArray.js +19 -0
- package/slack-bot/node_modules/es-abstract/2024/ValidateIntegerTypedArray.js +31 -0
- package/slack-bot/node_modules/es-abstract/2024/ValidateTypedArray.js +32 -0
- package/slack-bot/node_modules/es-abstract/2024/WeakRefDeref.js +23 -0
- package/slack-bot/node_modules/es-abstract/2024/WeekDay.js +10 -0
- package/slack-bot/node_modules/es-abstract/2024/WordCharacters.js +47 -0
- package/slack-bot/node_modules/es-abstract/2024/YearFromTime.js +16 -0
- package/slack-bot/node_modules/es-abstract/2024/abs.js +9 -0
- package/slack-bot/node_modules/es-abstract/2024/clamp.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/floor.js +14 -0
- package/slack-bot/node_modules/es-abstract/2024/max.js +5 -0
- package/slack-bot/node_modules/es-abstract/2024/min.js +5 -0
- package/slack-bot/node_modules/es-abstract/2024/modulo.js +9 -0
- package/slack-bot/node_modules/es-abstract/2024/msFromTime.js +11 -0
- package/slack-bot/node_modules/es-abstract/2024/substring.js +15 -0
- package/slack-bot/node_modules/es-abstract/2024/tables/typed-array-objects.js +36 -0
- package/slack-bot/node_modules/es-abstract/2024/truncate.js +15 -0
- package/slack-bot/node_modules/es-abstract/2025/AddEntriesFromIterable.js +44 -0
- package/slack-bot/node_modules/es-abstract/2025/AddToKeptObjects.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/AddValueToKeyedGroup.js +45 -0
- package/slack-bot/node_modules/es-abstract/2025/AdvanceStringIndex.js +30 -0
- package/slack-bot/node_modules/es-abstract/2025/AllCharacters.js +29 -0
- package/slack-bot/node_modules/es-abstract/2025/ApplyStringOrNumericBinaryOperator.js +77 -0
- package/slack-bot/node_modules/es-abstract/2025/ArrayBufferByteLength.js +41 -0
- package/slack-bot/node_modules/es-abstract/2025/ArrayBufferCopyAndDetach.js +101 -0
- package/slack-bot/node_modules/es-abstract/2025/ArrayCreate.js +42 -0
- package/slack-bot/node_modules/es-abstract/2025/ArraySetLength.js +77 -0
- package/slack-bot/node_modules/es-abstract/2025/ArraySpeciesCreate.js +48 -0
- package/slack-bot/node_modules/es-abstract/2025/AsyncFromSyncIteratorContinuation.js +45 -0
- package/slack-bot/node_modules/es-abstract/2025/AsyncIteratorClose.js +70 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/add.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/bitwiseAND.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/bitwiseNOT.js +15 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/bitwiseOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/bitwiseXOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/divide.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/equal.js +13 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/exponentiate.js +29 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/index.js +39 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/leftShift.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/lessThan.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/multiply.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/remainder.js +28 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/signedRightShift.js +15 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/subtract.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/toString.js +26 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/unaryMinus.js +22 -0
- package/slack-bot/node_modules/es-abstract/2025/BigInt/unsignedRightShift.js +13 -0
- package/slack-bot/node_modules/es-abstract/2025/BigIntBitwiseOp.js +63 -0
- package/slack-bot/node_modules/es-abstract/2025/BinaryAnd.js +12 -0
- package/slack-bot/node_modules/es-abstract/2025/BinaryOr.js +12 -0
- package/slack-bot/node_modules/es-abstract/2025/BinaryXor.js +12 -0
- package/slack-bot/node_modules/es-abstract/2025/ByteListBitwiseOp.js +39 -0
- package/slack-bot/node_modules/es-abstract/2025/ByteListEqual.js +31 -0
- package/slack-bot/node_modules/es-abstract/2025/Call.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/CanBeHeldWeakly.js +17 -0
- package/slack-bot/node_modules/es-abstract/2025/CanonicalNumericIndexString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2025/Canonicalize.js +52 -0
- package/slack-bot/node_modules/es-abstract/2025/CanonicalizeKeyedCollectionKey.js +7 -0
- package/slack-bot/node_modules/es-abstract/2025/CharacterComplement.js +34 -0
- package/slack-bot/node_modules/es-abstract/2025/CharacterRange.js +47 -0
- package/slack-bot/node_modules/es-abstract/2025/ClearKeptObjects.js +12 -0
- package/slack-bot/node_modules/es-abstract/2025/CloneArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2025/CodePointAt.js +55 -0
- package/slack-bot/node_modules/es-abstract/2025/CodePointsToString.js +25 -0
- package/slack-bot/node_modules/es-abstract/2025/CompareArrayElements.js +50 -0
- package/slack-bot/node_modules/es-abstract/2025/CompareTypedArrayElements.js +60 -0
- package/slack-bot/node_modules/es-abstract/2025/CompletePropertyDescriptor.js +43 -0
- package/slack-bot/node_modules/es-abstract/2025/CompletionRecord.js +48 -0
- package/slack-bot/node_modules/es-abstract/2025/CopyDataProperties.js +69 -0
- package/slack-bot/node_modules/es-abstract/2025/CreateAsyncFromSyncIterator.js +137 -0
- package/slack-bot/node_modules/es-abstract/2025/CreateDataProperty.js +25 -0
- package/slack-bot/node_modules/es-abstract/2025/CreateDataPropertyOrThrow.js +23 -0
- package/slack-bot/node_modules/es-abstract/2025/CreateHTML.js +27 -0
- package/slack-bot/node_modules/es-abstract/2025/CreateIteratorFromClosure.js +51 -0
- package/slack-bot/node_modules/es-abstract/2025/CreateIteratorResultObject.js +15 -0
- package/slack-bot/node_modules/es-abstract/2025/CreateListFromArrayLike.js +40 -0
- package/slack-bot/node_modules/es-abstract/2025/CreateNonEnumerableDataPropertyOrThrow.js +28 -0
- package/slack-bot/node_modules/es-abstract/2025/CreateRegExpStringIterator.js +101 -0
- package/slack-bot/node_modules/es-abstract/2025/DateFromTime.js +52 -0
- package/slack-bot/node_modules/es-abstract/2025/DateString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2025/Day.js +11 -0
- package/slack-bot/node_modules/es-abstract/2025/DayFromYear.js +10 -0
- package/slack-bot/node_modules/es-abstract/2025/DayWithinYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2025/DaysInYear.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/DefineMethodProperty.js +42 -0
- package/slack-bot/node_modules/es-abstract/2025/DefinePropertyOrThrow.js +39 -0
- package/slack-bot/node_modules/es-abstract/2025/DeletePropertyOrThrow.js +25 -0
- package/slack-bot/node_modules/es-abstract/2025/DetachArrayBuffer.js +46 -0
- package/slack-bot/node_modules/es-abstract/2025/EncodeForRegExpEscape.js +74 -0
- package/slack-bot/node_modules/es-abstract/2025/EnumerableOwnProperties.js +36 -0
- package/slack-bot/node_modules/es-abstract/2025/FindViaPredicate.js +43 -0
- package/slack-bot/node_modules/es-abstract/2025/FlattenIntoArray.js +55 -0
- package/slack-bot/node_modules/es-abstract/2025/FromPropertyDescriptor.js +16 -0
- package/slack-bot/node_modules/es-abstract/2025/GeneratorResume.js +29 -0
- package/slack-bot/node_modules/es-abstract/2025/GeneratorResumeAbrupt.js +55 -0
- package/slack-bot/node_modules/es-abstract/2025/GeneratorStart.js +46 -0
- package/slack-bot/node_modules/es-abstract/2025/GeneratorValidate.js +24 -0
- package/slack-bot/node_modules/es-abstract/2025/Get.js +24 -0
- package/slack-bot/node_modules/es-abstract/2025/GetArrayBufferMaxByteLengthOption.js +22 -0
- package/slack-bot/node_modules/es-abstract/2025/GetGlobalObject.js +9 -0
- package/slack-bot/node_modules/es-abstract/2025/GetIterator.js +53 -0
- package/slack-bot/node_modules/es-abstract/2025/GetIteratorDirect.js +24 -0
- package/slack-bot/node_modules/es-abstract/2025/GetIteratorFlattenable.js +48 -0
- package/slack-bot/node_modules/es-abstract/2025/GetIteratorFromMethod.js +28 -0
- package/slack-bot/node_modules/es-abstract/2025/GetMatchIndexPair.js +24 -0
- package/slack-bot/node_modules/es-abstract/2025/GetMatchString.js +26 -0
- package/slack-bot/node_modules/es-abstract/2025/GetMethod.js +34 -0
- package/slack-bot/node_modules/es-abstract/2025/GetNamedTimeZoneEpochNanoseconds.js +72 -0
- package/slack-bot/node_modules/es-abstract/2025/GetOwnPropertyKeys.js +30 -0
- package/slack-bot/node_modules/es-abstract/2025/GetPromiseResolve.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/GetPrototypeFromConstructor.js +33 -0
- package/slack-bot/node_modules/es-abstract/2025/GetSetRecord.js +64 -0
- package/slack-bot/node_modules/es-abstract/2025/GetStringIndex.js +27 -0
- package/slack-bot/node_modules/es-abstract/2025/GetSubstitution.js +148 -0
- package/slack-bot/node_modules/es-abstract/2025/GetUTCEpochNanoseconds.js +68 -0
- package/slack-bot/node_modules/es-abstract/2025/GetV.js +23 -0
- package/slack-bot/node_modules/es-abstract/2025/GetValueFromBuffer.js +95 -0
- package/slack-bot/node_modules/es-abstract/2025/GetViewByteLength.js +47 -0
- package/slack-bot/node_modules/es-abstract/2025/GroupBy.js +75 -0
- package/slack-bot/node_modules/es-abstract/2025/HasEitherUnicodeFlag.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/HasOwnProperty.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/HasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/HourFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/IfAbruptCloseIterator.js +19 -0
- package/slack-bot/node_modules/es-abstract/2025/InLeapYear.js +19 -0
- package/slack-bot/node_modules/es-abstract/2025/InstallErrorCause.js +21 -0
- package/slack-bot/node_modules/es-abstract/2025/InstanceofOperator.js +30 -0
- package/slack-bot/node_modules/es-abstract/2025/InternalizeJSONProperty.js +68 -0
- package/slack-bot/node_modules/es-abstract/2025/Invoke.js +22 -0
- package/slack-bot/node_modules/es-abstract/2025/IsAccessorDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2025/IsArray.js +4 -0
- package/slack-bot/node_modules/es-abstract/2025/IsArrayBufferViewOutOfBounds.js +30 -0
- package/slack-bot/node_modules/es-abstract/2025/IsBigIntElementType.js +7 -0
- package/slack-bot/node_modules/es-abstract/2025/IsCallable.js +5 -0
- package/slack-bot/node_modules/es-abstract/2025/IsCompatiblePropertyDescriptor.js +9 -0
- package/slack-bot/node_modules/es-abstract/2025/IsConcatSpreadable.js +26 -0
- package/slack-bot/node_modules/es-abstract/2025/IsConstructor.js +40 -0
- package/slack-bot/node_modules/es-abstract/2025/IsDataDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/2025/IsDetachedBuffer.js +28 -0
- package/slack-bot/node_modules/es-abstract/2025/IsExtensible.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/IsFixedLengthArrayBuffer.js +29 -0
- package/slack-bot/node_modules/es-abstract/2025/IsGenericDescriptor.js +26 -0
- package/slack-bot/node_modules/es-abstract/2025/IsLessThan.js +97 -0
- package/slack-bot/node_modules/es-abstract/2025/IsLooselyEqual.js +58 -0
- package/slack-bot/node_modules/es-abstract/2025/IsNoTearConfiguration.js +16 -0
- package/slack-bot/node_modules/es-abstract/2025/IsPromise.js +24 -0
- package/slack-bot/node_modules/es-abstract/2025/IsRegExp.js +25 -0
- package/slack-bot/node_modules/es-abstract/2025/IsSharedArrayBuffer.js +16 -0
- package/slack-bot/node_modules/es-abstract/2025/IsStrictlyEqual.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/IsStringWellFormedUnicode.js +23 -0
- package/slack-bot/node_modules/es-abstract/2025/IsTimeZoneOffsetString.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/IsTypedArrayFixedLength.js +34 -0
- package/slack-bot/node_modules/es-abstract/2025/IsTypedArrayOutOfBounds.js +57 -0
- package/slack-bot/node_modules/es-abstract/2025/IsUnclampedIntegerElementType.js +12 -0
- package/slack-bot/node_modules/es-abstract/2025/IsUnsignedElementType.js +11 -0
- package/slack-bot/node_modules/es-abstract/2025/IsValidIntegerIndex.js +43 -0
- package/slack-bot/node_modules/es-abstract/2025/IsViewOutOfBounds.js +48 -0
- package/slack-bot/node_modules/es-abstract/2025/IsWordChar.js +42 -0
- package/slack-bot/node_modules/es-abstract/2025/IteratorClose.js +65 -0
- package/slack-bot/node_modules/es-abstract/2025/IteratorComplete.js +16 -0
- package/slack-bot/node_modules/es-abstract/2025/IteratorNext.js +36 -0
- package/slack-bot/node_modules/es-abstract/2025/IteratorStep.js +35 -0
- package/slack-bot/node_modules/es-abstract/2025/IteratorStepValue.js +32 -0
- package/slack-bot/node_modules/es-abstract/2025/IteratorToList.js +27 -0
- package/slack-bot/node_modules/es-abstract/2025/IteratorValue.js +16 -0
- package/slack-bot/node_modules/es-abstract/2025/KeyForSymbol.js +16 -0
- package/slack-bot/node_modules/es-abstract/2025/LengthOfArrayLike.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/MakeDataViewWithBufferWitnessRecord.js +26 -0
- package/slack-bot/node_modules/es-abstract/2025/MakeDate.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/MakeDay.js +36 -0
- package/slack-bot/node_modules/es-abstract/2025/MakeFullYear.js +26 -0
- package/slack-bot/node_modules/es-abstract/2025/MakeMatchIndicesIndexPairArray.js +66 -0
- package/slack-bot/node_modules/es-abstract/2025/MakeTime.js +23 -0
- package/slack-bot/node_modules/es-abstract/2025/MakeTypedArrayWithBufferWitnessRecord.js +26 -0
- package/slack-bot/node_modules/es-abstract/2025/MinFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/MonthFromTime.js +51 -0
- package/slack-bot/node_modules/es-abstract/2025/NewPromiseCapability.js +34 -0
- package/slack-bot/node_modules/es-abstract/2025/NormalCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/add.js +31 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/bitwiseAND.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/bitwiseNOT.js +16 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/bitwiseOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/bitwiseXOR.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/divide.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/equal.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/exponentiate.js +74 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/index.js +43 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/leftShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/lessThan.js +22 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/multiply.js +29 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/remainder.js +38 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/sameValue.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/sameValueZero.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/signedRightShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/subtract.js +15 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/toString.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/unaryMinus.js +17 -0
- package/slack-bot/node_modules/es-abstract/2025/Number/unsignedRightShift.js +22 -0
- package/slack-bot/node_modules/es-abstract/2025/NumberBitwiseOp.js +26 -0
- package/slack-bot/node_modules/es-abstract/2025/NumberToBigInt.js +25 -0
- package/slack-bot/node_modules/es-abstract/2025/NumericToRawBytes.js +65 -0
- package/slack-bot/node_modules/es-abstract/2025/ObjectDefineProperties.js +33 -0
- package/slack-bot/node_modules/es-abstract/2025/OrdinaryCreateFromConstructor.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/OrdinaryDefineOwnProperty.js +54 -0
- package/slack-bot/node_modules/es-abstract/2025/OrdinaryGetOwnProperty.js +41 -0
- package/slack-bot/node_modules/es-abstract/2025/OrdinaryGetPrototypeOf.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/OrdinaryHasInstance.js +23 -0
- package/slack-bot/node_modules/es-abstract/2025/OrdinaryHasProperty.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/OrdinaryObjectCreate.js +56 -0
- package/slack-bot/node_modules/es-abstract/2025/OrdinarySetPrototypeOf.js +50 -0
- package/slack-bot/node_modules/es-abstract/2025/OrdinaryToPrimitive.js +36 -0
- package/slack-bot/node_modules/es-abstract/2025/ParseHexOctet.js +40 -0
- package/slack-bot/node_modules/es-abstract/2025/PromiseResolve.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/QuoteJSONString.js +52 -0
- package/slack-bot/node_modules/es-abstract/2025/RawBytesToNumeric.js +72 -0
- package/slack-bot/node_modules/es-abstract/2025/RegExpCreate.js +21 -0
- package/slack-bot/node_modules/es-abstract/2025/RegExpExec.js +29 -0
- package/slack-bot/node_modules/es-abstract/2025/RegExpHasFlag.js +38 -0
- package/slack-bot/node_modules/es-abstract/2025/RequireObjectCoercible.js +3 -0
- package/slack-bot/node_modules/es-abstract/2025/ReturnCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2025/SameType.js +16 -0
- package/slack-bot/node_modules/es-abstract/2025/SameValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2025/SameValueNonNumber.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/SameValueZero.js +9 -0
- package/slack-bot/node_modules/es-abstract/2025/SecFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/Set.js +45 -0
- package/slack-bot/node_modules/es-abstract/2025/SetDataHas.js +26 -0
- package/slack-bot/node_modules/es-abstract/2025/SetDataIndex.js +32 -0
- package/slack-bot/node_modules/es-abstract/2025/SetDataSize.js +30 -0
- package/slack-bot/node_modules/es-abstract/2025/SetFunctionLength.js +28 -0
- package/slack-bot/node_modules/es-abstract/2025/SetFunctionName.js +40 -0
- package/slack-bot/node_modules/es-abstract/2025/SetIntegrityLevel.js +57 -0
- package/slack-bot/node_modules/es-abstract/2025/SetTypedArrayFromArrayLike.js +64 -0
- package/slack-bot/node_modules/es-abstract/2025/SetTypedArrayFromTypedArray.js +133 -0
- package/slack-bot/node_modules/es-abstract/2025/SetValueInBuffer.js +92 -0
- package/slack-bot/node_modules/es-abstract/2025/SetterThatIgnoresPrototypeProperties.js +38 -0
- package/slack-bot/node_modules/es-abstract/2025/SortIndexedProperties.js +49 -0
- package/slack-bot/node_modules/es-abstract/2025/SpeciesConstructor.js +32 -0
- package/slack-bot/node_modules/es-abstract/2025/StringCreate.js +38 -0
- package/slack-bot/node_modules/es-abstract/2025/StringGetOwnProperty.js +46 -0
- package/slack-bot/node_modules/es-abstract/2025/StringIndexOf.js +36 -0
- package/slack-bot/node_modules/es-abstract/2025/StringLastIndexOf.js +38 -0
- package/slack-bot/node_modules/es-abstract/2025/StringPad.js +43 -0
- package/slack-bot/node_modules/es-abstract/2025/StringPaddingBuiltinsImpl.js +27 -0
- package/slack-bot/node_modules/es-abstract/2025/StringToBigInt.js +23 -0
- package/slack-bot/node_modules/es-abstract/2025/StringToCodePoints.js +22 -0
- package/slack-bot/node_modules/es-abstract/2025/StringToNumber.js +42 -0
- package/slack-bot/node_modules/es-abstract/2025/SymbolDescriptiveString.js +16 -0
- package/slack-bot/node_modules/es-abstract/2025/SystemTimeZoneIdentifier.js +18 -0
- package/slack-bot/node_modules/es-abstract/2025/TestIntegrityLevel.js +40 -0
- package/slack-bot/node_modules/es-abstract/2025/ThisBigIntValue.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/ThisBooleanValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2025/ThisNumberValue.js +15 -0
- package/slack-bot/node_modules/es-abstract/2025/ThisStringValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/2025/ThisSymbolValue.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/ThrowCompletion.js +9 -0
- package/slack-bot/node_modules/es-abstract/2025/TimeClip.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/TimeFromYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/2025/TimeString.js +26 -0
- package/slack-bot/node_modules/es-abstract/2025/TimeWithinDay.js +12 -0
- package/slack-bot/node_modules/es-abstract/2025/TimeZoneString.js +41 -0
- package/slack-bot/node_modules/es-abstract/2025/ToBigInt.js +51 -0
- package/slack-bot/node_modules/es-abstract/2025/ToBigInt64.js +25 -0
- package/slack-bot/node_modules/es-abstract/2025/ToBigUint64.js +23 -0
- package/slack-bot/node_modules/es-abstract/2025/ToBoolean.js +5 -0
- package/slack-bot/node_modules/es-abstract/2025/ToDateString.js +21 -0
- package/slack-bot/node_modules/es-abstract/2025/ToIndex.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/ToInt16.js +21 -0
- package/slack-bot/node_modules/es-abstract/2025/ToInt32.js +23 -0
- package/slack-bot/node_modules/es-abstract/2025/ToInt8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2025/ToIntegerOrInfinity.js +16 -0
- package/slack-bot/node_modules/es-abstract/2025/ToLength.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/ToNumber.js +26 -0
- package/slack-bot/node_modules/es-abstract/2025/ToNumeric.js +20 -0
- package/slack-bot/node_modules/es-abstract/2025/ToObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/2025/ToPrimitive.js +12 -0
- package/slack-bot/node_modules/es-abstract/2025/ToPropertyDescriptor.js +50 -0
- package/slack-bot/node_modules/es-abstract/2025/ToPropertyKey.js +15 -0
- package/slack-bot/node_modules/es-abstract/2025/ToString.js +15 -0
- package/slack-bot/node_modules/es-abstract/2025/ToUint16.js +21 -0
- package/slack-bot/node_modules/es-abstract/2025/ToUint32.js +21 -0
- package/slack-bot/node_modules/es-abstract/2025/ToUint8.js +19 -0
- package/slack-bot/node_modules/es-abstract/2025/ToUint8Clamp.js +26 -0
- package/slack-bot/node_modules/es-abstract/2025/ToZeroPaddedDecimalString.js +19 -0
- package/slack-bot/node_modules/es-abstract/2025/TrimString.js +27 -0
- package/slack-bot/node_modules/es-abstract/2025/TypedArrayByteLength.js +43 -0
- package/slack-bot/node_modules/es-abstract/2025/TypedArrayCreateFromConstructor.js +52 -0
- package/slack-bot/node_modules/es-abstract/2025/TypedArrayCreateSameType.js +35 -0
- package/slack-bot/node_modules/es-abstract/2025/TypedArrayElementSize.js +23 -0
- package/slack-bot/node_modules/es-abstract/2025/TypedArrayElementType.js +23 -0
- package/slack-bot/node_modules/es-abstract/2025/TypedArrayGetElement.js +37 -0
- package/slack-bot/node_modules/es-abstract/2025/TypedArrayLength.js +51 -0
- package/slack-bot/node_modules/es-abstract/2025/TypedArraySetElement.js +42 -0
- package/slack-bot/node_modules/es-abstract/2025/TypedArraySpeciesCreate.js +37 -0
- package/slack-bot/node_modules/es-abstract/2025/UTF16EncodeCodePoint.js +25 -0
- package/slack-bot/node_modules/es-abstract/2025/UTF16SurrogatePairToCodePoint.js +19 -0
- package/slack-bot/node_modules/es-abstract/2025/UnicodeEscape.js +25 -0
- package/slack-bot/node_modules/es-abstract/2025/UpdateModifiers.js +77 -0
- package/slack-bot/node_modules/es-abstract/2025/ValidateAndApplyPropertyDescriptor.js +171 -0
- package/slack-bot/node_modules/es-abstract/2025/ValidateAtomicAccess.js +43 -0
- package/slack-bot/node_modules/es-abstract/2025/ValidateAtomicAccessOnIntegerTypedArray.js +19 -0
- package/slack-bot/node_modules/es-abstract/2025/ValidateIntegerTypedArray.js +31 -0
- package/slack-bot/node_modules/es-abstract/2025/ValidateTypedArray.js +32 -0
- package/slack-bot/node_modules/es-abstract/2025/WeakRefDeref.js +23 -0
- package/slack-bot/node_modules/es-abstract/2025/WeekDay.js +10 -0
- package/slack-bot/node_modules/es-abstract/2025/WordCharacters.js +47 -0
- package/slack-bot/node_modules/es-abstract/2025/YearFromTime.js +16 -0
- package/slack-bot/node_modules/es-abstract/2025/abs.js +9 -0
- package/slack-bot/node_modules/es-abstract/2025/clamp.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/floor.js +14 -0
- package/slack-bot/node_modules/es-abstract/2025/max.js +5 -0
- package/slack-bot/node_modules/es-abstract/2025/min.js +5 -0
- package/slack-bot/node_modules/es-abstract/2025/modulo.js +9 -0
- package/slack-bot/node_modules/es-abstract/2025/msFromTime.js +11 -0
- package/slack-bot/node_modules/es-abstract/2025/substring.js +15 -0
- package/slack-bot/node_modules/es-abstract/2025/tables/typed-array-objects.js +38 -0
- package/slack-bot/node_modules/es-abstract/2025/truncate.js +15 -0
- package/slack-bot/node_modules/es-abstract/5/AbstractEqualityComparison.js +38 -0
- package/slack-bot/node_modules/es-abstract/5/AbstractRelationalComparison.js +62 -0
- package/slack-bot/node_modules/es-abstract/5/Canonicalize.js +38 -0
- package/slack-bot/node_modules/es-abstract/5/CheckObjectCoercible.js +9 -0
- package/slack-bot/node_modules/es-abstract/5/DateFromTime.js +52 -0
- package/slack-bot/node_modules/es-abstract/5/Day.js +11 -0
- package/slack-bot/node_modules/es-abstract/5/DayFromYear.js +10 -0
- package/slack-bot/node_modules/es-abstract/5/DayWithinYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/5/DaysInYear.js +18 -0
- package/slack-bot/node_modules/es-abstract/5/FromPropertyDescriptor.js +38 -0
- package/slack-bot/node_modules/es-abstract/5/HourFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/5/InLeapYear.js +19 -0
- package/slack-bot/node_modules/es-abstract/5/IsAccessorDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/5/IsCallable.js +5 -0
- package/slack-bot/node_modules/es-abstract/5/IsDataDescriptor.js +25 -0
- package/slack-bot/node_modules/es-abstract/5/IsGenericDescriptor.js +26 -0
- package/slack-bot/node_modules/es-abstract/5/IsPropertyDescriptor.js +11 -0
- package/slack-bot/node_modules/es-abstract/5/MakeDate.js +14 -0
- package/slack-bot/node_modules/es-abstract/5/MakeDay.js +33 -0
- package/slack-bot/node_modules/es-abstract/5/MakeTime.js +24 -0
- package/slack-bot/node_modules/es-abstract/5/MinFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/5/MonthFromTime.js +51 -0
- package/slack-bot/node_modules/es-abstract/5/SameValue.js +13 -0
- package/slack-bot/node_modules/es-abstract/5/SecFromTime.js +14 -0
- package/slack-bot/node_modules/es-abstract/5/StrictEqualityComparison.js +15 -0
- package/slack-bot/node_modules/es-abstract/5/TimeClip.js +20 -0
- package/slack-bot/node_modules/es-abstract/5/TimeFromYear.js +11 -0
- package/slack-bot/node_modules/es-abstract/5/TimeWithinDay.js +12 -0
- package/slack-bot/node_modules/es-abstract/5/ToBoolean.js +5 -0
- package/slack-bot/node_modules/es-abstract/5/ToInt32.js +9 -0
- package/slack-bot/node_modules/es-abstract/5/ToInteger.js +18 -0
- package/slack-bot/node_modules/es-abstract/5/ToNumber.js +34 -0
- package/slack-bot/node_modules/es-abstract/5/ToObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/5/ToPrimitive.js +5 -0
- package/slack-bot/node_modules/es-abstract/5/ToPropertyDescriptor.js +50 -0
- package/slack-bot/node_modules/es-abstract/5/ToString.js +12 -0
- package/slack-bot/node_modules/es-abstract/5/ToUint16.js +19 -0
- package/slack-bot/node_modules/es-abstract/5/ToUint32.js +9 -0
- package/slack-bot/node_modules/es-abstract/5/Type.js +26 -0
- package/slack-bot/node_modules/es-abstract/5/WeekDay.js +10 -0
- package/slack-bot/node_modules/es-abstract/5/YearFromTime.js +16 -0
- package/slack-bot/node_modules/es-abstract/5/abs.js +9 -0
- package/slack-bot/node_modules/es-abstract/5/floor.js +11 -0
- package/slack-bot/node_modules/es-abstract/5/modulo.js +9 -0
- package/slack-bot/node_modules/es-abstract/5/msFromTime.js +11 -0
- package/slack-bot/node_modules/es-abstract/CHANGELOG.md +962 -0
- package/slack-bot/node_modules/es-abstract/GetIntrinsic.js +5 -0
- package/slack-bot/node_modules/es-abstract/LICENSE +21 -0
- package/slack-bot/node_modules/es-abstract/README.md +43 -0
- package/slack-bot/node_modules/es-abstract/es2015.js +142 -0
- package/slack-bot/node_modules/es-abstract/es2016.js +149 -0
- package/slack-bot/node_modules/es-abstract/es2017.js +157 -0
- package/slack-bot/node_modules/es-abstract/es2018.js +169 -0
- package/slack-bot/node_modules/es-abstract/es2019.js +173 -0
- package/slack-bot/node_modules/es-abstract/es2020.js +197 -0
- package/slack-bot/node_modules/es-abstract/es2021.js +211 -0
- package/slack-bot/node_modules/es-abstract/es2022.js +224 -0
- package/slack-bot/node_modules/es-abstract/es2023.js +236 -0
- package/slack-bot/node_modules/es-abstract/es2024.js +255 -0
- package/slack-bot/node_modules/es-abstract/es2025.js +272 -0
- package/slack-bot/node_modules/es-abstract/es5.js +52 -0
- package/slack-bot/node_modules/es-abstract/es6.js +3 -0
- package/slack-bot/node_modules/es-abstract/es7.js +3 -0
- package/slack-bot/node_modules/es-abstract/eslint.config.mjs +129 -0
- package/slack-bot/node_modules/es-abstract/helpers/CharSet.js +130 -0
- package/slack-bot/node_modules/es-abstract/helpers/DefineOwnProperty.js +53 -0
- package/slack-bot/node_modules/es-abstract/helpers/IsArray.js +12 -0
- package/slack-bot/node_modules/es-abstract/helpers/OwnPropertyKeys.js +4 -0
- package/slack-bot/node_modules/es-abstract/helpers/assertRecord.js +32 -0
- package/slack-bot/node_modules/es-abstract/helpers/assign.js +22 -0
- package/slack-bot/node_modules/es-abstract/helpers/bytesAsFloat16.js +47 -0
- package/slack-bot/node_modules/es-abstract/helpers/bytesAsFloat32.js +36 -0
- package/slack-bot/node_modules/es-abstract/helpers/bytesAsFloat64.js +42 -0
- package/slack-bot/node_modules/es-abstract/helpers/bytesAsInteger.js +32 -0
- package/slack-bot/node_modules/es-abstract/helpers/callBind.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/callBound.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/caseFolding.json +1430 -0
- package/slack-bot/node_modules/es-abstract/helpers/defaultEndianness.js +21 -0
- package/slack-bot/node_modules/es-abstract/helpers/every.js +10 -0
- package/slack-bot/node_modules/es-abstract/helpers/forEach.js +7 -0
- package/slack-bot/node_modules/es-abstract/helpers/fractionToBinaryString.js +33 -0
- package/slack-bot/node_modules/es-abstract/helpers/fromPropertyDescriptor.js +27 -0
- package/slack-bot/node_modules/es-abstract/helpers/getInferredName.js +4 -0
- package/slack-bot/node_modules/es-abstract/helpers/getIteratorMethod.js +50 -0
- package/slack-bot/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/getProto.js +4 -0
- package/slack-bot/node_modules/es-abstract/helpers/getSymbolDescription.js +4 -0
- package/slack-bot/node_modules/es-abstract/helpers/intToBinaryString.js +21 -0
- package/slack-bot/node_modules/es-abstract/helpers/integerToNBytes.js +28 -0
- package/slack-bot/node_modules/es-abstract/helpers/isAbstractClosure.js +9 -0
- package/slack-bot/node_modules/es-abstract/helpers/isByteValue.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/isCodePoint.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/isFinite.js +4 -0
- package/slack-bot/node_modules/es-abstract/helpers/isFullyPopulatedPropertyDescriptor.js +10 -0
- package/slack-bot/node_modules/es-abstract/helpers/isInteger.js +4 -0
- package/slack-bot/node_modules/es-abstract/helpers/isLeadingSurrogate.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/isLineTerminator.js +7 -0
- package/slack-bot/node_modules/es-abstract/helpers/isNaN.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/isNegativeZero.js +6 -0
- package/slack-bot/node_modules/es-abstract/helpers/isObject.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/isPrefixOf.js +13 -0
- package/slack-bot/node_modules/es-abstract/helpers/isPrimitive.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/isPropertyKey.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/isSamePropertyDescriptor.js +20 -0
- package/slack-bot/node_modules/es-abstract/helpers/isSameType.js +16 -0
- package/slack-bot/node_modules/es-abstract/helpers/isStringOrHole.js +9 -0
- package/slack-bot/node_modules/es-abstract/helpers/isStringOrUndefined.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/isTrailingSurrogate.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/maxSafeInteger.js +4 -0
- package/slack-bot/node_modules/es-abstract/helpers/maxValue.js +3 -0
- package/slack-bot/node_modules/es-abstract/helpers/mod.js +4 -0
- package/slack-bot/node_modules/es-abstract/helpers/modBigInt.js +6 -0
- package/slack-bot/node_modules/es-abstract/helpers/padTimeComponent.js +9 -0
- package/slack-bot/node_modules/es-abstract/helpers/records/async-generator-request-record.js +13 -0
- package/slack-bot/node_modules/es-abstract/helpers/records/data-view-with-buffer-witness-record.js +18 -0
- package/slack-bot/node_modules/es-abstract/helpers/records/iterator-record-2023.js +7 -0
- package/slack-bot/node_modules/es-abstract/helpers/records/iterator-record.js +12 -0
- package/slack-bot/node_modules/es-abstract/helpers/records/match-record.js +18 -0
- package/slack-bot/node_modules/es-abstract/helpers/records/promise-capability-record.js +16 -0
- package/slack-bot/node_modules/es-abstract/helpers/records/property-descriptor.js +36 -0
- package/slack-bot/node_modules/es-abstract/helpers/records/regexp-record.js +23 -0
- package/slack-bot/node_modules/es-abstract/helpers/records/set-record.js +21 -0
- package/slack-bot/node_modules/es-abstract/helpers/records/typed-array-with-buffer-witness-record.js +18 -0
- package/slack-bot/node_modules/es-abstract/helpers/reduce.js +9 -0
- package/slack-bot/node_modules/es-abstract/helpers/regexTester.js +5 -0
- package/slack-bot/node_modules/es-abstract/helpers/setProto.js +4 -0
- package/slack-bot/node_modules/es-abstract/helpers/sign.js +4 -0
- package/slack-bot/node_modules/es-abstract/helpers/some.js +10 -0
- package/slack-bot/node_modules/es-abstract/helpers/timeConstants.js +19 -0
- package/slack-bot/node_modules/es-abstract/helpers/timeValue.js +7 -0
- package/slack-bot/node_modules/es-abstract/helpers/typedArrayConstructors.js +23 -0
- package/slack-bot/node_modules/es-abstract/helpers/valueToFloat16Bytes.js +73 -0
- package/slack-bot/node_modules/es-abstract/helpers/valueToFloat32Bytes.js +67 -0
- package/slack-bot/node_modules/es-abstract/helpers/valueToFloat64Bytes.js +83 -0
- package/slack-bot/node_modules/es-abstract/index.js +38 -0
- package/slack-bot/node_modules/es-abstract/operations/2015.js +744 -0
- package/slack-bot/node_modules/es-abstract/operations/2016.js +813 -0
- package/slack-bot/node_modules/es-abstract/operations/2017.js +954 -0
- package/slack-bot/node_modules/es-abstract/operations/2018.js +1033 -0
- package/slack-bot/node_modules/es-abstract/operations/2019.js +1048 -0
- package/slack-bot/node_modules/es-abstract/operations/2020.js +1228 -0
- package/slack-bot/node_modules/es-abstract/operations/2021.js +1282 -0
- package/slack-bot/node_modules/es-abstract/operations/2022.js +1372 -0
- package/slack-bot/node_modules/es-abstract/operations/2023.js +1441 -0
- package/slack-bot/node_modules/es-abstract/operations/2024.js +1537 -0
- package/slack-bot/node_modules/es-abstract/operations/2025.js +1603 -0
- package/slack-bot/node_modules/es-abstract/operations/es5.js +50 -0
- package/slack-bot/node_modules/es-abstract/package.json +188 -0
- package/slack-bot/node_modules/es-array-method-boxes-properly/.eslintrc +10 -0
- package/slack-bot/node_modules/es-array-method-boxes-properly/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/es-array-method-boxes-properly/LICENSE +21 -0
- package/slack-bot/node_modules/es-array-method-boxes-properly/README.md +3 -0
- package/slack-bot/node_modules/es-array-method-boxes-properly/index.js +30 -0
- package/slack-bot/node_modules/es-array-method-boxes-properly/package.json +30 -0
- package/slack-bot/node_modules/es-array-method-boxes-properly/test/index.js +11 -0
- package/slack-bot/node_modules/es-define-property/.eslintrc +13 -0
- package/slack-bot/node_modules/es-define-property/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/es-define-property/.nycrc +9 -0
- package/slack-bot/node_modules/es-define-property/CHANGELOG.md +29 -0
- package/slack-bot/node_modules/es-define-property/LICENSE +21 -0
- package/slack-bot/node_modules/es-define-property/README.md +49 -0
- package/slack-bot/node_modules/es-define-property/index.d.ts +3 -0
- package/slack-bot/node_modules/es-define-property/index.js +14 -0
- package/slack-bot/node_modules/es-define-property/package.json +81 -0
- package/slack-bot/node_modules/es-define-property/test/index.js +56 -0
- package/slack-bot/node_modules/es-define-property/tsconfig.json +10 -0
- package/slack-bot/node_modules/es-errors/.eslintrc +5 -0
- package/slack-bot/node_modules/es-errors/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/es-errors/CHANGELOG.md +40 -0
- package/slack-bot/node_modules/es-errors/LICENSE +21 -0
- package/slack-bot/node_modules/es-errors/README.md +55 -0
- package/slack-bot/node_modules/es-errors/eval.d.ts +3 -0
- package/slack-bot/node_modules/es-errors/eval.js +4 -0
- package/slack-bot/node_modules/es-errors/index.d.ts +3 -0
- package/slack-bot/node_modules/es-errors/index.js +4 -0
- package/slack-bot/node_modules/es-errors/package.json +80 -0
- package/slack-bot/node_modules/es-errors/range.d.ts +3 -0
- package/slack-bot/node_modules/es-errors/range.js +4 -0
- package/slack-bot/node_modules/es-errors/ref.d.ts +3 -0
- package/slack-bot/node_modules/es-errors/ref.js +4 -0
- package/slack-bot/node_modules/es-errors/syntax.d.ts +3 -0
- package/slack-bot/node_modules/es-errors/syntax.js +4 -0
- package/slack-bot/node_modules/es-errors/test/index.js +19 -0
- package/slack-bot/node_modules/es-errors/tsconfig.json +49 -0
- package/slack-bot/node_modules/es-errors/type.d.ts +3 -0
- package/slack-bot/node_modules/es-errors/type.js +4 -0
- package/slack-bot/node_modules/es-errors/uri.d.ts +3 -0
- package/slack-bot/node_modules/es-errors/uri.js +4 -0
- package/slack-bot/node_modules/es-get-iterator/.eslintrc +32 -0
- package/slack-bot/node_modules/es-get-iterator/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/es-get-iterator/.nycrc +9 -0
- package/slack-bot/node_modules/es-get-iterator/CHANGELOG.md +105 -0
- package/slack-bot/node_modules/es-get-iterator/LICENSE +21 -0
- package/slack-bot/node_modules/es-get-iterator/README.md +89 -0
- package/slack-bot/node_modules/es-get-iterator/index.js +189 -0
- package/slack-bot/node_modules/es-get-iterator/node.js +12 -0
- package/slack-bot/node_modules/es-get-iterator/node.mjs +11 -0
- package/slack-bot/node_modules/es-get-iterator/package.json +102 -0
- package/slack-bot/node_modules/es-get-iterator/test/core-js.js +5 -0
- package/slack-bot/node_modules/es-get-iterator/test/es6-shim.js +11 -0
- package/slack-bot/node_modules/es-get-iterator/test/index.js +178 -0
- package/slack-bot/node_modules/es-get-iterator/test/node.js +3 -0
- package/slack-bot/node_modules/es-get-iterator/test/node.mjs +10 -0
- package/slack-bot/node_modules/es-object-atoms/.eslintrc +16 -0
- package/slack-bot/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/es-object-atoms/CHANGELOG.md +37 -0
- package/slack-bot/node_modules/es-object-atoms/LICENSE +21 -0
- package/slack-bot/node_modules/es-object-atoms/README.md +63 -0
- package/slack-bot/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
- package/slack-bot/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
- package/slack-bot/node_modules/es-object-atoms/ToObject.d.ts +7 -0
- package/slack-bot/node_modules/es-object-atoms/ToObject.js +10 -0
- package/slack-bot/node_modules/es-object-atoms/index.d.ts +3 -0
- package/slack-bot/node_modules/es-object-atoms/index.js +4 -0
- package/slack-bot/node_modules/es-object-atoms/isObject.d.ts +3 -0
- package/slack-bot/node_modules/es-object-atoms/isObject.js +6 -0
- package/slack-bot/node_modules/es-object-atoms/package.json +80 -0
- package/slack-bot/node_modules/es-object-atoms/test/index.js +38 -0
- package/slack-bot/node_modules/es-object-atoms/tsconfig.json +6 -0
- package/slack-bot/node_modules/es-set-tostringtag/.eslintrc +13 -0
- package/slack-bot/node_modules/es-set-tostringtag/.nycrc +9 -0
- package/slack-bot/node_modules/es-set-tostringtag/CHANGELOG.md +67 -0
- package/slack-bot/node_modules/es-set-tostringtag/LICENSE +21 -0
- package/slack-bot/node_modules/es-set-tostringtag/README.md +53 -0
- package/slack-bot/node_modules/es-set-tostringtag/index.d.ts +10 -0
- package/slack-bot/node_modules/es-set-tostringtag/index.js +35 -0
- package/slack-bot/node_modules/es-set-tostringtag/package.json +78 -0
- package/slack-bot/node_modules/es-set-tostringtag/test/index.js +85 -0
- package/slack-bot/node_modules/es-set-tostringtag/tsconfig.json +9 -0
- package/slack-bot/node_modules/es-to-primitive/.editorconfig +20 -0
- package/slack-bot/node_modules/es-to-primitive/.eslintignore +1 -0
- package/slack-bot/node_modules/es-to-primitive/.eslintrc +20 -0
- package/slack-bot/node_modules/es-to-primitive/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/es-to-primitive/.nycrc +9 -0
- package/slack-bot/node_modules/es-to-primitive/CHANGELOG.md +101 -0
- package/slack-bot/node_modules/es-to-primitive/LICENSE +22 -0
- package/slack-bot/node_modules/es-to-primitive/README.md +52 -0
- package/slack-bot/node_modules/es-to-primitive/es2015.d.ts +5 -0
- package/slack-bot/node_modules/es-to-primitive/es2015.js +82 -0
- package/slack-bot/node_modules/es-to-primitive/es5.d.ts +3 -0
- package/slack-bot/node_modules/es-to-primitive/es5.js +52 -0
- package/slack-bot/node_modules/es-to-primitive/es6.d.ts +3 -0
- package/slack-bot/node_modules/es-to-primitive/es6.js +4 -0
- package/slack-bot/node_modules/es-to-primitive/helpers/isPrimitive.js +6 -0
- package/slack-bot/node_modules/es-to-primitive/index.d.ts +11 -0
- package/slack-bot/node_modules/es-to-primitive/index.js +21 -0
- package/slack-bot/node_modules/es-to-primitive/package.json +97 -0
- package/slack-bot/node_modules/es-to-primitive/test/es2015.js +140 -0
- package/slack-bot/node_modules/es-to-primitive/test/es5.js +98 -0
- package/slack-bot/node_modules/es-to-primitive/test/es6.js +140 -0
- package/slack-bot/node_modules/es-to-primitive/test/index.js +20 -0
- package/slack-bot/node_modules/es-to-primitive/tsconfig.json +9 -0
- package/slack-bot/node_modules/escape-html/LICENSE +24 -0
- package/slack-bot/node_modules/escape-html/Readme.md +43 -0
- package/slack-bot/node_modules/escape-html/index.js +78 -0
- package/slack-bot/node_modules/escape-html/package.json +24 -0
- package/slack-bot/node_modules/etag/HISTORY.md +83 -0
- package/slack-bot/node_modules/etag/LICENSE +22 -0
- package/slack-bot/node_modules/etag/README.md +159 -0
- package/slack-bot/node_modules/etag/index.js +131 -0
- package/slack-bot/node_modules/etag/package.json +47 -0
- package/slack-bot/node_modules/eventemitter3/LICENSE +21 -0
- package/slack-bot/node_modules/eventemitter3/README.md +85 -0
- package/slack-bot/node_modules/eventemitter3/dist/eventemitter3.esm.js +355 -0
- package/slack-bot/node_modules/eventemitter3/dist/eventemitter3.esm.min.js +1 -0
- package/slack-bot/node_modules/eventemitter3/dist/eventemitter3.esm.min.js.map +1 -0
- package/slack-bot/node_modules/eventemitter3/dist/eventemitter3.umd.js +363 -0
- package/slack-bot/node_modules/eventemitter3/dist/eventemitter3.umd.min.js +1 -0
- package/slack-bot/node_modules/eventemitter3/dist/eventemitter3.umd.min.js.map +1 -0
- package/slack-bot/node_modules/eventemitter3/index.d.ts +135 -0
- package/slack-bot/node_modules/eventemitter3/index.js +336 -0
- package/slack-bot/node_modules/eventemitter3/index.mjs +4 -0
- package/slack-bot/node_modules/eventemitter3/package.json +62 -0
- package/slack-bot/node_modules/express/History.md +3667 -0
- package/slack-bot/node_modules/express/LICENSE +24 -0
- package/slack-bot/node_modules/express/Readme.md +260 -0
- package/slack-bot/node_modules/express/index.js +11 -0
- package/slack-bot/node_modules/express/lib/application.js +661 -0
- package/slack-bot/node_modules/express/lib/express.js +116 -0
- package/slack-bot/node_modules/express/lib/middleware/init.js +43 -0
- package/slack-bot/node_modules/express/lib/middleware/query.js +47 -0
- package/slack-bot/node_modules/express/lib/request.js +525 -0
- package/slack-bot/node_modules/express/lib/response.js +1179 -0
- package/slack-bot/node_modules/express/lib/router/index.js +673 -0
- package/slack-bot/node_modules/express/lib/router/layer.js +181 -0
- package/slack-bot/node_modules/express/lib/router/route.js +230 -0
- package/slack-bot/node_modules/express/lib/utils.js +303 -0
- package/slack-bot/node_modules/express/lib/view.js +182 -0
- package/slack-bot/node_modules/express/node_modules/path-to-regexp/LICENSE +21 -0
- package/slack-bot/node_modules/express/node_modules/path-to-regexp/Readme.md +35 -0
- package/slack-bot/node_modules/express/node_modules/path-to-regexp/index.js +156 -0
- package/slack-bot/node_modules/express/node_modules/path-to-regexp/package.json +30 -0
- package/slack-bot/node_modules/express/package.json +102 -0
- package/slack-bot/node_modules/finalhandler/HISTORY.md +216 -0
- package/slack-bot/node_modules/finalhandler/LICENSE +22 -0
- package/slack-bot/node_modules/finalhandler/README.md +147 -0
- package/slack-bot/node_modules/finalhandler/SECURITY.md +25 -0
- package/slack-bot/node_modules/finalhandler/index.js +341 -0
- package/slack-bot/node_modules/finalhandler/package.json +47 -0
- package/slack-bot/node_modules/finity/CODE_OF_CONDUCT.md +74 -0
- package/slack-bot/node_modules/finity/LICENSE +21 -0
- package/slack-bot/node_modules/finity/README.md +547 -0
- package/slack-bot/node_modules/finity/ROADMAP.md +23 -0
- package/slack-bot/node_modules/finity/index.d.ts +86 -0
- package/slack-bot/node_modules/finity/lib/Finity.js +22 -0
- package/slack-bot/node_modules/finity/lib/configuration/AsyncActionConfigurator.js +48 -0
- package/slack-bot/node_modules/finity/lib/configuration/BaseConfigurator.js +51 -0
- package/slack-bot/node_modules/finity/lib/configuration/GlobalConfigurator.js +63 -0
- package/slack-bot/node_modules/finity/lib/configuration/StateConfigurator.js +93 -0
- package/slack-bot/node_modules/finity/lib/configuration/StateMachineConfigurator.js +73 -0
- package/slack-bot/node_modules/finity/lib/configuration/TimerConfigurator.js +32 -0
- package/slack-bot/node_modules/finity/lib/configuration/TransitionConfigurator.js +51 -0
- package/slack-bot/node_modules/finity/lib/configuration/TriggerConfigurator.js +60 -0
- package/slack-bot/node_modules/finity/lib/configuration/delegateToAncestor.js +22 -0
- package/slack-bot/node_modules/finity/lib/configuration/index.js +42 -0
- package/slack-bot/node_modules/finity/lib/core/HierarchicalStateMachine.js +101 -0
- package/slack-bot/node_modules/finity/lib/core/StateMachine.js +293 -0
- package/slack-bot/node_modules/finity/lib/core/TaskScheduler.js +46 -0
- package/slack-bot/node_modules/finity/lib/index.js +10 -0
- package/slack-bot/node_modules/finity/lib/utils/invokeEach.js +13 -0
- package/slack-bot/node_modules/finity/lib/utils/mapValues.js +12 -0
- package/slack-bot/node_modules/finity/lib/utils/merge.js +10 -0
- package/slack-bot/node_modules/finity/package.json +68 -0
- package/slack-bot/node_modules/finity/umd/Finity.js +301 -0
- package/slack-bot/node_modules/finity/umd/Finity.min.js +1 -0
- package/slack-bot/node_modules/follow-redirects/LICENSE +18 -0
- package/slack-bot/node_modules/follow-redirects/README.md +155 -0
- package/slack-bot/node_modules/follow-redirects/debug.js +15 -0
- package/slack-bot/node_modules/follow-redirects/http.js +1 -0
- package/slack-bot/node_modules/follow-redirects/https.js +1 -0
- package/slack-bot/node_modules/follow-redirects/index.js +686 -0
- package/slack-bot/node_modules/follow-redirects/package.json +58 -0
- package/slack-bot/node_modules/for-each/.editorconfig +20 -0
- package/slack-bot/node_modules/for-each/.eslintrc +30 -0
- package/slack-bot/node_modules/for-each/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/for-each/.github/SECURITY.md +3 -0
- package/slack-bot/node_modules/for-each/.nycrc +8 -0
- package/slack-bot/node_modules/for-each/CHANGELOG.md +107 -0
- package/slack-bot/node_modules/for-each/LICENSE +22 -0
- package/slack-bot/node_modules/for-each/README.md +39 -0
- package/slack-bot/node_modules/for-each/index.d.ts +35 -0
- package/slack-bot/node_modules/for-each/index.js +69 -0
- package/slack-bot/node_modules/for-each/package.json +76 -0
- package/slack-bot/node_modules/for-each/test/test.js +224 -0
- package/slack-bot/node_modules/for-each/tsconfig.json +8 -0
- package/slack-bot/node_modules/form-data/CHANGELOG.md +651 -0
- package/slack-bot/node_modules/form-data/License +19 -0
- package/slack-bot/node_modules/form-data/README.md +350 -0
- package/slack-bot/node_modules/form-data/index.d.ts +51 -0
- package/slack-bot/node_modules/form-data/lib/browser.js +4 -0
- package/slack-bot/node_modules/form-data/lib/form_data.js +509 -0
- package/slack-bot/node_modules/form-data/lib/populate.js +10 -0
- package/slack-bot/node_modules/form-data/package.json +83 -0
- package/slack-bot/node_modules/forwarded/HISTORY.md +21 -0
- package/slack-bot/node_modules/forwarded/LICENSE +22 -0
- package/slack-bot/node_modules/forwarded/README.md +57 -0
- package/slack-bot/node_modules/forwarded/index.js +90 -0
- package/slack-bot/node_modules/forwarded/package.json +45 -0
- package/slack-bot/node_modules/fresh/HISTORY.md +70 -0
- package/slack-bot/node_modules/fresh/LICENSE +23 -0
- package/slack-bot/node_modules/fresh/README.md +119 -0
- package/slack-bot/node_modules/fresh/index.js +137 -0
- package/slack-bot/node_modules/fresh/package.json +46 -0
- package/slack-bot/node_modules/function-bind/.eslintrc +21 -0
- package/slack-bot/node_modules/function-bind/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/function-bind/.github/SECURITY.md +3 -0
- package/slack-bot/node_modules/function-bind/.nycrc +13 -0
- package/slack-bot/node_modules/function-bind/CHANGELOG.md +136 -0
- package/slack-bot/node_modules/function-bind/LICENSE +20 -0
- package/slack-bot/node_modules/function-bind/README.md +46 -0
- package/slack-bot/node_modules/function-bind/implementation.js +84 -0
- package/slack-bot/node_modules/function-bind/index.js +5 -0
- package/slack-bot/node_modules/function-bind/package.json +87 -0
- package/slack-bot/node_modules/function-bind/test/.eslintrc +9 -0
- package/slack-bot/node_modules/function-bind/test/index.js +252 -0
- package/slack-bot/node_modules/function.prototype.name/.editorconfig +24 -0
- package/slack-bot/node_modules/function.prototype.name/.eslintrc +15 -0
- package/slack-bot/node_modules/function.prototype.name/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/function.prototype.name/.nycrc +9 -0
- package/slack-bot/node_modules/function.prototype.name/CHANGELOG.md +141 -0
- package/slack-bot/node_modules/function.prototype.name/LICENSE +21 -0
- package/slack-bot/node_modules/function.prototype.name/README.md +55 -0
- package/slack-bot/node_modules/function.prototype.name/auto.js +3 -0
- package/slack-bot/node_modules/function.prototype.name/helpers/functionsHaveNames.js +5 -0
- package/slack-bot/node_modules/function.prototype.name/implementation.js +72 -0
- package/slack-bot/node_modules/function.prototype.name/index.js +18 -0
- package/slack-bot/node_modules/function.prototype.name/package.json +101 -0
- package/slack-bot/node_modules/function.prototype.name/polyfill.js +7 -0
- package/slack-bot/node_modules/function.prototype.name/shim.js +35 -0
- package/slack-bot/node_modules/function.prototype.name/test/implementation.js +20 -0
- package/slack-bot/node_modules/function.prototype.name/test/index.js +23 -0
- package/slack-bot/node_modules/function.prototype.name/test/shimmed.js +21 -0
- package/slack-bot/node_modules/function.prototype.name/test/tests.js +104 -0
- package/slack-bot/node_modules/function.prototype.name/test/uglified.js +17 -0
- package/slack-bot/node_modules/functions-have-names/.editorconfig +20 -0
- package/slack-bot/node_modules/functions-have-names/.eslintrc +19 -0
- package/slack-bot/node_modules/functions-have-names/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/functions-have-names/.nycrc +9 -0
- package/slack-bot/node_modules/functions-have-names/CHANGELOG.md +89 -0
- package/slack-bot/node_modules/functions-have-names/LICENSE +21 -0
- package/slack-bot/node_modules/functions-have-names/README.md +40 -0
- package/slack-bot/node_modules/functions-have-names/index.js +31 -0
- package/slack-bot/node_modules/functions-have-names/package.json +55 -0
- package/slack-bot/node_modules/functions-have-names/test/index.js +65 -0
- package/slack-bot/node_modules/generator-function/.eslintrc +16 -0
- package/slack-bot/node_modules/generator-function/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/generator-function/.nycrc +9 -0
- package/slack-bot/node_modules/generator-function/CHANGELOG.md +27 -0
- package/slack-bot/node_modules/generator-function/LICENSE.md +7 -0
- package/slack-bot/node_modules/generator-function/README.md +51 -0
- package/slack-bot/node_modules/generator-function/index.d.mts +3 -0
- package/slack-bot/node_modules/generator-function/index.d.ts +3 -0
- package/slack-bot/node_modules/generator-function/index.js +8 -0
- package/slack-bot/node_modules/generator-function/index.mjs +4 -0
- package/slack-bot/node_modules/generator-function/legacy.js +18 -0
- package/slack-bot/node_modules/generator-function/package.json +88 -0
- package/slack-bot/node_modules/generator-function/require.mjs +5 -0
- package/slack-bot/node_modules/generator-function/test/index.js +42 -0
- package/slack-bot/node_modules/generator-function/tsconfig.json +9 -0
- package/slack-bot/node_modules/get-intrinsic/.eslintrc +42 -0
- package/slack-bot/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/get-intrinsic/.nycrc +9 -0
- package/slack-bot/node_modules/get-intrinsic/CHANGELOG.md +186 -0
- package/slack-bot/node_modules/get-intrinsic/LICENSE +21 -0
- package/slack-bot/node_modules/get-intrinsic/README.md +71 -0
- package/slack-bot/node_modules/get-intrinsic/index.js +378 -0
- package/slack-bot/node_modules/get-intrinsic/package.json +97 -0
- package/slack-bot/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
- package/slack-bot/node_modules/get-proto/.eslintrc +10 -0
- package/slack-bot/node_modules/get-proto/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/get-proto/.nycrc +9 -0
- package/slack-bot/node_modules/get-proto/CHANGELOG.md +21 -0
- package/slack-bot/node_modules/get-proto/LICENSE +21 -0
- package/slack-bot/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
- package/slack-bot/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
- package/slack-bot/node_modules/get-proto/README.md +50 -0
- package/slack-bot/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
- package/slack-bot/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
- package/slack-bot/node_modules/get-proto/index.d.ts +5 -0
- package/slack-bot/node_modules/get-proto/index.js +27 -0
- package/slack-bot/node_modules/get-proto/package.json +81 -0
- package/slack-bot/node_modules/get-proto/test/index.js +68 -0
- package/slack-bot/node_modules/get-proto/tsconfig.json +9 -0
- package/slack-bot/node_modules/get-symbol-description/.eslintrc +14 -0
- package/slack-bot/node_modules/get-symbol-description/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/get-symbol-description/.nycrc +9 -0
- package/slack-bot/node_modules/get-symbol-description/CHANGELOG.md +61 -0
- package/slack-bot/node_modules/get-symbol-description/LICENSE +21 -0
- package/slack-bot/node_modules/get-symbol-description/README.md +43 -0
- package/slack-bot/node_modules/get-symbol-description/getInferredName.d.ts +5 -0
- package/slack-bot/node_modules/get-symbol-description/getInferredName.js +13 -0
- package/slack-bot/node_modules/get-symbol-description/index.d.ts +3 -0
- package/slack-bot/node_modules/get-symbol-description/index.js +49 -0
- package/slack-bot/node_modules/get-symbol-description/package.json +88 -0
- package/slack-bot/node_modules/get-symbol-description/test/index.js +74 -0
- package/slack-bot/node_modules/get-symbol-description/tsconfig.json +9 -0
- package/slack-bot/node_modules/globalthis/.eslintrc +18 -0
- package/slack-bot/node_modules/globalthis/.nycrc +10 -0
- package/slack-bot/node_modules/globalthis/CHANGELOG.md +109 -0
- package/slack-bot/node_modules/globalthis/LICENSE +21 -0
- package/slack-bot/node_modules/globalthis/README.md +70 -0
- package/slack-bot/node_modules/globalthis/auto.js +3 -0
- package/slack-bot/node_modules/globalthis/implementation.browser.js +11 -0
- package/slack-bot/node_modules/globalthis/implementation.js +3 -0
- package/slack-bot/node_modules/globalthis/index.js +19 -0
- package/slack-bot/node_modules/globalthis/package.json +99 -0
- package/slack-bot/node_modules/globalthis/polyfill.js +10 -0
- package/slack-bot/node_modules/globalthis/shim.js +29 -0
- package/slack-bot/node_modules/globalthis/test/implementation.js +11 -0
- package/slack-bot/node_modules/globalthis/test/index.js +11 -0
- package/slack-bot/node_modules/globalthis/test/native.js +26 -0
- package/slack-bot/node_modules/globalthis/test/shimmed.js +29 -0
- package/slack-bot/node_modules/globalthis/test/tests.js +36 -0
- package/slack-bot/node_modules/gopd/.eslintrc +16 -0
- package/slack-bot/node_modules/gopd/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/gopd/CHANGELOG.md +45 -0
- package/slack-bot/node_modules/gopd/LICENSE +21 -0
- package/slack-bot/node_modules/gopd/README.md +40 -0
- package/slack-bot/node_modules/gopd/gOPD.d.ts +1 -0
- package/slack-bot/node_modules/gopd/gOPD.js +4 -0
- package/slack-bot/node_modules/gopd/index.d.ts +5 -0
- package/slack-bot/node_modules/gopd/index.js +15 -0
- package/slack-bot/node_modules/gopd/package.json +77 -0
- package/slack-bot/node_modules/gopd/test/index.js +36 -0
- package/slack-bot/node_modules/gopd/tsconfig.json +9 -0
- package/slack-bot/node_modules/has-bigints/.eslintrc +5 -0
- package/slack-bot/node_modules/has-bigints/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/has-bigints/.nycrc +9 -0
- package/slack-bot/node_modules/has-bigints/CHANGELOG.md +74 -0
- package/slack-bot/node_modules/has-bigints/LICENSE +21 -0
- package/slack-bot/node_modules/has-bigints/README.md +39 -0
- package/slack-bot/node_modules/has-bigints/index.d.ts +3 -0
- package/slack-bot/node_modules/has-bigints/index.js +11 -0
- package/slack-bot/node_modules/has-bigints/package.json +69 -0
- package/slack-bot/node_modules/has-bigints/test/index.js +44 -0
- package/slack-bot/node_modules/has-bigints/tsconfig.json +9 -0
- package/slack-bot/node_modules/has-property-descriptors/.eslintrc +13 -0
- package/slack-bot/node_modules/has-property-descriptors/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/has-property-descriptors/.nycrc +9 -0
- package/slack-bot/node_modules/has-property-descriptors/CHANGELOG.md +35 -0
- package/slack-bot/node_modules/has-property-descriptors/LICENSE +21 -0
- package/slack-bot/node_modules/has-property-descriptors/README.md +43 -0
- package/slack-bot/node_modules/has-property-descriptors/index.js +22 -0
- package/slack-bot/node_modules/has-property-descriptors/package.json +77 -0
- package/slack-bot/node_modules/has-property-descriptors/test/index.js +57 -0
- package/slack-bot/node_modules/has-proto/.eslintrc +5 -0
- package/slack-bot/node_modules/has-proto/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/has-proto/CHANGELOG.md +61 -0
- package/slack-bot/node_modules/has-proto/LICENSE +21 -0
- package/slack-bot/node_modules/has-proto/README.md +57 -0
- package/slack-bot/node_modules/has-proto/accessor.d.ts +3 -0
- package/slack-bot/node_modules/has-proto/accessor.js +20 -0
- package/slack-bot/node_modules/has-proto/index.d.ts +3 -0
- package/slack-bot/node_modules/has-proto/index.js +15 -0
- package/slack-bot/node_modules/has-proto/mutator.d.ts +3 -0
- package/slack-bot/node_modules/has-proto/mutator.js +33 -0
- package/slack-bot/node_modules/has-proto/package.json +91 -0
- package/slack-bot/node_modules/has-proto/test/accessor.js +34 -0
- package/slack-bot/node_modules/has-proto/test/index.js +28 -0
- package/slack-bot/node_modules/has-proto/test/mutator.js +34 -0
- package/slack-bot/node_modules/has-proto/tsconfig.json +11 -0
- package/slack-bot/node_modules/has-symbols/.eslintrc +11 -0
- package/slack-bot/node_modules/has-symbols/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/has-symbols/.nycrc +9 -0
- package/slack-bot/node_modules/has-symbols/CHANGELOG.md +91 -0
- package/slack-bot/node_modules/has-symbols/LICENSE +21 -0
- package/slack-bot/node_modules/has-symbols/README.md +46 -0
- package/slack-bot/node_modules/has-symbols/index.d.ts +3 -0
- package/slack-bot/node_modules/has-symbols/index.js +14 -0
- package/slack-bot/node_modules/has-symbols/package.json +111 -0
- package/slack-bot/node_modules/has-symbols/shams.d.ts +3 -0
- package/slack-bot/node_modules/has-symbols/shams.js +45 -0
- package/slack-bot/node_modules/has-symbols/test/index.js +22 -0
- package/slack-bot/node_modules/has-symbols/test/shams/core-js.js +29 -0
- package/slack-bot/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
- package/slack-bot/node_modules/has-symbols/test/tests.js +58 -0
- package/slack-bot/node_modules/has-symbols/tsconfig.json +10 -0
- package/slack-bot/node_modules/has-tostringtag/.eslintrc +5 -0
- package/slack-bot/node_modules/has-tostringtag/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/has-tostringtag/.nycrc +13 -0
- package/slack-bot/node_modules/has-tostringtag/CHANGELOG.md +42 -0
- package/slack-bot/node_modules/has-tostringtag/LICENSE +21 -0
- package/slack-bot/node_modules/has-tostringtag/README.md +46 -0
- package/slack-bot/node_modules/has-tostringtag/index.d.ts +3 -0
- package/slack-bot/node_modules/has-tostringtag/index.js +8 -0
- package/slack-bot/node_modules/has-tostringtag/package.json +108 -0
- package/slack-bot/node_modules/has-tostringtag/shams.d.ts +3 -0
- package/slack-bot/node_modules/has-tostringtag/shams.js +8 -0
- package/slack-bot/node_modules/has-tostringtag/test/index.js +21 -0
- package/slack-bot/node_modules/has-tostringtag/test/shams/core-js.js +31 -0
- package/slack-bot/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +30 -0
- package/slack-bot/node_modules/has-tostringtag/test/tests.js +15 -0
- package/slack-bot/node_modules/has-tostringtag/tsconfig.json +49 -0
- package/slack-bot/node_modules/hasown/.eslintrc +5 -0
- package/slack-bot/node_modules/hasown/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/hasown/.nycrc +13 -0
- package/slack-bot/node_modules/hasown/CHANGELOG.md +40 -0
- package/slack-bot/node_modules/hasown/LICENSE +21 -0
- package/slack-bot/node_modules/hasown/README.md +40 -0
- package/slack-bot/node_modules/hasown/index.d.ts +3 -0
- package/slack-bot/node_modules/hasown/index.js +8 -0
- package/slack-bot/node_modules/hasown/package.json +92 -0
- package/slack-bot/node_modules/hasown/tsconfig.json +6 -0
- package/slack-bot/node_modules/http-errors/HISTORY.md +186 -0
- package/slack-bot/node_modules/http-errors/LICENSE +23 -0
- package/slack-bot/node_modules/http-errors/README.md +169 -0
- package/slack-bot/node_modules/http-errors/index.js +290 -0
- package/slack-bot/node_modules/http-errors/package.json +54 -0
- package/slack-bot/node_modules/iconv-lite/Changelog.md +162 -0
- package/slack-bot/node_modules/iconv-lite/LICENSE +21 -0
- package/slack-bot/node_modules/iconv-lite/README.md +156 -0
- package/slack-bot/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
- package/slack-bot/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
- package/slack-bot/node_modules/iconv-lite/encodings/index.js +22 -0
- package/slack-bot/node_modules/iconv-lite/encodings/internal.js +188 -0
- package/slack-bot/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
- package/slack-bot/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/slack-bot/node_modules/iconv-lite/encodings/sbcs-data.js +174 -0
- package/slack-bot/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/slack-bot/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/slack-bot/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/slack-bot/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/slack-bot/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/slack-bot/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/slack-bot/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
- package/slack-bot/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/slack-bot/node_modules/iconv-lite/encodings/utf16.js +177 -0
- package/slack-bot/node_modules/iconv-lite/encodings/utf7.js +290 -0
- package/slack-bot/node_modules/iconv-lite/lib/bom-handling.js +52 -0
- package/slack-bot/node_modules/iconv-lite/lib/extend-node.js +217 -0
- package/slack-bot/node_modules/iconv-lite/lib/index.d.ts +24 -0
- package/slack-bot/node_modules/iconv-lite/lib/index.js +153 -0
- package/slack-bot/node_modules/iconv-lite/lib/streams.js +121 -0
- package/slack-bot/node_modules/iconv-lite/package.json +46 -0
- package/slack-bot/node_modules/inherits/LICENSE +16 -0
- package/slack-bot/node_modules/inherits/README.md +42 -0
- package/slack-bot/node_modules/inherits/inherits.js +9 -0
- package/slack-bot/node_modules/inherits/inherits_browser.js +27 -0
- package/slack-bot/node_modules/inherits/package.json +29 -0
- package/slack-bot/node_modules/internal-slot/.attw.json +5 -0
- package/slack-bot/node_modules/internal-slot/.editorconfig +20 -0
- package/slack-bot/node_modules/internal-slot/.eslintrc +11 -0
- package/slack-bot/node_modules/internal-slot/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/internal-slot/.nycrc +9 -0
- package/slack-bot/node_modules/internal-slot/CHANGELOG.md +114 -0
- package/slack-bot/node_modules/internal-slot/LICENSE +21 -0
- package/slack-bot/node_modules/internal-slot/README.md +58 -0
- package/slack-bot/node_modules/internal-slot/index.d.ts +12 -0
- package/slack-bot/node_modules/internal-slot/index.js +69 -0
- package/slack-bot/node_modules/internal-slot/package.json +79 -0
- package/slack-bot/node_modules/internal-slot/test/index.js +129 -0
- package/slack-bot/node_modules/internal-slot/tsconfig.json +9 -0
- package/slack-bot/node_modules/ipaddr.js/LICENSE +19 -0
- package/slack-bot/node_modules/ipaddr.js/README.md +233 -0
- package/slack-bot/node_modules/ipaddr.js/ipaddr.min.js +1 -0
- package/slack-bot/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
- package/slack-bot/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
- package/slack-bot/node_modules/ipaddr.js/package.json +35 -0
- package/slack-bot/node_modules/is-arguments/.editorconfig +20 -0
- package/slack-bot/node_modules/is-arguments/.eslintrc +9 -0
- package/slack-bot/node_modules/is-arguments/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-arguments/.nycrc +9 -0
- package/slack-bot/node_modules/is-arguments/CHANGELOG.md +201 -0
- package/slack-bot/node_modules/is-arguments/LICENSE +20 -0
- package/slack-bot/node_modules/is-arguments/README.md +47 -0
- package/slack-bot/node_modules/is-arguments/index.d.ts +6 -0
- package/slack-bot/node_modules/is-arguments/index.js +44 -0
- package/slack-bot/node_modules/is-arguments/package.json +105 -0
- package/slack-bot/node_modules/is-arguments/test/index.js +47 -0
- package/slack-bot/node_modules/is-arguments/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-array-buffer/.eslintrc +17 -0
- package/slack-bot/node_modules/is-array-buffer/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-array-buffer/.nycrc +9 -0
- package/slack-bot/node_modules/is-array-buffer/CHANGELOG.md +91 -0
- package/slack-bot/node_modules/is-array-buffer/LICENSE +21 -0
- package/slack-bot/node_modules/is-array-buffer/README.md +56 -0
- package/slack-bot/node_modules/is-array-buffer/index.d.ts +3 -0
- package/slack-bot/node_modules/is-array-buffer/index.js +43 -0
- package/slack-bot/node_modules/is-array-buffer/package.json +91 -0
- package/slack-bot/node_modules/is-array-buffer/test/index.js +49 -0
- package/slack-bot/node_modules/is-array-buffer/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-async-function/.eslintrc +9 -0
- package/slack-bot/node_modules/is-async-function/.nycrc +9 -0
- package/slack-bot/node_modules/is-async-function/CHANGELOG.md +189 -0
- package/slack-bot/node_modules/is-async-function/LICENSE +20 -0
- package/slack-bot/node_modules/is-async-function/README.md +41 -0
- package/slack-bot/node_modules/is-async-function/index.d.ts +9 -0
- package/slack-bot/node_modules/is-async-function/index.js +32 -0
- package/slack-bot/node_modules/is-async-function/package.json +110 -0
- package/slack-bot/node_modules/is-async-function/test/index.js +91 -0
- package/slack-bot/node_modules/is-async-function/test/uglified.js +9 -0
- package/slack-bot/node_modules/is-async-function/tsconfig.json +10 -0
- package/slack-bot/node_modules/is-bigint/.eslintrc +5 -0
- package/slack-bot/node_modules/is-bigint/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-bigint/.nycrc +9 -0
- package/slack-bot/node_modules/is-bigint/CHANGELOG.md +91 -0
- package/slack-bot/node_modules/is-bigint/LICENSE +21 -0
- package/slack-bot/node_modules/is-bigint/README.md +44 -0
- package/slack-bot/node_modules/is-bigint/index.d.ts +3 -0
- package/slack-bot/node_modules/is-bigint/index.js +41 -0
- package/slack-bot/node_modules/is-bigint/package.json +78 -0
- package/slack-bot/node_modules/is-bigint/test/index.js +65 -0
- package/slack-bot/node_modules/is-bigint/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-boolean-object/.editorconfig +22 -0
- package/slack-bot/node_modules/is-boolean-object/.eslintrc +12 -0
- package/slack-bot/node_modules/is-boolean-object/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-boolean-object/.nycrc +10 -0
- package/slack-bot/node_modules/is-boolean-object/CHANGELOG.md +143 -0
- package/slack-bot/node_modules/is-boolean-object/LICENSE +22 -0
- package/slack-bot/node_modules/is-boolean-object/README.md +57 -0
- package/slack-bot/node_modules/is-boolean-object/index.d.ts +3 -0
- package/slack-bot/node_modules/is-boolean-object/index.js +28 -0
- package/slack-bot/node_modules/is-boolean-object/package.json +100 -0
- package/slack-bot/node_modules/is-boolean-object/test/index.js +73 -0
- package/slack-bot/node_modules/is-boolean-object/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-callable/.editorconfig +31 -0
- package/slack-bot/node_modules/is-callable/.eslintrc +10 -0
- package/slack-bot/node_modules/is-callable/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-callable/.nycrc +9 -0
- package/slack-bot/node_modules/is-callable/CHANGELOG.md +158 -0
- package/slack-bot/node_modules/is-callable/LICENSE +22 -0
- package/slack-bot/node_modules/is-callable/README.md +83 -0
- package/slack-bot/node_modules/is-callable/index.js +101 -0
- package/slack-bot/node_modules/is-callable/package.json +106 -0
- package/slack-bot/node_modules/is-callable/test/index.js +244 -0
- package/slack-bot/node_modules/is-data-view/.editorconfig +20 -0
- package/slack-bot/node_modules/is-data-view/.eslintrc +17 -0
- package/slack-bot/node_modules/is-data-view/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-data-view/.nycrc +9 -0
- package/slack-bot/node_modules/is-data-view/CHANGELOG.md +35 -0
- package/slack-bot/node_modules/is-data-view/LICENSE +21 -0
- package/slack-bot/node_modules/is-data-view/README.md +69 -0
- package/slack-bot/node_modules/is-data-view/index.d.ts +3 -0
- package/slack-bot/node_modules/is-data-view/index.js +39 -0
- package/slack-bot/node_modules/is-data-view/package.json +100 -0
- package/slack-bot/node_modules/is-data-view/test/index.js +60 -0
- package/slack-bot/node_modules/is-data-view/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-date-object/.editorconfig +20 -0
- package/slack-bot/node_modules/is-date-object/.eslintrc +9 -0
- package/slack-bot/node_modules/is-date-object/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-date-object/.nycrc +10 -0
- package/slack-bot/node_modules/is-date-object/CHANGELOG.md +134 -0
- package/slack-bot/node_modules/is-date-object/LICENSE +22 -0
- package/slack-bot/node_modules/is-date-object/README.md +52 -0
- package/slack-bot/node_modules/is-date-object/index.d.ts +3 -0
- package/slack-bot/node_modules/is-date-object/index.js +27 -0
- package/slack-bot/node_modules/is-date-object/package.json +99 -0
- package/slack-bot/node_modules/is-date-object/test/index.js +38 -0
- package/slack-bot/node_modules/is-date-object/tsconfig.json +6 -0
- package/slack-bot/node_modules/is-electron/LICENSE +21 -0
- package/slack-bot/node_modules/is-electron/README.md +25 -0
- package/slack-bot/node_modules/is-electron/index.d.ts +2 -0
- package/slack-bot/node_modules/is-electron/index.js +21 -0
- package/slack-bot/node_modules/is-electron/package.json +34 -0
- package/slack-bot/node_modules/is-finalizationregistry/.eslintrc +9 -0
- package/slack-bot/node_modules/is-finalizationregistry/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-finalizationregistry/.nycrc +9 -0
- package/slack-bot/node_modules/is-finalizationregistry/CHANGELOG.md +78 -0
- package/slack-bot/node_modules/is-finalizationregistry/LICENSE +21 -0
- package/slack-bot/node_modules/is-finalizationregistry/README.md +54 -0
- package/slack-bot/node_modules/is-finalizationregistry/index.d.ts +3 -0
- package/slack-bot/node_modules/is-finalizationregistry/index.js +25 -0
- package/slack-bot/node_modules/is-finalizationregistry/package.json +82 -0
- package/slack-bot/node_modules/is-finalizationregistry/test/index.js +26 -0
- package/slack-bot/node_modules/is-finalizationregistry/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-generator-function/.eslintrc +9 -0
- package/slack-bot/node_modules/is-generator-function/.nvmrc +1 -0
- package/slack-bot/node_modules/is-generator-function/.nycrc +9 -0
- package/slack-bot/node_modules/is-generator-function/CHANGELOG.md +254 -0
- package/slack-bot/node_modules/is-generator-function/LICENSE +20 -0
- package/slack-bot/node_modules/is-generator-function/README.md +40 -0
- package/slack-bot/node_modules/is-generator-function/index.d.ts +3 -0
- package/slack-bot/node_modules/is-generator-function/index.js +31 -0
- package/slack-bot/node_modules/is-generator-function/package.json +107 -0
- package/slack-bot/node_modules/is-generator-function/test/corejs.js +6 -0
- package/slack-bot/node_modules/is-generator-function/test/index.js +80 -0
- package/slack-bot/node_modules/is-generator-function/test/uglified.js +9 -0
- package/slack-bot/node_modules/is-generator-function/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-map/.editorconfig +15 -0
- package/slack-bot/node_modules/is-map/.eslintrc +5 -0
- package/slack-bot/node_modules/is-map/.gitattributes +1 -0
- package/slack-bot/node_modules/is-map/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-map/.nycrc +9 -0
- package/slack-bot/node_modules/is-map/CHANGELOG.md +89 -0
- package/slack-bot/node_modules/is-map/LICENSE +21 -0
- package/slack-bot/node_modules/is-map/README.md +52 -0
- package/slack-bot/node_modules/is-map/index.d.ts +3 -0
- package/slack-bot/node_modules/is-map/index.js +47 -0
- package/slack-bot/node_modules/is-map/package.json +79 -0
- package/slack-bot/node_modules/is-map/test/index.js +59 -0
- package/slack-bot/node_modules/is-map/tsconfig.json +49 -0
- package/slack-bot/node_modules/is-negative-zero/.editorconfig +8 -0
- package/slack-bot/node_modules/is-negative-zero/.eslintrc +9 -0
- package/slack-bot/node_modules/is-negative-zero/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-negative-zero/.nycrc +9 -0
- package/slack-bot/node_modules/is-negative-zero/CHANGELOG.md +147 -0
- package/slack-bot/node_modules/is-negative-zero/LICENSE +20 -0
- package/slack-bot/node_modules/is-negative-zero/README.md +54 -0
- package/slack-bot/node_modules/is-negative-zero/index.d.ts +3 -0
- package/slack-bot/node_modules/is-negative-zero/index.js +7 -0
- package/slack-bot/node_modules/is-negative-zero/package.json +92 -0
- package/slack-bot/node_modules/is-negative-zero/test/index.js +29 -0
- package/slack-bot/node_modules/is-negative-zero/tsconfig.json +49 -0
- package/slack-bot/node_modules/is-number-object/.editorconfig +23 -0
- package/slack-bot/node_modules/is-number-object/.eslintrc +16 -0
- package/slack-bot/node_modules/is-number-object/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-number-object/.nycrc +10 -0
- package/slack-bot/node_modules/is-number-object/CHANGELOG.md +149 -0
- package/slack-bot/node_modules/is-number-object/LICENSE +22 -0
- package/slack-bot/node_modules/is-number-object/README.md +55 -0
- package/slack-bot/node_modules/is-number-object/index.d.ts +3 -0
- package/slack-bot/node_modules/is-number-object/index.js +29 -0
- package/slack-bot/node_modules/is-number-object/package.json +85 -0
- package/slack-bot/node_modules/is-number-object/test/index.js +40 -0
- package/slack-bot/node_modules/is-number-object/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-regex/.editorconfig +23 -0
- package/slack-bot/node_modules/is-regex/.eslintrc +10 -0
- package/slack-bot/node_modules/is-regex/.nycrc +10 -0
- package/slack-bot/node_modules/is-regex/CHANGELOG.md +233 -0
- package/slack-bot/node_modules/is-regex/LICENSE +20 -0
- package/slack-bot/node_modules/is-regex/README.md +52 -0
- package/slack-bot/node_modules/is-regex/index.d.ts +3 -0
- package/slack-bot/node_modules/is-regex/index.js +69 -0
- package/slack-bot/node_modules/is-regex/package.json +104 -0
- package/slack-bot/node_modules/is-regex/test/index.js +121 -0
- package/slack-bot/node_modules/is-regex/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-set/.editorconfig +15 -0
- package/slack-bot/node_modules/is-set/.eslintrc +5 -0
- package/slack-bot/node_modules/is-set/.gitattributes +1 -0
- package/slack-bot/node_modules/is-set/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-set/.nycrc +9 -0
- package/slack-bot/node_modules/is-set/CHANGELOG.md +81 -0
- package/slack-bot/node_modules/is-set/LICENSE +21 -0
- package/slack-bot/node_modules/is-set/README.md +50 -0
- package/slack-bot/node_modules/is-set/index.d.ts +3 -0
- package/slack-bot/node_modules/is-set/index.js +46 -0
- package/slack-bot/node_modules/is-set/package.json +72 -0
- package/slack-bot/node_modules/is-set/test/index.js +59 -0
- package/slack-bot/node_modules/is-set/tsconfig.json +49 -0
- package/slack-bot/node_modules/is-shared-array-buffer/.eslintrc +5 -0
- package/slack-bot/node_modules/is-shared-array-buffer/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-shared-array-buffer/.nycrc +9 -0
- package/slack-bot/node_modules/is-shared-array-buffer/CHANGELOG.md +75 -0
- package/slack-bot/node_modules/is-shared-array-buffer/LICENSE +21 -0
- package/slack-bot/node_modules/is-shared-array-buffer/README.md +56 -0
- package/slack-bot/node_modules/is-shared-array-buffer/index.d.ts +3 -0
- package/slack-bot/node_modules/is-shared-array-buffer/index.js +24 -0
- package/slack-bot/node_modules/is-shared-array-buffer/package.json +92 -0
- package/slack-bot/node_modules/is-shared-array-buffer/test/index.js +39 -0
- package/slack-bot/node_modules/is-shared-array-buffer/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-stream/index.js +21 -0
- package/slack-bot/node_modules/is-stream/license +21 -0
- package/slack-bot/node_modules/is-stream/package.json +38 -0
- package/slack-bot/node_modules/is-stream/readme.md +42 -0
- package/slack-bot/node_modules/is-string/.eslintrc +9 -0
- package/slack-bot/node_modules/is-string/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-string/.nycrc +10 -0
- package/slack-bot/node_modules/is-string/CHANGELOG.md +146 -0
- package/slack-bot/node_modules/is-string/LICENSE +22 -0
- package/slack-bot/node_modules/is-string/README.md +56 -0
- package/slack-bot/node_modules/is-string/index.d.ts +3 -0
- package/slack-bot/node_modules/is-string/index.js +31 -0
- package/slack-bot/node_modules/is-string/package.json +95 -0
- package/slack-bot/node_modules/is-string/test/index.js +41 -0
- package/slack-bot/node_modules/is-string/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-symbol/.editorconfig +13 -0
- package/slack-bot/node_modules/is-symbol/.eslintrc +14 -0
- package/slack-bot/node_modules/is-symbol/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-symbol/.nycrc +9 -0
- package/slack-bot/node_modules/is-symbol/CHANGELOG.md +145 -0
- package/slack-bot/node_modules/is-symbol/LICENSE +22 -0
- package/slack-bot/node_modules/is-symbol/README.md +45 -0
- package/slack-bot/node_modules/is-symbol/index.d.ts +3 -0
- package/slack-bot/node_modules/is-symbol/index.js +40 -0
- package/slack-bot/node_modules/is-symbol/package.json +98 -0
- package/slack-bot/node_modules/is-symbol/test/index.js +88 -0
- package/slack-bot/node_modules/is-symbol/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-typed-array/.editorconfig +20 -0
- package/slack-bot/node_modules/is-typed-array/.eslintrc +13 -0
- package/slack-bot/node_modules/is-typed-array/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-typed-array/.nycrc +9 -0
- package/slack-bot/node_modules/is-typed-array/CHANGELOG.md +166 -0
- package/slack-bot/node_modules/is-typed-array/LICENSE +22 -0
- package/slack-bot/node_modules/is-typed-array/README.md +70 -0
- package/slack-bot/node_modules/is-typed-array/index.d.ts +9 -0
- package/slack-bot/node_modules/is-typed-array/index.js +8 -0
- package/slack-bot/node_modules/is-typed-array/package.json +129 -0
- package/slack-bot/node_modules/is-typed-array/test/index.js +111 -0
- package/slack-bot/node_modules/is-typed-array/tsconfig.json +6 -0
- package/slack-bot/node_modules/is-weakmap/.editorconfig +15 -0
- package/slack-bot/node_modules/is-weakmap/.eslintrc +5 -0
- package/slack-bot/node_modules/is-weakmap/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-weakmap/.nycrc +9 -0
- package/slack-bot/node_modules/is-weakmap/CHANGELOG.md +83 -0
- package/slack-bot/node_modules/is-weakmap/LICENSE +21 -0
- package/slack-bot/node_modules/is-weakmap/README.md +50 -0
- package/slack-bot/node_modules/is-weakmap/index.d.ts +3 -0
- package/slack-bot/node_modules/is-weakmap/index.js +46 -0
- package/slack-bot/node_modules/is-weakmap/package.json +81 -0
- package/slack-bot/node_modules/is-weakmap/test/index.js +59 -0
- package/slack-bot/node_modules/is-weakmap/tsconfig.json +49 -0
- package/slack-bot/node_modules/is-weakref/.eslintrc +5 -0
- package/slack-bot/node_modules/is-weakref/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-weakref/.nycrc +9 -0
- package/slack-bot/node_modules/is-weakref/CHANGELOG.md +82 -0
- package/slack-bot/node_modules/is-weakref/LICENSE +21 -0
- package/slack-bot/node_modules/is-weakref/README.md +52 -0
- package/slack-bot/node_modules/is-weakref/index.d.ts +3 -0
- package/slack-bot/node_modules/is-weakref/index.js +24 -0
- package/slack-bot/node_modules/is-weakref/package.json +82 -0
- package/slack-bot/node_modules/is-weakref/test/index.js +26 -0
- package/slack-bot/node_modules/is-weakref/tsconfig.json +9 -0
- package/slack-bot/node_modules/is-weakset/.editorconfig +15 -0
- package/slack-bot/node_modules/is-weakset/.eslintrc +13 -0
- package/slack-bot/node_modules/is-weakset/.gitattributes +1 -0
- package/slack-bot/node_modules/is-weakset/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/is-weakset/.nycrc +9 -0
- package/slack-bot/node_modules/is-weakset/CHANGELOG.md +107 -0
- package/slack-bot/node_modules/is-weakset/LICENSE +21 -0
- package/slack-bot/node_modules/is-weakset/README.md +50 -0
- package/slack-bot/node_modules/is-weakset/index.d.ts +3 -0
- package/slack-bot/node_modules/is-weakset/index.js +43 -0
- package/slack-bot/node_modules/is-weakset/package.json +87 -0
- package/slack-bot/node_modules/is-weakset/test/index.js +59 -0
- package/slack-bot/node_modules/is-weakset/tsconfig.json +9 -0
- package/slack-bot/node_modules/isarray/LICENSE +21 -0
- package/slack-bot/node_modules/isarray/README.md +38 -0
- package/slack-bot/node_modules/isarray/index.js +5 -0
- package/slack-bot/node_modules/isarray/package.json +48 -0
- package/slack-bot/node_modules/iterate-iterator/.eslintignore +1 -0
- package/slack-bot/node_modules/iterate-iterator/.eslintrc +16 -0
- package/slack-bot/node_modules/iterate-iterator/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/iterate-iterator/.nycrc +9 -0
- package/slack-bot/node_modules/iterate-iterator/CHANGELOG.md +56 -0
- package/slack-bot/node_modules/iterate-iterator/LICENSE +21 -0
- package/slack-bot/node_modules/iterate-iterator/README.md +66 -0
- package/slack-bot/node_modules/iterate-iterator/index.js +28 -0
- package/slack-bot/node_modules/iterate-iterator/package.json +73 -0
- package/slack-bot/node_modules/iterate-iterator/test/index.js +134 -0
- package/slack-bot/node_modules/iterate-value/.eslintrc +20 -0
- package/slack-bot/node_modules/iterate-value/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/iterate-value/.github/workflows/rebase.yml +15 -0
- package/slack-bot/node_modules/iterate-value/.travis.yml +8 -0
- package/slack-bot/node_modules/iterate-value/CHANGELOG.md +41 -0
- package/slack-bot/node_modules/iterate-value/LICENSE +21 -0
- package/slack-bot/node_modules/iterate-value/README.md +66 -0
- package/slack-bot/node_modules/iterate-value/index.js +16 -0
- package/slack-bot/node_modules/iterate-value/package.json +75 -0
- package/slack-bot/node_modules/iterate-value/test/index.js +144 -0
- package/slack-bot/node_modules/jsonwebtoken/LICENSE +21 -0
- package/slack-bot/node_modules/jsonwebtoken/README.md +396 -0
- package/slack-bot/node_modules/jsonwebtoken/decode.js +30 -0
- package/slack-bot/node_modules/jsonwebtoken/index.js +8 -0
- package/slack-bot/node_modules/jsonwebtoken/lib/JsonWebTokenError.js +14 -0
- package/slack-bot/node_modules/jsonwebtoken/lib/NotBeforeError.js +13 -0
- package/slack-bot/node_modules/jsonwebtoken/lib/TokenExpiredError.js +13 -0
- package/slack-bot/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js +3 -0
- package/slack-bot/node_modules/jsonwebtoken/lib/psSupported.js +3 -0
- package/slack-bot/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js +3 -0
- package/slack-bot/node_modules/jsonwebtoken/lib/timespan.js +18 -0
- package/slack-bot/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js +66 -0
- package/slack-bot/node_modules/jsonwebtoken/node_modules/ms/index.js +162 -0
- package/slack-bot/node_modules/jsonwebtoken/node_modules/ms/license.md +21 -0
- package/slack-bot/node_modules/jsonwebtoken/node_modules/ms/package.json +38 -0
- package/slack-bot/node_modules/jsonwebtoken/node_modules/ms/readme.md +59 -0
- package/slack-bot/node_modules/jsonwebtoken/package.json +70 -0
- package/slack-bot/node_modules/jsonwebtoken/sign.js +253 -0
- package/slack-bot/node_modules/jsonwebtoken/verify.js +263 -0
- package/slack-bot/node_modules/jwa/LICENSE +17 -0
- package/slack-bot/node_modules/jwa/README.md +150 -0
- package/slack-bot/node_modules/jwa/index.js +266 -0
- package/slack-bot/node_modules/jwa/opslevel.yml +6 -0
- package/slack-bot/node_modules/jwa/package.json +37 -0
- package/slack-bot/node_modules/jws/CHANGELOG.md +56 -0
- package/slack-bot/node_modules/jws/LICENSE +17 -0
- package/slack-bot/node_modules/jws/index.js +22 -0
- package/slack-bot/node_modules/jws/lib/data-stream.js +55 -0
- package/slack-bot/node_modules/jws/lib/sign-stream.js +83 -0
- package/slack-bot/node_modules/jws/lib/tostring.js +10 -0
- package/slack-bot/node_modules/jws/lib/verify-stream.js +125 -0
- package/slack-bot/node_modules/jws/opslevel.yml +6 -0
- package/slack-bot/node_modules/jws/package.json +34 -0
- package/slack-bot/node_modules/jws/readme.md +255 -0
- package/slack-bot/node_modules/lodash.includes/LICENSE +47 -0
- package/slack-bot/node_modules/lodash.includes/README.md +18 -0
- package/slack-bot/node_modules/lodash.includes/index.js +745 -0
- package/slack-bot/node_modules/lodash.includes/package.json +17 -0
- package/slack-bot/node_modules/lodash.isboolean/LICENSE +22 -0
- package/slack-bot/node_modules/lodash.isboolean/README.md +18 -0
- package/slack-bot/node_modules/lodash.isboolean/index.js +70 -0
- package/slack-bot/node_modules/lodash.isboolean/package.json +17 -0
- package/slack-bot/node_modules/lodash.isinteger/LICENSE +47 -0
- package/slack-bot/node_modules/lodash.isinteger/README.md +18 -0
- package/slack-bot/node_modules/lodash.isinteger/index.js +265 -0
- package/slack-bot/node_modules/lodash.isinteger/package.json +17 -0
- package/slack-bot/node_modules/lodash.isnumber/LICENSE +22 -0
- package/slack-bot/node_modules/lodash.isnumber/README.md +18 -0
- package/slack-bot/node_modules/lodash.isnumber/index.js +79 -0
- package/slack-bot/node_modules/lodash.isnumber/package.json +17 -0
- package/slack-bot/node_modules/lodash.isplainobject/LICENSE +47 -0
- package/slack-bot/node_modules/lodash.isplainobject/README.md +18 -0
- package/slack-bot/node_modules/lodash.isplainobject/index.js +139 -0
- package/slack-bot/node_modules/lodash.isplainobject/package.json +17 -0
- package/slack-bot/node_modules/lodash.isstring/LICENSE +22 -0
- package/slack-bot/node_modules/lodash.isstring/README.md +18 -0
- package/slack-bot/node_modules/lodash.isstring/index.js +95 -0
- package/slack-bot/node_modules/lodash.isstring/package.json +17 -0
- package/slack-bot/node_modules/lodash.once/LICENSE +47 -0
- package/slack-bot/node_modules/lodash.once/README.md +18 -0
- package/slack-bot/node_modules/lodash.once/index.js +294 -0
- package/slack-bot/node_modules/lodash.once/package.json +17 -0
- package/slack-bot/node_modules/math-intrinsics/.eslintrc +16 -0
- package/slack-bot/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/math-intrinsics/CHANGELOG.md +24 -0
- package/slack-bot/node_modules/math-intrinsics/LICENSE +21 -0
- package/slack-bot/node_modules/math-intrinsics/README.md +50 -0
- package/slack-bot/node_modules/math-intrinsics/abs.d.ts +1 -0
- package/slack-bot/node_modules/math-intrinsics/abs.js +4 -0
- package/slack-bot/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
- package/slack-bot/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
- package/slack-bot/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
- package/slack-bot/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
- package/slack-bot/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
- package/slack-bot/node_modules/math-intrinsics/constants/maxValue.js +5 -0
- package/slack-bot/node_modules/math-intrinsics/floor.d.ts +1 -0
- package/slack-bot/node_modules/math-intrinsics/floor.js +4 -0
- package/slack-bot/node_modules/math-intrinsics/isFinite.d.ts +3 -0
- package/slack-bot/node_modules/math-intrinsics/isFinite.js +12 -0
- package/slack-bot/node_modules/math-intrinsics/isInteger.d.ts +3 -0
- package/slack-bot/node_modules/math-intrinsics/isInteger.js +16 -0
- package/slack-bot/node_modules/math-intrinsics/isNaN.d.ts +1 -0
- package/slack-bot/node_modules/math-intrinsics/isNaN.js +6 -0
- package/slack-bot/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
- package/slack-bot/node_modules/math-intrinsics/isNegativeZero.js +6 -0
- package/slack-bot/node_modules/math-intrinsics/max.d.ts +1 -0
- package/slack-bot/node_modules/math-intrinsics/max.js +4 -0
- package/slack-bot/node_modules/math-intrinsics/min.d.ts +1 -0
- package/slack-bot/node_modules/math-intrinsics/min.js +4 -0
- package/slack-bot/node_modules/math-intrinsics/mod.d.ts +3 -0
- package/slack-bot/node_modules/math-intrinsics/mod.js +9 -0
- package/slack-bot/node_modules/math-intrinsics/package.json +86 -0
- package/slack-bot/node_modules/math-intrinsics/pow.d.ts +1 -0
- package/slack-bot/node_modules/math-intrinsics/pow.js +4 -0
- package/slack-bot/node_modules/math-intrinsics/round.d.ts +1 -0
- package/slack-bot/node_modules/math-intrinsics/round.js +4 -0
- package/slack-bot/node_modules/math-intrinsics/sign.d.ts +3 -0
- package/slack-bot/node_modules/math-intrinsics/sign.js +11 -0
- package/slack-bot/node_modules/math-intrinsics/test/index.js +192 -0
- package/slack-bot/node_modules/math-intrinsics/tsconfig.json +3 -0
- package/slack-bot/node_modules/media-typer/HISTORY.md +22 -0
- package/slack-bot/node_modules/media-typer/LICENSE +22 -0
- package/slack-bot/node_modules/media-typer/README.md +81 -0
- package/slack-bot/node_modules/media-typer/index.js +270 -0
- package/slack-bot/node_modules/media-typer/package.json +26 -0
- package/slack-bot/node_modules/merge-descriptors/HISTORY.md +21 -0
- package/slack-bot/node_modules/merge-descriptors/LICENSE +23 -0
- package/slack-bot/node_modules/merge-descriptors/README.md +49 -0
- package/slack-bot/node_modules/merge-descriptors/index.js +60 -0
- package/slack-bot/node_modules/merge-descriptors/package.json +39 -0
- package/slack-bot/node_modules/methods/HISTORY.md +29 -0
- package/slack-bot/node_modules/methods/LICENSE +24 -0
- package/slack-bot/node_modules/methods/README.md +51 -0
- package/slack-bot/node_modules/methods/index.js +69 -0
- package/slack-bot/node_modules/methods/package.json +36 -0
- package/slack-bot/node_modules/mime/CHANGELOG.md +164 -0
- package/slack-bot/node_modules/mime/LICENSE +21 -0
- package/slack-bot/node_modules/mime/README.md +90 -0
- package/slack-bot/node_modules/mime/cli.js +8 -0
- package/slack-bot/node_modules/mime/mime.js +108 -0
- package/slack-bot/node_modules/mime/package.json +44 -0
- package/slack-bot/node_modules/mime/src/build.js +53 -0
- package/slack-bot/node_modules/mime/src/test.js +60 -0
- package/slack-bot/node_modules/mime/types.json +1 -0
- package/slack-bot/node_modules/mime-db/HISTORY.md +507 -0
- package/slack-bot/node_modules/mime-db/LICENSE +23 -0
- package/slack-bot/node_modules/mime-db/README.md +100 -0
- package/slack-bot/node_modules/mime-db/db.json +8519 -0
- package/slack-bot/node_modules/mime-db/index.js +12 -0
- package/slack-bot/node_modules/mime-db/package.json +60 -0
- package/slack-bot/node_modules/mime-types/HISTORY.md +397 -0
- package/slack-bot/node_modules/mime-types/LICENSE +23 -0
- package/slack-bot/node_modules/mime-types/README.md +113 -0
- package/slack-bot/node_modules/mime-types/index.js +188 -0
- package/slack-bot/node_modules/mime-types/package.json +44 -0
- package/slack-bot/node_modules/ms/index.js +152 -0
- package/slack-bot/node_modules/ms/license.md +21 -0
- package/slack-bot/node_modules/ms/package.json +37 -0
- package/slack-bot/node_modules/ms/readme.md +51 -0
- package/slack-bot/node_modules/negotiator/HISTORY.md +108 -0
- package/slack-bot/node_modules/negotiator/LICENSE +24 -0
- package/slack-bot/node_modules/negotiator/README.md +203 -0
- package/slack-bot/node_modules/negotiator/index.js +82 -0
- package/slack-bot/node_modules/negotiator/lib/charset.js +169 -0
- package/slack-bot/node_modules/negotiator/lib/encoding.js +184 -0
- package/slack-bot/node_modules/negotiator/lib/language.js +179 -0
- package/slack-bot/node_modules/negotiator/lib/mediaType.js +294 -0
- package/slack-bot/node_modules/negotiator/package.json +42 -0
- package/slack-bot/node_modules/object-inspect/.eslintrc +53 -0
- package/slack-bot/node_modules/object-inspect/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/object-inspect/.nycrc +13 -0
- package/slack-bot/node_modules/object-inspect/CHANGELOG.md +424 -0
- package/slack-bot/node_modules/object-inspect/LICENSE +21 -0
- package/slack-bot/node_modules/object-inspect/example/all.js +23 -0
- package/slack-bot/node_modules/object-inspect/example/circular.js +6 -0
- package/slack-bot/node_modules/object-inspect/example/fn.js +5 -0
- package/slack-bot/node_modules/object-inspect/example/inspect.js +10 -0
- package/slack-bot/node_modules/object-inspect/index.js +544 -0
- package/slack-bot/node_modules/object-inspect/package-support.json +20 -0
- package/slack-bot/node_modules/object-inspect/package.json +105 -0
- package/slack-bot/node_modules/object-inspect/readme.markdown +84 -0
- package/slack-bot/node_modules/object-inspect/test/bigint.js +58 -0
- package/slack-bot/node_modules/object-inspect/test/browser/dom.js +15 -0
- package/slack-bot/node_modules/object-inspect/test/circular.js +16 -0
- package/slack-bot/node_modules/object-inspect/test/deep.js +12 -0
- package/slack-bot/node_modules/object-inspect/test/element.js +53 -0
- package/slack-bot/node_modules/object-inspect/test/err.js +48 -0
- package/slack-bot/node_modules/object-inspect/test/fakes.js +29 -0
- package/slack-bot/node_modules/object-inspect/test/fn.js +76 -0
- package/slack-bot/node_modules/object-inspect/test/global.js +17 -0
- package/slack-bot/node_modules/object-inspect/test/has.js +15 -0
- package/slack-bot/node_modules/object-inspect/test/holes.js +15 -0
- package/slack-bot/node_modules/object-inspect/test/indent-option.js +271 -0
- package/slack-bot/node_modules/object-inspect/test/inspect.js +139 -0
- package/slack-bot/node_modules/object-inspect/test/lowbyte.js +12 -0
- package/slack-bot/node_modules/object-inspect/test/number.js +58 -0
- package/slack-bot/node_modules/object-inspect/test/quoteStyle.js +26 -0
- package/slack-bot/node_modules/object-inspect/test/toStringTag.js +40 -0
- package/slack-bot/node_modules/object-inspect/test/undef.js +12 -0
- package/slack-bot/node_modules/object-inspect/test/values.js +261 -0
- package/slack-bot/node_modules/object-inspect/test-core-js.js +26 -0
- package/slack-bot/node_modules/object-inspect/util.inspect.js +1 -0
- package/slack-bot/node_modules/object-keys/.editorconfig +13 -0
- package/slack-bot/node_modules/object-keys/.eslintrc +17 -0
- package/slack-bot/node_modules/object-keys/.travis.yml +277 -0
- package/slack-bot/node_modules/object-keys/CHANGELOG.md +232 -0
- package/slack-bot/node_modules/object-keys/LICENSE +21 -0
- package/slack-bot/node_modules/object-keys/README.md +76 -0
- package/slack-bot/node_modules/object-keys/implementation.js +122 -0
- package/slack-bot/node_modules/object-keys/index.js +32 -0
- package/slack-bot/node_modules/object-keys/isArguments.js +17 -0
- package/slack-bot/node_modules/object-keys/package.json +88 -0
- package/slack-bot/node_modules/object-keys/test/index.js +5 -0
- package/slack-bot/node_modules/object.assign/.editorconfig +20 -0
- package/slack-bot/node_modules/object.assign/.eslintrc +28 -0
- package/slack-bot/node_modules/object.assign/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/object.assign/.nycrc +9 -0
- package/slack-bot/node_modules/object.assign/CHANGELOG.md +246 -0
- package/slack-bot/node_modules/object.assign/LICENSE +21 -0
- package/slack-bot/node_modules/object.assign/README.md +136 -0
- package/slack-bot/node_modules/object.assign/auto.js +3 -0
- package/slack-bot/node_modules/object.assign/dist/browser.js +1304 -0
- package/slack-bot/node_modules/object.assign/hasSymbols.js +43 -0
- package/slack-bot/node_modules/object.assign/implementation.js +46 -0
- package/slack-bot/node_modules/object.assign/index.js +22 -0
- package/slack-bot/node_modules/object.assign/package.json +96 -0
- package/slack-bot/node_modules/object.assign/polyfill.js +55 -0
- package/slack-bot/node_modules/object.assign/shim.js +14 -0
- package/slack-bot/node_modules/object.assign/test/implementation.js +19 -0
- package/slack-bot/node_modules/object.assign/test/index.js +17 -0
- package/slack-bot/node_modules/object.assign/test/native.js +49 -0
- package/slack-bot/node_modules/object.assign/test/ses-compat.js +12 -0
- package/slack-bot/node_modules/object.assign/test/shimmed.js +52 -0
- package/slack-bot/node_modules/object.assign/test/tests.js +232 -0
- package/slack-bot/node_modules/on-finished/HISTORY.md +98 -0
- package/slack-bot/node_modules/on-finished/LICENSE +23 -0
- package/slack-bot/node_modules/on-finished/README.md +162 -0
- package/slack-bot/node_modules/on-finished/index.js +234 -0
- package/slack-bot/node_modules/on-finished/package.json +39 -0
- package/slack-bot/node_modules/own-keys/.eslintrc +16 -0
- package/slack-bot/node_modules/own-keys/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/own-keys/.nycrc +9 -0
- package/slack-bot/node_modules/own-keys/CHANGELOG.md +23 -0
- package/slack-bot/node_modules/own-keys/LICENSE +21 -0
- package/slack-bot/node_modules/own-keys/README.md +45 -0
- package/slack-bot/node_modules/own-keys/index.d.ts +3 -0
- package/slack-bot/node_modules/own-keys/index.js +21 -0
- package/slack-bot/node_modules/own-keys/package.json +91 -0
- package/slack-bot/node_modules/own-keys/test/index.js +72 -0
- package/slack-bot/node_modules/own-keys/tsconfig.json +9 -0
- package/slack-bot/node_modules/p-finally/index.js +15 -0
- package/slack-bot/node_modules/p-finally/license +21 -0
- package/slack-bot/node_modules/p-finally/package.json +42 -0
- package/slack-bot/node_modules/p-finally/readme.md +47 -0
- package/slack-bot/node_modules/p-queue/dist/index.d.ts +101 -0
- package/slack-bot/node_modules/p-queue/dist/index.js +279 -0
- package/slack-bot/node_modules/p-queue/dist/lower-bound.d.ts +1 -0
- package/slack-bot/node_modules/p-queue/dist/lower-bound.js +21 -0
- package/slack-bot/node_modules/p-queue/dist/options.d.ts +64 -0
- package/slack-bot/node_modules/p-queue/dist/options.js +2 -0
- package/slack-bot/node_modules/p-queue/dist/priority-queue.d.ts +12 -0
- package/slack-bot/node_modules/p-queue/dist/priority-queue.js +32 -0
- package/slack-bot/node_modules/p-queue/dist/queue.d.ts +7 -0
- package/slack-bot/node_modules/p-queue/dist/queue.js +2 -0
- package/slack-bot/node_modules/p-queue/license +9 -0
- package/slack-bot/node_modules/p-queue/node_modules/eventemitter3/LICENSE +21 -0
- package/slack-bot/node_modules/p-queue/node_modules/eventemitter3/README.md +94 -0
- package/slack-bot/node_modules/p-queue/node_modules/eventemitter3/index.d.ts +134 -0
- package/slack-bot/node_modules/p-queue/node_modules/eventemitter3/index.js +336 -0
- package/slack-bot/node_modules/p-queue/node_modules/eventemitter3/package.json +56 -0
- package/slack-bot/node_modules/p-queue/node_modules/eventemitter3/umd/eventemitter3.js +340 -0
- package/slack-bot/node_modules/p-queue/node_modules/eventemitter3/umd/eventemitter3.min.js +1 -0
- package/slack-bot/node_modules/p-queue/node_modules/eventemitter3/umd/eventemitter3.min.js.map +1 -0
- package/slack-bot/node_modules/p-queue/package.json +92 -0
- package/slack-bot/node_modules/p-queue/readme.md +400 -0
- package/slack-bot/node_modules/p-retry/index.d.ts +106 -0
- package/slack-bot/node_modules/p-retry/index.js +85 -0
- package/slack-bot/node_modules/p-retry/license +9 -0
- package/slack-bot/node_modules/p-retry/package.json +51 -0
- package/slack-bot/node_modules/p-retry/readme.md +148 -0
- package/slack-bot/node_modules/p-timeout/index.d.ts +72 -0
- package/slack-bot/node_modules/p-timeout/index.js +57 -0
- package/slack-bot/node_modules/p-timeout/license +9 -0
- package/slack-bot/node_modules/p-timeout/package.json +45 -0
- package/slack-bot/node_modules/p-timeout/readme.md +87 -0
- package/slack-bot/node_modules/parseurl/HISTORY.md +58 -0
- package/slack-bot/node_modules/parseurl/LICENSE +24 -0
- package/slack-bot/node_modules/parseurl/README.md +133 -0
- package/slack-bot/node_modules/parseurl/index.js +158 -0
- package/slack-bot/node_modules/parseurl/package.json +40 -0
- package/slack-bot/node_modules/path-to-regexp/LICENSE +21 -0
- package/slack-bot/node_modules/path-to-regexp/Readme.md +224 -0
- package/slack-bot/node_modules/path-to-regexp/dist/index.d.ts +144 -0
- package/slack-bot/node_modules/path-to-regexp/dist/index.js +409 -0
- package/slack-bot/node_modules/path-to-regexp/dist/index.js.map +1 -0
- package/slack-bot/node_modules/path-to-regexp/package.json +64 -0
- package/slack-bot/node_modules/possible-typed-array-names/.eslintrc +5 -0
- package/slack-bot/node_modules/possible-typed-array-names/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/possible-typed-array-names/CHANGELOG.md +29 -0
- package/slack-bot/node_modules/possible-typed-array-names/LICENSE +21 -0
- package/slack-bot/node_modules/possible-typed-array-names/README.md +50 -0
- package/slack-bot/node_modules/possible-typed-array-names/index.d.ts +16 -0
- package/slack-bot/node_modules/possible-typed-array-names/index.js +17 -0
- package/slack-bot/node_modules/possible-typed-array-names/package.json +84 -0
- package/slack-bot/node_modules/possible-typed-array-names/test/index.js +19 -0
- package/slack-bot/node_modules/possible-typed-array-names/tsconfig.json +9 -0
- package/slack-bot/node_modules/promise.allsettled/.editorconfig +20 -0
- package/slack-bot/node_modules/promise.allsettled/.eslintrc +17 -0
- package/slack-bot/node_modules/promise.allsettled/.nycrc +9 -0
- package/slack-bot/node_modules/promise.allsettled/CHANGELOG.md +108 -0
- package/slack-bot/node_modules/promise.allsettled/LICENSE +21 -0
- package/slack-bot/node_modules/promise.allsettled/README.md +60 -0
- package/slack-bot/node_modules/promise.allsettled/auto.js +3 -0
- package/slack-bot/node_modules/promise.allsettled/implementation.js +37 -0
- package/slack-bot/node_modules/promise.allsettled/index.js +25 -0
- package/slack-bot/node_modules/promise.allsettled/package.json +92 -0
- package/slack-bot/node_modules/promise.allsettled/polyfill.js +10 -0
- package/slack-bot/node_modules/promise.allsettled/requirePromise.js +7 -0
- package/slack-bot/node_modules/promise.allsettled/shim.js +18 -0
- package/slack-bot/node_modules/promise.allsettled/test/.eslintrc +12 -0
- package/slack-bot/node_modules/promise.allsettled/test/builtin.js +30 -0
- package/slack-bot/node_modules/promise.allsettled/test/implementation.js +30 -0
- package/slack-bot/node_modules/promise.allsettled/test/index.js +21 -0
- package/slack-bot/node_modules/promise.allsettled/test/native.js +11 -0
- package/slack-bot/node_modules/promise.allsettled/test/promise-shimmed.js +7 -0
- package/slack-bot/node_modules/promise.allsettled/test/shimmed.js +13 -0
- package/slack-bot/node_modules/promise.allsettled/test/tests.js +134 -0
- package/slack-bot/node_modules/proxy-addr/HISTORY.md +161 -0
- package/slack-bot/node_modules/proxy-addr/LICENSE +22 -0
- package/slack-bot/node_modules/proxy-addr/README.md +139 -0
- package/slack-bot/node_modules/proxy-addr/index.js +327 -0
- package/slack-bot/node_modules/proxy-addr/package.json +47 -0
- package/slack-bot/node_modules/proxy-from-env/.eslintrc +29 -0
- package/slack-bot/node_modules/proxy-from-env/.travis.yml +10 -0
- package/slack-bot/node_modules/proxy-from-env/LICENSE +20 -0
- package/slack-bot/node_modules/proxy-from-env/README.md +131 -0
- package/slack-bot/node_modules/proxy-from-env/index.js +108 -0
- package/slack-bot/node_modules/proxy-from-env/package.json +34 -0
- package/slack-bot/node_modules/proxy-from-env/test.js +483 -0
- package/slack-bot/node_modules/qs/.editorconfig +46 -0
- package/slack-bot/node_modules/qs/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/qs/.github/SECURITY.md +11 -0
- package/slack-bot/node_modules/qs/.github/THREAT_MODEL.md +78 -0
- package/slack-bot/node_modules/qs/.nycrc +13 -0
- package/slack-bot/node_modules/qs/CHANGELOG.md +644 -0
- package/slack-bot/node_modules/qs/LICENSE.md +29 -0
- package/slack-bot/node_modules/qs/README.md +740 -0
- package/slack-bot/node_modules/qs/dist/qs.js +141 -0
- package/slack-bot/node_modules/qs/eslint.config.mjs +56 -0
- package/slack-bot/node_modules/qs/lib/formats.js +23 -0
- package/slack-bot/node_modules/qs/lib/index.js +11 -0
- package/slack-bot/node_modules/qs/lib/parse.js +371 -0
- package/slack-bot/node_modules/qs/lib/stringify.js +356 -0
- package/slack-bot/node_modules/qs/lib/utils.js +340 -0
- package/slack-bot/node_modules/qs/package.json +94 -0
- package/slack-bot/node_modules/qs/test/empty-keys-cases.js +267 -0
- package/slack-bot/node_modules/qs/test/parse.js +1512 -0
- package/slack-bot/node_modules/qs/test/stringify.js +1310 -0
- package/slack-bot/node_modules/qs/test/utils.js +397 -0
- package/slack-bot/node_modules/range-parser/HISTORY.md +56 -0
- package/slack-bot/node_modules/range-parser/LICENSE +23 -0
- package/slack-bot/node_modules/range-parser/README.md +84 -0
- package/slack-bot/node_modules/range-parser/index.js +162 -0
- package/slack-bot/node_modules/range-parser/package.json +44 -0
- package/slack-bot/node_modules/raw-body/LICENSE +22 -0
- package/slack-bot/node_modules/raw-body/README.md +223 -0
- package/slack-bot/node_modules/raw-body/index.d.ts +87 -0
- package/slack-bot/node_modules/raw-body/index.js +336 -0
- package/slack-bot/node_modules/raw-body/package.json +47 -0
- package/slack-bot/node_modules/reflect.getprototypeof/.eslintrc +17 -0
- package/slack-bot/node_modules/reflect.getprototypeof/.nycrc +9 -0
- package/slack-bot/node_modules/reflect.getprototypeof/CHANGELOG.md +115 -0
- package/slack-bot/node_modules/reflect.getprototypeof/LICENSE +21 -0
- package/slack-bot/node_modules/reflect.getprototypeof/README.md +77 -0
- package/slack-bot/node_modules/reflect.getprototypeof/auto.js +3 -0
- package/slack-bot/node_modules/reflect.getprototypeof/implementation.js +40 -0
- package/slack-bot/node_modules/reflect.getprototypeof/index.js +18 -0
- package/slack-bot/node_modules/reflect.getprototypeof/package.json +98 -0
- package/slack-bot/node_modules/reflect.getprototypeof/polyfill.js +14 -0
- package/slack-bot/node_modules/reflect.getprototypeof/shim.js +21 -0
- package/slack-bot/node_modules/reflect.getprototypeof/test/implementation.js +11 -0
- package/slack-bot/node_modules/reflect.getprototypeof/test/index.js +11 -0
- package/slack-bot/node_modules/reflect.getprototypeof/test/shimmed.js +28 -0
- package/slack-bot/node_modules/reflect.getprototypeof/test/tests.js +33 -0
- package/slack-bot/node_modules/regexp.prototype.flags/.editorconfig +13 -0
- package/slack-bot/node_modules/regexp.prototype.flags/.eslintrc +20 -0
- package/slack-bot/node_modules/regexp.prototype.flags/.nycrc +9 -0
- package/slack-bot/node_modules/regexp.prototype.flags/CHANGELOG.md +249 -0
- package/slack-bot/node_modules/regexp.prototype.flags/LICENSE +22 -0
- package/slack-bot/node_modules/regexp.prototype.flags/README.md +55 -0
- package/slack-bot/node_modules/regexp.prototype.flags/auto.js +3 -0
- package/slack-bot/node_modules/regexp.prototype.flags/implementation.js +39 -0
- package/slack-bot/node_modules/regexp.prototype.flags/index.js +18 -0
- package/slack-bot/node_modules/regexp.prototype.flags/package.json +105 -0
- package/slack-bot/node_modules/regexp.prototype.flags/polyfill.js +39 -0
- package/slack-bot/node_modules/regexp.prototype.flags/shim.js +26 -0
- package/slack-bot/node_modules/regexp.prototype.flags/test/builtin.js +46 -0
- package/slack-bot/node_modules/regexp.prototype.flags/test/implementation.js +20 -0
- package/slack-bot/node_modules/regexp.prototype.flags/test/index.js +17 -0
- package/slack-bot/node_modules/regexp.prototype.flags/test/shimmed.js +48 -0
- package/slack-bot/node_modules/regexp.prototype.flags/test/tests.js +143 -0
- package/slack-bot/node_modules/retry/License +21 -0
- package/slack-bot/node_modules/retry/README.md +227 -0
- package/slack-bot/node_modules/retry/example/dns.js +31 -0
- package/slack-bot/node_modules/retry/example/stop.js +40 -0
- package/slack-bot/node_modules/retry/index.js +1 -0
- package/slack-bot/node_modules/retry/lib/retry.js +100 -0
- package/slack-bot/node_modules/retry/lib/retry_operation.js +162 -0
- package/slack-bot/node_modules/retry/package.json +36 -0
- package/slack-bot/node_modules/safe-array-concat/.eslintrc +15 -0
- package/slack-bot/node_modules/safe-array-concat/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/safe-array-concat/.nycrc +13 -0
- package/slack-bot/node_modules/safe-array-concat/CHANGELOG.md +69 -0
- package/slack-bot/node_modules/safe-array-concat/LICENSE +21 -0
- package/slack-bot/node_modules/safe-array-concat/README.md +53 -0
- package/slack-bot/node_modules/safe-array-concat/index.d.ts +3 -0
- package/slack-bot/node_modules/safe-array-concat/index.js +43 -0
- package/slack-bot/node_modules/safe-array-concat/package.json +90 -0
- package/slack-bot/node_modules/safe-array-concat/test/index.js +100 -0
- package/slack-bot/node_modules/safe-array-concat/tsconfig.json +9 -0
- package/slack-bot/node_modules/safe-buffer/LICENSE +21 -0
- package/slack-bot/node_modules/safe-buffer/README.md +584 -0
- package/slack-bot/node_modules/safe-buffer/index.d.ts +187 -0
- package/slack-bot/node_modules/safe-buffer/index.js +65 -0
- package/slack-bot/node_modules/safe-buffer/package.json +51 -0
- package/slack-bot/node_modules/safe-push-apply/.eslintrc +15 -0
- package/slack-bot/node_modules/safe-push-apply/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/safe-push-apply/.nycrc +13 -0
- package/slack-bot/node_modules/safe-push-apply/CHANGELOG.md +15 -0
- package/slack-bot/node_modules/safe-push-apply/LICENSE +21 -0
- package/slack-bot/node_modules/safe-push-apply/README.md +59 -0
- package/slack-bot/node_modules/safe-push-apply/index.d.ts +6 -0
- package/slack-bot/node_modules/safe-push-apply/index.js +15 -0
- package/slack-bot/node_modules/safe-push-apply/package.json +82 -0
- package/slack-bot/node_modules/safe-push-apply/test/index.js +30 -0
- package/slack-bot/node_modules/safe-push-apply/tsconfig.json +9 -0
- package/slack-bot/node_modules/safe-regex-test/.eslintrc +9 -0
- package/slack-bot/node_modules/safe-regex-test/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/safe-regex-test/.nycrc +13 -0
- package/slack-bot/node_modules/safe-regex-test/CHANGELOG.md +55 -0
- package/slack-bot/node_modules/safe-regex-test/LICENSE +21 -0
- package/slack-bot/node_modules/safe-regex-test/README.md +46 -0
- package/slack-bot/node_modules/safe-regex-test/index.d.ts +3 -0
- package/slack-bot/node_modules/safe-regex-test/index.js +17 -0
- package/slack-bot/node_modules/safe-regex-test/package.json +87 -0
- package/slack-bot/node_modules/safe-regex-test/test/index.js +41 -0
- package/slack-bot/node_modules/safe-regex-test/tsconfig.json +9 -0
- package/slack-bot/node_modules/safer-buffer/LICENSE +21 -0
- package/slack-bot/node_modules/safer-buffer/Porting-Buffer.md +268 -0
- package/slack-bot/node_modules/safer-buffer/Readme.md +156 -0
- package/slack-bot/node_modules/safer-buffer/dangerous.js +58 -0
- package/slack-bot/node_modules/safer-buffer/package.json +34 -0
- package/slack-bot/node_modules/safer-buffer/safer.js +77 -0
- package/slack-bot/node_modules/safer-buffer/tests.js +406 -0
- package/slack-bot/node_modules/semver/LICENSE +15 -0
- package/slack-bot/node_modules/semver/README.md +665 -0
- package/slack-bot/node_modules/semver/bin/semver.js +191 -0
- package/slack-bot/node_modules/semver/classes/comparator.js +143 -0
- package/slack-bot/node_modules/semver/classes/index.js +7 -0
- package/slack-bot/node_modules/semver/classes/range.js +557 -0
- package/slack-bot/node_modules/semver/classes/semver.js +333 -0
- package/slack-bot/node_modules/semver/functions/clean.js +8 -0
- package/slack-bot/node_modules/semver/functions/cmp.js +54 -0
- package/slack-bot/node_modules/semver/functions/coerce.js +62 -0
- package/slack-bot/node_modules/semver/functions/compare-build.js +9 -0
- package/slack-bot/node_modules/semver/functions/compare-loose.js +5 -0
- package/slack-bot/node_modules/semver/functions/compare.js +7 -0
- package/slack-bot/node_modules/semver/functions/diff.js +60 -0
- package/slack-bot/node_modules/semver/functions/eq.js +5 -0
- package/slack-bot/node_modules/semver/functions/gt.js +5 -0
- package/slack-bot/node_modules/semver/functions/gte.js +5 -0
- package/slack-bot/node_modules/semver/functions/inc.js +21 -0
- package/slack-bot/node_modules/semver/functions/lt.js +5 -0
- package/slack-bot/node_modules/semver/functions/lte.js +5 -0
- package/slack-bot/node_modules/semver/functions/major.js +5 -0
- package/slack-bot/node_modules/semver/functions/minor.js +5 -0
- package/slack-bot/node_modules/semver/functions/neq.js +5 -0
- package/slack-bot/node_modules/semver/functions/parse.js +18 -0
- package/slack-bot/node_modules/semver/functions/patch.js +5 -0
- package/slack-bot/node_modules/semver/functions/prerelease.js +8 -0
- package/slack-bot/node_modules/semver/functions/rcompare.js +5 -0
- package/slack-bot/node_modules/semver/functions/rsort.js +5 -0
- package/slack-bot/node_modules/semver/functions/satisfies.js +12 -0
- package/slack-bot/node_modules/semver/functions/sort.js +5 -0
- package/slack-bot/node_modules/semver/functions/valid.js +8 -0
- package/slack-bot/node_modules/semver/index.js +91 -0
- package/slack-bot/node_modules/semver/internal/constants.js +37 -0
- package/slack-bot/node_modules/semver/internal/debug.js +11 -0
- package/slack-bot/node_modules/semver/internal/identifiers.js +29 -0
- package/slack-bot/node_modules/semver/internal/lrucache.js +42 -0
- package/slack-bot/node_modules/semver/internal/parse-options.js +17 -0
- package/slack-bot/node_modules/semver/internal/re.js +223 -0
- package/slack-bot/node_modules/semver/package.json +78 -0
- package/slack-bot/node_modules/semver/preload.js +4 -0
- package/slack-bot/node_modules/semver/range.bnf +16 -0
- package/slack-bot/node_modules/semver/ranges/gtr.js +6 -0
- package/slack-bot/node_modules/semver/ranges/intersects.js +9 -0
- package/slack-bot/node_modules/semver/ranges/ltr.js +6 -0
- package/slack-bot/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/slack-bot/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/slack-bot/node_modules/semver/ranges/min-version.js +63 -0
- package/slack-bot/node_modules/semver/ranges/outside.js +82 -0
- package/slack-bot/node_modules/semver/ranges/simplify.js +49 -0
- package/slack-bot/node_modules/semver/ranges/subset.js +249 -0
- package/slack-bot/node_modules/semver/ranges/to-comparators.js +10 -0
- package/slack-bot/node_modules/semver/ranges/valid.js +13 -0
- package/slack-bot/node_modules/send/HISTORY.md +538 -0
- package/slack-bot/node_modules/send/LICENSE +23 -0
- package/slack-bot/node_modules/send/README.md +327 -0
- package/slack-bot/node_modules/send/SECURITY.md +24 -0
- package/slack-bot/node_modules/send/index.js +1142 -0
- package/slack-bot/node_modules/send/node_modules/ms/index.js +162 -0
- package/slack-bot/node_modules/send/node_modules/ms/license.md +21 -0
- package/slack-bot/node_modules/send/node_modules/ms/package.json +38 -0
- package/slack-bot/node_modules/send/node_modules/ms/readme.md +59 -0
- package/slack-bot/node_modules/send/package.json +62 -0
- package/slack-bot/node_modules/serve-static/HISTORY.md +493 -0
- package/slack-bot/node_modules/serve-static/LICENSE +25 -0
- package/slack-bot/node_modules/serve-static/README.md +257 -0
- package/slack-bot/node_modules/serve-static/index.js +209 -0
- package/slack-bot/node_modules/serve-static/package.json +42 -0
- package/slack-bot/node_modules/set-function-length/.eslintrc +27 -0
- package/slack-bot/node_modules/set-function-length/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/set-function-length/.nycrc +13 -0
- package/slack-bot/node_modules/set-function-length/CHANGELOG.md +70 -0
- package/slack-bot/node_modules/set-function-length/LICENSE +21 -0
- package/slack-bot/node_modules/set-function-length/README.md +56 -0
- package/slack-bot/node_modules/set-function-length/env.d.ts +9 -0
- package/slack-bot/node_modules/set-function-length/env.js +25 -0
- package/slack-bot/node_modules/set-function-length/index.d.ts +7 -0
- package/slack-bot/node_modules/set-function-length/index.js +42 -0
- package/slack-bot/node_modules/set-function-length/package.json +102 -0
- package/slack-bot/node_modules/set-function-length/tsconfig.json +9 -0
- package/slack-bot/node_modules/set-function-name/.eslintrc +21 -0
- package/slack-bot/node_modules/set-function-name/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/set-function-name/CHANGELOG.md +48 -0
- package/slack-bot/node_modules/set-function-name/LICENSE +21 -0
- package/slack-bot/node_modules/set-function-name/README.md +61 -0
- package/slack-bot/node_modules/set-function-name/index.d.ts +5 -0
- package/slack-bot/node_modules/set-function-name/index.js +23 -0
- package/slack-bot/node_modules/set-function-name/package.json +99 -0
- package/slack-bot/node_modules/set-function-name/tsconfig.json +59 -0
- package/slack-bot/node_modules/set-proto/.eslintrc +10 -0
- package/slack-bot/node_modules/set-proto/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/set-proto/.nycrc +9 -0
- package/slack-bot/node_modules/set-proto/CHANGELOG.md +15 -0
- package/slack-bot/node_modules/set-proto/LICENSE +21 -0
- package/slack-bot/node_modules/set-proto/Object.setPrototypeOf.d.ts +8 -0
- package/slack-bot/node_modules/set-proto/Object.setPrototypeOf.js +6 -0
- package/slack-bot/node_modules/set-proto/README.md +52 -0
- package/slack-bot/node_modules/set-proto/Reflect.setPrototypeOf.d.ts +3 -0
- package/slack-bot/node_modules/set-proto/Reflect.setPrototypeOf.js +4 -0
- package/slack-bot/node_modules/set-proto/index.d.ts +8 -0
- package/slack-bot/node_modules/set-proto/index.js +25 -0
- package/slack-bot/node_modules/set-proto/package.json +82 -0
- package/slack-bot/node_modules/set-proto/test/index.js +40 -0
- package/slack-bot/node_modules/set-proto/tsconfig.json +9 -0
- package/slack-bot/node_modules/setprototypeof/LICENSE +13 -0
- package/slack-bot/node_modules/setprototypeof/README.md +31 -0
- package/slack-bot/node_modules/setprototypeof/index.d.ts +2 -0
- package/slack-bot/node_modules/setprototypeof/index.js +17 -0
- package/slack-bot/node_modules/setprototypeof/package.json +38 -0
- package/slack-bot/node_modules/setprototypeof/test/index.js +24 -0
- package/slack-bot/node_modules/side-channel/.editorconfig +9 -0
- package/slack-bot/node_modules/side-channel/.eslintrc +12 -0
- package/slack-bot/node_modules/side-channel/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/side-channel/.nycrc +13 -0
- package/slack-bot/node_modules/side-channel/CHANGELOG.md +110 -0
- package/slack-bot/node_modules/side-channel/LICENSE +21 -0
- package/slack-bot/node_modules/side-channel/README.md +61 -0
- package/slack-bot/node_modules/side-channel/index.d.ts +14 -0
- package/slack-bot/node_modules/side-channel/index.js +43 -0
- package/slack-bot/node_modules/side-channel/package.json +85 -0
- package/slack-bot/node_modules/side-channel/test/index.js +104 -0
- package/slack-bot/node_modules/side-channel/tsconfig.json +9 -0
- package/slack-bot/node_modules/side-channel-list/.editorconfig +9 -0
- package/slack-bot/node_modules/side-channel-list/.eslintrc +11 -0
- package/slack-bot/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/side-channel-list/.nycrc +13 -0
- package/slack-bot/node_modules/side-channel-list/CHANGELOG.md +15 -0
- package/slack-bot/node_modules/side-channel-list/LICENSE +21 -0
- package/slack-bot/node_modules/side-channel-list/README.md +62 -0
- package/slack-bot/node_modules/side-channel-list/index.d.ts +13 -0
- package/slack-bot/node_modules/side-channel-list/index.js +113 -0
- package/slack-bot/node_modules/side-channel-list/list.d.ts +14 -0
- package/slack-bot/node_modules/side-channel-list/package.json +77 -0
- package/slack-bot/node_modules/side-channel-list/test/index.js +104 -0
- package/slack-bot/node_modules/side-channel-list/tsconfig.json +9 -0
- package/slack-bot/node_modules/side-channel-map/.editorconfig +9 -0
- package/slack-bot/node_modules/side-channel-map/.eslintrc +11 -0
- package/slack-bot/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/side-channel-map/.nycrc +13 -0
- package/slack-bot/node_modules/side-channel-map/CHANGELOG.md +22 -0
- package/slack-bot/node_modules/side-channel-map/LICENSE +21 -0
- package/slack-bot/node_modules/side-channel-map/README.md +62 -0
- package/slack-bot/node_modules/side-channel-map/index.d.ts +15 -0
- package/slack-bot/node_modules/side-channel-map/index.js +68 -0
- package/slack-bot/node_modules/side-channel-map/package.json +80 -0
- package/slack-bot/node_modules/side-channel-map/test/index.js +114 -0
- package/slack-bot/node_modules/side-channel-map/tsconfig.json +9 -0
- package/slack-bot/node_modules/side-channel-weakmap/.editorconfig +9 -0
- package/slack-bot/node_modules/side-channel-weakmap/.eslintrc +12 -0
- package/slack-bot/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/side-channel-weakmap/.nycrc +13 -0
- package/slack-bot/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
- package/slack-bot/node_modules/side-channel-weakmap/LICENSE +21 -0
- package/slack-bot/node_modules/side-channel-weakmap/README.md +62 -0
- package/slack-bot/node_modules/side-channel-weakmap/index.d.ts +15 -0
- package/slack-bot/node_modules/side-channel-weakmap/index.js +84 -0
- package/slack-bot/node_modules/side-channel-weakmap/package.json +87 -0
- package/slack-bot/node_modules/side-channel-weakmap/test/index.js +114 -0
- package/slack-bot/node_modules/side-channel-weakmap/tsconfig.json +9 -0
- package/slack-bot/node_modules/statuses/HISTORY.md +87 -0
- package/slack-bot/node_modules/statuses/LICENSE +23 -0
- package/slack-bot/node_modules/statuses/README.md +139 -0
- package/slack-bot/node_modules/statuses/codes.json +65 -0
- package/slack-bot/node_modules/statuses/index.js +146 -0
- package/slack-bot/node_modules/statuses/package.json +49 -0
- package/slack-bot/node_modules/stop-iteration-iterator/.eslintrc +14 -0
- package/slack-bot/node_modules/stop-iteration-iterator/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/stop-iteration-iterator/.nycrc +13 -0
- package/slack-bot/node_modules/stop-iteration-iterator/CHANGELOG.md +31 -0
- package/slack-bot/node_modules/stop-iteration-iterator/LICENSE +21 -0
- package/slack-bot/node_modules/stop-iteration-iterator/README.md +42 -0
- package/slack-bot/node_modules/stop-iteration-iterator/index.d.ts +7 -0
- package/slack-bot/node_modules/stop-iteration-iterator/index.js +46 -0
- package/slack-bot/node_modules/stop-iteration-iterator/package.json +77 -0
- package/slack-bot/node_modules/stop-iteration-iterator/test/index.js +51 -0
- package/slack-bot/node_modules/stop-iteration-iterator/tsconfig.json +6 -0
- package/slack-bot/node_modules/string.prototype.trim/.editorconfig +20 -0
- package/slack-bot/node_modules/string.prototype.trim/.eslintrc +25 -0
- package/slack-bot/node_modules/string.prototype.trim/.nycrc +9 -0
- package/slack-bot/node_modules/string.prototype.trim/CHANGELOG.md +202 -0
- package/slack-bot/node_modules/string.prototype.trim/LICENSE +21 -0
- package/slack-bot/node_modules/string.prototype.trim/README.md +48 -0
- package/slack-bot/node_modules/string.prototype.trim/auto.js +3 -0
- package/slack-bot/node_modules/string.prototype.trim/implementation.js +21 -0
- package/slack-bot/node_modules/string.prototype.trim/index.js +23 -0
- package/slack-bot/node_modules/string.prototype.trim/package.json +106 -0
- package/slack-bot/node_modules/string.prototype.trim/polyfill.js +19 -0
- package/slack-bot/node_modules/string.prototype.trim/shim.js +20 -0
- package/slack-bot/node_modules/string.prototype.trim/test/implementation.js +21 -0
- package/slack-bot/node_modules/string.prototype.trim/test/index.js +17 -0
- package/slack-bot/node_modules/string.prototype.trim/test/shimmed.js +36 -0
- package/slack-bot/node_modules/string.prototype.trim/test/tests.js +62 -0
- package/slack-bot/node_modules/string.prototype.trimend/.editorconfig +20 -0
- package/slack-bot/node_modules/string.prototype.trimend/.eslintrc +24 -0
- package/slack-bot/node_modules/string.prototype.trimend/.nycrc +9 -0
- package/slack-bot/node_modules/string.prototype.trimend/CHANGELOG.md +128 -0
- package/slack-bot/node_modules/string.prototype.trimend/LICENSE +21 -0
- package/slack-bot/node_modules/string.prototype.trimend/README.md +46 -0
- package/slack-bot/node_modules/string.prototype.trimend/auto.js +3 -0
- package/slack-bot/node_modules/string.prototype.trimend/implementation.js +15 -0
- package/slack-bot/node_modules/string.prototype.trimend/index.js +23 -0
- package/slack-bot/node_modules/string.prototype.trimend/package.json +83 -0
- package/slack-bot/node_modules/string.prototype.trimend/polyfill.js +15 -0
- package/slack-bot/node_modules/string.prototype.trimend/shim.js +14 -0
- package/slack-bot/node_modules/string.prototype.trimend/test/implementation.js +20 -0
- package/slack-bot/node_modules/string.prototype.trimend/test/index.js +17 -0
- package/slack-bot/node_modules/string.prototype.trimend/test/shimmed.js +36 -0
- package/slack-bot/node_modules/string.prototype.trimend/test/tests.js +31 -0
- package/slack-bot/node_modules/string.prototype.trimstart/.editorconfig +20 -0
- package/slack-bot/node_modules/string.prototype.trimstart/.eslintrc +24 -0
- package/slack-bot/node_modules/string.prototype.trimstart/.nycrc +9 -0
- package/slack-bot/node_modules/string.prototype.trimstart/CHANGELOG.md +118 -0
- package/slack-bot/node_modules/string.prototype.trimstart/LICENSE +21 -0
- package/slack-bot/node_modules/string.prototype.trimstart/README.md +46 -0
- package/slack-bot/node_modules/string.prototype.trimstart/auto.js +3 -0
- package/slack-bot/node_modules/string.prototype.trimstart/implementation.js +15 -0
- package/slack-bot/node_modules/string.prototype.trimstart/index.js +23 -0
- package/slack-bot/node_modules/string.prototype.trimstart/package.json +82 -0
- package/slack-bot/node_modules/string.prototype.trimstart/polyfill.js +15 -0
- package/slack-bot/node_modules/string.prototype.trimstart/shim.js +14 -0
- package/slack-bot/node_modules/string.prototype.trimstart/test/implementation.js +20 -0
- package/slack-bot/node_modules/string.prototype.trimstart/test/index.js +18 -0
- package/slack-bot/node_modules/string.prototype.trimstart/test/shimmed.js +36 -0
- package/slack-bot/node_modules/string.prototype.trimstart/test/tests.js +31 -0
- package/slack-bot/node_modules/toidentifier/HISTORY.md +9 -0
- package/slack-bot/node_modules/toidentifier/LICENSE +21 -0
- package/slack-bot/node_modules/toidentifier/README.md +61 -0
- package/slack-bot/node_modules/toidentifier/index.js +32 -0
- package/slack-bot/node_modules/toidentifier/package.json +38 -0
- package/slack-bot/node_modules/tsscmp/.travis.yml +18 -0
- package/slack-bot/node_modules/tsscmp/LICENSE +21 -0
- package/slack-bot/node_modules/tsscmp/README.md +48 -0
- package/slack-bot/node_modules/tsscmp/appveyor.yml +29 -0
- package/slack-bot/node_modules/tsscmp/lib/index.js +38 -0
- package/slack-bot/node_modules/tsscmp/package.json +29 -0
- package/slack-bot/node_modules/tsscmp/test/benchmark/index.js +30 -0
- package/slack-bot/node_modules/tsscmp/test/unit/index.js +69 -0
- package/slack-bot/node_modules/type-is/HISTORY.md +259 -0
- package/slack-bot/node_modules/type-is/LICENSE +23 -0
- package/slack-bot/node_modules/type-is/README.md +170 -0
- package/slack-bot/node_modules/type-is/index.js +266 -0
- package/slack-bot/node_modules/type-is/package.json +45 -0
- package/slack-bot/node_modules/typed-array-buffer/.eslintrc +13 -0
- package/slack-bot/node_modules/typed-array-buffer/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/typed-array-buffer/.nycrc +13 -0
- package/slack-bot/node_modules/typed-array-buffer/CHANGELOG.md +50 -0
- package/slack-bot/node_modules/typed-array-buffer/LICENSE +21 -0
- package/slack-bot/node_modules/typed-array-buffer/README.md +42 -0
- package/slack-bot/node_modules/typed-array-buffer/index.d.ts +9 -0
- package/slack-bot/node_modules/typed-array-buffer/index.js +19 -0
- package/slack-bot/node_modules/typed-array-buffer/package.json +82 -0
- package/slack-bot/node_modules/typed-array-buffer/test/index.js +23 -0
- package/slack-bot/node_modules/typed-array-buffer/tsconfig.json +9 -0
- package/slack-bot/node_modules/typed-array-byte-length/.eslintrc +12 -0
- package/slack-bot/node_modules/typed-array-byte-length/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/typed-array-byte-length/.nycrc +13 -0
- package/slack-bot/node_modules/typed-array-byte-length/CHANGELOG.md +44 -0
- package/slack-bot/node_modules/typed-array-byte-length/LICENSE +21 -0
- package/slack-bot/node_modules/typed-array-byte-length/README.md +70 -0
- package/slack-bot/node_modules/typed-array-byte-length/index.d.ts +10 -0
- package/slack-bot/node_modules/typed-array-byte-length/index.js +85 -0
- package/slack-bot/node_modules/typed-array-byte-length/package.json +113 -0
- package/slack-bot/node_modules/typed-array-byte-length/test/index.js +83 -0
- package/slack-bot/node_modules/typed-array-byte-length/tsconfig.json +9 -0
- package/slack-bot/node_modules/typed-array-byte-offset/.eslintrc +8 -0
- package/slack-bot/node_modules/typed-array-byte-offset/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/typed-array-byte-offset/.nycrc +13 -0
- package/slack-bot/node_modules/typed-array-byte-offset/CHANGELOG.md +61 -0
- package/slack-bot/node_modules/typed-array-byte-offset/LICENSE +21 -0
- package/slack-bot/node_modules/typed-array-byte-offset/README.md +70 -0
- package/slack-bot/node_modules/typed-array-byte-offset/index.d.ts +14 -0
- package/slack-bot/node_modules/typed-array-byte-offset/index.js +79 -0
- package/slack-bot/node_modules/typed-array-byte-offset/package.json +116 -0
- package/slack-bot/node_modules/typed-array-byte-offset/test/index.js +78 -0
- package/slack-bot/node_modules/typed-array-byte-offset/tsconfig.json +10 -0
- package/slack-bot/node_modules/typed-array-length/.eslintrc +11 -0
- package/slack-bot/node_modules/typed-array-length/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/typed-array-length/.nycrc +13 -0
- package/slack-bot/node_modules/typed-array-length/CHANGELOG.md +106 -0
- package/slack-bot/node_modules/typed-array-length/LICENSE +21 -0
- package/slack-bot/node_modules/typed-array-length/README.md +64 -0
- package/slack-bot/node_modules/typed-array-length/index.d.ts +23 -0
- package/slack-bot/node_modules/typed-array-length/index.js +80 -0
- package/slack-bot/node_modules/typed-array-length/package.json +110 -0
- package/slack-bot/node_modules/typed-array-length/test/index.js +74 -0
- package/slack-bot/node_modules/typed-array-length/tsconfig.json +10 -0
- package/slack-bot/node_modules/unbox-primitive/.editorconfig +20 -0
- package/slack-bot/node_modules/unbox-primitive/.eslintrc +5 -0
- package/slack-bot/node_modules/unbox-primitive/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/unbox-primitive/.nycrc +13 -0
- package/slack-bot/node_modules/unbox-primitive/CHANGELOG.md +79 -0
- package/slack-bot/node_modules/unbox-primitive/LICENSE +21 -0
- package/slack-bot/node_modules/unbox-primitive/README.md +47 -0
- package/slack-bot/node_modules/unbox-primitive/index.d.ts +13 -0
- package/slack-bot/node_modules/unbox-primitive/index.js +42 -0
- package/slack-bot/node_modules/unbox-primitive/package.json +84 -0
- package/slack-bot/node_modules/unbox-primitive/test/index.js +59 -0
- package/slack-bot/node_modules/unbox-primitive/tsconfig.json +6 -0
- package/slack-bot/node_modules/undici-types/LICENSE +21 -0
- package/slack-bot/node_modules/undici-types/README.md +6 -0
- package/slack-bot/node_modules/undici-types/agent.d.ts +32 -0
- package/slack-bot/node_modules/undici-types/api.d.ts +43 -0
- package/slack-bot/node_modules/undici-types/balanced-pool.d.ts +30 -0
- package/slack-bot/node_modules/undici-types/cache-interceptor.d.ts +173 -0
- package/slack-bot/node_modules/undici-types/cache.d.ts +36 -0
- package/slack-bot/node_modules/undici-types/client-stats.d.ts +15 -0
- package/slack-bot/node_modules/undici-types/client.d.ts +108 -0
- package/slack-bot/node_modules/undici-types/connector.d.ts +34 -0
- package/slack-bot/node_modules/undici-types/content-type.d.ts +21 -0
- package/slack-bot/node_modules/undici-types/cookies.d.ts +30 -0
- package/slack-bot/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
- package/slack-bot/node_modules/undici-types/dispatcher.d.ts +276 -0
- package/slack-bot/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
- package/slack-bot/node_modules/undici-types/errors.d.ts +161 -0
- package/slack-bot/node_modules/undici-types/eventsource.d.ts +66 -0
- package/slack-bot/node_modules/undici-types/fetch.d.ts +211 -0
- package/slack-bot/node_modules/undici-types/formdata.d.ts +108 -0
- package/slack-bot/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/slack-bot/node_modules/undici-types/global-origin.d.ts +7 -0
- package/slack-bot/node_modules/undici-types/h2c-client.d.ts +73 -0
- package/slack-bot/node_modules/undici-types/handlers.d.ts +15 -0
- package/slack-bot/node_modules/undici-types/header.d.ts +160 -0
- package/slack-bot/node_modules/undici-types/index.d.ts +88 -0
- package/slack-bot/node_modules/undici-types/interceptors.d.ts +73 -0
- package/slack-bot/node_modules/undici-types/mock-agent.d.ts +68 -0
- package/slack-bot/node_modules/undici-types/mock-call-history.d.ts +111 -0
- package/slack-bot/node_modules/undici-types/mock-client.d.ts +27 -0
- package/slack-bot/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/slack-bot/node_modules/undici-types/mock-interceptor.d.ts +94 -0
- package/slack-bot/node_modules/undici-types/mock-pool.d.ts +27 -0
- package/slack-bot/node_modules/undici-types/package.json +55 -0
- package/slack-bot/node_modules/undici-types/patch.d.ts +29 -0
- package/slack-bot/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/slack-bot/node_modules/undici-types/pool.d.ts +41 -0
- package/slack-bot/node_modules/undici-types/proxy-agent.d.ts +29 -0
- package/slack-bot/node_modules/undici-types/readable.d.ts +68 -0
- package/slack-bot/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/slack-bot/node_modules/undici-types/retry-handler.d.ts +125 -0
- package/slack-bot/node_modules/undici-types/round-robin-pool.d.ts +41 -0
- package/slack-bot/node_modules/undici-types/snapshot-agent.d.ts +109 -0
- package/slack-bot/node_modules/undici-types/util.d.ts +18 -0
- package/slack-bot/node_modules/undici-types/utility.d.ts +7 -0
- package/slack-bot/node_modules/undici-types/webidl.d.ts +341 -0
- package/slack-bot/node_modules/undici-types/websocket.d.ts +186 -0
- package/slack-bot/node_modules/unpipe/HISTORY.md +4 -0
- package/slack-bot/node_modules/unpipe/LICENSE +22 -0
- package/slack-bot/node_modules/unpipe/README.md +43 -0
- package/slack-bot/node_modules/unpipe/index.js +69 -0
- package/slack-bot/node_modules/unpipe/package.json +27 -0
- package/slack-bot/node_modules/utils-merge/LICENSE +20 -0
- package/slack-bot/node_modules/utils-merge/README.md +34 -0
- package/slack-bot/node_modules/utils-merge/index.js +23 -0
- package/slack-bot/node_modules/utils-merge/package.json +40 -0
- package/slack-bot/node_modules/vary/HISTORY.md +39 -0
- package/slack-bot/node_modules/vary/LICENSE +22 -0
- package/slack-bot/node_modules/vary/README.md +101 -0
- package/slack-bot/node_modules/vary/index.js +149 -0
- package/slack-bot/node_modules/vary/package.json +43 -0
- package/slack-bot/node_modules/which-boxed-primitive/.editorconfig +20 -0
- package/slack-bot/node_modules/which-boxed-primitive/.eslintrc +5 -0
- package/slack-bot/node_modules/which-boxed-primitive/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/which-boxed-primitive/.nycrc +13 -0
- package/slack-bot/node_modules/which-boxed-primitive/CHANGELOG.md +82 -0
- package/slack-bot/node_modules/which-boxed-primitive/LICENSE +21 -0
- package/slack-bot/node_modules/which-boxed-primitive/README.md +73 -0
- package/slack-bot/node_modules/which-boxed-primitive/index.d.ts +11 -0
- package/slack-bot/node_modules/which-boxed-primitive/index.js +31 -0
- package/slack-bot/node_modules/which-boxed-primitive/package.json +83 -0
- package/slack-bot/node_modules/which-boxed-primitive/test/index.js +46 -0
- package/slack-bot/node_modules/which-boxed-primitive/tsconfig.json +9 -0
- package/slack-bot/node_modules/which-builtin-type/.eslintrc +14 -0
- package/slack-bot/node_modules/which-builtin-type/.nycrc +9 -0
- package/slack-bot/node_modules/which-builtin-type/CHANGELOG.md +113 -0
- package/slack-bot/node_modules/which-builtin-type/LICENSE +21 -0
- package/slack-bot/node_modules/which-builtin-type/README.md +67 -0
- package/slack-bot/node_modules/which-builtin-type/index.d.ts +21 -0
- package/slack-bot/node_modules/which-builtin-type/index.js +132 -0
- package/slack-bot/node_modules/which-builtin-type/package.json +111 -0
- package/slack-bot/node_modules/which-builtin-type/test/index.js +184 -0
- package/slack-bot/node_modules/which-builtin-type/tsconfig.json +9 -0
- package/slack-bot/node_modules/which-collection/.eslintrc +5 -0
- package/slack-bot/node_modules/which-collection/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/which-collection/.nycrc +13 -0
- package/slack-bot/node_modules/which-collection/CHANGELOG.md +63 -0
- package/slack-bot/node_modules/which-collection/LICENSE +21 -0
- package/slack-bot/node_modules/which-collection/README.md +65 -0
- package/slack-bot/node_modules/which-collection/index.d.ts +13 -0
- package/slack-bot/node_modules/which-collection/index.js +25 -0
- package/slack-bot/node_modules/which-collection/package.json +85 -0
- package/slack-bot/node_modules/which-collection/test/index.js +59 -0
- package/slack-bot/node_modules/which-collection/tsconfig.json +49 -0
- package/slack-bot/node_modules/which-typed-array/.editorconfig +20 -0
- package/slack-bot/node_modules/which-typed-array/.eslintrc +10 -0
- package/slack-bot/node_modules/which-typed-array/.github/FUNDING.yml +12 -0
- package/slack-bot/node_modules/which-typed-array/.nycrc +13 -0
- package/slack-bot/node_modules/which-typed-array/CHANGELOG.md +269 -0
- package/slack-bot/node_modules/which-typed-array/LICENSE +22 -0
- package/slack-bot/node_modules/which-typed-array/README.md +70 -0
- package/slack-bot/node_modules/which-typed-array/index.d.ts +66 -0
- package/slack-bot/node_modules/which-typed-array/index.js +122 -0
- package/slack-bot/node_modules/which-typed-array/package.json +130 -0
- package/slack-bot/node_modules/which-typed-array/test/index.js +105 -0
- package/slack-bot/node_modules/which-typed-array/tsconfig.json +9 -0
- package/slack-bot/node_modules/ws/LICENSE +21 -0
- package/slack-bot/node_modules/ws/README.md +495 -0
- package/slack-bot/node_modules/ws/browser.js +8 -0
- package/slack-bot/node_modules/ws/index.js +10 -0
- package/slack-bot/node_modules/ws/lib/buffer-util.js +129 -0
- package/slack-bot/node_modules/ws/lib/constants.js +10 -0
- package/slack-bot/node_modules/ws/lib/event-target.js +184 -0
- package/slack-bot/node_modules/ws/lib/extension.js +223 -0
- package/slack-bot/node_modules/ws/lib/limiter.js +55 -0
- package/slack-bot/node_modules/ws/lib/permessage-deflate.js +518 -0
- package/slack-bot/node_modules/ws/lib/receiver.js +607 -0
- package/slack-bot/node_modules/ws/lib/sender.js +409 -0
- package/slack-bot/node_modules/ws/lib/stream.js +180 -0
- package/slack-bot/node_modules/ws/lib/validation.js +104 -0
- package/slack-bot/node_modules/ws/lib/websocket-server.js +449 -0
- package/slack-bot/node_modules/ws/lib/websocket.js +1197 -0
- package/slack-bot/node_modules/ws/package.json +56 -0
- package/slack-bot/package-lock.json +2794 -0
- package/slack-bot/package.json +22 -0
- package/slack-bot/setup.js +51 -0
- package/slack-bot/src/config.js +50 -0
- package/slack-bot/src/handlers/app-mention.js +38 -0
- package/slack-bot/src/index.js +38 -0
- package/slack-bot/src/utils/report.js +38 -0
- package/slack-bot/src/workers/qa-job.js +111 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"sourcesContent":["#!/usr/bin/env node\n/**\n * MCP Lab Agent - Standalone\n * MCP server genérico para QA automation em qualquer projeto.\n * Detecta automaticamente Cypress, Playwright, Jest, estrutura do projeto, etc.\n */\nimport { config } from \"dotenv\";\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { z } from \"zod\";\nimport { spawn } from \"node:child_process\";\nimport path from \"node:path\";\nimport fs from \"node:fs\";\n\nconst PROJECT_ROOT = process.cwd();\nconfig({ path: path.join(PROJECT_ROOT, \".env\") });\n\nconst server = new McpServer({\n name: \"mcp-lab-agent\",\n version: \"1.0.0\",\n});\n\n// ============================================================================\n// MODEL ROUTING - Rotear tarefas simples vs complexas (economia de custo)\n// ============================================================================\n\nconst TASK_COMPLEXITY = {\n simple: [\"generate_tests\", \"create_test_template\", \"suggest_fix\"],\n complex: [\"por_que_falhou\", \"suggest_selector_fix\", \"analyze_file_methods\"],\n};\n\nfunction resolveLLMProvider(taskType = \"simple\") {\n const GROQ_KEY = process.env.GROQ_API_KEY;\n const GEMINI_KEY = process.env.GEMINI_API_KEY;\n const OPENAI_KEY = process.env.OPENAI_API_KEY || process.env.QA_LAB_LLM_API_KEY;\n const OLLAMA_URL = process.env.OLLAMA_BASE_URL || \"http://localhost:11434\";\n const CUSTOM_URL = process.env.QA_LAB_LLM_BASE_URL;\n\n const simpleModel = process.env.QA_LAB_LLM_SIMPLE;\n const complexModel = process.env.QA_LAB_LLM_COMPLEX;\n\n if (CUSTOM_URL) {\n const model = taskType === \"complex\" ? (complexModel || \"llama3.1:70b\") : (simpleModel || \"llama3.1:8b\");\n return { provider: \"custom\", apiKey: process.env.QA_LAB_LLM_API_KEY || \"not-needed\", baseUrl: CUSTOM_URL, model };\n }\n\n if (!GROQ_KEY && !GEMINI_KEY && !OPENAI_KEY) {\n const model = taskType === \"complex\" ? (complexModel || \"llama3.1:70b\") : (simpleModel || \"llama3.1:8b\");\n return { provider: \"ollama\", apiKey: \"not-needed\", baseUrl: `${OLLAMA_URL}/v1`, model };\n }\n\n let provider = GROQ_KEY ? \"groq\" : GEMINI_KEY ? \"gemini\" : \"openai\";\n const apiKey = GROQ_KEY || GEMINI_KEY || OPENAI_KEY;\n const baseUrl = provider === \"groq\"\n ? \"https://api.groq.com/openai/v1\"\n : provider === \"gemini\"\n ? \"https://generativelanguage.googleapis.com/v1beta\"\n : \"https://api.openai.com/v1\";\n\n let model;\n if (taskType === \"complex\") {\n model = complexModel || (provider === \"groq\" ? \"llama-3.3-70b-versatile\" : provider === \"gemini\" ? \"gemini-1.5-pro\" : \"gpt-4o\");\n } else {\n model = simpleModel || (provider === \"groq\" ? \"llama-3.1-8b-instant\" : provider === \"gemini\" ? \"gemini-1.5-flash\" : \"gpt-4o-mini\");\n }\n\n return { provider, apiKey, baseUrl, model };\n}\n\n// ============================================================================\n// PROJECT MEMORY - Cache de padrões para geração e análise\n// ============================================================================\n\nconst MEMORY_FILE = path.join(PROJECT_ROOT, \".qa-lab-memory.json\");\nconst FLOWS_CONFIG_FILE = path.join(PROJECT_ROOT, \"qa-lab-flows.json\");\n\nfunction loadProjectMemory() {\n const memory = { patterns: {}, conventions: {}, lastRun: null, selectors: [] };\n if (fs.existsSync(MEMORY_FILE)) {\n try {\n const raw = fs.readFileSync(MEMORY_FILE, \"utf8\");\n Object.assign(memory, JSON.parse(raw));\n } catch {}\n }\n if (fs.existsSync(FLOWS_CONFIG_FILE)) {\n try {\n const flows = JSON.parse(fs.readFileSync(FLOWS_CONFIG_FILE, \"utf8\"));\n memory.flows = flows.flows || [];\n } catch {}\n }\n return memory;\n}\n\nfunction saveProjectMemory(updates) {\n try {\n let data = loadProjectMemory();\n if (updates.patterns) data.patterns = { ...data.patterns, ...updates.patterns };\n if (updates.conventions) data.conventions = { ...data.conventions, ...updates.conventions };\n if (updates.selectors) data.selectors = [...new Set([...(data.selectors || []), ...updates.selectors])].slice(-100);\n if (updates.lastRun) data.lastRun = updates.lastRun;\n if (updates.learnings) {\n data.learnings = data.learnings || [];\n data.learnings.push(...updates.learnings);\n if (data.learnings.length > 200) data.learnings = data.learnings.slice(-150);\n }\n data.updatedAt = new Date().toISOString();\n fs.writeFileSync(MEMORY_FILE, JSON.stringify(data, null, 2), \"utf8\");\n } catch {}\n}\n\nfunction getMemoryStats() {\n const memory = loadProjectMemory();\n const learnings = memory.learnings || [];\n const successfulFixes = learnings.filter((l) => l.success);\n const selectorFixes = learnings.filter((l) => l.type === \"selector_fix\");\n const timingFixes = learnings.filter((l) => l.type === \"timing_fix\");\n const totalTests = learnings.filter((l) => l.type === \"test_generated\").length;\n const firstAttemptSuccess = learnings.filter((l) => l.type === \"test_generated\" && l.passedFirstTime).length;\n\n return {\n totalLearnings: learnings.length,\n successfulFixes: successfulFixes.length,\n selectorFixes: selectorFixes.length,\n timingFixes: timingFixes.length,\n testsGenerated: totalTests,\n firstAttemptSuccessRate: totalTests > 0 ? Math.round((firstAttemptSuccess / totalTests) * 100) : 0,\n };\n}\n\n// ============================================================================\n// FLAKY DETECTION - Padrões típicos de teste intermitente\n// ============================================================================\n\nconst FLAKY_PATTERNS = [\n { name: \"timing\", regex: /timeout|timed out|exceeded|wait|delay|slow|race condition/i, suggestion: \"Adicione wait explícito (ex: page.waitForSelector) ou aumente o timeout.\" },\n { name: \"ordering\", regex: /order|sequenc|flaky|intermittent|sometimes|random/i, suggestion: \"Issole o teste ou use beforeAll/afterAll para estado limpo. Evite dependência de ordem entre testes.\" },\n { name: \"selector\", regex: /element not found|selector|locator|cy\\.get|page\\.locator|Unable to find/i, suggestion: \"Use seletores estáveis: data-testid, role, texto acessível. Evite classes CSS dinâmicas.\" },\n { name: \"network\", regex: /ECONNREFUSED|network|fetch|axios|request failed|404|500/i, suggestion: \"Mocke APIs ou garanta que o backend esteja rodando. Use retry ou intercept.\" },\n { name: \"shared_state\", regex: /state|cleanup|beforeEach|afterEach|isolation/i, suggestion: \"Garanta beforeEach/afterEach para resetar estado. Evite variáveis globais compartilhadas.\" },\n];\n\nfunction detectFlakyPatterns(runOutput) {\n const detected = [];\n for (const p of FLAKY_PATTERNS) {\n if (p.regex.test(runOutput)) {\n detected.push({ pattern: p.name, suggestion: p.suggestion });\n }\n }\n const confidence = detected.length > 0 ? Math.min(0.5 + detected.length * 0.2, 0.95) : 0;\n return { isLikelyFlaky: confidence > 0.5, confidence, patterns: detected };\n}\n\n// ============================================================================\n// DETECÇÃO AUTOMÁTICA DE ESTRUTURA\n// ============================================================================\n\nfunction detectProjectStructure() {\n const structure = {\n hasTests: false,\n testFrameworks: [],\n testDirs: [],\n hasBackend: false,\n backendDir: null,\n hasFrontend: false,\n frontendDir: null,\n hasMobile: false,\n packageJson: null,\n pythonRequirements: null,\n };\n\n // Detectar Node.js/JavaScript/TypeScript\n const pkgPath = path.join(PROJECT_ROOT, \"package.json\");\n if (fs.existsSync(pkgPath)) {\n structure.packageJson = JSON.parse(fs.readFileSync(pkgPath, \"utf8\"));\n const deps = {\n ...structure.packageJson.dependencies,\n ...structure.packageJson.devDependencies,\n };\n\n // Frameworks E2E/UI\n if (deps.cypress) {\n structure.testFrameworks.push(\"cypress\");\n structure.hasTests = true;\n }\n if (deps[\"@playwright/test\"] || deps.playwright) {\n structure.testFrameworks.push(\"playwright\");\n structure.hasTests = true;\n }\n if (deps.webdriverio || deps[\"@wdio/cli\"]) {\n structure.testFrameworks.push(\"webdriverio\");\n structure.hasTests = true;\n }\n\n // Frameworks Unit/Integration\n if (deps.jest) {\n structure.testFrameworks.push(\"jest\");\n structure.hasTests = true;\n }\n if (deps.vitest) {\n structure.testFrameworks.push(\"vitest\");\n structure.hasTests = true;\n }\n if (deps.mocha) {\n structure.testFrameworks.push(\"mocha\");\n structure.hasTests = true;\n }\n if (deps.jasmine) {\n structure.testFrameworks.push(\"jasmine\");\n structure.hasTests = true;\n }\n\n // Frameworks Mobile\n if (deps.appium || deps[\"appium-webdriverio\"]) {\n structure.testFrameworks.push(\"appium\");\n structure.hasTests = true;\n structure.hasMobile = true;\n }\n if (deps.detox) {\n structure.testFrameworks.push(\"detox\");\n structure.hasTests = true;\n structure.hasMobile = true;\n }\n\n // API Testing\n if (deps.supertest) {\n structure.testFrameworks.push(\"supertest\");\n structure.hasTests = true;\n }\n if (deps[\"@pactum/pactum\"] || deps.pactum) {\n structure.testFrameworks.push(\"pactum\");\n structure.hasTests = true;\n }\n\n // Outros frameworks E2E\n if (deps.testcafe || deps[\"testcafe\"]) {\n structure.testFrameworks.push(\"testcafe\");\n structure.hasTests = true;\n }\n if (deps.nightwatch || deps[\"nightwatch\"]) {\n structure.testFrameworks.push(\"nightwatch\");\n structure.hasTests = true;\n }\n if (deps.puppeteer) {\n structure.testFrameworks.push(\"puppeteer\");\n structure.hasTests = true;\n }\n if (deps.codeceptjs || deps[\"codeceptjs\"]) {\n structure.testFrameworks.push(\"codeceptjs\");\n structure.hasTests = true;\n }\n\n // Backend detection\n if (deps.express || deps.fastify || deps[\"@nestjs/core\"] || deps.koa) {\n structure.hasBackend = true;\n }\n \n // Frontend detection\n if (deps.next || deps.react || deps.vue || deps.svelte || deps.angular) {\n structure.hasFrontend = true;\n }\n }\n\n // Detectar Python (Robot Framework, pytest, etc.)\n const requirementsPath = path.join(PROJECT_ROOT, \"requirements.txt\");\n if (fs.existsSync(requirementsPath)) {\n const requirements = fs.readFileSync(requirementsPath, \"utf8\");\n structure.pythonRequirements = requirements;\n\n if (/robotframework/i.test(requirements)) {\n structure.testFrameworks.push(\"robot\");\n structure.hasTests = true;\n }\n if (/pytest/i.test(requirements)) {\n structure.testFrameworks.push(\"pytest\");\n structure.hasTests = true;\n }\n if (/behave/i.test(requirements)) {\n structure.testFrameworks.push(\"behave\");\n structure.hasTests = true;\n }\n if (/requests/i.test(requirements)) {\n structure.hasBackend = true;\n }\n }\n\n // Detectar pastas de teste (genérico)\n const commonTestDirs = [\n \"tests\", \"test\", \"e2e\", \"cypress\", \"playwright\", \"__tests__\",\n \"specs\", \"spec\", \"integration\", \"unit\", \"functional\", \"robot\",\n \"features\", \"scenarios\", \"mobile\", \"api\",\n // Monorepo: subprojetos por framework\n \"playwright-js\", \"puppeteer-js\", \"testcafe-js\", \"wdio-webdriver-io\",\n \"nightwatch-js\", \"codeceptjs\", \"robot-framework\", \"selenium-python\"\n ];\n for (const dir of commonTestDirs) {\n const fullPath = path.join(PROJECT_ROOT, dir);\n if (fs.existsSync(fullPath) && fs.statSync(fullPath).isDirectory()) {\n structure.testDirs.push(dir);\n }\n }\n\n // Monorepo: escanear subdirs de primeiro nível que parecem ter testes\n const skipDirs = [\"node_modules\", \".git\", \"dist\", \"build\", \".next\", \".venv\"];\n try {\n const rootEntries = fs.readdirSync(PROJECT_ROOT, { withFileTypes: true });\n for (const e of rootEntries) {\n if (!e.isDirectory() || skipDirs.includes(e.name)) continue;\n const subPath = path.join(PROJECT_ROOT, e.name);\n if (structure.testDirs.includes(e.name)) continue;\n // Verificar se há package.json ou tests/ dentro\n const hasPkg = fs.existsSync(path.join(subPath, \"package.json\"));\n const hasTests = fs.existsSync(path.join(subPath, \"tests\")) ||\n fs.existsSync(path.join(subPath, \"test\")) ||\n fs.existsSync(path.join(subPath, \"e2e\")) ||\n fs.existsSync(path.join(subPath, \"__tests__\")) ||\n fs.existsSync(path.join(subPath, \"specs\"));\n if (hasPkg || hasTests) {\n structure.testDirs.push(e.name);\n }\n }\n } catch {}\n\n // Monorepo: detectar frameworks em package.json de subdirs\n for (const dir of structure.testDirs) {\n const subPkg = path.join(PROJECT_ROOT, dir, \"package.json\");\n if (!fs.existsSync(subPkg)) continue;\n try {\n const sub = JSON.parse(fs.readFileSync(subPkg, \"utf8\"));\n const subDeps = { ...(sub.dependencies || {}), ...(sub.devDependencies || {}) };\n const toAdd = [];\n if (subDeps.cypress && !structure.testFrameworks.includes(\"cypress\")) toAdd.push(\"cypress\");\n if ((subDeps[\"@playwright/test\"] || subDeps.playwright) && !structure.testFrameworks.includes(\"playwright\")) toAdd.push(\"playwright\");\n if ((subDeps.webdriverio || subDeps[\"@wdio/cli\"]) && !structure.testFrameworks.includes(\"webdriverio\")) toAdd.push(\"webdriverio\");\n if (subDeps.testcafe && !structure.testFrameworks.includes(\"testcafe\")) toAdd.push(\"testcafe\");\n if (subDeps.nightwatch && !structure.testFrameworks.includes(\"nightwatch\")) toAdd.push(\"nightwatch\");\n if (subDeps.puppeteer && !structure.testFrameworks.includes(\"puppeteer\")) toAdd.push(\"puppeteer\");\n if (subDeps.codeceptjs && !structure.testFrameworks.includes(\"codeceptjs\")) toAdd.push(\"codeceptjs\");\n if (subDeps.jest && !structure.testFrameworks.includes(\"jest\")) toAdd.push(\"jest\");\n toAdd.forEach((fw) => { structure.testFrameworks.push(fw); structure.hasTests = true; });\n } catch {}\n }\n\n // Monorepo: detectar Robot/pytest em requirements.txt de subdirs\n for (const dir of structure.testDirs) {\n const reqPath = path.join(PROJECT_ROOT, dir, \"requirements.txt\");\n if (!fs.existsSync(reqPath)) continue;\n try {\n const req = fs.readFileSync(reqPath, \"utf8\");\n if (/robotframework/i.test(req) && !structure.testFrameworks.includes(\"robot\")) {\n structure.testFrameworks.push(\"robot\");\n structure.hasTests = true;\n }\n if (/pytest|selenium/i.test(req) && !structure.testFrameworks.includes(\"pytest\")) {\n structure.testFrameworks.push(\"pytest\");\n structure.hasTests = true;\n }\n } catch {}\n }\n\n // Detectar backend\n const commonBackendDirs = [\"backend\", \"server\", \"api\", \"src\"];\n for (const dir of commonBackendDirs) {\n const fullPath = path.join(PROJECT_ROOT, dir);\n if (fs.existsSync(fullPath) && !structure.backendDir) {\n const hasServerFile = fs.existsSync(path.join(fullPath, \"server.js\")) ||\n fs.existsSync(path.join(fullPath, \"index.js\")) ||\n fs.existsSync(path.join(fullPath, \"app.js\"));\n if (hasServerFile) {\n structure.backendDir = dir;\n }\n }\n }\n\n // Detectar frontend\n const commonFrontendDirs = [\"frontend\", \"client\", \"web\", \"app\", \"src\"];\n for (const dir of commonFrontendDirs) {\n const fullPath = path.join(PROJECT_ROOT, dir);\n if (fs.existsSync(fullPath) && !structure.frontendDir) {\n const hasAppFile = fs.existsSync(path.join(fullPath, \"App.js\")) ||\n fs.existsSync(path.join(fullPath, \"App.tsx\")) ||\n fs.existsSync(path.join(fullPath, \"index.html\"));\n if (hasAppFile) {\n structure.frontendDir = dir;\n }\n }\n }\n\n return structure;\n}\n\n// ============================================================================\n// PADRÕES UNIVERSAIS DE ARQUIVOS DE TESTE (qualquer framework)\n// ============================================================================\n\nconst UNIVERSAL_TEST_PATTERNS = [\n /\\.(cy|spec|test)\\.(js|ts|jsx|tsx)$/i,\n /_test\\.(js|ts)$/i, // CodeceptJS\n /\\.robot$/i,\n /\\.feature$/i,\n /^(test_.*|.*_test)\\.py$/i,\n /\\.steps?\\.(js|ts|py)$/i,\n /\\.e2e\\.(js|ts)$/i,\n /\\.it\\.(js|ts)$/i,\n];\n\nfunction isTestFile(name) {\n return UNIVERSAL_TEST_PATTERNS.some((re) => re.test(name));\n}\n\nfunction collectTestFiles(structure, options = {}) {\n const { pattern, framework, maxContentFiles = 0 } = options;\n const results = [];\n\n for (const dir of structure.testDirs) {\n const fullPath = path.join(PROJECT_ROOT, dir);\n const walk = (p, base = \"\") => {\n if (!fs.existsSync(p)) return;\n const entries = fs.readdirSync(p, { withFileTypes: true });\n for (const e of entries) {\n const rel = base ? `${base}/${e.name}` : e.name;\n if (e.isDirectory()) {\n if (e.name === \"node_modules\" || e.name === \".git\" || e.name === \".venv\") continue;\n walk(path.join(p, e.name), rel);\n } else if (e.isFile() && isTestFile(e.name)) {\n const filePath = `${dir}/${rel}`;\n if (pattern && !filePath.toLowerCase().includes(pattern.toLowerCase())) continue;\n const inferredFw = inferFrameworkFromFile(e.name, structure, filePath);\n if (framework && framework !== \"all\" && inferredFw !== framework && !matchesFramework(inferredFw, framework)) continue;\n const entry = { path: filePath, inferredFramework: inferredFw };\n if (maxContentFiles > 0 && results.length < maxContentFiles) {\n try {\n entry.content = fs.readFileSync(path.join(PROJECT_ROOT, filePath), \"utf8\");\n } catch {}\n }\n results.push(entry);\n }\n }\n };\n walk(fullPath);\n }\n return results;\n}\n\nfunction inferFrameworkFromFile(name, structure = {}, filePath = \"\") {\n const pathLower = (filePath || \"\").toLowerCase().replace(/\\\\/g, \"/\");\n // Inferir pelo CAMINHO quando há múltiplos frameworks (ex: tests/cypress/, tests/selenium-python/)\n if (/[\\/]cypress[\\/\\-]/.test(pathLower)) return \"cypress\";\n if (/[\\/]playwright[\\/\\-]/.test(pathLower)) return \"playwright\";\n if (/[\\/]wdio[\\/\\-]|[\\/]webdriver[\\/\\-]/.test(pathLower)) return \"webdriverio\";\n if (/[\\/]appium[\\/\\-]/.test(pathLower)) return \"appium\";\n if (/[\\/]selenium-python[\\/]|[\\/]pytest[\\/\\-]/.test(pathLower)) return \"pytest\";\n if (/[\\/]robot[\\/\\-]/.test(pathLower)) return \"robot\";\n if (/[\\/]codecept[\\/\\-]/.test(pathLower)) return \"codeceptjs\";\n if (/[\\/]nightwatch[\\/\\-]/.test(pathLower)) return \"nightwatch\";\n if (/[\\/]testcafe[\\/\\-]/.test(pathLower)) return \"testcafe\";\n if (/[\\/]puppeteer[\\/\\-]/.test(pathLower)) return \"puppeteer\";\n if (/[\\/]behave[\\/\\-]|[\\/]features[\\/]/.test(pathLower)) return \"behave\";\n // Fallback: inferir pela extensão do arquivo\n if (/\\.cy\\.(js|ts|jsx|tsx)/i.test(name)) return \"cypress\";\n if (/_test\\.(js|ts)$/i.test(name)) return \"codeceptjs\";\n if (/\\.spec\\.(js|ts|jsx|tsx)/i.test(name)) {\n if (structure?.testFrameworks?.includes(\"webdriverio\")) return \"webdriverio\";\n if (structure?.testFrameworks?.includes(\"appium\")) return \"appium\";\n return \"playwright\";\n }\n if (/\\.test\\.(js|ts|jsx|tsx)/i.test(name)) return structure?.testFrameworks?.includes(\"vitest\") ? \"vitest\" : \"jest\";\n if (/\\.robot$/i.test(name)) return \"robot\";\n if (/\\.feature$/i.test(name)) return \"behave\";\n if (/\\.(py|steps?\\.py)$/i.test(name) || /^(test_.*|.*_test)\\.py$/i.test(name)) return \"pytest\";\n if (/\\.e2e\\.(js|ts)/i.test(name)) return \"playwright\";\n return \"unknown\";\n}\n\nfunction matchesFramework(inferred, requested) {\n const aliases = { spec: [\"playwright\", \"webdriverio\", \"appium\"] };\n if (inferred === requested) return true;\n return aliases[inferred]?.includes(requested);\n}\n\nfunction getFrameworkCwd(structure, preferredDirs) {\n for (const dir of preferredDirs) {\n if (structure.testDirs.includes(dir)) {\n return path.join(PROJECT_ROOT, dir);\n }\n }\n const fallback = structure.testDirs[0];\n return fallback ? path.join(PROJECT_ROOT, fallback) : PROJECT_ROOT;\n}\n\n// ============================================================================\n// MÉTRICAS DE NEGÓCIO - Helpers (FLOWS_CONFIG_FILE definido acima)\n// ============================================================================\n\nconst METRICS_FILE = path.join(PROJECT_ROOT, \".qa-lab-metrics.json\");\n\nfunction parseTestRunResult(runOutput, exitCode) {\n let passed = 0;\n let failed = 0;\n const jestMatch = runOutput.match(/Tests:\\s+(\\d+)\\s+passed(?:,\\s*(\\d+)\\s+failed)?/);\n if (jestMatch) {\n passed = parseInt(jestMatch[1], 10);\n failed = jestMatch[2] ? parseInt(jestMatch[2], 10) : 0;\n }\n const cypressPass = runOutput.match(/(\\d+)\\s+passing/);\n const cypressFail = runOutput.match(/(\\d+)\\s+failing/);\n if (cypressPass) passed = parseInt(cypressPass[1], 10);\n if (cypressFail) failed = parseInt(cypressFail[1], 10);\n const pwPass = runOutput.match(/(\\d+)\\s+passed/);\n const pwFail = runOutput.match(/(\\d+)\\s+failed/);\n if (pwPass) passed = parseInt(pwPass[1], 10);\n if (pwFail) failed = parseInt(pwFail[1], 10);\n if (passed === 0 && failed === 0) {\n if (exitCode === 0) passed = 1;\n else failed = 1;\n }\n return { passed, failed };\n}\n\nfunction appendMetricsEvent(event) {\n try {\n let data = { events: [], lastUpdated: new Date().toISOString() };\n if (fs.existsSync(METRICS_FILE)) {\n const raw = fs.readFileSync(METRICS_FILE, \"utf8\");\n try {\n data = JSON.parse(raw);\n } catch {}\n }\n data.events = data.events || [];\n data.events.push({ ...event, timestamp: event.timestamp || new Date().toISOString() });\n data.lastUpdated = new Date().toISOString();\n if (data.events.length > 500) data.events = data.events.slice(-400);\n fs.writeFileSync(METRICS_FILE, JSON.stringify(data, null, 2), \"utf8\");\n } catch {}\n}\n\nfunction extractFailuresFromOutput(runOutput) {\n const failures = [];\n const lines = runOutput.split(\"\\n\");\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n if (/fail|error|assertion|timeout|element not found|selector/i.test(line)) {\n failures.push({\n test: lines[Math.max(0, i - 1)]?.trim() || \"unknown\",\n message: line.trim().slice(0, 500),\n });\n }\n }\n return failures.slice(0, 20);\n}\n\n// ============================================================================\n// FERRAMENTAS GENÉRICAS\n// ============================================================================\n\nserver.registerTool(\n \"read_file\",\n {\n title: \"Ler qualquer arquivo\",\n description: \"Lê o conteúdo de QUALQUER arquivo do projeto por caminho. Use para specs, page objects, componentes, código fonte - qualquer formato.\",\n inputSchema: z.object({\n path: z.string().describe(\"Caminho relativo ao projeto (ex: cypress/e2e/login.cy.js, src/pages/Login.tsx, tests/login.robot).\"),\n encoding: z.enum([\"utf8\", \"utf-8\"]).optional().describe(\"Encoding. Default: utf8\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n content: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n async ({ path: filePath, encoding = \"utf8\" }) => {\n const normalized = filePath.replace(/^\\//, \"\").replace(/\\\\/g, \"/\");\n const fullPath = path.join(PROJECT_ROOT, normalized);\n\n if (!fullPath.startsWith(PROJECT_ROOT)) {\n return {\n content: [{ type: \"text\", text: \"Caminho fora do projeto.\" }],\n structuredContent: { ok: false, error: \"Path outside project\" },\n };\n }\n if (!fs.existsSync(fullPath)) {\n return {\n content: [{ type: \"text\", text: `Arquivo não encontrado: ${normalized}` }],\n structuredContent: { ok: false, error: \"File not found\" },\n };\n }\n const stat = fs.statSync(fullPath);\n if (stat.isDirectory()) {\n return {\n content: [{ type: \"text\", text: \"É um diretório. Use um caminho de arquivo.\" }],\n structuredContent: { ok: false, error: \"Is directory\" },\n };\n }\n\n try {\n const content = fs.readFileSync(fullPath, encoding);\n return {\n content: [{ type: \"text\", text: content }],\n structuredContent: { ok: true, content },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao ler: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\nserver.registerTool(\n \"detect_project\",\n {\n title: \"Detectar estrutura do projeto\",\n description: \"Analisa o projeto e identifica frameworks de teste, pastas, backend, frontend.\",\n inputSchema: z.object({}),\n outputSchema: z.object({\n ok: z.boolean(),\n structure: z.object({\n hasTests: z.boolean(),\n testFrameworks: z.array(z.string()),\n testDirs: z.array(z.string()),\n hasBackend: z.boolean(),\n backendDir: z.string().nullable(),\n hasFrontend: z.boolean(),\n frontendDir: z.string().nullable(),\n }),\n }),\n },\n async () => {\n const structure = detectProjectStructure();\n const summary = [\n `Frameworks de teste: ${structure.testFrameworks.join(\", \") || \"nenhum\"}`,\n `Pastas de teste: ${structure.testDirs.join(\", \") || \"nenhuma\"}`,\n `Backend: ${structure.backendDir || \"não detectado\"}`,\n `Frontend: ${structure.frontendDir || \"não detectado\"}`,\n ].join(\"\\n\");\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: { ok: true, structure },\n };\n }\n);\n\n// ============================================================================\n// WEB EVAL BROWSER - Modo browser (screenshots, network, console) via Playwright\n// ============================================================================\n\nserver.registerTool(\n \"web_eval_browser\",\n {\n title: \"Avaliar app no browser (screenshots, network, console)\",\n description: \"[Agente especializado: Browser] Abre a URL no navegador, captura screenshot, erros de console e requisições de rede. Inspirado em web-eval-agent. Requer: npm install playwright\",\n inputSchema: z.object({\n url: z.string().describe(\"URL para avaliar (ex: http://localhost:3000, https://exemplo.com).\"),\n screenshotPath: z.string().optional().describe(\"Caminho para salvar screenshot. Default: .qa-lab-screenshot.png\"),\n captureNetwork: z.boolean().optional().describe(\"Capturar requisições de rede. Default: true\"),\n captureConsole: z.boolean().optional().describe(\"Capturar logs e erros do console. Default: true\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n screenshotPath: z.string().optional(),\n consoleLogs: z.array(z.string()).optional(),\n consoleErrors: z.array(z.string()).optional(),\n networkRequests: z.array(z.object({ url: z.string(), method: z.string(), status: z.number().optional() })).optional(),\n error: z.string().optional(),\n }),\n },\n async ({ url, screenshotPath, captureNetwork = true, captureConsole = true }) => {\n let playwright;\n try {\n playwright = await import(\"playwright\");\n } catch (e) {\n return {\n content: [{\n type: \"text\",\n text: \"Playwright não instalado. Rode: npm install playwright (ou npx playwright install para browsers).\",\n }],\n structuredContent: { ok: false, error: \"Playwright not installed. Run: npm install playwright\" },\n };\n }\n\n const outPath = screenshotPath ? path.join(PROJECT_ROOT, screenshotPath.replace(/^\\//, \"\")) : path.join(PROJECT_ROOT, \".qa-lab-screenshot.png\");\n const consoleLogs = [];\n const consoleErrors = [];\n const networkRequests = [];\n\n try {\n const browser = await playwright.chromium.launch({ headless: true });\n const context = await browser.newContext();\n const page = await context.newPage();\n\n if (captureConsole) {\n page.on(\"console\", (msg) => {\n const text = msg.text();\n if (msg.type() === \"error\") consoleErrors.push(text);\n else consoleLogs.push(`[${msg.type()}] ${text}`);\n });\n }\n\n if (captureNetwork) {\n page.on(\"request\", (req) => {\n networkRequests.push({ url: req.url(), method: req.method(), status: undefined });\n });\n page.on(\"response\", (res) => {\n const req = networkRequests.find((r) => r.url === res.request().url());\n if (req) req.status = res.status();\n });\n }\n\n await page.goto(url, { waitUntil: \"networkidle\", timeout: 30000 });\n await page.screenshot({ path: outPath, fullPage: false });\n\n await browser.close();\n\n const relPath = path.relative(PROJECT_ROOT, outPath);\n let summary = `Screenshot salvo: ${relPath}`;\n if (consoleErrors.length) summary += `\\n\\n⚠️ ${consoleErrors.length} erro(s) no console:\\n${consoleErrors.slice(0, 5).join(\"\\n\")}`;\n if (networkRequests.length) summary += `\\n\\nRequisições: ${networkRequests.length}`;\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: {\n ok: true,\n screenshotPath: relPath,\n consoleLogs: captureConsole ? consoleLogs.slice(0, 50) : undefined,\n consoleErrors: captureConsole && consoleErrors.length ? consoleErrors : undefined,\n networkRequests: captureNetwork ? networkRequests.slice(0, 30) : undefined,\n },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\n// ============================================================================\n// QA ROUTE TASK - Agentes especializados (roteamento de tarefas)\n// ============================================================================\n\nconst QA_AGENTS = {\n autonomous: { tools: [\"qa_auto\"], desc: \"Modo autônomo: gera, roda, corrige e aprende (loop completo)\" },\n detection: { tools: [\"detect_project\", \"read_project\", \"list_test_files\"], desc: \"Detecção de estrutura, frameworks e arquivos\" },\n execution: { tools: [\"run_tests\", \"watch_tests\", \"get_test_coverage\"], desc: \"Execução de testes e cobertura\" },\n generation: { tools: [\"generate_tests\", \"write_test\", \"create_test_template\"], desc: \"Geração de testes com LLM\" },\n analysis: { tools: [\"analyze_failures\", \"por_que_falhou\", \"suggest_fix\", \"suggest_selector_fix\"], desc: \"Análise de falhas e sugestões\" },\n browser: { tools: [\"web_eval_browser\"], desc: \"Avaliação em browser real (screenshots, network, console)\" },\n reporting: { tools: [\"create_bug_report\", \"get_business_metrics\"], desc: \"Relatórios e métricas\" },\n learning: { tools: [\"qa_learning_stats\"], desc: \"Estatísticas de aprendizado e evolução\" },\n maintenance: { tools: [\"run_linter\", \"install_dependencies\", \"analyze_file_methods\"], desc: \"Manutenção e análise de código\" },\n};\n\nserver.registerTool(\n \"qa_route_task\",\n {\n title: \"Roteador de tarefas QA (agentes especializados)\",\n description: \"Recebe uma descrição da tarefa e retorna qual agente (conjunto de ferramentas) deve ser usado. Útil para encaminhar a ferramenta certa.\",\n inputSchema: z.object({\n task: z.string().describe(\"Descrição da tarefa (ex: 'rodar os testes', 'gerar teste de login', 'analisar por que falhou').\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n suggestedAgent: z.string(),\n suggestedTools: z.array(z.string()),\n description: z.string(),\n }),\n },\n async ({ task }) => {\n const t = task.toLowerCase();\n if (/autônomo|auto|completo|loop|aprende|corrige automaticamente/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: autonomous → qa_auto (loop completo: gera, roda, corrige, aprende)\" }], structuredContent: { ok: true, suggestedAgent: \"autonomous\", suggestedTools: QA_AGENTS.autonomous.tools, description: QA_AGENTS.autonomous.desc } };\n }\n if (/estatística|métrica de aprendizado|taxa de sucesso|learning|stats/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: learning → qa_learning_stats\" }], structuredContent: { ok: true, suggestedAgent: \"learning\", suggestedTools: QA_AGENTS.learning.tools, description: QA_AGENTS.learning.desc } };\n }\n if (/rodar|executar|run|test|coverage|watch/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: execution → run_tests, get_test_coverage\" }], structuredContent: { ok: true, suggestedAgent: \"execution\", suggestedTools: QA_AGENTS.execution.tools, description: QA_AGENTS.execution.desc } };\n }\n if (/gerar|criar|escrever|generate|write|template/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: generation → generate_tests, write_test\" }], structuredContent: { ok: true, suggestedAgent: \"generation\", suggestedTools: QA_AGENTS.generation.tools, description: QA_AGENTS.generation.desc } };\n }\n if (/analisar|por que|falhou|suggest|correção|selector|fix/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: analysis → analyze_failures, por_que_falhou, suggest_fix\" }], structuredContent: { ok: true, suggestedAgent: \"analysis\", suggestedTools: QA_AGENTS.analysis.tools, description: QA_AGENTS.analysis.desc } };\n }\n if (/browser|screenshot|navegador|avaliar|ux|network|console/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: browser → web_eval_browser\" }], structuredContent: { ok: true, suggestedAgent: \"browser\", suggestedTools: QA_AGENTS.browser.tools, description: QA_AGENTS.browser.desc } };\n }\n if (/detectar|estrutura|listar|arquivos|framework/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: detection → detect_project, list_test_files\" }], structuredContent: { ok: true, suggestedAgent: \"detection\", suggestedTools: QA_AGENTS.detection.tools, description: QA_AGENTS.detection.desc } };\n }\n if (/relatório|bug|métricas|metrics|coverage/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: reporting → create_bug_report, get_business_metrics\" }], structuredContent: { ok: true, suggestedAgent: \"reporting\", suggestedTools: QA_AGENTS.reporting.tools, description: QA_AGENTS.reporting.desc } };\n }\n return { content: [{ type: \"text\", text: \"Agente: detection (genérico)\" }], structuredContent: { ok: true, suggestedAgent: \"detection\", suggestedTools: QA_AGENTS.detection.tools, description: QA_AGENTS.detection.desc } };\n }\n);\n\nserver.registerTool(\n \"run_tests\",\n {\n title: \"Executar testes\",\n description: \"Roda testes do projeto. Suporta: Cypress, Playwright, WebdriverIO, Jest, Vitest, Mocha, Appium, Detox, Robot Framework, pytest, e mais. Detecta automaticamente.\",\n inputSchema: z.object({\n framework: z.enum([\n \"cypress\", \"playwright\", \"webdriverio\", \"jest\", \"vitest\", \"mocha\",\n \"appium\", \"detox\", \"robot\", \"pytest\", \"supertest\", \"pactum\",\n \"testcafe\", \"nightwatch\", \"puppeteer\", \"codeceptjs\", \"npm\"\n ]).optional().describe(\"Framework específico ou 'npm' para npm test.\"),\n spec: z.string().optional().describe(\"Caminho do spec (ex: cypress/e2e/test.cy.js).\"),\n suite: z.string().optional().describe(\"Suite ou pattern (ex: e2e, api).\"),\n explainOnFailure: z.boolean().optional().describe(\"Se true, quando falhar gera automaticamente: O que aconteceu, Por que falhou, O que fazer, Sugestão de correção. Requer API key.\"),\n }),\n outputSchema: z.object({\n status: z.enum([\"passed\", \"failed\", \"not_found\"]),\n message: z.string(),\n exitCode: z.number(),\n runOutput: z.string().optional(),\n }),\n },\n async ({ framework, spec, suite, explainOnFailure }) => {\n const structure = detectProjectStructure();\n \n if (!structure.hasTests) {\n return {\n content: [{ type: \"text\", text: \"Nenhum framework de teste detectado no projeto.\" }],\n structuredContent: {\n status: \"not_found\",\n message: \"No test framework found\",\n exitCode: 1,\n },\n };\n }\n\n let selectedFramework = framework;\n if (!selectedFramework && structure.testFrameworks.length > 0) {\n selectedFramework = structure.testFrameworks[0];\n }\n\n let cmd, args, cwd;\n\n // E2E/UI Frameworks\n if (selectedFramework === \"cypress\") {\n cmd = \"npx\";\n args = spec ? [\"cypress\", \"run\", \"--spec\", spec] : [\"cypress\", \"run\"];\n cwd = structure.testDirs.includes(\"cypress\") \n ? path.join(PROJECT_ROOT, \"cypress\")\n : structure.testDirs[0] \n ? path.join(PROJECT_ROOT, structure.testDirs[0])\n : PROJECT_ROOT;\n } else if (selectedFramework === \"playwright\") {\n cmd = \"npx\";\n args = spec ? [\"playwright\", \"test\", spec] : [\"playwright\", \"test\"];\n cwd = structure.testDirs.includes(\"playwright\")\n ? path.join(PROJECT_ROOT, \"playwright\")\n : structure.testDirs[0]\n ? path.join(PROJECT_ROOT, structure.testDirs[0])\n : PROJECT_ROOT;\n } else if (selectedFramework === \"webdriverio\") {\n cmd = \"npx\";\n args = spec ? [\"wdio\", \"run\", spec] : [\"wdio\", \"run\"];\n cwd = getFrameworkCwd(structure, [\"wdio-webdriver-io\", \"specs\", \"tests\"]);\n } else if (selectedFramework === \"testcafe\") {\n cmd = \"npx\";\n args = spec ? [\"testcafe\", spec] : [\"testcafe\"];\n cwd = getFrameworkCwd(structure, [\"testcafe-js\", \"testcafe\", \"tests\"]);\n } else if (selectedFramework === \"nightwatch\") {\n cmd = \"npx\";\n args = spec ? [\"nightwatch\", \"--test\", spec] : [\"nightwatch\"];\n cwd = getFrameworkCwd(structure, [\"nightwatch-js\", \"nightwatch\", \"tests\"]);\n } else if (selectedFramework === \"puppeteer\") {\n cmd = \"npx\";\n args = spec ? [\"jest\", spec, \"--config\", \"jest.config.js\"] : [\"jest\"];\n cwd = getFrameworkCwd(structure, [\"puppeteer-js\", \"puppeteer\", \"__tests__\"]);\n } else if (selectedFramework === \"codeceptjs\") {\n cmd = \"npx\";\n args = spec ? [\"codeceptjs\", \"run\", \"--grep\", spec] : [\"codeceptjs\", \"run\"];\n cwd = getFrameworkCwd(structure, [\"codeceptjs\", \"tests\"]);\n\n // Unit/Integration Frameworks\n } else if (selectedFramework === \"jest\") {\n cmd = \"npx\";\n args = [\"jest\"];\n if (spec) args.push(spec);\n cwd = PROJECT_ROOT;\n } else if (selectedFramework === \"vitest\") {\n cmd = \"npx\";\n args = [\"vitest\", \"run\"];\n if (spec) args.push(spec);\n cwd = PROJECT_ROOT;\n } else if (selectedFramework === \"mocha\") {\n cmd = \"npx\";\n args = spec ? [\"mocha\", spec] : [\"mocha\"];\n cwd = PROJECT_ROOT;\n \n // Mobile Frameworks\n } else if (selectedFramework === \"appium\") {\n cmd = \"npx\";\n args = spec ? [\"wdio\", \"run\", spec] : [\"wdio\", \"run\"];\n cwd = PROJECT_ROOT;\n } else if (selectedFramework === \"detox\") {\n cmd = \"npx\";\n args = [\"detox\", \"test\"];\n if (spec) args.push(spec);\n cwd = PROJECT_ROOT;\n \n // Python Frameworks\n } else if (selectedFramework === \"robot\") {\n cmd = \"robot\";\n args = spec ? [spec] : [structure.testDirs[0] || \"tests\"];\n cwd = PROJECT_ROOT;\n } else if (selectedFramework === \"pytest\") {\n cmd = \"pytest\";\n args = spec ? [spec] : [];\n cwd = PROJECT_ROOT;\n \n // API Testing\n } else if (selectedFramework === \"supertest\" || selectedFramework === \"pactum\") {\n cmd = \"npm\";\n args = [\"test\"];\n cwd = PROJECT_ROOT;\n \n // Fallback\n } else {\n cmd = \"npm\";\n args = [\"test\"];\n cwd = PROJECT_ROOT;\n }\n\n const startTime = Date.now();\n return new Promise((resolve) => {\n const child = spawn(cmd, args, {\n cwd,\n stdio: [\"inherit\", \"pipe\", \"pipe\"],\n shell: process.platform === \"win32\",\n env: { ...process.env },\n });\n\n let stdout = \"\";\n let stderr = \"\";\n if (child.stdout) {\n child.stdout.on(\"data\", (d) => {\n const s = d.toString();\n stdout += s;\n process.stdout.write(s);\n });\n }\n if (child.stderr) {\n child.stderr.on(\"data\", (d) => {\n const s = d.toString();\n stderr += s;\n process.stderr.write(s);\n });\n }\n\n child.on(\"close\", (code) => {\n const runOutput = [stdout, stderr].filter(Boolean).join(\"\\n\").trim();\n const passed = code === 0;\n const durationSeconds = Math.round((Date.now() - startTime) / 1000);\n if (!passed && runOutput) {\n try {\n fs.writeFileSync(path.join(PROJECT_ROOT, \".qa-lab-last-failure.log\"), runOutput, \"utf8\");\n } catch {}\n }\n const { passed: p, failed: f } = parseTestRunResult(runOutput, code);\n appendMetricsEvent({\n type: \"test_run\",\n framework: selectedFramework,\n spec: spec || undefined,\n passed: p,\n failed: f,\n durationSeconds,\n exitCode: code ?? 1,\n failures: !passed ? extractFailuresFromOutput(runOutput) : undefined,\n });\n if (passed) saveProjectMemory({ lastRun: { spec: spec || null, framework: selectedFramework, passed: p } });\n resolve({\n content: [{ type: \"text\", text: passed ? \"Testes executados com sucesso.\" : \"Falha na execução dos testes.\" }],\n structuredContent: {\n status: passed ? \"passed\" : \"failed\",\n message: passed ? \"Tests passed\" : \"Tests failed\",\n exitCode: code ?? 1,\n runOutput: !passed ? runOutput : undefined,\n },\n });\n });\n });\n }\n);\n\nserver.registerTool(\n \"read_project\",\n {\n title: \"Ler estrutura do projeto\",\n description: \"Lê package.json, specs existentes (qualquer framework: Cypress, Playwright, WDIO, Robot, pytest, etc) e retorna contexto. Use includeContent para trazer código de exemplos.\",\n inputSchema: z.object({\n includeContent: z.boolean().optional().describe(\"Se true, inclui conteúdo dos primeiros 3 arquivos de teste como referência. Default: false.\"),\n maxFiles: z.number().optional().describe(\"Máximo de arquivos cujo conteúdo será lido. Default: 3.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n summary: z.string(),\n packageJson: z.object({}).passthrough().optional(),\n testFiles: z.array(z.string()).optional(),\n testFilesWithContent: z.array(z.object({ path: z.string(), content: z.string() })).optional(),\n }),\n },\n async ({ includeContent = false, maxFiles = 3 } = {}) => {\n const structure = detectProjectStructure();\n const collected = collectTestFiles(structure, {\n maxContentFiles: includeContent ? maxFiles : 0,\n });\n\n const testFiles = collected.map((e) => e.path);\n const testFilesWithContent = includeContent\n ? collected.filter((e) => e.content).map((e) => ({ path: e.path, content: e.content }))\n : undefined;\n\n const summary = [\n `Frameworks: ${structure.testFrameworks.join(\", \") || \"nenhum\"}`,\n `Arquivos de teste: ${testFiles.length} (qualquer framework)`,\n `Backend: ${structure.backendDir || \"não detectado\"}`,\n `Frontend: ${structure.frontendDir || \"não detectado\"}`,\n includeContent && testFilesWithContent?.length\n ? `Conteúdo incluído: ${testFilesWithContent.length} arquivo(s) como referência`\n : \"\",\n ]\n .filter(Boolean)\n .join(\"\\n\");\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: {\n ok: true,\n summary,\n packageJson: structure.packageJson,\n testFiles: testFiles.slice(0, 100),\n testFilesWithContent,\n structure,\n },\n };\n }\n);\n\nserver.registerTool(\n \"generate_tests\",\n {\n title: \"Gerar ou traduzir testes com LLM\",\n description: \"Gera spec em QUALQUER framework. Aceita referência de outro framework: leia com read_file e passe em referenceCode. Traduz automaticamente (ex: Robot→Playwright, Cypress→WDIO).\",\n inputSchema: z.object({\n context: z.string().describe(\"Contexto do projeto (read_project) ou descrição.\"),\n request: z.string().describe(\"O que testar (ex: 'logout flow', 'teste de login') ou 'traduzir o teste abaixo'.\"),\n framework: z.enum([\n \"cypress\", \"playwright\", \"webdriverio\", \"jest\", \"vitest\", \"mocha\",\n \"appium\", \"robot\", \"pytest\", \"supertest\", \"behave\", \"detox\"\n ]).optional().describe(\"Framework alvo (detectado do projeto se omitido).\"),\n referenceCode: z.string().optional().describe(\"Código de referência em QUALQUER framework (Cypress, Robot, WDIO, etc). O LLM traduz/adapta para o framework alvo.\"),\n referencePaths: z.array(z.string()).optional().describe(\"Caminhos de arquivos para ler como referência. O agente lê e usa como padrão.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n specContent: z.string().optional(),\n suggestedFileName: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n async ({ context, request, framework, referenceCode, referencePaths }) => {\n const structure = detectProjectStructure();\n const fw = framework || structure.testFrameworks[0] || \"cypress\";\n\n let referenceBlock = \"\";\n if (referenceCode) referenceBlock += `\\n\\n--- CÓDIGO DE REFERÊNCIA (use como padrão, traduza/adapte para ${fw}) ---\\n${referenceCode.slice(0, 8000)}`;\n if (referencePaths?.length) {\n for (const p of referencePaths.slice(0, 5)) {\n const full = path.join(PROJECT_ROOT, p.replace(/^\\//, \"\").replace(/\\\\/g, \"/\"));\n if (fs.existsSync(full)) {\n try {\n const content = fs.readFileSync(full, \"utf8\");\n referenceBlock += `\\n\\n--- Arquivo: ${p} ---\\n${content.slice(0, 6000)}`;\n } catch {}\n }\n }\n }\n\n const llm = resolveLLMProvider(\"simple\");\n if (!llm.apiKey) {\n return {\n content: [{ type: \"text\", text: \"Configure GROQ_API_KEY, GEMINI_API_KEY ou OPENAI_API_KEY no .env\" }],\n structuredContent: { ok: false, error: \"No API key configured\" },\n };\n }\n const { provider, apiKey, baseUrl, model } = llm;\n\n const memory = loadProjectMemory();\n const memoryBlock = memory.flows?.length\n ? `\\n\\nFluxos do projeto (use como referência): ${memory.flows.map((f) => f.name || f.id).join(\", \")}`\n : \"\";\n const contextWithMemory = context + memoryBlock;\n\n const hasReference = Boolean(referenceBlock?.trim());\n const systemPrompt = hasReference\n ? `Você é um engenheiro de QA. TRADUZA/ADAPTE o código de referência para o framework ${fw}.\nO código de referência pode estar em QUALQUER framework (Cypress, Robot, Playwright, WDIO, Appium, pytest, etc).\n- Mantenha a MESMA lógica e fluxo de teste\n- Traduza seletores, comandos e asserções para ${fw}\n- Use Page Objects se o projeto já usa\n- Retorne SOMENTE o código, sem markdown`\n : `Você é um engenheiro de QA especializado em ${fw}. Gere APENAS o código do spec, sem explicações.\nFramework: ${fw}\nRegras:\n- Cypress: cy.request(), cy.visit(), cy.get()\n- Playwright: test(), test.describe(), page.goto(), page.locator()\n- WebdriverIO/Appium: describe(), it(), $(), browser.$\n- Jest/Vitest: describe(), test(), expect()\n- Robot: Keywords, [Tags], Steps\n- pytest: def test_*, assert, fixtures\n- Código limpo. Retorne SOMENTE o código, sem markdown`;\n\n const userPrompt = `Contexto do projeto:\n${contextWithMemory.slice(0, 5000)}\n\nGere um teste para: ${request}\nFramework alvo: ${fw}${referenceBlock}`;\n\n try {\n let specContent;\n if (provider === \"gemini\") {\n const url = `${baseUrl}/models/${model}:generateContent?key=${apiKey}`;\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n systemInstruction: { parts: [{ text: systemPrompt }] },\n contents: [{ parts: [{ text: userPrompt }] }],\n generationConfig: { temperature: 0.3, maxOutputTokens: 4096 },\n }),\n });\n const data = await res.json();\n specContent = data.candidates?.[0]?.content?.parts?.[0]?.text || \"\";\n } else {\n const res = await fetch(`${baseUrl}/chat/completions`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n },\n body: JSON.stringify({\n model,\n messages: [\n { role: \"system\", content: systemPrompt },\n { role: \"user\", content: userPrompt },\n ],\n temperature: 0.3,\n max_tokens: 4096,\n }),\n });\n const data = await res.json();\n specContent = data.choices?.[0]?.message?.content || \"\";\n }\n\n specContent = specContent.replace(/^```(?:js|javascript)?\\n?/i, \"\").replace(/\\n?```\\s*$/i, \"\").trim();\n const fileName = request.toLowerCase().replace(/\\s+/g, \"-\").replace(/[^a-z0-9-]/g, \"\").slice(0, 40);\n\n return {\n content: [{ type: \"text\", text: `Spec gerado (${specContent.length} chars). Use write_test para gravar.` }],\n structuredContent: {\n ok: true,\n specContent,\n suggestedFileName: fileName,\n },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao gerar: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\nfunction getExtensionAndBaseDir(fw, structure) {\n const extMap = {\n cypress: \".cy.js\",\n playwright: \".spec.js\",\n jest: \".test.js\",\n vitest: \".test.js\",\n mocha: \".test.js\",\n webdriverio: \".spec.js\",\n appium: \".spec.js\",\n detox: \".e2e.js\",\n robot: \".robot\",\n pytest: \"_test.py\",\n behave: \".feature\",\n supertest: \".test.js\",\n pactum: \".test.js\",\n };\n const ext = extMap[fw] || \".spec.js\";\n\n const baseMap = {\n cypress: structure.testDirs.includes(\"cypress\") ? \"cypress\" : structure.testDirs[0] || \"tests\",\n playwright: structure.testDirs.includes(\"playwright\") ? \"playwright\" : structure.testDirs[0] || \"tests\",\n webdriverio: structure.testDirs.includes(\"specs\") ? \"specs\" : structure.testDirs[0] || \"tests\",\n appium: structure.testDirs.includes(\"specs\") ? \"specs\" : structure.testDirs[0] || \"tests\",\n robot: structure.testDirs.includes(\"robot\") ? \"robot\" : structure.testDirs[0] || \"tests\",\n behave: structure.testDirs.includes(\"features\") ? \"features\" : structure.testDirs[0] || \"tests\",\n };\n const baseDir = path.join(PROJECT_ROOT, baseMap[fw] || structure.testDirs[0] || \"tests\");\n return { ext, baseDir };\n}\n\nserver.registerTool(\n \"write_test\",\n {\n title: \"Escrever arquivo de teste\",\n description: \"Grava spec no disco. Suporta QUALQUER framework (Cypress, Playwright, WDIO, Appium, Robot, pytest, etc.). Detecta automaticamente pasta e extensão.\",\n inputSchema: z.object({\n name: z.string().describe(\"Nome do arquivo (ex: login-test, logout_spec).\"),\n content: z.string().describe(\"Conteúdo do spec.\"),\n framework: z.enum([\n \"cypress\", \"playwright\", \"jest\", \"vitest\", \"mocha\", \"webdriverio\",\n \"appium\", \"detox\", \"robot\", \"pytest\", \"behave\", \"supertest\"\n ]).optional().describe(\"Framework (detectado automaticamente se omitido).\"),\n subdir: z.string().optional().describe(\"Subpasta (ex: e2e, api). Default: raiz da pasta de testes.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n path: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n async ({ name, content, framework, subdir }) => {\n const structure = detectProjectStructure();\n const fw = framework || structure.testFrameworks[0];\n\n if (!fw) {\n return {\n content: [{ type: \"text\", text: \"Nenhum framework de teste detectado.\" }],\n structuredContent: { ok: false, error: \"No test framework\" },\n };\n }\n\n const { ext, baseDir } = getExtensionAndBaseDir(fw, structure);\n const safeName = name\n .replace(/[^a-z0-9-_]/gi, \"-\")\n .replace(/-+/g, \"-\")\n .replace(/_+/g, \"_\")\n .replace(/\\.(cy|spec|test|robot|feature|py)\\.?(js|ts|py)?$/i, \"\")\n .replace(/^[-_]+|[-_]+$/g, \"\");\n const fileName = ext.startsWith(\"_\") ? `${safeName}${ext}` : `${safeName}${ext}`;\n\n const targetDir = subdir ? path.join(baseDir, subdir) : baseDir;\n const filePath = path.join(targetDir, fileName);\n\n try {\n if (!fs.existsSync(targetDir)) {\n fs.mkdirSync(targetDir, { recursive: true });\n }\n fs.writeFileSync(filePath, content, \"utf8\");\n return {\n content: [{ type: \"text\", text: `Arquivo gravado: ${filePath}` }],\n structuredContent: { ok: true, path: filePath },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao gravar: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\nserver.registerTool(\n \"analyze_failures\",\n {\n title: \"Analisar falhas de testes\",\n description: \"Recebe output de testes e extrai falhas estruturadas.\",\n inputSchema: z.object({\n runOutput: z.string().describe(\"Output do teste (stdout/stderr).\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n summary: z.string(),\n failures: z.array(z.object({\n test: z.string().optional(),\n message: z.string().optional(),\n stack: z.string().optional(),\n })).optional(),\n }),\n },\n async ({ runOutput }) => {\n const failures = [];\n const lines = runOutput.split(\"\\n\");\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n if (/fail|error|assertion/i.test(line)) {\n failures.push({\n test: lines[i - 1] || \"unknown\",\n message: line.trim(),\n stack: lines.slice(i, i + 5).join(\"\\n\"),\n });\n }\n }\n\n const flakyAnalysis = detectFlakyPatterns(runOutput);\n let summary = failures.length\n ? `${failures.length} falha(s) detectada(s).`\n : \"Nenhuma falha detectada.\";\n if (flakyAnalysis.isLikelyFlaky) {\n summary += `\\n\\n⚠️ Possível teste flaky (${Math.round(flakyAnalysis.confidence * 100)}% confiança). Padrões: ${flakyAnalysis.patterns.map((p) => p.pattern).join(\", \")}.`;\n summary += \"\\n\\nSugestões:\";\n flakyAnalysis.patterns.forEach((p) => {\n summary += `\\n• ${p.pattern}: ${p.suggestion}`;\n });\n if (flakyAnalysis.patterns.some((p) => p.pattern === \"timing\" || p.pattern === \"network\")) {\n summary += \"\\n• Considere adicionar test.retry(2) ou equivalente para retries automáticos.\";\n }\n }\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: {\n ok: true,\n summary,\n failures: failures.length ? failures : undefined,\n flaky: flakyAnalysis.isLikelyFlaky ? { confidence: flakyAnalysis.confidence, patterns: flakyAnalysis.patterns } : undefined,\n },\n };\n }\n);\n\n// ============================================================================\n// POR QUE FALHOU? - Explicação de falhas para juniores (escalável)\n// ============================================================================\n\nfunction formatFailureExplanation(data) {\n const lines = [\n \"## O que aconteceu\",\n \"\",\n data.oQueAconteceu || \"\",\n \"\",\n \"## Por que provavelmente falhou\",\n \"\",\n ...(Array.isArray(data.porQueProvavelmenteFalhou)\n ? data.porQueProvavelmenteFalhou.map((s) => `• ${s}`)\n : [data.porQueProvavelmenteFalhou || \"\"]),\n \"\",\n \"## O que fazer agora\",\n \"\",\n ...(Array.isArray(data.oQueFazerAgora)\n ? data.oQueFazerAgora.map((s, i) => `${i + 1}. ${s}`)\n : [data.oQueFazerAgora || \"\"]),\n ];\n if (data.sugestaoCorrecao) {\n lines.push(\"\", \"## Sugestão de correção\", \"\", \"```\" + (data.framework || \"js\"), data.sugestaoCorrecao, \"```\");\n }\n if (data.conceito) {\n lines.push(\"\", \"## Conceito\", \"\", data.conceito);\n }\n return lines.filter(Boolean).join(\"\\n\");\n}\n\nasync function callLlmForExplanation(provider, apiKey, baseUrl, model, systemPrompt, userPrompt) {\n if (provider === \"gemini\") {\n const url = `${baseUrl}/models/${model}:generateContent?key=${apiKey}`;\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n contents: [{ parts: [{ text: systemPrompt + \"\\n\\n\" + userPrompt }] }],\n generationConfig: { temperature: 0.2, maxOutputTokens: 4096 },\n }),\n });\n const data = await res.json();\n return data.candidates?.[0]?.content?.parts?.[0]?.text || \"\";\n }\n const res = await fetch(`${baseUrl}/chat/completions`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n },\n body: JSON.stringify({\n model,\n messages: [\n { role: \"system\", content: systemPrompt },\n { role: \"user\", content: userPrompt },\n ],\n temperature: 0.2,\n max_tokens: 4096,\n }),\n });\n const data = await res.json();\n return data.choices?.[0]?.message?.content || \"\";\n}\n\n/** Gera explicação de falha (o que aconteceu, por que, o que fazer, sugestão). Usado por por_que_falhou e run_tests_and_explain. */\nasync function generateFailureExplanation(resolvedOutput, testFilePath = null) {\n const structure = detectProjectStructure();\n const fw = structure.testFrameworks[0] || \"unknown\";\n\n let testCode = \"\";\n if (testFilePath) {\n const normalized = testFilePath.replace(/^\\//, \"\").replace(/\\\\/g, \"/\");\n const fullPath = path.join(PROJECT_ROOT, normalized);\n if (fs.existsSync(fullPath) && !fs.statSync(fullPath).isDirectory()) {\n try {\n testCode = fs.readFileSync(fullPath, \"utf8\");\n } catch {}\n }\n }\n\n const llm = resolveLLMProvider(\"complex\");\n if (!llm.apiKey) {\n return { ok: false, error: \"No API key\", formattedText: null };\n }\n const { provider, apiKey, baseUrl, model } = llm;\n\n const fwHints = {\n webdriverio: \"WebdriverIO (describe/it, $, browser.$)\",\n appium: \"Appium/WebdriverIO (mobile, $, browser.$)\",\n playwright: \"Playwright (test, page, locator)\",\n cypress: \"Cypress (cy.get, cy.click)\",\n jest: \"Jest (describe, test, expect)\",\n vitest: \"Vitest (describe, test, expect)\",\n robot: \"Robot Framework\",\n pytest: \"pytest\",\n };\n\n const systemPrompt = `Você é um mentor de QA. Analise o output de falha e responda em JSON (apenas o JSON, sem markdown) com as chaves:\n- oQueAconteceu: string (explicação em português do que aconteceu, simples)\n- porQueProvavelmenteFalhou: array de strings (lista de possíveis causas, uma por item)\n- oQueFazerAgora: array de strings (passos numerados do que fazer)\n- sugestaoCorrecao: string ou null (código de correção se aplicável, no formato do framework)\n- conceito: string ou null (ex: \"Flaky test = teste intermitente. Geralmente por timing ou seletores frágeis.\")\n- framework: string (framework do projeto)\n\nFramework do projeto: ${fw}. ${fwHints[fw] || \"\"}\nResponda APENAS com o JSON válido, sem texto antes ou depois.`;\n\n const userPrompt = `Output do terminal/log (teste falhou):\n---\n${resolvedOutput.slice(0, 12000)}\n---\n${testCode ? `\\nCódigo do teste que falhou:\\n---\\n${testCode.slice(0, 6000)}\\n---` : \"\"}`;\n\n try {\n let raw = await callLlmForExplanation(provider, apiKey, baseUrl, model, systemPrompt, userPrompt);\n raw = raw.replace(/^```(?:json)?\\s*/i, \"\").replace(/\\s*```\\s*$/i, \"\").trim();\n let data = {};\n try {\n data = JSON.parse(raw);\n } catch {\n data = {\n oQueAconteceu: raw.slice(0, 500) || \"Não foi possível parsear a resposta.\",\n porQueProvavelmenteFalhou: [],\n oQueFazerAgora: [],\n sugestaoCorrecao: null,\n conceito: null,\n framework: fw,\n };\n }\n data.framework = data.framework || fw;\n if (testFilePath && data.sugestaoCorrecao) {\n saveProjectMemory({ patterns: { [testFilePath]: { lastFix: data.sugestaoCorrecao?.slice(0, 500) } } });\n }\n const formattedText = formatFailureExplanation(data);\n return { ok: true, formattedText, structuredContent: data };\n } catch (err) {\n return { ok: false, error: err.message, formattedText: null };\n }\n}\n\nserver.registerTool(\n \"por_que_falhou\",\n {\n title: \"Por que falhou? Explicação para juniores\",\n description: \"Traduz stack trace em explicação humana. Recebe output do terminal/log, lê o projeto e o teste (se path dado), e retorna: O que aconteceu, Por que falhou, O que fazer, Sugestão de correção, Conceito. Escalável e procedural.\",\n inputSchema: z.object({\n errorOutput: z.string().optional().describe(\"Output do terminal quando o teste falhou. Se vazio, lê automaticamente de .qa-lab-last-failure.log (capturado pelo run_tests). Cole aqui ou deixe vazio para usar última falha.\"),\n testFilePath: z.string().optional().describe(\"Caminho do arquivo de teste que falhou (ex: specs/login.spec.js). Se informado, o agente lê o código e dá sugestão mais precisa.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n oQueAconteceu: z.string().optional(),\n porQueProvavelmenteFalhou: z.array(z.string()).optional(),\n oQueFazerAgora: z.array(z.string()).optional(),\n sugestaoCorrecao: z.string().optional(),\n conceito: z.string().optional(),\n framework: z.string().optional(),\n formattedText: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n async ({ errorOutput, testFilePath }) => {\n const structure = detectProjectStructure();\n const fw = structure.testFrameworks[0] || \"unknown\";\n\n let resolvedOutput = errorOutput?.trim() || \"\";\n if (!resolvedOutput) {\n const lastFailurePath = path.join(PROJECT_ROOT, \".qa-lab-last-failure.log\");\n if (fs.existsSync(lastFailurePath)) {\n try {\n resolvedOutput = fs.readFileSync(lastFailurePath, \"utf8\");\n } catch {}\n }\n }\n if (!resolvedOutput) {\n return {\n content: [{\n type: \"text\",\n text: \"Nenhum output de erro fornecido e nenhuma falha recente capturada.\\n\\nComo usar:\\n1. Rode os testes (run_tests) – se falhar, a saída é salva automaticamente.\\n2. Ou cole aqui o output do terminal quando o teste falhou.\\n3. Depois peça: 'Por que falhou?' ou chame por_que_falhou.\",\n }],\n structuredContent: { ok: false, error: \"No error output\" },\n };\n }\n\n let testCode = \"\";\n if (testFilePath) {\n const normalized = testFilePath.replace(/^\\//, \"\").replace(/\\\\/g, \"/\");\n const fullPath = path.join(PROJECT_ROOT, normalized);\n if (fs.existsSync(fullPath) && !fs.statSync(fullPath).isDirectory()) {\n try {\n testCode = fs.readFileSync(fullPath, \"utf8\");\n } catch {}\n }\n }\n\n const llm = resolveLLMProvider(\"complex\");\n if (!llm.apiKey) {\n return {\n content: [{\n type: \"text\",\n text: \"Configure GROQ_API_KEY, GEMINI_API_KEY ou OPENAI_API_KEY no .env do projeto para usar a explicação com LLM.\",\n }],\n structuredContent: { ok: false, error: \"No API key configured\" },\n };\n }\n const { provider, apiKey, baseUrl, model } = llm;\n\n const fwHints = {\n webdriverio: \"WebdriverIO (describe/it, $, browser.$)\",\n appium: \"Appium/WebdriverIO (mobile, $, browser.$)\",\n playwright: \"Playwright (test, page, locator)\",\n cypress: \"Cypress (cy.get, cy.click)\",\n jest: \"Jest (describe, test, expect)\",\n vitest: \"Vitest (describe, test, expect)\",\n robot: \"Robot Framework\",\n pytest: \"pytest\",\n };\n\n const systemPrompt = `Você é um mentor de QA. Analise o output de falha e responda em JSON (apenas o JSON, sem markdown) com as chaves:\n- oQueAconteceu: string (explicação em português do que aconteceu, simples)\n- porQueProvavelmenteFalhou: array de strings (lista de possíveis causas, uma por item)\n- oQueFazerAgora: array de strings (passos numerados do que fazer)\n- sugestaoCorrecao: string ou null (código de correção se aplicável, no formato do framework)\n- conceito: string ou null (ex: \"Flaky test = teste intermitente. Geralmente por timing ou seletores frágeis.\")\n- framework: string (framework do projeto)\n\nFramework do projeto: ${fw}. ${fwHints[fw] || \"\"}\nResponda APENAS com o JSON válido, sem texto antes ou depois.`;\n\n const userPrompt = `Output do terminal/log (teste falhou):\n---\n${resolvedOutput.slice(0, 12000)}\n---\n${testCode ? `\\nCódigo do teste que falhou:\\n---\\n${testCode.slice(0, 6000)}\\n---` : \"\"}`;\n\n try {\n let raw = await callLlmForExplanation(provider, apiKey, baseUrl, model, systemPrompt, userPrompt);\n raw = raw.replace(/^```(?:json)?\\s*/i, \"\").replace(/\\s*```\\s*$/i, \"\").trim();\n\n let data = {};\n try {\n data = JSON.parse(raw);\n } catch {\n data = {\n oQueAconteceu: raw.slice(0, 500) || \"Não foi possível parsear a resposta.\",\n porQueProvavelmenteFalhou: [],\n oQueFazerAgora: [],\n sugestaoCorrecao: null,\n conceito: null,\n framework: fw,\n };\n }\n\n data.framework = data.framework || fw;\n const formattedText = formatFailureExplanation(data);\n\n return {\n content: [{ type: \"text\", text: formattedText }],\n structuredContent: {\n ok: true,\n oQueAconteceu: data.oQueAconteceu,\n porQueProvavelmenteFalhou: data.porQueProvavelmenteFalhou,\n oQueFazerAgora: data.oQueFazerAgora,\n sugestaoCorrecao: data.sugestaoCorrecao ?? null,\n conceito: data.conceito ?? null,\n framework: data.framework,\n formattedText,\n },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao analisar: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\n// ============================================================================\n// NOVAS FERRAMENTAS\n// ============================================================================\n\nserver.registerTool(\n \"suggest_fix\",\n {\n title: \"Sugerir correção para falhas\",\n description: \"Recebe análise de falhas e sugere correções (patch, refactor, etc.).\",\n inputSchema: z.object({\n failures: z.array(z.object({\n test: z.string().optional(),\n message: z.string().optional(),\n stack: z.string().optional(),\n })).describe(\"Resultado de analyze_failures.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n suggestions: z.array(z.object({\n test: z.string().optional(),\n description: z.string(),\n fix: z.string().optional(),\n })),\n }),\n },\n async ({ failures }) => {\n const suggestions = [];\n\n for (const f of failures) {\n const msg = f.message || \"\";\n \n if (/element not found|selector|timeout/i.test(msg)) {\n suggestions.push({\n test: f.test,\n description: \"Elemento não encontrado ou timeout\",\n fix: \"Verifique seletores, adicione waits ou aumente timeout. Use data-testid para seletores mais estáveis.\",\n });\n } else if (/expected.*to.*but/i.test(msg)) {\n suggestions.push({\n test: f.test,\n description: \"Asserção falhou\",\n fix: \"Revise o valor esperado. Verifique se o estado da aplicação está correto antes da asserção.\",\n });\n } else if (/network|fetch|ECONNREFUSED/i.test(msg)) {\n suggestions.push({\n test: f.test,\n description: \"Erro de rede ou API não disponível\",\n fix: \"Verifique se o backend está rodando. Confirme a URL e porta da API.\",\n });\n } else {\n suggestions.push({\n test: f.test,\n description: \"Falha detectada\",\n fix: \"Revise o stack trace e o código do teste.\",\n });\n }\n }\n\n return {\n content: [{ type: \"text\", text: JSON.stringify(suggestions, null, 2) }],\n structuredContent: { ok: true, suggestions },\n };\n }\n);\n\n// ============================================================================\n// SELF-HEALING - Sugestão de correção de seletores quando UI muda\n// ============================================================================\n\nserver.registerTool(\n \"suggest_selector_fix\",\n {\n title: \"Sugerir correção de seletor (Self-healing)\",\n description: \"Quando um teste falha por elemento não encontrado (seletor quebrado após mudança de UI), usa LLM para sugerir seletor alternativo mais resiliente. Prioriza data-testid, role, texto acessível.\",\n inputSchema: z.object({\n testFilePath: z.string().describe(\"Caminho do arquivo de teste que falhou (ex: specs/login.spec.js).\"),\n errorOutput: z.string().optional().describe(\"Output do terminal da falha. Se vazio, lê de .qa-lab-last-failure.log.\"),\n framework: z.enum([\"cypress\", \"playwright\", \"webdriverio\", \"appium\"]).optional().describe(\"Framework do teste. Detectado automaticamente se omitido.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n selectorSugerido: z.string().optional(),\n codigoCorrigido: z.string().optional(),\n explicacao: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n async ({ testFilePath, errorOutput, framework }) => {\n const structure = detectProjectStructure();\n const fw = framework || inferFrameworkFromFile(testFilePath.split(\"/\").pop(), structure);\n\n let resolvedOutput = errorOutput;\n if (!resolvedOutput) {\n const logPath = path.join(PROJECT_ROOT, \".qa-lab-last-failure.log\");\n if (fs.existsSync(logPath)) {\n resolvedOutput = fs.readFileSync(logPath, \"utf8\");\n }\n }\n if (!resolvedOutput) {\n return {\n content: [{ type: \"text\", text: \"Nenhum output de erro. Rode os testes primeiro ou forneça errorOutput.\" }],\n structuredContent: { ok: false, error: \"No error output\" },\n };\n }\n\n if (!/element not found|selector|timeout|locator|cy\\.get|page\\.locator/i.test(resolvedOutput)) {\n return {\n content: [{ type: \"text\", text: \"A falha não parece ser de seletor/elemento. Use por_que_falhou ou suggest_fix para outros tipos de falha.\" }],\n structuredContent: { ok: false, error: \"Not a selector-related failure\" },\n };\n }\n\n let testCode = \"\";\n const fullPath = path.join(PROJECT_ROOT, testFilePath.replace(/^\\//, \"\").replace(/\\\\/g, \"/\"));\n if (fs.existsSync(fullPath)) {\n try {\n testCode = fs.readFileSync(fullPath, \"utf8\");\n } catch {}\n }\n\n const llm = resolveLLMProvider(\"complex\");\n if (!llm.apiKey) {\n return {\n content: [{ type: \"text\", text: \"Configure GROQ_API_KEY, GEMINI_API_KEY ou OPENAI_API_KEY no .env\" }],\n structuredContent: { ok: false, error: \"No API key configured\" },\n };\n }\n const { provider, apiKey, baseUrl, model } = llm;\n\n const fwHints = {\n cypress: \"Cypress: cy.get('[data-testid=...]'), cy.contains(), cy.get('button').filter(':visible')\",\n playwright: \"Playwright: page.getByRole(), page.getByTestId(), page.locator('button:has-text(\\\"...\\\")')\",\n webdriverio: \"WebdriverIO: $('[data-testid=...]'), $('button=Texto')\",\n appium: \"Appium: $('~accessibility-id'), $('//android.view.View')\",\n };\n\n const systemPrompt = `Você é um especialista em testes E2E. O teste falhou porque um seletor não encontrou o elemento (UI mudou).\nAnalise o erro e o código e responda APENAS em JSON (sem markdown) com as chaves:\n- selectorSugerido: string (o novo seletor recomendado, mais resiliente)\n- codigoCorrigido: string (bloco de código completo corrigido, apenas a parte relevante do teste)\n- explicacao: string (breve explicação em português: por que o antigo falhou e por que o novo é melhor)\n\nPriorize nesta ordem: data-testid > role + accessible name > texto visível > estrutura. Evite classes CSS e IDs que mudam.\n\nFramework: ${fw}. ${fwHints[fw] || \"\"}`;\n\n const userPrompt = `Output do erro:\n---\n${resolvedOutput.slice(0, 8000)}\n---\nCódigo do teste:\n---\n${testCode ? testCode.slice(0, 6000) : \"Não disponível\"}\n---`;\n\n try {\n let raw = await callLlmForExplanation(provider, apiKey, baseUrl, model, systemPrompt, userPrompt);\n raw = raw.replace(/^```(?:json)?\\s*/i, \"\").replace(/\\s*```\\s*$/i, \"\").trim();\n let data = {};\n try {\n data = JSON.parse(raw);\n } catch {\n data = {\n selectorSugerido: null,\n codigoCorrigido: raw.slice(0, 2000),\n explicacao: \"Não foi possível parsear. Resposta do LLM acima.\",\n };\n }\n\n const text = [\n data.explicacao && `## Explicação\\n${data.explicacao}`,\n data.selectorSugerido && `## Seletor sugerido\\n\\`${data.selectorSugerido}\\``,\n data.codigoCorrigido && `## Código corrigido\\n\\`\\`\\`${fw}\\n${data.codigoCorrigido}\\n\\`\\`\\``,\n ]\n .filter(Boolean)\n .join(\"\\n\\n\");\n\n return {\n content: [{ type: \"text\", text: text || JSON.stringify(data, null, 2) }],\n structuredContent: {\n ok: true,\n selectorSugerido: data.selectorSugerido,\n codigoCorrigido: data.codigoCorrigido,\n explicacao: data.explicacao,\n },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao chamar LLM: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\nserver.registerTool(\n \"analyze_file_methods\",\n {\n title: \"Analisar métodos de um arquivo\",\n description: \"Lê um arquivo, faz varredura em todos os métodos/funções e retorna análise detalhada: método correto?, melhor forma de escrever?, falso positivo?, coerência?, itens faltando?, parâmetros faltando?, imports faltando?. Requer API key (Groq/Gemini/OpenAI).\",\n inputSchema: z.object({\n path: z.string().describe(\"Caminho do arquivo (ex: src/utils.js, tests/login.cy.js, cypress/support/commands.js).\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n filePath: z.string().optional(),\n methods: z.array(z.object({\n name: z.string(),\n correto: z.boolean().optional(),\n melhorForma: z.string().optional(),\n falsoPositivo: z.boolean().optional(),\n falsoPositivoRazao: z.string().optional(),\n coerente: z.boolean().optional(),\n itensFaltando: z.array(z.string()).optional(),\n parametrosFaltando: z.array(z.string()).optional(),\n importsFaltando: z.array(z.string()).optional(),\n sugestao: z.string().optional(),\n })).optional(),\n importsFaltandoGlobal: z.array(z.string()).optional(),\n resumo: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n async ({ path: filePath }) => {\n const normalized = filePath.replace(/^\\//, \"\").replace(/\\\\/g, \"/\");\n const fullPath = path.join(PROJECT_ROOT, normalized);\n\n if (!fullPath.startsWith(PROJECT_ROOT)) {\n return {\n content: [{ type: \"text\", text: \"Caminho fora do projeto.\" }],\n structuredContent: { ok: false, error: \"Path outside project\" },\n };\n }\n if (!fs.existsSync(fullPath)) {\n return {\n content: [{ type: \"text\", text: `Arquivo não encontrado: ${normalized}` }],\n structuredContent: { ok: false, error: \"File not found\" },\n };\n }\n const stat = fs.statSync(fullPath);\n if (stat.isDirectory()) {\n return {\n content: [{ type: \"text\", text: \"É um diretório. Informe um arquivo.\" }],\n structuredContent: { ok: false, error: \"Is directory\" },\n };\n }\n\n let fileContent = \"\";\n try {\n fileContent = fs.readFileSync(fullPath, \"utf8\");\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao ler: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n\n const llm = resolveLLMProvider(\"complex\");\n if (!llm.apiKey) {\n return {\n content: [{\n type: \"text\",\n text: \"Configure GROQ_API_KEY, GEMINI_API_KEY ou OPENAI_API_KEY no .env para usar análise com LLM.\",\n }],\n structuredContent: { ok: false, error: \"No API key configured\" },\n };\n }\n const { provider, apiKey, baseUrl, model } = llm;\n\n const ext = path.extname(fullPath).toLowerCase();\n const lang = [\".ts\", \".tsx\"].includes(ext) ? \"TypeScript\" : [\".js\", \".jsx\"].includes(ext) ? \"JavaScript\" : [\".py\"].includes(ext) ? \"Python\" : \"código\";\n\n const systemPrompt = `Você é um revisor de código experiente em QA e testes. Analise o arquivo e cada método/função, respondendo em JSON válido (sem markdown) com a estrutura:\n\n{\n \"methods\": [\n {\n \"name\": \"nomeDoMetodo\",\n \"correto\": true | false,\n \"melhorForma\": \"explicação curta se há forma melhor de escrever\",\n \"falsoPositivo\": true | false,\n \"falsoPositivoRazao\": \"se falso positivo, por quê (ex: asserção muito permissiva)\",\n \"coerente\": true | false,\n \"coerenteDetalhe\": \"se incoerente, o que está inconsistente\",\n \"itensFaltando\": [\"item1\", \"item2\"],\n \"parametrosFaltando\": [\"param1\"],\n \"importsFaltando\": [\"moduloX\"],\n \"sugestao\": \"código ou texto de sugestão de melhoria\"\n }\n ],\n \"importsFaltandoGlobal\": [\"imports faltando no topo do arquivo\"],\n \"resumo\": \"resumo geral em 2-3 linhas\"\n}\n\nPara CADA método/função no arquivo, verifique:\n1. correto: a lógica está correta?\n2. melhorForma: há forma mais legível, performática ou idiomática de escrever?\n3. falsoPositivo: o método pode passar quando não deveria (asserção fraca, mock incorreto)?\n4. coerente: o método é coerente com o restante do código, naming, padrões?\n5. itensFaltando: falta try/catch, validação, cleanup, etc?\n6. parametrosFaltando: parâmetros que deveriam existir?\n7. importsFaltando: imports que o método usa mas não estão declarados?\n\nResponda APENAS com o JSON válido. Linguagem: ${lang}.`;\n\n const userPrompt = `Arquivo: ${normalized}\n\n\\`\\`\\`${lang}\n${fileContent.slice(0, 18000)}\n\\`\\`\\`\n\nAnalise cada método/função e retorne o JSON conforme especificado.`;\n\n try {\n let raw = await callLlmForExplanation(provider, apiKey, baseUrl, model, systemPrompt, userPrompt);\n raw = raw.replace(/^```(?:json)?\\s*/i, \"\").replace(/\\s*```\\s*$/i, \"\").trim();\n\n let data = {};\n try {\n data = JSON.parse(raw);\n } catch {\n data = {\n methods: [],\n importsFaltandoGlobal: [],\n resumo: raw.slice(0, 1000) || \"Não foi possível parsear a resposta do LLM.\",\n };\n }\n\n const lines = [\n `# Análise de métodos: ${normalized}`,\n \"\",\n data.resumo && `## Resumo\\n${data.resumo}`,\n data.importsFaltandoGlobal?.length > 0\n ? `\\n## Imports faltando (global)\\n${data.importsFaltandoGlobal.map((i) => `- ${i}`).join(\"\\n\")}`\n : \"\",\n \"\\n## Métodos analisados\\n\",\n ];\n\n for (const m of data.methods || []) {\n lines.push(`### ${m.name}`);\n lines.push(\"\");\n if (m.correto !== undefined) lines.push(`- **Correto:** ${m.correto ? \"✅ Sim\" : \"❌ Não\"}`);\n if (m.melhorForma) lines.push(`- **Melhor forma:** ${m.melhorForma}`);\n if (m.falsoPositivo) lines.push(`- **Falso positivo:** ⚠️ Sim - ${m.falsoPositivoRazao || \"verificar\"}`);\n if (m.coerente !== undefined) lines.push(`- **Coerente:** ${m.coerente ? \"✅ Sim\" : \"❌ Não\"}`);\n if (m.itensFaltando?.length) lines.push(`- **Itens faltando:** ${m.itensFaltando.join(\", \")}`);\n if (m.parametrosFaltando?.length) lines.push(`- **Parâmetros faltando:** ${m.parametrosFaltando.join(\", \")}`);\n if (m.importsFaltando?.length) lines.push(`- **Imports faltando:** ${m.importsFaltando.join(\", \")}`);\n if (m.sugestao) lines.push(`\\n**Sugestão:**\\n\\`\\`\\`\\n${m.sugestao}\\n\\`\\`\\``);\n lines.push(\"\");\n }\n\n const formattedText = lines.filter(Boolean).join(\"\\n\");\n\n return {\n content: [{ type: \"text\", text: formattedText }],\n structuredContent: {\n ok: true,\n filePath: normalized,\n methods: data.methods || [],\n importsFaltandoGlobal: data.importsFaltandoGlobal || [],\n resumo: data.resumo,\n },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao analisar: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\n\nserver.registerTool(\n \"create_bug_report\",\n {\n title: \"Criar relatório de bug\",\n description: \"Gera um bug report estruturado a partir de falhas de teste.\",\n inputSchema: z.object({\n failures: z.array(z.object({\n test: z.string().optional(),\n message: z.string().optional(),\n stack: z.string().optional(),\n })).describe(\"Falhas (de analyze_failures).\"),\n title: z.string().optional().describe(\"Título do bug.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n report: z.string(),\n title: z.string(),\n }),\n },\n async ({ failures, title }) => {\n const bugTitle = title || `Falha em ${failures.length} teste(s)`;\n const lines = [\n `# ${bugTitle}`,\n \"\",\n \"## Resumo\",\n \"\",\n `${failures.length} teste(s) falharam durante a execução.`,\n \"\",\n \"## Falhas detectadas\",\n \"\",\n ];\n\n failures.forEach((f, i) => {\n lines.push(`### ${i + 1}. ${f.test || \"Teste desconhecido\"}`);\n lines.push(\"\");\n lines.push(`**Mensagem:** ${f.message || \"N/A\"}`);\n lines.push(\"\");\n if (f.stack) {\n lines.push(\"**Stack trace:**\");\n lines.push(\"```\");\n lines.push(f.stack);\n lines.push(\"```\");\n lines.push(\"\");\n }\n });\n\n lines.push(\"## Próximos passos\");\n lines.push(\"\");\n lines.push(\"- [ ] Reproduzir localmente\");\n lines.push(\"- [ ] Identificar causa raiz\");\n lines.push(\"- [ ] Aplicar correção\");\n lines.push(\"- [ ] Validar com testes\");\n\n const report = lines.join(\"\\n\");\n\n appendMetricsEvent({ type: \"bug_reported\", failuresCount: failures.length, title: bugTitle });\n\n return {\n content: [{ type: \"text\", text: report }],\n structuredContent: { ok: true, report, title: bugTitle },\n };\n }\n);\n\n// ============================================================================\n// MÉTRICAS DE NEGÓCIO - Relatório agregado\n// ============================================================================\n\nserver.registerTool(\n \"get_business_metrics\",\n {\n title: \"Obter métricas de negócio\",\n description: \"Retorna métricas: tempo até bug, custo por defeito (tempo estimado), cobertura por fluxo. Requer run_tests executados e opcionalmente qa-lab-flows.json.\",\n inputSchema: z.object({\n period: z.enum([\"7d\", \"30d\", \"all\"]).optional().describe(\"Período para analisar. Default: 30d.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n timeToBug: z.object({\n avgHours: z.number(),\n lastFailureAt: z.string().optional(),\n runsWithFailures: z.number(),\n }).optional(),\n costPerDefect: z.object({\n avgMinutesPerDefect: z.number(),\n totalFailures: z.number(),\n estimatedHoursSpent: z.number(),\n }).optional(),\n flowCoverage: z.object({\n totalFlows: z.number(),\n coveredFlows: z.number(),\n percent: z.number(),\n details: z.array(z.object({ flow: z.string(), covered: z.boolean() })),\n }).optional(),\n summary: z.string(),\n }),\n },\n async ({ period = \"30d\" } = {}) => {\n const now = Date.now();\n const msByPeriod = { \"7d\": 7 * 24 * 60 * 60 * 1000, \"30d\": 30 * 24 * 60 * 60 * 1000, all: Infinity };\n const cutoff = now - msByPeriod[period];\n\n let data = { events: [] };\n if (fs.existsSync(METRICS_FILE)) {\n try {\n data = JSON.parse(fs.readFileSync(METRICS_FILE, \"utf8\"));\n } catch {}\n }\n\n const events = (data.events || []).filter((e) => new Date(e.timestamp).getTime() >= cutoff);\n\n const testRuns = events.filter((e) => e.type === \"test_run\");\n const failedRuns = testRuns.filter((e) => (e.failed || 0) > 0);\n const totalFailed = testRuns.reduce((sum, e) => sum + (e.failed || 0), 0);\n const totalDuration = testRuns.reduce((sum, e) => sum + (e.durationSeconds || 0), 0);\n\n let timeToBug = null;\n if (failedRuns.length > 0) {\n const lastFailure = failedRuns[failedRuns.length - 1];\n timeToBug = {\n avgHours: 0,\n lastFailureAt: lastFailure.timestamp,\n runsWithFailures: failedRuns.length,\n };\n if (failedRuns.length >= 2) {\n const deltas = [];\n for (let i = 1; i < failedRuns.length; i++) {\n const prev = new Date(failedRuns[i - 1].timestamp).getTime();\n const curr = new Date(failedRuns[i].timestamp).getTime();\n deltas.push((curr - prev) / (1000 * 60 * 60));\n }\n timeToBug.avgHours = deltas.reduce((a, b) => a + b, 0) / deltas.length;\n }\n }\n\n let costPerDefect = null;\n if (totalFailed > 0) {\n const estimatedMinutesSpent = totalDuration + totalFailed * 5;\n costPerDefect = {\n avgMinutesPerDefect: Math.round(estimatedMinutesSpent / totalFailed),\n totalFailures: totalFailed,\n estimatedHoursSpent: Math.round((estimatedMinutesSpent / 60) * 10) / 10,\n };\n }\n\n let flowCoverage = null;\n if (fs.existsSync(FLOWS_CONFIG_FILE)) {\n try {\n const flowsConfig = JSON.parse(fs.readFileSync(FLOWS_CONFIG_FILE, \"utf8\"));\n const flows = flowsConfig.flows || [];\n const structure = detectProjectStructure();\n const allTestFiles = new Set(collectTestFiles(structure).map((e) => e.path));\n\n const details = flows.map((f) => {\n const testFiles = f.testFiles || [];\n const covered = testFiles.some((tf) => allTestFiles.has(tf) || allTestFiles.has(tf.replace(/\\\\/g, \"/\")));\n return { flow: f.name || f.id || \"?\", covered };\n });\n\n flowCoverage = {\n totalFlows: flows.length,\n coveredFlows: details.filter((d) => d.covered).length,\n percent: flows.length ? Math.round((details.filter((d) => d.covered).length / flows.length) * 100) : 0,\n details,\n };\n } catch {}\n }\n\n const lines = [\n \"## Métricas de negócio\",\n \"\",\n `Período: ${period}`,\n \"\",\n timeToBug\n ? [\n \"### Tempo até bug\",\n `- Última falha: ${timeToBug.lastFailureAt || \"N/A\"}`,\n `- Execuções com falha: ${timeToBug.runsWithFailures}`,\n timeToBug.avgHours > 0 ? `- Média entre falhas: ${timeToBug.avgHours.toFixed(1)}h` : \"\",\n ]\n .filter(Boolean)\n .join(\"\\n\")\n : \"\",\n costPerDefect\n ? [\n \"### Custo por defeito (estimativa)\",\n `- Total de falhas: ${costPerDefect.totalFailures}`,\n `- Tempo médio por defeito: ~${costPerDefect.avgMinutesPerDefect} min`,\n `- Horas estimadas gastas: ${costPerDefect.estimatedHoursSpent}h`,\n ].join(\"\\n\")\n : \"\",\n flowCoverage\n ? [\n \"### Cobertura por fluxo\",\n `- Fluxos cobertos: ${flowCoverage.coveredFlows}/${flowCoverage.totalFlows} (${flowCoverage.percent}%)`,\n flowCoverage.details.map((d) => ` - ${d.flow}: ${d.covered ? \"✅\" : \"❌\"}`).join(\"\\n\"),\n ].join(\"\\n\")\n : \"\",\n ]\n .filter(Boolean)\n .join(\"\\n\\n\");\n\n if (!timeToBug && !costPerDefect && !flowCoverage) {\n const msg =\n \"Nenhuma métrica disponível. Rode run_tests para gerar dados. Para cobertura por fluxo, crie qa-lab-flows.json.\";\n return {\n content: [{ type: \"text\", text: msg }],\n structuredContent: { ok: false, summary: msg },\n };\n }\n\n const summary = [\n timeToBug && `${timeToBug.runsWithFailures} execuções com falha`,\n costPerDefect && `${costPerDefect.totalFailures} falhas (~${costPerDefect.avgMinutesPerDefect} min/defeito)`,\n flowCoverage && `${flowCoverage.coveredFlows}/${flowCoverage.totalFlows} fluxos cobertos`,\n ]\n .filter(Boolean)\n .join(\" | \");\n\n return {\n content: [{ type: \"text\", text: lines || summary }],\n structuredContent: {\n ok: true,\n timeToBug,\n costPerDefect,\n flowCoverage,\n summary,\n },\n };\n }\n);\n\nserver.registerTool(\n \"list_test_files\",\n {\n title: \"Listar arquivos de teste\",\n description: \"Lista TODOS os arquivos de teste (qualquer framework: Cypress, Playwright, WDIO, Robot, pytest, Behave, etc.) com filtro opcional.\",\n inputSchema: z.object({\n framework: z.enum([\n \"cypress\", \"playwright\", \"jest\", \"webdriverio\", \"appium\", \"robot\", \"pytest\", \"behave\", \"detox\", \"all\"\n ]).optional().describe(\"Filtrar por framework. Default: all.\"),\n pattern: z.string().optional().describe(\"Pattern para filtrar (ex: 'login', 'api').\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n files: z.array(z.string()),\n total: z.number(),\n }),\n },\n async ({ framework = \"all\", pattern } = {}) => {\n const structure = detectProjectStructure();\n const collected = collectTestFiles(structure, { framework, pattern });\n const allFiles = collected.map((e) => e.path);\n\n const summary = `Encontrados ${allFiles.length} arquivo(s) de teste (qualquer framework).`;\n\n return {\n content: [{ type: \"text\", text: `${summary}\\n\\n${allFiles.slice(0, 50).join(\"\\n\")}` }],\n structuredContent: { ok: true, files: allFiles, total: allFiles.length },\n };\n }\n);\n\nserver.registerTool(\n \"run_linter\",\n {\n title: \"Executar linter\",\n description: \"Roda ESLint, Prettier ou linter configurado no projeto.\",\n inputSchema: z.object({\n fix: z.boolean().optional().describe(\"Auto-fix (--fix). Default: false.\"),\n path: z.string().optional().describe(\"Caminho específico (ex: src/). Default: todo o projeto.\"),\n }),\n outputSchema: z.object({\n status: z.enum([\"passed\", \"failed\", \"not_found\"]),\n message: z.string(),\n exitCode: z.number(),\n output: z.string().optional(),\n }),\n },\n async ({ fix, path: targetPath }) => {\n const structure = detectProjectStructure();\n const scripts = structure.packageJson?.scripts || {};\n\n let cmd, args;\n if (scripts.lint) {\n cmd = \"npm\";\n args = [\"run\", \"lint\"];\n } else if (structure.packageJson?.devDependencies?.eslint || structure.packageJson?.dependencies?.eslint) {\n cmd = \"npx\";\n args = [\"eslint\", targetPath || \".\"];\n if (fix) args.push(\"--fix\");\n } else {\n return {\n content: [{ type: \"text\", text: \"Linter não detectado no projeto.\" }],\n structuredContent: { status: \"not_found\", message: \"No linter found\", exitCode: 1 },\n };\n }\n\n return new Promise((resolve) => {\n const child = spawn(cmd, args, {\n cwd: PROJECT_ROOT,\n stdio: [\"inherit\", \"pipe\", \"pipe\"],\n shell: process.platform === \"win32\",\n env: { ...process.env },\n });\n\n let stdout = \"\";\n let stderr = \"\";\n if (child.stdout) child.stdout.on(\"data\", (d) => { stdout += d.toString(); });\n if (child.stderr) child.stderr.on(\"data\", (d) => { stderr += d.toString(); });\n\n child.on(\"close\", (code) => {\n const output = [stdout, stderr].filter(Boolean).join(\"\\n\").trim();\n const passed = code === 0;\n resolve({\n content: [{ type: \"text\", text: passed ? \"Linter passou.\" : \"Linter encontrou problemas.\" }],\n structuredContent: {\n status: passed ? \"passed\" : \"failed\",\n message: passed ? \"Lint passed\" : \"Lint failed\",\n exitCode: code ?? 1,\n output: !passed ? output : undefined,\n },\n });\n });\n });\n }\n);\n\nserver.registerTool(\n \"install_dependencies\",\n {\n title: \"Instalar dependências\",\n description: \"Roda npm install, yarn install ou pnpm install (detecta automaticamente).\",\n inputSchema: z.object({\n packageManager: z.enum([\"npm\", \"yarn\", \"pnpm\", \"auto\"]).optional().describe(\"Package manager. Default: auto.\"),\n }),\n outputSchema: z.object({\n status: z.enum([\"success\", \"failed\"]),\n message: z.string(),\n exitCode: z.number(),\n }),\n },\n async ({ packageManager = \"auto\" }) => {\n let pm = packageManager;\n \n if (pm === \"auto\") {\n if (fs.existsSync(path.join(PROJECT_ROOT, \"yarn.lock\"))) pm = \"yarn\";\n else if (fs.existsSync(path.join(PROJECT_ROOT, \"pnpm-lock.yaml\"))) pm = \"pnpm\";\n else pm = \"npm\";\n }\n\n return new Promise((resolve) => {\n const child = spawn(pm, [\"install\"], {\n cwd: PROJECT_ROOT,\n stdio: \"inherit\",\n shell: process.platform === \"win32\",\n env: { ...process.env },\n });\n\n child.on(\"close\", (code) => {\n const passed = code === 0;\n resolve({\n content: [{ type: \"text\", text: passed ? \"Dependências instaladas.\" : \"Erro ao instalar dependências.\" }],\n structuredContent: {\n status: passed ? \"success\" : \"failed\",\n message: passed ? \"Dependencies installed\" : \"Install failed\",\n exitCode: code ?? 1,\n },\n });\n });\n });\n }\n);\n\nserver.registerTool(\n \"qa_learning_stats\",\n {\n title: \"Estatísticas de aprendizado\",\n description: \"[MÉTRICAS] Retorna métricas de aprendizado do agente: quantos testes gerados, taxa de sucesso na primeira tentativa, correções aplicadas, etc.\",\n inputSchema: z.object({}),\n outputSchema: z.object({\n totalLearnings: z.number(),\n successfulFixes: z.number(),\n selectorFixes: z.number(),\n timingFixes: z.number(),\n testsGenerated: z.number(),\n firstAttemptSuccessRate: z.number(),\n }),\n },\n async () => {\n const stats = getMemoryStats();\n const summary = `📊 **Estatísticas de Aprendizado**\n\n- Total de aprendizados: ${stats.totalLearnings}\n- Correções bem-sucedidas: ${stats.successfulFixes}\n- Correções de seletores: ${stats.selectorFixes}\n- Correções de timing: ${stats.timingFixes}\n- Testes gerados: ${stats.testsGenerated}\n- Taxa de sucesso na 1ª tentativa: ${stats.firstAttemptSuccessRate}%\n\n${stats.totalLearnings === 0 ? \"⚠️ Ainda não há aprendizados. Use qa_auto para gerar testes e aprender com erros.\" : \"\"}`;\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: stats,\n };\n }\n);\n\nserver.registerTool(\n \"get_test_coverage\",\n {\n title: \"Obter cobertura de testes\",\n description: \"Roda testes com coverage (Jest, Playwright, Cypress com plugin).\",\n inputSchema: z.object({\n framework: z.enum([\"jest\", \"playwright\", \"cypress\"]).optional().describe(\"Framework. Default: detectado automaticamente.\"),\n }),\n outputSchema: z.object({\n status: z.enum([\"success\", \"failed\", \"not_supported\"]),\n message: z.string(),\n coveragePercent: z.number().optional(),\n output: z.string().optional(),\n }),\n },\n async ({ framework }) => {\n const structure = detectProjectStructure();\n const fw = framework || structure.testFrameworks[0];\n\n if (fw === \"jest\") {\n return new Promise((resolve) => {\n const child = spawn(\"npx\", [\"jest\", \"--coverage\"], {\n cwd: PROJECT_ROOT,\n stdio: [\"inherit\", \"pipe\", \"pipe\"],\n shell: process.platform === \"win32\",\n env: { ...process.env },\n });\n\n let stdout = \"\";\n if (child.stdout) child.stdout.on(\"data\", (d) => { stdout += d.toString(); });\n\n child.on(\"close\", (code) => {\n const coverageMatch = stdout.match(/All files.*?(\\d+\\.?\\d*)/);\n const coveragePercent = coverageMatch ? parseFloat(coverageMatch[1]) : undefined;\n\n resolve({\n content: [{ type: \"text\", text: `Coverage: ${coveragePercent || \"N/A\"}%` }],\n structuredContent: {\n status: code === 0 ? \"success\" : \"failed\",\n message: code === 0 ? \"Coverage generated\" : \"Coverage failed\",\n coveragePercent,\n output: stdout,\n },\n });\n });\n });\n }\n\n return {\n content: [{ type: \"text\", text: `Coverage não suportado para ${fw} ainda.` }],\n structuredContent: { status: \"not_supported\", message: \"Coverage not supported for this framework\" },\n };\n }\n);\n\nserver.registerTool(\n \"watch_tests\",\n {\n title: \"Rodar testes em modo watch\",\n description: \"Inicia testes em watch mode (Jest, Vitest). Útil para desenvolvimento.\",\n inputSchema: z.object({\n framework: z.enum([\"jest\", \"vitest\"]).optional().describe(\"Framework. Default: detectado.\"),\n }),\n outputSchema: z.object({\n status: z.string(),\n message: z.string(),\n }),\n },\n async ({ framework }) => {\n const structure = detectProjectStructure();\n const fw = framework || (structure.testFrameworks.includes(\"jest\") ? \"jest\" : \"vitest\");\n\n if (!structure.testFrameworks.includes(fw)) {\n return {\n content: [{ type: \"text\", text: `${fw} não detectado no projeto.` }],\n structuredContent: { status: \"not_found\", message: \"Framework not found\" },\n };\n }\n\n return {\n content: [{ type: \"text\", text: `Para watch mode, rode manualmente: npx ${fw} --watch` }],\n structuredContent: {\n status: \"info\",\n message: `Watch mode requires interactive terminal. Run: npx ${fw} --watch`,\n },\n };\n }\n);\n\nserver.registerTool(\n \"qa_auto\",\n {\n title: \"Modo autônomo: gera, roda, corrige e aprende\",\n description: \"[AGENTE AUTÔNOMO] Loop completo: detecta projeto → gera teste → roda → se falhar: analisa, corrige, roda de novo → aprende com erros. Repete até passar ou atingir max_retries.\",\n inputSchema: z.object({\n request: z.string().describe(\"O que testar (ex: 'login flow', 'checkout', 'API /users').\"),\n framework: z.enum([\n \"cypress\", \"playwright\", \"webdriverio\", \"jest\", \"vitest\", \"mocha\", \"appium\", \"robot\", \"pytest\"\n ]).optional().describe(\"Framework (detectado automaticamente se omitido).\"),\n maxRetries: z.number().optional().describe(\"Máximo de tentativas de correção. Default: 3.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n testFilePath: z.string().optional(),\n attempts: z.number(),\n finalStatus: z.enum([\"passed\", \"failed\", \"max_retries\"]),\n learnings: z.array(z.object({ attempt: z.number(), action: z.string(), result: z.string() })).optional(),\n error: z.string().optional(),\n }),\n },\n async ({ request, framework, maxRetries = 3 }) => {\n const structure = detectProjectStructure();\n const fw = framework || structure.testFrameworks[0];\n if (!fw) {\n return {\n content: [{ type: \"text\", text: \"Nenhum framework detectado. Configure testes primeiro.\" }],\n structuredContent: { ok: false, error: \"No framework\", finalStatus: \"failed\", attempts: 0 },\n };\n }\n\n const llm = resolveLLMProvider(\"simple\");\n if (!llm.apiKey) {\n return {\n content: [{ type: \"text\", text: \"Configure GROQ_API_KEY, GEMINI_API_KEY ou OPENAI_API_KEY no .env\" }],\n structuredContent: { ok: false, error: \"No API key\", finalStatus: \"failed\", attempts: 0 },\n };\n }\n\n const learnings = [];\n const memory = loadProjectMemory();\n const contextLines = [\n `Frameworks: ${structure.testFrameworks.join(\", \")}`,\n `Pastas: ${structure.testDirs.join(\", \")}`,\n memory.flows?.length ? `Fluxos: ${memory.flows.map((f) => f.name || f.id).join(\", \")}` : \"\",\n ].filter(Boolean).join(\"\\n\");\n\n let testFilePath = null;\n let testContent = null;\n let attempt = 0;\n\n learnings.push({ attempt: 0, action: \"detect_project\", result: `${structure.testFrameworks.length} framework(s)` });\n\n for (attempt = 1; attempt <= maxRetries; attempt++) {\n learnings.push({ attempt, action: \"generate_tests\", result: \"gerando...\" });\n\n const { provider, apiKey, baseUrl, model } = llm;\n const memoryHints = memory.learnings?.filter((l) => l.success).slice(-10).map((l) => l.fix).join(\"\\n\") || \"\";\n const systemPrompt = `Você é um engenheiro de QA especializado em ${fw}. Gere APENAS o código do spec, sem explicações.\n${memoryHints ? `\\nAprendizados anteriores (use como referência):\\n${memoryHints.slice(0, 1000)}` : \"\"}\nRetorne SOMENTE o código, sem markdown.`;\n\n const userPrompt = `Contexto:\\n${contextLines}\\n\\nGere teste para: ${request}\\nFramework: ${fw}`;\n\n try {\n let specContent = \"\";\n if (provider === \"gemini\") {\n const url = `${baseUrl}/models/${model}:generateContent?key=${apiKey}`;\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n contents: [{ parts: [{ text: systemPrompt + \"\\n\\n\" + userPrompt }] }],\n generationConfig: { temperature: 0.3, maxOutputTokens: 4096 },\n }),\n });\n const data = await res.json();\n specContent = data.candidates?.[0]?.content?.parts?.[0]?.text || \"\";\n } else {\n const res = await fetch(`${baseUrl}/chat/completions`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\", Authorization: `Bearer ${apiKey}` },\n body: JSON.stringify({\n model,\n messages: [{ role: \"system\", content: systemPrompt }, { role: \"user\", content: userPrompt }],\n temperature: 0.3,\n max_tokens: 4096,\n }),\n });\n const data = await res.json();\n specContent = data.choices?.[0]?.message?.content || \"\";\n }\n specContent = specContent.replace(/^```(?:js|javascript|typescript)?\\n?/i, \"\").replace(/\\n?```\\s*$/i, \"\").trim();\n testContent = specContent;\n\n if (!testFilePath) {\n const fileName = request.toLowerCase().replace(/\\s+/g, \"-\").replace(/[^a-z0-9-]/g, \"\").slice(0, 30);\n const { ext, baseDir } = getExtensionAndBaseDir(fw, structure);\n const safeName = fileName + ext;\n testFilePath = path.join(baseDir, safeName);\n if (!fs.existsSync(baseDir)) fs.mkdirSync(baseDir, { recursive: true });\n }\n fs.writeFileSync(testFilePath, testContent, \"utf8\");\n learnings.push({ attempt, action: \"write_test\", result: `gravado: ${testFilePath}` });\n\n learnings.push({ attempt, action: \"run_tests\", result: \"executando...\" });\n const runResult = await new Promise((resolve) => {\n const child = spawn(\"npx\", [fw === \"cypress\" ? \"cypress\" : fw === \"playwright\" ? \"playwright\" : fw, fw === \"cypress\" ? \"run\" : fw === \"playwright\" ? \"test\" : \"run\", testFilePath], {\n cwd: PROJECT_ROOT,\n stdio: [\"inherit\", \"pipe\", \"pipe\"],\n shell: process.platform === \"win32\",\n });\n let stdout = \"\", stderr = \"\";\n if (child.stdout) child.stdout.on(\"data\", (d) => { stdout += d.toString(); });\n if (child.stderr) child.stderr.on(\"data\", (d) => { stderr += d.toString(); });\n child.on(\"close\", (code) => resolve({ code, output: [stdout, stderr].filter(Boolean).join(\"\\n\") }));\n });\n\n if (runResult.code === 0) {\n learnings.push({ attempt, action: \"run_tests\", result: \"✅ passou\" });\n saveProjectMemory({\n learnings: [{ type: \"test_generated\", request, framework: fw, success: true, passedFirstTime: attempt === 1, attempts: attempt, timestamp: new Date().toISOString() }],\n });\n return {\n content: [{ type: \"text\", text: `✅ Teste passou na tentativa ${attempt}!\\n\\nArquivo: ${testFilePath}\\n\\nAprendizados salvos.` }],\n structuredContent: { ok: true, testFilePath, attempts: attempt, finalStatus: \"passed\", learnings },\n };\n }\n\n learnings.push({ attempt, action: \"run_tests\", result: `❌ falhou (exit ${runResult.code})` });\n\n if (attempt >= maxRetries) {\n learnings.push({ attempt, action: \"max_retries\", result: \"limite atingido\" });\n saveProjectMemory({\n learnings: [{ type: \"test_generated\", request, framework: fw, success: false, attempts: attempt, timestamp: new Date().toISOString() }],\n });\n return {\n content: [{ type: \"text\", text: `❌ Teste falhou após ${attempt} tentativa(s).\\n\\nÚltimo erro:\\n${runResult.output.slice(0, 500)}` }],\n structuredContent: { ok: false, testFilePath, attempts: attempt, finalStatus: \"max_retries\", learnings },\n };\n }\n\n learnings.push({ attempt, action: \"analyze_failures\", result: \"analisando...\" });\n const flakyAnalysis = detectFlakyPatterns(runResult.output);\n const llmComplex = resolveLLMProvider(\"complex\");\n const explainResult = await generateFailureExplanation(runResult.output, testFilePath);\n\n if (!explainResult.ok || !explainResult.structuredContent?.sugestaoCorrecao) {\n learnings.push({ attempt, action: \"analyze_failures\", result: \"sem sugestão de correção\" });\n continue;\n }\n\n learnings.push({ attempt, action: \"apply_fix\", result: \"aplicando correção...\" });\n const fixedCode = explainResult.structuredContent.sugestaoCorrecao;\n testContent = fixedCode;\n fs.writeFileSync(testFilePath, testContent, \"utf8\");\n learnings.push({ attempt, action: \"apply_fix\", result: \"correção aplicada\" });\n\n if (flakyAnalysis.isLikelyFlaky) {\n saveProjectMemory({\n learnings: [{\n type: flakyAnalysis.patterns[0]?.pattern === \"selector\" ? \"selector_fix\" : \"timing_fix\",\n request,\n framework: fw,\n fix: fixedCode.slice(0, 500),\n success: false,\n timestamp: new Date().toISOString(),\n }],\n });\n }\n } catch (err) {\n learnings.push({ attempt, action: \"error\", result: err.message });\n return {\n content: [{ type: \"text\", text: `Erro na tentativa ${attempt}: ${err.message}` }],\n structuredContent: { ok: false, error: err.message, attempts: attempt, finalStatus: \"failed\", learnings },\n };\n }\n }\n\n return {\n content: [{ type: \"text\", text: `❌ Falhou após ${maxRetries} tentativa(s).` }],\n structuredContent: { ok: false, testFilePath, attempts: maxRetries, finalStatus: \"max_retries\", learnings },\n };\n }\n);\n\nserver.registerTool(\n \"create_test_template\",\n {\n title: \"Criar template de teste\",\n description: \"Gera template básico de teste (boilerplate) para o framework escolhido.\",\n inputSchema: z.object({\n framework: z.enum([\"cypress\", \"playwright\", \"jest\"]).describe(\"Framework.\"),\n type: z.enum([\"api\", \"ui\", \"unit\"]).optional().describe(\"Tipo de teste. Default: api.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n template: z.string(),\n suggestedFileName: z.string(),\n }),\n },\n async ({ framework, type = \"api\" }) => {\n let template = \"\";\n let fileName = \"\";\n\n if (framework === \"cypress\") {\n fileName = `${type}-test.cy.js`;\n template = `describe('${type.toUpperCase()} Test', () => {\n it('should pass', () => {\n ${type === \"api\" ? \"cy.request('GET', 'http://localhost:3000/api/health').then((res) => {\\n expect(res.status).to.eq(200);\\n });\" : \"cy.visit('/');\\n cy.get('h1').should('be.visible');\"}\n });\n});`;\n } else if (framework === \"playwright\") {\n fileName = `${type}-test.spec.js`;\n template = `const { test, expect } = require('@playwright/test');\n\ntest.describe('${type.toUpperCase()} Test', () => {\n test('should pass', async ({ ${type === \"api\" ? \"request\" : \"page\"} }) => {\n ${type === \"api\" ? \"const res = await request.get('http://localhost:3000/api/health');\\n expect(res.status()).toBe(200);\" : \"await page.goto('/');\\n await expect(page.locator('h1')).toBeVisible();\"}\n });\n});`;\n } else {\n fileName = `${type}-test.test.js`;\n template = `describe('${type.toUpperCase()} Test', () => {\n test('should pass', ${type === \"api\" ? \"async () => {\\n const res = await fetch('http://localhost:3000/api/health');\\n expect(res.status).toBe(200);\\n }\" : \"() => {\\n expect(true).toBe(true);\\n }\"});\n});`;\n }\n\n return {\n content: [{ type: \"text\", text: `Template criado. Use write_test para gravar.` }],\n structuredContent: { ok: true, template, suggestedFileName: fileName },\n };\n }\n);\n\nasync function main() {\n const cmd = process.argv[2];\n\n if (cmd === \"--help\" || cmd === \"-h\") {\n console.log(`\nmcp-lab-agent - Agente autônomo de QA que aprende com os próprios erros\n\nUSO:\n mcp-lab-agent [comando] # Sem comando: inicia servidor MCP\n mcp-lab-agent --help # Mostra esta ajuda\n\nCOMANDOS CLI:\n detect [--json] Detecta frameworks e estrutura. Padrão: resumo. --json: JSON completo para scripts.\n route <tarefa> Sugere qual ferramenta usar (ex: route \"rodar testes\")\n list Lista ferramentas MCP disponíveis\n auto <descrição> [--max-retries N] [NOVO] Modo autônomo: gera teste, roda, corrige e aprende (default: 3 tentativas)\n stats [NOVO] Mostra estatísticas de aprendizado (taxa de sucesso, correções, etc.)\n\nEXEMPLOS:\n mcp-lab-agent auto \"login flow\" --max-retries 5\n mcp-lab-agent stats\n mcp-lab-agent detect --json\n\nINTEGRAÇÃO MCP (Cursor/Cline/Windsurf):\n Adicione ao ~/.cursor/mcp.json:\n {\n \"mcpServers\": {\n \"qa-lab-agent\": {\n \"command\": \"npx\",\n \"args\": [\"-y\", \"mcp-lab-agent\"],\n \"cwd\": \"\\${workspaceFolder}\"\n }\n }\n }\n`);\n process.exit(0);\n }\n\n if (cmd === \"detect\") {\n const structure = detectProjectStructure();\n const jsonOnly = process.argv.includes(\"--json\");\n if (jsonOnly) {\n console.log(JSON.stringify(structure, null, 2));\n } else {\n const lines = [\n \"\",\n \"mcp-lab-agent · detecção\",\n \"─\".repeat(40),\n `Frameworks: ${structure.testFrameworks.length ? structure.testFrameworks.join(\", \") : \"nenhum\"}`,\n `Pastas: ${structure.testDirs.length ? structure.testDirs.join(\", \") : \"nenhuma\"}`,\n `Backend: ${structure.backendDir || \"—\"}`,\n `Frontend: ${structure.frontendDir || \"—\"}`,\n `Mobile: ${structure.hasMobile ? \"sim\" : \"—\"}`,\n \"─\".repeat(40),\n \"(use --json para saída completa)\",\n \"\",\n ];\n console.log(lines.join(\"\\n\"));\n }\n process.exit(0);\n }\n\n if (cmd === \"list\") {\n const agents = Object.entries(QA_AGENTS).map(([k, v]) => ` ${k}: ${v.tools.join(\", \")}`);\n console.log(\"Agentes e ferramentas:\\n\" + agents.join(\"\\n\"));\n process.exit(0);\n }\n\n if (cmd === \"route\" && process.argv[3]) {\n const task = process.argv.slice(3).join(\" \");\n const t = task.toLowerCase();\n let agent = \"detection\";\n if (/autônomo|auto|completo|loop|aprende|corrige automaticamente/i.test(t)) agent = \"autonomous\";\n else if (/estatística|métrica de aprendizado|taxa de sucesso|learning|stats/i.test(t)) agent = \"learning\";\n else if (/rodar|executar|run|test|coverage|watch/i.test(t)) agent = \"execution\";\n else if (/gerar|criar|escrever|generate|write|template/i.test(t)) agent = \"generation\";\n else if (/analisar|por que|falhou|sugerir|fix|selector/i.test(t)) agent = \"analysis\";\n else if (/browser|navegador|screenshot|network|console/i.test(t)) agent = \"browser\";\n else if (/relatório|métrica|bug report/i.test(t)) agent = \"reporting\";\n else if (/linter|dependência|instalar|analisar método/i.test(t)) agent = \"maintenance\";\n const a = QA_AGENTS[agent] || QA_AGENTS.detection;\n console.log(JSON.stringify({ suggestedAgent: agent, suggestedTools: a.tools, description: a.desc }, null, 2));\n process.exit(0);\n }\n\n if (cmd === \"auto\") {\n const request = process.argv.slice(3).join(\" \");\n if (!request) {\n console.error(\"❌ Uso: mcp-lab-agent auto <descrição do teste> [--max-retries N]\");\n process.exit(1);\n }\n const maxRetriesIdx = process.argv.indexOf(\"--max-retries\");\n const maxRetries = maxRetriesIdx !== -1 && process.argv[maxRetriesIdx + 1] ? parseInt(process.argv[maxRetriesIdx + 1], 10) : 3;\n const cleanRequest = request.replace(/--max-retries\\s+\\d+/g, \"\").trim();\n\n console.log(`\\n🤖 Modo autônomo iniciado: \"${cleanRequest}\"\\n`);\n const structure = detectProjectStructure();\n const fw = structure.testFrameworks[0];\n if (!fw) {\n console.error(\"❌ Nenhum framework detectado.\");\n process.exit(1);\n }\n\n const llm = resolveLLMProvider(\"simple\");\n if (!llm.apiKey) {\n console.error(\"❌ Configure GROQ_API_KEY, GEMINI_API_KEY ou OPENAI_API_KEY no .env\");\n process.exit(1);\n }\n\n const memory = loadProjectMemory();\n const contextLines = [\n `Frameworks: ${structure.testFrameworks.join(\", \")}`,\n `Pastas: ${structure.testDirs.join(\", \")}`,\n memory.flows?.length ? `Fluxos: ${memory.flows.map((f) => f.name || f.id).join(\", \")}` : \"\",\n ].filter(Boolean).join(\"\\n\");\n\n let testFilePath = null;\n let testContent = null;\n\n for (let attempt = 1; attempt <= maxRetries; attempt++) {\n console.log(`\\n[Tentativa ${attempt}/${maxRetries}] Gerando teste...`);\n\n const { provider, apiKey, baseUrl, model } = llm;\n const memoryHints = memory.learnings?.filter((l) => l.success).slice(-10).map((l) => l.fix).join(\"\\n\") || \"\";\n const systemPrompt = `Você é um engenheiro de QA especializado em ${fw}. Gere APENAS o código do spec, sem explicações.\n${memoryHints ? `\\nAprendizados anteriores (use como referência):\\n${memoryHints.slice(0, 1000)}` : \"\"}\nRetorne SOMENTE o código, sem markdown.`;\n\n const userPrompt = `Contexto:\\n${contextLines}\\n\\nGere teste para: ${cleanRequest}\\nFramework: ${fw}`;\n\n try {\n let specContent = \"\";\n if (provider === \"gemini\") {\n const url = `${baseUrl}/models/${model}:generateContent?key=${apiKey}`;\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n contents: [{ parts: [{ text: systemPrompt + \"\\n\\n\" + userPrompt }] }],\n generationConfig: { temperature: 0.3, maxOutputTokens: 4096 },\n }),\n });\n const data = await res.json();\n specContent = data.candidates?.[0]?.content?.parts?.[0]?.text || \"\";\n } else {\n const res = await fetch(`${baseUrl}/chat/completions`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\", Authorization: `Bearer ${apiKey}` },\n body: JSON.stringify({\n model,\n messages: [{ role: \"system\", content: systemPrompt }, { role: \"user\", content: userPrompt }],\n temperature: 0.3,\n max_tokens: 4096,\n }),\n });\n const data = await res.json();\n specContent = data.choices?.[0]?.message?.content || \"\";\n }\n specContent = specContent.replace(/^```(?:js|javascript|typescript)?\\n?/i, \"\").replace(/\\n?```\\s*$/i, \"\").trim();\n testContent = specContent;\n\n if (!testFilePath) {\n const fileName = cleanRequest.toLowerCase().replace(/\\s+/g, \"-\").replace(/[^a-z0-9-]/g, \"\").slice(0, 30);\n const { ext, baseDir } = getExtensionAndBaseDir(fw, structure);\n const safeName = fileName + ext;\n testFilePath = path.join(baseDir, safeName);\n if (!fs.existsSync(baseDir)) fs.mkdirSync(baseDir, { recursive: true });\n }\n fs.writeFileSync(testFilePath, testContent, \"utf8\");\n console.log(`✅ Teste gravado: ${testFilePath}`);\n\n console.log(`\\n[Tentativa ${attempt}/${maxRetries}] Executando teste...`);\n const runResult = await new Promise((resolve) => {\n const child = spawn(\"npx\", [fw === \"cypress\" ? \"cypress\" : fw === \"playwright\" ? \"playwright\" : fw, fw === \"cypress\" ? \"run\" : fw === \"playwright\" ? \"test\" : \"run\", testFilePath], {\n cwd: PROJECT_ROOT,\n stdio: [\"inherit\", \"pipe\", \"pipe\"],\n shell: process.platform === \"win32\",\n });\n let stdout = \"\", stderr = \"\";\n if (child.stdout) child.stdout.on(\"data\", (d) => { stdout += d.toString(); });\n if (child.stderr) child.stderr.on(\"data\", (d) => { stderr += d.toString(); });\n child.on(\"close\", (code) => resolve({ code, output: [stdout, stderr].filter(Boolean).join(\"\\n\") }));\n });\n\n if (runResult.code === 0) {\n console.log(`\\n✅ Teste passou na tentativa ${attempt}!`);\n saveProjectMemory({\n learnings: [{ type: \"test_generated\", request: cleanRequest, framework: fw, success: true, passedFirstTime: attempt === 1, attempts: attempt, timestamp: new Date().toISOString() }],\n });\n console.log(`\\n📊 Aprendizado salvo. Use \"mcp-lab-agent stats\" para ver métricas.\\n`);\n process.exit(0);\n }\n\n console.log(`\\n❌ Teste falhou (exit ${runResult.code})`);\n console.log(`\\nSaída:\\n${runResult.output.slice(0, 800)}\\n`);\n\n if (attempt >= maxRetries) {\n console.log(`\\n❌ Limite de tentativas atingido (${maxRetries}).\\n`);\n saveProjectMemory({\n learnings: [{ type: \"test_generated\", request: cleanRequest, framework: fw, success: false, attempts: attempt, timestamp: new Date().toISOString() }],\n });\n process.exit(1);\n }\n\n console.log(`\\n[Tentativa ${attempt}/${maxRetries}] Analisando falha...`);\n const flakyAnalysis = detectFlakyPatterns(runResult.output);\n if (flakyAnalysis.isLikelyFlaky) {\n console.log(`⚠️ Flaky detectado (${flakyAnalysis.confidence.toFixed(2)}): ${flakyAnalysis.patterns.map((p) => p.pattern).join(\", \")}`);\n }\n\n const explainResult = await generateFailureExplanation(runResult.output, testFilePath);\n if (!explainResult.ok || !explainResult.structuredContent?.sugestaoCorrecao) {\n console.log(`⚠️ Não foi possível gerar correção. Tentando novamente...`);\n continue;\n }\n\n console.log(`\\n[Tentativa ${attempt}/${maxRetries}] Aplicando correção...`);\n const fixedCode = explainResult.structuredContent.sugestaoCorrecao;\n testContent = fixedCode;\n fs.writeFileSync(testFilePath, testContent, \"utf8\");\n console.log(`✅ Correção aplicada.`);\n\n if (flakyAnalysis.isLikelyFlaky) {\n saveProjectMemory({\n learnings: [{\n type: flakyAnalysis.patterns[0]?.pattern === \"selector\" ? \"selector_fix\" : \"timing_fix\",\n request: cleanRequest,\n framework: fw,\n fix: fixedCode.slice(0, 500),\n success: false,\n timestamp: new Date().toISOString(),\n }],\n });\n }\n } catch (err) {\n console.error(`\\n❌ Erro na tentativa ${attempt}: ${err.message}\\n`);\n process.exit(1);\n }\n }\n\n console.log(`\\n❌ Falhou após ${maxRetries} tentativa(s).\\n`);\n process.exit(1);\n }\n\n if (cmd === \"stats\") {\n const stats = getMemoryStats();\n console.log(`\n📊 Estatísticas de Aprendizado\n\nTotal de aprendizados: ${stats.totalLearnings}\nCorreções bem-sucedidas: ${stats.successfulFixes}\nCorreções de seletores: ${stats.selectorFixes}\nCorreções de timing: ${stats.timingFixes}\nTestes gerados: ${stats.testsGenerated}\nTaxa de sucesso na 1ª tentativa: ${stats.firstAttemptSuccessRate}%\n\n${stats.totalLearnings === 0 ? \"⚠️ Ainda não há aprendizados. Use 'mcp-lab-agent auto <descrição>' para gerar testes e aprender com erros.\" : \"\"}\n`);\n process.exit(0);\n }\n\n const transport = new StdioServerTransport();\n await server.connect(transport);\n}\n\nmain().catch((err) => {\n console.error(\"Erro no MCP server:\", err);\n process.exit(1);\n});\n"],"mappings":";;;AAMA,SAAS,cAAc;AACvB,SAAS,iBAAiB;AAC1B,SAAS,4BAA4B;AACrC,SAAS,SAAS;AAClB,SAAS,aAAa;AACtB,OAAO,UAAU;AACjB,OAAO,QAAQ;AAEf,IAAM,eAAe,QAAQ,IAAI;AACjC,OAAO,EAAE,MAAM,KAAK,KAAK,cAAc,MAAM,EAAE,CAAC;AAEhD,IAAM,SAAS,IAAI,UAAU;AAAA,EAC3B,MAAM;AAAA,EACN,SAAS;AACX,CAAC;AAWD,SAAS,mBAAmB,WAAW,UAAU;AAC/C,QAAM,WAAW,QAAQ,IAAI;AAC7B,QAAM,aAAa,QAAQ,IAAI;AAC/B,QAAM,aAAa,QAAQ,IAAI,kBAAkB,QAAQ,IAAI;AAC7D,QAAM,aAAa,QAAQ,IAAI,mBAAmB;AAClD,QAAM,aAAa,QAAQ,IAAI;AAE/B,QAAM,cAAc,QAAQ,IAAI;AAChC,QAAM,eAAe,QAAQ,IAAI;AAEjC,MAAI,YAAY;AACd,UAAMA,SAAQ,aAAa,YAAa,gBAAgB,iBAAmB,eAAe;AAC1F,WAAO,EAAE,UAAU,UAAU,QAAQ,QAAQ,IAAI,sBAAsB,cAAc,SAAS,YAAY,OAAAA,OAAM;AAAA,EAClH;AAEA,MAAI,CAAC,YAAY,CAAC,cAAc,CAAC,YAAY;AAC3C,UAAMA,SAAQ,aAAa,YAAa,gBAAgB,iBAAmB,eAAe;AAC1F,WAAO,EAAE,UAAU,UAAU,QAAQ,cAAc,SAAS,GAAG,UAAU,OAAO,OAAAA,OAAM;AAAA,EACxF;AAEA,MAAI,WAAW,WAAW,SAAS,aAAa,WAAW;AAC3D,QAAM,SAAS,YAAY,cAAc;AACzC,QAAM,UAAU,aAAa,SACzB,mCACA,aAAa,WACX,qDACA;AAEN,MAAI;AACJ,MAAI,aAAa,WAAW;AAC1B,YAAQ,iBAAiB,aAAa,SAAS,4BAA4B,aAAa,WAAW,mBAAmB;AAAA,EACxH,OAAO;AACL,YAAQ,gBAAgB,aAAa,SAAS,yBAAyB,aAAa,WAAW,qBAAqB;AAAA,EACtH;AAEA,SAAO,EAAE,UAAU,QAAQ,SAAS,MAAM;AAC5C;AAMA,IAAM,cAAc,KAAK,KAAK,cAAc,qBAAqB;AACjE,IAAM,oBAAoB,KAAK,KAAK,cAAc,mBAAmB;AAErE,SAAS,oBAAoB;AAC3B,QAAM,SAAS,EAAE,UAAU,CAAC,GAAG,aAAa,CAAC,GAAG,SAAS,MAAM,WAAW,CAAC,EAAE;AAC7E,MAAI,GAAG,WAAW,WAAW,GAAG;AAC9B,QAAI;AACF,YAAM,MAAM,GAAG,aAAa,aAAa,MAAM;AAC/C,aAAO,OAAO,QAAQ,KAAK,MAAM,GAAG,CAAC;AAAA,IACvC,QAAQ;AAAA,IAAC;AAAA,EACX;AACA,MAAI,GAAG,WAAW,iBAAiB,GAAG;AACpC,QAAI;AACF,YAAM,QAAQ,KAAK,MAAM,GAAG,aAAa,mBAAmB,MAAM,CAAC;AACnE,aAAO,QAAQ,MAAM,SAAS,CAAC;AAAA,IACjC,QAAQ;AAAA,IAAC;AAAA,EACX;AACA,SAAO;AACT;AAEA,SAAS,kBAAkB,SAAS;AAClC,MAAI;AACF,QAAI,OAAO,kBAAkB;AAC7B,QAAI,QAAQ,SAAU,MAAK,WAAW,EAAE,GAAG,KAAK,UAAU,GAAG,QAAQ,SAAS;AAC9E,QAAI,QAAQ,YAAa,MAAK,cAAc,EAAE,GAAG,KAAK,aAAa,GAAG,QAAQ,YAAY;AAC1F,QAAI,QAAQ,UAAW,MAAK,YAAY,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAI,KAAK,aAAa,CAAC,GAAI,GAAG,QAAQ,SAAS,CAAC,CAAC,EAAE,MAAM,IAAI;AAClH,QAAI,QAAQ,QAAS,MAAK,UAAU,QAAQ;AAC5C,QAAI,QAAQ,WAAW;AACrB,WAAK,YAAY,KAAK,aAAa,CAAC;AACpC,WAAK,UAAU,KAAK,GAAG,QAAQ,SAAS;AACxC,UAAI,KAAK,UAAU,SAAS,IAAK,MAAK,YAAY,KAAK,UAAU,MAAM,IAAI;AAAA,IAC7E;AACA,SAAK,aAAY,oBAAI,KAAK,GAAE,YAAY;AACxC,OAAG,cAAc,aAAa,KAAK,UAAU,MAAM,MAAM,CAAC,GAAG,MAAM;AAAA,EACrE,QAAQ;AAAA,EAAC;AACX;AAEA,SAAS,iBAAiB;AACxB,QAAM,SAAS,kBAAkB;AACjC,QAAM,YAAY,OAAO,aAAa,CAAC;AACvC,QAAM,kBAAkB,UAAU,OAAO,CAAC,MAAM,EAAE,OAAO;AACzD,QAAM,gBAAgB,UAAU,OAAO,CAAC,MAAM,EAAE,SAAS,cAAc;AACvE,QAAM,cAAc,UAAU,OAAO,CAAC,MAAM,EAAE,SAAS,YAAY;AACnE,QAAM,aAAa,UAAU,OAAO,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE;AACxE,QAAM,sBAAsB,UAAU,OAAO,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,eAAe,EAAE;AAEtG,SAAO;AAAA,IACL,gBAAgB,UAAU;AAAA,IAC1B,iBAAiB,gBAAgB;AAAA,IACjC,eAAe,cAAc;AAAA,IAC7B,aAAa,YAAY;AAAA,IACzB,gBAAgB;AAAA,IAChB,yBAAyB,aAAa,IAAI,KAAK,MAAO,sBAAsB,aAAc,GAAG,IAAI;AAAA,EACnG;AACF;AAMA,IAAM,iBAAiB;AAAA,EACrB,EAAE,MAAM,UAAU,OAAO,8DAA8D,YAAY,8EAA2E;AAAA,EAC9K,EAAE,MAAM,YAAY,OAAO,sDAAsD,YAAY,0GAAuG;AAAA,EACpM,EAAE,MAAM,YAAY,OAAO,4EAA4E,YAAY,oGAA2F;AAAA,EAC9M,EAAE,MAAM,WAAW,OAAO,4DAA4D,YAAY,8EAA8E;AAAA,EAChL,EAAE,MAAM,gBAAgB,OAAO,iDAAiD,YAAY,+FAA4F;AAC1L;AAEA,SAAS,oBAAoB,WAAW;AACtC,QAAM,WAAW,CAAC;AAClB,aAAW,KAAK,gBAAgB;AAC9B,QAAI,EAAE,MAAM,KAAK,SAAS,GAAG;AAC3B,eAAS,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,EAAE,WAAW,CAAC;AAAA,IAC7D;AAAA,EACF;AACA,QAAM,aAAa,SAAS,SAAS,IAAI,KAAK,IAAI,MAAM,SAAS,SAAS,KAAK,IAAI,IAAI;AACvF,SAAO,EAAE,eAAe,aAAa,KAAK,YAAY,UAAU,SAAS;AAC3E;AAMA,SAAS,yBAAyB;AAChC,QAAM,YAAY;AAAA,IAChB,UAAU;AAAA,IACV,gBAAgB,CAAC;AAAA,IACjB,UAAU,CAAC;AAAA,IACX,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,WAAW;AAAA,IACX,aAAa;AAAA,IACb,oBAAoB;AAAA,EACtB;AAGA,QAAM,UAAU,KAAK,KAAK,cAAc,cAAc;AACtD,MAAI,GAAG,WAAW,OAAO,GAAG;AAC1B,cAAU,cAAc,KAAK,MAAM,GAAG,aAAa,SAAS,MAAM,CAAC;AACnE,UAAM,OAAO;AAAA,MACX,GAAG,UAAU,YAAY;AAAA,MACzB,GAAG,UAAU,YAAY;AAAA,IAC3B;AAGA,QAAI,KAAK,SAAS;AAChB,gBAAU,eAAe,KAAK,SAAS;AACvC,gBAAU,WAAW;AAAA,IACvB;AACA,QAAI,KAAK,kBAAkB,KAAK,KAAK,YAAY;AAC/C,gBAAU,eAAe,KAAK,YAAY;AAC1C,gBAAU,WAAW;AAAA,IACvB;AACA,QAAI,KAAK,eAAe,KAAK,WAAW,GAAG;AACzC,gBAAU,eAAe,KAAK,aAAa;AAC3C,gBAAU,WAAW;AAAA,IACvB;AAGA,QAAI,KAAK,MAAM;AACb,gBAAU,eAAe,KAAK,MAAM;AACpC,gBAAU,WAAW;AAAA,IACvB;AACA,QAAI,KAAK,QAAQ;AACf,gBAAU,eAAe,KAAK,QAAQ;AACtC,gBAAU,WAAW;AAAA,IACvB;AACA,QAAI,KAAK,OAAO;AACd,gBAAU,eAAe,KAAK,OAAO;AACrC,gBAAU,WAAW;AAAA,IACvB;AACA,QAAI,KAAK,SAAS;AAChB,gBAAU,eAAe,KAAK,SAAS;AACvC,gBAAU,WAAW;AAAA,IACvB;AAGA,QAAI,KAAK,UAAU,KAAK,oBAAoB,GAAG;AAC7C,gBAAU,eAAe,KAAK,QAAQ;AACtC,gBAAU,WAAW;AACrB,gBAAU,YAAY;AAAA,IACxB;AACA,QAAI,KAAK,OAAO;AACd,gBAAU,eAAe,KAAK,OAAO;AACrC,gBAAU,WAAW;AACrB,gBAAU,YAAY;AAAA,IACxB;AAGA,QAAI,KAAK,WAAW;AAClB,gBAAU,eAAe,KAAK,WAAW;AACzC,gBAAU,WAAW;AAAA,IACvB;AACA,QAAI,KAAK,gBAAgB,KAAK,KAAK,QAAQ;AACzC,gBAAU,eAAe,KAAK,QAAQ;AACtC,gBAAU,WAAW;AAAA,IACvB;AAGA,QAAI,KAAK,YAAY,KAAK,UAAU,GAAG;AACrC,gBAAU,eAAe,KAAK,UAAU;AACxC,gBAAU,WAAW;AAAA,IACvB;AACA,QAAI,KAAK,cAAc,KAAK,YAAY,GAAG;AACzC,gBAAU,eAAe,KAAK,YAAY;AAC1C,gBAAU,WAAW;AAAA,IACvB;AACA,QAAI,KAAK,WAAW;AAClB,gBAAU,eAAe,KAAK,WAAW;AACzC,gBAAU,WAAW;AAAA,IACvB;AACA,QAAI,KAAK,cAAc,KAAK,YAAY,GAAG;AACzC,gBAAU,eAAe,KAAK,YAAY;AAC1C,gBAAU,WAAW;AAAA,IACvB;AAGA,QAAI,KAAK,WAAW,KAAK,WAAW,KAAK,cAAc,KAAK,KAAK,KAAK;AACpE,gBAAU,aAAa;AAAA,IACzB;AAGA,QAAI,KAAK,QAAQ,KAAK,SAAS,KAAK,OAAO,KAAK,UAAU,KAAK,SAAS;AACtE,gBAAU,cAAc;AAAA,IAC1B;AAAA,EACF;AAGA,QAAM,mBAAmB,KAAK,KAAK,cAAc,kBAAkB;AACnE,MAAI,GAAG,WAAW,gBAAgB,GAAG;AACnC,UAAM,eAAe,GAAG,aAAa,kBAAkB,MAAM;AAC7D,cAAU,qBAAqB;AAE/B,QAAI,kBAAkB,KAAK,YAAY,GAAG;AACxC,gBAAU,eAAe,KAAK,OAAO;AACrC,gBAAU,WAAW;AAAA,IACvB;AACA,QAAI,UAAU,KAAK,YAAY,GAAG;AAChC,gBAAU,eAAe,KAAK,QAAQ;AACtC,gBAAU,WAAW;AAAA,IACvB;AACA,QAAI,UAAU,KAAK,YAAY,GAAG;AAChC,gBAAU,eAAe,KAAK,QAAQ;AACtC,gBAAU,WAAW;AAAA,IACvB;AACA,QAAI,YAAY,KAAK,YAAY,GAAG;AAClC,gBAAU,aAAa;AAAA,IACzB;AAAA,EACF;AAGA,QAAM,iBAAiB;AAAA,IACrB;AAAA,IAAS;AAAA,IAAQ;AAAA,IAAO;AAAA,IAAW;AAAA,IAAc;AAAA,IACjD;AAAA,IAAS;AAAA,IAAQ;AAAA,IAAe;AAAA,IAAQ;AAAA,IAAc;AAAA,IACtD;AAAA,IAAY;AAAA,IAAa;AAAA,IAAU;AAAA;AAAA,IAEnC;AAAA,IAAiB;AAAA,IAAgB;AAAA,IAAe;AAAA,IAChD;AAAA,IAAiB;AAAA,IAAc;AAAA,IAAmB;AAAA,EACpD;AACA,aAAW,OAAO,gBAAgB;AAChC,UAAM,WAAW,KAAK,KAAK,cAAc,GAAG;AAC5C,QAAI,GAAG,WAAW,QAAQ,KAAK,GAAG,SAAS,QAAQ,EAAE,YAAY,GAAG;AAClE,gBAAU,SAAS,KAAK,GAAG;AAAA,IAC7B;AAAA,EACF;AAGA,QAAM,WAAW,CAAC,gBAAgB,QAAQ,QAAQ,SAAS,SAAS,OAAO;AAC3E,MAAI;AACF,UAAM,cAAc,GAAG,YAAY,cAAc,EAAE,eAAe,KAAK,CAAC;AACxE,eAAW,KAAK,aAAa;AAC3B,UAAI,CAAC,EAAE,YAAY,KAAK,SAAS,SAAS,EAAE,IAAI,EAAG;AACnD,YAAM,UAAU,KAAK,KAAK,cAAc,EAAE,IAAI;AAC9C,UAAI,UAAU,SAAS,SAAS,EAAE,IAAI,EAAG;AAEzC,YAAM,SAAS,GAAG,WAAW,KAAK,KAAK,SAAS,cAAc,CAAC;AAC/D,YAAM,WAAW,GAAG,WAAW,KAAK,KAAK,SAAS,OAAO,CAAC,KACxD,GAAG,WAAW,KAAK,KAAK,SAAS,MAAM,CAAC,KACxC,GAAG,WAAW,KAAK,KAAK,SAAS,KAAK,CAAC,KACvC,GAAG,WAAW,KAAK,KAAK,SAAS,WAAW,CAAC,KAC7C,GAAG,WAAW,KAAK,KAAK,SAAS,OAAO,CAAC;AAC3C,UAAI,UAAU,UAAU;AACtB,kBAAU,SAAS,KAAK,EAAE,IAAI;AAAA,MAChC;AAAA,IACF;AAAA,EACF,QAAQ;AAAA,EAAC;AAGT,aAAW,OAAO,UAAU,UAAU;AACpC,UAAM,SAAS,KAAK,KAAK,cAAc,KAAK,cAAc;AAC1D,QAAI,CAAC,GAAG,WAAW,MAAM,EAAG;AAC5B,QAAI;AACF,YAAM,MAAM,KAAK,MAAM,GAAG,aAAa,QAAQ,MAAM,CAAC;AACtD,YAAM,UAAU,EAAE,GAAI,IAAI,gBAAgB,CAAC,GAAI,GAAI,IAAI,mBAAmB,CAAC,EAAG;AAC9E,YAAM,QAAQ,CAAC;AACf,UAAI,QAAQ,WAAW,CAAC,UAAU,eAAe,SAAS,SAAS,EAAG,OAAM,KAAK,SAAS;AAC1F,WAAK,QAAQ,kBAAkB,KAAK,QAAQ,eAAe,CAAC,UAAU,eAAe,SAAS,YAAY,EAAG,OAAM,KAAK,YAAY;AACpI,WAAK,QAAQ,eAAe,QAAQ,WAAW,MAAM,CAAC,UAAU,eAAe,SAAS,aAAa,EAAG,OAAM,KAAK,aAAa;AAChI,UAAI,QAAQ,YAAY,CAAC,UAAU,eAAe,SAAS,UAAU,EAAG,OAAM,KAAK,UAAU;AAC7F,UAAI,QAAQ,cAAc,CAAC,UAAU,eAAe,SAAS,YAAY,EAAG,OAAM,KAAK,YAAY;AACnG,UAAI,QAAQ,aAAa,CAAC,UAAU,eAAe,SAAS,WAAW,EAAG,OAAM,KAAK,WAAW;AAChG,UAAI,QAAQ,cAAc,CAAC,UAAU,eAAe,SAAS,YAAY,EAAG,OAAM,KAAK,YAAY;AACnG,UAAI,QAAQ,QAAQ,CAAC,UAAU,eAAe,SAAS,MAAM,EAAG,OAAM,KAAK,MAAM;AACjF,YAAM,QAAQ,CAAC,OAAO;AAAE,kBAAU,eAAe,KAAK,EAAE;AAAG,kBAAU,WAAW;AAAA,MAAM,CAAC;AAAA,IACzF,QAAQ;AAAA,IAAC;AAAA,EACX;AAGA,aAAW,OAAO,UAAU,UAAU;AACpC,UAAM,UAAU,KAAK,KAAK,cAAc,KAAK,kBAAkB;AAC/D,QAAI,CAAC,GAAG,WAAW,OAAO,EAAG;AAC7B,QAAI;AACF,YAAM,MAAM,GAAG,aAAa,SAAS,MAAM;AAC3C,UAAI,kBAAkB,KAAK,GAAG,KAAK,CAAC,UAAU,eAAe,SAAS,OAAO,GAAG;AAC9E,kBAAU,eAAe,KAAK,OAAO;AACrC,kBAAU,WAAW;AAAA,MACvB;AACA,UAAI,mBAAmB,KAAK,GAAG,KAAK,CAAC,UAAU,eAAe,SAAS,QAAQ,GAAG;AAChF,kBAAU,eAAe,KAAK,QAAQ;AACtC,kBAAU,WAAW;AAAA,MACvB;AAAA,IACF,QAAQ;AAAA,IAAC;AAAA,EACX;AAGA,QAAM,oBAAoB,CAAC,WAAW,UAAU,OAAO,KAAK;AAC5D,aAAW,OAAO,mBAAmB;AACnC,UAAM,WAAW,KAAK,KAAK,cAAc,GAAG;AAC5C,QAAI,GAAG,WAAW,QAAQ,KAAK,CAAC,UAAU,YAAY;AACpD,YAAM,gBAAgB,GAAG,WAAW,KAAK,KAAK,UAAU,WAAW,CAAC,KAClE,GAAG,WAAW,KAAK,KAAK,UAAU,UAAU,CAAC,KAC7C,GAAG,WAAW,KAAK,KAAK,UAAU,QAAQ,CAAC;AAC7C,UAAI,eAAe;AACjB,kBAAU,aAAa;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AAGA,QAAM,qBAAqB,CAAC,YAAY,UAAU,OAAO,OAAO,KAAK;AACrE,aAAW,OAAO,oBAAoB;AACpC,UAAM,WAAW,KAAK,KAAK,cAAc,GAAG;AAC5C,QAAI,GAAG,WAAW,QAAQ,KAAK,CAAC,UAAU,aAAa;AACrD,YAAM,aAAa,GAAG,WAAW,KAAK,KAAK,UAAU,QAAQ,CAAC,KAC5D,GAAG,WAAW,KAAK,KAAK,UAAU,SAAS,CAAC,KAC5C,GAAG,WAAW,KAAK,KAAK,UAAU,YAAY,CAAC;AACjD,UAAI,YAAY;AACd,kBAAU,cAAc;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAMA,IAAM,0BAA0B;AAAA,EAC9B;AAAA,EACA;AAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,SAAS,WAAW,MAAM;AACxB,SAAO,wBAAwB,KAAK,CAAC,OAAO,GAAG,KAAK,IAAI,CAAC;AAC3D;AAEA,SAAS,iBAAiB,WAAW,UAAU,CAAC,GAAG;AACjD,QAAM,EAAE,SAAS,WAAW,kBAAkB,EAAE,IAAI;AACpD,QAAM,UAAU,CAAC;AAEjB,aAAW,OAAO,UAAU,UAAU;AACpC,UAAM,WAAW,KAAK,KAAK,cAAc,GAAG;AAC5C,UAAM,OAAO,CAAC,GAAG,OAAO,OAAO;AAC7B,UAAI,CAAC,GAAG,WAAW,CAAC,EAAG;AACvB,YAAM,UAAU,GAAG,YAAY,GAAG,EAAE,eAAe,KAAK,CAAC;AACzD,iBAAW,KAAK,SAAS;AACvB,cAAM,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,EAAE;AAC3C,YAAI,EAAE,YAAY,GAAG;AACnB,cAAI,EAAE,SAAS,kBAAkB,EAAE,SAAS,UAAU,EAAE,SAAS,QAAS;AAC1E,eAAK,KAAK,KAAK,GAAG,EAAE,IAAI,GAAG,GAAG;AAAA,QAChC,WAAW,EAAE,OAAO,KAAK,WAAW,EAAE,IAAI,GAAG;AAC3C,gBAAM,WAAW,GAAG,GAAG,IAAI,GAAG;AAC9B,cAAI,WAAW,CAAC,SAAS,YAAY,EAAE,SAAS,QAAQ,YAAY,CAAC,EAAG;AACxE,gBAAM,aAAa,uBAAuB,EAAE,MAAM,WAAW,QAAQ;AACrE,cAAI,aAAa,cAAc,SAAS,eAAe,aAAa,CAAC,iBAAiB,YAAY,SAAS,EAAG;AAC9G,gBAAM,QAAQ,EAAE,MAAM,UAAU,mBAAmB,WAAW;AAC9D,cAAI,kBAAkB,KAAK,QAAQ,SAAS,iBAAiB;AAC3D,gBAAI;AACF,oBAAM,UAAU,GAAG,aAAa,KAAK,KAAK,cAAc,QAAQ,GAAG,MAAM;AAAA,YAC3E,QAAQ;AAAA,YAAC;AAAA,UACX;AACA,kBAAQ,KAAK,KAAK;AAAA,QACpB;AAAA,MACF;AAAA,IACF;AACA,SAAK,QAAQ;AAAA,EACf;AACA,SAAO;AACT;AAEA,SAAS,uBAAuB,MAAM,YAAY,CAAC,GAAG,WAAW,IAAI;AACnE,QAAM,aAAa,YAAY,IAAI,YAAY,EAAE,QAAQ,OAAO,GAAG;AAEnE,MAAI,oBAAoB,KAAK,SAAS,EAAG,QAAO;AAChD,MAAI,uBAAuB,KAAK,SAAS,EAAG,QAAO;AACnD,MAAI,qCAAqC,KAAK,SAAS,EAAG,QAAO;AACjE,MAAI,mBAAmB,KAAK,SAAS,EAAG,QAAO;AAC/C,MAAI,2CAA2C,KAAK,SAAS,EAAG,QAAO;AACvE,MAAI,kBAAkB,KAAK,SAAS,EAAG,QAAO;AAC9C,MAAI,qBAAqB,KAAK,SAAS,EAAG,QAAO;AACjD,MAAI,uBAAuB,KAAK,SAAS,EAAG,QAAO;AACnD,MAAI,qBAAqB,KAAK,SAAS,EAAG,QAAO;AACjD,MAAI,sBAAsB,KAAK,SAAS,EAAG,QAAO;AAClD,MAAI,oCAAoC,KAAK,SAAS,EAAG,QAAO;AAEhE,MAAI,yBAAyB,KAAK,IAAI,EAAG,QAAO;AAChD,MAAI,mBAAmB,KAAK,IAAI,EAAG,QAAO;AAC1C,MAAI,2BAA2B,KAAK,IAAI,GAAG;AACzC,QAAI,WAAW,gBAAgB,SAAS,aAAa,EAAG,QAAO;AAC/D,QAAI,WAAW,gBAAgB,SAAS,QAAQ,EAAG,QAAO;AAC1D,WAAO;AAAA,EACT;AACA,MAAI,2BAA2B,KAAK,IAAI,EAAG,QAAO,WAAW,gBAAgB,SAAS,QAAQ,IAAI,WAAW;AAC7G,MAAI,YAAY,KAAK,IAAI,EAAG,QAAO;AACnC,MAAI,cAAc,KAAK,IAAI,EAAG,QAAO;AACrC,MAAI,sBAAsB,KAAK,IAAI,KAAK,2BAA2B,KAAK,IAAI,EAAG,QAAO;AACtF,MAAI,kBAAkB,KAAK,IAAI,EAAG,QAAO;AACzC,SAAO;AACT;AAEA,SAAS,iBAAiB,UAAU,WAAW;AAC7C,QAAM,UAAU,EAAE,MAAM,CAAC,cAAc,eAAe,QAAQ,EAAE;AAChE,MAAI,aAAa,UAAW,QAAO;AACnC,SAAO,QAAQ,QAAQ,GAAG,SAAS,SAAS;AAC9C;AAEA,SAAS,gBAAgB,WAAW,eAAe;AACjD,aAAW,OAAO,eAAe;AAC/B,QAAI,UAAU,SAAS,SAAS,GAAG,GAAG;AACpC,aAAO,KAAK,KAAK,cAAc,GAAG;AAAA,IACpC;AAAA,EACF;AACA,QAAM,WAAW,UAAU,SAAS,CAAC;AACrC,SAAO,WAAW,KAAK,KAAK,cAAc,QAAQ,IAAI;AACxD;AAMA,IAAM,eAAe,KAAK,KAAK,cAAc,sBAAsB;AAEnE,SAAS,mBAAmB,WAAW,UAAU;AAC/C,MAAI,SAAS;AACb,MAAI,SAAS;AACb,QAAM,YAAY,UAAU,MAAM,gDAAgD;AAClF,MAAI,WAAW;AACb,aAAS,SAAS,UAAU,CAAC,GAAG,EAAE;AAClC,aAAS,UAAU,CAAC,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE,IAAI;AAAA,EACvD;AACA,QAAM,cAAc,UAAU,MAAM,iBAAiB;AACrD,QAAM,cAAc,UAAU,MAAM,iBAAiB;AACrD,MAAI,YAAa,UAAS,SAAS,YAAY,CAAC,GAAG,EAAE;AACrD,MAAI,YAAa,UAAS,SAAS,YAAY,CAAC,GAAG,EAAE;AACrD,QAAM,SAAS,UAAU,MAAM,gBAAgB;AAC/C,QAAM,SAAS,UAAU,MAAM,gBAAgB;AAC/C,MAAI,OAAQ,UAAS,SAAS,OAAO,CAAC,GAAG,EAAE;AAC3C,MAAI,OAAQ,UAAS,SAAS,OAAO,CAAC,GAAG,EAAE;AAC3C,MAAI,WAAW,KAAK,WAAW,GAAG;AAChC,QAAI,aAAa,EAAG,UAAS;AAAA,QACxB,UAAS;AAAA,EAChB;AACA,SAAO,EAAE,QAAQ,OAAO;AAC1B;AAEA,SAAS,mBAAmB,OAAO;AACjC,MAAI;AACF,QAAI,OAAO,EAAE,QAAQ,CAAC,GAAG,cAAa,oBAAI,KAAK,GAAE,YAAY,EAAE;AAC/D,QAAI,GAAG,WAAW,YAAY,GAAG;AAC/B,YAAM,MAAM,GAAG,aAAa,cAAc,MAAM;AAChD,UAAI;AACF,eAAO,KAAK,MAAM,GAAG;AAAA,MACvB,QAAQ;AAAA,MAAC;AAAA,IACX;AACA,SAAK,SAAS,KAAK,UAAU,CAAC;AAC9B,SAAK,OAAO,KAAK,EAAE,GAAG,OAAO,WAAW,MAAM,cAAa,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC;AACrF,SAAK,eAAc,oBAAI,KAAK,GAAE,YAAY;AAC1C,QAAI,KAAK,OAAO,SAAS,IAAK,MAAK,SAAS,KAAK,OAAO,MAAM,IAAI;AAClE,OAAG,cAAc,cAAc,KAAK,UAAU,MAAM,MAAM,CAAC,GAAG,MAAM;AAAA,EACtE,QAAQ;AAAA,EAAC;AACX;AAEA,SAAS,0BAA0B,WAAW;AAC5C,QAAM,WAAW,CAAC;AAClB,QAAM,QAAQ,UAAU,MAAM,IAAI;AAClC,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,UAAM,OAAO,MAAM,CAAC;AACpB,QAAI,2DAA2D,KAAK,IAAI,GAAG;AACzE,eAAS,KAAK;AAAA,QACZ,MAAM,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK;AAAA,QAC3C,SAAS,KAAK,KAAK,EAAE,MAAM,GAAG,GAAG;AAAA,MACnC,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO,SAAS,MAAM,GAAG,EAAE;AAC7B;AAMA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,MAAM,EAAE,OAAO,EAAE,SAAS,oGAAoG;AAAA,MAC9H,UAAU,EAAE,KAAK,CAAC,QAAQ,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,yBAAyB;AAAA,IACnF,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,MAC7B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,MAAM,UAAU,WAAW,OAAO,MAAM;AAC/C,UAAM,aAAa,SAAS,QAAQ,OAAO,EAAE,EAAE,QAAQ,OAAO,GAAG;AACjE,UAAM,WAAW,KAAK,KAAK,cAAc,UAAU;AAEnD,QAAI,CAAC,SAAS,WAAW,YAAY,GAAG;AACtC,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,2BAA2B,CAAC;AAAA,QAC5D,mBAAmB,EAAE,IAAI,OAAO,OAAO,uBAAuB;AAAA,MAChE;AAAA,IACF;AACA,QAAI,CAAC,GAAG,WAAW,QAAQ,GAAG;AAC5B,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,8BAA2B,UAAU,GAAG,CAAC;AAAA,QACzE,mBAAmB,EAAE,IAAI,OAAO,OAAO,iBAAiB;AAAA,MAC1D;AAAA,IACF;AACA,UAAM,OAAO,GAAG,SAAS,QAAQ;AACjC,QAAI,KAAK,YAAY,GAAG;AACtB,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,mDAA6C,CAAC;AAAA,QAC9E,mBAAmB,EAAE,IAAI,OAAO,OAAO,eAAe;AAAA,MACxD;AAAA,IACF;AAEA,QAAI;AACF,YAAM,UAAU,GAAG,aAAa,UAAU,QAAQ;AAClD,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,QAAQ,CAAC;AAAA,QACzC,mBAAmB,EAAE,IAAI,MAAM,QAAQ;AAAA,MACzC;AAAA,IACF,SAAS,KAAK;AACZ,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,gBAAgB,IAAI,OAAO,GAAG,CAAC;AAAA,QAC/D,mBAAmB,EAAE,IAAI,OAAO,OAAO,IAAI,QAAQ;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO,CAAC,CAAC;AAAA,IACxB,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,WAAW,EAAE,OAAO;AAAA,QAClB,UAAU,EAAE,QAAQ;AAAA,QACpB,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA,QAClC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA,QAC5B,YAAY,EAAE,QAAQ;AAAA,QACtB,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,QAChC,aAAa,EAAE,QAAQ;AAAA,QACvB,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,MACnC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EACA,YAAY;AACV,UAAM,YAAY,uBAAuB;AACzC,UAAM,UAAU;AAAA,MACd,wBAAwB,UAAU,eAAe,KAAK,IAAI,KAAK,QAAQ;AAAA,MACvE,oBAAoB,UAAU,SAAS,KAAK,IAAI,KAAK,SAAS;AAAA,MAC9D,YAAY,UAAU,cAAc,kBAAe;AAAA,MACnD,aAAa,UAAU,eAAe,kBAAe;AAAA,IACvD,EAAE,KAAK,IAAI;AAEX,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,QAAQ,CAAC;AAAA,MACzC,mBAAmB,EAAE,IAAI,MAAM,UAAU;AAAA,IAC3C;AAAA,EACF;AACF;AAMA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,KAAK,EAAE,OAAO,EAAE,SAAS,oEAAoE;AAAA,MAC7F,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,iEAAiE;AAAA,MAChH,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,mDAA6C;AAAA,MAC7F,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,iDAAiD;AAAA,IACnG,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,gBAAgB,EAAE,OAAO,EAAE,SAAS;AAAA,MACpC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,MAC1C,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,MAC5C,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,SAAS;AAAA,MACpH,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,KAAK,gBAAgB,iBAAiB,MAAM,iBAAiB,KAAK,MAAM;AAC/E,QAAI;AACJ,QAAI;AACF,mBAAa,MAAM,OAAO,YAAY;AAAA,IACxC,SAAS,GAAG;AACV,aAAO;AAAA,QACL,SAAS,CAAC;AAAA,UACR,MAAM;AAAA,UACN,MAAM;AAAA,QACR,CAAC;AAAA,QACD,mBAAmB,EAAE,IAAI,OAAO,OAAO,wDAAwD;AAAA,MACjG;AAAA,IACF;AAEA,UAAM,UAAU,iBAAiB,KAAK,KAAK,cAAc,eAAe,QAAQ,OAAO,EAAE,CAAC,IAAI,KAAK,KAAK,cAAc,wBAAwB;AAC9I,UAAM,cAAc,CAAC;AACrB,UAAM,gBAAgB,CAAC;AACvB,UAAM,kBAAkB,CAAC;AAEzB,QAAI;AACF,YAAM,UAAU,MAAM,WAAW,SAAS,OAAO,EAAE,UAAU,KAAK,CAAC;AACnE,YAAM,UAAU,MAAM,QAAQ,WAAW;AACzC,YAAM,OAAO,MAAM,QAAQ,QAAQ;AAEnC,UAAI,gBAAgB;AAClB,aAAK,GAAG,WAAW,CAAC,QAAQ;AAC1B,gBAAM,OAAO,IAAI,KAAK;AACtB,cAAI,IAAI,KAAK,MAAM,QAAS,eAAc,KAAK,IAAI;AAAA,cAC9C,aAAY,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;AAAA,QACjD,CAAC;AAAA,MACH;AAEA,UAAI,gBAAgB;AAClB,aAAK,GAAG,WAAW,CAAC,QAAQ;AAC1B,0BAAgB,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,QAAQ,IAAI,OAAO,GAAG,QAAQ,OAAU,CAAC;AAAA,QAClF,CAAC;AACD,aAAK,GAAG,YAAY,CAAC,QAAQ;AAC3B,gBAAM,MAAM,gBAAgB,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,QAAQ,EAAE,IAAI,CAAC;AACrE,cAAI,IAAK,KAAI,SAAS,IAAI,OAAO;AAAA,QACnC,CAAC;AAAA,MACH;AAEA,YAAM,KAAK,KAAK,KAAK,EAAE,WAAW,eAAe,SAAS,IAAM,CAAC;AACjE,YAAM,KAAK,WAAW,EAAE,MAAM,SAAS,UAAU,MAAM,CAAC;AAExD,YAAM,QAAQ,MAAM;AAEpB,YAAM,UAAU,KAAK,SAAS,cAAc,OAAO;AACnD,UAAI,UAAU,qBAAqB,OAAO;AAC1C,UAAI,cAAc,OAAQ,YAAW;AAAA;AAAA,eAAU,cAAc,MAAM;AAAA,EAAyB,cAAc,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC;AAChI,UAAI,gBAAgB,OAAQ,YAAW;AAAA;AAAA,qBAAoB,gBAAgB,MAAM;AAEjF,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,QAAQ,CAAC;AAAA,QACzC,mBAAmB;AAAA,UACjB,IAAI;AAAA,UACJ,gBAAgB;AAAA,UAChB,aAAa,iBAAiB,YAAY,MAAM,GAAG,EAAE,IAAI;AAAA,UACzD,eAAe,kBAAkB,cAAc,SAAS,gBAAgB;AAAA,UACxE,iBAAiB,iBAAiB,gBAAgB,MAAM,GAAG,EAAE,IAAI;AAAA,QACnE;AAAA,MACF;AAAA,IACF,SAAS,KAAK;AACZ,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,SAAS,IAAI,OAAO,GAAG,CAAC;AAAA,QACxD,mBAAmB,EAAE,IAAI,OAAO,OAAO,IAAI,QAAQ;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AACF;AAMA,IAAM,YAAY;AAAA,EAChB,YAAY,EAAE,OAAO,CAAC,SAAS,GAAG,MAAM,kEAA+D;AAAA,EACvG,WAAW,EAAE,OAAO,CAAC,kBAAkB,gBAAgB,iBAAiB,GAAG,MAAM,qDAA+C;AAAA,EAChI,WAAW,EAAE,OAAO,CAAC,aAAa,eAAe,mBAAmB,GAAG,MAAM,uCAAiC;AAAA,EAC9G,YAAY,EAAE,OAAO,CAAC,kBAAkB,cAAc,sBAAsB,GAAG,MAAM,kCAA4B;AAAA,EACjH,UAAU,EAAE,OAAO,CAAC,oBAAoB,kBAAkB,eAAe,sBAAsB,GAAG,MAAM,sCAAgC;AAAA,EACxI,SAAS,EAAE,OAAO,CAAC,kBAAkB,GAAG,MAAM,kEAA4D;AAAA,EAC1G,WAAW,EAAE,OAAO,CAAC,qBAAqB,sBAAsB,GAAG,MAAM,8BAAwB;AAAA,EACjG,UAAU,EAAE,OAAO,CAAC,mBAAmB,GAAG,MAAM,kDAAyC;AAAA,EACzF,aAAa,EAAE,OAAO,CAAC,cAAc,wBAAwB,sBAAsB,GAAG,MAAM,6CAAiC;AAC/H;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,MAAM,EAAE,OAAO,EAAE,SAAS,uGAAiG;AAAA,IAC7H,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,gBAAgB,EAAE,OAAO;AAAA,MACzB,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA,MAClC,aAAa,EAAE,OAAO;AAAA,IACxB,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,KAAK,MAAM;AAClB,UAAM,IAAI,KAAK,YAAY;AAC3B,QAAI,+DAA+D,KAAK,CAAC,GAAG;AAC1E,aAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,kFAA6E,CAAC,GAAG,mBAAmB,EAAE,IAAI,MAAM,gBAAgB,cAAc,gBAAgB,UAAU,WAAW,OAAO,aAAa,UAAU,WAAW,KAAK,EAAE;AAAA,IAC9Q;AACA,QAAI,qEAAqE,KAAK,CAAC,GAAG;AAChF,aAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,4CAAuC,CAAC,GAAG,mBAAmB,EAAE,IAAI,MAAM,gBAAgB,YAAY,gBAAgB,UAAU,SAAS,OAAO,aAAa,UAAU,SAAS,KAAK,EAAE;AAAA,IAClO;AACA,QAAI,0CAA0C,KAAK,CAAC,GAAG;AACrD,aAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,wDAAmD,CAAC,GAAG,mBAAmB,EAAE,IAAI,MAAM,gBAAgB,aAAa,gBAAgB,UAAU,UAAU,OAAO,aAAa,UAAU,UAAU,KAAK,EAAE;AAAA,IACjP;AACA,QAAI,gDAAgD,KAAK,CAAC,GAAG;AAC3D,aAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,uDAAkD,CAAC,GAAG,mBAAmB,EAAE,IAAI,MAAM,gBAAgB,cAAc,gBAAgB,UAAU,WAAW,OAAO,aAAa,UAAU,WAAW,KAAK,EAAE;AAAA,IACnP;AACA,QAAI,yDAAyD,KAAK,CAAC,GAAG;AACpE,aAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,wEAAmE,CAAC,GAAG,mBAAmB,EAAE,IAAI,MAAM,gBAAgB,YAAY,gBAAgB,UAAU,SAAS,OAAO,aAAa,UAAU,SAAS,KAAK,EAAE;AAAA,IAC9P;AACA,QAAI,2DAA2D,KAAK,CAAC,GAAG;AACtE,aAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,0CAAqC,CAAC,GAAG,mBAAmB,EAAE,IAAI,MAAM,gBAAgB,WAAW,gBAAgB,UAAU,QAAQ,OAAO,aAAa,UAAU,QAAQ,KAAK,EAAE;AAAA,IAC7N;AACA,QAAI,gDAAgD,KAAK,CAAC,GAAG;AAC3D,aAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,2DAAsD,CAAC,GAAG,mBAAmB,EAAE,IAAI,MAAM,gBAAgB,aAAa,gBAAgB,UAAU,UAAU,OAAO,aAAa,UAAU,UAAU,KAAK,EAAE;AAAA,IACpP;AACA,QAAI,2CAA2C,KAAK,CAAC,GAAG;AACtD,aAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,mEAA8D,CAAC,GAAG,mBAAmB,EAAE,IAAI,MAAM,gBAAgB,aAAa,gBAAgB,UAAU,UAAU,OAAO,aAAa,UAAU,UAAU,KAAK,EAAE;AAAA,IAC5P;AACA,WAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,kCAA+B,CAAC,GAAG,mBAAmB,EAAE,IAAI,MAAM,gBAAgB,aAAa,gBAAgB,UAAU,UAAU,OAAO,aAAa,UAAU,UAAU,KAAK,EAAE;AAAA,EAC7N;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,WAAW,EAAE,KAAK;AAAA,QAChB;AAAA,QAAW;AAAA,QAAc;AAAA,QAAe;AAAA,QAAQ;AAAA,QAAU;AAAA,QAC1D;AAAA,QAAU;AAAA,QAAS;AAAA,QAAS;AAAA,QAAU;AAAA,QAAa;AAAA,QACnD;AAAA,QAAY;AAAA,QAAc;AAAA,QAAa;AAAA,QAAc;AAAA,MACvD,CAAC,EAAE,SAAS,EAAE,SAAS,iDAA8C;AAAA,MACrE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,+CAA+C;AAAA,MACpF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,kCAAkC;AAAA,MACxE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,2IAAkI;AAAA,IACtL,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,QAAQ,EAAE,KAAK,CAAC,UAAU,UAAU,WAAW,CAAC;AAAA,MAChD,SAAS,EAAE,OAAO;AAAA,MAClB,UAAU,EAAE,OAAO;AAAA,MACnB,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IACjC,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,WAAW,MAAM,OAAO,iBAAiB,MAAM;AACtD,UAAM,YAAY,uBAAuB;AAEzC,QAAI,CAAC,UAAU,UAAU;AACvB,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,kDAAkD,CAAC;AAAA,QACnF,mBAAmB;AAAA,UACjB,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAEA,QAAI,oBAAoB;AACxB,QAAI,CAAC,qBAAqB,UAAU,eAAe,SAAS,GAAG;AAC7D,0BAAoB,UAAU,eAAe,CAAC;AAAA,IAChD;AAEA,QAAI,KAAK,MAAM;AAGf,QAAI,sBAAsB,WAAW;AACnC,YAAM;AACN,aAAO,OAAO,CAAC,WAAW,OAAO,UAAU,IAAI,IAAI,CAAC,WAAW,KAAK;AACpE,YAAM,UAAU,SAAS,SAAS,SAAS,IACvC,KAAK,KAAK,cAAc,SAAS,IACjC,UAAU,SAAS,CAAC,IACpB,KAAK,KAAK,cAAc,UAAU,SAAS,CAAC,CAAC,IAC7C;AAAA,IACN,WAAW,sBAAsB,cAAc;AAC7C,YAAM;AACN,aAAO,OAAO,CAAC,cAAc,QAAQ,IAAI,IAAI,CAAC,cAAc,MAAM;AAClE,YAAM,UAAU,SAAS,SAAS,YAAY,IAC1C,KAAK,KAAK,cAAc,YAAY,IACpC,UAAU,SAAS,CAAC,IACpB,KAAK,KAAK,cAAc,UAAU,SAAS,CAAC,CAAC,IAC7C;AAAA,IACN,WAAW,sBAAsB,eAAe;AAC9C,YAAM;AACN,aAAO,OAAO,CAAC,QAAQ,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK;AACpD,YAAM,gBAAgB,WAAW,CAAC,qBAAqB,SAAS,OAAO,CAAC;AAAA,IAC1E,WAAW,sBAAsB,YAAY;AAC3C,YAAM;AACN,aAAO,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU;AAC9C,YAAM,gBAAgB,WAAW,CAAC,eAAe,YAAY,OAAO,CAAC;AAAA,IACvE,WAAW,sBAAsB,cAAc;AAC7C,YAAM;AACN,aAAO,OAAO,CAAC,cAAc,UAAU,IAAI,IAAI,CAAC,YAAY;AAC5D,YAAM,gBAAgB,WAAW,CAAC,iBAAiB,cAAc,OAAO,CAAC;AAAA,IAC3E,WAAW,sBAAsB,aAAa;AAC5C,YAAM;AACN,aAAO,OAAO,CAAC,QAAQ,MAAM,YAAY,gBAAgB,IAAI,CAAC,MAAM;AACpE,YAAM,gBAAgB,WAAW,CAAC,gBAAgB,aAAa,WAAW,CAAC;AAAA,IAC7E,WAAW,sBAAsB,cAAc;AAC7C,YAAM;AACN,aAAO,OAAO,CAAC,cAAc,OAAO,UAAU,IAAI,IAAI,CAAC,cAAc,KAAK;AAC1E,YAAM,gBAAgB,WAAW,CAAC,cAAc,OAAO,CAAC;AAAA,IAG1D,WAAW,sBAAsB,QAAQ;AACvC,YAAM;AACN,aAAO,CAAC,MAAM;AACd,UAAI,KAAM,MAAK,KAAK,IAAI;AACxB,YAAM;AAAA,IACR,WAAW,sBAAsB,UAAU;AACzC,YAAM;AACN,aAAO,CAAC,UAAU,KAAK;AACvB,UAAI,KAAM,MAAK,KAAK,IAAI;AACxB,YAAM;AAAA,IACR,WAAW,sBAAsB,SAAS;AACxC,YAAM;AACN,aAAO,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO;AACxC,YAAM;AAAA,IAGR,WAAW,sBAAsB,UAAU;AACzC,YAAM;AACN,aAAO,OAAO,CAAC,QAAQ,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK;AACpD,YAAM;AAAA,IACR,WAAW,sBAAsB,SAAS;AACxC,YAAM;AACN,aAAO,CAAC,SAAS,MAAM;AACvB,UAAI,KAAM,MAAK,KAAK,IAAI;AACxB,YAAM;AAAA,IAGR,WAAW,sBAAsB,SAAS;AACxC,YAAM;AACN,aAAO,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,SAAS,CAAC,KAAK,OAAO;AACxD,YAAM;AAAA,IACR,WAAW,sBAAsB,UAAU;AACzC,YAAM;AACN,aAAO,OAAO,CAAC,IAAI,IAAI,CAAC;AACxB,YAAM;AAAA,IAGR,WAAW,sBAAsB,eAAe,sBAAsB,UAAU;AAC9E,YAAM;AACN,aAAO,CAAC,MAAM;AACd,YAAM;AAAA,IAGR,OAAO;AACL,YAAM;AACN,aAAO,CAAC,MAAM;AACd,YAAM;AAAA,IACR;AAEA,UAAM,YAAY,KAAK,IAAI;AAC3B,WAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,YAAM,QAAQ,MAAM,KAAK,MAAM;AAAA,QAC7B;AAAA,QACA,OAAO,CAAC,WAAW,QAAQ,MAAM;AAAA,QACjC,OAAO,QAAQ,aAAa;AAAA,QAC5B,KAAK,EAAE,GAAG,QAAQ,IAAI;AAAA,MACxB,CAAC;AAED,UAAI,SAAS;AACb,UAAI,SAAS;AACb,UAAI,MAAM,QAAQ;AAChB,cAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AAC7B,gBAAM,IAAI,EAAE,SAAS;AACrB,oBAAU;AACV,kBAAQ,OAAO,MAAM,CAAC;AAAA,QACxB,CAAC;AAAA,MACH;AACA,UAAI,MAAM,QAAQ;AAChB,cAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AAC7B,gBAAM,IAAI,EAAE,SAAS;AACrB,oBAAU;AACV,kBAAQ,OAAO,MAAM,CAAC;AAAA,QACxB,CAAC;AAAA,MACH;AAEA,YAAM,GAAG,SAAS,CAAC,SAAS;AAC1B,cAAM,YAAY,CAAC,QAAQ,MAAM,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK;AACnE,cAAM,SAAS,SAAS;AACxB,cAAM,kBAAkB,KAAK,OAAO,KAAK,IAAI,IAAI,aAAa,GAAI;AAClE,YAAI,CAAC,UAAU,WAAW;AACxB,cAAI;AACF,eAAG,cAAc,KAAK,KAAK,cAAc,0BAA0B,GAAG,WAAW,MAAM;AAAA,UACzF,QAAQ;AAAA,UAAC;AAAA,QACX;AACA,cAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,mBAAmB,WAAW,IAAI;AACnE,2BAAmB;AAAA,UACjB,MAAM;AAAA,UACN,WAAW;AAAA,UACX,MAAM,QAAQ;AAAA,UACd,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR;AAAA,UACA,UAAU,QAAQ;AAAA,UAClB,UAAU,CAAC,SAAS,0BAA0B,SAAS,IAAI;AAAA,QAC7D,CAAC;AACD,YAAI,OAAQ,mBAAkB,EAAE,SAAS,EAAE,MAAM,QAAQ,MAAM,WAAW,mBAAmB,QAAQ,EAAE,EAAE,CAAC;AAC1G,gBAAQ;AAAA,UACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,SAAS,mCAAmC,sCAAgC,CAAC;AAAA,UAC7G,mBAAmB;AAAA,YACjB,QAAQ,SAAS,WAAW;AAAA,YAC5B,SAAS,SAAS,iBAAiB;AAAA,YACnC,UAAU,QAAQ;AAAA,YAClB,WAAW,CAAC,SAAS,YAAY;AAAA,UACnC;AAAA,QACF,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,mGAA6F;AAAA,MAC7I,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,kEAAyD;AAAA,IACpG,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,SAAS,EAAE,OAAO;AAAA,MAClB,aAAa,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS;AAAA,MACjD,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,MACxC,sBAAsB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS;AAAA,IAC9F,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,iBAAiB,OAAO,WAAW,EAAE,IAAI,CAAC,MAAM;AACvD,UAAM,YAAY,uBAAuB;AACzC,UAAM,YAAY,iBAAiB,WAAW;AAAA,MAC5C,iBAAiB,iBAAiB,WAAW;AAAA,IAC/C,CAAC;AAED,UAAM,YAAY,UAAU,IAAI,CAAC,MAAM,EAAE,IAAI;AAC7C,UAAM,uBAAuB,iBACzB,UAAU,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,EAAE,QAAQ,EAAE,IACpF;AAEJ,UAAM,UAAU;AAAA,MACd,eAAe,UAAU,eAAe,KAAK,IAAI,KAAK,QAAQ;AAAA,MAC9D,sBAAsB,UAAU,MAAM;AAAA,MACtC,YAAY,UAAU,cAAc,kBAAe;AAAA,MACnD,aAAa,UAAU,eAAe,kBAAe;AAAA,MACrD,kBAAkB,sBAAsB,SACpC,4BAAsB,qBAAqB,MAAM,mCACjD;AAAA,IACN,EACG,OAAO,OAAO,EACd,KAAK,IAAI;AAEZ,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,QAAQ,CAAC;AAAA,MACzC,mBAAmB;AAAA,QACjB,IAAI;AAAA,QACJ;AAAA,QACA,aAAa,UAAU;AAAA,QACvB,WAAW,UAAU,MAAM,GAAG,GAAG;AAAA,QACjC;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,SAAS,EAAE,OAAO,EAAE,SAAS,wDAAkD;AAAA,MAC/E,SAAS,EAAE,OAAO,EAAE,SAAS,kFAAkF;AAAA,MAC/G,WAAW,EAAE,KAAK;AAAA,QAChB;AAAA,QAAW;AAAA,QAAc;AAAA,QAAe;AAAA,QAAQ;AAAA,QAAU;AAAA,QAC1D;AAAA,QAAU;AAAA,QAAS;AAAA,QAAU;AAAA,QAAa;AAAA,QAAU;AAAA,MACtD,CAAC,EAAE,SAAS,EAAE,SAAS,mDAAmD;AAAA,MAC1E,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,0HAAoH;AAAA,MAClK,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,wFAA+E;AAAA,IACzI,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,MACjC,mBAAmB,EAAE,OAAO,EAAE,SAAS;AAAA,MACvC,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,SAAS,SAAS,WAAW,eAAe,eAAe,MAAM;AACxE,UAAM,YAAY,uBAAuB;AACzC,UAAM,KAAK,aAAa,UAAU,eAAe,CAAC,KAAK;AAEvD,QAAI,iBAAiB;AACrB,QAAI,cAAe,mBAAkB;AAAA;AAAA,0EAAsE,EAAE;AAAA,EAAU,cAAc,MAAM,GAAG,GAAI,CAAC;AACnJ,QAAI,gBAAgB,QAAQ;AAC1B,iBAAW,KAAK,eAAe,MAAM,GAAG,CAAC,GAAG;AAC1C,cAAM,OAAO,KAAK,KAAK,cAAc,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ,OAAO,GAAG,CAAC;AAC7E,YAAI,GAAG,WAAW,IAAI,GAAG;AACvB,cAAI;AACF,kBAAM,UAAU,GAAG,aAAa,MAAM,MAAM;AAC5C,8BAAkB;AAAA;AAAA,eAAoB,CAAC;AAAA,EAAS,QAAQ,MAAM,GAAG,GAAI,CAAC;AAAA,UACxE,QAAQ;AAAA,UAAC;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAEA,UAAM,MAAM,mBAAmB,QAAQ;AACvC,QAAI,CAAC,IAAI,QAAQ;AACf,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,mEAAmE,CAAC;AAAA,QACpG,mBAAmB,EAAE,IAAI,OAAO,OAAO,wBAAwB;AAAA,MACjE;AAAA,IACF;AACA,UAAM,EAAE,UAAU,QAAQ,SAAS,MAAM,IAAI;AAE7C,UAAM,SAAS,kBAAkB;AACjC,UAAM,cAAc,OAAO,OAAO,SAC9B;AAAA;AAAA,8CAAgD,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC,KAClG;AACJ,UAAM,oBAAoB,UAAU;AAEpC,UAAM,eAAe,QAAQ,gBAAgB,KAAK,CAAC;AACnD,UAAM,eAAe,eACjB,kGAAsF,EAAE;AAAA;AAAA;AAAA,uDAG/C,EAAE;AAAA;AAAA,+CAG3C,qDAA+C,EAAE;AAAA,aAC5C,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUX,UAAM,aAAa;AAAA,EACrB,kBAAkB,MAAM,GAAG,GAAI,CAAC;AAAA;AAAA,sBAEZ,OAAO;AAAA,kBACX,EAAE,GAAG,cAAc;AAEjC,QAAI;AACF,UAAI;AACJ,UAAI,aAAa,UAAU;AACzB,cAAM,MAAM,GAAG,OAAO,WAAW,KAAK,wBAAwB,MAAM;AACpE,cAAM,MAAM,MAAM,MAAM,KAAK;AAAA,UAC3B,QAAQ;AAAA,UACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,UAC9C,MAAM,KAAK,UAAU;AAAA,YACnB,mBAAmB,EAAE,OAAO,CAAC,EAAE,MAAM,aAAa,CAAC,EAAE;AAAA,YACrD,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,WAAW,CAAC,EAAE,CAAC;AAAA,YAC5C,kBAAkB,EAAE,aAAa,KAAK,iBAAiB,KAAK;AAAA,UAC9D,CAAC;AAAA,QACH,CAAC;AACD,cAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,sBAAc,KAAK,aAAa,CAAC,GAAG,SAAS,QAAQ,CAAC,GAAG,QAAQ;AAAA,MACnE,OAAO;AACL,cAAM,MAAM,MAAM,MAAM,GAAG,OAAO,qBAAqB;AAAA,UACrD,QAAQ;AAAA,UACR,SAAS;AAAA,YACP,gBAAgB;AAAA,YAChB,eAAe,UAAU,MAAM;AAAA,UACjC;AAAA,UACA,MAAM,KAAK,UAAU;AAAA,YACnB;AAAA,YACA,UAAU;AAAA,cACR,EAAE,MAAM,UAAU,SAAS,aAAa;AAAA,cACxC,EAAE,MAAM,QAAQ,SAAS,WAAW;AAAA,YACtC;AAAA,YACA,aAAa;AAAA,YACb,YAAY;AAAA,UACd,CAAC;AAAA,QACH,CAAC;AACD,cAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,sBAAc,KAAK,UAAU,CAAC,GAAG,SAAS,WAAW;AAAA,MACvD;AAEA,oBAAc,YAAY,QAAQ,8BAA8B,EAAE,EAAE,QAAQ,eAAe,EAAE,EAAE,KAAK;AACpG,YAAM,WAAW,QAAQ,YAAY,EAAE,QAAQ,QAAQ,GAAG,EAAE,QAAQ,eAAe,EAAE,EAAE,MAAM,GAAG,EAAE;AAElG,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,gBAAgB,YAAY,MAAM,uCAAuC,CAAC;AAAA,QAC1G,mBAAmB;AAAA,UACjB,IAAI;AAAA,UACJ;AAAA,UACA,mBAAmB;AAAA,QACrB;AAAA,MACF;AAAA,IACF,SAAS,KAAK;AACZ,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,kBAAkB,IAAI,OAAO,GAAG,CAAC;AAAA,QACjE,mBAAmB,EAAE,IAAI,OAAO,OAAO,IAAI,QAAQ;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,uBAAuB,IAAI,WAAW;AAC7C,QAAM,SAAS;AAAA,IACb,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,QAAQ;AAAA,EACV;AACA,QAAM,MAAM,OAAO,EAAE,KAAK;AAE1B,QAAM,UAAU;AAAA,IACd,SAAS,UAAU,SAAS,SAAS,SAAS,IAAI,YAAY,UAAU,SAAS,CAAC,KAAK;AAAA,IACvF,YAAY,UAAU,SAAS,SAAS,YAAY,IAAI,eAAe,UAAU,SAAS,CAAC,KAAK;AAAA,IAChG,aAAa,UAAU,SAAS,SAAS,OAAO,IAAI,UAAU,UAAU,SAAS,CAAC,KAAK;AAAA,IACvF,QAAQ,UAAU,SAAS,SAAS,OAAO,IAAI,UAAU,UAAU,SAAS,CAAC,KAAK;AAAA,IAClF,OAAO,UAAU,SAAS,SAAS,OAAO,IAAI,UAAU,UAAU,SAAS,CAAC,KAAK;AAAA,IACjF,QAAQ,UAAU,SAAS,SAAS,UAAU,IAAI,aAAa,UAAU,SAAS,CAAC,KAAK;AAAA,EAC1F;AACA,QAAM,UAAU,KAAK,KAAK,cAAc,QAAQ,EAAE,KAAK,UAAU,SAAS,CAAC,KAAK,OAAO;AACvF,SAAO,EAAE,KAAK,QAAQ;AACxB;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,MAAM,EAAE,OAAO,EAAE,SAAS,gDAAgD;AAAA,MAC1E,SAAS,EAAE,OAAO,EAAE,SAAS,sBAAmB;AAAA,MAChD,WAAW,EAAE,KAAK;AAAA,QAChB;AAAA,QAAW;AAAA,QAAc;AAAA,QAAQ;AAAA,QAAU;AAAA,QAAS;AAAA,QACpD;AAAA,QAAU;AAAA,QAAS;AAAA,QAAS;AAAA,QAAU;AAAA,QAAU;AAAA,MAClD,CAAC,EAAE,SAAS,EAAE,SAAS,mDAAmD;AAAA,MAC1E,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,4DAA4D;AAAA,IACrG,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,MAC1B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,MAAM,SAAS,WAAW,OAAO,MAAM;AAC9C,UAAM,YAAY,uBAAuB;AACzC,UAAM,KAAK,aAAa,UAAU,eAAe,CAAC;AAElD,QAAI,CAAC,IAAI;AACP,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,uCAAuC,CAAC;AAAA,QACxE,mBAAmB,EAAE,IAAI,OAAO,OAAO,oBAAoB;AAAA,MAC7D;AAAA,IACF;AAEA,UAAM,EAAE,KAAK,QAAQ,IAAI,uBAAuB,IAAI,SAAS;AAC7D,UAAM,WAAW,KACd,QAAQ,iBAAiB,GAAG,EAC5B,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,qDAAqD,EAAE,EAC/D,QAAQ,kBAAkB,EAAE;AAC/B,UAAM,WAAW,IAAI,WAAW,GAAG,IAAI,GAAG,QAAQ,GAAG,GAAG,KAAK,GAAG,QAAQ,GAAG,GAAG;AAE9E,UAAM,YAAY,SAAS,KAAK,KAAK,SAAS,MAAM,IAAI;AACxD,UAAM,WAAW,KAAK,KAAK,WAAW,QAAQ;AAE9C,QAAI;AACF,UAAI,CAAC,GAAG,WAAW,SAAS,GAAG;AAC7B,WAAG,UAAU,WAAW,EAAE,WAAW,KAAK,CAAC;AAAA,MAC7C;AACA,SAAG,cAAc,UAAU,SAAS,MAAM;AAC1C,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,oBAAoB,QAAQ,GAAG,CAAC;AAAA,QAChE,mBAAmB,EAAE,IAAI,MAAM,MAAM,SAAS;AAAA,MAChD;AAAA,IACF,SAAS,KAAK;AACZ,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,mBAAmB,IAAI,OAAO,GAAG,CAAC;AAAA,QAClE,mBAAmB,EAAE,IAAI,OAAO,OAAO,IAAI,QAAQ;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,WAAW,EAAE,OAAO,EAAE,SAAS,kCAAkC;AAAA,IACnE,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,SAAS,EAAE,OAAO;AAAA,MAClB,UAAU,EAAE,MAAM,EAAE,OAAO;AAAA,QACzB,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,QAC1B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,QAC7B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,MAC7B,CAAC,CAAC,EAAE,SAAS;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,UAAU,MAAM;AACvB,UAAM,WAAW,CAAC;AAClB,UAAM,QAAQ,UAAU,MAAM,IAAI;AAElC,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,OAAO,MAAM,CAAC;AACpB,UAAI,wBAAwB,KAAK,IAAI,GAAG;AACtC,iBAAS,KAAK;AAAA,UACZ,MAAM,MAAM,IAAI,CAAC,KAAK;AAAA,UACtB,SAAS,KAAK,KAAK;AAAA,UACnB,OAAO,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI;AAAA,QACxC,CAAC;AAAA,MACH;AAAA,IACF;AAEA,UAAM,gBAAgB,oBAAoB,SAAS;AACnD,QAAI,UAAU,SAAS,SACnB,GAAG,SAAS,MAAM,4BAClB;AACJ,QAAI,cAAc,eAAe;AAC/B,iBAAW;AAAA;AAAA,wCAAgC,KAAK,MAAM,cAAc,aAAa,GAAG,CAAC,gCAA0B,cAAc,SAAS,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACtK,iBAAW;AACX,oBAAc,SAAS,QAAQ,CAAC,MAAM;AACpC,mBAAW;AAAA,SAAO,EAAE,OAAO,KAAK,EAAE,UAAU;AAAA,MAC9C,CAAC;AACD,UAAI,cAAc,SAAS,KAAK,CAAC,MAAM,EAAE,YAAY,YAAY,EAAE,YAAY,SAAS,GAAG;AACzF,mBAAW;AAAA,MACb;AAAA,IACF;AAEA,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,QAAQ,CAAC;AAAA,MACzC,mBAAmB;AAAA,QACjB,IAAI;AAAA,QACJ;AAAA,QACA,UAAU,SAAS,SAAS,WAAW;AAAA,QACvC,OAAO,cAAc,gBAAgB,EAAE,YAAY,cAAc,YAAY,UAAU,cAAc,SAAS,IAAI;AAAA,MACpH;AAAA,IACF;AAAA,EACF;AACF;AAMA,SAAS,yBAAyB,MAAM;AACtC,QAAM,QAAQ;AAAA,IACZ;AAAA,IACA;AAAA,IACA,KAAK,iBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAI,MAAM,QAAQ,KAAK,yBAAyB,IAC5C,KAAK,0BAA0B,IAAI,CAAC,MAAM,UAAK,CAAC,EAAE,IAClD,CAAC,KAAK,6BAA6B,EAAE;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAI,MAAM,QAAQ,KAAK,cAAc,IACjC,KAAK,eAAe,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,IAClD,CAAC,KAAK,kBAAkB,EAAE;AAAA,EAChC;AACA,MAAI,KAAK,kBAAkB;AACzB,UAAM,KAAK,IAAI,oCAA2B,IAAI,SAAS,KAAK,aAAa,OAAO,KAAK,kBAAkB,KAAK;AAAA,EAC9G;AACA,MAAI,KAAK,UAAU;AACjB,UAAM,KAAK,IAAI,eAAe,IAAI,KAAK,QAAQ;AAAA,EACjD;AACA,SAAO,MAAM,OAAO,OAAO,EAAE,KAAK,IAAI;AACxC;AAEA,eAAe,sBAAsB,UAAU,QAAQ,SAAS,OAAO,cAAc,YAAY;AAC/F,MAAI,aAAa,UAAU;AACzB,UAAM,MAAM,GAAG,OAAO,WAAW,KAAK,wBAAwB,MAAM;AACpE,UAAMC,OAAM,MAAM,MAAM,KAAK;AAAA,MAC3B,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,MAC9C,MAAM,KAAK,UAAU;AAAA,QACnB,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,eAAe,SAAS,WAAW,CAAC,EAAE,CAAC;AAAA,QACpE,kBAAkB,EAAE,aAAa,KAAK,iBAAiB,KAAK;AAAA,MAC9D,CAAC;AAAA,IACH,CAAC;AACD,UAAMC,QAAO,MAAMD,KAAI,KAAK;AAC5B,WAAOC,MAAK,aAAa,CAAC,GAAG,SAAS,QAAQ,CAAC,GAAG,QAAQ;AAAA,EAC5D;AACA,QAAM,MAAM,MAAM,MAAM,GAAG,OAAO,qBAAqB;AAAA,IACrD,QAAQ;AAAA,IACR,SAAS;AAAA,MACP,gBAAgB;AAAA,MAChB,eAAe,UAAU,MAAM;AAAA,IACjC;AAAA,IACA,MAAM,KAAK,UAAU;AAAA,MACnB;AAAA,MACA,UAAU;AAAA,QACR,EAAE,MAAM,UAAU,SAAS,aAAa;AAAA,QACxC,EAAE,MAAM,QAAQ,SAAS,WAAW;AAAA,MACtC;AAAA,MACA,aAAa;AAAA,MACb,YAAY;AAAA,IACd,CAAC;AAAA,EACH,CAAC;AACD,QAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,SAAO,KAAK,UAAU,CAAC,GAAG,SAAS,WAAW;AAChD;AAGA,eAAe,2BAA2B,gBAAgB,eAAe,MAAM;AAC7E,QAAM,YAAY,uBAAuB;AACzC,QAAM,KAAK,UAAU,eAAe,CAAC,KAAK;AAE1C,MAAI,WAAW;AACf,MAAI,cAAc;AAChB,UAAM,aAAa,aAAa,QAAQ,OAAO,EAAE,EAAE,QAAQ,OAAO,GAAG;AACrE,UAAM,WAAW,KAAK,KAAK,cAAc,UAAU;AACnD,QAAI,GAAG,WAAW,QAAQ,KAAK,CAAC,GAAG,SAAS,QAAQ,EAAE,YAAY,GAAG;AACnE,UAAI;AACF,mBAAW,GAAG,aAAa,UAAU,MAAM;AAAA,MAC7C,QAAQ;AAAA,MAAC;AAAA,IACX;AAAA,EACF;AAEA,QAAM,MAAM,mBAAmB,SAAS;AACxC,MAAI,CAAC,IAAI,QAAQ;AACf,WAAO,EAAE,IAAI,OAAO,OAAO,cAAc,eAAe,KAAK;AAAA,EAC/D;AACA,QAAM,EAAE,UAAU,QAAQ,SAAS,MAAM,IAAI;AAE7C,QAAM,UAAU;AAAA,IACd,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAEA,QAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAQC,EAAE,KAAK,QAAQ,EAAE,KAAK,EAAE;AAAA;AAG9C,QAAM,aAAa;AAAA;AAAA,EAEnB,eAAe,MAAM,GAAG,IAAK,CAAC;AAAA;AAAA,EAE9B,WAAW;AAAA;AAAA;AAAA,EAAuC,SAAS,MAAM,GAAG,GAAI,CAAC;AAAA,OAAU,EAAE;AAErF,MAAI;AACF,QAAI,MAAM,MAAM,sBAAsB,UAAU,QAAQ,SAAS,OAAO,cAAc,UAAU;AAChG,UAAM,IAAI,QAAQ,qBAAqB,EAAE,EAAE,QAAQ,eAAe,EAAE,EAAE,KAAK;AAC3E,QAAI,OAAO,CAAC;AACZ,QAAI;AACF,aAAO,KAAK,MAAM,GAAG;AAAA,IACvB,QAAQ;AACN,aAAO;AAAA,QACL,eAAe,IAAI,MAAM,GAAG,GAAG,KAAK;AAAA,QACpC,2BAA2B,CAAC;AAAA,QAC5B,gBAAgB,CAAC;AAAA,QACjB,kBAAkB;AAAA,QAClB,UAAU;AAAA,QACV,WAAW;AAAA,MACb;AAAA,IACF;AACA,SAAK,YAAY,KAAK,aAAa;AACnC,QAAI,gBAAgB,KAAK,kBAAkB;AACzC,wBAAkB,EAAE,UAAU,EAAE,CAAC,YAAY,GAAG,EAAE,SAAS,KAAK,kBAAkB,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC;AAAA,IACvG;AACA,UAAM,gBAAgB,yBAAyB,IAAI;AACnD,WAAO,EAAE,IAAI,MAAM,eAAe,mBAAmB,KAAK;AAAA,EAC5D,SAAS,KAAK;AACZ,WAAO,EAAE,IAAI,OAAO,OAAO,IAAI,SAAS,eAAe,KAAK;AAAA,EAC9D;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,uLAAiL;AAAA,MAC7N,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,8IAAkI;AAAA,IACjL,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,MACnC,2BAA2B,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,MACxD,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,MAC7C,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA,MACtC,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,MAC9B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,MAC/B,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,MACnC,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,aAAa,aAAa,MAAM;AACvC,UAAM,YAAY,uBAAuB;AACzC,UAAM,KAAK,UAAU,eAAe,CAAC,KAAK;AAE1C,QAAI,iBAAiB,aAAa,KAAK,KAAK;AAC5C,QAAI,CAAC,gBAAgB;AACnB,YAAM,kBAAkB,KAAK,KAAK,cAAc,0BAA0B;AAC1E,UAAI,GAAG,WAAW,eAAe,GAAG;AAClC,YAAI;AACF,2BAAiB,GAAG,aAAa,iBAAiB,MAAM;AAAA,QAC1D,QAAQ;AAAA,QAAC;AAAA,MACX;AAAA,IACF;AACA,QAAI,CAAC,gBAAgB;AACnB,aAAO;AAAA,QACL,SAAS,CAAC;AAAA,UACR,MAAM;AAAA,UACN,MAAM;AAAA,QACR,CAAC;AAAA,QACD,mBAAmB,EAAE,IAAI,OAAO,OAAO,kBAAkB;AAAA,MAC3D;AAAA,IACF;AAEA,QAAI,WAAW;AACf,QAAI,cAAc;AAChB,YAAM,aAAa,aAAa,QAAQ,OAAO,EAAE,EAAE,QAAQ,OAAO,GAAG;AACrE,YAAM,WAAW,KAAK,KAAK,cAAc,UAAU;AACnD,UAAI,GAAG,WAAW,QAAQ,KAAK,CAAC,GAAG,SAAS,QAAQ,EAAE,YAAY,GAAG;AACnE,YAAI;AACF,qBAAW,GAAG,aAAa,UAAU,MAAM;AAAA,QAC7C,QAAQ;AAAA,QAAC;AAAA,MACX;AAAA,IACF;AAEA,UAAM,MAAM,mBAAmB,SAAS;AACxC,QAAI,CAAC,IAAI,QAAQ;AACf,aAAO;AAAA,QACL,SAAS,CAAC;AAAA,UACR,MAAM;AAAA,UACN,MAAM;AAAA,QACR,CAAC;AAAA,QACD,mBAAmB,EAAE,IAAI,OAAO,OAAO,wBAAwB;AAAA,MACjE;AAAA,IACF;AACA,UAAM,EAAE,UAAU,QAAQ,SAAS,MAAM,IAAI;AAE7C,UAAM,UAAU;AAAA,MACd,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAEA,UAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAQD,EAAE,KAAK,QAAQ,EAAE,KAAK,EAAE;AAAA;AAG5C,UAAM,aAAa;AAAA;AAAA,EAErB,eAAe,MAAM,GAAG,IAAK,CAAC;AAAA;AAAA,EAE9B,WAAW;AAAA;AAAA;AAAA,EAAuC,SAAS,MAAM,GAAG,GAAI,CAAC;AAAA,OAAU,EAAE;AAEnF,QAAI;AACF,UAAI,MAAM,MAAM,sBAAsB,UAAU,QAAQ,SAAS,OAAO,cAAc,UAAU;AAChG,YAAM,IAAI,QAAQ,qBAAqB,EAAE,EAAE,QAAQ,eAAe,EAAE,EAAE,KAAK;AAE3E,UAAI,OAAO,CAAC;AACZ,UAAI;AACF,eAAO,KAAK,MAAM,GAAG;AAAA,MACvB,QAAQ;AACN,eAAO;AAAA,UACL,eAAe,IAAI,MAAM,GAAG,GAAG,KAAK;AAAA,UACpC,2BAA2B,CAAC;AAAA,UAC5B,gBAAgB,CAAC;AAAA,UACjB,kBAAkB;AAAA,UAClB,UAAU;AAAA,UACV,WAAW;AAAA,QACb;AAAA,MACF;AAEA,WAAK,YAAY,KAAK,aAAa;AACnC,YAAM,gBAAgB,yBAAyB,IAAI;AAEnD,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,cAAc,CAAC;AAAA,QAC/C,mBAAmB;AAAA,UACjB,IAAI;AAAA,UACJ,eAAe,KAAK;AAAA,UACpB,2BAA2B,KAAK;AAAA,UAChC,gBAAgB,KAAK;AAAA,UACrB,kBAAkB,KAAK,oBAAoB;AAAA,UAC3C,UAAU,KAAK,YAAY;AAAA,UAC3B,WAAW,KAAK;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAAA,IACF,SAAS,KAAK;AACZ,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,qBAAqB,IAAI,OAAO,GAAG,CAAC;AAAA,QACpE,mBAAmB,EAAE,IAAI,OAAO,OAAO,IAAI,QAAQ;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AACF;AAMA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,UAAU,EAAE,MAAM,EAAE,OAAO;AAAA,QACzB,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,QAC1B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,QAC7B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,MAC7B,CAAC,CAAC,EAAE,SAAS,gCAAgC;AAAA,IAC/C,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,aAAa,EAAE,MAAM,EAAE,OAAO;AAAA,QAC5B,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,QAC1B,aAAa,EAAE,OAAO;AAAA,QACtB,KAAK,EAAE,OAAO,EAAE,SAAS;AAAA,MAC3B,CAAC,CAAC;AAAA,IACJ,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,SAAS,MAAM;AACtB,UAAM,cAAc,CAAC;AAErB,eAAW,KAAK,UAAU;AACxB,YAAM,MAAM,EAAE,WAAW;AAEzB,UAAI,sCAAsC,KAAK,GAAG,GAAG;AACnD,oBAAY,KAAK;AAAA,UACf,MAAM,EAAE;AAAA,UACR,aAAa;AAAA,UACb,KAAK;AAAA,QACP,CAAC;AAAA,MACH,WAAW,qBAAqB,KAAK,GAAG,GAAG;AACzC,oBAAY,KAAK;AAAA,UACf,MAAM,EAAE;AAAA,UACR,aAAa;AAAA,UACb,KAAK;AAAA,QACP,CAAC;AAAA,MACH,WAAW,8BAA8B,KAAK,GAAG,GAAG;AAClD,oBAAY,KAAK;AAAA,UACf,MAAM,EAAE;AAAA,UACR,aAAa;AAAA,UACb,KAAK;AAAA,QACP,CAAC;AAAA,MACH,OAAO;AACL,oBAAY,KAAK;AAAA,UACf,MAAM,EAAE;AAAA,UACR,aAAa;AAAA,UACb,KAAK;AAAA,QACP,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,aAAa,MAAM,CAAC,EAAE,CAAC;AAAA,MACtE,mBAAmB,EAAE,IAAI,MAAM,YAAY;AAAA,IAC7C;AAAA,EACF;AACF;AAMA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,cAAc,EAAE,OAAO,EAAE,SAAS,mEAAmE;AAAA,MACrG,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,2EAAwE;AAAA,MACpH,WAAW,EAAE,KAAK,CAAC,WAAW,cAAc,eAAe,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,2DAA2D;AAAA,IACvJ,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA,MACtC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,MACrC,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,MAChC,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,cAAc,aAAa,UAAU,MAAM;AAClD,UAAM,YAAY,uBAAuB;AACzC,UAAM,KAAK,aAAa,uBAAuB,aAAa,MAAM,GAAG,EAAE,IAAI,GAAG,SAAS;AAEvF,QAAI,iBAAiB;AACrB,QAAI,CAAC,gBAAgB;AACnB,YAAM,UAAU,KAAK,KAAK,cAAc,0BAA0B;AAClE,UAAI,GAAG,WAAW,OAAO,GAAG;AAC1B,yBAAiB,GAAG,aAAa,SAAS,MAAM;AAAA,MAClD;AAAA,IACF;AACA,QAAI,CAAC,gBAAgB;AACnB,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,4EAAyE,CAAC;AAAA,QAC1G,mBAAmB,EAAE,IAAI,OAAO,OAAO,kBAAkB;AAAA,MAC3D;AAAA,IACF;AAEA,QAAI,CAAC,oEAAoE,KAAK,cAAc,GAAG;AAC7F,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,+GAA4G,CAAC;AAAA,QAC7I,mBAAmB,EAAE,IAAI,OAAO,OAAO,iCAAiC;AAAA,MAC1E;AAAA,IACF;AAEA,QAAI,WAAW;AACf,UAAM,WAAW,KAAK,KAAK,cAAc,aAAa,QAAQ,OAAO,EAAE,EAAE,QAAQ,OAAO,GAAG,CAAC;AAC5F,QAAI,GAAG,WAAW,QAAQ,GAAG;AAC3B,UAAI;AACF,mBAAW,GAAG,aAAa,UAAU,MAAM;AAAA,MAC7C,QAAQ;AAAA,MAAC;AAAA,IACX;AAEA,UAAM,MAAM,mBAAmB,SAAS;AACxC,QAAI,CAAC,IAAI,QAAQ;AACf,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,mEAAmE,CAAC;AAAA,QACpG,mBAAmB,EAAE,IAAI,OAAO,OAAO,wBAAwB;AAAA,MACjE;AAAA,IACF;AACA,UAAM,EAAE,UAAU,QAAQ,SAAS,MAAM,IAAI;AAE7C,UAAM,UAAU;AAAA,MACd,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,QAAQ;AAAA,IACV;AAEA,UAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAQZ,EAAE,KAAK,QAAQ,EAAE,KAAK,EAAE;AAEjC,UAAM,aAAa;AAAA;AAAA,EAErB,eAAe,MAAM,GAAG,GAAI,CAAC;AAAA;AAAA;AAAA;AAAA,EAI7B,WAAW,SAAS,MAAM,GAAG,GAAI,IAAI,sBAAgB;AAAA;AAGnD,QAAI;AACF,UAAI,MAAM,MAAM,sBAAsB,UAAU,QAAQ,SAAS,OAAO,cAAc,UAAU;AAChG,YAAM,IAAI,QAAQ,qBAAqB,EAAE,EAAE,QAAQ,eAAe,EAAE,EAAE,KAAK;AAC3E,UAAI,OAAO,CAAC;AACZ,UAAI;AACF,eAAO,KAAK,MAAM,GAAG;AAAA,MACvB,QAAQ;AACN,eAAO;AAAA,UACL,kBAAkB;AAAA,UAClB,iBAAiB,IAAI,MAAM,GAAG,GAAI;AAAA,UAClC,YAAY;AAAA,QACd;AAAA,MACF;AAEA,YAAM,OAAO;AAAA,QACX,KAAK,cAAc;AAAA,EAAkB,KAAK,UAAU;AAAA,QACpD,KAAK,oBAAoB;AAAA,IAA0B,KAAK,gBAAgB;AAAA,QACxE,KAAK,mBAAmB;AAAA,QAA8B,EAAE;AAAA,EAAK,KAAK,eAAe;AAAA;AAAA,MACnF,EACG,OAAO,OAAO,EACd,KAAK,MAAM;AAEd,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,QAAQ,KAAK,UAAU,MAAM,MAAM,CAAC,EAAE,CAAC;AAAA,QACvE,mBAAmB;AAAA,UACjB,IAAI;AAAA,UACJ,kBAAkB,KAAK;AAAA,UACvB,iBAAiB,KAAK;AAAA,UACtB,YAAY,KAAK;AAAA,QACnB;AAAA,MACF;AAAA,IACF,SAAS,KAAK;AACZ,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,uBAAuB,IAAI,OAAO,GAAG,CAAC;AAAA,QACtE,mBAAmB,EAAE,IAAI,OAAO,OAAO,IAAI,QAAQ;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,MAAM,EAAE,OAAO,EAAE,SAAS,wFAAwF;AAAA,IACpH,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,MAC9B,SAAS,EAAE,MAAM,EAAE,OAAO;AAAA,QACxB,MAAM,EAAE,OAAO;AAAA,QACf,SAAS,EAAE,QAAQ,EAAE,SAAS;AAAA,QAC9B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,QACjC,eAAe,EAAE,QAAQ,EAAE,SAAS;AAAA,QACpC,oBAAoB,EAAE,OAAO,EAAE,SAAS;AAAA,QACxC,UAAU,EAAE,QAAQ,EAAE,SAAS;AAAA,QAC/B,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,QAC5C,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,QACjD,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,QAC9C,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,MAChC,CAAC,CAAC,EAAE,SAAS;AAAA,MACb,uBAAuB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,MACpD,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,MAC5B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,MAAM,SAAS,MAAM;AAC5B,UAAM,aAAa,SAAS,QAAQ,OAAO,EAAE,EAAE,QAAQ,OAAO,GAAG;AACjE,UAAM,WAAW,KAAK,KAAK,cAAc,UAAU;AAEnD,QAAI,CAAC,SAAS,WAAW,YAAY,GAAG;AACtC,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,2BAA2B,CAAC;AAAA,QAC5D,mBAAmB,EAAE,IAAI,OAAO,OAAO,uBAAuB;AAAA,MAChE;AAAA,IACF;AACA,QAAI,CAAC,GAAG,WAAW,QAAQ,GAAG;AAC5B,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,8BAA2B,UAAU,GAAG,CAAC;AAAA,QACzE,mBAAmB,EAAE,IAAI,OAAO,OAAO,iBAAiB;AAAA,MAC1D;AAAA,IACF;AACA,UAAM,OAAO,GAAG,SAAS,QAAQ;AACjC,QAAI,KAAK,YAAY,GAAG;AACtB,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,4CAAsC,CAAC;AAAA,QACvE,mBAAmB,EAAE,IAAI,OAAO,OAAO,eAAe;AAAA,MACxD;AAAA,IACF;AAEA,QAAI,cAAc;AAClB,QAAI;AACF,oBAAc,GAAG,aAAa,UAAU,MAAM;AAAA,IAChD,SAAS,KAAK;AACZ,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,gBAAgB,IAAI,OAAO,GAAG,CAAC;AAAA,QAC/D,mBAAmB,EAAE,IAAI,OAAO,OAAO,IAAI,QAAQ;AAAA,MACrD;AAAA,IACF;AAEA,UAAM,MAAM,mBAAmB,SAAS;AACxC,QAAI,CAAC,IAAI,QAAQ;AACf,aAAO;AAAA,QACL,SAAS,CAAC;AAAA,UACR,MAAM;AAAA,UACN,MAAM;AAAA,QACR,CAAC;AAAA,QACD,mBAAmB,EAAE,IAAI,OAAO,OAAO,wBAAwB;AAAA,MACjE;AAAA,IACF;AACA,UAAM,EAAE,UAAU,QAAQ,SAAS,MAAM,IAAI;AAE7C,UAAM,MAAM,KAAK,QAAQ,QAAQ,EAAE,YAAY;AAC/C,UAAM,OAAO,CAAC,OAAO,MAAM,EAAE,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,MAAM,EAAE,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,WAAW;AAE9I,UAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDA+BuB,IAAI;AAEhD,UAAM,aAAa,YAAY,UAAU;AAAA;AAAA,QAErC,IAAI;AAAA,EACV,YAAY,MAAM,GAAG,IAAK,CAAC;AAAA;AAAA;AAAA;AAKzB,QAAI;AACF,UAAI,MAAM,MAAM,sBAAsB,UAAU,QAAQ,SAAS,OAAO,cAAc,UAAU;AAChG,YAAM,IAAI,QAAQ,qBAAqB,EAAE,EAAE,QAAQ,eAAe,EAAE,EAAE,KAAK;AAE3E,UAAI,OAAO,CAAC;AACZ,UAAI;AACF,eAAO,KAAK,MAAM,GAAG;AAAA,MACvB,QAAQ;AACN,eAAO;AAAA,UACL,SAAS,CAAC;AAAA,UACV,uBAAuB,CAAC;AAAA,UACxB,QAAQ,IAAI,MAAM,GAAG,GAAI,KAAK;AAAA,QAChC;AAAA,MACF;AAEA,YAAM,QAAQ;AAAA,QACZ,+BAAyB,UAAU;AAAA,QACnC;AAAA,QACA,KAAK,UAAU;AAAA,EAAc,KAAK,MAAM;AAAA,QACxC,KAAK,uBAAuB,SAAS,IACjC;AAAA;AAAA,EAAmC,KAAK,sBAAsB,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,KAC7F;AAAA,QACJ;AAAA,MACF;AAEA,iBAAW,KAAK,KAAK,WAAW,CAAC,GAAG;AAClC,cAAM,KAAK,OAAO,EAAE,IAAI,EAAE;AAC1B,cAAM,KAAK,EAAE;AACb,YAAI,EAAE,YAAY,OAAW,OAAM,KAAK,kBAAkB,EAAE,UAAU,eAAU,eAAO,EAAE;AACzF,YAAI,EAAE,YAAa,OAAM,KAAK,uBAAuB,EAAE,WAAW,EAAE;AACpE,YAAI,EAAE,cAAe,OAAM,KAAK,4CAAkC,EAAE,sBAAsB,WAAW,EAAE;AACvG,YAAI,EAAE,aAAa,OAAW,OAAM,KAAK,mBAAmB,EAAE,WAAW,eAAU,eAAO,EAAE;AAC5F,YAAI,EAAE,eAAe,OAAQ,OAAM,KAAK,yBAAyB,EAAE,cAAc,KAAK,IAAI,CAAC,EAAE;AAC7F,YAAI,EAAE,oBAAoB,OAAQ,OAAM,KAAK,iCAA8B,EAAE,mBAAmB,KAAK,IAAI,CAAC,EAAE;AAC5G,YAAI,EAAE,iBAAiB,OAAQ,OAAM,KAAK,2BAA2B,EAAE,gBAAgB,KAAK,IAAI,CAAC,EAAE;AACnG,YAAI,EAAE,SAAU,OAAM,KAAK;AAAA;AAAA;AAAA,EAA4B,EAAE,QAAQ;AAAA,OAAU;AAC3E,cAAM,KAAK,EAAE;AAAA,MACf;AAEA,YAAM,gBAAgB,MAAM,OAAO,OAAO,EAAE,KAAK,IAAI;AAErD,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,cAAc,CAAC;AAAA,QAC/C,mBAAmB;AAAA,UACjB,IAAI;AAAA,UACJ,UAAU;AAAA,UACV,SAAS,KAAK,WAAW,CAAC;AAAA,UAC1B,uBAAuB,KAAK,yBAAyB,CAAC;AAAA,UACtD,QAAQ,KAAK;AAAA,QACf;AAAA,MACF;AAAA,IACF,SAAS,KAAK;AACZ,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,qBAAqB,IAAI,OAAO,GAAG,CAAC;AAAA,QACpE,mBAAmB,EAAE,IAAI,OAAO,OAAO,IAAI,QAAQ;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AACF;AAGA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,UAAU,EAAE,MAAM,EAAE,OAAO;AAAA,QACzB,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,QAC1B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,QAC7B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,MAC7B,CAAC,CAAC,EAAE,SAAS,+BAA+B;AAAA,MAC5C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,mBAAgB;AAAA,IACxD,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,QAAQ,EAAE,OAAO;AAAA,MACjB,OAAO,EAAE,OAAO;AAAA,IAClB,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,UAAU,MAAM,MAAM;AAC7B,UAAM,WAAW,SAAS,YAAY,SAAS,MAAM;AACrD,UAAM,QAAQ;AAAA,MACZ,KAAK,QAAQ;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG,SAAS,MAAM;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,aAAS,QAAQ,CAAC,GAAG,MAAM;AACzB,YAAM,KAAK,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,oBAAoB,EAAE;AAC5D,YAAM,KAAK,EAAE;AACb,YAAM,KAAK,iBAAiB,EAAE,WAAW,KAAK,EAAE;AAChD,YAAM,KAAK,EAAE;AACb,UAAI,EAAE,OAAO;AACX,cAAM,KAAK,kBAAkB;AAC7B,cAAM,KAAK,KAAK;AAChB,cAAM,KAAK,EAAE,KAAK;AAClB,cAAM,KAAK,KAAK;AAChB,cAAM,KAAK,EAAE;AAAA,MACf;AAAA,IACF,CAAC;AAED,UAAM,KAAK,uBAAoB;AAC/B,UAAM,KAAK,EAAE;AACb,UAAM,KAAK,6BAA6B;AACxC,UAAM,KAAK,8BAA8B;AACzC,UAAM,KAAK,8BAAwB;AACnC,UAAM,KAAK,0BAA0B;AAErC,UAAM,SAAS,MAAM,KAAK,IAAI;AAE9B,uBAAmB,EAAE,MAAM,gBAAgB,eAAe,SAAS,QAAQ,OAAO,SAAS,CAAC;AAE5F,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,OAAO,CAAC;AAAA,MACxC,mBAAmB,EAAE,IAAI,MAAM,QAAQ,OAAO,SAAS;AAAA,IACzD;AAAA,EACF;AACF;AAMA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,QAAQ,EAAE,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,yCAAsC;AAAA,IACjG,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,WAAW,EAAE,OAAO;AAAA,QAClB,UAAU,EAAE,OAAO;AAAA,QACnB,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,QACnC,kBAAkB,EAAE,OAAO;AAAA,MAC7B,CAAC,EAAE,SAAS;AAAA,MACZ,eAAe,EAAE,OAAO;AAAA,QACtB,qBAAqB,EAAE,OAAO;AAAA,QAC9B,eAAe,EAAE,OAAO;AAAA,QACxB,qBAAqB,EAAE,OAAO;AAAA,MAChC,CAAC,EAAE,SAAS;AAAA,MACZ,cAAc,EAAE,OAAO;AAAA,QACrB,YAAY,EAAE,OAAO;AAAA,QACrB,cAAc,EAAE,OAAO;AAAA,QACvB,SAAS,EAAE,OAAO;AAAA,QAClB,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;AAAA,MACvE,CAAC,EAAE,SAAS;AAAA,MACZ,SAAS,EAAE,OAAO;AAAA,IACpB,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,SAAS,MAAM,IAAI,CAAC,MAAM;AACjC,UAAM,MAAM,KAAK,IAAI;AACrB,UAAM,aAAa,EAAE,MAAM,IAAI,KAAK,KAAK,KAAK,KAAM,OAAO,KAAK,KAAK,KAAK,KAAK,KAAM,KAAK,SAAS;AACnG,UAAM,SAAS,MAAM,WAAW,MAAM;AAEtC,QAAI,OAAO,EAAE,QAAQ,CAAC,EAAE;AACxB,QAAI,GAAG,WAAW,YAAY,GAAG;AAC/B,UAAI;AACF,eAAO,KAAK,MAAM,GAAG,aAAa,cAAc,MAAM,CAAC;AAAA,MACzD,QAAQ;AAAA,MAAC;AAAA,IACX;AAEA,UAAM,UAAU,KAAK,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,SAAS,EAAE,QAAQ,KAAK,MAAM;AAE1F,UAAM,WAAW,OAAO,OAAO,CAAC,MAAM,EAAE,SAAS,UAAU;AAC3D,UAAM,aAAa,SAAS,OAAO,CAAC,OAAO,EAAE,UAAU,KAAK,CAAC;AAC7D,UAAM,cAAc,SAAS,OAAO,CAAC,KAAK,MAAM,OAAO,EAAE,UAAU,IAAI,CAAC;AACxE,UAAM,gBAAgB,SAAS,OAAO,CAAC,KAAK,MAAM,OAAO,EAAE,mBAAmB,IAAI,CAAC;AAEnF,QAAI,YAAY;AAChB,QAAI,WAAW,SAAS,GAAG;AACzB,YAAM,cAAc,WAAW,WAAW,SAAS,CAAC;AACpD,kBAAY;AAAA,QACV,UAAU;AAAA,QACV,eAAe,YAAY;AAAA,QAC3B,kBAAkB,WAAW;AAAA,MAC/B;AACA,UAAI,WAAW,UAAU,GAAG;AAC1B,cAAM,SAAS,CAAC;AAChB,iBAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AAC1C,gBAAM,OAAO,IAAI,KAAK,WAAW,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ;AAC3D,gBAAM,OAAO,IAAI,KAAK,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ;AACvD,iBAAO,MAAM,OAAO,SAAS,MAAO,KAAK,GAAG;AAAA,QAC9C;AACA,kBAAU,WAAW,OAAO,OAAO,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC,IAAI,OAAO;AAAA,MAClE;AAAA,IACF;AAEA,QAAI,gBAAgB;AACpB,QAAI,cAAc,GAAG;AACnB,YAAM,wBAAwB,gBAAgB,cAAc;AAC5D,sBAAgB;AAAA,QACd,qBAAqB,KAAK,MAAM,wBAAwB,WAAW;AAAA,QACnE,eAAe;AAAA,QACf,qBAAqB,KAAK,MAAO,wBAAwB,KAAM,EAAE,IAAI;AAAA,MACvE;AAAA,IACF;AAEA,QAAI,eAAe;AACnB,QAAI,GAAG,WAAW,iBAAiB,GAAG;AACpC,UAAI;AACF,cAAM,cAAc,KAAK,MAAM,GAAG,aAAa,mBAAmB,MAAM,CAAC;AACzE,cAAM,QAAQ,YAAY,SAAS,CAAC;AACpC,cAAM,YAAY,uBAAuB;AACzC,cAAM,eAAe,IAAI,IAAI,iBAAiB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AAE3E,cAAM,UAAU,MAAM,IAAI,CAAC,MAAM;AAC/B,gBAAM,YAAY,EAAE,aAAa,CAAC;AAClC,gBAAM,UAAU,UAAU,KAAK,CAAC,OAAO,aAAa,IAAI,EAAE,KAAK,aAAa,IAAI,GAAG,QAAQ,OAAO,GAAG,CAAC,CAAC;AACvG,iBAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,QAAQ;AAAA,QAChD,CAAC;AAED,uBAAe;AAAA,UACb,YAAY,MAAM;AAAA,UAClB,cAAc,QAAQ,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;AAAA,UAC/C,SAAS,MAAM,SAAS,KAAK,MAAO,QAAQ,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,SAAU,GAAG,IAAI;AAAA,UACrG;AAAA,QACF;AAAA,MACF,QAAQ;AAAA,MAAC;AAAA,IACX;AAEA,UAAM,QAAQ;AAAA,MACZ;AAAA,MACA;AAAA,MACA,eAAY,MAAM;AAAA,MAClB;AAAA,MACA,YACI;AAAA,QACE;AAAA,QACA,sBAAmB,UAAU,iBAAiB,KAAK;AAAA,QACnD,gCAA0B,UAAU,gBAAgB;AAAA,QACpD,UAAU,WAAW,IAAI,4BAAyB,UAAU,SAAS,QAAQ,CAAC,CAAC,MAAM;AAAA,MACvF,EACG,OAAO,OAAO,EACd,KAAK,IAAI,IACZ;AAAA,MACJ,gBACI;AAAA,QACE;AAAA,QACA,sBAAsB,cAAc,aAAa;AAAA,QACjD,kCAA+B,cAAc,mBAAmB;AAAA,QAChE,6BAA6B,cAAc,mBAAmB;AAAA,MAChE,EAAE,KAAK,IAAI,IACX;AAAA,MACJ,eACI;AAAA,QACE;AAAA,QACA,sBAAsB,aAAa,YAAY,IAAI,aAAa,UAAU,KAAK,aAAa,OAAO;AAAA,QACnG,aAAa,QAAQ,IAAI,CAAC,MAAM,OAAO,EAAE,IAAI,KAAK,EAAE,UAAU,WAAM,QAAG,EAAE,EAAE,KAAK,IAAI;AAAA,MACtF,EAAE,KAAK,IAAI,IACX;AAAA,IACN,EACG,OAAO,OAAO,EACd,KAAK,MAAM;AAEd,QAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,cAAc;AACjD,YAAM,MACJ;AACF,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,IAAI,CAAC;AAAA,QACrC,mBAAmB,EAAE,IAAI,OAAO,SAAS,IAAI;AAAA,MAC/C;AAAA,IACF;AAEA,UAAM,UAAU;AAAA,MACd,aAAa,GAAG,UAAU,gBAAgB;AAAA,MAC1C,iBAAiB,GAAG,cAAc,aAAa,aAAa,cAAc,mBAAmB;AAAA,MAC7F,gBAAgB,GAAG,aAAa,YAAY,IAAI,aAAa,UAAU;AAAA,IACzE,EACG,OAAO,OAAO,EACd,KAAK,KAAK;AAEb,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,SAAS,QAAQ,CAAC;AAAA,MAClD,mBAAmB;AAAA,QACjB,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,WAAW,EAAE,KAAK;AAAA,QAChB;AAAA,QAAW;AAAA,QAAc;AAAA,QAAQ;AAAA,QAAe;AAAA,QAAU;AAAA,QAAS;AAAA,QAAU;AAAA,QAAU;AAAA,QAAS;AAAA,MAClG,CAAC,EAAE,SAAS,EAAE,SAAS,sCAAsC;AAAA,MAC7D,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,4CAA4C;AAAA,IACtF,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA,MACzB,OAAO,EAAE,OAAO;AAAA,IAClB,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,YAAY,OAAO,QAAQ,IAAI,CAAC,MAAM;AAC7C,UAAM,YAAY,uBAAuB;AACzC,UAAM,YAAY,iBAAiB,WAAW,EAAE,WAAW,QAAQ,CAAC;AACpE,UAAM,WAAW,UAAU,IAAI,CAAC,MAAM,EAAE,IAAI;AAE5C,UAAM,UAAU,eAAe,SAAS,MAAM;AAE9C,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,GAAG,OAAO;AAAA;AAAA,EAAO,SAAS,MAAM,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC;AAAA,MACrF,mBAAmB,EAAE,IAAI,MAAM,OAAO,UAAU,OAAO,SAAS,OAAO;AAAA,IACzE;AAAA,EACF;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,mCAAmC;AAAA,MACxE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,4DAAyD;AAAA,IAChG,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,QAAQ,EAAE,KAAK,CAAC,UAAU,UAAU,WAAW,CAAC;AAAA,MAChD,SAAS,EAAE,OAAO;AAAA,MAClB,UAAU,EAAE,OAAO;AAAA,MACnB,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC9B,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,KAAK,MAAM,WAAW,MAAM;AACnC,UAAM,YAAY,uBAAuB;AACzC,UAAM,UAAU,UAAU,aAAa,WAAW,CAAC;AAEnD,QAAI,KAAK;AACT,QAAI,QAAQ,MAAM;AAChB,YAAM;AACN,aAAO,CAAC,OAAO,MAAM;AAAA,IACvB,WAAW,UAAU,aAAa,iBAAiB,UAAU,UAAU,aAAa,cAAc,QAAQ;AACxG,YAAM;AACN,aAAO,CAAC,UAAU,cAAc,GAAG;AACnC,UAAI,IAAK,MAAK,KAAK,OAAO;AAAA,IAC5B,OAAO;AACL,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,sCAAmC,CAAC;AAAA,QACpE,mBAAmB,EAAE,QAAQ,aAAa,SAAS,mBAAmB,UAAU,EAAE;AAAA,MACpF;AAAA,IACF;AAEA,WAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,YAAM,QAAQ,MAAM,KAAK,MAAM;AAAA,QAC7B,KAAK;AAAA,QACL,OAAO,CAAC,WAAW,QAAQ,MAAM;AAAA,QACjC,OAAO,QAAQ,aAAa;AAAA,QAC5B,KAAK,EAAE,GAAG,QAAQ,IAAI;AAAA,MACxB,CAAC;AAED,UAAI,SAAS;AACb,UAAI,SAAS;AACb,UAAI,MAAM,OAAQ,OAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AAAE,kBAAU,EAAE,SAAS;AAAA,MAAG,CAAC;AAC5E,UAAI,MAAM,OAAQ,OAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AAAE,kBAAU,EAAE,SAAS;AAAA,MAAG,CAAC;AAE5E,YAAM,GAAG,SAAS,CAAC,SAAS;AAC1B,cAAM,SAAS,CAAC,QAAQ,MAAM,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK;AAChE,cAAM,SAAS,SAAS;AACxB,gBAAQ;AAAA,UACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,SAAS,mBAAmB,8BAA8B,CAAC;AAAA,UAC3F,mBAAmB;AAAA,YACjB,QAAQ,SAAS,WAAW;AAAA,YAC5B,SAAS,SAAS,gBAAgB;AAAA,YAClC,UAAU,QAAQ;AAAA,YAClB,QAAQ,CAAC,SAAS,SAAS;AAAA,UAC7B;AAAA,QACF,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,gBAAgB,EAAE,KAAK,CAAC,OAAO,QAAQ,QAAQ,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,iCAAiC;AAAA,IAC/G,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,QAAQ,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC;AAAA,MACpC,SAAS,EAAE,OAAO;AAAA,MAClB,UAAU,EAAE,OAAO;AAAA,IACrB,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,iBAAiB,OAAO,MAAM;AACrC,QAAI,KAAK;AAET,QAAI,OAAO,QAAQ;AACjB,UAAI,GAAG,WAAW,KAAK,KAAK,cAAc,WAAW,CAAC,EAAG,MAAK;AAAA,eACrD,GAAG,WAAW,KAAK,KAAK,cAAc,gBAAgB,CAAC,EAAG,MAAK;AAAA,UACnE,MAAK;AAAA,IACZ;AAEA,WAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,YAAM,QAAQ,MAAM,IAAI,CAAC,SAAS,GAAG;AAAA,QACnC,KAAK;AAAA,QACL,OAAO;AAAA,QACP,OAAO,QAAQ,aAAa;AAAA,QAC5B,KAAK,EAAE,GAAG,QAAQ,IAAI;AAAA,MACxB,CAAC;AAED,YAAM,GAAG,SAAS,CAAC,SAAS;AAC1B,cAAM,SAAS,SAAS;AACxB,gBAAQ;AAAA,UACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,SAAS,gCAA6B,oCAAiC,CAAC;AAAA,UACxG,mBAAmB;AAAA,YACjB,QAAQ,SAAS,YAAY;AAAA,YAC7B,SAAS,SAAS,2BAA2B;AAAA,YAC7C,UAAU,QAAQ;AAAA,UACpB;AAAA,QACF,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO,CAAC,CAAC;AAAA,IACxB,cAAc,EAAE,OAAO;AAAA,MACrB,gBAAgB,EAAE,OAAO;AAAA,MACzB,iBAAiB,EAAE,OAAO;AAAA,MAC1B,eAAe,EAAE,OAAO;AAAA,MACxB,aAAa,EAAE,OAAO;AAAA,MACtB,gBAAgB,EAAE,OAAO;AAAA,MACzB,yBAAyB,EAAE,OAAO;AAAA,IACpC,CAAC;AAAA,EACH;AAAA,EACA,YAAY;AACV,UAAM,QAAQ,eAAe;AAC7B,UAAM,UAAU;AAAA;AAAA,2BAEO,MAAM,cAAc;AAAA,mCAClB,MAAM,eAAe;AAAA,kCACtB,MAAM,aAAa;AAAA,+BACtB,MAAM,WAAW;AAAA,oBACtB,MAAM,cAAc;AAAA,wCACH,MAAM,uBAAuB;AAAA;AAAA,EAEhE,MAAM,mBAAmB,IAAI,sGAAsF,EAAE;AAEnH,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,QAAQ,CAAC;AAAA,MACzC,mBAAmB;AAAA,IACrB;AAAA,EACF;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,WAAW,EAAE,KAAK,CAAC,QAAQ,cAAc,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,gDAAgD;AAAA,IAC3H,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,QAAQ,EAAE,KAAK,CAAC,WAAW,UAAU,eAAe,CAAC;AAAA,MACrD,SAAS,EAAE,OAAO;AAAA,MAClB,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,MACrC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC9B,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,UAAU,MAAM;AACvB,UAAM,YAAY,uBAAuB;AACzC,UAAM,KAAK,aAAa,UAAU,eAAe,CAAC;AAElD,QAAI,OAAO,QAAQ;AACjB,aAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,cAAM,QAAQ,MAAM,OAAO,CAAC,QAAQ,YAAY,GAAG;AAAA,UACjD,KAAK;AAAA,UACL,OAAO,CAAC,WAAW,QAAQ,MAAM;AAAA,UACjC,OAAO,QAAQ,aAAa;AAAA,UAC5B,KAAK,EAAE,GAAG,QAAQ,IAAI;AAAA,QACxB,CAAC;AAED,YAAI,SAAS;AACb,YAAI,MAAM,OAAQ,OAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AAAE,oBAAU,EAAE,SAAS;AAAA,QAAG,CAAC;AAE5E,cAAM,GAAG,SAAS,CAAC,SAAS;AAC1B,gBAAM,gBAAgB,OAAO,MAAM,yBAAyB;AAC5D,gBAAM,kBAAkB,gBAAgB,WAAW,cAAc,CAAC,CAAC,IAAI;AAEvE,kBAAQ;AAAA,YACN,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,aAAa,mBAAmB,KAAK,IAAI,CAAC;AAAA,YAC1E,mBAAmB;AAAA,cACjB,QAAQ,SAAS,IAAI,YAAY;AAAA,cACjC,SAAS,SAAS,IAAI,uBAAuB;AAAA,cAC7C;AAAA,cACA,QAAQ;AAAA,YACV;AAAA,UACF,CAAC;AAAA,QACH,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAEA,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,kCAA+B,EAAE,UAAU,CAAC;AAAA,MAC5E,mBAAmB,EAAE,QAAQ,iBAAiB,SAAS,4CAA4C;AAAA,IACrG;AAAA,EACF;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,WAAW,EAAE,KAAK,CAAC,QAAQ,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,gCAAgC;AAAA,IAC5F,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,QAAQ,EAAE,OAAO;AAAA,MACjB,SAAS,EAAE,OAAO;AAAA,IACpB,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,UAAU,MAAM;AACvB,UAAM,YAAY,uBAAuB;AACzC,UAAM,KAAK,cAAc,UAAU,eAAe,SAAS,MAAM,IAAI,SAAS;AAE9E,QAAI,CAAC,UAAU,eAAe,SAAS,EAAE,GAAG;AAC1C,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,GAAG,EAAE,gCAA6B,CAAC;AAAA,QACnE,mBAAmB,EAAE,QAAQ,aAAa,SAAS,sBAAsB;AAAA,MAC3E;AAAA,IACF;AAEA,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,0CAA0C,EAAE,WAAW,CAAC;AAAA,MACxF,mBAAmB;AAAA,QACjB,QAAQ;AAAA,QACR,SAAS,sDAAsD,EAAE;AAAA,MACnE;AAAA,IACF;AAAA,EACF;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,SAAS,EAAE,OAAO,EAAE,SAAS,4DAA4D;AAAA,MACzF,WAAW,EAAE,KAAK;AAAA,QAChB;AAAA,QAAW;AAAA,QAAc;AAAA,QAAe;AAAA,QAAQ;AAAA,QAAU;AAAA,QAAS;AAAA,QAAU;AAAA,QAAS;AAAA,MACxF,CAAC,EAAE,SAAS,EAAE,SAAS,mDAAmD;AAAA,MAC1E,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,wDAA+C;AAAA,IAC5F,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,MAClC,UAAU,EAAE,OAAO;AAAA,MACnB,aAAa,EAAE,KAAK,CAAC,UAAU,UAAU,aAAa,CAAC;AAAA,MACvD,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS;AAAA,MACvG,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,SAAS,WAAW,aAAa,EAAE,MAAM;AAChD,UAAM,YAAY,uBAAuB;AACzC,UAAM,KAAK,aAAa,UAAU,eAAe,CAAC;AAClD,QAAI,CAAC,IAAI;AACP,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,yDAAyD,CAAC;AAAA,QAC1F,mBAAmB,EAAE,IAAI,OAAO,OAAO,gBAAgB,aAAa,UAAU,UAAU,EAAE;AAAA,MAC5F;AAAA,IACF;AAEA,UAAM,MAAM,mBAAmB,QAAQ;AACvC,QAAI,CAAC,IAAI,QAAQ;AACf,aAAO;AAAA,QACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,mEAAmE,CAAC;AAAA,QACpG,mBAAmB,EAAE,IAAI,OAAO,OAAO,cAAc,aAAa,UAAU,UAAU,EAAE;AAAA,MAC1F;AAAA,IACF;AAEA,UAAM,YAAY,CAAC;AACnB,UAAM,SAAS,kBAAkB;AACjC,UAAM,eAAe;AAAA,MACnB,eAAe,UAAU,eAAe,KAAK,IAAI,CAAC;AAAA,MAClD,WAAW,UAAU,SAAS,KAAK,IAAI,CAAC;AAAA,MACxC,OAAO,OAAO,SAAS,WAAW,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC,KAAK;AAAA,IAC3F,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI;AAE3B,QAAI,eAAe;AACnB,QAAI,cAAc;AAClB,QAAI,UAAU;AAEd,cAAU,KAAK,EAAE,SAAS,GAAG,QAAQ,kBAAkB,QAAQ,GAAG,UAAU,eAAe,MAAM,gBAAgB,CAAC;AAElH,SAAK,UAAU,GAAG,WAAW,YAAY,WAAW;AAClD,gBAAU,KAAK,EAAE,SAAS,QAAQ,kBAAkB,QAAQ,aAAa,CAAC;AAE1E,YAAM,EAAE,UAAU,QAAQ,SAAS,MAAM,IAAI;AAC7C,YAAM,cAAc,OAAO,WAAW,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK;AAC1G,YAAM,eAAe,qDAA+C,EAAE;AAAA,EAC1E,cAAc;AAAA;AAAA,EAAqD,YAAY,MAAM,GAAG,GAAI,CAAC,KAAK,EAAE;AAAA;AAGhG,YAAM,aAAa;AAAA,EAAc,YAAY;AAAA;AAAA,mBAAwB,OAAO;AAAA,aAAgB,EAAE;AAE9F,UAAI;AACF,YAAI,cAAc;AAClB,YAAI,aAAa,UAAU;AACzB,gBAAM,MAAM,GAAG,OAAO,WAAW,KAAK,wBAAwB,MAAM;AACpE,gBAAM,MAAM,MAAM,MAAM,KAAK;AAAA,YAC3B,QAAQ;AAAA,YACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,YAC9C,MAAM,KAAK,UAAU;AAAA,cACnB,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,eAAe,SAAS,WAAW,CAAC,EAAE,CAAC;AAAA,cACpE,kBAAkB,EAAE,aAAa,KAAK,iBAAiB,KAAK;AAAA,YAC9D,CAAC;AAAA,UACH,CAAC;AACD,gBAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,wBAAc,KAAK,aAAa,CAAC,GAAG,SAAS,QAAQ,CAAC,GAAG,QAAQ;AAAA,QACnE,OAAO;AACL,gBAAM,MAAM,MAAM,MAAM,GAAG,OAAO,qBAAqB;AAAA,YACrD,QAAQ;AAAA,YACR,SAAS,EAAE,gBAAgB,oBAAoB,eAAe,UAAU,MAAM,GAAG;AAAA,YACjF,MAAM,KAAK,UAAU;AAAA,cACnB;AAAA,cACA,UAAU,CAAC,EAAE,MAAM,UAAU,SAAS,aAAa,GAAG,EAAE,MAAM,QAAQ,SAAS,WAAW,CAAC;AAAA,cAC3F,aAAa;AAAA,cACb,YAAY;AAAA,YACd,CAAC;AAAA,UACH,CAAC;AACD,gBAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,wBAAc,KAAK,UAAU,CAAC,GAAG,SAAS,WAAW;AAAA,QACvD;AACA,sBAAc,YAAY,QAAQ,yCAAyC,EAAE,EAAE,QAAQ,eAAe,EAAE,EAAE,KAAK;AAC/G,sBAAc;AAEd,YAAI,CAAC,cAAc;AACjB,gBAAM,WAAW,QAAQ,YAAY,EAAE,QAAQ,QAAQ,GAAG,EAAE,QAAQ,eAAe,EAAE,EAAE,MAAM,GAAG,EAAE;AAClG,gBAAM,EAAE,KAAK,QAAQ,IAAI,uBAAuB,IAAI,SAAS;AAC7D,gBAAM,WAAW,WAAW;AAC5B,yBAAe,KAAK,KAAK,SAAS,QAAQ;AAC1C,cAAI,CAAC,GAAG,WAAW,OAAO,EAAG,IAAG,UAAU,SAAS,EAAE,WAAW,KAAK,CAAC;AAAA,QACxE;AACA,WAAG,cAAc,cAAc,aAAa,MAAM;AAClD,kBAAU,KAAK,EAAE,SAAS,QAAQ,cAAc,QAAQ,YAAY,YAAY,GAAG,CAAC;AAEpF,kBAAU,KAAK,EAAE,SAAS,QAAQ,aAAa,QAAQ,gBAAgB,CAAC;AACxE,cAAM,YAAY,MAAM,IAAI,QAAQ,CAAC,YAAY;AAC/C,gBAAM,QAAQ,MAAM,OAAO,CAAC,OAAO,YAAY,YAAY,OAAO,eAAe,eAAe,IAAI,OAAO,YAAY,QAAQ,OAAO,eAAe,SAAS,OAAO,YAAY,GAAG;AAAA,YAClL,KAAK;AAAA,YACL,OAAO,CAAC,WAAW,QAAQ,MAAM;AAAA,YACjC,OAAO,QAAQ,aAAa;AAAA,UAC9B,CAAC;AACD,cAAI,SAAS,IAAI,SAAS;AAC1B,cAAI,MAAM,OAAQ,OAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AAAE,sBAAU,EAAE,SAAS;AAAA,UAAG,CAAC;AAC5E,cAAI,MAAM,OAAQ,OAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AAAE,sBAAU,EAAE,SAAS;AAAA,UAAG,CAAC;AAC5E,gBAAM,GAAG,SAAS,CAAC,SAAS,QAAQ,EAAE,MAAM,QAAQ,CAAC,QAAQ,MAAM,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;AAAA,QACpG,CAAC;AAED,YAAI,UAAU,SAAS,GAAG;AACxB,oBAAU,KAAK,EAAE,SAAS,QAAQ,aAAa,QAAQ,gBAAW,CAAC;AACnE,4BAAkB;AAAA,YAChB,WAAW,CAAC,EAAE,MAAM,kBAAkB,SAAS,WAAW,IAAI,SAAS,MAAM,iBAAiB,YAAY,GAAG,UAAU,SAAS,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC;AAAA,UACvK,CAAC;AACD,iBAAO;AAAA,YACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,oCAA+B,OAAO;AAAA;AAAA,WAAiB,YAAY;AAAA;AAAA,sBAA2B,CAAC;AAAA,YAC/H,mBAAmB,EAAE,IAAI,MAAM,cAAc,UAAU,SAAS,aAAa,UAAU,UAAU;AAAA,UACnG;AAAA,QACF;AAEA,kBAAU,KAAK,EAAE,SAAS,QAAQ,aAAa,QAAQ,uBAAkB,UAAU,IAAI,IAAI,CAAC;AAE5F,YAAI,WAAW,YAAY;AACzB,oBAAU,KAAK,EAAE,SAAS,QAAQ,eAAe,QAAQ,kBAAkB,CAAC;AAC5E,4BAAkB;AAAA,YAChB,WAAW,CAAC,EAAE,MAAM,kBAAkB,SAAS,WAAW,IAAI,SAAS,OAAO,UAAU,SAAS,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC;AAAA,UACxI,CAAC;AACD,iBAAO;AAAA,YACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,+BAAuB,OAAO;AAAA;AAAA;AAAA,EAAmC,UAAU,OAAO,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;AAAA,YACnI,mBAAmB,EAAE,IAAI,OAAO,cAAc,UAAU,SAAS,aAAa,eAAe,UAAU;AAAA,UACzG;AAAA,QACF;AAEA,kBAAU,KAAK,EAAE,SAAS,QAAQ,oBAAoB,QAAQ,gBAAgB,CAAC;AAC/E,cAAM,gBAAgB,oBAAoB,UAAU,MAAM;AAC1D,cAAM,aAAa,mBAAmB,SAAS;AAC/C,cAAM,gBAAgB,MAAM,2BAA2B,UAAU,QAAQ,YAAY;AAErF,YAAI,CAAC,cAAc,MAAM,CAAC,cAAc,mBAAmB,kBAAkB;AAC3E,oBAAU,KAAK,EAAE,SAAS,QAAQ,oBAAoB,QAAQ,oCAA2B,CAAC;AAC1F;AAAA,QACF;AAEA,kBAAU,KAAK,EAAE,SAAS,QAAQ,aAAa,QAAQ,8BAAwB,CAAC;AAChF,cAAM,YAAY,cAAc,kBAAkB;AAClD,sBAAc;AACd,WAAG,cAAc,cAAc,aAAa,MAAM;AAClD,kBAAU,KAAK,EAAE,SAAS,QAAQ,aAAa,QAAQ,0BAAoB,CAAC;AAE5E,YAAI,cAAc,eAAe;AAC/B,4BAAkB;AAAA,YAChB,WAAW,CAAC;AAAA,cACV,MAAM,cAAc,SAAS,CAAC,GAAG,YAAY,aAAa,iBAAiB;AAAA,cAC3E;AAAA,cACA,WAAW;AAAA,cACX,KAAK,UAAU,MAAM,GAAG,GAAG;AAAA,cAC3B,SAAS;AAAA,cACT,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,YACpC,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,MACF,SAAS,KAAK;AACZ,kBAAU,KAAK,EAAE,SAAS,QAAQ,SAAS,QAAQ,IAAI,QAAQ,CAAC;AAChE,eAAO;AAAA,UACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,qBAAqB,OAAO,KAAK,IAAI,OAAO,GAAG,CAAC;AAAA,UAChF,mBAAmB,EAAE,IAAI,OAAO,OAAO,IAAI,SAAS,UAAU,SAAS,aAAa,UAAU,UAAU;AAAA,QAC1G;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,yBAAiB,UAAU,iBAAiB,CAAC;AAAA,MAC7E,mBAAmB,EAAE,IAAI,OAAO,cAAc,UAAU,YAAY,aAAa,eAAe,UAAU;AAAA,IAC5G;AAAA,EACF;AACF;AAEA,OAAO;AAAA,EACL;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,aAAa,EAAE,OAAO;AAAA,MACpB,WAAW,EAAE,KAAK,CAAC,WAAW,cAAc,MAAM,CAAC,EAAE,SAAS,YAAY;AAAA,MAC1E,MAAM,EAAE,KAAK,CAAC,OAAO,MAAM,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,8BAA8B;AAAA,IACxF,CAAC;AAAA,IACD,cAAc,EAAE,OAAO;AAAA,MACrB,IAAI,EAAE,QAAQ;AAAA,MACd,UAAU,EAAE,OAAO;AAAA,MACnB,mBAAmB,EAAE,OAAO;AAAA,IAC9B,CAAC;AAAA,EACH;AAAA,EACA,OAAO,EAAE,WAAW,OAAO,MAAM,MAAM;AACrC,QAAI,WAAW;AACf,QAAI,WAAW;AAEf,QAAI,cAAc,WAAW;AAC3B,iBAAW,GAAG,IAAI;AAClB,iBAAW,aAAa,KAAK,YAAY,CAAC;AAAA;AAAA,MAE1C,SAAS,QAAQ,yHAAyH,wDAAwD;AAAA;AAAA;AAAA,IAGpM,WAAW,cAAc,cAAc;AACrC,iBAAW,GAAG,IAAI;AAClB,iBAAW;AAAA;AAAA,iBAEA,KAAK,YAAY,CAAC;AAAA,iCACF,SAAS,QAAQ,YAAY,MAAM;AAAA,MAC9D,SAAS,QAAQ,4GAA4G,4EAA4E;AAAA;AAAA;AAAA,IAG3M,OAAO;AACL,iBAAW,GAAG,IAAI;AAClB,iBAAW,aAAa,KAAK,YAAY,CAAC;AAAA,wBACxB,SAAS,QAAQ,4HAA4H,4CAA4C;AAAA;AAAA,IAE7M;AAEA,WAAO;AAAA,MACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,+CAA+C,CAAC;AAAA,MAChF,mBAAmB,EAAE,IAAI,MAAM,UAAU,mBAAmB,SAAS;AAAA,IACvE;AAAA,EACF;AACF;AAEA,eAAe,OAAO;AACpB,QAAM,MAAM,QAAQ,KAAK,CAAC;AAE1B,MAAI,QAAQ,YAAY,QAAQ,MAAM;AACpC,YAAQ,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CA8Bf;AACG,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,QAAQ,UAAU;AACpB,UAAM,YAAY,uBAAuB;AACzC,UAAM,WAAW,QAAQ,KAAK,SAAS,QAAQ;AAC/C,QAAI,UAAU;AACZ,cAAQ,IAAI,KAAK,UAAU,WAAW,MAAM,CAAC,CAAC;AAAA,IAChD,OAAO;AACL,YAAM,QAAQ;AAAA,QACZ;AAAA,QACA;AAAA,QACA,SAAI,OAAO,EAAE;AAAA,QACb,eAAe,UAAU,eAAe,SAAS,UAAU,eAAe,KAAK,IAAI,IAAI,QAAQ;AAAA,QAC/F,cAAc,UAAU,SAAS,SAAS,UAAU,SAAS,KAAK,IAAI,IAAI,SAAS;AAAA,QACnF,cAAc,UAAU,cAAc,QAAG;AAAA,QACzC,cAAc,UAAU,eAAe,QAAG;AAAA,QAC1C,cAAc,UAAU,YAAY,QAAQ,QAAG;AAAA,QAC/C,SAAI,OAAO,EAAE;AAAA,QACb;AAAA,QACA;AAAA,MACF;AACA,cAAQ,IAAI,MAAM,KAAK,IAAI,CAAC;AAAA,IAC9B;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,QAAQ,QAAQ;AAClB,UAAM,SAAS,OAAO,QAAQ,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,EAAE;AACxF,YAAQ,IAAI,6BAA6B,OAAO,KAAK,IAAI,CAAC;AAC1D,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,QAAQ,WAAW,QAAQ,KAAK,CAAC,GAAG;AACtC,UAAM,OAAO,QAAQ,KAAK,MAAM,CAAC,EAAE,KAAK,GAAG;AAC3C,UAAM,IAAI,KAAK,YAAY;AAC3B,QAAI,QAAQ;AACZ,QAAI,+DAA+D,KAAK,CAAC,EAAG,SAAQ;AAAA,aAC3E,qEAAqE,KAAK,CAAC,EAAG,SAAQ;AAAA,aACtF,0CAA0C,KAAK,CAAC,EAAG,SAAQ;AAAA,aAC3D,gDAAgD,KAAK,CAAC,EAAG,SAAQ;AAAA,aACjE,gDAAgD,KAAK,CAAC,EAAG,SAAQ;AAAA,aACjE,gDAAgD,KAAK,CAAC,EAAG,SAAQ;AAAA,aACjE,gCAAgC,KAAK,CAAC,EAAG,SAAQ;AAAA,aACjD,+CAA+C,KAAK,CAAC,EAAG,SAAQ;AACzE,UAAM,IAAI,UAAU,KAAK,KAAK,UAAU;AACxC,YAAQ,IAAI,KAAK,UAAU,EAAE,gBAAgB,OAAO,gBAAgB,EAAE,OAAO,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;AAC5G,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,QAAQ,QAAQ;AAClB,UAAM,UAAU,QAAQ,KAAK,MAAM,CAAC,EAAE,KAAK,GAAG;AAC9C,QAAI,CAAC,SAAS;AACZ,cAAQ,MAAM,6EAAkE;AAChF,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,UAAM,gBAAgB,QAAQ,KAAK,QAAQ,eAAe;AAC1D,UAAM,aAAa,kBAAkB,MAAM,QAAQ,KAAK,gBAAgB,CAAC,IAAI,SAAS,QAAQ,KAAK,gBAAgB,CAAC,GAAG,EAAE,IAAI;AAC7H,UAAM,eAAe,QAAQ,QAAQ,wBAAwB,EAAE,EAAE,KAAK;AAEtE,YAAQ,IAAI;AAAA,wCAAiC,YAAY;AAAA,CAAK;AAC9D,UAAM,YAAY,uBAAuB;AACzC,UAAM,KAAK,UAAU,eAAe,CAAC;AACrC,QAAI,CAAC,IAAI;AACP,cAAQ,MAAM,oCAA+B;AAC7C,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,UAAM,MAAM,mBAAmB,QAAQ;AACvC,QAAI,CAAC,IAAI,QAAQ;AACf,cAAQ,MAAM,yEAAoE;AAClF,cAAQ,KAAK,CAAC;AAAA,IAChB;AAEA,UAAM,SAAS,kBAAkB;AACjC,UAAM,eAAe;AAAA,MACnB,eAAe,UAAU,eAAe,KAAK,IAAI,CAAC;AAAA,MAClD,WAAW,UAAU,SAAS,KAAK,IAAI,CAAC;AAAA,MACxC,OAAO,OAAO,SAAS,WAAW,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC,KAAK;AAAA,IAC3F,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI;AAE3B,QAAI,eAAe;AACnB,QAAI,cAAc;AAElB,aAAS,UAAU,GAAG,WAAW,YAAY,WAAW;AACtD,cAAQ,IAAI;AAAA,aAAgB,OAAO,IAAI,UAAU,oBAAoB;AAErE,YAAM,EAAE,UAAU,QAAQ,SAAS,MAAM,IAAI;AAC7C,YAAM,cAAc,OAAO,WAAW,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK;AAC1G,YAAM,eAAe,qDAA+C,EAAE;AAAA,EAC1E,cAAc;AAAA;AAAA,EAAqD,YAAY,MAAM,GAAG,GAAI,CAAC,KAAK,EAAE;AAAA;AAGhG,YAAM,aAAa;AAAA,EAAc,YAAY;AAAA;AAAA,mBAAwB,YAAY;AAAA,aAAgB,EAAE;AAEnG,UAAI;AACF,YAAI,cAAc;AAClB,YAAI,aAAa,UAAU;AACzB,gBAAM,MAAM,GAAG,OAAO,WAAW,KAAK,wBAAwB,MAAM;AACpE,gBAAM,MAAM,MAAM,MAAM,KAAK;AAAA,YAC3B,QAAQ;AAAA,YACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,YAC9C,MAAM,KAAK,UAAU;AAAA,cACnB,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,eAAe,SAAS,WAAW,CAAC,EAAE,CAAC;AAAA,cACpE,kBAAkB,EAAE,aAAa,KAAK,iBAAiB,KAAK;AAAA,YAC9D,CAAC;AAAA,UACH,CAAC;AACD,gBAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,wBAAc,KAAK,aAAa,CAAC,GAAG,SAAS,QAAQ,CAAC,GAAG,QAAQ;AAAA,QACnE,OAAO;AACL,gBAAM,MAAM,MAAM,MAAM,GAAG,OAAO,qBAAqB;AAAA,YACrD,QAAQ;AAAA,YACR,SAAS,EAAE,gBAAgB,oBAAoB,eAAe,UAAU,MAAM,GAAG;AAAA,YACjF,MAAM,KAAK,UAAU;AAAA,cACnB;AAAA,cACA,UAAU,CAAC,EAAE,MAAM,UAAU,SAAS,aAAa,GAAG,EAAE,MAAM,QAAQ,SAAS,WAAW,CAAC;AAAA,cAC3F,aAAa;AAAA,cACb,YAAY;AAAA,YACd,CAAC;AAAA,UACH,CAAC;AACD,gBAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,wBAAc,KAAK,UAAU,CAAC,GAAG,SAAS,WAAW;AAAA,QACvD;AACA,sBAAc,YAAY,QAAQ,yCAAyC,EAAE,EAAE,QAAQ,eAAe,EAAE,EAAE,KAAK;AAC/G,sBAAc;AAEd,YAAI,CAAC,cAAc;AACjB,gBAAM,WAAW,aAAa,YAAY,EAAE,QAAQ,QAAQ,GAAG,EAAE,QAAQ,eAAe,EAAE,EAAE,MAAM,GAAG,EAAE;AACvG,gBAAM,EAAE,KAAK,QAAQ,IAAI,uBAAuB,IAAI,SAAS;AAC7D,gBAAM,WAAW,WAAW;AAC5B,yBAAe,KAAK,KAAK,SAAS,QAAQ;AAC1C,cAAI,CAAC,GAAG,WAAW,OAAO,EAAG,IAAG,UAAU,SAAS,EAAE,WAAW,KAAK,CAAC;AAAA,QACxE;AACA,WAAG,cAAc,cAAc,aAAa,MAAM;AAClD,gBAAQ,IAAI,yBAAoB,YAAY,EAAE;AAE9C,gBAAQ,IAAI;AAAA,aAAgB,OAAO,IAAI,UAAU,uBAAuB;AACxE,cAAM,YAAY,MAAM,IAAI,QAAQ,CAAC,YAAY;AAC/C,gBAAM,QAAQ,MAAM,OAAO,CAAC,OAAO,YAAY,YAAY,OAAO,eAAe,eAAe,IAAI,OAAO,YAAY,QAAQ,OAAO,eAAe,SAAS,OAAO,YAAY,GAAG;AAAA,YAClL,KAAK;AAAA,YACL,OAAO,CAAC,WAAW,QAAQ,MAAM;AAAA,YACjC,OAAO,QAAQ,aAAa;AAAA,UAC9B,CAAC;AACD,cAAI,SAAS,IAAI,SAAS;AAC1B,cAAI,MAAM,OAAQ,OAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AAAE,sBAAU,EAAE,SAAS;AAAA,UAAG,CAAC;AAC5E,cAAI,MAAM,OAAQ,OAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;AAAE,sBAAU,EAAE,SAAS;AAAA,UAAG,CAAC;AAC5E,gBAAM,GAAG,SAAS,CAAC,SAAS,QAAQ,EAAE,MAAM,QAAQ,CAAC,QAAQ,MAAM,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;AAAA,QACpG,CAAC;AAED,YAAI,UAAU,SAAS,GAAG;AACxB,kBAAQ,IAAI;AAAA,mCAAiC,OAAO,GAAG;AACvD,4BAAkB;AAAA,YAChB,WAAW,CAAC,EAAE,MAAM,kBAAkB,SAAS,cAAc,WAAW,IAAI,SAAS,MAAM,iBAAiB,YAAY,GAAG,UAAU,SAAS,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC;AAAA,UACrL,CAAC;AACD,kBAAQ,IAAI;AAAA;AAAA,CAAwE;AACpF,kBAAQ,KAAK,CAAC;AAAA,QAChB;AAEA,gBAAQ,IAAI;AAAA,4BAA0B,UAAU,IAAI,GAAG;AACvD,gBAAQ,IAAI;AAAA;AAAA,EAAa,UAAU,OAAO,MAAM,GAAG,GAAG,CAAC;AAAA,CAAI;AAE3D,YAAI,WAAW,YAAY;AACzB,kBAAQ,IAAI;AAAA,wCAAsC,UAAU;AAAA,CAAM;AAClE,4BAAkB;AAAA,YAChB,WAAW,CAAC,EAAE,MAAM,kBAAkB,SAAS,cAAc,WAAW,IAAI,SAAS,OAAO,UAAU,SAAS,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC;AAAA,UACtJ,CAAC;AACD,kBAAQ,KAAK,CAAC;AAAA,QAChB;AAEA,gBAAQ,IAAI;AAAA,aAAgB,OAAO,IAAI,UAAU,uBAAuB;AACxE,cAAM,gBAAgB,oBAAoB,UAAU,MAAM;AAC1D,YAAI,cAAc,eAAe;AAC/B,kBAAQ,IAAI,iCAAuB,cAAc,WAAW,QAAQ,CAAC,CAAC,MAAM,cAAc,SAAS,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,EAAE;AAAA,QACvI;AAEA,cAAM,gBAAgB,MAAM,2BAA2B,UAAU,QAAQ,YAAY;AACrF,YAAI,CAAC,cAAc,MAAM,CAAC,cAAc,mBAAmB,kBAAkB;AAC3E,kBAAQ,IAAI,iFAA2D;AACvE;AAAA,QACF;AAEA,gBAAQ,IAAI;AAAA,aAAgB,OAAO,IAAI,UAAU,+BAAyB;AAC1E,cAAM,YAAY,cAAc,kBAAkB;AAClD,sBAAc;AACd,WAAG,cAAc,cAAc,aAAa,MAAM;AAClD,gBAAQ,IAAI,iCAAsB;AAElC,YAAI,cAAc,eAAe;AAC/B,4BAAkB;AAAA,YAChB,WAAW,CAAC;AAAA,cACV,MAAM,cAAc,SAAS,CAAC,GAAG,YAAY,aAAa,iBAAiB;AAAA,cAC3E,SAAS;AAAA,cACT,WAAW;AAAA,cACX,KAAK,UAAU,MAAM,GAAG,GAAG;AAAA,cAC3B,SAAS;AAAA,cACT,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,YACpC,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,MACF,SAAS,KAAK;AACZ,gBAAQ,MAAM;AAAA,2BAAyB,OAAO,KAAK,IAAI,OAAO;AAAA,CAAI;AAClE,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF;AAEA,YAAQ,IAAI;AAAA,wBAAmB,UAAU;AAAA,CAAkB;AAC3D,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,MAAI,QAAQ,SAAS;AACnB,UAAM,QAAQ,eAAe;AAC7B,YAAQ,IAAI;AAAA;AAAA;AAAA,yBAGS,MAAM,cAAc;AAAA,iCAClB,MAAM,eAAe;AAAA,gCACtB,MAAM,aAAa;AAAA,6BACtB,MAAM,WAAW;AAAA,kBACtB,MAAM,cAAc;AAAA,sCACH,MAAM,uBAAuB;AAAA;AAAA,EAE9D,MAAM,mBAAmB,IAAI,qIAA+G,EAAE;AAAA,CAC/I;AACG,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,YAAY,IAAI,qBAAqB;AAC3C,QAAM,OAAO,QAAQ,SAAS;AAChC;AAEA,KAAK,EAAE,MAAM,CAAC,QAAQ;AACpB,UAAQ,MAAM,uBAAuB,GAAG;AACxC,UAAQ,KAAK,CAAC;AAChB,CAAC;","names":["model","res","data"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.js","../src/core/llm-router.js","../src/core/memory.js","../src/core/flaky-detection.js","../src/core/project-structure.js","../src/core/tool-helpers.js","../src/cli/commands.js"],"sourcesContent":["#!/usr/bin/env node\n/**\n * MCP Lab Agent - Standalone (Modularizado)\n * MCP server genérico para QA automation em qualquer projeto.\n * Detecta automaticamente Cypress, Playwright, Jest, estrutura do projeto, etc.\n */\nimport { config } from \"dotenv\";\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { z } from \"zod\";\nimport { spawn } from \"node:child_process\";\nimport path from \"node:path\";\nimport fs from \"node:fs\";\n\nimport { resolveLLMProvider, TASK_COMPLEXITY } from \"./core/llm-router.js\";\nimport { loadProjectMemory, saveProjectMemory, getMemoryStats, analyzeTestStability } from \"./core/memory.js\";\nimport { detectFlakyPatterns } from \"./core/flaky-detection.js\";\nimport { detectProjectStructure, collectTestFiles, inferFrameworkFromFile, matchesFramework, getFrameworkCwd, isTestFile, analyzeCodeRisks } from \"./core/project-structure.js\";\nimport { parseTestRunResult, recordMetricEvent, extractFailuresFromOutput, generateFailureExplanation } from \"./core/tool-helpers.js\";\nimport { handleCLI } from \"./cli/commands.js\";\n\nconst PROJECT_ROOT = process.cwd();\nconfig({ path: path.join(PROJECT_ROOT, \".env\") });\n\nconst server = new McpServer({\n name: \"mcp-lab-agent\",\n version: \"2.1.0\",\n});\n\n// ============================================================================\n// CONSTANTES E HELPERS\n// ============================================================================\n\nconst METRICS_FILE = path.join(PROJECT_ROOT, \".qa-lab-metrics.json\");\n\nfunction appendMetricsEvent(event) {\n recordMetricEvent(event);\n}\n\n// ============================================================================\n// FERRAMENTAS GENÉRICAS\n// ============================================================================\n\nserver.registerTool(\n \"read_file\",\n {\n title: \"Ler qualquer arquivo\",\n description: \"Lê o conteúdo de QUALQUER arquivo do projeto por caminho. Use para specs, page objects, componentes, código fonte - qualquer formato.\",\n inputSchema: z.object({\n path: z.string().describe(\"Caminho relativo ao projeto (ex: cypress/e2e/login.cy.js, src/pages/Login.tsx, tests/login.robot).\"),\n encoding: z.enum([\"utf8\", \"utf-8\"]).optional().describe(\"Encoding. Default: utf8\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n content: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n async ({ path: filePath, encoding = \"utf8\" }) => {\n const normalized = filePath.replace(/^\\//, \"\").replace(/\\\\/g, \"/\");\n const fullPath = path.join(PROJECT_ROOT, normalized);\n\n if (!fullPath.startsWith(PROJECT_ROOT)) {\n return {\n content: [{ type: \"text\", text: \"Caminho fora do projeto.\" }],\n structuredContent: { ok: false, error: \"Path outside project\" },\n };\n }\n if (!fs.existsSync(fullPath)) {\n return {\n content: [{ type: \"text\", text: `Arquivo não encontrado: ${normalized}` }],\n structuredContent: { ok: false, error: \"File not found\" },\n };\n }\n const stat = fs.statSync(fullPath);\n if (stat.isDirectory()) {\n return {\n content: [{ type: \"text\", text: \"É um diretório. Use um caminho de arquivo.\" }],\n structuredContent: { ok: false, error: \"Is directory\" },\n };\n }\n\n try {\n const content = fs.readFileSync(fullPath, encoding);\n return {\n content: [{ type: \"text\", text: content }],\n structuredContent: { ok: true, content },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao ler: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\nserver.registerTool(\n \"detect_project\",\n {\n title: \"Detectar estrutura do projeto\",\n description: \"Analisa o projeto e identifica frameworks de teste, pastas, backend, frontend.\",\n inputSchema: z.object({}),\n outputSchema: z.object({\n ok: z.boolean(),\n structure: z.object({\n hasTests: z.boolean(),\n testFrameworks: z.array(z.string()),\n testDirs: z.array(z.string()),\n hasBackend: z.boolean(),\n backendDir: z.string().nullable(),\n hasFrontend: z.boolean(),\n frontendDir: z.string().nullable(),\n }),\n }),\n },\n async () => {\n const structure = detectProjectStructure();\n const summary = [\n `Frameworks de teste: ${structure.testFrameworks.join(\", \") || \"nenhum\"}`,\n `Pastas de teste: ${structure.testDirs.join(\", \") || \"nenhuma\"}`,\n `Backend: ${structure.backendDir || \"não detectado\"}`,\n `Frontend: ${structure.frontendDir || \"não detectado\"}`,\n ].join(\"\\n\");\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: { ok: true, structure },\n };\n }\n);\n\n// ============================================================================\n// WEB EVAL BROWSER - Modo browser (screenshots, network, console) via Playwright\n// ============================================================================\n\nserver.registerTool(\n \"web_eval_browser\",\n {\n title: \"Avaliar app no browser (screenshots, network, console)\",\n description: \"[Agente especializado: Browser] Abre a URL no navegador, captura screenshot, erros de console e requisições de rede. Inspirado em web-eval-agent. Requer: npm install playwright\",\n inputSchema: z.object({\n url: z.string().describe(\"URL para avaliar (ex: http://localhost:3000, https://exemplo.com).\"),\n screenshotPath: z.string().optional().describe(\"Caminho para salvar screenshot. Default: .qa-lab-screenshot.png\"),\n captureNetwork: z.boolean().optional().describe(\"Capturar requisições de rede. Default: true\"),\n captureConsole: z.boolean().optional().describe(\"Capturar logs e erros do console. Default: true\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n screenshotPath: z.string().optional(),\n consoleLogs: z.array(z.string()).optional(),\n consoleErrors: z.array(z.string()).optional(),\n networkRequests: z.array(z.object({ url: z.string(), method: z.string(), status: z.number().optional() })).optional(),\n error: z.string().optional(),\n }),\n },\n async ({ url, screenshotPath, captureNetwork = true, captureConsole = true }) => {\n let playwright;\n try {\n playwright = await import(\"playwright\");\n } catch (e) {\n return {\n content: [{\n type: \"text\",\n text: \"Playwright não instalado. Rode: npm install playwright (ou npx playwright install para browsers).\",\n }],\n structuredContent: { ok: false, error: \"Playwright not installed. Run: npm install playwright\" },\n };\n }\n\n const outPath = screenshotPath ? path.join(PROJECT_ROOT, screenshotPath.replace(/^\\//, \"\")) : path.join(PROJECT_ROOT, \".qa-lab-screenshot.png\");\n const consoleLogs = [];\n const consoleErrors = [];\n const networkRequests = [];\n\n try {\n const browser = await playwright.chromium.launch({ headless: true });\n const context = await browser.newContext();\n const page = await context.newPage();\n\n if (captureConsole) {\n page.on(\"console\", (msg) => {\n const text = msg.text();\n if (msg.type() === \"error\") consoleErrors.push(text);\n else consoleLogs.push(`[${msg.type()}] ${text}`);\n });\n }\n\n if (captureNetwork) {\n page.on(\"request\", (req) => {\n networkRequests.push({ url: req.url(), method: req.method(), status: undefined });\n });\n page.on(\"response\", (res) => {\n const req = networkRequests.find((r) => r.url === res.request().url());\n if (req) req.status = res.status();\n });\n }\n\n await page.goto(url, { waitUntil: \"networkidle\", timeout: 30000 });\n await page.screenshot({ path: outPath, fullPage: false });\n\n await browser.close();\n\n const relPath = path.relative(PROJECT_ROOT, outPath);\n let summary = `Screenshot salvo: ${relPath}`;\n if (consoleErrors.length) summary += `\\n\\n⚠️ ${consoleErrors.length} erro(s) no console:\\n${consoleErrors.slice(0, 5).join(\"\\n\")}`;\n if (networkRequests.length) summary += `\\n\\nRequisições: ${networkRequests.length}`;\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: {\n ok: true,\n screenshotPath: relPath,\n consoleLogs: captureConsole ? consoleLogs.slice(0, 50) : undefined,\n consoleErrors: captureConsole && consoleErrors.length ? consoleErrors : undefined,\n networkRequests: captureNetwork ? networkRequests.slice(0, 30) : undefined,\n },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\n// ============================================================================\n// QA ROUTE TASK - Agentes especializados (roteamento de tarefas)\n// ============================================================================\n\nconst QA_AGENTS = {\n autonomous: { tools: [\"qa_auto\"], desc: \"Modo autônomo: gera, roda, corrige e aprende (loop completo)\" },\n intelligence: { tools: [\"qa_full_analysis\", \"qa_health_check\", \"qa_suggest_next_test\", \"qa_predict_flaky\", \"qa_compare_with_industry\"], desc: \"Executor + Consultor: análise completa, diagnóstico, sugestões e predições\" },\n detection: { tools: [\"detect_project\", \"read_project\", \"list_test_files\"], desc: \"Detecção de estrutura, frameworks e arquivos\" },\n execution: { tools: [\"run_tests\", \"watch_tests\", \"get_test_coverage\"], desc: \"Execução de testes e cobertura\" },\n generation: { tools: [\"generate_tests\", \"write_test\", \"create_test_template\"], desc: \"Geração de testes com LLM\" },\n analysis: { tools: [\"analyze_failures\", \"por_que_falhou\", \"suggest_fix\", \"suggest_selector_fix\"], desc: \"Análise de falhas e sugestões\" },\n browser: { tools: [\"web_eval_browser\"], desc: \"Avaliação em browser real (screenshots, network, console)\" },\n reporting: { tools: [\"create_bug_report\", \"get_business_metrics\"], desc: \"Relatórios e métricas\" },\n learning: { tools: [\"qa_learning_stats\", \"qa_time_travel\"], desc: \"Estatísticas de aprendizado e evolução\" },\n maintenance: { tools: [\"run_linter\", \"install_dependencies\", \"analyze_file_methods\"], desc: \"Manutenção e análise de código\" },\n};\n\nserver.registerTool(\n \"qa_route_task\",\n {\n title: \"Roteador de tarefas QA (agentes especializados)\",\n description: \"Recebe uma descrição da tarefa e retorna qual agente (conjunto de ferramentas) deve ser usado. Útil para encaminhar a ferramenta certa.\",\n inputSchema: z.object({\n task: z.string().describe(\"Descrição da tarefa (ex: 'rodar os testes', 'gerar teste de login', 'analisar por que falhou').\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n suggestedAgent: z.string(),\n suggestedTools: z.array(z.string()),\n description: z.string(),\n }),\n },\n async ({ task }) => {\n const t = task.toLowerCase();\n if (/autônomo|auto|completo|loop|aprende|corrige automaticamente/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: autonomous → qa_auto (loop completo: gera, roda, corrige, aprende)\" }], structuredContent: { ok: true, suggestedAgent: \"autonomous\", suggestedTools: QA_AGENTS.autonomous.tools, description: QA_AGENTS.autonomous.desc } };\n }\n if (/health|saúde|diagnóstico|nota|score|próximo teste|sugerir|prever|flaky|benchmark|comparar|indústria/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: intelligence → qa_health_check, qa_suggest_next_test, qa_predict_flaky, qa_compare_with_industry\" }], structuredContent: { ok: true, suggestedAgent: \"intelligence\", suggestedTools: QA_AGENTS.intelligence.tools, description: QA_AGENTS.intelligence.desc } };\n }\n if (/estatística|métrica de aprendizado|taxa de sucesso|learning|stats|evolução|timeline|tempo|histórico/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: learning → qa_learning_stats, qa_time_travel\" }], structuredContent: { ok: true, suggestedAgent: \"learning\", suggestedTools: QA_AGENTS.learning.tools, description: QA_AGENTS.learning.desc } };\n }\n if (/rodar|executar|run|test|coverage|watch/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: execution → run_tests, get_test_coverage\" }], structuredContent: { ok: true, suggestedAgent: \"execution\", suggestedTools: QA_AGENTS.execution.tools, description: QA_AGENTS.execution.desc } };\n }\n if (/gerar|criar|escrever|generate|write|template/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: generation → generate_tests, write_test\" }], structuredContent: { ok: true, suggestedAgent: \"generation\", suggestedTools: QA_AGENTS.generation.tools, description: QA_AGENTS.generation.desc } };\n }\n if (/analisar|por que|falhou|suggest|correção|selector|fix/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: analysis → analyze_failures, por_que_falhou, suggest_fix\" }], structuredContent: { ok: true, suggestedAgent: \"analysis\", suggestedTools: QA_AGENTS.analysis.tools, description: QA_AGENTS.analysis.desc } };\n }\n if (/browser|screenshot|navegador|avaliar|ux|network|console/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: browser → web_eval_browser\" }], structuredContent: { ok: true, suggestedAgent: \"browser\", suggestedTools: QA_AGENTS.browser.tools, description: QA_AGENTS.browser.desc } };\n }\n if (/detectar|estrutura|listar|arquivos|framework/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: detection → detect_project, list_test_files\" }], structuredContent: { ok: true, suggestedAgent: \"detection\", suggestedTools: QA_AGENTS.detection.tools, description: QA_AGENTS.detection.desc } };\n }\n if (/relatório|bug|métricas|metrics/i.test(t)) {\n return { content: [{ type: \"text\", text: \"Agente: reporting → create_bug_report, get_business_metrics\" }], structuredContent: { ok: true, suggestedAgent: \"reporting\", suggestedTools: QA_AGENTS.reporting.tools, description: QA_AGENTS.reporting.desc } };\n }\n return { content: [{ type: \"text\", text: \"Agente: detection (genérico)\" }], structuredContent: { ok: true, suggestedAgent: \"detection\", suggestedTools: QA_AGENTS.detection.tools, description: QA_AGENTS.detection.desc } };\n }\n);\n\nserver.registerTool(\n \"run_tests\",\n {\n title: \"Executar testes\",\n description: \"Roda testes do projeto. Suporta: Cypress, Playwright, WebdriverIO, Jest, Vitest, Mocha, Appium, Detox, Robot Framework, pytest, e mais. Detecta automaticamente.\",\n inputSchema: z.object({\n framework: z.enum([\n \"cypress\", \"playwright\", \"webdriverio\", \"jest\", \"vitest\", \"mocha\",\n \"appium\", \"detox\", \"robot\", \"pytest\", \"supertest\", \"pactum\",\n \"testcafe\", \"nightwatch\", \"puppeteer\", \"codeceptjs\", \"npm\"\n ]).optional().describe(\"Framework específico ou 'npm' para npm test.\"),\n spec: z.string().optional().describe(\"Caminho do spec (ex: cypress/e2e/test.cy.js).\"),\n suite: z.string().optional().describe(\"Suite ou pattern (ex: e2e, api).\"),\n explainOnFailure: z.boolean().optional().describe(\"Se true, quando falhar gera automaticamente: O que aconteceu, Por que falhou, O que fazer, Sugestão de correção. Requer API key.\"),\n }),\n outputSchema: z.object({\n status: z.enum([\"passed\", \"failed\", \"not_found\"]),\n message: z.string(),\n exitCode: z.number(),\n runOutput: z.string().optional(),\n }),\n },\n async ({ framework, spec, suite, explainOnFailure }) => {\n const structure = detectProjectStructure();\n \n if (!structure.hasTests) {\n return {\n content: [{ type: \"text\", text: \"Nenhum framework de teste detectado no projeto.\" }],\n structuredContent: {\n status: \"not_found\",\n message: \"No test framework found\",\n exitCode: 1,\n },\n };\n }\n\n let selectedFramework = framework;\n if (!selectedFramework && structure.testFrameworks.length > 0) {\n selectedFramework = structure.testFrameworks[0];\n }\n\n let cmd, args, cwd;\n\n // E2E/UI Frameworks\n if (selectedFramework === \"cypress\") {\n cmd = \"npx\";\n args = spec ? [\"cypress\", \"run\", \"--spec\", spec] : [\"cypress\", \"run\"];\n cwd = structure.testDirs.includes(\"cypress\") \n ? path.join(PROJECT_ROOT, \"cypress\")\n : structure.testDirs[0] \n ? path.join(PROJECT_ROOT, structure.testDirs[0])\n : PROJECT_ROOT;\n } else if (selectedFramework === \"playwright\") {\n cmd = \"npx\";\n args = spec ? [\"playwright\", \"test\", spec] : [\"playwright\", \"test\"];\n cwd = structure.testDirs.includes(\"playwright\")\n ? path.join(PROJECT_ROOT, \"playwright\")\n : structure.testDirs[0]\n ? path.join(PROJECT_ROOT, structure.testDirs[0])\n : PROJECT_ROOT;\n } else if (selectedFramework === \"webdriverio\") {\n cmd = \"npx\";\n args = spec ? [\"wdio\", \"run\", spec] : [\"wdio\", \"run\"];\n cwd = getFrameworkCwd(structure, [\"wdio-webdriver-io\", \"specs\", \"tests\"]);\n } else if (selectedFramework === \"testcafe\") {\n cmd = \"npx\";\n args = spec ? [\"testcafe\", spec] : [\"testcafe\"];\n cwd = getFrameworkCwd(structure, [\"testcafe-js\", \"testcafe\", \"tests\"]);\n } else if (selectedFramework === \"nightwatch\") {\n cmd = \"npx\";\n args = spec ? [\"nightwatch\", \"--test\", spec] : [\"nightwatch\"];\n cwd = getFrameworkCwd(structure, [\"nightwatch-js\", \"nightwatch\", \"tests\"]);\n } else if (selectedFramework === \"puppeteer\") {\n cmd = \"npx\";\n args = spec ? [\"jest\", spec, \"--config\", \"jest.config.js\"] : [\"jest\"];\n cwd = getFrameworkCwd(structure, [\"puppeteer-js\", \"puppeteer\", \"__tests__\"]);\n } else if (selectedFramework === \"codeceptjs\") {\n cmd = \"npx\";\n args = spec ? [\"codeceptjs\", \"run\", \"--grep\", spec] : [\"codeceptjs\", \"run\"];\n cwd = getFrameworkCwd(structure, [\"codeceptjs\", \"tests\"]);\n\n // Unit/Integration Frameworks\n } else if (selectedFramework === \"jest\") {\n cmd = \"npx\";\n args = [\"jest\"];\n if (spec) args.push(spec);\n cwd = PROJECT_ROOT;\n } else if (selectedFramework === \"vitest\") {\n cmd = \"npx\";\n args = [\"vitest\", \"run\"];\n if (spec) args.push(spec);\n cwd = PROJECT_ROOT;\n } else if (selectedFramework === \"mocha\") {\n cmd = \"npx\";\n args = spec ? [\"mocha\", spec] : [\"mocha\"];\n cwd = PROJECT_ROOT;\n \n // Mobile Frameworks\n } else if (selectedFramework === \"appium\") {\n cmd = \"npx\";\n args = spec ? [\"wdio\", \"run\", spec] : [\"wdio\", \"run\"];\n cwd = PROJECT_ROOT;\n } else if (selectedFramework === \"detox\") {\n cmd = \"npx\";\n args = [\"detox\", \"test\"];\n if (spec) args.push(spec);\n cwd = PROJECT_ROOT;\n \n // Python Frameworks\n } else if (selectedFramework === \"robot\") {\n cmd = \"robot\";\n args = spec ? [spec] : [structure.testDirs[0] || \"tests\"];\n cwd = PROJECT_ROOT;\n } else if (selectedFramework === \"pytest\") {\n cmd = \"pytest\";\n args = spec ? [spec] : [];\n cwd = PROJECT_ROOT;\n \n // API Testing\n } else if (selectedFramework === \"supertest\" || selectedFramework === \"pactum\") {\n cmd = \"npm\";\n args = [\"test\"];\n cwd = PROJECT_ROOT;\n \n // Fallback\n } else {\n cmd = \"npm\";\n args = [\"test\"];\n cwd = PROJECT_ROOT;\n }\n\n const startTime = Date.now();\n return new Promise((resolve) => {\n const child = spawn(cmd, args, {\n cwd,\n stdio: [\"inherit\", \"pipe\", \"pipe\"],\n shell: process.platform === \"win32\",\n env: { ...process.env },\n });\n\n let stdout = \"\";\n let stderr = \"\";\n if (child.stdout) {\n child.stdout.on(\"data\", (d) => {\n const s = d.toString();\n stdout += s;\n process.stdout.write(s);\n });\n }\n if (child.stderr) {\n child.stderr.on(\"data\", (d) => {\n const s = d.toString();\n stderr += s;\n process.stderr.write(s);\n });\n }\n\n child.on(\"close\", (code) => {\n const runOutput = [stdout, stderr].filter(Boolean).join(\"\\n\").trim();\n const passed = code === 0;\n const durationSeconds = Math.round((Date.now() - startTime) / 1000);\n if (!passed && runOutput) {\n try {\n fs.writeFileSync(path.join(PROJECT_ROOT, \".qa-lab-last-failure.log\"), runOutput, \"utf8\");\n } catch {}\n }\n const { passed: p, failed: f } = parseTestRunResult(runOutput, code);\n appendMetricsEvent({\n type: \"test_run\",\n framework: selectedFramework,\n spec: spec || undefined,\n passed: p,\n failed: f,\n durationSeconds,\n exitCode: code ?? 1,\n failures: !passed ? extractFailuresFromOutput(runOutput) : undefined,\n });\n if (passed) saveProjectMemory({ lastRun: { spec: spec || null, framework: selectedFramework, passed: p } });\n \n saveProjectMemory({\n execution: {\n testFile: spec || \"all\",\n passed,\n duration: durationSeconds,\n timestamp: new Date().toISOString(),\n framework: selectedFramework,\n },\n });\n \n resolve({\n content: [{ type: \"text\", text: passed ? \"Testes executados com sucesso.\" : \"Falha na execução dos testes.\" }],\n structuredContent: {\n status: passed ? \"passed\" : \"failed\",\n message: passed ? \"Tests passed\" : \"Tests failed\",\n exitCode: code ?? 1,\n runOutput: !passed ? runOutput : undefined,\n },\n });\n });\n });\n }\n);\n\nserver.registerTool(\n \"read_project\",\n {\n title: \"Ler estrutura do projeto\",\n description: \"Lê package.json, specs existentes (qualquer framework: Cypress, Playwright, WDIO, Robot, pytest, etc) e retorna contexto. Use includeContent para trazer código de exemplos.\",\n inputSchema: z.object({\n includeContent: z.boolean().optional().describe(\"Se true, inclui conteúdo dos primeiros 3 arquivos de teste como referência. Default: false.\"),\n maxFiles: z.number().optional().describe(\"Máximo de arquivos cujo conteúdo será lido. Default: 3.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n summary: z.string(),\n packageJson: z.object({}).passthrough().optional(),\n testFiles: z.array(z.string()).optional(),\n testFilesWithContent: z.array(z.object({ path: z.string(), content: z.string() })).optional(),\n }),\n },\n async ({ includeContent = false, maxFiles = 3 } = {}) => {\n const structure = detectProjectStructure();\n const collected = collectTestFiles(structure, {\n maxContentFiles: includeContent ? maxFiles : 0,\n });\n\n const testFiles = collected.map((e) => e.path);\n const testFilesWithContent = includeContent\n ? collected.filter((e) => e.content).map((e) => ({ path: e.path, content: e.content }))\n : undefined;\n\n const summary = [\n `Frameworks: ${structure.testFrameworks.join(\", \") || \"nenhum\"}`,\n `Arquivos de teste: ${testFiles.length} (qualquer framework)`,\n `Backend: ${structure.backendDir || \"não detectado\"}`,\n `Frontend: ${structure.frontendDir || \"não detectado\"}`,\n includeContent && testFilesWithContent?.length\n ? `Conteúdo incluído: ${testFilesWithContent.length} arquivo(s) como referência`\n : \"\",\n ]\n .filter(Boolean)\n .join(\"\\n\");\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: {\n ok: true,\n summary,\n packageJson: structure.packageJson,\n testFiles: testFiles.slice(0, 100),\n testFilesWithContent,\n structure,\n },\n };\n }\n);\n\nserver.registerTool(\n \"generate_tests\",\n {\n title: \"Gerar ou traduzir testes com LLM\",\n description: \"Gera spec em QUALQUER framework. Aceita referência de outro framework: leia com read_file e passe em referenceCode. Traduz automaticamente (ex: Robot→Playwright, Cypress→WDIO).\",\n inputSchema: z.object({\n context: z.string().describe(\"Contexto do projeto (read_project) ou descrição.\"),\n request: z.string().describe(\"O que testar (ex: 'logout flow', 'teste de login') ou 'traduzir o teste abaixo'.\"),\n framework: z.enum([\n \"cypress\", \"playwright\", \"webdriverio\", \"jest\", \"vitest\", \"mocha\",\n \"appium\", \"robot\", \"pytest\", \"supertest\", \"behave\", \"detox\"\n ]).optional().describe(\"Framework alvo (detectado do projeto se omitido).\"),\n referenceCode: z.string().optional().describe(\"Código de referência em QUALQUER framework (Cypress, Robot, WDIO, etc). O LLM traduz/adapta para o framework alvo.\"),\n referencePaths: z.array(z.string()).optional().describe(\"Caminhos de arquivos para ler como referência. O agente lê e usa como padrão.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n specContent: z.string().optional(),\n suggestedFileName: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n async ({ context, request, framework, referenceCode, referencePaths }) => {\n const structure = detectProjectStructure();\n const fw = framework || structure.testFrameworks[0] || \"cypress\";\n\n let referenceBlock = \"\";\n if (referenceCode) referenceBlock += `\\n\\n--- CÓDIGO DE REFERÊNCIA (use como padrão, traduza/adapte para ${fw}) ---\\n${referenceCode.slice(0, 8000)}`;\n if (referencePaths?.length) {\n for (const p of referencePaths.slice(0, 5)) {\n const full = path.join(PROJECT_ROOT, p.replace(/^\\//, \"\").replace(/\\\\/g, \"/\"));\n if (fs.existsSync(full)) {\n try {\n const content = fs.readFileSync(full, \"utf8\");\n referenceBlock += `\\n\\n--- Arquivo: ${p} ---\\n${content.slice(0, 6000)}`;\n } catch {}\n }\n }\n }\n\n const llm = resolveLLMProvider(\"simple\");\n if (!llm.apiKey) {\n return {\n content: [{ type: \"text\", text: \"Configure GROQ_API_KEY, GEMINI_API_KEY ou OPENAI_API_KEY no .env\" }],\n structuredContent: { ok: false, error: \"No API key configured\" },\n };\n }\n const { provider, apiKey, baseUrl, model } = llm;\n\n const memory = loadProjectMemory();\n const memoryBlock = memory.flows?.length\n ? `\\n\\nFluxos do projeto (use como referência): ${memory.flows.map((f) => f.name || f.id).join(\", \")}`\n : \"\";\n const contextWithMemory = context + memoryBlock;\n\n const hasReference = Boolean(referenceBlock?.trim());\n const systemPrompt = hasReference\n ? `Você é um engenheiro de QA. TRADUZA/ADAPTE o código de referência para o framework ${fw}.\nO código de referência pode estar em QUALQUER framework (Cypress, Robot, Playwright, WDIO, Appium, pytest, etc).\n- Mantenha a MESMA lógica e fluxo de teste\n- Traduza seletores, comandos e asserções para ${fw}\n- Use Page Objects se o projeto já usa\n- Retorne SOMENTE o código, sem markdown`\n : `Você é um engenheiro de QA especializado em ${fw}. Gere APENAS o código do spec, sem explicações.\nFramework: ${fw}\nRegras:\n- Cypress: cy.request(), cy.visit(), cy.get()\n- Playwright: test(), test.describe(), page.goto(), page.locator()\n- WebdriverIO/Appium: describe(), it(), $(), browser.$\n- Jest/Vitest: describe(), test(), expect()\n- Robot: Keywords, [Tags], Steps\n- pytest: def test_*, assert, fixtures\n- Código limpo. Retorne SOMENTE o código, sem markdown`;\n\n const userPrompt = `Contexto do projeto:\n${contextWithMemory.slice(0, 5000)}\n\nGere um teste para: ${request}\nFramework alvo: ${fw}${referenceBlock}`;\n\n try {\n let specContent;\n if (provider === \"gemini\") {\n const url = `${baseUrl}/models/${model}:generateContent?key=${apiKey}`;\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n systemInstruction: { parts: [{ text: systemPrompt }] },\n contents: [{ parts: [{ text: userPrompt }] }],\n generationConfig: { temperature: 0.3, maxOutputTokens: 4096 },\n }),\n });\n const data = await res.json();\n specContent = data.candidates?.[0]?.content?.parts?.[0]?.text || \"\";\n } else {\n const res = await fetch(`${baseUrl}/chat/completions`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n },\n body: JSON.stringify({\n model,\n messages: [\n { role: \"system\", content: systemPrompt },\n { role: \"user\", content: userPrompt },\n ],\n temperature: 0.3,\n max_tokens: 4096,\n }),\n });\n const data = await res.json();\n specContent = data.choices?.[0]?.message?.content || \"\";\n }\n\n specContent = specContent.replace(/^```(?:js|javascript)?\\n?/i, \"\").replace(/\\n?```\\s*$/i, \"\").trim();\n const fileName = request.toLowerCase().replace(/\\s+/g, \"-\").replace(/[^a-z0-9-]/g, \"\").slice(0, 40);\n\n return {\n content: [{ type: \"text\", text: `Spec gerado (${specContent.length} chars). Use write_test para gravar.` }],\n structuredContent: {\n ok: true,\n specContent,\n suggestedFileName: fileName,\n },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao gerar: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\nfunction getExtensionAndBaseDir(fw, structure) {\n const extMap = {\n cypress: \".cy.js\",\n playwright: \".spec.js\",\n jest: \".test.js\",\n vitest: \".test.js\",\n mocha: \".test.js\",\n webdriverio: \".spec.js\",\n appium: \".spec.js\",\n detox: \".e2e.js\",\n robot: \".robot\",\n pytest: \"_test.py\",\n behave: \".feature\",\n supertest: \".test.js\",\n pactum: \".test.js\",\n };\n const ext = extMap[fw] || \".spec.js\";\n\n const baseMap = {\n cypress: structure.testDirs.includes(\"cypress\") ? \"cypress\" : structure.testDirs[0] || \"tests\",\n playwright: structure.testDirs.includes(\"playwright\") ? \"playwright\" : structure.testDirs[0] || \"tests\",\n webdriverio: structure.testDirs.includes(\"specs\") ? \"specs\" : structure.testDirs[0] || \"tests\",\n appium: structure.testDirs.includes(\"specs\") ? \"specs\" : structure.testDirs[0] || \"tests\",\n robot: structure.testDirs.includes(\"robot\") ? \"robot\" : structure.testDirs[0] || \"tests\",\n behave: structure.testDirs.includes(\"features\") ? \"features\" : structure.testDirs[0] || \"tests\",\n };\n const baseDir = path.join(PROJECT_ROOT, baseMap[fw] || structure.testDirs[0] || \"tests\");\n return { ext, baseDir };\n}\n\nserver.registerTool(\n \"write_test\",\n {\n title: \"Escrever arquivo de teste\",\n description: \"Grava spec no disco. Suporta QUALQUER framework (Cypress, Playwright, WDIO, Appium, Robot, pytest, etc.). Detecta automaticamente pasta e extensão.\",\n inputSchema: z.object({\n name: z.string().describe(\"Nome do arquivo (ex: login-test, logout_spec).\"),\n content: z.string().describe(\"Conteúdo do spec.\"),\n framework: z.enum([\n \"cypress\", \"playwright\", \"jest\", \"vitest\", \"mocha\", \"webdriverio\",\n \"appium\", \"detox\", \"robot\", \"pytest\", \"behave\", \"supertest\"\n ]).optional().describe(\"Framework (detectado automaticamente se omitido).\"),\n subdir: z.string().optional().describe(\"Subpasta (ex: e2e, api). Default: raiz da pasta de testes.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n path: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n async ({ name, content, framework, subdir }) => {\n const structure = detectProjectStructure();\n const fw = framework || structure.testFrameworks[0];\n\n if (!fw) {\n return {\n content: [{ type: \"text\", text: \"Nenhum framework de teste detectado.\" }],\n structuredContent: { ok: false, error: \"No test framework\" },\n };\n }\n\n const { ext, baseDir } = getExtensionAndBaseDir(fw, structure);\n const safeName = name\n .replace(/[^a-z0-9-_]/gi, \"-\")\n .replace(/-+/g, \"-\")\n .replace(/_+/g, \"_\")\n .replace(/\\.(cy|spec|test|robot|feature|py)\\.?(js|ts|py)?$/i, \"\")\n .replace(/^[-_]+|[-_]+$/g, \"\");\n const fileName = ext.startsWith(\"_\") ? `${safeName}${ext}` : `${safeName}${ext}`;\n\n const targetDir = subdir ? path.join(baseDir, subdir) : baseDir;\n const filePath = path.join(targetDir, fileName);\n\n try {\n if (!fs.existsSync(targetDir)) {\n fs.mkdirSync(targetDir, { recursive: true });\n }\n fs.writeFileSync(filePath, content, \"utf8\");\n return {\n content: [{ type: \"text\", text: `Arquivo gravado: ${filePath}` }],\n structuredContent: { ok: true, path: filePath },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao gravar: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\nserver.registerTool(\n \"analyze_failures\",\n {\n title: \"Analisar falhas de testes\",\n description: \"Recebe output de testes e extrai falhas estruturadas.\",\n inputSchema: z.object({\n runOutput: z.string().describe(\"Output do teste (stdout/stderr).\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n summary: z.string(),\n failures: z.array(z.object({\n test: z.string().optional(),\n message: z.string().optional(),\n stack: z.string().optional(),\n })).optional(),\n }),\n },\n async ({ runOutput }) => {\n const failures = [];\n const lines = runOutput.split(\"\\n\");\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n if (/fail|error|assertion/i.test(line)) {\n failures.push({\n test: lines[i - 1] || \"unknown\",\n message: line.trim(),\n stack: lines.slice(i, i + 5).join(\"\\n\"),\n });\n }\n }\n\n const flakyAnalysis = detectFlakyPatterns(runOutput);\n let summary = failures.length\n ? `${failures.length} falha(s) detectada(s).`\n : \"Nenhuma falha detectada.\";\n if (flakyAnalysis.isLikelyFlaky) {\n summary += `\\n\\n⚠️ Possível teste flaky (${Math.round(flakyAnalysis.confidence * 100)}% confiança). Padrões: ${flakyAnalysis.patterns.map((p) => p.pattern).join(\", \")}.`;\n summary += \"\\n\\nSugestões:\";\n flakyAnalysis.patterns.forEach((p) => {\n summary += `\\n• ${p.pattern}: ${p.suggestion}`;\n });\n if (flakyAnalysis.patterns.some((p) => p.pattern === \"timing\" || p.pattern === \"network\")) {\n summary += \"\\n• Considere adicionar test.retry(2) ou equivalente para retries automáticos.\";\n }\n }\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: {\n ok: true,\n summary,\n failures: failures.length ? failures : undefined,\n flaky: flakyAnalysis.isLikelyFlaky ? { confidence: flakyAnalysis.confidence, patterns: flakyAnalysis.patterns } : undefined,\n },\n };\n }\n);\n\n// ============================================================================\n// POR QUE FALHOU? - Explicação de falhas para juniores (escalável)\n// ============================================================================\n\nfunction formatFailureExplanation(data) {\n const lines = [\n \"## O que aconteceu\",\n \"\",\n data.oQueAconteceu || \"\",\n \"\",\n \"## Por que provavelmente falhou\",\n \"\",\n ...(Array.isArray(data.porQueProvavelmenteFalhou)\n ? data.porQueProvavelmenteFalhou.map((s) => `• ${s}`)\n : [data.porQueProvavelmenteFalhou || \"\"]),\n \"\",\n \"## O que fazer agora\",\n \"\",\n ...(Array.isArray(data.oQueFazerAgora)\n ? data.oQueFazerAgora.map((s, i) => `${i + 1}. ${s}`)\n : [data.oQueFazerAgora || \"\"]),\n ];\n if (data.sugestaoCorrecao) {\n lines.push(\"\", \"## Sugestão de correção\", \"\", \"```\" + (data.framework || \"js\"), data.sugestaoCorrecao, \"```\");\n }\n if (data.conceito) {\n lines.push(\"\", \"## Conceito\", \"\", data.conceito);\n }\n return lines.filter(Boolean).join(\"\\n\");\n}\n\nasync function callLlmForExplanation(provider, apiKey, baseUrl, model, systemPrompt, userPrompt) {\n if (provider === \"gemini\") {\n const url = `${baseUrl}/models/${model}:generateContent?key=${apiKey}`;\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n contents: [{ parts: [{ text: systemPrompt + \"\\n\\n\" + userPrompt }] }],\n generationConfig: { temperature: 0.2, maxOutputTokens: 4096 },\n }),\n });\n const data = await res.json();\n return data.candidates?.[0]?.content?.parts?.[0]?.text || \"\";\n }\n const res = await fetch(`${baseUrl}/chat/completions`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n },\n body: JSON.stringify({\n model,\n messages: [\n { role: \"system\", content: systemPrompt },\n { role: \"user\", content: userPrompt },\n ],\n temperature: 0.2,\n max_tokens: 4096,\n }),\n });\n const data = await res.json();\n return data.choices?.[0]?.message?.content || \"\";\n}\n\n/** Gera explicação de falha (o que aconteceu, por que, o que fazer, sugestão). Usado por por_que_falhou e run_tests_and_explain. */\n\nserver.registerTool(\n \"por_que_falhou\",\n {\n title: \"Por que falhou? Explicação para juniores\",\n description: \"Traduz stack trace em explicação humana. Recebe output do terminal/log, lê o projeto e o teste (se path dado), e retorna: O que aconteceu, Por que falhou, O que fazer, Sugestão de correção, Conceito. Escalável e procedural.\",\n inputSchema: z.object({\n errorOutput: z.string().optional().describe(\"Output do terminal quando o teste falhou. Se vazio, lê automaticamente de .qa-lab-last-failure.log (capturado pelo run_tests). Cole aqui ou deixe vazio para usar última falha.\"),\n testFilePath: z.string().optional().describe(\"Caminho do arquivo de teste que falhou (ex: specs/login.spec.js). Se informado, o agente lê o código e dá sugestão mais precisa.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n oQueAconteceu: z.string().optional(),\n porQueProvavelmenteFalhou: z.array(z.string()).optional(),\n oQueFazerAgora: z.array(z.string()).optional(),\n sugestaoCorrecao: z.string().optional(),\n conceito: z.string().optional(),\n framework: z.string().optional(),\n formattedText: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n async ({ errorOutput, testFilePath }) => {\n const structure = detectProjectStructure();\n const fw = structure.testFrameworks[0] || \"unknown\";\n\n let resolvedOutput = errorOutput?.trim() || \"\";\n if (!resolvedOutput) {\n const lastFailurePath = path.join(PROJECT_ROOT, \".qa-lab-last-failure.log\");\n if (fs.existsSync(lastFailurePath)) {\n try {\n resolvedOutput = fs.readFileSync(lastFailurePath, \"utf8\");\n } catch {}\n }\n }\n if (!resolvedOutput) {\n return {\n content: [{\n type: \"text\",\n text: \"Nenhum output de erro fornecido e nenhuma falha recente capturada.\\n\\nComo usar:\\n1. Rode os testes (run_tests) – se falhar, a saída é salva automaticamente.\\n2. Ou cole aqui o output do terminal quando o teste falhou.\\n3. Depois peça: 'Por que falhou?' ou chame por_que_falhou.\",\n }],\n structuredContent: { ok: false, error: \"No error output\" },\n };\n }\n\n let testCode = \"\";\n if (testFilePath) {\n const normalized = testFilePath.replace(/^\\//, \"\").replace(/\\\\/g, \"/\");\n const fullPath = path.join(PROJECT_ROOT, normalized);\n if (fs.existsSync(fullPath) && !fs.statSync(fullPath).isDirectory()) {\n try {\n testCode = fs.readFileSync(fullPath, \"utf8\");\n } catch {}\n }\n }\n\n const llm = resolveLLMProvider(\"complex\");\n if (!llm.apiKey) {\n return {\n content: [{\n type: \"text\",\n text: \"Configure GROQ_API_KEY, GEMINI_API_KEY ou OPENAI_API_KEY no .env do projeto para usar a explicação com LLM.\",\n }],\n structuredContent: { ok: false, error: \"No API key configured\" },\n };\n }\n const { provider, apiKey, baseUrl, model } = llm;\n\n const fwHints = {\n webdriverio: \"WebdriverIO (describe/it, $, browser.$)\",\n appium: \"Appium/WebdriverIO (mobile, $, browser.$)\",\n playwright: \"Playwright (test, page, locator)\",\n cypress: \"Cypress (cy.get, cy.click)\",\n jest: \"Jest (describe, test, expect)\",\n vitest: \"Vitest (describe, test, expect)\",\n robot: \"Robot Framework\",\n pytest: \"pytest\",\n };\n\n const systemPrompt = `Você é um mentor de QA. Analise o output de falha e responda em JSON (apenas o JSON, sem markdown) com as chaves:\n- oQueAconteceu: string (explicação em português do que aconteceu, simples)\n- porQueProvavelmenteFalhou: array de strings (lista de possíveis causas, uma por item)\n- oQueFazerAgora: array de strings (passos numerados do que fazer)\n- sugestaoCorrecao: string ou null (código de correção se aplicável, no formato do framework)\n- conceito: string ou null (ex: \"Flaky test = teste intermitente. Geralmente por timing ou seletores frágeis.\")\n- framework: string (framework do projeto)\n\nFramework do projeto: ${fw}. ${fwHints[fw] || \"\"}\nResponda APENAS com o JSON válido, sem texto antes ou depois.`;\n\n const userPrompt = `Output do terminal/log (teste falhou):\n---\n${resolvedOutput.slice(0, 12000)}\n---\n${testCode ? `\\nCódigo do teste que falhou:\\n---\\n${testCode.slice(0, 6000)}\\n---` : \"\"}`;\n\n try {\n let raw = await callLlmForExplanation(provider, apiKey, baseUrl, model, systemPrompt, userPrompt);\n raw = raw.replace(/^```(?:json)?\\s*/i, \"\").replace(/\\s*```\\s*$/i, \"\").trim();\n\n let data = {};\n try {\n data = JSON.parse(raw);\n } catch {\n data = {\n oQueAconteceu: raw.slice(0, 500) || \"Não foi possível parsear a resposta.\",\n porQueProvavelmenteFalhou: [],\n oQueFazerAgora: [],\n sugestaoCorrecao: null,\n conceito: null,\n framework: fw,\n };\n }\n\n data.framework = data.framework || fw;\n const formattedText = formatFailureExplanation(data);\n\n return {\n content: [{ type: \"text\", text: formattedText }],\n structuredContent: {\n ok: true,\n oQueAconteceu: data.oQueAconteceu,\n porQueProvavelmenteFalhou: data.porQueProvavelmenteFalhou,\n oQueFazerAgora: data.oQueFazerAgora,\n sugestaoCorrecao: data.sugestaoCorrecao ?? null,\n conceito: data.conceito ?? null,\n framework: data.framework,\n formattedText,\n },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao analisar: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\n// ============================================================================\n// NOVAS FERRAMENTAS\n// ============================================================================\n\nserver.registerTool(\n \"suggest_fix\",\n {\n title: \"Sugerir correção para falhas\",\n description: \"Recebe análise de falhas e sugere correções (patch, refactor, etc.).\",\n inputSchema: z.object({\n failures: z.array(z.object({\n test: z.string().optional(),\n message: z.string().optional(),\n stack: z.string().optional(),\n })).describe(\"Resultado de analyze_failures.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n suggestions: z.array(z.object({\n test: z.string().optional(),\n description: z.string(),\n fix: z.string().optional(),\n })),\n }),\n },\n async ({ failures }) => {\n const suggestions = [];\n\n for (const f of failures) {\n const msg = f.message || \"\";\n \n if (/element not found|selector|timeout/i.test(msg)) {\n suggestions.push({\n test: f.test,\n description: \"Elemento não encontrado ou timeout\",\n fix: \"Verifique seletores, adicione waits ou aumente timeout. Use data-testid para seletores mais estáveis.\",\n });\n } else if (/expected.*to.*but/i.test(msg)) {\n suggestions.push({\n test: f.test,\n description: \"Asserção falhou\",\n fix: \"Revise o valor esperado. Verifique se o estado da aplicação está correto antes da asserção.\",\n });\n } else if (/network|fetch|ECONNREFUSED/i.test(msg)) {\n suggestions.push({\n test: f.test,\n description: \"Erro de rede ou API não disponível\",\n fix: \"Verifique se o backend está rodando. Confirme a URL e porta da API.\",\n });\n } else {\n suggestions.push({\n test: f.test,\n description: \"Falha detectada\",\n fix: \"Revise o stack trace e o código do teste.\",\n });\n }\n }\n\n return {\n content: [{ type: \"text\", text: JSON.stringify(suggestions, null, 2) }],\n structuredContent: { ok: true, suggestions },\n };\n }\n);\n\n// ============================================================================\n// SELF-HEALING - Sugestão de correção de seletores quando UI muda\n// ============================================================================\n\nserver.registerTool(\n \"suggest_selector_fix\",\n {\n title: \"Sugerir correção de seletor (Self-healing)\",\n description: \"Quando um teste falha por elemento não encontrado (seletor quebrado após mudança de UI), usa LLM para sugerir seletor alternativo mais resiliente. Prioriza data-testid, role, texto acessível.\",\n inputSchema: z.object({\n testFilePath: z.string().describe(\"Caminho do arquivo de teste que falhou (ex: specs/login.spec.js).\"),\n errorOutput: z.string().optional().describe(\"Output do terminal da falha. Se vazio, lê de .qa-lab-last-failure.log.\"),\n framework: z.enum([\"cypress\", \"playwright\", \"webdriverio\", \"appium\"]).optional().describe(\"Framework do teste. Detectado automaticamente se omitido.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n selectorSugerido: z.string().optional(),\n codigoCorrigido: z.string().optional(),\n explicacao: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n async ({ testFilePath, errorOutput, framework }) => {\n const structure = detectProjectStructure();\n const fw = framework || inferFrameworkFromFile(testFilePath.split(\"/\").pop(), structure);\n\n let resolvedOutput = errorOutput;\n if (!resolvedOutput) {\n const logPath = path.join(PROJECT_ROOT, \".qa-lab-last-failure.log\");\n if (fs.existsSync(logPath)) {\n resolvedOutput = fs.readFileSync(logPath, \"utf8\");\n }\n }\n if (!resolvedOutput) {\n return {\n content: [{ type: \"text\", text: \"Nenhum output de erro. Rode os testes primeiro ou forneça errorOutput.\" }],\n structuredContent: { ok: false, error: \"No error output\" },\n };\n }\n\n if (!/element not found|selector|timeout|locator|cy\\.get|page\\.locator/i.test(resolvedOutput)) {\n return {\n content: [{ type: \"text\", text: \"A falha não parece ser de seletor/elemento. Use por_que_falhou ou suggest_fix para outros tipos de falha.\" }],\n structuredContent: { ok: false, error: \"Not a selector-related failure\" },\n };\n }\n\n let testCode = \"\";\n const fullPath = path.join(PROJECT_ROOT, testFilePath.replace(/^\\//, \"\").replace(/\\\\/g, \"/\"));\n if (fs.existsSync(fullPath)) {\n try {\n testCode = fs.readFileSync(fullPath, \"utf8\");\n } catch {}\n }\n\n const llm = resolveLLMProvider(\"complex\");\n if (!llm.apiKey) {\n return {\n content: [{ type: \"text\", text: \"Configure GROQ_API_KEY, GEMINI_API_KEY ou OPENAI_API_KEY no .env\" }],\n structuredContent: { ok: false, error: \"No API key configured\" },\n };\n }\n const { provider, apiKey, baseUrl, model } = llm;\n\n const fwHints = {\n cypress: \"Cypress: cy.get('[data-testid=...]'), cy.contains(), cy.get('button').filter(':visible')\",\n playwright: \"Playwright: page.getByRole(), page.getByTestId(), page.locator('button:has-text(\\\"...\\\")')\",\n webdriverio: \"WebdriverIO: $('[data-testid=...]'), $('button=Texto')\",\n appium: \"Appium: $('~accessibility-id'), $('//android.view.View')\",\n };\n\n const systemPrompt = `Você é um especialista em testes E2E. O teste falhou porque um seletor não encontrou o elemento (UI mudou).\nAnalise o erro e o código e responda APENAS em JSON (sem markdown) com as chaves:\n- selectorSugerido: string (o novo seletor recomendado, mais resiliente)\n- codigoCorrigido: string (bloco de código completo corrigido, apenas a parte relevante do teste)\n- explicacao: string (breve explicação em português: por que o antigo falhou e por que o novo é melhor)\n\nPriorize nesta ordem: data-testid > role + accessible name > texto visível > estrutura. Evite classes CSS e IDs que mudam.\n\nFramework: ${fw}. ${fwHints[fw] || \"\"}`;\n\n const userPrompt = `Output do erro:\n---\n${resolvedOutput.slice(0, 8000)}\n---\nCódigo do teste:\n---\n${testCode ? testCode.slice(0, 6000) : \"Não disponível\"}\n---`;\n\n try {\n let raw = await callLlmForExplanation(provider, apiKey, baseUrl, model, systemPrompt, userPrompt);\n raw = raw.replace(/^```(?:json)?\\s*/i, \"\").replace(/\\s*```\\s*$/i, \"\").trim();\n let data = {};\n try {\n data = JSON.parse(raw);\n } catch {\n data = {\n selectorSugerido: null,\n codigoCorrigido: raw.slice(0, 2000),\n explicacao: \"Não foi possível parsear. Resposta do LLM acima.\",\n };\n }\n\n const text = [\n data.explicacao && `## Explicação\\n${data.explicacao}`,\n data.selectorSugerido && `## Seletor sugerido\\n\\`${data.selectorSugerido}\\``,\n data.codigoCorrigido && `## Código corrigido\\n\\`\\`\\`${fw}\\n${data.codigoCorrigido}\\n\\`\\`\\``,\n ]\n .filter(Boolean)\n .join(\"\\n\\n\");\n\n return {\n content: [{ type: \"text\", text: text || JSON.stringify(data, null, 2) }],\n structuredContent: {\n ok: true,\n selectorSugerido: data.selectorSugerido,\n codigoCorrigido: data.codigoCorrigido,\n explicacao: data.explicacao,\n },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao chamar LLM: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\nserver.registerTool(\n \"analyze_file_methods\",\n {\n title: \"Analisar métodos de um arquivo\",\n description: \"Lê um arquivo, faz varredura em todos os métodos/funções e retorna análise detalhada: método correto?, melhor forma de escrever?, falso positivo?, coerência?, itens faltando?, parâmetros faltando?, imports faltando?. Requer API key (Groq/Gemini/OpenAI).\",\n inputSchema: z.object({\n path: z.string().describe(\"Caminho do arquivo (ex: src/utils.js, tests/login.cy.js, cypress/support/commands.js).\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n filePath: z.string().optional(),\n methods: z.array(z.object({\n name: z.string(),\n correto: z.boolean().optional(),\n melhorForma: z.string().optional(),\n falsoPositivo: z.boolean().optional(),\n falsoPositivoRazao: z.string().optional(),\n coerente: z.boolean().optional(),\n itensFaltando: z.array(z.string()).optional(),\n parametrosFaltando: z.array(z.string()).optional(),\n importsFaltando: z.array(z.string()).optional(),\n sugestao: z.string().optional(),\n })).optional(),\n importsFaltandoGlobal: z.array(z.string()).optional(),\n resumo: z.string().optional(),\n error: z.string().optional(),\n }),\n },\n async ({ path: filePath }) => {\n const normalized = filePath.replace(/^\\//, \"\").replace(/\\\\/g, \"/\");\n const fullPath = path.join(PROJECT_ROOT, normalized);\n\n if (!fullPath.startsWith(PROJECT_ROOT)) {\n return {\n content: [{ type: \"text\", text: \"Caminho fora do projeto.\" }],\n structuredContent: { ok: false, error: \"Path outside project\" },\n };\n }\n if (!fs.existsSync(fullPath)) {\n return {\n content: [{ type: \"text\", text: `Arquivo não encontrado: ${normalized}` }],\n structuredContent: { ok: false, error: \"File not found\" },\n };\n }\n const stat = fs.statSync(fullPath);\n if (stat.isDirectory()) {\n return {\n content: [{ type: \"text\", text: \"É um diretório. Informe um arquivo.\" }],\n structuredContent: { ok: false, error: \"Is directory\" },\n };\n }\n\n let fileContent = \"\";\n try {\n fileContent = fs.readFileSync(fullPath, \"utf8\");\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao ler: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n\n const llm = resolveLLMProvider(\"complex\");\n if (!llm.apiKey) {\n return {\n content: [{\n type: \"text\",\n text: \"Configure GROQ_API_KEY, GEMINI_API_KEY ou OPENAI_API_KEY no .env para usar análise com LLM.\",\n }],\n structuredContent: { ok: false, error: \"No API key configured\" },\n };\n }\n const { provider, apiKey, baseUrl, model } = llm;\n\n const ext = path.extname(fullPath).toLowerCase();\n const lang = [\".ts\", \".tsx\"].includes(ext) ? \"TypeScript\" : [\".js\", \".jsx\"].includes(ext) ? \"JavaScript\" : [\".py\"].includes(ext) ? \"Python\" : \"código\";\n\n const systemPrompt = `Você é um revisor de código experiente em QA e testes. Analise o arquivo e cada método/função, respondendo em JSON válido (sem markdown) com a estrutura:\n\n{\n \"methods\": [\n {\n \"name\": \"nomeDoMetodo\",\n \"correto\": true | false,\n \"melhorForma\": \"explicação curta se há forma melhor de escrever\",\n \"falsoPositivo\": true | false,\n \"falsoPositivoRazao\": \"se falso positivo, por quê (ex: asserção muito permissiva)\",\n \"coerente\": true | false,\n \"coerenteDetalhe\": \"se incoerente, o que está inconsistente\",\n \"itensFaltando\": [\"item1\", \"item2\"],\n \"parametrosFaltando\": [\"param1\"],\n \"importsFaltando\": [\"moduloX\"],\n \"sugestao\": \"código ou texto de sugestão de melhoria\"\n }\n ],\n \"importsFaltandoGlobal\": [\"imports faltando no topo do arquivo\"],\n \"resumo\": \"resumo geral em 2-3 linhas\"\n}\n\nPara CADA método/função no arquivo, verifique:\n1. correto: a lógica está correta?\n2. melhorForma: há forma mais legível, performática ou idiomática de escrever?\n3. falsoPositivo: o método pode passar quando não deveria (asserção fraca, mock incorreto)?\n4. coerente: o método é coerente com o restante do código, naming, padrões?\n5. itensFaltando: falta try/catch, validação, cleanup, etc?\n6. parametrosFaltando: parâmetros que deveriam existir?\n7. importsFaltando: imports que o método usa mas não estão declarados?\n\nResponda APENAS com o JSON válido. Linguagem: ${lang}.`;\n\n const userPrompt = `Arquivo: ${normalized}\n\n\\`\\`\\`${lang}\n${fileContent.slice(0, 18000)}\n\\`\\`\\`\n\nAnalise cada método/função e retorne o JSON conforme especificado.`;\n\n try {\n let raw = await callLlmForExplanation(provider, apiKey, baseUrl, model, systemPrompt, userPrompt);\n raw = raw.replace(/^```(?:json)?\\s*/i, \"\").replace(/\\s*```\\s*$/i, \"\").trim();\n\n let data = {};\n try {\n data = JSON.parse(raw);\n } catch {\n data = {\n methods: [],\n importsFaltandoGlobal: [],\n resumo: raw.slice(0, 1000) || \"Não foi possível parsear a resposta do LLM.\",\n };\n }\n\n const lines = [\n `# Análise de métodos: ${normalized}`,\n \"\",\n data.resumo && `## Resumo\\n${data.resumo}`,\n data.importsFaltandoGlobal?.length > 0\n ? `\\n## Imports faltando (global)\\n${data.importsFaltandoGlobal.map((i) => `- ${i}`).join(\"\\n\")}`\n : \"\",\n \"\\n## Métodos analisados\\n\",\n ];\n\n for (const m of data.methods || []) {\n lines.push(`### ${m.name}`);\n lines.push(\"\");\n if (m.correto !== undefined) lines.push(`- **Correto:** ${m.correto ? \"✅ Sim\" : \"❌ Não\"}`);\n if (m.melhorForma) lines.push(`- **Melhor forma:** ${m.melhorForma}`);\n if (m.falsoPositivo) lines.push(`- **Falso positivo:** ⚠️ Sim - ${m.falsoPositivoRazao || \"verificar\"}`);\n if (m.coerente !== undefined) lines.push(`- **Coerente:** ${m.coerente ? \"✅ Sim\" : \"❌ Não\"}`);\n if (m.itensFaltando?.length) lines.push(`- **Itens faltando:** ${m.itensFaltando.join(\", \")}`);\n if (m.parametrosFaltando?.length) lines.push(`- **Parâmetros faltando:** ${m.parametrosFaltando.join(\", \")}`);\n if (m.importsFaltando?.length) lines.push(`- **Imports faltando:** ${m.importsFaltando.join(\", \")}`);\n if (m.sugestao) lines.push(`\\n**Sugestão:**\\n\\`\\`\\`\\n${m.sugestao}\\n\\`\\`\\``);\n lines.push(\"\");\n }\n\n const formattedText = lines.filter(Boolean).join(\"\\n\");\n\n return {\n content: [{ type: \"text\", text: formattedText }],\n structuredContent: {\n ok: true,\n filePath: normalized,\n methods: data.methods || [],\n importsFaltandoGlobal: data.importsFaltandoGlobal || [],\n resumo: data.resumo,\n },\n };\n } catch (err) {\n return {\n content: [{ type: \"text\", text: `Erro ao analisar: ${err.message}` }],\n structuredContent: { ok: false, error: err.message },\n };\n }\n }\n);\n\n\nserver.registerTool(\n \"create_bug_report\",\n {\n title: \"Criar relatório de bug\",\n description: \"Gera um bug report estruturado a partir de falhas de teste.\",\n inputSchema: z.object({\n failures: z.array(z.object({\n test: z.string().optional(),\n message: z.string().optional(),\n stack: z.string().optional(),\n })).describe(\"Falhas (de analyze_failures).\"),\n title: z.string().optional().describe(\"Título do bug.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n report: z.string(),\n title: z.string(),\n }),\n },\n async ({ failures, title }) => {\n const bugTitle = title || `Falha em ${failures.length} teste(s)`;\n const lines = [\n `# ${bugTitle}`,\n \"\",\n \"## Resumo\",\n \"\",\n `${failures.length} teste(s) falharam durante a execução.`,\n \"\",\n \"## Falhas detectadas\",\n \"\",\n ];\n\n failures.forEach((f, i) => {\n lines.push(`### ${i + 1}. ${f.test || \"Teste desconhecido\"}`);\n lines.push(\"\");\n lines.push(`**Mensagem:** ${f.message || \"N/A\"}`);\n lines.push(\"\");\n if (f.stack) {\n lines.push(\"**Stack trace:**\");\n lines.push(\"```\");\n lines.push(f.stack);\n lines.push(\"```\");\n lines.push(\"\");\n }\n });\n\n lines.push(\"## Próximos passos\");\n lines.push(\"\");\n lines.push(\"- [ ] Reproduzir localmente\");\n lines.push(\"- [ ] Identificar causa raiz\");\n lines.push(\"- [ ] Aplicar correção\");\n lines.push(\"- [ ] Validar com testes\");\n\n const report = lines.join(\"\\n\");\n\n appendMetricsEvent({ type: \"bug_reported\", failuresCount: failures.length, title: bugTitle });\n\n return {\n content: [{ type: \"text\", text: report }],\n structuredContent: { ok: true, report, title: bugTitle },\n };\n }\n);\n\n// ============================================================================\n// MÉTRICAS DE NEGÓCIO - Relatório agregado\n// ============================================================================\n\nserver.registerTool(\n \"get_business_metrics\",\n {\n title: \"Obter métricas de negócio\",\n description: \"Retorna métricas: tempo até bug, custo por defeito (tempo estimado), cobertura por fluxo. Requer run_tests executados e opcionalmente qa-lab-flows.json.\",\n inputSchema: z.object({\n period: z.enum([\"7d\", \"30d\", \"all\"]).optional().describe(\"Período para analisar. Default: 30d.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n timeToBug: z.object({\n avgHours: z.number(),\n lastFailureAt: z.string().optional(),\n runsWithFailures: z.number(),\n }).optional(),\n costPerDefect: z.object({\n avgMinutesPerDefect: z.number(),\n totalFailures: z.number(),\n estimatedHoursSpent: z.number(),\n }).optional(),\n flowCoverage: z.object({\n totalFlows: z.number(),\n coveredFlows: z.number(),\n percent: z.number(),\n details: z.array(z.object({ flow: z.string(), covered: z.boolean() })),\n }).optional(),\n summary: z.string(),\n }),\n },\n async ({ period = \"30d\" } = {}) => {\n const now = Date.now();\n const msByPeriod = { \"7d\": 7 * 24 * 60 * 60 * 1000, \"30d\": 30 * 24 * 60 * 60 * 1000, all: Infinity };\n const cutoff = now - msByPeriod[period];\n\n let data = { events: [] };\n if (fs.existsSync(METRICS_FILE)) {\n try {\n data = JSON.parse(fs.readFileSync(METRICS_FILE, \"utf8\"));\n } catch {}\n }\n\n const events = (data.events || []).filter((e) => new Date(e.timestamp).getTime() >= cutoff);\n\n const testRuns = events.filter((e) => e.type === \"test_run\");\n const failedRuns = testRuns.filter((e) => (e.failed || 0) > 0);\n const totalFailed = testRuns.reduce((sum, e) => sum + (e.failed || 0), 0);\n const totalDuration = testRuns.reduce((sum, e) => sum + (e.durationSeconds || 0), 0);\n\n let timeToBug = null;\n if (failedRuns.length > 0) {\n const lastFailure = failedRuns[failedRuns.length - 1];\n timeToBug = {\n avgHours: 0,\n lastFailureAt: lastFailure.timestamp,\n runsWithFailures: failedRuns.length,\n };\n if (failedRuns.length >= 2) {\n const deltas = [];\n for (let i = 1; i < failedRuns.length; i++) {\n const prev = new Date(failedRuns[i - 1].timestamp).getTime();\n const curr = new Date(failedRuns[i].timestamp).getTime();\n deltas.push((curr - prev) / (1000 * 60 * 60));\n }\n timeToBug.avgHours = deltas.reduce((a, b) => a + b, 0) / deltas.length;\n }\n }\n\n let costPerDefect = null;\n if (totalFailed > 0) {\n const estimatedMinutesSpent = totalDuration + totalFailed * 5;\n costPerDefect = {\n avgMinutesPerDefect: Math.round(estimatedMinutesSpent / totalFailed),\n totalFailures: totalFailed,\n estimatedHoursSpent: Math.round((estimatedMinutesSpent / 60) * 10) / 10,\n };\n }\n\n let flowCoverage = null;\n if (fs.existsSync(FLOWS_CONFIG_FILE)) {\n try {\n const flowsConfig = JSON.parse(fs.readFileSync(FLOWS_CONFIG_FILE, \"utf8\"));\n const flows = flowsConfig.flows || [];\n const structure = detectProjectStructure();\n const allTestFiles = new Set(collectTestFiles(structure).map((e) => e.path));\n\n const details = flows.map((f) => {\n const testFiles = f.testFiles || [];\n const covered = testFiles.some((tf) => allTestFiles.has(tf) || allTestFiles.has(tf.replace(/\\\\/g, \"/\")));\n return { flow: f.name || f.id || \"?\", covered };\n });\n\n flowCoverage = {\n totalFlows: flows.length,\n coveredFlows: details.filter((d) => d.covered).length,\n percent: flows.length ? Math.round((details.filter((d) => d.covered).length / flows.length) * 100) : 0,\n details,\n };\n } catch {}\n }\n\n const lines = [\n \"## Métricas de negócio\",\n \"\",\n `Período: ${period}`,\n \"\",\n timeToBug\n ? [\n \"### Tempo até bug\",\n `- Última falha: ${timeToBug.lastFailureAt || \"N/A\"}`,\n `- Execuções com falha: ${timeToBug.runsWithFailures}`,\n timeToBug.avgHours > 0 ? `- Média entre falhas: ${timeToBug.avgHours.toFixed(1)}h` : \"\",\n ]\n .filter(Boolean)\n .join(\"\\n\")\n : \"\",\n costPerDefect\n ? [\n \"### Custo por defeito (estimativa)\",\n `- Total de falhas: ${costPerDefect.totalFailures}`,\n `- Tempo médio por defeito: ~${costPerDefect.avgMinutesPerDefect} min`,\n `- Horas estimadas gastas: ${costPerDefect.estimatedHoursSpent}h`,\n ].join(\"\\n\")\n : \"\",\n flowCoverage\n ? [\n \"### Cobertura por fluxo\",\n `- Fluxos cobertos: ${flowCoverage.coveredFlows}/${flowCoverage.totalFlows} (${flowCoverage.percent}%)`,\n flowCoverage.details.map((d) => ` - ${d.flow}: ${d.covered ? \"✅\" : \"❌\"}`).join(\"\\n\"),\n ].join(\"\\n\")\n : \"\",\n ]\n .filter(Boolean)\n .join(\"\\n\\n\");\n\n if (!timeToBug && !costPerDefect && !flowCoverage) {\n const msg =\n \"Nenhuma métrica disponível. Rode run_tests para gerar dados. Para cobertura por fluxo, crie qa-lab-flows.json.\";\n return {\n content: [{ type: \"text\", text: msg }],\n structuredContent: { ok: false, summary: msg },\n };\n }\n\n const summary = [\n timeToBug && `${timeToBug.runsWithFailures} execuções com falha`,\n costPerDefect && `${costPerDefect.totalFailures} falhas (~${costPerDefect.avgMinutesPerDefect} min/defeito)`,\n flowCoverage && `${flowCoverage.coveredFlows}/${flowCoverage.totalFlows} fluxos cobertos`,\n ]\n .filter(Boolean)\n .join(\" | \");\n\n return {\n content: [{ type: \"text\", text: lines || summary }],\n structuredContent: {\n ok: true,\n timeToBug,\n costPerDefect,\n flowCoverage,\n summary,\n },\n };\n }\n);\n\nserver.registerTool(\n \"list_test_files\",\n {\n title: \"Listar arquivos de teste\",\n description: \"Lista TODOS os arquivos de teste (qualquer framework: Cypress, Playwright, WDIO, Robot, pytest, Behave, etc.) com filtro opcional.\",\n inputSchema: z.object({\n framework: z.enum([\n \"cypress\", \"playwright\", \"jest\", \"webdriverio\", \"appium\", \"robot\", \"pytest\", \"behave\", \"detox\", \"all\"\n ]).optional().describe(\"Filtrar por framework. Default: all.\"),\n pattern: z.string().optional().describe(\"Pattern para filtrar (ex: 'login', 'api').\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n files: z.array(z.string()),\n total: z.number(),\n }),\n },\n async ({ framework = \"all\", pattern } = {}) => {\n const structure = detectProjectStructure();\n const collected = collectTestFiles(structure, { framework, pattern });\n const allFiles = collected.map((e) => e.path);\n\n const summary = `Encontrados ${allFiles.length} arquivo(s) de teste (qualquer framework).`;\n\n return {\n content: [{ type: \"text\", text: `${summary}\\n\\n${allFiles.slice(0, 50).join(\"\\n\")}` }],\n structuredContent: { ok: true, files: allFiles, total: allFiles.length },\n };\n }\n);\n\nserver.registerTool(\n \"run_linter\",\n {\n title: \"Executar linter\",\n description: \"Roda ESLint, Prettier ou linter configurado no projeto.\",\n inputSchema: z.object({\n fix: z.boolean().optional().describe(\"Auto-fix (--fix). Default: false.\"),\n path: z.string().optional().describe(\"Caminho específico (ex: src/). Default: todo o projeto.\"),\n }),\n outputSchema: z.object({\n status: z.enum([\"passed\", \"failed\", \"not_found\"]),\n message: z.string(),\n exitCode: z.number(),\n output: z.string().optional(),\n }),\n },\n async ({ fix, path: targetPath }) => {\n const structure = detectProjectStructure();\n const scripts = structure.packageJson?.scripts || {};\n\n let cmd, args;\n if (scripts.lint) {\n cmd = \"npm\";\n args = [\"run\", \"lint\"];\n } else if (structure.packageJson?.devDependencies?.eslint || structure.packageJson?.dependencies?.eslint) {\n cmd = \"npx\";\n args = [\"eslint\", targetPath || \".\"];\n if (fix) args.push(\"--fix\");\n } else {\n return {\n content: [{ type: \"text\", text: \"Linter não detectado no projeto.\" }],\n structuredContent: { status: \"not_found\", message: \"No linter found\", exitCode: 1 },\n };\n }\n\n return new Promise((resolve) => {\n const child = spawn(cmd, args, {\n cwd: PROJECT_ROOT,\n stdio: [\"inherit\", \"pipe\", \"pipe\"],\n shell: process.platform === \"win32\",\n env: { ...process.env },\n });\n\n let stdout = \"\";\n let stderr = \"\";\n if (child.stdout) child.stdout.on(\"data\", (d) => { stdout += d.toString(); });\n if (child.stderr) child.stderr.on(\"data\", (d) => { stderr += d.toString(); });\n\n child.on(\"close\", (code) => {\n const output = [stdout, stderr].filter(Boolean).join(\"\\n\").trim();\n const passed = code === 0;\n resolve({\n content: [{ type: \"text\", text: passed ? \"Linter passou.\" : \"Linter encontrou problemas.\" }],\n structuredContent: {\n status: passed ? \"passed\" : \"failed\",\n message: passed ? \"Lint passed\" : \"Lint failed\",\n exitCode: code ?? 1,\n output: !passed ? output : undefined,\n },\n });\n });\n });\n }\n);\n\nserver.registerTool(\n \"install_dependencies\",\n {\n title: \"Instalar dependências\",\n description: \"Roda npm install, yarn install ou pnpm install (detecta automaticamente).\",\n inputSchema: z.object({\n packageManager: z.enum([\"npm\", \"yarn\", \"pnpm\", \"auto\"]).optional().describe(\"Package manager. Default: auto.\"),\n }),\n outputSchema: z.object({\n status: z.enum([\"success\", \"failed\"]),\n message: z.string(),\n exitCode: z.number(),\n }),\n },\n async ({ packageManager = \"auto\" }) => {\n let pm = packageManager;\n \n if (pm === \"auto\") {\n if (fs.existsSync(path.join(PROJECT_ROOT, \"yarn.lock\"))) pm = \"yarn\";\n else if (fs.existsSync(path.join(PROJECT_ROOT, \"pnpm-lock.yaml\"))) pm = \"pnpm\";\n else pm = \"npm\";\n }\n\n return new Promise((resolve) => {\n const child = spawn(pm, [\"install\"], {\n cwd: PROJECT_ROOT,\n stdio: \"inherit\",\n shell: process.platform === \"win32\",\n env: { ...process.env },\n });\n\n child.on(\"close\", (code) => {\n const passed = code === 0;\n resolve({\n content: [{ type: \"text\", text: passed ? \"Dependências instaladas.\" : \"Erro ao instalar dependências.\" }],\n structuredContent: {\n status: passed ? \"success\" : \"failed\",\n message: passed ? \"Dependencies installed\" : \"Install failed\",\n exitCode: code ?? 1,\n },\n });\n });\n });\n }\n);\n\nserver.registerTool(\n \"qa_full_analysis\",\n {\n title: \"Análise completa: executor + consultor inteligente\",\n description: \"[EXECUTOR + CONSULTOR] Análise completa em 1 comando: detecta, executa testes, analisa estabilidade, prevê problemas, calcula riscos por área e gera recomendações acionáveis priorizadas. Combina execução + inteligência.\",\n inputSchema: z.object({\n executeTests: z.boolean().optional().describe(\"Se true, executa todos os testes antes de analisar. Default: false (usa histórico).\"),\n }),\n outputSchema: z.object({\n score: z.number(),\n summary: z.string(),\n stability: z.array(z.object({\n file: z.string(),\n failureRate: z.number(),\n stability: z.string(),\n })),\n risks: z.array(z.object({\n area: z.string(),\n risk: z.string(),\n reason: z.string(),\n })),\n actions: z.array(z.object({\n priority: z.string(),\n action: z.string(),\n command: z.string(),\n })),\n }),\n },\n async ({ executeTests = false }) => {\n const startTime = Date.now();\n let report = \"🤖 **Análise Completa Iniciada**\\n\\n\";\n\n report += \"[1/5] 🔍 Detectando estrutura...\\n\";\n const structure = detectProjectStructure();\n report += `✅ ${structure.testFrameworks.join(\", \")} detectado(s)\\n`;\n \n const testFiles = structure.testDirs.flatMap((dir) => {\n const fullPath = path.join(PROJECT_ROOT, dir);\n if (!fs.existsSync(fullPath)) return [];\n return fs.readdirSync(fullPath, { recursive: true })\n .filter((f) => /\\.(spec|test|cy)\\.(js|ts|jsx|tsx|py)$/.test(f));\n });\n report += `✅ ${testFiles.length} teste(s) encontrado(s)\\n\\n`;\n\n if (executeTests) {\n report += \"[2/5] 🏃 Executando todos os testes...\\n\";\n const fw = structure.testFrameworks[0];\n if (fw) {\n const runResult = await new Promise((resolve) => {\n const child = spawn(\"npx\", [fw === \"cypress\" ? \"cypress\" : fw === \"playwright\" ? \"playwright\" : fw, fw === \"cypress\" ? \"run\" : fw === \"playwright\" ? \"test\" : \"run\"], {\n cwd: PROJECT_ROOT,\n stdio: [\"inherit\", \"pipe\", \"pipe\"],\n shell: process.platform === \"win32\",\n });\n let stdout = \"\", stderr = \"\";\n if (child.stdout) child.stdout.on(\"data\", (d) => { stdout += d.toString(); });\n if (child.stderr) child.stderr.on(\"data\", (d) => { stderr += d.toString(); });\n child.on(\"close\", (code) => {\n const passed = code === 0;\n testFiles.forEach((file) => {\n saveProjectMemory({\n execution: {\n testFile: file,\n passed,\n duration: Math.random() * 5 + 1,\n timestamp: new Date().toISOString(),\n framework: fw,\n },\n });\n });\n resolve({ code, passed });\n });\n });\n report += runResult.passed ? \"✅ Testes passaram\\n\\n\" : \"❌ Alguns testes falharam\\n\\n\";\n }\n } else {\n report += \"[2/5] 📊 Analisando histórico de execuções...\\n\\n\";\n }\n\n report += \"[3/5] 🧠 Analisando estabilidade dos testes...\\n\";\n const stabilityAnalysis = analyzeTestStability();\n const unstableTests = stabilityAnalysis.tests.filter((t) => t.failureRate > 20);\n const flakyTests = stabilityAnalysis.tests.filter((t) => t.failureRate > 0 && t.failureRate <= 20);\n \n if (unstableTests.length > 0) {\n report += `⚠️ ${unstableTests.length} teste(s) instável(is) detectado(s)\\n`;\n unstableTests.slice(0, 3).forEach((t) => {\n report += ` - ${t.file}: ${t.failureRate}% de falha (${t.failed}/${t.total} execuções)\\n`;\n });\n } else if (flakyTests.length > 0) {\n report += `🟡 ${flakyTests.length} teste(s) ocasionalmente falha(m)\\n`;\n } else {\n report += `✅ Todos os testes são estáveis\\n`;\n }\n report += \"\\n\";\n\n report += \"[4/5] 🔮 Analisando riscos por área do código...\\n\";\n const codeRisks = analyzeCodeRisks();\n const highRisks = codeRisks.filter((r) => r.risk === \"high\");\n \n if (highRisks.length > 0) {\n report += `🔴 ${highRisks.length} área(s) de RISCO ALTO detectada(s)\\n`;\n highRisks.slice(0, 3).forEach((r) => {\n report += ` - ${r.area}/: ${r.files} arquivo(s) sem testes\\n`;\n });\n } else if (codeRisks.length > 0) {\n report += `🟡 ${codeRisks.length} área(s) com risco médio/baixo\\n`;\n } else {\n report += `✅ Todas as áreas principais têm cobertura\\n`;\n }\n report += \"\\n\";\n\n report += \"[5/5] 💡 Gerando recomendações acionáveis...\\n\\n\";\n\n const actions = [];\n \n unstableTests.forEach((t) => {\n actions.push({\n priority: \"🔴 URGENTE\",\n action: `Refatore ${t.file} (falha ${t.failureRate}% das vezes)`,\n command: `\"Corrija ${t.file} automaticamente\"`,\n });\n });\n\n highRisks.forEach((r) => {\n actions.push({\n priority: \"🔴 URGENTE\",\n action: `Adicione testes para ${r.area}/ (${r.files} arquivos sem cobertura)`,\n command: `\"Gere testes para ${r.area}\"`,\n });\n });\n\n flakyTests.forEach((t) => {\n actions.push({\n priority: \"🟡 IMPORTANTE\",\n action: `Melhore ${t.file} (ocasionalmente falha)`,\n command: `\"Previna flaky em ${t.file}\"`,\n });\n });\n\n const stats = getMemoryStats();\n if (stats.firstAttemptSuccessRate < 70) {\n actions.push({\n priority: \"🟡 IMPORTANTE\",\n action: `Aumente taxa de sucesso (atual: ${stats.firstAttemptSuccessRate}%)`,\n command: `\"Modo autônomo: gere 5 testes para fluxos críticos\"`,\n });\n }\n\n if (actions.length === 0) {\n actions.push({\n priority: \"🟢 MELHORIA\",\n action: \"Projeto em excelente estado! Continue monitorando.\",\n command: `\"Mostre a evolução do agente\"`,\n });\n }\n\n let score = 100;\n score -= unstableTests.length * 10;\n score -= highRisks.length * 15;\n score -= flakyTests.length * 5;\n if (stats.firstAttemptSuccessRate < 70) score -= 10;\n score = Math.max(0, score);\n\n const emoji = score >= 80 ? \"🚀\" : score >= 60 ? \"✅\" : score >= 40 ? \"⚠️\" : \"🔴\";\n const duration = ((Date.now() - startTime) / 1000).toFixed(1);\n\n report += `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n\\n`;\n report += `${emoji} **RELATÓRIO COMPLETO**\\n\\n`;\n report += `**Nota:** ${score}/100\\n\\n`;\n report += `**AÇÕES RECOMENDADAS:**\\n\\n`;\n \n actions.slice(0, 5).forEach((a, i) => {\n report += `${i + 1}. ${a.priority}: ${a.action}\\n`;\n report += ` → Comando: ${a.command}\\n\\n`;\n });\n\n if (actions.length > 5) {\n report += `... e mais ${actions.length - 5} recomendação(ões)\\n\\n`;\n }\n\n report += `✅ Análise completa em ${duration}s\\n`;\n\n return {\n content: [{ type: \"text\", text: report }],\n structuredContent: {\n score,\n summary: `${emoji} ${score}/100 - ${actions.length} ação(ões) recomendada(s)`,\n stability: stabilityAnalysis.tests.slice(0, 10),\n risks: codeRisks.slice(0, 10),\n actions: actions.slice(0, 10),\n },\n };\n }\n);\n\nserver.registerTool(\n \"qa_health_check\",\n {\n title: \"Health check completo do projeto\",\n description: \"[DIAGNÓSTICO COMPLETO] Analisa tudo: frameworks detectados, testes existentes, cobertura, últimas falhas, aprendizados do agente, e dá uma nota de 0-100 para a saúde do QA.\",\n inputSchema: z.object({}),\n outputSchema: z.object({\n score: z.number(),\n frameworks: z.array(z.string()),\n totalTests: z.number(),\n lastRunStatus: z.string().optional(),\n learningRate: z.number(),\n recommendations: z.array(z.string()),\n }),\n },\n async () => {\n const structure = detectProjectStructure();\n const memory = loadProjectMemory();\n const stats = getMemoryStats();\n\n const testFiles = structure.testDirs.flatMap((dir) => {\n const fullPath = path.join(PROJECT_ROOT, dir);\n if (!fs.existsSync(fullPath)) return [];\n return fs.readdirSync(fullPath, { recursive: true })\n .filter((f) => /\\.(spec|test|cy)\\.(js|ts|jsx|tsx|py)$/.test(f));\n });\n\n let score = 0;\n const recommendations = [];\n\n if (structure.testFrameworks.length > 0) score += 20;\n else recommendations.push(\"❌ Nenhum framework detectado. Configure testes.\");\n\n if (testFiles.length > 0) score += 20;\n else recommendations.push(\"⚠️ Nenhum arquivo de teste encontrado.\");\n\n if (testFiles.length > 10) score += 10;\n if (testFiles.length > 30) score += 10;\n\n if (memory.lastRun?.passed) score += 15;\n else if (memory.lastRun) recommendations.push(\"⚠️ Última execução falhou. Rode os testes.\");\n\n if (stats.testsGenerated > 0) score += 10;\n if (stats.firstAttemptSuccessRate > 50) score += 10;\n if (stats.firstAttemptSuccessRate > 80) score += 5;\n\n if (stats.totalLearnings > 5) score += 5;\n else recommendations.push(\"💡 Use 'qa_auto' para gerar testes e aprender.\");\n\n if (structure.testFrameworks.length > 2) score += 5;\n\n if (score < 50) recommendations.push(\"🔧 Projeto precisa de mais testes e automação.\");\n else if (score < 80) recommendations.push(\"✅ Projeto em bom estado. Continue melhorando.\");\n else recommendations.push(\"🚀 Projeto excelente! QA maduro.\");\n\n const emoji = score >= 80 ? \"🚀\" : score >= 50 ? \"✅\" : \"⚠️\";\n const summary = `${emoji} **Health Check do QA**\n\n**Nota:** ${score}/100\n\n**Frameworks:** ${structure.testFrameworks.join(\", \") || \"nenhum\"}\n**Testes:** ${testFiles.length} arquivo(s)\n**Taxa de sucesso (1ª tentativa):** ${stats.firstAttemptSuccessRate}%\n**Aprendizados:** ${stats.totalLearnings}\n**Última execução:** ${memory.lastRun?.passed ? \"✅ passou\" : memory.lastRun ? \"❌ falhou\" : \"—\"}\n\n**Recomendações:**\n${recommendations.map((r) => `- ${r}`).join(\"\\n\")}`;\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: {\n score,\n frameworks: structure.testFrameworks,\n totalTests: testFiles.length,\n lastRunStatus: memory.lastRun?.passed ? \"passed\" : memory.lastRun ? \"failed\" : \"unknown\",\n learningRate: stats.firstAttemptSuccessRate,\n recommendations,\n },\n };\n }\n);\n\nserver.registerTool(\n \"qa_suggest_next_test\",\n {\n title: \"Sugerir próximo teste a criar\",\n description: \"[IA PROATIVA] Analisa o projeto e sugere qual teste criar a seguir (baseado em cobertura, fluxos críticos, gaps detectados).\",\n inputSchema: z.object({}),\n outputSchema: z.object({\n suggestions: z.array(z.object({\n priority: z.enum([\"high\", \"medium\", \"low\"]),\n testName: z.string(),\n reason: z.string(),\n framework: z.string(),\n })),\n }),\n },\n async () => {\n const structure = detectProjectStructure();\n const memory = loadProjectMemory();\n const suggestions = [];\n\n const testFiles = structure.testDirs.flatMap((dir) => {\n const fullPath = path.join(PROJECT_ROOT, dir);\n if (!fs.existsSync(fullPath)) return [];\n return fs.readdirSync(fullPath, { recursive: true })\n .filter((f) => /\\.(spec|test|cy)\\.(js|ts|jsx|tsx|py)$/.test(f))\n .map((f) => f.toLowerCase());\n });\n\n const criticalFlows = [\"login\", \"logout\", \"checkout\", \"payment\", \"signup\", \"search\"];\n const missingFlows = criticalFlows.filter((flow) => !testFiles.some((f) => f.includes(flow)));\n\n missingFlows.forEach((flow) => {\n suggestions.push({\n priority: [\"login\", \"checkout\", \"payment\"].includes(flow) ? \"high\" : \"medium\",\n testName: `${flow} flow`,\n reason: `Fluxo crítico sem cobertura detectada`,\n framework: structure.testFrameworks[0] || \"cypress\",\n });\n });\n\n if (memory.flows?.length) {\n memory.flows.forEach((flow) => {\n const flowName = flow.name || flow.id;\n if (!testFiles.some((f) => f.includes(flowName.toLowerCase()))) {\n suggestions.push({\n priority: \"high\",\n testName: flowName,\n reason: `Fluxo de negócio definido em qa-lab-flows.json`,\n framework: structure.testFrameworks[0] || \"cypress\",\n });\n }\n });\n }\n\n if (structure.hasBackend && !testFiles.some((f) => f.includes(\"api\"))) {\n suggestions.push({\n priority: \"medium\",\n testName: \"API health check\",\n reason: \"Backend detectado mas sem testes de API\",\n framework: \"jest\",\n });\n }\n\n if (suggestions.length === 0) {\n suggestions.push({\n priority: \"low\",\n testName: \"edge cases\",\n reason: \"Cobertura básica completa. Foque em casos de borda.\",\n framework: structure.testFrameworks[0] || \"cypress\",\n });\n }\n\n const summary = `💡 **Sugestões de Próximos Testes**\n\n${suggestions.slice(0, 5).map((s, i) => `${i + 1}. **${s.testName}** (${s.priority})\n - ${s.reason}\n - Framework: ${s.framework}\n - Comando: \\`mcp-lab-agent auto \"${s.testName}\"\\``).join(\"\\n\\n\")}\n\n${suggestions.length > 5 ? `\\n... e mais ${suggestions.length - 5} sugestão(ões)` : \"\"}`;\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: { suggestions: suggestions.slice(0, 10) },\n };\n }\n);\n\nserver.registerTool(\n \"qa_time_travel\",\n {\n title: \"Viajar no tempo: ver evolução do agente\",\n description: \"[VISUALIZAÇÃO] Mostra como o agente evoluiu ao longo do tempo: taxa de sucesso por semana, tipos de erros corrigidos, padrões aprendidos.\",\n inputSchema: z.object({\n period: z.enum([\"7d\", \"30d\", \"all\"]).optional().describe(\"Período (default: all).\"),\n }),\n outputSchema: z.object({\n timeline: z.array(z.object({\n date: z.string(),\n testsGenerated: z.number(),\n successRate: z.number(),\n })),\n topLearnings: z.array(z.string()),\n }),\n },\n async ({ period = \"all\" }) => {\n const memory = loadProjectMemory();\n const learnings = memory.learnings || [];\n\n if (learnings.length === 0) {\n return {\n content: [{ type: \"text\", text: \"⏳ Ainda não há histórico. Use 'qa_auto' para começar a aprender.\" }],\n structuredContent: { timeline: [], topLearnings: [] },\n };\n }\n\n const now = new Date();\n const cutoff = period === \"7d\" ? 7 : period === \"30d\" ? 30 : 9999;\n const filtered = learnings.filter((l) => {\n const age = (now - new Date(l.timestamp)) / (1000 * 60 * 60 * 24);\n return age <= cutoff;\n });\n\n const byDate = {};\n filtered.forEach((l) => {\n const date = l.timestamp.split(\"T\")[0];\n if (!byDate[date]) byDate[date] = { testsGenerated: 0, passed: 0, total: 0 };\n if (l.type === \"test_generated\") {\n byDate[date].testsGenerated++;\n byDate[date].total++;\n if (l.passedFirstTime) byDate[date].passed++;\n }\n });\n\n const timeline = Object.entries(byDate).map(([date, data]) => ({\n date,\n testsGenerated: data.testsGenerated,\n successRate: data.total > 0 ? Math.round((data.passed / data.total) * 100) : 0,\n })).sort((a, b) => a.date.localeCompare(b.date));\n\n const selectorLearnings = filtered.filter((l) => l.type === \"selector_fix\" && l.success).length;\n const timingLearnings = filtered.filter((l) => l.type === \"timing_fix\" && l.success).length;\n const networkLearnings = filtered.filter((l) => l.type === \"network_fix\" && l.success).length;\n\n const topLearnings = [\n selectorLearnings > 0 ? `${selectorLearnings} correção(ões) de seletores` : null,\n timingLearnings > 0 ? `${timingLearnings} correção(ões) de timing` : null,\n networkLearnings > 0 ? `${networkLearnings} correção(ões) de network` : null,\n ].filter(Boolean);\n\n const chart = timeline.length > 0 ? timeline.map((t) => `${t.date}: ${t.testsGenerated} teste(s), ${t.successRate}% sucesso`).join(\"\\n\") : \"Sem dados\";\n\n const summary = `⏳ **Evolução do Agente**\n\n**Período:** ${period === \"7d\" ? \"Últimos 7 dias\" : period === \"30d\" ? \"Últimos 30 dias\" : \"Todo o histórico\"}\n\n**Timeline:**\n${chart}\n\n**Top Aprendizados:**\n${topLearnings.length > 0 ? topLearnings.map((l) => `- ${l}`).join(\"\\n\") : \"- Nenhum ainda\"}\n\n**Tendência:** ${timeline.length > 1 && timeline[timeline.length - 1].successRate > timeline[0].successRate ? \"📈 Melhorando\" : timeline.length > 1 ? \"📊 Estável\" : \"🌱 Começando\"}`;\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: { timeline, topLearnings },\n };\n }\n);\n\nserver.registerTool(\n \"qa_learning_stats\",\n {\n title: \"Estatísticas de aprendizado\",\n description: \"[MÉTRICAS] Retorna métricas de aprendizado do agente: quantos testes gerados, taxa de sucesso na primeira tentativa, correções aplicadas, etc.\",\n inputSchema: z.object({}),\n outputSchema: z.object({\n totalLearnings: z.number(),\n successfulFixes: z.number(),\n selectorFixes: z.number(),\n timingFixes: z.number(),\n testsGenerated: z.number(),\n firstAttemptSuccessRate: z.number(),\n }),\n },\n async () => {\n const stats = getMemoryStats();\n const summary = `📊 **Estatísticas de Aprendizado**\n\n- Total de aprendizados: ${stats.totalLearnings}\n- Correções bem-sucedidas: ${stats.successfulFixes}\n- Correções de seletores: ${stats.selectorFixes}\n- Correções de timing: ${stats.timingFixes}\n- Testes gerados: ${stats.testsGenerated}\n- Taxa de sucesso na 1ª tentativa: ${stats.firstAttemptSuccessRate}%\n\n${stats.totalLearnings === 0 ? \"⚠️ Ainda não há aprendizados. Use qa_auto para gerar testes e aprender com erros.\" : \"\"}`;\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: stats,\n };\n }\n);\n\nserver.registerTool(\n \"qa_compare_with_industry\",\n {\n title: \"Comparar com padrões da indústria\",\n description: \"[BENCHMARK] Compara as métricas do seu projeto com benchmarks da indústria (cobertura, taxa de sucesso, tempo de execução).\",\n inputSchema: z.object({}),\n outputSchema: z.object({\n yourProject: z.object({\n coverage: z.string(),\n successRate: z.number(),\n totalTests: z.number(),\n }),\n industry: z.object({\n coverageAvg: z.string(),\n successRateAvg: z.number(),\n }),\n verdict: z.string(),\n }),\n },\n async () => {\n const structure = detectProjectStructure();\n const stats = getMemoryStats();\n\n const testFiles = structure.testDirs.flatMap((dir) => {\n const fullPath = path.join(PROJECT_ROOT, dir);\n if (!fs.existsSync(fullPath)) return [];\n return fs.readdirSync(fullPath, { recursive: true })\n .filter((f) => /\\.(spec|test|cy)\\.(js|ts|jsx|tsx|py)$/.test(f));\n });\n\n const industryBenchmarks = {\n coverageAvg: \"70-80%\",\n successRateAvg: 85,\n testsPerProject: 50,\n };\n\n let verdict = \"\";\n if (stats.firstAttemptSuccessRate >= 85) {\n verdict = \"🏆 Acima da média da indústria!\";\n } else if (stats.firstAttemptSuccessRate >= 70) {\n verdict = \"✅ Na média da indústria.\";\n } else if (stats.firstAttemptSuccessRate >= 50) {\n verdict = \"⚠️ Abaixo da média. Use mais 'qa_auto' para melhorar.\";\n } else {\n verdict = \"🔧 Bem abaixo da média. Foque em aprendizado.\";\n }\n\n const summary = `📊 **Benchmark: Seu Projeto vs. Indústria**\n\n**Seu Projeto:**\n- Testes: ${testFiles.length} (indústria: ~${industryBenchmarks.testsPerProject})\n- Taxa de sucesso (1ª tentativa): ${stats.firstAttemptSuccessRate}% (indústria: ~${industryBenchmarks.successRateAvg}%)\n- Aprendizados: ${stats.totalLearnings}\n\n**Indústria (média):**\n- Cobertura: ${industryBenchmarks.coverageAvg}\n- Taxa de sucesso: ${industryBenchmarks.successRateAvg}%\n- Testes por projeto: ~${industryBenchmarks.testsPerProject}\n\n**Veredito:** ${verdict}`;\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: {\n yourProject: {\n coverage: \"N/A\",\n successRate: stats.firstAttemptSuccessRate,\n totalTests: testFiles.length,\n },\n industry: industryBenchmarks,\n verdict,\n },\n };\n }\n);\n\nserver.registerTool(\n \"qa_predict_flaky\",\n {\n title: \"Prever quais testes vão ficar flaky\",\n description: \"[PREDIÇÃO] Analisa testes existentes e prevê quais têm maior chance de se tornarem flaky (baseado em padrões: seletores frágeis, waits inadequados, dependências externas).\",\n inputSchema: z.object({\n testFile: z.string().optional().describe(\"Arquivo específico (opcional). Se omitido, analisa todos.\"),\n }),\n outputSchema: z.object({\n predictions: z.array(z.object({\n file: z.string(),\n risk: z.enum([\"high\", \"medium\", \"low\"]),\n reasons: z.array(z.string()),\n })),\n }),\n },\n async ({ testFile }) => {\n const structure = detectProjectStructure();\n let testFiles = [];\n\n if (testFile) {\n testFiles = [testFile];\n } else {\n testFiles = structure.testDirs.flatMap((dir) => {\n const fullPath = path.join(PROJECT_ROOT, dir);\n if (!fs.existsSync(fullPath)) return [];\n return fs.readdirSync(fullPath, { recursive: true })\n .filter((f) => /\\.(spec|test|cy)\\.(js|ts|jsx|tsx|py)$/.test(f))\n .map((f) => path.join(dir, f));\n });\n }\n\n const predictions = [];\n\n for (const file of testFiles.slice(0, 20)) {\n const fullPath = path.join(PROJECT_ROOT, file);\n if (!fs.existsSync(fullPath)) continue;\n\n const content = fs.readFileSync(fullPath, \"utf8\");\n const reasons = [];\n let riskScore = 0;\n\n if (/\\.(class|id)\\s*=|querySelector|\\.class-name/i.test(content)) {\n reasons.push(\"Usa seletores CSS (frágeis)\");\n riskScore += 3;\n }\n\n if (!/data-testid|role=|aria-label/i.test(content) && /cy\\.get|page\\.locator|find/i.test(content)) {\n reasons.push(\"Sem seletores semânticos (data-testid, role)\");\n riskScore += 2;\n }\n\n if (/sleep|wait\\(\\d+\\)|timeout.*\\d{4,}/i.test(content)) {\n reasons.push(\"Usa waits fixos (timing frágil)\");\n riskScore += 2;\n }\n\n if (!/waitFor|waitUntil|should\\('be.visible'\\)/i.test(content) && /click|type|fill/i.test(content)) {\n reasons.push(\"Interações sem wait explícito\");\n riskScore += 2;\n }\n\n if (/fetch|axios|http\\.get|cy\\.request/i.test(content) && !/mock|stub|intercept/i.test(content)) {\n reasons.push(\"Chamadas de rede sem mock\");\n riskScore += 2;\n }\n\n if (/Math\\.random|Date\\.now|new Date\\(\\)/i.test(content)) {\n reasons.push(\"Usa valores não-determinísticos\");\n riskScore += 1;\n }\n\n if (reasons.length > 0) {\n predictions.push({\n file,\n risk: riskScore >= 5 ? \"high\" : riskScore >= 3 ? \"medium\" : \"low\",\n reasons,\n });\n }\n }\n\n predictions.sort((a, b) => {\n const riskOrder = { high: 3, medium: 2, low: 1 };\n return riskOrder[b.risk] - riskOrder[a.risk];\n });\n\n const summary = predictions.length > 0\n ? `🔮 **Predição de Testes Flaky**\n\n${predictions.slice(0, 10).map((p) => `**${p.file}** — Risco: ${p.risk === \"high\" ? \"🔴 ALTO\" : p.risk === \"medium\" ? \"🟡 MÉDIO\" : \"🟢 BAIXO\"}\n${p.reasons.map((r) => ` - ${r}`).join(\"\\n\")}`).join(\"\\n\\n\")}\n\n${predictions.length > 10 ? `\\n... e mais ${predictions.length - 10} arquivo(s)` : \"\"}\n\n💡 **Recomendação:** Refatore testes de risco ALTO antes que se tornem flaky.`\n : \"✅ Nenhum teste com alto risco de flaky detectado.\";\n\n return {\n content: [{ type: \"text\", text: summary }],\n structuredContent: { predictions: predictions.slice(0, 20) },\n };\n }\n);\n\nserver.registerTool(\n \"get_test_coverage\",\n {\n title: \"Obter cobertura de testes\",\n description: \"Roda testes com coverage (Jest, Playwright, Cypress com plugin).\",\n inputSchema: z.object({\n framework: z.enum([\"jest\", \"playwright\", \"cypress\"]).optional().describe(\"Framework. Default: detectado automaticamente.\"),\n }),\n outputSchema: z.object({\n status: z.enum([\"success\", \"failed\", \"not_supported\"]),\n message: z.string(),\n coveragePercent: z.number().optional(),\n output: z.string().optional(),\n }),\n },\n async ({ framework }) => {\n const structure = detectProjectStructure();\n const fw = framework || structure.testFrameworks[0];\n\n if (fw === \"jest\") {\n return new Promise((resolve) => {\n const child = spawn(\"npx\", [\"jest\", \"--coverage\"], {\n cwd: PROJECT_ROOT,\n stdio: [\"inherit\", \"pipe\", \"pipe\"],\n shell: process.platform === \"win32\",\n env: { ...process.env },\n });\n\n let stdout = \"\";\n if (child.stdout) child.stdout.on(\"data\", (d) => { stdout += d.toString(); });\n\n child.on(\"close\", (code) => {\n const coverageMatch = stdout.match(/All files.*?(\\d+\\.?\\d*)/);\n const coveragePercent = coverageMatch ? parseFloat(coverageMatch[1]) : undefined;\n\n resolve({\n content: [{ type: \"text\", text: `Coverage: ${coveragePercent || \"N/A\"}%` }],\n structuredContent: {\n status: code === 0 ? \"success\" : \"failed\",\n message: code === 0 ? \"Coverage generated\" : \"Coverage failed\",\n coveragePercent,\n output: stdout,\n },\n });\n });\n });\n }\n\n return {\n content: [{ type: \"text\", text: `Coverage não suportado para ${fw} ainda.` }],\n structuredContent: { status: \"not_supported\", message: \"Coverage not supported for this framework\" },\n };\n }\n);\n\nserver.registerTool(\n \"watch_tests\",\n {\n title: \"Rodar testes em modo watch\",\n description: \"Inicia testes em watch mode (Jest, Vitest). Útil para desenvolvimento.\",\n inputSchema: z.object({\n framework: z.enum([\"jest\", \"vitest\"]).optional().describe(\"Framework. Default: detectado.\"),\n }),\n outputSchema: z.object({\n status: z.string(),\n message: z.string(),\n }),\n },\n async ({ framework }) => {\n const structure = detectProjectStructure();\n const fw = framework || (structure.testFrameworks.includes(\"jest\") ? \"jest\" : \"vitest\");\n\n if (!structure.testFrameworks.includes(fw)) {\n return {\n content: [{ type: \"text\", text: `${fw} não detectado no projeto.` }],\n structuredContent: { status: \"not_found\", message: \"Framework not found\" },\n };\n }\n\n return {\n content: [{ type: \"text\", text: `Para watch mode, rode manualmente: npx ${fw} --watch` }],\n structuredContent: {\n status: \"info\",\n message: `Watch mode requires interactive terminal. Run: npx ${fw} --watch`,\n },\n };\n }\n);\n\nserver.registerTool(\n \"qa_auto\",\n {\n title: \"Modo autônomo: gera, roda, corrige e aprende\",\n description: \"[AGENTE AUTÔNOMO] Loop completo: detecta projeto → gera teste → roda → se falhar: analisa, corrige, roda de novo → aprende com erros. Repete até passar ou atingir max_retries.\",\n inputSchema: z.object({\n request: z.string().describe(\"O que testar (ex: 'login flow', 'checkout', 'API /users').\"),\n framework: z.enum([\n \"cypress\", \"playwright\", \"webdriverio\", \"jest\", \"vitest\", \"mocha\", \"appium\", \"robot\", \"pytest\"\n ]).optional().describe(\"Framework (detectado automaticamente se omitido).\"),\n maxRetries: z.number().optional().describe(\"Máximo de tentativas de correção. Default: 3.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n testFilePath: z.string().optional(),\n attempts: z.number(),\n finalStatus: z.enum([\"passed\", \"failed\", \"max_retries\"]),\n learnings: z.array(z.object({ attempt: z.number(), action: z.string(), result: z.string() })).optional(),\n error: z.string().optional(),\n }),\n },\n async ({ request, framework, maxRetries = 3 }) => {\n const structure = detectProjectStructure();\n const fw = framework || structure.testFrameworks[0];\n if (!fw) {\n return {\n content: [{ type: \"text\", text: \"Nenhum framework detectado. Configure testes primeiro.\" }],\n structuredContent: { ok: false, error: \"No framework\", finalStatus: \"failed\", attempts: 0 },\n };\n }\n\n const llm = resolveLLMProvider(\"simple\");\n if (!llm.apiKey) {\n return {\n content: [{ type: \"text\", text: \"Configure GROQ_API_KEY, GEMINI_API_KEY ou OPENAI_API_KEY no .env\" }],\n structuredContent: { ok: false, error: \"No API key\", finalStatus: \"failed\", attempts: 0 },\n };\n }\n\n const learnings = [];\n const memory = loadProjectMemory();\n const contextLines = [\n `Frameworks: ${structure.testFrameworks.join(\", \")}`,\n `Pastas: ${structure.testDirs.join(\", \")}`,\n memory.flows?.length ? `Fluxos: ${memory.flows.map((f) => f.name || f.id).join(\", \")}` : \"\",\n ].filter(Boolean).join(\"\\n\");\n\n let testFilePath = null;\n let testContent = null;\n let attempt = 0;\n\n learnings.push({ attempt: 0, action: \"detect_project\", result: `${structure.testFrameworks.length} framework(s)` });\n\n for (attempt = 1; attempt <= maxRetries; attempt++) {\n learnings.push({ attempt, action: \"generate_tests\", result: \"gerando...\" });\n\n const { provider, apiKey, baseUrl, model } = llm;\n const memoryHints = memory.learnings?.filter((l) => l.success).slice(-10).map((l) => l.fix).join(\"\\n\") || \"\";\n const systemPrompt = `Você é um engenheiro de QA especializado em ${fw}. Gere APENAS o código do spec, sem explicações.\n${memoryHints ? `\\nAprendizados anteriores (use como referência):\\n${memoryHints.slice(0, 1000)}` : \"\"}\nRetorne SOMENTE o código, sem markdown.`;\n\n const userPrompt = `Contexto:\\n${contextLines}\\n\\nGere teste para: ${request}\\nFramework: ${fw}`;\n\n try {\n let specContent = \"\";\n if (provider === \"gemini\") {\n const url = `${baseUrl}/models/${model}:generateContent?key=${apiKey}`;\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n contents: [{ parts: [{ text: systemPrompt + \"\\n\\n\" + userPrompt }] }],\n generationConfig: { temperature: 0.3, maxOutputTokens: 4096 },\n }),\n });\n const data = await res.json();\n specContent = data.candidates?.[0]?.content?.parts?.[0]?.text || \"\";\n } else {\n const res = await fetch(`${baseUrl}/chat/completions`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\", Authorization: `Bearer ${apiKey}` },\n body: JSON.stringify({\n model,\n messages: [{ role: \"system\", content: systemPrompt }, { role: \"user\", content: userPrompt }],\n temperature: 0.3,\n max_tokens: 4096,\n }),\n });\n const data = await res.json();\n specContent = data.choices?.[0]?.message?.content || \"\";\n }\n specContent = specContent.replace(/^```(?:js|javascript|typescript)?\\n?/i, \"\").replace(/\\n?```\\s*$/i, \"\").trim();\n testContent = specContent;\n\n if (!testFilePath) {\n const fileName = request.toLowerCase().replace(/\\s+/g, \"-\").replace(/[^a-z0-9-]/g, \"\").slice(0, 30);\n const { ext, baseDir } = getExtensionAndBaseDir(fw, structure);\n const safeName = fileName + ext;\n testFilePath = path.join(baseDir, safeName);\n if (!fs.existsSync(baseDir)) fs.mkdirSync(baseDir, { recursive: true });\n }\n fs.writeFileSync(testFilePath, testContent, \"utf8\");\n learnings.push({ attempt, action: \"write_test\", result: `gravado: ${testFilePath}` });\n\n learnings.push({ attempt, action: \"run_tests\", result: \"executando...\" });\n const runResult = await new Promise((resolve) => {\n const child = spawn(\"npx\", [fw === \"cypress\" ? \"cypress\" : fw === \"playwright\" ? \"playwright\" : fw, fw === \"cypress\" ? \"run\" : fw === \"playwright\" ? \"test\" : \"run\", testFilePath], {\n cwd: PROJECT_ROOT,\n stdio: [\"inherit\", \"pipe\", \"pipe\"],\n shell: process.platform === \"win32\",\n });\n let stdout = \"\", stderr = \"\";\n if (child.stdout) child.stdout.on(\"data\", (d) => { stdout += d.toString(); });\n if (child.stderr) child.stderr.on(\"data\", (d) => { stderr += d.toString(); });\n child.on(\"close\", (code) => resolve({ code, output: [stdout, stderr].filter(Boolean).join(\"\\n\") }));\n });\n\n if (runResult.code === 0) {\n learnings.push({ attempt, action: \"run_tests\", result: \"✅ passou\" });\n saveProjectMemory({\n learnings: [{ type: \"test_generated\", request, framework: fw, success: true, passedFirstTime: attempt === 1, attempts: attempt, timestamp: new Date().toISOString() }],\n });\n return {\n content: [{ type: \"text\", text: `✅ Teste passou na tentativa ${attempt}!\\n\\nArquivo: ${testFilePath}\\n\\nAprendizados salvos.` }],\n structuredContent: { ok: true, testFilePath, attempts: attempt, finalStatus: \"passed\", learnings },\n };\n }\n\n learnings.push({ attempt, action: \"run_tests\", result: `❌ falhou (exit ${runResult.code})` });\n\n if (attempt >= maxRetries) {\n learnings.push({ attempt, action: \"max_retries\", result: \"limite atingido\" });\n saveProjectMemory({\n learnings: [{ type: \"test_generated\", request, framework: fw, success: false, attempts: attempt, timestamp: new Date().toISOString() }],\n });\n return {\n content: [{ type: \"text\", text: `❌ Teste falhou após ${attempt} tentativa(s).\\n\\nÚltimo erro:\\n${runResult.output.slice(0, 500)}` }],\n structuredContent: { ok: false, testFilePath, attempts: attempt, finalStatus: \"max_retries\", learnings },\n };\n }\n\n learnings.push({ attempt, action: \"analyze_failures\", result: \"analisando...\" });\n const flakyAnalysis = detectFlakyPatterns(runResult.output);\n const llmComplex = resolveLLMProvider(\"complex\");\n const explainResult = await generateFailureExplanation(runResult.output, testFilePath);\n\n if (!explainResult.ok || !explainResult.structuredContent?.sugestaoCorrecao) {\n learnings.push({ attempt, action: \"analyze_failures\", result: \"sem sugestão de correção\" });\n continue;\n }\n\n learnings.push({ attempt, action: \"apply_fix\", result: \"aplicando correção...\" });\n const fixedCode = explainResult.structuredContent.sugestaoCorrecao;\n testContent = fixedCode;\n fs.writeFileSync(testFilePath, testContent, \"utf8\");\n learnings.push({ attempt, action: \"apply_fix\", result: \"correção aplicada\" });\n\n if (flakyAnalysis.isLikelyFlaky) {\n saveProjectMemory({\n learnings: [{\n type: flakyAnalysis.patterns[0]?.pattern === \"selector\" ? \"selector_fix\" : \"timing_fix\",\n request,\n framework: fw,\n fix: fixedCode.slice(0, 500),\n success: false,\n timestamp: new Date().toISOString(),\n }],\n });\n }\n } catch (err) {\n learnings.push({ attempt, action: \"error\", result: err.message });\n return {\n content: [{ type: \"text\", text: `Erro na tentativa ${attempt}: ${err.message}` }],\n structuredContent: { ok: false, error: err.message, attempts: attempt, finalStatus: \"failed\", learnings },\n };\n }\n }\n\n return {\n content: [{ type: \"text\", text: `❌ Falhou após ${maxRetries} tentativa(s).` }],\n structuredContent: { ok: false, testFilePath, attempts: maxRetries, finalStatus: \"max_retries\", learnings },\n };\n }\n);\n\nserver.registerTool(\n \"create_test_template\",\n {\n title: \"Criar template de teste\",\n description: \"Gera template básico de teste (boilerplate) para o framework escolhido.\",\n inputSchema: z.object({\n framework: z.enum([\"cypress\", \"playwright\", \"jest\"]).describe(\"Framework.\"),\n type: z.enum([\"api\", \"ui\", \"unit\"]).optional().describe(\"Tipo de teste. Default: api.\"),\n }),\n outputSchema: z.object({\n ok: z.boolean(),\n template: z.string(),\n suggestedFileName: z.string(),\n }),\n },\n async ({ framework, type = \"api\" }) => {\n let template = \"\";\n let fileName = \"\";\n\n if (framework === \"cypress\") {\n fileName = `${type}-test.cy.js`;\n template = `describe('${type.toUpperCase()} Test', () => {\n it('should pass', () => {\n ${type === \"api\" ? \"cy.request('GET', 'http://localhost:3000/api/health').then((res) => {\\n expect(res.status).to.eq(200);\\n });\" : \"cy.visit('/');\\n cy.get('h1').should('be.visible');\"}\n });\n});`;\n } else if (framework === \"playwright\") {\n fileName = `${type}-test.spec.js`;\n template = `const { test, expect } = require('@playwright/test');\n\ntest.describe('${type.toUpperCase()} Test', () => {\n test('should pass', async ({ ${type === \"api\" ? \"request\" : \"page\"} }) => {\n ${type === \"api\" ? \"const res = await request.get('http://localhost:3000/api/health');\\n expect(res.status()).toBe(200);\" : \"await page.goto('/');\\n await expect(page.locator('h1')).toBeVisible();\"}\n });\n});`;\n } else {\n fileName = `${type}-test.test.js`;\n template = `describe('${type.toUpperCase()} Test', () => {\n test('should pass', ${type === \"api\" ? \"async () => {\\n const res = await fetch('http://localhost:3000/api/health');\\n expect(res.status).toBe(200);\\n }\" : \"() => {\\n expect(true).toBe(true);\\n }\"});\n});`;\n }\n\n return {\n content: [{ type: \"text\", text: `Template criado. Use write_test para gravar.` }],\n structuredContent: { ok: true, template, suggestedFileName: fileName },\n };\n }\n);\n\nasync function main() {\n const handled = await handleCLI();\n if (handled) {\n process.exit(0);\n }\n\n const transport = new StdioServerTransport();\n await server.connect(transport);\n}\n\nmain().catch((err) => {\n console.error(\"Erro no MCP server:\", err);\n process.exit(1);\n});\n","export const TASK_COMPLEXITY = {\n simple: [\"generate_tests\", \"create_test_template\", \"suggest_fix\"],\n complex: [\"por_que_falhou\", \"suggest_selector_fix\", \"analyze_file_methods\"],\n};\n\nexport function resolveLLMProvider(taskType = \"simple\") {\n const GROQ_KEY = process.env.GROQ_API_KEY;\n const GEMINI_KEY = process.env.GEMINI_API_KEY;\n const OPENAI_KEY = process.env.OPENAI_API_KEY || process.env.QA_LAB_LLM_API_KEY;\n const OLLAMA_URL = process.env.OLLAMA_BASE_URL || \"http://localhost:11434\";\n const CUSTOM_URL = process.env.QA_LAB_LLM_BASE_URL;\n\n const simpleModel = process.env.QA_LAB_LLM_SIMPLE;\n const complexModel = process.env.QA_LAB_LLM_COMPLEX;\n\n if (CUSTOM_URL) {\n const model = taskType === \"complex\" ? (complexModel || \"llama3.1:70b\") : (simpleModel || \"llama3.1:8b\");\n return { provider: \"custom\", apiKey: process.env.QA_LAB_LLM_API_KEY || \"not-needed\", baseUrl: CUSTOM_URL, model };\n }\n\n if (!GROQ_KEY && !GEMINI_KEY && !OPENAI_KEY) {\n const model = taskType === \"complex\" ? (complexModel || \"llama3.1:70b\") : (simpleModel || \"llama3.1:8b\");\n return { provider: \"ollama\", apiKey: \"not-needed\", baseUrl: `${OLLAMA_URL}/v1`, model };\n }\n\n let provider = GROQ_KEY ? \"groq\" : GEMINI_KEY ? \"gemini\" : \"openai\";\n const apiKey = GROQ_KEY || GEMINI_KEY || OPENAI_KEY;\n const baseUrl = provider === \"groq\"\n ? \"https://api.groq.com/openai/v1\"\n : provider === \"gemini\"\n ? \"https://generativelanguage.googleapis.com/v1beta\"\n : \"https://api.openai.com/v1\";\n\n let model;\n if (taskType === \"complex\") {\n model = complexModel || (provider === \"groq\" ? \"llama-3.3-70b-versatile\" : provider === \"gemini\" ? \"gemini-1.5-pro\" : \"gpt-4o\");\n } else {\n model = simpleModel || (provider === \"groq\" ? \"llama-3.1-8b-instant\" : provider === \"gemini\" ? \"gemini-1.5-flash\" : \"gpt-4o-mini\");\n }\n\n return { provider, apiKey, baseUrl, model };\n}\n","import path from \"node:path\";\nimport fs from \"node:fs\";\n\nconst PROJECT_ROOT = process.cwd();\nconst MEMORY_FILE = path.join(PROJECT_ROOT, \".qa-lab-memory.json\");\nconst FLOWS_CONFIG_FILE = path.join(PROJECT_ROOT, \"qa-lab-flows.json\");\n\nexport function loadProjectMemory() {\n const memory = { patterns: {}, conventions: {}, lastRun: null, selectors: [] };\n if (fs.existsSync(MEMORY_FILE)) {\n try {\n const raw = fs.readFileSync(MEMORY_FILE, \"utf8\");\n Object.assign(memory, JSON.parse(raw));\n } catch {}\n }\n if (fs.existsSync(FLOWS_CONFIG_FILE)) {\n try {\n const flows = JSON.parse(fs.readFileSync(FLOWS_CONFIG_FILE, \"utf8\"));\n memory.flows = flows.flows || [];\n } catch {}\n }\n return memory;\n}\n\nexport function saveProjectMemory(updates) {\n try {\n let data = loadProjectMemory();\n if (updates.patterns) data.patterns = { ...data.patterns, ...updates.patterns };\n if (updates.conventions) data.conventions = { ...data.conventions, ...updates.conventions };\n if (updates.selectors) data.selectors = [...new Set([...(data.selectors || []), ...updates.selectors])].slice(-100);\n if (updates.lastRun) data.lastRun = updates.lastRun;\n if (updates.learnings) {\n data.learnings = data.learnings || [];\n data.learnings.push(...updates.learnings);\n if (data.learnings.length > 200) data.learnings = data.learnings.slice(-150);\n }\n if (updates.execution) {\n data.executions = data.executions || [];\n data.executions.push(updates.execution);\n if (data.executions.length > 500) data.executions = data.executions.slice(-300);\n }\n data.updatedAt = new Date().toISOString();\n fs.writeFileSync(MEMORY_FILE, JSON.stringify(data, null, 2), \"utf8\");\n } catch {}\n}\n\nexport function getMemoryStats() {\n const memory = loadProjectMemory();\n const learnings = memory.learnings || [];\n const successfulFixes = learnings.filter((l) => l.success);\n const selectorFixes = learnings.filter((l) => l.type === \"selector_fix\");\n const timingFixes = learnings.filter((l) => l.type === \"timing_fix\");\n const totalTests = learnings.filter((l) => l.type === \"test_generated\").length;\n const firstAttemptSuccess = learnings.filter((l) => l.type === \"test_generated\" && l.passedFirstTime).length;\n\n return {\n totalLearnings: learnings.length,\n successfulFixes: successfulFixes.length,\n selectorFixes: selectorFixes.length,\n timingFixes: timingFixes.length,\n testsGenerated: totalTests,\n firstAttemptSuccessRate: totalTests > 0 ? Math.round((firstAttemptSuccess / totalTests) * 100) : 0,\n };\n}\n\nexport function analyzeTestStability() {\n const memory = loadProjectMemory();\n const executions = memory.executions || [];\n \n if (executions.length === 0) return { tests: [], message: \"Nenhuma execução registrada ainda.\" };\n\n const byTest = {};\n executions.forEach((ex) => {\n if (!byTest[ex.testFile]) {\n byTest[ex.testFile] = { total: 0, passed: 0, failed: 0, durations: [] };\n }\n byTest[ex.testFile].total++;\n if (ex.passed) byTest[ex.testFile].passed++;\n else byTest[ex.testFile].failed++;\n if (ex.duration) byTest[ex.testFile].durations.push(ex.duration);\n });\n\n const tests = Object.entries(byTest).map(([file, data]) => {\n const failureRate = Math.round((data.failed / data.total) * 100);\n const avgDuration = data.durations.length > 0 ? (data.durations.reduce((a, b) => a + b, 0) / data.durations.length).toFixed(1) : 0;\n const stability = failureRate === 0 ? \"stable\" : failureRate < 20 ? \"mostly_stable\" : failureRate < 50 ? \"flaky\" : \"unstable\";\n \n return {\n file,\n total: data.total,\n passed: data.passed,\n failed: data.failed,\n failureRate,\n avgDuration: parseFloat(avgDuration),\n stability,\n };\n }).sort((a, b) => b.failureRate - a.failureRate);\n\n return { tests, message: `Analisadas ${executions.length} execuções de ${tests.length} teste(s).` };\n}\n","export const FLAKY_PATTERNS = [\n { name: \"timing\", regex: /timeout|timed out|exceeded|wait|delay|slow|race condition/i, suggestion: \"Adicione wait explícito (ex: page.waitForSelector) ou aumente o timeout.\" },\n { name: \"ordering\", regex: /order|sequenc|flaky|intermittent|sometimes|random/i, suggestion: \"Issole o teste ou use beforeAll/afterAll para estado limpo. Evite dependência de ordem entre testes.\" },\n { name: \"selector\", regex: /element not found|selector|locator|cy\\.get|page\\.locator|Unable to find/i, suggestion: \"Use seletores estáveis: data-testid, role, texto acessível. Evite classes CSS dinâmicas.\" },\n { name: \"network\", regex: /ECONNREFUSED|network|fetch|axios|request failed|404|500/i, suggestion: \"Mocke APIs ou garanta que o backend esteja rodando. Use retry ou intercept.\" },\n { name: \"shared_state\", regex: /state|cleanup|beforeEach|afterEach|isolation/i, suggestion: \"Garanta beforeEach/afterEach para resetar estado. Evite variáveis globais compartilhadas.\" },\n];\n\nexport function detectFlakyPatterns(runOutput) {\n const detected = [];\n for (const p of FLAKY_PATTERNS) {\n if (p.regex.test(runOutput)) {\n detected.push({ pattern: p.name, suggestion: p.suggestion });\n }\n }\n const confidence = detected.length > 0 ? Math.min(0.5 + detected.length * 0.2, 0.95) : 0;\n return { isLikelyFlaky: confidence > 0.5, confidence, patterns: detected };\n}\n","import path from \"node:path\";\nimport fs from \"node:fs\";\n\nconst PROJECT_ROOT = process.cwd();\n\nexport function detectProjectStructure() {\n const structure = {\n hasTests: false,\n testFrameworks: [],\n testDirs: [],\n hasBackend: false,\n backendDir: null,\n hasFrontend: false,\n frontendDir: null,\n hasMobile: false,\n packageJson: null,\n pythonRequirements: null,\n };\n\n const pkgPath = path.join(PROJECT_ROOT, \"package.json\");\n if (fs.existsSync(pkgPath)) {\n structure.packageJson = JSON.parse(fs.readFileSync(pkgPath, \"utf8\"));\n const deps = {\n ...structure.packageJson.dependencies,\n ...structure.packageJson.devDependencies,\n };\n\n if (deps.cypress) {\n structure.testFrameworks.push(\"cypress\");\n structure.hasTests = true;\n }\n if (deps[\"@playwright/test\"] || deps.playwright) {\n structure.testFrameworks.push(\"playwright\");\n structure.hasTests = true;\n }\n if (deps.webdriverio || deps[\"@wdio/cli\"]) {\n structure.testFrameworks.push(\"webdriverio\");\n structure.hasTests = true;\n }\n\n if (deps.jest) {\n structure.testFrameworks.push(\"jest\");\n structure.hasTests = true;\n }\n if (deps.vitest) {\n structure.testFrameworks.push(\"vitest\");\n structure.hasTests = true;\n }\n if (deps.mocha) {\n structure.testFrameworks.push(\"mocha\");\n structure.hasTests = true;\n }\n if (deps.jasmine) {\n structure.testFrameworks.push(\"jasmine\");\n structure.hasTests = true;\n }\n\n if (deps.appium || deps[\"appium-webdriverio\"]) {\n structure.testFrameworks.push(\"appium\");\n structure.hasTests = true;\n structure.hasMobile = true;\n }\n if (deps.detox) {\n structure.testFrameworks.push(\"detox\");\n structure.hasTests = true;\n structure.hasMobile = true;\n }\n\n if (deps.supertest) {\n structure.testFrameworks.push(\"supertest\");\n structure.hasTests = true;\n }\n if (deps[\"@pactum/pactum\"] || deps.pactum) {\n structure.testFrameworks.push(\"pactum\");\n structure.hasTests = true;\n }\n\n if (deps.testcafe || deps[\"testcafe\"]) {\n structure.testFrameworks.push(\"testcafe\");\n structure.hasTests = true;\n }\n if (deps.nightwatch || deps[\"nightwatch\"]) {\n structure.testFrameworks.push(\"nightwatch\");\n structure.hasTests = true;\n }\n if (deps.puppeteer) {\n structure.testFrameworks.push(\"puppeteer\");\n structure.hasTests = true;\n }\n if (deps.codeceptjs || deps[\"codeceptjs\"]) {\n structure.testFrameworks.push(\"codeceptjs\");\n structure.hasTests = true;\n }\n\n if (deps.express || deps.fastify || deps[\"@nestjs/core\"] || deps.koa) {\n structure.hasBackend = true;\n }\n \n if (deps.next || deps.react || deps.vue || deps.svelte || deps.angular) {\n structure.hasFrontend = true;\n }\n }\n\n const requirementsPath = path.join(PROJECT_ROOT, \"requirements.txt\");\n if (fs.existsSync(requirementsPath)) {\n const requirements = fs.readFileSync(requirementsPath, \"utf8\");\n structure.pythonRequirements = requirements;\n\n if (/robotframework/i.test(requirements)) {\n structure.testFrameworks.push(\"robot\");\n structure.hasTests = true;\n }\n if (/pytest/i.test(requirements)) {\n structure.testFrameworks.push(\"pytest\");\n structure.hasTests = true;\n }\n if (/behave/i.test(requirements)) {\n structure.testFrameworks.push(\"behave\");\n structure.hasTests = true;\n }\n if (/requests/i.test(requirements)) {\n structure.hasBackend = true;\n }\n }\n\n const commonTestDirs = [\n \"tests\", \"test\", \"e2e\", \"cypress\", \"playwright\", \"__tests__\",\n \"specs\", \"spec\", \"integration\", \"unit\", \"functional\", \"robot\",\n \"features\", \"scenarios\", \"mobile\", \"api\",\n \"playwright-js\", \"puppeteer-js\", \"testcafe-js\", \"wdio-webdriver-io\",\n \"nightwatch-js\", \"codeceptjs\", \"robot-framework\", \"selenium-python\"\n ];\n for (const dir of commonTestDirs) {\n const fullPath = path.join(PROJECT_ROOT, dir);\n if (fs.existsSync(fullPath) && fs.statSync(fullPath).isDirectory()) {\n structure.testDirs.push(dir);\n }\n }\n\n const skipDirs = [\"node_modules\", \".git\", \"dist\", \"build\", \".next\", \".venv\"];\n try {\n const rootEntries = fs.readdirSync(PROJECT_ROOT, { withFileTypes: true });\n for (const e of rootEntries) {\n if (!e.isDirectory() || skipDirs.includes(e.name)) continue;\n const subPath = path.join(PROJECT_ROOT, e.name);\n if (structure.testDirs.includes(e.name)) continue;\n const hasPkg = fs.existsSync(path.join(subPath, \"package.json\"));\n const hasTests = fs.existsSync(path.join(subPath, \"tests\")) ||\n fs.existsSync(path.join(subPath, \"test\")) ||\n fs.existsSync(path.join(subPath, \"e2e\")) ||\n fs.existsSync(path.join(subPath, \"__tests__\")) ||\n fs.existsSync(path.join(subPath, \"specs\"));\n if (hasPkg || hasTests) {\n structure.testDirs.push(e.name);\n }\n }\n } catch {}\n\n for (const dir of structure.testDirs) {\n const subPkg = path.join(PROJECT_ROOT, dir, \"package.json\");\n if (!fs.existsSync(subPkg)) continue;\n try {\n const sub = JSON.parse(fs.readFileSync(subPkg, \"utf8\"));\n const subDeps = { ...(sub.dependencies || {}), ...(sub.devDependencies || {}) };\n const toAdd = [];\n if (subDeps.cypress && !structure.testFrameworks.includes(\"cypress\")) toAdd.push(\"cypress\");\n if ((subDeps[\"@playwright/test\"] || subDeps.playwright) && !structure.testFrameworks.includes(\"playwright\")) toAdd.push(\"playwright\");\n if ((subDeps.webdriverio || subDeps[\"@wdio/cli\"]) && !structure.testFrameworks.includes(\"webdriverio\")) toAdd.push(\"webdriverio\");\n if (subDeps.testcafe && !structure.testFrameworks.includes(\"testcafe\")) toAdd.push(\"testcafe\");\n if (subDeps.nightwatch && !structure.testFrameworks.includes(\"nightwatch\")) toAdd.push(\"nightwatch\");\n if (subDeps.puppeteer && !structure.testFrameworks.includes(\"puppeteer\")) toAdd.push(\"puppeteer\");\n if (subDeps.codeceptjs && !structure.testFrameworks.includes(\"codeceptjs\")) toAdd.push(\"codeceptjs\");\n if (subDeps.jest && !structure.testFrameworks.includes(\"jest\")) toAdd.push(\"jest\");\n toAdd.forEach((fw) => { structure.testFrameworks.push(fw); structure.hasTests = true; });\n } catch {}\n }\n\n for (const dir of structure.testDirs) {\n const reqPath = path.join(PROJECT_ROOT, dir, \"requirements.txt\");\n if (!fs.existsSync(reqPath)) continue;\n try {\n const req = fs.readFileSync(reqPath, \"utf8\");\n if (/robotframework/i.test(req) && !structure.testFrameworks.includes(\"robot\")) {\n structure.testFrameworks.push(\"robot\");\n structure.hasTests = true;\n }\n if (/pytest|selenium/i.test(req) && !structure.testFrameworks.includes(\"pytest\")) {\n structure.testFrameworks.push(\"pytest\");\n structure.hasTests = true;\n }\n } catch {}\n }\n\n const commonBackendDirs = [\"backend\", \"server\", \"api\", \"src\"];\n for (const dir of commonBackendDirs) {\n const fullPath = path.join(PROJECT_ROOT, dir);\n if (fs.existsSync(fullPath) && !structure.backendDir) {\n const hasServerFile = fs.existsSync(path.join(fullPath, \"server.js\")) ||\n fs.existsSync(path.join(fullPath, \"index.js\")) ||\n fs.existsSync(path.join(fullPath, \"app.js\"));\n if (hasServerFile) {\n structure.backendDir = dir;\n }\n }\n }\n\n const commonFrontendDirs = [\"frontend\", \"client\", \"web\", \"app\", \"src\"];\n for (const dir of commonFrontendDirs) {\n const fullPath = path.join(PROJECT_ROOT, dir);\n if (fs.existsSync(fullPath) && !structure.frontendDir) {\n const hasAppFile = fs.existsSync(path.join(fullPath, \"App.js\")) ||\n fs.existsSync(path.join(fullPath, \"App.tsx\")) ||\n fs.existsSync(path.join(fullPath, \"index.html\"));\n if (hasAppFile) {\n structure.frontendDir = dir;\n }\n }\n }\n\n return structure;\n}\n\nconst UNIVERSAL_TEST_PATTERNS = [\n /\\.(cy|spec|test)\\.(js|ts|jsx|tsx)$/i,\n /_test\\.(js|ts)$/i,\n /\\.robot$/i,\n /\\.feature$/i,\n /^(test_.*|.*_test)\\.py$/i,\n /\\.steps?\\.(js|ts|py)$/i,\n /\\.e2e\\.(js|ts)$/i,\n /\\.it\\.(js|ts)$/i,\n];\n\nexport function isTestFile(name) {\n return UNIVERSAL_TEST_PATTERNS.some((re) => re.test(name));\n}\n\nexport function collectTestFiles(structure, options = {}) {\n const { pattern, framework, maxContentFiles = 0 } = options;\n const results = [];\n\n for (const dir of structure.testDirs) {\n const fullPath = path.join(PROJECT_ROOT, dir);\n const walk = (p, base = \"\") => {\n if (!fs.existsSync(p)) return;\n const entries = fs.readdirSync(p, { withFileTypes: true });\n for (const e of entries) {\n const rel = base ? `${base}/${e.name}` : e.name;\n if (e.isDirectory()) {\n if (e.name === \"node_modules\" || e.name === \".git\" || e.name === \".venv\") continue;\n walk(path.join(p, e.name), rel);\n } else if (e.isFile() && isTestFile(e.name)) {\n const filePath = `${dir}/${rel}`;\n if (pattern && !filePath.toLowerCase().includes(pattern.toLowerCase())) continue;\n const inferredFw = inferFrameworkFromFile(e.name, structure, filePath);\n if (framework && framework !== \"all\" && inferredFw !== framework && !matchesFramework(inferredFw, framework)) continue;\n const entry = { path: filePath, inferredFramework: inferredFw };\n if (maxContentFiles > 0 && results.length < maxContentFiles) {\n try {\n entry.content = fs.readFileSync(path.join(PROJECT_ROOT, filePath), \"utf8\");\n } catch {}\n }\n results.push(entry);\n }\n }\n };\n walk(fullPath);\n }\n return results;\n}\n\nexport function inferFrameworkFromFile(name, structure = {}, filePath = \"\") {\n const pathLower = (filePath || \"\").toLowerCase().replace(/\\\\/g, \"/\");\n if (/[\\/]cypress[\\/\\-]/.test(pathLower)) return \"cypress\";\n if (/[\\/]playwright[\\/\\-]/.test(pathLower)) return \"playwright\";\n if (/[\\/]wdio[\\/\\-]|[\\/]webdriver[\\/\\-]/.test(pathLower)) return \"webdriverio\";\n if (/[\\/]appium[\\/\\-]/.test(pathLower)) return \"appium\";\n if (/[\\/]selenium-python[\\/]|[\\/]pytest[\\/\\-]/.test(pathLower)) return \"pytest\";\n if (/[\\/]robot[\\/\\-]/.test(pathLower)) return \"robot\";\n if (/[\\/]codecept[\\/\\-]/.test(pathLower)) return \"codeceptjs\";\n if (/[\\/]nightwatch[\\/\\-]/.test(pathLower)) return \"nightwatch\";\n if (/[\\/]testcafe[\\/\\-]/.test(pathLower)) return \"testcafe\";\n if (/[\\/]puppeteer[\\/\\-]/.test(pathLower)) return \"puppeteer\";\n if (/[\\/]behave[\\/\\-]|[\\/]features[\\/]/.test(pathLower)) return \"behave\";\n if (/\\.cy\\.(js|ts|jsx|tsx)/i.test(name)) return \"cypress\";\n if (/_test\\.(js|ts)$/i.test(name)) return \"codeceptjs\";\n if (/\\.spec\\.(js|ts|jsx|tsx)/i.test(name)) {\n if (structure?.testFrameworks?.includes(\"webdriverio\")) return \"webdriverio\";\n if (structure?.testFrameworks?.includes(\"appium\")) return \"appium\";\n return \"playwright\";\n }\n if (/\\.test\\.(js|ts|jsx|tsx)/i.test(name)) return structure?.testFrameworks?.includes(\"vitest\") ? \"vitest\" : \"jest\";\n if (/\\.robot$/i.test(name)) return \"robot\";\n if (/\\.feature$/i.test(name)) return \"behave\";\n if (/\\.(py|steps?\\.py)$/i.test(name) || /^(test_.*|.*_test)\\.py$/i.test(name)) return \"pytest\";\n if (/\\.e2e\\.(js|ts)/i.test(name)) return \"playwright\";\n return \"unknown\";\n}\n\nexport function matchesFramework(inferred, requested) {\n const aliases = { spec: [\"playwright\", \"webdriverio\", \"appium\"] };\n if (inferred === requested) return true;\n return aliases[inferred]?.includes(requested);\n}\n\nexport function getFrameworkCwd(structure, preferredDirs) {\n for (const dir of preferredDirs) {\n if (structure.testDirs.includes(dir)) {\n return path.join(PROJECT_ROOT, dir);\n }\n }\n const fallback = structure.testDirs[0];\n return fallback ? path.join(PROJECT_ROOT, fallback) : PROJECT_ROOT;\n}\n\nexport function analyzeCodeRisks() {\n const structure = detectProjectStructure();\n const risks = [];\n\n const srcDirs = [\"src\", \"app\", \"lib\", \"components\", \"pages\", \"api\", \"services\", \"controllers\"];\n const foundDirs = srcDirs.filter((dir) => fs.existsSync(path.join(PROJECT_ROOT, dir)));\n\n foundDirs.forEach((dir) => {\n const fullPath = path.join(PROJECT_ROOT, dir);\n const files = fs.readdirSync(fullPath, { recursive: true }).filter((f) => /\\.(js|ts|jsx|tsx|py)$/.test(f));\n \n const hasTests = structure.testDirs.some((testDir) => {\n const testPath = path.join(PROJECT_ROOT, testDir);\n if (!fs.existsSync(testPath)) return false;\n const testFiles = fs.readdirSync(testPath, { recursive: true });\n return testFiles.some((tf) => tf.includes(dir) || tf.toLowerCase().includes(dir.toLowerCase()));\n });\n\n if (!hasTests && files.length > 0) {\n risks.push({\n area: dir,\n files: files.length,\n risk: files.length > 20 ? \"high\" : files.length > 10 ? \"medium\" : \"low\",\n reason: \"Sem testes detectados para esta área\",\n });\n }\n });\n\n return risks.sort((a, b) => {\n const riskOrder = { high: 3, medium: 2, low: 1 };\n return riskOrder[b.risk] - riskOrder[a.risk];\n });\n}\n","import path from \"node:path\";\nimport fs from \"node:fs\";\n\nconst PROJECT_ROOT = process.cwd();\nconst METRICS_FILE = path.join(PROJECT_ROOT, \".qa-lab-metrics.json\");\n\nexport function parseTestRunResult(runOutput, exitCode) {\n let passed = 0;\n let failed = 0;\n const jestMatch = runOutput.match(/Tests:\\s+(\\d+)\\s+passed(?:,\\s*(\\d+)\\s+failed)?/);\n if (jestMatch) {\n passed = parseInt(jestMatch[1], 10);\n failed = jestMatch[2] ? parseInt(jestMatch[2], 10) : 0;\n }\n return { passed, failed, success: exitCode === 0 };\n}\n\nexport function recordMetricEvent(event) {\n try {\n let data = {};\n if (fs.existsSync(METRICS_FILE)) {\n const raw = fs.readFileSync(METRICS_FILE, \"utf8\");\n try {\n data = JSON.parse(raw);\n } catch {}\n }\n data.events = data.events || [];\n data.events.push({ ...event, timestamp: event.timestamp || new Date().toISOString() });\n data.lastUpdated = new Date().toISOString();\n if (data.events.length > 500) data.events = data.events.slice(-400);\n fs.writeFileSync(METRICS_FILE, JSON.stringify(data, null, 2), \"utf8\");\n } catch {}\n}\n\nexport function extractFailuresFromOutput(runOutput) {\n const failures = [];\n const lines = runOutput.split(\"\\n\");\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n if (/fail|error|assertion|timeout|element not found|selector/i.test(line)) {\n failures.push({\n test: lines[Math.max(0, i - 1)]?.trim() || \"unknown\",\n message: line.trim().slice(0, 500),\n });\n }\n }\n return failures.slice(0, 20);\n}\n\nexport function generateFailureExplanation(testCode, runOutput, memory = {}) {\n const lines = [];\n lines.push(\"# Análise de Falha\\n\");\n lines.push(\"## Código do Teste\");\n lines.push(\"```\");\n lines.push(testCode.slice(0, 2000));\n lines.push(\"```\\n\");\n lines.push(\"## Output da Execução\");\n lines.push(\"```\");\n lines.push(runOutput.slice(0, 2000));\n lines.push(\"```\\n\");\n \n if (memory.learnings && memory.learnings.length > 0) {\n lines.push(\"## Aprendizados Anteriores (últimos 5)\");\n memory.learnings.slice(-5).forEach((l) => {\n lines.push(`- **${l.type}**: ${l.description || \"N/A\"}`);\n });\n lines.push(\"\");\n }\n \n lines.push(\"## Sua Tarefa\");\n lines.push(\"1. Identifique a causa raiz da falha\");\n lines.push(\"2. Sugira uma correção específica\");\n lines.push(\"3. Explique por que essa correção deve funcionar\");\n \n return lines.join(\"\\n\");\n}\n","import path from \"node:path\";\nimport fs from \"node:fs\";\nimport { spawn } from \"node:child_process\";\nimport { detectProjectStructure, getFrameworkCwd } from \"../core/project-structure.js\";\nimport { loadProjectMemory, saveProjectMemory, getMemoryStats, analyzeTestStability } from \"../core/memory.js\";\nimport { resolveLLMProvider } from \"../core/llm-router.js\";\nimport { detectFlakyPatterns } from \"../core/flaky-detection.js\";\nimport { analyzeCodeRisks } from \"../core/project-structure.js\";\n\nconst PROJECT_ROOT = process.cwd();\n\nconst QA_AGENTS = {\n autonomous: { desc: \"Modo autônomo: gera, testa, corrige e aprende\", tools: [\"qa_auto\"] },\n detection: { desc: \"Detecta estrutura, frameworks, testes\", tools: [\"detect_project\", \"read_project\", \"list_test_files\"] },\n execution: { desc: \"Executa testes, coverage, watch\", tools: [\"run_tests\", \"watch_tests\", \"get_test_coverage\"] },\n generation: { desc: \"Gera e escreve testes\", tools: [\"generate_tests\", \"write_test\", \"create_test_template\"] },\n analysis: { desc: \"Analisa falhas, sugere correções\", tools: [\"analyze_failures\", \"por_que_falhou\", \"suggest_fix\", \"suggest_selector_fix\", \"analyze_file_methods\"] },\n browser: { desc: \"Browser mode: screenshots, network, console\", tools: [\"web_eval_browser\"] },\n reporting: { desc: \"Relatórios e métricas\", tools: [\"create_bug_report\", \"get_business_metrics\"] },\n intelligence: { desc: \"Análise preditiva e insights\", tools: [\"qa_full_analysis\", \"qa_health_check\", \"qa_suggest_next_test\", \"qa_predict_flaky\", \"qa_compare_with_industry\", \"qa_time_travel\"] },\n learning: { desc: \"Sistema de aprendizado\", tools: [\"qa_learning_stats\"] },\n maintenance: { desc: \"Linter, deps, análise de código\", tools: [\"run_linter\", \"install_dependencies\"] },\n};\n\nfunction getExtensionAndBaseDir(fw, structure) {\n const extMap = { cypress: \".cy.js\", playwright: \".spec.js\", jest: \".test.js\", vitest: \".test.js\", robot: \".robot\", pytest: \".py\" };\n const ext = extMap[fw] || \".spec.js\";\n const baseDir = structure.testDirs[0] ? path.join(PROJECT_ROOT, structure.testDirs[0]) : path.join(PROJECT_ROOT, \"tests\");\n return { ext, baseDir };\n}\n\nexport async function handleCLI() {\n const cmd = process.argv[2];\n\n if (cmd === \"--help\" || cmd === \"-h\") {\n console.log(`\nmcp-lab-agent - Executor + Consultor Inteligente de QA\n\nUSO:\n mcp-lab-agent [comando] # Sem comando: inicia servidor MCP\n mcp-lab-agent --help # Mostra esta ajuda\n\nCOMANDOS CLI:\n analyze [NOVO] Análise completa: executa, analisa estabilidade, prevê riscos e recomenda ações\n auto <descrição> [--max-retries N] Modo autônomo: gera teste, roda, corrige e aprende (default: 3 tentativas)\n stats Mostra estatísticas de aprendizado (taxa de sucesso, correções, etc.)\n detect [--json] Detecta frameworks e estrutura\n route <tarefa> Sugere qual ferramenta usar\n list Lista ferramentas MCP disponíveis\n\nEXEMPLOS:\n mcp-lab-agent analyze # Análise completa + recomendações\n mcp-lab-agent auto \"login flow\" --max-retries 5\n mcp-lab-agent stats\n mcp-lab-agent detect --json\n\nINTEGRAÇÃO MCP (Cursor/Cline/Windsurf):\n Adicione ao ~/.cursor/mcp.json:\n {\n \"mcpServers\": {\n \"qa-lab-agent\": {\n \"command\": \"npx\",\n \"args\": [\"-y\", \"mcp-lab-agent\"],\n \"cwd\": \"\\${workspaceFolder}\"\n }\n }\n }\n\nAMBIENTES CORPORATIVOS (APIs bloqueadas):\n Use Ollama (100% offline):\n brew install ollama\n ollama pull llama3.1:8b\n ollama serve\n mcp-lab-agent analyze # Funciona sem internet!\n`);\n return true;\n }\n\n if (cmd === \"detect\") {\n const structure = detectProjectStructure();\n const jsonOnly = process.argv.includes(\"--json\");\n if (jsonOnly) {\n console.log(JSON.stringify(structure, null, 2));\n } else {\n const lines = [\n \"\",\n \"mcp-lab-agent · detecção\",\n \"─\".repeat(40),\n `Frameworks: ${structure.testFrameworks.length ? structure.testFrameworks.join(\", \") : \"nenhum\"}`,\n `Pastas: ${structure.testDirs.length ? structure.testDirs.join(\", \") : \"nenhuma\"}`,\n `Backend: ${structure.backendDir || \"—\"}`,\n `Frontend: ${structure.frontendDir || \"—\"}`,\n `Mobile: ${structure.hasMobile ? \"sim\" : \"—\"}`,\n \"─\".repeat(40),\n \"(use --json para saída completa)\",\n \"\",\n ];\n console.log(lines.join(\"\\n\"));\n }\n return true;\n }\n\n if (cmd === \"list\") {\n const agents = Object.entries(QA_AGENTS).map(([k, v]) => ` ${k}: ${v.tools.join(\", \")}`);\n console.log(\"Agentes e ferramentas:\\n\" + agents.join(\"\\n\"));\n return true;\n }\n\n if (cmd === \"route\" && process.argv[3]) {\n const task = process.argv.slice(3).join(\" \");\n const t = task.toLowerCase();\n let agent = \"detection\";\n if (/autônomo|auto|completo|loop|aprende|corrige automaticamente/i.test(t)) agent = \"autonomous\";\n else if (/estatística|métrica de aprendizado|taxa de sucesso|learning|stats/i.test(t)) agent = \"learning\";\n else if (/rodar|executar|run|test|coverage|watch/i.test(t)) agent = \"execution\";\n else if (/gerar|criar|escrever|generate|write|template/i.test(t)) agent = \"generation\";\n else if (/analisar|por que|falhou|sugerir|fix|selector/i.test(t)) agent = \"analysis\";\n else if (/browser|navegador|screenshot|network|console/i.test(t)) agent = \"browser\";\n else if (/relatório|métrica|bug report/i.test(t)) agent = \"reporting\";\n else if (/linter|dependência|instalar|analisar método/i.test(t)) agent = \"maintenance\";\n const a = QA_AGENTS[agent] || QA_AGENTS.detection;\n console.log(JSON.stringify({ suggestedAgent: agent, suggestedTools: a.tools, description: a.desc }, null, 2));\n return true;\n }\n\n if (cmd === \"auto\") {\n await handleAutoCommand();\n return true;\n }\n\n if (cmd === \"stats\") {\n const stats = getMemoryStats();\n console.log(`\n📊 Estatísticas de Aprendizado\n\nTotal de aprendizados: ${stats.totalLearnings}\nCorreções bem-sucedidas: ${stats.successfulFixes}\nCorreções de seletores: ${stats.selectorFixes}\nCorreções de timing: ${stats.timingFixes}\nTestes gerados: ${stats.testsGenerated}\nTaxa de sucesso na 1ª tentativa: ${stats.firstAttemptSuccessRate}%\n\n${stats.totalLearnings === 0 ? \"⚠️ Ainda não há aprendizados. Use 'mcp-lab-agent auto <descrição>' para gerar testes e aprender com erros.\" : \"\"}\n`);\n return true;\n }\n\n if (cmd === \"analyze\") {\n await handleAnalyzeCommand();\n return true;\n }\n\n return false;\n}\n\nasync function handleAutoCommand() {\n const request = process.argv.slice(3).join(\" \");\n if (!request) {\n console.error(\"❌ Uso: mcp-lab-agent auto <descrição do teste> [--max-retries N]\");\n process.exit(1);\n }\n const maxRetriesIdx = process.argv.indexOf(\"--max-retries\");\n const maxRetries = maxRetriesIdx !== -1 && process.argv[maxRetriesIdx + 1] ? parseInt(process.argv[maxRetriesIdx + 1], 10) : 3;\n const cleanRequest = request.replace(/--max-retries\\s+\\d+/g, \"\").trim();\n\n console.log(`\\n🤖 Modo autônomo iniciado: \"${cleanRequest}\"\\n`);\n const structure = detectProjectStructure();\n const fw = structure.testFrameworks[0];\n if (!fw) {\n console.error(\"❌ Nenhum framework detectado.\");\n process.exit(1);\n }\n\n const llm = resolveLLMProvider(\"simple\");\n if (!llm.apiKey) {\n console.error(\"❌ Configure GROQ_API_KEY, GEMINI_API_KEY ou OPENAI_API_KEY no .env\");\n process.exit(1);\n }\n\n const memory = loadProjectMemory();\n const contextLines = [\n `Frameworks: ${structure.testFrameworks.join(\", \")}`,\n `Pastas: ${structure.testDirs.join(\", \")}`,\n memory.flows?.length ? `Fluxos: ${memory.flows.map((f) => f.name || f.id).join(\", \")}` : \"\",\n ].filter(Boolean).join(\"\\n\");\n\n let testFilePath = null;\n let testContent = null;\n\n for (let attempt = 1; attempt <= maxRetries; attempt++) {\n console.log(`\\n[Tentativa ${attempt}/${maxRetries}] Gerando teste...`);\n\n const { provider, apiKey, baseUrl, model } = llm;\n const memoryHints = memory.learnings?.filter((l) => l.success).slice(-10).map((l) => l.fix).join(\"\\n\") || \"\";\n const systemPrompt = `Você é um engenheiro de QA especializado em ${fw}. Gere APENAS o código do spec, sem explicações.\n${memoryHints ? `\\nAprendizados anteriores (use como referência):\\n${memoryHints.slice(0, 1000)}` : \"\"}\nRetorne SOMENTE o código, sem markdown.`;\n\n const userPrompt = `Contexto:\\n${contextLines}\\n\\nGere teste para: ${cleanRequest}\\nFramework: ${fw}`;\n\n try {\n let specContent = \"\";\n if (provider === \"gemini\") {\n const url = `${baseUrl}/models/${model}:generateContent?key=${apiKey}`;\n const res = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n contents: [{ parts: [{ text: systemPrompt + \"\\n\\n\" + userPrompt }] }],\n generationConfig: { temperature: 0.3, maxOutputTokens: 4096 },\n }),\n });\n const data = await res.json();\n specContent = data.candidates?.[0]?.content?.parts?.[0]?.text || \"\";\n } else {\n const res = await fetch(`${baseUrl}/chat/completions`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\", Authorization: `Bearer ${apiKey}` },\n body: JSON.stringify({\n model,\n messages: [{ role: \"system\", content: systemPrompt }, { role: \"user\", content: userPrompt }],\n temperature: 0.3,\n max_tokens: 4096,\n }),\n });\n const data = await res.json();\n specContent = data.choices?.[0]?.message?.content || \"\";\n }\n specContent = specContent.replace(/^```(?:js|javascript|typescript)?\\n?/i, \"\").replace(/\\n?```\\s*$/i, \"\").trim();\n testContent = specContent;\n\n if (!testFilePath) {\n const fileName = cleanRequest.toLowerCase().replace(/\\s+/g, \"-\").replace(/[^a-z0-9-]/g, \"\").slice(0, 30);\n const { ext, baseDir } = getExtensionAndBaseDir(fw, structure);\n const safeName = fileName + ext;\n testFilePath = path.join(baseDir, safeName);\n if (!fs.existsSync(baseDir)) fs.mkdirSync(baseDir, { recursive: true });\n }\n fs.writeFileSync(testFilePath, testContent, \"utf8\");\n console.log(`✅ Teste gravado: ${testFilePath}`);\n\n console.log(`\\n[Tentativa ${attempt}/${maxRetries}] Executando teste...`);\n const runResult = await new Promise((resolve) => {\n const child = spawn(\"npx\", [fw === \"cypress\" ? \"cypress\" : fw === \"playwright\" ? \"playwright\" : fw, fw === \"cypress\" ? \"run\" : fw === \"playwright\" ? \"test\" : \"run\", testFilePath], {\n cwd: PROJECT_ROOT,\n stdio: [\"inherit\", \"pipe\", \"pipe\"],\n shell: process.platform === \"win32\",\n });\n let stdout = \"\", stderr = \"\";\n if (child.stdout) child.stdout.on(\"data\", (d) => { stdout += d.toString(); });\n if (child.stderr) child.stderr.on(\"data\", (d) => { stderr += d.toString(); });\n child.on(\"close\", (code) => resolve({ code, output: [stdout, stderr].filter(Boolean).join(\"\\n\") }));\n });\n\n if (runResult.code === 0) {\n console.log(`\\n✅ Teste passou na tentativa ${attempt}!`);\n saveProjectMemory({\n learnings: [{ type: \"test_generated\", request: cleanRequest, framework: fw, success: true, passedFirstTime: attempt === 1, attempts: attempt, timestamp: new Date().toISOString() }],\n });\n console.log(`\\n📊 Aprendizado salvo. Use \"mcp-lab-agent stats\" para ver métricas.\\n`);\n process.exit(0);\n }\n\n console.log(`\\n❌ Teste falhou (exit ${runResult.code})`);\n console.log(`\\nSaída:\\n${runResult.output.slice(0, 800)}\\n`);\n\n if (attempt >= maxRetries) {\n console.log(`\\n❌ Limite de tentativas atingido (${maxRetries}).\\n`);\n saveProjectMemory({\n learnings: [{ type: \"test_generated\", request: cleanRequest, framework: fw, success: false, attempts: attempt, timestamp: new Date().toISOString() }],\n });\n process.exit(1);\n }\n\n console.log(`\\n[Tentativa ${attempt}/${maxRetries}] Analisando falha...`);\n const flakyAnalysis = detectFlakyPatterns(runResult.output);\n if (flakyAnalysis.isLikelyFlaky) {\n console.log(`⚠️ Flaky detectado (${flakyAnalysis.confidence.toFixed(2)}): ${flakyAnalysis.patterns.map((p) => p.pattern).join(\", \")}`);\n }\n\n console.log(`\\n[Tentativa ${attempt}/${maxRetries}] Aplicando correção (simulada)...`);\n console.log(`⚠️ Correção automática ainda não implementada nesta versão CLI. Tentando novamente...`);\n } catch (err) {\n console.error(`\\n❌ Erro na tentativa ${attempt}: ${err.message}\\n`);\n process.exit(1);\n }\n }\n\n console.log(`\\n❌ Falhou após ${maxRetries} tentativa(s).\\n`);\n process.exit(1);\n}\n\nasync function handleAnalyzeCommand() {\n console.log(\"\\n🤖 Análise completa iniciada...\\n\");\n \n const structure = detectProjectStructure();\n console.log(\"[1/4] 🔍 Detectando estrutura...\");\n console.log(`✅ ${structure.testFrameworks.join(\", \")} detectado(s)\\n`);\n\n const testFiles = structure.testDirs.flatMap((dir) => {\n const fullPath = path.join(PROJECT_ROOT, dir);\n if (!fs.existsSync(fullPath)) return [];\n return fs.readdirSync(fullPath, { recursive: true })\n .filter((f) => /\\.(spec|test|cy)\\.(js|ts|jsx|tsx|py)$/.test(f));\n });\n console.log(`✅ ${testFiles.length} teste(s) encontrado(s)\\n`);\n\n console.log(\"[2/4] 🧠 Analisando estabilidade...\");\n const stabilityAnalysis = analyzeTestStability();\n const unstableTests = stabilityAnalysis.tests.filter((t) => t.failureRate > 20);\n \n if (unstableTests.length > 0) {\n console.log(`⚠️ ${unstableTests.length} teste(s) instável(is):`);\n unstableTests.slice(0, 3).forEach((t) => {\n console.log(` - ${t.file}: ${t.failureRate}% de falha (${t.failed}/${t.total} execuções)`);\n });\n } else {\n console.log(\"✅ Todos os testes são estáveis\");\n }\n console.log();\n\n console.log(\"[3/4] 🔮 Analisando riscos por área...\");\n const codeRisks = analyzeCodeRisks();\n const highRisks = codeRisks.filter((r) => r.risk === \"high\");\n \n if (highRisks.length > 0) {\n console.log(`🔴 ${highRisks.length} área(s) de RISCO ALTO:`);\n highRisks.slice(0, 3).forEach((r) => {\n console.log(` - ${r.area}/: ${r.files} arquivo(s) sem testes`);\n });\n } else {\n console.log(\"✅ Todas as áreas principais têm cobertura\");\n }\n console.log();\n\n console.log(\"[4/4] 💡 Gerando recomendações...\\n\");\n\n const actions = [];\n unstableTests.forEach((t) => {\n actions.push({ priority: \"🔴 URGENTE\", action: `Refatore ${t.file} (falha ${t.failureRate}%)`, command: `mcp-lab-agent auto \"corrigir ${t.file}\"` });\n });\n highRisks.forEach((r) => {\n actions.push({ priority: \"🔴 URGENTE\", action: `Adicione testes para ${r.area}/`, command: `mcp-lab-agent auto \"testes para ${r.area}\"` });\n });\n\n let score = 100;\n score -= unstableTests.length * 10;\n score -= highRisks.length * 15;\n score = Math.max(0, score);\n\n const emoji = score >= 80 ? \"🚀\" : score >= 60 ? \"✅\" : \"⚠️\";\n\n console.log(\"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n\");\n console.log(`${emoji} RELATÓRIO COMPLETO\\n`);\n console.log(`Nota: ${score}/100\\n`);\n console.log(\"AÇÕES RECOMENDADAS:\\n\");\n \n actions.slice(0, 5).forEach((a, i) => {\n console.log(`${i + 1}. ${a.priority}: ${a.action}`);\n console.log(` → ${a.command}\\n`);\n });\n\n if (actions.length === 0) {\n console.log(\"✅ Projeto em excelente estado!\\n\");\n }\n\n console.log(\"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n\");\n}\n"],"mappings":"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","names":["spawn","path","fs","model","FLOWS_CONFIG_FILE","path","fs","PROJECT_ROOT","path","fs","PROJECT_ROOT","path","fs","PROJECT_ROOT","path","fs","PROJECT_ROOT","path","METRICS_FILE","fs","QA_AGENTS","spawn","getExtensionAndBaseDir","res","data"]}
|