@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,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,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerExecutionCommands(program: Command): void;
@@ -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,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerKnowledgeCommands(program: Command): void;
@@ -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":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAgB,MAAM,oBAAoB,CAAC;AAE3E,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACtD,MAAM,SAAS,GAAG,OAAO;SACpB,OAAO,CAAC,WAAW,CAAC;SACpB,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,qDAAqD,CAAC,CAAC;IAExE,iDAAiD;IAEjD,SAAS;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,gBAAgB,EAAE,eAAe,EAAE,MAAM,CAAC;SACjD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACnB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjD,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAsB,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,CAAC,CAAC;IAEP,SAAS;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,aAAa,EAAE,oBAAoB,EAAE,QAAQ,CAAC;SACrD,MAAM,CAAC,gBAAgB,EAAE,eAAe,EAAE,MAAM,CAAC;SACjD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC5B,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAClE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAsB,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,CAAC,CAAC;IAEP,SAAS;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,gBAAgB,EAAE,eAAe,EAAE,MAAM,CAAC;SACjD,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAClD,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAsB,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,CAAC,CAAC;IAEP,qCAAqC;IAErC,MAAM,KAAK,GAAG,SAAS;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,sDAAsD,CAAC,CAAC;IAEzE,KAAK;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,wEAAwE,CAAC;SACrF,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;SAClD,MAAM,CAAC,mBAAmB,EAAE,0EAA0E,CAAC;SACvG,MAAM,CAAC,aAAa,EAAE,4CAA4C,EAAE,QAAQ,CAAC;SAC7E,MAAM,CAAC,gBAAgB,EAAE,eAAe,EAAE,MAAM,CAAC;SACjD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACnB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;gBACtC,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,gBAAgB,EAAE,IAAI,CAAC,QAAQ;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB,CAAC,CAAC;YACH,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAsB,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,CAAC,CAAC;IAEP,KAAK;SACA,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;SAClD,MAAM,CAAC,aAAa,EAAE,uBAAuB,EAAE,QAAQ,CAAC;SACxD,MAAM,CAAC,gBAAgB,EAAE,eAAe,EAAE,MAAM,CAAC;SACjD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACnB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;gBAC1C,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB,CAAC,CAAC;YACH,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAsB,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerWorkflowCommands(program: Command): void;