@guanjinke/artifact-client 1.3.0 → 1.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 +186 -229
- package/dist/cli/config-manager.d.ts +15 -0
- package/dist/cli/config-manager.d.ts.map +1 -1
- package/dist/cli/config-manager.js +31 -0
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/cli/environment.d.ts +7 -0
- package/dist/cli/environment.d.ts.map +1 -0
- package/dist/cli/environment.js +200 -0
- package/dist/cli/environment.js.map +1 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +160 -2
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli.js +4 -1
- package/dist/cli.js.map +1 -1
- package/dist/environment/archive.d.ts +7 -0
- package/dist/environment/archive.d.ts.map +1 -0
- package/dist/environment/archive.js +132 -0
- package/dist/environment/archive.js.map +1 -0
- package/dist/environment/builder.d.ts +6 -0
- package/dist/environment/builder.d.ts.map +1 -0
- package/dist/environment/builder.js +323 -0
- package/dist/environment/builder.js.map +1 -0
- package/dist/environment/catalog.d.ts +9 -0
- package/dist/environment/catalog.d.ts.map +1 -0
- package/dist/environment/catalog.js +35 -0
- package/dist/environment/catalog.js.map +1 -0
- package/dist/environment/config.d.ts +8 -0
- package/dist/environment/config.d.ts.map +1 -0
- package/dist/environment/config.js +60 -0
- package/dist/environment/config.js.map +1 -0
- package/dist/environment/manager.d.ts +43 -0
- package/dist/environment/manager.d.ts.map +1 -0
- package/dist/environment/manager.js +383 -0
- package/dist/environment/manager.js.map +1 -0
- package/dist/environment/plan.d.ts +10 -0
- package/dist/environment/plan.d.ts.map +1 -0
- package/dist/environment/plan.js +131 -0
- package/dist/environment/plan.js.map +1 -0
- package/dist/environment/process.d.ts +94 -0
- package/dist/environment/process.d.ts.map +1 -0
- package/dist/environment/process.js +381 -0
- package/dist/environment/process.js.map +1 -0
- package/dist/environment/registry.d.ts +45 -0
- package/dist/environment/registry.d.ts.map +1 -0
- package/dist/environment/registry.js +157 -0
- package/dist/environment/registry.js.map +1 -0
- package/dist/environment/root.d.ts +33 -0
- package/dist/environment/root.d.ts.map +1 -0
- package/dist/environment/root.js +119 -0
- package/dist/environment/root.js.map +1 -0
- package/dist/environment/types.d.ts +66 -0
- package/dist/environment/types.d.ts.map +1 -0
- package/dist/environment/types.js +3 -0
- package/dist/environment/types.js.map +1 -0
- package/dist/environment/update.d.ts +106 -0
- package/dist/environment/update.d.ts.map +1 -0
- package/dist/environment/update.js +810 -0
- package/dist/environment/update.js.map +1 -0
- package/dist/environment/validate.d.ts +36 -0
- package/dist/environment/validate.d.ts.map +1 -0
- package/dist/environment/validate.js +147 -0
- package/dist/environment/validate.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +13 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/environment/process.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export type RunMode = 'foreground' | 'background';
|
|
2
|
+
export interface ProcessIdentity {
|
|
3
|
+
pid: number;
|
|
4
|
+
createdAt: string;
|
|
5
|
+
executable: string;
|
|
6
|
+
command: string;
|
|
7
|
+
}
|
|
8
|
+
export interface EnvironmentRecord {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
root: string;
|
|
12
|
+
port: number;
|
|
13
|
+
edition: string;
|
|
14
|
+
major: string;
|
|
15
|
+
profile: string;
|
|
16
|
+
modules: string[];
|
|
17
|
+
manifest: string;
|
|
18
|
+
createdAt: string;
|
|
19
|
+
state: 'creating' | 'ready' | 'running' | 'stopped';
|
|
20
|
+
/** Optional modules whose plugin entry points at a local developer build instead of the deployed artifact. */
|
|
21
|
+
localModules?: string[];
|
|
22
|
+
creator?: ProcessIdentity;
|
|
23
|
+
run?: ProcessIdentity & {
|
|
24
|
+
mode: RunMode;
|
|
25
|
+
stdout?: string;
|
|
26
|
+
stderr?: string;
|
|
27
|
+
};
|
|
28
|
+
lastMode?: RunMode;
|
|
29
|
+
}
|
|
30
|
+
export declare function validateName(name: string): void;
|
|
31
|
+
export declare const rootKey: (root: string) => string;
|
|
32
|
+
export declare class EnvironmentRegistry {
|
|
33
|
+
private readonly lockTimeout;
|
|
34
|
+
readonly directory: string;
|
|
35
|
+
readonly file: string;
|
|
36
|
+
constructor(directory?: string, lockTimeout?: number);
|
|
37
|
+
read(): Promise<EnvironmentRecord[]>;
|
|
38
|
+
locked<T>(key: string, action: () => Promise<T>): Promise<T>;
|
|
39
|
+
update<T>(action: (entries: EnvironmentRecord[]) => T): Promise<T>;
|
|
40
|
+
check(entries: EnvironmentRecord[], name: string, root: string, port: number): void;
|
|
41
|
+
get(name: string): Promise<EnvironmentRecord>;
|
|
42
|
+
save(entry: EnvironmentRecord): Promise<void>;
|
|
43
|
+
remove(id: string): Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/environment/registry.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,YAAY,CAAC;AAClD,MAAM,WAAW,eAAe;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE;AACzG,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IACzH,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACzF,8GAA8G;IAC9G,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,CAAC;IAAC,GAAG,CAAC,EAAE,eAAe,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC5H;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE/C;AACD,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,KAAG,MAA0C,CAAC;AAClF,qBAAa,mBAAmB;IAGU,OAAO,CAAC,QAAQ,CAAC,WAAW;IAFpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,SAAS,SAAiB,EAAmB,WAAW,SAAO;IACrE,IAAI,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAkBpC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAa5D,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IASxE,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ7E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAC7C,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CACxC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.EnvironmentRegistry = exports.rootKey = void 0;
|
|
37
|
+
exports.validateName = validateName;
|
|
38
|
+
const fs = __importStar(require("fs/promises"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const crypto_1 = require("crypto");
|
|
41
|
+
const config_manager_1 = require("../cli/config-manager");
|
|
42
|
+
function validateName(name) {
|
|
43
|
+
if (typeof name !== 'string' || !/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/.test(name))
|
|
44
|
+
throw new Error('Invalid environment name (ASCII letters, digits, dot, underscore and hyphen; 1-64 characters).');
|
|
45
|
+
}
|
|
46
|
+
const rootKey = (root) => path.resolve(root).toLowerCase();
|
|
47
|
+
exports.rootKey = rootKey;
|
|
48
|
+
class EnvironmentRegistry {
|
|
49
|
+
lockTimeout;
|
|
50
|
+
directory;
|
|
51
|
+
file;
|
|
52
|
+
constructor(directory = (0, config_manager_1.getConfigDir)(), lockTimeout = 5000) {
|
|
53
|
+
this.lockTimeout = lockTimeout;
|
|
54
|
+
this.directory = path.resolve(directory);
|
|
55
|
+
this.file = path.join(this.directory, 'environments.json');
|
|
56
|
+
}
|
|
57
|
+
async read() {
|
|
58
|
+
let text;
|
|
59
|
+
try {
|
|
60
|
+
text = await fs.readFile(this.file, 'utf8');
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
if (error.code === 'ENOENT')
|
|
64
|
+
return [];
|
|
65
|
+
throw error;
|
|
66
|
+
}
|
|
67
|
+
const data = JSON.parse(text);
|
|
68
|
+
if (!data || data.version !== 1 || !Array.isArray(data.environments))
|
|
69
|
+
throw new Error('Corrupt or unsupported environment registry.');
|
|
70
|
+
const ids = new Set();
|
|
71
|
+
const names = new Set();
|
|
72
|
+
const roots = new Set();
|
|
73
|
+
const ports = new Set();
|
|
74
|
+
for (const entry of data.environments) {
|
|
75
|
+
if (!entry || typeof entry.id !== 'string' || !/^[0-9a-f-]{36}$/.test(entry.id) || typeof entry.root !== 'string' || !path.isAbsolute(entry.root) || !Number.isInteger(entry.port) || entry.port < 1 || entry.port > 65535 || !['creating', 'ready', 'running', 'stopped'].includes(entry.state) || typeof entry.createdAt !== 'string' || typeof entry.edition !== 'string' || typeof entry.major !== 'string' || typeof entry.profile !== 'string' || !Array.isArray(entry.modules) || entry.modules.some(m => typeof m !== 'string') || entry.manifest !== path.join(entry.root, 'environment.lock.json'))
|
|
76
|
+
throw new Error('Corrupt environment registry entry.');
|
|
77
|
+
validateName(entry.name);
|
|
78
|
+
if (entry.localModules !== undefined && (!Array.isArray(entry.localModules) || entry.localModules.some(module => typeof module !== 'string')))
|
|
79
|
+
throw new Error('Corrupt environment registry entry.');
|
|
80
|
+
for (const identity of [entry.creator, entry.run])
|
|
81
|
+
if (identity && (!Number.isInteger(identity.pid) || identity.pid <= 0 || typeof identity.createdAt !== 'string' || !identity.createdAt || typeof identity.executable !== 'string' || typeof identity.command !== 'string'))
|
|
82
|
+
throw new Error('Corrupt process identity.');
|
|
83
|
+
if (entry.lastMode !== undefined && !['foreground', 'background'].includes(entry.lastMode))
|
|
84
|
+
throw new Error('Corrupt previous runtime mode.');
|
|
85
|
+
if (entry.run && !['foreground', 'background'].includes(entry.run.mode))
|
|
86
|
+
throw new Error('Corrupt runtime mode.');
|
|
87
|
+
if (ids.has(entry.id) || names.has(entry.name.toLowerCase()) || roots.has((0, exports.rootKey)(entry.root)) || ports.has(entry.port))
|
|
88
|
+
throw new Error('Conflicting environment registry entries.');
|
|
89
|
+
ids.add(entry.id);
|
|
90
|
+
names.add(entry.name.toLowerCase());
|
|
91
|
+
roots.add((0, exports.rootKey)(entry.root));
|
|
92
|
+
ports.add(entry.port);
|
|
93
|
+
}
|
|
94
|
+
return data.environments;
|
|
95
|
+
}
|
|
96
|
+
async locked(key, action) {
|
|
97
|
+
await fs.mkdir(this.directory, { recursive: true });
|
|
98
|
+
const lock = path.join(this.directory, `${key}.lock`);
|
|
99
|
+
const started = Date.now();
|
|
100
|
+
let handle;
|
|
101
|
+
for (;;) {
|
|
102
|
+
try {
|
|
103
|
+
handle = await fs.open(lock, 'wx');
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
if (error.code !== 'EEXIST')
|
|
108
|
+
throw error;
|
|
109
|
+
if (Date.now() - started >= this.lockTimeout)
|
|
110
|
+
throw new Error(`Environment lock busy: ${key}. No stale locks are automatically removed.`);
|
|
111
|
+
await new Promise(resolve => setTimeout(resolve, 25));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
return await action();
|
|
116
|
+
}
|
|
117
|
+
finally {
|
|
118
|
+
await handle.close();
|
|
119
|
+
await fs.unlink(lock);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
async update(action) {
|
|
123
|
+
return this.locked('registry', async () => {
|
|
124
|
+
const entries = await this.read();
|
|
125
|
+
const result = action(entries);
|
|
126
|
+
const temporary = path.join(this.directory, `.environments-${(0, crypto_1.randomUUID)()}.tmp`);
|
|
127
|
+
try {
|
|
128
|
+
await fs.writeFile(temporary, JSON.stringify({ version: 1, environments: entries }, null, 2) + '\n', { flag: 'wx' });
|
|
129
|
+
await fs.rename(temporary, this.file);
|
|
130
|
+
}
|
|
131
|
+
finally {
|
|
132
|
+
await fs.unlink(temporary).catch(error => { if (error.code !== 'ENOENT')
|
|
133
|
+
throw error; });
|
|
134
|
+
}
|
|
135
|
+
return result;
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
check(entries, name, root, port) {
|
|
139
|
+
validateName(name);
|
|
140
|
+
for (const entry of entries) {
|
|
141
|
+
if (entry.name.toLowerCase() === name.toLowerCase())
|
|
142
|
+
throw new Error(`Environment name already registered: ${entry.name}.`);
|
|
143
|
+
if ((0, exports.rootKey)(entry.root) === (0, exports.rootKey)(root) || (0, exports.rootKey)(entry.root).startsWith((0, exports.rootKey)(root) + path.sep) || (0, exports.rootKey)(root).startsWith((0, exports.rootKey)(entry.root) + path.sep))
|
|
144
|
+
throw new Error(`Root overlaps root reserved by ${entry.name}.`);
|
|
145
|
+
if (entry.port === port)
|
|
146
|
+
throw new Error(`Port ${port} reserved by ${entry.name}; choose an alternate --port.`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
async get(name) { validateName(name); const entry = (await this.read()).find(e => e.name.toLowerCase() === name.toLowerCase()); if (!entry)
|
|
150
|
+
throw new Error(`Environment not registered: ${name}.`); return entry; }
|
|
151
|
+
async save(entry) { await this.update(entries => { const index = entries.findIndex(e => e.id === entry.id); if (index < 0)
|
|
152
|
+
throw new Error('Environment record disappeared.'); entries[index] = entry; }); }
|
|
153
|
+
async remove(id) { await this.update(entries => { const index = entries.findIndex(e => e.id === id); if (index >= 0)
|
|
154
|
+
entries.splice(index, 1); }); }
|
|
155
|
+
}
|
|
156
|
+
exports.EnvironmentRegistry = EnvironmentRegistry;
|
|
157
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/environment/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify that a directory is safe to use as an environment directory or as the
|
|
3
|
+
* unified directory that contains managed environments.
|
|
4
|
+
*
|
|
5
|
+
* Rejected locations are filesystem roots, the user profile itself, the AFM
|
|
6
|
+
* configuration directory, Windows/Program Files locations, ancestors of the
|
|
7
|
+
* configuration directory, and any path with an existing linked (symlink or
|
|
8
|
+
* junction) ancestor. The check is read-only; it never creates or removes
|
|
9
|
+
* anything and returns whether the directory already exists as a regular
|
|
10
|
+
* directory.
|
|
11
|
+
*/
|
|
12
|
+
export declare function inspectEnvironmentDirectory(directory: string, configDirectory: string): Promise<boolean>;
|
|
13
|
+
export interface EnvironmentContainer {
|
|
14
|
+
directory: string;
|
|
15
|
+
created: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Validate the unified directory that holds managed environments.
|
|
19
|
+
*
|
|
20
|
+
* With `create: false` (used by dry-run) the directory is only inspected and
|
|
21
|
+
* must not be written. With `create: true` a missing directory is created and
|
|
22
|
+
* re-verified as a regular, unlinked directory so later publishing cannot fail
|
|
23
|
+
* on a missing or unsafe container.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveEnvironmentContainer(input: string, configDirectory: string, options?: {
|
|
26
|
+
create?: boolean;
|
|
27
|
+
}): Promise<EnvironmentContainer>;
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the directory for one named environment inside the unified root.
|
|
30
|
+
* The name must be a single safe path segment so it can never escape the root.
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolveNamedEnvironmentDirectory(container: string, name: string): string;
|
|
33
|
+
//# sourceMappingURL=root.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/environment/root.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwB9G;AAED,MAAM,WAAW,oBAAoB;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;CAAE;AAE9E;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAS3J;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxF"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.inspectEnvironmentDirectory = inspectEnvironmentDirectory;
|
|
37
|
+
exports.resolveEnvironmentContainer = resolveEnvironmentContainer;
|
|
38
|
+
exports.resolveNamedEnvironmentDirectory = resolveNamedEnvironmentDirectory;
|
|
39
|
+
const fs = __importStar(require("fs/promises"));
|
|
40
|
+
const os = __importStar(require("os"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const registry_1 = require("./registry");
|
|
43
|
+
/**
|
|
44
|
+
* Verify that a directory is safe to use as an environment directory or as the
|
|
45
|
+
* unified directory that contains managed environments.
|
|
46
|
+
*
|
|
47
|
+
* Rejected locations are filesystem roots, the user profile itself, the AFM
|
|
48
|
+
* configuration directory, Windows/Program Files locations, ancestors of the
|
|
49
|
+
* configuration directory, and any path with an existing linked (symlink or
|
|
50
|
+
* junction) ancestor. The check is read-only; it never creates or removes
|
|
51
|
+
* anything and returns whether the directory already exists as a regular
|
|
52
|
+
* directory.
|
|
53
|
+
*/
|
|
54
|
+
async function inspectEnvironmentDirectory(directory, configDirectory) {
|
|
55
|
+
const root = path.resolve(directory);
|
|
56
|
+
if (root === path.parse(root).root)
|
|
57
|
+
throw new Error(`Protected environment root: ${root} is a filesystem root.`);
|
|
58
|
+
const key = root.toLowerCase();
|
|
59
|
+
const home = path.resolve(os.homedir()).toLowerCase();
|
|
60
|
+
const config = path.resolve(configDirectory).toLowerCase();
|
|
61
|
+
const protectedRoots = [home, config, process.env.ProgramFiles, process.env['ProgramFiles(x86)'], process.env.SystemRoot, process.env.WINDIR]
|
|
62
|
+
.filter((value) => typeof value === 'string' && value.trim() !== '')
|
|
63
|
+
.map(value => path.resolve(value).toLowerCase());
|
|
64
|
+
if (protectedRoots.some(value => key === value || (value !== home && key.startsWith(value + path.sep))) || config.startsWith(key + path.sep)) {
|
|
65
|
+
throw new Error(`Protected environment root: ${root} is a system, user profile or configuration location.`);
|
|
66
|
+
}
|
|
67
|
+
let exists = true;
|
|
68
|
+
for (let current = root;; current = path.dirname(current)) {
|
|
69
|
+
try {
|
|
70
|
+
const stat = await fs.lstat(current);
|
|
71
|
+
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
72
|
+
throw new Error(`Environment root or ancestor is linked or not a directory: ${current}`);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
if (error.code !== 'ENOENT')
|
|
76
|
+
throw error;
|
|
77
|
+
if (current === root)
|
|
78
|
+
exists = false;
|
|
79
|
+
}
|
|
80
|
+
if (current === path.dirname(current))
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
return exists;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Validate the unified directory that holds managed environments.
|
|
87
|
+
*
|
|
88
|
+
* With `create: false` (used by dry-run) the directory is only inspected and
|
|
89
|
+
* must not be written. With `create: true` a missing directory is created and
|
|
90
|
+
* re-verified as a regular, unlinked directory so later publishing cannot fail
|
|
91
|
+
* on a missing or unsafe container.
|
|
92
|
+
*/
|
|
93
|
+
async function resolveEnvironmentContainer(input, configDirectory, options = {}) {
|
|
94
|
+
if (typeof input !== 'string' || input.trim() === '')
|
|
95
|
+
throw new Error('Environment root must be a non-empty directory path.');
|
|
96
|
+
const directory = path.resolve(input);
|
|
97
|
+
if (await inspectEnvironmentDirectory(directory, configDirectory))
|
|
98
|
+
return { directory, created: false };
|
|
99
|
+
if (!options.create)
|
|
100
|
+
return { directory, created: false };
|
|
101
|
+
await fs.mkdir(directory, { recursive: true });
|
|
102
|
+
const stat = await fs.lstat(directory);
|
|
103
|
+
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
104
|
+
throw new Error(`Environment root is not a regular directory: ${directory}`);
|
|
105
|
+
return { directory, created: true };
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Resolve the directory for one named environment inside the unified root.
|
|
109
|
+
* The name must be a single safe path segment so it can never escape the root.
|
|
110
|
+
*/
|
|
111
|
+
function resolveNamedEnvironmentDirectory(container, name) {
|
|
112
|
+
(0, registry_1.validateName)(name);
|
|
113
|
+
const root = path.resolve(container);
|
|
114
|
+
const directory = path.join(root, name);
|
|
115
|
+
if (path.dirname(directory) !== root)
|
|
116
|
+
throw new Error('Environment name does not resolve to a direct child of the environment root.');
|
|
117
|
+
return directory;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root.js","sourceRoot":"","sources":["../../src/environment/root.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ArtifactClient } from '../artifact-client';
|
|
2
|
+
export type EnvironmentModule = 'dashboard' | 'reporting' | 'analysis' | 'sheets' | 'documents';
|
|
3
|
+
export interface EnvironmentOptions {
|
|
4
|
+
root: string;
|
|
5
|
+
major: string;
|
|
6
|
+
modules: string[];
|
|
7
|
+
edition?: 'cn' | 'en';
|
|
8
|
+
profile?: 'embedded';
|
|
9
|
+
port?: number;
|
|
10
|
+
dryRun?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type EnvironmentClient = Pick<ArtifactClient, 'getLatestVersion' | 'listArtifacts' | 'downloadArtifact'>;
|
|
13
|
+
export interface LayoutMapping {
|
|
14
|
+
source: string;
|
|
15
|
+
destination: string;
|
|
16
|
+
assemblies: string[];
|
|
17
|
+
role: 'plugin' | 'worker' | 'server' | 'monitor';
|
|
18
|
+
service?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface EnvironmentArtifact {
|
|
21
|
+
module: string;
|
|
22
|
+
plugin: string;
|
|
23
|
+
version: string;
|
|
24
|
+
name: string;
|
|
25
|
+
path: string;
|
|
26
|
+
mappings: LayoutMapping[];
|
|
27
|
+
}
|
|
28
|
+
export type EnvironmentSchema = 'V91' | 'V100';
|
|
29
|
+
export interface EnvironmentPlan {
|
|
30
|
+
managed?: {
|
|
31
|
+
name: string;
|
|
32
|
+
id?: string;
|
|
33
|
+
root: string;
|
|
34
|
+
port: number;
|
|
35
|
+
};
|
|
36
|
+
root: string;
|
|
37
|
+
major: string;
|
|
38
|
+
schema: EnvironmentSchema | 'pending';
|
|
39
|
+
edition: 'cn' | 'en';
|
|
40
|
+
profile: 'embedded';
|
|
41
|
+
port: number;
|
|
42
|
+
selectedModules: EnvironmentModule[];
|
|
43
|
+
autoAddedModules: string[];
|
|
44
|
+
artifacts: EnvironmentArtifact[];
|
|
45
|
+
warnings: string[];
|
|
46
|
+
requirements: string[];
|
|
47
|
+
}
|
|
48
|
+
export interface EnvironmentResult {
|
|
49
|
+
root: string;
|
|
50
|
+
manifest: string;
|
|
51
|
+
requirements: string[];
|
|
52
|
+
warnings?: string[];
|
|
53
|
+
}
|
|
54
|
+
export type EnvironmentProgress = (message: string) => void;
|
|
55
|
+
export interface EnvironmentDependencies {
|
|
56
|
+
client: EnvironmentClient;
|
|
57
|
+
onProgress?: EnvironmentProgress;
|
|
58
|
+
/** Allows isolated cross-platform fixture tests; production defaults to process.platform. */
|
|
59
|
+
platform?: NodeJS.Platform;
|
|
60
|
+
/** Optional ownership metadata used by managed CLI creation. */
|
|
61
|
+
managed?: {
|
|
62
|
+
id: string;
|
|
63
|
+
name: string;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/environment/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;AAChG,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AACD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,CAAC,CAAC;AAChH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AACD,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,CAAC;AAC/C,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AACD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AACD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE5D,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,gEAAgE;IAChE,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/environment/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { EnvironmentRegistry } from './registry';
|
|
2
|
+
import { ProcessBackend } from './process';
|
|
3
|
+
import { EnvironmentClient, EnvironmentProgress } from './types';
|
|
4
|
+
export interface ModuleUpdateSpec {
|
|
5
|
+
module: string;
|
|
6
|
+
version?: string;
|
|
7
|
+
localPath?: string;
|
|
8
|
+
assembly?: string;
|
|
9
|
+
}
|
|
10
|
+
/** One resolved local target: one assembly of one module that a local source overrides. */
|
|
11
|
+
export interface LocalTarget {
|
|
12
|
+
module: string;
|
|
13
|
+
kind: 'plugin' | 'worker';
|
|
14
|
+
destination: string;
|
|
15
|
+
assembly: string;
|
|
16
|
+
path: string;
|
|
17
|
+
service?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ModuleChange {
|
|
20
|
+
module: string;
|
|
21
|
+
previous: {
|
|
22
|
+
version?: string;
|
|
23
|
+
local?: string;
|
|
24
|
+
};
|
|
25
|
+
next: {
|
|
26
|
+
version?: string;
|
|
27
|
+
local?: string;
|
|
28
|
+
};
|
|
29
|
+
copiedDirectories: string[];
|
|
30
|
+
removedDirectories: string[];
|
|
31
|
+
}
|
|
32
|
+
export interface UpdateResult {
|
|
33
|
+
name: string;
|
|
34
|
+
root: string;
|
|
35
|
+
dryRun: boolean;
|
|
36
|
+
changes: ModuleChange[];
|
|
37
|
+
skipped: {
|
|
38
|
+
module: string;
|
|
39
|
+
reason: 'local';
|
|
40
|
+
}[];
|
|
41
|
+
restartRequired: boolean;
|
|
42
|
+
warnings: string[];
|
|
43
|
+
localTargets: LocalTarget[];
|
|
44
|
+
}
|
|
45
|
+
export interface UpdateDependencies {
|
|
46
|
+
registry?: EnvironmentRegistry;
|
|
47
|
+
processes?: ProcessBackend;
|
|
48
|
+
platform?: NodeJS.Platform;
|
|
49
|
+
onProgress?: EnvironmentProgress;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* One `<Server><Plugins>` or `<Server><PluginWorkers>` entry: where it is
|
|
53
|
+
* deployed and what it loads. A worker entry additionally names the service
|
|
54
|
+
* whose `WorkingDirectory` and `Assembly` follow the entry.
|
|
55
|
+
*/
|
|
56
|
+
export interface PluginEntry {
|
|
57
|
+
destination: string;
|
|
58
|
+
assemblies: string[];
|
|
59
|
+
path: string;
|
|
60
|
+
role?: 'plugin' | 'worker';
|
|
61
|
+
service?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Parse `--modules` values into module specs.
|
|
65
|
+
*
|
|
66
|
+
* Values that carry a local source (`module=path`) are split on commas only, so
|
|
67
|
+
* a Windows path may contain spaces; every other value accepts space- and
|
|
68
|
+
* comma-separated specs, which is how the CLI passes `--modules a b,c`.
|
|
69
|
+
* `all` selects every configured module from remote and must be used alone.
|
|
70
|
+
*/
|
|
71
|
+
export declare function parseModuleSpecs(values: string[]): ModuleUpdateSpec[];
|
|
72
|
+
/**
|
|
73
|
+
* Rewrite the `<Server><Plugins>`, `<Server><PluginWorkers>` and worker service
|
|
74
|
+
* entries of a Wyn configuration document.
|
|
75
|
+
*
|
|
76
|
+
* The document is parsed with the creation path's parser options, only the
|
|
77
|
+
* `sys:string` path lists and the matching worker service nodes are mutated, and
|
|
78
|
+
* the result is rebuilt with the same builder options and re-validated before it
|
|
79
|
+
* is returned. Dashboard stays the first `Plugins` entry; every other entry keeps
|
|
80
|
+
* its order. A worker service keeps all of its other fields, including
|
|
81
|
+
* `Disabled`; a configuration without that node is updated through
|
|
82
|
+
* `<PluginWorkers>` alone.
|
|
83
|
+
*/
|
|
84
|
+
export declare function patchEnvironmentConfiguration(xml: string, entries: PluginEntry[]): string;
|
|
85
|
+
/**
|
|
86
|
+
* Update selected modules of a registered environment.
|
|
87
|
+
*
|
|
88
|
+
* Remote specs replace the deployed module directories with a freshly verified
|
|
89
|
+
* artifact; local specs copy nothing, delete the deployed plugin directory and
|
|
90
|
+
* point the Server configuration at the absolute local DLL so the developer
|
|
91
|
+
* build is loaded directly. Files are staged in a sibling temporary workspace
|
|
92
|
+
* that is always removed, and JSON files are written through `<file>.afm-tmp`.
|
|
93
|
+
*/
|
|
94
|
+
export declare class EnvironmentUpdater {
|
|
95
|
+
private readonly dependencies;
|
|
96
|
+
readonly registry: EnvironmentRegistry;
|
|
97
|
+
private readonly processes;
|
|
98
|
+
private readonly platform;
|
|
99
|
+
private readonly onProgress?;
|
|
100
|
+
constructor(dependencies?: UpdateDependencies);
|
|
101
|
+
update(name: string, specs: (ModuleUpdateSpec | string)[], clientFactory: () => EnvironmentClient, options?: {
|
|
102
|
+
dryRun?: boolean;
|
|
103
|
+
onProgress?: EnvironmentProgress;
|
|
104
|
+
}): Promise<UpdateResult>;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/environment/update.ts"],"names":[],"mappings":"AAOA,OAAO,EAAqB,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAyB,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAiB,MAAM,SAAS,CAAC;AAShF,MAAM,WAAW,gBAAgB;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;AAC7G,2FAA2F;AAC3F,MAAM,WAAW,WAAW;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AACjJ,MAAM,WAAW,YAAY;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAAC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAAE;AACvM,MAAM,WAAW,YAAY;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,WAAW,EAAE,CAAA;CAAE;AACjO,MAAM,WAAW,kBAAkB;IAAG,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAAC,UAAU,CAAC,EAAE,mBAAmB,CAAA;CAAE;AAEhK;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAAG,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AA6FtI;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAarE;AAwDD;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAyCzF;AAmMD;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJzC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAsB;gBACrB,YAAY,GAAE,kBAAuB;IAM5D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,gBAAgB,GAAG,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,iBAAiB,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,mBAAmB,CAAA;KAAO,GAAG,OAAO,CAAC,YAAY,CAAC;CA6LtM"}
|