@wictorwilen/cocogen 1.0.50 → 1.1.0-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +3 -3
  3. package/data/graph-capabilities.json +853 -0
  4. package/data/graph-external-connectors-principal.json +45 -0
  5. package/data/graph-profile-schema.json +322 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +38 -8
  8. package/dist/cli.js.map +1 -1
  9. package/dist/graph/capabilities.d.ts +29 -0
  10. package/dist/graph/capabilities.d.ts.map +1 -0
  11. package/dist/graph/capabilities.js +16 -0
  12. package/dist/graph/capabilities.js.map +1 -0
  13. package/dist/graph/requirements.d.ts +22 -0
  14. package/dist/graph/requirements.d.ts.map +1 -0
  15. package/dist/graph/requirements.js +102 -0
  16. package/dist/graph/requirements.js.map +1 -0
  17. package/dist/init/dotnet/generator.d.ts.map +1 -1
  18. package/dist/init/dotnet/generator.js +94 -22
  19. package/dist/init/dotnet/generator.js.map +1 -1
  20. package/dist/init/dotnet/people-entity.d.ts.map +1 -1
  21. package/dist/init/dotnet/people-entity.js +69 -24
  22. package/dist/init/dotnet/people-entity.js.map +1 -1
  23. package/dist/init/helpers/schema.d.ts +5 -1
  24. package/dist/init/helpers/schema.d.ts.map +1 -1
  25. package/dist/init/helpers/schema.js +8 -0
  26. package/dist/init/helpers/schema.js.map +1 -1
  27. package/dist/init/init.d.ts.map +1 -1
  28. package/dist/init/init.js +17 -23
  29. package/dist/init/init.js.map +1 -1
  30. package/dist/init/people/graph-types.d.ts +4 -0
  31. package/dist/init/people/graph-types.d.ts.map +1 -1
  32. package/dist/init/people/graph-types.js +14 -3
  33. package/dist/init/people/graph-types.js.map +1 -1
  34. package/dist/init/templates/dotnet/Core/ConnectorCore.cs.ejs +242 -44
  35. package/dist/init/templates/dotnet/Core/PeoplePayload.cs.ejs +34 -82
  36. package/dist/init/templates/dotnet/Core/Principal.cs.ejs +16 -18
  37. package/dist/init/templates/dotnet/Generated/Constants.cs.ejs +8 -0
  38. package/dist/init/templates/dotnet/Generated/FromRow.cs.ejs +1 -1
  39. package/dist/init/templates/dotnet/Generated/Model.cs.ejs +1 -1
  40. package/dist/init/templates/dotnet/Program.commandline.cs.ejs +17 -4
  41. package/dist/init/templates/dotnet/README.md.ejs +3 -1
  42. package/dist/init/templates/dotnet/project.csproj.ejs +3 -0
  43. package/dist/init/templates/starter/AGENTS.md.ejs +5 -5
  44. package/dist/init/templates/ts/README.md.ejs +3 -1
  45. package/dist/init/templates/ts/package.json.ejs +5 -0
  46. package/dist/init/templates/ts/src/cli.ts.ejs +16 -4
  47. package/dist/init/templates/ts/src/core/connectorCore.ts.ejs +208 -71
  48. package/dist/init/templates/ts/src/core/people.ts.ejs +99 -27
  49. package/dist/init/templates/ts/src/core/principal.ts.ejs +4 -4
  50. package/dist/init/templates/ts/src/generated/constants.ts.ejs +9 -0
  51. package/dist/init/templates/ts/src/generated/itemPayload.ts.ejs +22 -5
  52. package/dist/init/templates/ts/src/generated/propertyTransformBase.ts.ejs +26 -14
  53. package/dist/init/ts/generator.d.ts.map +1 -1
  54. package/dist/init/ts/generator.js +100 -14
  55. package/dist/init/ts/generator.js.map +1 -1
  56. package/dist/init/ts/people-entity.d.ts.map +1 -1
  57. package/dist/init/ts/people-entity.js +20 -10
  58. package/dist/init/ts/people-entity.js.map +1 -1
  59. package/dist/ir.d.ts +4 -1
  60. package/dist/ir.d.ts.map +1 -1
  61. package/dist/people/label-registry.d.ts +2 -0
  62. package/dist/people/label-registry.d.ts.map +1 -1
  63. package/dist/people/label-registry.js +8 -0
  64. package/dist/people/label-registry.js.map +1 -1
  65. package/dist/tsp/init-tsp.js +2 -2
  66. package/dist/tsp/init-tsp.js.map +1 -1
  67. package/dist/tsp/loader.d.ts.map +1 -1
  68. package/dist/tsp/loader.js +23 -11
  69. package/dist/tsp/loader.js.map +1 -1
  70. package/package.json +3 -1
  71. package/typespec/main.tsp +5 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirements.d.ts","sourceRoot":"","sources":["../../src/graph/requirements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAKL,KAAK,6BAA6B,EACnC,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,oBAAoB,GAAG,cAAc,GAAG,OAAO,CAAC;IACtD,kBAAkB,EAAE,eAAe,CAAC;IACpC,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,6BAA6B,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,cAAc,CAAC;IAC1B,kBAAkB,EAAE,eAAe,CAAC;IACpC,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACnC,CAAC;AAiBF,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,WAAW,GAAG,sBAAsB,EAAE,CA0DxF;AAED,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,WAAW,GAAG,yBAAyB,EAAE,CAiB1F;AAED,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,CAYvE;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,EAAE,CAI/D"}
