@wictorwilen/cocogen 1.1.0-preview.8 → 1.1.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/CHANGELOG.md CHANGED
@@ -7,69 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ## [1.1.0-preview.8] - 2026-04-08
10
+ ## [1.1.0] - 2026-04-09
11
11
 
12
- ### Changed
13
- - **For .NET people connectors with custom transforms:** The generated `PropertyTransformBase.cs` no longer embeds normalization logic in each serialization expression. Instead, hand-off to `PeoplePayload.SerializePeopleEntity(object)` which handles serialization + normalization (strips Kiota metadata, removes nulls, converts to camelCase) in one call. If you have custom `PropertyTransform.cs` overrides, they will automatically benefit from normalization; no code changes required. The method signature remains `protected virtual string? Transform<PropName>(object row)`.
14
-
15
- ## [1.1.0-preview.7] - 2026-04-08
16
-
17
- ## [1.1.0-preview.6] - 2026-04-07
18
-
19
- ## [1.1.0-preview.5] - 2026-04-07
20
-
21
- ### Changed
22
- - Generated people connector `provision` commands no longer auto-register the connection as a profile source; use the dedicated `register-profile-source` command instead.
23
-
24
- ## [1.1.0-preview.4] - 2026-04-07
25
-
26
- ### Fixed
27
- - Generated `.NET` people payload helpers no longer re-validate serialized JSON field names and read-only item facet fields at runtime; they now rely on schema validation and typed construction, while still enforcing collection limits.
28
-
29
- ## [1.1.0-preview.3] - 2026-04-07
30
-
31
- ### Fixed
32
- - `cocogen update` now refreshes generated `.NET` `Program.cs` files even without `--include-scaffold`, so schema-driven entrypoint changes do not stay stale after updates.
33
- - Validation now warns when people-label `@coco.source(..., to)` mappings reference unknown Graph target paths (for example `program.fieldOfStudy` instead of `program.fieldsOfStudy`) so fallback object generation is easier to diagnose.
34
-
35
- ## [1.1.0-preview.2] - 2026-04-07
36
-
37
- ### Fixed
38
- - `npm run update-graph-profile-schema` now refreshes the profile CSDL snapshot from the official `microsoftgraph/msgraph-metadata` raw schema files because the live Graph `$metadata` endpoints no longer return XML reliably for this workflow.
39
-
40
- ### Changed
41
- - People connector metadata refresh and validation now recognize the five current beta-only labels documented for people connectors: `personEducationalActivities`, `personInterests`, `personLanguages`, `personPatents`, and `personPublications`.
42
- - `externalConnection.contentCategory` now resolves to Graph `v1.0` capability in the generator metadata, matching `principal` and `principalCollection`.
43
- - People profile source registration now resolves to Graph `v1.0` capability as well, so stable people schemas no longer require preview features unless they use beta-only labels.
44
-
45
- ## [1.1.0-preview.1] - 2026-03-31
46
-
47
- ### Changed
48
- - Principal helper templates for generated TS and .NET connectors are now derived from the live Graph `microsoft.graph.externalConnectors.principal` metadata during `prebuild`, with a checked-in snapshot used as a fallback when metadata refresh is unavailable.
49
- - Principal and principal-collection schema property types now resolve to `v1.0` Graph capability instead of being treated as beta-only.
50
-
51
- ### Fixed
52
- - Generated .NET `PropertyTransformBase` files now indent multi-line people transform expressions consistently, including nested serializer calls and collection object initializers.
12
+ ### Added
13
+ - Generated TypeScript and .NET connector CLIs now support `--batch-size` (default `1`, max `20`) for bounded parallel ingestion of external item PUT requests.
14
+ - Generated TypeScript and .NET connector CLIs now support `--retry-attempts` (default `2`, max `10`) to queue failed items after the initial pass and retry them with bounded backoff rounds.
53
15
 
54
16
  ### Changed
55
- - Generated TS and .NET connector CLIs now support `--batch-size` for bounded parallel ingestion, with a default of `1` and a maximum of `20` concurrent item PUT requests per batch.
17
+ - People connector profile source registration now stays explicit behind the dedicated `register-profile-source` command instead of running during `provision`.
18
+ - People connector capability resolution now defaults to Graph `v1.0` for stable schemas, requiring preview mode only for beta-only labels.
19
+ - People connector metadata refresh and validation now recognize the current beta-only labels documented for people connectors: `personEducationalActivities`, `personInterests`, `personLanguages`, `personPatents`, and `personPublications`.
20
+ - `externalConnection.contentCategory`, profile source registration, and principal/principal-collection schema capability resolution now target Graph `v1.0` for stable schemas.
21
+ - Principal helper templates for generated TS and .NET connectors are now derived from live Graph metadata with a checked-in snapshot fallback.
22
+ - Generated `.NET` people `PropertyTransformBase.cs` now routes normalization through `PeoplePayload.SerializePeopleEntity(object)` instead of embedding normalization per expression.
23
+ - Generated TypeScript and .NET people payload/transform bindings now prefer official Microsoft Graph SDK model/type packages and remove redundant local SDK-backed boilerplate.
56
24
 
57
25
  ### Fixed
