@@ -572,6 +572,62 @@ public CodexCliResult apply(String taskId) {
572572 return cli .apply (taskId );
573573 }
574574
575+ // ============================================================
576+ // queue / delete / agents / migrate-rollouts
577+ // ============================================================
578+
579+ /**
580+ * Queues {@code message} for an existing session via
581+ * {@code codex queue --thread <thread> --message <message>}.
582+ *
583+ * @param thread the session UUID or exact session name.
584+ * @param message the message text to queue.
585+ * @return the raw CLI invocation result; never {@code null}.
586+ * @since 3.0.0
587+ */
588+ public CodexCliResult queue (String thread , String message ) { return cli .queue (thread , message ); }
589+
590+ /**
591+ * Permanently deletes a saved session via {@code codex delete <session>}.
592+ * The CLI prompts for confirmation on a TTY; prefer
593+ * {@link #deleteSessionForce(String)} for non-interactive use.
594+ *
595+ * @param session the session UUID or session name.
596+ * @return the raw CLI invocation result; never {@code null}.
597+ * @since 3.0.0
598+ */
599+ public CodexCliResult deleteSession (String session ) { return cli .delete (session ); }
600+
601+ /**
602+ * Permanently deletes a session without prompting via
603+ * {@code codex delete --force <session>}. Requires a session UUID.
604+ *
605+ * @param sessionUuid the session UUID.
606+ * @return the raw CLI invocation result; never {@code null}.
607+ * @since 3.0.0
608+ */
609+ public CodexCliResult deleteSessionForce (String sessionUuid ) { return cli .deleteForce (sessionUuid ); }
610+
611+ /**
612+ * Browses agent sessions on the shared local app-server daemon via
613+ * {@code codex agents <args...>}.
614+ *
615+ * @param args optional extra arguments.
616+ * @return the raw CLI invocation result; never {@code null}.
617+ * @since 3.0.0
618+ */
619+ public CodexCliResult agents (String ... args ) { return cli .agents (args ); }
620+
621+ /**
622+ * Inspects or migrates legacy local sessions via
623+ * {@code codex migrate-rollouts <args...>}.
624+ *
625+ * @param args optional extra arguments.
626+ * @return the raw CLI invocation result; never {@code null}.
627+ * @since 3.0.0
628+ */
629+ public CodexCliResult migrateRollouts (String ... args ) { return cli .migrateRollouts (args ); }
630+
575631 // ============================================================
576632 // auth
577633 // ============================================================
@@ -583,6 +639,45 @@ public CodexCliResult apply(String taskId) {
583639 */
584640 public CodexCliResult login () { return cli .login (); }
585641
642+ /**
643+ * Logs in headlessly with an API key via
644+ * {@code codex login --with-api-key} (key piped to stdin).
645+ *
646+ * @param apiKey the API key.
647+ * @return the raw CLI invocation result; never {@code null}.
648+ * @since 3.0.0
649+ */
650+ public CodexCliResult loginWithApiKey (String apiKey ) { return cli .loginWithApiKey (apiKey ); }
651+
652+ /**
653+ * Logs in with an access token via
654+ * {@code codex login --with-access-token} (token piped to stdin).
655+ *
656+ * @param accessToken the access token.
657+ * @return the raw CLI invocation result; never {@code null}.
658+ * @since 3.0.0
659+ */
660+ public CodexCliResult loginWithAccessToken (String accessToken ) { return cli .loginWithAccessToken (accessToken ); }
661+
662+ /**
663+ * Starts the OAuth device-code login flow via
664+ * {@code codex login --device-auth}; the verification URL and device code
665+ * are printed on stdout.
666+ *
667+ * @return the raw CLI invocation result; never {@code null}.
668+ * @since 3.0.0
669+ */
670+ public CodexCliResult loginDeviceAuth () { return cli .loginDeviceAuth (); }
671+
672+ /**
673+ * Prints the current auth mode via {@code codex login status}; the CLI
674+ * exits {@code 0} when logged in.
675+ *
676+ * @return the raw CLI invocation result; never {@code null}.
677+ * @since 3.0.0
678+ */
679+ public CodexCliResult loginStatus () { return cli .loginStatus (); }
680+
586681 /**
587682 * Runs {@code codex logout}.
588683 *
@@ -697,8 +792,14 @@ public CodexCliResult apply(String taskId) {
697792 /**
698793 * Runs {@code codex mcp-server}.
699794 *
795+ * <p><strong>Deprecated:</strong> the subcommand has been removed from
796+ * recent Codex CLI releases — use {@link #appServer(String...)}.
797+ * Kept for callers pinned to older CLI builds.</p>
798+ *
700799 * @return the raw CLI invocation result; never {@code null}.
800+ * @deprecated upstream removed {@code codex mcp-server}; use {@link #appServer(String...)}.
701801 */
802+ @ Deprecated
702803 public CodexCliResult mcpServer () { return cli .mcpServer (); }
703804
704805 /**
@@ -717,7 +818,7 @@ public CodexCliResult apply(String taskId) {
717818 public CodexCliResult sandbox (String ... command ) { return cli .sandbox (command ); }
718819
719820 /**
720- * Runs {@code codex sandbox --permissions -profile <profile> <command...>}.
821+ * Runs {@code codex sandbox --permission -profile <profile> <command...>}.
721822 *
722823 * @param profile the permissions profile name.
723824 * @param command the shell command to execute inside the sandbox.
0 commit comments