@hiver/connector-agent 4.18.0-slackm2-beta.1 → 4.18.0-slackm2-beta.3

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.
Files changed (44) hide show
  1. package/app/hig-slack/HigSlackSection.d.ts.map +1 -1
  2. package/app/hig-slack/style.d.ts +8 -1
  3. package/app/hig-slack/style.d.ts.map +1 -1
  4. package/context/react-query-client-provider/index.d.ts.map +1 -1
  5. package/features/slack/api/channels.d.ts +11 -7
  6. package/features/slack/api/channels.d.ts.map +1 -1
  7. package/features/slack/api/effective-config.d.ts +5 -1
  8. package/features/slack/api/effective-config.d.ts.map +1 -1
  9. package/features/slack/components/LinkedConversationPanel/Composer.d.ts.map +1 -1
  10. package/features/slack/components/LinkedConversationPanel/LinkedChannelHeader.d.ts.map +1 -1
  11. package/features/slack/components/LinkedConversationPanel/MessageItem.d.ts.map +1 -1
  12. package/features/slack/components/LinkedConversationPanel/index.d.ts.map +1 -1
  13. package/features/slack/components/LinkedConversationPanel/style.d.ts +5 -5
  14. package/features/slack/components/ReauthIllustration.d.ts +15 -0
  15. package/features/slack/components/ReauthIllustration.d.ts.map +1 -0
  16. package/features/slack/components/SlackConversationTab.d.ts.map +1 -1
  17. package/features/slack/components/SlackReauthScreen.d.ts +25 -0
  18. package/features/slack/components/SlackReauthScreen.d.ts.map +1 -0
  19. package/features/slack/components/StartModal/MentionTextarea.d.ts +4 -12
  20. package/features/slack/components/StartModal/MentionTextarea.d.ts.map +1 -1
  21. package/features/slack/components/StartModal/SlackChannelTab.d.ts +2 -0
  22. package/features/slack/components/StartModal/SlackChannelTab.d.ts.map +1 -1
  23. package/features/slack/components/StartModal/SlackThreadTab.d.ts.map +1 -1
  24. package/features/slack/components/StartModal/__tests__/MentionTextarea.test.d.ts +2 -0
  25. package/features/slack/components/StartModal/__tests__/MentionTextarea.test.d.ts.map +1 -0
  26. package/features/slack/components/StartModal/__tests__/SlackThreadTab.test.d.ts +2 -0
  27. package/features/slack/components/StartModal/__tests__/SlackThreadTab.test.d.ts.map +1 -0
  28. package/features/slack/components/StartModal/index.d.ts.map +1 -1
  29. package/features/slack/context.d.ts +9 -0
  30. package/features/slack/context.d.ts.map +1 -1
  31. package/features/slack/hooks/__tests__/useReauthStatusRefetch.test.d.ts +2 -0
  32. package/features/slack/hooks/__tests__/useReauthStatusRefetch.test.d.ts.map +1 -0
  33. package/features/slack/hooks/useReauthStatusRefetch.d.ts +32 -0
  34. package/features/slack/hooks/useReauthStatusRefetch.d.ts.map +1 -0
  35. package/features/slack/types/wire.d.ts +12 -0
  36. package/features/slack/types/wire.d.ts.map +1 -1
  37. package/features/slack/utils/format-timestamp.d.ts +1 -1
  38. package/features/slack/utils/format-timestamp.d.ts.map +1 -1
  39. package/features/slack/utils/render-mentions.d.ts +9 -5
  40. package/features/slack/utils/render-mentions.d.ts.map +1 -1
  41. package/index.es.js +8525 -8414
  42. package/index.umd.js +519 -494
  43. package/main-dev.d.ts.map +1 -1
  44. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"HigSlackSection.d.ts","sourceRoot":"","sources":["../../../src/app/hig-slack/HigSlackSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAkC,MAAM,OAAO,CAAC;AAQ3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAiCjE,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD;yEACqE;IACrE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAiNF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAIpD,CAAC"}
