Merge tag 'v0.15.0' into codex/sync-v0.15.0

v0.15.0

# Conflicts:
#	CHANGELOG.md
#	README.md
#	cli/Cargo.lock
#	cli/Cargo.toml
#	cli/src/commands.rs
#	cli/src/connection.rs
#	cli/src/flags.rs
#	cli/src/main.rs
#	docs/src/app/commands/page.mdx
#	docs/src/app/configuration/page.mdx
#	package.json
#	src/actions.ts
This commit is contained in:
leeguooooo
2026-02-27 10:49:55 +09:00
21 changed files with 2502 additions and 32 deletions
+57
View File
@@ -52,6 +52,9 @@ const launchSchema = baseCommandSchema.extend({
colorScheme: z.enum(['light', 'dark', 'no-preference']).optional(),
downloadPath: z.string().optional(),
storageState: z.string().optional(),
allowedDomains: z.array(z.string()).optional(),
actionPolicy: z.string().optional(),
confirmActions: z.array(z.string()).optional(),
});
const navigateSchema = baseCommandSchema.extend({
@@ -874,6 +877,53 @@ const windowNewSchema = baseCommandSchema.extend({
.optional(),
});
const authProfileName = z
.string()
.min(1)
.regex(/^[a-zA-Z0-9_-]+$/, {
message: 'Profile name must contain only alphanumeric characters, hyphens, and underscores',
});
const authSaveSchema = baseCommandSchema.extend({
action: z.literal('auth_save'),
name: authProfileName,
url: z.string().min(1),
username: z.string().min(1),
password: z.string().min(1),
usernameSelector: z.string().optional(),
passwordSelector: z.string().optional(),
submitSelector: z.string().optional(),
});
const authLoginSchema = baseCommandSchema.extend({
action: z.literal('auth_login'),
name: authProfileName,
});
const authListSchema = baseCommandSchema.extend({
action: z.literal('auth_list'),
});
const authDeleteSchema = baseCommandSchema.extend({
action: z.literal('auth_delete'),
name: authProfileName,
});
const authShowSchema = baseCommandSchema.extend({
action: z.literal('auth_show'),
name: authProfileName,
});
const confirmSchema = baseCommandSchema.extend({
action: z.literal('confirm'),
confirmationId: z.string().min(1),
});
const denySchema = baseCommandSchema.extend({
action: z.literal('deny'),
confirmationId: z.string().min(1),
});
// Union schema for all commands
const commandSchema = z.discriminatedUnion('action', [
launchSchema,
@@ -1011,6 +1061,13 @@ const commandSchema = z.discriminatedUnion('action', [
diffSnapshotSchema,
diffScreenshotSchema,
diffUrlSchema,
confirmSchema,
denySchema,
authSaveSchema,
authLoginSchema,
authListSchema,
authDeleteSchema,
authShowSchema,
]);
// Parse result type