@@ -0,0 +1,102 @@
1
+ import { getConnectionPropertyCapability, getLabelCapability, getPropertyTypeCapability, maxGraphApiVersion, } from "./capabilities.js";
2
+ const GRAPH_OPERATION_LABELS = {
3
+ connectionProvisioning: "connection provisioning",
4
+ schemaRegistration: "schema registration",
5
+ itemIngestion: "item ingestion",
6
+ profileSourceRegistration: "profile source registration",
7
+ };
8
+ function formatOperations(operations) {
9
+ return operations.map((operation) => GRAPH_OPERATION_LABELS[operation]).join(" + ");
10
+ }
11
+ function isBetaRequirement(version) {
12
+ return version === "beta";
13
+ }
14
+ export function collectGraphRequirementReasons(ir) {
15
+ const reasons = [];
16
+ if (ir.connection.contentCategory) {
17
+ const capability = getConnectionPropertyCapability("contentCategory");
18
+ if (isBetaRequirement(capability?.minGraphApiVersion)) {
19
+ reasons.push({
20
+ kind: "connectionProperty",
21
+ capabilityName: "contentCategory",
22
+ minGraphApiVersion: "beta",
23
+ operations: ["connectionProvisioning"],
24
+ message: "connection.contentCategory uses Graph /beta property 'contentCategory' during connection provisioning",
25
+ });
26
+ }
27
+ }
28
+ if (ir.connection.profileSource) {
29
+ const capability = getConnectionPropertyCapability("profileSourceRegistration");
30
+ if (isBetaRequirement(capability?.minGraphApiVersion)) {
31
+ reasons.push({
32
+ kind: "connectionProperty",
33
+ capabilityName: "profileSourceRegistration",
34
+ minGraphApiVersion: "beta",
35
+ operations: ["profileSourceRegistration"],
36
+ message: "connection.profileSource uses Graph /beta profile source registration",
37
+ });
38
+ }
39
+ }
40
+ for (const property of ir.properties) {
41
+ const propertyTypeCapability = getPropertyTypeCapability(property.type);
42
+ if (isBetaRequirement(propertyTypeCapability?.minGraphApiVersion)) {
43
+ reasons.push({
44
+ kind: "propertyType",
45
+ propertyName: property.name,
46
+ propertyType: property.type,
47
+ minGraphApiVersion: "beta",
48
+ operations: ["schemaRegistration", "itemIngestion"],
49
+ message: `property '${property.name}' uses Graph /beta property type '${property.type}' for schema registration and item ingestion`,
50
+ });
51
+ }
52
+ for (const label of property.labels) {
53
+ const labelCapability = getLabelCapability(label);
54
+ if (isBetaRequirement(labelCapability?.minGraphApiVersion)) {
55
+ reasons.push({
56
+ kind: "label",
57
+ propertyName: property.name,
58
+ label,
59
+ minGraphApiVersion: "beta",
60
+ operations: ["schemaRegistration", "itemIngestion"],
61
+ message: `property '${property.name}' uses Graph /beta label '${label}' for schema registration and item ingestion`,
62
+ });
63
+ }
64
+ }
65
+ }
66
+ return reasons;
67
+ }
68
+ export function getGraphOperationRequirements(ir) {
69
+ const reasons = collectGraphRequirementReasons(ir);
70
+ const operations = [
71
+ "connectionProvisioning",
72
+ "schemaRegistration",
73
+ "itemIngestion",
74
+ "profileSourceRegistration",
75
+ ];
76
+ return operations.map((operation) => {
77
+ const matchingReasons = reasons.filter((reason) => reason.operations.includes(operation));
78
+ return {
79
+ operation,
80
+ minGraphApiVersion: maxGraphApiVersion(...matchingReasons.map((reason) => reason.minGraphApiVersion)),
81
+ reasons: matchingReasons,
82
+ };
83
+ });
84
+ }
85
+ export function formatPreviewFeatureRequirement(ir) {
86
+ const reasons = collectGraphRequirementReasons(ir).filter((reason) => reason.minGraphApiVersion === "beta");
87
+ if (reasons.length === 0) {
88
+ return "This schema requires Graph beta. Re-run with --use-preview-features.";
89
+ }
90
+ return [
91
+ "This schema requires Graph beta.",
92
+ "Reasons:",
93
+ ...reasons.map((reason) => `- ${reason.message}`),
94
+ "Re-run with --use-preview-features.",
95
+ ].join("\n");
96
+ }
97
+ export function getGraphBetaNoteLines(ir) {
98
+ return collectGraphRequirementReasons(ir)
99
+ .filter((reason) => reason.minGraphApiVersion === "beta")
100
+ .map((reason) => `${reason.message}; ${formatOperations(reason.operations)} will use /beta`);
101
+ }
102
+ //# sourceMappingURL=requirements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirements.js","sourceRoot":"","sources":["../../src/graph/requirements.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/init/dotnet/generator.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAS7E,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,8DAA8D;AAC9D,qBAAa,eAAgB,SAAQ,aAAa,CAAC,uBAAuB,CAAC;IACzE,SAAS,CAAC,IAAI,EAAG,QAAQ,CAAU;gBAEvB,OAAO,EAAE,gBAAgB,CAAC,uBAAuB,CAAC;IAI9D,gDAAgD;IAChD,OAAO,KAAK,aAAa,GAExB;IAED,sDAAsD;IACtD,OAAO,KAAK,gBAAgB,GAE3B;IAED,sDAAsD;IACtD,OAAO,KAAK,eAAe,GAE1B;IAED,gEAAgE;IAC1D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA6IpC,kDAAkD;IAC5C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAwpBtC"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/init/dotnet/generator.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAS7E,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA2BF,8DAA8D;AAC9D,qBAAa,eAAgB,SAAQ,aAAa,CAAC,uBAAuB,CAAC;IACzE,SAAS,CAAC,IAAI,EAAG,QAAQ,CAAU;gBAEvB,OAAO,EAAE,gBAAgB,CAAC,uBAAuB,CAAC;IAI9D,gDAAgD;IAChD,OAAO,KAAK,aAAa,GAExB;IAED,sDAAsD;IACtD,OAAO,KAAK,gBAAgB,GAE3B;IAED,sDAAsD;IACtD,OAAO,KAAK,eAAe,GAE1B;IAED,gEAAgE;IAC1D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA8IpC,kDAAkD;IAC5C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CA4sBtC"}
@@ -1,19 +1,40 @@
1
1
  import { access, mkdir, writeFile } from "node:fs/promises";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import path from "node:path";