1
+ {"version":3,"file":"HigSlackSection.d.ts","sourceRoot":"","sources":["../../../src/app/hig-slack/HigSlackSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAkC,MAAM,OAAO,CAAC;AAQ3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAiCjE,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD;yEACqE;IACrE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AA4NF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAIpD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BoxProps, StackProps, TypographyProps } from '@hiver/hiver-ui-kit';
1
+ import { BoxProps, ButtonProps, StackProps, TypographyProps } from '@hiver/hiver-ui-kit';
2
2
  import { StyledComponent } from '@emotion/styled';
3
3
  /**
4
4
  * HigSlackSection accordion shell (§0 Addendum). The section must look
@@ -20,6 +20,13 @@ export declare const CountBadge: StyledComponent<BoxProps>;
20
20
  export declare const AccordionBody: StyledComponent<StackProps>;
21
21
  /** Invitational body copy shared by the connect / start-new states. */
22
22
  export declare const SectionBody: StyledComponent<TypographyProps>;
23
+ /**
24
+ * Start-new CTA for the section's connected/no-link state — Slack brand
25
+ * aubergine (#4a154b), matching the ConnectSlackButton and the HIG design.
26
+ * Section-scoped so it stays distinct from the shared blue PrimaryButton used
27
+ * by the full tab / reauth screen.
28
+ */
29
+ export declare const StartNewButton: StyledComponent<ButtonProps>;
23
30
  /** "Channel: #<name>" label/value row in the linked state. */
24
31
  export declare const ChannelRow: StyledComponent<BoxProps>;
25
32
  export declare const ChannelLabel: StyledComponent<TypographyProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/app/hig-slack/style.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,QAAQ,CAKnD,CAAC;AAEF;iDACiD;AACjD,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,QAAQ,CAarD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,QAAQ,CAKhD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,eAAe,CAMxD,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,QAAQ,CAehD,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,UAAU,CAGrD,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,eAAe,CAKxD,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,QAAQ,CAKhD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,CAAC,eAAe,CAMzD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,CAAC,eAAe,CASzD,CAAC;AAEF;4EAC4E;AAC5E,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,QAAQ,CAUjD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,QAAQ,CAoBnD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,UAAU,CAGnD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,eAAe,CAAC,QAAQ,CAKtD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,eAAe,CAS1D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,eAAe,CAMxD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,eAAe,CASxD,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,eAAe,CAWxD,CAAC"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/app/hig-slack/style.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,QAAQ,CAKnD,CAAC;AAEF;iDACiD;AACjD,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,QAAQ,CAarD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,QAAQ,CAKhD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,eAAe,CAMxD,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,QAAQ,CAehD,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,UAAU,CAGrD,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,eAAe,CASxD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,eAAe,CAAC,WAAW,CAoBvD,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,QAAQ,CAMhD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,CAAC,eAAe,CAMzD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,CAAC,eAAe,CASzD,CAAC;AAEF;4EAC4E;AAC5E,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,QAAQ,CAUjD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,QAAQ,CAoBnD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,UAAU,CAGnD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,eAAe,CAAC,QAAQ,CAKtD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,eAAe,CAS1D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,eAAe,CAMxD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,eAAe,CASxD,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,eAAe,CAWxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/react-query-client-provider/index.tsx"],"names":[],"mappings":"AAGA,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,wBAAwB,iBAAkB,uBAAuB,4CAGtE,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/react-query-client-provider/index.tsx"],"names":[],"mappings":"AAKA,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,wBAAwB,iBAAkB,uBAAuB,4CAyBtE,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -1,11 +1,15 @@
