aoaoe 0.2.0 → 0.5.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.
package/README.md CHANGED
@@ -51,14 +51,32 @@ npm link
51
51
  # 1. Make sure you have AoE sessions running
52
52
  aoe
53
53
 
54
- # 2. Start the supervisor
54
+ # 2. Register aoaoe as an AoE session (one-time setup)
55
+ aoaoe register
56
+
57
+ # 3. Start the supervisor daemon
55
58
  aoaoe
56
59
 
57
- # 3. Or specify a reasoning backend
60
+ # 4. Start the aoaoe session in AoE, then enter it via AoE's TUI
61
+ aoe session start aoaoe
62
+ aoe # select "aoaoe" to chat with the reasoner
63
+
64
+ # Or specify a reasoning backend
58
65
  aoaoe --reasoner opencode
59
66
  aoaoe --reasoner claude-code
60
67
  ```
61
68
 
69
+ ### Register as an AoE Session
70
+
71
+ `aoaoe register` adds aoaoe to your AoE session list so you can enter it just like any other agent. Inside the session you get an interactive chat where you can send messages to the reasoner, see observations, and watch decisions in real time.
72
+
73
+ ```bash
74
+ aoaoe register # register with default title "aoaoe"
75
+ aoaoe register --title my-brain # custom title
76
+ ```
77
+
78
+ The session runs an interactive chat (chat.ts) inside the AoE-managed tmux pane. The daemon reads your messages from `~/.aoaoe/pending-input.txt` and writes observations and decisions to `~/.aoaoe/conversation.log`.
79
+
62
80
  ## How It Works
63
81
 
64
82
  ```
@@ -212,22 +230,34 @@ AoE sessions are named `aoe_<sanitized_title>_<first8_of_id>` in tmux. State is
212
230
 
213
231
  ```
214
232
  src/
215
- index.ts # entry point, daemon loop
233
+ index.ts # entry point, daemon loop, register/attach subcommands
234
+ chat.ts # interactive chat for AoE-managed tmux pane
216
235
  config.ts # config loader and validation
236
+ console.ts # conversation log + input IPC (file-based)
217
237
  poller.ts # aoe CLI + tmux capture-pane wrapper
218
238
  executor.ts # maps action decisions to shell commands
239
+ dashboard.ts # periodic CLI status table
240
+ input.ts # stdin readline listener
241
+ shell.ts # exec() wrappers
242
+ types.ts # shared types (SessionSnapshot, Action, etc.)
219
243
  reasoner/
220
244
  index.ts # common Reasoner interface
245
+ prompt.ts # system prompt + observation formatting
221
246
  opencode.ts # OpenCode SDK backend
222
247
  claude-code.ts # Claude Code CLI backend
223
- types.ts # shared types (SessionSnapshot, Action, etc.)
224
248
  ```
225
249
 
226
- ## CLI Flags
250
+ ## CLI
227
251
 
228
252
  ```
229
- aoaoe [options]
253
+ aoaoe [command] [options]
254
+
255
+ commands:
256
+ (none) start the daemon
257
+ attach enter the reasoner console (Ctrl+B D to detach)
258
+ register register aoaoe as an AoE session (appears in aoe list)
230
259
 
260
+ options:
231
261
  --reasoner <opencode|claude-code> reasoning backend (default: opencode)
232
262
  --poll-interval <ms> poll interval in ms (default: 10000)
233
263
  --port <number> opencode server port (default: 4097)
@@ -235,6 +265,18 @@ aoaoe [options]
235
265
  --profile <name> aoe profile (default: default)
236
266
  --dry-run observe + reason but don't execute
237
267
  --verbose, -v verbose logging
268
+
269
+ register options:
270
+ --title, -t <name> session title in AoE (default: aoaoe)
271
+
272
+ chat commands (inside AoE session):
273
+ /help show available commands
274
+ /status request daemon status
275
+ /dashboard request dashboard output
276
+ /pause pause the daemon
277
+ /resume resume the daemon
278
+ /clear clear the screen
279
+ (anything) send a message to the reasoner
238
280
  ```
239
281
 
240
282
  Action history is persisted to `~/.aoaoe/actions.log` (JSONL format).
