atcoder-gui 0.1.4 → 0.1.6

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/README.md CHANGED
@@ -31,7 +31,7 @@ atcoder-gui/
31
31
  1. Clone the repository
32
32
  2. Install dependencies:
33
33
  ```bash
34
- npm install
34
+ pnpm install
35
35
  ```
36
36
  3. Install Playwright browsers:
37
37
  ```bash
@@ -39,7 +39,7 @@ atcoder-gui/
39
39
  ```
40
40
  4. Build the project:
41
41
  ```bash
42
- npm run build
42
+ pnpm run build
43
43
  ```
44
44
 
45
45
  ## Usage
@@ -49,7 +49,7 @@ atcoder-gui/
49
49
  Start the interactive command prompt:
50
50
 
51
51
  ```bash
52
- npm run start
52
+ pnpm run start
53
53
  ```
54
54
 
55
55
  This will start an interactive CLI with a command prompt where you can enter commands:
@@ -109,21 +109,21 @@ Session data is stored separately from configuration and is automatically restor
109
109
 
110
110
  ### Available Scripts
111
111
 
112
- - `npm run build` - Compile TypeScript to JavaScript
113
- - `npm run dev` - Watch mode compilation
114
- - `npm run test` - Run tests in watch mode
115
- - `npm run test:run` - Run tests once
116
- - `npm run lint` - Run ESLint
117
- - `npm run lint:fix` - Fix ESLint issues automatically
118
- - `npm run start` - Run the compiled CLI application
119
- - `npm run clean` - Remove compiled output
112
+ - `pnpm run build` - Compile TypeScript to JavaScript
113
+ - `pnpm run dev` - Watch mode compilation
114
+ - `pnpm run test` - Run tests in watch mode
115
+ - `pnpm run test:run` - Run tests once
116
+ - `pnpm run lint` - Run ESLint
117
+ - `pnpm run lint:fix` - Fix ESLint issues automatically
118
+ - `pnpm run start` - Run the compiled CLI application
119
+ - `pnpm run clean` - Remove compiled output
120
120
 
121
121
  ### Testing
122
122
 
123
123
  Run tests with Vitest:
124
124
 
125
125
  ```bash
126
- npm run test
126
+ pnpm run test
127
127
  ```
128
128
 
129
129
  ### Code Quality
@@ -131,8 +131,8 @@ npm run test
131
131
  The project uses ESLint with TypeScript-specific rules for code quality:
132
132
 
133
133
  ```bash
134
- npm run lint # Check code quality
135
- npm run lint:fix # Auto-fix issues where possible
134
+ pnpm run lint # Check code quality
135
+ pnpm run lint:fix # Auto-fix issues where possible
136
136
  ```
137
137
 
138
138
  ## Technology Stack
package/dist/browser.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Browser, Page } from 'playwright';
2
2
  import { SessionManager } from './session.js';
