@slack/bolt 4.0.0-nextGen.6 → 4.0.0-nextGen.8

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 CHANGED
@@ -76,7 +76,7 @@ Most of the app's functionality will be inside listener functions (the `fn` para
76
76
 
77
77
  | Argument | Description |
78
78
  | :---: | :--- |
79
- | `payload` | Contents of the incoming event. The payload structure depends on the listener. For example, for an Events API event, `payload` will be the [event type structure](https://api.slack.com/events-api#event_type_structure). For a block action, it will be the action from within the `actions` array. The `payload` object is also accessible via the alias corresponding to the listener (`message`, `event`, `action`, `shortcut`, `view`, `command`, or `options`). For example, if you were building a `message()` listener, you could use the `payload` and `message` arguments interchangably. **An easy way to understand what's in a payload is to log it**, or [use TypeScript](https://slack.dev/bolt-js/tutorial/using-typescript). |
79
+ | `payload` | Contents of the incoming event. The payload structure depends on the listener. For example, for an Events API event, `payload` will be the [event type structure](https://api.slack.com/events-api#event_type_structure). For a block action, it will be the action from within the `actions` array. The `payload` object is also accessible via the alias corresponding to the listener (`message`, `event`, `action`, `shortcut`, `view`, `command`, or `options`). For example, if you were building a `message()` listener, you could use the `payload` and `message` arguments interchangeably. **An easy way to understand what's in a payload is to log it**, or [use TypeScript](https://slack.dev/bolt-js/tutorial/using-typescript). |
80
80
  | `say` | Function to send a message to the channel associated with the incoming event. This argument is only available when the listener is triggered for events that contain a `channel_id` (the most common being `message` events). `say` accepts simple strings (for plain-text messages) and objects (for messages containing blocks). `say` returns a promise that will resolve with a [`chat.postMessage` response](https://api.slack.com/methods/chat.postMessage).
81
81
  | `ack` | Function that **must** be called to acknowledge that an incoming event was received by your app. `ack` exists for all actions, shortcuts, view, slash command and options requests. `ack` returns a promise that resolves when complete. Read more in [Acknowledging events](#acknowledging-events)
82
82
  | `client` | Web API client that uses the token associated with that event. For single-workspace installations, the token is provided to the constructor. For multi-workspace installations, the token is returned by the `authorize` function.
package/dist/App.js CHANGED
@@ -836,18 +836,28 @@ function buildSource(type, channelId, body, isEnterpriseInstall) {
836
836
  const bodyAsSubscriptionInteraction = body;
837
837
  return bodyAsSubscriptionInteraction.team.id;
838
838
  }
839
- if (type === helpers_1.IncomingEventType.Action ||
840
- type === helpers_1.IncomingEventType.Options ||
841
- type === helpers_1.IncomingEventType.ViewAction ||
842
- type === helpers_1.IncomingEventType.Shortcut) {
843
- const bodyAsActionOrOptionsOrViewActionOrShortcut = body;
839
+ const parseTeamId = (bodyAs) => {
844
840
  // When the app is installed using org-wide deployment, team property will be null
845
- if (typeof bodyAsActionOrOptionsOrViewActionOrShortcut.team !== 'undefined' &&
846
- bodyAsActionOrOptionsOrViewActionOrShortcut.team !== null) {
847
- return bodyAsActionOrOptionsOrViewActionOrShortcut.team.id;
841
+ if (typeof bodyAs.team !== 'undefined' && bodyAs.team !== null) {
842
+ return bodyAs.team.id;
848
843
  }
849
844
  // This is the only place where this function might return undefined
850
- return bodyAsActionOrOptionsOrViewActionOrShortcut.user.team_id;
845
+ return bodyAs.user.team_id;
846
+ };
847
+ if (type === helpers_1.IncomingEventType.ViewAction) {
848
+ // view_submission/closed payloads can have `view.app_installed_team_id` when a modal view that was opened
849
+ // in a different workspace via some operations inside a Slack Connect channel.
850
+ const bodyAsView = body;
851
+ if (bodyAsView.view.app_installed_team_id) {
852
+ return bodyAsView.view.app_installed_team_id;
853
+ }
854
+ return parseTeamId(bodyAsView);
855
+ }
856
+ if (type === helpers_1.IncomingEventType.Action ||
857
+ type === helpers_1.IncomingEventType.Options ||
858
+ type === helpers_1.IncomingEventType.Shortcut) {
859
+ const bodyAsActionOrOptionsOrShortcut = body;
860
+ return parseTeamId(bodyAsActionOrOptionsOrShortcut);
851
861
  }
852
862
  return (0, helpers_1.assertNever)(type);
853
863
  })();
package/dist/App.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":";;;;;;AAEA,gDAAwB;AACxB,4CAAuG;AACvG,0CAAgE;AAChE,kDAA4D;AAC5D,wFAAgE;AAChE,4EAA6E;AAC7E,kDAY8B;AAC9B,mEAAqD;AACrD,6DAA2F;AAE3F,iDAAmE;AAwCnE,uCAAmF;AACnF,qCAA0I;AAC1I,mDAA2E;AAE3E,wCAAwC;AACxC,iDAAkD,CAAC,4DAA4D;AAC/G,qFAAqF;AACrF,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,yDAAyD;AACzG,+BAA+B;AAC/B,6BAA6B;AAC7B,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AACvD,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AAEvD,+BAA+B;AAC/B,oCAAoC;AAEpC,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;AAE1D,+BAA+B;AAC/B,sBAAsB;AAEtB,MAAM,UAAU,GAAG,gGAAgG;IACjH,kEAAkE,CAAC;AAqCrE,wCAAiD;AAAxC,kGAAA,QAAQ,OAAA;AA6EjB,MAAM,aAAa;IAAnB;QACU,SAAI,GAAmC,EAAE,CAAC;IAWpD,CAAC;IATQ,WAAW,CAAC,KAAa,EAAE,aAA+B;QAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;YACvC,OAAO,YAAY,CAAC;SACrB;QACD,MAAM,MAAM,GAAG,IAAI,mBAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED;;GAEG;AACH,MAAqB,GAAG;IAsDtB,YAAmB,EACjB,aAAa,GAAG,SAAS,EACzB,SAAS,GAAG,SAAS,EACrB,IAAI,GAAG,SAAS,EAChB,YAAY,GAAG,SAAS,EACxB,KAAK,GAAG,SAAS,EACjB,SAAS,GAAG,SAAS,EACrB,QAAQ,GAAG,SAAS,EACpB,UAAU,GAAG,SAAS,EACtB,KAAK,GAAG,SAAS,EACjB,QAAQ,GAAG,SAAS,EACpB,KAAK,GAAG,SAAS,EACjB,SAAS,GAAG,SAAS,EACrB,SAAS,GAAG,SAAS,EACrB,MAAM,GAAG,SAAS,EAClB,QAAQ,GAAG,SAAS,EACpB,UAAU,GAAG,IAAI,EACjB,aAAa,GAAG,SAAS,EACzB,qBAAqB,GAAG,KAAK,EAC7B,qBAAqB,GAAG,IAAI,EAC5B,QAAQ,GAAG,SAAS,EACpB,YAAY,GAAG,SAAS,EACxB,WAAW,GAAG,SAAS,EACvB,WAAW,GAAG,SAAS,EACvB,iBAAiB,GAAG,SAAS,EAC7B,MAAM,GAAG,SAAS,EAClB,gBAAgB,GAAG,SAAS,EAC5B,UAAU,GAAG,SAAS,EACtB,aAAa,GAAG,KAAK,EACrB,wBAAwB,GAAG,IAAI,EAC/B,oBAAoB,GAAG,KAAK,EAC5B,mBAAmB,GAAG,KAAK,MACb,EAAE;QAhFlB,qFAAqF;QAC7E,YAAO,GAAoD,EAAE,CAAC;QAgFpE,2EAA2E;QAC3E,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,aAAa,IAAI,mBAAmB,EAAE;YACxC,kEAAkE;YAClE,IAAI,CAAC,QAAQ,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,iBAAQ,CAAC,KAAK,CAAC;YAC3C,iDAAiD;YACjD,IAAI,CAAC,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAI,CAAC;SACtC;aAAM;YACL,sEAAsE;YACtE,IAAI,CAAC,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,KAAK,CAAC;YACtC,+CAA+C;YAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,iBAAQ,CAAC,IAAI,CAAC;SAC3C;QAED,uEAAuE;QACvE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,qCAAqC;YACrC,MAAM,aAAa,GAAG,IAAI,sBAAa,EAAE,CAAC;YAC1C,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;QACD,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE;YACpF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACrC;QACD,sFAAsF;QACtF,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAoB,CAAC;QACxE,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QAEjD,yEAAyE;QACzE,IAAI,CAAC,aAAa,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,EAAE;YACjE,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;SAClC;QACD,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,SAAS,EAAE;YACnE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,SAAS,CAAC;SACpC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE;YAClD,0BAA0B;YAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;SACxC;aAAM;YACL,uDAAuD;YACvD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SACzC;QACD,6CAA6C;QAC7C,yFAAyF;QACzF,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAS,CAAC,mBAAmB,IAAI,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE9E,IAAI,CAAC,KAAK,GAAG,eAAK,CAAC,MAAM,CAAC;YACxB,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,KAAK;YACjB,4CAA4C;YAC5C,8GAA8G;YAC9G,yGAAyG;YACzG,wFAAwF;YACxF,KAAK,EAAE,KAAK;YACZ,GAAG,SAAS;SACb,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,qEAAqE;QACrE,IAAI,CAAC,gBAAgB,GAAG;YACtB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,GAAG,gBAAgB;SACpB,CAAC;QACF,IAAI,UAAU,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,SAAS,EAAE;YAChF,wFAAwF;YACxF,mFAAmF;YACnF,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC;SACnC;QAED,IACE,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,gBAAgB;YACrB,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,KAAK,WAAW;gBAC3D,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,KAAK,WAAW;oBAC3D,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,EAC1E;YACA,gFAAgF;YAChF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG;gBACtC,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;oBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACzB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;oBACpD,GAAG,CAAC,GAAG,CAAC,0CAA0C,KAAK,sBAAsB,CAAC,CAAC;gBACjF,CAAC;aACF,CAAC;SACH;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAC/B,QAAQ,EACR,aAAa,EACb,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,mBAAmB,IAAI,QAAQ,EAC/B,MAAM,CACP,CAAC;QAEF,0EAA0E;QAC1E,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,gBAA2C,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,gBAAgB,GAAG;gBACjB,KAAK;gBACL,SAAS;gBACT,QAAQ,EAAE,KAAK;aAChB,CAAC;SACH;QACD,IAAI,mBAAmB,KAAK,SAAS,EAAE;YACrC,gBAAgB,GAAG;gBACjB,KAAK;gBACL,SAAS;gBACT,QAAQ,EAAE,mBAAmB;aAC9B,CAAC;SACH;QACD,IAAI,mBAAmB,EAAE;YACvB,uBAAuB;YACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACzC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,kDAAkD;SACnD;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAC9C,mBAAmB,IAAI,KAAK,EAC5B,SAAS,EACT,gBAAgB,CACjB,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;QAED,6GAA6G;QAC7G,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,IAAA,oBAAoB,GAAE,CAAC,CAAC;SAClC;QAED,2CAA2C;QAC3C,IAAI,UAAU,KAAK,KAAK,EAAE;YACxB,gEAAgE;YAChE,MAAM,KAAK,GAAsB,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,gCAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAC3F,IAAI,CAAC,GAAG,CAAC,IAAA,wCAAmB,EAAC,KAAK,CAAC,CAAC,CAAC;SACtC;QAED,2EAA2E;QAC3E,6DAA6D;QAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI;YACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,6BAA6B,CAC7D,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY,CAClB,CAAC;YACF,IAAI,oBAAoB,KAAK,SAAS,EAAE;gBACtC,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC;gBACtC,OAAO;aACR;YACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;gBACtE,IAAI,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAC1C,IAAI,IAAI,CAAC,wBAAwB,EAAE;oBACjC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC7E,IAAI,cAAc,CAAC,EAAE,EAAE;wBACrB,aAAa,GAAG;4BACd,SAAS,EAAE,cAAc,CAAC,OAAiB;4BAC3C,KAAK,EAAE,cAAc,CAAC,MAAgB;4BACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ;yBACxB,CAAC;qBACH;iBACF;gBACD,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAClC,IAAI,CAAC,MAAM,EACX,aAAa,EACb,IAAI,CAAC,wBAAwB,CAC9B,CAAC;gBACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mHAAmH,CAAC,CAAC;gBACvI,IAAA,qBAAW,GAAE,CAAC;aACf;SACF;QAAC,OAAO,CAAC,EAAE;YACV,sDAAsD;YACtD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,MAAM,CAAC,CAAC;SACT;IACH,CAAC;IAED;;;;OAIG;IACI,GAAG,CACR,CAA4E;QAE5E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAkC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CACV,GAAG,IAAqE;QAExE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,IAAI,+BAAsB,CAC9B,4FAA4F,CAC7F,CAAC;SACH;QACD,0EAA0E;QAC1E,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAsC,CAAC;IAC3E,CAAC;IAED,8DAA8D;IACvD,IAAI,CAAC,GAAG,IAAW;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACI,IAAI,CAAC,YAA0B;QACpC,MAAM,CAAC,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,OAA4B;QAC9C;;;aAGK;QACL,MAAM,SAAS,GAAG,WAAW,CAAC;QAC9B,MAAM,CAAC,GAAG,IAAI,2BAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAmBM,KAAK,CAIV,kBAA6B,EAC7B,GAAG,SAAqG;QAExG,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE;YAC1C,MAAM,IAAI,GAAG,kBAA4B,CAAC;YAC1C,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;SAChD;aAAM,IAAI,kBAAkB,YAAY,MAAM,EAAE;YAC/C,MAAM,IAAI,GAAI,kBAA6B,CAAC,MAAM,CAAC;YACnD,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SAClD;QACD,IAAI,gBAAgB,EAAE;YACpB,MAAM,IAAI,+BAAsB,CAC9B,mCAAmC,kBAAkB,IAAI;gBACzD,uDAAuD;gBACvD,8EAA8E,CAC/E,CAAC;SACH;QACD,8DAA8D;QAC9D,MAAM,UAAU,GAAG,SAAgB,CAAC,CAAC,wDAAwD;QAC7F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,oBAAU;YACV,IAAA,wBAAc,EAAC,kBAAkB,CAAC;YAClC,GAAG,UAAU;SACqB,CAAC,CAAC;IACxC,CAAC;IAED;;;;;SAKK;IAEE,QAAQ,CAAC,OAAsB;QACpC,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IA4DM,OAAO,CAGZ,GAAG,oBAA8G;QAEjH,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,mBAAmB,EAAE,EAAE;YACzE,IAAI,OAAO,mBAAmB,KAAK,QAAQ,IAAI,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;gBACvF,OAAO,IAAA,sBAAY,EAAC,mBAAmB,CAAC,CAAC;aAC1C;YACD,OAAO,mBAAmB,CAAC;YAC7B,8DAA8D;QAC9D,CAAC,CAAQ,CAAC,CAAC,wDAAwD;QAEnE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,oBAAU;YACV,IAAA,wBAAc,EAAC,SAAS,CAAC;YACzB,GAAG,iBAAiB;SACc,CAAC,CAAC;IACxC,CAAC;IAoBM,QAAQ,CAKb,uBAAsD,EACtD,GAAG,SAAkJ;QAErJ,MAAM,WAAW,GAAwB,OAAO,uBAAuB,KAAK,QAAQ,IAAI,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACpI,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAC1C,uBAAuB,CAAC;QAE1B,qDAAqD;QACrD,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;QAC1G,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oEAAoE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvG,CAAC;YACF,OAAO;SACR;QAED,8DAA8D;QAC9D,MAAM,UAAU,GAAG,SAAgB,CAAC,CAAC,wDAAwD;QAC7F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,uBAAa;YACb,IAAA,0BAAgB,EAAC,WAAW,CAAC;YAC7B,GAAG,UAAU;SACqB,CAAC,CAAC;IACxC,CAAC;IAyBM,MAAM,CAKX,qBAAoD,EACpD,GAAG,SAA8I;QAEjJ,wBAAwB;QACxB,MAAM,WAAW,GAAsB,OAAO,qBAAqB,KAAK,QAAQ,IAAI,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC9H,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACtC,qBAAqB,CAAC;QAExB,qDAAqD;QACrD,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,MAAM,CACpF,CAAC;QACF,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qEAAqE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxG,CAAC;YACF,OAAO;SACR;QAED,8DAA8D;QAC9D,MAAM,UAAU,GAAG,SAAgB,CAAC,CAAC,wDAAwD;QAC7F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,qBAAW,EAAE,IAAA,0BAAgB,EAAC,WAAW,CAAC,EAAE,GAAG,UAAU,CAAoC,CAAC,CAAC;IACtH,CAAC;IAEM,OAAO,CACZ,WAA4B,EAAE,GAAG,SAG9B;QAEH,8DAA8D;QAC9D,MAAM,UAAU,GAAG,SAAgB,CAAC,CAAC,wDAAwD;QAC7F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,sBAAY;YACZ,IAAA,0BAAgB,EAAC,WAAW,CAAC;YAC7B,GAAG,UAAU;SACqB,CAAC,CAAC;IACxC,CAAC;IAiBD,kDAAkD;IAC3C,OAAO,CAIZ,qBAA0D,EAC1D,GAAG,SAAuG;QAE1G,MAAM,WAAW,GAAsB,OAAO,qBAAqB,KAAK,QAAQ,IAAI,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC9H,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACtC,qBAAqB,CAAC;QAExB,8DAA8D;QAC9D,MAAM,UAAU,GAAG,SAAgB,CAAC,CAAC,wDAAwD;QAC7F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,qBAAW,EAAE,IAAA,0BAAgB,EAAC,WAAW,CAAC,EAAE,GAAG,UAAU,CAAoC,CAAC,CAAC;IACtH,CAAC;IAgBM,IAAI,CAIT,uBAA0D,EAC1D,GAAG,SAA4G;QAE/G,MAAM,WAAW,GAAoB,OAAO,uBAAuB,KAAK,QAAQ,IAAI,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAChI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACnE,uBAAuB,CAAC;QAC1B,qDAAqD;QACrD,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;QAC1G,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mEAAmE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtG,CAAC;YACF,OAAO;SACR;QAED,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YAChF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mEAAmE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACzG,OAAO;SACR;QAED,8DAA8D;QAC9D,MAAM,UAAU,GAAG,SAAgB,CAAC,CAAC,wDAAwD;QAC7F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,yBAAe;YACf,IAAA,0BAAgB,EAAC,WAAW,CAAC;YAC7B,GAAG,UAAU;SACqB,CAAC,CAAC;IACxC,CAAC;IAKM,KAAK,CAAC,YAA6B;QACxC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,KAAoB;QAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;QAC5B,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,4BAA4B;YAC5B,8CAA8C;YAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACzC;QAED,iHAAiH;QACjH,gHAAgH;QAChH,wCAAwC;QACxC,yGAAyG;QACzG,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAA,gCAAsB,EAAC,IAAI,CAAC,CAAC;QAC9D,qDAAqD;QACrD,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;YACpG,OAAO;SACR;QAED,gHAAgH;QAChH,MAAM,OAAO,GAAG,IAAiC,CAAC;QAElD,6GAA6G;QAC7G,MAAM,mBAAmB,GAAG,+BAA+B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAE/E,kDAAkD;QAClD,IAAI,eAAgC,CAAC;QACrC,IAAI,IAAI,KAAK,2BAAiB,CAAC,KAAK,IAAI,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzF,eAAe,GAAG;gBAChB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;SACH;aAAM;YACL,IAAI;gBACF,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aACzD;YAAC,OAAO,KAAK,EAAE;gBACd,8DAA8D;gBAC9D,MAAM,CAAC,GAAG,KAAY,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;gBAClG,CAAC,CAAC,IAAI,GAAG,kBAAS,CAAC,kBAAkB,CAAC;gBACtC,sFAAsF;gBACtF,6CAA6C;gBAC7C,OAAO,IAAI,CAAC,WAAW,CAAC;oBACtB,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE;wBACP,mBAAmB;qBACpB;iBACF,CAAC,CAAC;aACJ;SACF;QACD,sEAAsE;QACtE,IAAI,eAAe,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;YACvE,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SACxC;QAED,4EAA4E;QAC5E,IAAI,eAAe,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE;YACnF,eAAe,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;SACpD;QACD,6CAA6C;QAC7C,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,WAAW,EAAE;YACjD,MAAM,WAAW,GAAkB,KAAK,CAAC,gBAAgB,CAAC;YAC1D,MAAM,kBAAkB,GAAG,+BAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC;YAChF,IAAI,OAAO,kBAAkB,KAAK,WAAW,EAAE;gBAC7C,MAAM,IAAI,mCAA0B,CAAC,oEAAoE,CAAC,CAAC;aAC5G;SACF;QAED;;;;;;;;;;;;;;;;;WAiBG;QACH,IAAI,2BAA2B,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACxD,IAAI,2BAA2B,KAAK,SAAS,IAAI,OAAO,IAAI,IAAI,EAAE;YAChE,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;SAC3D;QAED,4BAA4B;QAC5B,MAAM,OAAO,GAAY;YACvB,GAAG,eAAe;YAClB,GAAG,KAAK,CAAC,gBAAgB;YACzB,2BAA2B;YAC3B,mBAAmB;YACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;QAEF,4BAA4B;QAC5B,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAS,EAAE;YAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,CAAC,OAA6B,EAAE,EAAE;gBACvC,MAAM,oBAAoB,GAA6B,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;oBAClF,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC9C,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;gBAE5C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;YAC5D,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,uBAAuB;QACvB,kEAAkE;QAClE,IAAI,OAEuF,CAAC;QAC5F,QAAQ,IAAI,EAAE;YACZ,KAAK,2BAAiB,CAAC,KAAK;gBAC1B,OAAO,GAAI,OAA4C,CAAC,KAAK,CAAC;gBAC9D,MAAM;YACR,KAAK,2BAAiB,CAAC,UAAU;gBAC/B,OAAO,GAAI,OAA2C,CAAC,IAAI,CAAC;gBAC5D,MAAM;YACR,KAAK,2BAAiB,CAAC,QAAQ;gBAC7B,OAAO,GAAI,OAA+C,CAAC;gBAC3D,MAAM;YACR,6DAA6D;YAC7D,yCAAyC;YACzC,KAAK,2BAAiB,CAAC,MAAM;gBAC3B,IAAI,qCAAqC,CAAC,OAA4C,CAAC,EAAE;oBACvF,MAAM,EAAE,OAAO,EAAE,GAAI,OAA+E,CAAC;oBACrG,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;oBACpB,MAAM;iBACP;YACH,6FAA6F;YAC7F;gBACE,OAAO,GAAI,OAMD,CAAC;gBACX,MAAM;SACT;QAED,MAAM,YAAY,GAAiB;YACjC,IAAI,EAAE,OAAO;YACb,OAAO;SACR,CAAC;QAEF,cAAc;QACd,IAAI,IAAI,KAAK,2BAAiB,CAAC,KAAK,EAAE;YACpC,MAAM,iBAAiB,GAAG,YAAwC,CAAC;YACnE,iBAAiB,CAAC,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC;YACpD,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC9C,MAAM,wBAAwB,GAAG,iBAAwD,CAAC;gBAC1F,wBAAwB,CAAC,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC;aACrE;SACF;aAAM,IAAI,IAAI,KAAK,2BAAiB,CAAC,MAAM,EAAE;YAC5C,MAAM,kBAAkB,GAAG,YAAyC,CAAC;YACrE,kBAAkB,CAAC,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC;SACxD;aAAM,IAAI,IAAI,KAAK,2BAAiB,CAAC,OAAO,EAAE;YAC7C,MAAM,mBAAmB,GAAG,YAA0C,CAAC;YACvE,mBAAmB,CAAC,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC;SAC3D;aAAM,IAAI,IAAI,KAAK,2BAAiB,CAAC,OAAO,EAAE;YAC7C,MAAM,kBAAkB,GAAG,YAAyD,CAAC;YACrF,kBAAkB,CAAC,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC;SACzD;aAAM,IAAI,IAAI,KAAK,2BAAiB,CAAC,UAAU,EAAE;YAChD,MAAM,gBAAgB,GAAG,YAAuC,CAAC;YACjE,gBAAgB,CAAC,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC;SAClD;aAAM,IAAI,IAAI,KAAK,2BAAiB,CAAC,QAAQ,EAAE;YAC9C,MAAM,oBAAoB,GAAG,YAA2C,CAAC;YACzE,oBAAoB,CAAC,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC;SAC9D;QAED,oBAAoB;QACpB,IAAI,cAAc,KAAK,SAAS,IAAI,IAAI,KAAK,2BAAiB,CAAC,OAAO,EAAE;YACtE,YAAY,CAAC,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;SAC9C;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,YAAY,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SACtE;aAAM,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACrF,iFAAiF;YACjF,YAAY,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;SACvF;QAED,oBAAoB;QACpB,IAAI,IAAI,KAAK,2BAAiB,CAAC,KAAK,EAAE;YACpC,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;SACxB;aAAM;YACL,kFAAkF;YAClF,MAAM,GAAG,EAAE,CAAC;SACb;QAED,2BAA2B;QAC3B,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACtB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,IAAI,IAAI,CAAC;YACT,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACpD,IAAI,eAAe,CAAC,MAAM,KAAK,SAAS,EAAE;gBACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,2CAA2C;oBAC3C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;iBACnE;gBACD,gFAAgF;gBAChF,iBAAiB,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;aACnD;iBAAM,IAAI,eAAe,CAAC,YAAY,KAAK,SAAS,EAAE;gBACrD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;gBAClD,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,2CAA2C;oBAC3C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;iBACzE;aACF;YACD,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;aACrD;SACF;QAED,qDAAqD;QACrD,IAAI;YACF,MAAM,IAAA,iBAAiB,EACrB,IAAI,CAAC,UAAU,EACf,YAAiC,EACjC,OAAO,EACP,MAAM,EACN,IAAI,CAAC,MAAM,EACX,KAAK,IAAI,EAAE;gBACT,wFAAwF;gBACxF,2FAA2F;gBAC3F,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,EAAE,EAAE;oBAC1E,4DAA4D;oBAC5D,MAAM,kBAAkB,GAAG,CAAC,GAAG,sBAAsB,CAAC,CAAC;oBAEvD,2FAA2F;oBAC3F,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,EAAE,CAAC;oBAE1C,IAAI,QAAQ,KAAK,SAAS,EAAE;wBAC1B,OAAO,SAAS,CAAC;qBAClB;oBACD,OAAO,IAAA,iBAAiB,EACtB,kBAAkB,EAClB,YAAiC,EACjC,OAAO,EACP,MAAM,EACN,IAAI,CAAC,MAAM;oBACX,wDAAwD;oBACxD,4DAA4D;oBAC5D,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC;wBACnB,GAAI,YAAkC;wBACtC,OAAO;wBACP,MAAM;wBACN,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,uDAAuD;qBACf,CAAC,CAC5C,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,MAAM,sBAAsB,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;gBACjE,MAAM,uBAAuB,GAAG,sBAAsB,CAAC,MAAM,CAC3D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,UAAU,CACO,CAAC;gBAC1C,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxC,MAAM,uBAAuB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACzC;qBAAM,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7C,MAAM,IAAI,8BAAqB,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;iBACnF;YACH,CAAC,CACF,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,8DAA8D;YAC9D,MAAM,CAAC,GAAG,KAAY,CAAC;YACvB,sFAAsF;YACtF,6CAA6C;YAC7C,OAAO,IAAI,CAAC,WAAW,CAAC;gBACtB,OAAO;gBACP,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAyB;QAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAEhC,OAAO,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAA,qBAAY,EAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY,CAAC,IAAA,qBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,wBAAwB;IACxB,qCAAqC;IACrC,wBAAwB;IAEhB,YAAY,CAClB,QAAmB,EACnB,aAAoD,EACpD,SAA4C,EAC5C,IAAkC,EAClC,YAAkD,EAClD,qBAAoE,EACpE,qBAAoE,EACpE,QAA0C,EAC1C,YAAkD,EAClD,WAAgD,EAChD,WAAgD,EAChD,iBAA4D,EAC5D,MAAsC,EACtC,QAAiB,EACjB,MAAe;QAEf,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,2BAA2B;YAC3B,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;gBAC5B,+EAA+E;gBAC/E,8EAA8E;gBAC9E,wCAAwC;gBACxC,MAAM,IAAI,+BAAsB,CAAC,qEAAqE,CAAC,CAAC;aACzG;YACD,OAAO,QAAQ,CAAC;SACjB;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YAC5B,IAAI,mBAAmB,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC/D,MAAM,IAAI,+BAAsB,CAAC,+IAA+I,CAAC,CAAC;aACnL;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,mBAAmB,IAAI,QAAQ,CAAC;YAClD,IAAI,SAAS,KAAK,SAAS,EAAE;gBAC3B,OAAO,IAAI,4BAAkB,CAAC;oBAC5B,QAAQ,EAAE,SAAS;oBACnB,QAAQ;oBACR,YAAY;oBACZ,WAAW;oBACX,WAAW;oBACX,iBAAiB;oBACjB,MAAM;oBACN,MAAM;oBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,YAAY;iBACb,CAAC,CAAC;aACJ;SACF;QACD,IAAI,qBAAqB,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,EAAE;YACjE,6FAA6F;YAC7F,MAAM,IAAI,+BAAsB,CAC9B,2FAA2F;gBAC3F,+EAA+E,CAChF,CAAC;SACH;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,OAAO,IAAI,sBAAY,CAAC;YACtB,aAAa,EAAE,aAAa,IAAI,EAAE;YAClC,SAAS;YACT,IAAI;YACJ,YAAY;YACZ,qBAAqB;YACrB,qBAAqB;YACrB,QAAQ;YACR,YAAY;YACZ,WAAW;YACX,WAAW;YACX,iBAAiB;YACjB,MAAM;YACN,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC,CAAC;IACL,CAAC;IAEO,6BAA6B,CACnC,KAAc,EACd,SAAqB;QAErB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,YAAY,GAAI,IAAI,CAAC,QAAyB,CAAC;QACrD,IACE,YAAY,CAAC,SAAS,KAAK,SAAS;YACpC,YAAY,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,EAC9C;YACA,iFAAiF;YACjF,0FAA0F;YAC1F,UAAU,GAAG,IAAI,CAAC;SACnB;QAED,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,IAAI,UAAU,IAAI,SAAS,KAAK,SAAS,EAAE;gBACzC,MAAM,IAAI,+BAAsB,CAC9B,sFAAsF,UAAU,EAAE,CACnG,CAAC;aACH;YACD,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE;YAC1C,MAAM,IAAI,+BAAsB,CAC9B,GAAG,UAAU,oNAAoN,CAClO,CAAC;SACH;aAAM,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,EAAE;YAChD,MAAM,IAAI,+BAAsB,CAAC,kEAAkE,UAAU,EAAE,CAAC,CAAC;SAClH;aAAM,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,EAAE;YAChD,oEAAoE;YACpE,OAAO,YAAY,CAAC,SAAU,CAAC,SAAS,CAAC;SAC1C;aAAM,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE;YACjD,OAAO,SAA+B,CAAC;SACxC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,0BAA0B,CAChC,KAAc,EACd,SAA8B,EAC9B,aAA6B;QAE7B,MAAM,oBAAoB,GAAG,IAAI,CAAC,6BAA6B,CAC7D,KAAK,EACL,SAAS,CACV,CAAC;QACF,IAAI,oBAAoB,KAAK,SAAS,EAAE;YACtC,OAAO,oBAAoB,CAAC;SAC7B;QACD,IAAI,KAAK,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE;YACtD,OAAO,mBAAmB,CACxB,IAAI,CAAC,MAAM,EACX,aAAa,EACb,IAAI,CAAC,wBAAwB,CAC9B,CAAC;SACH;QACD,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,6EAA6E,QAAQ,gBAAgB,SAAS,4FAA4F,CAAC;QAChO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;CACF;AAxnCD,sBAwnCC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,OAAO,CAAC,KAAiB,EAAE,EAAE;QAC3B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEpB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;AACJ,CAAC;AAED,cAAc;AACd,sBAAsB;AAEtB,SAAS,sBAAsB,CAC7B,MAAiB,EACjB,aAA6F;IAE7F,+CAA+C;IAC/C,OAAO,aAAa,CAAC,SAAS,KAAK,SAAS,IAAI,aAAa,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QACjF,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACpE,SAAS,EAAE,MAAM,CAAC,OAAiB;YACnC,KAAK,EAAE,MAAM,CAAC,MAAgB;SAC/B,CAAC,CAAC,CAAC;AACR,CAAC;AAKD,KAAK,UAAU,oBAAoB,CACjC,mBAA4B,EAC5B,cAA6D,EAC7D,aAA4B;IAE5B,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,cAAc,CAAC,EAAE,CAAC;AAC9F,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAiB,EACjB,aAA4B,EAC5B,wBAAiC;IAEjC,gEAAgE;IAChE,iFAAiF;IACjF,IAAI,oBAAmE,CAAC;IACxE,IAAI,wBAAwB,EAAE;QAC5B,6BAA6B;QAC7B,oBAAoB,GAAG,sBAAsB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACrE,OAAO,KAAK,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAC5D,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,CACzD,CAAC;KACH;IACD,OAAO,KAAK,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE;QACvC,8EAA8E;QAC9E,oBAAoB,GAAG,sBAAsB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACrE,OAAO,oBAAoB,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC;IACxF,CAAC,CAAC;AACJ,CAAC;AAED,+BAA+B;AAC/B,0BAA0B;AAE1B;;GAEG;AACH,SAAS,WAAW,CAClB,IAAuB,EACvB,SAA6B,EAC7B,IAA+B,EAC/B,mBAAwC;IAExC,sHAAsH;IACtH,sHAAsH;IAEtH,MAAM,MAAM,GAAuB,CAAC,GAAG,EAAE;QACvC,IAAI,IAAI,KAAK,2BAAiB,CAAC,KAAK,EAAE;YACpC,MAAM,WAAW,GAAG,IAAwC,CAAC;YAC7D,IACE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC;gBACzC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS;gBAC3C,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,EAC9C;gBACA,OAAO,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aAC9C;YACD,OAAO,WAAW,CAAC,OAAO,CAAC;SAC5B;QAED,IAAI,IAAI,KAAK,2BAAiB,CAAC,OAAO,EAAE;YACtC,OAAQ,IAA2C,CAAC,OAAO,CAAC;SAC7D;QACD,IAAI,IAAI,KAAK,2BAAiB,CAAC,YAAY,EAAE;YAC3C,MAAM,6BAA6B,GAAG,IAA+C,CAAC;YACtF,OAAO,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;SAC9C;QACD,MAAM,WAAW,GAAG,CAClB,MAI4C,EACxB,EAAE;YACtB,kFAAkF;YAClF,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;aACvB;YAED,oEAAoE;YACpE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,CAAC,CAAC;QAEF,IAAI,IAAI,KAAK,2BAAiB,CAAC,UAAU,EAAE;YACzC,0GAA0G;YAC1G,+EAA+E;YAE/E,MAAM,UAAU,GAAG,IAAuC,CAAC;YAE3D,IAAI,UAAU,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACzC,OAAO,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC;aAC9C;YAED,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC;SAChC;QAED,IACE,IAAI,KAAK,2BAAiB,CAAC,MAAM;YACjC,IAAI,KAAK,2BAAiB,CAAC,OAAO;YAClC,IAAI,KAAK,2BAAiB,CAAC,QAAQ,EACnC;YACA,MAAM,+BAA+B,GAAG,IAI/B,CAAC;YACV,OAAO,WAAW,CAAC,+BAA+B,CAAC,CAAC;SACrD;QAED,OAAO,IAAA,qBAAW,EAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,YAAY,GAAuB,CAAC,GAAG,EAAE;QAC7C,IAAI,IAAI,KAAK,2BAAiB,CAAC,KAAK,EAAE;YACpC,MAAM,WAAW,GAAG,IAAwC,CAAC;YAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gBAC5F,qFAAqF;gBACrF,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC1D,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;aAC3C;YACD,OAAO,WAAW,CAAC,aAAa,CAAC;SAClC;QAED,IAAI,IAAI,KAAK,2BAAiB,CAAC,OAAO,EAAE;YACtC,OAAQ,IAA2C,CAAC,aAAa,CAAC;SACnE;QACD,IAAI,IAAI,KAAK,2BAAiB,CAAC,YAAY,EAAE;YAC3C,MAAM,6BAA6B,GAAG,IAA+C,CAAC;YACtF,OAAO,6BAA6B,CAAC,IAAI,CAAC,aAAa,CAAC;SACzD;QACD,IACE,IAAI,KAAK,2BAAiB,CAAC,MAAM;YACjC,IAAI,KAAK,2BAAiB,CAAC,OAAO;YAClC,IAAI,KAAK,2BAAiB,CAAC,UAAU;YACrC,IAAI,KAAK,2BAAiB,CAAC,QAAQ,EACnC;YACA,6FAA6F;YAC7F,MAAM,2CAA2C,GAAG,IAK3C,CAAC;YAEV,IACE,OAAO,2CAA2C,CAAC,UAAU,KAAK,WAAW;gBAC7E,2CAA2C,CAAC,UAAU,KAAK,IAAI,EAC/D;gBACA,OAAO,2CAA2C,CAAC,UAAU,CAAC,EAAE,CAAC;aAClE;YAED,kFAAkF;YAClF,IACE,OAAO,2CAA2C,CAAC,IAAI,KAAK,WAAW;gBACvE,2CAA2C,CAAC,IAAI,KAAK,IAAI,EACzD;gBACA,OAAO,2CAA2C,CAAC,IAAI,CAAC,aAAa,CAAC;aACvE;YAED,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,IAAA,qBAAW,EAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,MAAM,GAAuB,CAAC,GAAG,EAAE;QACvC,IAAI,IAAI,KAAK,2BAAiB,CAAC,KAAK,EAAE;YACpC,mFAAmF;YACnF,MAAM,EAAE,KAAK,EAAE,GAAG,IAAwC,CAAC;YAC3D,IAAI,MAAM,IAAI,KAAK,EAAE;gBACnB,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAClC,OAAO,KAAK,CAAC,IAAI,CAAC;iBACnB;gBACD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAClC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;iBACtB;aACF;YACD,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE;gBACzF,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;aAC9B;YACD,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;gBAChE,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;aACjC;YACD,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,IAAI,KAAK,2BAAiB,CAAC,YAAY,EAAE;YAC3C,MAAM,6BAA6B,GAAG,IAA+C,CAAC;YACtF,OAAO,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;SAC9C;QACD,IACE,IAAI,KAAK,2BAAiB,CAAC,MAAM;YACjC,IAAI,KAAK,2BAAiB,CAAC,OAAO;YAClC,IAAI,KAAK,2BAAiB,CAAC,UAAU;YACrC,IAAI,KAAK,2BAAiB,CAAC,QAAQ,EACnC;YACA,mFAAmF;YACnF,MAAM,2CAA2C,GAAG,IAK3C,CAAC;YACV,OAAO,2CAA2C,CAAC,IAAI,CAAC,EAAE,CAAC;SAC5D;QAED,IAAI,IAAI,KAAK,2BAAiB,CAAC,OAAO,EAAE;YACtC,OAAQ,IAA2C,CAAC,OAAO,CAAC;SAC7D;QAED,OAAO,IAAA,qBAAW,EAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,MAAM;QACN,mBAAmB;QACnB,MAAM,EAAE,MAAwE;QAChF,YAAY,EAAE,YAA8E;QAC5F,cAAc,EAAE,SAAS;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,IAA+B,EAAE,IAAuB;IAC/F,IAAI,IAAI,KAAK,2BAAiB,CAAC,KAAK,EAAE;QACpC,MAAM,WAAW,GAAG,IAAwC,CAAC;QAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;YAC5F,OAAO,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;SAC9D;KACF;IACD,IAAI,IAAI,KAAK,2BAAiB,CAAC,YAAY,EAAE;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC;KAC9C;IACD,IAAI,uBAAuB,IAAI,IAAI,EAAE;QACnC,sDAAsD;QACtD,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,QAAQ,EAAE;YAClD,OAAO,IAAI,CAAC,qBAAqB,KAAK,MAAM,CAAC;SAC9C;QACD,8CAA8C;QAC9C,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE;YAC5C,OAAO,IAAI,CAAC,qBAAqB,CAAC;SACnC;KACF;IACD,yFAAyF;IACzF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qCAAqC,CAC5C,IAAuC;IAEvC,OAAQ,IAA4E,CAAC,OAAO,KAAK,SAAS,CAAC;AAC7G,CAAC;AAED;;KAEK;AACL,SAAS,WAAW,CAAC,OAAgB;;IACnC,OAAO,MAAA,MAAA,OAAO,CAAC,2BAA2B,mCAAI,OAAO,CAAC,QAAQ,mCAAI,OAAO,CAAC,SAAS,CAAC;AACtF,CAAC;AAED,SAAS,cAAc,CACrB,aAA4B,EAC5B,WAAmB;IAEnB,OAAO,KAAK,EAAE,OAAkC,EAAE,EAAE;QAClD,MAAM,cAAc,GAAqB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACnG,OAAO,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC,CAAC;AACJ,CAAC;AAED,6BAA6B;AAC7B,iDAAiD;AACjD,MAAM,yBAAyB,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;AACxE,SAAS,0BAA0B,CAAC,SAAiB;IACnD,OAAO,yBAAyB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvD,CAAC;AAED,+BAA+B;AAC/B,kBAAkB;AAClB,kDAAkD;AAClD,IAAA,wBAAc,EAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node --no-warnings
2
+ export {};
3
+ //# sourceMappingURL=check-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-update.d.ts","sourceRoot":"","sources":["../../src/cli/check-update.js"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node --no-warnings
2
+ "use strict";
3
+ const { checkForSDKUpdates } = require('./hook-utils/get-check-update-data');
4
+ /**
5
+ * Implements the check-update hook and looks for available SDK updates.
6
+ * Returns an object detailing info on Slack dependencies to pass up to the CLI.
7
+ */
8
+ (async function _(cwd) {
9
+ let updates = await checkForSDKUpdates(cwd);
10
+ // write updates to stdout
11
+ console.log(JSON.stringify(updates));
12
+ }(process.cwd()));
13
+ //# sourceMappingURL=check-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-update.js","sourceRoot":"","sources":["../../src/cli/check-update.js"],"names":[],"mappings":";;AACA,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,oCAAoC,CAAC,CAAC;AAE7E;;;EAGE;AACF,CAAC,KAAK,UAAU,CAAC,CAAC,GAAG;IACnB,IAAI,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE5C,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC"}
@@ -3,6 +3,7 @@
3
3
  console.log(JSON.stringify({
4
4
  hooks: {
5
5
  'get-manifest': 'npx -q --no-install -p @slack/bolt slack-cli-get-manifest',
6
+ 'check-update': 'npx -q --no-install -p @slack/bolt slack-cli-check-update',
6
7
  start: 'npx -q --no-install -p @slack/bolt slack-cli-start',
7
8
  },
8
9
  config: {
@@ -1 +1 @@
1
- {"version":3,"file":"get-hooks.js","sourceRoot":"","sources":["../../src/cli/get-hooks.js"],"names":[],"mappings":";;AACA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,KAAK,EAAE;QACL,cAAc,EAAE,2DAA2D;QAC3E,KAAK,EAAE,oDAAoD;KAC5D;IACD,MAAM,EAAE;QACN,KAAK,EAAE;YACL,cAAc,EAAE,2BAA2B;YAC3C,KAAK,EAAE;gBACL,GAAG;aACJ;SACF;QACD,gCAAgC,EAAE,IAAI;KACvC;CACF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"get-hooks.js","sourceRoot":"","sources":["../../src/cli/get-hooks.js"],"names":[],"mappings":";;AACA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,KAAK,EAAE;QACL,cAAc,EAAE,2DAA2D;QAC3E,cAAc,EAAE,2DAA2D;QAC3E,KAAK,EAAE,oDAAoD;KAC5D;IACD,MAAM,EAAE;QACN,KAAK,EAAE;YACL,cAAc,EAAE,2BAA2B;YAC3C,KAAK,EAAE;gBACL,GAAG;aACJ;SACF;QACD,gCAAgC,EAAE,IAAI;KACvC;CACF,CAAC,CAAC,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Checks for available SDK updates for specified dependencies, creates a version map,
3
+ * and then wraps everything up into a response to be passed to the CLI.
4
+ * @param cwd the current working directory
5
+ */
6
+ export function checkForSDKUpdates(cwd: any): Promise<{
7
+ name: string;
8
+ message: string;
9
+ releases: any[];
10
+ url: string;
11
+ error: {
12
+ message: string;
13
+ } | null;
14
+ }>;
15
+ /**
16
+ * Reads and parses JSON file - if it works, returns the file contents.
17
+ * If not, returns an empty object
18
+ * @param filePath the path of the file being read
19
+ */
20
+ export function getJSON(filePath: any): Promise<{}>;
21
+ /**
22
+ * Gets the needed files that contain dependency info (package.json).
23
+ * @param cwd the current working directory of the CLI project
24
+ */
25
+ export function getJSONFiles(cwd: any): Promise<{
26
+ jsonDepFile: {
27
+ name: string;
28
+ body: {};
29
+ };
30
+ inaccessibleFiles: {
31
+ name: string;
32
+ error: unknown;
33
+ }[];
34
+ }>;
35
+ export namespace checkUpdateExports {
36
+ /**
37
+ * Pulls dependencies from a given file and JSON structure.
38
+ * @param json JSON information that includes dependencies
39
+ * @param fileName name of the file that the dependency list is coming from
40
+ */
41
+ function extractDependencies(json: any, fileName: any): Promise<(string | {
42
+ version: string;
43
+ })[]>;
44
+ /**
45
+ * Queries for current Bolt version of the project.
46
+ */
47
+ function getBoltCurrentVersion(): Promise<string>;
48
+ }
49
+ //# sourceMappingURL=get-check-update-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-check-update-data.d.ts","sourceRoot":"","sources":["../../../src/cli/hook-utils/get-check-update-data.js"],"names":[],"mappings":"AAiBA;;;;GAIG;AACH;;;;;;;;GAIC;AAgED;;;;GAIG;AACH,oDAYC;AAYD;;;GAGG;AACH;;;;;;;;;GAsBC;;IAED;;;;OAIG;IACH;;UA2BC;IAmGD;;OAEG;IACH,kDAGC"}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ const fs = require('fs');
3
+ const path = require('path');
4
+ const util = require('util');
5
+ const exec = util.promisify(require('child_process').exec);
6
+ const SLACK_BOLT_SDK = '@slack/bolt';
7
+ let checkUpdateExports = {};
8
+ /**
9
+ * Wraps and parses the output of the exec() function
10
+ * @param command the command being run by the exec() function
11
+ */
12
+ async function execWrapper(command) {
13
+ const { stdout } = await exec(command);
14
+ return stdout.trim();
15
+ }
16
+ /**
17
+ * Checks for available SDK updates for specified dependencies, creates a version map,
18
+ * and then wraps everything up into a response to be passed to the CLI.
19
+ * @param cwd the current working directory
20
+ */
21
+ async function checkForSDKUpdates(cwd) {
22
+ const { versionMap, inaccessibleFiles } = await createVersionMap(cwd);
23
+ const updateResp = createUpdateResp(versionMap, inaccessibleFiles);
24
+ return updateResp;
25
+ }
26
+ /**
27
+ * Create a version map that contains each (Slack) dependency, detailing info about
28
+ * current and latest versions, as well as if breaking changes are present or if there
29
+ * were any errors with getting version retrieval.
30
+ * @param cwd the current working directory of the CLI project
31
+ */
32
+ async function createVersionMap(cwd) {
33
+ const { versionMap, inaccessibleFiles } = await readProjectDependencies(cwd);
34
+ if (versionMap && versionMap[SLACK_BOLT_SDK]) {
35
+ const current = versionMap[SLACK_BOLT_SDK].current || '';
36
+ let latest = '', error = null;
37
+ try {
38
+ latest = await fetchLatestModuleVersion(SLACK_BOLT_SDK);
39
+ }
40
+ catch (err) {
41
+ error = err;
42
+ }
43
+ const update = !!current && !!latest && current !== latest;
44
+ const breaking = hasBreakingChange(current, latest);
45
+ versionMap[SLACK_BOLT_SDK] = {
46
+ ...versionMap[SLACK_BOLT_SDK],
47
+ latest,
48
+ update,
49
+ breaking,
50
+ error,
51
+ };
52
+ }
53
+ return { versionMap, inaccessibleFiles };
54
+ }
55
+ /**
56
+ * Reads project dependencies - cycles through project dependency files, extracts
57
+ * the listed dependencies, and adds it in to the version map with version info.
58
+ * @param cwd the current working directory of the CLI project
59
+ */
60
+ async function readProjectDependencies(cwd) {
61
+ const versionMap = {};
62
+ const { dependencyFile, inaccessibleFiles } = await gatherDependencyFiles(cwd);
63
+ try {
64
+ const [sdk, value] = await checkUpdateExports.extractDependencies(dependencyFile.body, dependencyFile.name);
65
+ if (sdk !== '' && sdk === SLACK_BOLT_SDK) {
66
+ versionMap[SLACK_BOLT_SDK] = {
67
+ name: sdk,
68
+ current: value.version,
69
+ };
70
+ }
71
+ }
72
+ catch (err) {
73
+ inaccessibleFiles.push({ name: dependencyFile.name, error: err });
74
+ }
75
+ return { versionMap, inaccessibleFiles };
76
+ }
77
+ /**
78
+ * Reads and parses JSON file - if it works, returns the file contents.
79
+ * If not, returns an empty object
80
+ * @param filePath the path of the file being read
81
+ */
82
+ async function getJSON(filePath) {
83
+ let fileContents = {};
84
+ try {
85
+ if (fs.existsSync(filePath)) {
86
+ fileContents = JSON.parse(fs.readFileSync(filePath, 'utf8'));
87
+ }
88
+ else {
89
+ throw new Error('Cannot find a file at path ' + filePath);
90
+ }
91
+ }
92
+ catch (err) {
93
+ throw new Error(err);
94
+ }
95
+ return fileContents;
96
+ }
97
+ /**
98
+ * Gathers all related dependency files for the CLI project (package.json).
99
+ * @param cwd the current working directory of the CLI project
100
+ */
101
+ async function gatherDependencyFiles(cwd) {
102
+ const { jsonDepFile, inaccessibleFiles } = await getJSONFiles(cwd);
103
+ const dependencyFile = jsonDepFile;
104
+ return { dependencyFile, inaccessibleFiles };
105
+ }
106
+ /**
107
+ * Gets the needed files that contain dependency info (package.json).
108
+ * @param cwd the current working directory of the CLI project
109
+ */
110
+ async function getJSONFiles(cwd) {
111
+ const packageJSON = 'package.json';
112
+ const jsonDepFile = {};
113
+ const inaccessibleFiles = [];
114
+ try {
115
+ const jsonFile = await getJSON(`${cwd}/${packageJSON}`);
116
+ const jsonIsParsable = jsonFile &&
117
+ typeof jsonFile === 'object' &&
118
+ !Array.isArray(jsonFile) &&
119
+ jsonFile.dependencies;
120
+ if (jsonIsParsable) {
121
+ jsonDepFile.name = packageJSON;
122
+ jsonDepFile.body = jsonFile;
123
+ }
124
+ }
125
+ catch (err) {
126
+ inaccessibleFiles.push({ name: packageJSON, error: err });
127
+ }
128
+ return { jsonDepFile, inaccessibleFiles };
129
+ }
130
+ /**
131
+ * Pulls dependencies from a given file and JSON structure.
132
+ * @param json JSON information that includes dependencies
133
+ * @param fileName name of the file that the dependency list is coming from
134
+ */
135
+ checkUpdateExports.extractDependencies = async (json, fileName) => {
136
+ // Determine if the JSON passed is an object
137
+ const jsonIsParsable = json !== null && typeof json === 'object' && !Array.isArray(json);
138
+ if (jsonIsParsable) {
139
+ let boltCurrentVersion = '';
140
+ if (json['dependencies']['@slack/bolt']) {
141
+ const boltCurrentVersionOutput = JSON.parse(await checkUpdateExports.getBoltCurrentVersion());
142
+ if (boltCurrentVersionOutput !== '') {
143
+ boltCurrentVersion =
144
+ boltCurrentVersionOutput['dependencies']['@slack/bolt']['version'];
145
+ }
146
+ }
147
+ return [
148
+ '@slack/bolt',
149
+ {
150
+ version: boltCurrentVersion,
151
+ },
152
+ ];
153
+ }
154
+ return [];
155
+ };
156
+ /**
157
+ * Gets the latest module version.
158
+ * @param moduleName the module that the latest version is being queried for
159
+ */
160
+ async function fetchLatestModuleVersion(moduleName) {
161
+ let command = '';
162
+ if (moduleName === '@slack/bolt') {
163
+ command = `npm info ${moduleName} version --tag next-gen`;
164
+ }
165
+ else if (moduleName === '@slack/deno-slack-sdk') {
166
+ command = `npm info ${moduleName} version --tag latest`;
167
+ }
168
+ const stdout = await execWrapper(command);
169
+ return stdout;
170
+ }
171
+ /**
172
+ * Checks if a dependency's upgrade from a current to the latest version will cause a
173
+ * breaking change.
174
+ * @param current current dependency version in project
175
+ * @param latest most up-to-date dependency version available on NPM
176
+ */
177
+ function hasBreakingChange(current, latest) {
178
+ return current !== latest;
179
+ }
180
+ /**
181
+ * Creates the update response - returns an object in the expected response format.
182
+ * @param versionMap version map of checked dependencies, current versions, and info on upgrade + breaking changes
183
+ * @param inaccessibleFiles array of files that could not be read or accessed
184
+ */
185
+ function createUpdateResp(versionMap, inaccessibleFiles) {
186
+ const name = 'the Slack SDK';
187
+ const releases = [];
188
+ const url = 'https://api.slack.com/future/changelog';
189
+ const fileErrorMsg = createFileErrorMsg(inaccessibleFiles);
190
+ let error = null;
191
+ let errorMsg = '';
192
+ let message = '';
193
+ // Output information for each dependency
194
+ for (const sdk of Object.values(versionMap)) {
195
+ // Dependency has an update OR the fetch of update failed
196
+ if (sdk) {
197
+ releases.push(sdk);
198
+ // Add the dependency that failed to be fetched to the top-level error message
199
+ if (sdk.error && sdk.error.message) {
200
+ errorMsg += errorMsg
201
+ ? `, ${sdk}`
202
+ : `An error occurred fetching updates for the following packages: ${sdk.name}`;
203
+ }
204
+ }
205
+ }
206
+ // Surface release notes for breaking changes
207
+ if (releases && releases[0] && releases[0].breaking) {
208
+ message = `Learn more about the breaking change at https://github.com/slackapi/bolt-js/releases/tag/@slack/bolt@${releases[0].latest}`;
209
+ }
210
+ // If there were issues accessing dependency files, append error message(s)
211
+ if (inaccessibleFiles.length) {
212
+ errorMsg += errorMsg ? `\n\n ${fileErrorMsg}` : fileErrorMsg;
213
+ }
214
+ if (errorMsg) {
215
+ error = { message: errorMsg };
216
+ }
217
+ return {
218
+ name,
219
+ message,
220
+ releases,
221
+ url,
222
+ error,
223
+ };
224
+ }
225
+ /**
226
+ * Returns error when dependency files cannot be read.
227
+ * @param inaccessibleFiles array of files that could not be read or accessed
228
+ */
229
+ function createFileErrorMsg(inaccessibleFiles) {
230
+ let fileErrorMsg = '';
231
+ // There were issues with reading some of the files that were found
232
+ for (const file of inaccessibleFiles) {
233
+ fileErrorMsg += fileErrorMsg
234
+ ? `\n ${file.name}: ${file.error.message}`
235
+ : `An error occurred while reading the following files: \n\n ${file.name}: ${file.error.message}`;
236
+ }
237
+ return fileErrorMsg;
238
+ }
239
+ /**
240
+ * Queries for current Bolt version of the project.
241
+ */
242
+ checkUpdateExports.getBoltCurrentVersion = async () => {
243
+ const stdout = await execWrapper('npm list @slack/bolt --depth=0 --json');
244
+ return stdout;
245
+ };
246
+ module.exports = {
247
+ checkForSDKUpdates,
248
+ getJSON,
249
+ getJSONFiles,
250
+ checkUpdateExports,
251
+ };
252
+ //# sourceMappingURL=get-check-update-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-check-update-data.js","sourceRoot":"","sources":["../../../src/cli/hook-utils/get-check-update-data.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=get-check-update-data.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-check-update-data.spec.d.ts","sourceRoot":"","sources":["../../../src/cli/hook-utils/get-check-update-data.spec.js"],"names":[],"mappings":""}