58
- - Generated TS and .NET Graph transport layers now retry transient 408/429/5xx responses with exponential backoff, jitter, and `Retry-After`/`x-ms-retry-after-ms` handling, including raw profile-source admin HTTP calls.
59
- - Generated TypeScript people connectors now reference official stable and beta Microsoft Graph type packages for Graph profile payload models instead of fully redefining those models in generated code.
60
- - Generated TypeScript people helpers no longer emit redundant field-by-field runtime validation for SDK-backed Graph profile models; they keep only minimal object and read-only checks and still fully validate locally derived helper shapes.
61
- - Generated TypeScript people payload and transform files now import official stable and beta Microsoft Graph profile types directly instead of routing them through re-exports from `src/core/people.ts`.
62
- - Generated TypeScript people label serializers now route SDK-backed Graph profile payloads through shared generic SDK serialization helpers instead of emitting per-type validation wrappers.
63
- - Generated TypeScript connector runtimes now send Graph requests through the official Microsoft Graph client instead of a custom fetch-based transport layer.
64
- - Generated .NET people property transforms now instantiate official Microsoft Graph SDK profile model types for SDK-backed people payload shapes instead of emitting local copies of those Graph models.
65
- - Generated .NET people helpers no longer emit duplicate local Graph enum declarations when the generated payloads already bind to the official Microsoft Graph SDK enum types.
66
- - Generated TS and .NET people helpers now bind Graph `itemBody` through the official Microsoft Graph SDK model types instead of treating it as a local string-like special case.
67
- - Generated TS and .NET people helpers now omit local model and enum boilerplate when a connector is fully SDK-backed and only needs shared people payload validation/serialization utilities.
68
- - Generated .NET people payloads now pass inline per-property serialization options into a generic shared people helper instead of relying on emitted label-definition dictionaries and payload-kind enums.
69
- - Generated .NET people transforms no longer wrap SDK model object initializers in redundant outer casts before serializing them.
70
- - Generated TypeScript people helpers no longer export the internal label-serialization options type, and generated TS item payloads now avoid importing `contentPropertyName` when the schema has no content field.
71
- - Generated TypeScript property-transform files now import only the datasource and validation helpers that their rendered transform expressions actually use.
72
- - Generated TS and .NET people collection transforms no longer emit local `getCollectionValue` helpers when the rendered object graph only needs scalar per-index lookups.
26
+ - Generated TS/.NET Graph transport retries now consistently handle transient `408`/`429`/`5xx` responses with exponential backoff and `Retry-After`/`x-ms-retry-after-ms` headers.
27
+ - Restored generated `.NET` people payload serialization parity, including `#Collection(...)` `@odata.type` handling and typed transform assignment safety.
28
+ - Generated `.NET` people payload helpers now rely on schema validation and typed construction instead of re-validating serialized JSON field names/read-only item facet fields at runtime while still enforcing collection limits.
29
+ - `cocogen update` now refreshes generated `.NET` `Program.cs` files even without `--include-scaffold`.
30
+ - Validation now warns when people-label `@coco.source(..., to)` mappings reference unknown Graph target paths.
31
+ - `npm run update-graph-profile-schema` now refreshes the profile CSDL snapshot from official `microsoftgraph/msgraph-metadata` raw schema files when live Graph `$metadata` XML is unavailable.
32
+ - Generated `.NET` `PropertyTransformBase` indentation for multi-line people transform expressions was normalized for readability.
33
+ - Generated TS people helpers now use leaner SDK-backed validation/serialization paths, import official Graph profile types directly, and trim redundant imports/exports.
34
+ - Generated `.NET` people transforms/helpers now avoid redundant SDK casts/enums and use simpler SDK-backed serialization paths.
35
+ - Generated TS/.NET people helper code now trims unnecessary local helper boilerplate when not needed (for example collection/scalar helper paths).
73
36
 
74
37
  ## [1.0.50] - 2026-03-26
75
38
 
@@ -369,15 +332,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
369
332
  - `@coco.profileSource.displayName` is now required for people connectors.
370
333
  - Collection values no longer split on commas; use semicolons instead.
371
334
 
372
- [Unreleased]: https://github.com/wictorwilen/cocogen/compare/v1.0.16...HEAD
373
- [1.1.0-preview.8]: https://github.com/wictorwilen/cocogen/compare/main...v1.1.0-preview.8
374
- [1.1.0-preview.7]: https://github.com/wictorwilen/cocogen/compare/main...v1.1.0-preview.7
375
- [1.1.0-preview.6]: https://github.com/wictorwilen/cocogen/compare/main...v1.1.0-preview.6
376
- [1.1.0-preview.5]: https://github.com/wictorwilen/cocogen/compare/main...v1.1.0-preview.5
377
- [1.1.0-preview.4]: https://github.com/wictorwilen/cocogen/compare/main...v1.1.0-preview.4
378
- [1.1.0-preview.3]: https://github.com/wictorwilen/cocogen/compare/main...v1.1.0-preview.3
379
- [1.1.0-preview.2]: https://github.com/wictorwilen/cocogen/compare/main...v1.1.0-preview.2
380
- [1.1.0-preview.1]: https://github.com/wictorwilen/cocogen/compare/main...v1.1.0-preview.1
335
+ [Unreleased]: https://github.com/wictorwilen/cocogen/compare/v1.1.0...HEAD
336
+ [1.1.0]: https://github.com/wictorwilen/cocogen/compare/v1.0.50...v1.1.0
381
337
  [1.0.50]: https://github.com/wictorwilen/cocogen/compare/main...v1.0.50
382
338
  [1.0.49]: https://github.com/wictorwilen/cocogen/compare/main...v1.0.49
383
339
  [1.0.48]: https://github.com/wictorwilen/cocogen/compare/main...v1.0.48
package/README.md CHANGED
@@ -33,7 +33,7 @@
33
33
  - ✅ Patch schema changes
34
34
  - ✅ Register a people profile source with a dedicated command
35
35
  - ✅ Ingest items from CSV (or your own datasource)
36
- - ✅ Retry throttled requests with backoff + logging
36
+ - ✅ Retry throttled requests and queued failed items with backoff + logging
37
37
  - ✅ Customize transforms without losing changes on update
38
38
 
39
39
  End-user guide:
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-04-08T09:56:38.905Z",
2
+ "generatedAt": "2026-04-09T18:18:38.045Z",
3
3
  "graphVersion": "v1.0",
4
4
  "sourceUrl": "https://graph.microsoft.com/v1.0/$metadata",
5
5
  "namespace": "microsoft.graph.externalConnectors",
@@ -553,7 +553,7 @@ export class DotnetGenerator extends CoreGenerator {
553
553
  : `RowParser.ParseString(row, ${buildCsSourceLiteral(idRawSourceDotnet)})`)
554
554
  : "string.Empty";
555
555
  const propertyInitializerLines = [
556
- ...properties.map((p) => ` ${p.csName} = (${p.csType})transforms.TransformProperty(${JSON.stringify(p.name)}, row),`),
556
+ ...properties.map((p) => ` ${p.csName} = transforms.TransformProperty<${p.csType}>(${JSON.stringify(p.name)}, row),`),
557
557
  ` InternalId = ${idRawExpressionDotnet},`,
558
558
  ].join("\n");
559
559
  const propertiesObjectLines = properties
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/init/dotnet/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/init/dotnet/generator.ts"],"names":[],"mappings":"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"}
@@ -107,7 +107,7 @@ const formatCsEmbeddedExpression = (expression, lineIndent) => {
107
107
  }),
108
108
  ].join("\n");
109
109
  };
110
- const jsonSerializeWithoutNullsOptions = "new JsonSerializerOptions { DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull }";
110
+ const jsonSerializeWithoutNullsOptions = "new JsonSerializerOptions { DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, Converters = { new System.Text.Json.Serialization.JsonStringEnumConverter(System.Text.Json.JsonNamingPolicy.CamelCase) } }";
111
111
  /** Build shared renderers for C# people-entity collections. */
