@thinksoftai/cli 1.5.0 → 1.6.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/bin/thinksoft.js +1 -1
- package/dist/commands/agents.d.ts +7 -0
- package/dist/commands/agents.js +162 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/chat.d.ts +12 -0
- package/dist/commands/chat.js +217 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/create.js +13 -5
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/login.js +7 -4
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/records.d.ts +37 -0
- package/dist/commands/records.js +434 -0
- package/dist/commands/records.js.map +1 -0
- package/dist/commands/rules.d.ts +38 -0
- package/dist/commands/rules.js +762 -0
- package/dist/commands/rules.js.map +1 -0
- package/dist/commands/schema.d.ts +53 -0
- package/dist/commands/schema.js +631 -0
- package/dist/commands/schema.js.map +1 -0
- package/dist/commands/studio.d.ts +13 -0
- package/dist/commands/studio.js +205 -0
- package/dist/commands/studio.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +543 -8
- package/dist/index.js.map +1 -1
- package/dist/utils/api.d.ts +103 -0
- package/dist/utils/api.js +245 -5
- package/dist/utils/api.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Records command - CRUD operations for table records
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.list = list;
|
|
43
|
+
exports.get = get;
|
|
44
|
+
exports.create = create;
|
|
45
|
+
exports.update = update;
|
|
46
|
+
exports.deleteRecord = deleteRecord;
|
|
47
|
+
exports.deleteRecordLegacy = deleteRecord;
|
|
48
|
+
exports.listRecords = listRecords;
|
|
49
|
+
exports.getRecord = getRecord;
|
|
50
|
+
exports.createRecord = createRecord;
|
|
51
|
+
exports.updateRecord = updateRecord;
|
|
52
|
+
const ora_1 = __importDefault(require("ora"));
|
|
53
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
54
|
+
const api = __importStar(require("../utils/api"));
|
|
55
|
+
const config = __importStar(require("../utils/config"));
|
|
56
|
+
const logger = __importStar(require("../utils/logger"));
|
|
57
|
+
/**
|
|
58
|
+
* Check authentication
|
|
59
|
+
*/
|
|
60
|
+
function checkAuth() {
|
|
61
|
+
if (!config.isLoggedIn()) {
|
|
62
|
+
logger.error('Not logged in');
|
|
63
|
+
logger.info('Use "thinksoft login" to authenticate');
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get app ID from argument or project config
|
|
70
|
+
*/
|
|
71
|
+
function getAppId(appId) {
|
|
72
|
+
return appId || config.getProjectConfig()?.appId;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* List records from a table
|
|
76
|
+
*/
|
|
77
|
+
async function list(table, appId, options = {}) {
|
|
78
|
+
if (!checkAuth())
|
|
79
|
+
return;
|
|
80
|
+
const targetAppId = getAppId(appId);
|
|
81
|
+
if (!targetAppId) {
|
|
82
|
+
logger.error('App ID is required');
|
|
83
|
+
logger.info('Usage: thinksoft records list <table> [appId]');
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (!table) {
|
|
87
|
+
logger.error('Table name is required');
|
|
88
|
+
logger.info('Usage: thinksoft records list <table> [appId]');
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
logger.header('Records - List');
|
|
92
|
+
logger.keyValue('App ID', targetAppId);
|
|
93
|
+
logger.keyValue('Table', table);
|
|
94
|
+
const spinner = (0, ora_1.default)('Fetching records...').start();
|
|
95
|
+
const result = await api.listRecords(targetAppId, table, {
|
|
96
|
+
limit: options.limit ? parseInt(options.limit) : undefined,
|
|
97
|
+
offset: options.offset ? parseInt(options.offset) : undefined,
|
|
98
|
+
filter: options.filter,
|
|
99
|
+
sort: options.sort
|
|
100
|
+
});
|
|
101
|
+
if (result.error) {
|
|
102
|
+
spinner.fail('Failed to fetch records');
|
|
103
|
+
handleError(result.error);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
spinner.succeed('Records retrieved');
|
|
107
|
+
const records = result.data || [];
|
|
108
|
+
const meta = result.meta || {};
|
|
109
|
+
logger.newLine();
|
|
110
|
+
if (records.length === 0) {
|
|
111
|
+
logger.info('No records found');
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
// JSON format output
|
|
115
|
+
if (options.format === 'json') {
|
|
116
|
+
console.log(JSON.stringify(records, null, 2));
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
logger.log(`Found ${meta.total || records.length} record(s):`);
|
|
120
|
+
logger.newLine();
|
|
121
|
+
records.forEach((record, index) => {
|
|
122
|
+
logger.log(` ${index + 1}. ID: ${record.id}`);
|
|
123
|
+
// Show first few fields
|
|
124
|
+
const fields = Object.entries(record)
|
|
125
|
+
.filter(([key]) => !['id', 'created_at', 'updated_at'].includes(key))
|
|
126
|
+
.slice(0, 4);
|
|
127
|
+
fields.forEach(([key, value]) => {
|
|
128
|
+
const displayValue = Array.isArray(value)
|
|
129
|
+
? value.join(', ')
|
|
130
|
+
: typeof value === 'object'
|
|
131
|
+
? JSON.stringify(value)
|
|
132
|
+
: String(value);
|
|
133
|
+
logger.log(` ${key}: ${displayValue.substring(0, 50)}${displayValue.length > 50 ? '...' : ''}`);
|
|
134
|
+
});
|
|
135
|
+
logger.newLine();
|
|
136
|
+
});
|
|
137
|
+
if (meta.hasMore) {
|
|
138
|
+
logger.info(`Showing ${records.length} of ${meta.total}. Use --offset to paginate.`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Get a single record by ID
|
|
143
|
+
*/
|
|
144
|
+
async function get(table, id, appId, options = {}) {
|
|
145
|
+
if (!checkAuth())
|
|
146
|
+
return;
|
|
147
|
+
const targetAppId = getAppId(appId);
|
|
148
|
+
if (!targetAppId || !table || !id) {
|
|
149
|
+
logger.error('App ID, table, and record ID are required');
|
|
150
|
+
logger.info('Usage: thinksoft records get <table> <id> [appId]');
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
logger.header('Records - Get');
|
|
154
|
+
logger.keyValue('App ID', targetAppId);
|
|
155
|
+
logger.keyValue('Table', table);
|
|
156
|
+
logger.keyValue('Record ID', id);
|
|
157
|
+
const spinner = (0, ora_1.default)('Fetching record...').start();
|
|
158
|
+
const result = await api.getRecord(targetAppId, table, id);
|
|
159
|
+
if (result.error) {
|
|
160
|
+
spinner.fail('Failed to fetch record');
|
|
161
|
+
handleError(result.error);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
spinner.succeed('Record retrieved');
|
|
165
|
+
const record = result.data;
|
|
166
|
+
if (!record) {
|
|
167
|
+
logger.newLine();
|
|
168
|
+
logger.error('Record not found');
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
// JSON format output
|
|
172
|
+
if (options.format === 'json') {
|
|
173
|
+
console.log(JSON.stringify(record, null, 2));
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
displayRecord(record);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Create a new record
|
|
180
|
+
*/
|
|
181
|
+
async function create(table, appId, options = {}) {
|
|
182
|
+
if (!checkAuth())
|
|
183
|
+
return;
|
|
184
|
+
const targetAppId = getAppId(appId);
|
|
185
|
+
if (!targetAppId || !table) {
|
|
186
|
+
logger.error('App ID and table are required');
|
|
187
|
+
logger.info('Usage: thinksoft records create <table> [appId]');
|
|
188
|
+
logger.info('Or: thinksoft records create <table> [appId] --data \'{"field":"value"}\'');
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
let data;
|
|
192
|
+
// If --data provided, use it
|
|
193
|
+
if (options.data) {
|
|
194
|
+
try {
|
|
195
|
+
data = JSON.parse(options.data);
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
logger.error('Invalid JSON data');
|
|
199
|
+
logger.info('Use valid JSON: --data \'{"field":"value"}\'');
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
// Interactive mode - get schema and prompt for fields
|
|
205
|
+
const schemaResult = await api.getSchema(targetAppId);
|
|
206
|
+
if (schemaResult.error) {
|
|
207
|
+
logger.error('Could not fetch schema for interactive mode');
|
|
208
|
+
logger.info('Use --data to provide JSON data directly');
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
const tableSchema = (schemaResult.data || []).find((t) => t.slug === table || t.name.toLowerCase() === table.toLowerCase());
|
|
212
|
+
if (!tableSchema) {
|
|
213
|
+
logger.error(`Table '${table}' not found`);
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
logger.header('Records - Create');
|
|
217
|
+
logger.keyValue('Table', table);
|
|
218
|
+
logger.newLine();
|
|
219
|
+
logger.info('Enter values for each field:');
|
|
220
|
+
logger.newLine();
|
|
221
|
+
data = await promptForFields(tableSchema.fields || []);
|
|
222
|
+
}
|
|
223
|
+
logger.header('Records - Create');
|
|
224
|
+
logger.keyValue('App ID', targetAppId);
|
|
225
|
+
logger.keyValue('Table', table);
|
|
226
|
+
const spinner = (0, ora_1.default)('Creating record...').start();
|
|
227
|
+
const result = await api.createRecord(targetAppId, table, data);
|
|
228
|
+
if (result.error) {
|
|
229
|
+
spinner.fail('Failed to create record');
|
|
230
|
+
handleError(result.error);
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
spinner.succeed('Record created');
|
|
234
|
+
displayRecord(result.data);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Update a record
|
|
238
|
+
*/
|
|
239
|
+
async function update(table, id, appId, options = {}) {
|
|
240
|
+
if (!checkAuth())
|
|
241
|
+
return;
|
|
242
|
+
const targetAppId = getAppId(appId);
|
|
243
|
+
if (!targetAppId || !table || !id) {
|
|
244
|
+
logger.error('App ID, table, and record ID are required');
|
|
245
|
+
logger.info('Usage: thinksoft records update <table> <id> [appId]');
|
|
246
|
+
logger.info('Or: thinksoft records update <table> <id> [appId] --data \'{"field":"value"}\'');
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
let data;
|
|
250
|
+
if (options.data) {
|
|
251
|
+
try {
|
|
252
|
+
data = JSON.parse(options.data);
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
logger.error('Invalid JSON data');
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
// Fetch current record and schema for interactive editing
|
|
261
|
+
const [recordResult, schemaResult] = await Promise.all([
|
|
262
|
+
api.getRecord(targetAppId, table, id),
|
|
263
|
+
api.getSchema(targetAppId)
|
|
264
|
+
]);
|
|
265
|
+
if (recordResult.error) {
|
|
266
|
+
logger.error('Could not fetch record');
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
const tableSchema = (schemaResult.data || []).find((t) => t.slug === table || t.name.toLowerCase() === table.toLowerCase());
|
|
270
|
+
if (!tableSchema) {
|
|
271
|
+
logger.error(`Table '${table}' not found`);
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
logger.header('Records - Update');
|
|
275
|
+
logger.keyValue('Table', table);
|
|
276
|
+
logger.keyValue('Record ID', id);
|
|
277
|
+
logger.newLine();
|
|
278
|
+
logger.info('Update field values (press Enter to keep current):');
|
|
279
|
+
logger.newLine();
|
|
280
|
+
const currentData = recordResult.data || {};
|
|
281
|
+
data = await promptForFields(tableSchema.fields || [], currentData);
|
|
282
|
+
}
|
|
283
|
+
logger.header('Records - Update');
|
|
284
|
+
logger.keyValue('App ID', targetAppId);
|
|
285
|
+
logger.keyValue('Table', table);
|
|
286
|
+
logger.keyValue('Record ID', id);
|
|
287
|
+
const spinner = (0, ora_1.default)('Updating record...').start();
|
|
288
|
+
const result = await api.updateRecord(targetAppId, table, id, data);
|
|
289
|
+
if (result.error) {
|
|
290
|
+
spinner.fail('Failed to update record');
|
|
291
|
+
handleError(result.error);
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
spinner.succeed('Record updated');
|
|
295
|
+
displayRecord(result.data);
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Delete a record
|
|
299
|
+
*/
|
|
300
|
+
async function deleteRecord(table, id, appId, options = {}) {
|
|
301
|
+
if (!checkAuth())
|
|
302
|
+
return;
|
|
303
|
+
const targetAppId = getAppId(appId);
|
|
304
|
+
if (!targetAppId || !table || !id) {
|
|
305
|
+
logger.error('App ID, table, and record ID are required');
|
|
306
|
+
logger.info('Usage: thinksoft records delete <table> <id> [appId]');
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
// Confirm deletion unless --yes flag
|
|
310
|
+
if (!options.yes) {
|
|
311
|
+
const { confirm } = await inquirer_1.default.prompt([{
|
|
312
|
+
type: 'confirm',
|
|
313
|
+
name: 'confirm',
|
|
314
|
+
message: `Delete record "${id}" from "${table}"?`,
|
|
315
|
+
default: false
|
|
316
|
+
}]);
|
|
317
|
+
if (!confirm) {
|
|
318
|
+
logger.info('Cancelled');
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
logger.header('Records - Delete');
|
|
323
|
+
logger.keyValue('App ID', targetAppId);
|
|
324
|
+
logger.keyValue('Table', table);
|
|
325
|
+
logger.keyValue('Record ID', id);
|
|
326
|
+
const spinner = (0, ora_1.default)('Deleting record...').start();
|
|
327
|
+
const result = await api.deleteRecord(targetAppId, table, id);
|
|
328
|
+
if (result.error) {
|
|
329
|
+
spinner.fail('Failed to delete record');
|
|
330
|
+
handleError(result.error);
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
spinner.succeed('Record deleted');
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Interactive prompt for field values
|
|
337
|
+
*/
|
|
338
|
+
async function promptForFields(fields, currentData = {}) {
|
|
339
|
+
const questions = fields
|
|
340
|
+
.filter(f => f.name !== 'id')
|
|
341
|
+
.map(field => {
|
|
342
|
+
const currentValue = currentData[field.name];
|
|
343
|
+
if (field.type === 'select' && field.options) {
|
|
344
|
+
return {
|
|
345
|
+
type: 'list',
|
|
346
|
+
name: field.name,
|
|
347
|
+
message: `${field.label || field.name}${field.required ? ' *' : ''}:`,
|
|
348
|
+
choices: field.options,
|
|
349
|
+
default: currentValue
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
if (field.type === 'multiselect' && field.options) {
|
|
353
|
+
return {
|
|
354
|
+
type: 'checkbox',
|
|
355
|
+
name: field.name,
|
|
356
|
+
message: `${field.label || field.name}${field.required ? ' *' : ''}:`,
|
|
357
|
+
choices: field.options,
|
|
358
|
+
default: currentValue
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
if (field.type === 'boolean' || field.type === 'checkbox') {
|
|
362
|
+
return {
|
|
363
|
+
type: 'confirm',
|
|
364
|
+
name: field.name,
|
|
365
|
+
message: `${field.label || field.name}${field.required ? ' *' : ''}:`,
|
|
366
|
+
default: currentValue ?? false
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
if (field.type === 'number' || field.type === 'currency') {
|
|
370
|
+
return {
|
|
371
|
+
type: 'number',
|
|
372
|
+
name: field.name,
|
|
373
|
+
message: `${field.label || field.name}${field.required ? ' *' : ''}:`,
|
|
374
|
+
default: currentValue
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
if (field.type === 'textarea' || field.type === 'richtext') {
|
|
378
|
+
return {
|
|
379
|
+
type: 'editor',
|
|
380
|
+
name: field.name,
|
|
381
|
+
message: `${field.label || field.name}${field.required ? ' *' : ''}:`,
|
|
382
|
+
default: currentValue
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
// Default to input
|
|
386
|
+
return {
|
|
387
|
+
type: 'input',
|
|
388
|
+
name: field.name,
|
|
389
|
+
message: `${field.label || field.name}${field.required ? ' *' : ''}:`,
|
|
390
|
+
default: currentValue
|
|
391
|
+
};
|
|
392
|
+
});
|
|
393
|
+
return inquirer_1.default.prompt(questions);
|
|
394
|
+
}
|
|
395
|
+
function displayRecord(record) {
|
|
396
|
+
logger.newLine();
|
|
397
|
+
Object.entries(record).forEach(([key, value]) => {
|
|
398
|
+
const displayValue = Array.isArray(value)
|
|
399
|
+
? value.join(', ')
|
|
400
|
+
: typeof value === 'object'
|
|
401
|
+
? JSON.stringify(value, null, 2)
|
|
402
|
+
: String(value);
|
|
403
|
+
logger.log(` ${key}: ${displayValue}`);
|
|
404
|
+
});
|
|
405
|
+
logger.newLine();
|
|
406
|
+
}
|
|
407
|
+
function handleError(error) {
|
|
408
|
+
const errorLower = error.toLowerCase();
|
|
409
|
+
if (errorLower.includes('session expired') ||
|
|
410
|
+
errorLower.includes('token expired') ||
|
|
411
|
+
errorLower.includes('unauthorized')) {
|
|
412
|
+
config.clearAuth();
|
|
413
|
+
logger.error('Session expired. Credentials cleared.');
|
|
414
|
+
logger.info('Run: thinksoft login');
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
logger.error(error);
|
|
418
|
+
}
|
|
419
|
+
// ============================================
|
|
420
|
+
// Legacy exports for backward compatibility
|
|
421
|
+
// ============================================
|
|
422
|
+
async function listRecords(appId, table, options = {}) {
|
|
423
|
+
await list(table, appId, options);
|
|
424
|
+
}
|
|
425
|
+
async function getRecord(appId, table, id) {
|
|
426
|
+
await get(table, id, appId);
|
|
427
|
+
}
|
|
428
|
+
async function createRecord(appId, table, options = {}) {
|
|
429
|
+
await create(table, appId, options);
|
|
430
|
+
}
|
|
431
|
+
async function updateRecord(appId, table, id, options = {}) {
|
|
432
|
+
await update(table, id, appId, options);
|
|
433
|
+
}
|
|
434
|
+
//# sourceMappingURL=records.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/commands/records.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rules command - CRUD operations for agent business rules
|
|
3
|
+
*/
|
|
4
|
+
interface RulesOptions {
|
|
5
|
+
data?: string;
|
|
6
|
+
yes?: boolean;
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
priority?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* List all rules for an agent
|
|
12
|
+
*/
|
|
13
|
+
export declare function list(agentSlug: string | undefined, appId?: string): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Show details for a specific rule
|
|
16
|
+
*/
|
|
17
|
+
export declare function show(agentSlug: string | undefined, ruleId: string | undefined, appId?: string): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Create a new rule
|
|
20
|
+
*/
|
|
21
|
+
export declare function create(agentSlug: string | undefined, appId?: string, options?: RulesOptions): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Update an existing rule
|
|
24
|
+
*/
|
|
25
|
+
export declare function update(agentSlug: string | undefined, ruleId: string | undefined, appId?: string, options?: RulesOptions): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Delete a rule
|
|
28
|
+
*/
|
|
29
|
+
export declare function deleteRule(agentSlug: string | undefined, ruleId: string | undefined, appId?: string, options?: RulesOptions): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Enable a rule
|
|
32
|
+
*/
|
|
33
|
+
export declare function enable(agentSlug: string | undefined, ruleId: string | undefined, appId?: string): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Disable a rule
|
|
36
|
+
*/
|
|
37
|
+
export declare function disable(agentSlug: string | undefined, ruleId: string | undefined, appId?: string): Promise<void>;
|
|
38
|
+
export {};
|