@soddong/agentic-application-methodology-workbench 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +115 -0
  3. package/dist/artifact-standard-document-loader.d.ts +35 -0
  4. package/dist/artifact-standard-document-loader.d.ts.map +1 -0
  5. package/dist/artifact-standard-document-loader.js +363 -0
  6. package/dist/artifact-standard-document-loader.js.map +1 -0
  7. package/dist/authoring-draft-store.d.ts +8 -0
  8. package/dist/authoring-draft-store.d.ts.map +1 -0
  9. package/dist/authoring-draft-store.js +232 -0
  10. package/dist/authoring-draft-store.js.map +1 -0
  11. package/dist/cli.d.ts +3 -0
  12. package/dist/cli.d.ts.map +1 -0
  13. package/dist/cli.js +54 -0
  14. package/dist/cli.js.map +1 -0
  15. package/dist/index.d.ts +17 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +12 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/seed-view-model-loader.d.ts +9 -0
  20. package/dist/seed-view-model-loader.d.ts.map +1 -0
  21. package/dist/seed-view-model-loader.js +359 -0
  22. package/dist/seed-view-model-loader.js.map +1 -0
  23. package/dist/server/workbench-server.d.ts +22 -0
  24. package/dist/server/workbench-server.d.ts.map +1 -0
  25. package/dist/server/workbench-server.js +1553 -0
  26. package/dist/server/workbench-server.js.map +1 -0
  27. package/dist/task-authoring-source.d.ts +9 -0
  28. package/dist/task-authoring-source.d.ts.map +1 -0
  29. package/dist/task-authoring-source.js +163 -0
  30. package/dist/task-authoring-source.js.map +1 -0
  31. package/dist/view-models.d.ts +211 -0
  32. package/dist/view-models.d.ts.map +1 -0
  33. package/dist/view-models.js +2 -0
  34. package/dist/view-models.js.map +1 -0
  35. package/dist/workbench-config.d.ts +37 -0
  36. package/dist/workbench-config.d.ts.map +1 -0
  37. package/dist/workbench-config.js +110 -0
  38. package/dist/workbench-config.js.map +1 -0
  39. package/docs/build.md +14 -0
  40. package/docs/configuration.md +65 -0
  41. package/docs/delivery.md +15 -0
  42. package/docs/operations.md +28 -0
  43. package/docs/publishing.md +19 -0
  44. package/docs/usage.md +113 -0
  45. package/package.json +26 -0
  46. package/schemas/workbench-config.schema.json +112 -0
