@wictorwilen/cocogen 1.0.50 → 1.1.0-preview.2

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 (71) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +3 -3
  3. package/data/graph-capabilities.json +853 -0
  4. package/data/graph-external-connectors-principal.json +45 -0
  5. package/data/graph-profile-schema.json +322 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +38 -8
  8. package/dist/cli.js.map +1 -1
  9. package/dist/graph/capabilities.d.ts +29 -0
  10. package/dist/graph/capabilities.d.ts.map +1 -0
  11. package/dist/graph/capabilities.js +16 -0
  12. package/dist/graph/capabilities.js.map +1 -0
  13. package/dist/graph/requirements.d.ts +22 -0
  14. package/dist/graph/requirements.d.ts.map +1 -0
  15. package/dist/graph/requirements.js +102 -0
  16. package/dist/graph/requirements.js.map +1 -0
  17. package/dist/init/dotnet/generator.d.ts.map +1 -1
  18. package/dist/init/dotnet/generator.js +94 -22
  19. package/dist/init/dotnet/generator.js.map +1 -1
  20. package/dist/init/dotnet/people-entity.d.ts.map +1 -1
  21. package/dist/init/dotnet/people-entity.js +69 -24
  22. package/dist/init/dotnet/people-entity.js.map +1 -1
  23. package/dist/init/helpers/schema.d.ts +5 -1
  24. package/dist/init/helpers/schema.d.ts.map +1 -1
  25. package/dist/init/helpers/schema.js +8 -0
  26. package/dist/init/helpers/schema.js.map +1 -1
  27. package/dist/init/init.d.ts.map +1 -1
  28. package/dist/init/init.js +17 -23
  29. package/dist/init/init.js.map +1 -1
  30. package/dist/init/people/graph-types.d.ts +4 -0
  31. package/dist/init/people/graph-types.d.ts.map +1 -1
  32. package/dist/init/people/graph-types.js +14 -3
  33. package/dist/init/people/graph-types.js.map +1 -1
  34. package/dist/init/templates/dotnet/Core/ConnectorCore.cs.ejs +242 -44
  35. package/dist/init/templates/dotnet/Core/PeoplePayload.cs.ejs +34 -82
  36. package/dist/init/templates/dotnet/Core/Principal.cs.ejs +16 -18
  37. package/dist/init/templates/dotnet/Generated/Constants.cs.ejs +8 -0
  38. package/dist/init/templates/dotnet/Generated/FromRow.cs.ejs +1 -1
  39. package/dist/init/templates/dotnet/Generated/Model.cs.ejs +1 -1
  40. package/dist/init/templates/dotnet/Program.commandline.cs.ejs +17 -4
  41. package/dist/init/templates/dotnet/README.md.ejs +3 -1
  42. package/dist/init/templates/dotnet/project.csproj.ejs +3 -0
  43. package/dist/init/templates/starter/AGENTS.md.ejs +5 -5
  44. package/dist/init/templates/ts/README.md.ejs +3 -1
  45. package/dist/init/templates/ts/package.json.ejs +5 -0
  46. package/dist/init/templates/ts/src/cli.ts.ejs +16 -4
  47. package/dist/init/templates/ts/src/core/connectorCore.ts.ejs +208 -71
  48. package/dist/init/templates/ts/src/core/people.ts.ejs +99 -27
  49. package/dist/init/templates/ts/src/core/principal.ts.ejs +4 -4
  50. package/dist/init/templates/ts/src/generated/constants.ts.ejs +9 -0
  51. package/dist/init/templates/ts/src/generated/itemPayload.ts.ejs +22 -5
  52. package/dist/init/templates/ts/src/generated/propertyTransformBase.ts.ejs +26 -14
  53. package/dist/init/ts/generator.d.ts.map +1 -1
  54. package/dist/init/ts/generator.js +100 -14
  55. package/dist/init/ts/generator.js.map +1 -1
  56. package/dist/init/ts/people-entity.d.ts.map +1 -1
  57. package/dist/init/ts/people-entity.js +20 -10
  58. package/dist/init/ts/people-entity.js.map +1 -1
  59. package/dist/ir.d.ts +4 -1
  60. package/dist/ir.d.ts.map +1 -1
  61. package/dist/people/label-registry.d.ts +2 -0
  62. package/dist/people/label-registry.d.ts.map +1 -1
  63. package/dist/people/label-registry.js +8 -0
  64. package/dist/people/label-registry.js.map +1 -1
  65. package/dist/tsp/init-tsp.js +2 -2
  66. package/dist/tsp/init-tsp.js.map +1 -1
  67. package/dist/tsp/loader.d.ts.map +1 -1
  68. package/dist/tsp/loader.js +23 -11
  69. package/dist/tsp/loader.js.map +1 -1
  70. package/package.json +3 -1
  71. package/typespec/main.tsp +5 -0
