draken 0.1.0 → 0.1.3

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
@@ -1,4 +1,12 @@
1
- # Draken
1
+ <p align="center">
2
+ <img src="site/img/logo.png" width="140" alt="Draken">
3
+ </p>
4
+
5
+ <h1 align="center">Draken</h1>
6
+
7
+ <p align="center">
8
+ <img src="site/img/scene1-web.jpg" width="600" alt="Draken - Async Claude Code Dashboard">
9
+ </p>
2
10
 
3
11
  ### What is this???
4
12
 
@@ -1,4 +1,10 @@
1
1
  import Database from 'better-sqlite3';
2
+ /**
3
+ * Get the draken data directory
4
+ * Uses DRAKEN_DATA_DIR env var if set, otherwise ~/.draken
5
+ * Works cross-platform (Windows, macOS, Linux)
6
+ */
7
+ export declare function getDataDir(): string;
2
8
  export declare function getDb(): Database.Database;
3
9
  export declare function closeDb(): void;
4
10
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAOtC,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAczC;AA2CD,wBAAgB,OAAO,IAAI,IAAI,CAK9B"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAKtC;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAKnC;AAOD,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAczC;AA2CD,wBAAgB,OAAO,IAAI,IAAI,CAK9B"}
package/dist/db/schema.js CHANGED
@@ -3,23 +3,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getDataDir = getDataDir;
6
7
  exports.getDb = getDb;
7
8
  exports.closeDb = closeDb;
8
9
  const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
9
10
  const path_1 = __importDefault(require("path"));
10
- const DB_PATH = path_1.default.join(__dirname, '../../data/draken.db');
11
+ const os_1 = __importDefault(require("os"));
12
+ const fs_1 = __importDefault(require("fs"));
13
+ /**
14
+ * Get the draken data directory
15
+ * Uses DRAKEN_DATA_DIR env var if set, otherwise ~/.draken
16
+ * Works cross-platform (Windows, macOS, Linux)
17
+ */
18
+ function getDataDir() {
19
+ if (process.env.DRAKEN_DATA_DIR) {
20
+ return process.env.DRAKEN_DATA_DIR;
21
+ }
22
+ return path_1.default.join(os_1.default.homedir(), '.draken');
23
+ }
24
+ const DATA_DIR = getDataDir();
25
+ const DB_PATH = path_1.default.join(DATA_DIR, 'draken.db');
11
26
  let db = null;