1
- import { SlackChannel } from '../types/wire';
1
+ import { SlackChannelsPage } from '../types/wire';
2
2
  /**
3
- * Lists Slack channels accessible to the signed-in agent. Backend
4
- * endpoint pending — UI uses MSW mock for now. Once backend ships,
5
- * the response shape should be `{ channels: SlackChannel[] }`.
3
+ * Lists Slack channels accessible to the signed-in agent (UI-3's existing-
4
+ * channel picker source).
6
5
  *
7
- * Drives UI-3's existing-channel picker. Cache the result for 60s
8
- * so opening the modal multiple times doesn't re-fetch.
6
+ * The backend serves this from a pre-warmed Redis channel directory. On a cold
7
+ * cache it returns the agent's own channels instantly with `warmState:
8
+ * 'warming'` while the full workspace directory loads in the background — so the
9
+ * list can be PARTIAL. We poll every few seconds while warming and stop once
10
+ * it's `ready`, so the picker fills in to the complete list without the agent
11
+ * waiting on the (rate-limited) full fetch up front. Once ready, the 60s
12
+ * staleTime means reopening the modal doesn't re-fetch.
9
13
  */
10
- export declare function useSlackChannels(): import('@tanstack/react-query').UseQueryResult<SlackChannel[], Error>;
14
+ export declare function useSlackChannels(): import('@tanstack/react-query').UseQueryResult<SlackChannelsPage, Error>;
11
15
  //# sourceMappingURL=channels.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/api/channels.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,0EAc/B"}