@@ -2,9 +2,7 @@ import { PEOPLE_LABEL_DEFINITIONS } from "../../people/label-registry.js";
2
2
  import { graphProfileSchema, getProfileEnum, getProfileType, isProfileEnum, } from "../../people/profile-schema.js";
3
3
  import { buildObjectTree } from "../object-tree.js";
4
4
  import { toCsPascal, toTsIdentifier } from "../naming.js";
5
- export const GRAPH_STRING_TYPES = new Set([
6
- "graph.itemBody",
7
- ]);
5
+ export const GRAPH_STRING_TYPES = new Set();
8
6
  /** Strip the graph. prefix to get a profile schema type name. */
9
7
  export function resolveGraphTypeName(typeName) {
10
8
  return typeName.startsWith("graph.") ? typeName.slice("graph.".length) : null;
@@ -30,6 +28,15 @@ export function buildPeopleGraphTypes(ir) {
30
28
  }
31
29
  }
32
30
  const schemaTypeByName = new Map(graphProfileSchema.types.map((type) => [type.name, type]));
31
+ const extendsItemFacet = (typeName) => {
32
+ let current = schemaTypeByName.get(typeName);
33
+ while (current?.baseType) {
34
+ if (current.baseType === "itemFacet")
35
+ return true;
36
+ current = schemaTypeByName.get(current.baseType);
37
+ }
38
+ return typeName === "itemFacet";
39
+ };
33
40
  const resolveReferencedGraphType = (propType) => {
34
41
  const collectionMatch = /^Collection\((.+)\)$/.exec(propType);
35
42
  const elementType = collectionMatch ? collectionMatch[1] : propType;
@@ -72,6 +79,8 @@ export function buildPeopleGraphTypes(ir) {
72
79
  return {
73
80
  alias: toTsIdentifier(typeName),
74
81
  fields,
82
+ sourcePackage: "beta",
83
+ inheritsItemFacet: extendsItemFacet(typeName),
75
84
  ...(schemaType.baseType ? { baseAlias: toTsIdentifier(schemaType.baseType) } : {}),
76
85
  };
77
86
  });
