ethos-cli 0.7.8 → 0.7.9
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/hooks.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ import { type AgentFlowHandoff } from "../lib/find-people-flow.js";
|
|
|
4
4
|
export declare function registerHooks(program: Command): void;
|
|
5
5
|
export declare function matchesEagerOpenTrigger(prompt: string): boolean;
|
|
6
6
|
export declare function eagerOpenContext(handoff: AgentFlowHandoff, clientId: AgentClientId): string;
|
|
7
|
-
export declare function
|
|
7
|
+
export declare function findBundledBrowserClientPath(codexHome?: string): string | null;
|
package/dist/commands/hooks.js
CHANGED
|
@@ -10,7 +10,7 @@ import { openInBrowser } from "../lib/open-browser.js";
|
|
|
10
10
|
import { printResult } from "../lib/output.js";
|
|
11
11
|
const HOOK_EVENT = "UserPromptSubmit";
|
|
12
12
|
const BROWSER_SKILL_NAME = "browser:control-in-app-browser";
|
|
13
|
-
const
|
|
13
|
+
const BROWSER_CLIENT_SUFFIX = join("scripts", "browser-client.mjs");
|
|
14
14
|
const FLOW_BY_SKILL = {
|
|
15
15
|
[FIND_PEOPLE_AT_COMPANIES_FLOW]: FIND_PEOPLE_AT_COMPANIES_FLOW,
|
|
16
16
|
[LAUNCH_GIFTING_CAMPAIGN_FLOW]: LAUNCH_GIFTING_CAMPAIGN_FLOW,
|
|
@@ -104,10 +104,10 @@ export function eagerOpenContext(handoff, clientId) {
|
|
|
104
104
|
].join("\n");
|
|
105
105
|
if (clientId !== "codex")
|
|
106
106
|
return baseContext;
|
|
107
|
-
const
|
|
108
|
-
if (!
|
|
107
|
+
const browserBootstrapContext = compactCodexBrowserUploadContext(handoff.upload_url);
|
|
108
|
+
if (!browserBootstrapContext)
|
|
109
109
|
return baseContext;
|
|
110
|
-
return `${baseContext}\n\n${
|
|
110
|
+
return `${baseContext}\n\n${browserBootstrapContext}`;
|
|
111
111
|
}
|
|
112
112
|
function eagerOpenFailureContext(flow, error) {
|
|
113
113
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -120,29 +120,28 @@ function eagerOpenFailureContext(flow, error) {
|
|
|
120
120
|
return (`Ethos ${flow}: the eager handoff hook could not create an upload flow (${message}). ` +
|
|
121
121
|
`Continue with the skill fallback; if auth is missing, run \`ethos auth login --agent-client auto\` before \`${fallback}\`.`);
|
|
122
122
|
}
|
|
123
|
-
function
|
|
124
|
-
const
|
|
125
|
-
if (!
|
|
123
|
+
function compactCodexBrowserUploadContext(uploadUrl) {
|
|
124
|
+
const browserClientPath = findBundledBrowserClientPath();
|
|
125
|
+
if (!browserClientPath)
|
|
126
126
|
return null;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
127
|
+
return [
|
|
128
|
+
`Compact Codex in-app Browser bootstrap for this Ethos upload handoff.`,
|
|
129
|
+
`Happy path: open upload_url in a fresh in-app Browser tab, make it visible, then stop browser work. Do not look for or reuse an existing Ethos tab.`,
|
|
130
|
+
`Do NOT load or read ${BROWSER_SKILL_NAME} for this happy path. Load it only if this bootstrap fails, navigation/auth/CAPTCHA/permissions require more browser guidance, or the user asks for browser interaction beyond opening the upload page.`,
|
|
131
|
+
`If the Node REPL js tool is unavailable, use tool discovery for "node_repl js". Do not call js_reset or js_add_node_module_dir while trying to expose js.`,
|
|
132
|
+
`Run this through node_repl js:`,
|
|
133
|
+
"```js",
|
|
134
|
+
`const { setupBrowserRuntime } = await import(${JSON.stringify(browserClientPath)});`,
|
|
135
|
+
`await setupBrowserRuntime({ globals: globalThis });`,
|
|
136
|
+
`globalThis.browser = await agent.browsers.get("iab");`,
|
|
137
|
+
`const tab = await browser.tabs.new();`,
|
|
138
|
+
`await tab.goto(${JSON.stringify(uploadUrl)});`,
|
|
139
|
+
`await (await browser.capabilities.get("visibility")).set(true);`,
|
|
140
|
+
"```",
|
|
141
|
+
`Do not click Import CSV, submit forms, upload files, or transmit data unless the user explicitly asks.`,
|
|
142
|
+
].join("\n");
|
|
144
143
|
}
|
|
145
|
-
export function
|
|
144
|
+
export function findBundledBrowserClientPath(codexHome = process.env.CODEX_HOME || join(homedir(), ".codex")) {
|
|
146
145
|
const browserCacheRoot = join(codexHome, "plugins", "cache", "openai-bundled", "browser");
|
|
147
146
|
let entries;
|
|
148
147
|
try {
|
|
@@ -157,7 +156,7 @@ export function findBundledBrowserSkillPath(codexHome = process.env.CODEX_HOME |
|
|
|
157
156
|
.sort(compareVersionish)
|
|
158
157
|
.reverse();
|
|
159
158
|
for (const versionDir of candidateDirs) {
|
|
160
|
-
const candidate = join(browserCacheRoot, versionDir,
|
|
159
|
+
const candidate = join(browserCacheRoot, versionDir, BROWSER_CLIENT_SUFFIX);
|
|
161
160
|
if (existsSync(candidate))
|
|
162
161
|
return candidate;
|
|
163
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAGL,6BAA6B,EAC7B,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAyB,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,GAAG,kBAAkB,CAAC;AACtC,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAC5D,MAAM,
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -27,7 +27,7 @@ surface a clear error when login is needed.
|
|
|
27
27
|
|
|
28
28
|
Keep CSV upload in the browser-based Ethos product flow:
|
|
29
29
|
|
|
30
|
-
1. Use the hook-created upload flow first. If the context contains `
|
|
30
|
+
1. Use the hook-created upload flow first. If the context contains `ETHOS_FIND_PEOPLE_AT_COMPANIES_HANDOFF_READY`, that is the injected Ethos handoff for this request. REUSE its `handoff_token` and `upload_url`; do NOT run `ethos flows start`, even if the user also provided a local CLI path. On Codex, immediately open `upload_url` in the in-app Browser. On Claude Code and other shell clients, the hook already opened the OS browser.
|
|
31
31
|
2. If the hook injected an auth failure, do NOT try `ethos flows start` first. Run `ethos auth login --agent-client auto`, then use the `flows start` fallback for this turn.
|
|
32
32
|
3. Only if no hook handoff was injected, run the `flows start` fallback and save `handoff_token` and `upload_url`. Add `--open` only on shell clients (Claude Code, Cursor) to open the OS browser; on Codex do NOT pass `--open`.
|
|
33
33
|
4. Immediately ask the user for ICP, buying signals, person targets, and max contacts while they upload.
|
|
@@ -55,7 +55,7 @@ Do not ask for API tokens unless the user explicitly wants a non-browser setup.
|
|
|
55
55
|
## Start Upload Flow
|
|
56
56
|
|
|
57
57
|
**Use the hook handoff first.** A `UserPromptSubmit` hook may have already
|
|
58
|
-
started the flow and injected an `
|
|
58
|
+
started the flow and injected an `ETHOS_FIND_PEOPLE_AT_COMPANIES_HANDOFF_READY` block with a
|
|
59
59
|
`handoff_token` plus `upload_url`.
|
|
60
60
|
|
|
61
61
|
- On Codex, the hook cannot open the in-app Browser itself. Open the injected
|
|
@@ -63,13 +63,13 @@ started the flow and injected an `ETHOS_FIND_PEOPLE_HANDOFF_READY` block with a
|
|
|
63
63
|
- On Claude Code, Cursor, or another shell client, the hook may have already
|
|
64
64
|
opened the OS browser. Reuse the injected `handoff_token`, then ask the brief.
|
|
65
65
|
|
|
66
|
-
If you see `
|
|
66
|
+
If you see `ETHOS_FIND_PEOPLE_AT_COMPANIES_HANDOFF_READY`, do NOT claim that no hook handoff
|
|
67
67
|
was injected, and do NOT run `ethos flows start` again. Save the injected
|
|
68
68
|
`handoff_token`, `upload_url`, `agent_client`, `org_id`, and `org_name`; later
|
|
69
69
|
run `ethos flows wait <handoff_token>`. Do not mention hooks, injected context,
|
|
70
70
|
handoff tokens, or hook handoffs in user-facing messages.
|
|
71
71
|
|
|
72
|
-
If the user provides a local CLI path and `
|
|
72
|
+
If the user provides a local CLI path and `ETHOS_FIND_PEOPLE_AT_COMPANIES_HANDOFF_READY` is
|
|
73
73
|
also present, the hook has already prepared the local handoff. Use the injected
|
|
74
74
|
URL; do not run the local CLI path until `flows wait`.
|
|
75
75
|
|