@wictorwilen/cocogen 1.0.22 → 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.
- package/CHANGELOG.md +8 -0
- package/README.md +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +23 -11
- package/dist/cli.js.map +1 -1
- package/dist/init/init.d.ts +8 -0
- package/dist/init/init.d.ts.map +1 -1
- package/dist/init/init.js +245 -1
- package/dist/init/init.js.map +1 -1
- package/dist/init/templates/dotnet/Core/ConnectorCore.cs.ejs +11 -8
- package/dist/init/templates/dotnet/Core/IItemPayload.cs.ejs +23 -0
- package/dist/init/templates/dotnet/Datasource/CsvItemSource.cs.ejs +1 -1
- package/dist/init/templates/dotnet/Datasource/IItemSource.cs.ejs +2 -4
- package/dist/init/templates/dotnet/Generated/ItemPayload.cs.ejs +10 -0
- package/dist/init/templates/dotnet/Program.commandline.cs.ejs +4 -3
- package/dist/init/templates/dotnet/README.md.ejs +1 -1
- package/dist/init/templates/rest/create-connection.http.ejs +10 -0
- package/dist/init/templates/rest/ingest-item.http.ejs +11 -0
- package/dist/init/templates/rest/patch-schema.http.ejs +10 -0
- package/dist/init/templates/rest/profile-source.http.ejs +34 -0
- package/dist/init/templates/ts/AGENTS.md.ejs +1 -1
- package/dist/init/templates/ts/README.md.ejs +1 -1
- package/dist/init/templates/ts/src/core/connectorCore.ts.ejs +1 -1
- package/dist/init/templates/ts/src/datasource/csvItemSource.ts.ejs +1 -1
- package/dist/init/templates/ts/src/datasource/itemSource.ts.ejs +2 -7
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,12 +7,19 @@ 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
|
+
|
|
10
16
|
## [1.0.22] - 2026-01-21
|
|
11
17
|
|
|
12
18
|
### Changed
|
|
13
19
|
- Principal model now lives in generated core helpers (TS + .NET) for easier SDK migration.
|
|
14
20
|
- .NET principal serialization now uses a Kiota `IParsable` implementation with updated principal fields.
|
|
15
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.
|
|
16
23
|
|
|
17
24
|
### Fixed
|
|
18
25
|
- Principal values now omit null fields in TS payloads and .NET serialization.
|
|
@@ -73,6 +80,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
73
80
|
- Collection values no longer split on commas; use semicolons instead.
|
|
74
81
|
|
|
75
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
|
|
76
84
|
[1.0.22]: https://github.com/wictorwilen/cocogen/compare/main...v1.0.22
|
|
77
85
|
[1.0.21]: https://github.com/wictorwilen/cocogen/compare/main...v1.0.21
|
|
78
86
|
[1.0.20]: https://github.com/wictorwilen/cocogen/compare/main...v1.0.20
|
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,
|
|
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
|
-
:
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
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"
|
|
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"}
|
package/dist/init/init.d.ts
CHANGED
|
@@ -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;
|
package/dist/init/init.d.ts.map
CHANGED
|
@@ -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;
|
|
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 {
|
|
@@ -982,6 +982,162 @@ function sampleValueForHeader(header, type) {
|
|
|
982
982
|
return "Sample profile note";
|
|
983
983
|
return type ? sampleValueForType(type) : "sample";
|
|
984
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
|
+
}
|
|
985
1141
|
function buildSampleCsv(ir) {
|
|
986
1142
|
const headers = [];
|
|
987
1143
|
const seen = new Set();
|
|
@@ -1307,6 +1463,10 @@ async function writeGeneratedDotnet(outDir, ir, namespaceName, schemaFolderName,
|
|
|
1307
1463
|
isPeopleConnector: ir.connection.contentCategory === "people",
|
|
1308
1464
|
graphApiVersion: ir.connection.graphApiVersion,
|
|
1309
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");
|
|
1310
1470
|
await writeFile(path.join(outDir, "Core", "Validation.cs"), await renderTemplate("dotnet/Core/Validation.cs.ejs", {
|
|
1311
1471
|
namespaceName,
|
|
1312
1472
|
}), "utf8");
|
|
@@ -1320,6 +1480,49 @@ async function writeGeneratedDotnet(outDir, ir, namespaceName, schemaFolderName,
|
|
|
1320
1480
|
}), "utf8");
|
|
1321
1481
|
}
|
|
1322
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
|
+
}
|
|
1323
1526
|
function formatValidationErrors(ir) {
|
|
1324
1527
|
const issues = validateIr(ir);
|
|
1325
1528
|
const errors = issues.filter((i) => i.severity === "error");
|
|
@@ -1375,14 +1578,55 @@ export async function updateDotnetProject(options) {
|
|
|
1375
1578
|
}
|
|
1376
1579
|
return { outDir, ir };
|
|
1377
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
|
+
}
|
|
1378
1602
|
export async function updateProject(options) {
|
|
1379
1603
|
const outDir = path.resolve(options.outDir);
|
|
1380
1604
|
const { config } = await loadProjectConfig(outDir);
|
|
1381
1605
|
if (config.lang === "dotnet") {
|
|
1382
1606
|
return updateDotnetProject(options);
|
|
1383
1607
|
}
|
|
1608
|
+
if (config.lang === "rest") {
|
|
1609
|
+
return updateRestProject(options);
|
|
1610
|
+
}
|
|
1384
1611
|
return updateTsProject(options);
|
|
1385
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
|
+
}
|
|
1386
1630
|
export async function initTsProject(options) {
|
|
1387
1631
|
const outDir = path.resolve(options.outDir);
|
|
1388
1632
|
await ensureEmptyDir(outDir, Boolean(options.force));
|
package/dist/init/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,10 +24,11 @@ namespace <%= namespaceName %>.Core;
|
|
|
24
24
|
/// <summary>
|
|
25
25
|
/// Reusable connector core for provisioning, ingestion, and deletion.
|
|
26
26
|
/// </summary>
|
|
27
|
-
public sealed class ConnectorCore
|
|
27
|
+
public sealed class ConnectorCore<TItem>
|
|
28
28
|
{
|
|
29
29
|
private readonly GraphServiceClient? _graph;
|
|
30
30
|
private readonly TokenCredential? _credential;
|
|
31
|
+
private readonly IItemPayload<TItem> _itemPayload;
|
|
31
32
|
private readonly string _connectionId;
|
|
32
33
|
private readonly string _connectionName;
|
|
33
34
|
private readonly string _connectionDescription;
|
|
@@ -39,6 +40,7 @@ public sealed class ConnectorCore
|
|
|
39
40
|
public ConnectorCore(
|
|
40
41
|
GraphServiceClient? graph,
|
|
41
42
|
TokenCredential? credential,
|
|
43
|
+
IItemPayload<TItem> itemPayload,
|
|
42
44
|
string connectionId,
|
|
43
45
|
string connectionName,
|
|
44
46
|
string connectionDescription,
|
|
@@ -49,6 +51,7 @@ public sealed class ConnectorCore
|
|
|
49
51
|
{
|
|
50
52
|
_graph = graph;
|
|
51
53
|
_credential = credential;
|
|
54
|
+
_itemPayload = itemPayload;
|
|
52
55
|
_connectionId = connectionId;
|
|
53
56
|
_connectionName = connectionName;
|
|
54
57
|
_connectionDescription = connectionDescription;
|
|
@@ -112,12 +115,12 @@ public sealed class ConnectorCore
|
|
|
112
115
|
/// <summary>
|
|
113
116
|
/// Upsert a single item into the external connection.
|
|
114
117
|
/// </summary>
|
|
115
|
-
public async Task PutItemAsync(
|
|
118
|
+
public async Task PutItemAsync(TItem item, bool verbose)
|
|
116
119
|
{
|
|
117
120
|
EnsureGraph();
|
|
118
121
|
|
|
119
|
-
var itemId =
|
|
120
|
-
var externalItem =
|
|
122
|
+
var itemId = _itemPayload.GetItemId(item);
|
|
123
|
+
var externalItem = _itemPayload.ToExternalItem(item);
|
|
121
124
|
externalItem.Id = itemId;
|
|
122
125
|
if (externalItem.Content == null)
|
|
123
126
|
{
|
|
@@ -170,7 +173,7 @@ public sealed class ConnectorCore
|
|
|
170
173
|
/// <summary>
|
|
171
174
|
/// Ingest items from a datasource.
|
|
172
175
|
/// </summary>
|
|
173
|
-
public async Task IngestAsync(IItemSource source, bool dryRun, int? limit, bool verbose, bool failFast)
|
|
176
|
+
public async Task IngestAsync(IItemSource<TItem> source, bool dryRun, int? limit, bool verbose, bool failFast)
|
|
174
177
|
{
|
|
175
178
|
var count = 0;
|
|
176
179
|
var successCount = 0;
|
|
@@ -182,7 +185,7 @@ public sealed class ConnectorCore
|
|
|
182
185
|
|
|
183
186
|
if (!dryRun)
|
|
184
187
|
{
|
|
185
|
-
var itemId =
|
|
188
|
+
var itemId = _itemPayload.GetItemId(item);
|
|
186
189
|
Console.WriteLine($"info: ingesting item {count + 1} (id={itemId})");
|
|
187
190
|
try
|
|
188
191
|
{
|
|
@@ -202,8 +205,8 @@ public sealed class ConnectorCore
|
|
|
202
205
|
}
|
|
203
206
|
else if (verbose)
|
|
204
207
|
{
|
|
205
|
-
var itemId =
|
|
206
|
-
Console.WriteLine($"verbose: DRY RUN item {count + 1} (id={itemId}) payload " + JsonSerializer.Serialize(
|
|
208
|
+
var itemId = _itemPayload.GetItemId(item);
|
|
209
|
+
Console.WriteLine($"verbose: DRY RUN item {count + 1} (id={itemId}) payload " + JsonSerializer.Serialize(_itemPayload.ToExternalItem(item), new JsonSerializerOptions { WriteIndented = true }));
|
|
207
210
|
}
|
|
208
211
|
|
|
209
212
|
count++;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<% if (graphApiVersion === "beta") { -%>
|
|
2
|
+
using Microsoft.Graph.Beta.Models.ExternalConnectors;
|
|
3
|
+
<% } else { -%>
|
|
4
|
+
using Microsoft.Graph.Models.ExternalConnectors;
|
|
5
|
+
<% } -%>
|
|
6
|
+
|
|
7
|
+
namespace <%= namespaceName %>.Core;
|
|
8
|
+
|
|
9
|
+
/// <summary>
|
|
10
|
+
/// Maps item instances into Graph ExternalItem payloads.
|
|
11
|
+
/// </summary>
|
|
12
|
+
public interface IItemPayload<TItem>
|
|
13
|
+
{
|
|
14
|
+
/// <summary>
|
|
15
|
+
/// Resolve the external item ID for a schema model instance.
|
|
16
|
+
/// </summary>
|
|
17
|
+
string GetItemId(TItem item);
|
|
18
|
+
|
|
19
|
+
/// <summary>
|
|
20
|
+
/// Convert a schema model instance into a Graph ExternalItem payload.
|
|
21
|
+
/// </summary>
|
|
22
|
+
ExternalItem ToExternalItem(TItem item);
|
|
23
|
+
}
|
|
@@ -11,7 +11,7 @@ namespace <%= namespaceName %>.Datasource;
|
|
|
11
11
|
/// <summary>
|
|
12
12
|
/// CSV-based datasource (default). Replace with your own IItemSource as needed.
|
|
13
13
|
/// </summary>
|
|
14
|
-
public sealed class CsvItemSource : IItemSource
|
|
14
|
+
public sealed class CsvItemSource : IItemSource<<%= itemTypeName %>>
|
|
15
15
|
{
|
|
16
16
|
private readonly string _csvPath;
|
|
17
17
|
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
// Datasource contract for producing items to ingest.
|
|
2
2
|
using System.Collections.Generic;
|
|
3
3
|
|
|
4
|
-
using <%= schemaNamespace %>;
|
|
5
|
-
|
|
6
4
|
namespace <%= namespaceName %>.Datasource;
|
|
7
5
|
|
|
8
6
|
/// <summary>
|
|
9
7
|
/// Contract for any datasource that yields items for ingestion.
|
|
10
8
|
/// Implement this interface to swap the default datasource for an API, database, or other system.
|
|
11
9
|
/// </summary>
|
|
12
|
-
public interface IItemSource
|
|
10
|
+
public interface IItemSource<TItem>
|
|
13
11
|
{
|
|
14
12
|
/// <summary>
|
|
15
13
|
/// Stream items asynchronously for ingestion.
|
|
16
14
|
/// </summary>
|
|
17
|
-
IAsyncEnumerable
|
|
15
|
+
IAsyncEnumerable<TItem> GetItemsAsync(CancellationToken cancellationToken = default);
|
|
18
16
|
}
|
|
@@ -59,3 +59,13 @@ public static class ItemPayload
|
|
|
59
59
|
return externalItem;
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
+
|
|
63
|
+
/// <summary>
|
|
64
|
+
/// Adapter for consuming ItemPayload through core abstractions.
|
|
65
|
+
/// </summary>
|
|
66
|
+
public sealed class ItemPayloadAdapter : IItemPayload<<%= itemTypeName %>>
|
|
67
|
+
{
|
|
68
|
+
public string GetItemId(<%= itemTypeName %> item) => ItemPayload.GetItemId(item);
|
|
69
|
+
|
|
70
|
+
public ExternalItem ToExternalItem(<%= itemTypeName %> item) => ItemPayload.ToExternalItem(item);
|
|
71
|
+
}
|
|
@@ -127,11 +127,12 @@ GraphServiceClient CreateGraphClient()
|
|
|
127
127
|
return graph;
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
ConnectorCore BuildConnectorCore(GraphServiceClient? graph, TokenCredential? credential, string connectionId)
|
|
130
|
+
ConnectorCore<<%= itemTypeName %>> BuildConnectorCore(GraphServiceClient? graph, TokenCredential? credential, string connectionId)
|
|
131
131
|
{
|
|
132
|
-
return new ConnectorCore(
|
|
132
|
+
return new ConnectorCore<<%= itemTypeName %>>(
|
|
133
133
|
graph,
|
|
134
134
|
credential,
|
|
135
|
+
new ItemPayloadAdapter(),
|
|
135
136
|
connectionId,
|
|
136
137
|
ConnectionName(),
|
|
137
138
|
ConnectionDescription(),
|
|
@@ -180,7 +181,7 @@ async Task IngestAsync(string? csvPath, bool dryRun, int? limit, bool verbose, b
|
|
|
180
181
|
var path = string.IsNullOrWhiteSpace(csvPath) ? configuredCsv : csvPath;
|
|
181
182
|
|
|
182
183
|
// Swap this for any IItemSource implementation (API, DB, queue, etc.).
|
|
183
|
-
IItemSource source = new CsvItemSource(path);
|
|
184
|
+
IItemSource<<%= itemTypeName %>> source = new CsvItemSource(path);
|
|
184
185
|
var core = BuildConnectorCore(graph, credential, connectionId);
|
|
185
186
|
|
|
186
187
|
await core.IngestAsync(source, dryRun, limit, verbose, failFast);
|
|
@@ -60,7 +60,7 @@ Use `dotnet run -- ingest` with:
|
|
|
60
60
|
Note: `--dry-run` does not require Azure AD or connection settings.
|
|
61
61
|
|
|
62
62
|
## Switching from CSV to another datasource
|
|
63
|
-
1) Implement `IItemSource
|
|
63
|
+
1) Implement `IItemSource<<%= itemTypeName %>>` in `Datasource/`.
|
|
64
64
|
2) If your source yields raw records, map them to `<%= itemTypeName %>` using `FromRow`-style logic.
|
|
65
65
|
3) Update `Program.cs` to instantiate your new source instead of `CsvItemSource`.
|
|
66
66
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@graphBaseUrl = <%= graphBaseUrl %>
|
|
2
|
+
@connectionId = <%= connectionId %>
|
|
3
|
+
@token = {{token}}
|
|
4
|
+
|
|
5
|
+
### Create or replace connection
|
|
6
|
+
PUT {{graphBaseUrl}}/external/connections/{{connectionId}}
|
|
7
|
+
Authorization: Bearer {{token}}
|
|
8
|
+
Content-Type: application/json
|
|
9
|
+
|
|
10
|
+
<%- connectionPayloadJson %>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
@graphBaseUrl = <%= graphBaseUrl %>
|
|
2
|
+
@connectionId = <%= connectionId %>
|
|
3
|
+
@itemId = <%= itemId %>
|
|
4
|
+
@token = {{token}}
|
|
5
|
+
|
|
6
|
+
### Ingest one item
|
|
7
|
+
PUT {{graphBaseUrl}}/external/connections/{{connectionId}}/items/{{itemId}}
|
|
8
|
+
Authorization: Bearer {{token}}
|
|
9
|
+
Content-Type: application/json
|
|
10
|
+
|
|
11
|
+
<%- itemPayloadJson %>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@graphBaseUrl = <%= graphBaseUrl %>
|
|
2
|
+
@connectionId = <%= connectionId %>
|
|
3
|
+
@token = {{token}}
|
|
4
|
+
|
|
5
|
+
### Patch schema
|
|
6
|
+
PATCH {{graphBaseUrl}}/external/connections/{{connectionId}}/schema
|
|
7
|
+
Authorization: Bearer {{token}}
|
|
8
|
+
Content-Type: application/json
|
|
9
|
+
|
|
10
|
+
<%- schemaPayloadJson %>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@graphBaseUrl = <%= graphBaseUrl %>
|
|
2
|
+
@connectionId = <%= connectionId %>
|
|
3
|
+
@token = {{token}}
|
|
4
|
+
@profileSourceWebUrl = <%= profileSourceWebUrl %>
|
|
5
|
+
@profileSourceDisplayName = <%= profileSourceDisplayName %>
|
|
6
|
+
@profileSourcePriority = <%= profileSourcePriority %>
|
|
7
|
+
@sourceUrl = {{graphBaseUrl}}/admin/people/profileSources(sourceId='{{connectionId}}')
|
|
8
|
+
@settingsId = {{settingsId}}
|
|
9
|
+
|
|
10
|
+
### Register profile source (people connectors)
|
|
11
|
+
POST {{graphBaseUrl}}/admin/people/profileSources
|
|
12
|
+
Authorization: Bearer {{token}}
|
|
13
|
+
Content-Type: application/json
|
|
14
|
+
|
|
15
|
+
{
|
|
16
|
+
"sourceId": "{{connectionId}}",
|
|
17
|
+
"displayName": "{{profileSourceDisplayName}}",
|
|
18
|
+
"webUrl": "{{profileSourceWebUrl}}"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
### List profile property settings
|
|
22
|
+
GET {{graphBaseUrl}}/admin/people/profilePropertySettings
|
|
23
|
+
Authorization: Bearer {{token}}
|
|
24
|
+
|
|
25
|
+
### Update profile source precedence (set @settingsId after listing)
|
|
26
|
+
PATCH {{graphBaseUrl}}/admin/people/profilePropertySettings/{{settingsId}}
|
|
27
|
+
Authorization: Bearer {{token}}
|
|
28
|
+
Content-Type: application/json
|
|
29
|
+
|
|
30
|
+
{
|
|
31
|
+
"prioritizedSourceUrls": [
|
|
32
|
+
"{{sourceUrl}}"
|
|
33
|
+
]
|
|
34
|
+
}
|
|
@@ -16,5 +16,5 @@ Only `src/<%= schemaFolderName %>/**` is overwritten by `cocogen update`.
|
|
|
16
16
|
Edit `src/<%= schemaFolderName %>/propertyTransform.ts` (safe file). The generated base lives in `src/<%= schemaFolderName %>/propertyTransformBase.ts`.
|
|
17
17
|
|
|
18
18
|
## Switch datasource / backend
|
|
19
|
-
1) Implement `ItemSource
|
|
19
|
+
1) Implement `ItemSource<<%= itemTypeName %>>` in `src/datasource`.
|
|
20
20
|
2) Update `src/cli.ts` to use your source instead of `CsvItemSource`.
|
|
@@ -49,7 +49,7 @@ Use `npm run ingest --` with:
|
|
|
49
49
|
Note: `--dry-run` does not require CONNECTION_ID, but you still need it for real ingestion.
|
|
50
50
|
|
|
51
51
|
## Switching from CSV to another datasource
|
|
52
|
-
1) Implement `ItemSource
|
|
52
|
+
1) Implement `ItemSource<<%= itemTypeName %>>` in `src/datasource`.
|
|
53
53
|
2) If your source yields raw records, map them to `<%= itemTypeName %>` using `fromRow`-style logic.
|
|
54
54
|
3) Update `src/cli.ts` to instantiate your new source instead of `CsvItemSource`.
|
|
55
55
|
|
|
@@ -11,7 +11,7 @@ import { fromRow } from "../<%= schemaFolderName %>/fromRow.js";
|
|
|
11
11
|
/**
|
|
12
12
|
* CSV-based datasource (default). Replace with your own ItemSource as needed.
|
|
13
13
|
*/
|
|
14
|
-
export class CsvItemSource implements ItemSource {
|
|
14
|
+
export class CsvItemSource implements ItemSource<<%= itemTypeName %>> {
|
|
15
15
|
constructor(private readonly filePath: string) {}
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Datasource contract for producing items to ingest.
|
|
3
|
-
*/
|
|
4
|
-
import type { <%= itemTypeName %> } from "../<%= schemaFolderName %>/model.js";
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* Contract for any datasource that yields items for ingestion.
|
|
8
3
|
* Implement this interface to swap the default datasource for an API, database, or other system.
|
|
9
4
|
*/
|
|
10
|
-
export interface ItemSource {
|
|
5
|
+
export interface ItemSource<TItem> {
|
|
11
6
|
/**
|
|
12
7
|
* Return items as an async iterable (streaming preferred).
|
|
13
8
|
*/
|
|
14
|
-
getItems(): AsyncIterable
|
|
9
|
+
getItems(): AsyncIterable<TItem>;
|
|
15
10
|
}
|