@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 +23 -67
- package/README.md +1 -1
- package/data/graph-external-connectors-principal.json +1 -1
- package/dist/init/dotnet/generator.js +1 -1
- package/dist/init/dotnet/generator.js.map +1 -1
- package/dist/init/dotnet/people-entity.js +5 -5
- package/dist/init/dotnet/people-entity.js.map +1 -1
- package/dist/init/helpers/schema.js +5 -5
- package/dist/init/helpers/schema.js.map +1 -1
- package/dist/init/templates/dotnet/Core/ConnectorCore.cs.ejs +79 -18
- package/dist/init/templates/dotnet/Core/PeoplePayload.cs.ejs +82 -32
- package/dist/init/templates/dotnet/Generated/PropertyTransformBase.cs.ejs +6 -2
- package/dist/init/templates/dotnet/Program.commandline.cs.ejs +15 -3
- package/dist/init/templates/dotnet/PropertyTransform.cs.ejs +22 -11
- package/dist/init/templates/dotnet/README.md.ejs +1 -0
- package/dist/init/templates/ts/README.md.ejs +1 -0
- package/dist/init/templates/ts/src/cli.ts.ejs +13 -1
- package/dist/init/templates/ts/src/core/connectorCore.ts.ejs +62 -13
- package/package.json +1 -1
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
|
|
10
|
+
## [1.1.0] - 2026-04-09
|
|
11
11
|
|
|
12
|
-
###
|
|
13
|
-
-
|
|
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
|
-
-
|
|
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
|
|
59
|
-
-
|
|
60
|
-
- Generated
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
- Generated
|
|
65
|
-
- Generated
|
|
66
|
-
- Generated
|
|
67
|
-
- Generated TS
|
|
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
|
|
373
|
-
[1.1.0
|
|
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:
|
|
@@ -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} =
|
|
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 `
|
|
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(
|
|
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 =>
|
|
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(
|
|
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":"AAEA,6DAA6D;AAC7D,MAAM,UAAU,YAAY,CAAC,EAAe;IAC1C,OAAO,+BAA+B,EAAE,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;AACxE,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,2BAA2B,CAAC,EAAe,EAAE,SAAyB;IACpF,OAAO,EAAE,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC;AAC5F,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,wBAAwB,CAAC,EAAe,EAAE,SAAyB;IACjF,OAAO,+BAA+B,2BAA2B,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,aAAa,CAAC,EAAe;IAC3C,OAAO;QACL,QAAQ,EAAE,8BAA8B;QACxC,UAAU,EAAE,EAAE,CAAC,UAAU;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;aACrD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAClD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACrD,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS;YAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS;YAC5C,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS;YAChD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS;YAC5C,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,IAAI,SAAS;SAC/D,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,2BAA2B,CAAC,IAAkB;IAC5D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,kBAAkB;YACrB,OAAO,kBAAkB,CAAC;QAC5B,KAAK,iBAAiB;YACpB,OAAO,iBAAiB,CAAC;QAC3B,KAAK,kBAAkB;YACrB,OAAO,kBAAkB,CAAC;QAC5B,KAAK,oBAAoB;YACvB,OAAO,oBAAoB,CAAC;QAC9B,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,qBAAqB;YACxB,OAAO,qBAAqB,CAAC;QAC/B;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,qBAAqB,CAAC,IAAkB;IACtD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,kBAAkB;YACrB,OAAO,
|
|
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 (
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
26
|
+
public T TransformProperty<T>(string name, object row)
|
|
25
27
|
{
|
|
26
|
-
|
|
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,
|
|
9
|
-
///
|
|
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
|
-
///
|
|
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
|
-
/// //
|
|
26
|
-
/// return
|
|
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
|
|
31
|
-
///
|
|
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:
|
|
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 (
|
|
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
|
|
244
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|