package/dist/chat.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":""}
package/dist/chat.js ADDED
@@ -0,0 +1,317 @@
1
+ #!/usr/bin/env node
2
+ // chat.ts -- standalone interactive chat that runs inside an AoE-managed tmux pane
3
+ // this is the program that --cmd_override points to when aoaoe registers itself as an AoE session.
4
+ // it reads conversation.log for history display, writes user input to pending-input.txt,
5
+ // and the daemon picks it up on the next poll cycle.
6
+ //
7
+ // features:
8
+ // - live countdown to next reasoning cycle (reads daemon-state.json every 1s)
9
+ // - per-pane task display (/tasks command)
10
+ // - ESC-ESC to interrupt the current reasoner (like OpenCode)
11
+ import { createInterface, emitKeypressEvents } from "node:readline";
12
+ import { appendFileSync, writeFileSync, existsSync, mkdirSync, watchFile, unwatchFile, readFileSync, statSync, openSync, readSync, closeSync, unlinkSync } from "node:fs";
13
+ import { join } from "node:path";
14
+ import { homedir } from "node:os";
15
+ import { readState, requestInterrupt } from "./daemon-state.js";
16
+ const AOAOE_DIR = join(homedir(), ".aoaoe");
17
+ const CONVO_LOG = join(AOAOE_DIR, "conversation.log");
18
+ const INPUT_FILE = join(AOAOE_DIR, "pending-input.txt");
19
+ const PID_FILE = join(AOAOE_DIR, "chat.pid");
20
+ // ANSI helpers
21
+ const DIM = "\x1b[2m";
22
+ const BOLD = "\x1b[1m";
23
+ const GREEN = "\x1b[32m";
24
+ const CYAN = "\x1b[36m";
25
+ const YELLOW = "\x1b[33m";
26
+ const RED = "\x1b[31m";
27
+ const MAGENTA = "\x1b[35m";
28
+ const RESET = "\x1b[0m";
29
+ const SAVE_CURSOR = "\x1b7";
30
+ const RESTORE_CURSOR = "\x1b8";
31
+ const CLEAR_LINE = "\x1b[2K";
32
+ // ESC-ESC interrupt detection
33
+ let lastEscTime = 0;
34
+ const ESC_DOUBLE_TAP_MS = 500;
35
+ function main() {
36
+ mkdirSync(AOAOE_DIR, { recursive: true });
37
+ // write PID so daemon can detect we're running
38
+ writeFileSync(PID_FILE, String(process.pid));
39
+ // print banner
40
+ console.log(`${BOLD}${CYAN}aoaoe reasoner chat${RESET}`);
41
+ console.log(`${DIM}messages you type here are sent to the reasoner on the next poll cycle${RESET}`);
42
+ console.log(`${DIM}the daemon writes observations and decisions to this view${RESET}`);
43
+ console.log(`${DIM}type /help for commands, ESC ESC to interrupt reasoner, Ctrl+C to exit${RESET}`);
44
+ console.log();
45
+ // replay existing conversation log
46
+ replayLog();
47
+ // watch conversation.log for new content and stream it
48
+ let lastSize = existsSync(CONVO_LOG) ? statSync(CONVO_LOG).size : 0;
49
+ watchFile(CONVO_LOG, { interval: 500 }, (curr) => {
50
+ if (curr.size > lastSize) {
51
+ // read only new bytes
52
+ const fd = openSync(CONVO_LOG, "r");
53
+ const buf = Buffer.alloc(curr.size - lastSize);
54
+ readSync(fd, buf, 0, buf.length, lastSize);
55
+ closeSync(fd);
56
+ const newText = buf.toString("utf-8");
57
+ // move cursor to start of line, clear it, print new content, then re-show prompt
58
+ process.stdout.write(`\r\x1b[K${colorize(newText)}`);
59
+ rl.prompt(true);
60
+ lastSize = curr.size;
61
+ }
62
+ });
63
+ // set up keypress events for ESC-ESC detection
64
+ if (process.stdin.isTTY) {
65
+ emitKeypressEvents(process.stdin);
66
+ process.stdin.on("keypress", (_ch, key) => {
67
+ if (key?.name === "escape" || key?.sequence === "\x1b") {
68
+ const now = Date.now();
69
+ if (now - lastEscTime < ESC_DOUBLE_TAP_MS) {
70
+ // double-ESC detected -- interrupt the reasoner
71
+ handleInterrupt();
72
+ lastEscTime = 0;
73
+ }
74
+ else {
75
+ lastEscTime = now;
76
+ }
77
+ }
78
+ else {
79
+ // any other key resets the ESC timer
80
+ lastEscTime = 0;
81
+ }
82
+ });
83
+ }
84
+ // interactive readline
85
+ const rl = createInterface({
86
+ input: process.stdin,
87
+ output: process.stdout,
88
+ prompt: `${GREEN}>${RESET} `,
89
+ terminal: true,
90
+ });
91
+ rl.prompt();
92
+ // live status bar -- update every second
93
+ const statusInterval = setInterval(() => {
94
+ renderStatusBar(rl);
95
+ }, 1000);
96
+ rl.on("line", (line) => {
97
+ const trimmed = line.trim();
98
+ if (!trimmed) {
99
+ rl.prompt();
100
+ return;
101
+ }
102
+ // handle local commands
103
+ if (trimmed === "/help") {
104
+ printHelp();
105
+ rl.prompt();
106
+ return;
107
+ }
108
+ if (trimmed === "/status") {
109
+ appendToInput("__CMD_STATUS__");
110
+ console.log(`${DIM}status requested${RESET}`);
111
+ rl.prompt();
112
+ return;
113
+ }
114
+ if (trimmed === "/dashboard") {
115
+ appendToInput("__CMD_DASHBOARD__");
116
+ console.log(`${DIM}dashboard requested${RESET}`);
117
+ rl.prompt();
118
+ return;
119
+ }
120
+ if (trimmed === "/tasks") {
121
+ printTasks();
122
+ rl.prompt();
123
+ return;
124
+ }
125
+ if (trimmed === "/verbose") {
126
+ appendToInput("__CMD_VERBOSE__");
127
+ console.log(`${DIM}verbose toggled${RESET}`);
128
+ rl.prompt();
129
+ return;
130
+ }
131
+ if (trimmed === "/pause") {
132
+ appendToInput("__CMD_PAUSE__");
133
+ console.log(`${DIM}pause requested${RESET}`);
134
+ rl.prompt();
135
+ return;
136
+ }
137
+ if (trimmed === "/resume") {
138
+ appendToInput("__CMD_RESUME__");
139
+ console.log(`${DIM}resume requested${RESET}`);
140
+ rl.prompt();
141
+ return;
142
+ }
143
+ if (trimmed === "/interrupt") {
144
+ handleInterrupt();
145
+ rl.prompt();
146
+ return;
147
+ }
148
+ if (trimmed === "/clear") {
149
+ process.stdout.write("\x1b[2J\x1b[H");
150
+ rl.prompt();
151
+ return;
152
+ }
153
+ // regular message -- queue for reasoner
154
+ appendToInput(trimmed);
155
+ console.log(`${DIM}queued for next reasoning cycle${RESET}`);
156
+ rl.prompt();
157
+ });
158
+ rl.on("close", () => {
159
+ clearInterval(statusInterval);
160
+ cleanup();
161
+ process.exit(0);
162
+ });
163
+ process.on("SIGINT", () => {
164
+ clearInterval(statusInterval);
165
+ cleanup();
166
+ process.exit(0);
167
+ });
168
+ process.on("SIGTERM", () => {
169
+ clearInterval(statusInterval);
170
+ cleanup();
171
+ process.exit(0);
172
+ });
173
+ }
174
+ function handleInterrupt() {
175
+ const state = readState();
176
+ if (state?.phase === "reasoning") {
177
+ requestInterrupt();
178
+ console.log(`${RED}${BOLD}interrupting reasoner...${RESET}`);
179
+ console.log(`${DIM}type your message -- it will be sent before the next reasoning cycle${RESET}`);
180
+ }
181
+ else {
182
+ console.log(`${DIM}no active reasoning to interrupt (phase: ${state?.phase ?? "unknown"})${RESET}`);
183
+ }
184
+ }
185
+ // render a status bar showing countdown, phase, and session count
186
+ function renderStatusBar(rl) {
187
+ const state = readState();
188
+ if (!state)
189
+ return;
190
+ const parts = [];
191
+ // phase indicator
192
+ const phaseIcons = {
193
+ sleeping: "zzz",
194
+ polling: "...",
195
+ reasoning: "thinking",
196
+ executing: "running",
197
+ interrupted: "INTERRUPTED",
198
+ };
199
+ const phaseStr = phaseIcons[state.phase] ?? state.phase;
200
+ // countdown to next tick
201
+ if (state.phase === "sleeping" && state.nextTickAt) {
202
+ const remaining = Math.max(0, Math.ceil((state.nextTickAt - Date.now()) / 1000));
203
+ parts.push(`next cycle: ${remaining}s`);
204
+ }
205
+ else if (state.phase === "reasoning") {
206
+ const elapsed = Math.floor((Date.now() - state.phaseStartedAt) / 1000);
207
+ parts.push(`reasoning: ${elapsed}s`);
208
+ }
209
+ else {
210
+ parts.push(phaseStr);
211
+ }
212
+ // session count
213
+ parts.push(`${state.sessionCount} sessions`);
214
+ if (state.paused)
215
+ parts.push("PAUSED");
216
+ parts.push(`poll #${state.pollCount}`);
217
+ const statusLine = parts.join(" | ");
218
+ // write status to terminal title (visible in tmux pane title)
219
+ process.stdout.write(`\x1b]0;aoaoe: ${statusLine}\x07`);
220
+ // also write a status line above the prompt using save/restore cursor
221
+ // this overwrites the line above the current prompt
222
+ process.stderr.write(`${SAVE_CURSOR}\x1b[s` + // save position
223
+ `\x1b[1A` + // move up one line
224
+ `\r${CLEAR_LINE}` + // clear that line
225
+ `${DIM}[${statusLine}]${RESET}` +
226
+ `\x1b[u${RESTORE_CURSOR}` // restore position
227
+ );
228
+ }
229
+ function printTasks() {
230
+ const state = readState();
231
+ if (!state || state.sessions.length === 0) {
232
+ console.log(`${DIM}no active sessions${RESET}`);
233
+ return;
234
+ }
235
+ console.log(`\n${BOLD}session tasks:${RESET}`);
236
+ for (const s of state.sessions) {
237
+ const statusIcon = s.status === "working" ? "~" : s.status === "idle" ? "." : s.status === "error" ? "!" : "?";
238
+ const task = s.currentTask ?? `${DIM}(no task assigned)${RESET}`;
239
+ const activity = s.lastActivity
240
+ ? `${DIM}last: ${s.lastActivity.slice(0, 60)}${RESET}`
241
+ : "";
242
+ console.log(` ${statusIcon} ${BOLD}${s.title}${RESET} [${s.tool}] ${s.id.slice(0, 8)}`);
243
+ console.log(` task: ${task}`);
244
+ if (activity)
245
+ console.log(` ${activity}`);
246
+ }
247
+ console.log();
248
+ }
249
+ function appendToInput(msg) {
250
+ try {
251
+ appendFileSync(INPUT_FILE, msg + "\n");
252
+ }
253
+ catch {
254
+ // ignore write errors
255
+ }
256
+ }
257
+ function replayLog() {
258
+ if (!existsSync(CONVO_LOG))
259
+ return;
260
+ try {
261
+ const content = readFileSync(CONVO_LOG, "utf-8");
262
+ if (content.trim()) {
263
+ process.stdout.write(colorize(content));
264
+ console.log(`${DIM}--- end of history ---${RESET}\n`);
265
+ }
266
+ }
267
+ catch {
268
+ // ignore read errors
269
+ }
270
+ }
271
+ // colorize conversation log lines based on their tag
272
+ function colorize(text) {
273
+ return text.replace(/^(.*?\[)(observation|you|reasoner|action|\+ action|! action|system)(\].*$)/gm, (_, pre, tag, post) => {
274
+ switch (tag) {
275
+ case "observation": return `${DIM}${pre}${tag}${post}${RESET}`;
276
+ case "you": return `${GREEN}${pre}${tag}${post}${RESET}`;
277
+ case "reasoner": return `${CYAN}${pre}${tag}${post}${RESET}`;
278
+ case "+ action": return `${YELLOW}${pre}${tag}${post}${RESET}`;
279
+ case "! action": return `${RED}${pre}${tag}${post}${RESET}`;
280
+ case "system": return `${DIM}${pre}${tag}${post}${RESET}`;
281
+ default: return `${pre}${tag}${post}`;
282
+ }
283
+ });
284
+ }
285
+ function printHelp() {
286
+ console.log(`
287
+ ${BOLD}commands:${RESET}
288
+ /help show this help
289
+ /status request daemon status
290
+ /dashboard request dashboard output
291
+ /tasks show per-session task assignments
292
+ /verbose toggle verbose logging
293
+ /pause pause the daemon
294
+ /resume resume the daemon
295
+ /interrupt interrupt the current reasoner call
296
+ /clear clear the screen
297
+
298
+ ${BOLD}shortcuts:${RESET}
299
+ ESC ESC interrupt the current reasoner (same as /interrupt)
300
+
301
+ ${BOLD}anything else${RESET} is sent to the reasoner as an operator message
302
+ `);
303
+ }
304
+ function cleanup() {
305
+ unwatchFile(CONVO_LOG);
306
+ try {
307
+ // only remove PID file if it's still ours
308
+ if (existsSync(PID_FILE) && readFileSync(PID_FILE, "utf-8").trim() === String(process.pid)) {
309
+ unlinkSync(PID_FILE);
310
+ }
311
+ }
312
+ catch {
313
+ // ignore
314
+ }
315
+ }
316
+ main();
317
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -5,6 +5,9 @@ export declare function parseCliArgs(argv: string[]): {
5
5
  overrides: Partial<AoaoeConfig>;
6
6
  help: boolean;
7
7
  version: boolean;
8
+ attach: boolean;
9
+ register: boolean;
10
+ registerTitle?: string;
8
11
  };