4
- import { getPeopleLabelInfo, supportedPeopleLabels } from "../../people/label-registry.js";
4
+ import { getPeopleLabelDefinition, getPeopleLabelInfo, supportedPeopleLabels } from "../../people/label-registry.js";
5
5
  import { getProfileEnum, graphProfileSchema } from "../../people/profile-schema.js";
6
- import { toCsIdentifier, toCsNamespace, toCsPascal, toCsPropertyName, toCsType, toSchemaFolderName, } from "../naming.js";
6
+ import { toCsIdentifier, toCsNamespace, toCsPascal, toCsPropertyName, toCsType, toSchemaFolderName, toTsIdentifier, } from "../naming.js";
7
7
  import { renderTemplate } from "../template.js";
8
8
  import { formatCsDocSummary } from "../helpers/format.js";
9
9
  import { buildCsSourceLiteral, buildCsSourceTransformsLiteral } from "../helpers/source.js";
10
10
  import { removeIfExists } from "../helpers/fs.js";
11
- import { toCsParseFunction, toCsPropertyValueExpression, toGraphPropertyTypeEnumName, toOdataCollectionType, } from "../helpers/schema.js";
11
+ import { graphApiVersionForOperation, toCsParseFunction, toCsPropertyValueExpression, toGraphPropertyTypeEnumName, toOdataCollectionType, } from "../helpers/schema.js";
12
12
  import { GRAPH_STRING_TYPES, buildGraphEnumTemplates, buildPeopleGraphTypes, resolveGraphTypeName, } from "../people/graph-types.js";
