@wictorwilen/cocogen 1.0.21 → 1.0.24

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 (29) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/README.md +1 -1
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +23 -11
  5. package/dist/cli.js.map +1 -1
  6. package/dist/init/init.d.ts +8 -0
  7. package/dist/init/init.d.ts.map +1 -1
  8. package/dist/init/init.js +268 -16
  9. package/dist/init/init.js.map +1 -1
  10. package/dist/init/templates/dotnet/Core/ConnectorCore.cs.ejs +11 -8
  11. package/dist/init/templates/dotnet/Core/IItemPayload.cs.ejs +23 -0
  12. package/dist/init/templates/dotnet/Core/Principal.cs.ejs +41 -26
  13. package/dist/init/templates/dotnet/Datasource/CsvItemSource.cs.ejs +1 -1
  14. package/dist/init/templates/dotnet/Datasource/IItemSource.cs.ejs +2 -4
  15. package/dist/init/templates/dotnet/Generated/ItemPayload.cs.ejs +10 -0
  16. package/dist/init/templates/dotnet/Program.commandline.cs.ejs +4 -3
  17. package/dist/init/templates/dotnet/README.md.ejs +1 -1
  18. package/dist/init/templates/rest/create-connection.http.ejs +10 -0
  19. package/dist/init/templates/rest/ingest-item.http.ejs +11 -0
  20. package/dist/init/templates/rest/patch-schema.http.ejs +10 -0
  21. package/dist/init/templates/rest/profile-source.http.ejs +34 -0
  22. package/dist/init/templates/ts/AGENTS.md.ejs +1 -1
  23. package/dist/init/templates/ts/README.md.ejs +1 -1
  24. package/dist/init/templates/ts/src/core/connectorCore.ts.ejs +1 -1
  25. package/dist/init/templates/ts/src/core/principal.ts.ejs +7 -5
  26. package/dist/init/templates/ts/src/datasource/csvItemSource.ts.ejs +1 -1
  27. package/dist/init/templates/ts/src/datasource/itemSource.ts.ejs +2 -7
  28. package/dist/init/templates/ts/src/generated/itemPayload.ts.ejs +3 -1
  29. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,13 +7,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.0.24] - 2026-01-21
11
+
12
+ ### Changed
13
+ - .NET core ingestion now uses generic payload adapters to avoid coupling core helpers to concrete schema models.
14
+ - TS datasource contracts now use generics to avoid coupling shared helpers to concrete schema models.
15
+
16
+ ## [1.0.22] - 2026-01-21
17
+
18
+ ### Changed
19
+ - Principal model now lives in generated core helpers (TS + .NET) for easier SDK migration.
20
+ - .NET principal serialization now uses a Kiota `IParsable` implementation with updated principal fields.
21
+ - Principal field mappings aligned with draft Graph docs (`externalName`, `externalId`, `entraDisplayName`, `entraId`, `email`, `upn`, `tenantId`).
22
+ - Added REST output (`--lang rest`) that emits .http files for connection, schema, profile source, and ingestion calls.
23
+
24
+ ### Fixed
25
+ - Principal values now omit null fields in TS payloads and .NET serialization.
26
+ - PrincipalCollection now emits `Collection(microsoft.graph.externalConnectors.principal)` in `@odata.type`.
27
+ - Sample CSV generation uses email values for principal `upn`/`userPrincipalName` sources.
28
+
10
29
  ## [1.0.21] - 2026-01-21
11
30
 
12
31
  ## [1.0.20] - 2026-01-21
13
32
 
14
33
  ### Changed
15
- - Principal properties now emit a typed principal object with `@odata.type`, `userPrincipalName`, and `tenantId` mappings.
34
+ - Principal properties now emit a typed principal object with `@odata.type` and updated Graph fields.
16
35
  - Added support for `coco.Principal[]` mapping to Graph `principalCollection` (preview).
36
+ - Updated principal field mappings to match Graph docs (`externalName`, `externalId`, `entraDisplayName`, `entraId`, `email`, `upn`, `tenantId`).
17
37
 
18
38
  ### Fixed
19
39
  - .NET CLI now uses client secret credentials directly when configured (avoids managed identity failures).
@@ -60,6 +80,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
60
80
  - Collection values no longer split on commas; use semicolons instead.
61
81
 
62
82
  [Unreleased]: https://github.com/wictorwilen/cocogen/compare/v1.0.16...HEAD
83
+ [1.0.24]: https://github.com/wictorwilen/cocogen/compare/main...v1.0.24
84
+ [1.0.22]: https://github.com/wictorwilen/cocogen/compare/main...v1.0.22
63
85
  [1.0.21]: https://github.com/wictorwilen/cocogen/compare/main...v1.0.21
64
86
  [1.0.20]: https://github.com/wictorwilen/cocogen/compare/main...v1.0.20
65
87
  [1.0.19]: https://github.com/wictorwilen/cocogen/compare/main...v1.0.19
package/README.md CHANGED
@@ -104,7 +104,7 @@ cocogen --help
104
104
  | --- | --- | --- |
