@abijith-suresh/outpost 0.0.20 → 0.0.22
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 +0 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +43 -7
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/workspace-remove.d.ts.map +1 -1
- package/dist/commands/workspace-remove.js +14 -0
- package/dist/commands/workspace-remove.js.map +1 -1
- package/dist/commands/workspace-show.d.ts.map +1 -1
- package/dist/commands/workspace-show.js +14 -0
- package/dist/commands/workspace-show.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +20 -1
- package/dist/config.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -34,7 +34,6 @@ outpost workspace remove PROJ-123 # clean up when done
|
|
|
34
34
|
| `workspace list` | `outpost workspace list [--json]` | List created ticket workspaces |
|
|
35
35
|
| `workspace remove` | `outpost workspace remove <ticket> [--json]` | Remove a ticket workspace and all its worktrees |
|
|
36
36
|
| `workspace show` | `outpost workspace show <ticket> [--json]` | Show one created ticket workspace |
|
|
37
|
-
| `demo list` | `outpost demo list [--json]` | Show placeholder command output structure |
|
|
38
37
|
|
|
39
38
|
## Environment
|
|
40
39
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAYhC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAYhC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AASjD,wBAAgB,SAAS,IAAI,MAAM,CAAC,MAAM,CACxC,aAAa,EACb,KAAK,EACL,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAClC,CAgGA"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -2,6 +2,10 @@ import * as FileSystem from "@effect/platform/FileSystem";
|
|
|
2
2
|
import * as Path from "@effect/platform/Path";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
4
|
import { buildInitialConfig, emptyRepoRegistry, getRepoHealthDiagnostics, getConfigFilePath, getRepoRegistryFilePath, loadConfig, loadRepoRegistry, resolveOutpostHome, } from "../config.js";
|
|
5
|
+
function formatErrorStatus(diagnostics) {
|
|
6
|
+
const summaries = diagnostics.map((diagnostic) => diagnostic.split(/\r?\n/)[0] ?? diagnostic);
|
|
7
|
+
return `error: ${summaries.join("; ")}`;
|
|
8
|
+
}
|
|
5
9
|
export function runDoctor() {
|
|
6
10
|
return Effect.gen(function* () {
|
|
7
11
|
const fs = yield* FileSystem.FileSystem;
|
|
@@ -22,29 +26,61 @@ export function runDoctor() {
|
|
|
22
26
|
node: process.version,
|
|
23
27
|
outpostHome,
|
|
24
28
|
platform: process.platform,
|
|
29
|
+
diagnostics: [],
|
|
25
30
|
status: "not-initialized",
|
|
26
31
|
},
|
|
27
32
|
};
|
|
28
33
|
}
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
|
|
34
|
+
const diagnostics = [];
|
|
35
|
+
const configResult = yield* loadConfig(outpostHome).pipe(Effect.matchEffect({
|
|
36
|
+
onFailure: (error) => buildInitialConfig(outpostHome).pipe(Effect.map((config) => ({
|
|
37
|
+
config,
|
|
38
|
+
diagnostic: error.message,
|
|
39
|
+
}))),
|
|
40
|
+
onSuccess: (config) => Effect.succeed({
|
|
41
|
+
config,
|
|
42
|
+
diagnostic: undefined,
|
|
43
|
+
}),
|
|
44
|
+
}));
|
|
45
|
+
if (configResult.diagnostic !== undefined) {
|
|
46
|
+
diagnostics.push(configResult.diagnostic);
|
|
47
|
+
}
|
|
48
|
+
const repoRegistryResult = yield* loadRepoRegistry(outpostHome).pipe(Effect.match({
|
|
49
|
+
onFailure: (error) => ({
|
|
50
|
+
repoRegistry: emptyRepoRegistry,
|
|
51
|
+
diagnostic: error.message,
|
|
52
|
+
}),
|
|
53
|
+
onSuccess: (repoRegistry) => ({
|
|
54
|
+
repoRegistry,
|
|
55
|
+
diagnostic: undefined,
|
|
56
|
+
}),
|
|
57
|
+
}));
|
|
58
|
+
if (repoRegistryResult.diagnostic !== undefined) {
|
|
59
|
+
diagnostics.push(repoRegistryResult.diagnostic);
|
|
60
|
+
}
|
|
61
|
+
const { missingRepoCount, missingRepos } = yield* getRepoHealthDiagnostics(repoRegistryResult.repoRegistry.repos);
|
|
62
|
+
const status = diagnostics.length > 0
|
|
63
|
+
? formatErrorStatus(diagnostics)
|
|
64
|
+
: missingRepoCount > 0
|
|
65
|
+
? "degraded"
|
|
66
|
+
: "ok";
|
|
32
67
|
return {
|
|
33
68
|
command: "doctor",
|
|
34
69
|
data: {
|
|
35
70
|
configFilePath,
|
|
36
71
|
cwd: process.cwd(),
|
|
72
|
+
diagnostics,
|
|
37
73
|
initialized: true,
|
|
38
74
|
missingRepoCount,
|
|
39
75
|
missingRepos,
|
|
40
76
|
node: process.version,
|
|
41
77
|
outpostHome,
|
|
42
78
|
platform: process.platform,
|
|
43
|
-
repoCount: repoRegistry.repos.length,
|
|
79
|
+
repoCount: repoRegistryResult.repoRegistry.repos.length,
|
|
44
80
|
repoRegistryFilePath,
|
|
45
|
-
reposRoot: config.reposRoot,
|
|
46
|
-
status
|
|
47
|
-
worktreesRoot: config.worktreesRoot,
|
|
81
|
+
reposRoot: configResult.config.reposRoot,
|
|
82
|
+
status,
|
|
83
|
+
worktreesRoot: configResult.config.worktreesRoot,
|
|
48
84
|
},
|
|
49
85
|
};
|
|
50
86
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,MAAM,UAAU,SAAS;IAKvB,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QACxC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,EAAE;aAC1B,MAAM,CAAC,cAAc,CAAC;aACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAE3C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE;oBACJ,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;oBAClB,WAAW,EAAE,KAAK;oBAClB,gBAAgB,EAAE,CAAC;oBACnB,YAAY,EAAE,EAAE;oBAChB,IAAI,EAAE,OAAO,CAAC,OAAO;oBACrB,WAAW;oBACX,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,MAAM,EAAE,iBAAiB;iBAC1B;aACsB,CAAC;QAC5B,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-remove.d.ts","sourceRoot":"","sources":["../../src/commands/workspace-remove.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAW,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;;;;;;AAEjD,qBAAa,oBAAqB,SAAQ,yBAKzC;CAAG;
|
|
1
|
+
{"version":3,"file":"workspace-remove.d.ts","sourceRoot":"","sources":["../../src/commands/workspace-remove.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAW,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;;;;;;AAEjD,qBAAa,oBAAqB,SAAQ,yBAKzC;CAAG;AAiCJ,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,GAC/B,MAAM,CAAC,MAAM,CACd,aAAa,EACb,oBAAoB,EACpB,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,eAAe,CACpE,CAkGA"}
|
|
@@ -13,6 +13,19 @@ function gitCommand(...args) {
|
|
|
13
13
|
GIT_TERMINAL_PROMPT: "0",
|
|
14
14
|
}));
|
|
15
15
|
}
|
|
16
|
+
function validateTicket(ticket) {
|
|
17
|
+
if (ticket.includes("/") || ticket.includes("\\")) {
|
|
18
|
+
return Effect.fail(new WorkspaceRemoveError({
|
|
19
|
+
message: "--ticket may not contain path separators.",
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
if (ticket === "." || ticket === "..") {
|
|
23
|
+
return Effect.fail(new WorkspaceRemoveError({
|
|
24
|
+
message: "--ticket may not contain path traversal.",
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
return Effect.void;
|
|
28
|
+
}
|
|
16
29
|
export function runWorkspaceRemove(ticket, extraArgs) {
|
|
17
30
|
return Effect.gen(function* () {
|
|
18
31
|
if (!ticket || extraArgs.length > 0) {
|
|
@@ -20,6 +33,7 @@ export function runWorkspaceRemove(ticket, extraArgs) {
|
|
|
20
33
|
message: "Usage: outpost workspace remove <ticket> [--json]",
|
|
21
34
|
}));
|
|
22
35
|
}
|
|
36
|
+
yield* validateTicket(ticket);
|
|
23
37
|
const fs = yield* FileSystem.FileSystem;
|
|
24
38
|
const path = yield* Path.Path;
|
|
25
39
|
const outpostHome = yield* resolveOutpostHome();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-remove.js","sourceRoot":"","sources":["../../src/commands/workspace-remove.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-remove.js","sourceRoot":"","sources":["../../src/commands/workspace-remove.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-show.d.ts","sourceRoot":"","sources":["../../src/commands/workspace-show.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;;;;;;AAEjD,qBAAa,kBAAmB,SAAQ,uBAKvC;CAAG;
|
|
1
|
+
{"version":3,"file":"workspace-show.d.ts","sourceRoot":"","sources":["../../src/commands/workspace-show.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;;;;;;AAEjD,qBAAa,kBAAmB,SAAQ,uBAKvC;CAAG;AAwBJ,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,GAC/B,MAAM,CAAC,MAAM,CACd,aAAa,EACb,kBAAkB,EAClB,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAClC,CA6EA"}
|
|
@@ -6,6 +6,19 @@ export class WorkspaceShowError extends Schema.TaggedError()("WorkspaceShowError
|
|
|
6
6
|
message: Schema.String,
|
|
7
7
|
}) {
|
|
8
8
|
}
|
|
9
|
+
function validateTicket(ticket) {
|
|
10
|
+
if (ticket.includes("/") || ticket.includes("\\")) {
|
|
11
|
+
return Effect.fail(new WorkspaceShowError({
|
|
12
|
+
message: "--ticket may not contain path separators.",
|
|
13
|
+
}));
|
|
14
|
+
}
|
|
15
|
+
if (ticket === "." || ticket === "..") {
|
|
16
|
+
return Effect.fail(new WorkspaceShowError({
|
|
17
|
+
message: "--ticket may not contain path traversal.",
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
return Effect.void;
|
|
21
|
+
}
|
|
9
22
|
export function runWorkspaceShow(ticket, extraArgs) {
|
|
10
23
|
return Effect.gen(function* () {
|
|
11
24
|
if (!ticket || extraArgs.length > 0) {
|
|
@@ -13,6 +26,7 @@ export function runWorkspaceShow(ticket, extraArgs) {
|
|
|
13
26
|
message: "Usage: outpost workspace show <ticket> [--json]",
|
|
14
27
|
}));
|
|
15
28
|
}
|
|
29
|
+
yield* validateTicket(ticket);
|
|
16
30
|
const fs = yield* FileSystem.FileSystem;
|
|
17
31
|
const path = yield* Path.Path;
|
|
18
32
|
const outpostHome = yield* resolveOutpostHome();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-show.js","sourceRoot":"","sources":["../../src/commands/workspace-show.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-show.js","sourceRoot":"","sources":["../../src/commands/workspace-show.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { PlatformError } from "@effect/platform/Error";
|
|
|
3
3
|
import * as Path from "@effect/platform/Path";
|
|
4
4
|
import { Effect, Schema } from "effect";
|
|
5
5
|
export declare const OUTPOST_HOME_ENV = "OUTPOST_HOME";
|
|
6
|
+
export declare const CURRENT_CONFIG_VERSION = 1;
|
|
6
7
|
declare const ConfigError_base: Schema.TaggedErrorClass<ConfigError, "ConfigError", {
|
|
7
8
|
readonly _tag: Schema.tag<"ConfigError">;
|
|
8
9
|
} & {
|
|
@@ -17,6 +18,7 @@ export declare const OutpostConfigSchema: Schema.Struct<{
|
|
|
17
18
|
worktreesRoot: typeof Schema.String;
|
|
18
19
|
}>;
|
|
19
20
|
export type OutpostConfig = Schema.Schema.Type<typeof OutpostConfigSchema>;
|
|
21
|
+
export declare function migrateConfig(raw: unknown): Effect.Effect<unknown, ConfigError>;
|
|
20
22
|
export declare const RepoRecordSchema: Schema.Struct<{
|
|
21
23
|
id: typeof Schema.String;
|
|
22
24
|
importedAt: typeof Schema.String;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,eAAO,MAAM,gBAAgB,iBAAiB,CAAC
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -2,6 +2,7 @@ import * as FileSystem from "@effect/platform/FileSystem";
|
|
|
2
2
|
import * as Path from "@effect/platform/Path";
|
|
3
3
|
import { Effect, Schema } from "effect";
|
|
4
4
|
export const OUTPOST_HOME_ENV = "OUTPOST_HOME";
|
|
5
|
+
export const CURRENT_CONFIG_VERSION = 1;
|
|
5
6
|
export class ConfigError extends Schema.TaggedError()("ConfigError", {
|
|
6
7
|
message: Schema.String,
|
|
7
8
|
}) {
|
|
@@ -12,6 +13,21 @@ export const OutpostConfigSchema = Schema.Struct({
|
|
|
12
13
|
reposRoot: Schema.String,
|
|
13
14
|
worktreesRoot: Schema.String,
|
|
14
15
|
});
|
|
16
|
+
export function migrateConfig(raw) {
|
|
17
|
+
return Effect.gen(function* () {
|
|
18
|
+
if (typeof raw !== "object" || raw === null) {
|
|
19
|
+
return raw;
|
|
20
|
+
}
|
|
21
|
+
const obj = raw;
|
|
22
|
+
const version = typeof obj.version === "number" ? obj.version : CURRENT_CONFIG_VERSION;
|
|
23
|
+
if (version > CURRENT_CONFIG_VERSION) {
|
|
24
|
+
return yield* Effect.fail(new ConfigError({
|
|
25
|
+
message: `Config version ${version} is newer than the supported version ${CURRENT_CONFIG_VERSION}. Please upgrade outpost.`,
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
return { ...obj, version: CURRENT_CONFIG_VERSION };
|
|
29
|
+
});
|
|
30
|
+
}
|
|
15
31
|
export const RepoRecordSchema = Schema.Struct({
|
|
16
32
|
id: Schema.String,
|
|
17
33
|
importedAt: Schema.String,
|
|
@@ -143,7 +159,10 @@ export function loadConfig(outpostHome) {
|
|
|
143
159
|
message: `Invalid JSON in config file ${configFilePath}: ${String(error)}`,
|
|
144
160
|
}),
|
|
145
161
|
});
|
|
146
|
-
|
|
162
|
+
const migrated = yield* migrateConfig(parsedJson).pipe(Effect.mapError((error) => new ConfigError({
|
|
163
|
+
message: `Invalid config file ${configFilePath}: ${error.message}`,
|
|
164
|
+
})));
|
|
165
|
+
return yield* Schema.decodeUnknown(OutpostConfigSchema)(migrated).pipe(Effect.mapError((error) => new ConfigError({
|
|
147
166
|
message: `Invalid config file ${configFilePath}: ${error.message}`,
|
|
148
167
|
})));
|
|
149
168
|
});
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAE1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|