atcoder-gui 0.1.7 → 1.1.0

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.
Files changed (105) hide show
  1. package/README.md +7 -0
  2. package/dist/analyzer/analyzer.d.ts +16 -0
  3. package/dist/analyzer/analyzer.d.ts.map +1 -0
  4. package/dist/analyzer/analyzer.js +379 -0
  5. package/dist/analyzer/analyzer.js.map +1 -0
  6. package/dist/analyzer/html-parser.d.ts +24 -0
  7. package/dist/analyzer/html-parser.d.ts.map +1 -0
  8. package/dist/analyzer/html-parser.js +214 -0
  9. package/dist/analyzer/html-parser.js.map +1 -0
  10. package/dist/analyzer/index.d.ts +7 -0
  11. package/dist/analyzer/index.d.ts.map +1 -0
  12. package/dist/analyzer/index.js +7 -0
  13. package/dist/analyzer/index.js.map +1 -0
  14. package/dist/analyzer/lexer.d.ts +14 -0
  15. package/dist/analyzer/lexer.d.ts.map +1 -0
  16. package/dist/analyzer/lexer.js +133 -0
  17. package/dist/analyzer/lexer.js.map +1 -0
  18. package/dist/analyzer/match.d.ts +7 -0
  19. package/dist/analyzer/match.d.ts.map +1 -0
  20. package/dist/analyzer/match.js +133 -0
  21. package/dist/analyzer/match.js.map +1 -0
  22. package/dist/analyzer/parser.d.ts +20 -0
  23. package/dist/analyzer/parser.d.ts.map +1 -0
  24. package/dist/analyzer/parser.js +135 -0
  25. package/dist/analyzer/parser.js.map +1 -0
  26. package/dist/analyzer/types.d.ts +54 -0
  27. package/dist/analyzer/types.d.ts.map +1 -0
  28. package/dist/analyzer/types.js +10 -0
  29. package/dist/analyzer/types.js.map +1 -0
  30. package/dist/analyzer/typing.d.ts +10 -0
  31. package/dist/analyzer/typing.d.ts.map +1 -0
  32. package/dist/analyzer/typing.js +246 -0
  33. package/dist/analyzer/typing.js.map +1 -0
  34. package/dist/browser.d.ts +12 -0
  35. package/dist/browser.d.ts.map +1 -1
  36. package/dist/browser.js +26 -1
  37. package/dist/browser.js.map +1 -1
  38. package/dist/build.d.ts +7 -0
  39. package/dist/build.d.ts.map +1 -0
  40. package/dist/build.js +40 -0
  41. package/dist/build.js.map +1 -0
  42. package/dist/config.d.ts +10 -2
  43. package/dist/config.d.ts.map +1 -1
  44. package/dist/config.js +31 -18
  45. package/dist/config.js.map +1 -1
  46. package/dist/config.json5 +16 -1
  47. package/dist/gen.d.ts +6 -12
  48. package/dist/gen.d.ts.map +1 -1
  49. package/dist/gen.js +153 -66
  50. package/dist/gen.js.map +1 -1
  51. package/dist/generator/checker.d.ts +2 -0
  52. package/dist/generator/checker.d.ts.map +1 -0
  53. package/dist/generator/checker.js +64 -0
  54. package/dist/generator/checker.js.map +1 -0
  55. package/dist/generator/cplusplus.d.ts +14 -0
  56. package/dist/generator/cplusplus.d.ts.map +1 -0
  57. package/dist/generator/cplusplus.js +43 -0
  58. package/dist/generator/cplusplus.js.map +1 -0
  59. package/dist/generator/fetcher.d.ts +2 -0
  60. package/dist/generator/fetcher.d.ts.map +1 -0
  61. package/dist/generator/fetcher.js +39 -0
  62. package/dist/generator/fetcher.js.map +1 -0
  63. package/dist/generator/pipeline.d.ts +25 -0
  64. package/dist/generator/pipeline.d.ts.map +1 -0
  65. package/dist/generator/pipeline.js +85 -0
  66. package/dist/generator/pipeline.js.map +1 -0
  67. package/dist/generator/python.d.ts +14 -0
  68. package/dist/generator/python.d.ts.map +1 -0
  69. package/dist/generator/python.js +41 -0
  70. package/dist/generator/python.js.map +1 -0
  71. package/dist/generator/types.d.ts +79 -0
  72. package/dist/generator/types.d.ts.map +1 -0
  73. package/dist/generator/types.js +2 -0
  74. package/dist/generator/types.js.map +1 -0
  75. package/dist/generator/universal.d.ts +35 -0
  76. package/dist/generator/universal.d.ts.map +1 -0
  77. package/dist/generator/universal.js +524 -0
  78. package/dist/generator/universal.js.map +1 -0
  79. package/dist/generator/variable-extractor.d.ts +16 -0
  80. package/dist/generator/variable-extractor.d.ts.map +1 -0
  81. package/dist/generator/variable-extractor.js +103 -0
  82. package/dist/generator/variable-extractor.js.map +1 -0
  83. package/dist/main.d.ts +3 -1
  84. package/dist/main.d.ts.map +1 -1
  85. package/dist/main.js +103 -102
  86. package/dist/main.js.map +1 -1
  87. package/dist/submit.d.ts +3 -2
  88. package/dist/submit.d.ts.map +1 -1
  89. package/dist/submit.js +48 -33
  90. package/dist/submit.js.map +1 -1
  91. package/dist/test.d.ts +10 -0
  92. package/dist/test.d.ts.map +1 -0
  93. package/dist/test.js +127 -0
  94. package/dist/test.js.map +1 -0
  95. package/dist/tests/batch_check.d.ts +2 -0
  96. package/dist/tests/batch_check.d.ts.map +1 -0
  97. package/dist/tests/batch_check.js +46 -0
  98. package/dist/tests/batch_check.js.map +1 -0
  99. package/dist/types.d.ts +2 -0
  100. package/dist/types.d.ts.map +1 -1
  101. package/dist/utils.d.ts +12 -0
  102. package/dist/utils.d.ts.map +1 -1
  103. package/dist/utils.js +32 -0
  104. package/dist/utils.js.map +1 -1
  105. package/package.json +21 -4