105
105
  | `init` | Create a starter TypeSpec file | `--out <path>`, `--kind <content\|people>`, `--prompt`, `--force` |
106
106
  | `validate` | Validate a TypeSpec schema | `--tsp <path>`, `--json`, `--use-preview-features` |
107
- | `generate` | Generate a runnable connector project | `--tsp <path>`, `--out <dir>`, `--lang <ts\|dotnet>`, `--name <name>`, `--force`, `--use-preview-features` |
107
+ | `generate` | Generate a runnable connector project | `--tsp <path>`, `--out <dir>`, `--lang <ts\|dotnet\|rest>`, `--name <name>`, `--force`, `--use-preview-features` |
108
108
  | `update` | Regenerate TypeSpec-derived code in a generated project | `--out <dir>`, `--tsp <path>`, `--use-preview-features` |
109
109
  | `emit` | Emit cocogen IR as JSON | `--tsp <path>`, `--out <path>`, `--use-preview-features` |
110
110
 
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAiJA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkPxD"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAiJA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+PxD"}
package/dist/cli.js CHANGED
@@ -6,7 +6,7 @@ import { Command } from "commander";
6
6
  import pc from "picocolors";
7
7
  import ora from "ora";
8
8
  import { writeIrJson } from "./emit/emit.js";
9
- import { initDotnetProject, initTsProject, updateProject } from "./init/init.js";
9
+ import { initDotnetProject, initRestProject, initTsProject, updateProject } from "./init/init.js";
10
10
  import { initStarterTsp } from "./tsp/init-tsp.js";
11
11
  import { loadIrFromTypeSpec } from "./tsp/loader.js";
12
12
  import { validateIr } from "./validate/validator.js";
