@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.
- package/README.md +79 -0
- package/dist/client.d.ts +35 -0
- package/dist/client.js +107 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/ai.d.ts +2 -0
- package/dist/commands/ai.js +34 -0
- package/dist/commands/ai.js.map +1 -0
- package/dist/commands/apps.d.ts +2 -0
- package/dist/commands/apps.js +53 -0
- package/dist/commands/apps.js.map +1 -0
- package/dist/commands/auth.d.ts +2 -0
- package/dist/commands/auth.js +247 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/chat.d.ts +12 -0
- package/dist/commands/chat.js +34 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/do.d.ts +13 -0
- package/dist/commands/do.js +80 -0
- package/dist/commands/do.js.map +1 -0
- package/dist/commands/executions.d.ts +2 -0
- package/dist/commands/executions.js +143 -0
- package/dist/commands/executions.js.map +1 -0
- package/dist/commands/knowledge.d.ts +2 -0
- package/dist/commands/knowledge.js +97 -0
- package/dist/commands/knowledge.js.map +1 -0
- package/dist/commands/onboarding.d.ts +12 -0
- package/dist/commands/onboarding.js +86 -0
- package/dist/commands/onboarding.js.map +1 -0
- package/dist/commands/workflows.d.ts +2 -0
- package/dist/commands/workflows.js +429 -0
- package/dist/commands/workflows.js.map +1 -0
- package/dist/commands/workspace.d.ts +2 -0
- package/dist/commands/workspace.js +156 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/browser-auth.d.ts +24 -0
- package/dist/utils/browser-auth.js +172 -0
- package/dist/utils/browser-auth.js.map +1 -0
- package/dist/utils/output.d.ts +11 -0
- package/dist/utils/output.js +56 -0
- package/dist/utils/output.js.map +1 -0
- package/llms-full.txt +494 -0
- package/llms.txt +20 -0
- package/package.json +53 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `agentled do` — Semantic Intent Router
|
|
3
|
+
*
|
|
4
|
+
* Describe what you want in natural language. Agentled finds the best matching
|
|
5
|
+
* workflow, extracts inputs from your intent, and optionally executes it.
|
|
6
|
+
*
|
|
7
|
+
* Examples:
|
|
8
|
+
* agentled do "find the CEO's email for stripe.com"
|
|
9
|
+
* agentled do "research acme corp and score them" --execute
|
|
10
|
+
* agentled do "scrape https://example.com" --execute --no-confirm
|
|
11
|
+
*/
|
|
12
|
+
import { Command } from 'commander';
|
|
13
|
+
export declare function registerDoCommand(program: Command): void;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `agentled do` — Semantic Intent Router
|
|
3
|
+
*
|
|
4
|
+
* Describe what you want in natural language. Agentled finds the best matching
|
|
5
|
+
* workflow, extracts inputs from your intent, and optionally executes it.
|
|
6
|
+
*
|
|
7
|
+
* Examples:
|
|
8
|
+
* agentled do "find the CEO's email for stripe.com"
|
|
9
|
+
* agentled do "research acme corp and score them" --execute
|
|
10
|
+
* agentled do "scrape https://example.com" --execute --no-confirm
|
|
11
|
+
*/
|
|
12
|
+
import { AgentledClient } from '../client.js';
|
|
13
|
+
import { printOutput, printError } from '../utils/output.js';
|
|
14
|
+
export function registerDoCommand(program) {
|
|
15
|
+
program
|
|
16
|
+
.command('do <intent>')
|
|
17
|
+
.description('Describe what you want — Agentled routes to the best matching workflow')
|
|
18
|
+
.option('--execute', 'Auto-execute the matched workflow', false)
|
|
19
|
+
.option('--no-confirm', 'Skip confirmation when executing with missing inputs')
|
|
20
|
+
.option('--format <fmt>', 'Output format: json, table, minimal', 'json')
|
|
21
|
+
.action(async (intent, opts) => {
|
|
22
|
+
try {
|
|
23
|
+
const client = new AgentledClient();
|
|
24
|
+
if (!client.isAuthenticated) {
|
|
25
|
+
printError('Not authenticated. Run "agentled auth login" or set AGENTLED_API_KEY.');
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const result = await client.resolveIntent(intent, {
|
|
29
|
+
execute: opts.execute,
|
|
30
|
+
confirm: opts.confirm,
|
|
31
|
+
});
|
|
32
|
+
// Pretty-print based on action
|
|
33
|
+
if (opts.format === 'json') {
|
|
34
|
+
printOutput(result, 'json');
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
// Human-friendly output for table/minimal
|
|
38
|
+
if (!result.match) {
|
|
39
|
+
console.log(result.message || 'No matching workflow found.');
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const m = result.match;
|
|
43
|
+
console.log(`\nMatch: ${m.name} (${m.confidence}% confidence)`);
|
|
44
|
+
console.log(` Goal: ${m.goal}`);
|
|
45
|
+
console.log(` Reasoning: ${m.reasoning}`);
|
|
46
|
+
if (m.extractedInputs && Object.keys(m.extractedInputs).length > 0) {
|
|
47
|
+
console.log(` Extracted inputs:`);
|
|
48
|
+
for (const [k, v] of Object.entries(m.extractedInputs)) {
|
|
49
|
+
console.log(` ${k}: ${v}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (m.missingInputs && m.missingInputs.length > 0) {
|
|
53
|
+
console.log(` Missing required inputs: ${m.missingInputs.map((f) => f.name).join(', ')}`);
|
|
54
|
+
}
|
|
55
|
+
if (result.alternatives?.length > 0) {
|
|
56
|
+
console.log(`\nAlternatives:`);
|
|
57
|
+
for (const alt of result.alternatives) {
|
|
58
|
+
console.log(` - ${alt.name} (${alt.confidence}% confidence): ${alt.reasoning}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (result.action === 'executed') {
|
|
62
|
+
console.log(`\nExecution started:`);
|
|
63
|
+
console.log(` Execution ID: ${result.execution?.executionInputId}`);
|
|
64
|
+
console.log(` Workflow ID: ${result.execution?.pipelineId}`);
|
|
65
|
+
}
|
|
66
|
+
if (result.action === 'confirmation_needed') {
|
|
67
|
+
console.log(`\nTo execute, provide the missing inputs:`);
|
|
68
|
+
console.log(` agentled workflows start ${m.workflowId} --input '${JSON.stringify(m.extractedInputs || {})}'`);
|
|
69
|
+
}
|
|
70
|
+
if (result.action === 'low_confidence') {
|
|
71
|
+
console.log(`\nLow confidence match. To execute anyway:\n agentled workflows start ${m.workflowId} --input '...'`);
|
|
72
|
+
}
|
|
73
|
+
console.log('');
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
printError(e.message);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=do.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"do.js","sourceRoot":"","sources":["../../src/commands/do.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { AgentledClient } from '../client.js';
|
|
2
|
+
import { printOutput, printError } from '../utils/output.js';
|
|
3
|
+
export function registerExecutionCommands(program) {
|
|
4
|
+
const executions = program
|
|
5
|
+
.command('executions')
|
|
6
|
+
.alias('exec')
|
|
7
|
+
.description('Manage workflow executions');
|
|
8
|
+
executions
|
|
9
|
+
.command('list <workflowId>')
|
|
10
|
+
.description('List executions for a workflow')
|
|
11
|
+
.option('--status <status>', 'Filter by status')
|
|
12
|
+
.option('--limit <n>', 'Max results', parseInt)
|
|
13
|
+
.option('--direction <dir>', 'Sort direction: asc, desc')
|
|
14
|
+
.option('--next-token <token>', 'Pagination cursor from previous response')
|
|
15
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
16
|
+
.action(async (workflowId, opts) => {
|
|
17
|
+
try {
|
|
18
|
+
const client = new AgentledClient();
|
|
19
|
+
const result = await client.listExecutions(workflowId, {
|
|
20
|
+
status: opts.status,
|
|
21
|
+
limit: opts.limit,
|
|
22
|
+
direction: opts.direction,
|
|
23
|
+
nextToken: opts.nextToken,
|
|
24
|
+
});
|
|
25
|
+
printOutput(result, opts.format);
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
printError(e.message);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
executions
|
|
32
|
+
.command('get <workflowId> <executionId>')
|
|
33
|
+
.description('Get execution details with step results')
|
|
34
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
35
|
+
.action(async (workflowId, executionId, opts) => {
|
|
36
|
+
try {
|
|
37
|
+
const client = new AgentledClient();
|
|
38
|
+
const result = await client.getExecution(workflowId, executionId);
|
|
39
|
+
printOutput(result, opts.format);
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
printError(e.message);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
executions
|
|
46
|
+
.command('stop <workflowId> <executionId>')
|
|
47
|
+
.description('Stop a running execution')
|
|
48
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
49
|
+
.action(async (workflowId, executionId, opts) => {
|
|
50
|
+
try {
|
|
51
|
+
const client = new AgentledClient();
|
|
52
|
+
const result = await client.stopExecution(workflowId, executionId);
|
|
53
|
+
printOutput(result, opts.format);
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
printError(e.message);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
executions
|
|
60
|
+
.command('pause <workflowId> <executionId>')
|
|
61
|
+
.description('Pause a running execution')
|
|
62
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
63
|
+
.action(async (workflowId, executionId, opts) => {
|
|
64
|
+
try {
|
|
65
|
+
const client = new AgentledClient();
|
|
66
|
+
const result = await client.pauseExecution(workflowId, executionId);
|
|
67
|
+
printOutput(result, opts.format);
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
printError(e.message);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
executions
|
|
74
|
+
.command('resume <workflowId> <executionId>')
|
|
75
|
+
.description('Resume a paused execution')
|
|
76
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
77
|
+
.action(async (workflowId, executionId, opts) => {
|
|
78
|
+
try {
|
|
79
|
+
const client = new AgentledClient();
|
|
80
|
+
const result = await client.resumeExecution(workflowId, executionId);
|
|
81
|
+
printOutput(result, opts.format);
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
printError(e.message);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
executions
|
|
88
|
+
.command('retry <workflowId> <executionId>')
|
|
89
|
+
.description('Retry a failed step in an execution. Auto-detects the most recent failed step if no timeline ID is given.')
|
|
90
|
+
.option('--timeline-id <id>', 'Specific timeline ID to retry')
|
|
91
|
+
.option('--no-cache', 'Bypass cache when retrying')
|
|
92
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
93
|
+
.action(async (workflowId, executionId, opts) => {
|
|
94
|
+
try {
|
|
95
|
+
const client = new AgentledClient();
|
|
96
|
+
const result = await client.retryExecution(workflowId, executionId, {
|
|
97
|
+
timelineId: opts.timelineId,
|
|
98
|
+
forceWithoutCache: opts.cache === false,
|
|
99
|
+
});
|
|
100
|
+
printOutput(result, opts.format);
|
|
101
|
+
}
|
|
102
|
+
catch (e) {
|
|
103
|
+
printError(e.message);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
// --- Timelines ---
|
|
107
|
+
executions
|
|
108
|
+
.command('timelines <workflowId> <executionId>')
|
|
109
|
+
.description('List step execution records (timelines) for an execution')
|
|
110
|
+
.option('--limit <n>', 'Max results', parseInt)
|
|
111
|
+
.option('--direction <dir>', 'Sort direction: asc, desc')
|
|
112
|
+
.option('--next-token <token>', 'Pagination cursor')
|
|
113
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
114
|
+
.action(async (workflowId, executionId, opts) => {
|
|
115
|
+
try {
|
|
116
|
+
const client = new AgentledClient();
|
|
117
|
+
const result = await client.listTimelines(workflowId, executionId, {
|
|
118
|
+
limit: opts.limit,
|
|
119
|
+
direction: opts.direction,
|
|
120
|
+
nextToken: opts.nextToken,
|
|
121
|
+
});
|
|
122
|
+
printOutput(result, opts.format);
|
|
123
|
+
}
|
|
124
|
+
catch (e) {
|
|
125
|
+
printError(e.message);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
executions
|
|
129
|
+
.command('timeline <workflowId> <executionId> <timelineId>')
|
|
130
|
+
.description('Get a single timeline (step execution record) by ID')
|
|
131
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
132
|
+
.action(async (workflowId, executionId, timelineId, opts) => {
|
|
133
|
+
try {
|
|
134
|
+
const client = new AgentledClient();
|
|
135
|
+
const result = await client.getTimeline(workflowId, executionId, timelineId);
|
|
136
|
+
printOutput(result, opts.format);
|
|
137
|
+
}
|
|
138
|
+
catch (e) {
|
|
139
|
+
printError(e.message);
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=executions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executions.js","sourceRoot":"","sources":["../../src/commands/executions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { AgentledClient } from '../client.js';
|
|
2
|
+
import { printOutput, printError } from '../utils/output.js';
|
|
3
|
+
export function registerKnowledgeCommands(program) {
|
|
4
|
+
const knowledge = program
|
|
5
|
+
.command('knowledge')
|
|
6
|
+
.alias('kg')
|
|
7
|
+
.description('Access workspace knowledge base and knowledge graph');
|
|
8
|
+
// --- Knowledge Data (DynamoDB lists & text) ---
|
|
9
|
+
knowledge
|
|
10
|
+
.command('lists')
|
|
11
|
+
.description('List all knowledge lists in the workspace')
|
|
12
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
13
|
+
.action(async (opts) => {
|
|
14
|
+
try {
|
|
15
|
+
const client = new AgentledClient();
|
|
16
|
+
const result = await client.listKnowledgeLists();
|
|
17
|
+
printOutput(result, opts.format);
|
|
18
|
+
}
|
|
19
|
+
catch (e) {
|
|
20
|
+
printError(e.message);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
knowledge
|
|
24
|
+
.command('rows <listKey>')
|
|
25
|
+
.description('Get rows from a knowledge list')
|
|
26
|
+
.option('--limit <n>', 'Max rows to return', parseInt)
|
|
27
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
28
|
+
.action(async (listKey, opts) => {
|
|
29
|
+
try {
|
|
30
|
+
const client = new AgentledClient();
|
|
31
|
+
const result = await client.getKnowledgeRows(listKey, opts.limit);
|
|
32
|
+
printOutput(result, opts.format);
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
printError(e.message);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
knowledge
|
|
39
|
+
.command('text <key>')
|
|
40
|
+
.description('Get a knowledge text entry')
|
|
41
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
42
|
+
.action(async (key, opts) => {
|
|
43
|
+
try {
|
|
44
|
+
const client = new AgentledClient();
|
|
45
|
+
const result = await client.getKnowledgeText(key);
|
|
46
|
+
printOutput(result, opts.format);
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
printError(e.message);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
// --- Knowledge Graph (Graphiti) ---
|
|
53
|
+
const graph = knowledge
|
|
54
|
+
.command('graph')
|
|
55
|
+
.description('Query the Knowledge Graph (entities, edges, scoring)');
|
|
56
|
+
graph
|
|
57
|
+
.command('edges')
|
|
58
|
+
.description('Traverse Knowledge Graph edges by entity name and/or relationship type')
|
|
59
|
+
.option('--entity <name>', 'Filter by entity name')
|
|
60
|
+
.option('--relation <type>', 'Filter by relationship type (e.g. INVESTED_IN, CO_INVESTED_WITH, SCORED)')
|
|
61
|
+
.option('--limit <n>', 'Max edges to return (default 100, max 500)', parseInt)
|
|
62
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
63
|
+
.action(async (opts) => {
|
|
64
|
+
try {
|
|
65
|
+
const client = new AgentledClient();
|
|
66
|
+
const result = await client.traverseEdges({
|
|
67
|
+
entityName: opts.entity,
|
|
68
|
+
relationshipType: opts.relation,
|
|
69
|
+
limit: opts.limit,
|
|
70
|
+
});
|
|
71
|
+
printOutput(result, opts.format);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
printError(e.message);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
graph
|
|
78
|
+
.command('scoring')
|
|
79
|
+
.description('Fetch scoring history from the Knowledge Graph')
|
|
80
|
+
.option('--entity <name>', 'Filter by entity name')
|
|
81
|
+
.option('--limit <n>', 'Max records to return', parseInt)
|
|
82
|
+
.option('--format <fmt>', 'Output format', 'json')
|
|
83
|
+
.action(async (opts) => {
|
|
84
|
+
try {
|
|
85
|
+
const client = new AgentledClient();
|
|
86
|
+
const result = await client.getScoringHistory({
|
|
87
|
+
entityName: opts.entity,
|
|
88
|
+
limit: opts.limit,
|
|
89
|
+
});
|
|
90
|
+
printOutput(result, opts.format);
|
|
91
|
+
}
|
|
92
|
+
catch (e) {
|
|
93
|
+
printError(e.message);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=knowledge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/commands/knowledge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Onboarding — interactive prompts for first-time workspace setup.
|
|
3
|
+
*
|
|
4
|
+
* Collects company info and calls PATCH /api/external/workspace/profile.
|
|
5
|
+
*/
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
/**
|
|
8
|
+
* Run the onboarding flow after first login.
|
|
9
|
+
* Uses the API key that was just saved to config.
|
|
10
|
+
*/
|
|
11
|
+
export declare function runOnboarding(): Promise<void>;
|
|
12
|
+
export declare function registerOnboardingCommands(program: Command): void;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Onboarding — interactive prompts for first-time workspace setup.
|
|
3
|
+
*
|
|
4
|
+
* Collects company info and calls PATCH /api/external/workspace/profile.
|
|
5
|
+
*/
|
|
6
|
+
import { AgentledClient } from '../client.js';
|
|
7
|
+
import * as readline from 'node:readline';
|
|
8
|
+
function prompt(question) {
|
|
9
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stderr });
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
rl.question(question, (answer) => {
|
|
12
|
+
rl.close();
|
|
13
|
+
resolve(answer.trim());
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function promptSelect(question, options) {
|
|
18
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stderr });
|
|
19
|
+
return new Promise((resolve) => {
|
|
20
|
+
console.error(question);
|
|
21
|
+
options.forEach((opt, i) => console.error(` ${i + 1}. ${opt}`));
|
|
22
|
+
rl.question(` Choice [1-${options.length}]: `, (answer) => {
|
|
23
|
+
rl.close();
|
|
24
|
+
const idx = parseInt(answer.trim(), 10) - 1;
|
|
25
|
+
if (idx >= 0 && idx < options.length) {
|
|
26
|
+
resolve(options[idx]);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
resolve(options[options.length - 1]); // default to last (Other)
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const USE_CASES = [
|
|
35
|
+
'Lead enrichment & outreach',
|
|
36
|
+
'Market research & competitive analysis',
|
|
37
|
+
'Data pipelines & automation',
|
|
38
|
+
'Other',
|
|
39
|
+
];
|
|
40
|
+
/**
|
|
41
|
+
* Run the onboarding flow after first login.
|
|
42
|
+
* Uses the API key that was just saved to config.
|
|
43
|
+
*/
|
|
44
|
+
export async function runOnboarding() {
|
|
45
|
+
console.error('\n Welcome! Let\'s finish setting up your workspace.\n');
|
|
46
|
+
const companyName = await prompt(' ? Company name: ');
|
|
47
|
+
const website = await prompt(' ? Company website (optional): ');
|
|
48
|
+
const useCase = await promptSelect(' ? Primary use case:', USE_CASES);
|
|
49
|
+
// Build profile payload
|
|
50
|
+
const company = {};
|
|
51
|
+
if (companyName)
|
|
52
|
+
company.name = companyName;
|
|
53
|
+
if (website)
|
|
54
|
+
company.urls = [website];
|
|
55
|
+
if (useCase && useCase !== 'Other') {
|
|
56
|
+
company.additionalInformation = `Primary use case: ${useCase}`;
|
|
57
|
+
}
|
|
58
|
+
if (Object.keys(company).length === 0) {
|
|
59
|
+
console.error('\n Skipped — no company info provided.');
|
|
60
|
+
console.error(' You can set this up later with "agentled setup".\n');
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const client = new AgentledClient();
|
|
65
|
+
await client.updateWorkspaceCompanyProfile(company);
|
|
66
|
+
console.error('\n Workspace configured! ✓\n');
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
console.error(`\n Warning: Could not save workspace profile (${err.message}).`);
|
|
70
|
+
console.error(' You can configure it later with "agentled setup".\n');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export function registerOnboardingCommands(program) {
|
|
74
|
+
program
|
|
75
|
+
.command('setup')
|
|
76
|
+
.description('Set up workspace profile (company name, website, use case)')
|
|
77
|
+
.action(async () => {
|
|
78
|
+
const client = new AgentledClient();
|
|
79
|
+
if (!client.isAuthenticated) {
|
|
80
|
+
console.error('Not authenticated. Run "agentled auth login" first.');
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
83
|
+
await runOnboarding();
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=onboarding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/commands/onboarding.ts"],"names":[],"mappings":"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"}
|