12
27
  function getDb() {
13
28
  if (!db) {
14
29
  // Ensure data directory exists
15
- const fs = require('fs');
16
- const dataDir = path_1.default.dirname(DB_PATH);
17
- if (!fs.existsSync(dataDir)) {
18
- fs.mkdirSync(dataDir, { recursive: true });
30
+ if (!fs_1.default.existsSync(DATA_DIR)) {
31
+ fs_1.default.mkdirSync(DATA_DIR, { recursive: true });
19
32
  }
20
33
  db = new better_sqlite3_1.default(DB_PATH);
21
34
  db.pragma('journal_mode = WAL');
22
35
  initSchema(db);
36
+ console.log(`Database: ${DB_PATH}`);
23
37
  }
24
38
  return db;
25
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":";;;;;AAOA,sBAcC;AA2CD,0BAKC;AArED,oEAAsC;AACtC,gDAAwB;AAExB,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AAE7D,IAAI,EAAE,GAA6B,IAAI,CAAC;AAExC,SAAgB,KAAK;IACnB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,+BAA+B;QAC/B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,EAAE,GAAG,IAAI,wBAAQ,CAAC,OAAO,CAAC,CAAC;QAC3B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAChC,UAAU,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,UAAU,CAAC,EAAqB;IACvC,gBAAgB;IAChB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;GAuBP,CAAC,CAAC;IAEH,uDAAuD;IACvD,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAEvC,2DAA2D;IAC3D,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;IACzG,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAEvC,qEAAqE;IACrE,EAAE,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;AAClF,CAAC;AAED,SAAgB,OAAO;IACrB,IAAI,EAAE,EAAE,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,IAAI,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":";;;;;AAUA,gCAKC;AAOD,sBAcC;AA2CD,0BAKC;AApFD,oEAAsC;AACtC,gDAAwB;AACxB,4CAAoB;AACpB,4CAAoB;AAEpB;;;;GAIG;AACH,SAAgB,UAAU;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACrC,CAAC;IACD,OAAO,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;AAC9B,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAEjD,IAAI,EAAE,GAA6B,IAAI,CAAC;AAExC,SAAgB,KAAK;IACnB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,+BAA+B;QAC/B,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,YAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,EAAE,GAAG,IAAI,wBAAQ,CAAC,OAAO,CAAC,CAAC;QAC3B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAChC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEf,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,UAAU,CAAC,EAAqB;IACvC,gBAAgB;IAChB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;GAuBP,CAAC,CAAC;IAEH,uDAAuD;IACvD,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAEvC,2DAA2D;IAC3D,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;IACzG,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAEvC,qEAAqE;IACrE,EAAE,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;AAClF,CAAC;AAED,SAAgB,OAAO;IACrB,IAAI,EAAE,EAAE,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,IAAI,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -1,5 +1,50 @@
1
+ export interface MountConfig {
2
+ alias: string;
3
+ path: string;
4
+ }
1
5
  export declare function getDockerfilePath(projectPath: string): string;
2
6
  export declare function dockerfileExists(projectPath: string): boolean;
3
- export declare function generateDockerfile(projectPath: string): void;
7
+ /**
8
+ * Parse DRAKEN_MOUNT comments from dockerfile content
9
+ * Format: # DRAKEN_MOUNT alias=/path/to/directory
10
+ */
11
+ export declare function parseMountsFromDockerfile(content: string): MountConfig[];
12
+ /**
13
+ * Generate mount comments for dockerfile
14
+ */
15
+ export declare function generateMountComments(mounts: MountConfig[]): string;
16
+ /**
17
+ * Update mounts in dockerfile content
18
+ * Replaces existing DRAKEN_MOUNT comments with new ones
19
+ */
20
+ export declare function updateMountsInDockerfile(content: string, mounts: MountConfig[]): string;
21
+ /**
22
+ * Generate a new dockerfile with mount configuration
23
+ */
24
+ export declare function generateDockerfile(projectPath: string, mounts?: MountConfig[]): void;
25
+ /**
26
+ * Generate dockerfile with a single mount (backward compatible)
27
+ */
28
+ export declare function generateDockerfileWithMount(projectPath: string, alias: string, mountPath: string): void;
4
29
  export declare function getDockerfileContent(projectPath: string): string | null;
30
+ /**
31
+ * Get mounts configured in a project's dockerfile
32
+ */
33
+ export declare function getProjectMounts(projectPath: string): MountConfig[];
34
+ /**
35
+ * Add a mount to an existing dockerfile
36
+ */
37
+ export declare function addMountToDockerfile(projectPath: string, alias: string, mountPath: string): void;
38
+ /**
39
+ * Remove a mount from dockerfile
40
+ */
41
+ export declare function removeMountFromDockerfile(projectPath: string, alias: string): void;
42
+ /**
43
+ * Update a mount path in dockerfile
44
+ */
45
+ export declare function updateMountInDockerfile(projectPath: string, alias: string, newPath: string): void;
46
+ /**
47
+ * Derive alias from path (last directory name)
48
+ */
49
+ export declare function deriveAliasFromPath(mountPath: string): string;
5
50
  //# sourceMappingURL=dockerfile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dockerfile.d.ts","sourceRoot":"","sources":["../../src/docker/dockerfile.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAI5D;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvE"}
1
+ {"version":3,"file":"dockerfile.d.ts","sourceRoot":"","sources":["../../src/docker/dockerfile.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAcxE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAKnE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAWvF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAUpF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAEvG;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CAInE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAiBhG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAelF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAgBjG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI7D"}
@@ -5,8 +5,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getDockerfilePath = getDockerfilePath;
7
7
  exports.dockerfileExists = dockerfileExists;
8
+ exports.parseMountsFromDockerfile = parseMountsFromDockerfile;
9
+ exports.generateMountComments = generateMountComments;
10
+ exports.updateMountsInDockerfile = updateMountsInDockerfile;
8
11
  exports.generateDockerfile = generateDockerfile;
12
+ exports.generateDockerfileWithMount = generateDockerfileWithMount;
9
13
  exports.getDockerfileContent = getDockerfileContent;
14
+ exports.getProjectMounts = getProjectMounts;
15
+ exports.addMountToDockerfile = addMountToDockerfile;
16
+ exports.removeMountFromDockerfile = removeMountFromDockerfile;
17
+ exports.updateMountInDockerfile = updateMountInDockerfile;
18
+ exports.deriveAliasFromPath = deriveAliasFromPath;
10
19
  const fs_1 = __importDefault(require("fs"));
11
20
  const path_1 = __importDefault(require("path"));
12
21
  const TEMPLATE_PATH = path_1.default.join(__dirname, '../../draken.dockerfile.template');
@@ -17,10 +26,62 @@ function getDockerfilePath(projectPath) {
17
26
  function dockerfileExists(projectPath) {
18
27
  return fs_1.default.existsSync(getDockerfilePath(projectPath));
19
28
  }
20
- function generateDockerfile(projectPath) {
29
+ /**
30
+ * Parse DRAKEN_MOUNT comments from dockerfile content
31
+ * Format: # DRAKEN_MOUNT alias=/path/to/directory
32
+ */
33
+ function parseMountsFromDockerfile(content) {
34
+ const mounts = [];
35
+ const mountRegex = /^#\s*DRAKEN_MOUNT\s+(\w+)=(.+)$/gm;
36
+ let match;
37
+ while ((match = mountRegex.exec(content)) !== null) {
38
+ const alias = match[1].trim();
39
+ const mountPath = match[2].trim();
40
+ if (alias && mountPath) {
41
+ mounts.push({ alias, path: mountPath });
42
+ }
43
+ }
44
+ return mounts;
45
+ }
46
+ /**
47
+ * Generate mount comments for dockerfile
48
+ */
49
+ function generateMountComments(mounts) {
50
+ if (mounts.length === 0)
51
+ return '';
52
+ const lines = mounts.map(m => `# DRAKEN_MOUNT ${m.alias}=${m.path}`);
53
+ return lines.join('\n') + '\n\n';
54
+ }
55
+ /**
56
+ * Update mounts in dockerfile content
57
+ * Replaces existing DRAKEN_MOUNT comments with new ones
58
+ */
59
+ function updateMountsInDockerfile(content, mounts) {
60
+ // Remove existing mount comments
61
+ const withoutMounts = content.replace(/^#\s*DRAKEN_MOUNT\s+\w+=.+\n?/gm, '');
62
+ // Add new mount comments at the top
63
+ const mountComments = generateMountComments(mounts);
64
+ // Clean up any leading whitespace from removal
65
+ const cleaned = withoutMounts.replace(/^\n+/, '');
66
+ return mountComments + cleaned;
67
+ }
68
+ /**
69
+ * Generate a new dockerfile with mount configuration
70
+ */
71
+ function generateDockerfile(projectPath, mounts) {
21
72
  const templateContent = fs_1.default.readFileSync(TEMPLATE_PATH, 'utf-8');
22
73
  const dockerfilePath = getDockerfilePath(projectPath);
23
- fs_1.default.writeFileSync(dockerfilePath, templateContent);
74
+ let content = templateContent;
75
+ if (mounts && mounts.length > 0) {
76
+ content = generateMountComments(mounts) + templateContent;
77
+ }
78
+ fs_1.default.writeFileSync(dockerfilePath, content);
79
+ }
80
+ /**
81
+ * Generate dockerfile with a single mount (backward compatible)
82
+ */
83
+ function generateDockerfileWithMount(projectPath, alias, mountPath) {
84
+ generateDockerfile(projectPath, [{ alias, path: mountPath }]);
24
85
  }
25
86
  function getDockerfileContent(projectPath) {
26
87
  const dockerfilePath = getDockerfilePath(projectPath);
@@ -29,4 +90,71 @@ function getDockerfileContent(projectPath) {
29
90
  }
30
91
  return null;
31
92
  }
93
+ /**
94
+ * Get mounts configured in a project's dockerfile
95
+ */
96
+ function getProjectMounts(projectPath) {
97
+ const content = getDockerfileContent(projectPath);
98
+ if (!content)
99
+ return [];
100
+ return parseMountsFromDockerfile(content);
101
+ }
102
+ /**
103
+ * Add a mount to an existing dockerfile
104
+ */
105
+ function addMountToDockerfile(projectPath, alias, mountPath) {
106
+ const content = getDockerfileContent(projectPath);
107
+ if (!content) {
108
+ throw new Error('Dockerfile does not exist');
109
+ }
110
+ const existingMounts = parseMountsFromDockerfile(content);
111
+ // Check for duplicate alias
112
+ if (existingMounts.some(m => m.alias === alias)) {
113
+ throw new Error(`Mount with alias "${alias}" already exists`);
114
+ }
115
+ existingMounts.push({ alias, path: mountPath });
116
+ const updatedContent = updateMountsInDockerfile(content, existingMounts);
117
+ fs_1.default.writeFileSync(getDockerfilePath(projectPath), updatedContent);
118
+ }
119
+ /**
120
+ * Remove a mount from dockerfile
121
+ */
122
+ function removeMountFromDockerfile(projectPath, alias) {
123
+ const content = getDockerfileContent(projectPath);
124
+ if (!content) {
125
+ throw new Error('Dockerfile does not exist');
126
+ }
127
+ const existingMounts = parseMountsFromDockerfile(content);
128
+ const filteredMounts = existingMounts.filter(m => m.alias !== alias);
129
+ if (filteredMounts.length === existingMounts.length) {
130
+ throw new Error(`Mount with alias "${alias}" not found`);
131
+ }
132
+ const updatedContent = updateMountsInDockerfile(content, filteredMounts);
133
+ fs_1.default.writeFileSync(getDockerfilePath(projectPath), updatedContent);
134
+ }
135
+ /**
136
+ * Update a mount path in dockerfile
137
+ */
138
+ function updateMountInDockerfile(projectPath, alias, newPath) {
139
+ const content = getDockerfileContent(projectPath);
140
+ if (!content) {
141
+ throw new Error('Dockerfile does not exist');
142
+ }
143
+ const existingMounts = parseMountsFromDockerfile(content);
144
+ const mount = existingMounts.find(m => m.alias === alias);
145
+ if (!mount) {
146
+ throw new Error(`Mount with alias "${alias}" not found`);
147
+ }
148
+ mount.path = newPath;
149
+ const updatedContent = updateMountsInDockerfile(content, existingMounts);
150
+ fs_1.default.writeFileSync(getDockerfilePath(projectPath), updatedContent);
151
+ }
152
+ /**
153
+ * Derive alias from path (last directory name)
154
+ */
155
+ function deriveAliasFromPath(mountPath) {
156
+ const basename = path_1.default.basename(mountPath);
157
+ // Sanitize: only allow alphanumeric, dash, underscore
158
+ return basename.replace(/[^a-zA-Z0-9_-]/g, '_').toLowerCase();
159
+ }
32
160
  //# sourceMappingURL=dockerfile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dockerfile.js","sourceRoot":"","sources":["../../src/docker/dockerfile.ts"],"names":[],"mappings":";;;;;AAMA,8CAEC;AAED,4CAEC;AAED,gDAIC;AAED,oDAMC;AA1BD,4CAAoB;AACpB,gDAAwB;AAExB,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;AAC/E,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAE5C,SAAgB,iBAAiB,CAAC,WAAmB;IACnD,OAAO,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,gBAAgB,CAAC,WAAmB;IAClD,OAAO,YAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,kBAAkB,CAAC,WAAmB;IACpD,MAAM,eAAe,GAAG,YAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACtD,YAAE,CAAC,aAAa,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,oBAAoB,CAAC,WAAmB;IACtD,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,OAAO,YAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"dockerfile.js","sourceRoot":"","sources":["../../src/docker/dockerfile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/docker/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAqCtC,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACzD,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACzD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CACnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAoB7D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAoBzC;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB/F;AAED,wBAAsB,OAAO,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAsJnE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtE;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa7E;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQrE"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/docker/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAiEtC,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACzD,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACzD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CACnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAoB7D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAoBzC;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB/F;AAED,wBAAsB,OAAO,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAoOnE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtE;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa7E;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQrE"}
@@ -43,6 +43,32 @@ function getDockerSocket() {
43
43
  const socketPath = getDockerSocket();
44
44
  const docker = socketPath ? new dockerode_1.default({ socketPath }) : new dockerode_1.default();
45
45
  const IMAGE_PREFIX = 'draken-project-';
46
+ // ANSI color codes for terminal output
47
+ const ANSI = {
48
+ reset: '\x1b[0m',
49
+ bold: '\x1b[1m',
50
+ dim: '\x1b[2m',
51
+ // Colors
52
+ red: '\x1b[31m',
53
+ green: '\x1b[32m',
54
+ yellow: '\x1b[33m',
55
+ blue: '\x1b[34m',
56
+ magenta: '\x1b[35m',
57
+ cyan: '\x1b[36m',
58
+ white: '\x1b[37m',
59
+ gray: '\x1b[90m',
60
+ // Bright colors
61
+ brightRed: '\x1b[91m',
62
+ brightGreen: '\x1b[92m',
63
+ brightYellow: '\x1b[93m',
64
+ brightBlue: '\x1b[94m',
65
+ brightMagenta: '\x1b[95m',
66
+ brightCyan: '\x1b[96m',
67
+ };
68
+ // Helper to colorize text
69
+ function colorize(text, ...codes) {
70
+ return codes.join('') + text + ANSI.reset;
71
+ }
46
72
  // Store active task processes for interactive input
47
73
  const activeProcesses = new Map();
48
74
  /**
@@ -139,13 +165,49 @@ async function runTask(projectPath, projectId, prompt, taskId, resumeSessionId /
139
165
  if (!fs_1.default.existsSync(sessionsDir)) {
140
166
  fs_1.default.mkdirSync(sessionsDir, { recursive: true });
141
167
  }
168
+ // Get mount configuration from dockerfile
169
+ const mounts = (0, dockerfile_1.getProjectMounts)(projectPath);
142
170
  // Build docker run arguments
143
171
  const dockerArgs = [
144
172
  'run',
145
173
  '--rm',
146
- '-v', `${projectPath}:/workspace`,
147
174
  '--log-driver', 'json-file',
175
+ // Force color output in terminal commands
176
+ '-e', 'TERM=xterm-256color',
177
+ '-e', 'FORCE_COLOR=1',
178
+ '-e', 'CLICOLOR=1',
179
+ '-e', 'CLICOLOR_FORCE=1',
148
180
  ];
181
+ // Mount project directories
182
+ if (mounts.length > 0) {
183
+ console.log(`[runTask] Mounting ${mounts.length} directories:`);
184
+ // Multi-repo mode: mount each configured path with its alias
185
+ for (const mount of mounts) {
186
+ dockerArgs.push('-v', `${mount.path}:/workspace/${mount.alias}`);
187
+ // Hide .git for each mount (only if it's a git repo)
188
+ const gitDir = path_1.default.join(mount.path, '.git');
189
+ if (fs_1.default.existsSync(gitDir)) {
190
+ dockerArgs.push('--mount', `type=tmpfs,destination=/workspace/${mount.alias}/.git,tmpfs-size=1m`);
191
+ console.log(` - ${mount.alias}: ${mount.path} (git repo, .git hidden)`);
192
+ }
193
+ else {
194
+ console.log(` - ${mount.alias}: ${mount.path} (not a git repo)`);
195
+ }
196
+ }
197
+ }
198
+ else {
199
+ // Backward compatibility: single project mode
200
+ dockerArgs.push('-v', `${projectPath}:/workspace`);
201
+ // Hide .git only if it exists
202
+ const gitDir = path_1.default.join(projectPath, '.git');
203
+ if (fs_1.default.existsSync(gitDir)) {
204
+ dockerArgs.push('--mount', 'type=tmpfs,destination=/workspace/.git,tmpfs-size=1m');
205
+ console.log(`[runTask] Mounting: ${projectPath} (git repo, .git hidden)`);
206
+ }
207
+ else {
208
+ console.log(`[runTask] Mounting: ${projectPath} (not a git repo)`);
209
+ }
210
+ }
149
211
  // Add authentication based on type
150
212
  if (auth.type === 'oauth') {
151
213
  // Mount the Claude config directory for OAuth
@@ -203,29 +265,77 @@ async function runTask(projectPath, projectId, prompt, taskId, resumeSessionId /
203
265
  if (event.session_id) {
204
266
  logEmitter.emit('session', event.session_id);
205
267
  }
206
- // Extract text content from stream-json events
268
+ // Extract text content from stream-json events with colorization
207
269
  if (event.type === 'assistant' && event.message?.content) {
208
270
  for (const block of event.message.content) {
209
271
  if (block.type === 'text') {
210
272
  console.log('[emit log] text:', block.text.substring(0, 100));
273
+ // Assistant text in default color
211
274
  logEmitter.emit('log', block.text);
212
275
  }
213
276
  else if (block.type === 'tool_use') {
214
277
  console.log('[emit log] tool_use:', block.name);
215
- logEmitter.emit('log', `\n[Tool: ${block.name}]\n`);
278
+ // Tool header in cyan + bold
279
+ const toolHeader = colorize(`\n━━━ Tool: ${block.name} ━━━`, ANSI.cyan, ANSI.bold);
280
+ logEmitter.emit('log', toolHeader + '\n');
281
+ // Show tool input if present (dimmed)
282
+ if (block.input) {
283
+ const inputStr = typeof block.input === 'string'
284
+ ? block.input
285
+ : JSON.stringify(block.input, null, 2);
286
+ // For common tools, show relevant input nicely
287
+ if (block.name === 'Bash' && block.input.command) {
288
+ logEmitter.emit('log', colorize('$ ' + block.input.command, ANSI.yellow) + '\n');
289
+ }
290
+ else if (block.name === 'Read' && block.input.file_path) {
291
+ logEmitter.emit('log', colorize('Reading: ' + block.input.file_path, ANSI.blue) + '\n');
292
+ }
293
+ else if (block.name === 'Write' && block.input.file_path) {
294
+ logEmitter.emit('log', colorize('Writing: ' + block.input.file_path, ANSI.green) + '\n');
295
+ }
296
+ else if (block.name === 'Edit' && block.input.file_path) {
297
+ logEmitter.emit('log', colorize('Editing: ' + block.input.file_path, ANSI.yellow) + '\n');
298
+ }
299
+ else if (inputStr.length < 500) {
300
+ logEmitter.emit('log', colorize(inputStr, ANSI.dim) + '\n');
301
+ }
302
+ }
303
+ }
304
+ }
305
+ }
306
+ else if (event.type === 'user' && event.message?.content) {
307
+ // Tool results from user messages (tool output)
308
+ for (const block of event.message.content) {
309
+ if (block.type === 'tool_result') {
310
+ const content = typeof block.content === 'string'
311
+ ? block.content
312
+ : JSON.stringify(block.content);
313
+ // Tool output - keep as-is (may contain its own ANSI codes from bash)
314
+ logEmitter.emit('log', content + '\n');
315
+ logEmitter.emit('log', colorize('━━━━━━━━━━━━━━━━━━━━━━━', ANSI.gray) + '\n');
216
316
  }
217
317
  }
218
318
  }
219
319
  else if (event.type === 'result') {
220
- // Final result
320
+ // Final result in green
221
321
  if (event.result) {
222
322
  console.log('[emit log] result:', event.result.substring(0, 100));
223
- logEmitter.emit('log', `\n${event.result}\n`);
323
+ const resultHeader = colorize('\n✓ Task Complete', ANSI.green, ANSI.bold);
324
+ logEmitter.emit('log', resultHeader + '\n');
325
+ logEmitter.emit('log', event.result + '\n');
224
326
  }
225
327
  }
226
328
  else if (event.type === 'error') {
227
329
  console.log('[emit log] error:', event.error?.message);
228
- logEmitter.emit('log', `\nError: ${event.error?.message || JSON.stringify(event)}\n`);
330
+ // Errors in red + bold
331
+ const errorMsg = colorize(`\n✗ Error: ${event.error?.message || JSON.stringify(event)}`, ANSI.red, ANSI.bold);
332
+ logEmitter.emit('log', errorMsg + '\n');
333
+ }
334
+ else if (event.type === 'system') {
335
+ // System messages in yellow
336
+ if (event.message) {
337
+ logEmitter.emit('log', colorize(`[System] ${event.message}`, ANSI.yellow) + '\n');
338
+ }
229
339
  }
230
340
  }
231
341
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/docker/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/docker/manager.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,47 @@ export interface GitDiff {
16
16
  staged: string;
17
17
  unstaged: string;
18
18
  }
19
+ export interface GitBranch {
20
+ name: string;
21
+ current: boolean;
22
+ }
23
+ export interface CommitResult {
24
+ hash: string;
25
+ message: string;
26
+ }
19
27
  export declare function isGitRepo(projectPath: string): boolean;
28
+ /**
29
+ * List all local branches
30
+ */
31
+ export declare function listBranches(projectPath: string): Promise<GitBranch[]>;
32
+ /**
33
+ * Create a new branch
34
+ */
35
+ export declare function createBranch(projectPath: string, branchName: string, checkout?: boolean): Promise<void>;
36
+ /**
37
+ * Checkout an existing branch
38
+ */
39
+ export declare function checkoutBranch(projectPath: string, branchName: string): Promise<void>;
40
+ /**
41
+ * Stage files for commit
42
+ */
43
+ export declare function stageFiles(projectPath: string, files: string[]): Promise<void>;
44
+ /**
45
+ * Stage all changes
46
+ */
47
+ export declare function stageAll(projectPath: string): Promise<void>;
48
+ /**
49
+ * Unstage files
50
+ */
51
+ export declare function unstageFiles(projectPath: string, files: string[]): Promise<void>;
52
+ /**
53
+ * Unstage all files
54
+ */
55
+ export declare function unstageAll(projectPath: string): Promise<void>;
56
+ /**
57
+ * Commit staged changes
58
+ */
59
+ export declare function commit(projectPath: string, message: string): Promise<CommitResult>;
20
60
  export declare function getGitStatus(projectPath: string): Promise<GitStatus>;
21
61
  export declare function getGitDiff(projectPath: string, staged?: boolean): Promise<string>;
22
62
  export declare function getGitDiffs(projectPath: string): Promise<GitDiff>;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/git/status.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACnE,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGtD;AAMD,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAuG1E;AAED,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAa9F;AAED,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvE;AAaD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,eAAe,CAAC,CA0D1B"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/git/status.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACnE,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAYtD;AAMD;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAiB5E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAYnH;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3F;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpF;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOjE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAOtF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOnE;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAgBxF;AAED,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAuG1E;AAED,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAY9F;AAED,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvE;AAaD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,eAAe,CAAC,CA0D1B"}