10x-chat 0.4.3 → 0.5.7
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/bin/cli.js +2 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/browser/daemon.d.ts +39 -0
- package/dist/browser/daemon.d.ts.map +1 -0
- package/dist/browser/daemon.js +114 -0
- package/dist/browser/daemon.js.map +1 -0
- package/dist/browser/index.d.ts +2 -0
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +2 -0
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/manager.d.ts.map +1 -1
- package/dist/browser/manager.js +25 -12
- package/dist/browser/manager.js.map +1 -1
- package/dist/browser/tabs.d.ts +22 -0
- package/dist/browser/tabs.d.ts.map +1 -0
- package/dist/browser/tabs.js +97 -0
- package/dist/browser/tabs.js.map +1 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +83 -42
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/login.d.ts.map +1 -1
- package/dist/cli/login.js +96 -3
- package/dist/cli/login.js.map +1 -1
- package/dist/cli/video.d.ts +3 -0
- package/dist/cli/video.d.ts.map +1 -0
- package/dist/cli/video.js +99 -0
- package/dist/cli/video.js.map +1 -0
- package/dist/core/files.d.ts +6 -0
- package/dist/core/files.d.ts.map +1 -0
- package/dist/core/files.js +39 -0
- package/dist/core/files.js.map +1 -0
- package/dist/core/images.d.ts +8 -0
- package/dist/core/images.d.ts.map +1 -0
- package/dist/core/images.js +79 -0
- package/dist/core/images.js.map +1 -0
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/orchestrator.d.ts +10 -0
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +19 -106
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/polling.d.ts +30 -0
- package/dist/core/polling.d.ts.map +1 -0
- package/dist/core/polling.js +37 -0
- package/dist/core/polling.js.map +1 -0
- package/dist/core/video-orchestrator.d.ts +22 -0
- package/dist/core/video-orchestrator.d.ts.map +1 -0
- package/dist/core/video-orchestrator.js +341 -0
- package/dist/core/video-orchestrator.js.map +1 -0
- package/dist/providers/chatgpt.d.ts.map +1 -1
- package/dist/providers/chatgpt.js +26 -39
- package/dist/providers/chatgpt.js.map +1 -1
- package/dist/providers/claude.d.ts.map +1 -1
- package/dist/providers/claude.js +24 -52
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/flow.d.ts +55 -0
- package/dist/providers/flow.d.ts.map +1 -0
- package/dist/providers/flow.js +286 -0
- package/dist/providers/flow.js.map +1 -0
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +30 -54
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/grok.d.ts.map +1 -1
- package/dist/providers/grok.js +23 -42
- package/dist/providers/grok.js.map +1 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +2 -0
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/utils.d.ts +10 -0
- package/dist/providers/utils.d.ts.map +1 -0
- package/dist/providers/utils.js +28 -0
- package/dist/providers/utils.js.map +1 -0
- package/dist/types.d.ts +24 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
package/dist/cli/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/cli/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/cli/chat.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/login.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,kBAAkB,IAAI,OAAO,CA8D5C"}
|
package/dist/cli/login.js
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
|
+
import { mkdir } from 'node:fs/promises';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
3
|
import { Command } from 'commander';
|
|
3
|
-
import {
|
|
4
|
+
import { chromium } from 'playwright';
|
|
5
|
+
import { acquireProfileLock, launchBrowser } from '../browser/index.js';
|
|
6
|
+
import { saveStorageState } from '../browser/state.js';
|
|
4
7
|
import { loadConfig } from '../config.js';
|
|
8
|
+
import { getSharedProfileDir } from '../paths.js';
|
|
5
9
|
import { getProvider, isValidProvider, listProviders } from '../providers/index.js';
|
|
6
10
|
export function createLoginCommand() {
|
|
7
11
|
const cmd = new Command('login')
|
|
8
12
|
.description('Login to an AI provider (opens browser for authentication)')
|
|
9
13
|
.argument('[provider]', 'Provider to login to (chatgpt, gemini, claude, grok)')
|
|
10
14
|
.option('--all', 'Login to all providers')
|
|
15
|
+
.option('--tabs', 'Open all providers as tabs in one browser window (use with --all)')
|
|
11
16
|
.option('--status', 'Check login status for all providers')
|
|
12
17
|
.option('--isolated-profile', 'Use per-provider browser profiles (backward compat)')
|
|
13
18
|
.action(async (providerArg, options) => {
|
|
@@ -21,8 +26,13 @@ export function createLoginCommand() {
|
|
|
21
26
|
console.log(chalk.dim('Using shared profile (all providers share one browser profile). Use --isolated-profile for per-provider.'));
|
|
22
27
|
}
|
|
23
28
|
if (options?.all) {
|
|
24
|
-
|
|
25
|
-
await
|
|
29
|
+
if (options?.tabs) {
|
|
30
|
+
await loginAllWithTabs(listProviders(), profileMode);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
for (const name of listProviders()) {
|
|
34
|
+
await loginToProvider(name, profileMode);
|
|
35
|
+
}
|
|
26
36
|
}
|
|
27
37
|
return;
|
|
28
38
|
}
|
|
@@ -72,6 +82,89 @@ async function loginToProvider(providerName, profileMode = 'shared') {
|
|
|
72
82
|
await browser.close();
|
|
73
83
|
}
|
|
74
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Open all providers as tabs in a single browser window.
|
|
87
|
+
* User can switch between tabs to login to each provider.
|
|
88
|
+
* Waits until all are logged in (or timeout), then saves and closes.
|
|
89
|
+
*/
|
|
90
|
+
async function loginAllWithTabs(providers, _profileMode = 'shared') {
|
|
91
|
+
console.log(chalk.blue(`Opening ${providers.length} providers as tabs in one browser window...`));
|
|
92
|
+
console.log(chalk.dim('Login to each tab. Window will close automatically when all are done.\n'));
|
|
93
|
+
const CHROMIUM_ARGS = [
|
|
94
|
+
'--disable-blink-features=AutomationControlled',
|
|
95
|
+
'--no-first-run',
|
|
96
|
+
'--no-default-browser-check',
|
|
97
|
+
];
|
|
98
|
+
const profileDir = getSharedProfileDir();
|
|
99
|
+
await mkdir(profileDir, { recursive: true });
|
|
100
|
+
const lock = await acquireProfileLock(profileDir);
|
|
101
|
+
const context = await chromium.launchPersistentContext(profileDir, {
|
|
102
|
+
headless: false,
|
|
103
|
+
viewport: { width: 1280, height: 900 },
|
|
104
|
+
args: CHROMIUM_ARGS,
|
|
105
|
+
});
|
|
106
|
+
try {
|
|
107
|
+
// Open first provider in the default page, rest in new tabs
|
|
108
|
+
const pages = [];
|
|
109
|
+
const firstPage = context.pages()[0] ?? (await context.newPage());
|
|
110
|
+
const [firstProvider, ...restProviders] = providers;
|
|
111
|
+
if (firstProvider) {
|
|
112
|
+
const provider = getProvider(firstProvider);
|
|
113
|
+
await firstPage.goto(provider.config.loginUrl, { waitUntil: 'domcontentloaded' });
|
|
114
|
+
pages.push({ name: firstProvider, page: firstPage });
|
|
115
|
+
}
|
|
116
|
+
for (const name of restProviders) {
|
|
117
|
+
const provider = getProvider(name);
|
|
118
|
+
const tab = await context.newPage();
|
|
119
|
+
await tab.goto(provider.config.loginUrl, { waitUntil: 'domcontentloaded' });
|
|
120
|
+
pages.push({ name, page: tab });
|
|
121
|
+
}
|
|
122
|
+
console.log(chalk.dim(`Tabs open: ${providers.map((p) => getProvider(p).config.displayName).join(', ')}`));
|
|
123
|
+
console.log(chalk.dim('Waiting for all logins... (5 min timeout)\n'));
|
|
124
|
+
const timeoutMs = 5 * 60 * 1000;
|
|
125
|
+
const startTime = Date.now();
|
|
126
|
+
const done = new Set();
|
|
127
|
+
while (Date.now() - startTime < timeoutMs && done.size < pages.length) {
|
|
128
|
+
for (const { name, page } of pages) {
|
|
129
|
+
if (done.has(name))
|
|
130
|
+
continue;
|
|
131
|
+
try {
|
|
132
|
+
const provider = getProvider(name);
|
|
133
|
+
const loggedIn = await provider.actions.isLoggedIn(page);
|
|
134
|
+
if (loggedIn) {
|
|
135
|
+
done.add(name);
|
|
136
|
+
console.log(chalk.green(`✓ Logged in to ${provider.config.displayName}`));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
// page may have navigated; skip this tick
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (done.size < pages.length) {
|
|
144
|
+
await new Promise((r) => setTimeout(r, 2000));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (done.size < pages.length) {
|
|
148
|
+
const pending = pages
|
|
149
|
+
.filter((p) => !done.has(p.name))
|
|
150
|
+
.map((p) => getProvider(p.name).config.displayName);
|
|
151
|
+
console.log(chalk.yellow(`\nTimeout — still not logged in: ${pending.join(', ')}`));
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
console.log(chalk.green('\n✓ All providers logged in! Saving session...'));
|
|
155
|
+
}
|
|
156
|
+
await saveStorageState(context);
|
|
157
|
+
}
|
|
158
|
+
finally {
|
|
159
|
+
try {
|
|
160
|
+
await context.close();
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
// ignore
|
|
164
|
+
}
|
|
165
|
+
await lock.release();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
75
168
|
async function checkLoginStatus(profileMode = 'shared') {
|
|
76
169
|
console.log(chalk.bold('Login Status\n'));
|
|
77
170
|
if (profileMode === 'shared') {
|
package/dist/cli/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/cli/video.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,kBAAkB,IAAI,OAAO,CAoG5C"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { runVideo } from '../core/video-orchestrator.js';
|
|
4
|
+
const VALID_MODES = ['ingredients', 'frames'];
|
|
5
|
+
const VALID_MODELS = [
|
|
6
|
+
'Veo 3.1 - Fast',
|
|
7
|
+
'Veo 3.1 - Fast [Lower Priority]',
|
|
8
|
+
'Veo 3.1 - Quality',
|
|
9
|
+
'Veo 2 - Fast',
|
|
10
|
+
'Veo 2 - Quality',
|
|
11
|
+
];
|
|
12
|
+
const VALID_ORIENTATIONS = ['landscape', 'portrait'];
|
|
13
|
+
export function createVideoCommand() {
|
|
14
|
+
const cmd = new Command('video')
|
|
15
|
+
.description('Generate video with Google Flow (Veo 3.1) via browser automation')
|
|
16
|
+
.requiredOption('-p, --prompt <text>', 'The video generation prompt')
|
|
17
|
+
.option('--mode <mode>', 'Video mode: ingredients (default) or frames', 'ingredients')
|
|
18
|
+
.option('--model <name>', 'Veo model name', 'Veo 3.1 - Fast')
|
|
19
|
+
.option('--orientation <dir>', 'landscape (default) or portrait', 'landscape')
|
|
20
|
+
.option('--count <n>', 'Number of simultaneous generations (1-4)', '1')
|
|
21
|
+
.option('--start-frame <path>', 'Path to first keyframe image (frames mode)')
|
|
22
|
+
.option('--end-frame <path>', 'Path to last keyframe image (frames mode)')
|
|
23
|
+
.option('--headed', 'Show browser window during generation')
|
|
24
|
+
.option('--timeout <ms>', 'Generation timeout in milliseconds', '600000')
|
|
25
|
+
.option('--save-dir <dir>', 'Directory to save generated videos')
|
|
26
|
+
.option('--isolated-profile', 'Use per-provider browser profiles')
|
|
27
|
+
.action(async (options) => {
|
|
28
|
+
// Validate mode
|
|
29
|
+
const mode = options.mode;
|
|
30
|
+
if (!VALID_MODES.includes(mode)) {
|
|
31
|
+
console.error(chalk.red(`Invalid mode: ${mode}. Must be one of: ${VALID_MODES.join(', ')}`));
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
// Validate model
|
|
35
|
+
const model = options.model;
|
|
36
|
+
if (!VALID_MODELS.includes(model)) {
|
|
37
|
+
console.error(chalk.red(`Invalid model: ${model}. Must be one of:\n ${VALID_MODELS.join('\n ')}`));
|
|
38
|
+
process.exit(1);
|
|
39
|
+
}
|
|
40
|
+
// Validate orientation
|
|
41
|
+
const orientation = options.orientation;
|
|
42
|
+
if (!VALID_ORIENTATIONS.includes(orientation)) {
|
|
43
|
+
console.error(chalk.red(`Invalid orientation: ${orientation}. Must be: landscape or portrait`));
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
// Validate count
|
|
47
|
+
const count = Number.parseInt(options.count, 10);
|
|
48
|
+
if (![1, 2, 3, 4].includes(count)) {
|
|
49
|
+
console.error(chalk.red('Count must be 1, 2, 3, or 4'));
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
// Validate frames mode requires at least one keyframe
|
|
53
|
+
if (mode === 'frames' && !options.startFrame && !options.endFrame) {
|
|
54
|
+
console.error(chalk.red('Frames mode requires --start-frame and/or --end-frame'));
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
console.log(chalk.bold.blue('🎬 Google Flow Video Generation\n'));
|
|
59
|
+
const result = await runVideo({
|
|
60
|
+
prompt: options.prompt,
|
|
61
|
+
mode: mode,
|
|
62
|
+
model: model,
|
|
63
|
+
orientation: orientation,
|
|
64
|
+
count: count,
|
|
65
|
+
startFrame: options.startFrame,
|
|
66
|
+
endFrame: options.endFrame,
|
|
67
|
+
headed: options.headed,
|
|
68
|
+
timeoutMs: (() => {
|
|
69
|
+
const t = Number.parseInt(options.timeout, 10);
|
|
70
|
+
return Number.isFinite(t) && t > 0 ? t : 600_000;
|
|
71
|
+
})(),
|
|
72
|
+
saveDir: options.saveDir,
|
|
73
|
+
isolatedProfile: options.isolatedProfile,
|
|
74
|
+
});
|
|
75
|
+
console.log('');
|
|
76
|
+
console.log(chalk.bold.green(`--- ${result.message} ---\n`));
|
|
77
|
+
if (result.videos.length > 0) {
|
|
78
|
+
for (const vid of result.videos) {
|
|
79
|
+
if (vid.localPath) {
|
|
80
|
+
console.log(chalk.green(` 🎬 ${vid.localPath}`));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
console.log('');
|
|
85
|
+
console.log(chalk.dim(`Session: ${result.sessionId}`));
|
|
86
|
+
console.log(chalk.dim(`Duration: ${Math.round(result.durationMs / 1000)}s`));
|
|
87
|
+
if (result.truncated) {
|
|
88
|
+
console.log(chalk.yellow('⚠ Generation may not be complete (timeout reached)'));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
93
|
+
console.error(chalk.red(`Error: ${message}`));
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
return cmd;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=video.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/cli/video.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAGzD,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAU,CAAC;AACvD,MAAM,YAAY,GAAG;IACnB,gBAAgB;IAChB,iCAAiC;IACjC,mBAAmB;IACnB,cAAc;IACd,iBAAiB;CACT,CAAC;AACX,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,UAAU,CAAU,CAAC;AAE9D,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;SAC7B,WAAW,CAAC,kEAAkE,CAAC;SAC/E,cAAc,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SACpE,MAAM,CAAC,eAAe,EAAE,6CAA6C,EAAE,aAAa,CAAC;SACrF,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;SAC5D,MAAM,CAAC,qBAAqB,EAAE,iCAAiC,EAAE,WAAW,CAAC;SAC7E,MAAM,CAAC,aAAa,EAAE,0CAA0C,EAAE,GAAG,CAAC;SACtE,MAAM,CAAC,sBAAsB,EAAE,4CAA4C,CAAC;SAC5E,MAAM,CAAC,oBAAoB,EAAE,2CAA2C,CAAC;SACzE,MAAM,CAAC,UAAU,EAAE,uCAAuC,CAAC;SAC3D,MAAM,CAAC,gBAAgB,EAAE,oCAAoC,EAAE,QAAQ,CAAC;SACxE,MAAM,CAAC,kBAAkB,EAAE,oCAAoC,CAAC;SAChE,MAAM,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;SACjE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,gBAAgB;QAChB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAc,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAiB,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,iBAAiB,IAAI,qBAAqB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAC9E,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,iBAAiB;QACjB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAe,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAmB,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,kBAAkB,KAAK,wBAAwB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CACtF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,uBAAuB;QACvB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAqB,CAAC;QAClD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAA+B,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,wBAAwB,WAAW,kCAAkC,CAAC,CACjF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,iBAAiB;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,sDAAsD;QACtD,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAElE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,IAAiB;gBACvB,KAAK,EAAE,KAAmB;gBAC1B,WAAW,EAAE,WAA+B;gBAC5C,KAAK,EAAE,KAAsB;gBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,CAAC,GAAG,EAAE;oBACf,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACnD,CAAC,CAAC,EAAE;gBACJ,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,eAAe,EAAE,OAAO,CAAC,eAAe;aACzC,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC;YAE7D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;wBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7E,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/core/files.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA4B9E"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { stat } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import fg from 'fast-glob';
|
|
5
|
+
/**
|
|
6
|
+
* Resolve file paths (supports globs) to absolute file paths.
|
|
7
|
+
* Validates that all resolved paths exist and are files.
|
|
8
|
+
*/
|
|
9
|
+
export async function resolveAttachPaths(patterns) {
|
|
10
|
+
const resolved = [];
|
|
11
|
+
for (const pattern of patterns) {
|
|
12
|
+
// Check if it's a glob or a literal path
|
|
13
|
+
if (/[*?{}[\]]/.test(pattern)) {
|
|
14
|
+
const matches = await fg(pattern, { absolute: true, onlyFiles: true });
|
|
15
|
+
if (matches.length === 0) {
|
|
16
|
+
throw new Error(`No files matched attachment pattern: ${pattern}`);
|
|
17
|
+
}
|
|
18
|
+
resolved.push(...matches);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
const abs = path.resolve(pattern);
|
|
22
|
+
try {
|
|
23
|
+
const s = await stat(abs);
|
|
24
|
+
if (s.isFile()) {
|
|
25
|
+
resolved.push(abs);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
console.warn(chalk.yellow(`Skipping directory: ${pattern}`));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
throw new Error(`Attachment not found: ${pattern}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// Deduplicate in case overlapping globs resolved the same file
|
|
37
|
+
return [...new Set(resolved)];
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/core/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAkB;IACzD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,yCAAyC;QACzC,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,OAAO,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;oBACf,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Page } from 'playwright';
|
|
2
|
+
import type { GeneratedImage } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Download generated images from the browser context (uses session cookies).
|
|
5
|
+
* Saves to --save-images dir or ~/.10x-chat/sessions/<id>/images/.
|
|
6
|
+
*/
|
|
7
|
+
export declare function downloadImages(page: Page, images: GeneratedImage[], sessionId: string, saveDir?: string): Promise<GeneratedImage[]>;
|
|
8
|
+
//# sourceMappingURL=images.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/core/images.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,cAAc,EAAE,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,EAAE,CAAC,CA8E3B"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
/**
|
|
5
|
+
* Download generated images from the browser context (uses session cookies).
|
|
6
|
+
* Saves to --save-images dir or ~/.10x-chat/sessions/<id>/images/.
|
|
7
|
+
*/
|
|
8
|
+
export async function downloadImages(page, images, sessionId, saveDir) {
|
|
9
|
+
const homedir = (await import('node:os')).homedir();
|
|
10
|
+
const outputDir = saveDir ?? path.join(homedir, '.10x-chat', 'sessions', sessionId, 'images');
|
|
11
|
+
await mkdir(outputDir, { recursive: true });
|
|
12
|
+
const results = [];
|
|
13
|
+
const context = page.context();
|
|
14
|
+
for (let i = 0; i < images.length; i++) {
|
|
15
|
+
const img = images[i];
|
|
16
|
+
try {
|
|
17
|
+
const url = img.url;
|
|
18
|
+
const cookies = await context.cookies([url]).catch(() => []);
|
|
19
|
+
const cookieHeader = cookies.map((c) => `${c.name}=${c.value}`).join('; ');
|
|
20
|
+
let buf;
|
|
21
|
+
let contentType = '';
|
|
22
|
+
// Try Node fetch with cookies first
|
|
23
|
+
const resp = await fetch(url, {
|
|
24
|
+
headers: cookieHeader ? { cookie: cookieHeader } : undefined,
|
|
25
|
+
}).catch(() => null);
|
|
26
|
+
if (resp?.ok) {
|
|
27
|
+
buf = Buffer.from(await resp.arrayBuffer());
|
|
28
|
+
contentType = resp.headers.get('content-type') ?? '';
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
// Fallback: fetch via browser context (handles auth cookies + CORS)
|
|
32
|
+
const dataUrl = await page.evaluate(async (imgUrl) => {
|
|
33
|
+
try {
|
|
34
|
+
const r = await fetch(imgUrl, { credentials: 'include' });
|
|
35
|
+
if (!r.ok)
|
|
36
|
+
return null;
|
|
37
|
+
const blob = await r.blob();
|
|
38
|
+
return new Promise((resolve) => {
|
|
39
|
+
const reader = new FileReader();
|
|
40
|
+
reader.onloadend = () => resolve(reader.result);
|
|
41
|
+
reader.readAsDataURL(blob);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}, url);
|
|
48
|
+
if (!dataUrl) {
|
|
49
|
+
console.warn(chalk.yellow(` ⚠ Failed to download image ${i + 1}: HTTP ${resp?.status ?? 'N/A'}`));
|
|
50
|
+
results.push(img);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
const match = dataUrl.match(/^data:([^;]+);base64,(.+)$/);
|
|
54
|
+
if (!match) {
|
|
55
|
+
results.push(img);
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
contentType = match[1];
|
|
59
|
+
buf = Buffer.from(match[2], 'base64');
|
|
60
|
+
}
|
|
61
|
+
const ext = contentType.includes('png')
|
|
62
|
+
? 'png'
|
|
63
|
+
: contentType.includes('webp')
|
|
64
|
+
? 'webp'
|
|
65
|
+
: 'jpg';
|
|
66
|
+
const filename = `image_${i + 1}.${ext}`;
|
|
67
|
+
const filePath = path.join(outputDir, filename);
|
|
68
|
+
await writeFile(filePath, buf);
|
|
69
|
+
console.log(chalk.green(` ✓ Saved: ${filePath}`));
|
|
70
|
+
results.push({ ...img, localPath: filePath });
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
console.warn(chalk.yellow(` ⚠ Error downloading image ${i + 1}: ${err}`));
|
|
74
|
+
results.push(img);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return results;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=images.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"images.js","sourceRoot":"","sources":["../../src/core/images.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts
CHANGED
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,KAAK,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/core/index.js
CHANGED
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAuC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -18,4 +18,14 @@ export interface ChatResult {
|
|
|
18
18
|
* 6. Save session
|
|
19
19
|
*/
|
|
20
20
|
export declare function runChat(options: ChatOptions): Promise<ChatResult>;
|
|
21
|
+
export interface ChatAllResult {
|
|
22
|
+
provider: ProviderName;
|
|
23
|
+
result?: ChatResult;
|
|
24
|
+
error?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Run the same prompt against multiple providers in parallel.
|
|
28
|
+
* Uses the shared browser daemon — all providers reuse one Chromium process.
|
|
29
|
+
*/
|
|
30
|
+
export declare function runChatAll(options: ChatOptions): Promise<ChatAllResult[]>;
|
|
21
31
|
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ7E,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAwHvE;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAsB/E"}
|