@agentled/cli 0.1.1

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 (46) hide show
  1. package/README.md +79 -0
  2. package/dist/client.d.ts +35 -0
  3. package/dist/client.js +107 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/commands/ai.d.ts +2 -0
  6. package/dist/commands/ai.js +34 -0
  7. package/dist/commands/ai.js.map +1 -0
  8. package/dist/commands/apps.d.ts +2 -0
  9. package/dist/commands/apps.js +53 -0
  10. package/dist/commands/apps.js.map +1 -0
  11. package/dist/commands/auth.d.ts +2 -0
  12. package/dist/commands/auth.js +247 -0
  13. package/dist/commands/auth.js.map +1 -0
  14. package/dist/commands/chat.d.ts +12 -0
  15. package/dist/commands/chat.js +34 -0
  16. package/dist/commands/chat.js.map +1 -0
  17. package/dist/commands/do.d.ts +13 -0
  18. package/dist/commands/do.js +80 -0
  19. package/dist/commands/do.js.map +1 -0
  20. package/dist/commands/executions.d.ts +2 -0
  21. package/dist/commands/executions.js +143 -0
  22. package/dist/commands/executions.js.map +1 -0
  23. package/dist/commands/knowledge.d.ts +2 -0
  24. package/dist/commands/knowledge.js +97 -0
  25. package/dist/commands/knowledge.js.map +1 -0
  26. package/dist/commands/onboarding.d.ts +12 -0
  27. package/dist/commands/onboarding.js +86 -0
  28. package/dist/commands/onboarding.js.map +1 -0
  29. package/dist/commands/workflows.d.ts +2 -0
  30. package/dist/commands/workflows.js +429 -0
  31. package/dist/commands/workflows.js.map +1 -0
  32. package/dist/commands/workspace.d.ts +2 -0
  33. package/dist/commands/workspace.js +156 -0
  34. package/dist/commands/workspace.js.map +1 -0
  35. package/dist/index.d.ts +15 -0
  36. package/dist/index.js +50 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/utils/browser-auth.d.ts +24 -0
  39. package/dist/utils/browser-auth.js +172 -0
  40. package/dist/utils/browser-auth.js.map +1 -0
  41. package/dist/utils/output.d.ts +11 -0
  42. package/dist/utils/output.js +56 -0
  43. package/dist/utils/output.js.map +1 -0
  44. package/llms-full.txt +494 -0
  45. package/llms.txt +20 -0
  46. package/package.json +53 -0