112
112
  function createCollectionRenderers(typeMap, indentUnit = DEFAULT_INDENT_UNIT) {
113
113
  const extractListElementType = (csType) => {
@@ -332,7 +332,7 @@ export function buildCsPersonEntityExpression(fields, valueExpressionBuilder = (
332
332
  const sourceLiteral = buildCsSourceLiteral(field.source);
333
333
  return valueExpressionBuilder(sourceLiteral);
334
334
  }, typeInfo, typeMap, 2);
335
- return `PeoplePayload.SerializePeopleEntity(\n${indentUnit.repeat(2)}${objectExpression}\n${indentUnit.repeat(2)})`;
335
+ return `JsonSerializer.Serialize(\n${indentUnit.repeat(2)}${objectExpression},\n${indentUnit.repeat(2)}${jsonSerializeWithoutNullsOptions}\n${indentUnit.repeat(2)})`;
336
336
  }
337
337
  /** Build a C# JSON string list expression for person-entity collections. */
338
338
  export function buildCsPersonEntityCollectionExpression(fields, collectionExpressionBuilder = (sourceLiteral) => `RowParser.ParseStringCollection(row, ${sourceLiteral})`, typeInfo, typeMap, inputFormat) {
@@ -377,7 +377,7 @@ export function buildCsPersonEntityCollectionExpression(fields, collectionExpres
377
377
  });
378
378
  const typedObjectExpression = objectExpression;
379
379
  const formattedObjectExpression = formatCsEmbeddedExpression(typedObjectExpression, " ");
380
- return `new Func<List<string>>(() =>\n {\n var results = new List<string>();\n foreach (var entry in RowParser.ReadArrayEntries(row, ${JSON.stringify(common.root)}))\n {\n results.Add(PeoplePayload.SerializePeopleEntity(\n${formattedObjectExpression}\n ));\n }\n return results;\n }).Invoke()`;
380
+ return `new Func<List<string>>(() =>\n {\n var results = new List<string>();\n foreach (var entry in RowParser.ReadArrayEntries(row, ${JSON.stringify(common.root)}))\n {\n results.Add(JsonSerializer.Serialize(\n${formattedObjectExpression},\n ${jsonSerializeWithoutNullsOptions}\n ));\n }\n return results;\n }).Invoke()`;
381
381
  }
382
382
  }
