@indemn/cli 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/functions.d.ts.map +1 -1
- package/dist/cli/functions.js +235 -24
- package/dist/cli/functions.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/sdk/types.d.ts +5 -0
- package/dist/sdk/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/cli/functions.ts +272 -33
- package/src/cli/index.ts +1 -1
- package/src/sdk/types.ts +8 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/cli/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/cli/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+KpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiZ/D"}
|
package/dist/cli/functions.js
CHANGED
|
@@ -1,7 +1,160 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
1
2
|
import ora from 'ora';
|
|
3
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
2
4
|
import { IndemnClient } from '../sdk/client.js';
|
|
3
5
|
import { FunctionsSDK } from '../sdk/functions.js';
|
|
4
6
|
import { formatTable, printJson, printError, printSuccess, confirm } from './utils/output.js';
|
|
7
|
+
const REST_API_TYPE = 'rest_api';
|
|
8
|
+
const CUSTOM_TOOL_TYPE = 'custom_tool';
|
|
9
|
+
// Server expects kebab-case auth types (see copilot-server/utils/constants.js
|
|
10
|
+
// AI_FUNCTIONS_REST_API_HEADERS). Snake_case values pass validation but silently
|
|
11
|
+
// produce no Authorization header.
|
|
12
|
+
const VALID_AUTH_TYPES = ['api-key', 'basic-auth', 'bearer-token', 'no-auth'];
|
|
13
|
+
const VALID_HTTP_METHODS = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'];
|
|
14
|
+
function loadConfigFile(filePath) {
|
|
15
|
+
if (!existsSync(filePath)) {
|
|
16
|
+
throw new Error(`--config file not found: ${filePath}`);
|
|
17
|
+
}
|
|
18
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
19
|
+
let parsed;
|
|
20
|
+
try {
|
|
21
|
+
parsed = JSON.parse(content);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
throw new Error(`--config file is not valid JSON: ${filePath}`);
|
|
25
|
+
}
|
|
26
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
27
|
+
throw new Error(`--config file must contain a JSON object: ${filePath}`);
|
|
28
|
+
}
|
|
29
|
+
const obj = parsed;
|
|
30
|
+
// Auto-unwrap if the file is a full BotFunction dump rather than just configurationSchema contents.
|
|
31
|
+
// (e.g. user piped `functions list --json` into a file). Detected by presence of the wrapping key.
|
|
32
|
+
if (obj.configurationSchema && typeof obj.configurationSchema === 'object' && !Array.isArray(obj.configurationSchema)) {
|
|
33
|
+
return obj.configurationSchema;
|
|
34
|
+
}
|
|
35
|
+
return obj;
|
|
36
|
+
}
|
|
37
|
+
function loadPayloadString(opts) {
|
|
38
|
+
if (opts.payload !== undefined && opts.payloadFile !== undefined) {
|
|
39
|
+
throw new Error('--payload and --payload-file are mutually exclusive');
|
|
40
|
+
}
|
|
41
|
+
if (opts.payload !== undefined)
|
|
42
|
+
return opts.payload;
|
|
43
|
+
if (opts.payloadFile !== undefined) {
|
|
44
|
+
if (!existsSync(opts.payloadFile)) {
|
|
45
|
+
throw new Error(`--payload-file not found: ${opts.payloadFile}`);
|
|
46
|
+
}
|
|
47
|
+
return readFileSync(opts.payloadFile, 'utf-8');
|
|
48
|
+
}
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
function buildAuthorization(opts) {
|
|
52
|
+
if (opts.authType === undefined)
|
|
53
|
+
return undefined;
|
|
54
|
+
// Accept snake_case as a user-friendly alias for kebab-case (idiomatic CLI variants).
|
|
55
|
+
const authType = opts.authType.replace(/_/g, '-');
|
|
56
|
+
if (!VALID_AUTH_TYPES.includes(authType)) {
|
|
57
|
+
throw new Error(`--auth-type must be one of: ${VALID_AUTH_TYPES.join(', ')}`);
|
|
58
|
+
}
|
|
59
|
+
if (authType === 'no-auth')
|
|
60
|
+
return { type: 'no-auth' };
|
|
61
|
+
if (authType === 'api-key') {
|
|
62
|
+
if (!opts.authKey || !opts.authValue) {
|
|
63
|
+
throw new Error('--auth-key and --auth-value are required when --auth-type is api-key');
|
|
64
|
+
}
|
|
65
|
+
return { type: 'api-key', key: opts.authKey, value: opts.authValue };
|
|
66
|
+
}
|
|
67
|
+
if (authType === 'basic-auth') {
|
|
68
|
+
if (!opts.authUsername || !opts.authPassword) {
|
|
69
|
+
throw new Error('--auth-username and --auth-password are required when --auth-type is basic-auth');
|
|
70
|
+
}
|
|
71
|
+
return { type: 'basic-auth', username: opts.authUsername, password: opts.authPassword };
|
|
72
|
+
}
|
|
73
|
+
if (authType === 'bearer-token') {
|
|
74
|
+
if (!opts.authToken) {
|
|
75
|
+
throw new Error('--auth-token is required when --auth-type is bearer-token');
|
|
76
|
+
}
|
|
77
|
+
return { type: 'bearer-token', token: opts.authToken };
|
|
78
|
+
}
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
function validateTypeFlagCompatibility(type, opts) {
|
|
82
|
+
// REST-only flags must not be used with non-rest_api types — point them at --config instead.
|
|
83
|
+
const restOnlyFlags = [
|
|
84
|
+
['endpoint', '--endpoint'],
|
|
85
|
+
['method', '--method'],
|
|
86
|
+
['payload', '--payload'],
|
|
87
|
+
['payloadFile', '--payload-file'],
|
|
88
|
+
['responseField', '--response-field'],
|
|
89
|
+
['authType', '--auth-type'],
|
|
90
|
+
['authKey', '--auth-key'],
|
|
91
|
+
['authValue', '--auth-value'],
|
|
92
|
+
['authUsername', '--auth-username'],
|
|
93
|
+
['authPassword', '--auth-password'],
|
|
94
|
+
['authToken', '--auth-token'],
|
|
95
|
+
];
|
|
96
|
+
if (type !== REST_API_TYPE) {
|
|
97
|
+
for (const [opt, flag] of restOnlyFlags) {
|
|
98
|
+
if (opts[opt] !== undefined) {
|
|
99
|
+
throw new Error(`${flag} is only valid for --type rest_api. Use --config for other function types.`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (opts.method !== undefined) {
|
|
104
|
+
const upper = opts.method.toUpperCase();
|
|
105
|
+
if (!VALID_HTTP_METHODS.includes(upper)) {
|
|
106
|
+
throw new Error(`--method must be one of: ${VALID_HTTP_METHODS.join(', ')}`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function buildConfigurationSchema(opts, type) {
|
|
111
|
+
// Start from --config file if provided; layer individual flags on top so CLI wins.
|
|
112
|
+
const result = opts.config ? loadConfigFile(opts.config) : {};
|
|
113
|
+
if (type === REST_API_TYPE) {
|
|
114
|
+
if (opts.endpoint !== undefined)
|
|
115
|
+
result.endpoint = opts.endpoint;
|
|
116
|
+
if (opts.method !== undefined)
|
|
117
|
+
result.method = opts.method.toUpperCase();
|
|
118
|
+
const payloadStr = loadPayloadString(opts);
|
|
119
|
+
if (payloadStr !== undefined)
|
|
120
|
+
result.payload = payloadStr;
|
|
121
|
+
if (opts.responseField !== undefined)
|
|
122
|
+
result.responseField = opts.responseField;
|
|
123
|
+
const auth = buildAuthorization(opts);
|
|
124
|
+
if (auth !== undefined)
|
|
125
|
+
result.authorization = auth;
|
|
126
|
+
// Server's validateRestApiPayload requires authorization.type. Default to "no-auth"
|
|
127
|
+
// so callers don't have to pass --auth-type explicitly for unauthenticated APIs.
|
|
128
|
+
if (result.authorization === undefined) {
|
|
129
|
+
result.authorization = { type: 'no-auth' };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (type === REST_API_TYPE || type === CUSTOM_TOOL_TYPE) {
|
|
133
|
+
if (opts.outputInstructions !== undefined)
|
|
134
|
+
result.outputInstructions = opts.outputInstructions;
|
|
135
|
+
if (opts.craftResponse !== undefined)
|
|
136
|
+
result.craftResponse = !!opts.craftResponse;
|
|
137
|
+
}
|
|
138
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
139
|
+
}
|
|
140
|
+
function applyConfigSchemaOptions(cmd) {
|
|
141
|
+
return cmd
|
|
142
|
+
.option('--endpoint <url>', 'REST API endpoint URL')
|
|
143
|
+
.option('--method <method>', 'HTTP method (GET|POST|PUT|DELETE|PATCH)')
|
|
144
|
+
.option('--payload <json>', 'Request body as JSON string (server JSON.parses at execution)')
|
|
145
|
+
.option('--payload-file <path>', 'Path to file containing request body JSON (alt to --payload)')
|
|
146
|
+
.option('--response-field <path>', 'Dot-path for extracting from response (e.g. data.result)')
|
|
147
|
+
.option('--output-instructions <text>', 'Instructions for how the LLM uses the response')
|
|
148
|
+
.option('--craft-response', 'Have LLM craft response (use --no-craft-response to return data directly)')
|
|
149
|
+
.option('--no-craft-response', 'Return data directly without LLM crafting')
|
|
150
|
+
.option('--auth-type <type>', 'Auth type: api-key | basic-auth | bearer-token | no-auth')
|
|
151
|
+
.option('--auth-key <name>', 'Header name for api-key auth (e.g. X-API-Key)')
|
|
152
|
+
.option('--auth-value <value>', 'Header value for api-key auth')
|
|
153
|
+
.option('--auth-username <user>', 'Username for basic-auth')
|
|
154
|
+
.option('--auth-password <pass>', 'Password for basic-auth')
|
|
155
|
+
.option('--auth-token <token>', 'Token for bearer-token auth')
|
|
156
|
+
.option('--config <path>', 'JSON file with full configurationSchema (individual flags override file values)');
|
|
157
|
+
}
|
|
5
158
|
export function registerFunctionCommands(program) {
|
|
6
159
|
const functions = program.command('functions').description('Manage agent functions/tools');
|
|
7
160
|
functions
|
|
@@ -47,63 +200,112 @@ export function registerFunctionCommands(program) {
|
|
|
47
200
|
process.exit(1);
|
|
48
201
|
}
|
|
49
202
|
});
|
|
50
|
-
functions
|
|
203
|
+
applyConfigSchemaOptions(functions
|
|
51
204
|
.command('create')
|
|
52
205
|
.argument('<agent-id>', 'Agent ID')
|
|
53
206
|
.description('Create a function for an agent')
|
|
54
207
|
.requiredOption('--type <type>', 'Function type')
|
|
55
208
|
.option('--name <name>', 'Function name')
|
|
56
|
-
.option('--description <description>', 'Function description')
|
|
209
|
+
.option('--description <description>', 'Function description'))
|
|
57
210
|
.action(async (agentId, options) => {
|
|
58
211
|
try {
|
|
212
|
+
validateTypeFlagCompatibility(options.type, options);
|
|
213
|
+
const configurationSchema = buildConfigurationSchema(options, options.type);
|
|
214
|
+
// For rest_api on create, require endpoint+method (unless supplied via --config).
|
|
215
|
+
if (options.type === REST_API_TYPE) {
|
|
216
|
+
if (!configurationSchema || !configurationSchema.endpoint) {
|
|
217
|
+
throw new Error('--endpoint (or --config with endpoint) is required for --type rest_api');
|
|
218
|
+
}
|
|
219
|
+
if (!configurationSchema.method) {
|
|
220
|
+
throw new Error('--method (or --config with method) is required for --type rest_api');
|
|
221
|
+
}
|
|
222
|
+
}
|
|
59
223
|
const client = new IndemnClient();
|
|
60
224
|
const sdk = new FunctionsSDK(client);
|
|
61
225
|
const spinner = ora('Creating function...').start();
|
|
226
|
+
// Step 1: POST skeleton (server's createBotTool doesn't convert configurationSchema —
|
|
227
|
+
// only the update path does. So a two-step create is needed for the function to be executable.)
|
|
62
228
|
const func = await sdk.createFunction(agentId, {
|
|
63
229
|
type: options.type,
|
|
64
230
|
name: options.name,
|
|
65
231
|
description: options.description,
|
|
66
232
|
});
|
|
233
|
+
// Step 2: PUT configurationSchema so the server converts it into executionSchema.
|
|
234
|
+
let finalFunc = func;
|
|
235
|
+
if (configurationSchema) {
|
|
236
|
+
spinner.text = 'Configuring function...';
|
|
237
|
+
try {
|
|
238
|
+
finalFunc = await sdk.updateFunction(agentId, func._id, {
|
|
239
|
+
type: options.type,
|
|
240
|
+
description: options.description || '',
|
|
241
|
+
configurationSchema,
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
catch (err) {
|
|
245
|
+
spinner.fail(`Function created (${func._id}) but configuration step failed.`);
|
|
246
|
+
printError(err);
|
|
247
|
+
console.log(chalk.dim(`Retry: indemn functions update <agent-id> ${func._id} ...`));
|
|
248
|
+
console.log(chalk.dim(`Or remove: indemn functions delete <agent-id> ${func._id}`));
|
|
249
|
+
process.exit(1);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
67
252
|
spinner.stop();
|
|
68
|
-
printSuccess(`Function created: ${
|
|
69
|
-
console.log(` Name: ${
|
|
70
|
-
console.log(` Type: ${
|
|
253
|
+
printSuccess(`Function created: ${finalFunc._id}`);
|
|
254
|
+
console.log(` Name: ${finalFunc.name || '(none)'}`);
|
|
255
|
+
console.log(` Type: ${finalFunc.type}`);
|
|
71
256
|
}
|
|
72
257
|
catch (err) {
|
|
73
258
|
printError(err);
|
|
74
259
|
process.exit(1);
|
|
75
260
|
}
|
|
76
261
|
});
|
|
77
|
-
functions
|
|
262
|
+
applyConfigSchemaOptions(functions
|
|
78
263
|
.command('update')
|
|
79
264
|
.argument('<agent-id>', 'Agent ID')
|
|
80
265
|
.argument('<func-id>', 'Function ID')
|
|
81
266
|
.description('Update a function')
|
|
82
267
|
.option('--name <name>', 'Function name')
|
|
83
|
-
.option('--description <description>', 'Function description')
|
|
268
|
+
.option('--description <description>', 'Function description'))
|
|
84
269
|
.action(async (agentId, funcId, options) => {
|
|
85
270
|
try {
|
|
86
|
-
const input = {};
|
|
87
|
-
if (options.name)
|
|
88
|
-
input.name = options.name;
|
|
89
|
-
if (options.description)
|
|
90
|
-
input.description = options.description;
|
|
91
|
-
if (Object.keys(input).length === 0) {
|
|
92
|
-
printError('No update options provided. Use --name or --description.');
|
|
93
|
-
process.exit(1);
|
|
94
|
-
}
|
|
95
271
|
const client = new IndemnClient();
|
|
96
272
|
const sdk = new FunctionsSDK(client);
|
|
97
|
-
|
|
98
|
-
|
|
273
|
+
// Fetch current function — required so we can preserve type/description and merge configurationSchema.
|
|
274
|
+
const fetchSpinner = ora('Fetching current function...').start();
|
|
99
275
|
const functions = await sdk.listFunctions(agentId);
|
|
100
276
|
const current = functions.find((f) => f._id === funcId);
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
input.description = current.description;
|
|
277
|
+
fetchSpinner.stop();
|
|
278
|
+
if (!current) {
|
|
279
|
+
printError(`Function ${funcId} not found.`);
|
|
280
|
+
process.exit(1);
|
|
106
281
|
}
|
|
282
|
+
validateTypeFlagCompatibility(current.type, options);
|
|
283
|
+
const input = {
|
|
284
|
+
// Server requires type + description on every update.
|
|
285
|
+
type: current.type,
|
|
286
|
+
description: options.description || current.description || '',
|
|
287
|
+
};
|
|
288
|
+
if (options.name)
|
|
289
|
+
input.name = options.name;
|
|
290
|
+
// Build configurationSchema patch from flags + --config, then shallow-merge over current.
|
|
291
|
+
// Server replaces executionSchema wholesale on each update, so we must send the full merged schema —
|
|
292
|
+
// otherwise `update --endpoint X` would wipe everything else.
|
|
293
|
+
const patch = buildConfigurationSchema(options, current.type);
|
|
294
|
+
if (patch) {
|
|
295
|
+
input.configurationSchema = {
|
|
296
|
+
...(current.configurationSchema || {}),
|
|
297
|
+
...patch,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
// Anything actually changing? type+description are always set; require at least one explicit option.
|
|
301
|
+
const hasUserChanges = options.name !== undefined ||
|
|
302
|
+
options.description !== undefined ||
|
|
303
|
+
patch !== undefined;
|
|
304
|
+
if (!hasUserChanges) {
|
|
305
|
+
printError('No update options provided. Use --name, --description, --endpoint, --config, etc.');
|
|
306
|
+
process.exit(1);
|
|
307
|
+
}
|
|
308
|
+
const spinner = ora('Updating function...').start();
|
|
107
309
|
await sdk.updateFunction(agentId, funcId, input);
|
|
108
310
|
spinner.stop();
|
|
109
311
|
printSuccess(`Function ${funcId} updated.`);
|
|
@@ -147,8 +349,17 @@ export function registerFunctionCommands(program) {
|
|
|
147
349
|
try {
|
|
148
350
|
const client = new IndemnClient();
|
|
149
351
|
const sdk = new FunctionsSDK(client);
|
|
352
|
+
// Server's /test-rest-api endpoint expects the configurationSchema in the request body
|
|
353
|
+
// (it re-converts via convertPayloadToExecutionSchema). It does NOT read the stored
|
|
354
|
+
// schema from the DB. So we fetch the function's current configurationSchema and send it.
|
|
150
355
|
const spinner = ora('Testing function...').start();
|
|
151
|
-
const
|
|
356
|
+
const all = await sdk.listFunctions(agentId);
|
|
357
|
+
const current = all.find((f) => f._id === funcId);
|
|
358
|
+
if (!current) {
|
|
359
|
+
spinner.fail(`Function ${funcId} not found.`);
|
|
360
|
+
process.exit(1);
|
|
361
|
+
}
|
|
362
|
+
const result = await sdk.testFunction(agentId, funcId, current.configurationSchema || {});
|
|
152
363
|
spinner.stop();
|
|
153
364
|
if (options.json) {
|
|
154
365
|
printJson(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/cli/functions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/cli/functions.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -16,7 +16,7 @@ const program = new Command();
|
|
|
16
16
|
program
|
|
17
17
|
.name('indemn')
|
|
18
18
|
.description('CLI for managing Indemn AI agents')
|
|
19
|
-
.version('1.
|
|
19
|
+
.version('1.5.0');
|
|
20
20
|
program.option('--env <environment>', 'Environment (dev or production)');
|
|
21
21
|
program.option('--no-banner', 'Suppress the active-org banner');
|
|
22
22
|
// Commands that already surface org identity themselves — no banner needed.
|
package/dist/sdk/types.d.ts
CHANGED
|
@@ -85,6 +85,8 @@ export interface BotFunction {
|
|
|
85
85
|
headers?: Record<string, string>;
|
|
86
86
|
body?: Record<string, unknown>;
|
|
87
87
|
parameters?: FunctionParameter[];
|
|
88
|
+
configurationSchema?: Record<string, unknown>;
|
|
89
|
+
executionSchema?: Record<string, unknown>;
|
|
88
90
|
id_bot?: string;
|
|
89
91
|
createdAt?: string;
|
|
90
92
|
updatedAt?: string;
|
|
@@ -100,14 +102,17 @@ export interface CreateFunctionInput {
|
|
|
100
102
|
type: string;
|
|
101
103
|
description?: string;
|
|
102
104
|
name?: string;
|
|
105
|
+
configurationSchema?: Record<string, unknown>;
|
|
103
106
|
url?: string;
|
|
104
107
|
method?: string;
|
|
105
108
|
headers?: Record<string, string>;
|
|
106
109
|
body?: Record<string, unknown>;
|
|
107
110
|
}
|
|
108
111
|
export interface UpdateFunctionInput {
|
|
112
|
+
type?: string;
|
|
109
113
|
description?: string;
|
|
110
114
|
name?: string;
|
|
115
|
+
configurationSchema?: Record<string, unknown>;
|
|
111
116
|
url?: string;
|
|
112
117
|
method?: string;
|
|
113
118
|
headers?: Record<string, string>;
|
package/dist/sdk/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/cli/functions.ts
CHANGED
|
@@ -1,9 +1,178 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
2
3
|
import ora from 'ora';
|
|
4
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
3
5
|
import { IndemnClient } from '../sdk/client.js';
|
|
4
6
|
import { FunctionsSDK } from '../sdk/functions.js';
|
|
5
7
|
import { formatTable, printJson, printError, printSuccess, confirm } from './utils/output.js';
|
|
6
8
|
|
|
9
|
+
const REST_API_TYPE = 'rest_api';
|
|
10
|
+
const CUSTOM_TOOL_TYPE = 'custom_tool';
|
|
11
|
+
// Server expects kebab-case auth types (see copilot-server/utils/constants.js
|
|
12
|
+
// AI_FUNCTIONS_REST_API_HEADERS). Snake_case values pass validation but silently
|
|
13
|
+
// produce no Authorization header.
|
|
14
|
+
const VALID_AUTH_TYPES = ['api-key', 'basic-auth', 'bearer-token', 'no-auth'] as const;
|
|
15
|
+
const VALID_HTTP_METHODS = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'] as const;
|
|
16
|
+
|
|
17
|
+
interface ConfigSchemaOptions {
|
|
18
|
+
config?: string;
|
|
19
|
+
endpoint?: string;
|
|
20
|
+
method?: string;
|
|
21
|
+
payload?: string;
|
|
22
|
+
payloadFile?: string;
|
|
23
|
+
responseField?: string;
|
|
24
|
+
outputInstructions?: string;
|
|
25
|
+
craftResponse?: boolean;
|
|
26
|
+
authType?: string;
|
|
27
|
+
authKey?: string;
|
|
28
|
+
authValue?: string;
|
|
29
|
+
authUsername?: string;
|
|
30
|
+
authPassword?: string;
|
|
31
|
+
authToken?: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function loadConfigFile(filePath: string): Record<string, unknown> {
|
|
35
|
+
if (!existsSync(filePath)) {
|
|
36
|
+
throw new Error(`--config file not found: ${filePath}`);
|
|
37
|
+
}
|
|
38
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
39
|
+
let parsed: unknown;
|
|
40
|
+
try {
|
|
41
|
+
parsed = JSON.parse(content);
|
|
42
|
+
} catch {
|
|
43
|
+
throw new Error(`--config file is not valid JSON: ${filePath}`);
|
|
44
|
+
}
|
|
45
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
46
|
+
throw new Error(`--config file must contain a JSON object: ${filePath}`);
|
|
47
|
+
}
|
|
48
|
+
const obj = parsed as Record<string, unknown>;
|
|
49
|
+
// Auto-unwrap if the file is a full BotFunction dump rather than just configurationSchema contents.
|
|
50
|
+
// (e.g. user piped `functions list --json` into a file). Detected by presence of the wrapping key.
|
|
51
|
+
if (obj.configurationSchema && typeof obj.configurationSchema === 'object' && !Array.isArray(obj.configurationSchema)) {
|
|
52
|
+
return obj.configurationSchema as Record<string, unknown>;
|
|
53
|
+
}
|
|
54
|
+
return obj;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function loadPayloadString(opts: ConfigSchemaOptions): string | undefined {
|
|
58
|
+
if (opts.payload !== undefined && opts.payloadFile !== undefined) {
|
|
59
|
+
throw new Error('--payload and --payload-file are mutually exclusive');
|
|
60
|
+
}
|
|
61
|
+
if (opts.payload !== undefined) return opts.payload;
|
|
62
|
+
if (opts.payloadFile !== undefined) {
|
|
63
|
+
if (!existsSync(opts.payloadFile)) {
|
|
64
|
+
throw new Error(`--payload-file not found: ${opts.payloadFile}`);
|
|
65
|
+
}
|
|
66
|
+
return readFileSync(opts.payloadFile, 'utf-8');
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function buildAuthorization(opts: ConfigSchemaOptions): Record<string, unknown> | undefined {
|
|
72
|
+
if (opts.authType === undefined) return undefined;
|
|
73
|
+
// Accept snake_case as a user-friendly alias for kebab-case (idiomatic CLI variants).
|
|
74
|
+
const authType = opts.authType.replace(/_/g, '-');
|
|
75
|
+
if (!(VALID_AUTH_TYPES as readonly string[]).includes(authType)) {
|
|
76
|
+
throw new Error(`--auth-type must be one of: ${VALID_AUTH_TYPES.join(', ')}`);
|
|
77
|
+
}
|
|
78
|
+
if (authType === 'no-auth') return { type: 'no-auth' };
|
|
79
|
+
if (authType === 'api-key') {
|
|
80
|
+
if (!opts.authKey || !opts.authValue) {
|
|
81
|
+
throw new Error('--auth-key and --auth-value are required when --auth-type is api-key');
|
|
82
|
+
}
|
|
83
|
+
return { type: 'api-key', key: opts.authKey, value: opts.authValue };
|
|
84
|
+
}
|
|
85
|
+
if (authType === 'basic-auth') {
|
|
86
|
+
if (!opts.authUsername || !opts.authPassword) {
|
|
87
|
+
throw new Error('--auth-username and --auth-password are required when --auth-type is basic-auth');
|
|
88
|
+
}
|
|
89
|
+
return { type: 'basic-auth', username: opts.authUsername, password: opts.authPassword };
|
|
90
|
+
}
|
|
91
|
+
if (authType === 'bearer-token') {
|
|
92
|
+
if (!opts.authToken) {
|
|
93
|
+
throw new Error('--auth-token is required when --auth-type is bearer-token');
|
|
94
|
+
}
|
|
95
|
+
return { type: 'bearer-token', token: opts.authToken };
|
|
96
|
+
}
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function validateTypeFlagCompatibility(type: string, opts: ConfigSchemaOptions): void {
|
|
101
|
+
// REST-only flags must not be used with non-rest_api types — point them at --config instead.
|
|
102
|
+
const restOnlyFlags: Array<[keyof ConfigSchemaOptions, string]> = [
|
|
103
|
+
['endpoint', '--endpoint'],
|
|
104
|
+
['method', '--method'],
|
|
105
|
+
['payload', '--payload'],
|
|
106
|
+
['payloadFile', '--payload-file'],
|
|
107
|
+
['responseField', '--response-field'],
|
|
108
|
+
['authType', '--auth-type'],
|
|
109
|
+
['authKey', '--auth-key'],
|
|
110
|
+
['authValue', '--auth-value'],
|
|
111
|
+
['authUsername', '--auth-username'],
|
|
112
|
+
['authPassword', '--auth-password'],
|
|
113
|
+
['authToken', '--auth-token'],
|
|
114
|
+
];
|
|
115
|
+
if (type !== REST_API_TYPE) {
|
|
116
|
+
for (const [opt, flag] of restOnlyFlags) {
|
|
117
|
+
if (opts[opt] !== undefined) {
|
|
118
|
+
throw new Error(`${flag} is only valid for --type rest_api. Use --config for other function types.`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (opts.method !== undefined) {
|
|
123
|
+
const upper = opts.method.toUpperCase();
|
|
124
|
+
if (!(VALID_HTTP_METHODS as readonly string[]).includes(upper)) {
|
|
125
|
+
throw new Error(`--method must be one of: ${VALID_HTTP_METHODS.join(', ')}`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function buildConfigurationSchema(opts: ConfigSchemaOptions, type: string): Record<string, unknown> | undefined {
|
|
131
|
+
// Start from --config file if provided; layer individual flags on top so CLI wins.
|
|
132
|
+
const result: Record<string, unknown> = opts.config ? loadConfigFile(opts.config) : {};
|
|
133
|
+
|
|
134
|
+
if (type === REST_API_TYPE) {
|
|
135
|
+
if (opts.endpoint !== undefined) result.endpoint = opts.endpoint;
|
|
136
|
+
if (opts.method !== undefined) result.method = opts.method.toUpperCase();
|
|
137
|
+
const payloadStr = loadPayloadString(opts);
|
|
138
|
+
if (payloadStr !== undefined) result.payload = payloadStr;
|
|
139
|
+
if (opts.responseField !== undefined) result.responseField = opts.responseField;
|
|
140
|
+
const auth = buildAuthorization(opts);
|
|
141
|
+
if (auth !== undefined) result.authorization = auth;
|
|
142
|
+
// Server's validateRestApiPayload requires authorization.type. Default to "no-auth"
|
|
143
|
+
// so callers don't have to pass --auth-type explicitly for unauthenticated APIs.
|
|
144
|
+
if (result.authorization === undefined) {
|
|
145
|
+
result.authorization = { type: 'no-auth' };
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (type === REST_API_TYPE || type === CUSTOM_TOOL_TYPE) {
|
|
150
|
+
if (opts.outputInstructions !== undefined) result.outputInstructions = opts.outputInstructions;
|
|
151
|
+
if (opts.craftResponse !== undefined) result.craftResponse = !!opts.craftResponse;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
function applyConfigSchemaOptions(cmd: Command): Command {
|
|
158
|
+
return cmd
|
|
159
|
+
.option('--endpoint <url>', 'REST API endpoint URL')
|
|
160
|
+
.option('--method <method>', 'HTTP method (GET|POST|PUT|DELETE|PATCH)')
|
|
161
|
+
.option('--payload <json>', 'Request body as JSON string (server JSON.parses at execution)')
|
|
162
|
+
.option('--payload-file <path>', 'Path to file containing request body JSON (alt to --payload)')
|
|
163
|
+
.option('--response-field <path>', 'Dot-path for extracting from response (e.g. data.result)')
|
|
164
|
+
.option('--output-instructions <text>', 'Instructions for how the LLM uses the response')
|
|
165
|
+
.option('--craft-response', 'Have LLM craft response (use --no-craft-response to return data directly)')
|
|
166
|
+
.option('--no-craft-response', 'Return data directly without LLM crafting')
|
|
167
|
+
.option('--auth-type <type>', 'Auth type: api-key | basic-auth | bearer-token | no-auth')
|
|
168
|
+
.option('--auth-key <name>', 'Header name for api-key auth (e.g. X-API-Key)')
|
|
169
|
+
.option('--auth-value <value>', 'Header value for api-key auth')
|
|
170
|
+
.option('--auth-username <user>', 'Username for basic-auth')
|
|
171
|
+
.option('--auth-password <pass>', 'Password for basic-auth')
|
|
172
|
+
.option('--auth-token <token>', 'Token for bearer-token auth')
|
|
173
|
+
.option('--config <path>', 'JSON file with full configurationSchema (individual flags override file values)');
|
|
174
|
+
}
|
|
175
|
+
|
|
7
176
|
export function registerFunctionCommands(program: Command): void {
|
|
8
177
|
const functions = program.command('functions').description('Manage agent functions/tools');
|
|
9
178
|
|
|
@@ -55,65 +224,126 @@ export function registerFunctionCommands(program: Command): void {
|
|
|
55
224
|
}
|
|
56
225
|
});
|
|
57
226
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
227
|
+
applyConfigSchemaOptions(
|
|
228
|
+
functions
|
|
229
|
+
.command('create')
|
|
230
|
+
.argument('<agent-id>', 'Agent ID')
|
|
231
|
+
.description('Create a function for an agent')
|
|
232
|
+
.requiredOption('--type <type>', 'Function type')
|
|
233
|
+
.option('--name <name>', 'Function name')
|
|
234
|
+
.option('--description <description>', 'Function description')
|
|
235
|
+
)
|
|
65
236
|
.action(async (agentId: string, options) => {
|
|
66
237
|
try {
|
|
238
|
+
validateTypeFlagCompatibility(options.type, options);
|
|
239
|
+
const configurationSchema = buildConfigurationSchema(options, options.type);
|
|
240
|
+
|
|
241
|
+
// For rest_api on create, require endpoint+method (unless supplied via --config).
|
|
242
|
+
if (options.type === REST_API_TYPE) {
|
|
243
|
+
if (!configurationSchema || !configurationSchema.endpoint) {
|
|
244
|
+
throw new Error('--endpoint (or --config with endpoint) is required for --type rest_api');
|
|
245
|
+
}
|
|
246
|
+
if (!configurationSchema.method) {
|
|
247
|
+
throw new Error('--method (or --config with method) is required for --type rest_api');
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
67
251
|
const client = new IndemnClient();
|
|
68
252
|
const sdk = new FunctionsSDK(client);
|
|
69
253
|
const spinner = ora('Creating function...').start();
|
|
70
254
|
|
|
255
|
+
// Step 1: POST skeleton (server's createBotTool doesn't convert configurationSchema —
|
|
256
|
+
// only the update path does. So a two-step create is needed for the function to be executable.)
|
|
71
257
|
const func = await sdk.createFunction(agentId, {
|
|
72
258
|
type: options.type,
|
|
73
259
|
name: options.name,
|
|
74
260
|
description: options.description,
|
|
75
261
|
});
|
|
262
|
+
|
|
263
|
+
// Step 2: PUT configurationSchema so the server converts it into executionSchema.
|
|
264
|
+
let finalFunc = func;
|
|
265
|
+
if (configurationSchema) {
|
|
266
|
+
spinner.text = 'Configuring function...';
|
|
267
|
+
try {
|
|
268
|
+
finalFunc = await sdk.updateFunction(agentId, func._id, {
|
|
269
|
+
type: options.type,
|
|
270
|
+
description: options.description || '',
|
|
271
|
+
configurationSchema,
|
|
272
|
+
});
|
|
273
|
+
} catch (err) {
|
|
274
|
+
spinner.fail(`Function created (${func._id}) but configuration step failed.`);
|
|
275
|
+
printError(err);
|
|
276
|
+
console.log(chalk.dim(`Retry: indemn functions update <agent-id> ${func._id} ...`));
|
|
277
|
+
console.log(chalk.dim(`Or remove: indemn functions delete <agent-id> ${func._id}`));
|
|
278
|
+
process.exit(1);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
76
281
|
spinner.stop();
|
|
77
282
|
|
|
78
|
-
printSuccess(`Function created: ${
|
|
79
|
-
console.log(` Name: ${
|
|
80
|
-
console.log(` Type: ${
|
|
283
|
+
printSuccess(`Function created: ${finalFunc._id}`);
|
|
284
|
+
console.log(` Name: ${finalFunc.name || '(none)'}`);
|
|
285
|
+
console.log(` Type: ${finalFunc.type}`);
|
|
81
286
|
} catch (err) {
|
|
82
287
|
printError(err);
|
|
83
288
|
process.exit(1);
|
|
84
289
|
}
|
|
85
290
|
});
|
|
86
291
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
292
|
+
applyConfigSchemaOptions(
|
|
293
|
+
functions
|
|
294
|
+
.command('update')
|
|
295
|
+
.argument('<agent-id>', 'Agent ID')
|
|
296
|
+
.argument('<func-id>', 'Function ID')
|
|
297
|
+
.description('Update a function')
|
|
298
|
+
.option('--name <name>', 'Function name')
|
|
299
|
+
.option('--description <description>', 'Function description')
|
|
300
|
+
)
|
|
94
301
|
.action(async (agentId: string, funcId: string, options) => {
|
|
95
302
|
try {
|
|
96
|
-
const input: Record<string, unknown> = {};
|
|
97
|
-
if (options.name) input.name = options.name;
|
|
98
|
-
if (options.description) input.description = options.description;
|
|
99
|
-
|
|
100
|
-
if (Object.keys(input).length === 0) {
|
|
101
|
-
printError('No update options provided. Use --name or --description.');
|
|
102
|
-
process.exit(1);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
303
|
const client = new IndemnClient();
|
|
106
304
|
const sdk = new FunctionsSDK(client);
|
|
107
|
-
const spinner = ora('Updating function...').start();
|
|
108
305
|
|
|
109
|
-
//
|
|
306
|
+
// Fetch current function — required so we can preserve type/description and merge configurationSchema.
|
|
307
|
+
const fetchSpinner = ora('Fetching current function...').start();
|
|
110
308
|
const functions = await sdk.listFunctions(agentId);
|
|
111
309
|
const current = functions.find((f) => f._id === funcId);
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
310
|
+
fetchSpinner.stop();
|
|
311
|
+
if (!current) {
|
|
312
|
+
printError(`Function ${funcId} not found.`);
|
|
313
|
+
process.exit(1);
|
|
115
314
|
}
|
|
116
315
|
|
|
316
|
+
validateTypeFlagCompatibility(current.type, options);
|
|
317
|
+
|
|
318
|
+
const input: Record<string, unknown> = {
|
|
319
|
+
// Server requires type + description on every update.
|
|
320
|
+
type: current.type,
|
|
321
|
+
description: options.description || current.description || '',
|
|
322
|
+
};
|
|
323
|
+
if (options.name) input.name = options.name;
|
|
324
|
+
|
|
325
|
+
// Build configurationSchema patch from flags + --config, then shallow-merge over current.
|
|
326
|
+
// Server replaces executionSchema wholesale on each update, so we must send the full merged schema —
|
|
327
|
+
// otherwise `update --endpoint X` would wipe everything else.
|
|
328
|
+
const patch = buildConfigurationSchema(options, current.type);
|
|
329
|
+
if (patch) {
|
|
330
|
+
input.configurationSchema = {
|
|
331
|
+
...(current.configurationSchema || {}),
|
|
332
|
+
...patch,
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
// Anything actually changing? type+description are always set; require at least one explicit option.
|
|
337
|
+
const hasUserChanges =
|
|
338
|
+
options.name !== undefined ||
|
|
339
|
+
options.description !== undefined ||
|
|
340
|
+
patch !== undefined;
|
|
341
|
+
if (!hasUserChanges) {
|
|
342
|
+
printError('No update options provided. Use --name, --description, --endpoint, --config, etc.');
|
|
343
|
+
process.exit(1);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
const spinner = ora('Updating function...').start();
|
|
117
347
|
await sdk.updateFunction(agentId, funcId, input);
|
|
118
348
|
spinner.stop();
|
|
119
349
|
|
|
@@ -161,9 +391,18 @@ export function registerFunctionCommands(program: Command): void {
|
|
|
161
391
|
try {
|
|
162
392
|
const client = new IndemnClient();
|
|
163
393
|
const sdk = new FunctionsSDK(client);
|
|
164
|
-
const spinner = ora('Testing function...').start();
|
|
165
394
|
|
|
166
|
-
|
|
395
|
+
// Server's /test-rest-api endpoint expects the configurationSchema in the request body
|
|
396
|
+
// (it re-converts via convertPayloadToExecutionSchema). It does NOT read the stored
|
|
397
|
+
// schema from the DB. So we fetch the function's current configurationSchema and send it.
|
|
398
|
+
const spinner = ora('Testing function...').start();
|
|
399
|
+
const all = await sdk.listFunctions(agentId);
|
|
400
|
+
const current = all.find((f) => f._id === funcId);
|
|
401
|
+
if (!current) {
|
|
402
|
+
spinner.fail(`Function ${funcId} not found.`);
|
|
403
|
+
process.exit(1);
|
|
404
|
+
}
|
|
405
|
+
const result = await sdk.testFunction(agentId, funcId, current.configurationSchema || {});
|
|
167
406
|
spinner.stop();
|
|
168
407
|
|
|
169
408
|
if (options.json) {
|
package/src/cli/index.ts
CHANGED
|
@@ -18,7 +18,7 @@ const program = new Command();
|
|
|
18
18
|
program
|
|
19
19
|
.name('indemn')
|
|
20
20
|
.description('CLI for managing Indemn AI agents')
|
|
21
|
-
.version('1.
|
|
21
|
+
.version('1.5.0');
|
|
22
22
|
|
|
23
23
|
program.option('--env <environment>', 'Environment (dev or production)');
|
|
24
24
|
program.option('--no-banner', 'Suppress the active-org banner');
|
package/src/sdk/types.ts
CHANGED
|
@@ -103,6 +103,8 @@ export interface BotFunction {
|
|
|
103
103
|
headers?: Record<string, string>;
|
|
104
104
|
body?: Record<string, unknown>;
|
|
105
105
|
parameters?: FunctionParameter[];
|
|
106
|
+
configurationSchema?: Record<string, unknown>;
|
|
107
|
+
executionSchema?: Record<string, unknown>;
|
|
106
108
|
id_bot?: string;
|
|
107
109
|
createdAt?: string;
|
|
108
110
|
updatedAt?: string;
|
|
@@ -120,6 +122,10 @@ export interface CreateFunctionInput {
|
|
|
120
122
|
type: string;
|
|
121
123
|
description?: string;
|
|
122
124
|
name?: string;
|
|
125
|
+
// Server stores configurationSchema and converts to executionSchema in the update path.
|
|
126
|
+
// Note: url/method/headers/body at the root are unused legacy fields — actual REST API
|
|
127
|
+
// config lives inside configurationSchema. See AI-369.
|
|
128
|
+
configurationSchema?: Record<string, unknown>;
|
|
123
129
|
url?: string;
|
|
124
130
|
method?: string;
|
|
125
131
|
headers?: Record<string, string>;
|
|
@@ -127,8 +133,10 @@ export interface CreateFunctionInput {
|
|
|
127
133
|
}
|
|
128
134
|
|
|
129
135
|
export interface UpdateFunctionInput {
|
|
136
|
+
type?: string;
|
|
130
137
|
description?: string;
|
|
131
138
|
name?: string;
|
|
139
|
+
configurationSchema?: Record<string, unknown>;
|
|
132
140
|
url?: string;
|
|
133
141
|
method?: string;
|
|
134
142
|
headers?: Record<string, string>;
|