| 610 | } |
| 611 | |
| 612 | function parseArgs(args: string[]): { |
| 613 | version: boolean; |
| 614 | help: boolean; |
| 615 | doctor: boolean; |
| 616 | logs: boolean; |
| 617 | logsDays: number; |
| 618 | partners: boolean; |
| 619 | partnersTest: boolean; |
| 620 | report: boolean; |
| 621 | reportPeriod: "daily" | "weekly" | "monthly"; |
| 622 | reportJson: boolean; |
| 623 | walletRecover: boolean; |
| 624 | chain?: "solana" | "base"; |
| 625 | port?: number; |
| 626 | // Query commands |
| 627 | queryStatus: boolean; |
| 628 | queryWallet: boolean; |
| 629 | queryModels: boolean; |
| 630 | queryStats: boolean; |
| 631 | queryStatsDays: number; |
| 632 | queryCache: boolean; |
| 633 | setup: boolean; |
| 634 | // Share commands |
| 635 | share: boolean; |
| 636 | shareTarget?: "last" | "list" | string; // string = an id like resp_... |
| 637 | sharePreset?: string; |
| 638 | shareLimit: number; |
| 639 | shareAll: boolean; |
| 640 | // Phone commands |
| 641 | phone: boolean; |
| 642 | phoneSubcommand?: "numbers" | "lookup" | "fraud"; |
| 643 | phoneNumbersAction?: "list" | "buy" | "renew" | "release"; |
| 644 | phoneArg?: string; |
| 645 | phoneAreaCode?: string; |
| 646 | } { |
| 647 | const result = { |
| 648 | version: false, |
| 649 | help: false, |
| 650 | doctor: false, |
| 651 | logs: false, |
| 652 | logsDays: 1, |
| 653 | partners: false, |
| 654 | partnersTest: false, |
| 655 | report: false, |
| 656 | reportPeriod: "daily" as "daily" | "weekly" | "monthly", |
| 657 | reportJson: false, |
| 658 | walletRecover: false, |
| 659 | chain: undefined as "solana" | "base" | undefined, |
| 660 | port: undefined as number | undefined, |
| 661 | queryStatus: false, |
| 662 | queryWallet: false, |
| 663 | queryModels: false, |
| 664 | queryStats: false, |
| 665 | queryStatsDays: 7, |
| 666 | queryCache: false, |
| 667 | setup: false, |
| 668 | share: false, |
| 669 | shareTarget: undefined as "last" | "list" | string | undefined, |