@@ -0,0 +1,359 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ function isRecord(value) {
4
+ return typeof value === "object" && value !== null;
5
+ }
6
+ function readJsonFile(path) {
7
+ if (!existsSync(path)) {
8
+ return undefined;
9
+ }
10
+ return JSON.parse(readFileSync(path, "utf8"));
11
+ }
12
+ function readRecord(path) {
13
+ const value = readJsonFile(path);
14
+ return isRecord(value) ? value : {};
15
+ }
16
+ function readRecordArray(path) {
17
+ const value = readJsonFile(path);
18
+ return Array.isArray(value) ? value.filter(isRecord) : [];
19
+ }
20
+ function stringValue(record, key) {
21
+ const value = record[key];
22
+ return typeof value === "string" && value.length > 0 ? value : undefined;
23
+ }
24
+ function numberValue(record, key) {
25
+ const value = record[key];
26
+ return typeof value === "number" && Number.isFinite(value) ? value : 0;
27
+ }
28
+ function booleanValue(record, key) {
29
+ const value = record[key];
30
+ return typeof value === "boolean" ? value : false;
31
+ }
32
+ function sortByOrder(items, order) {
33
+ return [...items].sort((left, right) => order(left) - order(right));
34
+ }
35
+ function seedRoot(project) {
36
+ return resolve(project.projectRoot, project.config.seedRoot);
37
+ }
38
+ function loadSeedBundleData(project) {
39
+ const root = seedRoot(project);
40
+ return {
41
+ methodology: readRecord(resolve(root, "methodology.json")),
42
+ lifecycle: readRecord(resolve(root, "lifecycle.json")),
43
+ phases: readRecordArray(resolve(root, "phases.json")),
44
+ processes: readRecordArray(resolve(root, "processes.json")),
45
+ stages: readRecordArray(resolve(root, "stages.json")),
46
+ activities: readRecordArray(resolve(root, "activities.json")),
47
+ tasks: readRecordArray(resolve(root, "tasks.json")),
48
+ steps: readRecordArray(resolve(root, "steps.json")),
49
+ artifactRequirements: readRecordArray(resolve(root, "activity-artifact-requirements.json")),
50
+ artifactStandards: readRecordArray(resolve(root, "artifact-standards.json")),
51
+ criteria: readJsonFile(resolve(root, "criteria.json")) ?? [],
52
+ handoffs: readJsonFile(resolve(root, "handoffs.json")) ?? [],
53
+ generatedOutputLinks: readJsonFile(resolve(root, "generated-output-links.json")) ?? []
54
+ };
55
+ }
56
+ function methodologyVm(data) {
57
+ return {
58
+ code: stringValue(data.methodology, "methodologyCode") ?? "methodology",
59
+ name: stringValue(data.methodology, "methodologyName") ?? "Methodology",
60
+ version: stringValue(data.methodology, "methodologyVersion"),
61
+ status: stringValue(data.methodology, "methodologyStatusCode"),
62
+ description: stringValue(data.methodology, "description")
63
+ };
64
+ }
65
+ function lifecycleVm(data) {
66
+ return {
67
+ code: stringValue(data.lifecycle, "lifecycleCode") ?? "lifecycle",
68
+ name: stringValue(data.lifecycle, "lifecycleName") ?? "Lifecycle",
69
+ order: numberValue(data.lifecycle, "lifecycleOrder"),
70
+ typeCode: stringValue(data.lifecycle, "lifecycleTypeCode"),
71
+ description: stringValue(data.lifecycle, "description")
72
+ };
73
+ }
74
+ function counts(data) {
75
+ return {
76
+ phases: data.phases.length,
77
+ stages: data.stages.length,
78
+ activities: data.activities.length,
79
+ tasks: data.tasks.length,
80
+ steps: data.steps.length,
81
+ artifactStandards: data.artifactStandards.length,
82
+ artifactRequirements: data.artifactRequirements.length
83
+ };
84
+ }
85
+ function requirementsForActivity(data, activityCode) {
86
+ return data.artifactRequirements.filter((requirement) => stringValue(requirement, "activityCode") === activityCode);
87
+ }
88
+ function primaryRequirement(data, activityCode) {
89
+ return requirementsForActivity(data, activityCode).find((requirement) => {
90
+ return stringValue(requirement, "requirementRoleCode") === "output" && booleanValue(requirement, "isPrimary");
91
+ });
92
+ }
93
+ function tasksForActivity(data, activityCode) {
94
+ return data.tasks.filter((task) => stringValue(task, "activityCode") === activityCode);
95
+ }
96
+ function stepsForActivity(data, activityCode) {
97
+ return data.steps.filter((step) => stringValue(step, "activityCode") === activityCode);
98
+ }
99
+ function processCodesForPhase(data, phaseCode) {
100
+ if (phaseCode === undefined) {
101
+ return [];
102
+ }
103
+ return data.processes
104
+ .filter((process) => stringValue(process, "phaseCode") === phaseCode)
105
+ .map((process) => stringValue(process, "processCode"))
106
+ .filter((processCode) => processCode !== undefined);
107
+ }
108
+ function stagesForPhase(data, phaseCode) {
109
+ const processCodes = processCodesForPhase(data, phaseCode);
110
+ if (processCodes.length === 0) {
111
+ return data.stages;
112
+ }
113
+ const processCodeSet = new Set(processCodes);
114
+ return data.stages.filter((stage) => {
115
+ const stageProcessCode = stringValue(stage, "processCode");
116
+ return stageProcessCode !== undefined && processCodeSet.has(stageProcessCode);
117
+ });
118
+ }
119
+ function activitiesForStages(data, stages) {
120
+ const stageCodes = new Set(stages.map((stage) => stringValue(stage, "stageCode")).filter((stageCode) => stageCode !== undefined));
121
+ return data.activities.filter((activity) => {
122
+ const activityStageCode = stringValue(activity, "stageCode");
123
+ return activityStageCode !== undefined && stageCodes.has(activityStageCode);
124
+ });
125
+ }
126
+ function phaseVm(data, phase) {
127
+ const phaseCode = stringValue(phase, "phaseCode") ?? "phase";
128
+ const phaseStages = stagesForPhase(data, phaseCode);
129
+ const phaseActivities = activitiesForStages(data, phaseStages);
130
+ return {
131
+ code: phaseCode,
132
+ name: stringValue(phase, "phaseName") ?? phaseCode,
133
+ lifecycleCode: stringValue(phase, "lifecycleCode"),
134
+ order: numberValue(phase, "phaseOrder"),
135
+ typeCode: stringValue(phase, "phaseTypeCode"),
136
+ description: stringValue(phase, "description"),
137
+ stageCount: phaseStages.length,
138
+ activityCount: phaseActivities.length
139
+ };
140
+ }
141
+ function stageVm(stage) {
142
+ const stageCode = stringValue(stage, "stageCode") ?? "stage";
143
+ return {
144
+ code: stageCode,
145
+ name: stringValue(stage, "stageName") ?? stageCode,
146
+ processCode: stringValue(stage, "processCode"),
147
+ order: numberValue(stage, "stageOrder"),
148
+ typeCode: stringValue(stage, "stageTypeCode"),
149
+ description: stringValue(stage, "description")
150
+ };
151
+ }
152
+ function activityVm(data, activity) {
153
+ const activityCode = stringValue(activity, "activityCode") ?? "activity";
154
+ const tasks = tasksForActivity(data, activityCode);
155
+ const steps = stepsForActivity(data, activityCode);
156
+ const primary = primaryRequirement(data, activityCode);
157
+ return {
158
+ code: activityCode,
159
+ name: stringValue(activity, "activityName") ?? activityCode,
160
+ stageCode: stringValue(activity, "stageCode"),
161
+ typeCode: stringValue(activity, "activityTypeCode"),
162
+ sortOrder: numberValue(activity, "sortOrder"),
163
+ description: stringValue(activity, "description"),
164
+ taskCount: tasks.length,
165
+ stepCount: steps.length,
166
+ primaryArtifactStandardCode: primary === undefined ? undefined : stringValue(primary, "artifactStandardCode"),
167
+ primaryArtifactStandardName: primary === undefined ? undefined : stringValue(primary, "artifactStandardName")
168
+ };
169
+ }
170
+ function taskVm(task) {
171
+ const taskCode = stringValue(task, "taskCode") ?? "task";
172
+ return {
173
+ code: taskCode,
174
+ name: stringValue(task, "taskName") ?? taskCode,
175
+ activityCode: stringValue(task, "activityCode") ?? "activity",
176
+ typeCode: stringValue(task, "taskTypeCode"),
177
+ executionModeCode: stringValue(task, "executionModeCode"),
178
+ isRequired: booleanValue(task, "isRequired"),
179
+ sortOrder: numberValue(task, "sortOrder"),
180
+ description: stringValue(task, "description"),
181
+ outputArtifactStandardCode: stringValue(task, "outputArtifactStandardCode")
182
+ };
183
+ }
184
+ function stepVm(step) {
185
+ const stepCode = stringValue(step, "stepCode") ?? "step";
186
+ return {
187
+ code: stepCode,
188
+ name: stringValue(step, "stepName") ?? stepCode,
189
+ title: stringValue(step, "stepTitle"),
190
+ activityCode: stringValue(step, "activityCode") ?? "activity",
191
+ taskCode: stringValue(step, "taskCode"),
192
+ typeCode: stringValue(step, "stepTypeCode"),
193
+ executionModeCode: stringValue(step, "executionModeCode"),
194
+ isRequired: booleanValue(step, "isRequired"),
195
+ sortOrder: numberValue(step, "sortOrder"),
196
+ description: stringValue(step, "description"),
197
+ instruction: stringValue(step, "stepInstruction")
198
+ };
199
+ }
200
+ function requirementVm(requirement) {
201
+ const requirementCode = stringValue(requirement, "requirementCode") ?? "requirement";
202
+ return {
203
+ code: requirementCode,
204
+ activityCode: stringValue(requirement, "activityCode") ?? "activity",
205
+ roleCode: stringValue(requirement, "requirementRoleCode") ?? "output",
206
+ artifactStandardCode: stringValue(requirement, "artifactStandardCode") ?? "artifact",
207
+ artifactStandardName: stringValue(requirement, "artifactStandardName"),
208
+ artifactStandardVersion: stringValue(requirement, "artifactStandardVersion"),
209
+ artifactComponentCode: stringValue(requirement, "artifactComponentCode"),
210
+ isPrimary: booleanValue(requirement, "isPrimary"),
211
+ validationRequired: booleanValue(requirement, "validationRequired"),
212
+ sortOrder: numberValue(requirement, "sortOrder"),
213
+ description: stringValue(requirement, "description")
214
+ };
215
+ }
216
+ function artifactVm(artifact) {
217
+ const code = stringValue(artifact, "artifactStandardCode") ?? "artifact";
218
+ return {
219
+ code,
220
+ name: stringValue(artifact, "artifactStandardName") ?? code,
221
+ version: stringValue(artifact, "artifactStandardVersion"),
222
+ typeCode: stringValue(artifact, "standardTypeCode"),
223
+ statusCode: stringValue(artifact, "standardStatusCode"),
224
+ purpose: stringValue(artifact, "purpose"),
225
+ description: stringValue(artifact, "description"),
226
+ summary: stringValue(artifact, "summary")
227
+ };
228
+ }
229
+ function artifactSections(artifact) {
230
+ const format = artifact.format;
231
+ if (!isRecord(format)) {
232
+ return [];
233
+ }
234
+ const commonSections = Array.isArray(format.commonSections) ? format.commonSections.filter(isRecord) : [];
235
+ const bodySections = Array.isArray(format.bodySections) ? format.bodySections.filter(isRecord) : [];
236
+ return [...commonSections, ...bodySections].map((section) => {
237
+ const sectionCode = stringValue(section, "sectionCode") ?? "section";
238
+ const components = Array.isArray(section.components) ? section.components : [];
239
+ return {
240
+ code: sectionCode,
241
+ title: stringValue(section, "sectionTitle") ?? sectionCode,
242
+ purpose: stringValue(section, "purpose"),
243
+ componentCount: components.length
244
+ };
245
+ });
246
+ }
247
+ function findActivity(data, activityCode) {
248
+ return data.activities.find((activity) => stringValue(activity, "activityCode") === activityCode);
249
+ }
250
+ function findArtifact(data, artifactCode) {
251
+ return data.artifactStandards.find((artifact) => stringValue(artifact, "artifactStandardCode") === artifactCode);
252
+ }
253
+ export function loadWorkbenchSummary(project) {
254
+ const data = loadSeedBundleData(project);
255
+ return {
256
+ title: project.config.title,
257
+ methodologyPackageName: project.config.methodologyPackageName,
258
+ bundleCode: project.config.bundleCode,
259
+ seedRoot: project.config.seedRoot,
260
+ uiPlanningRoot: project.config.uiPlanningRoot,
261
+ routes: project.config.routes ?? [],
262
+ authoringSources: {
263
+ ...(project.config.authoringSources?.scenariosRoot === undefined ? {} : { scenariosRoot: project.config.authoringSources.scenariosRoot }),
264
+ ...(project.config.authoringSources?.tasksRoot === undefined ? {} : { tasksRoot: project.config.authoringSources.tasksRoot }),
265
+ ...(project.config.authoringSources?.stepAssetsRoot === undefined ? {} : { stepAssetsRoot: project.config.authoringSources.stepAssetsRoot }),
266
+ ...(project.config.authoringSources?.artifactSamplesRoot === undefined ? {} : { artifactSamplesRoot: project.config.authoringSources.artifactSamplesRoot }),
267
+ ...(project.config.authoringSources?.draftsRoot === undefined ? {} : { draftsRoot: project.config.authoringSources.draftsRoot }),
268
+ ...(project.config.authoringSources?.generatedDocsRoot === undefined ? {} : { generatedDocsRoot: project.config.authoringSources.generatedDocsRoot }),
269
+ ...(project.config.authoringSources?.generatedOutputsRoot === undefined ? {} : { generatedOutputsRoot: project.config.authoringSources.generatedOutputsRoot })
270
+ },
271
+ counts: counts(data)
272
+ };
273
+ }
274
+ export function loadLifecycleOverview(project) {
275
+ const data = loadSeedBundleData(project);
276
+ return {
277
+ methodology: methodologyVm(data),
278
+ lifecycle: lifecycleVm(data),
279
+ phases: sortByOrder(data.phases, (phase) => numberValue(phase, "phaseOrder")).map((phase) => phaseVm(data, phase)),
280
+ counts: counts(data)
281
+ };
282
+ }
283
+ export function loadPhaseDetail(project, phaseCode) {
284
+ const data = loadSeedBundleData(project);
285
+ const phase = data.phases.find((item) => stringValue(item, "phaseCode") === phaseCode) ?? data.phases[0] ?? {};
286
+ const resolvedPhaseCode = stringValue(phase, "phaseCode");
287
+ const stages = sortByOrder(stagesForPhase(data, resolvedPhaseCode), (stage) => numberValue(stage, "stageOrder")).map((stage) => {
288
+ const stageCode = stringValue(stage, "stageCode");
289
+ const activities = sortByOrder(data.activities.filter((activity) => stringValue(activity, "stageCode") === stageCode), (activity) => numberValue(activity, "sortOrder")).map((activity) => activityVm(data, activity));
290
+ return {
291
+ stage: stageVm(stage),
292
+ activities
293
+ };
294
+ });
295
+ return {
296
+ methodology: methodologyVm(data),
297
+ lifecycle: lifecycleVm(data),
298
+ phase: phaseVm(data, phase),
299
+ stages,
300
+ artifactRequirements: sortByOrder(data.artifactRequirements, (requirement) => numberValue(requirement, "sortOrder")).map(requirementVm)
301
+ };
302
+ }
303
+ export function loadActivityWorkbench(project, activityCode) {
304
+ const data = loadSeedBundleData(project);
305
+ const activity = (activityCode === undefined ? undefined : findActivity(data, activityCode)) ?? data.activities[0] ?? {};
306
+ const resolvedActivityCode = stringValue(activity, "activityCode") ?? "activity";
307
+ const stage = data.stages.find((item) => stringValue(item, "stageCode") === stringValue(activity, "stageCode"));
308
+ const process = data.processes.find((item) => stringValue(item, "processCode") === stringValue(stage ?? {}, "processCode"));
309
+ const phase = data.phases.find((item) => stringValue(item, "phaseCode") === stringValue(process ?? {}, "phaseCode")) ?? data.phases[0];
310
+ const taskRecords = sortByOrder(tasksForActivity(data, resolvedActivityCode), (task) => numberValue(task, "sortOrder"));
311
+ const stepRecords = stepsForActivity(data, resolvedActivityCode);
312
+ const requirements = sortByOrder(requirementsForActivity(data, resolvedActivityCode), (requirement) => numberValue(requirement, "sortOrder"));
313
+ const primary = requirements.find((requirement) => booleanValue(requirement, "isPrimary"));
314
+ const primaryArtifactCode = primary === undefined ? undefined : stringValue(primary, "artifactStandardCode");
315
+ const primaryArtifact = primaryArtifactCode === undefined ? undefined : findArtifact(data, primaryArtifactCode);
316
+ return {
317
+ methodology: methodologyVm(data),
318
+ lifecycle: lifecycleVm(data),
319
+ phase: phase === undefined ? undefined : phaseVm(data, phase),
320
+ stage: stage === undefined ? undefined : stageVm(stage),
321
+ activity: activityVm(data, activity),
322
+ tasks: taskRecords.map((task) => {
323
+ const taskCode = stringValue(task, "taskCode");
324
+ return {
325
+ task: taskVm(task),
326
+ steps: sortByOrder(stepRecords.filter((step) => stringValue(step, "taskCode") === taskCode), (step) => numberValue(step, "sortOrder")).map(stepVm)
327
+ };
328
+ }),
329
+ artifactRequirements: requirements.map(requirementVm),
330
+ primaryArtifact: primaryArtifact === undefined ? undefined : artifactVm(primaryArtifact)
331
+ };
332
+ }
333
+ export function loadArtifactStandard(project, artifactCode) {
334
+ const data = loadSeedBundleData(project);
335
+ const artifact = (artifactCode === undefined ? undefined : findArtifact(data, artifactCode)) ?? data.artifactStandards[0] ?? {};
336
+ const resolvedArtifactCode = stringValue(artifact, "artifactStandardCode") ?? "artifact";
337
+ const requirements = data.artifactRequirements.filter((requirement) => {
338
+ return stringValue(requirement, "artifactStandardCode") === resolvedArtifactCode;
339
+ });
340
+ const relatedActivities = requirements
341
+ .map((requirement) => findActivity(data, stringValue(requirement, "activityCode") ?? ""))
342
+ .filter((activity) => activity !== undefined)
343
+ .map((activity) => activityVm(data, activity));
344
+ return {
345
+ artifact: artifactVm(artifact),
346
+ relatedActivities,
347
+ requirements: sortByOrder(requirements, (requirement) => numberValue(requirement, "sortOrder")).map(requirementVm),
348
+ sections: artifactSections(artifact)
349
+ };
350
+ }
351
+ export function loadGovernance(project) {
352
+ const data = loadSeedBundleData(project);
353
+ return {
354
+ criteria: data.criteria,
355
+ handoffs: data.handoffs,
356
+ generatedOutputLinks: data.generatedOutputLinks
357
+ };
358
+ }
359
+ //# sourceMappingURL=seed-view-model-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-view-model-loader.js","sourceRoot":"","sources":["../src/seed-view-model-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CpC,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAY,CAAC;AAC3D,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,WAAW,CAAC,MAAkB,EAAE,GAAW;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,MAAkB,EAAE,GAAW;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,YAAY,CAAC,MAAkB,EAAE,GAAW;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC;AAED,SAAS,WAAW,CAAI,KAAmB,EAAE,KAA0B;IACrE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,QAAQ,CAAC,OAAyB;IACzC,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAyB;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO;QACL,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAC1D,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACtD,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACrD,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC3D,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACrD,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC7D,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,oBAAoB,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;QAC3F,iBAAiB,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAC5E,QAAQ,EAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAoC,IAAI,EAAE;QAChG,QAAQ,EAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAoC,IAAI,EAAE;QAChG,oBAAoB,EAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAoC,IAAI,EAAE;KAC3H,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAoB;IACzC,OAAO;QACL,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,IAAI,aAAa;QACvE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,IAAI,aAAa;QACvE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC;QAC5D,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC;QAC9D,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAoB;IACvC,OAAO;QACL,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,WAAW;QACjE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,WAAW;QACjE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC;QACpD,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC;QAC1D,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,IAAoB;IAClC,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;QAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;QAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;QAClC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;QACxB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;QACxB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM;QAChD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAoB,EAAE,YAAoB;IACzE,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,KAAK,YAAY,CAAC,CAAC;AACtH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAoB,EAAE,YAAoB;IACpE,OAAO,uBAAuB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;QACtE,OAAO,WAAW,CAAC,WAAW,EAAE,qBAAqB,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAChH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAoB,EAAE,YAAoB;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,YAAY,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAoB,EAAE,YAAoB;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,YAAY,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAoB,EAAE,SAAkB;IACpE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC,SAAS;SAClB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,SAAS,CAAC;SACpE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;SACrD,MAAM,CAAC,CAAC,WAAW,EAAyB,EAAE,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,cAAc,CAAC,IAAoB,EAAE,SAAkB;IAC9D,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC3D,OAAO,gBAAgB,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAoB,EAAE,MAA6B;IAC9E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAuB,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;IACvJ,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzC,MAAM,iBAAiB,GAAG,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC7D,OAAO,iBAAiB,KAAK,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,IAAoB,EAAE,KAAiB;IACtD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC;IAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,SAAS;QAClD,aAAa,EAAE,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC;QAClD,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC;QACvC,QAAQ,EAAE,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC;QAC7C,WAAW,EAAE,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC;QAC9C,UAAU,EAAE,WAAW,CAAC,MAAM;QAC9B,aAAa,EAAE,eAAe,CAAC,MAAM;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAiB;IAChC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,SAAS;QAClD,WAAW,EAAE,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC;QAC9C,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC;QACvC,QAAQ,EAAE,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC;QAC7C,WAAW,EAAE,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAoB,EAAE,QAAoB;IAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,UAAU,CAAC;IACzE,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,YAAY;QAC3D,SAAS,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC;QAC7C,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QACnD,SAAS,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC;QAC7C,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC;QACjD,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,2BAA2B,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,sBAAsB,CAAC;QAC7G,2BAA2B,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,sBAAsB,CAAC;KAC9G,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,IAAgB;IAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC;IACzD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,QAAQ;QAC/C,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,UAAU;QAC7D,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC;QAC3C,iBAAiB,EAAE,WAAW,CAAC,IAAI,EAAE,mBAAmB,CAAC;QACzD,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC;QAC5C,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC;QACzC,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC;QAC7C,0BAA0B,EAAE,WAAW,CAAC,IAAI,EAAE,4BAA4B,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,IAAgB;IAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC;IACzD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,QAAQ;QAC/C,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC;QACrC,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,UAAU;QAC7D,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC;QACvC,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC;QAC3C,iBAAiB,EAAE,WAAW,CAAC,IAAI,EAAE,mBAAmB,CAAC;QACzD,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC;QAC5C,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC;QACzC,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC;QAC7C,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE,iBAAiB,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,WAAuB;IAC5C,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,EAAE,iBAAiB,CAAC,IAAI,aAAa,CAAC;IACrF,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,YAAY,EAAE,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,UAAU;QACpE,QAAQ,EAAE,WAAW,CAAC,WAAW,EAAE,qBAAqB,CAAC,IAAI,QAAQ;QACrE,oBAAoB,EAAE,WAAW,CAAC,WAAW,EAAE,sBAAsB,CAAC,IAAI,UAAU;QACpF,oBAAoB,EAAE,WAAW,CAAC,WAAW,EAAE,sBAAsB,CAAC;QACtE,uBAAuB,EAAE,WAAW,CAAC,WAAW,EAAE,yBAAyB,CAAC;QAC5E,qBAAqB,EAAE,WAAW,CAAC,WAAW,EAAE,uBAAuB,CAAC;QACxE,SAAS,EAAE,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;QACjD,kBAAkB,EAAE,YAAY,CAAC,WAAW,EAAE,oBAAoB,CAAC;QACnE,SAAS,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC;QAChD,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,QAAoB;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,sBAAsB,CAAC,IAAI,UAAU,CAAC;IACzE,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,sBAAsB,CAAC,IAAI,IAAI;QAC3D,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,yBAAyB,CAAC;QACzD,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QACnD,UAAU,EAAE,WAAW,CAAC,QAAQ,EAAE,oBAAoB,CAAC;QACvD,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC;QACzC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC;QACjD,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAoB;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1G,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpG,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1D,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,SAAS,CAAC;QACrE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,WAAW;YAC1D,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC;YACxC,cAAc,EAAE,UAAU,CAAC,MAAM;SAClC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,IAAoB,EAAE,YAAoB;IAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,KAAK,YAAY,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,YAAY,CAAC,IAAoB,EAAE,YAAoB;IAC9D,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,sBAAsB,CAAC,KAAK,YAAY,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAyB;IAC5D,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QAC3B,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,sBAAsB;QAC7D,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;QACrC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;QACjC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc;QAC7C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;QACnC,gBAAgB,EAAE;YAChB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACzI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;YAC7H,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAC5I,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;YAC3J,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;YAChI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;YACrJ,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC;SAC/J;QACD,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAyB;IAC7D,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO;QACL,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC;QAChC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC;QAC5B,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClH,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAyB,EAAE,SAAkB;IAC3E,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/G,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAyB,EAAE;QACpJ,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,WAAW,CAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,SAAS,CAAC,EACtF,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CACjD,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChD,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;YACrB,UAAU;SACX,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC;QAChC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;QAC3B,MAAM;QACN,oBAAoB,EAAE,WAAW,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;KACxI,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAyB,EAAE,YAAqB;IACpF,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzH,MAAM,oBAAoB,GAAG,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,UAAU,CAAC;IACjF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAChH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,WAAW,CAAC,KAAK,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IAC5H,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvI,MAAM,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IACxH,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,WAAW,CAAC,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAC9I,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3F,MAAM,mBAAmB,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAC7G,MAAM,eAAe,GAAG,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAChH,OAAO;QACL,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC;QAChC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;QAC7D,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACvD,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAmB,EAAE;YAC/C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC/C,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,WAAW,CAChB,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,QAAQ,CAAC,EACxE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CACzC,CAAC,GAAG,CAAC,MAAM,CAAC;aACd,CAAC;QACJ,CAAC,CAAC;QACF,oBAAoB,EAAE,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;QACrD,eAAe,EAAE,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;KACzF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAyB,EAAE,YAAqB;IACnF,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChI,MAAM,oBAAoB,GAAG,WAAW,CAAC,QAAQ,EAAE,sBAAsB,CAAC,IAAI,UAAU,CAAC;IACzF,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE;QACpE,OAAO,WAAW,CAAC,WAAW,EAAE,sBAAsB,CAAC,KAAK,oBAAoB,CAAC;IACnF,CAAC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,YAAY;SACnC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;SACxF,MAAM,CAAC,CAAC,QAAQ,EAA0B,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC;SACpE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjD,OAAO;QACL,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;QAC9B,iBAAiB;QACjB,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;QAClH,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAyB;IACtD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;KAChD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type Server } from "node:http";
2
+ import { type WorkbenchProject } from "../workbench-config.js";
3
+ export interface WorkbenchServerOptions {
4
+ readonly host?: string;
5
+ readonly port?: number;
6
+ readonly projectRoot?: string;
7
+ }
8
+ export interface WorkbenchServerStartResult {
9
+ readonly host: string;
10
+ readonly port: number;
11
+ readonly url: string;
12
+ readonly project: WorkbenchProject;
13
+ }
14
+ export interface WorkbenchServer {
15
+ readonly server: Server;
16
+ readonly project: WorkbenchProject;
17
+ readonly start: () => Promise<WorkbenchServerStartResult>;
18
+ readonly stop: () => Promise<void>;
19
+ }
20
+ export declare function createWorkbenchServer(options?: WorkbenchServerOptions): WorkbenchServer;
21
+ export declare function startWorkbenchServer(options?: WorkbenchServerOptions): Promise<WorkbenchServerStartResult>;
22
+ //# sourceMappingURL=workbench-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workbench-server.d.ts","sourceRoot":"","sources":["../../src/server/workbench-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,MAAM,EAAuB,MAAM,WAAW,CAAC;AAQjG,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAUpF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AA6ID,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,sBAA2B,GAAG,eAAe,CAuD3F;AAED,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CAGrC"}