Skip to content

Commit ac6260e

Browse files
authored
Add tests / linting to CI (#2)
1 parent 6916bb7 commit ac6260e

File tree

10 files changed

+719
-36
lines changed

10 files changed

+719
-36
lines changed

.github/workflows/test.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: test
2+
3+
on:
4+
push:
5+
branches:
6+
- "main"
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
test-node:
13+
runs-on: ubuntu-latest
14+
name: Test
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: actions/setup-node@v4
18+
with:
19+
node-version-file: ".nvmrc"
20+
- run: npm install
21+
- run: npm run build
22+
- run: npm run test
23+
24+
lint:
25+
runs-on: ubuntu-latest
26+
name: Lint
27+
steps:
28+
- uses: actions/checkout@v4
29+
- uses: actions/setup-node@v4
30+
with:
31+
node-version-file: ".nvmrc"
32+
- run: npm install
33+
- run: npm run prettier:check
34+
- run: npm run lint:check

README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,11 @@ Below are the tools this MPC server makes available. Alongside each tool are the
1010
used and the permissions your OAuth Client needs to use them.
1111

1212
| Tool | Permissions | APIs used |
13-
|-------------------------------|-------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
13+
| ----------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
1414
| Search Queues | `routing:queue:view` | [`GET /api/v2/routing/queues`](https://developer.genesys.cloud/routing/routing/#get-api-v2-routing-queues) |
1515
| Query Queue Volumes | `analytics:conversationDetail:view` | [`POST /api/v2/analytics/conversations/details/jobs`](https://developer.genesys.cloud/analyticsdatamanagement/analytics/analytics-apis#post-api-v2-analytics-conversations-details-jobs)<br/>[`GET /api/v2/analytics/conversations/details/jobs/{jobId}`](https://developer.genesys.cloud/analyticsdatamanagement/analytics/analytics-apis#get-api-v2-analytics-conversations-details-jobs--jobId-)<br/>[`GET /api/v2/analytics/conversations/details/jobs/{jobId}/results`](https://developer.genesys.cloud/analyticsdatamanagement/analytics/analytics-apis#get-api-v2-analytics-conversations-details-jobs--jobId--results) |
1616
| Sample Conversations By Queue | `analytics:conversationDetail:view` | [`POST /api/v2/analytics/conversations/details/jobs`](https://developer.genesys.cloud/analyticsdatamanagement/analytics/analytics-apis#post-api-v2-analytics-conversations-details-jobs)<br/>[`GET /api/v2/analytics/conversations/details/jobs/{jobId}`](https://developer.genesys.cloud/analyticsdatamanagement/analytics/analytics-apis#get-api-v2-analytics-conversations-details-jobs--jobId-)<br/>[`GET /api/v2/analytics/conversations/details/jobs/{jobId}/results`](https://developer.genesys.cloud/analyticsdatamanagement/analytics/analytics-apis#get-api-v2-analytics-conversations-details-jobs--jobId--results) |
1717

18-
1918
## Authentication
2019

2120
This currently only a supports stdio Server. To configure authentication you'll need to:
@@ -27,7 +26,6 @@ This currently only a supports stdio Server. To configure authentication you'll
2726
- `GENESYSCLOUD_OAUTHCLIENT_ID`
2827
- `GENESYSCLOUD_OAUTHCLIENT_SECRET`
2928

30-
3129
## Getting Started
3230

3331
```bash
@@ -41,4 +39,4 @@ npm run dev
4139
This is part of [personal project](https://www.linkedin.com/posts/lucas-woodward-the-dev_genesys-genesyscloud-vertexai-activity-7321306518908280833-cWt8?utm_source=share&utm_medium=member_desktop&rcm=ACoAABsbo2wBcmnNqxYJ5UO9BrsfURZcVEtgLOU)
4240
to create a conversational Business Insights tool. It is a practical way for my to learn MCP servers, and how best to represent Genesys Cloud's Platform APIs in a way that can be easily consumed by LLMs.
4341

44-
There will be a lot of changes, and I will be sure to [share my learnings in my newsletter](https://makingchatbots.com/).
42+
There will be a lot of changes, and I will be sure to [share my learnings in my newsletter](https://makingchatbots.com/).

eslint.config.mjs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,15 @@ import tseslint from "typescript-eslint";
33
import prettierConfig from "eslint-config-prettier";
44

55
export default tseslint.config(
6-
eslint.configs.recommended,
6+
tseslint.configs.recommendedTypeChecked,
7+
{
8+
languageOptions: {
9+
parserOptions: {
10+
projectService: true,
11+
tsconfigRootDir: import.meta.dirname,
12+
},
13+
},
14+
},
715
tseslint.configs.strictTypeChecked,
816
tseslint.configs.stylisticTypeChecked,
917
prettierConfig,

0 commit comments

Comments
 (0)