@loomweaver/devkit 0.9.0-preview.1 → 0.9.0-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loomweaver/devkit",
3
- "version": "0.9.0-preview.1",
3
+ "version": "0.9.0-preview.2",
4
4
  "description": "LoomWeaver: open-source plugin platform for Angular workbenches. The Nx generators: weavers, distributions, frame plugins and the integration seams, plus the manifest and i18n validators.",
5
5
  "keywords": [
6
6
  "loomweaver",
@@ -20,6 +20,14 @@
20
20
  "@nx/devkit": "^23.1.1",
21
21
  "tslib": "^2.3.0"
22
22
  },
23
+ "peerDependencies": {
24
+ "typescript": ">=5.0.0"
25
+ },
26
+ "peerDependenciesMeta": {
27
+ "typescript": {
28
+ "optional": true
29
+ }
30
+ },
23
31
  "publishConfig": {
24
32
  "access": "public"
25
33
  },
package/src/index.d.ts CHANGED
@@ -17,3 +17,5 @@ export type { Finding, FindingLevel } from './lib/validate/types';
17
17
  export { validateManifest, KNOWN_CAPABILITIES, type ManifestLike, } from './lib/validate/manifest';
18
18
  export { validateI18nParity, type I18nBundle } from './lib/validate/i18n';
19
19
  export { validateCatalog, CATALOG_ENTRY_KEYS } from './lib/validate/catalog';
20
+ export { validateCommands, RUNTIME_NOTE, type CommandSource } from './lib/validate/commands';
21
+ export { loadTypeScript, type TypeScriptModule } from './lib/validate/typescript';
package/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CATALOG_ENTRY_KEYS = exports.validateCatalog = exports.validateI18nParity = exports.KNOWN_CAPABILITIES = exports.validateManifest = exports.usageFor = exports.portableOptions = exports.nxSchemaFor = exports.kebabCase = exports.findScaffold = exports.SCAFFOLDS = exports.resolveLayoutInput = exports.layout = exports.resolveThemeInput = exports.theme = exports.resolveSettingsStoreInput = exports.settingsStore = exports.resolveAuthSourceInput = exports.authSource = exports.resolveDistributionInput = exports.angularDistribution = exports.resolveFramePluginInput = exports.framePlugin = exports.resolveWeaverInput = exports.angularWeaver = exports.toTitleCase = exports.toPascalCase = exports.toCamelCase = exports.isKebabId = exports.describeAmendment = exports.composePlugin = exports.composeLines = exports.resolveAssetInput = exports.joinProjectPath = exports.ensureStylesheetSource = exports.ensurePostcssPlugin = exports.ensureDependency = exports.ensureBuildTarget = exports.generate = exports.amendments = void 0;
3
+ exports.loadTypeScript = exports.RUNTIME_NOTE = exports.validateCommands = exports.CATALOG_ENTRY_KEYS = exports.validateCatalog = exports.validateI18nParity = exports.KNOWN_CAPABILITIES = exports.validateManifest = exports.usageFor = exports.portableOptions = exports.nxSchemaFor = exports.kebabCase = exports.findScaffold = exports.SCAFFOLDS = exports.resolveLayoutInput = exports.layout = exports.resolveThemeInput = exports.theme = exports.resolveSettingsStoreInput = exports.settingsStore = exports.resolveAuthSourceInput = exports.authSource = exports.resolveDistributionInput = exports.angularDistribution = exports.resolveFramePluginInput = exports.framePlugin = exports.resolveWeaverInput = exports.angularWeaver = exports.toTitleCase = exports.toPascalCase = exports.toCamelCase = exports.isKebabId = exports.describeAmendment = exports.composePlugin = exports.composeLines = exports.resolveAssetInput = exports.joinProjectPath = exports.ensureStylesheetSource = exports.ensurePostcssPlugin = exports.ensureDependency = exports.ensureBuildTarget = exports.generate = exports.amendments = void 0;
4
4
  var generate_1 = require("./lib/generate/generate");
5
5
  Object.defineProperty(exports, "amendments", { enumerable: true, get: function () { return generate_1.amendments; } });
6
6
  Object.defineProperty(exports, "generate", { enumerable: true, get: function () { return generate_1.generate; } });