13
13
  import { CoreGenerator } from "../generators/core.js";
14
14
  import { buildCsPrincipalCollectionExpression, buildCsPrincipalExpression } from "./principal.js";
15
15
  import { buildCsPersonEntityCollectionExpression, buildCsPersonEntityExpression, } from "./people-entity.js";
16
16
  import { applyCsValidationExpression, buildCsStringConstraintsLiteral } from "./validation.js";
17
+ function formatCsTransformExpression(expression, continuationIndent) {
18
+ const lines = expression.split("\n");
19
+ if (lines.length === 1) {
20
+ return expression;
21
+ }
22
+ const trailingLines = lines.slice(1);
23
+ const nonEmptyTrailingLines = trailingLines.filter((line) => line.trim().length > 0);
24
+ const minIndent = nonEmptyTrailingLines.length === 0
25
+ ? 0
26
+ : Math.min(...nonEmptyTrailingLines.map((line) => line.match(/^\s*/)?.[0].length ?? 0));
27
+ const indentPrefix = " ".repeat(continuationIndent);
28
+ return [
29
+ lines[0],
30
+ ...trailingLines.map((line) => {
31
+ if (line.trim().length === 0) {
32
+ return line;
33
+ }
34
+ return `${indentPrefix}${line.slice(minIndent)}`;
35
+ }),
36
+ ].join("\n");
37
+ }
17
38
  /** Generates .NET connector scaffolds and generated files. */
