mcp-dataverse 0.3.8 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/CAPABILITIES.md +1039 -1039
  2. package/LICENSE +21 -21
  3. package/README.md +114 -105
  4. package/dist/auth-provider.factory-MSMLSOX3.js +1 -0
  5. package/dist/chunk-24RDOMG4.js +29 -0
  6. package/dist/chunk-OXKMMPM3.js +37 -0
  7. package/dist/chunk-PAX4NW5B.js +1 -0
  8. package/dist/chunk-SUDI4JM6.js +3 -0
  9. package/dist/config.loader-VTIKUDN7.js +1 -0
  10. package/dist/dataverse-client-advanced-T5ZJMRLK.js +1 -0
  11. package/dist/doctor.js +2 -102
  12. package/dist/http-server.js +3 -61
  13. package/dist/install.js +8 -233
  14. package/dist/server.js +43 -202
  15. package/dist/setup-auth.js +18 -41
  16. package/package.json +95 -94
  17. package/server.json +51 -50
  18. package/dist/auth/auth-provider.factory.d.ts +0 -4
  19. package/dist/auth/auth-provider.factory.d.ts.map +0 -1
  20. package/dist/auth/auth-provider.factory.js +0 -5
  21. package/dist/auth/auth-provider.factory.js.map +0 -1
  22. package/dist/auth/auth-provider.interface.d.ts +0 -21
  23. package/dist/auth/auth-provider.interface.d.ts.map +0 -1
  24. package/dist/auth/auth-provider.interface.js +0 -2
  25. package/dist/auth/auth-provider.interface.js.map +0 -1
  26. package/dist/auth/device-code-auth-provider.d.ts +0 -18
  27. package/dist/auth/device-code-auth-provider.d.ts.map +0 -1
  28. package/dist/auth/device-code-auth-provider.js +0 -167
  29. package/dist/auth/device-code-auth-provider.js.map +0 -1
  30. package/dist/config/config.loader.d.ts +0 -3
  31. package/dist/config/config.loader.d.ts.map +0 -1
  32. package/dist/config/config.loader.js +0 -39
  33. package/dist/config/config.loader.js.map +0 -1
  34. package/dist/config/config.schema.d.ts +0 -16
  35. package/dist/config/config.schema.d.ts.map +0 -1
  36. package/dist/config/config.schema.js +0 -20
  37. package/dist/config/config.schema.js.map +0 -1
  38. package/dist/dataverse/dataverse-client-advanced.d.ts +0 -53
  39. package/dist/dataverse/dataverse-client-advanced.d.ts.map +0 -1
  40. package/dist/dataverse/dataverse-client-advanced.js +0 -199
  41. package/dist/dataverse/dataverse-client-advanced.js.map +0 -1
  42. package/dist/dataverse/dataverse-client.actions.d.ts +0 -11
  43. package/dist/dataverse/dataverse-client.actions.d.ts.map +0 -1
  44. package/dist/dataverse/dataverse-client.actions.js +0 -25
  45. package/dist/dataverse/dataverse-client.actions.js.map +0 -1
  46. package/dist/dataverse/dataverse-client.batch.d.ts +0 -10
  47. package/dist/dataverse/dataverse-client.batch.d.ts.map +0 -1
  48. package/dist/dataverse/dataverse-client.batch.js +0 -74
  49. package/dist/dataverse/dataverse-client.batch.js.map +0 -1
  50. package/dist/dataverse/dataverse-client.d.ts +0 -46
  51. package/dist/dataverse/dataverse-client.d.ts.map +0 -1
  52. package/dist/dataverse/dataverse-client.js +0 -275
  53. package/dist/dataverse/dataverse-client.js.map +0 -1
  54. package/dist/dataverse/dataverse-client.metadata.d.ts +0 -41
  55. package/dist/dataverse/dataverse-client.metadata.d.ts.map +0 -1
  56. package/dist/dataverse/dataverse-client.metadata.js +0 -124
  57. package/dist/dataverse/dataverse-client.metadata.js.map +0 -1
  58. package/dist/dataverse/dataverse-client.utils.d.ts +0 -14
  59. package/dist/dataverse/dataverse-client.utils.d.ts.map +0 -1
  60. package/dist/dataverse/dataverse-client.utils.js +0 -65
  61. package/dist/dataverse/dataverse-client.utils.js.map +0 -1
  62. package/dist/dataverse/http-client.d.ts +0 -38
  63. package/dist/dataverse/http-client.d.ts.map +0 -1
  64. package/dist/dataverse/http-client.js +0 -111
  65. package/dist/dataverse/http-client.js.map +0 -1
  66. package/dist/dataverse/types.d.ts +0 -68
  67. package/dist/dataverse/types.d.ts.map +0 -1
  68. package/dist/dataverse/types.js +0 -2
  69. package/dist/dataverse/types.js.map +0 -1
  70. package/dist/doctor.d.ts +0 -7
  71. package/dist/doctor.d.ts.map +0 -1
  72. package/dist/doctor.js.map +0 -1
  73. package/dist/http-server.d.ts +0 -3
  74. package/dist/http-server.d.ts.map +0 -1
  75. package/dist/http-server.js.map +0 -1
  76. package/dist/install.d.ts +0 -3
  77. package/dist/install.d.ts.map +0 -1
  78. package/dist/install.js.map +0 -1
  79. package/dist/resources/resource-provider.d.ts +0 -11
  80. package/dist/resources/resource-provider.d.ts.map +0 -1
  81. package/dist/resources/resource-provider.js +0 -79
  82. package/dist/resources/resource-provider.js.map +0 -1
  83. package/dist/server.d.ts +0 -3
  84. package/dist/server.d.ts.map +0 -1
  85. package/dist/server.js.map +0 -1
  86. package/dist/setup-auth.d.ts +0 -3
  87. package/dist/setup-auth.d.ts.map +0 -1
  88. package/dist/setup-auth.js.map +0 -1
  89. package/dist/tools/actions.tools.d.ts +0 -206
  90. package/dist/tools/actions.tools.d.ts.map +0 -1
  91. package/dist/tools/actions.tools.js +0 -256
  92. package/dist/tools/actions.tools.js.map +0 -1
  93. package/dist/tools/annotations.tools.d.ts +0 -94
  94. package/dist/tools/annotations.tools.d.ts.map +0 -1
  95. package/dist/tools/annotations.tools.js +0 -225
  96. package/dist/tools/annotations.tools.js.map +0 -1
  97. package/dist/tools/audit.tools.d.ts +0 -51
  98. package/dist/tools/audit.tools.d.ts.map +0 -1
  99. package/dist/tools/audit.tools.js +0 -170
  100. package/dist/tools/audit.tools.js.map +0 -1
  101. package/dist/tools/auth.tools.d.ts +0 -23
  102. package/dist/tools/auth.tools.d.ts.map +0 -1
  103. package/dist/tools/auth.tools.js +0 -36
  104. package/dist/tools/auth.tools.js.map +0 -1
  105. package/dist/tools/batch.tools.d.ts +0 -52
  106. package/dist/tools/batch.tools.d.ts.map +0 -1
  107. package/dist/tools/batch.tools.js +0 -89
  108. package/dist/tools/batch.tools.js.map +0 -1
  109. package/dist/tools/crud.tools.d.ts +0 -260
  110. package/dist/tools/crud.tools.d.ts.map +0 -1
  111. package/dist/tools/crud.tools.js +0 -290
  112. package/dist/tools/crud.tools.js.map +0 -1
  113. package/dist/tools/customization.tools.d.ts +0 -127
  114. package/dist/tools/customization.tools.d.ts.map +0 -1
  115. package/dist/tools/customization.tools.js +0 -285
  116. package/dist/tools/customization.tools.js.map +0 -1
  117. package/dist/tools/environment.tools.d.ts +0 -106
  118. package/dist/tools/environment.tools.d.ts.map +0 -1
  119. package/dist/tools/environment.tools.js +0 -274
  120. package/dist/tools/environment.tools.js.map +0 -1
  121. package/dist/tools/file.tools.d.ts +0 -73
  122. package/dist/tools/file.tools.d.ts.map +0 -1
  123. package/dist/tools/file.tools.js +0 -160
  124. package/dist/tools/file.tools.js.map +0 -1
  125. package/dist/tools/guardrails.d.ts +0 -22
  126. package/dist/tools/guardrails.d.ts.map +0 -1
  127. package/dist/tools/guardrails.js +0 -56
  128. package/dist/tools/guardrails.js.map +0 -1
  129. package/dist/tools/impersonate.tools.d.ts +0 -44
  130. package/dist/tools/impersonate.tools.d.ts.map +0 -1
  131. package/dist/tools/impersonate.tools.js +0 -87
  132. package/dist/tools/impersonate.tools.js.map +0 -1
  133. package/dist/tools/metadata.tools.d.ts +0 -279
  134. package/dist/tools/metadata.tools.d.ts.map +0 -1
  135. package/dist/tools/metadata.tools.js +0 -400
  136. package/dist/tools/metadata.tools.js.map +0 -1
  137. package/dist/tools/org.tools.d.ts +0 -32
  138. package/dist/tools/org.tools.d.ts.map +0 -1
  139. package/dist/tools/org.tools.js +0 -65
  140. package/dist/tools/org.tools.js.map +0 -1
  141. package/dist/tools/output.utils.d.ts +0 -63
  142. package/dist/tools/output.utils.d.ts.map +0 -1
  143. package/dist/tools/output.utils.js +0 -78
  144. package/dist/tools/output.utils.js.map +0 -1
  145. package/dist/tools/progress.d.ts +0 -15
  146. package/dist/tools/progress.d.ts.map +0 -1
  147. package/dist/tools/progress.js +0 -29
  148. package/dist/tools/progress.js.map +0 -1
  149. package/dist/tools/quality.tools.d.ts +0 -36
  150. package/dist/tools/quality.tools.d.ts.map +0 -1
  151. package/dist/tools/quality.tools.js +0 -97
  152. package/dist/tools/quality.tools.js.map +0 -1
  153. package/dist/tools/query.tools.d.ts +0 -151
  154. package/dist/tools/query.tools.d.ts.map +0 -1
  155. package/dist/tools/query.tools.js +0 -293
  156. package/dist/tools/query.tools.js.map +0 -1
  157. package/dist/tools/relations.tools.d.ts +0 -77
  158. package/dist/tools/relations.tools.d.ts.map +0 -1
  159. package/dist/tools/relations.tools.js +0 -96
  160. package/dist/tools/relations.tools.js.map +0 -1
  161. package/dist/tools/router.tools.d.ts +0 -5
  162. package/dist/tools/router.tools.d.ts.map +0 -1
  163. package/dist/tools/router.tools.js +0 -247
  164. package/dist/tools/router.tools.js.map +0 -1
  165. package/dist/tools/search.tools.d.ts +0 -74
  166. package/dist/tools/search.tools.d.ts.map +0 -1
  167. package/dist/tools/search.tools.js +0 -142
  168. package/dist/tools/search.tools.js.map +0 -1
  169. package/dist/tools/solution.tools.d.ts +0 -113
  170. package/dist/tools/solution.tools.d.ts.map +0 -1
  171. package/dist/tools/solution.tools.js +0 -176
  172. package/dist/tools/solution.tools.js.map +0 -1
  173. package/dist/tools/teams.tools.d.ts +0 -65
  174. package/dist/tools/teams.tools.d.ts.map +0 -1
  175. package/dist/tools/teams.tools.js +0 -127
  176. package/dist/tools/teams.tools.js.map +0 -1
  177. package/dist/tools/tool-registry.d.ts +0 -35
  178. package/dist/tools/tool-registry.d.ts.map +0 -1
  179. package/dist/tools/tool-registry.js +0 -31
  180. package/dist/tools/tool-registry.js.map +0 -1
  181. package/dist/tools/trace.tools.d.ts +0 -75
  182. package/dist/tools/trace.tools.d.ts.map +0 -1
  183. package/dist/tools/trace.tools.js +0 -233
  184. package/dist/tools/trace.tools.js.map +0 -1
  185. package/dist/tools/tracking.tools.d.ts +0 -41
  186. package/dist/tools/tracking.tools.d.ts.map +0 -1
  187. package/dist/tools/tracking.tools.js +0 -76
  188. package/dist/tools/tracking.tools.js.map +0 -1
  189. package/dist/tools/users.tools.d.ts +0 -141
  190. package/dist/tools/users.tools.d.ts.map +0 -1
  191. package/dist/tools/users.tools.js +0 -321
  192. package/dist/tools/users.tools.js.map +0 -1
  193. package/dist/tools/validation.utils.d.ts +0 -6
  194. package/dist/tools/validation.utils.d.ts.map +0 -1
  195. package/dist/tools/validation.utils.js +0 -14
  196. package/dist/tools/validation.utils.js.map +0 -1
  197. package/dist/tools/views.tools.d.ts +0 -36
  198. package/dist/tools/views.tools.d.ts.map +0 -1
  199. package/dist/tools/views.tools.js +0 -92
  200. package/dist/tools/views.tools.js.map +0 -1
  201. package/dist/tools/workflow.tools.d.ts +0 -111
  202. package/dist/tools/workflow.tools.d.ts.map +0 -1
  203. package/dist/tools/workflow.tools.js +0 -449
  204. package/dist/tools/workflow.tools.js.map +0 -1
  205. package/dist/transport.d.ts +0 -6
  206. package/dist/transport.d.ts.map +0 -1
  207. package/dist/transport.js +0 -21
  208. package/dist/transport.js.map +0 -1