383
383
  if (fields.length === 1) {
@@ -387,7 +387,7 @@ export function buildCsPersonEntityCollectionExpression(fields, collectionExpres
387
387
  const typedObjectExpression = objectExpression;
388
388
  const formattedObjectExpression = formatCsEmbeddedExpression(typedObjectExpression, `${indentUnit.repeat(4)}`);
389
389
  return `${applySourceCollectionExpression(collectionExpressionBuilder(sourceLiteral), field.source)}
390
- .Select(value => PeoplePayload.SerializePeopleEntity(\n${formattedObjectExpression}\n ))
390
+ .Select(value => JsonSerializer.Serialize(\n${formattedObjectExpression},\n ${jsonSerializeWithoutNullsOptions}\n ))
391
391
  .ToList()`;
392
392
  }
393
393
  const tree = buildObjectTree(fields);
@@ -406,6 +406,6 @@ export function buildCsPersonEntityCollectionExpression(fields, collectionExpres
406
406
  const usesCollectionHelper = typedObjectExpression.includes("GetCollectionValue(");
407
407
  const indexedValueHelpers = buildCsIndexedValueHelpers(" ", " ", usesCollectionHelper);
408
408
  const formattedObjectExpression = formatCsEmbeddedExpression(typedObjectExpression, " ");
409
- return `new Func<List<string>>(() =>\n {\n${fieldLines.join("\n")}\n${indexedValueHelpers}\n${maxLenLine}\n var results = new List<string>();\n for (var index = 0; index < maxLen; index++)\n {\n results.Add(PeoplePayload.SerializePeopleEntity(\n${formattedObjectExpression}\n ));\n }\n return results;\n }).Invoke()`;
409
+ return `new Func<List<string>>(() =>\n {\n${fieldLines.join("\n")}\n${indexedValueHelpers}\n${maxLenLine}\n var results = new List<string>();\n for (var index = 0; index < maxLen; index++)\n {\n results.Add(JsonSerializer.Serialize(\n${formattedObjectExpression},\n ${jsonSerializeWithoutNullsOptions}\n ));\n }\n return results;\n }).Invoke()`;
410
410
  }
411
411
  //# sourceMappingURL=people-entity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"people-entity.js","sourceRoot":"","sources":["../../../src/init/dotnet/people-entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"people-entity.js","sourceRoot":"","sources":["../../../src/init/dotnet/people-entity.ts"],"names":[],"mappings":"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"}
@@ -63,15 +63,15 @@ export function toGraphPropertyTypeEnumName(type) {
63
63
  export function toOdataCollectionType(type) {
64
64
  switch (type) {
65
65
  case "stringCollection":
66
- return "Collection(String)";
66
+ return "#Collection(String)";
67
67
  case "int64Collection":
68
- return "Collection(Int64)";
68
+ return "#Collection(Int64)";
69
69
  case "doubleCollection":
70
- return "Collection(Double)";
70
+ return "#Collection(Double)";
71
71
  case "dateTimeCollection":
72
- return "Collection(DateTimeOffset)";
72
+ return "#Collection(DateTimeOffset)";
73
73
  case "principalCollection":
74
- return "Collection(microsoft.graph.externalConnectors.principal)";
74
+ return "#Collection(microsoft.graph.externalConnectors.principal)";
75
75
  default:
76
76
  return null;
77
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/init/helpers/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/init/helpers/schema.ts"],"names":[],"mappings":"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"}
@@ -269,43 +269,54 @@ public sealed class ConnectorCore<TItem>
269
269
  /// <summary>
270
270
  /// Ingest items from a datasource.
271
271
  /// </summary>
272
- public async Task IngestAsync(IItemSource<TItem> source, bool dryRun, int? limit, int batchSize, bool verbose, bool failFast)
272
+ public async Task IngestAsync(IItemSource<TItem> source, bool dryRun, int? limit, int batchSize, int retryAttempts, bool verbose, bool failFast)
273
273
  {
274
274
  if (batchSize < 1 || batchSize > 20)
275
275
  throw new InvalidOperationException("Invalid batch size: expected integer between 1 and 20.");
276
+ if (retryAttempts < 0 || retryAttempts > MaxItemRetryAttempts)
277
+ throw new InvalidOperationException($"Invalid retry attempts: expected integer between 0 and {MaxItemRetryAttempts}.");
278
+
279
+ var retryQueueDelayAttempts = Math.Max(0, retryAttempts);
276
280
 
277
281
  var count = 0;
278
282
  var successCount = 0;
279
- var failures = new List<(int Index, string Id, string Message)>();
280
- var pending = new List<(int Index, string Id, TItem Item)>();
283
+ var failures = new List<(int Index, string Id, int Attempts, string Message)>();
284
+ var pending = new List<(int Index, string Id, TItem Item, int Attempt)>();
285
+ var retryQueue = new List<(int Index, string Id, TItem Item, int Attempt)>();
281
286
 
282
- async Task<(int Index, string Id, bool Success, string Message, Exception? Error)> ProcessPendingItemAsync(
283
- (int Index, string Id, TItem Item) pendingItem)
287
+ async Task<(int Index, string Id, int Attempt, bool Success, string Message, Exception? Error, TItem Item)> ProcessPendingItemAsync(
288
+ (int Index, string Id, TItem Item, int Attempt) pendingItem)
284
289
  {
285
290
  try
286
291
  {
287
292
  await PutItemAsync(pendingItem.Item, verbose);
288
- return (pendingItem.Index, pendingItem.Id, true, string.Empty, null);
293
+ return (pendingItem.Index, pendingItem.Id, pendingItem.Attempt, true, string.Empty, null, pendingItem.Item);
289
294
  }
290
295
  catch (Exception ex)
291
296
  {
292
- return (pendingItem.Index, pendingItem.Id, false, ex.Message, ex);
297
+ return (pendingItem.Index, pendingItem.Id, pendingItem.Attempt, false, ex.Message, ex, pendingItem.Item);
293
298
  }
294
299
  }
295
300
 
296
- async Task FlushBatchAsync()
301
+ async Task FlushBatchAsync(IReadOnlyList<(int Index, string Id, TItem Item, int Attempt)> batch)
297
302
  {
298
- if (pending.Count == 0)
303
+ if (batch.Count == 0)
299
304
  return;
300
305
 
301
- var tasks = new List<Task<(int Index, string Id, bool Success, string Message, Exception? Error)>>();
302
- foreach (var pendingItem in pending)
306
+ var tasks = new List<Task<(int Index, string Id, int Attempt, bool Success, string Message, Exception? Error, TItem Item)>>();
307
+ foreach (var pendingItem in batch)
303
308
  {
304
- Console.WriteLine($"info: ingesting item {pendingItem.Index} (id={pendingItem.Id})");
309
+ if (pendingItem.Attempt == 0)
310
+ {
311
+ Console.WriteLine($"info: ingesting item {pendingItem.Index} (id={pendingItem.Id})");
312
+ }
313
+ else
314
+ {
315
+ Console.WriteLine($"info: retrying item {pendingItem.Index} (id={pendingItem.Id}) attempt {pendingItem.Attempt}/{retryAttempts}");
316
+ }
305
317
  tasks.Add(ProcessPendingItemAsync(pendingItem));
306
318
  }
307
319
 
308
- pending.Clear();
309
320
  var results = await Task.WhenAll(tasks);
310
321
  Exception? firstError = null;
311
322
 
@@ -319,7 +330,13 @@ public sealed class ConnectorCore<TItem>
319
330
  }
320
331
 
321
332
  Console.Error.WriteLine($"error: failed item {result.Index} (id={result.Id})");
322
- failures.Add((result.Index, result.Id, result.Message));
333
+ if (!failFast && result.Attempt < retryAttempts)
334
+ {
335
+ retryQueue.Add((result.Index, result.Id, result.Item, result.Attempt + 1));
336
+ continue;
337
+ }
338
+
339
+ failures.Add((result.Index, result.Id, result.Attempt + 1, result.Message));
323
340
  if (failFast && firstError is null)
324
341
  {
325
342
  firstError = result.Error;
@@ -340,9 +357,13 @@ public sealed class ConnectorCore<TItem>
340
357
 
341
358
  if (!dryRun)
342
359
  {
343
- pending.Add((index, itemId, item));
360
+ pending.Add((index, itemId, item, 0));
344
361
  if (pending.Count >= batchSize)
345
- await FlushBatchAsync();
362
+ {
363
+ var batch = pending.ToArray();
364
+ pending.Clear();
365
+ await FlushBatchAsync(batch);
366
+ }
346
367
  }
347
368
  else if (verbose)
348
369
  {
@@ -354,7 +375,46 @@ public sealed class ConnectorCore<TItem>
354
375
  }
355
376
 
356
377
  if (!dryRun)
357
- await FlushBatchAsync();
378
+ {
379
+ var batch = pending.ToArray();
380
+ pending.Clear();
381
+ await FlushBatchAsync(batch);
382
+
383
+ for (var retryAttempt = 1; retryAttempt <= retryAttempts && retryQueue.Count > 0; retryAttempt++)
384
+ {
385
+ var queue = retryQueue.ToArray();
386
+ retryQueue.Clear();
387
+ Console.WriteLine($"warn: retry pass {retryAttempt}/{retryAttempts} for {queue.Length} item(s)");
388
+
389
+ for (var offset = 0; offset < queue.Length; offset += batchSize)
390
+ {
391
+ var length = Math.Min(batchSize, queue.Length - offset);
392
+ var chunk = new (int Index, string Id, TItem Item, int Attempt)[length];
393
+ Array.Copy(queue, offset, chunk, 0, length);
394
+ await FlushBatchAsync(chunk);
395
+ }
396
+
397
+ if (retryQueue.Count > 0 && retryAttempt < retryQueueDelayAttempts)
398
+ {
399
+ var delay = ComputeDelayMs(retryAttempt - 1, (int?)null);
400
+ Console.WriteLine($"warn: waiting {delay}ms before next retry pass");
401
+ await Task.Delay(delay);
402
+ }
403
+ }
404
+
405
+ if (retryQueue.Count > 0)
406
+ {
407
+ foreach (var item in retryQueue)
408
+ {
409
+ failures.Add((
410
+ item.Index,
411
+ item.Id,
412
+ item.Attempt,
413
+ $"exhausted retry queue after {item.Attempt} attempt(s)"
414
+ ));
415
+ }
416
+ }
417
+ }
358
418
 
359
419
  if (!dryRun)
360
420
  {
@@ -370,7 +430,7 @@ public sealed class ConnectorCore<TItem>
370
430
  Console.WriteLine($"warn: {failures.Count} item(s) failed");
371
431
  foreach (var failure in failures)
372
432
  {
373
- Console.WriteLine($"warn: failed item {failure.Index} (id={failure.Id}) - {failure.Message}");
433
+ Console.WriteLine($"warn: failed item {failure.Index} (id={failure.Id}) after {failure.Attempts} attempt(s) - {failure.Message}");
374
434
  }
375
435
  }
376
436
  }
@@ -643,6 +703,7 @@ public sealed class ConnectorCore<TItem>
643
703
  private const int MaxRetries = 6;
644
704
  private const int BaseDelayMs = 1000;
645
705
  private const int MaxDelayMs = 30000;
706
+ private const int MaxItemRetryAttempts = 10;
646
707
 
647
708
  <% if (isPeopleConnector) { -%>
648
709
  /// <summary>
@@ -37,18 +37,12 @@ public static class PeoplePayload
37
37
  "@odata.type",
38
38
  };
39
39
 
40
- /// <summary>
41
- /// Default JSON serialization options for people-entity objects.
42
- /// Ignores null values to reduce payload size and noise.
43
- /// </summary>
44
- private static readonly JsonSerializerOptions PeopleEntitySerializerOptions = new()
45
- {
46
- DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
47
- };
48
-
49
40
  public static string? SerializeStringLabel(string? value, string propertyName, PeopleLabelSerializationOptions options)
50
41
  {
51
- return value;
42
+ if (value is null)
43
+ return value;
44
+
45
+ return NormalizeSerializedLabelJson(value);
52
46
  }
53
47
 
54
48
  public static List<string>? SerializeCollectionLabel(List<string>? values, string propertyName, PeopleLabelSerializationOptions options)
@@ -60,28 +54,7 @@ public static class PeoplePayload
60
54
  $"Property '{propertyName}' exceeds people label collection limit of {options.CollectionLimit.Value}.");
61
55
  }
62
56
 
63
- return values;
64
- }
65
-
66
- /// <summary>
67
- /// Serialize a people-entity object to normalized JSON.
68
- ///
69
- /// This is the primary entry point for serializing profile data (labels).
70
- /// Internally:
71
- /// 1. Serializes the object using JsonSerializer with DefaultIgnoreCondition.WhenWritingNull
72
- /// 2. Parses the resulting JSON
73
- /// 3. Normalizes the tree to strip metadata and convert casing
74
- /// 4. Returns a clean JSON string suitable for external connectors
75
- /// </summary>
76
- /// <param name="entity">The people-entity object to serialize (e.g., UserAccountInformation, SkillProficiency)</param>
77
- /// <returns>A normalized JSON string with no Kiota metadata, no null values, camelCase properties</returns>
78
- public static string SerializePeopleEntity(object entity)
79
- {
80
- if (entity is null)
81
- return "null";
82
-
83
- var json = JsonSerializer.Serialize(entity, PeopleEntitySerializerOptions);
84
- return NormalizeSerializedLabelJson(json);
57
+ return values.Select(NormalizeSerializedLabelJson).ToList();
85
58
  }
86
59
 
87
60
  /// <summary>
@@ -106,9 +79,35 @@ public static class PeoplePayload
106
79
  // Handle objects: filter metadata, convert property names to camelCase
107
80
  if (node is JsonObject jsonObject)
108
81
  {
82
+ // Kiota Date-like values can appear as structured objects; collapse back to date string.
83
+ if (TryNormalizeKiotaDateObject(jsonObject, out var dateValue))
84
+ return JsonValue.Create(dateValue);
85
+
109
86
  var result = new JsonObject();
110
87
  foreach (var (key, value) in jsonObject)
111
88
  {
89
+ // Preserve useful dynamic payload values by flattening AdditionalData.
90
+ if (string.Equals(key, "AdditionalData", StringComparison.OrdinalIgnoreCase) && value is JsonObject additionalData)
91
+ {
92
+ foreach (var (extraKey, extraValue) in additionalData)
93
+ {
94
+ if (extraKey is null || KiotaMetadataKeys.Contains(extraKey))
95
+ continue;
96
+
97
+ var normalizedExtraValue = NormalizeNode(extraValue);
98
+ if (normalizedExtraValue is null)
99
+ continue;
100
+
101
+ var normalizedExtraKey = extraKey.StartsWith("@", StringComparison.Ordinal)
102
+ ? extraKey
103
+ : JsonNamingPolicy.CamelCase.ConvertName(extraKey);
104
+
105
+ result[normalizedExtraKey] = normalizedExtraValue;
106
+ }
107
+
108
+ continue;
109
+ }
110
+
112
111
  // Skip Kiota metadata fields and null keys
113
112
  if (key is null || KiotaMetadataKeys.Contains(key))
114
113
  continue;
@@ -147,6 +146,57 @@ public static class PeoplePayload
147
146
  // Scalars (strings, numbers, booleans): pass through
148
147
  return node.DeepClone();
149
148
  }
149
+
150
+ /// <summary>
151
+ /// Detect and normalize Kiota Date-like objects into yyyy-MM-dd.
152
+ /// </summary>
153
+ private static bool TryNormalizeKiotaDateObject(JsonObject jsonObject, out string dateValue)
154
+ {
155
+ dateValue = string.Empty;
156
+
157
+ // Expected Kiota shape: {"dateTime":"...","year":...,"month":...,"day":...}
158
+ // Some SDK serializers may emit PascalCase, so match keys case-insensitively.
159
+ if (!TryGetPropertyValueIgnoreCase(jsonObject, "dateTime", out var dateTimeNode))
160
+ return false;
161
+ if (!TryGetPropertyValueIgnoreCase(jsonObject, "year", out _)
162
+ || !TryGetPropertyValueIgnoreCase(jsonObject, "month", out _)
163
+ || !TryGetPropertyValueIgnoreCase(jsonObject, "day", out _))
164
+ return false;
165
+
166
+ var raw = dateTimeNode?.GetValue<string>();
167
+ if (string.IsNullOrWhiteSpace(raw))
168
+ return false;
169
+
170
+ if (DateTimeOffset.TryParse(raw, out var dateTimeOffset))
171
+ {
172
+ dateValue = dateTimeOffset.ToString("yyyy-MM-dd");
173
+ return true;
174
+ }
175
+
176
+ if (DateTime.TryParse(raw, out var dateTime))
177
+ {
178
+ dateValue = dateTime.ToString("yyyy-MM-dd");
179
+ return true;
180
+ }
181
+
182
+ dateValue = raw.Length >= 10 ? raw[..10] : raw;
183
+ return true;
184
+ }
185
+
186
+ private static bool TryGetPropertyValueIgnoreCase(JsonObject jsonObject, string propertyName, out JsonNode? value)
187
+ {
188
+ foreach (var (key, candidate) in jsonObject)
189
+ {
190
+ if (string.Equals(key, propertyName, StringComparison.OrdinalIgnoreCase))
191
+ {
192
+ value = candidate;
193
+ return true;
194
+ }
195
+ }
196
+
197
+ value = null;
198
+ return false;
199
+ }
150
200
  }
151
201
 
152
202
  <% if (hasLocalGraphTypes) { -%>
@@ -20,16 +20,20 @@ public abstract class PropertyTransformBase
20
20
  {
21
21
  /// <summary>
22
22
  /// Transform a property by name using the generated transform methods.
23
+ /// The generic return type preserves nullability information so generated callers
24
+ /// do not need nullable object casts in FromRow.
23
25
  /// </summary>
24
- public object? TransformProperty(string name, object row)
26
+ public T TransformProperty<T>(string name, object row)
25
27
  {
26
- return name switch
28
+ object? value = name switch
27
29
  {
28
30
  <% for (const prop of properties) { -%>
29
31
  <%= JSON.stringify(prop.name) %> => Transform<%= prop.csName %>(row),
30
32
  <% } -%>
31
33
  _ => throw new ArgumentOutOfRangeException(nameof(name), $"Unknown property '{name}'."),
32
34
  };
35
+
36
+ return (T)value!;
33
37
  }
34
38
 
35
39
  <% for (const prop of properties) { -%>
@@ -92,6 +92,14 @@ int ValidateBatchSize(int? batchSize)
92
92
  throw new InvalidOperationException("Invalid --batch-size: expected an integer between 1 and 20.");
93
93
  return batchSize.Value;
94
94
  }
95
+
96
+ int ValidateRetryAttempts(int? retryAttempts)
97
+ {
98
+ retryAttempts ??= 2;
99
+ if (retryAttempts < 0 || retryAttempts > 10)
100
+ throw new InvalidOperationException("Invalid --retry-attempts: expected an integer between 0 and 10.");
101
+ return retryAttempts.Value;
102
+ }
95
103
  <% if (inputFormat === "rest") { -%>
96
104
  string RestBaseUrl(string? inputPath)
97
105
  {
@@ -182,9 +190,10 @@ async Task ProvisionAsync()
182
190
  /// <summary>
183
191
  /// Ingest items from the configured input.
184
192
  /// </summary>
185
- async Task IngestAsync(string? inputPath, bool dryRun, int? limit, int? batchSize, bool verbose, bool failFast)
193
+ async Task IngestAsync(string? inputPath, bool dryRun, int? limit, int? batchSize, int? retryAttempts, bool verbose, bool failFast)
186
194
  {
187
195
  var validatedBatchSize = ValidateBatchSize(batchSize);
196
+ var validatedRetryAttempts = ValidateRetryAttempts(retryAttempts);
188
197
 
189
198
  GraphServiceClient? graph = null;
190
199
  TokenCredential? credential = null;
@@ -209,7 +218,7 @@ async Task IngestAsync(string? inputPath, bool dryRun, int? limit, int? batchSiz
209
218
  <% } -%>
210
219
  var core = BuildConnectorCore(graph, credential, connectionId);
211
220
 
212
- await core.IngestAsync(source, dryRun, limit, validatedBatchSize, verbose, failFast);
221
+ await core.IngestAsync(source, dryRun, limit, validatedBatchSize, validatedRetryAttempts, verbose, failFast);
213
222
  }
214
223
 
215
224
  /// <summary>
@@ -231,6 +240,7 @@ var dryRunOption = new Option<bool>("--dry-run") { Description = "Build payloads
231
240
  var failFastOption = new Option<bool>("--fail-fast") { Description = "Abort on the first item failure" };
232
241
  var limitOption = new Option<int?>("--limit") { Description = "Limit number of items" };
233
242
  var batchSizeOption = new Option<int?>("--batch-size") { Description = "Number of concurrent PUT requests to send per batch (1-20)" };
243
+ var retryAttemptsOption = new Option<int?>("--retry-attempts") { Description = "Retry failed items after initial pass (0-10, default 2)" };
234
244
  var verboseOption = new Option<bool>("--verbose") { Description = "Print payloads sent to Graph" };
235
245
 
236
246
  var root = new RootCommand("Connector CLI generated by cocogen");
@@ -245,6 +255,7 @@ ingestCommand.Options.Add(dryRunOption);
245
255
  ingestCommand.Options.Add(failFastOption);
246
256
  ingestCommand.Options.Add(limitOption);
247
257
  ingestCommand.Options.Add(batchSizeOption);
258
+ ingestCommand.Options.Add(retryAttemptsOption);
248
259
  ingestCommand.Options.Add(verboseOption);
249
260
  ingestCommand.SetAction(async (parseResult, cancellationToken) =>
250
261
  {
@@ -253,8 +264,9 @@ ingestCommand.SetAction(async (parseResult, cancellationToken) =>
253
264
  var failFast = parseResult.GetValue(failFastOption);
254
265
  var limit = parseResult.GetValue(limitOption);
255
266
  var batchSize = parseResult.GetValue(batchSizeOption);
267
+ var retryAttempts = parseResult.GetValue(retryAttemptsOption);
256
268
  var verbose = parseResult.GetValue(verboseOption);
257
- await IngestAsync(input, dryRun, limit, batchSize, verbose, failFast);
269
+ await IngestAsync(input, dryRun, limit, batchSize, retryAttempts, verbose, failFast);
258
270
  });
259
271
 
260
272
  var deleteCommand = new Command("delete", "Delete the connection");
@@ -5,14 +5,21 @@ namespace <%= schemaNamespace %>;
5
5
  /// User-overridable transforms for schema fields.
6
6
  ///
7
7
  /// PEOPLE ENTITIES (labels):
8
- /// For properties marked with @coco.people decorators, the generated Transform<PropName> methods
9
- /// automatically serialize using PeoplePayload.SerializePeopleEntity(), which:
10
- /// - Serializes to JSON using System.Text.Json with DefaultIgnoreCondition.WhenWritingNull
11
- /// - Strips Kiota metadata (AdditionalData, BackingStore, OdataType, @odata.type)
12
- /// - Converts property names to camelCase
13
- /// - Returns normalized JSON strings (no null values, no internal SDK properties)
8
+ /// For properties marked with @coco.people decorators, generated Transform<PropName> methods
9
+ /// return regular JSON strings from JsonSerializer.Serialize(...).
14
10
  ///
15
- /// You can override Transform<PropName> freely; the normalization happens inside SerializePeopleEntity.
11
+ /// Final label cleanup happens later in ItemPayload via:
12
+ /// - PeoplePayload.SerializeStringLabel(...)
13
+ /// - PeoplePayload.SerializeCollectionLabel(...)
14
+ ///
15
+ /// This keeps your overrides working with plain JSON and lets you deserialize/re-hydrate
16
+ /// intermediate values if you need advanced transform logic.
17
+ ///
18
+ /// Normalization at the final stage includes:
19
+ /// - Strip Kiota metadata (AdditionalData, BackingStore, OdataType, @odata.type)
20
+ /// - Flatten useful AdditionalData fields
21
+ /// - Convert property names to camelCase
22
+ /// - Normalize date objects to yyyy-MM-dd
16
23
  ///
17
24
  /// Example:
18
25
  /// protected override string? TransformAccountInfo(object row)
@@ -22,13 +29,17 @@ namespace <%= schemaNamespace %>;
22
29
  /// {
23
30
  /// UserPrincipalName = RowParser.ParseString(row, new[] { "Email" })
24
31
  /// };
25
- /// // SerializePeopleEntity handles serialization + normalization automatically
26
- /// return PeoplePayload.SerializePeopleEntity(account);
32
+ /// // Return regular JSON. Cleanup/normalization happens in ItemPayload later.
33
+ /// return JsonSerializer.Serialize(account, new JsonSerializerOptions
34
+ /// {
35
+ /// DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
36
+ /// Converters = { new JsonStringEnumConverter(JsonNamingPolicy.CamelCase) }
37
+ /// });
27
38
  /// }
28
39
  ///
29
40
  /// COLLECTIONS:
30
- /// For collection properties, Transform<PropName> returns a List<string> of normalized JSON strings.
31
- /// Each item in the collection is automatically serialized and normalized.
41
+ /// For collection properties, Transform<PropName> returns List<string> of regular JSON strings.
42
+ /// ItemPayload applies final cleanup to each item before Graph ingestion.
32
43
  ///
33
44
  /// OTHER PROPERTIES (strings, dates, enums):
34
45
  /// Override Transform<PropName> to customize validation, transformation, or parsing.
@@ -73,6 +73,7 @@ Use `dotnet run -- ingest` with:
73
73
  - `--fail-fast` (abort on the first item failure)
74
74
  - `--limit <n>` (ingest only N items)
75
75
  - `--batch-size <n>` (send up to N concurrent PUT requests per batch, default `1`, max `20`)
76
+ - `--retry-attempts <n>` (queue failed items and retry after the initial pass, default `2`, max `10`)
76
77
  - `--verbose` (print the exact payload sent to Graph)
77
78
 
78
79
  Note: `--dry-run` does not require Azure AD or connection settings.
@@ -62,6 +62,7 @@ Use `npm run ingest --` with:
62
62
  - `--fail-fast` (abort on the first item failure)
63
63
  - `--limit <n>` (ingest only N items)
64
64
  - `--batch-size <n>` (send up to N concurrent PUT requests per batch, default `1`, max `20`)
65
+ - `--retry-attempts <n>` (queue failed items and retry after the initial pass, default `2`, max `10`)
65
66
  - `--verbose` (print the exact payload sent to Graph)
66
67
 
67
68
  Note: `--dry-run` does not require CONNECTION_ID, but you still need it for real ingestion.
@@ -118,6 +118,14 @@ function parseBatchSize(value: string): number {
118
118
  return parsed;
119
119
  }
120
120
 
121
+ function parseRetryAttempts(value: string): number {
122
+ const parsed = Number.parseInt(value, 10);
123
+ if (!Number.isInteger(parsed) || parsed < 0 || parsed > 10) {
124
+ throw new InvalidArgumentError("expected an integer between 0 and 10");
125
+ }
126
+ return parsed;
127
+ }
128
+
121
129
  function buildItemSource(path: string): ItemSource<<%= itemTypeName %>> {
122
130
  <% if (inputFormat === "rest") { -%>
123
131
  return new RestItemSource(resolveRestOptions(path));
@@ -224,6 +232,7 @@ async function ingest(options: {
224
232
  dryRun?: boolean;
225
233
  limit?: number;
226
234
  batchSize?: number;
235
+ retryAttempts?: number;
227
236
  verbose?: boolean;
228
237
  failFast?: boolean;
229
238
  }): Promise<void> {
@@ -237,6 +246,7 @@ async function ingest(options: {
237
246
  dryRun: options.dryRun,
238
247
  limit: options.limit,
239
248
  batchSize: options.batchSize,
249
+ retryAttempts: options.retryAttempts,
240
250
  verbose: options.verbose,
241
251
  failFast: options.failFast,
242
252
  toExternalItem
@@ -259,14 +269,16 @@ program
259
269
  .option("--fail-fast", "Abort on the first item failure")
260
270
  .option("--limit <n>", "Limit number of items", (value) => Number(value))
261
271
  .option("--batch-size <n>", "Number of concurrent PUT requests to send per batch (1-20)", parseBatchSize, 1)
272
+ .option("--retry-attempts <n>", "Retry failed items after initial pass (0-10, default 2)", parseRetryAttempts, 2)
262
273
  .option("--verbose", "Print payloads sent to Graph")
263
- .action((options: { input?: string; dryRun?: boolean; limit?: number; batchSize?: number; verbose?: boolean; failFast?: boolean }) =>
274
+ .action((options: { input?: string; dryRun?: boolean; limit?: number; batchSize?: number; retryAttempts?: number; verbose?: boolean; failFast?: boolean }) =>
264
275
  ingest({
265
276
  inputPath: options.input,
266
277
  dryRun: options.dryRun,
267
278
  failFast: options.failFast,
268
279
  limit: options.limit,
269
280
  batchSize: options.batchSize,
281
+ retryAttempts: options.retryAttempts,
270
282
  verbose: options.verbose,
271
283
  })
272
284
  );
@@ -41,6 +41,7 @@ export type IngestOptions<Item> = {
41
41
  dryRun?: boolean;
42
42
  limit?: number;
43
43
  batchSize?: number;
44
+ retryAttempts?: number;
44
45
  verbose?: boolean;
45
46
  failFast?: boolean;
46
47
  toExternalItem: (item: Item) => unknown;
@@ -229,24 +230,34 @@ export class ConnectorCore<Item> {
229
230
  if (!Number.isInteger(batchSize) || batchSize < 1 || batchSize > 20) {
230
231
  throw new Error("Invalid batch size: expected integer between 1 and 20.");
231
232
  }
233
+ const retryAttempts = options.retryAttempts ?? DEFAULT_ITEM_RETRY_ATTEMPTS;
234
+ if (!Number.isInteger(retryAttempts) || retryAttempts < 0 || retryAttempts > MAX_ITEM_RETRY_ATTEMPTS) {
235
+ throw new Error(`Invalid retry attempts: expected integer between 0 and ${MAX_ITEM_RETRY_ATTEMPTS}.`);
236
+ }
237
+
238
+ type PendingItem = { index: number; id: string; item: Item; attempt: number };
232
239
 
233
240
  let count = 0;
234
241
  let successCount = 0;
235
- const failures: Array<{ index: number; id: string; message: string }> = [];
236
- const pending: Array<{ index: number; id: string; item: Item }> = [];
242
+ const failures: Array<{ index: number; id: string; attempts: number; message: string }> = [];
243
+ const pending: PendingItem[] = [];
244
+ let retryQueue: PendingItem[] = [];
237
245
 
238
- const flushBatch = async (): Promise<void> => {
239
- if (pending.length === 0) {
246
+ const flushBatch = async (batch: PendingItem[]): Promise<void> => {
247
+ if (batch.length === 0) {
240
248
  return;
241
249
  }
242
250
 
243
- for (const entry of pending) {
244
- console.log(`info: ingesting item ${entry.index} (id=${entry.id})`);
251
+ for (const entry of batch) {
252
+ if (entry.attempt === 0) {
253
+ console.log(`info: ingesting item ${entry.index} (id=${entry.id})`);
254
+ continue;
255
+ }
256
+ console.log(`info: retrying item ${entry.index} (id=${entry.id}) attempt ${entry.attempt}/${retryAttempts}`);
245
257
  }
246
258
 
247
- const currentBatch = pending.splice(0, pending.length);
248
259
  const results = await Promise.all(
249
- currentBatch.map(async (entry) => {
260
+ batch.map(async (entry) => {
250
261
  try {
251
262
  await this.putItem(options.connectionId, entry.item, Boolean(options.verbose));
252
263
  return { ...entry, success: true as const };
@@ -266,7 +277,13 @@ export class ConnectorCore<Item> {
266
277
 
267
278
  const message = result.error instanceof Error ? result.error.message : String(result.error);
268
279
  console.error(`error: failed item ${result.index} (id=${result.id})`);
269
- failures.push({ index: result.index, id: result.id, message });
280
+
281
+ if (!options.failFast && result.attempt < retryAttempts) {
282
+ retryQueue.push({ index: result.index, id: result.id, item: result.item, attempt: result.attempt + 1 });
283
+ continue;
284
+ }
285
+
286
+ failures.push({ index: result.index, id: result.id, attempts: result.attempt + 1, message });
270
287
  if (options.failFast && firstError === null) {
271
288
  firstError = result.error;
272
289
  }
@@ -282,9 +299,10 @@ export class ConnectorCore<Item> {
282
299
  const index = count + 1;
283
300
  const itemId = this.getItemId(item as Item);
284
301
  if (!options.dryRun) {
285
- pending.push({ index, id: itemId, item: item as Item });
302
+ pending.push({ index, id: itemId, item: item as Item, attempt: 0 });
286
303
  if (pending.length >= batchSize) {
287
- await flushBatch();
304
+ const batch = pending.splice(0, pending.length);
305
+ await flushBatch(batch);
288
306
  }
289
307
  } else if (options.verbose) {
290
308
  const payload = options.toExternalItem(item as Item) as any;
@@ -299,7 +317,36 @@ export class ConnectorCore<Item> {
299
317
  }
300
318
 
301
319
  if (!options.dryRun) {
302
- await flushBatch();
320
+ const batch = pending.splice(0, pending.length);
321
+ await flushBatch(batch);
322
+
323
+ for (let retryAttempt = 1; retryAttempt <= retryAttempts && retryQueue.length > 0; retryAttempt++) {
324
+ const queue = retryQueue;
325
+ retryQueue = [];
326
+ console.warn(`warn: retry pass ${retryAttempt}/${retryAttempts} for ${queue.length} item(s)`);
327
+
328
+ for (let index = 0; index < queue.length; index += batchSize) {
329
+ const batchSlice = queue.slice(index, index + batchSize);
330
+ await flushBatch(batchSlice);
331
+ }
332
+
333
+ if (retryQueue.length > 0 && retryAttempt < retryAttempts) {
334
+ const delayMs = computeRetryDelayMs(retryAttempt - 1);
335
+ console.warn(`warn: waiting ${delayMs}ms before next retry pass`);
336
+ await sleep(delayMs);
337
+ }
338
+ }
339
+
340
+ if (retryQueue.length > 0) {
341
+ for (const entry of retryQueue) {
342
+ failures.push({
343
+ index: entry.index,
344
+ id: entry.id,
345
+ attempts: entry.attempt,
346
+ message: `exhausted retry queue after ${entry.attempt} attempt(s)`,
347
+ });
348
+ }
349
+ }
303
350
  }
304
351
 
305
352
  if (!options.dryRun) {
@@ -311,7 +358,7 @@ export class ConnectorCore<Item> {
311
358
  if (failures.length > 0) {
312
359
  console.warn(`warn: ${failures.length} item(s) failed`);
313
360
  for (const failure of failures) {
314
- console.warn(`warn: failed item ${failure.index} (id=${failure.id}) - ${failure.message}`);
361
+ console.warn(`warn: failed item ${failure.index} (id=${failure.id}) after ${failure.attempts} attempt(s) - ${failure.message}`);
315
362
  }
316
363
  }
317
364
  }
@@ -518,6 +565,8 @@ const SCHEMA_POLL_DELAY_MS = 30000;
518
565
  const MAX_RETRIES = 6;
519
566
  const BASE_RETRY_DELAY_MS = 1000;
520
567
  const MAX_RETRY_DELAY_MS = 30000;
568
+ const DEFAULT_ITEM_RETRY_ATTEMPTS = 2;
569
+ const MAX_ITEM_RETRY_ATTEMPTS = 10;
521
570
  const SCHEMA_READY_STATES = new Set(["completed", "ready", "succeeded", "success"]);
522
571
  const SCHEMA_PENDING_STATES = new Set(["inprogress", "pending", "running", "updating"]);
523
572
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wictorwilen/cocogen",
3
- "version": "1.1.0-preview.8",
3
+ "version": "1.1.0",
4
4
  "description": "TypeSpec-driven Microsoft Copilot connector generator",
5
5
  "license": "MIT",
6
6
  "author": "Wictor Wilén <wictor@wictorwilen.se>",