18
39
  export class DotnetGenerator extends CoreGenerator {
19
40
  lang = "dotnet";
@@ -39,6 +60,7 @@ export class DotnetGenerator extends CoreGenerator {
39
60
  await mkdir(path.join(this.outDir, schemaFolderName), { recursive: true });
40
61
  await writeFile(path.join(this.outDir, `${this.settings.projectName}.csproj`), await renderTemplate("dotnet/project.csproj.ejs", {
41
62
  graphApiVersion: this.ir.connection.graphApiVersion,
63
+ isPeopleConnector: this.ir.connection.contentCategory === "people",
42
64
  userSecretsId: randomUUID(),
43
65
  inputFormat: this.ir.connection.inputFormat,
44
66
  }), "utf8");
@@ -125,32 +147,58 @@ export class DotnetGenerator extends CoreGenerator {
125
147
  const usedPropertyNames = new Set();
126
148
  const peopleLabelDefinitions = supportedPeopleLabels().map((label) => {
127
149
  const info = getPeopleLabelInfo(label);
150
+ const definition = getPeopleLabelDefinition(label);
151
+ if (!definition) {
152
+ throw new Error(`Missing people label definition for '${label}'.`);
153
+ }
128
154
  return {
129
155
  label: info.label,
130
156
  payloadType: info.payloadType,
131
157
  graphTypeName: info.graphTypeName,
132
158
  requiredFields: info.requiredFields,
133
159
  collectionLimit: info.collectionLimit ?? null,
160
+ inheritsItemFacet: definition.schema.name === "itemFacet" || (definition.schema.baseType ?? null) === "itemFacet",
134
161
  };
135
162
  });
136
163
  const peopleGraphTypesBundle = buildPeopleGraphTypes(this.ir);
137
164
  const graphAliases = peopleGraphTypesBundle.aliases;
165
+ const peopleGraphTypeByTsAlias = new Map(peopleGraphTypesBundle.templates.map((type) => [type.alias, type]));
166
+ const graphSchemaTypeNames = new Set(graphProfileSchema.types.map((type) => type.name));
167
+ const defaultGraphPackage = this.ir.connection.graphApiVersion === "beta" ? "beta" : "v1";
168
+ const qualifyGraphModelType = (csName, sourcePackage) => sourcePackage === "v1" ? `Microsoft.Graph.Models.${csName}` : `Microsoft.Graph.Beta.Models.${csName}`;
169
+ const resolveGraphModelCsType = (graphName) => {
170
+ const alias = graphAliases.get(graphName);
171
+ if (!alias)
172
+ return null;
173
+ const template = peopleGraphTypeByTsAlias.get(alias.tsAlias);
174
+ if (template?.sourcePackage) {
175
+ return qualifyGraphModelType(alias.csName, template.sourcePackage);
176
+ }
177
+ if (graphSchemaTypeNames.has(graphName)) {
178
+ return qualifyGraphModelType(alias.csName, defaultGraphPackage);
179
+ }
180
+ return alias.csName;
181
+ };
182
+ const resolveGraphEnumCsType = (enumName) => qualifyGraphModelType(toCsPascal(enumName), "beta");
138
183
  const resolveCsType = (rawType) => {
139
184
  const collectionMatch = /^Collection\((.+)\)$/.exec(rawType);
140
185
  if (collectionMatch) {
141
186
  const elementType = collectionMatch[1];
142
187
  if (GRAPH_STRING_TYPES.has(elementType)) {
188
+ const graphName = resolveGraphTypeName(elementType);
189
+ if (graphName) {
190
+ return { csType: `List<${resolveGraphModelCsType(graphName) ?? "string"}>`, isCollection: true };
191
+ }
143
192
  return { csType: "List<string>", isCollection: true };
144
193
  }
145
194
  const enumGraphName = resolveGraphTypeName(elementType);
146
195
  const profileEnum = enumGraphName ? getProfileEnum(enumGraphName) : undefined;
147
196
  if (profileEnum) {
148
- return { csType: `List<${toCsPascal(profileEnum.name)}>`, isCollection: true };
197
+ return { csType: `List<${resolveGraphEnumCsType(profileEnum.name)}>`, isCollection: true };
149
198
  }
150
199
  const graphName = resolveGraphTypeName(elementType);
151
200
  if (graphName && graphAliases.has(graphName)) {
152
- const alias = graphAliases.get(graphName).csName;
153
- return { csType: `List<${alias}>`, isCollection: true };
201
+ return { csType: `List<${resolveGraphModelCsType(graphName)}>`, isCollection: true };
154
202
  }
155
203
  const element = (() => {
156
204
  switch (elementType) {
@@ -175,16 +223,20 @@ export class DotnetGenerator extends CoreGenerator {
175
223
  return { csType: `List<${element}>`, isCollection: true };
176
224
  }
177
225
  if (GRAPH_STRING_TYPES.has(rawType)) {
226
+ const graphName = resolveGraphTypeName(rawType);
227
+ if (graphName) {
228
+ return { csType: resolveGraphModelCsType(graphName) ?? "string", isCollection: false };
229
+ }
178
230
  return { csType: "string", isCollection: false };
179
231
  }
180
232
  const enumGraphName = resolveGraphTypeName(rawType);
181
233
  const profileEnum = enumGraphName ? getProfileEnum(enumGraphName) : undefined;
182
234
  if (profileEnum) {
183
- return { csType: toCsPascal(profileEnum.name), isCollection: false };
235
+ return { csType: resolveGraphEnumCsType(profileEnum.name), isCollection: false };
184
236
  }
185
237
  const graphName = resolveGraphTypeName(rawType);
186
238
  if (graphName && graphAliases.has(graphName)) {
187
- return { csType: graphAliases.get(graphName).csName, isCollection: false };
239
+ return { csType: resolveGraphModelCsType(graphName), isCollection: false };
188
240
  }
189
241
  switch (rawType) {
190
242
  case "Edm.String":
@@ -206,6 +258,7 @@ export class DotnetGenerator extends CoreGenerator {
206
258
  }
207
259
  };
208
260
  const baseProfileTypes = graphProfileSchema.types.map((type) => {
261
+ const template = peopleGraphTypeByTsAlias.get(toTsIdentifier(type.name));
209
262
  const properties = type.properties.map((prop) => {
210
263
  const resolved = resolveCsType(prop.type);
211
264
  const resolvedType = resolved.csType;
@@ -222,14 +275,18 @@ export class DotnetGenerator extends CoreGenerator {
222
275
  return {
223
276
  name: type.name,
224
277
  csName: toCsPascal(type.name),
225
- baseType: type.baseType ? toCsPascal(type.baseType) : null,
278
+ typeName: template?.sourcePackage ? qualifyGraphModelType(toCsPascal(type.name), template.sourcePackage) : toCsPascal(type.name),
279
+ baseType: type.baseType ? resolveGraphModelCsType(type.baseType) ?? toCsPascal(type.baseType) : null,
280
+ sourcePackage: template?.sourcePackage,
226
281
  properties,
227
282
  };
228
283
  });
229
284
  const derivedProfileTypes = peopleGraphTypesBundle.derived.map((type) => ({
230
285
  name: type.name,
231
286
  csName: type.csName,
287
+ typeName: type.csName,
232
288
  baseType: null,
289
+ sourcePackage: undefined,
233
290
  properties: type.csProperties.map((prop) => ({
234
291
  name: prop.name,
235
292
  csName: prop.csName,
@@ -244,7 +301,10 @@ export class DotnetGenerator extends CoreGenerator {
244
301
  return 1;
245
302
  return a.csName.localeCompare(b.csName);
246
303
  });
247
- const baseTypeNames = new Set(peopleProfileTypes.map((type) => type.baseType).filter((name) => Boolean(name)));
304
+ const baseTypeNames = new Set(peopleProfileTypes
305
+ .filter((type) => !type.sourcePackage)
306
+ .map((type) => type.baseType)
307
+ .filter((name) => Boolean(name)));
248
308
  const schemaBaseTypeByName = new Map(graphProfileSchema.types.map((type) => [type.name, type.baseType]));
249
309
  const isItemFacetType = (typeName) => {
250
310
  if (typeName === "itemFacet")
@@ -263,7 +323,7 @@ export class DotnetGenerator extends CoreGenerator {
263
323
  const peopleProfileTypeInfoByName = new Map(peopleProfileTypes.map((type) => [
264
324
  type.csName,
265
325
  {
266
- typeName: type.csName,
326
+ typeName: type.typeName,
267
327
  properties: new Map(type.properties.map((prop) => [prop.name, { csName: prop.csName, csType: prop.csType }])),
268
328
  },
269
329
  ]));
@@ -289,7 +349,7 @@ export class DotnetGenerator extends CoreGenerator {
289
349
  const personEntityType = personEntity ? peopleProfileTypeByName.get(personEntity.entity) : null;
290
350
  const personEntityTypeInfo = personEntityType
291
351
  ? {
292
- typeName: personEntityType.csName,
352
+ typeName: personEntityType.typeName,
293
353
  properties: new Map(personEntityType.properties.map((prop) => [prop.name, { csName: prop.csName, csType: prop.csType }])),
294
354
  }
295
355
  : null;
@@ -415,7 +475,7 @@ export class DotnetGenerator extends CoreGenerator {
415
475
  source: p.source,
416
476
  personEntity,
417
477
  parseFn,
418
- transformExpression: validatedExpression,
478
+ transformExpression: formatCsTransformExpression(validatedExpression, needsManualEntity ? 8 : 12),
419
479
  transformThrows: needsManualEntity,
420
480
  graphTypeEnumName: toGraphPropertyTypeEnumName(p.type),
421
481
  description: p.description,
@@ -437,7 +497,7 @@ export class DotnetGenerator extends CoreGenerator {
437
497
  const schemaPropertyLines = properties
438
498
  .filter((p) => p.name !== this.ir.item.contentPropertyName)
439
499
  .map((p) => {
440
- const isPrincipalCollection = this.ir.connection.graphApiVersion === "beta" && p.type === "principalCollection";
500
+ const isPrincipalType = p.type === "principal" || p.type === "principalCollection";
441
501
  const labels = p.labels.length > 0
442
502
  ? `new List<string> { ${p.labels.map((l) => JSON.stringify(l)).join(", ")} }`
443
503
  : null;
@@ -449,8 +509,8 @@ export class DotnetGenerator extends CoreGenerator {
449
509
  additionalDataEntries.push(` ["description"] = ${JSON.stringify(p.description)},`);
450
510
  if (labels)
451
511
  additionalDataEntries.push(` ["labels"] = ${labels},`);
452
- if (isPrincipalCollection)
453
- additionalDataEntries.push(` ["type"] = "principalCollection",`);
512
+ if (isPrincipalType)
513
+ additionalDataEntries.push(` ["type"] = ${JSON.stringify(p.type)},`);
454
514
  const additionalDataBlock = additionalDataEntries.length > 0
455
515
  ? [
456
516
  " AdditionalData = new Dictionary<string, object>",
@@ -463,7 +523,7 @@ export class DotnetGenerator extends CoreGenerator {
463
523
  " new Property",
464
524
  " {",
465
525
  ` Name = ${JSON.stringify(p.name)},`,
466
- ...(isPrincipalCollection ? [] : [` Type = PropertyType.${p.graphTypeEnumName},`]),
526
+ ...(isPrincipalType ? [] : [` Type = PropertyType.${p.graphTypeEnumName},`]),
467
527
  ];
468
528
  if (p.search.searchable !== undefined)
469
529
  lines.push(` IsSearchable = ${p.search.searchable ? "true" : "false"},`);
@@ -504,13 +564,20 @@ export class DotnetGenerator extends CoreGenerator {
504
564
  }
505
565
  let valueExpression = toCsPropertyValueExpression(p.type, p.csName);
506
566
  if (p.peopleLabel) {
507
- const labelLiteral = JSON.stringify(p.peopleLabel);
508
567
  const propertyLiteral = JSON.stringify(p.name);
568
+ const peopleLabelDefinition = peopleLabelDefinitions.find((entry) => entry.label === p.peopleLabel);
569
+ if (!peopleLabelDefinition) {
570
+ throw new Error(`Missing people label definition for '${p.peopleLabel}'.`);
571
+ }
572
+ const requiredFieldsLiteral = peopleLabelDefinition.requiredFields.length
573
+ ? `new[] { ${peopleLabelDefinition.requiredFields.map((field) => JSON.stringify(field)).join(", ")} }`
574
+ : "Array.Empty<string>()";
575
+ const peopleOptionsLiteral = `new PeopleLabelSerializationOptions(${JSON.stringify(peopleLabelDefinition.label)}, ${requiredFieldsLiteral}, ${peopleLabelDefinition.collectionLimit ?? "null"}, ${peopleLabelDefinition.inheritsItemFacet ? "true" : "false"})`;
509
576
  if (p.type === "string") {
510
- valueExpression = `PeoplePayload.SerializeStringLabel(${labelLiteral}, item.${p.csName}, ${propertyLiteral})`;
577
+ valueExpression = `PeoplePayload.SerializeStringLabel(item.${p.csName}, ${propertyLiteral}, ${peopleOptionsLiteral})`;
511
578
  }
512
579
  else if (p.type === "stringCollection") {
513
- valueExpression = `PeoplePayload.SerializeCollectionLabel(${labelLiteral}, item.${p.csName}, ${propertyLiteral})`;
580
+ valueExpression = `PeoplePayload.SerializeCollectionLabel(item.${p.csName}, ${propertyLiteral}, ${peopleOptionsLiteral})`;
514
581
  }
515
582
  }
516
583
  lines.push(` { ${JSON.stringify(p.name)}, ${valueExpression} },`);
@@ -551,6 +618,12 @@ export class DotnetGenerator extends CoreGenerator {
551
618
  await writeFile(path.join(this.outDir, schemaFolderName, "Constants.cs"), await renderTemplate("dotnet/Generated/Constants.cs.ejs", {
552
619
  schemaNamespace,
553
620
  graphApiVersion: this.ir.connection.graphApiVersion,
621
+ graphOperationVersions: {
622
+ connectionProvisioning: graphApiVersionForOperation(this.ir, "connectionProvisioning"),
623
+ schemaRegistration: graphApiVersionForOperation(this.ir, "schemaRegistration"),
624
+ itemIngestion: graphApiVersionForOperation(this.ir, "itemIngestion"),
625
+ profileSourceRegistration: graphApiVersionForOperation(this.ir, "profileSourceRegistration"),
626
+ },
554
627
  contentCategory: this.ir.connection.contentCategory ?? null,
555
628
  connectionId: this.ir.connection.connectionId ?? null,
556
629
  connectionName: this.ir.connection.connectionName ?? null,
@@ -646,10 +719,9 @@ export class DotnetGenerator extends CoreGenerator {
646
719
  await writeFile(path.join(this.outDir, "Core", "ItemId.cs"), await renderTemplate("dotnet/Core/ItemId.cs.ejs", {
647
720
  namespaceName,
648
721
  }), "utf8");
649
- if (usesPrincipal && this.ir.connection.graphApiVersion === "beta") {
722
+ if (usesPrincipal) {
650
723
  await writeFile(path.join(this.outDir, "Core", "Principal.cs"), await renderTemplate("dotnet/Core/Principal.cs.ejs", {
651
724
  namespaceName,
652
- graphApiVersion: this.ir.connection.graphApiVersion,
653
725
  }), "utf8");
654
726
  }
655
727
  }
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"people-entity.d.ts","sourceRoot":"","sources":["../../../src/init/dotnet/people-entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAM5D,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAgRxE,gEAAgE;AAChE,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,iBAAiB,EAAE,EAC3B,iBAAiB,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,EACvD,QAAQ,EAAE,sBAAsB,GAAG,IAAI,EACvC,OAAO,EAAE,qBAAqB,EAC9B,WAAW,SAAI,EACf,2BAA2B,GAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAM1D,GACA,MAAM,CAkIR;AAED,oEAAoE;AACpE,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,iBAAiB,EAAE,EAC3B,sBAAsB,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,aACT,EAChD,QAAQ,EAAE,sBAAsB,GAAG,IAAI,EACvC,OAAO,EAAE,qBAAqB,GAC7B,MAAM,CAiBR;AAED,4EAA4E;AAC5E,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,iBAAiB,EAAE,EAC3B,2BAA2B,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,aACJ,EAC1D,QAAQ,EAAE,sBAAsB,GAAG,IAAI,EACvC,OAAO,EAAE,qBAAqB,EAC9B,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,GACpD,MAAM,CA6FR"}
1
+ {"version":3,"file":"people-entity.d.ts","sourceRoot":"","sources":["../../../src/init/dotnet/people-entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAM5D,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AA0UxE,gEAAgE;AAChE,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,iBAAiB,EAAE,EAC3B,iBAAiB,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,EACvD,QAAQ,EAAE,sBAAsB,GAAG,IAAI,EACvC,OAAO,EAAE,qBAAqB,EAC9B,WAAW,SAAI,EACf,2BAA2B,GAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAM1D,GACA,MAAM,CA8IR;AAED,oEAAoE;AACpE,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,iBAAiB,EAAE,EAC3B,sBAAsB,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,aACT,EAChD,QAAQ,EAAE,sBAAsB,GAAG,IAAI,EACvC,OAAO,EAAE,qBAAqB,GAC7B,MAAM,CAcR;AAED,4EAA4E;AAC5E,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,iBAAiB,EAAE,EAC3B,2BAA2B,GAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,aACJ,EAC1D,QAAQ,EAAE,sBAAsB,GAAG,IAAI,EACvC,OAAO,EAAE,qBAAqB,EAC9B,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,GACpD,MAAM,CAmGR"}