@@ -89,6 +98,8 @@ export function buildPeopleLabelSerializers() {
89
98
  label,
90
99
  serializerName: `serialize${toTsIdentifier(label)}`,
91
100
  graphTypeAlias: toTsIdentifier(def.graphTypeName),
101
+ sourcePackage: "beta",
102
+ inheritsItemFacet: def.schema.name === "itemFacet" || (def.schema.baseType ?? null) === "itemFacet",
92
103
  isCollection: def.payloadTypes.includes("stringCollection"),
93
104
  collectionLimit: def.constraints.collectionLimit ?? null,
94
105
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"graph-types.js","sourceRoot":"","sources":["../../../src/init/people/graph-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-types.js","sourceRoot":"","sources":["../../../src/init/people/graph-types.ts"],"names":[],"mappings":"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"}
@@ -109,7 +109,10 @@ public sealed class ConnectorCore<TItem>
109
109
  try
110
110
  {
111
111
  Console.WriteLine("info: deleting connection...");
112
- await _graph!.External.Connections[_connectionId].DeleteAsync();
112
+ await RunWithGraphBaseUrlAsync(
113
+ SchemaConstants.ConnectionProvisioningGraphBaseUrl,
114
+ () => _graph!.External.Connections[_connectionId].DeleteAsync()
115
+ );
113
116
  }
114
117
  catch (ApiException ex) when (IsStatus(ex, 404))
115
118
  {
@@ -142,7 +145,7 @@ public sealed class ConnectorCore<TItem>
142
145
  Console.WriteLine($"info: PUT item (id={itemId})");
143
146
  if (verbose)
144
147
  {
145
- var baseUrl = _graph!.RequestAdapter.BaseUrl ?? SchemaConstants.GraphBaseUrl;
148
+ var baseUrl = SchemaConstants.ItemIngestionGraphBaseUrl;
146
149
  var url = $"{baseUrl}/external/connections/{_connectionId}/items/{Uri.EscapeDataString(itemId)}";
147
150
  Console.WriteLine("verbose: PUT " + url);
148
151
  var payloadJson = JsonSerializer.Serialize(
@@ -158,7 +161,7 @@ public sealed class ConnectorCore<TItem>
158
161
  UrlTemplate = "{+baseurl}/external/connections/{connectionId}/items/{itemId}",
159
162
  PathParameters = new Dictionary<string, object>
160
163
  {
161
- { "baseurl", _graph!.RequestAdapter.BaseUrl ?? SchemaConstants.GraphBaseUrl },
164
+ { "baseurl", SchemaConstants.ItemIngestionGraphBaseUrl },
162
165
  { "connectionId", _connectionId },
163
166
  { "itemId", itemId },
164
167
  },
@@ -187,49 +190,96 @@ public sealed class ConnectorCore<TItem>
187
190
  /// <summary>
188
191
  /// Ingest items from a datasource.
189
192
  /// </summary>
190
- public async Task IngestAsync(IItemSource<TItem> source, bool dryRun, int? limit, bool verbose, bool failFast)
193
+ public async Task IngestAsync(IItemSource<TItem> source, bool dryRun, int? limit, int batchSize, bool verbose, bool failFast)
191
194
  {
195
+ if (batchSize < 1 || batchSize > 20)
196
+ throw new InvalidOperationException("Invalid batch size: expected integer between 1 and 20.");
197
+
192
198
  var count = 0;
193
199
  var successCount = 0;
194
200
  var failures = new List<(int Index, string Id, string Message)>();
195
- await foreach (var item in source.GetItemsAsync())
201
+ var pending = new List<(int Index, string Id, TItem Item)>();
202
+
203
+ async Task<(int Index, string Id, bool Success, string Message, Exception? Error)> ProcessPendingItemAsync(
204
+ (int Index, string Id, TItem Item) pendingItem)
196
205
  {
197
- if (limit.HasValue && count >= limit.Value)
198
- break;
206
+ try
207
+ {
208
+ await PutItemAsync(pendingItem.Item, verbose);
209
+ return (pendingItem.Index, pendingItem.Id, true, string.Empty, null);
210
+ }
211
+ catch (Exception ex)
212
+ {
213
+ return (pendingItem.Index, pendingItem.Id, false, ex.Message, ex);
214
+ }
215
+ }
199
216
 
200
- if (!dryRun)
217
+ async Task FlushBatchAsync()
218
+ {
219
+ if (pending.Count == 0)
220
+ return;
221
+
222
+ var tasks = new List<Task<(int Index, string Id, bool Success, string Message, Exception? Error)>>();
223
+ foreach (var pendingItem in pending)
201
224
  {
202
- var itemId = _itemPayload.GetItemId(item);
203
- Console.WriteLine($"info: ingesting item {count + 1} (id={itemId})");
204
- try
225
+ Console.WriteLine($"info: ingesting item {pendingItem.Index} (id={pendingItem.Id})");
226
+ tasks.Add(ProcessPendingItemAsync(pendingItem));
227
+ }
228
+
229
+ pending.Clear();
230
+ var results = await Task.WhenAll(tasks);
231
+ Exception? firstError = null;
232
+
233
+ foreach (var result in results)
234
+ {
235
+ if (result.Success)
205
236
  {
206
- await PutItemAsync(item, verbose);
207
- Console.WriteLine($"ok: ingested item {count + 1} (id={itemId})");
237
+ Console.WriteLine($"ok: ingested item {result.Index} (id={result.Id})");
208
238
  successCount++;
239
+ continue;
209
240
  }
210
- catch (Exception ex)
241
+
242
+ Console.Error.WriteLine($"error: failed item {result.Index} (id={result.Id})");
243
+ failures.Add((result.Index, result.Id, result.Message));
244
+ if (failFast && firstError is null)
211
245
  {
212
- Console.Error.WriteLine($"error: failed item {count + 1} (id={itemId})");
213
- failures.Add((count + 1, itemId, ex.Message));
214
- if (failFast)
215
- {
216
- throw;
217
- }
246
+ firstError = result.Error;
218
247
  }
219
248
  }
249
+
250
+ if (firstError is not null)
251
+ throw firstError;
252
+ }
253
+
254
+ await foreach (var item in source.GetItemsAsync())
255
+ {
256
+ if (limit.HasValue && count >= limit.Value)
257
+ break;
258
+
259
+ var index = count + 1;
260
+ var itemId = _itemPayload.GetItemId(item);
261
+
262
+ if (!dryRun)
263
+ {
264
+ pending.Add((index, itemId, item));
265
+ if (pending.Count >= batchSize)
266
+ await FlushBatchAsync();
267
+ }
220
268
  else if (verbose)
221
269
  {
222
- var itemId = _itemPayload.GetItemId(item);
223
270
  var payloadJson = JsonSerializer.Serialize(
224
271
  _itemPayload.ToExternalItem(item),
225
272
  new JsonSerializerOptions { WriteIndented = true }
226
273
  );
227
- Console.WriteLine($"verbose: DRY RUN item {count + 1} (id={itemId}) payload " + payloadJson);
274
+ Console.WriteLine($"verbose: DRY RUN item {index} (id={itemId}) payload " + payloadJson);
228
275
  }
229
276
 
230
277
  count++;
231
278
  }
232
279
 
280
+ if (!dryRun)
281
+ await FlushBatchAsync();
282
+
233
283
  if (!dryRun)
234
284
  {
235
285
  Console.WriteLine($"ok: ingested {successCount} item(s)");
@@ -267,7 +317,10 @@ public sealed class ConnectorCore<TItem>
267
317
  try
268
318
  {
269
319
  await RetryAsync(
270
- () => _graph!.External.Connections[_connectionId].GetAsync(),
320
+ () => RunWithGraphBaseUrlAsync(
321
+ SchemaConstants.ConnectionProvisioningGraphBaseUrl,
322
+ () => _graph!.External.Connections[_connectionId].GetAsync()
323
+ ),
271
324
  ex => ex.ResponseStatusCode,
272
325
  "GET connection",
273
326
  passThroughStatuses: new HashSet<int> { 404 }
@@ -294,7 +347,10 @@ public sealed class ConnectorCore<TItem>
294
347
  }
295
348
 
296
349
  await RetryAsync(
297
- () => _graph!.External.Connections.PostAsync(connection),
350
+ () => RunWithGraphBaseUrlAsync(
351
+ SchemaConstants.ConnectionProvisioningGraphBaseUrl,
352
+ () => _graph!.External.Connections.PostAsync(connection)
353
+ ),
298
354
  ex => ex.ResponseStatusCode,
299
355
  "POST connection"
300
356
  );
@@ -306,7 +362,10 @@ public sealed class ConnectorCore<TItem>
306
362
  {
307
363
  var schema = SchemaPayload.BuildSchema();
308
364
  await RetryAsync(
309
- () => _graph!.External.Connections[_connectionId].Schema.PatchAsync(schema),
365
+ () => RunWithGraphBaseUrlAsync(
366
+ SchemaConstants.SchemaRegistrationGraphBaseUrl,
367
+ () => _graph!.External.Connections[_connectionId].Schema.PatchAsync(schema)
368
+ ),
310
369
  ex => ex.ResponseStatusCode,
311
370
  "PATCH schema"
312
371
  );
@@ -314,6 +373,38 @@ public sealed class ConnectorCore<TItem>
314
373
  await WaitForSchemaReadyAsync();
315
374
  }
316
375
 
376
+ private async Task RunWithGraphBaseUrlAsync(string baseUrl, Func<Task> action)
377
+ {
378
+ EnsureGraph();
379
+
380
+ var previous = _graph!.RequestAdapter.BaseUrl;
381
+ _graph.RequestAdapter.BaseUrl = baseUrl;
382
+ try
383
+ {
384
+ await action();
385
+ }
386
+ finally
387
+ {
388
+ _graph.RequestAdapter.BaseUrl = previous;
389
+ }
390
+ }
391
+
392
+ private async Task<T> RunWithGraphBaseUrlAsync<T>(string baseUrl, Func<Task<T>> action)
393
+ {
394
+ EnsureGraph();
395
+
396
+ var previous = _graph!.RequestAdapter.BaseUrl;
397
+ _graph.RequestAdapter.BaseUrl = baseUrl;
398
+ try
399
+ {
400
+ return await action();
401
+ }
402
+ finally
403
+ {
404
+ _graph.RequestAdapter.BaseUrl = previous;
405
+ }
406
+ }
407
+
317
408
  private bool IsStatus(ApiException ex, int statusCode)
318
409
  {
319
410
  return ex.ResponseStatusCode is int sc && sc == statusCode;
@@ -352,11 +443,26 @@ public sealed class ConnectorCore<TItem>
352
443
  }
353
444
  }
354
445
 
355
- private static bool ShouldRetry(int statusCode) => statusCode is 429 or 503 or 504;
446
+ private static bool ShouldRetry(int statusCode) => statusCode == 408 || statusCode == 429 || statusCode >= 500;
356
447
 
357
448
  private static int? ParseRetryAfterMs(IDictionary<string, IEnumerable<string>>? headers)
358
449
  {
359
450
  if (headers is null) return null;
451
+ if (headers.TryGetValue("x-ms-retry-after-ms", out var retryAfterMsValues))
452
+ {
453
+ string? retryAfterMsValue = null;
454
+ foreach (var entry in retryAfterMsValues)
455
+ {
456
+ retryAfterMsValue = entry;
457
+ break;
458
+ }
459
+
460
+ if (!string.IsNullOrWhiteSpace(retryAfterMsValue) && int.TryParse(retryAfterMsValue, out var milliseconds))
461
+ {
462
+ return Math.Max(0, milliseconds);
463
+ }
464
+ }
465
+
360
466
  if (!headers.TryGetValue("Retry-After", out var values)) return null;
361
467
 
362
468
  string? value = null;
@@ -381,6 +487,48 @@ public sealed class ConnectorCore<TItem>
381
487
  return null;
382
488
  }
383
489
 
490
+ private static int? ParseRetryAfterMs(HttpHeaders? headers)
491
+ {
492
+ if (headers is null) return null;
493
+ if (headers.TryGetValues("x-ms-retry-after-ms", out var retryAfterMsValues))
494
+ {
495
+ string? retryAfterMsValue = null;
496
+ foreach (var entry in retryAfterMsValues)
497
+ {
498
+ retryAfterMsValue = entry;
499
+ break;
500
+ }
501
+
502
+ if (!string.IsNullOrWhiteSpace(retryAfterMsValue) && int.TryParse(retryAfterMsValue, out var milliseconds))
503
+ {
504
+ return Math.Max(0, milliseconds);
505
+ }
506
+ }
507
+
508
+ if (!headers.TryGetValues("Retry-After", out var values)) return null;
509
+
510
+ string? value = null;
511
+ foreach (var entry in values)
512
+ {
513
+ value = entry;
514
+ break;
515
+ }
516
+ if (string.IsNullOrWhiteSpace(value)) return null;
517
+
518
+ if (int.TryParse(value, out var seconds))
519
+ {
520
+ return Math.Max(0, seconds * 1000);
521
+ }
522
+
523
+ if (DateTimeOffset.TryParse(value, out var date))
524
+ {
525
+ var delta = date - DateTimeOffset.UtcNow;
526
+ return Math.Max(0, (int)delta.TotalMilliseconds);
527
+ }
528
+
529
+ return null;
530
+ }
531
+
384
532
  private static int ComputeDelayMs(int attempt, int? retryAfterMs)
385
533
  {
386
534
  if (retryAfterMs.HasValue) return Math.Min(retryAfterMs.Value, MaxDelayMs);
@@ -389,6 +537,24 @@ public sealed class ConnectorCore<TItem>
389
537
  return Math.Min(MaxDelayMs, exp + jitter);
390
538
  }
391
539
 
540
+ private static int ComputeDelayMs(
541
+ int attempt,
542
+ IDictionary<string, IEnumerable<string>>? headers,
543
+ IDictionary<string, IEnumerable<string>>? contentHeaders)
544
+ {
545
+ var retryAfterMs = ParseRetryAfterMs(headers) ?? ParseRetryAfterMs(contentHeaders);
546
+ return ComputeDelayMs(attempt, retryAfterMs);
547
+ }
548
+
549
+ private static int ComputeDelayMs(
550
+ int attempt,
551
+ HttpHeaders? headers,
552
+ HttpHeaders? contentHeaders)
553
+ {
554
+ var retryAfterMs = ParseRetryAfterMs(headers) ?? ParseRetryAfterMs(contentHeaders);
555
+ return ComputeDelayMs(attempt, retryAfterMs);
556
+ }
557
+
392
558
  private static string BuildApiErrorMessage(ApiException ex, string operation)
393
559
  {
394
560
  var status = ex.ResponseStatusCode is int code ? code.ToString() : "unknown";
@@ -440,18 +606,47 @@ public sealed class ConnectorCore<TItem>
440
606
  string url,
441
607
  object? body = null)
442
608
  {
443
- using var http = new HttpClient();
444
- var token = await GetAccessTokenAsync(credential);
445
- http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
446
-
447
- var request = new HttpRequestMessage(method, url);
448
- if (body is not null)
609
+ for (var attempt = 0; attempt <= MaxRetries; attempt++)
449
610
  {
450
- var json = JsonSerializer.Serialize(body);
451
- request.Content = new StringContent(json, Encoding.UTF8, "application/json");
611
+ using var http = new HttpClient();
612
+ var token = await GetAccessTokenAsync(credential);
613
+ http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
614
+
615
+ using var request = new HttpRequestMessage(method, url);
616
+ if (body is not null)
617
+ {
618
+ var json = JsonSerializer.Serialize(body);
619
+ request.Content = new StringContent(json, Encoding.UTF8, "application/json");
620
+ }
621
+
622
+ try
623
+ {
624
+ var response = await http.SendAsync(request);
625
+ if (!ShouldRetry((int)response.StatusCode) || attempt == MaxRetries)
626
+ {
627
+ return response;
628
+ }
629
+
630
+ var delay = ComputeDelayMs(attempt, response.Headers, response.Content?.Headers);
631
+ Console.WriteLine($"warn: throttled (HTTP {(int)response.StatusCode}) for {method} {url}, retrying in {delay}ms");
632
+ response.Dispose();
633
+ await Task.Delay(delay);
634
+ }
635
+ catch (HttpRequestException ex) when (attempt < MaxRetries)
636
+ {
637
+ var delay = ComputeDelayMs(attempt, (int?)null);
638
+ Console.WriteLine($"warn: transient Graph transport error for {method} {url}: {ex.Message}. Retrying in {delay}ms");
639
+ await Task.Delay(delay);
640
+ }
641
+ catch (TaskCanceledException ex) when (attempt < MaxRetries)
642
+ {
643
+ var delay = ComputeDelayMs(attempt, (int?)null);
644
+ Console.WriteLine($"warn: Graph request timeout for {method} {url}: {ex.Message}. Retrying in {delay}ms");
645
+ await Task.Delay(delay);
646
+ }
452
647
  }
453
648
 
454
- return await http.SendAsync(request);
649
+ throw new InvalidOperationException($"{method} {url} exhausted retries.");
455
650
  }
456
651
 
457
652
  private async Task RegisterProfileSourceInternalAsync(string connectionId)
@@ -477,7 +672,7 @@ public sealed class ConnectorCore<TItem>
477
672
  var create = await GraphRequestAsync(
478
673
  _credential,
479
674
  HttpMethod.Post,
480
- $"{SchemaConstants.GraphBaseUrl}/admin/people/profileSources",
675
+ $"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profileSources",
481
676
  payload
482
677
  );
483
678
 
@@ -488,7 +683,7 @@ public sealed class ConnectorCore<TItem>
488
683
  }
489
684
  }
490
685
 
491
- var sourceUrl = $"{SchemaConstants.GraphBaseUrl}/admin/people/profileSources(sourceId='{connectionId}')";
686
+ var sourceUrl = $"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profileSources(sourceId='{connectionId}')";
492
687
  await UpdateProfileSourcePrecedenceAsync(_credential, sourceUrl, include: true, priority: priority);
493
688
  }
494
689
 
@@ -497,14 +692,14 @@ public sealed class ConnectorCore<TItem>
497
692
  if (_credential is null)
498
693
  throw new InvalidOperationException("Credential required for profile source registration.");
499
694
 
500
- var sourceUrl = $"{SchemaConstants.GraphBaseUrl}/admin/people/profileSources(sourceId='{connectionId}')";
695
+ var sourceUrl = $"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profileSources(sourceId='{connectionId}')";
501
696
 
502
697
  await UpdateProfileSourcePrecedenceAsync(_credential, sourceUrl, include: false, priority: "first");
503
698
 
504
699
  var res = await GraphRequestAsync(
505
700
  _credential,
506
701
  HttpMethod.Delete,
507
- $"{SchemaConstants.GraphBaseUrl}/admin/people/profileSources(sourceId='{connectionId}')"
702
+ $"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profileSources(sourceId='{connectionId}')"
508
703
  );
509
704
 
510
705
  if (!res.IsSuccessStatusCode && res.StatusCode != System.Net.HttpStatusCode.NotFound)
@@ -519,7 +714,7 @@ public sealed class ConnectorCore<TItem>
519
714
  var res = await GraphRequestAsync(
520
715
  credential,
521
716
  HttpMethod.Get,
522
- $"{SchemaConstants.GraphBaseUrl}/admin/people/profilePropertySettings"
717
+ $"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profilePropertySettings"
523
718
  );
524
719
 
525
720
  if (!res.IsSuccessStatusCode)
@@ -595,7 +790,7 @@ public sealed class ConnectorCore<TItem>
595
790
  var patchRes = await GraphRequestAsync(
596
791
  credential,
597
792
  HttpMethod.Patch,
598
- $"{SchemaConstants.GraphBaseUrl}/admin/people/profilePropertySettings/{id}",
793
+ $"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profilePropertySettings/{id}",
599
794
  patch
600
795
  );
601
796
 
@@ -613,7 +808,7 @@ public sealed class ConnectorCore<TItem>
613
808
  var create = await GraphRequestAsync(
614
809
  credential,
615
810
  HttpMethod.Post,
616
- $"{SchemaConstants.GraphBaseUrl}/admin/people/profilePropertySettings",
811
+ $"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profilePropertySettings",
617
812
  new Dictionary<string, object?>
618
813
  {
619
814
  ["prioritizedSourceUrls"] = new[] { sourceUrl },
@@ -646,7 +841,7 @@ public sealed class ConnectorCore<TItem>
646
841
  var res = await GraphRequestAsync(
647
842
  _credential!,
648
843
  HttpMethod.Get,
649
- $"{SchemaConstants.GraphBaseUrl}/admin/people/profileSources"
844
+ $"{SchemaConstants.ProfileSourceRegistrationGraphBaseUrl}/admin/people/profileSources"
650
845
  );
651
846
 
652
847
  if (!res.IsSuccessStatusCode)
@@ -680,7 +875,10 @@ public sealed class ConnectorCore<TItem>
680
875
  Console.WriteLine("info: waiting for schema provisioning...");
681
876
  for (var attempt = 0; attempt < SchemaPollMaxAttempts; attempt++)
682
877
  {
683
- var schema = await _graph!.External.Connections[_connectionId].Schema.GetAsync();
878
+ var schema = await RunWithGraphBaseUrlAsync(
879
+ SchemaConstants.SchemaRegistrationGraphBaseUrl,
880
+ () => _graph!.External.Connections[_connectionId].Schema.GetAsync()
881
+ );
684
882
  var state = GetSchemaState(schema?.AdditionalData);
685
883
  if (string.IsNullOrWhiteSpace(state)) return;
686
884