ethos-cli 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/auth.js +1 -12
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/flows.js +83 -2
- package/dist/commands/flows.js.map +1 -1
- package/dist/lib/open-browser.d.ts +5 -0
- package/dist/lib/open-browser.js +21 -0
- package/dist/lib/open-browser.js.map +1 -0
- package/package.json +1 -1
- package/skills/find-people-at-companies.md +60 -51
package/dist/commands/auth.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { spawn } from "node:child_process";
|
|
2
1
|
import { randomUUID } from "node:crypto";
|
|
3
2
|
import { createServer } from "node:http";
|
|
4
3
|
import { hostname } from "node:os";
|
|
5
4
|
import { authConfigPath, clearStoredAuth, readStoredAuth, writeStoredAuth } from "../lib/auth-store.js";
|
|
6
5
|
import { defaultAgentReturnUrl, inferAppUrl, resolveAgentClientId } from "../lib/agent-clients.js";
|
|
7
6
|
import { isJsonMode, resolveApiUrl } from "../lib/config.js";
|
|
7
|
+
import { openInBrowser } from "../lib/open-browser.js";
|
|
8
8
|
import { printResult } from "../lib/output.js";
|
|
9
9
|
export function registerAuth(program) {
|
|
10
10
|
const auth = program.command("auth").description("Authenticate the Ethos CLI");
|
|
@@ -189,17 +189,6 @@ function parseTimeout(value) {
|
|
|
189
189
|
throw new Error("--timeout must be a positive number of seconds.");
|
|
190
190
|
return Math.min(parsed, 600);
|
|
191
191
|
}
|
|
192
|
-
function openInBrowser(url) {
|
|
193
|
-
const command = process.platform === "darwin" ? "open" : process.platform === "win32" ? "cmd" : "xdg-open";
|
|
194
|
-
const args = process.platform === "win32" ? ["/c", "start", "", url] : [url];
|
|
195
|
-
try {
|
|
196
|
-
const child = spawn(command, args, { detached: true, stdio: "ignore" });
|
|
197
|
-
child.unref();
|
|
198
|
-
}
|
|
199
|
-
catch {
|
|
200
|
-
// The approval URL was already printed.
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
192
|
async function createLocalAuthCallback(timeoutSeconds) {
|
|
204
193
|
const state = randomUUID();
|
|
205
194
|
let settled = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/flows.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { withClient } from "../lib/command-helpers.js";
|
|
1
|
+
import { jsonRequest, withClient } from "../lib/command-helpers.js";
|
|
2
2
|
import { FIND_PEOPLE_AT_COMPANIES_FLOW, buildFindPeopleFlowStart, inferAppUrl, } from "../lib/agent-clients.js";
|
|
3
|
+
import { EthosApiError } from "../lib/client.js";
|
|
4
|
+
import { openInBrowser } from "../lib/open-browser.js";
|
|
3
5
|
import { printResult } from "../lib/output.js";
|
|
4
6
|
export function registerFlows(program) {
|
|
5
7
|
const flows = program
|
|
@@ -12,7 +14,8 @@ export function registerFlows(program) {
|
|
|
12
14
|
.option("--agent-surface <surface>", "agent surface metadata: code, chat, or cowork", "code")
|
|
13
15
|
.option("--app-url <url>", "Ethos web app URL")
|
|
14
16
|
.option("--codex-thread-id <id>", "Codex thread UUID for Codex return links")
|
|
15
|
-
.option("--return-url <url>", "explicit deep link to use when returning to the agent client")
|
|
17
|
+
.option("--return-url <url>", "explicit deep link to use when returning to the agent client")
|
|
18
|
+
.option("--open", "open the upload URL in the default browser after creating the handoff");
|
|
16
19
|
startCommand.action(async (flow) => {
|
|
17
20
|
if (flow !== FIND_PEOPLE_AT_COMPANIES_FLOW) {
|
|
18
21
|
throw new Error(`Unsupported flow "${flow}". Supported flow: ${FIND_PEOPLE_AT_COMPANIES_FLOW}.`);
|
|
@@ -44,12 +47,90 @@ export function registerFlows(program) {
|
|
|
44
47
|
...flowStart,
|
|
45
48
|
org_id: handoff.org_id,
|
|
46
49
|
org_name: handoff.org_name,
|
|
50
|
+
handoff_token: handoff.handoff_token,
|
|
47
51
|
upload_url: handoff.handoff_url,
|
|
48
52
|
handoff_url: handoff.handoff_url,
|
|
49
53
|
destination_url: handoff.destination_url,
|
|
50
54
|
destination_path: handoff.destination_path,
|
|
51
55
|
});
|
|
56
|
+
if (options.open)
|
|
57
|
+
openInBrowser(handoff.handoff_url);
|
|
52
58
|
});
|
|
53
59
|
});
|
|
60
|
+
const waitCommand = flows
|
|
61
|
+
.command("wait <handoff-token>")
|
|
62
|
+
.description("Poll a handoff until the browser CSV upload completes, then return the uploaded table id")
|
|
63
|
+
.option("--timeout <seconds>", "seconds to wait for the upload to complete", "300")
|
|
64
|
+
.option("--poll-interval <seconds>", "seconds between status checks", "2");
|
|
65
|
+
waitCommand.action(async (handoffToken) => {
|
|
66
|
+
await withClient(waitCommand, async (client, config) => {
|
|
67
|
+
const options = waitCommand.opts();
|
|
68
|
+
const timeoutSeconds = parseWaitSeconds(options.timeout, "--timeout", 1800);
|
|
69
|
+
const pollIntervalMs = parseWaitSeconds(options.pollInterval, "--poll-interval", 60) * 1000;
|
|
70
|
+
const deadline = Date.now() + timeoutSeconds * 1000;
|
|
71
|
+
for (;;) {
|
|
72
|
+
let handoff;
|
|
73
|
+
try {
|
|
74
|
+
const requestTimeoutMs = Math.min(STATUS_REQUEST_TIMEOUT_MS, Math.max(1000, deadline - Date.now()));
|
|
75
|
+
handoff = await fetchHandoffStatus(client, handoffToken, requestTimeoutMs);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
// A single stalled status request is aborted so it cannot block the
|
|
79
|
+
// overall --timeout; fall through to the deadline check and retry.
|
|
80
|
+
if (!isAbortError(error))
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
if (handoff?.result_table_id) {
|
|
84
|
+
printResult(config, {
|
|
85
|
+
label: `Upload complete; table ${handoff.result_table_id}`,
|
|
86
|
+
data: {
|
|
87
|
+
...handoff,
|
|
88
|
+
handoff_token: handoffToken,
|
|
89
|
+
table_id: handoff.result_table_id,
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (Date.now() >= deadline) {
|
|
95
|
+
throw new Error(`Timed out after ${timeoutSeconds}s waiting for the CSV upload to complete. ` +
|
|
96
|
+
`Confirm the user finished uploading, then re-run \`ethos flows wait ${handoffToken}\`.`);
|
|
97
|
+
}
|
|
98
|
+
await delay(pollIntervalMs);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
const STATUS_REQUEST_TIMEOUT_MS = 15_000;
|
|
104
|
+
async function fetchHandoffStatus(client, handoffToken, requestTimeoutMs) {
|
|
105
|
+
const controller = new AbortController();
|
|
106
|
+
const timer = setTimeout(() => controller.abort(), requestTimeoutMs);
|
|
107
|
+
try {
|
|
108
|
+
return await client.request("/v1/auth/browser-handoffs/status", {
|
|
109
|
+
...jsonRequest("POST", { handoff_token: handoffToken }),
|
|
110
|
+
signal: controller.signal,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
if (error instanceof EthosApiError && error.status === 404) {
|
|
115
|
+
throw new EthosApiError("This upload flow expired before the CSV upload completed. Re-run `ethos flows start find-people-at-companies` to start a new one.", error.status, error.body);
|
|
116
|
+
}
|
|
117
|
+
throw error;
|
|
118
|
+
}
|
|
119
|
+
finally {
|
|
120
|
+
clearTimeout(timer);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function isAbortError(error) {
|
|
124
|
+
return Boolean(error && typeof error === "object" && "name" in error && error.name === "AbortError");
|
|
125
|
+
}
|
|
126
|
+
function parseWaitSeconds(value, name, max) {
|
|
127
|
+
const parsed = Number.parseInt(value || "", 10);
|
|
128
|
+
if (!Number.isFinite(parsed) || parsed < 1) {
|
|
129
|
+
throw new Error(`${name} must be a positive number of seconds.`);
|
|
130
|
+
}
|
|
131
|
+
return Math.min(parsed, max);
|
|
132
|
+
}
|
|
133
|
+
function delay(ms) {
|
|
134
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
54
135
|
}
|
|
55
136
|
//# sourceMappingURL=flows.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows.js","sourceRoot":"","sources":["../../src/commands/flows.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"flows.js","sourceRoot":"","sources":["../../src/commands/flows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
/**
|
|
3
|
+
* Open a URL in the user's default browser without blocking the CLI.
|
|
4
|
+
* Failures are swallowed because callers always print the URL as a fallback.
|
|
5
|
+
*/
|
|
6
|
+
export function openInBrowser(url) {
|
|
7
|
+
const command = process.platform === "darwin" ? "open" : process.platform === "win32" ? "cmd" : "xdg-open";
|
|
8
|
+
const args = process.platform === "win32" ? ["/c", "start", "", url] : [url];
|
|
9
|
+
try {
|
|
10
|
+
const child = spawn(command, args, { detached: true, stdio: "ignore" });
|
|
11
|
+
// A missing opener (e.g. headless Linux without xdg-open) surfaces as an
|
|
12
|
+
// async error event; swallow it so it cannot crash the CLI. The printed
|
|
13
|
+
// URL remains the fallback.
|
|
14
|
+
child.once("error", () => { });
|
|
15
|
+
child.unref();
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
// The URL was already printed, so the user can open it manually.
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=open-browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-browser.js","sourceRoot":"","sources":["../../src/lib/open-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3G,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,4BAA4B;QAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9B,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -11,10 +11,11 @@ pass `--api-url` for local development or an explicitly requested environment.
|
|
|
11
11
|
|
|
12
12
|
## Required CLI
|
|
13
13
|
|
|
14
|
-
The Ethos CLI (`ethos`) is required. The first command in this skill
|
|
14
|
+
The Ethos CLI (`ethos`) is required. The first command in this skill opens the
|
|
15
|
+
upload browser straight away:
|
|
15
16
|
|
|
16
17
|
```sh
|
|
17
|
-
ethos
|
|
18
|
+
ethos flows start find-people-at-companies --agent-client auto --open --json
|
|
18
19
|
```
|
|
19
20
|
|
|
20
21
|
If that command fails because `ethos` is not installed or not available on
|
|
@@ -24,16 +25,20 @@ If that command fails because `ethos` is not installed or not available on
|
|
|
24
25
|
npm install -g ethos-cli@latest --prefer-online
|
|
25
26
|
```
|
|
26
27
|
|
|
28
|
+
If it fails because the CLI is not authenticated, run
|
|
29
|
+
`ethos auth login --agent-client auto`, then re-run the `flows start` command.
|
|
30
|
+
Do not run a separate `ethos auth status` first; `flows start` already requires
|
|
31
|
+
auth and surfaces a clear error when login is needed.
|
|
32
|
+
|
|
27
33
|
## Flow
|
|
28
34
|
|
|
29
35
|
Keep CSV upload in the browser-based Ethos product flow:
|
|
30
36
|
|
|
31
|
-
1.
|
|
32
|
-
2.
|
|
33
|
-
3.
|
|
34
|
-
4.
|
|
35
|
-
5.
|
|
36
|
-
6. Run the column for the FIRST 3 ROWS ONLY. Tell the user you're running for 3 rows to see if the results are good. If yes, the next step is to run on the whole table. If not, refine the agent based on their feedback so it finds the right people.
|
|
37
|
+
1. Start the flow and open the upload browser in one command (`ethos flows start … --open`). Save the `handoff_token` from the response.
|
|
38
|
+
2. Immediately ask the user for ICP, buying signals, person targets, and max contacts while they upload.
|
|
39
|
+
3. Capture the uploaded table id automatically with `ethos flows wait "$HANDOFF_TOKEN" --json`. Do not ask the user to paste the table URL unless `flows wait` cannot recover.
|
|
40
|
+
4. Once the brief is ready, inspect the table, create the `people_sourcing` agent, and create the agent-client-created column with the CLI.
|
|
41
|
+
5. Run the column for the FIRST 3 ROWS ONLY. Tell the user you're running for 3 rows to see if the results are good. If yes, the next step is to run on the whole table. If not, refine the agent based on their feedback so it finds the right people.
|
|
37
42
|
|
|
38
43
|
Do not run `ethos tables import-csv` for this skill unless the user explicitly
|
|
39
44
|
asks for a CLI-only/non-browser fallback. The browser upload is part of the
|
|
@@ -41,31 +46,29 @@ product flow and must not be replaced by CLI import.
|
|
|
41
46
|
|
|
42
47
|
## Authenticate
|
|
43
48
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
ethos auth status --json
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
If unauthenticated, run:
|
|
49
|
+
Authentication is handled implicitly by `flows start`; do not run a separate
|
|
50
|
+
`ethos auth status` pre-check. Only if `flows start` reports that the CLI is not
|
|
51
|
+
authenticated, run:
|
|
51
52
|
|
|
52
53
|
```sh
|
|
53
54
|
ethos auth login --agent-client auto
|
|
54
55
|
```
|
|
55
56
|
|
|
56
|
-
|
|
57
|
-
the user explicitly wants a non-browser
|
|
57
|
+
then re-run the `flows start` command. The browser claim flow handles production
|
|
58
|
+
auth. Do not ask for API tokens unless the user explicitly wants a non-browser
|
|
59
|
+
setup.
|
|
58
60
|
|
|
59
61
|
## Start Upload Flow
|
|
60
62
|
|
|
61
|
-
Start the browser handoff flow through the CLI abstraction instead of constructing client-specific URLs:
|
|
63
|
+
Start the browser handoff flow through the CLI abstraction instead of constructing client-specific URLs. Pass `--open` so the CLI opens the upload browser itself:
|
|
62
64
|
|
|
63
65
|
```sh
|
|
64
|
-
ethos flows start find-people-at-companies --agent-client auto --json
|
|
66
|
+
ethos flows start find-people-at-companies --agent-client auto --open --json
|
|
65
67
|
```
|
|
66
68
|
|
|
67
69
|
Save these fields from `response`:
|
|
68
70
|
|
|
71
|
+
- `handoff_token` (needed for `ethos flows wait`)
|
|
69
72
|
- `upload_url`
|
|
70
73
|
- `agent_client`
|
|
71
74
|
- `agent_client_label`
|
|
@@ -73,7 +76,8 @@ Save these fields from `response`:
|
|
|
73
76
|
- `next_prompt`
|
|
74
77
|
|
|
75
78
|
The `upload_url` is a handoff URL that verifies the browser session and
|
|
76
|
-
workspace before redirecting to the CSV upload modal.
|
|
79
|
+
workspace before redirecting to the CSV upload modal. With `--open`, the CLI
|
|
80
|
+
already launched it in the default browser.
|
|
77
81
|
|
|
78
82
|
If the detected client is wrong, rerun the same command with an explicit client,
|
|
79
83
|
such as `--agent-client codex` or `--agent-client claude-desktop`.
|
|
@@ -83,50 +87,55 @@ session.
|
|
|
83
87
|
|
|
84
88
|
## Open Browser Upload
|
|
85
89
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
view in that Codex browser surface. The upload URL already opens the CSV
|
|
90
|
-
upload modal, so do not click `Import CSV` or take any other browser action
|
|
91
|
-
after navigating unless the user asks for help.
|
|
92
|
-
- In Claude Code, Cursor, or another non-Codex shell-based client, use the
|
|
93
|
-
OS/browser shell opener first:
|
|
90
|
+
With `--open`, the CLI already launched `response.upload_url` in the default
|
|
91
|
+
browser and the CSV upload modal opens directly. You usually do not open
|
|
92
|
+
anything yourself. Handle the exceptions per client:
|
|
94
93
|
|
|
95
|
-
|
|
96
|
-
open
|
|
97
|
-
|
|
94
|
+
- In Codex, the in-app Browser is the right surface. If `--open` did not surface
|
|
95
|
+
the page there, open `response.upload_url` in the Codex Browser. Do not click
|
|
96
|
+
`Import CSV` or take other browser actions after navigating unless the user
|
|
97
|
+
asks for help.
|
|
98
|
+
- In Claude Code, Cursor, or another shell-based client, `--open` uses the OS
|
|
99
|
+
opener. If it failed (for example, no desktop session), run `open "$UPLOAD_URL"`
|
|
100
|
+
yourself, and only fall back to MCP browser tools, Chrome connectors, or in-app
|
|
101
|
+
browser plugins if that also fails. If every option fails, show the URL and ask
|
|
102
|
+
the user to open it.
|
|
98
103
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
`open "$UPLOAD_URL"` fails or is unavailable in the current environment. If
|
|
102
|
-
all browser-opening options fail, show the URL to the user and ask them to
|
|
103
|
-
open it.
|
|
104
|
-
|
|
105
|
-
After navigating to the upload URL, immediately ask `response.next_prompt`. If
|
|
106
|
-
the flow response is not available for some reason, ask:
|
|
104
|
+
Right after the browser opens, immediately ask `response.next_prompt`. If the
|
|
105
|
+
flow response is not available for some reason, ask:
|
|
107
106
|
|
|
108
107
|
```text
|
|
109
108
|
Please describe your ICP, any signals that would make them a good fit for your product or service, and where that data may live. You can keep typing while the CSV uploads.
|
|
110
109
|
```
|
|
111
110
|
|
|
112
|
-
|
|
113
|
-
uploads and answers. The upload-completion indicator is this URL shape:
|
|
111
|
+
## Capture The Uploaded Table
|
|
114
112
|
|
|
115
|
-
|
|
116
|
-
|
|
113
|
+
When the user uploads the CSV, Ethos links the new table to this flow. Get the
|
|
114
|
+
table id by waiting on the handoff instead of asking for a pasted URL:
|
|
115
|
+
|
|
116
|
+
```sh
|
|
117
|
+
ethos flows wait "$HANDOFF_TOKEN" --json
|
|
117
118
|
```
|
|
118
119
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
120
|
+
This blocks until the upload completes (up to `--timeout`, default 300s) and
|
|
121
|
+
returns `response.table_id` and `response.org_id`. Save both.
|
|
122
|
+
|
|
123
|
+
- Run it after you have asked for the brief — ideally once the user replies or
|
|
124
|
+
says they have uploaded — so the table is usually already there and the
|
|
125
|
+
command returns right away.
|
|
126
|
+
- If it times out because the user has not uploaded yet, just re-run the same
|
|
127
|
+
command. The upload window is about 10 minutes from `flows start`.
|
|
128
|
+
- Only fall back if `flows wait` reports the flow expired or keeps timing out:
|
|
129
|
+
if you can inspect the browser URL, the completed shape is
|
|
130
|
+
`/tables/<TABLE_ID>?agent_flow=find-people-at-companies&uploaded=1&...`;
|
|
131
|
+
otherwise ask the user to paste the uploaded table URL and extract the id.
|
|
132
|
+
|
|
133
|
+
Do not run table inspection or `source-people --help` just because the upload
|
|
134
|
+
completed; run those later while setting up the agent and table run.
|
|
126
135
|
|
|
127
136
|
## Collect The Brief
|
|
128
137
|
|
|
129
|
-
After the
|
|
138
|
+
After `flows wait` returns the table id, ask only for anything still missing:
|
|
130
139
|
|
|
131
140
|
- ICP fit criteria for companies.
|
|
132
141
|
- Buying-signal criteria to prioritize.
|