@@ -57,4 +57,9 @@ Object.defineProperty(exports, "validateI18nParity", { enumerable: true, get: fu
57
57
  var catalog_1 = require("./lib/validate/catalog");
58
58
  Object.defineProperty(exports, "validateCatalog", { enumerable: true, get: function () { return catalog_1.validateCatalog; } });
59
59
  Object.defineProperty(exports, "CATALOG_ENTRY_KEYS", { enumerable: true, get: function () { return catalog_1.CATALOG_ENTRY_KEYS; } });
60
+ var commands_1 = require("./lib/validate/commands");
61
+ Object.defineProperty(exports, "validateCommands", { enumerable: true, get: function () { return commands_1.validateCommands; } });
62
+ Object.defineProperty(exports, "RUNTIME_NOTE", { enumerable: true, get: function () { return commands_1.RUNTIME_NOTE; } });
63
+ var typescript_1 = require("./lib/validate/typescript");
64
+ Object.defineProperty(exports, "loadTypeScript", { enumerable: true, get: function () { return typescript_1.loadTypeScript; } });
60
65
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/tooling/devkit/src/index.ts"],"names":[],"mappings":";;;AACA,oDAA+D;AAAtD,sGAAA,UAAU,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAU7B,2CAQ2B;AAPzB,0GAAA,iBAAiB,OAAA;AACjB,yGAAA,gBAAgB,OAAA;AAChB,4GAAA,mBAAmB,OAAA;AACnB,+GAAA,sBAAsB,OAAA;AACtB,wGAAA,eAAe,OAAA;AACf,0GAAA,iBAAiB,OAAA;AAGnB,+CAI6B;AAH3B,uGAAA,YAAY,OAAA;AACZ,wGAAA,aAAa,OAAA;AAGf,iDAAyD;AAAhD,6GAAA,iBAAiB,OAAA;AAC1B,gDAK+B;AAJ7B,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AACZ,qGAAA,WAAW,OAAA;AAEb,0DAKyC;AAJvC,uGAAA,aAAa,OAAA;AACb,4GAAA,kBAAkB,OAAA;AAIpB,wDAKuC;AAJrC,qGAAA,WAAW,OAAA;AACX,iHAAA,uBAAuB,OAAA;AAIzB,gEAK+C;AAJ7C,6GAAA,mBAAmB,OAAA;AACnB,kHAAA,wBAAwB,OAAA;AAI1B,uDAKsC;AAJpC,oGAAA,UAAU,OAAA;AACV,gHAAA,sBAAsB,OAAA;AAIxB,0DAKyC;AAJvC,uGAAA,aAAa,OAAA;AACb,mHAAA,yBAAyB,OAAA;AAI3B,iDAKgC;AAJ9B,+FAAA,KAAK,OAAA;AACL,2GAAA,iBAAiB,OAAA;AAInB,kDAKiC;AAJ/B,gGAAA,MAAM,OAAA;AACN,4GAAA,kBAAkB,OAAA;AAIpB,uDAUmC;AATjC,sGAAA,SAAS,OAAA;AACT,yGAAA,YAAY,OAAA;AACZ,sGAAA,SAAS,OAAA;AACT,wGAAA,WAAW,OAAA;AACX,4GAAA,eAAe,OAAA;AACf,qGAAA,QAAQ,OAAA;AAMV,oDAIiC;AAH/B,4GAAA,gBAAgB,OAAA;AAChB,8GAAA,kBAAkB,OAAA;AAGpB,4CAA0E;AAAjE,0GAAA,kBAAkB,OAAA;AAC3B,kDAA6E;AAApE,0GAAA,eAAe,OAAA;AAAE,6GAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/tooling/devkit/src/index.ts"],"names":[],"mappings":";;;AACA,oDAA+D;AAAtD,sGAAA,UAAU,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAU7B,2CAQ2B;AAPzB,0GAAA,iBAAiB,OAAA;AACjB,yGAAA,gBAAgB,OAAA;AAChB,4GAAA,mBAAmB,OAAA;AACnB,+GAAA,sBAAsB,OAAA;AACtB,wGAAA,eAAe,OAAA;AACf,0GAAA,iBAAiB,OAAA;AAGnB,+CAI6B;AAH3B,uGAAA,YAAY,OAAA;AACZ,wGAAA,aAAa,OAAA;AAGf,iDAAyD;AAAhD,6GAAA,iBAAiB,OAAA;AAC1B,gDAK+B;AAJ7B,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AACZ,qGAAA,WAAW,OAAA;AAEb,0DAKyC;AAJvC,uGAAA,aAAa,OAAA;AACb,4GAAA,kBAAkB,OAAA;AAIpB,wDAKuC;AAJrC,qGAAA,WAAW,OAAA;AACX,iHAAA,uBAAuB,OAAA;AAIzB,gEAK+C;AAJ7C,6GAAA,mBAAmB,OAAA;AACnB,kHAAA,wBAAwB,OAAA;AAI1B,uDAKsC;AAJpC,oGAAA,UAAU,OAAA;AACV,gHAAA,sBAAsB,OAAA;AAIxB,0DAKyC;AAJvC,uGAAA,aAAa,OAAA;AACb,mHAAA,yBAAyB,OAAA;AAI3B,iDAKgC;AAJ9B,+FAAA,KAAK,OAAA;AACL,2GAAA,iBAAiB,OAAA;AAInB,kDAKiC;AAJ/B,gGAAA,MAAM,OAAA;AACN,4GAAA,kBAAkB,OAAA;AAIpB,uDAUmC;AATjC,sGAAA,SAAS,OAAA;AACT,yGAAA,YAAY,OAAA;AACZ,sGAAA,SAAS,OAAA;AACT,wGAAA,WAAW,OAAA;AACX,4GAAA,eAAe,OAAA;AACf,qGAAA,QAAQ,OAAA;AAMV,oDAIiC;AAH/B,4GAAA,gBAAgB,OAAA;AAChB,8GAAA,kBAAkB,OAAA;AAGpB,4CAA0E;AAAjE,0GAAA,kBAAkB,OAAA;AAC3B,kDAA6E;AAApE,0GAAA,eAAe,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAC5C,oDAA6F;AAApF,4GAAA,gBAAgB,OAAA;AAAE,wGAAA,YAAY,OAAA;AACvC,wDAAkF;AAAzE,4GAAA,cAAc,OAAA"}
@@ -0,0 +1,17 @@
1
+ import { Finding } from './types';
2
+ import type { TypeScriptModule } from './typescript';
3
+ /** One source file the command check reads: its path, for the report, and its text. */
4
+ export interface CommandSource {
5
+ readonly path: string;
6
+ readonly text: string;
7
+ }
8
+ /** The line every report ends with: what the check did not judge, because only the running workbench can. */
9
+ export declare const RUNTIME_NOTE = "Grants, access and the window decide what is finally offered at runtime; this check judged the registrations alone.";
10
+ /**
11
+ * Reads every `registerCommand` literal in the given sources and reports, per command, whether an
12
+ * agent is offered it, what would leave the agent guessing, or that the registration could not be
13
+ * read. Only a callable command without a description is a warning; the rest is information, so a
14
+ * plugin with private commands passes a strict run. The TypeScript compiler is passed in rather
15
+ * than imported, so the check costs nothing where it is not used.
16
+ */
17
+ export declare function validateCommands(sources: readonly CommandSource[], ts: TypeScriptModule): Finding[];
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RUNTIME_NOTE = void 0;
4
+ exports.validateCommands = validateCommands;
5
+ /** The line every report ends with: what the check did not judge, because only the running workbench can. */
6
+ exports.RUNTIME_NOTE = 'Grants, access and the window decide what is finally offered at runtime; this check judged the registrations alone.';
7
+ /**
8
+ * Reads every `registerCommand` literal in the given sources and reports, per command, whether an
9
+ * agent is offered it, what would leave the agent guessing, or that the registration could not be
10
+ * read. Only a callable command without a description is a warning; the rest is information, so a
11
+ * plugin with private commands passes a strict run. The TypeScript compiler is passed in rather
12
+ * than imported, so the check costs nothing where it is not used.
13
+ */
14
+ function validateCommands(sources, ts) {
15
+ const findings = [];
16
+ for (const source of sources) {
17
+ const file = ts.createSourceFile(source.path, source.text, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
18
+ for (const call of registerCommandCalls(ts, file)) {
19
+ findings.push(...judge(read(ts, file, call)));
20
+ }
21
+ }
22
+ findings.push({ level: 'info', code: 'commands.runtime', message: exports.RUNTIME_NOTE });
23
+ return findings;
24
+ }
25
+ function registerCommandCalls(ts, file) {
26
+ const calls = [];
27
+ const visit = (node) => {
28
+ if (ts.isCallExpression(node) &&
29
+ ts.isPropertyAccessExpression(node.expression) &&
30
+ node.expression.name.text === 'registerCommand') {
31
+ calls.push(node);
32
+ }
33
+ ts.forEachChild(node, visit);
34
+ };
35
+ visit(file);
36
+ return calls;
37
+ }
38
+ function read(ts, file, call) {
39
+ const line = file.getLineAndCharacterOfPosition(call.getStart(file)).line + 1;
40
+ const at = `${file.fileName}:${line}`;
41
+ const literal = call.arguments[0];
42
+ const empty = { at, callable: false, described: false, answers: false, returnsValue: false, arguments: [] };
43
+ if (!literal || !ts.isObjectLiteralExpression(literal)) {
44
+ return { ...empty, unreadable: 'its argument is not an object literal' };
45
+ }
46
+ const properties = new Map();
47
+ for (const property of literal.properties) {
48
+ if (ts.isSpreadAssignment(property)) {
49
+ return { ...empty, unreadable: 'it spreads another value into the registration' };
50
+ }
51
+ if (ts.isPropertyAssignment(property) && (ts.isIdentifier(property.name) || ts.isStringLiteral(property.name))) {
52
+ properties.set(property.name.text, property.initializer);
53
+ }
54
+ else if (ts.isMethodDeclaration(property) && ts.isIdentifier(property.name)) {
55
+ properties.set(property.name.text, property);
56
+ }
57
+ }
58
+ const id = properties.get('id');
59
+ if (!id || !ts.isStringLiteral(id)) {
60
+ return { ...empty, unreadable: 'its id is not a string literal' };
61
+ }
62
+ const callable = properties.get('callable');
63
+ return {
64
+ at,
65
+ id: id.text,
66
+ callable: callable !== undefined && callable.kind === ts.SyntaxKind.TrueKeyword,
67
+ described: properties.has('description'),
68
+ answers: properties.has('answers'),
69
+ returnsValue: returnsValue(ts, properties.get('run')),
70
+ arguments: readArguments(ts, properties.get('arguments')),
71
+ };
72
+ }
73
+ function readArguments(ts, value) {
74
+ if (!value || !ts.isArrayLiteralExpression(value)) {
75
+ return [];
76
+ }
77
+ return value.elements.map((element, index) => {
78
+ if (!ts.isObjectLiteralExpression(element)) {
79
+ return { name: `#${index + 1}`, described: false };
80
+ }
81
+ let name = `#${index + 1}`;
82
+ let described = false;
83
+ for (const property of element.properties) {
84
+ if (!ts.isPropertyAssignment(property) || !ts.isIdentifier(property.name)) {
85
+ continue;
86
+ }
87
+ if (property.name.text === 'name' && ts.isStringLiteral(property.initializer)) {
88
+ name = property.initializer.text;
89
+ }
90
+ if (property.name.text === 'description') {
91
+ described = true;
92
+ }
93
+ }
94
+ return { name, described };
95
+ });
96
+ }
97
+ function returnsValue(ts, run) {
98
+ if (!run) {
99
+ return false;
100
+ }
101
+ if (ts.isArrowFunction(run) && !ts.isBlock(run.body)) {
102
+ return ts.isObjectLiteralExpression(run.body) || ts.isArrayLiteralExpression(run.body);
103
+ }
104
+ let found = false;
105
+ const visit = (node) => {
106
+ if (found || ts.isFunctionLike(node) && node !== run) {
107
+ return;
108
+ }
109
+ if (ts.isReturnStatement(node) && node.expression && node.expression.kind !== ts.SyntaxKind.UndefinedKeyword) {
110
+ found = true;
111
+ return;
112
+ }
113
+ ts.forEachChild(node, visit);
114
+ };
115
+ visit(run);
116
+ return found;
117
+ }
118
+ function judge(registration) {
119
+ const { at, id } = registration;
120
+ if (registration.unreadable) {
121
+ return [
122
+ {
123
+ level: 'info',
124
+ code: 'command.unreadable',
125
+ path: at,
126
+ message: `A registerCommand call at ${at} could not be read: ${registration.unreadable}. What it offers an agent is unknown here.`,
127
+ },
128
+ ];
129
+ }
130
+ if (!registration.callable) {
131
+ return [
132
+ {
133
+ level: 'info',
134
+ code: 'command.private',
135
+ path: at,
136
+ message: `${id}: not offered to an agent, because it is not callable; an agent never sees it.`,
137
+ },
138
+ ];
139
+ }
140
+ const findings = [];
141
+ if (!registration.described) {
142
+ findings.push({
143
+ level: 'warning',
144
+ code: 'command.description',
145
+ path: at,
146
+ message: `${id}: offered to an agent without a description; the agent sees only the id and has to guess what it does.`,
147
+ });
148
+ }
149
+ for (const argument of registration.arguments) {
150
+ if (!argument.described) {
151
+ findings.push({
152
+ level: 'info',
153
+ code: 'command.argument',
154
+ path: at,
155
+ message: `${id}: argument "${argument.name}" has no description; an agent sees a bare name and guesses its value.`,
156
+ });
157
+ }
158
+ }
159
+ if (registration.returnsValue && !registration.answers) {
160
+ findings.push({
161
+ level: 'info',
162
+ code: 'command.answers',
163
+ path: at,
164
+ message: `${id}: run returns a value but declares no answers; an agent hears that the command ran, not what it answered.`,
165
+ });
166
+ }
167
+ if (findings.length === 0) {
168
+ const count = registration.arguments.length;
169
+ findings.push({
170
+ level: 'info',
171
+ code: 'command.offered',
172
+ path: at,
173
+ message: `${id}: offered to an agent, with ${count} described argument${count === 1 ? '' : 's'}${registration.answers ? ' and a declared answer' : ''}.`,
174
+ });
175
+ }
176
+ return findings;
177
+ }
178
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/lib/validate/commands.ts"],"names":[],"mappings":";;;AAgCA,4CAaC;AAnCD,6GAA6G;AAChG,QAAA,YAAY,GACvB,qHAAqH,CAAC;AAaxH;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC9B,OAAiC,EACjC,EAAoB;IAEpB,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3G,KAAK,MAAM,IAAI,IAAI,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,oBAAY,EAAE,CAAC,CAAC;IAClF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAoB,EAAE,IAAmB;IACrE,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QACpC,IACE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACzB,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAC/C,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,IAAI,CAAC,EAAoB,EAAE,IAAmB,EAAE,IAAuB;IAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAC9E,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,KAAK,GAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC1H,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,uCAAuC,EAAE,CAAC;IAC3E,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IACpD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,gDAAgD,EAAE,CAAC;QACpF,CAAC;QACD,IAAI,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC/G,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9E,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAoC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,gCAAgC,EAAE,CAAC;IACpE,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO;QACL,EAAE;QACF,EAAE,EAAE,EAAE,CAAC,IAAI;QACX,QAAQ,EAAE,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;QAC/E,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC;QACxC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,YAAY,EAAE,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrD,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,EAAoB,EACpB,KAAgC;IAEhC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC3C,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1E,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9E,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;YACnC,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACzC,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,EAAoB,EAAE,GAAwB;IAClE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QACpC,IAAI,KAAK,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAC7G,KAAK,GAAG,IAAI,CAAC;YACb,OAAO;QACT,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,KAAK,CAAC,GAAG,CAAC,CAAC;IACX,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,KAAK,CAAC,YAA0B;IACvC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC;IAChC,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;QAC5B,OAAO;YACL;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,YAAY,CAAC,UAAU,4CAA4C;aACnI;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO;YACL;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,GAAG,EAAE,gFAAgF;aAC/F;SACF,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,GAAG,EAAE,wGAAwG;SACvH,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,GAAG,EAAE,eAAe,QAAQ,CAAC,IAAI,wEAAwE;aACnH,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,YAAY,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QACvD,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,GAAG,EAAE,2GAA2G;SAC1H,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,GAAG,EAAE,+BAA+B,KAAK,sBAAsB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,GAAG;SACzJ,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,4 +1,4 @@
1
- export type FindingLevel = 'error' | 'warning';
1
+ export type FindingLevel = 'error' | 'warning' | 'info';
2
2
  export interface Finding {
3
3
  readonly level: FindingLevel;
4
4
  readonly code: string;
@@ -0,0 +1,9 @@
1
+ import type * as TS from 'typescript';
2
+ /** The TypeScript compiler API, as the command check needs it. */
3
+ export type TypeScriptModule = typeof TS;
4
+ /**
5
+ * Resolves the TypeScript compiler the way a project's own tooling would: from the directory being
6
+ * checked first, then from the working directory. Returns null where neither has it, so the caller
7
+ * can say so instead of failing inside the compiler.
8
+ */
9
+ export declare function loadTypeScript(fromDir: string): TypeScriptModule | null;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadTypeScript = loadTypeScript;
4
+ const node_module_1 = require("node:module");
5
+ const node_path_1 = require("node:path");
6
+ /**
7
+ * Resolves the TypeScript compiler the way a project's own tooling would: from the directory being
8
+ * checked first, then from the working directory. Returns null where neither has it, so the caller
9
+ * can say so instead of failing inside the compiler.
10
+ */
11
+ function loadTypeScript(fromDir) {
12
+ for (const from of [(0, node_path_1.resolve)(fromDir, 'package.json'), (0, node_path_1.resolve)(process.cwd(), 'package.json')]) {
13
+ try {
14
+ return (0, node_module_1.createRequire)(from)('typescript');
15
+ }
16
+ catch {
17
+ continue;
18
+ }
19
+ }
20
+ return null;
21
+ }
22
+ //# sourceMappingURL=typescript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/lib/validate/typescript.ts"],"names":[],"mappings":";;AAYA,wCASC;AArBD,6CAA4C;AAC5C,yCAAoC;AAMpC;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAe;IAC5C,KAAK,MAAM,IAAI,IAAI,CAAC,IAAA,mBAAO,EAAC,OAAO,EAAE,cAAc,CAAC,EAAE,IAAA,mBAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC9F,IAAI,CAAC;YACH,OAAO,IAAA,2BAAa,EAAC,IAAI,CAAC,CAAC,YAAY,CAAqB,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -65,9 +65,9 @@ function readme(d) {
65
65
  "project's `project.json`, keeping the targets, `implicitDependencies` and tags it already had.",
66
66
  '',
67
67
  'Two leftovers from `ng new` are no longer referenced and can go: `src/app/app.routes.ts` (the',
68
- 'shell owns content routing via `provideShellRouter()`) and `src/app/app.css`. The generated',
69
- '`src/app/app.spec.ts` now fails — `App` pulls the whole shell into a bare `TestBed` — so delete',
70
- 'it and test your own components instead of the composition root.',
68
+ 'shell owns content routing via `provideShellRouter()`) and `src/app/app.css`. The starter test',
69
+ '`src/app/app.spec.ts` was replaced by one that boots the shell with this composition root, so',
70
+ '`ng test` is green as generated; test your own components beside it.',
71
71
  '',
72
72
  'The project is generated **untagged**: Nx tags belong to your `depConstraints`, and inventing',
73
73
  'one would fail a lint policy you never opted this project into. If your workspace enforces',
@@ -1 +1 @@
1
- {"version":3,"file":"readme.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-distribution/readme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readme.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-distribution/readme.ts"],"names":[],"mappings":"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"}
@@ -111,6 +111,31 @@ describe('layout', () => {
111
111
  });
112
112
  `;
113
113
  }
114
+ function appSpec() {
115
+ return `import { TestBed } from '@angular/core/testing';
116
+ import { App } from './app';
117
+ import { appConfig } from './app.config';
118
+
119
+ /* The application's starter test, rewritten for a root component that renders the shell: it boots
120
+ with the composition root's own providers, so whatever you compose in is what the test boots
121
+ with, and it asserts only that the shell mounted. */
122
+ describe('App', () => {
123
+ beforeEach(async () => {
124
+ await TestBed.configureTestingModule({
125
+ imports: [App],
126
+ providers: appConfig.providers,
127
+ }).compileComponents();
128
+ });
129
+
130
+ it('boots the shell', async () => {
131
+ const fixture = TestBed.createComponent(App);
132
+ await fixture.whenStable();
133
+ const compiled = fixture.nativeElement as HTMLElement;
134
+ expect(compiled.querySelector('lw-shell')).toBeTruthy();
135
+ });
136
+ });
137
+ `;
138
+ }
114
139
  function indexHtml(d) {
115
140
  return `<!DOCTYPE html>
116
141
  <html lang="en">
@@ -229,7 +254,10 @@ exports.angularDistribution = {
229
254
  return {
230
255
  'src/main.ts': mainTs(),
231
256
  'src/app/app.config.ts': appConfigTs(d),
232
- ...(d.withTests && { 'src/app/app.config.spec.ts': appConfigSpec() }),
257
+ ...(d.withTests && {
258
+ 'src/app/app.config.spec.ts': appConfigSpec(),
259
+ 'src/app/app.spec.ts': appSpec(),
260
+ }),
233
261
  'src/app/app.ts': appTs(),
234
262
  'src/app/app.html': appHtml(),
235
263
  'src/index.html': indexHtml(d),
@@ -1 +1 @@
1
- {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-distribution/recipe.ts"],"names":[],"mappings":";;;AAmCA,4DA0BC;AA5DD,6CAAsD;AAEtD,sDAAmE;AACnE,oDAAiD;AACjD,iCAA8C;AAC9C,qCAAkC;AA2BlC,MAAM,MAAM,GAAkC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAE1E,SAAgB,wBAAwB,CACtC,KAAwB;IAExB,IAAI,CAAC,IAAA,kBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,mEAAmE,KAAK,CAAC,IAAI,IAAI,CAClF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,0BAA0B,MAAM,sBAAsB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3E,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,KAAK,SAAS;QAC3B,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,EAAE;QACtB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC1D,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,IAAA,oBAAW,EAAC,KAAK,CAAC,IAAI,CAAC;QACrD,kBAAkB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,cAAc;QAC5D,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK;QACpC,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,MAAM;IACb,OAAO;;;;;CAKR,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,CAAuB;IAC1C,OAAO;;;;;;;;;;;;;;;;EAgBP,IAAA,6BAAa,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;eAmBf,CAAC,CAAC,KAAK;;;;;;CAMrB,CAAC;AACF,CAAC;AAED,SAAS,KAAK;IACZ,OAAO;;;;;;;;;CASR,CAAC;AACF,CAAC;AAED,SAAS,OAAO;IACd,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa;IACpB,OAAO;;;;;;;;;;;;;CAaR,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,CAAuB;IACxC,OAAO;;;;aAII,CAAC,CAAC,KAAK;;;;;;;;;;;;;;;CAenB,CAAC;AACF,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;;;;;;;;;;;;;;;;;;CAkBR,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,CAAuB;IAC1C,OAAO;;;;;;;;;;;;WAYE,CAAC,CAAC,kBAAkB;;CAE9B,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,CAAuB;IACxC,OAAO,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,OAAO,EAAE,2DAA2D;QACpE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,UAAU;gBACvB,SAAS,EAAE;oBACT,KAAK,EAAE,CAAC,aAAa,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,CAAC;iBACnE;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,UAAU;gBACtB,SAAS,EAAE;oBACT,KAAK,EAAE,CAAC,iBAAiB,CAAC;iBAC3B;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE,UAAU;gBACtB,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,wEAAwE;qBACzE;iBACF;aACF;SACF;KACF,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,CAAuB;IACvC,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,IAAI,EAAE,CAAC,CAAC,KAAK;QACb,UAAU,EAAE,CAAC,CAAC,KAAK;QACnB,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,+BAA+B;QACtD,SAAS,EAAE,GAAG;QACd,OAAO,EAAE,YAAY;QACrB,gBAAgB,EAAE,SAAS;QAC3B,WAAW,EAAE,SAAS;QACtB,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KAClE,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAEY,QAAA,mBAAmB,GAA8B;IAC5D,EAAE,EAAE,sBAAsB;IAC1B,KAAK,CAAC,KAAwB;QAC5B,OAAO,IAAA,mCAAsB,EAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,KAAK,CAAC,KAAwB;QAC5B,MAAM,CAAC,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO;YACL,aAAa,EAAE,MAAM,EAAE;YACvB,uBAAuB,EAAE,WAAW,CAAC,CAAC,CAAC;YACvC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,4BAA4B,EAAE,aAAa,EAAE,EAAE,CAAC;YACrE,gBAAgB,EAAE,KAAK,EAAE;YACzB,kBAAkB,EAAE,OAAO,EAAE;YAC7B,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;YAC9B,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;YAC9B,iBAAiB,EAAE,2BAAoB;YACvC,6BAA6B,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;YACjD,kBAAkB,EAAE,UAAU,EAAE,GAAG,IAAI;YACvC,eAAe,EAAE,IAAA,eAAM,EAAC,CAAC,CAAC;SAC3B,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-distribution/recipe.ts"],"names":[],"mappings":";;;AAmCA,4DA0BC;AA5DD,6CAAsD;AAEtD,sDAAmE;AACnE,oDAAiD;AACjD,iCAA8C;AAC9C,qCAAkC;AA2BlC,MAAM,MAAM,GAAkC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAE1E,SAAgB,wBAAwB,CACtC,KAAwB;IAExB,IAAI,CAAC,IAAA,kBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,mEAAmE,KAAK,CAAC,IAAI,IAAI,CAClF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,0BAA0B,MAAM,sBAAsB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3E,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,KAAK,SAAS;QAC3B,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,EAAE;QACtB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC1D,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,IAAA,oBAAW,EAAC,KAAK,CAAC,IAAI,CAAC;QACrD,kBAAkB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,cAAc;QAC5D,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK;QACpC,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,MAAM;IACb,OAAO;;;;;CAKR,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,CAAuB;IAC1C,OAAO;;;;;;;;;;;;;;;;EAgBP,IAAA,6BAAa,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;eAmBf,CAAC,CAAC,KAAK;;;;;;CAMrB,CAAC;AACF,CAAC;AAED,SAAS,KAAK;IACZ,OAAO;;;;;;;;;CASR,CAAC;AACF,CAAC;AAED,SAAS,OAAO;IACd,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa;IACpB,OAAO;;;;;;;;;;;;;CAaR,CAAC;AACF,CAAC;AAED,SAAS,OAAO;IACd,OAAO;;;;;;;;;;;;;;;;;;;;;;CAsBR,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,CAAuB;IACxC,OAAO;;;;aAII,CAAC,CAAC,KAAK;;;;;;;;;;;;;;;CAenB,CAAC;AACF,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;;;;;;;;;;;;;;;;;;CAkBR,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,CAAuB;IAC1C,OAAO;;;;;;;;;;;;WAYE,CAAC,CAAC,kBAAkB;;CAE9B,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,CAAuB;IACxC,OAAO,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,OAAO,EAAE,2DAA2D;QACpE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,UAAU;gBACvB,SAAS,EAAE;oBACT,KAAK,EAAE,CAAC,aAAa,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,CAAC;iBACnE;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,UAAU;gBACtB,SAAS,EAAE;oBACT,KAAK,EAAE,CAAC,iBAAiB,CAAC;iBAC3B;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE,UAAU;gBACtB,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,wEAAwE;qBACzE;iBACF;aACF;SACF;KACF,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,CAAuB;IACvC,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,IAAI,EAAE,CAAC,CAAC,KAAK;QACb,UAAU,EAAE,CAAC,CAAC,KAAK;QACnB,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,+BAA+B;QACtD,SAAS,EAAE,GAAG;QACd,OAAO,EAAE,YAAY;QACrB,gBAAgB,EAAE,SAAS;QAC3B,WAAW,EAAE,SAAS;QACtB,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KAClE,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAEY,QAAA,mBAAmB,GAA8B;IAC5D,EAAE,EAAE,sBAAsB;IAC1B,KAAK,CAAC,KAAwB;QAC5B,OAAO,IAAA,mCAAsB,EAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,KAAK,CAAC,KAAwB;QAC5B,MAAM,CAAC,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO;YACL,aAAa,EAAE,MAAM,EAAE;YACvB,uBAAuB,EAAE,WAAW,CAAC,CAAC,CAAC;YACvC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI;gBACjB,4BAA4B,EAAE,aAAa,EAAE;gBAC7C,qBAAqB,EAAE,OAAO,EAAE;aACjC,CAAC;YACF,gBAAgB,EAAE,KAAK,EAAE;YACzB,kBAAkB,EAAE,OAAO,EAAE;YAC7B,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;YAC9B,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;YAC9B,iBAAiB,EAAE,2BAAoB;YACvC,6BAA6B,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;YACjD,kBAAkB,EAAE,UAAU,EAAE,GAAG,IAAI;YACvC,eAAe,EAAE,IAAA,eAAM,EAAC,CAAC,CAAC;SAC3B,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -6,7 +6,7 @@ import type { ResolvedWeaver } from './recipe';
6
6
  * declares as a peer: two different ranges resolve to two copies, and an event built by one is not
7
7
  * the event the other switches on. `check-agent-versions` fails the build when either drifts.
8
8
  */
9
- export declare const AG_UI_ADAPTER_VERSION = "0.9.0-preview.1";
9
+ export declare const AG_UI_ADAPTER_VERSION = "0.9.0-preview.2";
10
10
  export declare const AG_UI_PROTOCOL_VERSION = "0.0.x";
11
11
  export declare function agentSurfaceBlock(w: ResolvedWeaver): string;
12
12
  export declare function agentFiles(w: ResolvedWeaver): FileMap;
@@ -11,7 +11,7 @@ const agent_stand_in_1 = require("./agent-stand-in");
11
11
  * declares as a peer: two different ranges resolve to two copies, and an event built by one is not
12
12
  * the event the other switches on. `check-agent-versions` fails the build when either drifts.
13
13
  */
14
- exports.AG_UI_ADAPTER_VERSION = '0.9.0-preview.1';
14
+ exports.AG_UI_ADAPTER_VERSION = '0.9.0-preview.2';
15
15
  exports.AG_UI_PROTOCOL_VERSION = '0.0.x';
16
16
  function connectionFile(w) {
17
17
  return `import { signal } from '@angular/core';
@@ -77,7 +77,7 @@ function contextThat(confirms: boolean, ran: Asked[]): PluginContext {
77
77
  ],
78
78
  invokeCommand: (id: string, args?: CommandArguments) => {
79
79
  ran.push({ id, args });
80
- return Promise.resolve({ outcome: 'answered', value: 'it ran' });
80
+ return Promise.resolve({ outcome: 'answered', value: { tone: args?.['tone'] ?? 'info' } });
81
81
  },
82
82
  ui: { confirm: () => Promise.resolve(confirms) },
83
83
  } as unknown as PluginContext;
@@ -106,17 +106,17 @@ describe('${w.propertyName}Connection', () => {
106
106
  ),
107
107
  ).toBeNull();
108
108
  await tools.receive(
109
- event(EventType.TOOL_CALL_ARGS, { toolCallId: 'c1', delta: '{"who"' }),
109
+ event(EventType.TOOL_CALL_ARGS, { toolCallId: 'c1', delta: '{"tone"' }),
110
110
  );
111
111
  await tools.receive(
112
- event(EventType.TOOL_CALL_ARGS, { toolCallId: 'c1', delta: ':"you"}' }),
112
+ event(EventType.TOOL_CALL_ARGS, { toolCallId: 'c1', delta: ':"success"}' }),
113
113
  );
114
114
  const answer = await tools.receive(
115
115
  event(EventType.TOOL_CALL_END, { toolCallId: 'c1' }),
116
116
  );
117
117
 
118
- expect(ran).toEqual([{ id: '${w.id}.hello', args: { who: 'you' } }]);
119
- expect(answer?.content).toBe('it ran');
118
+ expect(ran).toEqual([{ id: '${w.id}.hello', args: { tone: 'success' } }]);
119
+ expect(JSON.parse(answer?.content ?? '{}').tone).toBe('success');
120
120
  expect(answer?.error).toBeUndefined();
121
121
  });
122
122
 
@@ -30,6 +30,12 @@ export class ${w.className}AgentPanel {
30
30
  private runs = 0;
31
31
 
32
32
  constructor() {
33
+ this.refreshOffered();
34
+ }
35
+
36
+ // The list is read again whenever the panel gains focus, because the weaver's own translations
37
+ // and other plugins' commands may arrive after this component was built.
38
+ protected refreshOffered(): void {
33
39
  this.offered.set(${w.propertyName}Agent()?.list() ?? []);
34
40
  }
35
41
 
@@ -120,7 +126,7 @@ export class ${w.className}AgentPanel {
120
126
  `;
121
127
  }
122
128
  function panelTemplateFile(w) {
123
- return `<div class="flex h-full flex-col gap-3">
129
+ return `<div class="flex h-full flex-col gap-3" (focusin)="refreshOffered()">
124
130
  <p
125
131
  class="shrink-0 rounded-md border border-border bg-surface-raised px-3 py-2 text-xs text-content-muted"
126
132
  >
@@ -1 +1 @@
1
- {"version":3,"file":"agent-panel.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-weaver/agent-panel.ts"],"names":[],"mappings":";;AAEA,8BAoHC;AAED,8CAsEC;AA5LD,SAAgB,SAAS,CAAC,CAAiB;IACzC,OAAO;;WAEE,CAAC,CAAC,YAAY,mBAAmB,CAAC,CAAC,EAAE;8BAClB,CAAC,CAAC,EAAE;;;;;;;;;;eAUnB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;oBACX,CAAC,CAAC,EAAE;;;eAGT,CAAC,CAAC,SAAS;;;;;;;;;;uBAUH,CAAC,CAAC,YAAY;;;;oBAIjB,CAAC,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFjC,CAAC;AACF,CAAC;AAED,SAAgB,iBAAiB,CAAC,CAAiB;IACjD,OAAO;;;;;yCAKgC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+D5C,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"agent-panel.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-weaver/agent-panel.ts"],"names":[],"mappings":";;AAEA,8BA0HC;AAED,8CAsEC;AAlMD,SAAgB,SAAS,CAAC,CAAiB;IACzC,OAAO;;WAEE,CAAC,CAAC,YAAY,mBAAmB,CAAC,CAAC,EAAE;8BAClB,CAAC,CAAC,EAAE;;;;;;;;;;eAUnB,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;oBACX,CAAC,CAAC,EAAE;;;eAGT,CAAC,CAAC,SAAS;;;;;;;;;;;;;;;;uBAgBH,CAAC,CAAC,YAAY;;;;oBAIjB,CAAC,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFjC,CAAC;AACF,CAAC;AAED,SAAgB,iBAAiB,CAAC,CAAiB;IACjD,OAAO;;;;;yCAKgC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+D5C,CAAC;AACF,CAAC"}
@@ -45,10 +45,10 @@ export async function* askAgent(
45
45
  toolCallName: picked.name,
46
46
  });
47
47
  // Arguments arrive in pieces, exactly as they do from a real model. The adapter assembles them;
48
- // nothing downstream ever sees a half-written call. A real agent fills them from the JSON Schema
49
- // the workbench described in picked.parameters; a stand-in has nothing to fill them from, so it
50
- // sends none and lets the command apply its own defaults.
51
- for (const piece of chunks(JSON.stringify({}), 4)) {
48
+ // nothing downstream ever sees a half-written call. The values come from the JSON Schema the
49
+ // workbench described in picked.parameters: the first declared choice of the first argument that
50
+ // has choices, and nothing for the rest, so the command applies its own defaults there.
51
+ for (const piece of chunks(JSON.stringify(sampleArguments(picked)), 4)) {
52
52
  yield event(EventType.TOOL_CALL_ARGS, { toolCallId, delta: piece });
53
53
  await pause();
54
54
  }
@@ -73,6 +73,18 @@ async function* speak(
73
73
  yield event(EventType.TEXT_MESSAGE_END, { messageId });
74
74
  }
75
75
 
76
+ function sampleArguments(tool: Tool): Record<string, unknown> {
77
+ const schema = tool.parameters as
78
+ | { properties?: Record<string, { enum?: readonly unknown[] }> }
79
+ | undefined;
80
+ for (const [name, property] of Object.entries(schema?.properties ?? {})) {
81
+ if (property.enum && property.enum.length > 0) {
82
+ return { [name]: property.enum[0] };
83
+ }
84
+ }
85
+ return {};
86
+ }
87
+
76
88
  function chunks(text: string, size: number): readonly string[] {
77
89
  const pieces: string[] = [];
78
90
  for (let at = 0; at < text.length; at += size) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-stand-in.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-weaver/agent-stand-in.ts"],"names":[],"mappings":";;AAEA,kCAwFC;AAxFD,SAAgB,WAAW,CAAC,CAAiB;IAC3C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BQ,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4BJ,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCpB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"agent-stand-in.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-weaver/agent-stand-in.ts"],"names":[],"mappings":";;AAEA,kCAoGC;AApGD,SAAgB,WAAW,CAAC,CAAiB;IAC3C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BQ,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4BJ,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CpB,CAAC;AACF,CAAC"}
@@ -8,6 +8,7 @@ const agent_files_1 = require("./agent-files");
8
8
  const weaver_terms_1 = require("./weaver-terms");
9
9
  const weaver_readme_1 = require("./weaver-readme");
10
10
  const weaver_i18n_1 = require("./weaver-i18n");
11
+ const weaver_command_1 = require("./weaver-command");
11
12
  const DEFAULT_MENU_SLOT = 'content/tab/context';
12
13
  const SURFACE_ICON = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" aria-hidden="true"><rect x="4" y="4" width="16" height="16" rx="3"/><path d="M8 9h8M8 13h8M8 17h5"/></svg>';
13
14
  function accessLiteral(spec) {
@@ -186,18 +187,6 @@ function railBlock(w) {
186
187
  lines.push(' });');
187
188
  return lines.join('\n');
188
189
  }
189
- function commandBlock(w) {
190
- return [
191
- ' ctx.registerCommand({',
192
- ` id: '${w.id}.hello',`,
193
- ` title: '${w.id}.action',`,
194
- ` description: '${w.id}.actionDescription',`,
195
- ` shortcut: '${w.features.shortcut}',`,
196
- ' callable: true,',
197
- ` run: () => ctx.ui.toast({ message: '${w.id}.action', kind: 'info' }),`,
198
- ' });',
199
- ].join('\n');
200
- }
201
190
  function barItemBlock(w) {
202
191
  return [
203
192
  ' ctx.registerBarItem({',
@@ -285,7 +274,7 @@ function pluginFile(w) {
285
274
  body.push(` ${w.propertyName}Agent.set(${w.propertyName}Connection(ctx));`);
286
275
  }
287
276
  if (w.features.command)
288
- body.push(commandBlock(w));
277
+ body.push((0, weaver_command_1.commandBlock)(w));
289
278
  if (w.features.about)
290
279
  body.push(aboutCommandBlock(w));
291
280
  body.push(surfaceBlock(w), railBlock(w));
@@ -302,9 +291,11 @@ function pluginFile(w) {
302
291
  const deactivate = w.features.agent
303
292
  ? `\n deactivate() {\n ${w.propertyName}Agent.set(null);\n },`
304
293
  : '';
294
+ if (w.features.command)
295
+ consts.push((0, weaver_command_1.toneHelper)());
305
296
  return `${imports.join('\n')}
306
297
 
307
- ${consts.join('\n')}
298
+ ${consts.join('\n\n')}
308
299
 
309
300
  export const ${w.propertyName}Plugin: Plugin = {
310
301
  manifest: {
@@ -1 +1 @@
1
- {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-weaver/recipe.ts"],"names":[],"mappings":";;;AAsKA,gDAoBC;AAzLD,sDAKmC;AACnC,0DAAiE;AACjE,+CAA8D;AAC9D,iDAAuE;AACvE,mDAA6C;AAC7C,+CAAyC;AAoDzC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEhD,MAAM,YAAY,GAChB,0LAA0L,CAAC;AAE7L,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,IAAI,KAAK,eAAe;QAAE,OAAO,yBAAyB,CAAC;IAC/D,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,0BAA0B,CAAC;IAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YACP,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,gBAAgB,IAAI,2CAA2C,CAChE,CAAC;QACJ,OAAO,gBAAgB,IAAI,MAAM,CAAC;IACpC,CAAC;IACD,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,uDAAuD,CAC/E,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAA4B;IACnD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC1C,KAAK;IACL,SAAS;IACT,MAAM;IACN,SAAS;IACT,MAAM;CACP,CAAC,CAAC;AAEH,SAAS,0BAA0B,CAAC,QAAgB;IAClD,MAAM,MAAM,GAAG,QAAQ;SACpB,WAAW,EAAE;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,aAAa,QAAQ,kCAAkC,KAAK,iHAAiH,CAC9K,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,EAAU,EACV,KAAiC;IAEjC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,WAAW,EAAE,CAAC;QAChB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,sMAAsM,CACvM,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpC,OAAO;QACL,OAAO,EACL,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;YACvB,QAAQ,KAAK,SAAS;YACtB,OAAO;YACP,WAAW;YACX,KAAK;QACP,QAAQ;QACR,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;QAClC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/D,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QAChE,OAAO;QACP,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;QAC5B,YAAY;QACZ,SAAS;QACT,KAAK;QACL,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,KAAK;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,QAA0B;IACpD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IACrD,IAAI,QAAQ,CAAC,OAAO;QAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,6BAAkB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAkB;IACnD,IAAI,CAAC,IAAA,kBAAS,EAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,qDAAqD,KAAK,CAAC,EAAE,IAAI,CAClE,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,MAAM;QAC7C,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;QACzB,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAA,oBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QACjD,SAAS,EAAE,IAAA,qBAAY,EAAC,KAAK,CAAC,EAAE,CAAC;QACjC,YAAY,EAAE,IAAA,oBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QACnC,YAAY;QACZ,QAAQ;QACR,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI;QACpC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,eAAe,KAAK,CAAC,EAAE,SAAS;KACzE,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAiB;IAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,CAAiB;IAC9C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;SACtB,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,KAAK,GAAG;QACZ,2BAA2B;QAC3B,cAAc,CAAC,CAAC,EAAE,IAAI;QACtB,iBAAiB,CAAC,CAAC,EAAE,UAAU;QAC/B,gBAAgB,CAAC,CAAC,EAAE,IAAI;QACxB,4BAA4B,CAAC,CAAC,EAAE,UAAU;QAC1C,oBAAoB;QACpB,sBAAsB,QAAQ,IAAI;QAClC,qBAAqB,QAAQ,IAAI;QACjC,UAAU;KACX,CAAC;IACF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtB,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI;QAChC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,SAAS,YAAY,CAAC;QACtC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,aAAa,CAAC;KACzC,EAAE,CAAC;QACF,KAAK,CAAC,IAAI,CACR,2BAA2B,EAC3B,cAAc,CAAC,CAAC,EAAE,IAAI,MAAM,IAAI,EAChC,iBAAiB,CAAC,CAAC,EAAE,IAAI,MAAM,IAAI,EACnC,kBAAkB,EAClB,oBAAoB,SAAS,GAAG,EAChC,SAAS,CACV,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,CAAiB;IACrC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACzB,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,2BAA2B;QAC3B,cAAc,CAAC,CAAC,EAAE,IAAI;QACtB,iBAAiB,CAAC,CAAC,EAAE,UAAU;QAC/B,gBAAgB,CAAC,CAAC,EAAE,IAAI;QACxB,oBAAoB,CAAC,CAAC,SAAS,OAAO;KACvC,CAAC;IACF,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,8BAA8B,EAAE,2BAA2B,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CAAC,CAAiB;IACnC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACzB,OAAO,wBAAwB,CAAC,CAAC,EAAE,IAAI,mCAAoB,IAAI,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC5B,OAAO,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC;IACxC,CAAC;IACD,OAAO,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,CAAiB;IAClC,MAAM,KAAK,GAAG;QACZ,4BAA4B;QAC5B,cAAc,CAAC,CAAC,EAAE,SAAS;QAC3B,wBAAwB;QACxB,gBAAgB,CAAC,CAAC,EAAE,IAAI;QACxB,iBAAiB,CAAC,CAAC,EAAE,UAAU;QAC/B,oBAAoB,UAAU,CAAC,CAAC,CAAC,GAAG;KACrC,CAAC;IACF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,CAAiB;IACrC,OAAO;QACL,2BAA2B;QAC3B,cAAc,CAAC,CAAC,EAAE,UAAU;QAC5B,iBAAiB,CAAC,CAAC,EAAE,WAAW;QAChC,uBAAuB,CAAC,CAAC,EAAE,sBAAsB;QACjD,oBAAoB,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI;QAC3C,uBAAuB;QACvB,6CAA6C,CAAC,CAAC,EAAE,4BAA4B;QAC7E,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,CAAiB;IACrC,OAAO;QACL,2BAA2B;QAC3B,cAAc,CAAC,CAAC,EAAE,QAAQ;QAC1B,0BAA0B;QAC1B,oBAAoB;QACpB,gBAAgB,CAAC,CAAC,EAAE,IAAI;QACxB,mBAAmB,CAAC,CAAC,EAAE,WAAW;QAClC,mBAAmB,CAAC,CAAC,EAAE,UAAU;QACjC,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAiB;IAC1C,OAAO;QACL,2BAA2B;QAC3B,cAAc,CAAC,CAAC,EAAE,UAAU;QAC5B,iBAAiB,CAAC,CAAC,EAAE,UAAU;QAC/B,gCAAgC,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,EAAE,aAAa;QACtG,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,CAAiB;IACvC,OAAO;QACL,4BAA4B;QAC5B,cAAc,CAAC,CAAC,EAAE,eAAe;QACjC,wBAAwB;QACxB,yBAAyB;QACzB,gBAAgB,CAAC,CAAC,EAAE,IAAI;QACxB,iBAAiB,CAAC,CAAC,EAAE,UAAU;QAC/B,mBAAmB,CAAC,CAAC,EAAE,UAAU;QACjC,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,CAAiB;IAClC,OAAO;QACL,4BAA4B;QAC5B,gBAAgB,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI;QACvC,mBAAmB,CAAC,CAAC,EAAE,UAAU;QACjC,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,CAAiB;IACtC,OAAO;QACL,mCAAmC;QACnC,cAAc,CAAC,CAAC,EAAE,IAAI;QACtB,iBAAiB,CAAC,CAAC,EAAE,mBAAmB;QACxC,eAAe;QACf,WAAW;QACX,0BAA0B;QAC1B,qBAAqB,CAAC,CAAC,EAAE,qBAAqB;QAC9C,qDAAqD,CAAC,CAAC,YAAY,0BAA0B,CAAC,CAAC,YAAY,mBAAmB;QAC9H,YAAY;QACZ,WAAW;QACX,uBAAuB;QACvB,qBAAqB,CAAC,CAAC,EAAE,kBAAkB;QAC3C,mDAAmD,CAAC,CAAC,YAAY,uBAAuB,CAAC,CAAC,YAAY,gBAAgB;QACtH,YAAY;QACZ,UAAU;QACV,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,CAAiB;IACnC,MAAM,OAAO,GAAG,CAAC,kDAAkD,CAAC,CAAC;IACrE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CACV,YAAY,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,EAAE,gBAAgB,EAC1E,YAAY,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,EAAE,iBAAiB,CAC7E,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CACV,YAAY,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,EAAE,iBAAiB,CAC/E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CACV,YAAY,CAAC,CAAC,YAAY,UAAU,CAAC,CAAC,YAAY,+BAA+B,CAAC,CAAC,EAAE,UAAU,EAC/F,YAAY,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,EAAE,gBAAgB,CAC3E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,oBAAoB,YAAY,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CACT,SAAS,CAAC,CAAC,YAAY,yBAAyB,EAChD,SAAS,CAAC,CAAC,YAAY,oBAAoB,CAC5C,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,8BAA8B,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC/D,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CACP,OAAO,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,YAAY,mBAAmB,CACpE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,IAAA,+BAAiB,EAAC,CAAC,CAAC,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK;QACjC,CAAC,CAAC,2BAA2B,CAAC,CAAC,YAAY,wBAAwB;QACnE,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;EAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;eAEJ,CAAC,CAAC,YAAY;;WAElB,CAAC,CAAC,EAAE;aACF,CAAC,CAAC,IAAI;qBACE,IAAA,8BAAe,EAAC,CAAC,CAAC,YAAY,CAAC;;;EAGlD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;MACX,UAAU;;CAEf,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,CAAiB;IACxC,OAAO;;;;eAIM,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;oBACX,CAAC,CAAC,EAAE;;eAET,CAAC,CAAC,SAAS;;;CAGzB,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,CAAiB;IAChD,OAAO;mDAC0C,CAAC,CAAC,IAAI;;;CAGxD,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,CAAiB;IAClC,OAAO,YAAY,CAAC,CAAC,YAAY,+BAA+B,CAAC,CAAC,EAAE,aAAa,CAAC;AACpF,CAAC;AAED,SAAS,QAAQ,CAAC,CAAiB;IACjC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO;;;eAGI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;oBACX,CAAC,CAAC,EAAE;;eAET,CAAC,CAAC,SAAS;CACzB,CAAC;IACA,CAAC;IACD,OAAO;;;YAGG,CAAC,CAAC,SAAS;;;;eAIR,CAAC,CAAC,SAAS;;;eAGX,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;oBACX,CAAC,CAAC,EAAE;;eAET,CAAC,CAAC,SAAS;iEACuC,CAAC,CAAC,SAAS;;;;;;;;;;;;;;;CAe3E,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAiB;IACzC,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY;QACvC,CAAC,CAAC;;;;;;;CAOL;QACG,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;mDAC0C,CAAC,CAAC,IAAI;;;;;;EAMvD,SAAS;CACV,CAAC;AACF,CAAC;AAED,SAAS,aAAa,CACpB,CAAiB,EACjB,MAAc,EACd,SAAiB;IAEjB,OAAO;;;;eAIM,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,MAAM;oBACrB,CAAC,CAAC,EAAE,IAAI,MAAM;;eAEnB,SAAS;;;;;;CAMvB,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB,CAAC,CAAiB,EAAE,OAAe;IAC/D,OAAO;mDAC0C,OAAO;;;;;;;CAOzD,CAAC;AACF,CAAC;AAED,SAAS,QAAQ,CAAC,CAAiB;IACjC,OAAO,YAAY,CAAC,CAAC,YAAY,oBAAoB,CAAC,CAAC,EAAE;;YAE/C,CAAC,CAAC,YAAY;;aAEb,CAAC,CAAC,YAAY,6BAA6B,CAAC,CAAC,EAAE;aAC/C,CAAC,CAAC,YAAY;;;CAG1B,CAAC;AACF,CAAC;AAEY,QAAA,aAAa,GAAwB;IAChD,EAAE,EAAE,gBAAgB;IACpB,KAAK,CAAC,KAAkB;QACtB,MAAM,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,KAAK,GAA2B;YACpC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;YAC5B,CAAC,kBAAkB,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;YACnD,sBAAsB,EAAE,IAAA,sBAAQ,EAAC,CAAC,CAAC;YACnC,sBAAsB,EAAE,IAAA,sBAAQ,EAAC,CAAC,CAAC;YACnC,WAAW,EAAE,IAAA,0BAAU,EAAC,CAAC,CAAC;SAC3B,CAAC;QACF,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACzB,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,aAAa,CAC3D,CAAC,EACD,QAAQ,EACR,GAAG,CAAC,CAAC,SAAS,YAAY,CAC3B,CAAC;YACF,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,CAAC,GAAG,qBAAqB,CACrE,CAAC,EACD,QAAQ,CACT,CAAC;YACF,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG,aAAa,CAC5D,CAAC,EACD,SAAS,EACT,GAAG,CAAC,CAAC,SAAS,aAAa,CAC5B,CAAC;YACF,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,oBAAoB,CAAC,GAAG,qBAAqB,CACtE,CAAC,EACD,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrD,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrB,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACtE,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE,oBAAoB,CAAC;gBAChD,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAA,wBAAU,EAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-weaver/recipe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ResolvedWeaver } from './recipe';
2
+ export declare function commandBlock(w: ResolvedWeaver): string;
3
+ export declare function toneHelper(): string;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commandBlock = commandBlock;
4
+ exports.toneHelper = toneHelper;
5
+ function commandBlock(w) {
6
+ return [
7
+ ' ctx.registerCommand({',
8
+ ` id: '${w.id}.hello',`,
9
+ ` title: '${w.id}.action',`,
10
+ ` description: '${w.id}.actionDescription',`,
11
+ ' arguments: [',
12
+ ` { name: 'tone', kind: 'choice', choices: ['info', 'success', 'warning'], description: '${w.id}.actionTone' },`,
13
+ ' ],',
14
+ ` answers: '${w.id}.actionAnswers',`,
15
+ ` shortcut: '${w.features.shortcut}',`,
16
+ ' callable: true,',
17
+ ' run: (_context, args) => {',
18
+ " const tone = toneOf(args?.['tone']);",
19
+ ` ctx.ui.toast({ message: '${w.id}.action', kind: tone });`,
20
+ ' return { tone };',
21
+ ' },',
22
+ ' });',
23
+ ].join('\n');
24
+ }
25
+ function toneHelper() {
26
+ return [
27
+ "type Tone = 'info' | 'success' | 'warning';",
28
+ '',
29
+ '// The workbench already refused anything outside the declared choices; this narrows the type.',
30
+ 'function toneOf(value: unknown): Tone {',
31
+ " return value === 'success' || value === 'warning' ? value : 'info';",
32
+ '}',
33
+ ].join('\n');
34
+ }
35
+ //# sourceMappingURL=weaver-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weaver-command.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-weaver/weaver-command.ts"],"names":[],"mappings":";;AAEA,oCAmBC;AAED,gCASC;AA9BD,SAAgB,YAAY,CAAC,CAAiB;IAC5C,OAAO;QACL,2BAA2B;QAC3B,cAAc,CAAC,CAAC,EAAE,UAAU;QAC5B,iBAAiB,CAAC,CAAC,EAAE,WAAW;QAChC,uBAAuB,CAAC,CAAC,EAAE,sBAAsB;QACjD,oBAAoB;QACpB,kGAAkG,CAAC,CAAC,EAAE,iBAAiB;QACvH,UAAU;QACV,mBAAmB,CAAC,CAAC,EAAE,kBAAkB;QACzC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI;QAC3C,uBAAuB;QACvB,kCAAkC;QAClC,8CAA8C;QAC9C,oCAAoC,CAAC,CAAC,EAAE,0BAA0B;QAClE,0BAA0B;QAC1B,UAAU;QACV,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAgB,UAAU;IACxB,OAAO;QACL,6CAA6C;QAC7C,EAAE;QACF,gGAAgG;QAChG,yCAAyC;QACzC,uEAAuE;QACvE,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -10,7 +10,9 @@ function i18nBundle(w) {
10
10
  }
11
11
  if (w.features.command) {
12
12
  bundle['action'] = `${w.name} action`;
13
- bundle['actionDescription'] = `Shows a short ${w.name} message.`;
13
+ bundle['actionDescription'] = `Shows a short ${w.name} message in the tone the caller chooses.`;
14
+ bundle['actionTone'] = 'How the message is shown: info, success or warning. Use info unless the caller asked for emphasis.';
15
+ bundle['actionAnswers'] = 'The tone the message was shown in.';
14
16
  }
15
17
  if (w.features.about)
16
18
  bundle['about'] = `About ${w.name}`;
@@ -1 +1 @@
1
- {"version":3,"file":"weaver-i18n.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-weaver/weaver-i18n.ts"],"names":[],"mappings":";;AAEA,gCA0BC;AAED,4BAEC;AA9BD,SAAgB,UAAU,CAAC,CAAiB;IAC1C,MAAM,MAAM,GAA4B,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAC5B,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;QACtC,MAAM,CAAC,mBAAmB,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,WAAW,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,YAAY;YAC5B,OAAO,EAAE;gBACP,KAAK,EAAE,mBAAmB;gBAC1B,OAAO,EACL,gEAAgE;gBAClE,GAAG,EAAE,QAAQ;gBACb,EAAE,EAAE,SAAS;aACd;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ;QACrB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAiB;IACxC,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"weaver-i18n.js","sourceRoot":"","sources":["../../../../../../../libs/tooling/devkit/src/recipes/angular-weaver/weaver-i18n.ts"],"names":[],"mappings":";;AAEA,gCA4BC;AAED,4BAEC;AAhCD,SAAgB,UAAU,CAAC,CAAiB;IAC1C,MAAM,MAAM,GAA4B,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAC5B,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;QACtC,MAAM,CAAC,mBAAmB,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,0CAA0C,CAAC;QAChG,MAAM,CAAC,YAAY,CAAC,GAAG,oGAAoG,CAAC;QAC5H,MAAM,CAAC,eAAe,CAAC,GAAG,oCAAoC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,YAAY;YAC5B,OAAO,EAAE;gBACP,KAAK,EAAE,mBAAmB;gBAC1B,OAAO,EACL,gEAAgE;gBAClE,GAAG,EAAE,QAAQ;gBACb,EAAE,EAAE,SAAS;aACd;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ;QACrB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAiB;IACxC,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AACvD,CAAC"}