@codiac.io/codiac-cli 1.3.267 → 1.3.272

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,14 @@ 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
+ /** Cloud the agent's `csp.*` credentials authenticate against. DERIVED from the
20
+ * cabinet's cluster rather than asked — the agent will act on that cluster's
21
+ * cloud, so anything else would be wrong. Names a cloud, not a credential. */
22
+ cspProvider?: string;
15
23
  }
16
24
  export default class AiAgentInstall extends CommandBaseExec<IAgentInstallRequest> {
17
25
  static description: string;
@@ -43,6 +51,80 @@ export default class AiAgentInstall extends CommandBaseExec<IAgentInstallRequest
43
51
  ]>;
44
52
  buildCandidate_silently(partial: AtLeast<IAgentInstallRequest, "enterprise">, _rootMap: RootMap, _explicit?: Partial<IAgentInstallRequest>): Promise<IAgentInstallRequest | undefined>;
45
53
  buildCandidate_interactively(partial: AtLeast<IAgentInstallRequest, "enterprise">, rootMap: RootMap, takeDefaults: boolean, explicit?: Partial<IAgentInstallRequest>): Promise<IAgentInstallRequest | undefined>;
54
+ /**
55
+ * The cabinet the agent lands in — pick an existing one, or create one inline.
56
+ *
57
+ * WHY this lives here rather than in `rootMapUtils.promptForCabinet`: that
58
+ * picker is shared with `asset undeploy`, `asset recycle`, `snapshot deploy`
59
+ * and others, where "create a new cabinet" is a meaningless answer — you
60
+ * cannot undeploy from a cabinet that has never held anything. Installing an
61
+ * agent is the one flow where a brand-new cabinet is routine, and often the
62
+ * entire point ("give me a cabinet with an agent in it"). Putting the option
63
+ * in the shared picker would change the prompt for all of those commands.
64
+ *
65
+ * Shape mirrors the existing-or-new question used for host mappings further
66
+ * down this same file, so the two branching prompts read alike.
67
+ *
68
+ * @returns the chosen/created cabinet and its cluster, or undefined on a clean
69
+ * cancel (caller aborts without doing any work).
70
+ */
71
+ private resolveCabinet;
72
+ /**
73
+ * Creates a cabinet through the same relay call `cod cabinet create` uses, so
74
+ * the two paths cannot drift on provisioning behavior.
75
+ *
76
+ * A cabinet is defined by its ENVIRONMENT, not by a cluster directly — the
77
+ * environment carries the cluster attachment — hence `promptForEnviroCluster`
78
+ * rather than a bare cluster picker. Cloud creds are gathered before the call
79
+ * for the same reason `cabinet create` gathers them: the relay provisions the
80
+ * namespace server-side and cannot perform an interactive login.
81
+ *
82
+ * @returns the created cabinet and its cluster, or undefined if creation
83
+ * failed or was cancelled — callers must not install into a cabinet
84
+ * that does not exist.
85
+ */
86
+ private createCabinet;
87
+ /**
88
+ * Which secret store agent credentials get written to.
89
+ *
90
+ * Only asks when there is more than one: with a single store there is nothing to
91
+ * disambiguate, and the relay picks it. Filtered to actual secret stores — a
92
+ * generic KVP store is not somewhere to put a password.
93
+ *
94
+ * Answering this up front also unblocks an enterprise with two vaults, which
95
+ * previously could not install an agent at all: the relay's ambiguity branch
96
+ * blocked and pointed at a framework-profile override most people have no reason
97
+ * to touch.
98
+ */
99
+ private setSecretStore;
100
+ /** Codiac credentials — the same regardless of which cloud the cabinet runs on. */
101
+ private static readonly CODIAC_CREDENTIAL_PROMPTS;
102
+ /**
103
+ * Optionally collect the credentials the agent will run as, and fold them into
104
+ * `inputs` for the provisioner to put in the secret store.
105
+ *
106
+ * Cloud logins loop: an agent can hold SEVERAL (`csp.<name>.*`), because a
107
+ * tenant's cabinets span clouds and subscriptions. The loop runs the same
108
+ * collection `cod ai agent csp add` uses, so a login added here is identical to
109
+ * one added later.
110
+ *
111
+ * Gathered HERE rather than on the candidate on purpose: the candidate is echoed
112
+ * by `--echo`/`--to-script`, so anything on it can end up in a shell history or a
113
+ * committed script. These never touch it.
114
+ *
115
+ * Skipped when values already arrived via `--input` (the headless path) and in
116
+ * --silent mode, where prompting is not allowed.
117
+ */
118
+ private promptForCredentials;
119
+ /**
120
+ * Adds cloud logins until the user is done. Each gets a name, which becomes part
121
+ * of its input keys and keeps one login's secrets from clobbering another's.
122
+ *
123
+ * The cabinet's own cloud is offered as the default provider, since that is the
124
+ * one the agent certainly needs — but not forced, because an agent may well need
125
+ * credentials for a cloud it does not itself run on.
126
+ */
127
+ private promptForCspLogins;
46
128
  private setType;
