@guanjinke/artifact-client 1.18.0 → 1.20.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 +2 -0
- package/dist/artifact-client.d.ts +3 -1
- package/dist/artifact-client.d.ts.map +1 -1
- package/dist/artifact-client.js +6 -1
- package/dist/artifact-client.js.map +1 -1
- package/dist/cli/config-manager.d.ts +3 -0
- package/dist/cli/config-manager.d.ts.map +1 -1
- package/dist/cli/config-manager.js +44 -0
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/cli/environment.d.ts.map +1 -1
- package/dist/cli/environment.js +117 -1
- package/dist/cli/environment.js.map +1 -1
- package/dist/cli/jdbc-service-client.d.ts +9 -0
- package/dist/cli/jdbc-service-client.d.ts.map +1 -0
- package/dist/cli/jdbc-service-client.js +19 -0
- package/dist/cli/jdbc-service-client.js.map +1 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +46 -2
- package/dist/cli/setup.js.map +1 -1
- package/dist/environment/builder.d.ts +9 -0
- package/dist/environment/builder.d.ts.map +1 -1
- package/dist/environment/builder.js +65 -6
- package/dist/environment/builder.js.map +1 -1
- package/dist/environment/catalog.d.ts +7 -0
- package/dist/environment/catalog.d.ts.map +1 -1
- package/dist/environment/catalog.js +15 -0
- package/dist/environment/catalog.js.map +1 -1
- package/dist/environment/config.d.ts +3 -1
- package/dist/environment/config.d.ts.map +1 -1
- package/dist/environment/config.js +103 -1
- package/dist/environment/config.js.map +1 -1
- package/dist/environment/driver-discovery.d.ts +3 -0
- package/dist/environment/driver-discovery.d.ts.map +1 -0
- package/dist/environment/driver-discovery.js +163 -0
- package/dist/environment/driver-discovery.js.map +1 -0
- package/dist/environment/driver-oss.d.ts +14 -0
- package/dist/environment/driver-oss.d.ts.map +1 -0
- package/dist/environment/driver-oss.js +144 -0
- package/dist/environment/driver-oss.js.map +1 -0
- package/dist/environment/drivers.d.ts +33 -0
- package/dist/environment/drivers.d.ts.map +1 -0
- package/dist/environment/drivers.js +274 -0
- package/dist/environment/drivers.js.map +1 -0
- package/dist/environment/hana-archive.d.ts +9 -0
- package/dist/environment/hana-archive.d.ts.map +1 -0
- package/dist/environment/hana-archive.js +181 -0
- package/dist/environment/hana-archive.js.map +1 -0
- package/dist/environment/hana.d.ts +58 -0
- package/dist/environment/hana.d.ts.map +1 -0
- package/dist/environment/hana.js +238 -0
- package/dist/environment/hana.js.map +1 -0
- package/dist/environment/jdbc-connection-test.d.ts +25 -0
- package/dist/environment/jdbc-connection-test.d.ts.map +1 -0
- package/dist/environment/jdbc-connection-test.js +146 -0
- package/dist/environment/jdbc-connection-test.js.map +1 -0
- package/dist/environment/jdbc-diagnostics.d.ts +13 -0
- package/dist/environment/jdbc-diagnostics.d.ts.map +1 -0
- package/dist/environment/jdbc-diagnostics.js +108 -0
- package/dist/environment/jdbc-diagnostics.js.map +1 -0
- package/dist/environment/jdbc-service.d.ts +91 -0
- package/dist/environment/jdbc-service.d.ts.map +1 -0
- package/dist/environment/jdbc-service.js +375 -0
- package/dist/environment/jdbc-service.js.map +1 -0
- package/dist/environment/jdbc.d.ts +28 -0
- package/dist/environment/jdbc.d.ts.map +1 -0
- package/dist/environment/jdbc.js +164 -0
- package/dist/environment/jdbc.js.map +1 -0
- package/dist/environment/manager.d.ts +10 -0
- package/dist/environment/manager.d.ts.map +1 -1
- package/dist/environment/manager.js +74 -9
- package/dist/environment/manager.js.map +1 -1
- package/dist/environment/manifest.d.ts +4 -0
- package/dist/environment/manifest.d.ts.map +1 -1
- package/dist/environment/manifest.js +5 -0
- package/dist/environment/manifest.js.map +1 -1
- package/dist/environment/plan.d.ts +3 -0
- package/dist/environment/plan.d.ts.map +1 -1
- package/dist/environment/plan.js +38 -6
- package/dist/environment/plan.js.map +1 -1
- package/dist/environment/ports.d.ts +34 -0
- package/dist/environment/ports.d.ts.map +1 -0
- package/dist/environment/ports.js +128 -0
- package/dist/environment/ports.js.map +1 -0
- package/dist/environment/process.d.ts.map +1 -1
- package/dist/environment/process.js +13 -6
- package/dist/environment/process.js.map +1 -1
- package/dist/environment/registry.d.ts +17 -0
- package/dist/environment/registry.d.ts.map +1 -1
- package/dist/environment/registry.js +12 -0
- package/dist/environment/registry.js.map +1 -1
- package/dist/environment/site-init.d.ts +16 -0
- package/dist/environment/site-init.d.ts.map +1 -0
- package/dist/environment/site-init.js +108 -0
- package/dist/environment/site-init.js.map +1 -0
- package/dist/environment/types.d.ts +24 -1
- package/dist/environment/types.d.ts.map +1 -1
- package/dist/environment/types.js.map +1 -1
- package/dist/environment/update.d.ts.map +1 -1
- package/dist/environment/update.js +610 -603
- package/dist/environment/update.js.map +1 -1
- package/dist/environment/validate.d.ts +2 -0
- package/dist/environment/validate.d.ts.map +1 -1
- package/dist/environment/validate.js +5 -2
- package/dist/environment/validate.js.map +1 -1
- package/dist/providers/oss-provider.d.ts +6 -2
- package/dist/providers/oss-provider.d.ts.map +1 -1
- package/dist/providers/oss-provider.js +37 -7
- package/dist/providers/oss-provider.js.map +1 -1
- package/dist/web/api.js +2 -1
- package/dist/web/api.js.map +1 -1
- package/dist/web/static/app.js +7 -7
- package/package.json +1 -1
|
@@ -0,0 +1,164 @@
|
|
|
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.updateJdbcXml = updateJdbcXml;
|
|
37
|
+
exports.configureJdbc = configureJdbc;
|
|
38
|
+
const fs = __importStar(require("fs/promises"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const crypto_1 = require("crypto");
|
|
41
|
+
const atomic_1 = require("../utils/atomic");
|
|
42
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
43
|
+
const registry_1 = require("./registry");
|
|
44
|
+
const process_1 = require("./process");
|
|
45
|
+
const posix_process_1 = require("./posix-process");
|
|
46
|
+
const validate_1 = require("./validate");
|
|
47
|
+
function validateUri(value) {
|
|
48
|
+
let url;
|
|
49
|
+
try {
|
|
50
|
+
url = new URL(value);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
throw new Error('Invalid JDBC service URI.');
|
|
54
|
+
}
|
|
55
|
+
if (url.protocol !== 'http:' || !['127.0.0.1', '[::1]'].includes(url.hostname) || !url.port || url.username || url.password || url.search || url.hash || url.pathname !== '/')
|
|
56
|
+
throw new Error('JDBC URI must be an explicit loopback HTTP origin with a port, without credentials, path, query or fragment.');
|
|
57
|
+
return url.origin;
|
|
58
|
+
}
|
|
59
|
+
function authXml(auth, newline, indent) {
|
|
60
|
+
if (!/^[A-Za-z0-9._-]{1,64}$/.test(auth.username) || !/^[A-Za-z0-9._~-]{8,128}$/.test(auth.password))
|
|
61
|
+
throw new Error('Invalid JDBC service credentials.');
|
|
62
|
+
return newline + indent + '<Auth>' + newline + indent + ' <UserName>' + auth.username + '</UserName>' + newline + indent + ' <Password>' + auth.password + '</Password>' + newline + indent + '</Auth>';
|
|
63
|
+
}
|
|
64
|
+
/** Change only the known afm-generated Server configuration; reject ambiguous XML. */
|
|
65
|
+
function updateJdbcXml(xml, uri, credentials) {
|
|
66
|
+
uri = validateUri(uri);
|
|
67
|
+
if (/<!DOCTYPE|<!ENTITY/i.test(xml) || fast_xml_parser_1.XMLValidator.validate(xml) !== true)
|
|
68
|
+
throw new Error('Invalid XML configuration.');
|
|
69
|
+
const parsed = new fast_xml_parser_1.XMLParser({ ignoreAttributes: false, parseTagValue: false, processEntities: false }).parse(xml);
|
|
70
|
+
const server = parsed?.SystemConfig?.Services?.Server;
|
|
71
|
+
if (!server || Array.isArray(server) || typeof server !== 'object')
|
|
72
|
+
throw new Error('Expected a single Server configuration.');
|
|
73
|
+
if (typeof server.DisableJavaDataSource !== 'string' || !['true', 'false'].includes(server.DisableJavaDataSource.trim()))
|
|
74
|
+
throw new Error('Missing or invalid DisableJavaDataSource.');
|
|
75
|
+
if (server.DataSourceProxy !== undefined) {
|
|
76
|
+
const proxy = server.DataSourceProxy;
|
|
77
|
+
if (!proxy || Array.isArray(proxy) || typeof proxy !== 'object' || typeof proxy.URI !== 'string' || proxy.URI.trim() !== uri)
|
|
78
|
+
throw new Error('Existing DataSourceProxy conflicts or is incomplete.');
|
|
79
|
+
if (credentials && proxy.Auth !== undefined) {
|
|
80
|
+
const auth = proxy.Auth;
|
|
81
|
+
if (!auth || typeof auth !== 'object' || Array.isArray(auth) || auth.UserName !== credentials.username || auth.Password !== credentials.password)
|
|
82
|
+
throw new Error('Existing DataSourceProxy authentication conflicts.');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const servers = [...xml.matchAll(/<Server>([\s\S]*?)<\/Server>/g)];
|
|
86
|
+
if (servers.length !== 1 || /<!--|<!\[CDATA\[/.test(servers[0][1]))
|
|
87
|
+
throw new Error('Unsupported Server XML layout.');
|
|
88
|
+
let inner = servers[0][1];
|
|
89
|
+
const disabled = [...inner.matchAll(/<DisableJavaDataSource>\s*(true|false)\s*<\/DisableJavaDataSource>/g)];
|
|
90
|
+
if (disabled.length !== 1)
|
|
91
|
+
throw new Error('Ambiguous DisableJavaDataSource.');
|
|
92
|
+
inner = inner.replace(disabled[0][0], '<DisableJavaDataSource>false</DisableJavaDataSource>');
|
|
93
|
+
if (server.DataSourceProxy === undefined) {
|
|
94
|
+
const newline = xml.includes('\r\n') ? '\r\n' : '\n';
|
|
95
|
+
const indent = /(?:^|\n)([ \t]*)<DisableJavaDataSource>/.exec(inner)?.[1];
|
|
96
|
+
if (indent === undefined)
|
|
97
|
+
throw new Error('Unsupported Server XML indentation.');
|
|
98
|
+
const auth = credentials ? authXml(credentials, newline, indent + ' ') : '';
|
|
99
|
+
inner = inner.replace(/<DisableJavaDataSource>\s*false\s*<\/DisableJavaDataSource>/, match => `${match}${newline}${indent}<DataSourceProxy><URI>${uri}</URI>${auth}</DataSourceProxy>`);
|
|
100
|
+
}
|
|
101
|
+
let result = xml.slice(0, servers[0].index) + '<Server>' + inner + '</Server>' + xml.slice(servers[0].index + servers[0][0].length);
|
|
102
|
+
const worker = parsed?.SystemConfig?.Services?.CotWorker;
|
|
103
|
+
if (!worker || Array.isArray(worker) || typeof worker !== 'object')
|
|
104
|
+
throw new Error('Expected a single CotWorker configuration.');
|
|
105
|
+
if (worker.DataSourceProxy !== undefined) {
|
|
106
|
+
const proxy = worker.DataSourceProxy;
|
|
107
|
+
if (!proxy || Array.isArray(proxy) || typeof proxy !== 'object' || typeof proxy.URI !== 'string' || proxy.URI.trim() !== uri)
|
|
108
|
+
throw new Error('Existing CotWorker DataSourceProxy conflicts or is incomplete.');
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
const workers = [...result.matchAll(/<CotWorker>([\s\S]*?)<\/CotWorker>/g)];
|
|
112
|
+
if (workers.length !== 1 || /<!--|<!\[CDATA\[/.test(workers[0][1]))
|
|
113
|
+
throw new Error('Unsupported CotWorker XML layout.');
|
|
114
|
+
const newline = result.includes('\r\n') ? '\r\n' : '\n';
|
|
115
|
+
const indent = /(?:^|\n)([ \t]*)<WorkingDirectory>/.exec(workers[0][1])?.[1];
|
|
116
|
+
if (indent === undefined)
|
|
117
|
+
throw new Error('Unsupported CotWorker XML indentation.');
|
|
118
|
+
const auth = credentials ? authXml(credentials, newline, indent + ' ') : '';
|
|
119
|
+
const body = workers[0][1].replace(/(<WorkingDirectory>[^<]*<\/WorkingDirectory>)/, `$1${newline}${indent}<DataSourceProxy><URI>${uri}</URI>${auth}</DataSourceProxy>`);
|
|
120
|
+
result = result.slice(0, workers[0].index) + '<CotWorker>' + body + '</CotWorker>' + result.slice(workers[0].index + workers[0][0].length);
|
|
121
|
+
}
|
|
122
|
+
if (fast_xml_parser_1.XMLValidator.validate(result) !== true)
|
|
123
|
+
throw new Error('Generated JDBC configuration is invalid XML.');
|
|
124
|
+
return result;
|
|
125
|
+
}
|
|
126
|
+
async function configureJdbc(options, dependencies = {}) {
|
|
127
|
+
const uri = validateUri(options.uri);
|
|
128
|
+
if (!options.dryRun && options.acknowledgeService !== true)
|
|
129
|
+
throw new Error('Explicit acknowledgement of the separately managed JDBC service is required.');
|
|
130
|
+
const registry = dependencies.registry ?? new registry_1.EnvironmentRegistry();
|
|
131
|
+
const processes = dependencies.processes ?? (process.platform === 'win32' ? new process_1.WindowsProcessBackend() : new posix_process_1.PosixProcessBackend());
|
|
132
|
+
const original = await registry.get(options.name);
|
|
133
|
+
return registry.locked(`env-${original.id}`, async () => {
|
|
134
|
+
const entry = await registry.get(options.name);
|
|
135
|
+
if (entry.id !== original.id || entry.root !== original.root)
|
|
136
|
+
throw new Error('Environment changed during operation.');
|
|
137
|
+
await (0, validate_1.validateEnvironmentOwnership)(entry, registry.directory);
|
|
138
|
+
await (0, validate_1.validateEnvironmentTree)(entry.root);
|
|
139
|
+
const state = await (0, validate_1.observeRuntimeState)(entry, processes);
|
|
140
|
+
if (state !== 'stopped' && state !== 'ready')
|
|
141
|
+
throw new Error(`Environment must be stopped; observed state: ${state}.`);
|
|
142
|
+
const file = path.join(entry.root, 'conf', 'Wyn.conf');
|
|
143
|
+
const stat = await fs.lstat(file);
|
|
144
|
+
if (!stat.isFile() || stat.isSymbolicLink())
|
|
145
|
+
throw new Error('Configuration must be a regular file.');
|
|
146
|
+
const before = await fs.readFile(file, 'utf8');
|
|
147
|
+
const after = updateJdbcXml(before, uri);
|
|
148
|
+
if (!options.dryRun && before !== after) {
|
|
149
|
+
const temporary = path.join(path.dirname(file), `.jdbc-${(0, crypto_1.randomUUID)()}.tmp`);
|
|
150
|
+
try {
|
|
151
|
+
await fs.writeFile(temporary, after, { encoding: 'utf8', flag: 'wx', mode: stat.mode });
|
|
152
|
+
if (await fs.readFile(file, 'utf8') !== before)
|
|
153
|
+
throw new Error('Configuration changed during operation.');
|
|
154
|
+
await (0, atomic_1.renameAtomic)(temporary, file);
|
|
155
|
+
}
|
|
156
|
+
finally {
|
|
157
|
+
await fs.unlink(temporary).catch(error => { if (error.code !== 'ENOENT')
|
|
158
|
+
throw error; });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return { name: entry.name, uri, dryRun: !!options.dryRun, changed: before !== after, health: 'unverified', authentication: 'unverified' };
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=jdbc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jdbc.js","sourceRoot":"","sources":["../../src/environment/jdbc.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,11 @@ import { EnvironmentRegistry, EnvironmentRecord, RunMode } from './registry';
|
|
|
2
2
|
import { ProcessBackend } from './process';
|
|
3
3
|
import { EnvironmentClient, EnvironmentOptions, EnvironmentProgress, EnvironmentPlan, EnvironmentResult } from './types';
|
|
4
4
|
export { ownershipFile } from './validate';
|
|
5
|
+
/** Lifecycle hooks for an optional AFM-managed Java data source service. */
|
|
6
|
+
export interface JdbcServiceLifecycle {
|
|
7
|
+
start(entry: EnvironmentRecord): Promise<void>;
|
|
8
|
+
stop(entry: EnvironmentRecord): Promise<void>;
|
|
9
|
+
}
|
|
5
10
|
export interface ManagerDependencies {
|
|
6
11
|
registry?: EnvironmentRegistry;
|
|
7
12
|
processes?: ProcessBackend;
|
|
@@ -10,6 +15,8 @@ export interface ManagerDependencies {
|
|
|
10
15
|
onProgress?: EnvironmentProgress;
|
|
11
16
|
/** Best-effort report of processes holding a directory, used in deletion errors. */
|
|
12
17
|
pathHolders?: (root: string) => Promise<string[]>;
|
|
18
|
+
/** Overrides the managed JDBC service lifecycle; tests inject a fake. */
|
|
19
|
+
jdbcService?: JdbcServiceLifecycle;
|
|
13
20
|
}
|
|
14
21
|
export declare class EnvironmentManager {
|
|
15
22
|
private readonly dependencies;
|
|
@@ -17,6 +24,7 @@ export declare class EnvironmentManager {
|
|
|
17
24
|
private readonly processes;
|
|
18
25
|
private readonly portCheck;
|
|
19
26
|
private readonly pathHolders;
|
|
27
|
+
private readonly jdbcService;
|
|
20
28
|
constructor(dependencies?: ManagerDependencies);
|
|
21
29
|
/**
|
|
22
30
|
* Resolve the port an environment will use.
|
|
@@ -46,6 +54,8 @@ export declare class EnvironmentManager {
|
|
|
46
54
|
notes?: string[];
|
|
47
55
|
})[]>;
|
|
48
56
|
private validateRuntime;
|
|
57
|
+
/** Best-effort service cleanup that keeps a recorded identity when stopping is uncertain. */
|
|
58
|
+
private abandonJdbcService;
|
|
49
59
|
private stopEntry;
|
|
50
60
|
private fresh;
|
|
51
61
|
stop(name: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/environment/manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAsI,MAAM,WAAW,CAAC;AAG/K,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/environment/manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAsI,MAAM,WAAW,CAAC;AAG/K,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAOzH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AACD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,oFAAoF;IACpF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,yEAAyE;IACzE,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC;AACD,qBAAa,kBAAkB;IAMjB,OAAO,CAAC,QAAQ,CAAC,YAAY;IALzC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;gBACtB,YAAY,GAAE,mBAAwB;IACnE;;;;;;;OAOG;YACW,UAAU;IAclB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,EAAE,UAAU,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,GAAG,iBAAiB,CAAC;YAsCjK,aAAa;IAO3B;;;;;;;;;;OAUG;IACG,IAAI,IAAI,OAAO,CAAC,CAAC,iBAAiB,GAAG;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,EAAE,CAAC;YAU9F,eAAe;IAgB7B,6FAA6F;YAC/E,kBAAkB;YAKlB,SAAS;YAWT,KAAK;IACb,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YACzB,MAAM;YAgEN,UAAU;YAWV,SAAS;IAavB,OAAO,CAAC,YAAY;IACd,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,OAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CA0DtG"}
|
|
@@ -43,8 +43,10 @@ const process_1 = require("./process");
|
|
|
43
43
|
const posix_process_1 = require("./posix-process");
|
|
44
44
|
const validate_1 = require("./validate");
|
|
45
45
|
const plan_1 = require("./plan");
|
|
46
|
+
const ports_1 = require("./ports");
|
|
46
47
|
const builder_1 = require("./builder");
|
|
47
48
|
const local_server_1 = require("./local-server");
|
|
49
|
+
const jdbc_service_1 = require("./jdbc-service");
|
|
48
50
|
var validate_2 = require("./validate");
|
|
49
51
|
Object.defineProperty(exports, "ownershipFile", { enumerable: true, get: function () { return validate_2.ownershipFile; } });
|
|
50
52
|
class EnvironmentManager {
|
|
@@ -53,12 +55,14 @@ class EnvironmentManager {
|
|
|
53
55
|
processes;
|
|
54
56
|
portCheck;
|
|
55
57
|
pathHolders;
|
|
58
|
+
jdbcService;
|
|
56
59
|
constructor(dependencies = {}) {
|
|
57
60
|
this.dependencies = dependencies;
|
|
58
61
|
this.registry = dependencies.registry ?? new registry_1.EnvironmentRegistry();
|
|
59
62
|
this.processes = dependencies.processes ?? (process.platform === 'win32' ? new process_1.WindowsProcessBackend() : new posix_process_1.PosixProcessBackend());
|
|
60
63
|
this.portCheck = dependencies.portCheck ?? process_1.checkPort;
|
|
61
64
|
this.pathHolders = dependencies.pathHolders ?? process_1.describePathHolders;
|
|
65
|
+
this.jdbcService = dependencies.jdbcService ?? { start: async (entry) => { await (0, jdbc_service_1.startJdbcService)(entry, { processes: this.processes }); }, stop: async (entry) => { await (0, jdbc_service_1.stopJdbcService)(entry, { processes: this.processes }); } };
|
|
62
66
|
}
|
|
63
67
|
/**
|
|
64
68
|
* Resolve the port an environment will use.
|
|
@@ -86,10 +90,23 @@ class EnvironmentManager {
|
|
|
86
90
|
throw new Error(`No free port for ${name} between ${plan_1.portRange.first} and ${plan_1.portRange.last}: every candidate is bound on this host or reserved by a registered environment. Pass an explicit --port.`);
|
|
87
91
|
}
|
|
88
92
|
async create(name, options, clientFactory, onProgress) {
|
|
89
|
-
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
// A multi-process environment reserves one contiguous block up front: the
|
|
94
|
+
// first slot is the Server/identity port, and every service gets its own slot.
|
|
95
|
+
let requested;
|
|
96
|
+
if (options.multiProcess === true) {
|
|
97
|
+
const entries = await this.registry.read();
|
|
98
|
+
const reserved = entries.flatMap(entry => [entry.port, ...(0, ports_1.portsOf)(entry)]);
|
|
99
|
+
const ports = await (0, ports_1.allocatePortBlock)({ start: options.port ?? 53000, reserved });
|
|
100
|
+
if (options.port !== undefined && ports.server !== options.port)
|
|
101
|
+
throw new Error(`Port ${options.port} cannot start a free ${Object.keys(ports).length}-port multi-process block; pick another --port or omit it.`);
|
|
102
|
+
requested = { ...options, port: ports.server, ports, reservedPorts: reserved };
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
const port = await this.selectPort(name, options.port);
|
|
106
|
+
// Every later step (validation, the plan, the registry record) works on the
|
|
107
|
+
// resolved port, so the reported port is the one that will be served.
|
|
108
|
+
requested = { ...options, ...(port !== undefined ? { port } : {}) };
|
|
109
|
+
}
|
|
93
110
|
const normalized = await (0, plan_1.validateEnvironmentOptions)(requested);
|
|
94
111
|
await (0, validate_1.validateEnvironmentRoot)({ root: normalized.root }, this.registry.directory);
|
|
95
112
|
this.registry.check(await this.registry.read(), name, normalized.root, normalized.port);
|
|
@@ -99,7 +116,7 @@ class EnvironmentManager {
|
|
|
99
116
|
return { ...plan, managed: { name, root: normalized.root, port: normalized.port } };
|
|
100
117
|
}
|
|
101
118
|
const creator = await this.processes.inspect(process.pid);
|
|
102
|
-
const record = { id: (0, crypto_1.randomUUID)(), name, root: normalized.root, port: normalized.port, edition: normalized.edition, major: normalized.major, profile: normalized.profile, modules: normalized.modules, manifest: path.join(normalized.root, 'environment.lock.json'), createdAt: new Date().toISOString(), state: 'creating', ...(creator.status === 'live' ? { creator: { ...creator.identity, command: `sha256:${(0, crypto_1.createHash)('sha256').update(creator.identity.command).digest('hex')}` } } : {}) };
|
|
119
|
+
const record = { id: (0, crypto_1.randomUUID)(), name, root: normalized.root, port: normalized.port, edition: normalized.edition, major: normalized.major, profile: normalized.profile, modules: normalized.modules, ...(requested.multiProcess ? { mode: 'multi-process', ports: requested.ports } : {}), manifest: path.join(normalized.root, 'environment.lock.json'), createdAt: new Date().toISOString(), state: 'creating', ...(creator.status === 'live' ? { creator: { ...creator.identity, command: `sha256:${(0, crypto_1.createHash)('sha256').update(creator.identity.command).digest('hex')}` } } : {}) };
|
|
103
120
|
await this.registry.update(entries => { this.registry.check(entries, name, record.root, record.port); entries.push(record); });
|
|
104
121
|
return this.registry.locked(`env-${record.id}`, async () => {
|
|
105
122
|
try {
|
|
@@ -178,14 +195,29 @@ class EnvironmentManager {
|
|
|
178
195
|
if (!stat.isFile() || stat.isSymbolicLink())
|
|
179
196
|
throw new Error('Runtime requires regular DLL, runtimeconfig and configuration files.');
|
|
180
197
|
}
|
|
198
|
+
if (entry.mode === 'multi-process') {
|
|
199
|
+
const monitor = await fs.lstat(path.join(entry.root, 'Monitor', 'Wyn.ServiceMonitor.dll')).catch(() => undefined);
|
|
200
|
+
if (!monitor?.isFile() || monitor.isSymbolicLink())
|
|
201
|
+
throw new Error('A multi-process environment requires Monitor/Wyn.ServiceMonitor.dll.');
|
|
202
|
+
}
|
|
181
203
|
const xml = await fs.readFile(path.join(entry.root, 'conf', 'Wyn.conf'), 'utf8');
|
|
182
204
|
if (/<!DOCTYPE|<!ENTITY/i.test(xml) || fast_xml_parser_1.XMLValidator.validate(xml) !== true)
|
|
183
205
|
throw new Error('Invalid environment configuration.');
|
|
184
206
|
const document = new fast_xml_parser_1.XMLParser({ ignoreAttributes: false, parseTagValue: false, processEntities: false }).parse(xml);
|
|
185
207
|
const expected = `http://localhost:${entry.port}`;
|
|
186
|
-
|
|
208
|
+
const urls = document?.SystemConfig?.Services?.Server?.Urls;
|
|
209
|
+
if ((urls !== expected && urls !== `http://*:${entry.port}`) || document?.SystemConfig?.GlobalSettings?.IdentityServerUrl !== expected)
|
|
187
210
|
throw new Error('Configured port differs from registry; refusing startup.');
|
|
188
211
|
}
|
|
212
|
+
/** Best-effort service cleanup that keeps a recorded identity when stopping is uncertain. */
|
|
213
|
+
async abandonJdbcService(entry) {
|
|
214
|
+
if (!entry.jdbcService)
|
|
215
|
+
return;
|
|
216
|
+
try {
|
|
217
|
+
await this.jdbcService.stop(entry);
|
|
218
|
+
}
|
|
219
|
+
catch { /* Keep the recorded identity so a later stop can still find it. */ }
|
|
220
|
+
}
|
|
189
221
|
async stopEntry(entry) {
|
|
190
222
|
await this.activeCreator(entry);
|
|
191
223
|
const notes = [];
|
|
@@ -194,6 +226,11 @@ class EnvironmentManager {
|
|
|
194
226
|
throw new Error(`Process identity uncertain; refusing stop/delete.${notes.length ? ` ${notes.join(' ')}` : ''}${entry.run ? ` The recorded monitor (pid ${entry.run.pid}) could not be inspected: it was started with different privileges. Re-run afm with the same privileges, or stop that process manually.` : ''}`);
|
|
195
227
|
if (state === 'running')
|
|
196
228
|
await this.processes.stop(entry.run);
|
|
229
|
+
// The monitor is down first, so no request can reach a half-stopped service.
|
|
230
|
+
if (entry.jdbcService) {
|
|
231
|
+
await this.jdbcService.stop(entry);
|
|
232
|
+
delete entry.jdbcService.run;
|
|
233
|
+
}
|
|
197
234
|
if (entry.state !== 'stopped' || entry.run) {
|
|
198
235
|
entry.state = 'stopped';
|
|
199
236
|
delete entry.run;
|
|
@@ -214,6 +251,16 @@ class EnvironmentManager {
|
|
|
214
251
|
if (state === 'running')
|
|
215
252
|
throw new Error('Cannot start environment: running.');
|
|
216
253
|
await this.portCheck(entry.port);
|
|
254
|
+
// Every other service port of a multi-process environment must be free too;
|
|
255
|
+
// the Monitor would start a service that silently fails to bind otherwise.
|
|
256
|
+
if (entry.mode === 'multi-process' && entry.ports) {
|
|
257
|
+
for (const [slot, port] of Object.entries(entry.ports)) {
|
|
258
|
+
if (slot === 'server')
|
|
259
|
+
continue;
|
|
260
|
+
if (!(await (0, ports_1.portIsFree)(port)))
|
|
261
|
+
throw new Error(`Port ${port} (${slot}) is already in use; free it (or recreate the environment) before starting ${entry.name}.`);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
217
264
|
// A local Server build is copied over `Server/` on every start, then the two
|
|
218
265
|
// built-in payloads that live inside that directory are re-applied from the
|
|
219
266
|
// local cache. This happens only after the start is known to be allowed, so a
|
|
@@ -237,18 +284,35 @@ class EnvironmentManager {
|
|
|
237
284
|
throw new Error(`Runtime identity saved to ${path.join(entry.root, '.afm-runtime-recovery.json')}; registry recovery required: ${error.message}`);
|
|
238
285
|
}
|
|
239
286
|
};
|
|
287
|
+
// The Java service is started before the monitor so the first proxied request
|
|
288
|
+
// cannot race a cold service; any later launch failure stops it again.
|
|
289
|
+
if (entry.jdbcService) {
|
|
290
|
+
this.dependencies.onProgress?.(`${entry.name}: starting the managed JDBC service at ${entry.jdbcService.url} (listens beyond loopback).`);
|
|
291
|
+
try {
|
|
292
|
+
await this.jdbcService.start(entry);
|
|
293
|
+
}
|
|
294
|
+
catch (error) {
|
|
295
|
+
await this.abandonJdbcService(entry);
|
|
296
|
+
throw error;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
// A non-single-process environment is supervised by the product Monitor; the
|
|
300
|
+
// embedded Server only acts as its own monitor in single-process mode.
|
|
301
|
+
const dll = (0, validate_1.monitorDll)(entry);
|
|
240
302
|
let child;
|
|
241
303
|
try {
|
|
242
|
-
child = await this.processes.start(
|
|
304
|
+
child = await this.processes.start(dll, mode, stdout, stderr);
|
|
243
305
|
}
|
|
244
306
|
catch (error) {
|
|
245
307
|
if (error instanceof process_1.PendingProcessError)
|
|
246
308
|
await remember(error.identity);
|
|
309
|
+
else
|
|
310
|
+
await this.abandonJdbcService(entry);
|
|
247
311
|
throw error;
|
|
248
312
|
}
|
|
249
313
|
try {
|
|
250
314
|
const current = await this.processes.inspect(child.identity.pid);
|
|
251
|
-
if (current.status !== 'live' || !(0, process_1.sameProcess)(current.identity, child.identity) || !(0, process_1.isMonitor)(child.identity,
|
|
315
|
+
if (current.status !== 'live' || !(0, process_1.sameProcess)(current.identity, child.identity) || !(0, process_1.isMonitor)(child.identity, dll))
|
|
252
316
|
throw new Error('Monitor exited or identity cannot be verified.');
|
|
253
317
|
entry.state = 'running';
|
|
254
318
|
entry.lastMode = mode;
|
|
@@ -260,7 +324,7 @@ class EnvironmentManager {
|
|
|
260
324
|
const status = await this.processes.inspect(child.identity.pid);
|
|
261
325
|
if (status.status !== 'absent')
|
|
262
326
|
await this.processes.stop(child.identity);
|
|
263
|
-
else if ((await this.processes.find((0, process_1.monitorCommand)(
|
|
327
|
+
else if ((await this.processes.find((0, process_1.monitorCommand)(dll))).some(candidate => candidate.status !== 'absent'))
|
|
264
328
|
throw new Error('Owned descendants or process inspection remain uncertain.');
|
|
265
329
|
}
|
|
266
330
|
catch (cleanupError) {
|
|
@@ -272,6 +336,7 @@ class EnvironmentManager {
|
|
|
272
336
|
}
|
|
273
337
|
throw new Error(`Launch failed and cleanup uncertain; runtime identity retained: ${cleanupError.message}`);
|
|
274
338
|
}
|
|
339
|
+
await this.abandonJdbcService(entry);
|
|
275
340
|
throw error;
|
|
276
341
|
}
|
|
277
342
|
if (mode === 'background')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/environment/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/environment/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,10 @@ export interface Manifest {
|
|
|
43
43
|
downloads?: ManifestDownload[];
|
|
44
44
|
selectedModules?: string[];
|
|
45
45
|
moduleSources?: Record<string, ManifestModuleSource>;
|
|
46
|
+
/** Environment deployment mode; absent means the single-process default. */
|
|
47
|
+
mode?: 'single-process' | 'multi-process';
|
|
48
|
+
/** Every port a multi-process environment holds, keyed by port slot. */
|
|
49
|
+
ports?: Record<string, number>;
|
|
46
50
|
[key: string]: unknown;
|
|
47
51
|
}
|
|
48
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/environment/manifest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/environment/manifest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;CAAE;AACjK,MAAM,WAAW,gBAAgB;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACnG;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAAG,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC7H,MAAM,WAAW,oBAAoB;IAAG,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;CAAE;AAC9H,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACjJ,4EAA4E;IAC5E,IAAI,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAAC;IAC1C,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAwBlE"}
|
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.readManifest = readManifest;
|
|
37
37
|
const fs = __importStar(require("fs/promises"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
|
+
const ports_1 = require("./ports");
|
|
39
40
|
/**
|
|
40
41
|
* Read and validate the lock manifest of an environment.
|
|
41
42
|
*
|
|
@@ -65,6 +66,10 @@ async function readManifest(root) {
|
|
|
65
66
|
}
|
|
66
67
|
if (manifest.selectedModules !== undefined && (!Array.isArray(manifest.selectedModules) || manifest.selectedModules.some(module => typeof module !== 'string')))
|
|
67
68
|
throw new Error('Environment manifest is unreadable.');
|
|
69
|
+
if (manifest.mode !== undefined && manifest.mode !== 'single-process' && manifest.mode !== 'multi-process')
|
|
70
|
+
throw new Error('Environment manifest is unreadable.');
|
|
71
|
+
if (manifest.ports !== undefined && !(0, ports_1.validatePortAssignments)(manifest.ports))
|
|
72
|
+
throw new Error('Environment manifest is unreadable.');
|
|
68
73
|
// A stale `resources` key written by an older version is ignored here and
|
|
69
74
|
// dropped when the manifest is rewritten: the key belongs to the removed
|
|
70
75
|
// packaged-resource feature, not to the environment's configuration.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/environment/manifest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/environment/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,8 @@ export declare const autoAddedModules: string[];
|
|
|
49
49
|
* `create-env` and never refreshed, so a `server` refresh drops it.
|
|
50
50
|
*/
|
|
51
51
|
export declare const trailingModules: string[];
|
|
52
|
+
/** Services a non-single-process environment deploys automatically. */
|
|
53
|
+
export declare const multiProcessModules: EnvironmentModule[];
|
|
52
54
|
/**
|
|
53
55
|
* Modules a selection pulls in on its own, because the selected module cannot
|
|
54
56
|
* work without them — smart documents requires the collaboration service.
|
|
@@ -80,6 +82,7 @@ export declare function validateEnvironmentOptions(options: EnvironmentOptions):
|
|
|
80
82
|
profile: 'embedded';
|
|
81
83
|
port: number;
|
|
82
84
|
modules: EnvironmentModule[];
|
|
85
|
+
multiProcess: boolean;
|
|
83
86
|
}>;
|
|
84
87
|
export declare function buildEnvironmentPlan(options: EnvironmentOptions, client: EnvironmentClient, onProgress?: (message: string) => void): Promise<EnvironmentPlan>;
|
|
85
88
|
//# sourceMappingURL=plan.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/environment/plan.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAapG,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B9G;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;CAAyC,CAAC;AAEhE,sEAAsE;AACtE,eAAO,MAAM,WAAW,EAAE,MAAwB,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,iBAAiB,EAAE,CAG7E,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAG3C,CAAC;AAEL,8DAA8D;AAC9D,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAAmD,CAAC;AAEzF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,EAA8C,CAAC;AAEnF,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,EAA+C,CAAC;AAEnG;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAIpE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAGrG;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,GAAG;IAAE,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAoC5N;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAwGnK"}
|