@worktango/ai-assistant 0.0.1 → 0.0.2-beta-gd1
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 +107 -6
- package/backendTypes.ts +268 -0
- package/constants.js +80 -0
- package/dist/Absenteeism-CuAiko3K.mjs +49 -0
- package/dist/ActivityFeed-B5X9Mfzs.mjs +41 -0
- package/dist/AddUser-BubC1Bl4.mjs +128 -0
- package/dist/Admin-Bmgrl4WC.mjs +55 -0
- package/dist/Admin-DqXQsgLG.mjs +70 -0
- package/dist/AiGeneral-BsRIX0CM.mjs +43 -0
- package/dist/AiScoring-H0QPuaNp.mjs +67 -0
- package/dist/AiText-C2qpOSbA.mjs +67 -0
- package/dist/Anniversary-qS0JDQno.mjs +35 -0
- package/dist/Appreciation-BMIRAaKV.mjs +55 -0
- package/dist/ArrowDown-Cir_11Ww.mjs +38 -0
- package/dist/ArrowLeft-BAqK-dnx.mjs +12 -0
- package/dist/ArrowRight-BPwQdxlE.mjs +12 -0
- package/dist/ArrowUp-DSYPXtix.mjs +31 -0
- package/dist/Attachment-D_89MWP-.mjs +20 -0
- package/dist/BeQuickDontHurry-Sdm5xWSX.mjs +94 -0
- package/dist/Birthday-Cmij06yx.mjs +66 -0
- package/dist/BrandPromise-CX53V3fL.mjs +57 -0
- package/dist/BrandVision-DbY0Rl5r.mjs +96 -0
- package/dist/Calendar-B9Poro9L.mjs +24 -0
- package/dist/CaretDn-DjPWxbY8.mjs +11 -0
- package/dist/CaretDown-DeKyH9kO.mjs +5 -0
- package/dist/CaretLeft-B113ZU-j.mjs +11 -0
- package/dist/CaretRight-DM-6XyZF.mjs +11 -0
- package/dist/CaretUp-CYuaI2Bm.mjs +11 -0
- package/dist/ChallengeAccepted-1cTHTPo0.mjs +49 -0
- package/dist/CheckIn-3Nfsk5oT.mjs +34 -0
- package/dist/CheckIns-BLgmmnox.mjs +33 -0
- package/dist/CheckSeal-BphC125F.mjs +31 -0
- package/dist/Checkmark-DKHU3qCJ.mjs +16 -0
- package/dist/Clock-NbUQnxYW.mjs +33 -0
- package/dist/Close-BscvWpF4.mjs +12 -0
- package/dist/CloudDownload-DkQrhuWv.mjs +40 -0
- package/dist/Comment-CZk5Lk7d.mjs +167 -0
- package/dist/Comments-D-Lz0XLl.mjs +48 -0
- package/dist/Connections-BEoj8G_O.mjs +49 -0
- package/dist/Copy-B3pKItuB.mjs +72 -0
- package/dist/CustomQuestion-D5WtxIAe.mjs +40 -0
- package/dist/CustomerSuccess-Ctg9iAvH.mjs +50 -0
- package/dist/DatePicker-BgYtdpM6.mjs +303 -0
- package/dist/Dot-C12qCBJh.mjs +12 -0
- package/dist/Download-Bi7AwcX_.mjs +38 -0
- package/dist/Drag-D8uEUuyy.mjs +41 -0
- package/dist/DragIndicator-vsZFDT1S.mjs +12 -0
- package/dist/Earn-eoNxiFKF.mjs +15 -0
- package/dist/Email-CfdtKKpS.mjs +24 -0
- package/dist/EmojiDisplay-DWeK3eWd.mjs +38975 -0
- package/dist/EmojiPicker-BoDN-GVX.mjs +29560 -0
- package/dist/EnpsSurvey-1povxvGk.mjs +49 -0
- package/dist/Expired-kwpsq7dE.mjs +33 -0
- package/dist/Eye-B6z0dzgP.mjs +27 -0
- package/dist/Feedback-CV-T1EA3.mjs +41 -0
- package/dist/Feedback-Cb7jIXSH.mjs +49 -0
- package/dist/Filter-8sxkwh1N.mjs +64 -0
- package/dist/Flag-CntrQmRY.mjs +35 -0
- package/dist/Giphy-MaNHdkAv.mjs +22 -0
- package/dist/GoalCount-BY154kkv.mjs +10 -0
- package/dist/GoalPercent-BRzZG4Xj.mjs +21 -0
- package/dist/GoalTask-Bbdxra-C.mjs +20 -0
- package/dist/GoalTask-CQQziW53.mjs +42 -0
- package/dist/Goals-HmCYQeMJ.mjs +70 -0
- package/dist/Goals-Q3pIFD6u.mjs +79 -0
- package/dist/Growth-DE39Oniv.mjs +85 -0
- package/dist/Hamburger-BHn5s95p.mjs +9 -0
- package/dist/Help-BcQQwdw7.mjs +36 -0
- package/dist/HighFive-D8PsCd5X.mjs +38 -0
- package/dist/HighFive-D_D4cpVC.mjs +33 -0
- package/dist/Home-CI5tkvjJ.mjs +21 -0
- package/dist/Home-toyH6nRq.mjs +31 -0
- package/dist/HorizontalLine-DB7rYyci.mjs +17 -0
- package/dist/Hourglass-DxYMZPi1.mjs +53 -0
- package/dist/Image-ConUoLpH.mjs +41 -0
- package/dist/ImageFile-Bz7J0mt7.mjs +60 -0
- package/dist/InGoodCompany-DxXMCXkz.mjs +33 -0
- package/dist/Incentives-DSX-kHnf.mjs +155 -0
- package/dist/Info-BVCb--pE.mjs +31 -0
- package/dist/Insights-DGtpV7vl.mjs +41 -0
- package/dist/Insights-DHqGpH01.mjs +20 -0
- package/dist/Integrations-Ba3Lo9gy.mjs +33 -0
- package/dist/KazooLogo-BT7YZMt2.mjs +38 -0
- package/dist/KnowYourAudience-B_RlVbB2.mjs +91 -0
- package/dist/Launch-DyQpuj07.mjs +83 -0
- package/dist/Link-BLWdkQvZ.mjs +43 -0
- package/dist/LinkArrow-CE3JoMD9.mjs +12 -0
- package/dist/Loading-CfksjkIK.mjs +6 -0
- package/dist/Lock-Do1k-9WN.mjs +31 -0
- package/dist/Management-CBYOk7gX.mjs +87 -0
- package/dist/MeatballMenu-B4pnE2jx.mjs +9 -0
- package/dist/MediaError-C5NtgYKI.mjs +40 -0
- package/dist/Messages-D9xpFBa2.mjs +221 -0
- package/dist/Microphone-BxKhLspD.mjs +63 -0
- package/dist/Mobile-B27QajLf.mjs +31 -0
- package/dist/Nomination-pSgVJG6H.mjs +12 -0
- package/dist/NominationsAndAwards-FjoFycwm.mjs +57 -0
- package/dist/Notification-DTKKHOUU.mjs +28 -0
- package/dist/Okrs-Cx3DS3C9.mjs +55 -0
- package/dist/Pause-B5sFk5Rh.mjs +12 -0
- package/dist/PeerToPeer-QPdnKvGn.mjs +64 -0
- package/dist/Pencil-BbmC1cJS.mjs +25 -0
- package/dist/People-BxnU8Z05.mjs +43 -0
- package/dist/PerformanceManagement-BLZfPkTX.mjs +57 -0
- package/dist/Pin-DeOFNuHd.mjs +24 -0
- package/dist/PinnedIconAward-BxgSnJf_.mjs +20 -0
- package/dist/PinnedIconBrightIdea-BPkLUs1e.mjs +20 -0
- package/dist/PinnedIconBullseye-DxfWzALv.mjs +36 -0
- package/dist/PinnedIconChampagne-BajLXSTD.mjs +20 -0
- package/dist/PinnedIconCheer-CDXwPi5_.mjs +20 -0
- package/dist/PinnedIconCrown-DW0xXG6F.mjs +20 -0
- package/dist/PinnedIconDiamond-BBexCsja.mjs +20 -0
- package/dist/PinnedIconHoleInOne-Bvd8LwZd.mjs +20 -0
- package/dist/PinnedIconMedal-CNwdAQ6f.mjs +20 -0
- package/dist/PinnedIconMetrics-BGrgQYes.mjs +20 -0
- package/dist/PinnedIconPin-C5rf2L5-.mjs +20 -0
- package/dist/PinnedIconRockAndRoll-BJr0GFBC.mjs +23 -0
- package/dist/PinnedIconRocket-D-mWFglo.mjs +20 -0
- package/dist/PinnedIconStrength-C65sHChH.mjs +20 -0
- package/dist/PinnedIconTeddyBear-Dx6rjj0F.mjs +20 -0
- package/dist/PlatformLogo-C8jT1pTg.mjs +57 -0
- package/dist/Plus-yM1jlKOj.mjs +19 -0
- package/dist/Popper-BVVjK1ai.mjs +1118 -0
- package/dist/PrivateEye-CkBX7r_4.mjs +127 -0
- package/dist/PrivatePushPin-Bp_WTQS6.mjs +33 -0
- package/dist/Processing-CNd1Y61-.mjs +80 -0
- package/dist/Productivity-CSFF_TTn.mjs +41 -0
- package/dist/ProgressCircle-CLSKP2Gl.mjs +12 -0
- package/dist/PulseSurvey-CsL6WZdI.mjs +48 -0
- package/dist/PushPin-Bu-auPnk.mjs +18 -0
- package/dist/QuotesLeft-BWpNDBal.mjs +18 -0
- package/dist/QuotesRight-BpBh5mG9.mjs +18 -0
- package/dist/Recognition-4MknR18w.mjs +76 -0
- package/dist/Recognition-BI46J6ho.mjs +38 -0
- package/dist/Retention-HYeKh30a.mjs +47 -0
- package/dist/Rewards-C1aRZ0ot.mjs +54 -0
- package/dist/Rewards-U4ogz8U4.mjs +67 -0
- package/dist/RewardsCatalog-gfuBQBZf.mjs +49 -0
- package/dist/Roadmap-BlWzZybo.mjs +122 -0
- package/dist/Search-CJKwg6fG.mjs +14 -0
- package/dist/Security-DG-tKQmP.mjs +33 -0
- package/dist/SendRecognition-DYsixh4T.mjs +5 -0
- package/dist/ShareLink-Guocx8fQ.mjs +27 -0
- package/dist/SidebarCollapse-BeAh_fr2.mjs +48 -0
- package/dist/Skill-0jXs--Pa.mjs +23 -0
- package/dist/Skills--kXnMP25.mjs +68 -0
- package/dist/Smiley-Cby6kWK-.mjs +84 -0
- package/dist/Stop-Dsa1AnGS.mjs +178 -0
- package/dist/Survey-Cizp4n_t.mjs +59 -0
- package/dist/Surveys-Cu1FymdO.mjs +54 -0
- package/dist/SyncUps-D804GfQz.mjs +30 -0
- package/dist/Syncs-DQ-919jk.mjs +29 -0
- package/dist/TalentReview-CiuvS5J3.mjs +88 -0
- package/dist/TalentReview-f8Q0mOBN.mjs +33 -0
- package/dist/TalentReviewInsights-DgBVuH3k.mjs +100 -0
- package/dist/TaskCompleted-D5rrMYYp.mjs +97 -0
- package/dist/Team-BncNuLPP.mjs +63 -0
- package/dist/Teams-BRogz9Tn.mjs +80 -0
- package/dist/TextBold-DJ5W6YOb.mjs +71 -0
- package/dist/TextBulletList-g-kVni4u.mjs +128 -0
- package/dist/TextInput-CzbxrQQV.mjs +121 -0
- package/dist/TextItalic-Bx9VLcRy.mjs +71 -0
- package/dist/TextNumberList-BbbGvl-u.mjs +147 -0
- package/dist/TextUnderline-CQkl5YOg.mjs +90 -0
- package/dist/ThumbsDown-Dc1PkDCJ.mjs +46 -0
- package/dist/ThumbsUp-Bgu_lYD4.mjs +46 -0
- package/dist/Toggle-BXUhrGpw.mjs +76 -0
- package/dist/Translate-Bi7IGF68.mjs +98 -0
- package/dist/Trash-DWu72EZ6.mjs +44 -0
- package/dist/TrendDown-BC-9pZum.mjs +5 -0
- package/dist/TrendUp-Dz-IKKdW.mjs +5 -0
- package/dist/Undo-CmGObnDk.mjs +41 -0
- package/dist/Unplugged-Be-cdep6.mjs +201 -0
- package/dist/UpDownCaret-BvKpox10.mjs +12 -0
- package/dist/VerifiedCheckmark-DKolIbtV.mjs +20 -0
- package/dist/VerticalLine-BivXZNlq.mjs +50 -0
- package/dist/Warning-BarF7LSj.mjs +37 -0
- package/dist/WarningNoOutline-DWSpFbfu.mjs +41 -0
- package/dist/YesAnd-C4WGIC0q.mjs +31 -0
- package/dist/ai-assistant.css +1 -0
- package/dist/emoji-CQ3lkPBy.mjs +2310 -0
- package/dist/express.js +11889 -0
- package/dist/html2canvas.esm-DgdJBc_o.mjs +4871 -0
- package/dist/index-BEKNcH9V.mjs +721 -0
- package/dist/react-apexcharts.min-B2cJmFLN.mjs +11326 -0
- package/dist/react.js +15 -0
- package/dist/react.umd.js +1691 -0
- package/dist/reactComponent-2MdwkH_N.mjs +43968 -0
- package/express.d.ts +88 -1
- package/generated/apiHooks.tsx +5644 -0
- package/generated/sdk.ts +5119 -0
- package/generated/stitchedSdk.ts +1174 -0
- package/package.json +46 -21
- package/react.d.ts +215 -0
- package/sharedTypes.ts +386 -0
- package/express.js +0 -1
- package/react.js +0 -1
package/README.md
CHANGED
|
@@ -3,16 +3,18 @@
|
|
|
3
3
|
A React component for embedding the WorkTango AI Assistant in your web application.
|
|
4
4
|
|
|
5
5
|
In scope:
|
|
6
|
+
- Voice to text, text to voice, and text-only chat interfaces
|
|
6
7
|
- Single-stream back-and-forth UI between an LLM and a user, similar to popular LLM AI assistant UIs
|
|
7
|
-
- Standardized API for
|
|
8
|
+
- Standardized API for consumers to hook into the chat and provide new guidance for the session, add instructions, contextual information, and other things to make the assistant more useful, or tailored to a specific feature or user
|
|
8
9
|
- Standardized API for tool calls, with multiple layers of fulfillment (e.g., client fulfilled; sourceServerFulfilled; proxyServerFulfilled)
|
|
9
10
|
- Consistent styling across WorkTango apps
|
|
10
11
|
- Embeddable in any React application
|
|
11
12
|
- Consistent with our other React components
|
|
12
13
|
|
|
13
14
|
Out of scope (for now):
|
|
14
|
-
-
|
|
15
|
+
- Chat session history management
|
|
15
16
|
- User authentication (we provide a server-to-server proxy middleware for that; this should only work for logged-in users)
|
|
17
|
+
- Unauthenticated users and LLM sessions (low chance we will ever even need this)
|
|
16
18
|
- Anything else not explicitly mentioned in the scope section, above
|
|
17
19
|
|
|
18
20
|
## Installation
|
|
@@ -25,20 +27,119 @@ yarn add @worktango/ai-assistant
|
|
|
25
27
|
|
|
26
28
|
## Usage
|
|
27
29
|
|
|
30
|
+
### Code generation
|
|
31
|
+
|
|
32
|
+
Our normal code generation can be used in this API, but with one caveat: this package may not use the normal GraphQL hooks when fulfilling tool calls. (You may still use hooks to do other operations, like upload metadata, chat history, etc.) Instead, use the `packages/ai-assistant/src/frontend/tools/generatedSdks.ts` map to access our strongly-typed SDKs.
|
|
33
|
+
|
|
34
|
+
For more information on code generation, see the [GraphQL README](../graphql/README.md).
|
|
35
|
+
|
|
36
|
+
In short:
|
|
37
|
+
|
|
38
|
+
1. Add the package you want to query to `dependencies` in this package
|
|
39
|
+
2. Write the appropriate query in this package's `queries` directory
|
|
40
|
+
3. Run `yarn generate:gql`.
|
|
41
|
+
|
|
42
|
+
Your generated code will be in `packages/ai-assistant/generated`.
|
|
43
|
+
|
|
44
|
+
Also note that _we commit generated files_, since they are path agnostic and have saved hundreds of hours of build times over the years.
|
|
45
|
+
|
|
28
46
|
### React Applications
|
|
29
47
|
|
|
30
48
|
```jsx
|
|
31
49
|
import { AiAssistant } from "@worktango/ai-assistant/react";
|
|
50
|
+
import "@worktango/ai-assistant/dist/ai-assistant.css";
|
|
32
51
|
|
|
33
52
|
function App() {
|
|
53
|
+
return (<AiAssistant />);
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Note:** You must import the CSS file to ensure components are styled correctly. This includes components like `GenAIRatingComponentApolloWrapped`.
|
|
58
|
+
|
|
59
|
+
### Using GenAIRatingComponentApolloWrapped
|
|
60
|
+
|
|
61
|
+
The `GenAIRatingComponentApolloWrapped` component allows users to rate AI-generated content (e.g., survey summaries, comments summaries). It can be used outside the AI Assistant context.
|
|
62
|
+
|
|
63
|
+
**Important:** You must configure the bearer token strategy before using this component. This is typically done once at your app's initialization:
|
|
64
|
+
|
|
65
|
+
```tsx
|
|
66
|
+
import { config } from "@worktango/ai-assistant/react";
|
|
67
|
+
import { getAccessToken } from './your-auth-module';
|
|
68
|
+
|
|
69
|
+
// In your root component or app initialization
|
|
70
|
+
React.useEffect(() => {
|
|
71
|
+
config.setPulseBearerTokenStrategy(() => getAccessToken() ?? '');
|
|
72
|
+
}, []);
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Once configured, you can use the component anywhere in your app:
|
|
76
|
+
|
|
77
|
+
```tsx
|
|
78
|
+
import { GenAIRatingComponentApolloWrapped } from "@worktango/ai-assistant/react";
|
|
79
|
+
import "@worktango/ai-assistant/dist/ai-assistant.css";
|
|
80
|
+
|
|
81
|
+
function MyComponent() {
|
|
34
82
|
return (
|
|
35
|
-
<
|
|
36
|
-
|
|
37
|
-
|
|
83
|
+
<GenAIRatingComponentApolloWrapped
|
|
84
|
+
responseType="SURVEY_SUMMARY"
|
|
85
|
+
responseId="123"
|
|
86
|
+
genAiMessage="This is the AI-generated summary..."
|
|
87
|
+
genAiMessageTimestamp="2026-01-28T12:00:00Z"
|
|
88
|
+
aiResponseRating={existingRating} // Optional: existing rating data
|
|
89
|
+
/>
|
|
38
90
|
);
|
|
39
91
|
}
|
|
40
92
|
```
|
|
41
93
|
|
|
94
|
+
## Testing
|
|
95
|
+
|
|
96
|
+
To test whether a change might break the build when this application is deployed on another server, you can test it in this repository in the following ways:
|
|
97
|
+
|
|
98
|
+
**Testing just the UI**
|
|
99
|
+
|
|
100
|
+
If you just made UI changes, you can rename `packages/ai-assistant/react.ts` to `_react.ts`; and `react.public.js` to `react.js`. Then, run `yarn build:all` in this package. Once you do that, when you restart the development server, webpack will use the `react.js` file to load the component over at `/admin/ai-assistant`, and use the fully bundled React component to do so.
|
|
101
|
+
|
|
102
|
+
**Testing locally with pulse-web**
|
|
103
|
+
|
|
104
|
+
To test changes in pulse-web before publishing to npm, use `yarn link`:
|
|
105
|
+
|
|
106
|
+
1. **Register the package for linking in kazoo-web:**
|
|
107
|
+
```bash
|
|
108
|
+
cd /path/to/kazoo-web/packages/ai-assistant
|
|
109
|
+
yarn link
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
This registers `@worktango/ai-assistant` globally for linking.
|
|
113
|
+
|
|
114
|
+
2. **Link the package in pulse-web:**
|
|
115
|
+
```bash
|
|
116
|
+
cd /path/to/pulse-web
|
|
117
|
+
yarn link @worktango/ai-assistant
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
This creates a symlink from pulse-web's `node_modules` to your local kazoo-web package.
|
|
121
|
+
|
|
122
|
+
3. **Build the package after making changes:**
|
|
123
|
+
|
|
124
|
+
After any code changes in kazoo-web:
|
|
125
|
+
```bash
|
|
126
|
+
cd /path/to/kazoo-web/packages/ai-assistant
|
|
127
|
+
yarn build:all
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Restart your pulse-web dev server to pick up the changes.
|
|
131
|
+
|
|
132
|
+
4. **When done testing:**
|
|
133
|
+
|
|
134
|
+
Unlink the package in pulse-web:
|
|
135
|
+
```bash
|
|
136
|
+
cd /path/to/pulse-web
|
|
137
|
+
yarn unlink @worktango/ai-assistant
|
|
138
|
+
yarn install --force
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
This removes the symlink and reinstalls the published version from npm.
|
|
142
|
+
|
|
42
143
|
## Features
|
|
43
144
|
|
|
44
|
-
|
|
145
|
+
- Unified tool call API for all WorkTango apps
|
package/backendTypes.ts
ADDED
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
// Don't import from the generated folder, as it is removed when we build and publish the package.
|
|
2
|
+
|
|
3
|
+
import type {
|
|
4
|
+
AppendMessageInput,
|
|
5
|
+
AppendMessageToConversationMutation,
|
|
6
|
+
ConversationInput,
|
|
7
|
+
CreateConversationInput,
|
|
8
|
+
DeleteConversationInput,
|
|
9
|
+
UpdateConversationTitleInput,
|
|
10
|
+
GetAConversationQuery,
|
|
11
|
+
GetAllConversationsQuery,
|
|
12
|
+
DeleteAiDocumentMutation,
|
|
13
|
+
UpdateAiDocumentMutation,
|
|
14
|
+
UploadAiDocumentMutation,
|
|
15
|
+
UpdateAiSettingsMutation,
|
|
16
|
+
GetAiSettingsQuery,
|
|
17
|
+
} from "./generated/apiHooks";
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Context passed to callbacks containing both request and response data
|
|
21
|
+
*/
|
|
22
|
+
export interface CallbackContext<TRequest, TResponse> {
|
|
23
|
+
/**
|
|
24
|
+
* The original request details
|
|
25
|
+
*/
|
|
26
|
+
request: {
|
|
27
|
+
/**
|
|
28
|
+
* The full path of the request (e.g., "/ai-assistant?targetPath=/api")
|
|
29
|
+
*/
|
|
30
|
+
path: string;
|
|
31
|
+
/**
|
|
32
|
+
* The HTTP method (POST, GET, etc.)
|
|
33
|
+
*/
|
|
34
|
+
method: string;
|
|
35
|
+
/**
|
|
36
|
+
* The parsed request body
|
|
37
|
+
*/
|
|
38
|
+
body: TRequest;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* The parsed response body from the proxied request
|
|
42
|
+
*/
|
|
43
|
+
response: TResponse;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* REST endpoint request/response types
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
export interface ChatRequest {
|
|
51
|
+
model?: "large" | "medium" | "small";
|
|
52
|
+
temperature?: number;
|
|
53
|
+
stream?: boolean;
|
|
54
|
+
maxTokens?: number;
|
|
55
|
+
messages: Array<{
|
|
56
|
+
role: "user" | "model" | "tool";
|
|
57
|
+
parts: Array<
|
|
58
|
+
| {
|
|
59
|
+
type: "text";
|
|
60
|
+
text: string;
|
|
61
|
+
}
|
|
62
|
+
| {
|
|
63
|
+
type: "toolCall";
|
|
64
|
+
toolName: string;
|
|
65
|
+
args: Record<string, unknown>;
|
|
66
|
+
}
|
|
67
|
+
| {
|
|
68
|
+
type: "toolResult";
|
|
69
|
+
toolName: string;
|
|
70
|
+
result: unknown;
|
|
71
|
+
}
|
|
72
|
+
>;
|
|
73
|
+
name?: string;
|
|
74
|
+
}>;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export interface ChatResponse {
|
|
78
|
+
role: "user" | "model" | "tool";
|
|
79
|
+
parts: Array<
|
|
80
|
+
| {
|
|
81
|
+
type: "text";
|
|
82
|
+
text: string;
|
|
83
|
+
}
|
|
84
|
+
| {
|
|
85
|
+
type: "toolCall";
|
|
86
|
+
toolName: string;
|
|
87
|
+
args: Record<string, unknown>;
|
|
88
|
+
}
|
|
89
|
+
| {
|
|
90
|
+
type: "toolResult";
|
|
91
|
+
toolName: string;
|
|
92
|
+
result: unknown;
|
|
93
|
+
}
|
|
94
|
+
>;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export interface StructuredResponseRequest {
|
|
98
|
+
model?: "large" | "medium" | "small";
|
|
99
|
+
prompt: string;
|
|
100
|
+
schema: unknown;
|
|
101
|
+
temperature?: number;
|
|
102
|
+
maxTokens?: number;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export type StructuredResponseResponse = unknown;
|
|
106
|
+
|
|
107
|
+
export interface TTSRequest {
|
|
108
|
+
text: string;
|
|
109
|
+
voice?: string;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export interface TTSResponse {
|
|
113
|
+
synthesis: string;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export interface STTRequest {
|
|
117
|
+
audio: string;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export interface STTResponse {
|
|
121
|
+
transcription: Array<{
|
|
122
|
+
transcript: string;
|
|
123
|
+
confidence: number;
|
|
124
|
+
}>;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* GraphQL request wrapper
|
|
129
|
+
*/
|
|
130
|
+
export interface GraphQLRequest<TVariables = unknown> {
|
|
131
|
+
operationName?: string;
|
|
132
|
+
query: string;
|
|
133
|
+
variables?: TVariables;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* GraphQL response wrapper with potential errors
|
|
138
|
+
*/
|
|
139
|
+
export interface GraphQLResponse<TData = unknown> {
|
|
140
|
+
data?: TData;
|
|
141
|
+
errors?: Array<{
|
|
142
|
+
message: string;
|
|
143
|
+
extensions?: Record<string, unknown>;
|
|
144
|
+
}>;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Callbacks for REST endpoints
|
|
149
|
+
* Note: Keys are URL paths, not following camelCase convention intentionally
|
|
150
|
+
*/
|
|
151
|
+
export interface RestEndpointCallbacks {
|
|
152
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
153
|
+
"/api/api-ai-assistant/v1/chat"?: (
|
|
154
|
+
context: CallbackContext<ChatRequest, ChatResponse>
|
|
155
|
+
) => void | Promise<void>;
|
|
156
|
+
|
|
157
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
158
|
+
"/api/api-ai-assistant/v1/structured-response"?: (
|
|
159
|
+
context: CallbackContext<
|
|
160
|
+
StructuredResponseRequest,
|
|
161
|
+
StructuredResponseResponse
|
|
162
|
+
>
|
|
163
|
+
) => void | Promise<void>;
|
|
164
|
+
|
|
165
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
166
|
+
"/api/api-ai-assistant/v1/tts"?: (
|
|
167
|
+
context: CallbackContext<TTSRequest, TTSResponse>
|
|
168
|
+
) => void | Promise<void>;
|
|
169
|
+
|
|
170
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
171
|
+
"/api/api-ai-assistant/v1/stt"?: (
|
|
172
|
+
context: CallbackContext<STTRequest, STTResponse>
|
|
173
|
+
) => void | Promise<void>;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Callbacks for GraphQL operations
|
|
178
|
+
* Note: Keys match the GraphQL operation names (PascalCase), not the field names
|
|
179
|
+
*/
|
|
180
|
+
export interface GraphQLOperationCallbacks {
|
|
181
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
182
|
+
AppendMessageToConversation?: (
|
|
183
|
+
context: CallbackContext<
|
|
184
|
+
GraphQLRequest<{ input: AppendMessageInput }>,
|
|
185
|
+
GraphQLResponse<AppendMessageToConversationMutation>
|
|
186
|
+
>
|
|
187
|
+
) => void | Promise<void>;
|
|
188
|
+
|
|
189
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
190
|
+
GetAConversation?: (
|
|
191
|
+
context: CallbackContext<
|
|
192
|
+
GraphQLRequest<{ input: ConversationInput }>,
|
|
193
|
+
GraphQLResponse<GetAConversationQuery>
|
|
194
|
+
>
|
|
195
|
+
) => void | Promise<void>;
|
|
196
|
+
|
|
197
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
198
|
+
GetAllConversations?: (
|
|
199
|
+
context: CallbackContext<
|
|
200
|
+
GraphQLRequest<Record<string, never>>,
|
|
201
|
+
GraphQLResponse<GetAllConversationsQuery>
|
|
202
|
+
>
|
|
203
|
+
) => void | Promise<void>;
|
|
204
|
+
|
|
205
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
206
|
+
CreateConversation?: (
|
|
207
|
+
context: CallbackContext<
|
|
208
|
+
GraphQLRequest<{ input: CreateConversationInput }>,
|
|
209
|
+
GraphQLResponse
|
|
210
|
+
>
|
|
211
|
+
) => void | Promise<void>;
|
|
212
|
+
|
|
213
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
214
|
+
DeleteConversation?: (
|
|
215
|
+
context: CallbackContext<
|
|
216
|
+
GraphQLRequest<{ input: DeleteConversationInput }>,
|
|
217
|
+
GraphQLResponse
|
|
218
|
+
>
|
|
219
|
+
) => void | Promise<void>;
|
|
220
|
+
|
|
221
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
222
|
+
UpdateConversationTitle?: (
|
|
223
|
+
context: CallbackContext<
|
|
224
|
+
GraphQLRequest<{ input: UpdateConversationTitleInput }>,
|
|
225
|
+
GraphQLResponse
|
|
226
|
+
>
|
|
227
|
+
) => void | Promise<void>;
|
|
228
|
+
|
|
229
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
230
|
+
DeleteAiDocument?: (
|
|
231
|
+
context: CallbackContext<
|
|
232
|
+
GraphQLRequest<unknown>,
|
|
233
|
+
GraphQLResponse<DeleteAiDocumentMutation>
|
|
234
|
+
>
|
|
235
|
+
) => void | Promise<void>;
|
|
236
|
+
|
|
237
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
238
|
+
UpdateAiDocument?: (
|
|
239
|
+
context: CallbackContext<
|
|
240
|
+
GraphQLRequest<unknown>,
|
|
241
|
+
GraphQLResponse<UpdateAiDocumentMutation>
|
|
242
|
+
>
|
|
243
|
+
) => void | Promise<void>;
|
|
244
|
+
|
|
245
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
246
|
+
UploadAiDocument?: (
|
|
247
|
+
context: CallbackContext<
|
|
248
|
+
GraphQLRequest<unknown>,
|
|
249
|
+
GraphQLResponse<UploadAiDocumentMutation>
|
|
250
|
+
>
|
|
251
|
+
) => void | Promise<void>;
|
|
252
|
+
|
|
253
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
254
|
+
UpdateAiSettings?: (
|
|
255
|
+
context: CallbackContext<
|
|
256
|
+
GraphQLRequest<unknown>,
|
|
257
|
+
GraphQLResponse<UpdateAiSettingsMutation>
|
|
258
|
+
>
|
|
259
|
+
) => void | Promise<void>;
|
|
260
|
+
|
|
261
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
262
|
+
GetAiSettings?: (
|
|
263
|
+
context: CallbackContext<
|
|
264
|
+
GraphQLRequest<Record<string, never>>,
|
|
265
|
+
GraphQLResponse<GetAiSettingsQuery>
|
|
266
|
+
>
|
|
267
|
+
) => void | Promise<void>;
|
|
268
|
+
}
|
package/constants.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains constants for the WorkTango Coach AI Assistant. It should
|
|
3
|
+
* contain no imports or dependencies: just constants and JSDoc types.
|
|
4
|
+
*
|
|
5
|
+
* We use it for sharing prompts and other data between systems in as light a way
|
|
6
|
+
* as possible.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export const workTangoCoachSystemInstruction = `You are a 'Leadership Coach'. Your purpose is to empower People Leaders by providing guidance, resources, and tools to enhance their leadership capabilities. You will assist users in various aspects of leadership development, from problem-solving to goal setting and self-reflection. Sometimes you will be tasked with analyzing Survey Results. The Survey Results will inform the Coaching focus.
|
|
10
|
+
|
|
11
|
+
Purpose and Goals:
|
|
12
|
+
|
|
13
|
+
* **Guidance and Research:** Help users research and understand effective approaches to specific leadership challenges, issues, or topics.
|
|
14
|
+
* **Self-Assessment Support:** Assist users in conducting self-assessments to identify their strengths, weaknesses, and areas for development as leaders.
|
|
15
|
+
* **Goal Setting Facilitation:** Guide users through the process of setting clear, actionable, and measurable leadership goals.
|
|
16
|
+
* **Reflective Questioning:** Engage users in reflective exercises using 'Powerful Questions' to encourage introspection and deeper understanding of their leadership journey.
|
|
17
|
+
* **Knowledge Transfer:** Educate users on leadership theories, best practices, and effective strategies for leading teams and organizations.
|
|
18
|
+
|
|
19
|
+
Behaviors and Rules:
|
|
20
|
+
|
|
21
|
+
**Initial Engagement:**
|
|
22
|
+
- If asked about something specific, you can skip the formal introduction, otherwise:
|
|
23
|
+
- Greet the user warmly as their 'Leadership Coach' and express readiness to assist them in their growth as a Leader
|
|
24
|
+
- List common requests you're designed to handle (research, self-assessment, goal setting, reflection, teaching).
|
|
25
|
+
- Indicate that the session will be 5-10 mins
|
|
26
|
+
- Ask the user to specify which of these areas they'd like to focus on first, or if they have a different leadership challenge in mind.
|
|
27
|
+
|
|
28
|
+
**Interactive Support:**
|
|
29
|
+
|
|
30
|
+
- For research requests, ask clarifying questions to understand the specific challenge or topic, then provide concise, actionable insights or resources.
|
|
31
|
+
- For self-assessment, present frameworks or prompts, and encourage the user to share their thoughts, offering constructive feedback.
|
|
32
|
+
- For goal setting, help the user define SMART (Specific, - Measurable, Achievable, Relevant, Time-bound) goals, breaking them down into manageable steps.
|
|
33
|
+
- When using 'Powerful Questions', pose open-ended, thought-provoking questions that encourage deep reflection rather than simple 'yes/no' answers.
|
|
34
|
+
- When teaching, break down complex concepts into understandable segments, providing examples and real-world applications.
|
|
35
|
+
|
|
36
|
+
**Coaching Approach:**
|
|
37
|
+
|
|
38
|
+
- Aim for a 5-10 minute coaching session
|
|
39
|
+
- Maintain a supportive, encouraging, and non-judgmental demeanor.
|
|
40
|
+
- Propose paths forward and look for input on the relevance of what is being suggested
|
|
41
|
+
- Encourage active participation and critical thinking from the user.
|
|
42
|
+
- Keep responses concise and clear, generally within 2-3 sentences per turn, allowing for a dynamic conversation flow.
|
|
43
|
+
- Always end the conversation with a summary of the discussions and recommended actions for the People Leader
|
|
44
|
+
|
|
45
|
+
Overall Tone:
|
|
46
|
+
|
|
47
|
+
* **Empowering and Positive:** Foster a sense of capability and growth in the user.
|
|
48
|
+
* **Knowledgeable and Trustworthy:** Convey expertise in leadership principles and practices.
|
|
49
|
+
* **Patient and Understanding:** Recognize the complexities of leadership and support users through their challenges.
|
|
50
|
+
* **Action-Oriented:** Encourage practical application of learned concepts.
|
|
51
|
+
`;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @typedef {Object} AiAssistantSuggestedPrompt
|
|
55
|
+
* @property {string} title - The title of the suggested prompt.
|
|
56
|
+
* @property {string} [fullPrompt] - The full prompt to be used. If not provided, the title will be used as the prompt.
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Globally-available suggested prompts used between platforms.
|
|
61
|
+
* @type {AiAssistantSuggestedPrompt[]}
|
|
62
|
+
*/
|
|
63
|
+
export const workTangoCoachGlobalSuggestedPrompts = [
|
|
64
|
+
{
|
|
65
|
+
title:
|
|
66
|
+
"Help me research how to approach a specific challenge, issue or topic",
|
|
67
|
+
},
|
|
68
|
+
{ title: "Help me set effective goals for my team" },
|
|
69
|
+
{ title: "Help me structure better 1-on-1s with my team" },
|
|
70
|
+
{ title: "Help me reflect with powerful questions" },
|
|
71
|
+
{ title: "Help me have a difficult conversation with a team member" },
|
|
72
|
+
{ title: "Help me delegate more effectively" },
|
|
73
|
+
{ title: "Help me with a self assessment" },
|
|
74
|
+
{
|
|
75
|
+
title: "How do I adapt my leadership approach to different personalities?",
|
|
76
|
+
},
|
|
77
|
+
{ title: "How do I keep my team motivated during a crunch period?" },
|
|
78
|
+
{ title: "How do I make space for strategic thinking amid daily fires?" },
|
|
79
|
+
{ title: "How can I communicate a tough change to my team with empathy?" },
|
|
80
|
+
];
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { j as C } from "./reactComponent-2MdwkH_N.mjs";
|
|
2
|
+
function e({
|
|
3
|
+
illustrationColor: t
|
|
4
|
+
}) {
|
|
5
|
+
return /* @__PURE__ */ C.jsxs(C.Fragment, { children: [
|
|
6
|
+
/* @__PURE__ */ C.jsx("title", { children: "Absenteeism illustration" }),
|
|
7
|
+
/* @__PURE__ */ C.jsx(
|
|
8
|
+
"path",
|
|
9
|
+
{
|
|
10
|
+
d: "M60 120C93.1371 120 120 93.1371 120 60C120 26.8629 93.1371 0 60 0C26.8629 0 0 26.8629 0 60C0 93.1371 26.8629 120 60 120Z",
|
|
11
|
+
fill: t
|
|
12
|
+
}
|
|
13
|
+
),
|
|
14
|
+
/* @__PURE__ */ C.jsx(
|
|
15
|
+
"path",
|
|
16
|
+
{
|
|
17
|
+
d: "M26.0354 50.0576V89.2332C26.0368 90.4902 26.5367 91.6953 27.4256 92.5842C28.3144 93.473 29.5195 93.9729 30.7765 93.9743H89.2541C90.5111 93.9729 91.7162 93.473 92.6051 92.5842C93.4939 91.6953 93.9938 90.4902 93.9952 89.2332V50.0576H26.0354ZM72.6461 81.3799C72.9411 81.6955 73.102 82.1133 73.0947 82.5452C73.0875 82.9771 72.9127 83.3893 72.6072 83.6947C72.3018 84.0002 71.8896 84.175 71.4577 84.1822C71.0258 84.1895 70.6079 84.0286 70.2924 83.7336L60.6959 74.1345L51.0839 83.7336C50.9313 83.8968 50.7475 84.0276 50.5433 84.1182C50.3392 84.2089 50.1188 84.2575 49.8955 84.2613C49.6721 84.265 49.4503 84.2238 49.2432 84.14C49.0361 84.0563 48.848 83.9317 48.6901 83.7738C48.5321 83.6158 48.4075 83.4277 48.3238 83.2206C48.24 83.0135 48.1988 82.7917 48.2026 82.5683C48.2063 82.345 48.255 82.1247 48.3456 81.9205C48.4363 81.7163 48.5671 81.5325 48.7302 81.3799L58.3293 71.7809L48.7458 62.1844C48.5827 62.0318 48.4518 61.848 48.3612 61.6438C48.2705 61.4397 48.2219 61.2193 48.2181 60.996C48.2144 60.7726 48.2556 60.5508 48.3394 60.3437C48.4231 60.1366 48.5477 59.9485 48.7056 59.7906C48.8636 59.6326 49.0517 59.508 49.2588 59.4243C49.4659 59.3405 49.6877 59.2993 49.9111 59.303C50.1344 59.3068 50.3548 59.3555 50.5589 59.4461C50.7631 59.5368 50.9469 59.6676 51.0995 59.8307L60.6959 69.4298L70.295 59.8307C70.4476 59.6676 70.6314 59.5368 70.8356 59.4461C71.0397 59.3555 71.2601 59.3068 71.4834 59.303C71.7068 59.2993 71.9286 59.3405 72.1357 59.4243C72.3428 59.508 72.5309 59.6326 72.6889 59.7906C72.8468 59.9485 72.9714 60.1366 73.0551 60.3437C73.1389 60.5508 73.1801 60.7726 73.1764 60.996C73.1726 61.2193 73.124 61.4397 73.0333 61.6438C72.9426 61.848 72.8118 62.0318 72.6487 62.1844L63.034 71.7809L72.6461 81.3799Z",
|
|
18
|
+
fill: "white"
|
|
19
|
+
}
|
|
20
|
+
),
|
|
21
|
+
/* @__PURE__ */ C.jsx(
|
|
22
|
+
"path",
|
|
23
|
+
{
|
|
24
|
+
opacity: "0.4",
|
|
25
|
+
d: "M89.2248 33.0134H80.7376V39.7081C80.7376 40.3144 80.4968 40.8959 80.068 41.3246C79.6393 41.7533 79.0578 41.9942 78.4515 41.9942C77.8452 41.9942 77.2637 41.7533 76.835 41.3246C76.4063 40.8959 76.1654 40.3144 76.1654 39.7081V33.0134H43.8092V39.7081C43.8092 40.3144 43.5683 40.8959 43.1396 41.3246C42.7108 41.7533 42.1294 41.9942 41.523 41.9942C40.9167 41.9942 40.3353 41.7533 39.9065 41.3246C39.4778 40.8959 39.2369 40.3144 39.2369 39.7081V33.0134H30.7446C29.4876 33.0148 28.2825 33.5148 27.3936 34.4036C26.5048 35.2924 26.0049 36.4975 26.0035 37.7545V46.7379H93.9633V37.7545C93.9626 36.4978 93.4632 35.2926 92.5748 34.4037C91.6864 33.5148 90.4816 33.0148 89.2248 33.0134V33.0134Z",
|
|
26
|
+
fill: "black"
|
|
27
|
+
}
|
|
28
|
+
),
|
|
29
|
+
/* @__PURE__ */ C.jsx(
|
|
30
|
+
"path",
|
|
31
|
+
{
|
|
32
|
+
opacity: "0.7",
|
|
33
|
+
d: "M41.5184 41.3705C41.0774 41.3705 40.6545 41.1953 40.3427 40.8835C40.0309 40.5717 39.8558 40.1488 39.8558 39.7079V27.6824C39.8558 27.2414 40.0309 26.8185 40.3427 26.5067C40.6545 26.1949 41.0774 26.0198 41.5184 26.0198C41.9594 26.0198 42.3823 26.1949 42.6941 26.5067C43.0059 26.8185 43.181 27.2414 43.181 27.6824V39.7079C43.1803 40.1486 43.0049 40.5711 42.6933 40.8828C42.3816 41.1944 41.9591 41.3698 41.5184 41.3705V41.3705Z",
|
|
34
|
+
fill: "white"
|
|
35
|
+
}
|
|
36
|
+
),
|
|
37
|
+
/* @__PURE__ */ C.jsx(
|
|
38
|
+
"path",
|
|
39
|
+
{
|
|
40
|
+
opacity: "0.7",
|
|
41
|
+
d: "M78.4519 41.3705C78.0111 41.3698 77.5886 41.1944 77.277 40.8828C76.9653 40.5711 76.7899 40.1486 76.7892 39.7079V27.6824C76.7892 27.2414 76.9644 26.8185 77.2762 26.5067C77.588 26.1949 78.0109 26.0198 78.4519 26.0198C78.8928 26.0198 79.3157 26.1949 79.6275 26.5067C79.9393 26.8185 80.1145 27.2414 80.1145 27.6824V39.7079C80.1138 40.1486 79.9384 40.5711 79.6268 40.8828C79.3151 41.1944 78.8926 41.3698 78.4519 41.3705V41.3705Z",
|
|
42
|
+
fill: "white"
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
] });
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
e as Absenteeism
|
|
49
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { j as C } from "./reactComponent-2MdwkH_N.mjs";
|
|
2
|
+
function e({
|
|
3
|
+
illustrationColor: t
|
|
4
|
+
}) {
|
|
5
|
+
return /* @__PURE__ */ C.jsxs(C.Fragment, { children: [
|
|
6
|
+
/* @__PURE__ */ C.jsx("title", { children: "Activity feed illustration" }),
|
|
7
|
+
/* @__PURE__ */ C.jsx(
|
|
8
|
+
"path",
|
|
9
|
+
{
|
|
10
|
+
d: "M60 120C93.1371 120 120 93.1371 120 60C120 26.8629 93.1371 0 60 0C26.8629 0 0 26.8629 0 60C0 93.1371 26.8629 120 60 120Z",
|
|
11
|
+
fill: t
|
|
12
|
+
}
|
|
13
|
+
),
|
|
14
|
+
/* @__PURE__ */ C.jsx(
|
|
15
|
+
"path",
|
|
16
|
+
{
|
|
17
|
+
opacity: "0.7",
|
|
18
|
+
d: "M32.582 44.3739V30.6469C32.582 28.1634 34.4707 26.1318 36.8009 26.1318H83.1986C85.5367 26.1318 87.4175 28.1634 87.4175 30.6469V44.3739",
|
|
19
|
+
fill: "white"
|
|
20
|
+
}
|
|
21
|
+
),
|
|
22
|
+
/* @__PURE__ */ C.jsx(
|
|
23
|
+
"path",
|
|
24
|
+
{
|
|
25
|
+
opacity: "0.7",
|
|
26
|
+
d: "M32.582 89.3526C32.582 91.8362 34.4707 93.8677 36.8009 93.8677H83.1986C85.5367 93.8677 87.4175 91.8362 87.4175 89.3526V77.335H32.582V89.3526Z",
|
|
27
|
+
fill: "white"
|
|
28
|
+
}
|
|
29
|
+
),
|
|
30
|
+
/* @__PURE__ */ C.jsx(
|
|
31
|
+
"path",
|
|
32
|
+
{
|
|
33
|
+
d: "M90.2531 44.3735H29.7492C28.9457 44.377 28.1764 44.6984 27.6092 45.2674C27.0421 45.8365 26.7233 46.607 26.7227 47.4104V72.5888C26.7233 73.3922 27.0421 74.1627 27.6092 74.7318C28.1764 75.3009 28.9457 75.6223 29.7492 75.6257H90.2531C91.0566 75.6223 91.8259 75.3009 92.3931 74.7318C92.9602 74.1627 93.279 73.3922 93.2796 72.5888V47.4104C93.279 46.607 92.9602 45.8365 92.3931 45.2674C91.8259 44.6984 91.0566 44.377 90.2531 44.3735V44.3735ZM48.9109 58.4851L44.9622 61.722C44.9497 61.7331 44.9406 61.7476 44.936 61.7637C44.9314 61.7798 44.9315 61.7969 44.9362 61.8129L46.5884 66.7358C46.6106 66.8024 46.611 66.8743 46.5895 66.9412C46.568 67.008 46.5258 67.0662 46.4689 67.1073C46.4111 67.148 46.3422 67.1699 46.2715 67.1699C46.2008 67.1699 46.1319 67.148 46.0741 67.1073L41.9591 64.112C41.9446 64.1018 41.9274 64.0964 41.9097 64.0964C41.892 64.0964 41.8748 64.1018 41.8603 64.112L37.7427 67.1073C37.6858 67.1489 37.6171 67.1713 37.5466 67.1713C37.4761 67.1713 37.4074 67.1489 37.3505 67.1073C37.2934 67.0676 37.2509 67.0103 37.2293 66.9442C37.2077 66.8781 37.2083 66.8068 37.231 66.741L38.8754 61.8129C38.8801 61.7969 38.8802 61.7798 38.8756 61.7637C38.871 61.7476 38.8619 61.7331 38.8494 61.722L34.9007 58.4851C34.8486 58.4398 34.8116 58.3798 34.7944 58.313C34.7773 58.2462 34.7808 58.1757 34.8046 58.111C34.8286 58.0481 34.8714 57.9942 34.9272 57.9565C34.983 57.9189 35.049 57.8993 35.1163 57.9006H39.8366C39.8538 57.9013 39.8708 57.8964 39.8849 57.8865C39.899 57.8767 39.9094 57.8624 39.9146 57.846L41.5902 53.1491C41.6138 53.0854 41.6563 53.0306 41.712 52.9918C41.7678 52.953 41.834 52.9323 41.9019 52.9323C41.9698 52.9323 42.036 52.953 42.0918 52.9918C42.1475 53.0306 42.19 53.0854 42.2137 53.1491L43.8945 57.8512C43.9003 57.8672 43.9109 57.881 43.9249 57.8907C43.9388 57.9005 43.9554 57.9057 43.9724 57.9057H48.6927C48.7596 57.9047 48.8253 57.9236 48.8813 57.9602C48.9373 57.9968 48.9811 58.0493 49.007 58.111C49.0304 58.1758 49.0338 58.2461 49.0167 58.3128C48.9995 58.3796 48.9627 58.4396 48.9109 58.4851ZM83.7221 66.1383H56.5694C56.1284 66.1383 55.7055 65.9632 55.3937 65.6514C55.0819 65.3396 54.9068 64.9167 54.9068 64.4757C54.9068 64.0348 55.0819 63.6119 55.3937 63.3001C55.7055 62.9883 56.1284 62.8131 56.5694 62.8131H83.7195C84.1605 62.8131 84.5834 62.9883 84.8952 63.3001C85.207 63.6119 85.3822 64.0348 85.3822 64.4757C85.3822 64.9167 85.207 65.3396 84.8952 65.6514C84.5834 65.9632 84.1605 66.1383 83.7195 66.1383H83.7221ZM83.7221 57.7914H56.5694C56.1284 57.7914 55.7055 57.6163 55.3937 57.3045C55.0819 56.9927 54.9068 56.5698 54.9068 56.1288C54.9068 55.6879 55.0819 55.265 55.3937 54.9532C55.7055 54.6414 56.1284 54.4662 56.5694 54.4662H83.7195C84.1605 54.4662 84.5834 54.6414 84.8952 54.9532C85.207 55.265 85.3822 55.6879 85.3822 56.1288C85.3822 56.5698 85.207 56.9927 84.8952 57.3045C84.5834 57.6163 84.1605 57.7914 83.7195 57.7914H83.7221Z",
|
|
34
|
+
fill: "white"
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
] });
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
e as ActivityFeed
|
|
41
|
+
};
|