9
12
  export declare function printHelp(): void;
10
13
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AA2B/D,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAqBxE;AAGD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB5E;AAkCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC5C,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB,CA2CA;AAED,wBAAgB,SAAS,SAexB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AA2B/D,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAqBxE;AAGD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB5E;AAkCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC5C,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CA6DA;AAED,wBAAgB,SAAS,SAgCxB"}
package/dist/config.js CHANGED
@@ -92,6 +92,23 @@ export function parseCliArgs(argv) {
92
92
  const overrides = {};
93
93
  let help = false;
94
94
  let version = false;
95
+ let attach = false;
96
+ let register = false;
97
+ let registerTitle;
98
+ // check for subcommand as first non-flag arg
99
+ if (argv[2] === "attach") {
100
+ return { overrides, help: false, version: false, attach: true, register: false };
101
+ }
102
+ if (argv[2] === "register") {
103
+ register = true;
104
+ // parse --title from remaining args
105
+ for (let i = 3; i < argv.length; i++) {
106
+ if ((argv[i] === "--title" || argv[i] === "-t") && argv[i + 1]) {
107
+ registerTitle = argv[++i];
108
+ }
109
+ }
110
+ return { overrides, help: false, version: false, attach: false, register, registerTitle };
111
+ }
95
112
  for (let i = 2; i < argv.length; i++) {
96
113
  const arg = argv[i];
97
114
  switch (arg) {
@@ -128,12 +145,17 @@ export function parseCliArgs(argv) {
128
145
  break;
129
146
  }
130
147
  }
131
- return { overrides, help, version };
148
+ return { overrides, help, version, attach, register: false };
132
149
  }
133
150
  export function printHelp() {
134
151
  console.log(`aoaoe - autonomous supervisor for agent-of-empires sessions
135
152
 
136
- usage: aoaoe [options]
153
+ usage: aoaoe [command] [options]
154
+
155
+ commands:
156
+ (none) start the daemon
157
+ attach enter the reasoner console (Ctrl+B D to detach)
158
+ register register aoaoe as an AoE session (appears in aoe list)
137
159
 
138
160
  options:
139
161
  --reasoner <opencode|claude-code> reasoning backend (default: opencode)
@@ -144,6 +166,18 @@ options:
144
166
  --dry-run observe + reason but don't execute
145
167
  --verbose, -v verbose logging
146
168
  --help, -h show this help
147
- --version show version`);
169
+ --version show version
170
+
171
+ register options:
172
+ --title, -t <name> session title in AoE (default: aoaoe)
173
+
174
+ console commands (inside reasoner chat):
175
+ /help show available commands
176
+ /status request daemon status
177
+ /dashboard request dashboard output
178
+ /pause pause the daemon
179
+ /resume resume the daemon
180
+ /clear clear the screen
181
+ (anything) send a message to the reasoner`);
148
182
  }
149
183
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export declare class ReasonerConsole {
2
+ private started;
3
+ private ownsTmux;
4
+ private chatIsRunning;
5
+ start(): Promise<void>;
6
+ writeObservation(sessionCount: number, changeCount: number, changes: string[]): void;
7
+ writeUserMessage(msg: string): void;
8
+ writeReasoning(reasoning: string): void;
9
+ writeAction(action: string, detail: string, success: boolean): void;
10
+ writeSystem(msg: string): void;
11
+ drainInput(): string[];
12
+ stop(): Promise<void>;
13
+ private append;
14
+ private ts;
15
+ static sessionName(): string;
16
+ }
17
+ //# sourceMappingURL=console.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../src/console.ts"],"names":[],"mappings":"AAeA,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,aAAa;IAaf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD5B,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAQpF,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAInC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIvC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAKnE,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK9B,UAAU,IAAI,MAAM,EAAE;IAYhB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,EAAE;IAIV,MAAM,CAAC,WAAW,IAAI,MAAM;CAG7B"}