@codiac.io/codiac-cli 1.3.267 → 1.3.273

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.
@@ -12,6 +12,18 @@ export interface IAgentInstallRequest extends IEnterpriseEntity {
12
12
  naming?: string;
13
13
  /** Domain paired with the naming strategy for the ingress host (pass-through only; strategy UX lands separately). */
14
14
  domain?: string;
15
+ /** Secret store that agent credentials (and any profile secrets) get written to.
16
+ * Only asked when the enterprise has more than one — with a single store there is
17
+ * nothing to disambiguate. Not a secret itself, so it is safe to echo. */
18
+ secretStore?: string;
19
+ /** True when the enterprise has at least one secret store. Credentials have
20
+ * nowhere to go without one, so the prompts are skipped entirely rather than
21
+ * collecting a password the provisioner would discard. */
22
+ hasSecretStore?: boolean;
23
+ /** Cloud the agent's `csp.*` credentials authenticate against. DERIVED from the
24
+ * cabinet's cluster rather than asked — the agent will act on that cluster's
25
+ * cloud, so anything else would be wrong. Names a cloud, not a credential. */
26
+ cspProvider?: string;
15
27
  }
16
28
  export default class AiAgentInstall extends CommandBaseExec<IAgentInstallRequest> {
17
29
  static description: string;
@@ -43,6 +55,80 @@ export default class AiAgentInstall extends CommandBaseExec<IAgentInstallRequest
43
55
  ]>;
44
56
  buildCandidate_silently(partial: AtLeast<IAgentInstallRequest, "enterprise">, _rootMap: RootMap, _explicit?: Partial<IAgentInstallRequest>): Promise<IAgentInstallRequest | undefined>;
45
57
  buildCandidate_interactively(partial: AtLeast<IAgentInstallRequest, "enterprise">, rootMap: RootMap, takeDefaults: boolean, explicit?: Partial<IAgentInstallRequest>): Promise<IAgentInstallRequest | undefined>;
58
+ /**
59
+ * The cabinet the agent lands in — pick an existing one, or create one inline.
60
+ *
61
+ * WHY this lives here rather than in `rootMapUtils.promptForCabinet`: that
62
+ * picker is shared with `asset undeploy`, `asset recycle`, `snapshot deploy`
63
+ * and others, where "create a new cabinet" is a meaningless answer — you
64
+ * cannot undeploy from a cabinet that has never held anything. Installing an
65
+ * agent is the one flow where a brand-new cabinet is routine, and often the
66
+ * entire point ("give me a cabinet with an agent in it"). Putting the option
67
+ * in the shared picker would change the prompt for all of those commands.
68
+ *
69
+ * Shape mirrors the existing-or-new question used for host mappings further
70
+ * down this same file, so the two branching prompts read alike.
71
+ *
72
+ * @returns the chosen/created cabinet and its cluster, or undefined on a clean
73
+ * cancel (caller aborts without doing any work).
74
+ */
75
+ private resolveCabinet;
76
+ /**
77
+ * Creates a cabinet through the same relay call `cod cabinet create` uses, so
78
+ * the two paths cannot drift on provisioning behavior.
79
+ *
80
+ * A cabinet is defined by its ENVIRONMENT, not by a cluster directly — the
81
+ * environment carries the cluster attachment — hence `promptForEnviroCluster`
82
+ * rather than a bare cluster picker. Cloud creds are gathered before the call
83
+ * for the same reason `cabinet create` gathers them: the relay provisions the
84
+ * namespace server-side and cannot perform an interactive login.
85
+ *
86
+ * @returns the created cabinet and its cluster, or undefined if creation
87
+ * failed or was cancelled — callers must not install into a cabinet
88
+ * that does not exist.
89
+ */
90
+ private createCabinet;
91
+ /**
92
+ * Which secret store agent credentials get written to.
93
+ *
94
+ * Only asks when there is more than one: with a single store there is nothing to
95
+ * disambiguate, and the relay picks it. Filtered to actual secret stores — a
96
+ * generic KVP store is not somewhere to put a password.
97
+ *
98
+ * Answering this up front also unblocks an enterprise with two vaults, which
99
+ * previously could not install an agent at all: the relay's ambiguity branch
100
+ * blocked and pointed at a framework-profile override most people have no reason
101
+ * to touch.
102
+ */
103
+ private setSecretStore;
104
+ /** Codiac credentials — the same regardless of which cloud the cabinet runs on. */
105
+ private static readonly CODIAC_CREDENTIAL_PROMPTS;
106
+ /**
107
+ * Optionally collect the credentials the agent will run as, and fold them into
108
+ * `inputs` for the provisioner to put in the secret store.
109
+ *
110
+ * Cloud logins loop: an agent can hold SEVERAL (`csp.<name>.*`), because a
111
+ * tenant's cabinets span clouds and subscriptions. The loop runs the same
112
+ * collection `cod ai agent csp add` uses, so a login added here is identical to
113
+ * one added later.
114
+ *
115
+ * Gathered HERE rather than on the candidate on purpose: the candidate is echoed
116
+ * by `--echo`/`--to-script`, so anything on it can end up in a shell history or a
117
+ * committed script. These never touch it.
118
+ *
119
+ * Skipped when values already arrived via `--input` (the headless path) and in
120
+ * --silent mode, where prompting is not allowed.
121
+ */
122
+ private promptForCredentials;
123
+ /**
124
+ * Adds cloud logins until the user is done. Each gets a name, which becomes part
125
+ * of its input keys and keeps one login's secrets from clobbering another's.
126
+ *
127
+ * The cabinet's own cloud is offered as the default provider, since that is the
128
+ * one the agent certainly needs — but not forced, because an agent may well need
129
+ * credentials for a cloud it does not itself run on.
130
+ */
131
+ private promptForCspLogins;
46
132
  private setType;
