flingit 0.0.14 → 0.0.18
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 +2 -1
- package/dist/cli/commands/cron.d.ts +29 -0
- package/dist/cli/commands/cron.d.ts.map +1 -1
- package/dist/cli/commands/cron.js +54 -37
- package/dist/cli/commands/cron.js.map +1 -1
- package/dist/cli/commands/db.d.ts.map +1 -1
- package/dist/cli/commands/db.js +15 -19
- package/dist/cli/commands/db.js.map +1 -1
- package/dist/cli/commands/dev.d.ts +1 -0
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +344 -86
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/feedback.js +3 -3
- package/dist/cli/commands/feedback.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +9 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/launch.d.ts +45 -3
- package/dist/cli/commands/launch.d.ts.map +1 -1
- package/dist/cli/commands/launch.js +39 -17
- package/dist/cli/commands/launch.js.map +1 -1
- package/dist/cli/commands/logout.d.ts +18 -0
- package/dist/cli/commands/logout.d.ts.map +1 -1
- package/dist/cli/commands/logout.js +40 -14
- package/dist/cli/commands/logout.js.map +1 -1
- package/dist/cli/commands/logs.d.ts +3 -2
- package/dist/cli/commands/logs.d.ts.map +1 -1
- package/dist/cli/commands/logs.js +26 -43
- package/dist/cli/commands/logs.js.map +1 -1
- package/dist/cli/commands/onboard.d.ts.map +1 -1
- package/dist/cli/commands/onboard.js +3 -3
- package/dist/cli/commands/onboard.js.map +1 -1
- package/dist/cli/commands/project.d.ts.map +1 -1
- package/dist/cli/commands/project.js +44 -23
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/push.d.ts.map +1 -1
- package/dist/cli/commands/push.js +6 -4
- package/dist/cli/commands/push.js.map +1 -1
- package/dist/cli/commands/register.d.ts +37 -0
- package/dist/cli/commands/register.d.ts.map +1 -1
- package/dist/cli/commands/register.js +96 -74
- package/dist/cli/commands/register.js.map +1 -1
- package/dist/cli/commands/tunnel.js +2 -2
- package/dist/cli/commands/tunnel.js.map +1 -1
- package/dist/cli/commands/whoami.d.ts +18 -0
- package/dist/cli/commands/whoami.d.ts.map +1 -1
- package/dist/cli/commands/whoami.js +54 -28
- package/dist/cli/commands/whoami.js.map +1 -1
- package/dist/cli/index.js +10 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/cli-io-impl.d.ts +33 -2
- package/dist/cli/utils/cli-io-impl.d.ts.map +1 -1
- package/dist/cli/utils/cli-io-impl.js +99 -14
- package/dist/cli/utils/cli-io-impl.js.map +1 -1
- package/dist/cli/utils/cli-io.d.ts +27 -9
- package/dist/cli/utils/cli-io.d.ts.map +1 -1
- package/dist/cli/utils/config.d.ts.map +1 -1
- package/dist/cli/utils/config.js +2 -2
- package/dist/cli/utils/config.js.map +1 -1
- package/dist/cli/utils/db-adapter.d.ts +59 -0
- package/dist/cli/utils/db-adapter.d.ts.map +1 -0
- package/dist/cli/utils/db-adapter.js +74 -0
- package/dist/cli/utils/db-adapter.js.map +1 -0
- package/dist/cli/utils/email.d.ts +15 -0
- package/dist/cli/utils/email.d.ts.map +1 -0
- package/dist/cli/utils/email.js +31 -0
- package/dist/cli/utils/email.js.map +1 -0
- package/dist/cli/utils/project-name.d.ts +10 -2
- package/dist/cli/utils/project-name.d.ts.map +1 -1
- package/dist/cli/utils/project-name.js +12 -6
- package/dist/cli/utils/project-name.js.map +1 -1
- package/dist/cli/utils/project.d.ts +17 -6
- package/dist/cli/utils/project.d.ts.map +1 -1
- package/dist/cli/utils/project.js +30 -36
- package/dist/cli/utils/project.js.map +1 -1
- package/dist/cli/utils/registry.d.ts +8 -6
- package/dist/cli/utils/registry.d.ts.map +1 -1
- package/dist/cli/utils/registry.js +32 -30
- package/dist/cli/utils/registry.js.map +1 -1
- package/dist/shared/constants.d.ts +16 -3
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +16 -3
- package/dist/shared/constants.js.map +1 -1
- package/dist/worker-runtime/discord.js +1 -1
- package/dist/worker-runtime/discord.js.map +1 -1
- package/dist/worker-runtime/index.d.ts +2 -1
- package/dist/worker-runtime/index.d.ts.map +1 -1
- package/dist/worker-runtime/index.js +19 -6
- package/dist/worker-runtime/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/default/.claude/settings.local.json +1 -0
- package/templates/default/CLAUDE.md +2 -314
- package/templates/default/skills/fling/.hash +1 -1
- package/templates/default/skills/fling/API.md +45 -4
- package/templates/default/skills/fling/SKILL.md +92 -1
- package/dist/cli/commands/admin.d.ts +0 -8
- package/dist/cli/commands/admin.d.ts.map +0 -1
- package/dist/cli/commands/admin.js +0 -244
- package/dist/cli/commands/admin.js.map +0 -1
- package/dist/cli/commands/dev-worker.d.ts +0 -12
- package/dist/cli/commands/dev-worker.d.ts.map +0 -1
- package/dist/cli/commands/dev-worker.js +0 -66
- package/dist/cli/commands/dev-worker.js.map +0 -1
- package/dist/cli/commands/tun.d.ts +0 -13
- package/dist/cli/commands/tun.d.ts.map +0 -1
- package/dist/cli/commands/tun.js +0 -189
- package/dist/cli/commands/tun.js.map +0 -1
- package/dist/cli/utils/launch-io-impl.d.ts +0 -13
- package/dist/cli/utils/launch-io-impl.d.ts.map +0 -1
- package/dist/cli/utils/launch-io-impl.js +0 -51
- package/dist/cli/utils/launch-io-impl.js.map +0 -1
- package/dist/cli/utils/launch-io.d.ts +0 -42
- package/dist/cli/utils/launch-io.d.ts.map +0 -1
- package/dist/cli/utils/launch-io.js +0 -8
- package/dist/cli/utils/launch-io.js.map +0 -1
- package/dist/cli/utils/onboarding-io-impl.d.ts +0 -12
- package/dist/cli/utils/onboarding-io-impl.d.ts.map +0 -1
- package/dist/cli/utils/onboarding-io-impl.js +0 -85
- package/dist/cli/utils/onboarding-io-impl.js.map +0 -1
- package/dist/cli/utils/onboarding-io.d.ts +0 -60
- package/dist/cli/utils/onboarding-io.d.ts.map +0 -1
- package/dist/cli/utils/onboarding-io.js +0 -9
- package/dist/cli/utils/onboarding-io.js.map +0 -1
- package/dist/client/assets/index-BqVrS7t9.js +0 -40
- package/dist/client/assets/index-DSLUsCtO.css +0 -1
- package/dist/client/index.html +0 -14
- package/dist/client/vite.svg +0 -1
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
* - Command-specific interfaces extend the base where needed
|
|
10
10
|
* - Each command defines its own combined IO interface using these building blocks
|
|
11
11
|
*/
|
|
12
|
-
import type Database from "better-sqlite3";
|
|
13
12
|
import type { ChildProcess, SpawnOptions as NodeSpawnOptions } from "node:child_process";
|
|
14
13
|
import type { BuildContext, BuildOptions } from "esbuild";
|
|
14
|
+
import type { DbAdapter } from "./db-adapter.js";
|
|
15
15
|
/**
|
|
16
16
|
* Base console output interface for CLI commands.
|
|
17
17
|
* All methods take single string messages.
|
|
@@ -70,6 +70,14 @@ export interface ProcessIOFull extends ProcessIOWithStdio, ProcessIOWithSignals
|
|
|
70
70
|
execPath?: string;
|
|
71
71
|
platform: NodeJS.Platform;
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Environment access interface for homedir and env variables.
|
|
75
|
+
* Used by: config, registry
|
|
76
|
+
*/
|
|
77
|
+
export interface EnvIO {
|
|
78
|
+
homedir(): string;
|
|
79
|
+
get(name: string): string | undefined;
|
|
80
|
+
}
|
|
73
81
|
/**
|
|
74
82
|
* Base file system interface - just exists check.
|
|
75
83
|
* Used by: logs, tunnel
|
|
@@ -103,6 +111,11 @@ export interface Mkdir {
|
|
|
103
111
|
recursive?: boolean;
|
|
104
112
|
}): void;
|
|
105
113
|
}
|
|
114
|
+
export interface Lstat {
|
|
115
|
+
lstat(path: string): {
|
|
116
|
+
isSymbolicLink(): boolean;
|
|
117
|
+
} | null;
|
|
118
|
+
}
|
|
106
119
|
export interface DbFileIO extends FileIO, Mkdir {
|
|
107
120
|
remove(path: string, options?: {
|
|
108
121
|
force?: boolean;
|
|
@@ -132,6 +145,15 @@ export interface ConfigFileIO extends FileIO, Mkdir, ReadFileString, WriteFileSt
|
|
|
132
145
|
delete(path: string): void;
|
|
133
146
|
rename(src: string, dest: string): void;
|
|
134
147
|
}
|
|
148
|
+
export interface ProjectFileIO extends FileIO, ReadFileString, Lstat {
|
|
149
|
+
}
|
|
150
|
+
export interface RegistryFileIO extends FileIO, ReadFileString, WriteFileString, Mkdir {
|
|
151
|
+
}
|
|
152
|
+
export interface RegistryIO {
|
|
153
|
+
env: EnvIO;
|
|
154
|
+
file: RegistryFileIO;
|
|
155
|
+
isProjectRoot(dir: string): boolean;
|
|
156
|
+
}
|
|
135
157
|
export interface SpinnerIO {
|
|
136
158
|
start(message: string): void;
|
|
137
159
|
stop(message: string, exitCode?: number): void;
|
|
@@ -229,9 +251,6 @@ export interface ClaudeCodeIO {
|
|
|
229
251
|
isInstalled(): boolean;
|
|
230
252
|
getNotInstalledError(): string;
|
|
231
253
|
}
|
|
232
|
-
export interface DatabaseIO {
|
|
233
|
-
open(path: string, options?: Database.Options): Database.Database;
|
|
234
|
-
}
|
|
235
254
|
export interface LaunchPaths {
|
|
236
255
|
flingHome: string;
|
|
237
256
|
cwd: string;
|
|
@@ -249,7 +268,7 @@ export interface InitMeta {
|
|
|
249
268
|
export interface DbIO {
|
|
250
269
|
file: DbFileIO;
|
|
251
270
|
process: ProcessIO;
|
|
252
|
-
database:
|
|
271
|
+
database: DbAdapter;
|
|
253
272
|
console: ConsoleIO;
|
|
254
273
|
}
|
|
255
274
|
export interface StorageIO {
|
|
@@ -319,6 +338,8 @@ export interface DevIO {
|
|
|
319
338
|
file: DevFileIO;
|
|
320
339
|
process: ProcessIOWithStdio & ProcessIOWithSignals & {
|
|
321
340
|
execPath: string;
|
|
341
|
+
platform: NodeJS.Platform;
|
|
342
|
+
kill(pid: number, signal: NodeJS.Signals): void;
|
|
322
343
|
};
|
|
323
344
|
console: ConsoleIO;
|
|
324
345
|
paths: DevPaths;
|
|
@@ -333,10 +354,7 @@ export interface DevIO {
|
|
|
333
354
|
}
|
|
334
355
|
export interface ConfigIO {
|
|
335
356
|
file: ConfigFileIO;
|
|
336
|
-
env:
|
|
337
|
-
homedir(): string;
|
|
338
|
-
get(name: string): string | undefined;
|
|
339
|
-
};
|
|
357
|
+
env: EnvIO;
|
|
340
358
|
console: {
|
|
341
359
|
error(message: string): void;
|
|
342
360
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-io.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cli-io.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"cli-io.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cli-io.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQ5C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAEvD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAMpD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CA8BnD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,GAAE,OAAc,GAAG,MAAM,CAYzF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK7E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAInF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAGtE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAIlF;AASD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAqBD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3C;AAMD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AA2BzF;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAEnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
|
package/dist/cli/utils/config.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { join, dirname } from "node:path";
|
|
14
14
|
import { configIO as defaultConfigIO } from "./cli-io-impl.js";
|
|
15
|
-
|
|
15
|
+
import { DEFAULT_PLATFORM_API_URL } from "../../shared/constants.js";
|
|
16
16
|
// ═══════════════════════════════════════════════════════
|
|
17
17
|
// PURE FUNCTIONS (dependency-injected, testable)
|
|
18
18
|
// ═══════════════════════════════════════════════════════
|
|
@@ -119,7 +119,7 @@ export function getApiUrlWithIO(io, configDir) {
|
|
|
119
119
|
if (fileUrl) {
|
|
120
120
|
return fileUrl;
|
|
121
121
|
}
|
|
122
|
-
return
|
|
122
|
+
return DEFAULT_PLATFORM_API_URL;
|
|
123
123
|
}
|
|
124
124
|
/**
|
|
125
125
|
* Set the API URL (for development/testing).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/utils/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export interface DbAdapterOpenOptions {
|
|
2
|
+
readonly?: boolean;
|
|
3
|
+
}
|
|
4
|
+
export interface DbQueryResultSelect {
|
|
5
|
+
kind: "select";
|
|
6
|
+
rows: Record<string, unknown>[];
|
|
7
|
+
}
|
|
8
|
+
export interface DbQueryResultMutate {
|
|
9
|
+
kind: "mutate";
|
|
10
|
+
changes: number;
|
|
11
|
+
lastInsertRowid: number | bigint;
|
|
12
|
+
}
|
|
13
|
+
export type DbQueryResult = DbQueryResultSelect | DbQueryResultMutate;
|
|
14
|
+
export interface LogQueryParams {
|
|
15
|
+
level?: string;
|
|
16
|
+
since?: string;
|
|
17
|
+
cron?: string;
|
|
18
|
+
afterId?: number;
|
|
19
|
+
limit?: number;
|
|
20
|
+
orderBy: "id" | "timestamp";
|
|
21
|
+
order: "asc" | "desc";
|
|
22
|
+
}
|
|
23
|
+
export interface LogEntry {
|
|
24
|
+
id: number;
|
|
25
|
+
timestamp: string;
|
|
26
|
+
level: string;
|
|
27
|
+
message: string;
|
|
28
|
+
request_id: string | null;
|
|
29
|
+
cron_job: string | null;
|
|
30
|
+
data: string | null;
|
|
31
|
+
created_at: number;
|
|
32
|
+
}
|
|
33
|
+
export interface DbAdapterConnection {
|
|
34
|
+
execute(query: string): DbQueryResult;
|
|
35
|
+
logsTableExists(): boolean;
|
|
36
|
+
queryLogs(params: LogQueryParams): LogEntry[];
|
|
37
|
+
close(): void;
|
|
38
|
+
}
|
|
39
|
+
export interface DbAdapter {
|
|
40
|
+
open(path: string, options?: DbAdapterOpenOptions): DbAdapterConnection;
|
|
41
|
+
}
|
|
42
|
+
export interface DatabaseLike {
|
|
43
|
+
prepare(sql: string): StatementLike;
|
|
44
|
+
close(): void;
|
|
45
|
+
}
|
|
46
|
+
export interface StatementLike {
|
|
47
|
+
all(...params: unknown[]): unknown[];
|
|
48
|
+
run(...params: unknown[]): {
|
|
49
|
+
changes: number;
|
|
50
|
+
lastInsertRowid: number | bigint;
|
|
51
|
+
};
|
|
52
|
+
get(...params: unknown[]): unknown;
|
|
53
|
+
reader?: boolean;
|
|
54
|
+
}
|
|
55
|
+
export interface DatabaseFactory {
|
|
56
|
+
open(path: string, options?: DbAdapterOpenOptions): DatabaseLike;
|
|
57
|
+
}
|
|
58
|
+
export declare function createSqliteAdapter(factory: DatabaseFactory): DbAdapter;
|
|
59
|
+
//# sourceMappingURL=db-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-adapter.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/db-adapter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,GAAG,WAAW,CAAC;IAC5B,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;IACtC,eAAe,IAAI,OAAO,CAAC;IAC3B,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,QAAQ,EAAE,CAAC;IAC9C,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;CACzE;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;IACpC,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IACrC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjF,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,YAAY,CAAC;CAClE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,CAOvE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export function createSqliteAdapter(factory) {
|
|
2
|
+
return {
|
|
3
|
+
open: (path, options) => {
|
|
4
|
+
const db = factory.open(path, options);
|
|
5
|
+
return createConnection(db);
|
|
6
|
+
},
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
function createConnection(db) {
|
|
10
|
+
return {
|
|
11
|
+
execute: (query) => {
|
|
12
|
+
const stmt = db.prepare(query);
|
|
13
|
+
const isReader = typeof stmt.reader === "boolean" ? stmt.reader : isSelectQuery(query);
|
|
14
|
+
if (isReader) {
|
|
15
|
+
const rows = stmt.all();
|
|
16
|
+
return { kind: "select", rows };
|
|
17
|
+
}
|
|
18
|
+
const result = stmt.run();
|
|
19
|
+
return {
|
|
20
|
+
kind: "mutate",
|
|
21
|
+
changes: result.changes,
|
|
22
|
+
lastInsertRowid: result.lastInsertRowid,
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
logsTableExists: () => {
|
|
26
|
+
const row = db
|
|
27
|
+
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='_fling_logs'")
|
|
28
|
+
.get();
|
|
29
|
+
return Boolean(row);
|
|
30
|
+
},
|
|
31
|
+
queryLogs: (params) => {
|
|
32
|
+
const { sql, args } = buildLogsQuery(params);
|
|
33
|
+
const rows = db.prepare(sql).all(...args);
|
|
34
|
+
return rows;
|
|
35
|
+
},
|
|
36
|
+
close: () => {
|
|
37
|
+
db.close();
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function isSelectQuery(query) {
|
|
42
|
+
return query.trim().toUpperCase().startsWith("SELECT");
|
|
43
|
+
}
|
|
44
|
+
function buildLogsQuery(params) {
|
|
45
|
+
const conditions = [];
|
|
46
|
+
const args = [];
|
|
47
|
+
if (params.level) {
|
|
48
|
+
conditions.push("level = ?");
|
|
49
|
+
args.push(params.level);
|
|
50
|
+
}
|
|
51
|
+
if (params.since) {
|
|
52
|
+
conditions.push("timestamp >= ?");
|
|
53
|
+
args.push(params.since);
|
|
54
|
+
}
|
|
55
|
+
if (params.cron) {
|
|
56
|
+
conditions.push("cron_job = ?");
|
|
57
|
+
args.push(params.cron);
|
|
58
|
+
}
|
|
59
|
+
if (params.afterId !== undefined) {
|
|
60
|
+
conditions.push("id > ?");
|
|
61
|
+
args.push(params.afterId);
|
|
62
|
+
}
|
|
63
|
+
const lines = ["SELECT * FROM _fling_logs"];
|
|
64
|
+
if (conditions.length > 0) {
|
|
65
|
+
lines.push(`WHERE ${conditions.join(" AND ")}`);
|
|
66
|
+
}
|
|
67
|
+
lines.push(`ORDER BY ${params.orderBy} ${params.order.toUpperCase()}`);
|
|
68
|
+
if (params.limit !== undefined) {
|
|
69
|
+
lines.push("LIMIT ?");
|
|
70
|
+
args.push(params.limit);
|
|
71
|
+
}
|
|
72
|
+
return { sql: lines.join("\n"), args };
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=db-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-adapter.js","sourceRoot":"","sources":["../../../src/cli/utils/db-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI email validation utilities.
|
|
3
|
+
*
|
|
4
|
+
* Validates email format (via Zod) and rejects RFC 2606 example domains.
|
|
5
|
+
* Pure functions — no DI needed.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isExampleDomain(email: string): boolean;
|
|
8
|
+
export declare function validateEmail(raw: string): {
|
|
9
|
+
valid: true;
|
|
10
|
+
email: string;
|
|
11
|
+
} | {
|
|
12
|
+
valid: false;
|
|
13
|
+
error: string;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=email.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/email.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAItD;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GACV;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAalE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI email validation utilities.
|
|
3
|
+
*
|
|
4
|
+
* Validates email format (via Zod) and rejects RFC 2606 example domains.
|
|
5
|
+
* Pure functions — no DI needed.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
const emailSchema = z.string().email();
|
|
9
|
+
const EXAMPLE_DOMAIN_PATTERN = /^(.*\.)?example\.(com|org|net)$/;
|
|
10
|
+
export function isExampleDomain(email) {
|
|
11
|
+
const domain = email.split("@")[1]?.toLowerCase();
|
|
12
|
+
if (!domain)
|
|
13
|
+
return false;
|
|
14
|
+
return EXAMPLE_DOMAIN_PATTERN.test(domain);
|
|
15
|
+
}
|
|
16
|
+
export function validateEmail(raw) {
|
|
17
|
+
const email = raw.trim();
|
|
18
|
+
if (!email)
|
|
19
|
+
return { valid: false, error: "Email is required." };
|
|
20
|
+
if (!emailSchema.safeParse(email).success) {
|
|
21
|
+
return { valid: false, error: "Invalid email address." };
|
|
22
|
+
}
|
|
23
|
+
if (isExampleDomain(email)) {
|
|
24
|
+
return {
|
|
25
|
+
valid: false,
|
|
26
|
+
error: "Example domains (example.com, example.org, example.net) are not allowed.",
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return { valid: true, email };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=email.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/cli/utils/email.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;AACvC,MAAM,sBAAsB,GAAG,iCAAiC,CAAC;AAEjE,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IAClD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,GAAW;IAEX,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IACjE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,0EAA0E;SAClF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -3,15 +3,23 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Reads the project name from package.json, with backwards compatibility
|
|
5
5
|
* for projects that don't have a projectName set.
|
|
6
|
+
* Uses dependency injection for testability.
|
|
6
7
|
*/
|
|
7
8
|
import { DEFAULT_PROJECT_NAME } from "../../shared/constants.js";
|
|
9
|
+
import type { FileIO, ReadFileString } from "./cli-io.js";
|
|
8
10
|
export { DEFAULT_PROJECT_NAME };
|
|
11
|
+
/**
|
|
12
|
+
* File operations needed for reading project name.
|
|
13
|
+
*/
|
|
14
|
+
export type ProjectNameFileIO = FileIO & ReadFileString;
|
|
9
15
|
/**
|
|
10
16
|
* Read the project name from package.json's fling.projectName field.
|
|
11
17
|
* Returns DEFAULT_PROJECT_NAME if the field is not present (backwards compatibility).
|
|
12
18
|
*
|
|
13
|
-
* @param
|
|
19
|
+
* @param file - File I/O operations
|
|
20
|
+
* @param cwd - Function to get current working directory
|
|
21
|
+
* @param projectDir - The project directory (defaults to cwd())
|
|
14
22
|
* @returns The project name, or DEFAULT_PROJECT_NAME if not set
|
|
15
23
|
*/
|
|
16
|
-
export declare function getProjectName(projectDir?: string): string;
|
|
24
|
+
export declare function getProjectName(file: ProjectNameFileIO, cwd: () => string, projectDir?: string): string;
|
|
17
25
|
//# sourceMappingURL=project-name.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-name.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/project-name.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"project-name.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/project-name.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAQhC;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,cAAc,CAAC;AAExD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,iBAAiB,EACvB,GAAG,EAAE,MAAM,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAmBR"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Reads the project name from package.json, with backwards compatibility
|
|
5
5
|
* for projects that don't have a projectName set.
|
|
6
|
+
* Uses dependency injection for testability.
|
|
6
7
|
*/
|
|
7
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { DEFAULT_PROJECT_NAME } from "../../shared/constants.js";
|
|
10
10
|
// Re-export for consumers
|
|
@@ -13,16 +13,22 @@ export { DEFAULT_PROJECT_NAME };
|
|
|
13
13
|
* Read the project name from package.json's fling.projectName field.
|
|
14
14
|
* Returns DEFAULT_PROJECT_NAME if the field is not present (backwards compatibility).
|
|
15
15
|
*
|
|
16
|
-
* @param
|
|
16
|
+
* @param file - File I/O operations
|
|
17
|
+
* @param cwd - Function to get current working directory
|
|
18
|
+
* @param projectDir - The project directory (defaults to cwd())
|
|
17
19
|
* @returns The project name, or DEFAULT_PROJECT_NAME if not set
|
|
18
20
|
*/
|
|
19
|
-
export function getProjectName(
|
|
20
|
-
const
|
|
21
|
-
|
|
21
|
+
export function getProjectName(file, cwd, projectDir) {
|
|
22
|
+
const dir = projectDir ?? cwd();
|
|
23
|
+
const packageJsonPath = join(dir, "package.json");
|
|
24
|
+
if (!file.exists(packageJsonPath)) {
|
|
25
|
+
return DEFAULT_PROJECT_NAME;
|
|
26
|
+
}
|
|
27
|
+
const content = file.readFileString(packageJsonPath);
|
|
28
|
+
if (content === null) {
|
|
22
29
|
return DEFAULT_PROJECT_NAME;
|
|
23
30
|
}
|
|
24
31
|
try {
|
|
25
|
-
const content = readFileSync(packageJsonPath, "utf-8");
|
|
26
32
|
const pkg = JSON.parse(content);
|
|
27
33
|
return pkg.fling?.projectName ?? DEFAULT_PROJECT_NAME;
|
|
28
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-name.js","sourceRoot":"","sources":["../../../src/cli/utils/project-name.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"project-name.js","sourceRoot":"","sources":["../../../src/cli/utils/project-name.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,0BAA0B;AAC1B,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAahC;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAuB,EACvB,GAAiB,EACjB,UAAmB;IAEnB,MAAM,GAAG,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC;IAChC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAElD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IACrD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;QAC/C,OAAO,GAAG,CAAC,KAAK,EAAE,WAAW,IAAI,oBAAoB,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,oBAAoB,CAAC;IAC9B,CAAC;AACH,CAAC"}
|
|
@@ -2,12 +2,23 @@
|
|
|
2
2
|
* Project utility functions.
|
|
3
3
|
*
|
|
4
4
|
* Provides helpers for locating project files and validating project structure.
|
|
5
|
+
* All functions accept dependency-injected I/O interfaces for testability.
|
|
5
6
|
*/
|
|
7
|
+
import type { ProjectFileIO } from "./cli-io.js";
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
9
|
+
* Dependencies for getFlingRoot.
|
|
10
|
+
*/
|
|
11
|
+
export interface GetFlingRootDeps {
|
|
12
|
+
file: ProjectFileIO;
|
|
13
|
+
moduleFilePath: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get Fling root directory by walking up from the module file to find package.json.
|
|
8
17
|
* Verifies the package name is "flingit" to ensure we found the right one.
|
|
18
|
+
*
|
|
19
|
+
* Note: Caching is handled by the caller (cli-io-impl.ts) rather than internally.
|
|
9
20
|
*/
|
|
10
|
-
export declare function getFlingRoot(): string;
|
|
21
|
+
export declare function getFlingRoot(deps: GetFlingRootDeps): string;
|
|
11
22
|
/**
|
|
12
23
|
* Result of checking skills update status.
|
|
13
24
|
*/
|
|
@@ -65,20 +76,20 @@ export declare function getWorkerEntryPath(projectDir: string): string;
|
|
|
65
76
|
/**
|
|
66
77
|
* Check if worker entry point exists.
|
|
67
78
|
*/
|
|
68
|
-
export declare function hasWorkerEntry(projectDir: string): boolean;
|
|
79
|
+
export declare function hasWorkerEntry(projectDir: string, file: ProjectFileIO): boolean;
|
|
69
80
|
/**
|
|
70
81
|
* Check if a directory is a Fling project root (has a fling Claude skill).
|
|
71
82
|
*/
|
|
72
|
-
export declare function isProjectRoot(dir: string): boolean;
|
|
83
|
+
export declare function isProjectRoot(dir: string, file: ProjectFileIO): boolean;
|
|
73
84
|
/**
|
|
74
85
|
* Walk up from startDir looking for an enclosing Fling project.
|
|
75
86
|
* Returns the project root path, or null if none found.
|
|
76
87
|
*/
|
|
77
|
-
export declare function findEnclosingProject(startDir: string): string | null;
|
|
88
|
+
export declare function findEnclosingProject(startDir: string, file: ProjectFileIO): string | null;
|
|
78
89
|
/**
|
|
79
90
|
* Check if any component of a path is a symlink.
|
|
80
91
|
* Walks from the target path up to (but not including) the base path.
|
|
81
92
|
* This only checks symlinks within the project, not above it.
|
|
82
93
|
*/
|
|
83
|
-
export declare function hasSymlinkInPath(targetPath: string, basePath: string): boolean;
|
|
94
|
+
export declare function hasSymlinkInPath(targetPath: string, basePath: string, file: ProjectFileIO): boolean;
|
|
84
95
|
//# sourceMappingURL=project.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/project.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/project.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAwB3D;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC5B;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtD,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAChE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,cAAc,GACjB,YAAY,CAgCd;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,yCAA0C,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,oBAAoB,8BAA+B,CAAC;AAEjE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAE/E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAEvE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAezF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAmBnG"}
|