@@ -1,39 +0,0 @@
1
- import { readFileSync, existsSync } from "fs";
2
- import { join } from "path";
3
- import { homedir } from "os";
4
- import { ConfigSchema } from "./config.schema.js";
5
- const CONFIG_FILE_NAME = "config.json";
6
- export function loadConfig() {
7
- // Priority: env vars > 1. MCP_CONFIG_PATH > 2. ~/.mcp-dataverse/config.json > 3. cwd/config.json
8
- const defaultConfigPath = join(homedir(), ".mcp-dataverse", CONFIG_FILE_NAME);
9
- const configPath = process.env["MCP_CONFIG_PATH"] ??
10
- (existsSync(defaultConfigPath) ? defaultConfigPath : join(process.cwd(), CONFIG_FILE_NAME));
11
- let rawConfig = {};
12
- if (existsSync(configPath)) {
13
- const fileContent = readFileSync(configPath, "utf-8");
14
- try {
15
- rawConfig = JSON.parse(fileContent);
16
- }
17
- catch {
18
- throw new Error(`Invalid JSON in ${configPath}. Check for syntax errors (trailing commas, missing quotes).`);
19
- }
20
- }
21
- // Override with env vars if present.
22
- // Accepts both SCREAMING_SNAKE_CASE (documented, server.json) and camelCase
23
- // (generated by VS Code when it reads config.example.json from the npm package).
24
- const envUrl = process.env["DATAVERSE_ENV_URL"] ?? process.env["environmentUrl"];
25
- if (envUrl)
26
- rawConfig["environmentUrl"] = envUrl;
27
- const timeoutMs = process.env["REQUEST_TIMEOUT_MS"] ?? process.env["requestTimeoutMs"];
28
- if (timeoutMs)
29
- rawConfig["requestTimeoutMs"] = Number(timeoutMs);
30
- const maxRetries = process.env["MAX_RETRIES"] ?? process.env["maxRetries"];
31
- if (maxRetries)
32
- rawConfig["maxRetries"] = Number(maxRetries);
33
- const result = ConfigSchema.safeParse(rawConfig);
34
- if (!result.success) {
35
- throw new Error(`Invalid configuration:\n${result.error.issues.map((i) => ` - ${i.path.join(".")}: ${i.message}`).join("\n")}`);
36
- }
37
- return result.data;
38
- }
39
- //# sourceMappingURL=config.loader.js.map
@@ -1 +0,0 @@
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,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAE/D,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,MAAM,UAAU,UAAU;IACxB,iGAAiG;IACjG,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAC9E,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC9B,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE9F,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,16 +0,0 @@
1
- import { z } from "zod";
2
- export declare const ConfigSchema: z.ZodObject<{
3
- environmentUrl: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
4
- requestTimeoutMs: z.ZodDefault<z.ZodNumber>;
5
- maxRetries: z.ZodDefault<z.ZodNumber>;
6
- }, "strip", z.ZodTypeAny, {
7
- environmentUrl: string;
8
- requestTimeoutMs: number;
9
- maxRetries: number;
10
- }, {
11
- environmentUrl: string;
12
- requestTimeoutMs?: number | undefined;
13
- maxRetries?: number | undefined;
14
- }>;
15
- export type Config = z.infer<typeof ConfigSchema>;
16
- //# sourceMappingURL=config.schema.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,20 +0,0 @@
1
- import { z } from "zod";
2
- export const ConfigSchema = z.object({
3
- environmentUrl: z
4
- .string()
5
- .url("Must be a valid Dataverse environment URL")
6
- .refine((url) => url.startsWith("https://"), {
7
- message: "Dataverse environment URL must use HTTPS",
8
- })
9
- .refine((url) => {
10
- try {
11
- return new URL(url).hostname.toLowerCase().endsWith(".dynamics.com");
12
- }
13
- catch {
14
- return false;
15
- }
16
- }, { message: "environmentUrl must be a *.dynamics.com host" }),
17
- requestTimeoutMs: z.number().positive().default(30000),
18
- maxRetries: z.number().min(0).max(10).default(3),
19
- });
20
- //# sourceMappingURL=config.schema.js.map
@@ -1 +0,0 @@
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"}
@@ -1,53 +0,0 @@
1
- import { DataverseBatchClient } from "./dataverse-client.batch.js";
2
- /**
3
- * Extends DataverseMetadataClient with advanced query capabilities:
4
- * bound functions, server-side paging, and change tracking (delta queries).
5
- */
6
- export declare class DataverseAdvancedClient extends DataverseBatchClient {
7
- executeBoundFunction<T = unknown>(entitySetName: string, recordId: string, functionName: string, params?: Record<string, string>): Promise<T>;
8
- queryWithPaging<T = Record<string, unknown>>(entitySetName: string, options?: {
9
- select?: string[];
10
- filter?: string;
11
- orderby?: string;
12
- expand?: string;
13
- maxTotal?: number;
14
- }): Promise<{
15
- records: T[];
16
- totalRetrieved: number;
17
- pageCount: number;
18
- }>;
19
- getChangedRecords<T = Record<string, unknown>>(entitySetName: string, deltaToken: string | null, select?: string[]): Promise<{
20
- newAndModified: T[];
21
- deleted: Array<{
22
- id: string;
23
- }>;
24
- nextDeltaToken: string | null;
25
- }>;
26
- getSolutionComponents(solutionName: string, componentType?: number, top?: number): Promise<{
27
- solutionName: string;
28
- solutionId: string;
29
- friendlyName: string;
30
- version: string;
31
- components: Array<{
32
- componentType: number;
33
- componentTypeName: string;
34
- objectId: string;
35
- }>;
36
- count: number;
37
- }>;
38
- publishCustomizations(components?: {
39
- entities?: string[] | undefined;
40
- webResources?: string[] | undefined;
41
- optionSets?: string[] | undefined;
42
- }): Promise<{
43
- published: boolean;
44
- message: string;
45
- }>;
46
- listDataverseWorkflows(params: {
47
- category?: number;
48
- top?: number;
49
- nameContains?: string;
50
- }): Promise<Record<string, unknown>[]>;
51
- getDataverseWorkflow(workflowId: string): Promise<Record<string, unknown>>;
52
- }
53
- //# sourceMappingURL=dataverse-client-advanced.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataverse-client-advanced.d.ts","sourceRoot":"","sources":["../../src/dataverse/dataverse-client-advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AA6BnE;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,oBAAoB;IAGzD,oBAAoB,CAAC,CAAC,GAAG,OAAO,EACpC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAClC,OAAO,CAAC,CAAC,CAAC;IAYP,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/C,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA8BjE,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjD,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC;QACT,cAAc,EAAE,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC;IAiDI,qBAAqB,CACzB,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,EACtB,GAAG,SAAM,GACR,OAAO,CAAC;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,KAAK,CAAC;YAChB,aAAa,EAAE,MAAM,CAAC;YACtB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;QACH,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAuCI,qBAAqB,CAAC,UAAU,CAAC,EAAE;QACvC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAChC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;KACnC,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAyD9C,sBAAsB,CAAC,MAAM,EAAE;QACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAiBhC,oBAAoB,CACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CASpC"}
@@ -1,199 +0,0 @@
1
- import { DataverseBatchClient } from "./dataverse-client.batch.js";
2
- import { esc } from "./dataverse-client.utils.js";
3
- const COMPONENT_TYPE_MAP = {
4
- 1: "Entity",
5
- 2: "Attribute",
6
- 3: "Relationship",
7
- 9: "OptionSet",
8
- 29: "Workflow",
9
- 61: "SystemForm",
10
- 71: "SiteMap",
11
- 90: "PluginAssembly",
12
- 92: "PluginType",
13
- 97: "WebResource",
14
- 95: "ServiceEndpoint",
15
- 79: "ConnectionRole",
16
- };
17
- /** Escapes a string for safe embedding inside an XML element value. */
18
- function xmlEscape(v) {
19
- return v
20
- .replace(/&/g, "&amp;")
21
- .replace(/</g, "&lt;")
22
- .replace(/>/g, "&gt;")
23
- .replace(/"/g, "&quot;")
24
- .replace(/'/g, "&apos;");
25
- }
26
- /**
27
- * Extends DataverseMetadataClient with advanced query capabilities:
28
- * bound functions, server-side paging, and change tracking (delta queries).
29
- */
30
- export class DataverseAdvancedClient extends DataverseBatchClient {
31
- // ─── Advanced Actions & Functions ────────────────────────────────────────
32
- async executeBoundFunction(entitySetName, recordId, functionName, params = {}) {
33
- const paramStr = Object.entries(params)
34
- .map(([k, v]) => `${esc(k)}='${esc(v)}'`)
35
- .join(",");
36
- const url = `${entitySetName}(${recordId})/${functionName}(${paramStr})`;
37
- return this.requestWithRetry(() => this.http.get(url).then((r) => r.data));
38
- }
39
- // ─── Paging ──────────────────────────────────────────────────────────────
40
- async queryWithPaging(entitySetName, options = {}) {
41
- const maxTotal = Math.min(options.maxTotal ?? 5000, 50000);
42
- const records = [];
43
- let pageCount = 0;
44
- const queryOptions = {};
45
- if (options.select !== undefined)
46
- queryOptions.select = options.select;
47
- if (options.filter !== undefined)
48
- queryOptions.filter = options.filter;
49
- if (options.orderby !== undefined)
50
- queryOptions.orderby = options.orderby;
51
- if (options.expand !== undefined)
52
- queryOptions.expand = options.expand;
53
- let response = await this.query(entitySetName, queryOptions);
54
- records.push(...response.value);
55
- pageCount++;
56
- while (response["@odata.nextLink"] && records.length < maxTotal) {
57
- const nextLink = response["@odata.nextLink"];
58
- response = await this.requestWithRetry(() => this.http.get(nextLink).then((r) => r.data));
59
- records.push(...response.value);
60
- pageCount++;
61
- }
62
- const trimmed = records.slice(0, maxTotal);
63
- return { records: trimmed, totalRetrieved: trimmed.length, pageCount };
64
- }
65
- // ─── Change Tracking ─────────────────────────────────────────────────────
66
- async getChangedRecords(entitySetName, deltaToken, select) {
67
- let url;
68
- const extraHeaders = {};
69
- if (deltaToken === null) {
70
- const selectStr = select?.length ? `?$select=${select.join(",")}` : "";
71
- url = `${entitySetName}${selectStr}`;
72
- extraHeaders["Prefer"] = "odata.track-changes";
73
- }
74
- else {
75
- const selectStr = select?.length ? `&$select=${select.join(",")}` : "";
76
- url = `${entitySetName}?$deltatoken=${deltaToken}${selectStr}`;
77
- }
78
- const response = await this.requestWithRetry(() => this.http
79
- .get(url, { headers: extraHeaders })
80
- .then((r) => r.data));
81
- const value = response.value ?? [];
82
- const newAndModified = [];
83
- const deleted = [];
84
- for (const record of value) {
85
- if ("@removed" in record) {
86
- const idUrl = String(record["@id"] ?? "");
87
- const match = idUrl.match(/\(([^)]+)\)$/);
88
- deleted.push({ id: match ? match[1] : idUrl });
89
- }
90
- else {
91
- newAndModified.push(record);
92
- }
93
- }
94
- const deltaLink = response["@odata.deltaLink"];
95
- let nextDeltaToken = null;
96
- if (deltaLink) {
97
- const match = deltaLink.match(/\$deltatoken=([^&]+)/);
98
- nextDeltaToken = match ? decodeURIComponent(match[1]) : null;
99
- }
100
- return { newAndModified, deleted, nextDeltaToken };
101
- }
102
- // ─── Solution ────────────────────────────────────────────────────────────
103
- async getSolutionComponents(solutionName, componentType, top = 200) {
104
- return this.requestWithRetry(async () => {
105
- const solResp = await this.http.get(`solutions?$filter=uniquename eq '${esc(solutionName)}'&$select=solutionid,uniquename,friendlyname,version&$top=1`);
106
- const solutions = solResp.data.value;
107
- if (!solutions.length)
108
- throw new Error(`Solution '${solutionName}' not found`);
109
- const sol = solutions[0];
110
- const solutionId = sol["solutionid"];
111
- let filter = `_solutionid_value eq ${solutionId}`;
112
- if (componentType !== undefined)
113
- filter += ` and componenttype eq ${componentType}`;
114
- const compResp = await this.http.get(`solutioncomponents?$filter=${filter}&$select=componenttype,objectid&$top=${top}&$orderby=componenttype`);
115
- const components = compResp.data.value.map((c) => ({
116
- componentType: c["componenttype"],
117
- componentTypeName: COMPONENT_TYPE_MAP[c["componenttype"]] ??
118
- `Type${c["componenttype"]}`,
119
- objectId: c["objectid"],
120
- }));
121
- return {
122
- solutionName: sol["uniquename"],
123
- solutionId,
124
- friendlyName: sol["friendlyname"],
125
- version: sol["version"],
126
- components,
127
- count: components.length,
128
- };
129
- });
130
- }
131
- async publishCustomizations(components) {
132
- return this.requestWithRetry(async () => {
133
- const hasComponents = components &&
134
- ((components.entities?.length ?? 0) > 0 ||
135
- (components.webResources?.length ?? 0) > 0 ||
136
- (components.optionSets?.length ?? 0) > 0);
137
- if (!hasComponents) {
138
- await this.http.post("PublishAllXml", {}, { timeoutMs: 120_000 });
139
- return {
140
- published: true,
141
- message: "All customizations published successfully",
142
- };
143
- }
144
- let paramXml = "<importexportxml>";
145
- if (components.entities?.length) {
146
- paramXml +=
147
- "<entities>" +
148
- components.entities
149
- .map((e) => `<entity>${xmlEscape(e)}</entity>`)
150
- .join("") +
151
- "</entities>";
152
- }
153
- if (components.webResources?.length) {
154
- paramXml +=
155
- "<webresources>" +
156
- components.webResources
157
- .map((r) => `<webresource>${xmlEscape(r)}</webresource>`)
158
- .join("") +
159
- "</webresources>";
160
- }
161
- if (components.optionSets?.length) {
162
- paramXml +=
163
- "<optionsets>" +
164
- components.optionSets
165
- .map((o) => `<optionset>${xmlEscape(o)}</optionset>`)
166
- .join("") +
167
- "</optionsets>";
168
- }
169
- paramXml += "</importexportxml>";
170
- await this.http.post("PublishXml", { ParameterXml: paramXml }, { timeoutMs: 120_000 });
171
- return {
172
- published: true,
173
- message: "Selected customizations published successfully",
174
- };
175
- });
176
- }
177
- // ─── Workflows / Processes ───────────────────────────────────────────────
178
- async listDataverseWorkflows(params) {
179
- return this.requestWithRetry(async () => {
180
- const filters = [];
181
- if (params.category !== undefined)
182
- filters.push(`category eq ${params.category}`);
183
- if (params.nameContains)
184
- filters.push(`contains(name,'${esc(params.nameContains)}')`);
185
- let url = `workflows?$select=workflowid,name,description,category,statecode,` +
186
- `statuscode,type,modifiedon&$orderby=name asc&$top=${params.top ?? 50}`;
187
- if (filters.length > 0)
188
- url += `&$filter=${filters.join(" and ")}`;
189
- const result = await this.http.get(url);
190
- return result.data.value ?? [];
191
- });
192
- }
193
- async getDataverseWorkflow(workflowId) {
194
- return this.requestWithRetry(() => this.http
195
- .get(`workflows(${workflowId})?$select=workflowid,name,description,` + `category,statecode,statuscode,type,modifiedon`)
196
- .then((r) => r.data));
197
- }
198
- }
199
- //# sourceMappingURL=dataverse-client-advanced.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataverse-client-advanced.js","sourceRoot":"","sources":["../../src/dataverse/dataverse-client-advanced.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { DataverseClient } from "./dataverse-client.js";
2
- /**
3
- * Extends DataverseClient with action/function execution support.
4
- * Kept in a separate file to stay within the 400-line hard limit.
5
- */
6
- export declare class DataverseActionsClient extends DataverseClient {
7
- executeAction(actionName: string, parameters?: Record<string, unknown>): Promise<unknown>;
8
- executeFunction(functionName: string, parameters?: Record<string, string>): Promise<unknown>;
9
- executeBoundAction(entitySetName: string, id: string, actionName: string, parameters?: Record<string, unknown>): Promise<unknown>;
10
- }
11
- //# sourceMappingURL=dataverse-client.actions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataverse-client.actions.d.ts","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;IAGnD,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,OAAO,CAAC,OAAO,CAAC;IAMb,eAAe,CACnB,YAAY,EAAE,MAAM,EACpB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACtC,OAAO,CAAC,OAAO,CAAC;IAQb,kBAAkB,CACtB,aAAa,EAAE,MAAM,EACrB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,OAAO,CAAC,OAAO,CAAC;CAUpB"}
@@ -1,25 +0,0 @@
1
- import { DataverseClient } from "./dataverse-client.js";
2
- import { esc } from "./dataverse-client.utils.js";
3
- /**
4
- * Extends DataverseClient with action/function execution support.
5
- * Kept in a separate file to stay within the 400-line hard limit.
6
- */
7
- export class DataverseActionsClient extends DataverseClient {
8
- // ─── Actions & Functions ─────────────────────────────────────────────────
9
- async executeAction(actionName, parameters = {}) {
10
- return this.requestWithRetry(() => this.http.post(actionName, parameters).then((r) => r.data));
11
- }
12
- async executeFunction(functionName, parameters = {}) {
13
- const paramStr = Object.entries(parameters)
14
- .map(([k, v]) => `${esc(k)}='${esc(v)}'`)
15
- .join(",");
16
- const url = paramStr ? `${functionName}(${paramStr})` : `${functionName}()`;
17
- return this.requestWithRetry(() => this.http.get(url).then((r) => r.data));
18
- }
19
- async executeBoundAction(entitySetName, id, actionName, parameters = {}) {
20
- return this.requestWithRetry(() => this.http
21
- .post(`${entitySetName}(${id})/Microsoft.Dynamics.CRM.${actionName}`, parameters)
22
- .then((r) => r.data));
23
- }
24
- }
25
- //# sourceMappingURL=dataverse-client.actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataverse-client.actions.js","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAElD;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,eAAe;IACzD,4EAA4E;IAE5E,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,aAAsC,EAAE;QAExC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,YAAoB,EACpB,aAAqC,EAAE;QAEvC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;aACxC,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC;QAC5E,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,aAAqB,EACrB,EAAU,EACV,UAAkB,EAClB,aAAsC,EAAE;QAExC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAChC,IAAI,CAAC,IAAI;aACN,IAAI,CACH,GAAG,aAAa,IAAI,EAAE,4BAA4B,UAAU,EAAE,EAC9D,UAAU,CACX;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACvB,CAAC;IACJ,CAAC;CACF"}
@@ -1,10 +0,0 @@
1
- import { DataverseMetadataClient } from "./dataverse-client.metadata.js";
2
- import type { BatchRequest } from "./types.js";
3
- /**
4
- * Extends DataverseMetadataClient with batch execution support.
5
- * Kept in a separate file to stay within the 400-line hard limit.
6
- */
7
- export declare class DataverseBatchClient extends DataverseMetadataClient {
8
- batchExecute(requests: BatchRequest[], useChangeset?: boolean): Promise<unknown[]>;
9
- }
10
- //# sourceMappingURL=dataverse-client.batch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataverse-client.batch.d.ts","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,uBAAuB;IAGzD,YAAY,CAChB,QAAQ,EAAE,YAAY,EAAE,EACxB,YAAY,UAAQ,GACnB,OAAO,CAAC,OAAO,EAAE,CAAC;CA6EtB"}
@@ -1,74 +0,0 @@
1
- import { DataverseMetadataClient } from "./dataverse-client.metadata.js";
2
- import { parseMultipartResponse } from "./dataverse-client.utils.js";
3
- /**
4
- * Extends DataverseMetadataClient with batch execution support.
5
- * Kept in a separate file to stay within the 400-line hard limit.
6
- */
7
- export class DataverseBatchClient extends DataverseMetadataClient {
8
- // ─── Batch ───────────────────────────────────────────────────────────────
9
- async batchExecute(requests, useChangeset = false) {
10
- const batchId = `batch_${Date.now()}`;
11
- let body = "";
12
- if (useChangeset) {
13
- const changesetId = `changeset_${Date.now() + 1}`;
14
- const getOps = requests.filter((r) => r.method === "GET");
15
- const mutatingOps = requests.filter((r) => r.method !== "GET");
16
- for (const req of getOps) {
17
- body += `--${batchId}\n`;
18
- body += `Content-Type: application/http\n`;
19
- body += `Content-Transfer-Encoding: binary\n\n`;
20
- body += `${req.method} ${this.http.baseURL}${req.url} HTTP/1.1\n`;
21
- body += `Accept: application/json\n\n\n`;
22
- }
23
- if (mutatingOps.length > 0) {
24
- body += `--${batchId}\n`;
25
- body += `Content-Type: multipart/mixed; boundary=${changesetId}\n\n`;
26
- let contentIdCounter = 1;
27
- for (const op of mutatingOps) {
28
- body += `--${changesetId}\n`;
29
- body += `Content-Type: application/http\n`;
30
- body += `Content-Transfer-Encoding: binary\n`;
31
- body += `Content-ID: ${op.contentId ?? contentIdCounter++}\n\n`;
32
- body += `${op.method} ${this.http.baseURL}${op.url} HTTP/1.1\n`;
33
- body += `Content-Type: application/json\n\n`;
34
- if (op.body)
35
- body += JSON.stringify(op.body);
36
- body += "\n\n";
37
- }
38
- body += `--${changesetId}--\n`;
39
- }
40
- }
41
- else {
42
- requests.forEach((req) => {
43
- body += `--${batchId}\n`;
44
- body += `Content-Type: application/http\n`;
45
- body += `Content-Transfer-Encoding: binary\n\n`;
46
- body += `${req.method} ${this.http.baseURL}${req.url} HTTP/1.1\n`;
47
- body += `Content-Type: application/json\n\n`;
48
- if (req.body)
49
- body += JSON.stringify(req.body);
50
- body += "\n";
51
- });
52
- }
53
- body += `--${batchId}--`;
54
- const response = await this.requestWithRetry(() => this.http.post("$batch", body, {
55
- headers: { "Content-Type": `multipart/mixed;boundary=${batchId}` },
56
- responseType: "text",
57
- }));
58
- try {
59
- const contentType = response.headers["content-type"] ?? "";
60
- const boundaryMatch = contentType.match(/boundary=(?:"([^"]+)"|([^;"\s]+))/);
61
- const responseBoundary = boundaryMatch?.[1] ?? boundaryMatch?.[2];
62
- if (!responseBoundary) {
63
- process.stderr.write("[batchExecute] No multipart boundary in response Content-Type; returning raw data.\n");
64
- return [response.data];
65
- }
66
- return parseMultipartResponse(response.data, responseBoundary);
67
- }
68
- catch (err) {
69
- process.stderr.write(`[batchExecute] Failed to parse multipart response; returning raw data. ${String(err)}\n`);
70
- return [response.data];
71
- }
72
- }
73
- }
74
- //# sourceMappingURL=dataverse-client.batch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataverse-client.batch.js","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.batch.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- import { HttpClient } from "./http-client.js";
2
- import type { AuthProvider } from "../auth/auth-provider.interface.js";
3
- import type { ODataResponse, EntityMetadata, RelationshipMetadata } from "./types.js";
4
- export declare class DataverseClient {
5
- protected readonly http: HttpClient;
6
- private readonly authProvider;
7
- private readonly maxRetries;
8
- constructor(authProvider: AuthProvider, maxRetries?: number, timeoutMs?: number);
9
- protected requestWithRetry<T>(fn: () => Promise<T>, attempt?: number): Promise<T>;
10
- private formatError;
11
- whoAmI(): Promise<{
12
- UserId: string;
13
- BusinessUnitId: string;
14
- OrganizationId: string;
15
- OrganizationName: string;
16
- EnvironmentUrl: string;
17
- }>;
18
- listTables(includeCustomOnly?: boolean): Promise<EntityMetadata[]>;
19
- getTableMetadata(logicalName: string, includeAttributes?: boolean): Promise<EntityMetadata>;
20
- getRelationships(logicalName: string): Promise<RelationshipMetadata[]>;
21
- query<T = Record<string, unknown>>(entitySetName: string, options?: {
22
- select?: string[];
23
- filter?: string;
24
- orderby?: string;
25
- top?: number;
26
- expand?: string;
27
- count?: boolean;
28
- apply?: string;
29
- formattedValues?: boolean;
30
- }): Promise<ODataResponse<T>>;
31
- executeFetchXml<T = Record<string, unknown>>(entitySetName: string, fetchXml: string, formattedValues?: boolean): Promise<ODataResponse<T>>;
32
- getRecord(entitySetName: string, id: string, select?: string[], expand?: string): Promise<{
33
- record: Record<string, unknown>;
34
- etag: string | null;
35
- }>;
36
- createRecord(entitySetName: string, data: Record<string, unknown>): Promise<string>;
37
- updateRecord(entitySetName: string, id: string, data: Record<string, unknown>, etag?: string): Promise<void>;
38
- deleteRecord(entitySetName: string, id: string): Promise<void>;
39
- upsertRecord(entitySetName: string, alternateKey: string, alternateKeyValue: string, data: Record<string, unknown>, mode?: "upsert" | "createOnly" | "updateOnly", keySegment?: string): Promise<{
40
- operation: "created" | "updated";
41
- id: string;
42
- }>;
43
- associate(entitySetName: string, id: string, relationshipName: string, relatedEntitySetName: string, relatedId: string): Promise<void>;
44
- disassociate(entitySetName: string, id: string, relationshipName: string, relatedId?: string, relatedEntitySetName?: string): Promise<void>;
45
- }
46
- //# sourceMappingURL=dataverse-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataverse-client.d.ts","sourceRoot":"","sources":["../../src/dataverse/dataverse-client.ts"],"names":[],"mappings":"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"}