@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.
- package/README.md +359 -171
- package/dist/commands/ai/agent/csp/add.d.ts +50 -0
- package/dist/commands/ai/agent/csp/add.js +157 -0
- package/dist/commands/ai/agent/csp/add.js.map +1 -0
- package/dist/commands/ai/agent/csp/delete.d.ts +43 -0
- package/dist/commands/ai/agent/csp/delete.js +137 -0
- package/dist/commands/ai/agent/csp/delete.js.map +1 -0
- package/dist/commands/ai/agent/csp/list.d.ts +36 -0
- package/dist/commands/ai/agent/csp/list.js +102 -0
- package/dist/commands/ai/agent/csp/list.js.map +1 -0
- package/dist/commands/ai/agent/install.d.ts +82 -0
- package/dist/commands/ai/agent/install.js +224 -3
- package/dist/commands/ai/agent/install.js.map +1 -1
- package/dist/commands/ai/model/install.d.ts +16 -0
- package/dist/commands/ai/model/install.js +28 -4
- package/dist/commands/ai/model/install.js.map +1 -1
- package/dist/commands/cluster/agent/install.js +7 -2
- package/dist/commands/cluster/agent/install.js.map +1 -1
- package/dist/uilogic/agent-csp-credentials.d.ts +47 -0
- package/dist/uilogic/agent-csp-credentials.js +67 -0
- package/dist/uilogic/agent-csp-credentials.js.map +1 -0
- package/oclif.manifest.json +200 -2
- package/package.json +1 -1
|
@@ -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
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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
|
-
|
|
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
|
|
296
|
-
|
|
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) {
|