@@ -0,0 +1,103 @@
1
+ import { VarType, } from "../analyzer/types.js";
2
+ export class VariableExtractor {
3
+ vars = new Map();
4
+ collapsedVars = new Set();
5
+ setCollapsedVars(collapsedVars) {
6
+ this.collapsedVars = collapsedVars;
7
+ }
8
+ extract(node) {
9
+ this.visit(node, []);
10
+ }
11
+ visit(node, loops) {
12
+ if (!node)
13
+ return;
14
+ if (node.type === "format") {
15
+ node.children.forEach((c) => this.visit(c, loops));
16
+ }
17
+ else if (node.type === "loop") {
18
+ const loop = node;
19
+ // Visit bounds first
20
+ this.visit(loop.start, loops);
21
+ this.visit(loop.end, loops);
22
+ // Visit body with updated loop stack
23
+ loop.body.forEach((c) => this.visit(c, [...loops, loop]));
24
+ }
25
+ else if (node.type === "item") {
26
+ const item = node;
27
+ const existing = this.vars.get(item.name) || {
28
+ dims: 0,
29
+ indices: [],
30
+ loopDepth: 0,
31
+ };
32
+ const currentLoopDepth = loops.length;
33
+ // We only update if we find a usage with MORE dimensions, or if it's new.
34
+ // Usually the usage with most dimensions defines the array.
35
+ // E.g. A_i ... A_N implies A is vector.
36
+ if (item.indices.length >= existing.dims) {
37
+ const indices = [];
38
+ for (const idx of item.indices) {
39
+ let resolvedSize = idx;
40
+ // Try to resolve index to a loop bound
41
+ // Heuristic: if index is a simple variable and matches a loop variable, use loop end
42
+ if (idx.type === "item") {
43
+ const idxName = idx.name;
44
+ const loop = loops.find((l) => l.variable === idxName);
45
+ if (loop) {
46
+ resolvedSize = loop.end;
47
+ }
48
+ }
49
+ indices.push(resolvedSize);
50
+ }
51
+ // Keep the MAX loop depth seen for this variable (or should we strictly bind depth to definition?)
52
+ // If defined in Loop, depth is > 0.
53
+ // We use the depth at the point of definition (maximum dimensions).
54
+ this.vars.set(item.name, {
55
+ dims: item.indices.length,
56
+ indices,
57
+ loopDepth: currentLoopDepth,
58
+ });
59
+ }
60
+ }
61
+ else if (node.type === "binop") {
62
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
63
+ const bin = node;
64
+ this.visit(bin.left, loops);
65
+ this.visit(bin.right, loops);
66
+ }
67
+ }
68
+ getVariables(types) {
69
+ return Array.from(this.vars.entries()).map(([name, info]) => {
70
+ let dims = info.dims;
71
+ let indices = info.indices;
72
+ const type = types[name] || VarType.ValueInt;
73
+ // Rule 1: Explicitly collapsed variables (Standard match failed, Collapse succeeded)
74
+ if (this.collapsedVars.has(name) && dims > 0) {
75
+ dims -= 1;
76
+ indices = indices.slice(0, -1);
77
+ }
78
+ // Rule 2: String anomaly (Standard match succeeded, but Analyzer produced disconnected dimensions)
79
+ // If type is String, and dimensions exceed the loop depth, it implies we are indexing implicitly into the string.
80
+ // e.g. loops=1, indices=2 (S[N][i]). This means S[i] is a string. We drop the extra index.
81
+ else if (type === VarType.String && dims > info.loopDepth) {
82
+ // const excess = dims - info.loopDepth;
83
+ dims = info.loopDepth;
84
+ // Keep the last 'dims' indices (assuming loop vars are inner)
85
+ // E.g. [N, i], depth=1. excess=1. slice(-1) -> [i].
86
+ // If depth=0 (scalar usage outside loop), but indices=1? -> dims=0.
87
+ if (dims === 0) {
88
+ indices = [];
89
+ }
90
+ else {
91
+ indices = indices.slice(-dims);
92
+ }
93
+ }
94
+ return {
95
+ name,
96
+ type,
97
+ dims,
98
+ indices,
99
+ };
100
+ });
101
+ }
102
+ }
103
+ //# sourceMappingURL=variable-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-extractor.js","sourceRoot":"","sources":["../../src/generator/variable-extractor.ts"],"names":[],"mappings":"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"}
package/dist/main.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  #!/usr/bin/env node
2
- import { AppConfig } from './config.js';
2
+ import { AppConfig } from "./config.js";
3
3
  export declare class AtCoderGUI {
4
4
  private browserManager;
5
5
  private configManager;
6
6
  private submitManager;
7
7
  private cookieExporter;
8
8
  private genManager;
9
+ private buildManager;
10
+ private testManager;
9
11
  private problemManager;
10
12
  private rl;
11
13
  constructor();
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAMA,OAAO,EAAiB,SAAS,EAAE,MAAM,aAAa,CAAC;AAUvD,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,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,EAAE,CAAmC;;IAa7C;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;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;IAiD1C;;OAEG;YACW,aAAa;IAoI3B;;OAEG;IACH,OAAO,CAAC,QAAQ;CA+BjB"}
package/dist/main.js CHANGED
@@ -1,37 +1,49 @@
1
1
  #!/usr/bin/env node
2
- import * as readline from 'readline';
3
- import { pathToFileURL } from 'url';
4
- import * as fs from 'fs';
5
- import { BrowserManager } from './browser.js';
6
- import { ConfigManager } from './config.js';
7
- import { SubmitManager } from './submit.js';
8
- import { CookieExporter } from './cookie-export.js';
9
- import { GenManager } from './gen.js';
10
- import { ProblemManager } from './problem.js';
11
- import { execSync } from 'child_process';
2
+ import * as readline from "readline";
3
+ import { pathToFileURL } from "url";
4
+ import * as fs from "fs";
5
+ import { BrowserManager } from "./browser.js";
6
+ import { ConfigManager } from "./config.js";
7
+ import { SubmitManager } from "./submit.js";
8
+ import { CookieExporter } from "./cookie-export.js";
9
+ import { GenManager } from "./gen.js";
10
+ import { BuildManager } from "./build.js";
11
+ import { TestManager } from "./test.js";
12
+ import { ProblemManager } from "./problem.js";
13
+ import { expandHomeDir, compactHomeDir } from "./utils.js";
14
+ import { execSync } from "child_process";
12
15
  export class AtCoderGUI {
13
16
  browserManager;
14
17
  configManager;
15
18
  submitManager;
16
19
  cookieExporter;
17
20
  genManager;
21
+ buildManager;
22
+ testManager;
18
23
  problemManager;
19
24
  rl = null;
20
25
  constructor() {
21
26
  this.browserManager = new BrowserManager();
22
- this.configManager = new ConfigManager();
27
+ this.configManager = new ConfigManager(true);
23
28
  this.submitManager = new SubmitManager(this.browserManager);
24
29
  this.cookieExporter = new CookieExporter(this.browserManager);
25
- this.genManager = new GenManager(this.browserManager);
30
+ this.genManager = new GenManager(this.browserManager, this.configManager);
31
+ this.buildManager = new BuildManager(this.configManager);
32
+ this.testManager = new TestManager(this.configManager, this.buildManager);
26
33
  this.problemManager = new ProblemManager(this.browserManager);
27
34
  }
28
35
  /**
29
36
  * Initialize the application
30
37
  */
31
38
  async init() {
32
- await this.browserManager.launch(this.getConfig());
33
- const url = this.getConfig().defaultUrl || 'https://atcoder.jp';
34
- await this.browserManager.openUrl(url);
39
+ try {
40
+ await this.browserManager.launch(this.getConfig());
41
+ const url = this.getConfig().defaultUrl || "https://atcoder.jp";
42
+ await this.browserManager.openUrl(url);
43
+ }
44
+ catch (error) {
45
+ console.warn("Warning: Failed to launch browser. Some commands may not work.", error);
46
+ }
35
47
  }
36
48
  /**
37
49
  * Open a URL in the browser
@@ -72,30 +84,35 @@ export class AtCoderGUI {
72
84
  this.rl = readline.createInterface({
73
85
  input: process.stdin,
74
86
  output: process.stdout,
75
- prompt: 'command> '
87
+ prompt: "command> ",
76
88
  });
77
89
  this.browserManager.setOnPageClose(() => {
78
90
  this.rl?.close();
79
91
  });
92
+ const workspaceDir = this.getConfig().workspaceDir;
93
+ if (workspaceDir) {
94
+ process.chdir(expandHomeDir(workspaceDir));
95
+ console.log(`Current directory: ${compactHomeDir(process.cwd())}`);
96
+ }
80
97
  console.log('Type "help" for available commands or "exit" to quit');
81
98
  this.rl.prompt();
82
- this.rl.on('line', async (input) => {
99
+ this.rl.on("line", async (input) => {
83
100
  const trimmedInput = input.trim();
84
- if (trimmedInput === '') {
101
+ if (trimmedInput === "") {
85
102
  this.rl.prompt();
86
103
  return;
87
104
  }
88
105
  await this.handleCommand(trimmedInput);
89
106
  this.rl.prompt();
90
107
  });
91
- this.rl.on('close', async () => {
92
- console.log('\nGoodbye!');
108
+ this.rl.on("close", async () => {
109
+ console.log("\nGoodbye!");
93
110
  await this.close();
94
111
  process.exit(0);
95
112
  });
96
113
  // Handle Ctrl+C
97
- process.on('SIGINT', async () => {
98
- console.log('\nShutting down...');
114
+ process.on("SIGINT", async () => {
115
+ console.log("\nShutting down...");
99
116
  await this.close();
100
117
  process.exit(0);
101
118
  });
@@ -104,9 +121,9 @@ export class AtCoderGUI {
104
121
  * Handle CLI commands
105
122
  */
106
123
  async handleCommand(input) {
107
- const args = input.split(' ').filter(arg => arg.length > 0);
124
+ const args = input.split(" ").filter((arg) => arg.length > 0);
108
125
  const command = args[0].toLowerCase();
109
- if (command == '') {
126
+ if (command == "") {
110
127
  return;
111
128
  }
112
129
  // Try to navigate to problem directory if command is a single letter
@@ -115,129 +132,113 @@ export class AtCoderGUI {
115
132
  }
116
133
  try {
117
134
  switch (command) {
118
- case 'open':
135
+ case "open":
119
136
  if (args.length < 2) {
120
- console.log('Error: URL is required for open command');
121
- console.log('Usage: open <URL>');
137
+ console.log("Error: URL is required for open command");
138
+ console.log("Usage: open <URL>");
122
139
  return;
123
140
  }
124
141
  await this.openUrl(args[1]);
125
142
  break;
126
- case 'config':
127
- console.log('Current configuration:');
143
+ case "config":
144
+ console.log("Current configuration:");
128
145
  console.log(JSON.stringify(this.getConfig(), null, 2));
129
146
  break;
130
- case 'help':
147
+ case "help":
131
148
  this.showHelp();
132
149
  break;
133
- case 'exit':
134
- case 'quit':
150
+ case "exit":
151
+ case "quit":
135
152
  this.rl?.close();
136
153
  break;
137
- case 'acc':
138
- case 'oj':
154
+ case "acc":
155
+ case "oj":
139
156
  {
140
- const command_line = args.join(' ');
157
+ const command_line = args.join(" ");
141
158
  try {
142
- execSync(command_line, { encoding: 'utf-8', stdio: 'inherit' });
143
- }
144
- catch (_) {
145
- ;
159
+ execSync(command_line, { encoding: "utf-8", stdio: "inherit" });
146
160
  }
161
+ catch (_) { }
147
162
  }
148
163
  break;
149
- case 'export':
164
+ case "export":
150
165
  if (args.length < 2) {
151
- console.log('Error: Target is required for export command');
152
- console.log('Usage: export <target>');
153
- console.log('Available targets:');
154
- console.log(' atcoder-tools Export cookies to atcoder-tools cookie.txt');
155
- console.log(' atcoder-cli Export cookies to atcoder-cli session.json');
156
- console.log(' oj Export cookies to online-judge-tools cookie.jar');
166
+ console.log("Error: Target is required for export command");
167
+ console.log("Usage: export <target>");
168
+ console.log("Available targets:");
169
+ console.log(" atcoder-tools Export cookies to atcoder-tools cookie.txt");
170
+ console.log(" atcoder-cli Export cookies to atcoder-cli session.json");
171
+ console.log(" oj Export cookies to online-judge-tools cookie.jar");
157
172
  return;
158
173
  }
159
174
  {
160
175
  const target = args[1].toLowerCase();
161
176
  switch (target) {
162
- case 'atcoder-tools':
177
+ case "atcoder-tools":
163
178
  await this.cookieExporter.exportCookiesForAtCoderTools();
164
179
  break;
165
- case 'atcoder-cli':
180
+ case "atcoder-cli":
166
181
  await this.cookieExporter.exportCookiesForAtCoderCli();
167
182
  break;
168
- case 'oj':
183
+ case "oj":
169
184
  await this.cookieExporter.exportCookiesForOj();
170
185
  break;
171
186
  default:
172
187
  console.log(`Unknown export target: ${target}`);
173
- console.log('Available targets: atcoder-tools, atcoder-cli, oj');
188
+ console.log("Available targets: atcoder-tools, atcoder-cli, oj");
174
189
  }
175
190
  }
176
191
  break;
177
- case 'gen':
178
- this.genManager.run(args);
192
+ case "build":
193
+ await this.buildManager.run(args);
179
194
  break;
180
- case 'new':
181
- this.genManager.runAtcoderCli(args);
195
+ case "gen":
196
+ await this.genManager.run(args);
182
197
  break;
183
- case 'cp':
184
- case 'copy':
185
- case 'del':
186
- case 'dir':
187
- case 'ls':
188
- case 'make':
189
- case 'pwd':
190
- case 'rm':
198
+ case "cp":
199
+ case "copy":
200
+ case "del":
201
+ case "dir":
202
+ case "ls":
203
+ case "make":
204
+ case "pwd":
205
+ case "rm":
191
206
  {
192
- const command_line = args.join(' ');
207
+ const command_line = args.join(" ");
193
208
  try {
194
- execSync(command_line, { encoding: 'utf-8', stdio: 'inherit' });
195
- }
196
- catch (_) {
197
- ;
209
+ execSync(command_line, { encoding: "utf-8", stdio: "inherit" });
198
210
  }
211
+ catch (_) { }
199
212
  }
200
213
  break;
201
- case 'submit':
202
- await this.submitManager.submitSolution();
214
+ case "submit":
215
+ if (!(await this.submitManager.submitSolution(args[1]))) {
216
+ break;
217
+ }
203
218
  // eslint-disable-next-line no-fallthrough
204
- case 'test':
219
+ case "test":
220
+ await this.testManager.run(args);
221
+ break;
222
+ case "cd":
205
223
  {
206
- const testCommand = this.getConfig().testCommand;
207
- if (testCommand) {
208
- try {
209
- execSync(testCommand, { encoding: 'utf-8', stdio: 'inherit' });
210
- }
211
- catch (_) {
212
- ;
213
- }
224
+ const dir = args.length >= 2 ? args[1] : this.getConfig().workspaceDir || "~";
225
+ const expandedDir = expandHomeDir(dir);
226
+ try {
227
+ process.chdir(expandedDir);
228
+ console.log(`Current directory: ${compactHomeDir(process.cwd())}`);
214
229
  }
215
- else {
216
- console.log('Error: testCommand is not configured in config.json5');
230
+ catch (err) {
231
+ console.error(`Error changing directory: ${err}`);
217
232
  }
218
233
  }
219
234
  break;
220
- case 'cd':
221
- if (args.length < 2) {
222
- console.log('Error: Directory is required for cd command');
223
- console.log('Usage: cd <directory>');
224
- return;
225
- }
226
- try {
227
- process.chdir(args[1]);
228
- console.log(`Current directory: ${process.cwd()}`);
229
- }
230
- catch (err) {
231
- console.error(`Error changing directory: ${err}`);
232
- }
233
- break;
234
235
  default:
235
236
  console.log(`Unknown command: ${command}`);
236
237
  console.log('Type "help" for available commands');
237
238
  }
238
239
  }
239
240
  catch (error) {
240
- console.error('Error:', error);
241
+ console.error("Error:", error);
241
242
  }
242
243
  }
243
244
  /**
@@ -248,11 +249,11 @@ export class AtCoderGUI {
248
249
  Available commands:
249
250
  open <URL> Open a URL in the browser
250
251
  config Show current configuration
251
- submit Submit solution to AtCoder (requires metadata.json and main.cpp)
252
- gen <contest-id> Generate sample cases using atcoder-tools
253
- new <contest-id> Generate sample cases using atcoder-cli
252
+ submit <filename> Submit solution to AtCoder
253
+ gen <contest-id> Generate main.cpp from current problem page or contest ID
254
254
  make <args> Execute make command
255
255
  test Execute test command
256
+ build Build the source code specified in metadata.json
256
257
  export <target> Export data to external tools
257
258
  cd <directory> Change current directory
258
259
  close Close the browser (if running)
@@ -287,12 +288,12 @@ async function ui_main() {
287
288
  */
288
289
  async function main() {
289
290
  const args = process.argv.slice(2);
290
- const configManager = new ConfigManager();
291
- if (args.includes('version') || args.includes('--version') || args.includes('-v')) {
291
+ const configManager = new ConfigManager(true);
292
+ if (args.includes("version") || args.includes("--version") || args.includes("-v")) {
292
293
  console.log(configManager.getVersion());
293
294
  return;
294
295
  }
295
- if (args.includes('config-dir') || args.includes('--config-dir')) {
296
+ if (args.includes("config-dir") || args.includes("--config-dir")) {
296
297
  console.log(configManager.getConfigDirPath());
297
298
  return;
298
299
  }
@@ -301,7 +302,7 @@ async function main() {
301
302
  // Run the CLI if this file is executed directly
302
303
  if (import.meta.url === pathToFileURL(fs.realpathSync(process.argv[1])).href) {
303
304
  main().catch((error) => {
304
- console.error('Fatal error:', error);
305
+ console.error("Fatal error:", error);
305
306
  process.exit(1);
306
307
  });
307
308
  }
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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"}
package/dist/submit.d.ts CHANGED
@@ -1,11 +1,12 @@
1
- import { BrowserManager } from './browser.js';
1
+ import { BrowserManager } from "./browser.js";
2
2
  export declare class SubmitManager {
3
3
  private browserManager;
4
4
  constructor(browserManager: BrowserManager);
5
5
  /**
6
6
  * Submit solution to AtCoder
7
7
  */
8
- submitSolution(): Promise<void>;
8
+ submitSolution(filename: string | undefined): Promise<boolean>;
9
+ private pasteToBrowser;
9
10
  /**
10
11
  * Parse metadata.json to extract contest_id and problem_id
11
12
  */
@@ -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;IAuCrC;;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":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,qBAAa,aAAa;IACxB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;YAsCtD,cAAc;IAqB5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;YACW,kBAAkB;CAyBjC"}