mcp-dataverse 0.1.9 → 0.2.0
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/CAPABILITIES.md +8 -20
- package/README.md +147 -52
- package/dist/auth/auth-provider.factory.d.ts.map +1 -1
- package/dist/auth/auth-provider.factory.js +2 -12
- package/dist/auth/auth-provider.factory.js.map +1 -1
- package/dist/auth/device-code-auth-provider.d.ts +18 -0
- package/dist/auth/device-code-auth-provider.d.ts.map +1 -0
- package/dist/auth/device-code-auth-provider.js +167 -0
- package/dist/auth/device-code-auth-provider.js.map +1 -0
- package/dist/auth/pac-auth-provider.d.ts.map +1 -1
- package/dist/auth/pac-auth-provider.js +23 -1
- package/dist/auth/pac-auth-provider.js.map +1 -1
- package/dist/config/config.loader.d.ts.map +1 -1
- package/dist/config/config.loader.js +0 -15
- package/dist/config/config.loader.js.map +1 -1
- package/dist/config/config.schema.d.ts +0 -15
- package/dist/config/config.schema.d.ts.map +1 -1
- package/dist/config/config.schema.js +0 -5
- package/dist/config/config.schema.js.map +1 -1
- package/dist/server.js +9 -0
- package/dist/server.js.map +1 -1
- package/dist/setup-auth.js +2 -6
- package/dist/setup-auth.js.map +1 -1
- package/package.json +1 -1
- package/server.json +0 -37
package/CAPABILITIES.md
CHANGED
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
| ------------------------- | ------------------------------------------------------------- |
|
|
47
47
|
| **Node.js** | v20+ |
|
|
48
48
|
| **Dataverse Environment** | Active URL (`https://<org>.crm<N>.dynamics.com`) |
|
|
49
|
-
| **Authentication** |
|
|
49
|
+
| **Authentication** | Device code flow (interactive) via MSAL |
|
|
50
50
|
|
|
51
51
|
### Installation & Configuration
|
|
52
52
|
|
|
@@ -59,11 +59,6 @@ Create `config.json` (see `config.example.json`):
|
|
|
59
59
|
```json
|
|
60
60
|
{
|
|
61
61
|
"environmentUrl": "https://yourorg.crm.dynamics.com",
|
|
62
|
-
"authMode": "pac",
|
|
63
|
-
"pacProfileName": "default",
|
|
64
|
-
"tenantId": "",
|
|
65
|
-
"clientId": "",
|
|
66
|
-
"clientSecret": "",
|
|
67
62
|
"requestTimeoutMs": 30000,
|
|
68
63
|
"maxRetries": 3
|
|
69
64
|
}
|
|
@@ -72,19 +67,14 @@ Create `config.json` (see `config.example.json`):
|
|
|
72
67
|
| Field | Type | Description |
|
|
73
68
|
| ---------------------------------------- | --------------- | ------------------------------------------------------- |
|
|
74
69
|
| `environmentUrl` | `string` | Dataverse environment URL (**required**, must be HTTPS) |
|
|
75
|
-
| `authMode` | `"pac"\|"msal"` | Auth strategy (default: `"pac"`) |
|
|
76
|
-
| `pacProfileName` | `string` | PAC CLI profile (default: `"default"`) |
|
|
77
|
-
| `tenantId` / `clientId` / `clientSecret` | `string` | Required for `authMode: "msal"` |
|
|
78
70
|
| `requestTimeoutMs` | `number` | HTTP timeout ms (default: `30000`) |
|
|
79
71
|
| `maxRetries` | `number` | Max retry attempts 0–10 (default: `3`) |
|
|
80
72
|
|
|
81
|
-
Env vars override config: `DATAVERSE_ENV_URL`, `
|
|
73
|
+
Env vars override config: `DATAVERSE_ENV_URL`, `REQUEST_TIMEOUT_MS`, `MAX_RETRIES`.
|
|
82
74
|
|
|
83
75
|
### Authentication
|
|
84
76
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
**MSAL (headless/CI):** Set `authMode: "msal"` with `tenantId`, `clientId`, `clientSecret`. Tokens acquired via OAuth2 `client_credentials`.
|
|
77
|
+
The server uses Microsoft’s device code flow (MSAL Public Client). On first launch, a sign-in code is displayed in the VS Code Output panel. Open `https://microsoft.com/devicelogin`, paste the code, and sign in with your Power Platform work account. Tokens are cached in `~/.mcp-dataverse/` (encrypted) and renewed automatically.
|
|
88
78
|
|
|
89
79
|
### Running
|
|
90
80
|
|
|
@@ -983,12 +973,12 @@ Dataverse error bodies are formatted as `Dataverse error <code>: <message>`. Tim
|
|
|
983
973
|
|
|
984
974
|
## Security
|
|
985
975
|
|
|
986
|
-
| Mode
|
|
987
|
-
|
|
|
988
|
-
| **
|
|
989
|
-
| **msal** | MSAL Confidential Client → `client_credentials` | CI/CD, headless |
|
|
976
|
+
| Mode | Flow | Use Case |
|
|
977
|
+
| ----------------- | ------------------------------------------------- | ---------------------- |
|
|
978
|
+
| **Device Code** | MSAL Public Client → device code + silent refresh | Local dev, interactive |
|
|
990
979
|
|
|
991
980
|
- `clientSecret` is never logged or returned in tool responses.
|
|
981
|
+
- Token cache is encrypted (AES-256-GCM) at `~/.mcp-dataverse/` and should not be shared.
|
|
992
982
|
- OData path segments use `esc()` (single-quote doubling) to prevent OData injection.
|
|
993
983
|
- `columnName` in file tools is validated against `/^[a-zA-Z0-9_]+$/` to prevent path traversal.
|
|
994
984
|
- `MSCRMCallerId` for impersonation is set per-call and cleaned up in a `finally` block regardless of outcome.
|
|
@@ -1026,9 +1016,7 @@ Dataverse error bodies are formatted as `Dataverse error <code>: <message>`. Tim
|
|
|
1026
1016
|
|
|
1027
1017
|
| Limitation | Details |
|
|
1028
1018
|
| ----------------------- | ---------------------------------------------------------------- |
|
|
1029
|
-
| **
|
|
1030
|
-
| **PAC token expiry** | If the refresh token expires, re-run `npm run auth:setup`. |
|
|
1031
|
-
| **MSAL multi-tenant** | Requires explicit `tenantId`; no `common` authority support. |
|
|
1019
|
+
| **Token expiry** | If the refresh token expires (~90 days), re-run `npm run auth:setup`. |
|
|
1032
1020
|
|
|
1033
1021
|
### Dependencies & Solutions
|
|
1034
1022
|
|
package/README.md
CHANGED
|
@@ -8,29 +8,45 @@ MCP server that exposes the Microsoft Dataverse Web API as **50 AI-callable tool
|
|
|
8
8
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
11
|
-
###
|
|
11
|
+
### ✅ Recommended — VS Code Command Palette
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
This is the most reliable installation method, confirmed working on both VS Code and VS Code Insiders.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
1. Open VS Code
|
|
16
|
+
2. Press **Ctrl+Shift+P** (or **Cmd+Shift+P** on macOS)
|
|
17
|
+
3. Type **`MCP: Add Server`** and select it
|
|
18
|
+
4. Choose **`NPM Package`**
|
|
19
|
+
5. Enter the package name: **`mcp-dataverse`**
|
|
20
|
+
6. Choose the scope: **User** (available in all workspaces) or **Workspace** (current project only)
|
|
16
21
|
|
|
17
|
-
|
|
22
|
+
VS Code will create or update `mcp.json` automatically. Then **edit the generated entry** to add your environment URL:
|
|
18
23
|
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
```jsonc
|
|
25
|
+
// ~/.config/Code/User/mcp.json (User scope)
|
|
26
|
+
// or .vscode/mcp.json (Workspace scope)
|
|
27
|
+
{
|
|
28
|
+
"servers": {
|
|
29
|
+
"mcp-dataverse": {
|
|
30
|
+
"type": "stdio",
|
|
31
|
+
"command": "npx",
|
|
32
|
+
"args": ["-y", "mcp-dataverse"],
|
|
33
|
+
"env": {
|
|
34
|
+
"DATAVERSE_ENV_URL": "https://yourorg.crm.dynamics.com",
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
}
|
|
25
39
|
```
|
|
26
40
|
|
|
27
|
-
|
|
41
|
+
Replace `https://yourorg.crm.dynamics.com` with your actual Dataverse environment URL.
|
|
42
|
+
|
|
43
|
+
---
|
|
28
44
|
|
|
29
45
|
### Manual (mcp.json)
|
|
30
46
|
|
|
31
|
-
|
|
47
|
+
Create or edit `.vscode/mcp.json` in your project (workspace scope) or the user-level `mcp.json`:
|
|
32
48
|
|
|
33
|
-
```
|
|
49
|
+
```jsonc
|
|
34
50
|
{
|
|
35
51
|
"servers": {
|
|
36
52
|
"dataverse": {
|
|
@@ -39,18 +55,117 @@ Add to your `.vscode/mcp.json` (or user settings):
|
|
|
39
55
|
"args": ["-y", "mcp-dataverse"],
|
|
40
56
|
"env": {
|
|
41
57
|
"DATAVERSE_ENV_URL": "https://yourorg.crm.dynamics.com",
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
46
61
|
}
|
|
47
62
|
```
|
|
48
63
|
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
### Command line (`code --add-mcp`)
|
|
67
|
+
|
|
68
|
+
> ⚠️ **PowerShell on Windows**: The single-quote JSON syntax is broken in PowerShell 5.1 (double quotes get stripped). Use one of the workarounds below.
|
|
69
|
+
|
|
70
|
+
**Bash / Git Bash / macOS / Linux:**
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
code --add-mcp '{"name":"dataverse","type":"stdio","command":"npx","args":["-y","mcp-dataverse"],"env":{"DATAVERSE_ENV_URL":"https://yourorg.crm.dynamics.com"}}'
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**PowerShell (Windows) — use escaped quotes:**
|
|
77
|
+
|
|
78
|
+
```powershell
|
|
79
|
+
code --add-mcp '{\"name\":\"dataverse\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"mcp-dataverse\"],\"env\":{\"DATAVERSE_ENV_URL\":\"https://yourorg.crm.dynamics.com\"}}'
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**PowerShell — alternative using a variable:**
|
|
83
|
+
|
|
84
|
+
```powershell
|
|
85
|
+
$cfg = '{"name":"dataverse","type":"stdio","command":"npx","args":["-y","mcp-dataverse"],"env":{"DATAVERSE_ENV_URL":"https://yourorg.crm.dynamics.com"}}'
|
|
86
|
+
code --add-mcp $cfg
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Replace `https://yourorg.crm.dynamics.com` with your actual Dataverse environment URL.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Authentication — automatic, no setup required
|
|
94
|
+
|
|
95
|
+
**No PAC CLI, no Azure AD app registration, no credentials to configure.**
|
|
96
|
+
|
|
97
|
+
The server uses Microsoft's device code flow (MSAL Public Client) — the same mechanism used by Power Platform CLI. Zero pre-configuration: just set your environment URL and the server handles the rest.
|
|
98
|
+
|
|
99
|
+
### First connection — what you'll see
|
|
100
|
+
|
|
101
|
+
Authentication is triggered on the **first tool call** after the server starts (e.g. asking Copilot _"Who am I in Dataverse?"_). Here is the exact sequence:
|
|
102
|
+
|
|
103
|
+
**Step 1 — Open the Output panel**
|
|
104
|
+
|
|
105
|
+
In VS Code: **View → Output** → select **MCP** in the dropdown.
|
|
106
|
+
|
|
107
|
+
**Step 2 — The sign-in prompt appears**
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
[mcp-dataverse] First-time authentication required.
|
|
111
|
+
Environment: https://yourorg.crm.dynamics.com
|
|
112
|
+
Open the URL below in your browser to sign in.
|
|
113
|
+
|
|
114
|
+
[mcp-dataverse] Sign in required
|
|
115
|
+
|
|
116
|
+
1. Open https://microsoft.com/devicelogin in your browser
|
|
117
|
+
(use the browser profile linked to your Power Platform account)
|
|
118
|
+
2. Paste the code: ABCD-1234 (already copied to your clipboard)
|
|
119
|
+
3. Sign in with your work account
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**Step 3 — Sign in**
|
|
123
|
+
|
|
124
|
+
1. Open `https://microsoft.com/devicelogin` in the browser/profile linked to your **Power Platform work account**
|
|
125
|
+
2. Paste the code — it's already in your clipboard
|
|
126
|
+
3. Complete Microsoft sign-in with your work account
|
|
127
|
+
|
|
128
|
+
**Step 4 — Confirmation in the Output panel**
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
[mcp-dataverse] Authenticated ✓ Token cached — no sign-in needed next time.
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
The tool call that triggered auth now completes. All 50 tools are ready to use.
|
|
135
|
+
|
|
136
|
+
> ⏱ The code expires after **5 minutes**. If it times out, retry the tool call — a new code will be generated.
|
|
137
|
+
|
|
138
|
+
> **Why not auto-open the browser?** Consultants often work with multiple browser profiles (personal vs. work). Device code flow intentionally lets _you_ choose the right browser and profile.
|
|
139
|
+
|
|
140
|
+
### Subsequent launches
|
|
141
|
+
|
|
142
|
+
The token is cached encrypted (AES-256-GCM) in `~/.mcp-dataverse/`. On all future server starts, renewal is **completely silent** — no prompt, no browser.
|
|
143
|
+
|
|
144
|
+
You only need to re-authenticate if the refresh token expires (~90 days of inactivity) or you reset it manually:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
npx mcp-dataverse-auth https://yourorg.crm.dynamics.com
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
When re-auth is needed, the Output panel shows:
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
[mcp-dataverse] Session expired — re-authenticating.
|
|
154
|
+
Open the URL below in your browser to sign in again.
|
|
155
|
+
|
|
156
|
+
[mcp-dataverse] Sign in required
|
|
157
|
+
...
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
The same device code process applies.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
49
164
|
## Prerequisites
|
|
50
165
|
|
|
51
166
|
- Node.js 20+
|
|
52
|
-
- PAC CLI installed & authenticated → [aka.ms/PowerAppsCLI](https://aka.ms/PowerAppsCLI)
|
|
53
167
|
- VS Code + GitHub Copilot (Agent mode)
|
|
168
|
+
- A Dataverse environment with a licensed user account
|
|
54
169
|
|
|
55
170
|
## Quick Start (< 5 min)
|
|
56
171
|
|
|
@@ -72,8 +187,6 @@ Edit `config.json`:
|
|
|
72
187
|
| Field | Description |
|
|
73
188
|
| ------------------ | ----------------------------------------------------- |
|
|
74
189
|
| `environmentUrl` | Your org URL, e.g. `https://yourorg.crm.dynamics.com` |
|
|
75
|
-
| `authMode` | `"pac"` (recommended) or `"msal"` |
|
|
76
|
-
| `pacProfileName` | PAC CLI profile name (default: `"default"`) |
|
|
77
190
|
| `requestTimeoutMs` | HTTP timeout in ms (default: `30000`) |
|
|
78
191
|
| `maxRetries` | Retry count on transient errors (default: `3`) |
|
|
79
192
|
|
|
@@ -83,9 +196,7 @@ Edit `config.json`:
|
|
|
83
196
|
npm run auth:setup
|
|
84
197
|
```
|
|
85
198
|
|
|
86
|
-
Runs device code authentication. Follow the URL printed to the terminal — sign in with your Power Platform account. Token is cached
|
|
87
|
-
|
|
88
|
-
> Only required for `authMode: "pac"`. Skip if PAC CLI (`pac auth create`) is already authenticated.
|
|
199
|
+
Runs device code authentication. Follow the URL printed to the terminal — sign in with your Power Platform account. Token is cached and silently renewed.
|
|
89
200
|
|
|
90
201
|
### 4. Build
|
|
91
202
|
|
|
@@ -185,24 +296,6 @@ WhoAmI result: { UserId: 'xxxxxxxx-...', BusinessUnitId: 'xxxxxxxx-...', Organiz
|
|
|
185
296
|
|
|
186
297
|
---
|
|
187
298
|
|
|
188
|
-
## Advanced Configuration (MSAL)
|
|
189
|
-
|
|
190
|
-
For service-principal auth (CI/CD, unattended), set `authMode: "msal"` in `config.json`:
|
|
191
|
-
|
|
192
|
-
```json
|
|
193
|
-
{
|
|
194
|
-
"environmentUrl": "https://yourorg.crm.dynamics.com",
|
|
195
|
-
"authMode": "msal",
|
|
196
|
-
"tenantId": "<azure-ad-tenant-id>",
|
|
197
|
-
"clientId": "<app-registration-client-id>",
|
|
198
|
-
"clientSecret": "<client-secret>"
|
|
199
|
-
}
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
> The app registration must have the **Dynamics CRM → user_impersonation** API permission and the corresponding Dataverse security role.
|
|
203
|
-
|
|
204
|
-
---
|
|
205
|
-
|
|
206
299
|
## Scripts
|
|
207
300
|
|
|
208
301
|
| Command | Description |
|
|
@@ -221,29 +314,31 @@ For service-principal auth (CI/CD, unattended), set `authMode: "msal"` in `confi
|
|
|
221
314
|
|
|
222
315
|
## Architecture
|
|
223
316
|
|
|
224
|
-
TypeScript MCP server over **stdio** transport.
|
|
317
|
+
TypeScript MCP server over **stdio** transport. The `DeviceCodeAuthProvider` (MSAL device code flow) injects Bearer tokens into a native-`fetch`-based `HttpClient` wrapped by `DataverseClient`. Each tool module registers handlers with the MCP `Server` instance.
|
|
225
318
|
|
|
226
319
|
```
|
|
227
320
|
GitHub Copilot → stdio → MCP Server → Tool Router → DataverseClient → Dataverse Web API v9.2
|
|
228
|
-
└──
|
|
321
|
+
└── DeviceCodeAuthProvider (MSAL)
|
|
229
322
|
```
|
|
230
323
|
|
|
231
324
|
---
|
|
232
325
|
|
|
233
326
|
## Security
|
|
234
327
|
|
|
235
|
-
- **Never commit `config.json`**
|
|
328
|
+
- **Never commit `config.json`** — it is in `.gitignore`
|
|
329
|
+
- Token cache (`~/.mcp-dataverse/`) is encrypted (AES-256-GCM) and should not be shared
|
|
236
330
|
- Tokens are never logged; only diagnostic messages are written to stderr
|
|
237
|
-
-
|
|
238
|
-
- Service principal (`msal`) should be assigned the least-privilege Dataverse security role
|
|
331
|
+
- Tokens are scoped to the authenticated user — no privilege escalation
|
|
239
332
|
|
|
240
333
|
---
|
|
241
334
|
|
|
242
335
|
## Troubleshooting
|
|
243
336
|
|
|
244
|
-
| Symptom | Fix
|
|
245
|
-
| ------------------------------------------ |
|
|
246
|
-
|
|
|
247
|
-
|
|
|
248
|
-
| `
|
|
249
|
-
|
|
|
337
|
+
| Symptom | Fix |
|
|
338
|
+
| ------------------------------------------ | -------------------------------------------------------------------------------- |
|
|
339
|
+
| No sign-in prompt appeared | Open **View → Output → MCP** in VS Code — the device code is displayed there |
|
|
340
|
+
| Browser didn't open automatically | Copy the URL from the Output panel manually: `https://microsoft.com/devicelogin` |
|
|
341
|
+
| `No MSAL accounts found` | Run `npx mcp-dataverse-auth` to re-authenticate, then restart the server |
|
|
342
|
+
| `Authentication timed out` | The 5-minute window expired — restart the MCP server to get a new code |
|
|
343
|
+
| `"https://" is required` | Check `DATAVERSE_ENV_URL` in your `mcp.json` — must start with `https://` |
|
|
344
|
+
| Server not appearing in Copilot Agent mode | Restart VS Code; check **Output → MCP** panel for errors |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-provider.factory.d.ts","sourceRoot":"","sources":["../../src/auth/auth-provider.factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-provider.factory.d.ts","sourceRoot":"","sources":["../../src/auth/auth-provider.factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAE/D"}
|
|
@@ -1,15 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MsalAuthProvider } from "./msal-auth-provider.js";
|
|
1
|
+
import { DeviceCodeAuthProvider } from "./device-code-auth-provider.js";
|
|
3
2
|
export function createAuthProvider(config) {
|
|
4
|
-
|
|
5
|
-
case "pac":
|
|
6
|
-
return new PacAuthProvider(config.environmentUrl);
|
|
7
|
-
case "msal":
|
|
8
|
-
return new MsalAuthProvider(config);
|
|
9
|
-
default: {
|
|
10
|
-
const _exhaustive = config.authMode;
|
|
11
|
-
throw new Error(`Unknown auth mode: ${_exhaustive}`);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
3
|
+
return new DeviceCodeAuthProvider(config.environmentUrl);
|
|
14
4
|
}
|
|
15
5
|
//# sourceMappingURL=auth-provider.factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-provider.factory.js","sourceRoot":"","sources":["../../src/auth/auth-provider.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auth-provider.factory.js","sourceRoot":"","sources":["../../src/auth/auth-provider.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,IAAI,sBAAsB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AuthProvider } from "./auth-provider.interface.js";
|
|
2
|
+
export declare class DeviceCodeAuthProvider implements AuthProvider {
|
|
3
|
+
readonly environmentUrl: string;
|
|
4
|
+
private readonly pca;
|
|
5
|
+
private cachedToken;
|
|
6
|
+
private tokenExpiresAt;
|
|
7
|
+
private pendingAuth;
|
|
8
|
+
constructor(environmentUrl: string);
|
|
9
|
+
getToken(): Promise<string>;
|
|
10
|
+
invalidateToken(): void;
|
|
11
|
+
isAuthenticated(): Promise<boolean>;
|
|
12
|
+
setupViaDeviceCode(): Promise<void>;
|
|
13
|
+
private refreshToken;
|
|
14
|
+
private acquireSilently;
|
|
15
|
+
private runDeviceCodeFlow;
|
|
16
|
+
private cacheResult;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=device-code-auth-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-code-auth-provider.d.ts","sourceRoot":"","sources":["../../src/auth/device-code-auth-provider.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AA+DjE,qBAAa,sBAAuB,YAAW,YAAY;IACzD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAC9C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,WAAW,CAAgC;gBAEvC,cAAc,EAAE,MAAM;IAQ5B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAQjC,eAAe,IAAI,IAAI;IAEjB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;YAE3B,YAAY;YAsBZ,eAAe;YASf,iBAAiB;IAuB/B,OAAO,CAAC,WAAW;CAIpB"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { PublicClientApplication, } from "@azure/msal-node";
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
3
|
+
import { homedir } from "os";
|
|
4
|
+
import { join } from "path";
|
|
5
|
+
import { exec } from "child_process";
|
|
6
|
+
import { platform } from "process";
|
|
7
|
+
import { createCipheriv, createDecipheriv, createHash, randomBytes, } from "crypto";
|
|
8
|
+
function copyToClipboard(text) {
|
|
9
|
+
const cmd = platform === "win32" ? `echo|set /p="${text}"| clip`
|
|
10
|
+
: platform === "darwin" ? `printf '%s' '${text}' | pbcopy`
|
|
11
|
+
: `printf '%s' '${text}' | xclip -selection clipboard 2>/dev/null || printf '%s' '${text}' | xsel --clipboard 2>/dev/null`;
|
|
12
|
+
exec(cmd, () => { });
|
|
13
|
+
}
|
|
14
|
+
const PLATFORM_CLIENT_ID = "1950a258-227b-4e31-a9cf-717495945fc2";
|
|
15
|
+
const CACHE_DIR = join(homedir(), ".mcp-dataverse");
|
|
16
|
+
const TOKEN_CACHE_FILE = join(CACHE_DIR, "msal-cache.json");
|
|
17
|
+
const DEVICE_CODE_TIMEOUT_MS = 5 * 60 * 1000;
|
|
18
|
+
function getDerivedKey() {
|
|
19
|
+
const seed = [
|
|
20
|
+
process.env["COMPUTERNAME"] ?? process.env["HOSTNAME"] ?? "",
|
|
21
|
+
process.env["USERNAME"] ?? process.env["USER"] ?? "",
|
|
22
|
+
"mcp-dataverse-cache-v1",
|
|
23
|
+
].join(".");
|
|
24
|
+
return createHash("sha256").update(seed).digest();
|
|
25
|
+
}
|
|
26
|
+
function encryptForDisk(plaintext) {
|
|
27
|
+
const key = getDerivedKey();
|
|
28
|
+
const iv = randomBytes(16);
|
|
29
|
+
const cipher = createCipheriv("aes-256-gcm", key, iv);
|
|
30
|
+
const encrypted = Buffer.concat([cipher.update(plaintext, "utf-8"), cipher.final()]);
|
|
31
|
+
return JSON.stringify({ v: 1, iv: iv.toString("hex"), tag: cipher.getAuthTag().toString("hex"), d: encrypted.toString("hex") });
|
|
32
|
+
}
|
|
33
|
+
function decryptFromDisk(raw) {
|
|
34
|
+
const parsed = JSON.parse(raw);
|
|
35
|
+
if (parsed["v"] !== 1)
|
|
36
|
+
throw new Error("Unknown cache format version");
|
|
37
|
+
const iv = Buffer.from(parsed["iv"], "hex");
|
|
38
|
+
const tag = Buffer.from(parsed["tag"], "hex");
|
|
39
|
+
const encrypted = Buffer.from(parsed["d"], "hex");
|
|
40
|
+
const decipher = createDecipheriv("aes-256-gcm", getDerivedKey(), iv);
|
|
41
|
+
decipher.setAuthTag(tag);
|
|
42
|
+
return decipher.update(encrypted).toString("utf-8") + decipher.final("utf-8");
|
|
43
|
+
}
|
|
44
|
+
function createCachePlugin() {
|
|
45
|
+
return {
|
|
46
|
+
beforeCacheAccess: async (cacheContext) => {
|
|
47
|
+
if (existsSync(TOKEN_CACHE_FILE)) {
|
|
48
|
+
try {
|
|
49
|
+
const raw = readFileSync(TOKEN_CACHE_FILE, "utf-8");
|
|
50
|
+
let serialized;
|
|
51
|
+
try {
|
|
52
|
+
serialized = decryptFromDisk(raw);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
serialized = raw;
|
|
56
|
+
}
|
|
57
|
+
cacheContext.tokenCache.deserialize(serialized);
|
|
58
|
+
}
|
|
59
|
+
catch { /* corrupt cache — re-auth automatically */ }
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
afterCacheAccess: async (cacheContext) => {
|
|
63
|
+
if (cacheContext.cacheHasChanged) {
|
|
64
|
+
mkdirSync(CACHE_DIR, { recursive: true });
|
|
65
|
+
writeFileSync(TOKEN_CACHE_FILE, encryptForDisk(cacheContext.tokenCache.serialize()), { encoding: "utf-8", mode: 0o600 });
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export class DeviceCodeAuthProvider {
|
|
71
|
+
environmentUrl;
|
|
72
|
+
pca;
|
|
73
|
+
cachedToken = null;
|
|
74
|
+
tokenExpiresAt = 0;
|
|
75
|
+
pendingAuth = null;
|
|
76
|
+
constructor(environmentUrl) {
|
|
77
|
+
this.environmentUrl = environmentUrl.replace(/\/$/, "");
|
|
78
|
+
this.pca = new PublicClientApplication({
|
|
79
|
+
auth: { clientId: PLATFORM_CLIENT_ID, authority: "https://login.microsoftonline.com/common" },
|
|
80
|
+
cache: { cachePlugin: createCachePlugin() },
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
async getToken() {
|
|
84
|
+
const now = Date.now();
|
|
85
|
+
if (this.cachedToken !== null && this.tokenExpiresAt > now + 60_000)
|
|
86
|
+
return this.cachedToken;
|
|
87
|
+
if (this.pendingAuth !== null)
|
|
88
|
+
return this.pendingAuth;
|
|
89
|
+
this.pendingAuth = this.refreshToken().finally(() => { this.pendingAuth = null; });
|
|
90
|
+
return this.pendingAuth;
|
|
91
|
+
}
|
|
92
|
+
invalidateToken() { this.cachedToken = null; this.tokenExpiresAt = 0; }
|
|
93
|
+
async isAuthenticated() {
|
|
94
|
+
try {
|
|
95
|
+
await this.getToken();
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async setupViaDeviceCode() { await this.runDeviceCodeFlow(); }
|
|
103
|
+
async refreshToken() {
|
|
104
|
+
const accounts = await this.pca.getAllAccounts();
|
|
105
|
+
if (accounts.length === 0) {
|
|
106
|
+
process.stderr.write("\n[mcp-dataverse] First-time authentication required.\n" + `Environment: ${this.environmentUrl}\n` + "Open the URL below in your browser to sign in.\n\n");
|
|
107
|
+
try {
|
|
108
|
+
await this.runDeviceCodeFlow();
|
|
109
|
+
return await this.acquireSilently();
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
113
|
+
throw new Error(`Authentication setup failed: ${detail}\n\nYou can also authenticate manually:\n npx mcp-dataverse-auth ${this.environmentUrl}\nThen restart the MCP server in VS Code.`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
return await this.acquireSilently();
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
process.stderr.write("\n[mcp-dataverse] Session expired — re-authenticating.\nOpen the URL below in your browser to sign in again.\n\n");
|
|
121
|
+
try {
|
|
122
|
+
await this.runDeviceCodeFlow();
|
|
123
|
+
return await this.acquireSilently();
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
this.cachedToken = null;
|
|
127
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
128
|
+
throw new Error(`Re-authentication failed: ${detail}\n\nTo authenticate manually:\n npx mcp-dataverse-auth ${this.environmentUrl}\nThen restart the MCP server in VS Code.`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async acquireSilently() {
|
|
133
|
+
const accounts = await this.pca.getAllAccounts();
|
|
134
|
+
if (accounts.length === 0)
|
|
135
|
+
throw new Error("No account found in cache after authentication.");
|
|
136
|
+
const result = await this.pca.acquireTokenSilent({ scopes: [`${this.environmentUrl}/.default`], account: accounts[0] });
|
|
137
|
+
if (!result?.accessToken)
|
|
138
|
+
throw new Error("Token acquisition returned an empty access token.");
|
|
139
|
+
this.cacheResult(result);
|
|
140
|
+
return result.accessToken;
|
|
141
|
+
}
|
|
142
|
+
async runDeviceCodeFlow() {
|
|
143
|
+
const result = await Promise.race([
|
|
144
|
+
this.pca.acquireTokenByDeviceCode({
|
|
145
|
+
scopes: [`${this.environmentUrl}/.default`],
|
|
146
|
+
deviceCodeCallback: (response) => {
|
|
147
|
+
copyToClipboard(response.userCode);
|
|
148
|
+
process.stderr.write(`\n[mcp-dataverse] Sign in required\n` +
|
|
149
|
+
`\n 1. Open ${response.verificationUri} in your browser\n` +
|
|
150
|
+
` (use the browser profile linked to your Power Platform account)\n` +
|
|
151
|
+
` 2. Paste the code: ${response.userCode} (already copied to your clipboard)\n` +
|
|
152
|
+
` 3. Sign in with your work account\n\n`);
|
|
153
|
+
},
|
|
154
|
+
}),
|
|
155
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error("Authentication timed out after 5 minutes. Please try again.")), DEVICE_CODE_TIMEOUT_MS)),
|
|
156
|
+
]);
|
|
157
|
+
if (result) {
|
|
158
|
+
this.cacheResult(result);
|
|
159
|
+
process.stderr.write("\n[mcp-dataverse] Authenticated ✓ Token cached — no sign-in needed next time.\n\n");
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
cacheResult(result) {
|
|
163
|
+
this.cachedToken = result.accessToken;
|
|
164
|
+
this.tokenExpiresAt = result.expiresOn?.getTime() ?? Date.now() + 55 * 60 * 1000;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=device-code-auth-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-code-auth-provider.js","sourceRoot":"","sources":["../../src/auth/device-code-auth-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pac-auth-provider.d.ts","sourceRoot":"","sources":["../../src/auth/pac-auth-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pac-auth-provider.d.ts","sourceRoot":"","sources":["../../src/auth/pac-auth-provider.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAsEjE,qBAAa,eAAgB,YAAW,YAAY;IAClD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAC9C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,WAAW,CAAgC;gBAEvC,cAAc,EAAE,MAAM;IAQ5B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAQjC,eAAe,IAAI,IAAI;IAEjB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAInC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;YAE3B,YAAY;YAsBZ,eAAe;YASf,iBAAiB;IAqB/B,OAAO,CAAC,WAAW;CAIpB"}
|
|
@@ -2,7 +2,21 @@ import { PublicClientApplication, } from "@azure/msal-node";
|
|
|
2
2
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
3
3
|
import { homedir } from "os";
|
|
4
4
|
import { join } from "path";
|
|
5
|
+
import { exec } from "child_process";
|
|
6
|
+
import { platform } from "process";
|
|
5
7
|
import { createCipheriv, createDecipheriv, createHash, randomBytes, } from "crypto";
|
|
8
|
+
function openBrowser(url) {
|
|
9
|
+
const cmd = platform === "win32" ? `start "" "${url}"`
|
|
10
|
+
: platform === "darwin" ? `open "${url}"`
|
|
11
|
+
: `xdg-open "${url}"`;
|
|
12
|
+
exec(cmd, () => { });
|
|
13
|
+
}
|
|
14
|
+
function copyToClipboard(text) {
|
|
15
|
+
const cmd = platform === "win32" ? `echo|set /p="${text}"| clip`
|
|
16
|
+
: platform === "darwin" ? `printf '%s' '${text}' | pbcopy`
|
|
17
|
+
: `printf '%s' '${text}' | xclip -selection clipboard 2>/dev/null || printf '%s' '${text}' | xsel --clipboard 2>/dev/null`;
|
|
18
|
+
exec(cmd, () => { });
|
|
19
|
+
}
|
|
6
20
|
const PLATFORM_CLIENT_ID = "1950a258-227b-4e31-a9cf-717495945fc2";
|
|
7
21
|
const CACHE_DIR = join(homedir(), ".mcp-dataverse");
|
|
8
22
|
const TOKEN_CACHE_FILE = join(CACHE_DIR, "msal-cache.json");
|
|
@@ -135,7 +149,15 @@ export class PacAuthProvider {
|
|
|
135
149
|
const result = await Promise.race([
|
|
136
150
|
this.pca.acquireTokenByDeviceCode({
|
|
137
151
|
scopes: [`${this.environmentUrl}/.default`],
|
|
138
|
-
deviceCodeCallback: (response) => {
|
|
152
|
+
deviceCodeCallback: (response) => {
|
|
153
|
+
process.stderr.write(`\n[mcp-dataverse] Sign in required\n` +
|
|
154
|
+
`Code: ${response.userCode}\n` +
|
|
155
|
+
`URL: ${response.verificationUri}\n` +
|
|
156
|
+
`\n→ Browser opened automatically. Paste the code and sign in.\n` +
|
|
157
|
+
` (code copied to clipboard)\n\n`);
|
|
158
|
+
copyToClipboard(response.userCode);
|
|
159
|
+
openBrowser(response.verificationUri);
|
|
160
|
+
},
|
|
139
161
|
}),
|
|
140
162
|
new Promise((_, reject) => setTimeout(() => reject(new Error("Authentication timed out after 5 minutes. Please try again.")), DEVICE_CODE_TIMEOUT_MS)),
|
|
141
163
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pac-auth-provider.js","sourceRoot":"","sources":["../../src/auth/pac-auth-provider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pac-auth-provider.js","sourceRoot":"","sources":["../../src/auth/pac-auth-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,GAIxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,MAAM,QAAQ,CAAC;AAGhB,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,GAAG,GAAG;QACpD,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG;YACzC,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC;IACxB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAoC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS;QAC9D,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,IAAI,YAAY;YAC1D,CAAC,CAAC,gBAAgB,IAAI,8DAA8D,IAAI,kCAAkC,CAAC;IAC7H,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAoC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;AACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAC5D,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7C,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG;QACX,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE;QAC5D,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;QACpD,wBAAwB;KACzB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACvC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrF,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAClI,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;IAC1D,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAW,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAW,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAW,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IACtE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,iBAAiB,EAAE,KAAK,EAAE,YAA+B,EAAE,EAAE;YAC3D,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;oBACpD,IAAI,UAAkB,CAAC;oBACvB,IAAI,CAAC;wBAAC,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAAC,UAAU,GAAG,GAAG,CAAC;oBAAC,CAAC;oBACtE,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAClD,CAAC;gBAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,gBAAgB,EAAE,KAAK,EAAE,YAA+B,EAAE,EAAE;YAC1D,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;gBACjC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1C,aAAa,CAAC,gBAAgB,EAAE,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3H,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,eAAe;IACjB,cAAc,CAAS;IACf,GAAG,CAA0B;IACtC,WAAW,GAAkB,IAAI,CAAC;IAClC,cAAc,GAAW,CAAC,CAAC;IAC3B,WAAW,GAA2B,IAAI,CAAC;IAEnD,YAAY,cAAsB;QAChC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG,GAAG,IAAI,uBAAuB,CAAC;YACrC,IAAI,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,0CAA0C,EAAE;YAC7F,KAAK,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,GAAG,GAAG,GAAG,MAAM;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC;QAC7F,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,eAAe,KAAW,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC;IAE7E,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,kBAAkB,KAAoB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IAErE,KAAK,CAAC,YAAY;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,GAAG,gBAAgB,IAAI,CAAC,cAAc,IAAI,GAAG,oDAAoD,CAAC,CAAC;YACjL,IAAI,CAAC;gBAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAAC,OAAO,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAAC,CAAC;YAC5E,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,qEAAqE,IAAI,CAAC,cAAc,2CAA2C,CAAC,CAAC;YAC7L,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YAAC,OAAO,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAAC,CAAC;QAC5C,MAAM,CAAC;YACL,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kHAAkH,CAAC,CAAC;YACzI,IAAI,CAAC;gBAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAAC,OAAO,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAAC,CAAC;YAC5E,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,2DAA2D,IAAI,CAAC,cAAc,2CAA2C,CAAC,CAAC;YAChL,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;QACzH,IAAI,CAAC,MAAM,EAAE,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC/F,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC;gBAChC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,WAAW,CAAC;gBAC3C,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE;oBAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sCAAsC;wBACtC,SAAS,QAAQ,CAAC,QAAQ,IAAI;wBAC9B,SAAS,QAAQ,CAAC,eAAe,IAAI;wBACrC,iEAAiE;wBACjE,kCAAkC,CACnC,CAAC;oBACF,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACnC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACxC,CAAC;aACF,CAAC;YACF,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;SAC9J,CAAC,CAAC;QACH,IAAI,MAAM;YAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAEO,WAAW,CAAC,MAA4B;QAC9C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACnF,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.loader.d.ts","sourceRoot":"","sources":["../../src/config/config.loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI/D,wBAAgB,UAAU,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"config.loader.d.ts","sourceRoot":"","sources":["../../src/config/config.loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI/D,wBAAgB,UAAU,IAAI,MAAM,CAwCnC"}
|
|
@@ -21,21 +21,6 @@ export function loadConfig() {
|
|
|
21
21
|
const envUrl = process.env["DATAVERSE_ENV_URL"] ?? process.env["environmentUrl"];
|
|
22
22
|
if (envUrl)
|
|
23
23
|
rawConfig["environmentUrl"] = envUrl;
|
|
24
|
-
const authMode = process.env["AUTH_MODE"] ?? process.env["authMode"];
|
|
25
|
-
if (authMode)
|
|
26
|
-
rawConfig["authMode"] = authMode;
|
|
27
|
-
const pacProfile = process.env["PAC_PROFILE_NAME"] ?? process.env["pacProfileName"];
|
|
28
|
-
if (pacProfile)
|
|
29
|
-
rawConfig["pacProfileName"] = pacProfile;
|
|
30
|
-
const tenantId = process.env["TENANT_ID"] ?? process.env["tenantId"];
|
|
31
|
-
if (tenantId)
|
|
32
|
-
rawConfig["tenantId"] = tenantId;
|
|
33
|
-
const clientId = process.env["CLIENT_ID"] ?? process.env["clientId"];
|
|
34
|
-
if (clientId)
|
|
35
|
-
rawConfig["clientId"] = clientId;
|
|
36
|
-
const clientSecret = process.env["CLIENT_SECRET"] ?? process.env["clientSecret"];
|
|
37
|
-
if (clientSecret)
|
|
38
|
-
rawConfig["clientSecret"] = clientSecret;
|
|
39
24
|
const timeoutMs = process.env["REQUEST_TIMEOUT_MS"] ?? process.env["requestTimeoutMs"];
|
|
40
25
|
if (timeoutMs)
|
|
41
26
|
rawConfig["requestTimeoutMs"] = Number(timeoutMs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.loader.js","sourceRoot":"","sources":["../../src/config/config.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAE/D,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,MAAM,UAAU,UAAU;IACxB,yEAAyE;IACzE,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAE1E,IAAI,SAAS,GAA4B,EAAE,CAAC;IAE5C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAA4B,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,mBAAmB,UAAU,8DAA8D,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,4EAA4E;IAC5E,iFAAiF;IACjF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjF,IAAI,MAAM;QAAE,SAAS,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;IAEjD,MAAM,
|
|
1
|
+
{"version":3,"file":"config.loader.js","sourceRoot":"","sources":["../../src/config/config.loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAE/D,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,MAAM,UAAU,UAAU;IACxB,yEAAyE;IACzE,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAE1E,IAAI,SAAS,GAA4B,EAAE,CAAC;IAE5C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAA4B,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,mBAAmB,UAAU,8DAA8D,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,4EAA4E;IAC5E,iFAAiF;IACjF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjF,IAAI,MAAM;QAAE,SAAS,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;IAEjD,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACvE,IAAI,SAAS;QAAE,SAAS,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3E,IAAI,UAAU;QAAE,SAAS,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAEjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,2BAA2B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChH,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
|
|
@@ -1,29 +1,14 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
export declare const ConfigSchema: z.ZodObject<{
|
|
3
3
|
environmentUrl: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
4
|
-
authMode: z.ZodDefault<z.ZodEnum<["pac", "msal"]>>;
|
|
5
|
-
pacProfileName: z.ZodDefault<z.ZodString>;
|
|
6
|
-
tenantId: z.ZodOptional<z.ZodString>;
|
|
7
|
-
clientId: z.ZodOptional<z.ZodString>;
|
|
8
|
-
clientSecret: z.ZodOptional<z.ZodString>;
|
|
9
4
|
requestTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
10
5
|
maxRetries: z.ZodDefault<z.ZodNumber>;
|
|
11
6
|
}, "strip", z.ZodTypeAny, {
|
|
12
7
|
environmentUrl: string;
|
|
13
|
-
authMode: "pac" | "msal";
|
|
14
|
-
pacProfileName: string;
|
|
15
8
|
requestTimeoutMs: number;
|
|
16
9
|
maxRetries: number;
|
|
17
|
-
tenantId?: string | undefined;
|
|
18
|
-
clientId?: string | undefined;
|
|
19
|
-
clientSecret?: string | undefined;
|
|
20
10
|
}, {
|
|
21
11
|
environmentUrl: string;
|
|
22
|
-
authMode?: "pac" | "msal" | undefined;
|
|
23
|
-
pacProfileName?: string | undefined;
|
|
24
|
-
tenantId?: string | undefined;
|
|
25
|
-
clientId?: string | undefined;
|
|
26
|
-
clientSecret?: string | undefined;
|
|
27
12
|
requestTimeoutMs?: number | undefined;
|
|
28
13
|
maxRetries?: number | undefined;
|
|
29
14
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.schema.d.ts","sourceRoot":"","sources":["../../src/config/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"config.schema.d.ts","sourceRoot":"","sources":["../../src/config/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;;;;;;;;;EAmBvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -14,11 +14,6 @@ export const ConfigSchema = z.object({
|
|
|
14
14
|
return false;
|
|
15
15
|
}
|
|
16
16
|
}, { message: "environmentUrl must be a *.dynamics.com host" }),
|
|
17
|
-
authMode: z.enum(["pac", "msal"]).default("pac"),
|
|
18
|
-
pacProfileName: z.string().default("default"),
|
|
19
|
-
tenantId: z.string().optional(),
|
|
20
|
-
clientId: z.string().optional(),
|
|
21
|
-
clientSecret: z.string().optional(),
|
|
22
17
|
requestTimeoutMs: z.number().positive().default(30000),
|
|
23
18
|
maxRetries: z.number().min(0).max(10).default(3),
|
|
24
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../src/config/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,CAAC,2CAA2C,CAAC;SAChD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC3C,OAAO,EAAE,0CAA0C;KACpD,CAAC;SACD,MAAM,CACL,CAAC,GAAG,EAAE,EAAE;QACN,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,EACD,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAC5D;IACH,
|
|
1
|
+
{"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../src/config/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,CAAC,2CAA2C,CAAC;SAChD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC3C,OAAO,EAAE,0CAA0C;KACpD,CAAC;SACD,MAAM,CACL,CAAC,GAAG,EAAE,EAAE;QACN,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,EACD,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAC5D;IACH,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACtD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACjD,CAAC,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -157,6 +157,15 @@ async function main() {
|
|
|
157
157
|
await server.connect(transport);
|
|
158
158
|
// Do not log to stdout — stdio transport uses stdout for protocol messages
|
|
159
159
|
process.stderr.write("MCP Dataverse server started\n");
|
|
160
|
+
// Proactively trigger authentication at startup so the device-code prompt
|
|
161
|
+
// appears immediately in the VS Code MCP Output panel (View → Output → MCP),
|
|
162
|
+
// rather than only on the first tool call.
|
|
163
|
+
authProvider.getToken().then(() => {
|
|
164
|
+
process.stderr.write("[mcp-dataverse] Authenticated ✓\n");
|
|
165
|
+
}).catch((err) => {
|
|
166
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
167
|
+
process.stderr.write(`[mcp-dataverse] Authentication failed: ${msg}\n`);
|
|
168
|
+
});
|
|
160
169
|
}
|
|
161
170
|
main().catch((error) => {
|
|
162
171
|
process.stderr.write(`Fatal error: ${error instanceof Error ? error.message : String(error)}\n`);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/setup-auth.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* The token is cached in ~/.mcp-dataverse/msal-cache.json and reused silently.
|
|
8
8
|
*/
|
|
9
9
|
import { loadConfig } from "./config/config.loader.js";
|
|
10
|
-
import {
|
|
10
|
+
import { DeviceCodeAuthProvider } from "./auth/device-code-auth-provider.js";
|
|
11
11
|
async function main() {
|
|
12
12
|
process.stderr.write("MCP Dataverse — One-time Authentication Setup\n");
|
|
13
13
|
process.stderr.write("──────────────────────────────────────────────\n");
|
|
@@ -26,14 +26,10 @@ async function main() {
|
|
|
26
26
|
"Or set DATAVERSE_ENV_URL before running.\n");
|
|
27
27
|
process.exit(1);
|
|
28
28
|
}
|
|
29
|
-
if (config.authMode !== "pac") {
|
|
30
|
-
process.stderr.write(`Auth mode is "${config.authMode}" — setup only needed for "pac" mode.\n`);
|
|
31
|
-
process.exit(0);
|
|
32
|
-
}
|
|
33
29
|
process.stderr.write(`Environment : ${config.environmentUrl}\n`);
|
|
34
30
|
process.stderr.write(`Token cache : ~/.mcp-dataverse/msal-cache.json\n\n`);
|
|
35
31
|
process.stderr.write("A browser window will open. Sign in with your Microsoft account.\n\n");
|
|
36
|
-
const provider = new
|
|
32
|
+
const provider = new DeviceCodeAuthProvider(config.environmentUrl);
|
|
37
33
|
await provider.setupViaDeviceCode();
|
|
38
34
|
process.stderr.write("\n✓ Authentication successful!\n" +
|
|
39
35
|
" Token cached in ~/.mcp-dataverse/msal-cache.json\n\n" +
|
package/dist/setup-auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-auth.js","sourceRoot":"","sources":["../src/setup-auth.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"setup-auth.js","sourceRoot":"","sources":["../src/setup-auth.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAEzE,8FAA8F;IAC9F,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAC/C,CAAC;IAED,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gCAAgC;YAC9B,kEAAkE;YAClE,4CAA4C,CAC/C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;IACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oDAAoD,CACrD,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAE7F,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACnE,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAEpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kCAAkC;QAChC,wDAAwD;QACxD,iDAAiD,CACpD,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC9E,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -39,43 +39,6 @@
|
|
|
39
39
|
"isRequired": false,
|
|
40
40
|
"format": "string",
|
|
41
41
|
"isSecret": false
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"name": "AUTH_MODE",
|
|
45
|
-
"description": "Authentication mode: 'pac' (Power Platform CLI, default) or 'msal' (client credentials)",
|
|
46
|
-
"placeholder": "pac",
|
|
47
|
-
"isRequired": false,
|
|
48
|
-
"format": "string",
|
|
49
|
-
"isSecret": false
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"name": "PAC_PROFILE_NAME",
|
|
53
|
-
"description": "Power Platform CLI profile name (only when AUTH_MODE=pac)",
|
|
54
|
-
"placeholder": "default",
|
|
55
|
-
"isRequired": false,
|
|
56
|
-
"format": "string",
|
|
57
|
-
"isSecret": false
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"name": "TENANT_ID",
|
|
61
|
-
"description": "Azure AD tenant ID (only when AUTH_MODE=msal)",
|
|
62
|
-
"isRequired": false,
|
|
63
|
-
"format": "string",
|
|
64
|
-
"isSecret": false
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"name": "CLIENT_ID",
|
|
68
|
-
"description": "Azure AD application (client) ID (only when AUTH_MODE=msal)",
|
|
69
|
-
"isRequired": false,
|
|
70
|
-
"format": "string",
|
|
71
|
-
"isSecret": false
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"name": "CLIENT_SECRET",
|
|
75
|
-
"description": "Azure AD client secret (only when AUTH_MODE=msal)",
|
|
76
|
-
"isRequired": false,
|
|
77
|
-
"format": "string",
|
|
78
|
-
"isSecret": true
|
|
79
42
|
}
|
|
80
43
|
]
|
|
81
44
|
}
|