47
133
  private setName;
48
134
  private setHasIngress;
@@ -5,6 +5,8 @@ const core_1 = require("@oclif/core");
5
5
  const _ = require("lodash");
6
6
  const host_name_strategy_enum_1 = require("@codiac.io/codiac-domain/host-name-strategy-enum");
7
7
  const command_base_exec_1 = require("../../../command-base-exec");
8
+ const contracts_1 = require("../../../apis/codiac-api/contracts");
9
+ const agent_csp_credentials_1 = require("../../../uilogic/agent-csp-credentials");
8
10
  const framework_spec_1 = require("../../../uilogic/framework-spec");
9
11
  const AGENT_TYPES = ['openclaw', 'hermes', 'byoa'];
10
12
  /** Validates a user-supplied strategy against the enum's VALUE form (snake_case wire
@@ -95,9 +97,9 @@ class AiAgentInstall extends command_base_exec_1.CommandBaseExec {
95
97
  return undefined; // clean cancel — lifecycle prints "Operation cancelled. No work was done."
96
98
  }
97
99
  // --- cabinet ----------------------------------------------------------
98
- // Reuse the existing rootMapUtils cabinet picker rather than hand-rolling
99
- // selection/validation/confirmation logic (it already implements Rules 1-3).
100
- const [cabinet] = yield this.rootMapUtils.promptForCabinet(partial.enterprise, rootMap, partial.cabinet, takeDefaults, undefined, explicit === null || explicit === void 0 ? void 0 : explicit.cabinet);
100
+ const cabinet = yield this.resolveCabinet(partial, rootMap, takeDefaults, explicit);
101
+ if (cabinet == undefined)
102
+ return undefined; // clean cancel
101
103
  partial.cabinet = cabinet.name;
102
104
  // --- CSP creds for the cabinet's cluster ----------------------------------
103
105
  // Installing the operator + agent into the cabinet's cluster needs the tenant's
@@ -110,6 +112,13 @@ class AiAgentInstall extends command_base_exec_1.CommandBaseExec {
110
112
  throw new Error(`Cabinet [${cabinet.name}] has no recognized cluster [${cabinet.cluster}].`);
111
113
  }
112
114
  yield this.cspContextualizer.promptForCloudProviderCreds(this.ioc, cluster.provider, takeDefaults, undefined, undefined, cluster.providerSubscriptionId);
115
+ // --- secret store + the cloud the agent's own credentials target ---------
116
+ // The cloud is DERIVED from the cabinet's cluster, not asked: the agent will
117
+ // act on that cluster's cloud, so any other answer would be wrong.
118
+ const store = yield this.setSecretStore(partial.secretStore);
119
+ partial.secretStore = store.name;
120
+ partial.hasSecretStore = store.any;
121
+ partial.cspProvider = cluster.provider;
113
122
  // --- name ---------------------------------------------------------------
114
123
  partial.name = yield this.setName(partial.name, partial.type, takeDefaults, explicit === null || explicit === void 0 ? void 0 : explicit.name);
115
124
  // --- hasIngress -----------------------------------------------------------
@@ -134,6 +143,220 @@ class AiAgentInstall extends command_base_exec_1.CommandBaseExec {
134
143
  return yield this.buildCandidate_silently(partial, rootMap, explicit);
135
144
  });
136
145
  }
146
+ /**
147
+ * The cabinet the agent lands in — pick an existing one, or create one inline.
148
+ *
149
+ * WHY this lives here rather than in `rootMapUtils.promptForCabinet`: that
150
+ * picker is shared with `asset undeploy`, `asset recycle`, `snapshot deploy`
151
+ * and others, where "create a new cabinet" is a meaningless answer — you
152
+ * cannot undeploy from a cabinet that has never held anything. Installing an
153
+ * agent is the one flow where a brand-new cabinet is routine, and often the
154
+ * entire point ("give me a cabinet with an agent in it"). Putting the option
155
+ * in the shared picker would change the prompt for all of those commands.
156
+ *
157
+ * Shape mirrors the existing-or-new question used for host mappings further
158
+ * down this same file, so the two branching prompts read alike.
159
+ *
160
+ * @returns the chosen/created cabinet and its cluster, or undefined on a clean
161
+ * cancel (caller aborts without doing any work).
162
+ */
163
+ resolveCabinet(partial, rootMap, takeDefaults, explicit) {
164
+ var _a;
165
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
166
+ const ent = rootMap.enterprises.find(e => e.name === partial.enterprise);
167
+ const existingCabinets = ((_a = ent === null || ent === void 0 ? void 0 : ent.environments) !== null && _a !== void 0 ? _a : []).flatMap(env => { var _a; return (_a = env.cabinets) !== null && _a !== void 0 ? _a : []; });
168
+ // With nothing to choose from the question is rhetorical — go straight to
169
+ // create, rather than letting the shared picker throw "no cabinets were
170
+ // found". A cabinet named on the command line is already an explicit
171
+ // answer, so don't second-guess it with a prompt either.
172
+ let createNew = existingCabinets.length === 0;
173
+ if (!createNew && !(explicit === null || explicit === void 0 ? void 0 : explicit.cabinet)) {
174
+ const choice = yield this._ui.promptSelect("useExistingCabinet", "Use an existing cabinet, or create a new one?", [
175
+ { name: "Use an existing cabinet", value: "existing" },
176
+ { name: "Create a new one", value: "new" },
177
+ ]);
178
+ if (!choice)
179
+ return undefined; // clean cancel
180
+ createNew = choice === "new";
181
+ }
182
+ if (!createNew) {
183
+ // Reuse the shared picker rather than hand-rolling selection/validation/
184
+ // confirmation logic (it already implements Rules 1-3).
185
+ const [cab] = yield this.rootMapUtils.promptForCabinet(partial.enterprise, rootMap, partial.cabinet, takeDefaults, undefined, explicit === null || explicit === void 0 ? void 0 : explicit.cabinet);
186
+ return { name: cab.name, cluster: cab.cluster };
187
+ }
188
+ return yield this.createCabinet(partial.enterprise, rootMap, takeDefaults);
189
+ });
190
+ }
191
+ /**
192
+ * Creates a cabinet through the same relay call `cod cabinet create` uses, so
193
+ * the two paths cannot drift on provisioning behavior.
194
+ *
195
+ * A cabinet is defined by its ENVIRONMENT, not by a cluster directly — the
196
+ * environment carries the cluster attachment — hence `promptForEnviroCluster`
197
+ * rather than a bare cluster picker. Cloud creds are gathered before the call
198
+ * for the same reason `cabinet create` gathers them: the relay provisions the
199
+ * namespace server-side and cannot perform an interactive login.
200
+ *
201
+ * @returns the created cabinet and its cluster, or undefined if creation
202
+ * failed or was cancelled — callers must not install into a cabinet
203
+ * that does not exist.
204
+ */
205
+ createCabinet(enterprise, rootMap, takeDefaults) {
206
+ var _a, _b, _c, _d;
207
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
208
+ // `prompt` hands back an EntryValue; normalize to a trimmed string so the
209
+ // name we create, echo, and later install into are all the same value.
210
+ const cabinetName = String((_a = yield this._ui.prompt("newCabinetName", "New cabinet name: ", true)) !== null && _a !== void 0 ? _a : "").trim();
211
+ if (_.isEmpty(cabinetName))
212
+ return undefined; // clean cancel
213
+ const [environment, cluster] = yield this.rootMapUtils.promptForEnviroCluster(rootMap, enterprise, undefined, undefined, takeDefaults);
214
+ yield this.cspContextualizer.promptForCloudProviderCreds(this.ioc, cluster.provider, takeDefaults, undefined, undefined, cluster.providerSubscriptionId);
215
+ const label = `${enterprise}/${cabinetName}`;
216
+ this._ui.userMessage(`Creating cabinet ${this._styler.hilite(label)}...`);
217
+ const result = yield this.watcher.triggerAndWatch((correlationId, socketId) => {
218
+ const req = {
219
+ targetCabinet: { enterprise, environment: environment.name, cabinet: cabinetName, cluster: cluster.name },
220
+ targetClusterName: cluster.name,
221
+ socketId,
222
+ correlationId,
223
+ };
224
+ return this.genRelayClient.Call.cabinetCreate(req);
225
+ });
226
+ if (result.error || !result.success) {
227
+ const msg = `Error creating cabinet [${label}]: ${(_b = result.message) !== null && _b !== void 0 ? _b : ""} ${(_d = (_c = result.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : ""}`.trimEnd();
228
+ this.logger.error(msg, result.error);
229
+ this._ui.userMessage(`${this._styler.colorCritical("ERROR!")} ${msg}`);
230
+ return undefined;
231
+ }
232
+ this._ui.userMessage(`${this._styler.colorGood("SUCCESS!")} Cabinet [${this._styler.hilite(label)}] created.`);
233
+ return { name: cabinetName, cluster: cluster.name };
234
+ });
235
+ }
236
+ /**
237
+ * Which secret store agent credentials get written to.
238
+ *
239
+ * Only asks when there is more than one: with a single store there is nothing to
240
+ * disambiguate, and the relay picks it. Filtered to actual secret stores — a
241
+ * generic KVP store is not somewhere to put a password.
242
+ *
243
+ * Answering this up front also unblocks an enterprise with two vaults, which
244
+ * previously could not install an agent at all: the relay's ambiguity branch
245
+ * blocked and pointed at a framework-profile override most people have no reason
246
+ * to touch.
247
+ */
248
+ setSecretStore(userInput) {
249
+ var _a, _b;
250
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
251
+ if (userInput && !_.isEmpty(userInput))
252
+ return { name: userInput, any: true };
253
+ try {
254
+ const all = (_a = yield this._codiacApi.KvpStoreDef.readMany({ all: true }, { throwNotFound: false })) !== null && _a !== void 0 ? _a : [];
255
+ const stores = all.filter(x => [contracts_1.KvpStoreTypesEnum.awsKeyVault, contracts_1.KvpStoreTypesEnum.azKeyVault]
256
+ .map(t => t.toString()).includes(x.type));
257
+ // `any: false` is what suppresses the credential prompts. Reporting "no store"
258
+ // is the whole point: without it we ask for a password, ship it, and the
259
+ // provisioner drops it on the floor with nowhere to put it.
260
+ if (stores.length === 0)
261
+ return { any: false };
262
+ // Always ask, even with one store. Secrets are going somewhere durable and
263
+ // shared, and the destination is worth stating out loud rather than inferring
264
+ // — a silent single-store default is exactly how a credential ends up in a
265
+ // vault the operator did not expect. It is also asked unconditionally because
266
+ // a hermes install needs a store either way: openRouterKey and
267
+ // dashboard.password are vault-sourced secrets on the platform profile.
268
+ const choices = stores.map(x => ({ name: `${x.name} (${x.type})`, value: x.name }));
269
+ const picked = yield this._ui.promptSelect('secretStore', 'Secret store for this agent\'s secrets:', choices);
270
+ return { name: picked !== null && picked !== void 0 ? picked : undefined, any: true };
271
+ }
272
+ catch (err) {
273
+ // A listing failure is not proof there is no store, so allow the prompts and
274
+ // let the relay resolve it — but never block the install on this.
275
+ this.logger.detail(`Could not list secret stores: ${(_b = err === null || err === void 0 ? void 0 : err.message) !== null && _b !== void 0 ? _b : err}`);
276
+ return { any: true };
277
+ }
278
+ });
279
+ }
280
+ /**
281
+ * Optionally collect the credentials the agent will run as, and fold them into
282
+ * `inputs` for the provisioner to put in the secret store.
283
+ *
284
+ * Cloud logins loop: an agent can hold SEVERAL (`csp.<name>.*`), because a
285
+ * tenant's cabinets span clouds and subscriptions. The loop runs the same
286
+ * collection `cod ai agent csp add` uses, so a login added here is identical to
287
+ * one added later.
288
+ *
289
+ * Gathered HERE rather than on the candidate on purpose: the candidate is echoed
290
+ * by `--echo`/`--to-script`, so anything on it can end up in a shell history or a
291
+ * committed script. These never touch it.
292
+ *
293
+ * Skipped when values already arrived via `--input` (the headless path) and in
294
+ * --silent mode, where prompting is not allowed.
295
+ */
296
+ promptForCredentials(inputs, cspProvider, hasSecretStore = true) {
297
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
298
+ if (this.isSilentMode())
299
+ return;
300
+ if (Object.keys(inputs).some(k => k.startsWith('codiac.') || k.startsWith('csp.')))
301
+ return;
302
+ // No store means nowhere to put them. Asking anyway collects a real password,
303
+ // sends it, and the provisioner discards it with "no secret store could be
304
+ // resolved" — the user has then typed a credential for nothing and may believe
305
+ // the agent has it. Say why instead, and name the command that fixes it.
306
+ if (!hasSecretStore) {
307
+ this._ui.userMessage(this._styler.dim('No secret store is configured for this enterprise, so agent credentials cannot be stored. ' +
308
+ `Add one with ${this._styler.hilite('cod secretStore capture')}, then ` +
309
+ `${this._styler.hilite('cod ai agent csp add')} to give this agent a cloud login.`));
310
+ return;
311
+ }
312
+ const wants = yield this._ui.promptConfirm('agentCreds', 'Give this agent its own Codiac login? (stored in your secret store)', false);
313
+ if (wants) {
314
+ for (const c of AiAgentInstall.CODIAC_CREDENTIAL_PROMPTS) {
315
+ const value = c.secret
316
+ ? yield this._ui.promptPassword(c.key, `${c.label}:`)
317
+ : yield this._ui.prompt(c.key, `${c.label}:`, false);
318
+ if (value != undefined && String(value).trim() !== '')
319
+ inputs[c.key] = String(value).trim();
320
+ }
321
+ }
322
+ yield this.promptForCspLogins(inputs, cspProvider);
323
+ });
324
+ }
325
+ /**
326
+ * Adds cloud logins until the user is done. Each gets a name, which becomes part
327
+ * of its input keys and keeps one login's secrets from clobbering another's.
328
+ *
329
+ * The cabinet's own cloud is offered as the default provider, since that is the
330
+ * one the agent certainly needs — but not forced, because an agent may well need
331
+ * credentials for a cloud it does not itself run on.
332
+ */
333
+ promptForCspLogins(inputs, cabinetProvider) {
334
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
335
+ let another = yield this._ui.promptConfirm('addCspCreds', 'Add cloud (CSP) credentials for this agent?', false);
336
+ while (another) {
337
+ const providerChoices = agent_csp_credentials_1.SUPPORTED_CSPS.map(p => ({
338
+ name: p === cabinetProvider ? `${p} (this cabinet's cloud)` : p,
339
+ value: p,
340
+ }));
341
+ const provider = yield this._ui.promptSelect('cspProvider', 'Cloud:', providerChoices);
342
+ if (!provider)
343
+ break;
344
+ // Named so several logins can coexist. Defaulting to the provider keeps the
345
+ // common single-login case a plain Enter.
346
+ const suggested = agent_csp_credentials_1.SUPPORTED_CSPS.includes(provider) ? provider : 'csp';
347
+ const raw = yield this._ui.prompt('cspLoginName', `Name for this login [${suggested}]:`, false);
348
+ const login = (String(raw !== null && raw !== void 0 ? raw : '').trim() || suggested).replace(/[^A-Za-z0-9-]/g, '-');
349
+ const captured = yield (0, agent_csp_credentials_1.promptForCspLogin)(this._ui, inputs, login, provider);
350
+ if (captured.length === 0) {
351
+ this._ui.userMessage(this._styler.colorWarning(`No values entered for [${login}] — nothing stored.`));
352
+ }
353
+ else {
354
+ this._ui.userMessage(`Captured ${captured.length} field(s) for ${this._styler.hilite(login)} (${provider}).`);
355
+ }
356
+ another = yield this._ui.promptConfirm('addAnotherCsp', 'Add another cloud login?', false);
357
+ }
358
+ });
359
+ }
137
360
  setType(userInput, takeDefaults, overrides) {
138
361
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
139
362
  let invalidInput = false;
@@ -260,6 +483,13 @@ class AiAgentInstall extends command_base_exec_1.CommandBaseExec {
260
483
  cmd.push("--naming", candidate.naming);
261
484
  if (candidate.domain)
262
485
  cmd.push("--domain", candidate.domain);
486
+ // Credentials are deliberately NOT echoed here — they are gathered at execute
487
+ // time and never put on the candidate, so a replayed command (or a --to-script
488
+ // file) can never carry a password.
489
+ if (candidate.secretStore)
490
+ cmd.push("--input", `secretStore=${candidate.secretStore}`);
491
+ if (candidate.cspProvider)
492
+ cmd.push("--input", `csp.provider=${candidate.cspProvider}`);
263
493
  cmd.push("--silent");
264
494
  return cmd;
265
495
  }
@@ -278,6 +508,13 @@ class AiAgentInstall extends command_base_exec_1.CommandBaseExec {
278
508
  if (eq > 0)
279
509
  inputs[kv.slice(0, eq)] = kv.slice(eq + 1);
280
510
  }
511
+ if (candidate.secretStore && inputs['secretStore'] === undefined) {
512
+ inputs['secretStore'] = candidate.secretStore;
513
+ }
514
+ if (candidate.cspProvider && inputs['csp.provider'] === undefined) {
515
+ inputs['csp.provider'] = candidate.cspProvider;
516
+ }
517
+ yield this.promptForCredentials(inputs, candidate.cspProvider, candidate.hasSecretStore !== false);
281
518
  const attemptedCodes = new Set();
282
519
  while (true) {
283
520
  const request = this.toProvisionRequest(candidate, inputs);
@@ -431,4 +668,9 @@ AiAgentInstall.flags = {
431
668
  "to-script": core_1.Flags.boolean({ exclusive: ["echo", "silent"], description: 'Renders the equivalent non-interactive command without executing it.' }),
432
669
  };
433
670
  AiAgentInstall.args = {};
671
+ /** Codiac credentials — the same regardless of which cloud the cabinet runs on. */
672
+ AiAgentInstall.CODIAC_CREDENTIAL_PROMPTS = [
673
+ { key: 'codiac.username', label: 'Codiac username', secret: false },
674
+ { key: 'codiac.password', label: 'Codiac password', secret: true },
675
+ ];
434
676
  //# sourceMappingURL=install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../src/commands/ai/agent/install.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AACnC,4BAA6B;AAE7B,8FAAwF;AACxF,kEAAgF;AAGhF,oEAAuE;AAKvE,MAAM,WAAW,GAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEhE;;6FAE6F;AAC7F,MAAM,eAAe,GAAG,CAAC,CAAS,EAAW,EAAE,CAAE,MAAM,CAAC,MAAM,CAAC,8CAAoB,CAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE9G;;6FAE6F;AAC7F,MAAM,mBAAmB,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAezE,MAAqB,cAAe,SAAQ,mCAAqC;IAAjF;;QA2CY,cAAS,GAAG,IAAI,CAAC;IA6a7B,CAAC;IA1ac,WAAW;;YAKtB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAEnD,IAAI,OAAO,GAAkC,EAAE,CAAC;YAChD,IAAI,QAAQ,GAAkC,EAAE,CAAC;YAEjD,IAAI,KAAK,CAAC,cAAc;gBAAE,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC;YAEpE,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAiB,CAAC;gBAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;aAAE;YACzF,IAAI,KAAK,CAAC,OAAO,EAAE;gBAAE,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;aAAE;YAC3F,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;aAAE;YAEnF,wFAAwF;YACxF,mFAAmF;YACnF,mCAAmC;YACnC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;YAEnC,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;aAAE;YACtF,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;aAAE;YAEtF,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;YAE5C,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;KAAA;IAGY,uBAAuB,CAClC,OAAoD,EACpD,QAAiB,EACjB,SAAyC;;;YAGzC,IAAI,OAAO,CAAC,IAAI,IAAI,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YACzG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,CAAC,IAAI,4CAA4C,CAAC,CAAC;YAE1I,MAAM,IAAI,GAAG,IAAA,qCAAoB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,eAAe,OAAO,CAAC,IAAI,yBAAyB,CAAC,CAAC;YAE9G,sFAAsF;YACtF,yFAAyF;YACzF,IAAI,OAAO,CAAC,OAAO,IAAI,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAEzG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YACxF,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI,CAAC;YAE9C,IAAI,UAAU,EAAE;gBACd,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC1D,MAAM,IAAI,KAAK,CAAC,+IAA+I,CAAC,CAAC;gBACnK,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,CAAC,MAAM,oBAAqB,MAAM,CAAC,MAAM,CAAC,8CAAoB,CAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtJ,IAAI,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACnG,MAAM,IAAI,KAAK,CAAC,aAAa,OAAO,CAAC,MAAM,iEAAiE,CAAC,CAAC;aACjH;YAED,qCACE,UAAU,EAAE,OAAO,CAAC,UAAU,EAC9B,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,IAAI;gBACJ,UAAU,IACP,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAClD,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACrD;;KACH;IAGY,4BAA4B,CACvC,OAAoD,EACpD,OAAgB,EAChB,YAAqB,EACrB,QAAwC;;;YAGxC,MAAM,SAAS,GAA2D,EAAE,CAAC;YAE7E,uEAAuE;YACvE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAEzE,MAAM,IAAI,GAAG,IAAA,qCAAoB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,eAAe,OAAO,CAAC,IAAI,yBAAyB,CAAC,CAAC,CAAC;gBACzH,OAAO,SAAS,CAAC,CAAC,2EAA2E;aAC9F;YAED,yEAAyE;YACzE,0EAA0E;YAC1E,6EAA6E;YAC7E,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACxD,OAAO,CAAC,UAAU,EAClB,OAAO,EACP,OAAO,CAAC,OAAO,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAClB,CAAC;YACF,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YAE/B,6EAA6E;YAC7E,gFAAgF;YAChF,iFAAiF;YACjF,2EAA2E;YAC3E,yEAAyE;YACzE,kFAAkF;YAClF,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;YACvE,IAAI,OAAO,IAAI,SAAS,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,IAAI,gCAAgC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;aAC9F;YACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CACtD,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,sBAAsB,CAC/F,CAAC;YAEF,2EAA2E;YAC3E,OAAO,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,CAAC;YAE5F,6EAA6E;YAC7E,OAAO,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAEhF,6EAA6E;YAC7E,6EAA6E;YAC7E,wDAAwD;YACxD,IAAI,OAAO,CAAC,UAAU,EAAE;gBACtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACtE,IAAI,CAAC,SAAS;oBAAE,OAAO,SAAS,CAAC,CAAC,2EAA2E;aAC9G;YAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,kEAAkE,CAAC,CAAC,CAAC;gBACpH,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;oBACzB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBAC/G;gBACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,kBAAkB,EAAE,uCAAuC,EAAE,IAAI,CAAC,CAAC;gBAClH,IAAI,CAAC,SAAS;oBAAE,OAAO,SAAS,CAAC;aAClC;YAED,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;;KACvE;IAEa,OAAO,CACnB,SAAgC,EAChC,YAAqB,EACrB,SAAiE;;YAEjE,IAAI,YAAY,GAAG,KAAK,CAAC;YAEzB,IAAI,SAAS,IAAI,SAAS,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAC9D,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBACvF,SAAS,GAAG,SAAS,CAAC;aACvB;YAED,IAAI,SAAS,IAAI,SAAS,EAAE;gBAC1B,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACtE,OAAO,SAAS,CAAC;aAClB;YAED,IAAI,YAAY,EAAE;gBAChB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,uEAAuE,CAAC,CAAC,CAAC;aAC1H;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAY,MAAM,EAAE,+BAA+B,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5H,MAAM,QAAQ,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,YAAY,EAAE;gBAChB,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;aAClD;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAEa,OAAO,CACnB,SAA6B,EAC7B,IAAe,EACf,YAAqB,EACrB,iBAA0B;;YAE1B,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACtC,IAAI,iBAAiB,IAAI,SAAS,EAAE;oBAClC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACtE,OAAO,SAAS,CAAC;iBAClB;aACF;YAED,MAAM,WAAW,GAAG,IAAA,qCAAoB,EAAC,IAAI,CAAC,CAAC,WAAW,CAAC;YAC3D,IAAI,YAAY,EAAE;gBAChB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACxE,OAAO,WAAW,CAAC;aACpB;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjH,IAAI,SAAS;gBAAE,OAAO,WAAW,CAAC;YAElC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAS,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAC5F,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5D,CAAC;KAAA;IAEa,aAAa,CAAC,SAA8B,EAAE,YAAqB;;YAC/E,MAAM,YAAY,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC;YACvC,IAAI,YAAY,EAAE;gBAChB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,uBAAuB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzF,OAAO,YAAY,CAAC;aACrB;YACD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,yDAAyD,EAAE,YAAY,CAAC,CAAC;QAC7H,CAAC;KAAA;IAED;;;;;;sEAMkE;IACpD,qBAAqB,CACjC,OAAoD,EACpD,QAAwC;;;YAGxC,oFAAoF;YACpF,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,KAAI,SAAS,EAAE;gBACjC,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACpC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,yBAAyB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACtF,IAAI,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;wBACtG,OAAO,CAAC,MAAM,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAS,QAAQ,EAAE,6BAA6B,CAAC,CAAC,0CAAE,IAAI,EAAE,CAAC;qBACnG;oBACD,OAAO,IAAI,CAAC;iBACb;gBACD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,kCAAkC,QAAQ,CAAC,MAAM,oDAAoD,CAAC,CAAC,CAAC;aACxJ;YAED,qEAAqE;YACrE,IAAI,QAAQ,GAA2B,EAAE,CAAC;YAC1C,IAAI;gBACF,QAAQ,GAAG,MAAA,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,mCAAI,EAAE,CAAC;aAC1G;YAAC,OAAO,GAAQ,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,0CAA0C,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,mCAAI,GAAG,EAAE,CAAC,CAAC;aACrF;YAED,wFAAwF;YACxF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CACxC,aAAa,EACb,oDAAoD,EACpD;oBACE,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,UAAU,EAAE;oBAC3D,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE;iBAC3C,CACF,CAAC;gBACF,IAAI,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC,CAAC,eAAe;gBAE1C,IAAI,MAAM,KAAK,UAAU,EAAE;oBACzB,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC/G,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAS,iBAAiB,EAAE,kCAAkC,EAAE,cAAc,CAAC,CAAC;oBAC/H,IAAI,WAAW,IAAI,SAAS;wBAAE,OAAO,KAAK,CAAC,CAAC,eAAe;oBAE3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC/C,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;oBACnC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;oBACrC,OAAO,IAAI,CAAC;iBACb;gBACD,uCAAuC;aACxC;YAED,0FAA0F;YAC1F,sCAAsC;YACtC,MAAM,UAAU,GAAI,MAAM,CAAC,MAAM,CAAC,8CAAoB,CAAc,CAAC,IAAI,EAAE;iBACxE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACrF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,sBAAsB,EAAE,UAAU,CAAC,CAAC;YACzF,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC,CAAC,eAAe;YAC1C,OAAO,CAAC,MAAM,GAAG,MAAgB,CAAC;YAElC,IAAI,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;gBACrG,OAAO,CAAC,MAAM,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAS,QAAQ,EAAE,6BAA6B,CAAC,CAAC,0CAAE,IAAI,EAAE,CAAC;aACnG;YACD,OAAO,IAAI,CAAC;;KACb;IAGM,kBAAkB,CAAC,SAA+B,EAAE,GAAa;QACtE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,SAAS,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,SAAS,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IAGD,uFAAuF;IACvF,sFAAsF;IACtF,6EAA6E;IAChE,WAAW,CAAC,SAA+B;;;YACtD,iFAAiF;YACjF,sFAAsF;YACtF,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACnD,KAAK,MAAM,EAAE,IAAI,CAAC,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC,EAAE;gBACpC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,EAAE,GAAG,CAAC;oBAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACxD;YACD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;YAEzC,OAAO,IAAI,EAAE;gBACX,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC3D,gFAAgF;gBAChF,qFAAqF;gBACrF,wFAAwF;gBACxF,uFAAuF;gBACvF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAC/C,CAAC,aAAqB,EAAE,QAAgB,EAAE,EAAE,CAC1C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,iCAAM,OAAO,KAAE,aAAa,EAAE,QAAQ,IAAU,CAC5F,CAAC;gBAEF,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAClC,MAAM,GAAG,GAAG,6BAA6B,SAAS,CAAC,IAAI,MAAM,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,IAAI,MAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,OAAO,mCAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;oBAC7H,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBACrC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;oBACvE,MAAM,MAAA,MAAM,CAAC,KAAK,mCAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;iBACtC;gBAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAEjC,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE;oBACvB,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC3C,OAAO;iBACR;gBAED,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE;oBAC3B,MAAM,GAAG,GAAG,8BAA8B,SAAS,CAAC,IAAI,MAAM,MAAA,MAAA,GAAG,CAAC,KAAK,0CAAE,OAAO,mCAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;oBACnG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC7B,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;oBACxE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;iBACtB;gBAED,4BAA4B;gBAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,UAAW,CAAC;gBAC5B,MAAM,KAAK,GAAG,MAAA,MAAA,GAAG,CAAC,UAAU,0CAAE,KAAK,mCAAI,EAAE,CAAC;gBAE1C,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;oBACvB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClD,MAAM,IAAI,GAAG,CAAA,MAAA,GAAG,CAAC,UAAU,0CAAE,UAAU,EAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7F,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;iBACrH;gBAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;wBACrB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM;4BACpB,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC;4BACrE,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAS,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC,CAAC;wBAC9E,qFAAqF;wBACrF,2FAA2F;wBAC3F,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;4BAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;qBACvE;iBACF;qBAAM;oBACL,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC9F,IAAI,MAAA,GAAG,CAAC,UAAU,0CAAE,UAAU;wBAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACzH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,sCAAsC,EAAE,IAAI,CAAC,CAAC;oBACtG,IAAI,CAAC,OAAO;wBAAE,OAAO;iBACtB;gBAED,iFAAiF;gBACjF,8EAA8E;gBAC9E,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtD,MAAM,GAAG,GAAG,qBAAqB,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC5D,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtD,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;iBACtB;gBACD,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC9B;;KACF;IAGD;kDAC8C;IACtC,kBAAkB,CAAC,SAA+B,EAAE,MAA8B;QACxF,OAAO;YACL,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAO,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;YACxG,MAAM;SACP,CAAC;IACJ,CAAC;IAGD,qEAAqE;IAC7D,gBAAgB,CAAC,KAAmB;QAC1C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;YACrB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1F,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC7E,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;;gBAClF,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACzD;IACH,CAAC;IAGD;;mGAE+F;IACvF,eAAe,CAAC,SAA+B,EAAE,KAAwB;;QAC/E,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACnH;aAAM,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,MAAM,EAAE;YACnD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACxJ,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,mCAAmC,SAAS,CAAC,MAAM,2DAA2D,CAAC,CAAC;SACtI;aAAM,IAAI,SAAS,CAAC,UAAU,EAAE;YAC/B,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAA,SAAS,CAAC,MAAM,mCAAI,EAAE,CAAC,GAAG,CAAC,CAAC;SACpJ;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,SAAS,CAAC,IAAI,wDAAwD,CAAC,CAAC;SAC3I;IACH,CAAC;IAGD;;;uCAGmC;IAC3B,YAAY;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC;IACxE,CAAC;;AAtdH,iCAwdC;AAtdQ,0BAAW,GAAG,qGAAqG,CAAC;AAEpH,uBAAQ,GAAG;IAChB;QACE,WAAW,EAAE,oEAAoE;QACjF,OAAO,EAAE,6DAA6D;KACvE;IACD;QACE,WAAW,EAAE,sJAAsJ;QACnK,OAAO,EAAE,iGAAiG;KAC3G;IACD;QACE,WAAW,EAAE,0DAA0D;QACvE,OAAO,EAAE,oEAAoE;KAC9E;IACD;QACE,WAAW,EAAE,0DAA0D;QACvE,OAAO,EAAE,yEAAyE;KACnF;CACF,CAAC;AAEK,oBAAK,GAAG;IACb,IAAI,EAAE,YAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC/B,cAAc,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;IACzH,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,+EAA+E,EAAE,CAAC;IACxK,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,kEAAkE,EAAE,CAAC;IACrH,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,+DAA+D,EAAE,CAAC;IAC/G,OAAO,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,uGAAuG,EAAE,CAAC;IACzL,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0FAA0F,EAAE,CAAC;IACjI,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mEAAmE,EAAE,CAAC;IAC1G,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iLAAiL,EAAE,CAAC;IAEvO,oEAAoE;IACpE,eAAe,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,qSAAqS,EAAE,CAAC;IAC7W,MAAM,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,+EAA+E,EAAE,CAAC;IACzJ,IAAI,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,iFAAiF,EAAE,CAAC;IAC3J,WAAW,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,sEAAsE,EAAE,CAAC;CACnJ,CAAC;AAEK,mBAAI,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../src/commands/ai/agent/install.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,22 @@ export default class AiModelInstall extends CommandBaseExec<IModelInstallRequest
67
67
  private setModel;
68
68
  private setRuntime;
69
69
  private setAttach;
70
+ /**
71
+ * The agent to wire the model into.
72
+ *
73
+ * Picks from the enterprise's registered assets instead of taking free text.
74
+ * This used to be a bare prompt, so any string sailed through to the relay and
75
+ * failed only after the model had already deployed — and the string people
76
+ * naturally reach for is the CABINET name, which reads exactly like an agent
77
+ * name at a prompt but names no asset at all.
78
+ *
79
+ * Deliberately NOT filtered down to "agents": nothing on an Asset marks it as
80
+ * one (an agent is a helm asset, and so is a served model), so any filter I
81
+ * could write would risk hiding a legitimately renamed agent — worse than
82
+ * showing a few extra names. The list is the existing shared picker, which
83
+ * also auto-selects when there is exactly one asset and drops an invalid
84
+ * `--agent` rather than passing it on.
85
+ */
70
86
  private setAgent;
71
87
  private setFramework;
72
88
  private setBaseUrl;
@@ -132,7 +132,7 @@ class AiModelInstall extends command_base_exec_1.CommandBaseExec {
132
132
  // --- attach -----------------------------------------------------------
133
133
  partial.attach = yield this.setAttach(partial.attach, takeDefaults, overrides);
134
134
  if (partial.attach === 'existing') {
135
- partial.agent = yield this.setAgent(partial.agent, explicit === null || explicit === void 0 ? void 0 : explicit.agent);
135
+ partial.agent = yield this.setAgent(partial.agent, rootMap, partial.enterprise, explicit === null || explicit === void 0 ? void 0 : explicit.agent);
136
136
  }
137
137
  else if (partial.attach === 'new') {
138
138
  partial.framework = yield this.setFramework(partial.framework, explicit === null || explicit === void 0 ? void 0 : explicit.framework);
@@ -286,14 +286,38 @@ class AiModelInstall extends command_base_exec_1.CommandBaseExec {
286
286
  return resolved;
287
287
  });
288
288
  }
289
- setAgent(userInput, userSuppliedValue) {
289
+ /**
290
+ * The agent to wire the model into.
291
+ *
292
+ * Picks from the enterprise's registered assets instead of taking free text.
293
+ * This used to be a bare prompt, so any string sailed through to the relay and
294
+ * failed only after the model had already deployed — and the string people
295
+ * naturally reach for is the CABINET name, which reads exactly like an agent
296
+ * name at a prompt but names no asset at all.
297
+ *
298
+ * Deliberately NOT filtered down to "agents": nothing on an Asset marks it as
299
+ * one (an agent is a helm asset, and so is a served model), so any filter I
300
+ * could write would risk hiding a legitimately renamed agent — worse than
301
+ * showing a few extra names. The list is the existing shared picker, which
302
+ * also auto-selects when there is exactly one asset and drops an invalid
303
+ * `--agent` rather than passing it on.
304
+ */
305
+ setAgent(userInput, rootMap, enterprise, userSuppliedValue) {
306
+ var _a;
290
307
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
291
308
  if (userInput && !_.isEmpty(userInput) && userSuppliedValue === userInput) {
292
309
  this._ui.userMessage(`Agent to attach: ${this._styler.hilite(userInput)}`);
293
310
  return userInput;
294
311
  }
295
- const typed = yield this._ui.prompt('agent', 'Name of the agent to wire the model into:', true, userInput);
296
- return (typed !== null && typed !== void 0 ? typed : '').trim();
312
+ const ent = rootMap.enterprises.find(e => e.name === enterprise);
313
+ const assets = (_a = ent === null || ent === void 0 ? void 0 : ent.assets) !== null && _a !== void 0 ? _a : [];
314
+ if (assets.length === 0) {
315
+ // Nothing to pick from — fall back rather than dead-ending the install.
316
+ const typed = yield this._ui.prompt('agent', 'Name of the agent to wire the model into:', true, userInput);
317
+ return (typed !== null && typed !== void 0 ? typed : '').trim();
318
+ }
319
+ const [selected] = yield this.rootMapUtils.promptForAsset(assets, userInput, true);
320
+ return (selected !== null && selected !== void 0 ? selected : '').trim();
297
321
  });
298
322
  }
299
323
  setFramework(userInput, userSuppliedValue) {