47
129
  private setName;
48
130
  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,11 @@ 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
+ partial.secretStore = yield this.setSecretStore(partial.secretStore);
119
+ partial.cspProvider = cluster.provider;
113
120
  // --- name ---------------------------------------------------------------
114
121
  partial.name = yield this.setName(partial.name, partial.type, takeDefaults, explicit === null || explicit === void 0 ? void 0 : explicit.name);
115
122
  // --- hasIngress -----------------------------------------------------------
@@ -134,6 +141,201 @@ class AiAgentInstall extends command_base_exec_1.CommandBaseExec {
134
141
  return yield this.buildCandidate_silently(partial, rootMap, explicit);
135
142
  });
136
143
  }
144
+ /**
145
+ * The cabinet the agent lands in — pick an existing one, or create one inline.
146
+ *
147
+ * WHY this lives here rather than in `rootMapUtils.promptForCabinet`: that
148
+ * picker is shared with `asset undeploy`, `asset recycle`, `snapshot deploy`
149
+ * and others, where "create a new cabinet" is a meaningless answer — you
150
+ * cannot undeploy from a cabinet that has never held anything. Installing an
151
+ * agent is the one flow where a brand-new cabinet is routine, and often the
152
+ * entire point ("give me a cabinet with an agent in it"). Putting the option
153
+ * in the shared picker would change the prompt for all of those commands.
154
+ *
155
+ * Shape mirrors the existing-or-new question used for host mappings further
156
+ * down this same file, so the two branching prompts read alike.
157
+ *
158
+ * @returns the chosen/created cabinet and its cluster, or undefined on a clean
159
+ * cancel (caller aborts without doing any work).
160
+ */
161
+ resolveCabinet(partial, rootMap, takeDefaults, explicit) {
162
+ var _a;
163
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
164
+ const ent = rootMap.enterprises.find(e => e.name === partial.enterprise);
165
+ 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 : []; });
166
+ // With nothing to choose from the question is rhetorical — go straight to
167
+ // create, rather than letting the shared picker throw "no cabinets were
168
+ // found". A cabinet named on the command line is already an explicit
169
+ // answer, so don't second-guess it with a prompt either.
170
+ let createNew = existingCabinets.length === 0;
171
+ if (!createNew && !(explicit === null || explicit === void 0 ? void 0 : explicit.cabinet)) {
172
+ const choice = yield this._ui.promptSelect("useExistingCabinet", "Use an existing cabinet, or create a new one?", [
173
+ { name: "Use an existing cabinet", value: "existing" },
174
+ { name: "Create a new one", value: "new" },
175
+ ]);
176
+ if (!choice)
177
+ return undefined; // clean cancel
178
+ createNew = choice === "new";
179
+ }
180
+ if (!createNew) {
181
+ // Reuse the shared picker rather than hand-rolling selection/validation/
182
+ // confirmation logic (it already implements Rules 1-3).
183
+ const [cab] = yield this.rootMapUtils.promptForCabinet(partial.enterprise, rootMap, partial.cabinet, takeDefaults, undefined, explicit === null || explicit === void 0 ? void 0 : explicit.cabinet);
184
+ return { name: cab.name, cluster: cab.cluster };
185
+ }
186
+ return yield this.createCabinet(partial.enterprise, rootMap, takeDefaults);
187
+ });
188
+ }
189
+ /**
190
+ * Creates a cabinet through the same relay call `cod cabinet create` uses, so
191
+ * the two paths cannot drift on provisioning behavior.
192
+ *
193
+ * A cabinet is defined by its ENVIRONMENT, not by a cluster directly — the
194
+ * environment carries the cluster attachment — hence `promptForEnviroCluster`
195
+ * rather than a bare cluster picker. Cloud creds are gathered before the call
196
+ * for the same reason `cabinet create` gathers them: the relay provisions the
197
+ * namespace server-side and cannot perform an interactive login.
198
+ *
199
+ * @returns the created cabinet and its cluster, or undefined if creation
200
+ * failed or was cancelled — callers must not install into a cabinet
201
+ * that does not exist.
202
+ */
203
+ createCabinet(enterprise, rootMap, takeDefaults) {
204
+ var _a, _b, _c, _d;
205
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
206
+ // `prompt` hands back an EntryValue; normalize to a trimmed string so the
207
+ // name we create, echo, and later install into are all the same value.
208
+ const cabinetName = String((_a = yield this._ui.prompt("newCabinetName", "New cabinet name: ", true)) !== null && _a !== void 0 ? _a : "").trim();
209
+ if (_.isEmpty(cabinetName))
210
+ return undefined; // clean cancel
211
+ const [environment, cluster] = yield this.rootMapUtils.promptForEnviroCluster(rootMap, enterprise, undefined, undefined, takeDefaults);
212
+ yield this.cspContextualizer.promptForCloudProviderCreds(this.ioc, cluster.provider, takeDefaults, undefined, undefined, cluster.providerSubscriptionId);
213
+ const label = `${enterprise}/${cabinetName}`;
214
+ this._ui.userMessage(`Creating cabinet ${this._styler.hilite(label)}...`);
215
+ const result = yield this.watcher.triggerAndWatch((correlationId, socketId) => {
216
+ const req = {
217
+ targetCabinet: { enterprise, environment: environment.name, cabinet: cabinetName, cluster: cluster.name },
218
+ targetClusterName: cluster.name,
219
+ socketId,
220
+ correlationId,
221
+ };
222
+ return this.genRelayClient.Call.cabinetCreate(req);
223
+ });
224
+ if (result.error || !result.success) {
225
+ 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();
226
+ this.logger.error(msg, result.error);
227
+ this._ui.userMessage(`${this._styler.colorCritical("ERROR!")} ${msg}`);
228
+ return undefined;
229
+ }
230
+ this._ui.userMessage(`${this._styler.colorGood("SUCCESS!")} Cabinet [${this._styler.hilite(label)}] created.`);
231
+ return { name: cabinetName, cluster: cluster.name };
232
+ });
233
+ }
234
+ /**
235
+ * Which secret store agent credentials get written to.
236
+ *
237
+ * Only asks when there is more than one: with a single store there is nothing to
238
+ * disambiguate, and the relay picks it. Filtered to actual secret stores — a
239
+ * generic KVP store is not somewhere to put a password.
240
+ *
241
+ * Answering this up front also unblocks an enterprise with two vaults, which
242
+ * previously could not install an agent at all: the relay's ambiguity branch
243
+ * blocked and pointed at a framework-profile override most people have no reason
244
+ * to touch.
245
+ */
246
+ setSecretStore(userInput) {
247
+ var _a, _b, _c;
248
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
249
+ if (userInput && !_.isEmpty(userInput))
250
+ return userInput;
251
+ try {
252
+ const all = (_a = yield this._codiacApi.KvpStoreDef.readMany({ all: true }, { throwNotFound: false })) !== null && _a !== void 0 ? _a : [];
253
+ const stores = all.filter(x => [contracts_1.KvpStoreTypesEnum.awsKeyVault, contracts_1.KvpStoreTypesEnum.azKeyVault]
254
+ .map(t => t.toString()).includes(x.type));
255
+ if (stores.length <= 1)
256
+ return (_b = stores[0]) === null || _b === void 0 ? void 0 : _b.name;
257
+ const choices = stores.map(x => ({ name: `${x.name} (${x.type})`, value: x.name }));
258
+ const picked = yield this._ui.promptSelect('secretStore', 'Secret store for agent credentials:', choices);
259
+ return picked !== null && picked !== void 0 ? picked : undefined;
260
+ }
261
+ catch (err) {
262
+ // Never block the install on this — the relay still resolves a single store,
263
+ // and credentials are optional anyway.
264
+ this.logger.detail(`Could not list secret stores: ${(_c = err === null || err === void 0 ? void 0 : err.message) !== null && _c !== void 0 ? _c : err}`);
265
+ return undefined;
266
+ }
267
+ });
268
+ }
269
+ /**
270
+ * Optionally collect the credentials the agent will run as, and fold them into
271
+ * `inputs` for the provisioner to put in the secret store.
272
+ *
273
+ * Cloud logins loop: an agent can hold SEVERAL (`csp.<name>.*`), because a
274
+ * tenant's cabinets span clouds and subscriptions. The loop runs the same
275
+ * collection `cod ai agent csp add` uses, so a login added here is identical to
276
+ * one added later.
277
+ *
278
+ * Gathered HERE rather than on the candidate on purpose: the candidate is echoed
279
+ * by `--echo`/`--to-script`, so anything on it can end up in a shell history or a
280
+ * committed script. These never touch it.
281
+ *
282
+ * Skipped when values already arrived via `--input` (the headless path) and in
283
+ * --silent mode, where prompting is not allowed.
284
+ */
285
+ promptForCredentials(inputs, cspProvider) {
286
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
287
+ if (this.isSilentMode())
288
+ return;
289
+ if (Object.keys(inputs).some(k => k.startsWith('codiac.') || k.startsWith('csp.')))
290
+ return;
291
+ const wants = yield this._ui.promptConfirm('agentCreds', 'Give this agent its own Codiac login? (stored in your secret store)', false);
292
+ if (wants) {
293
+ for (const c of AiAgentInstall.CODIAC_CREDENTIAL_PROMPTS) {
294
+ const value = c.secret
295
+ ? yield this._ui.promptPassword(c.key, `${c.label}:`)
296
+ : yield this._ui.prompt(c.key, `${c.label}:`, false);
297
+ if (value != undefined && String(value).trim() !== '')
298
+ inputs[c.key] = String(value).trim();
299
+ }
300
+ }
301
+ yield this.promptForCspLogins(inputs, cspProvider);
302
+ });
303
+ }
304
+ /**
305
+ * Adds cloud logins until the user is done. Each gets a name, which becomes part
306
+ * of its input keys and keeps one login's secrets from clobbering another's.
307
+ *
308
+ * The cabinet's own cloud is offered as the default provider, since that is the
309
+ * one the agent certainly needs — but not forced, because an agent may well need
310
+ * credentials for a cloud it does not itself run on.
311
+ */
312
+ promptForCspLogins(inputs, cabinetProvider) {
313
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
314
+ let another = yield this._ui.promptConfirm('addCspCreds', 'Add cloud (CSP) credentials for this agent?', false);
315
+ while (another) {
316
+ const providerChoices = agent_csp_credentials_1.SUPPORTED_CSPS.map(p => ({
317
+ name: p === cabinetProvider ? `${p} (this cabinet's cloud)` : p,
318
+ value: p,
319
+ }));
320
+ const provider = yield this._ui.promptSelect('cspProvider', 'Cloud:', providerChoices);
321
+ if (!provider)
322
+ break;
323
+ // Named so several logins can coexist. Defaulting to the provider keeps the
324
+ // common single-login case a plain Enter.
325
+ const suggested = agent_csp_credentials_1.SUPPORTED_CSPS.includes(provider) ? provider : 'csp';
326
+ const raw = yield this._ui.prompt('cspLoginName', `Name for this login [${suggested}]:`, false);
327
+ const login = (String(raw !== null && raw !== void 0 ? raw : '').trim() || suggested).replace(/[^A-Za-z0-9-]/g, '-');
328
+ const captured = yield (0, agent_csp_credentials_1.promptForCspLogin)(this._ui, inputs, login, provider);
329
+ if (captured.length === 0) {
330
+ this._ui.userMessage(this._styler.colorWarning(`No values entered for [${login}] — nothing stored.`));
331
+ }
332
+ else {
333
+ this._ui.userMessage(`Captured ${captured.length} field(s) for ${this._styler.hilite(login)} (${provider}).`);
334
+ }
335
+ another = yield this._ui.promptConfirm('addAnotherCsp', 'Add another cloud login?', false);
336
+ }
337
+ });
338
+ }
137
339
  setType(userInput, takeDefaults, overrides) {
138
340
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
139
341
  let invalidInput = false;
@@ -260,6 +462,13 @@ class AiAgentInstall extends command_base_exec_1.CommandBaseExec {
260
462
  cmd.push("--naming", candidate.naming);
261
463
  if (candidate.domain)
262
464
  cmd.push("--domain", candidate.domain);
465
+ // Credentials are deliberately NOT echoed here — they are gathered at execute
466
+ // time and never put on the candidate, so a replayed command (or a --to-script
467
+ // file) can never carry a password.
468
+ if (candidate.secretStore)
469
+ cmd.push("--input", `secretStore=${candidate.secretStore}`);
470
+ if (candidate.cspProvider)
471
+ cmd.push("--input", `csp.provider=${candidate.cspProvider}`);
263
472
  cmd.push("--silent");
264
473
  return cmd;
265
474
  }
@@ -278,6 +487,13 @@ class AiAgentInstall extends command_base_exec_1.CommandBaseExec {
278
487
  if (eq > 0)
279
488
  inputs[kv.slice(0, eq)] = kv.slice(eq + 1);
280
489
  }
490
+ if (candidate.secretStore && inputs['secretStore'] === undefined) {
491
+ inputs['secretStore'] = candidate.secretStore;
492
+ }
493
+ if (candidate.cspProvider && inputs['csp.provider'] === undefined) {
494
+ inputs['csp.provider'] = candidate.cspProvider;
495
+ }
496
+ yield this.promptForCredentials(inputs, candidate.cspProvider);
281
497
  const attemptedCodes = new Set();
282
498
  while (true) {
283
499
  const request = this.toProvisionRequest(candidate, inputs);
@@ -431,4 +647,9 @@ AiAgentInstall.flags = {
431
647
  "to-script": core_1.Flags.boolean({ exclusive: ["echo", "silent"], description: 'Renders the equivalent non-interactive command without executing it.' }),
432
648
  };
433
649
  AiAgentInstall.args = {};
650
+ /** Codiac credentials — the same regardless of which cloud the cabinet runs on. */
651
+ AiAgentInstall.CODIAC_CREDENTIAL_PROMPTS = [
652
+ { key: 'codiac.username', label: 'Codiac username', secret: false },
653
+ { key: 'codiac.password', label: 'Codiac password', secret: true },
654
+ ];
434
655
  //# sourceMappingURL=install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../src/commands/ai/agent/install.ts"],"names":[],"mappings":"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"}
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) {