@@ -0,0 +1,429 @@
1
+ import { AgentledClient } from '../client.js';
2
+ import { printOutput, printError } from '../utils/output.js';
3
+ import * as fs from 'node:fs';
4
+ export function registerWorkflowCommands(program) {
5
+ const workflows = program
6
+ .command('workflows')
7
+ .alias('wf')
8
+ .description('Manage workflows');
9
+ workflows
10
+ .command('list')
11
+ .description('List all workflows in the workspace')
12
+ .option('--status <status>', 'Filter by status (draft, live, paused, archived)')
13
+ .option('--limit <n>', 'Max results', parseInt)
14
+ .option('--format <fmt>', 'Output format: json, table, minimal', 'json')
15
+ .action(async (opts) => {
16
+ try {
17
+ const client = new AgentledClient();
18
+ const result = await client.listWorkflows({
19
+ status: opts.status,
20
+ limit: opts.limit,
21
+ });
22
+ printOutput(result, opts.format);
23
+ }
24
+ catch (e) {
25
+ printError(e.message);
26
+ }
27
+ });
28
+ workflows
29
+ .command('get <id>')
30
+ .description('Get full workflow details by ID')
31
+ .option('--format <fmt>', 'Output format', 'json')
32
+ .action(async (id, opts) => {
33
+ try {
34
+ const client = new AgentledClient();
35
+ const result = await client.getWorkflow(id);
36
+ printOutput(result, opts.format);
37
+ }
38
+ catch (e) {
39
+ printError(e.message);
40
+ }
41
+ });
42
+ workflows
43
+ .command('create')
44
+ .description('Create a new workflow from pipeline JSON')
45
+ .option('--file <path>', 'Path to pipeline JSON file')
46
+ .option('--pipeline <json>', 'Inline pipeline JSON')
47
+ .option('--locale <locale>', 'Locale (default: en)')
48
+ .option('--format <fmt>', 'Output format', 'json')
49
+ .action(async (opts) => {
50
+ try {
51
+ let pipeline;
52
+ if (opts.file) {
53
+ const raw = fs.readFileSync(opts.file, 'utf-8');
54
+ pipeline = JSON.parse(raw);
55
+ }
56
+ else if (opts.pipeline) {
57
+ pipeline = JSON.parse(opts.pipeline);
58
+ }
59
+ else {
60
+ printError('Provide --file or --pipeline');
61
+ return;
62
+ }
63
+ const client = new AgentledClient();
64
+ const result = await client.createWorkflow(pipeline, opts.locale);
65
+ printOutput(result, opts.format);
66
+ }
67
+ catch (e) {
68
+ printError(e.message);
69
+ }
70
+ });
71
+ workflows
72
+ .command('update <id>')
73
+ .description('Update an existing workflow (partial update)')
74
+ .option('--file <path>', 'Path to updates JSON file')
75
+ .option('--updates <json>', 'Inline updates JSON')
76
+ .option('--locale <locale>', 'Locale')
77
+ .option('--format <fmt>', 'Output format', 'json')
78
+ .action(async (id, opts) => {
79
+ try {
80
+ let updates;
81
+ if (opts.file) {
82
+ const raw = fs.readFileSync(opts.file, 'utf-8');
83
+ updates = JSON.parse(raw);
84
+ }
85
+ else if (opts.updates) {
86
+ updates = JSON.parse(opts.updates);
87
+ }
88
+ else {
89
+ printError('Provide --file or --updates');
90
+ return;
91
+ }
92
+ const client = new AgentledClient();
93
+ const result = await client.updateWorkflow(id, updates, opts.locale);
94
+ printOutput(result, opts.format);
95
+ }
96
+ catch (e) {
97
+ printError(e.message);
98
+ }
99
+ });
100
+ workflows
101
+ .command('delete <id>')
102
+ .description('Permanently delete a workflow')
103
+ .option('--format <fmt>', 'Output format', 'json')
104
+ .action(async (id, opts) => {
105
+ try {
106
+ const client = new AgentledClient();
107
+ const result = await client.deleteWorkflow(id);
108
+ printOutput(result, opts.format);
109
+ }
110
+ catch (e) {
111
+ printError(e.message);
112
+ }
113
+ });
114
+ workflows
115
+ .command('validate <id>')
116
+ .description('Validate workflow pipeline structure')
117
+ .option('--pipeline <json>', 'Optional draft pipeline to validate before saving')
118
+ .option('--format <fmt>', 'Output format', 'json')
119
+ .action(async (id, opts) => {
120
+ try {
121
+ const pipeline = opts.pipeline ? JSON.parse(opts.pipeline) : undefined;
122
+ const client = new AgentledClient();
123
+ const result = await client.validateWorkflow(id, pipeline);
124
+ printOutput(result, opts.format);
125
+ }
126
+ catch (e) {
127
+ printError(e.message);
128
+ }
129
+ });
130
+ workflows
131
+ .command('publish <id>')
132
+ .description('Change workflow status (live, paused, archived)')
133
+ .requiredOption('--status <status>', 'Target status: live, paused, archived')
134
+ .option('--format <fmt>', 'Output format', 'json')
135
+ .action(async (id, opts) => {
136
+ try {
137
+ const client = new AgentledClient();
138
+ const result = await client.publishWorkflow(id, opts.status);
139
+ printOutput(result, opts.format);
140
+ }
141
+ catch (e) {
142
+ printError(e.message);
143
+ }
144
+ });
145
+ workflows
146
+ .command('start <id>')
147
+ .description('Start a workflow execution')
148
+ .option('--input <json>', 'Input data as JSON')
149
+ .option('--input-file <path>', 'Input data from JSON file')
150
+ .option('--metadata <json>', 'Execution metadata as JSON')
151
+ .option('--format <fmt>', 'Output format', 'json')
152
+ .action(async (id, opts) => {
153
+ try {
154
+ let input;
155
+ if (opts.inputFile) {
156
+ input = JSON.parse(fs.readFileSync(opts.inputFile, 'utf-8'));
157
+ }
158
+ else if (opts.input) {
159
+ input = JSON.parse(opts.input);
160
+ }
161
+ const metadata = opts.metadata ? JSON.parse(opts.metadata) : undefined;
162
+ const client = new AgentledClient();
163
+ const result = await client.startWorkflow(id, input, metadata);
164
+ printOutput(result, opts.format);
165
+ }
166
+ catch (e) {
167
+ printError(e.message);
168
+ }
169
+ });
170
+ workflows
171
+ .command('export <id>')
172
+ .description('Export a workflow as portable JSON')
173
+ .option('--output <path>', 'Write export to file instead of stdout')
174
+ .option('--format <fmt>', 'Output format', 'json')
175
+ .action(async (id, opts) => {
176
+ try {
177
+ const client = new AgentledClient();
178
+ const result = await client.exportWorkflow(id);
179
+ if (opts.output) {
180
+ fs.writeFileSync(opts.output, JSON.stringify(result, null, 2));
181
+ console.log(`Exported to ${opts.output}`);
182
+ }
183
+ else {
184
+ printOutput(result, opts.format);
185
+ }
186
+ }
187
+ catch (e) {
188
+ printError(e.message);
189
+ }
190
+ });
191
+ workflows
192
+ .command('import')
193
+ .description('Import a workflow from export JSON')
194
+ .option('--file <path>', 'Path to export JSON file')
195
+ .option('--data <json>', 'Inline export JSON')
196
+ .option('--locale <locale>', 'Locale')
197
+ .option('--format <fmt>', 'Output format', 'json')
198
+ .action(async (opts) => {
199
+ try {
200
+ let exportData;
201
+ if (opts.file) {
202
+ exportData = JSON.parse(fs.readFileSync(opts.file, 'utf-8'));
203
+ }
204
+ else if (opts.data) {
205
+ exportData = JSON.parse(opts.data);
206
+ }
207
+ else {
208
+ printError('Provide --file or --data');
209
+ return;
210
+ }
211
+ const client = new AgentledClient();
212
+ const result = await client.importWorkflow(exportData, opts.locale);
213
+ printOutput(result, opts.format);
214
+ }
215
+ catch (e) {
216
+ printError(e.message);
217
+ }
218
+ });
219
+ // --- Snapshots ---
220
+ workflows
221
+ .command('snapshots <id>')
222
+ .description('List config snapshots for a workflow')
223
+ .option('--format <fmt>', 'Output format', 'json')
224
+ .action(async (id, opts) => {
225
+ try {
226
+ const client = new AgentledClient();
227
+ const result = await client.listSnapshots(id);
228
+ printOutput(result, opts.format);
229
+ }
230
+ catch (e) {
231
+ printError(e.message);
232
+ }
233
+ });
234
+ workflows
235
+ .command('restore <id> <snapshotId>')
236
+ .description('Restore a workflow to a previous config snapshot')
237
+ .option('--format <fmt>', 'Output format', 'json')
238
+ .action(async (id, snapshotId, opts) => {
239
+ try {
240
+ const client = new AgentledClient();
241
+ const result = await client.restoreSnapshot(id, snapshotId);
242
+ printOutput(result, opts.format);
243
+ }
244
+ catch (e) {
245
+ printError(e.message);
246
+ }
247
+ });
248
+ workflows
249
+ .command('snapshot-create <id>')
250
+ .description('Create a manual config snapshot for a workflow')
251
+ .option('--label <label>', 'Snapshot label')
252
+ .option('--format <fmt>', 'Output format', 'json')
253
+ .action(async (id, opts) => {
254
+ try {
255
+ const client = new AgentledClient();
256
+ const result = await client.createSnapshot(id, opts.label);
257
+ printOutput(result, opts.format);
258
+ }
259
+ catch (e) {
260
+ printError(e.message);
261
+ }
262
+ });
263
+ workflows
264
+ .command('snapshot-delete <id> <snapshotId>')
265
+ .description('Delete a config snapshot')
266
+ .option('--format <fmt>', 'Output format', 'json')
267
+ .action(async (id, snapshotId, opts) => {
268
+ try {
269
+ const client = new AgentledClient();
270
+ const result = await client.deleteSnapshot(id, snapshotId);
271
+ printOutput(result, opts.format);
272
+ }
273
+ catch (e) {
274
+ printError(e.message);
275
+ }
276
+ });
277
+ // --- Draft Lifecycle ---
278
+ const draft = workflows
279
+ .command('draft')
280
+ .description('Manage draft snapshots for live workflows');
281
+ draft
282
+ .command('get <id>')
283
+ .description('Get the draft snapshot for a live workflow')
284
+ .option('--format <fmt>', 'Output format', 'json')
285
+ .action(async (id, opts) => {
286
+ try {
287
+ const client = new AgentledClient();
288
+ const result = await client.getDraft(id);
289
+ printOutput(result, opts.format);
290
+ }
291
+ catch (e) {
292
+ printError(e.message);
293
+ }
294
+ });
295
+ draft
296
+ .command('promote <id>')
297
+ .description('Promote draft to live (overwrites live config)')
298
+ .option('--format <fmt>', 'Output format', 'json')
299
+ .action(async (id, opts) => {
300
+ try {
301
+ const client = new AgentledClient();
302
+ const result = await client.promoteDraft(id);
303
+ printOutput(result, opts.format);
304
+ }
305
+ catch (e) {
306
+ printError(e.message);
307
+ }
308
+ });
309
+ draft
310
+ .command('discard <id>')
311
+ .description('Discard draft changes (live config stays unchanged)')
312
+ .option('--format <fmt>', 'Output format', 'json')
313
+ .action(async (id, opts) => {
314
+ try {
315
+ const client = new AgentledClient();
316
+ const result = await client.discardDraft(id);
317
+ printOutput(result, opts.format);
318
+ }
319
+ catch (e) {
320
+ printError(e.message);
321
+ }
322
+ });
323
+ // --- n8n Import ---
324
+ workflows
325
+ .command('import-n8n')
326
+ .description('Import an n8n workflow JSON into Agentled')
327
+ .option('--file <path>', 'Path to n8n JSON file')
328
+ .option('--data <json>', 'Inline n8n JSON')
329
+ .option('--name <name>', 'Workflow name override')
330
+ .option('--goal <goal>', 'Workflow goal override')
331
+ .option('--preview', 'Preview only — do not create workflow')
332
+ .option('--locale <locale>', 'Locale')
333
+ .option('--format <fmt>', 'Output format', 'json')
334
+ .action(async (opts) => {
335
+ try {
336
+ let n8nJson;
337
+ if (opts.file) {
338
+ n8nJson = JSON.parse(fs.readFileSync(opts.file, 'utf-8'));
339
+ }
340
+ else if (opts.data) {
341
+ n8nJson = JSON.parse(opts.data);
342
+ }
343
+ else {
344
+ printError('Provide --file or --data with n8n JSON');
345
+ return;
346
+ }
347
+ const workflow = (opts.name || opts.goal)
348
+ ? { name: opts.name, goal: opts.goal }
349
+ : undefined;
350
+ const client = new AgentledClient();
351
+ if (opts.preview) {
352
+ const result = await client.previewN8nImport(n8nJson, undefined, workflow);
353
+ printOutput(result, opts.format);
354
+ }
355
+ else {
356
+ const result = await client.importN8nWorkflow(n8nJson, workflow, undefined, opts.locale);
357
+ printOutput(result, opts.format);
358
+ }
359
+ }
360
+ catch (e) {
361
+ printError(e.message);
362
+ }
363
+ });
364
+ // --- Step Operations ---
365
+ workflows
366
+ .command('add-step <workflowId>')
367
+ .description('Add a step to a workflow. Provide the step definition as JSON.')
368
+ .requiredOption('--step <json>', 'Step definition as JSON')
369
+ .option('--insert-after <stepId>', 'Insert after this step ID')
370
+ .option('--rewire-next', 'Rewire the previous step\'s next pointer to the new step', false)
371
+ .option('--format <fmt>', 'Output format', 'json')
372
+ .action(async (workflowId, opts) => {
373
+ try {
374
+ const step = JSON.parse(opts.step);
375
+ const client = new AgentledClient();
376
+ const result = await client.addStep(workflowId, step, opts.insertAfter, opts.rewireNext);
377
+ printOutput(result, opts.format);
378
+ }
379
+ catch (e) {
380
+ printError(e.message);
381
+ }
382
+ });
383
+ workflows
384
+ .command('update-step <workflowId> <stepId>')
385
+ .description('Update a single step in a workflow (safer than updating the whole workflow)')
386
+ .requiredOption('--updates <json>', 'Partial step updates as JSON')
387
+ .option('--format <fmt>', 'Output format', 'json')
388
+ .action(async (workflowId, stepId, opts) => {
389
+ try {
390
+ const updates = JSON.parse(opts.updates);
391
+ const client = new AgentledClient();
392
+ const result = await client.updateStep(workflowId, stepId, updates);
393
+ printOutput(result, opts.format);
394
+ }
395
+ catch (e) {
396
+ printError(e.message);
397
+ }
398
+ });
399
+ workflows
400
+ .command('remove-step <workflowId> <stepId>')
401
+ .description('Remove a step from a workflow')
402
+ .option('--rewire-next', 'Rewire the previous step to point to the removed step\'s next', false)
403
+ .option('--format <fmt>', 'Output format', 'json')
404
+ .action(async (workflowId, stepId, opts) => {
405
+ try {
406
+ const client = new AgentledClient();
407
+ const result = await client.removeStep(workflowId, stepId, opts.rewireNext);
408
+ printOutput(result, opts.format);
409
+ }
410
+ catch (e) {
411
+ printError(e.message);
412
+ }
413
+ });
414
+ workflows
415
+ .command('step-schema')
416
+ .description('Get the full schema of allowed PipelineStep fields')
417
+ .option('--format <fmt>', 'Output format', 'json')
418
+ .action(async (opts) => {
419
+ try {
420
+ const client = new AgentledClient();
421
+ const result = await client.getStepSchema();
422
+ printOutput(result, opts.format);
423
+ }
424
+ catch (e) {
425
+ printError(e.message);
426
+ }
427
+ });
428
+ }
429
+ //# sourceMappingURL=workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/commands/workflows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerWorkspaceCommands(program: Command): void;
@@ -0,0 +1,156 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { AgentledClient } from '../client.js';
3
+ import { printOutput, printError } from '../utils/output.js';
4
+ function readJsonValue(opts, label) {
5
+ if (!opts.input && !opts.file) {
6
+ throw new Error(`Provide ${label} via --input '<json>' or --file <path>`);
7
+ }
8
+ if (opts.input && opts.file) {
9
+ throw new Error(`Provide ${label} with either --input or --file, not both`);
10
+ }
11
+ const raw = opts.file
12
+ ? readFileSync(opts.file, 'utf8')
13
+ : opts.input;
14
+ try {
15
+ return JSON.parse(raw);
16
+ }
17
+ catch (error) {
18
+ throw new Error(`Invalid JSON for ${label}: ${error?.message || 'parse failed'}`);
19
+ }
20
+ }
21
+ export function registerWorkspaceCommands(program) {
22
+ const workspace = program
23
+ .command('workspace')
24
+ .alias('ws')
25
+ .description('Workspace information');
26
+ workspace
27
+ .command('info')
28
+ .description('Get workspace details')
29
+ .option('--format <fmt>', 'Output format', 'json')
30
+ .action(async (opts) => {
31
+ try {
32
+ const client = new AgentledClient();
33
+ const result = await client.getWorkspace();
34
+ printOutput(result, opts.format);
35
+ }
36
+ catch (e) {
37
+ printError(e.message);
38
+ }
39
+ });
40
+ workspace
41
+ .command('company-profile')
42
+ .description('Get editable workspace company profile and offerings')
43
+ .option('--format <fmt>', 'Output format', 'json')
44
+ .action(async (opts) => {
45
+ try {
46
+ const client = new AgentledClient();
47
+ const result = await client.getWorkspaceCompanyProfile();
48
+ printOutput(result, opts.format);
49
+ }
50
+ catch (e) {
51
+ printError(e.message);
52
+ }
53
+ });
54
+ workspace
55
+ .command('update-company-profile')
56
+ .description('Update workspace company profile fields')
57
+ .option('--input <json>', 'Company profile JSON object')
58
+ .option('--file <path>', 'Path to JSON file containing a company profile object')
59
+ .option('--format <fmt>', 'Output format', 'json')
60
+ .action(async (opts) => {
61
+ try {
62
+ const parsed = readJsonValue(opts, 'company profile');
63
+ const company = parsed?.company && typeof parsed.company === 'object'
64
+ ? parsed.company
65
+ : parsed;
66
+ if (!company || typeof company !== 'object' || Array.isArray(company)) {
67
+ throw new Error('Company profile input must be a JSON object');
68
+ }
69
+ const client = new AgentledClient();
70
+ const result = await client.updateWorkspaceCompanyProfile(company);
71
+ printOutput(result, opts.format);
72
+ }
73
+ catch (e) {
74
+ printError(e.message);
75
+ }
76
+ });
77
+ workspace
78
+ .command('upsert-company-offerings')
79
+ .description('Create or update workspace company offerings')
80
+ .option('--input <json>', 'Offerings JSON array')
81
+ .option('--file <path>', 'Path to JSON file containing an offerings array')
82
+ .option('--format <fmt>', 'Output format', 'json')
83
+ .action(async (opts) => {
84
+ try {
85
+ const parsed = readJsonValue(opts, 'company offerings');
86
+ const offerings = Array.isArray(parsed)
87
+ ? parsed
88
+ : parsed?.offerings;
89
+ if (!Array.isArray(offerings)) {
90
+ throw new Error('Offerings input must be a JSON array or an object with an "offerings" array');
91
+ }
92
+ const client = new AgentledClient();
93
+ const result = await client.upsertWorkspaceCompanyOfferings(offerings);
94
+ printOutput(result, opts.format);
95
+ }
96
+ catch (e) {
97
+ printError(e.message);
98
+ }
99
+ });
100
+ // --- Branding ---
101
+ workspace
102
+ .command('branding')
103
+ .description('Get workspace whitelabel branding configuration')
104
+ .option('--format <fmt>', 'Output format', 'json')
105
+ .action(async (opts) => {
106
+ try {
107
+ const client = new AgentledClient();
108
+ const result = await client.getBranding();
109
+ printOutput(result, opts.format);
110
+ }
111
+ catch (e) {
112
+ printError(e.message);
113
+ }
114
+ });
115
+ workspace
116
+ .command('update-branding')
117
+ .description('Update workspace whitelabel branding')
118
+ .option('--display-name <name>', 'Display name')
119
+ .option('--logo-url <url>', 'Logo URL')
120
+ .option('--tagline <text>', 'Tagline')
121
+ .option('--primary-color <hex>', 'Primary color (light mode)')
122
+ .option('--primary-color-dark <hex>', 'Primary color (dark mode)')
123
+ .option('--favicon-url <url>', 'Favicon URL')
124
+ .option('--hide-badge', 'Hide "Powered by" badge')
125
+ .option('--format <fmt>', 'Output format', 'json')
126
+ .action(async (opts) => {
127
+ try {
128
+ const branding = {};
129
+ if (opts.displayName)
130
+ branding.displayName = opts.displayName;
131
+ if (opts.logoUrl)
132
+ branding.logoUrl = opts.logoUrl;
133
+ if (opts.tagline)
134
+ branding.tagline = opts.tagline;
135
+ if (opts.primaryColor)
136
+ branding.primaryColor = opts.primaryColor;
137
+ if (opts.primaryColorDark)
138
+ branding.primaryColorDark = opts.primaryColorDark;
139
+ if (opts.faviconUrl)
140
+ branding.faviconUrl = opts.faviconUrl;
141
+ if (opts.hideBadge !== undefined)
142
+ branding.hideBadge = true;
143
+ if (Object.keys(branding).length === 0) {
144
+ printError('Provide at least one branding field to update');
145
+ return;
146
+ }
147
+ const client = new AgentledClient();
148
+ const result = await client.updateBranding(branding);
149
+ printOutput(result, opts.format);
150
+ }
151
+ catch (e) {
152
+ printError(e.message);
153
+ }
154
+ });
155
+ }
156
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/commands/workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Agentled CLI — Zero context-window cost access to workflows, apps, and knowledge.
4
+ *
5
+ * Usage:
6
+ * agentled auth login --key wsk_...
7
+ * agentled workflows list
8
+ * agentled apps test web-scraping scrape --input '{"url": "..."}'
9
+ *
10
+ * Environment variables:
11
+ * AGENTLED_API_KEY — Workspace API key (wsk_*)
12
+ * AGENTLED_URL — Base URL (default: https://www.agentled.app)
13
+ * AGENTLED_WORKSPACE — Saved workspace id, alias, or name to target
14
+ */
15
+ export {};