@@ -266,13 +266,13 @@ export async function main(argv) {
266
266
  .description("Generate a runnable connector project")
267
267
  .requiredOption("--tsp <path>", "Entry TypeSpec file")
268
268
  .requiredOption("--out <dir>", "Output directory")
269
- .option("--lang <lang>", "Target language (ts|dotnet)", "ts")
269
+ .option("--lang <lang>", "Target language (ts|dotnet|rest)", "ts")
270
270
  .option("--name <name>", "Project name (defaults to folder name)")
271
271
  .option("--force", "Overwrite files in a non-empty output directory", false)
272
272
  .action(async (options) => {
273
273
  const spinner = shouldUseSpinner() ? ora("Generating project...").start() : undefined;
274
274
  try {
275
- const lang = options.lang === "dotnet" ? "dotnet" : "ts";
275
+ const lang = options.lang === "dotnet" ? "dotnet" : options.lang === "rest" ? "rest" : "ts";
276
276
  const usePreviewFeatures = program.opts().usePreviewFeatures;
277
277
  const result = lang === "ts"
278
278
  ? await initTsProject({
@@ -282,13 +282,21 @@ export async function main(argv) {
282
282
  force: options.force,
283
283
  usePreviewFeatures,
284
284
  })
285
- : await initDotnetProject({
286
- tspPath: options.tsp,
287
- outDir: options.out,
288
- ...(options.name ? { projectName: options.name } : {}),
289
- force: options.force,
290
- usePreviewFeatures,
291
- });
285
+ : lang === "dotnet"
286
+ ? await initDotnetProject({
287
+ tspPath: options.tsp,
288
+ outDir: options.out,
289
+ ...(options.name ? { projectName: options.name } : {}),
290
+ force: options.force,
291
+ usePreviewFeatures,
292
+ })
293
+ : await initRestProject({
294
+ tspPath: options.tsp,
295
+ outDir: options.out,
296
+ ...(options.name ? { projectName: options.name } : {}),
297
+ force: options.force,
298
+ usePreviewFeatures,
299
+ });
292
300
  spinner?.succeed(pc.green("Generated"));
293
301
  process.stdout.write(`${pc.green("ok")}: Project generated\n`);
294
302
  process.stdout.write(` ${pc.dim("path")}: ${result.outDir}\n`);
@@ -300,7 +308,11 @@ export async function main(argv) {
300
308
  process.stdout.write(` ${pc.yellow("note")}: contentCategory is a Graph /beta property; provisioning will use /beta\n`);
301
309
  }
302
310
  }
303
- const nextCmd = lang === "ts" ? "npm install" : "dotnet build";
311
+ const nextCmd = lang === "ts"
312
+ ? "npm install"
313
+ : lang === "dotnet"
314
+ ? "dotnet build"
315
+ : "open the .http files in your REST client";
304
316
  process.stdout.write(` ${pc.dim("next")}: cd ${result.outDir} && ${nextCmd}\n`);
305
317
  process.exitCode = 0;
306
318
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAwB,MAAM,yBAAyB,CAAC;AAE3E,SAAS,WAAW;IAClB,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;AAC1D,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAID,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,OAAO;QAAE,OAAO,IAAI,OAAO,EAAE,CAAC;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;AACpG,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,OAAO;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa;IAClD,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,IAAI,CAAC,qBAAqB,EAAE;QAAE,OAAO;IACrC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO;IAE9B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,8BAA8B,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;YAC5F,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE;SAC1C,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO;QACzB,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyB,CAAC;QAChE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,OAAO,OAAO,MAAM,mBAAmB,IAAI,WAAW,IAAI,UAAU,CAAC;YACxH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IAClB,IAAI,CAAC,gBAAgB,EAAE;QAAE,OAAO;IAEhC,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,oDAAoD,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;IACxG,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAClF,MAAM,GAAG,GAAG;QACV,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAE,IAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;QAC/K,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;QAC/K,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;QAC/K,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;QAC/K,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;QAC/K,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;KAChL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAEpF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,GAAG,KAAK,QAAQ,KAAK,MAAM,MAAM,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,IAAuB;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,cAAc,QAAQ,CAAC,MAAM,aAAa,CAAC;IAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;IAE7D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,KAAwB,EAAE,KAA4B,EAAE,EAAE;QAC3F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC;IAEF,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACrC,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc;IACvC,WAAW,EAAE,CAAC;IACd,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,uDAAuD,CAAC;SACpE,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,WAAW,EAAE,uBAAuB,EAAE,KAAK,CAAC;SACnD,MAAM,CAAC,wBAAwB,EAAE,qCAAqC,EAAE,KAAK,CAAC,CAAC;IAElF,MAAM,sBAAsB,GAAG,CAAC,EAA+C,EAAE,KAAc,EAAQ,EAAE;QACvG,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,0DAA0D,CAAC;SACvE,cAAc,CAAC,cAAc,EAAE,qBAAqB,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,kCAAkC,EAAE,KAAK,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,OAAuC,EAAE,EAAE;QACxD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjD,sBAAsB,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,kBAA6B,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;YAE9B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;YAEhE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,EAAE,IAAI,EAAE,CAAC;gBAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CACZ;oBACE,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;oBACvB,MAAM;oBACN,QAAQ;iBACT,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,cAAc,QAAQ,CAAC,MAAM,aAAa,CAAC;YAC3E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjD,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAClD,IAAI,CAAC,OAAO;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;gBACvF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,WAAW,CAAC,MAAM,CAAC,CAAC;YAEpB,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,uDAAuD,CAAC;SACpE,cAAc,CAAC,cAAc,EAAE,qBAAqB,CAAC;SACrD,MAAM,CAAC,cAAc,EAAE,2CAA2C,CAAC;SACnE,MAAM,CAAC,KAAK,EAAE,OAAsC,EAAE,EAAE;QACvD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjD,sBAAsB,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,kBAA6B,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YAC5D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,EAAE,IAAI,EAAE,CAAC;gBAChB,WAAW,CAAC,MAAM,CAAC,CAAC;gBACpB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAClD,OAAO,EAAE,IAAI,EAAE,CAAC;YAEhB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,IAAI,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,cAAc,EAAE,+BAA+B,EAAE,YAAY,CAAC;SACrE,MAAM,CAAC,eAAe,EAAE,iCAAiC,EAAE,SAAS,CAAC;SACrE,MAAM,CAAC,UAAU,EAAE,yBAAyB,EAAE,KAAK,CAAC;SACpD,MAAM,CAAC,SAAS,EAAE,yBAAyB,EAAE,KAAK,CAAC;SACnD,MAAM,CACL,KAAK,EAAE,OAAuE,EAAE,EAAE;QAChF,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,gBAAgB,EAAE;YACnD,CAAC,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;gBAClC,OAAO,EAAE,OAAO,CAAC,GAAG;gBACpB,IAAI;gBACJ,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;YACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;YAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,4BAA4B,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;YACxF,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,0DAA0D,CAAC,CAAC;YACtG,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,uCAAuC,CAAC;SACpD,cAAc,CAAC,cAAc,EAAE,qBAAqB,CAAC;SACrD,cAAc,CAAC,aAAa,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,kCAAkC,EAAE,IAAI,CAAC;SACjE,MAAM,CAAC,eAAe,EAAE,wCAAwC,CAAC;SACjE,MAAM,CAAC,SAAS,EAAE,iDAAiD,EAAE,KAAK,CAAC;SAC3E,MAAM,CACL,KAAK,EAAE,OAAkF,EAAE,EAAE;QAC3F,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5F,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,kBAA6B,CAAC;YACxE,MAAM,MAAM,GACV,IAAI,KAAK,IAAI;gBACX,CAAC,CAAC,MAAM,aAAa,CAAC;oBAClB,OAAO,EAAE,OAAO,CAAC,GAAG;oBACpB,MAAM,EAAE,OAAO,CAAC,GAAG;oBACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,kBAAkB;iBACnB,CAAC;gBACJ,CAAC,CAAC,IAAI,KAAK,QAAQ;oBACnB,CAAC,CAAC,MAAM,iBAAiB,CAAC;wBACtB,OAAO,EAAE,OAAO,CAAC,GAAG;wBACpB,MAAM,EAAE,OAAO,CAAC,GAAG;wBACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtD,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,kBAAkB;qBACnB,CAAC;oBACJ,CAAC,CAAC,MAAM,eAAe,CAAC;wBACpB,OAAO,EAAE,OAAO,CAAC,GAAG;wBACpB,MAAM,EAAE,OAAO,CAAC,GAAG;wBACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtD,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,kBAAkB;qBACnB,CAAC,CAAC;YAET,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YAExC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,CAAC;YACxF,IAAI,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;gBACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,CAAC;gBAC3F,IAAI,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;oBACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,4EAA4E,CACnG,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GACX,IAAI,KAAK,IAAI;gBACX,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,IAAI,KAAK,QAAQ;oBACnB,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,0CAA0C,CAAC;YACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,MAAM,CAAC,MAAM,OAAO,OAAO,IAAI,CAAC,CAAC;YACjF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uEAAuE,CAAC;SACpF,cAAc,CAAC,aAAa,EAAE,+CAA+C,CAAC;SAC9E,MAAM,CAAC,cAAc,EAAE,0DAA0D,CAAC;SAClF,MAAM,CAAC,KAAK,EAAE,OAAsC,EAAE,EAAE;QACvD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5F,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,kBAA6B,CAAC;YACxE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;gBACjC,MAAM,EAAE,OAAO,CAAC,GAAG;gBACnB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,kBAAkB;aACnB,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAEtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAChF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,CAAC;YACxF,IAAI,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;gBACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,CAAC;gBAC3F,IAAI,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;oBACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,4EAA4E,CACnG,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,GAAG,EAAE,CAAC;IAC9C,0DAA0D;IAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;QACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -19,10 +19,18 @@ export declare function updateDotnetProject(options: UpdateOptions): Promise<{
19
19
  outDir: string;
20
20
  ir: ConnectorIr;
21
21
  }>;
22
+ export declare function updateRestProject(options: UpdateOptions): Promise<{
23
+ outDir: string;
24
+ ir: ConnectorIr;
25
+ }>;
22
26
  export declare function updateProject(options: UpdateOptions): Promise<{
23
27
  outDir: string;
24
28
  ir: ConnectorIr;
25
29
  }>;
30
+ export declare function initRestProject(options: InitOptions): Promise<{
31
+ outDir: string;
32
+ ir: ConnectorIr;
33
+ }>;
26
34
  export declare function initTsProject(options: InitOptions): Promise<{
27
35
  outDir: string;
28
36
  ir: ConnectorIr;
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/init/init.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,UAAU,CAAC;AAK1D,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAylDF,wBAAsB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC,CAyB1G;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC,CA2B9C;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC,CAOxG;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC,CAsHtG;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC,CAoH9C"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/init/init.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,UAAU,CAAC;AAK1D,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AA+2DF,wBAAsB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC,CAyB1G;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC,CA2B9C;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC,CAwB5G;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC,CAUxG;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC,CAmBxG;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC,CAsHtG;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAC,CAoH9C"}
package/dist/init/init.js CHANGED
@@ -205,7 +205,7 @@ async function loadProjectConfig(outDir) {
205
205
  throw new Error(`Missing ${COCOGEN_CONFIG_FILE}. Re-run cocogen generate or fix the file.`);
206
206
  }
207
207
  const parsed = JSON.parse(raw);
208
- if ((parsed.lang !== "ts" && parsed.lang !== "dotnet") || typeof parsed.tsp !== "string") {
208
+ if ((parsed.lang !== "ts" && parsed.lang !== "dotnet" && parsed.lang !== "rest") || typeof parsed.tsp !== "string") {
209
209
  throw new Error(`Invalid ${COCOGEN_CONFIG_FILE}. Re-run cocogen generate or fix the file.`);
210
210
  }
211
211
  return {
@@ -586,7 +586,8 @@ function buildPrincipalFieldEntries(fields, fallbackHeaders) {
586
586
  if (fields && fields.length > 0) {
587
587
  return fields
588
588
  .map((field) => {
589
- const key = field.path.split(".").pop() ?? field.path;
589
+ const rawKey = field.path.split(".").pop() ?? field.path;
590
+ const key = rawKey === "userPrincipalName" ? "upn" : rawKey;
590
591
  return {
591
592
  key,
592
593
  headersLiteral: JSON.stringify(field.source.csvHeaders),
@@ -597,7 +598,7 @@ function buildPrincipalFieldEntries(fields, fallbackHeaders) {
597
598
  if (fallbackHeaders.length > 0) {
598
599
  return [
599
600
  {
600
- key: "userPrincipalName",
601
+ key: "upn",
601
602
  headersLiteral: JSON.stringify([fallbackHeaders[0]]),
602
603
  },
603
604
  ];
@@ -606,16 +607,19 @@ function buildPrincipalFieldEntries(fields, fallbackHeaders) {
606
607
  }
607
608
  function buildTsPrincipalExpression(fields, fallbackHeaders) {
608
609
  const entries = buildPrincipalFieldEntries(fields, fallbackHeaders).map((entry) => ` ${JSON.stringify(entry.key)}: parseString(readSourceValue(row, ${entry.headersLiteral}))`);
609
- return `({\n "@odata.type": "#microsoft.graph.externalConnectors.principal"${entries.length ? ",\n" + entries.join(",\n") : ""}\n})`;
610
+ return `({\n "@odata.type": "microsoft.graph.externalConnectors.principal"${entries.length ? ",\n" + entries.join(",\n") : ""}\n})`;
610
611
  }
611
612
  function buildCsPrincipalExpression(fields, fallbackHeaders) {
612
613
  const entries = buildPrincipalFieldEntries(fields, fallbackHeaders);
613
614
  const knownMap = new Map([
614
- ["userPrincipalName", "UserPrincipalName"],
615
+ ["upn", "Upn"],
616
+ ["userPrincipalName", "Upn"],
615
617
  ["tenantId", "TenantId"],
616
- ["id", "Id"],
617
- ["type", "Type"],
618
- ["displayName", "DisplayName"],
618
+ ["externalName", "ExternalName"],
619
+ ["externalId", "ExternalId"],
620
+ ["entraDisplayName", "EntraDisplayName"],
621
+ ["entraId", "EntraId"],
622
+ ["email", "Email"],
619
623
  ]);
620
624
  const knownAssignments = [];
621
625
  const additionalDataEntries = [];
@@ -640,7 +644,7 @@ function buildCsPrincipalExpression(fields, fallbackHeaders) {
640
644
  return [
641
645
  "new Principal",
642
646
  "{",
643
- " OdataType = \"#microsoft.graph.externalConnectors.principal\",",
647
+ " OdataType = \"microsoft.graph.externalConnectors.principal\",",
644
648
  ...knownAssignments,
645
649
  ...additionalDataBlock,
646
650
  "}"
@@ -657,7 +661,7 @@ function buildTsPrincipalCollectionExpression(fields, fallbackHeaders) {
657
661
  const fieldsBlock = entries
658
662
  .map((entry, index) => ` ${JSON.stringify(entry.key)}: getValue(field${index}, index)`)
659
663
  .join(",\n");
660
- return `(() => {\n${fieldLines.join("\n")}\n${lengthVars}\n const maxLen = Math.max(0, ...lengths);\n const getValue = (values: string[], index: number): string => {\n if (values.length === 0) return "";\n if (values.length === 1) return values[0] ?? "";\n return values[index] ?? "";\n };\n const results: Principal[] = [];\n for (let index = 0; index < maxLen; index++) {\n results.push({\n "@odata.type": "#microsoft.graph.externalConnectors.principal",\n${fieldsBlock}\n });\n }\n return results;\n})()`;
664
+ return `(() => {\n${fieldLines.join("\n")}\n${lengthVars}\n const maxLen = Math.max(0, ...lengths);\n const getValue = (values: string[], index: number): string => {\n if (values.length === 0) return "";\n if (values.length === 1) return values[0] ?? "";\n return values[index] ?? "";\n };\n const results: Principal[] = [];\n for (let index = 0; index < maxLen; index++) {\n results.push({\n "@odata.type": "microsoft.graph.externalConnectors.principal",\n${fieldsBlock}\n });\n }\n return results;\n})()`;
661
665
  }
662
666
  function buildCsPrincipalCollectionExpression(fields, fallbackHeaders) {
663
667
  const entries = buildPrincipalFieldEntries(fields, fallbackHeaders);
@@ -668,11 +672,14 @@ function buildCsPrincipalCollectionExpression(fields, fallbackHeaders) {
668
672
  return ` var field${index} = RowParser.ParseStringCollection(row, ${headers});`;
669
673
  });
670
674
  const knownMap = new Map([
671
- ["userPrincipalName", "UserPrincipalName"],
675
+ ["upn", "Upn"],
676
+ ["userPrincipalName", "Upn"],
672
677
  ["tenantId", "TenantId"],
673
- ["id", "Id"],
674
- ["type", "Type"],
675
- ["displayName", "DisplayName"],
678
+ ["externalName", "ExternalName"],
679
+ ["externalId", "ExternalId"],
680
+ ["entraDisplayName", "EntraDisplayName"],
681
+ ["entraId", "EntraId"],
682
+ ["email", "Email"],
676
683
  ]);
677
684
  const knownAssignments = entries
678
685
  .map((entry, index) => {
@@ -717,7 +724,7 @@ function buildCsPrincipalCollectionExpression(fields, fallbackHeaders) {
717
724
  " {",
718
725
  " var principal = new Principal",
719
726
  " {",
720
- " OdataType = \"#microsoft.graph.externalConnectors.principal\",",
727
+ " OdataType = \"microsoft.graph.externalConnectors.principal\",",
721
728
  ...knownAssignments,
722
729
  ...additionalDataBlock,
723
730
  " };",
@@ -975,6 +982,162 @@ function sampleValueForHeader(header, type) {
975
982
  return "Sample profile note";
976
983
  return type ? sampleValueForType(type) : "sample";
977
984
  }
985
+ function sampleValueForPrincipalKey(key, index = 0) {
986
+ const suffix = index > 0 ? index.toString() : "";
987
+ const email = `user${suffix}@contoso.com`;
988
+ switch (key) {
989
+ case "upn":
990
+ case "email":
991
+ case "externalId":
992
+ return email;
993
+ case "tenantId":
994
+ case "entraId":
995
+ return "00000000-0000-0000-0000-000000000000";
996
+ case "externalName":
997
+ case "entraDisplayName":
998
+ return suffix ? `Ada Lovelace ${suffix}` : "Ada Lovelace";
999
+ default:
1000
+ return `sample-${key}`;
1001
+ }
1002
+ }
1003
+ function buildSamplePrincipalObject(fields, fallbackHeaders, index = 0) {
1004
+ const entries = buildPrincipalFieldEntries(fields, fallbackHeaders);
1005
+ const keys = entries.length > 0 ? entries.map((entry) => entry.key) : ["upn"];
1006
+ const principal = {
1007
+ "@odata.type": "microsoft.graph.externalConnectors.principal",
1008
+ };
1009
+ for (const key of keys) {
1010
+ principal[key] = sampleValueForPrincipalKey(key, index);
1011
+ }
1012
+ return principal;
1013
+ }
1014
+ function buildSamplePrincipalCollection(fields, fallbackHeaders) {
1015
+ return [
1016
+ buildSamplePrincipalObject(fields, fallbackHeaders, 0),
1017
+ buildSamplePrincipalObject(fields, fallbackHeaders, 1),
1018
+ ];
1019
+ }
1020
+ function buildSamplePersonEntityObject(fields, index = 0) {
1021
+ const tree = buildObjectTree(fields);
1022
+ const valueByPath = new Map();
1023
+ for (const field of fields) {
1024
+ const header = field.source.csvHeaders[0] ?? field.path;
1025
+ const raw = sampleValueForHeader(header);
1026
+ const values = raw.split(/\s*;\s*/).map((value) => value.trim()).filter(Boolean);
1027
+ const value = values.length > 0
1028
+ ? (values[index] ?? values[0] ?? "")
1029
+ : raw;
1030
+ valueByPath.set(field.path, value);
1031
+ }
1032
+ const renderNode = (node) => {
1033
+ const result = {};
1034
+ for (const [key, value] of Object.entries(node)) {
1035
+ if (typeof value === "object" && value && "path" in value) {
1036
+ const field = value;
1037
+ result[key] = valueByPath.get(field.path) ?? "";
1038
+ }
1039
+ else {
1040
+ result[key] = renderNode(value);
1041
+ }
1042
+ }
1043
+ return result;
1044
+ };
1045
+ return renderNode(tree);
1046
+ }
1047
+ function buildSamplePersonEntityPayload(fields, isCollection) {
1048
+ if (!isCollection) {
1049
+ return JSON.stringify(buildSamplePersonEntityObject(fields, 0));
1050
+ }
1051
+ const objects = [
1052
+ buildSamplePersonEntityObject(fields, 0),
1053
+ buildSamplePersonEntityObject(fields, 1),
1054
+ ];
1055
+ return objects.map((value) => JSON.stringify(value));
1056
+ }
1057
+ function exampleValueForPayload(example, type) {
1058
+ if (example === undefined || example === null)
1059
+ return undefined;
1060
+ if (type.endsWith("Collection")) {
1061
+ if (Array.isArray(example))
1062
+ return example;
1063
+ if (typeof example === "string") {
1064
+ return example.split(/\s*;\s*/).map((value) => value.trim()).filter(Boolean);
1065
+ }
1066
+ return [String(example)];
1067
+ }
1068
+ return example;
1069
+ }
1070
+ function samplePayloadValueForType(type, fields, fallbackHeaders) {
1071
+ switch (type) {
1072
+ case "boolean":
1073
+ return true;
1074
+ case "int64":
1075
+ return 123;
1076
+ case "double":
1077
+ return 1.23;
1078
+ case "dateTime":
1079
+ return "2024-01-01T00:00:00Z";
1080
+ case "stringCollection":
1081
+ return ["alpha", "beta"];
1082
+ case "int64Collection":
1083
+ return [1, 2];
1084
+ case "doubleCollection":
1085
+ return [1.1, 2.2];
1086
+ case "dateTimeCollection":
1087
+ return ["2024-01-01T00:00:00Z", "2024-01-02T00:00:00Z"];
1088
+ case "principal":
1089
+ return buildSamplePrincipalObject(fields, fallbackHeaders, 0);
1090
+ case "principalCollection":
1091
+ return buildSamplePrincipalCollection(fields, fallbackHeaders);
1092
+ case "string":
1093
+ default:
1094
+ return "sample";
1095
+ }
1096
+ }
1097
+ function buildRestConnectionPayload(ir) {
1098
+ const payload = {
1099
+ id: ir.connection.connectionId ?? "connection-id",
1100
+ name: ir.connection.connectionName ?? "Connector",
1101
+ description: ir.connection.connectionDescription ?? "Connector generated by cocogen",
1102
+ };
1103
+ if (ir.connection.contentCategory) {
1104
+ payload.contentCategory = ir.connection.contentCategory;
1105
+ }
1106
+ return payload;
1107
+ }
1108
+ function buildRestItemPayload(ir, itemId) {
1109
+ const properties = {};
1110
+ for (const prop of ir.properties) {
1111
+ if (prop.name === ir.item.contentPropertyName)
1112
+ continue;
1113
+ const exampleValue = exampleValueForPayload(prop.example, prop.type);
1114
+ if (prop.personEntity && prop.type !== "principal" && prop.type !== "principalCollection") {
1115
+ const isCollection = prop.type.endsWith("Collection");
1116
+ properties[prop.name] = buildSamplePersonEntityPayload(prop.personEntity.fields, isCollection);
1117
+ }
1118
+ else {
1119
+ const value = exampleValue ??
1120
+ samplePayloadValueForType(prop.type, prop.personEntity ? prop.personEntity.fields : null, prop.source.csvHeaders);
1121
+ properties[prop.name] = value;
1122
+ }
1123
+ const odataType = toOdataCollectionType(prop.type);
1124
+ if (odataType) {
1125
+ properties[`${prop.name}@odata.type`] = odataType;
1126
+ }
1127
+ }
1128
+ const payload = {
1129
+ id: itemId,
1130
+ acl: [{ type: "everyone", value: "everyone", accessType: "grant" }],
1131
+ properties,
1132
+ };
1133
+ if (ir.item.contentPropertyName) {
1134
+ const contentProp = ir.properties.find((p) => p.name === ir.item.contentPropertyName);
1135
+ const exampleValue = contentProp ? exampleValueForPayload(contentProp.example, contentProp.type) : undefined;
1136
+ const value = exampleValue ?? "Sample content";
1137
+ payload.content = { type: "text", value: String(value) };
1138
+ }
1139
+ return payload;
1140
+ }
978
1141
  function buildSampleCsv(ir) {
979
1142
  const headers = [];
980
1143
  const seen = new Set();
@@ -1010,7 +1173,8 @@ function buildSampleCsv(ir) {
1010
1173
  for (const header of field.source.csvHeaders) {
1011
1174
  if (valueByHeader.has(header))
1012
1175
  continue;
1013
- if ((prop.type === "principal" || prop.type === "principalCollection") && field.path === "userPrincipalName") {
1176
+ if ((prop.type === "principal" || prop.type === "principalCollection") &&
1177
+ (field.path === "upn" || field.path === "userPrincipalName")) {
1014
1178
  valueByHeader.set(header, sampleValueForType(prop.type));
1015
1179
  continue;
1016
1180
  }
@@ -1299,6 +1463,10 @@ async function writeGeneratedDotnet(outDir, ir, namespaceName, schemaFolderName,
1299
1463
  isPeopleConnector: ir.connection.contentCategory === "people",
1300
1464
  graphApiVersion: ir.connection.graphApiVersion,
1301
1465
  }), "utf8");
1466
+ await writeFile(path.join(outDir, "Core", "IItemPayload.cs"), await renderTemplate("dotnet/Core/IItemPayload.cs.ejs", {
1467
+ namespaceName,
1468
+ graphApiVersion: ir.connection.graphApiVersion,
1469
+ }), "utf8");
1302
1470
  await writeFile(path.join(outDir, "Core", "Validation.cs"), await renderTemplate("dotnet/Core/Validation.cs.ejs", {
1303
1471
  namespaceName,
1304
1472
  }), "utf8");
@@ -1312,6 +1480,49 @@ async function writeGeneratedDotnet(outDir, ir, namespaceName, schemaFolderName,
1312
1480
  }), "utf8");
1313
1481
  }
1314
1482
  }
1483
+ async function writeRestFiles(outDir, ir) {
1484
+ const connectionId = ir.connection.connectionId ?? "connection-id";
1485
+ const connectionPayloadJson = JSON.stringify(buildRestConnectionPayload(ir), null, 2);
1486
+ const schemaPayloadJson = JSON.stringify(schemaPayload(ir), null, 2);
1487
+ const idProp = ir.properties.find((p) => p.name === ir.item.idPropertyName);
1488
+ const idExample = idProp ? exampleValueForPayload(idProp.example, idProp.type) : undefined;
1489
+ const itemId = typeof idExample === "string"
1490
+ ? idExample
1491
+ : Array.isArray(idExample)
1492
+ ? String(idExample[0] ?? "sample-id")
1493
+ : idExample !== undefined && idExample !== null
1494
+ ? String(idExample)
1495
+ : "sample-id";
1496
+ const itemPayloadJson = JSON.stringify(buildRestItemPayload(ir, itemId), null, 2);
1497
+ await writeFile(path.join(outDir, "create-connection.http"), await renderTemplate("rest/create-connection.http.ejs", {
1498
+ graphBaseUrl: graphBaseUrl(ir),
1499
+ connectionId,
1500
+ connectionPayloadJson,
1501
+ }), "utf8");
1502
+ await writeFile(path.join(outDir, "patch-schema.http"), await renderTemplate("rest/patch-schema.http.ejs", {
1503
+ graphBaseUrl: graphBaseUrl(ir),
1504
+ connectionId,
1505
+ schemaPayloadJson,
1506
+ }), "utf8");
1507
+ await writeFile(path.join(outDir, "ingest-item.http"), await renderTemplate("rest/ingest-item.http.ejs", {
1508
+ graphBaseUrl: graphBaseUrl(ir),
1509
+ connectionId,
1510
+ itemId,
1511
+ itemPayloadJson,
1512
+ }), "utf8");
1513
+ if (ir.connection.contentCategory === "people") {
1514
+ const profileSourceWebUrl = ir.connection.profileSource?.webUrl ?? "https://example.com/people";
1515
+ const profileSourceDisplayName = ir.connection.profileSource?.displayName ?? ir.connection.connectionName ?? ir.item.typeName;
1516
+ const profileSourcePriority = ir.connection.profileSource?.priority ?? "first";
1517
+ await writeFile(path.join(outDir, "profile-source.http"), await renderTemplate("rest/profile-source.http.ejs", {
1518
+ graphBaseUrl: graphBaseUrl(ir),
1519
+ connectionId,
1520
+ profileSourceWebUrl,
1521
+ profileSourceDisplayName,
1522
+ profileSourcePriority,
1523
+ }), "utf8");
1524
+ }
1525
+ }
1315
1526
  function formatValidationErrors(ir) {
1316
1527
  const issues = validateIr(ir);
1317
1528
  const errors = issues.filter((i) => i.severity === "error");
@@ -1367,14 +1578,55 @@ export async function updateDotnetProject(options) {
1367
1578
  }
1368
1579
  return { outDir, ir };
1369
1580
  }
1581
+ export async function updateRestProject(options) {
1582
+ const outDir = path.resolve(options.outDir);
1583
+ const { config } = await loadProjectConfig(outDir);
1584
+ const tspPath = options.tspPath ? path.resolve(options.tspPath) : path.resolve(outDir, config.tsp);
1585
+ if (config.lang !== "rest") {
1586
+ throw new Error(`This project is '${config.lang}'. Use cocogen generate/update for that language.`);
1587
+ }
1588
+ const ir = await loadIrFromTypeSpec(tspPath);
1589
+ if (ir.connection.graphApiVersion === "beta" && !options.usePreviewFeatures) {
1590
+ throw new Error("This schema requires Graph beta. Re-run with --use-preview-features.");
1591
+ }
1592
+ const validationMessage = formatValidationErrors(ir);
1593
+ if (validationMessage) {
1594
+ throw new Error(`Schema validation failed:\n${validationMessage}`);
1595
+ }
1596
+ await writeRestFiles(outDir, ir);
1597
+ if (options.tspPath) {
1598
+ await writeFile(path.join(outDir, COCOGEN_CONFIG_FILE), projectConfigContents(outDir, tspPath, "rest"), "utf8");
1599
+ }
1600
+ return { outDir, ir };
1601
+ }
1370
1602
  export async function updateProject(options) {
1371
1603
  const outDir = path.resolve(options.outDir);
1372
1604
  const { config } = await loadProjectConfig(outDir);
1373
1605
  if (config.lang === "dotnet") {
1374
1606
  return updateDotnetProject(options);
1375
1607
  }
1608
+ if (config.lang === "rest") {
1609
+ return updateRestProject(options);
1610
+ }
1376
1611
  return updateTsProject(options);
1377
1612
  }
1613
+ export async function initRestProject(options) {
1614
+ const outDir = path.resolve(options.outDir);
1615
+ await ensureEmptyDir(outDir, Boolean(options.force));
1616
+ const ir = await loadIrFromTypeSpec(options.tspPath);
1617
+ if (ir.connection.graphApiVersion === "beta" && !options.usePreviewFeatures) {
1618
+ throw new Error("This schema requires Graph beta. Re-run with --use-preview-features.");
1619
+ }
1620
+ const validationMessage = formatValidationErrors(ir);
1621
+ if (validationMessage) {
1622
+ throw new Error(`Schema validation failed:\n${validationMessage}`);
1623
+ }
1624
+ const copiedTspPath = path.join(outDir, "schema.tsp");
1625
+ await copyFile(path.resolve(options.tspPath), copiedTspPath);
1626
+ await writeFile(path.join(outDir, COCOGEN_CONFIG_FILE), projectConfigContents(outDir, copiedTspPath, "rest"), "utf8");
1627
+ await writeRestFiles(outDir, ir);
1628
+ return { outDir, ir };
1629
+ }
1378
1630
  export async function initTsProject(options) {
1379
1631
  const outDir = path.resolve(options.outDir);
1380
1632
  await ensureEmptyDir(outDir, Boolean(options.force));