3
+ import { AppConfig } from './config.js';
3
4
  export declare class BrowserManager {
4
5
  private browser;
5
6
  private context;
@@ -14,7 +15,7 @@ export declare class BrowserManager {
14
15
  /**
15
16
  * Launch a new browser instance with UI
16
17
  */
17
- launch(): Promise<void>;
18
+ launch(config: AppConfig): Promise<void>;
18
19
  /**
19
20
  * Open a URL in the browser
20
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,IAAI,EAAkB,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAA6B;;IAMhD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAYnD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B7B;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC;;OAEG;IACH,cAAc,IAAI,IAAI,GAAG,IAAI;IAI7B;;OAEG;IACH,UAAU,IAAI,OAAO,GAAG,IAAI;IAI5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB5B;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,cAAc,IAAI;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;CAGpF"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,IAAI,EAAkB,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAA6B;;IAMhD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAYnD;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC9C;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC;;OAEG;IACH,cAAc,IAAI,IAAI,GAAG,IAAI;IAI7B;;OAEG;IACH,UAAU,IAAI,OAAO,GAAG,IAAI;IAI5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB5B;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,cAAc,IAAI;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;CAGpF"}
package/dist/browser.js CHANGED
@@ -26,20 +26,24 @@ export class BrowserManager {
26
26
  /**
27
27
  * Launch a new browser instance with UI
28
28
  */
29
- async launch() {
29
+ async launch(config) {
30
30
  if (this.browser) {
31
31
  await this.close();
32
32
  }
33
+ const windowSizeOption = config.windowSize ? `--window-size=${config.windowSize?.width},${config.windowSize?.height}` : '';
33
34
  this.browser = await chromium.launch({
34
35
  headless: false, // UI mode
35
36
  args: [
36
37
  '--disable-blink-features=AutomationControlled',
38
+ windowSizeOption,
37
39
  ],
38
40
  });
39
41
  // Create context with existing storage state if available
40
42
  const storageState = this.sessionManager.getStorageState();
41
43
  this.context = await this.browser.newContext({
42
- storageState: storageState
44
+ storageState: storageState,
45
+ colorScheme: config.theme,
46
+ viewport: null, // fit to window size
43
47
  });
44
48
  this.page = await this.context.newPage();
45
49
  // Log session restoration status
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/dist/config.json5 CHANGED
@@ -10,7 +10,7 @@
10
10
  // Browser window size
11
11
  windowSize: {
12
12
  width: 1200,
13
- height: 800,
13
+ height: 900,
14
14
 
15
15
  testCommand: 'make test',
16
16
  }}
@@ -6,6 +6,10 @@ export declare class CookieExporter {
6
6
  * Get the oj (online-judge-tools) cookie path by running oj command
7
7
  */
8
8
  private static getOjCookiePath;
9
+ /**
10
+ * Get the atcoder-cli session.json path by running acc config-dir command
11
+ */
12
+ private static getAtCoderCliSessionPath;
9
13
  /**
10
14
  * Get AtCoder cookies from current browser session
11
15
  */
@@ -18,6 +22,10 @@ export declare class CookieExporter {
18
22
  * Export cookies to oj (online-judge-tools) cookie.jar file
19
23
  */
20
24
  exportCookiesForOj(): Promise<void>;
25
+ /**
26
+ * Export cookies to atcoder-cli session.json file
27
+ */
28
+ exportCookiesForAtCoderCli(): Promise<void>;
21
29
  /**
22
30
  * Export cookies to oj (online-judge-tools) cookie.jar file
23
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cookie-export.d.ts","sourceRoot":"","sources":["../src/cookie-export.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAc9C,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAiB9B;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;IACG,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzC;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IActD;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;;;OAGG;YACW,eAAe;IAe7B;;OAEG;IACH,MAAM,CAAC,yBAAyB,IAAI,MAAM;CAG3C"}
1
+ {"version":3,"file":"cookie-export.d.ts","sourceRoot":"","sources":["../src/cookie-export.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAc9C,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAiB9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAUvC;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;IACG,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzC;;OAEG;IACG,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BjD;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IActD;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;;;OAGG;YACW,eAAe;IAe7B;;OAEG;IACH,MAAM,CAAC,yBAAyB,IAAI,MAAM;CAG3C"}
@@ -26,6 +26,19 @@ export class CookieExporter {
26
26
  throw new Error(`Failed to get oj cookie path: ${error instanceof Error ? error.message : String(error)}`);
27
27
  }
28
28
  }
29
+ /**
30
+ * Get the atcoder-cli session.json path by running acc config-dir command
31
+ */
32
+ static getAtCoderCliSessionPath() {
33
+ try {
34
+ // Run acc command to get config directory
35
+ const configDir = execSync('acc config-dir', { encoding: 'utf-8', timeout: 5000 }).trim();
36
+ return join(configDir, 'session.json');
37
+ }
38
+ catch (error) {
39
+ throw new Error(`Failed to get atcoder-cli config directory: ${error instanceof Error ? error.message : String(error)}`);
40
+ }
41
+ }
29
42
  /**
30
43
  * Get AtCoder cookies from current browser session
31
44
  */
@@ -64,6 +77,35 @@ export class CookieExporter {
64
77
  await this.exportCookies(CookieExporter.getOjCookiePath());
65
78
  console.log('✓ Cookies exported successfully to oj (online-judge-tools)');
66
79
  }
80
+ /**
81
+ * Export cookies to atcoder-cli session.json file
82
+ */
83
+ async exportCookiesForAtCoderCli() {
84
+ try {
85
+ const atcoderCookies = await this.getAtCoderCookies();
86
+ const sessionPath = CookieExporter.getAtCoderCliSessionPath();
87
+ // Check if session.json file exists
88
+ if (!existsSync(sessionPath)) {
89
+ throw new Error(`Session file does not exist: ${sessionPath}\nPlease ensure atcoder-cli is installed and has been used at least once to create the session.json file.`);
90
+ }
91
+ // Convert cookies to atcoder-cli format (array of "name=value" strings)
92
+ const cookieStrings = atcoderCookies.map(cookie => `${cookie.name}=${cookie.value}`);
93
+ // Create the session.json content
94
+ const sessionContent = {
95
+ cookies: cookieStrings
96
+ };
97
+ // Write to session.json file
98
+ writeFileSync(sessionPath, JSON.stringify(sessionContent, null, '\t'), {
99
+ encoding: 'utf-8',
100
+ mode: 0o600 // Set file permissions (readable/writable by owner only)
101
+ });
102
+ console.log(`✓ Cookies exported successfully to atcoder-cli session.json`);
103
+ console.log(`Session file updated: ${sessionPath}`);
104
+ }
105
+ catch (error) {
106
+ console.error('Error during atcoder-cli cookie export:', error);
107
+ }
108
+ }
67
109
  /**
68
110
  * Export cookies to oj (online-judge-tools) cookie.jar file
69
111
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cookie-export.js","sourceRoot":"","sources":["../src/cookie-export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cookie-export.js","sourceRoot":"","sources":["../src/cookie-export.ts"],"names":[],"mappings":"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"}
package/dist/gen.d.ts CHANGED
@@ -1,11 +1,16 @@
1
+ import { BrowserManager } from './browser';
1
2
  export declare class GenManager {
3
+ private browserManager;
4
+ constructor(browserManager: BrowserManager);
2
5
  /**
3
6
  * Check if atcoder-tools is installed
4
7
  */
5
8
  isAtCoderToolsInstalled(): boolean;
9
+ isAtCoderCliInstalled(): boolean;
6
10
  /**
7
11
  * Run atcoder-tools gen command
8
12
  */
9
13
  run(args: string[]): void;
14
+ runAtcoderCli(args: string[]): void;
10
15
  }
11
16
  //# sourceMappingURL=gen.d.ts.map
package/dist/gen.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../src/gen.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;IACrB;;OAEG;IACH,uBAAuB,IAAI,OAAO;IASlC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;CAc1B"}
1
+ {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../src/gen.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,qBAAa,UAAU;IACrB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IACH,uBAAuB,IAAI,OAAO;IASlC,qBAAqB,IAAI,OAAO;IAShC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IA6BzB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;CA4BpC"}
package/dist/gen.js CHANGED
@@ -1,5 +1,10 @@
1
+ import * as fs from 'fs';
1
2
  import { execSync } from 'child_process';
2
3
  export class GenManager {
4
+ browserManager;
5
+ constructor(browserManager) {
6
+ this.browserManager = browserManager;
7
+ }
3
8
  /**
4
9
  * Check if atcoder-tools is installed
5
10
  */
@@ -12,6 +17,15 @@ export class GenManager {
12
17
  return false;
13
18
  }
14
19
  }
20
+ isAtCoderCliInstalled() {
21
+ try {
22
+ execSync('acc -version', { stdio: 'ignore' });
23
+ return true;
24
+ }
25
+ catch (_) {
26
+ return false;
27
+ }
28
+ }
15
29
  /**
16
30
  * Run atcoder-tools gen command
17
31
  */
@@ -24,6 +38,44 @@ export class GenManager {
24
38
  try {
25
39
  const command_line = 'atcoder-tools ' + args.join(' ');
26
40
  execSync(command_line, { encoding: 'utf-8', stdio: 'inherit' });
41
+ const contest_id = args[1].match(/^[-\w]+$/)?.[0];
42
+ if (contest_id) {
43
+ const url = `https://atcoder.jp/contests/${contest_id}`;
44
+ // avoid 429 error
45
+ setTimeout(() => {
46
+ this.browserManager.openUrl(url);
47
+ }, 250);
48
+ if (fs.existsSync(contest_id)) {
49
+ process.chdir(contest_id);
50
+ console.log(`Current directory: ${process.cwd()}`);
51
+ }
52
+ }
53
+ }
54
+ catch (_) {
55
+ ;
56
+ }
57
+ }
58
+ runAtcoderCli(args) {
59
+ if (!this.isAtCoderCliInstalled()) {
60
+ console.error('Error: acc command not found.');
61
+ console.error('Please install atcoder-cli and ensure it is in your PATH.');
62
+ return;
63
+ }
64
+ try {
65
+ const command_line = 'acc ' + args.join(' ');
66
+ execSync(command_line, { encoding: 'utf-8', stdio: 'inherit' });
67
+ const contest_id = args[1].match(/^[-\w]+$/)?.[0];
68
+ if (contest_id) {
69
+ const url = `https://atcoder.jp/contests/${contest_id}`;
70
+ // avoid 429 error
71
+ setTimeout(() => {
72
+ this.browserManager.openUrl(url);
73
+ }, 250);
74
+ if (fs.existsSync(contest_id)) {
75
+ process.chdir(contest_id);
76
+ console.log(`Current directory: ${process.cwd()}`);
77
+ }
78
+ }
27
79
  }
28
80
  catch (_) {
29
81
  ;
package/dist/gen.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gen.js","sourceRoot":"","sources":["../src/gen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,UAAU;IACrB;;OAEG;IACH,uBAAuB;QACrB,IAAI,CAAC;YACH,QAAQ,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAc;QAChB,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvD,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"gen.js","sourceRoot":"","sources":["../src/gen.ts"],"names":[],"mappings":"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"}
package/dist/main.d.ts CHANGED
@@ -6,6 +6,7 @@ export declare class AtCoderGUI {
6
6
  private submitManager;
7
7
  private cookieExporter;
8
8
  private genManager;
9
+ private problemManager;
9
10
  private rl;
10
11
  constructor();
11
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAMA,OAAO,EAAiB,SAAS,EAAE,MAAM,aAAa,CAAC;AAMvD,qBAAa,UAAU;IACrB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,EAAE,CAAmC;;IAU7C;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAazC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACH,SAAS,IAAI,SAAS;IAItB;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C1C;;OAEG;YACW,aAAa;IA+G3B;;OAEG;IACH,OAAO,CAAC,QAAQ;CA4BjB"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAMA,OAAO,EAAiB,SAAS,EAAE,MAAM,aAAa,CAAC;AAOvD,qBAAa,UAAU;IACrB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,EAAE,CAAmC;;IAW7C;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAazC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACH,SAAS,IAAI,SAAS;IAItB;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C1C;;OAEG;YACW,aAAa;IAkJ3B;;OAEG;IACH,OAAO,CAAC,QAAQ;CA+BjB"}
package/dist/main.js CHANGED
@@ -7,6 +7,7 @@ import { ConfigManager } from './config.js';
7
7
  import { SubmitManager } from './submit.js';
8
8
  import { CookieExporter } from './cookie-export.js';
9
9
  import { GenManager } from './gen.js';
10
+ import { ProblemManager } from './problem.js';
10
11
  import { execSync } from 'child_process';
11
12
  export class AtCoderGUI {
12
13
  browserManager;
@@ -14,19 +15,21 @@ export class AtCoderGUI {
14
15
  submitManager;
15
16
  cookieExporter;
16
17
  genManager;
18
+ problemManager;
17
19
  rl = null;
18
20
  constructor() {
19
21
  this.browserManager = new BrowserManager();
20
22
  this.configManager = new ConfigManager();
21
23
  this.submitManager = new SubmitManager(this.browserManager);
22
24
  this.cookieExporter = new CookieExporter(this.browserManager);
23
- this.genManager = new GenManager();
25
+ this.genManager = new GenManager(this.browserManager);
26
+ this.problemManager = new ProblemManager(this.browserManager);
24
27
  }
25
28
  /**
26
29
  * Initialize the application
27
30
  */
28
31
  async init() {
29
- await this.browserManager.launch();
32
+ await this.browserManager.launch(this.getConfig());
30
33
  const url = this.getConfig().defaultUrl || 'https://atcoder.jp';
31
34
  await this.browserManager.openUrl(url);
32
35
  }
@@ -103,6 +106,13 @@ export class AtCoderGUI {
103
106
  async handleCommand(input) {
104
107
  const args = input.split(' ').filter(arg => arg.length > 0);
105
108
  const command = args[0].toLowerCase();
109
+ if (command == '') {
110
+ return;
111
+ }
112
+ // Try to navigate to problem directory if command is a single letter
113
+ if (await this.problemManager.navigateToProblem(command)) {
114
+ return;
115
+ }
106
116
  try {
107
117
  switch (command) {
108
118
  case 'open':
@@ -128,7 +138,12 @@ export class AtCoderGUI {
128
138
  case 'oj':
129
139
  {
130
140
  const command_line = args.join(' ');
131
- execSync(command_line, { encoding: 'utf-8', stdio: 'inherit' });
141
+ try {
142
+ execSync(command_line, { encoding: 'utf-8', stdio: 'inherit' });
143
+ }
144
+ catch (_) {
145
+ ;
146
+ }
132
147
  }
133
148
  break;
134
149
  case 'export':
@@ -137,6 +152,7 @@ export class AtCoderGUI {
137
152
  console.log('Usage: export <target>');
138
153
  console.log('Available targets:');
139
154
  console.log(' atcoder-tools Export cookies to atcoder-tools cookie.txt');
155
+ console.log(' atcoder-cli Export cookies to atcoder-cli session.json');
140
156
  console.log(' oj Export cookies to online-judge-tools cookie.jar');
141
157
  return;
142
158
  }
@@ -146,22 +162,40 @@ export class AtCoderGUI {
146
162
  case 'atcoder-tools':
147
163
  await this.cookieExporter.exportCookiesForAtCoderTools();
148
164
  break;
165
+ case 'atcoder-cli':
166
+ await this.cookieExporter.exportCookiesForAtCoderCli();
167
+ break;
149
168
  case 'oj':
150
169
  await this.cookieExporter.exportCookiesForOj();
151
170
  break;
152
171
  default:
153
172
  console.log(`Unknown export target: ${target}`);
154
- console.log('Available targets: atcoder-tools, oj');
173
+ console.log('Available targets: atcoder-tools, atcoder-cli, oj');
155
174
  }
156
175
  }
157
176
  break;
158
177
  case 'gen':
159
178
  this.genManager.run(args);
160
179
  break;
180
+ case 'new':
181
+ this.genManager.runAtcoderCli(args);
182
+ break;
183
+ case 'cp':
184
+ case 'copy':
185
+ case 'del':
186
+ case 'dir':
187
+ case 'ls':
161
188
  case 'make':
189
+ case 'pwd':
190
+ case 'rm':
162
191
  {
163
192
  const command_line = args.join(' ');
164
- execSync(command_line, { encoding: 'utf-8', stdio: 'inherit' });
193
+ try {
194
+ execSync(command_line, { encoding: 'utf-8', stdio: 'inherit' });
195
+ }
196
+ catch (_) {
197
+ ;
198
+ }
165
199
  }
166
200
  break;
167
201
  case 'submit':
@@ -171,7 +205,12 @@ export class AtCoderGUI {
171
205
  {
172
206
  const testCommand = this.getConfig().testCommand;
173
207
  if (testCommand) {
174
- execSync(testCommand, { encoding: 'utf-8', stdio: 'inherit' });
208
+ try {
209
+ execSync(testCommand, { encoding: 'utf-8', stdio: 'inherit' });
210
+ }
211
+ catch (_) {
212
+ ;
213
+ }
175
214
  }
176
215
  else {
177
216
  console.log('Error: testCommand is not configured in config.json5');
@@ -210,7 +249,8 @@ Available commands:
210
249
  open <URL> Open a URL in the browser
211
250
  config Show current configuration
212
251
  submit Submit solution to AtCoder (requires metadata.json and main.cpp)
213
- gen <args> Generate sample cases using atcoder-tools
252
+ gen <contest-id> Generate sample cases using atcoder-tools
253
+ new <contest-id> Generate sample cases using atcoder-cli
214
254
  make <args> Execute make command
215
255
  test Execute test command
216
256
  export <target> Export data to external tools
@@ -221,6 +261,7 @@ Available commands:
221
261
 
222
262
  Export targets:
223
263
  atcoder-tools Export browser cookies to atcoder-tools cookie.txt
264
+ atcoder-cli Export browser cookies to atcoder-cli session.json
224
265
  oj Export browser cookies to online-judge-tools cookie.jar
225
266
 
226
267
  Examples:
@@ -229,6 +270,7 @@ Examples:
229
270
  submit (run from atcoder-tools directory)
230
271
  gen https://atcoder.jp/contests/abc123/tasks/abc123_a
231
272
  export atcoder-tools (export REVEL_FLASH and REVEL_SESSION cookies)
273
+ export atcoder-cli (export cookies to atcoder-cli session.json)
232
274
  export oj (export cookies to online-judge-tools)
233
275
  `);
234
276
  }
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { BrowserManager } from './browser.js';
2
+ export declare class ProblemManager {
3
+ private browserManager;
4
+ constructor(browserManager: BrowserManager);
5
+ /**
6
+ * Navigate to problem directory and open problem page if valid
7
+ * Returns true if successful navigation occurred
8
+ */
9
+ navigateToProblem(command: string): Promise<boolean>;
10
+ }
11
+ //# sourceMappingURL=problem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"problem.d.ts","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,EAAE,cAAc;IAI1C;;;OAGG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CA2C3D"}
@@ -0,0 +1,55 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ export class ProblemManager {
4
+ browserManager;
5
+ constructor(browserManager) {
6
+ this.browserManager = browserManager;
7
+ }
8
+ /**
9
+ * Navigate to problem directory and open problem page if valid
10
+ * Returns true if successful navigation occurred
11
+ */
12
+ async navigateToProblem(command) {
13
+ // Only handle single alphabetic characters
14
+ if (command.length !== 1 || !/^[a-zA-Z]$/.test(command)) {
15
+ return false;
16
+ }
17
+ // Look for problem directory in current directory and parent directory
18
+ for (const searchPath of ['.', '..']) {
19
+ for (const problem_id of [command.toLowerCase(), command.toUpperCase()]) {
20
+ const problem_dir = path.join(searchPath, problem_id);
21
+ if (fs.existsSync(problem_dir)) {
22
+ // atcoder-tools
23
+ {
24
+ const metadataFilename = path.join(problem_dir, 'metadata.json');
25
+ if (fs.existsSync(metadataFilename)) {
26
+ const metadata = JSON.parse(fs.readFileSync(metadataFilename, 'utf-8'));
27
+ const problem = metadata.problem;
28
+ process.chdir(problem_dir);
29
+ console.log(`Current directory: ${process.cwd()}`);
30
+ this.browserManager.openUrl(`https://atcoder.jp/contests/${problem.contest.contest_id}/tasks/${problem.problem_id}`);
31
+ return true;
32
+ }
33
+ }
34
+ // atcoder-cli
35
+ {
36
+ const metadataFilename = path.join(searchPath, 'contest.acc.json');
37
+ if (fs.existsSync(metadataFilename)) {
38
+ const metadata = JSON.parse(fs.readFileSync(metadataFilename, 'utf-8'));
39
+ for (const task of metadata.tasks) {
40
+ if (task.directory?.path == problem_id) {
41
+ process.chdir(problem_dir);
42
+ console.log(`Current directory: ${process.cwd()}`);
43
+ this.browserManager.openUrl(task.url);
44
+ return true;
45
+ }
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
52
+ return false;
53
+ }
54
+ }
55
+ //# sourceMappingURL=problem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"problem.js","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,MAAM,OAAO,cAAc;IACjB,cAAc,CAAiB;IAEvC,YAAY,cAA8B;QACxC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAe;QACrC,2CAA2C;QAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uEAAuE;QACvE,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YACrC,KAAK,MAAM,UAAU,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACxE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACtD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,gBAAgB;oBAChB,CAAC;wBACC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;wBACjE,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;4BACpC,MAAM,QAAQ,GAAyB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;4BAC9F,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;4BACjC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;4BAC3B,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;4BACnD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,+BAA+B,OAAO,CAAC,OAAO,CAAC,UAAU,UAAU,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;4BACrH,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC;oBACD,cAAc;oBACd,CAAC;wBACC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;wBACnE,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;4BACpC,MAAM,QAAQ,GAA4B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;4BACjG,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gCAClC,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,UAAU,EAAE,CAAC;oCACvC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oCAC3B,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oCACnD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oCACtC,OAAO,IAAI,CAAC;gCACd,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../src/submit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAoB9C,qBAAa,aAAa;IACxB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CrC;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;YACW,kBAAkB;CAyBjC"}
1
+ {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../src/submit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAoB9C,qBAAa,aAAa;IACxB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCrC;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;YACW,kBAAkB;CAyBjC"}
package/dist/submit.js CHANGED
@@ -30,9 +30,6 @@ export class SubmitManager {
30
30
  // Open AtCoder submit URL
31
31
  const submitUrl = `https://atcoder.jp/contests/${contestId}/submit?taskScreenName=${problemId}`;
32
32
  console.log(`Opening submit page: ${submitUrl}`);
33
- if (!this.browserManager.isRunning()) {
34
- await this.browserManager.launch();
35
- }
36
33
  await this.browserManager.openUrl(submitUrl);
37
34
  // Copy source code to clipboard and fill the textarea
38
35
  await this.fillSourceCodeArea(sourceCode);
@@ -1 +1 @@
1
- {"version":3,"file":"submit.js","sourceRoot":"","sources":["../src/submit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"submit.js","sourceRoot":"","sources":["../src/submit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Type definitions for atcoder-cli and atcoder-tools configuration files
3
+ */
4
+ export interface AtCoderCliContestConfig {
5
+ contest: {
6
+ id: string;
7
+ title: string;
8
+ url: string;
9
+ };
10
+ tasks: AtCoderCliTask[];
11
+ }
12
+ export interface AtCoderCliTask {
13
+ id: string;
14
+ label: string;
15
+ title: string;
16
+ url: string;
17
+ directory?: {
18
+ path: string;
19
+ testdir: string;
20
+ submit: string;
21
+ };
22
+ }
23
+ export interface AtCoderToolsMetadata {
24
+ code_filename: string;
25
+ judge: {
26
+ judge_type: string;
27
+ };
28
+ lang: string;
29
+ problem: {
30
+ alphabet: string;
31
+ contest: {
32
+ contest_id: string;
33
+ };
34
+ problem_id: string;
35
+ url?: string;
36
+ };
37
+ sample_in_pattern: string;
38
+ sample_out_pattern: string;
39
+ timeout_ms: number;
40
+ }
41
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAGD,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE;YACP,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Type definitions for atcoder-cli and atcoder-tools configuration files
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "atcoder-gui",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Browser automation tool for AtCoder with CLI interface",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
@@ -26,13 +26,20 @@
26
26
  "start": "tsx src/main.ts",
27
27
  "start:built": "node dist/main.js",
28
28
  "clean": "rm -rf dist",
29
- "prepublishOnly": "npm run clean && npm run build && npm run test:run && npm run lint"
29
+ "prepublishOnly": "pnpm run clean && pnpm run build && pnpm run test:run && pnpm run lint"
30
30
  },
31
31
  "repository": {
32
32
  "type": "git",
33
33
  "url": "git+https://github.com/firewood/atcoder-gui.git"
34
34
  },
35
- "keywords": ["atcoder", "browser-automation", "cli", "competitive-programming", "playwright", "typescript"],
35
+ "keywords": [
36
+ "atcoder",
37
+ "browser-automation",
38
+ "cli",
39
+ "competitive-programming",
40
+ "playwright",
41
+ "typescript"
42
+ ],
36
43
  "author": "firewood <174658+firewood@users.noreply.github.com>",
37
44
  "license": "MIT",
38
45
  "bugs": {
@@ -41,6 +48,7 @@
41
48
  "homepage": "https://github.com/firewood/atcoder-gui#readme",
42
49
  "dependencies": {
43
50
  "conf": "^15.0.2",
51
+ "globals": "^16.5.0",
44
52
  "json5": "^2.2.3",
45
53
  "playwright": "^1.56.1"
46
54
  },