aui-agent-builder 0.1.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.
Files changed (130) hide show
  1. package/README.md +311 -0
  2. package/bin/aui.js +2 -0
  3. package/dist/api-client/index.d.ts +208 -0
  4. package/dist/api-client/index.d.ts.map +1 -0
  5. package/dist/api-client/index.js +219 -0
  6. package/dist/api-client/index.js.map +1 -0
  7. package/dist/commands/add-integration.d.ts +26 -0
  8. package/dist/commands/add-integration.d.ts.map +1 -0
  9. package/dist/commands/add-integration.js +484 -0
  10. package/dist/commands/add-integration.js.map +1 -0
  11. package/dist/commands/add-param.d.ts +13 -0
  12. package/dist/commands/add-param.d.ts.map +1 -0
  13. package/dist/commands/add-param.js +140 -0
  14. package/dist/commands/add-param.js.map +1 -0
  15. package/dist/commands/add-tool.d.ts +17 -0
  16. package/dist/commands/add-tool.d.ts.map +1 -0
  17. package/dist/commands/add-tool.js +239 -0
  18. package/dist/commands/add-tool.js.map +1 -0
  19. package/dist/commands/connect.d.ts +20 -0
  20. package/dist/commands/connect.d.ts.map +1 -0
  21. package/dist/commands/connect.js +203 -0
  22. package/dist/commands/connect.js.map +1 -0
  23. package/dist/commands/create-agent.d.ts +25 -0
  24. package/dist/commands/create-agent.d.ts.map +1 -0
  25. package/dist/commands/create-agent.js +199 -0
  26. package/dist/commands/create-agent.js.map +1 -0
  27. package/dist/commands/diff.d.ts +17 -0
  28. package/dist/commands/diff.d.ts.map +1 -0
  29. package/dist/commands/diff.js +261 -0
  30. package/dist/commands/diff.js.map +1 -0
  31. package/dist/commands/import-agent.d.ts +21 -0
  32. package/dist/commands/import-agent.d.ts.map +1 -0
  33. package/dist/commands/import-agent.js +274 -0
  34. package/dist/commands/import-agent.js.map +1 -0
  35. package/dist/commands/index.d.ts +15 -0
  36. package/dist/commands/index.d.ts.map +1 -0
  37. package/dist/commands/index.js +27 -0
  38. package/dist/commands/index.js.map +1 -0
  39. package/dist/commands/init.d.ts +18 -0
  40. package/dist/commands/init.d.ts.map +1 -0
  41. package/dist/commands/init.js +173 -0
  42. package/dist/commands/init.js.map +1 -0
  43. package/dist/commands/list-agents.d.ts +12 -0
  44. package/dist/commands/list-agents.d.ts.map +1 -0
  45. package/dist/commands/list-agents.js +68 -0
  46. package/dist/commands/list-agents.js.map +1 -0
  47. package/dist/commands/login.d.ts +26 -0
  48. package/dist/commands/login.d.ts.map +1 -0
  49. package/dist/commands/login.js +200 -0
  50. package/dist/commands/login.js.map +1 -0
  51. package/dist/commands/pull.d.ts +17 -0
  52. package/dist/commands/pull.d.ts.map +1 -0
  53. package/dist/commands/pull.js +65 -0
  54. package/dist/commands/pull.js.map +1 -0
  55. package/dist/commands/push.d.ts +24 -0
  56. package/dist/commands/push.d.ts.map +1 -0
  57. package/dist/commands/push.js +160 -0
  58. package/dist/commands/push.js.map +1 -0
  59. package/dist/commands/status.d.ts +10 -0
  60. package/dist/commands/status.d.ts.map +1 -0
  61. package/dist/commands/status.js +155 -0
  62. package/dist/commands/status.js.map +1 -0
  63. package/dist/commands/sync.d.ts +19 -0
  64. package/dist/commands/sync.d.ts.map +1 -0
  65. package/dist/commands/sync.js +114 -0
  66. package/dist/commands/sync.js.map +1 -0
  67. package/dist/commands/validate.d.ts +20 -0
  68. package/dist/commands/validate.d.ts.map +1 -0
  69. package/dist/commands/validate.js +199 -0
  70. package/dist/commands/validate.js.map +1 -0
  71. package/dist/config/index.d.ts +102 -0
  72. package/dist/config/index.d.ts.map +1 -0
  73. package/dist/config/index.js +205 -0
  74. package/dist/config/index.js.map +1 -0
  75. package/dist/index.d.ts +18 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +163 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/mock-data/entities.aui.json +38 -0
  80. package/dist/mock-data/general_settings.aui.json +11 -0
  81. package/dist/mock-data/integrations.aui.json +806 -0
  82. package/dist/mock-data/parameters.aui.json +586 -0
  83. package/dist/mock-data/rules.aui.json +506 -0
  84. package/dist/mock-data/tools/conversation_forwarding.aui.json +32 -0
  85. package/dist/mock-data/tools/create_fraud_dispute.aui.json +112 -0
  86. package/dist/mock-data/tools/generative_ai.aui.json +29 -0
  87. package/dist/mock-data/tools/policies.aui.json +45 -0
  88. package/dist/mock-data/tools/transaction_and_card_details.aui.json +87 -0
  89. package/dist/mock-data/tools/transaction_search.aui.json +76 -0
  90. package/dist/mock-data/tools/update_credit_card_status.aui.json +45 -0
  91. package/dist/mock-data/tools/user_details.aui.json +57 -0
  92. package/dist/mock-data/tools/web_search.aui.json +54 -0
  93. package/dist/schema/aui.schema.json +418 -0
  94. package/dist/types/agent.d.ts +91 -0
  95. package/dist/types/agent.d.ts.map +1 -0
  96. package/dist/types/agent.js +9 -0
  97. package/dist/types/agent.js.map +1 -0
  98. package/dist/types/base.d.ts +15 -0
  99. package/dist/types/base.d.ts.map +1 -0
  100. package/dist/types/base.js +7 -0
  101. package/dist/types/base.js.map +1 -0
  102. package/dist/types/entity.d.ts +25 -0
  103. package/dist/types/entity.d.ts.map +1 -0
  104. package/dist/types/entity.js +9 -0
  105. package/dist/types/entity.js.map +1 -0
  106. package/dist/types/index.d.ts +11 -0
  107. package/dist/types/index.d.ts.map +1 -0
  108. package/dist/types/index.js +27 -0
  109. package/dist/types/index.js.map +1 -0
  110. package/dist/types/integration.d.ts +151 -0
  111. package/dist/types/integration.d.ts.map +1 -0
  112. package/dist/types/integration.js +9 -0
  113. package/dist/types/integration.js.map +1 -0
  114. package/dist/types/parameter.d.ts +38 -0
  115. package/dist/types/parameter.d.ts.map +1 -0
  116. package/dist/types/parameter.js +10 -0
  117. package/dist/types/parameter.js.map +1 -0
  118. package/dist/types/rule.d.ts +125 -0
  119. package/dist/types/rule.d.ts.map +1 -0
  120. package/dist/types/rule.js +10 -0
  121. package/dist/types/rule.js.map +1 -0
  122. package/dist/types/tool.d.ts +95 -0
  123. package/dist/types/tool.d.ts.map +1 -0
  124. package/dist/types/tool.js +12 -0
  125. package/dist/types/tool.js.map +1 -0
  126. package/dist/utils/index.d.ts +47 -0
  127. package/dist/utils/index.d.ts.map +1 -0
  128. package/dist/utils/index.js +267 -0
  129. package/dist/utils/index.js.map +1 -0
  130. package/package.json +56 -0
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+ /**
3
+ * import command - Import an agent from the backend as local .aui.json files
4
+ *
5
+ * Flow:
6
+ * 1. List agents from GET /network/v1/network (real endpoint)
7
+ * 2. User selects an agent
8
+ * 3. Fetch full agent config (TODO: replace mock with real endpoint from Jaber)
9
+ * 4. Write .aui.json files to a local directory
10
+ *
11
+ * Usage: aui import [agent-id]
12
+ * Options:
13
+ * --dir <path> Output directory (default: ./<agent-nice-name>)
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ var __importDefault = (this && this.__importDefault) || function (mod) {
49
+ return (mod && mod.__esModule) ? mod : { "default": mod };
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.importAgent = importAgent;
53
+ const fs = __importStar(require("fs"));
54
+ const path = __importStar(require("path"));
55
+ const chalk_1 = __importDefault(require("chalk"));
56
+ const ora_1 = __importDefault(require("ora"));
57
+ const inquirer_1 = __importDefault(require("inquirer"));
58
+ const config_1 = require("../config");
59
+ const api_client_1 = require("../api-client");
60
+ /**
61
+ * Import an agent from the backend
62
+ */
63
+ async function importAgent(agentId, options = {}) {
64
+ console.log(chalk_1.default.blue('\n ╔════════════════════════════════════════════════╗'));
65
+ console.log(chalk_1.default.blue(' ║') + chalk_1.default.white.bold(' Import Agent ') + chalk_1.default.blue('║'));
66
+ console.log(chalk_1.default.blue(' ╚════════════════════════════════════════════════╝\n'));
67
+ const config = (0, config_1.getConfig)();
68
+ if (!config.isAuthenticated) {
69
+ console.log(chalk_1.default.red(' Not logged in. Run: aui login\n'));
70
+ return;
71
+ }
72
+ const session = (0, config_1.loadSession)();
73
+ console.log(chalk_1.default.gray(` Account: ${session.account_name || session.account_id}`));
74
+ console.log(chalk_1.default.gray(` Environment: ${session.environment}\n`));
75
+ const client = new api_client_1.AUIClient({
76
+ baseUrl: config.apiUrl,
77
+ authToken: config.authToken,
78
+ accountId: config.accountId,
79
+ organizationId: config.organizationId,
80
+ environment: config.environment
81
+ });
82
+ // Step 1: Select agent
83
+ let selectedAgent;
84
+ if (agentId) {
85
+ const spinner = (0, ora_1.default)('Fetching agent...').start();
86
+ try {
87
+ const response = await client.networks.get(agentId);
88
+ selectedAgent = response.data;
89
+ spinner.succeed(`Found agent: ${selectedAgent.name}`);
90
+ }
91
+ catch (error) {
92
+ spinner.fail('Agent not found');
93
+ if (error instanceof Error)
94
+ console.log(chalk_1.default.red(` ${error.message}`));
95
+ return;
96
+ }
97
+ }
98
+ else {
99
+ const spinner = (0, ora_1.default)('Fetching agents...').start();
100
+ let agents;
101
+ try {
102
+ const response = await client.networks.list();
103
+ agents = response.data;
104
+ spinner.succeed(`Found ${agents.length} agent(s)`);
105
+ }
106
+ catch (error) {
107
+ spinner.fail('Failed to fetch agents');
108
+ if (error instanceof Error)
109
+ console.log(chalk_1.default.red(` ${error.message}`));
110
+ return;
111
+ }
112
+ if (agents.length === 0) {
113
+ console.log(chalk_1.default.yellow('\n No agents found. Create one with: aui create-agent\n'));
114
+ return;
115
+ }
116
+ const { chosen } = await inquirer_1.default.prompt([{
117
+ type: 'list',
118
+ name: 'chosen',
119
+ message: 'Select agent to import:',
120
+ choices: agents.map(a => ({
121
+ name: `${a.name} ${chalk_1.default.gray(`(${a.niceName})`)}`,
122
+ value: a
123
+ })),
124
+ pageSize: 15
125
+ }]);
126
+ selectedAgent = chosen;
127
+ }
128
+ // Step 2: Determine output directory
129
+ const safeName = (selectedAgent.niceName || selectedAgent.name)
130
+ .toLowerCase()
131
+ .replace(/[\/\\:*?"<>|]/g, '-')
132
+ .replace(/\s+/g, '-')
133
+ .replace(/-+/g, '-')
134
+ .replace(/^-|-$/g, '');
135
+ const dirName = options.dir || `./${safeName}`;
136
+ const outputDir = path.resolve(dirName);
137
+ if (fs.existsSync(outputDir) && fs.readdirSync(outputDir).length > 0) {
138
+ const { overwrite } = await inquirer_1.default.prompt([{
139
+ type: 'confirm',
140
+ name: 'overwrite',
141
+ message: `Directory ${dirName} already exists. Overwrite files?`,
142
+ default: false
143
+ }]);
144
+ if (!overwrite) {
145
+ console.log(chalk_1.default.gray('\n Import cancelled.\n'));
146
+ return;
147
+ }
148
+ }
149
+ // Step 3: Fetch agent data
150
+ // TODO: Replace this mock call with the real export endpoint from Jaber:
151
+ // const agentData = await client.get(`/builder/v1/agent/${agentId}/export`);
152
+ // For now, use mock data that matches the cc_agent_v2 structure.
153
+ const spinner = (0, ora_1.default)('Importing agent data...').start();
154
+ try {
155
+ const agentData = await fetchAgentData(client, selectedAgent);
156
+ // Step 4: Write files
157
+ if (!fs.existsSync(outputDir)) {
158
+ fs.mkdirSync(outputDir, { recursive: true });
159
+ }
160
+ const toolsDir = path.join(outputDir, 'tools');
161
+ if (!fs.existsSync(toolsDir)) {
162
+ fs.mkdirSync(toolsDir, { recursive: true });
163
+ }
164
+ const writtenFiles = [];
165
+ // Write each file
166
+ for (const [filename, data] of Object.entries(agentData.rootFiles)) {
167
+ writeJson(path.join(outputDir, filename), data);
168
+ writtenFiles.push(filename);
169
+ }
170
+ for (const [filename, data] of Object.entries(agentData.toolFiles)) {
171
+ writeJson(path.join(toolsDir, filename), data);
172
+ writtenFiles.push(`tools/${filename}`);
173
+ }
174
+ // .auirc - link project to agent
175
+ (0, config_1.saveProjectConfig)({
176
+ agent_code: selectedAgent.niceName,
177
+ agent_id: selectedAgent._id || selectedAgent.id,
178
+ environment: config.environment,
179
+ account_id: config.accountId,
180
+ organization_id: config.organizationId
181
+ }, outputDir);
182
+ writtenFiles.push('.auirc');
183
+ // .vscode/settings.json for schema autocomplete
184
+ const vscodeDir = path.join(outputDir, '.vscode');
185
+ if (!fs.existsSync(vscodeDir))
186
+ fs.mkdirSync(vscodeDir, { recursive: true });
187
+ writeJson(path.join(vscodeDir, 'settings.json'), {
188
+ 'json.schemas': [{ fileMatch: ['*.aui.json'], url: './.aui-schema/aui.schema.json' }]
189
+ });
190
+ writtenFiles.push('.vscode/settings.json');
191
+ // Copy JSON schema
192
+ const schemaDir = path.join(outputDir, '.aui-schema');
193
+ if (!fs.existsSync(schemaDir))
194
+ fs.mkdirSync(schemaDir, { recursive: true });
195
+ const schemaSource = path.join(__dirname, '..', 'schema', 'aui.schema.json');
196
+ let schemaContent;
197
+ try {
198
+ schemaContent = fs.readFileSync(schemaSource, 'utf-8');
199
+ }
200
+ catch {
201
+ schemaContent = fs.readFileSync(path.join(__dirname, '..', '..', 'src', 'schema', 'aui.schema.json'), 'utf-8');
202
+ }
203
+ fs.writeFileSync(path.join(schemaDir, 'aui.schema.json'), schemaContent);
204
+ writtenFiles.push('.aui-schema/aui.schema.json');
205
+ // .gitignore
206
+ fs.writeFileSync(path.join(outputDir, '.gitignore'), '# AUI\n.aui-cache/\n*.log\n.auirc\n\n# OS\n.DS_Store\n');
207
+ writtenFiles.push('.gitignore');
208
+ spinner.succeed('Agent imported');
209
+ console.log(chalk_1.default.green('\n ✓ Agent imported successfully!\n'));
210
+ console.log(` ${chalk_1.default.white('Agent:')} ${chalk_1.default.cyan(selectedAgent.name)}`);
211
+ console.log(` ${chalk_1.default.white('Agent ID:')} ${chalk_1.default.gray(selectedAgent._id || selectedAgent.id)}`);
212
+ console.log(` ${chalk_1.default.white('Directory:')} ${chalk_1.default.cyan(outputDir)}`);
213
+ console.log(` ${chalk_1.default.white('Files:')}`);
214
+ for (const file of writtenFiles) {
215
+ console.log(chalk_1.default.gray(` ${file}`));
216
+ }
217
+ console.log(`\n ${chalk_1.default.white('Next steps:')}`);
218
+ console.log(chalk_1.default.gray(` cd ${dirName}`));
219
+ console.log(chalk_1.default.gray(' # Edit .aui.json files in your editor / Cursor'));
220
+ console.log(chalk_1.default.gray(' aui validate'));
221
+ console.log(chalk_1.default.gray(' aui push\n'));
222
+ }
223
+ catch (error) {
224
+ spinner.fail('Import failed');
225
+ if (error instanceof Error)
226
+ console.log(chalk_1.default.red(` ${error.message}\n`));
227
+ }
228
+ }
229
+ /**
230
+ * Fetch full agent configuration.
231
+ *
232
+ * TODO: Replace with real endpoint call:
233
+ * return await client.get(`/builder/v1/agent/${agent._id}/export`);
234
+ *
235
+ * Currently returns mock data matching the cc_agent_v2 structure.
236
+ */
237
+ async function fetchAgentData(_client, agent) {
238
+ // Read mock data from bundled files
239
+ const mockDir = path.join(__dirname, '..', 'mock-data');
240
+ const devMockDir = path.join(__dirname, '..', '..', 'src', 'mock-data');
241
+ const baseDir = fs.existsSync(mockDir) ? mockDir : devMockDir;
242
+ const readMock = (file) => {
243
+ const content = fs.readFileSync(path.join(baseDir, file), 'utf-8');
244
+ return JSON.parse(content);
245
+ };
246
+ // Override general_settings name with the actual agent name
247
+ const generalSettings = readMock('general_settings.aui.json');
248
+ const gs = generalSettings.general_settings;
249
+ gs.name = agent.name;
250
+ // Read tool files
251
+ const toolFiles = {};
252
+ const toolsPath = path.join(baseDir, 'tools');
253
+ if (fs.existsSync(toolsPath)) {
254
+ for (const file of fs.readdirSync(toolsPath)) {
255
+ if (file.endsWith('.aui.json')) {
256
+ toolFiles[file] = readMock(`tools/${file}`);
257
+ }
258
+ }
259
+ }
260
+ return {
261
+ rootFiles: {
262
+ 'general_settings.aui.json': generalSettings,
263
+ 'parameters.aui.json': readMock('parameters.aui.json'),
264
+ 'entities.aui.json': readMock('entities.aui.json'),
265
+ 'integrations.aui.json': readMock('integrations.aui.json'),
266
+ 'rules.aui.json': readMock('rules.aui.json')
267
+ },
268
+ toolFiles
269
+ };
270
+ }
271
+ function writeJson(filePath, data) {
272
+ fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n');
273
+ }
274
+ //# sourceMappingURL=import-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-agent.js","sourceRoot":"","sources":["../../src/commands/import-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Command exports for AUI Agent Builder CLI
3
+ *
4
+ * Core flow: login → list-agents → create-agent → import → edit files → validate → push
5
+ */
6
+ export { login } from './login';
7
+ export { listAgents } from './list-agents';
8
+ export { createAgent } from './create-agent';
9
+ export { importAgent } from './import-agent';
10
+ export { push } from './push';
11
+ export { validate } from './validate';
12
+ export { init } from './init';
13
+ export { status } from './status';
14
+ export { diff } from './diff';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /**
3
+ * Command exports for AUI Agent Builder CLI
4
+ *
5
+ * Core flow: login → list-agents → create-agent → import → edit files → validate → push
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.diff = exports.status = exports.init = exports.validate = exports.push = exports.importAgent = exports.createAgent = exports.listAgents = exports.login = void 0;
9
+ var login_1 = require("./login");
10
+ Object.defineProperty(exports, "login", { enumerable: true, get: function () { return login_1.login; } });
11
+ var list_agents_1 = require("./list-agents");
12
+ Object.defineProperty(exports, "listAgents", { enumerable: true, get: function () { return list_agents_1.listAgents; } });
13
+ var create_agent_1 = require("./create-agent");
14
+ Object.defineProperty(exports, "createAgent", { enumerable: true, get: function () { return create_agent_1.createAgent; } });
15
+ var import_agent_1 = require("./import-agent");
16
+ Object.defineProperty(exports, "importAgent", { enumerable: true, get: function () { return import_agent_1.importAgent; } });
17
+ var push_1 = require("./push");
18
+ Object.defineProperty(exports, "push", { enumerable: true, get: function () { return push_1.push; } });
19
+ var validate_1 = require("./validate");
20
+ Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return validate_1.validate; } });
21
+ var init_1 = require("./init");
22
+ Object.defineProperty(exports, "init", { enumerable: true, get: function () { return init_1.init; } });
23
+ var status_1 = require("./status");
24
+ Object.defineProperty(exports, "status", { enumerable: true, get: function () { return status_1.status; } });
25
+ var diff_1 = require("./diff");
26
+ Object.defineProperty(exports, "diff", { enumerable: true, get: function () { return diff_1.diff; } });
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,+BAA8B;AAArB,4FAAA,IAAI,OAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * init command - Create a new agent project from scratch
3
+ *
4
+ * Creates the v2 file structure with empty but correctly structured files.
5
+ * User then edits these files directly (or uses Cursor) to build the agent.
6
+ *
7
+ * Usage: aui init [directory]
8
+ * Options:
9
+ * --force Overwrite existing files
10
+ */
11
+ export interface InitOptions {
12
+ force?: boolean;
13
+ }
14
+ /**
15
+ * Initialize a new agent project
16
+ */
17
+ export declare function init(directory?: string, options?: InitOptions): Promise<void>;
18
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,IAAI,CAAC,SAAS,GAAE,MAAY,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4H5F"}
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ /**
3
+ * init command - Create a new agent project from scratch
4
+ *
5
+ * Creates the v2 file structure with empty but correctly structured files.
6
+ * User then edits these files directly (or uses Cursor) to build the agent.
7
+ *
8
+ * Usage: aui init [directory]
9
+ * Options:
10
+ * --force Overwrite existing files
11
+ */
12
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ var desc = Object.getOwnPropertyDescriptor(m, k);
15
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
+ desc = { enumerable: true, get: function() { return m[k]; } };
17
+ }
18
+ Object.defineProperty(o, k2, desc);
19
+ }) : (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ o[k2] = m[k];
22
+ }));
23
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
24
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
25
+ }) : function(o, v) {
26
+ o["default"] = v;
27
+ });
28
+ var __importStar = (this && this.__importStar) || (function () {
29
+ var ownKeys = function(o) {
30
+ ownKeys = Object.getOwnPropertyNames || function (o) {
31
+ var ar = [];
32
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
33
+ return ar;
34
+ };
35
+ return ownKeys(o);
36
+ };
37
+ return function (mod) {
38
+ if (mod && mod.__esModule) return mod;
39
+ var result = {};
40
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
41
+ __setModuleDefault(result, mod);
42
+ return result;
43
+ };
44
+ })();
45
+ var __importDefault = (this && this.__importDefault) || function (mod) {
46
+ return (mod && mod.__esModule) ? mod : { "default": mod };
47
+ };
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.init = init;
50
+ const fs = __importStar(require("fs"));
51
+ const path = __importStar(require("path"));
52
+ const chalk_1 = __importDefault(require("chalk"));
53
+ const config_1 = require("../config");
54
+ /**
55
+ * Initialize a new agent project
56
+ */
57
+ async function init(directory = '.', options = {}) {
58
+ const targetDir = path.resolve(directory);
59
+ const configPath = path.join(targetDir, '.auirc');
60
+ if (fs.existsSync(configPath) && !options.force) {
61
+ console.log(chalk_1.default.yellow('\n Project already initialized. Use --force to reinitialize.\n'));
62
+ return;
63
+ }
64
+ if (!fs.existsSync(targetDir)) {
65
+ fs.mkdirSync(targetDir, { recursive: true });
66
+ }
67
+ console.log(chalk_1.default.blue('\n Creating AUI agent project...\n'));
68
+ const agentName = path.basename(targetDir) !== '.'
69
+ ? path.basename(targetDir)
70
+ : 'my-agent';
71
+ // ─── general_settings.aui.json ───
72
+ writeJson(targetDir, 'general_settings.aui.json', {
73
+ general_settings: {
74
+ name: agentName,
75
+ objective: '',
76
+ guardrails: '',
77
+ tone_of_voice: '',
78
+ brevity: '',
79
+ persona_guidelines: '',
80
+ context: []
81
+ }
82
+ });
83
+ // ─── parameters.aui.json ───
84
+ writeJson(targetDir, 'parameters.aui.json', {
85
+ parameters: []
86
+ });
87
+ // ─── entities.aui.json ───
88
+ writeJson(targetDir, 'entities.aui.json', {
89
+ entities: []
90
+ });
91
+ // ─── integrations.aui.json ───
92
+ writeJson(targetDir, 'integrations.aui.json', {
93
+ integrations: []
94
+ });
95
+ // ─── rules.aui.json ───
96
+ writeJson(targetDir, 'rules.aui.json', {
97
+ rules: []
98
+ });
99
+ // ─── tools/ directory with example ───
100
+ const toolsDir = path.join(targetDir, 'tools');
101
+ if (!fs.existsSync(toolsDir)) {
102
+ fs.mkdirSync(toolsDir, { recursive: true });
103
+ }
104
+ writeJson(toolsDir, 'generative_ai.aui.json', {
105
+ tool: {
106
+ code: 'GENERATIVE_AI',
107
+ objective: 'When the user asks a general question that can be answered without looking for additional resources about the product.',
108
+ status: true,
109
+ main_tool: true,
110
+ requires_confirmation: false,
111
+ response_type: 'text',
112
+ brevity: '',
113
+ tone_of_voice: '',
114
+ config: {
115
+ triggers: { when: { any: [] } },
116
+ params: { required: [], optional: [] }
117
+ },
118
+ integrations: [],
119
+ summary_model: '',
120
+ rules: { pre: {}, summary: {} }
121
+ }
122
+ });
123
+ // ─── .auirc ───
124
+ const projectConfig = {
125
+ agent_code: agentName.toLowerCase().replace(/[^a-z0-9-]/g, '-'),
126
+ environment: 'staging'
127
+ };
128
+ (0, config_1.saveProjectConfig)(projectConfig, targetDir);
129
+ // ─── .vscode/settings.json ───
130
+ const vscodeDir = path.join(targetDir, '.vscode');
131
+ if (!fs.existsSync(vscodeDir))
132
+ fs.mkdirSync(vscodeDir, { recursive: true });
133
+ writeJson(vscodeDir, 'settings.json', {
134
+ 'json.schemas': [{ fileMatch: ['*.aui.json'], url: './.aui-schema/aui.schema.json' }]
135
+ });
136
+ // ─── .aui-schema/aui.schema.json ───
137
+ const schemaDir = path.join(targetDir, '.aui-schema');
138
+ if (!fs.existsSync(schemaDir))
139
+ fs.mkdirSync(schemaDir, { recursive: true });
140
+ const schemaSource = path.join(__dirname, '..', 'schema', 'aui.schema.json');
141
+ let schemaContent;
142
+ try {
143
+ schemaContent = fs.readFileSync(schemaSource, 'utf-8');
144
+ }
145
+ catch {
146
+ schemaContent = fs.readFileSync(path.join(__dirname, '..', '..', 'src', 'schema', 'aui.schema.json'), 'utf-8');
147
+ }
148
+ fs.writeFileSync(path.join(schemaDir, 'aui.schema.json'), schemaContent);
149
+ // ─── .gitignore ───
150
+ fs.writeFileSync(path.join(targetDir, '.gitignore'), '# AUI\n.aui-cache/\n*.log\n.auirc\n\n# OS\n.DS_Store\n');
151
+ // ─── Done ───
152
+ console.log(chalk_1.default.green(' ✓ Project created!\n'));
153
+ console.log(' Files:');
154
+ console.log(chalk_1.default.gray(' general_settings.aui.json'));
155
+ console.log(chalk_1.default.gray(' parameters.aui.json'));
156
+ console.log(chalk_1.default.gray(' entities.aui.json'));
157
+ console.log(chalk_1.default.gray(' integrations.aui.json'));
158
+ console.log(chalk_1.default.gray(' rules.aui.json'));
159
+ console.log(chalk_1.default.gray(' tools/generative_ai.aui.json'));
160
+ console.log(chalk_1.default.gray(' .vscode/settings.json (schema autocomplete)'));
161
+ console.log(chalk_1.default.gray(' .aui-schema/aui.schema.json (JSON schema)'));
162
+ console.log(`\n ${chalk_1.default.white('Next steps:')}`);
163
+ if (directory !== '.')
164
+ console.log(chalk_1.default.gray(` cd ${directory}`));
165
+ console.log(chalk_1.default.gray(' # Edit .aui.json files in your editor / Cursor'));
166
+ console.log(chalk_1.default.gray(' aui validate'));
167
+ console.log(chalk_1.default.gray(' aui push\n'));
168
+ }
169
+ function writeJson(dir, filename, data) {
170
+ fs.writeFileSync(path.join(dir, filename), JSON.stringify(data, null, 2) + '\n');
171
+ console.log(chalk_1.default.green(` Created ${filename}`));
172
+ }
173
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * list-agents command - List all agents in the current account
3
+ *
4
+ * Calls GET /network/v1/network to show available agents.
5
+ *
6
+ * Usage: aui list-agents
7
+ */
8
+ /**
9
+ * List all agents in the current account
10
+ */
11
+ export declare function listAgents(): Promise<void>;
12
+ //# sourceMappingURL=list-agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-agents.d.ts","sourceRoot":"","sources":["../../src/commands/list-agents.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA2DhD"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ /**
3
+ * list-agents command - List all agents in the current account
4
+ *
5
+ * Calls GET /network/v1/network to show available agents.
6
+ *
7
+ * Usage: aui list-agents
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.listAgents = listAgents;
14
+ const chalk_1 = __importDefault(require("chalk"));
15
+ const ora_1 = __importDefault(require("ora"));
16
+ const config_1 = require("../config");
17
+ const api_client_1 = require("../api-client");
18
+ /**
19
+ * List all agents in the current account
20
+ */
21
+ async function listAgents() {
22
+ const config = (0, config_1.getConfig)();
23
+ if (!config.isAuthenticated) {
24
+ console.log(chalk_1.default.red('\n Not logged in. Run: aui login\n'));
25
+ return;
26
+ }
27
+ const session = (0, config_1.loadSession)();
28
+ console.log(chalk_1.default.gray(`\n Account: ${session.account_name || session.account_id}`));
29
+ console.log(chalk_1.default.gray(` Environment: ${session.environment}\n`));
30
+ const spinner = (0, ora_1.default)('Fetching agents...').start();
31
+ try {
32
+ const client = new api_client_1.AUIClient({
33
+ baseUrl: config.apiUrl,
34
+ authToken: config.authToken,
35
+ accountId: config.accountId,
36
+ organizationId: config.organizationId,
37
+ environment: config.environment
38
+ });
39
+ const response = await client.networks.list();
40
+ const agents = response.data;
41
+ spinner.succeed(`Found ${agents.length} agent(s)\n`);
42
+ if (agents.length === 0) {
43
+ console.log(chalk_1.default.gray(' No agents found. Create one with: aui create-agent\n'));
44
+ return;
45
+ }
46
+ // Table header
47
+ console.log(chalk_1.default.white(' ' + 'Name'.padEnd(30) + 'ID'.padEnd(28) + 'Status'.padEnd(12) + 'Created'));
48
+ console.log(chalk_1.default.gray(' ' + '─'.repeat(85)));
49
+ for (const agent of agents) {
50
+ const status = agent.status === 'ACTIVE'
51
+ ? chalk_1.default.green(agent.status.padEnd(12))
52
+ : chalk_1.default.yellow(agent.status.padEnd(12));
53
+ const created = new Date(agent.createdAt).toLocaleDateString();
54
+ console.log(` ${chalk_1.default.cyan(agent.name.padEnd(30))}` +
55
+ `${chalk_1.default.gray((agent._id || agent.id).padEnd(28))}` +
56
+ `${status}` +
57
+ `${chalk_1.default.gray(created)}`);
58
+ }
59
+ console.log('');
60
+ }
61
+ catch (error) {
62
+ spinner.fail('Failed to fetch agents');
63
+ if (error instanceof Error) {
64
+ console.log(chalk_1.default.red(` ${error.message}\n`));
65
+ }
66
+ }
67
+ }
68
+ //# sourceMappingURL=list-agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-agents.js","sourceRoot":"","sources":["../../src/commands/list-agents.ts"],"names":[],"mappings":"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"}