1
+ {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/api/channels.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAKrE;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,6EAqB/B"}
@@ -14,8 +14,12 @@ export interface EffectiveConfigResponse {
14
14
  * the hook called the endpoint without it and 422'd every time — the
15
15
  * caller (SlackConversationTab) now sources smId from SlackContext.
16
16
  *
17
+ * HIG conversations can span multiple shared mailboxes, so callers may
18
+ * also pass `smIds` — sent as repeated `sm_ids=` query params alongside
19
+ * the primary `sm_id`.
20
+ *
17
21
  * Lives on the agent side because every Slack panel mount calls it;
18
22
  * admin only consumes it from the Configure page to preview gating.
19
23
  */
20
- export declare function useSlackEffectiveConfig(smId: string): import('@tanstack/react-query').UseQueryResult<EffectiveConfigResponse, Error>;
24
+ export declare function useSlackEffectiveConfig(smId: string, smIds?: string[]): import('@tanstack/react-query').UseQueryResult<EffectiveConfigResponse, Error>;
21
25
  //# sourceMappingURL=effective-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"effective-config.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/api/effective-config.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,GAClB,WAAW,CAAC;AAEhB,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,kFAcnD"}
1
+ {"version":3,"file":"effective-config.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/api/effective-config.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,GAClB,WAAW,CAAC;AAEhB,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,kFAuBrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/LinkedConversationPanel/Composer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,EAAE,EAA+E,MAAM,OAAO,CAAC;AA+EvH,UAAU,aAAa;IACrB;oEACgE;IAChE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAChD;wEACoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;oDACgD;IAChD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;4CAEwC;IACxC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC;;;wEAGoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAsgBtC,CAAC"}
1
+ {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/LinkedConversationPanel/Composer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,EAAE,EAA+E,MAAM,OAAO,CAAC;AAgFvH,UAAU,aAAa;IACrB;oEACgE;IAChE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAChD;wEACoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;oDACgD;IAChD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;4CAEwC;IACxC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC;;;wEAGoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA4iBtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LinkedChannelHeader.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/LinkedConversationPanel/LinkedChannelHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAM3B,UAAU,wBAAwB;IAChC;sFACkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB;;8DAE0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAWD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CA4C5D,CAAC"}
1
+ {"version":3,"file":"LinkedChannelHeader.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/LinkedConversationPanel/LinkedChannelHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAM3B,UAAU,wBAAwB;IAChC;sFACkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB;;8DAE0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAYD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CA4C5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageItem.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/LinkedConversationPanel/MessageItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,EAAE,EAAqB,MAAM,OAAO,CAAC;AAU7D,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,6BAA6B,CAAC;AAgB/E,UAAU,gBAAgB;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB;wEACoE;IACpE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC;;kCAE8B;IAC9B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;2EACuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;gDAE4C;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAkDD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAyK5C,CAAC"}
1
+ {"version":3,"file":"MessageItem.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/LinkedConversationPanel/MessageItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,EAAE,EAAqB,MAAM,OAAO,CAAC;AAW7D,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,6BAA6B,CAAC;AAgB/E,UAAU,gBAAgB;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB;wEACoE;IACpE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC;;kCAE8B;IAC9B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;2EACuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;gDAE4C;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAkDD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAmL5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/LinkedConversationPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA8D,MAAM,OAAO,CAAC;AA8BvF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,uBAAuB,EAAE,EA4frC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/LinkedConversationPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA8D,MAAM,OAAO,CAAC;AA+BvF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,uBAAuB,EAAE,EAsgBrC,CAAC"}
@@ -142,11 +142,11 @@ export declare const MessageHeaderRow: StyledComponent<StackProps & {
142
142
  export declare const ReactionsRow: StyledComponent<BoxProps>;
143
143
  /**
144
144
  * One reaction pill (Figma 683:671874 "Emoji states") — a fully-rounded
145
- * chip holding a 12px emoji glyph + the reactor count. Neutral fill by
146
- * default; the viewer's own reactions get the primary blue wash + hairline
147
- * border (the component's "reacted" state). Display-only in M1, so no
148
- * hover/cursor affordance. The 1px transparent base border keeps the box
149
- * the same size whether or not the self-border is shown.
145
+ * chip holding a 12px emoji glyph + the reactor count. Uniform neutral
146
+ * slate-100 fill with no border for every reaction (the viewer's own
147
+ * reactions are distinguished by their tooltip, not a colour wash).
148
+ * Display-only in M1, so no hover/cursor affordance. The 1px transparent
149
+ * border is kept only to hold the box geometry stable.
150
150
  */
151
151
  export declare const ReactionPill: StyledComponent<BoxProps>;
152
152
  export {};
@@ -0,0 +1,15 @@
1
+ import { FC } from 'react';
2
+ /**
3
+ * Illustration for the Slack tab's re-auth-required state — the
4
+ * designer-exported "broken connection" composition (the Hiver ⇄ Slack
5
+ * app cards with a snapped cord + broken-link glyph between them). Figma
6
+ * frame 1304:49822 ("Frame 1618872655", auth-failed variant) in the
7
+ * Internal-Collaboration Slack file.
8
+ *
9
+ * Mirrors HeroIllustration: rendered at its natural width (capped) and
10
+ * centered above the body copy + Re-authenticate CTA.
11
+ */
12
+ export declare const ReauthIllustration: FC<{
13
+ width?: number;
14
+ }>;
15
+ //# sourceMappingURL=ReauthIllustration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReauthIllustration.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/components/ReauthIllustration.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAM3B;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAQrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SlackConversationTab.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/components/SlackConversationTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAoC,MAAM,OAAO,CAAC;AAuB7D,UAAU,yBAAyB;IACjC;;oDAEgD;IAChD,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC;AAiCD,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CAwK9D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"SlackConversationTab.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/components/SlackConversationTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAoC,MAAM,OAAO,CAAC;AAwB7D,UAAU,yBAAyB;IACjC;;oDAEgD;IAChD,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC;AAuCD,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CA2M9D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { FC } from 'react';
2
+ import { ITrackingData } from '../../../context';
3
+ interface SlackReauthScreenProps {
4
+ connectorId: string;
5
+ /** Gainsight sink, threaded from SlackContext by the tab. */
6
+ sendTrackingEvent?: (event: string, data?: ITrackingData) => void;
7
+ }
8
+ /**
9
+ * Re-authentication-required screen — Figma frame 1304:49821
10
+ * (Conversation_Open, auth-failed variant).
11
+ *
12
+ * Shown inline in the Slack tab body when the agent's Slack user-token has
13
+ * expired or been revoked (user-auth state `reauth_required`). Unlike
14
+ * first-time connect — which uses the <SlackConnectModal> overlay — this is
15
+ * a full-tab state: the broken Hiver⇄Slack illustration, a single line of
16
+ * copy, and a blue Re-authenticate CTA.
17
+ *
18
+ * The CTA runs the EXACT same OAuth popup + status-poll as first connect
19
+ * (useUserAuthFlow.connect). While the popup is open (in_progress) the card
20
+ * swaps to a "Reconnecting…" state so it doesn't flash the failed copy; on
21
+ * success the tab re-renders to the linked/ready panel.
22
+ */
23
+ export declare const SlackReauthScreen: FC<SlackReauthScreenProps>;
24
+ export default SlackReauthScreen;
25
+ //# sourceMappingURL=SlackReauthScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackReauthScreen.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/components/SlackReauthScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AAKxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAO/C,UAAU,sBAAsB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;CACnE;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAmCxD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -6,22 +6,14 @@ interface MentionTextareaProps {
6
6
  * mentions rewritten to `<@user_id>`) so the parent can show one and
7
7
  * post the other. */
8
8
  onChange: (displayText: string, slackText: string) => void;
9
- /** Slack channel the agent picked in the Start flow. Members are fetched
10
- * for this channel (no link exists yet, so we can't resolve via the conv).
11
- * Mentions are disabled until a channel is selected. */
12
- channelId: string | null;
13
9
  placeholder?: string;
14
10
  autoFocus?: boolean;
15
11
  }
16
12
  /**
17
- * Bug 1 — message field for the Start flow that resolves @-mentions to real
18
- * Slack mentions, mirroring the thread-reply Composer. Without this the Start
19
- * compose posted "@name" as literal text and nobody was notified.
20
- *
21
- * Controlled: the parent owns the draft string (so Cancel can reset it — see
22
- * Bug 8). This component owns only the transient mention map + picker state,
23
- * and reuses the shared MentionPicker + mention helpers so keyboard nav
24
- * (Bug 4) and `<@id>` conversion behave identically in both composers.
13
+ * Message field for the Start flow (thread + channel tabs) that resolves
14
+ * @-mentions to real Slack `<@id>` mentions. The picker searches the whole
15
+ * workspace roster (useWorkspaceUsers) so the agent can tag anyone, regardless
16
+ * of which channel is picked/created. Controlled — the parent owns the draft.
25
17
  */
26
18
  export declare const MentionTextarea: FC<MentionTextareaProps>;
27
19
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"MentionTextarea.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/StartModal/MentionTextarea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAoE,MAAM,OAAO,CAAC;AAgB7F,UAAU,oBAAoB;IAC5B,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd;;0BAEsB;IACtB,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D;;6DAEyD;IACzD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAwJpD,CAAC"}
1
+ {"version":3,"file":"MentionTextarea.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/StartModal/MentionTextarea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAoE,MAAM,OAAO,CAAC;AAmB7F,UAAU,oBAAoB;IAC5B,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd;;0BAEsB;IACtB,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAwIpD,CAAC"}
@@ -13,6 +13,8 @@ export interface ChannelFormValues {
13
13
  channelType: 'public' | 'private';
14
14
  members: SlackUser[];
15
15
  message: string;
16
+ /** `message` with picked @mentions rewritten to `<@id>` — posted so they notify. */
17
+ messageSlack: string;
16
18
  }
17
19
  interface SlackChannelTabProps {
18
20
  values: ChannelFormValues;
@@ -1 +1 @@
1
- {"version":3,"file":"SlackChannelTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/StartModal/SlackChannelTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAM7D;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC7C;AA6BD,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAqCpD,CAAC"}
1
+ {"version":3,"file":"SlackChannelTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/StartModal/SlackChannelTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAO7D;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC7C;AAmCD,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAsCpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SlackThreadTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/StartModal/SlackThreadTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA4B,MAAM,OAAO,CAAC;AAarD,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,wEAAwE;IACxE,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAwFlD,CAAC"}
1
+ {"version":3,"file":"SlackThreadTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/StartModal/SlackThreadTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA4B,MAAM,OAAO,CAAC;AAcrD,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,wEAAwE;IACxE,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAmGlD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MentionTextarea.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MentionTextarea.test.d.ts","sourceRoot":"","sources":["../../../../../../src/features/slack/components/StartModal/__tests__/MentionTextarea.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SlackThreadTab.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackThreadTab.test.d.ts","sourceRoot":"","sources":["../../../../../../src/features/slack/components/StartModal/__tests__/SlackThreadTab.test.tsx"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/StartModal/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAyB,MAAM,OAAO,CAAC;AA+BlD,UAAU,eAAe;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;6DACyD;IACzD,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAID;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAoM1C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/StartModal/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAyB,MAAM,OAAO,CAAC;AAgClD,UAAU,eAAe;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;6DACyD;IACzD,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAID;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAmN1C,CAAC"}
@@ -21,6 +21,15 @@ export interface SlackContextData {
21
21
  * non-personal inbox in outlook-ui's case).
22
22
  */
23
23
  smId: string;
24
+ /**
25
+ * All shared mailbox ids this conversation belongs to. Unlike `smId`
26
+ * (a single SM), HIG conversations can span multiple shared mailboxes,
27
+ * so the host passes the full set here and the effective-config
28
+ * endpoint receives them as repeated `sm_ids=` query params alongside
29
+ * the primary `sm_id`. Optional — only HIG mounts set it; Omni / dev /
30
+ * test mounts fall back to the single `smId`.
31
+ */
32
+ smIds?: string[];
24
33
  isAdmin: boolean;
25
34
  /**
26
35
  * Gainsight tracking sink, injected by the host (outlook-ui passes
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/features/slack/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACrH;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,CAErF,CAAC;AAKF,eAAO,MAAM,eAAe,QAAO,gBAMlC,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/features/slack/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACrH;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,CAErF,CAAC;AAKF,eAAO,MAAM,eAAe,QAAO,gBAMlC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useReauthStatusRefetch.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReauthStatusRefetch.test.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/hooks/__tests__/useReauthStatusRefetch.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * True when an error is Slack rejecting the agent's own user-token:
3
+ * - 401 { reason: 'slack_invalid_auth' } — a live invalid_auth /
4
+ * token_revoked / token_expired on an agent action.
5
+ * - 412 { reason: 'user_slack_auth_missing' } — the connector was
6
+ * already flagged reauth_required, so the resolver short-circuits
7
+ * before hitting Slack.
8
+ *
9
+ * The slack-agent controller raises these via FastAPI `HTTPException(
10
+ * detail={reason, ...})`, which serialises as `{ detail: { reason } }` —
11
+ * NOT a top-level `reason`. (The generic user-tier resolver's
12
+ * UserAuthRequiredHandler does return a top-level `reason`.) We read
13
+ * `detail.reason` first and fall back to the top level so BOTH shapes
14
+ * match. Reading `err.response` defensively (rather than gating on
15
+ * axios's `isAxiosError`, which can return false across bundled axios
16
+ * instances) mirrors how StartModal's handleSubmitError reads the body.
17
+ */
18
+ export declare const isSlackAuthError: (err: unknown) => boolean;
19
+ /**
20
+ * Returns a callback that refetches the agent's user-auth status by
21
+ * invalidating its query. Used for mid-session token death: the backend
22
+ * flips the connector to `reauth_required` in the SAME request that 401s
23
+ * (the mark lands before the response is sent), so the refetch returns
24
+ * `reauth_required` and SlackConversationTab swaps in the inline re-auth
25
+ * screen — no remount needed.
26
+ *
27
+ * Call it from an action's error handler (guarded by isSlackAuthError) or
28
+ * directly when the conversation payload reports the viewer is no longer
29
+ * connected (viewerPostBlockReason === 'slack_not_connected').
30
+ */
31
+ export declare function useReauthStatusRefetch(): () => void;
32
+ //# sourceMappingURL=useReauthStatusRefetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReauthStatusRefetch.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/hooks/useReauthStatusRefetch.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,QAAS,OAAO,KAAG,OAS/C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,IAAI,CAMnD"}
@@ -202,4 +202,16 @@ export interface SlackChannel {
202
202
  isPrivate: boolean;
203
203
  isMember: boolean;
204
204
  }
205
+ /**
206
+ * GET /channels response. The backend serves the picker from a pre-warmed Redis
207
+ * channel directory; `warmState` tells us whether that directory is fully built:
208
+ * - 'warming': the list may be PARTIAL (a cold cache returns the agent's own
209
+ * channels instantly while the full workspace directory loads) — keep polling.
210
+ * - 'ready': the list is complete.
211
+ * - null/undefined: older backend (or the live fallback) — always complete.
212
+ */
213
+ export interface SlackChannelsPage {
214
+ channels: SlackChannel[];
215
+ warmState?: 'warming' | 'ready' | null;
216
+ }
205
217
  //# sourceMappingURL=wire.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/types/wire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/types/wire.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const formatTime: (timestamp: string) => string;
1
+ export declare const formatTime: (timestamp: string, compact?: boolean) => string;
2
2
  export declare const formatAbsoluteTime: (timestamp: string) => string;
3
3
  //# sourceMappingURL=format-timestamp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format-timestamp.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/utils/format-timestamp.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,UAAU,cAAe,MAAM,KAAG,MAI9C,CAAC;AAKF,eAAO,MAAM,kBAAkB,cAAe,MAAM,KAAG,MAKtD,CAAC"}
1
+ {"version":3,"file":"format-timestamp.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/utils/format-timestamp.ts"],"names":[],"mappings":"AA4CA,eAAO,MAAM,UAAU,cAAe,MAAM,wBAAoB,MAQ/D,CAAC;AAKF,eAAO,MAAM,kBAAkB,cAAe,MAAM,KAAG,MAKtD,CAAC"}
@@ -2,14 +2,18 @@ import { ReactNode } from 'react';
2
2
  /**
3
3
  * Display-only: render Slack's raw `<@USER_ID>` mention tokens. A token
4
4
  * whose id resolves to a known channel member becomes a `@DisplayName`
5
- * rendered in medium weight (500) but the SAME colour as the surrounding
6
- * body text — it inherits, no colour override. An UNRESOLVED id renders as
7
- * plain `@<id>`. The stored/edited text keeps the raw token so a re-send
8
- * preserves the real Slack mention.
5
+ * rendered in medium weight (500). By default it keeps the SAME colour as
6
+ * the surrounding body text (inherits, no override); when `highlight` is set
7
+ * the resolved name is painted in the Figma "Blue/Text/Body" mention colour.
8
+ * An UNRESOLVED id renders as plain `@<id>`. The stored/edited text keeps the
9
+ * raw token so a re-send preserves the real Slack mention.
10
+ *
11
+ * `highlight` is gated on the `boxedMessages` flag at the call sites so the
12
+ * coloured mention is HIG-only and other surfaces keep the inherited colour.
9
13
  *
10
14
  * Shared by `MessageItem` (the full linked-conv panel rows) and the HIG
11
15
  * `HigSlackSection` last-message preview so the two never drift — the
12
16
  * section reuses this renderer rather than re-implementing it (§0 Addendum).
13
17
  */
14
- export declare const renderTextWithMentions: (text: string, names?: Map<string, string>) => ReactNode[];
18
+ export declare const renderTextWithMentions: (text: string, names?: Map<string, string>, highlight?: boolean) => ReactNode[];
15
19
  //# sourceMappingURL=render-mentions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-mentions.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/utils/render-mentions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,SAAU,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,SAAS,EAwB3F,CAAC"}
1
+ {"version":3,"file":"render-mentions.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/utils/render-mentions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,SAAU,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,OAAO,KAAG,SAAS,EAwBhH,CAAC"}