@phystack/phyctl-phyos 4.5.56-dev → 4.5.58-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,57 +4,44 @@ PhyStack control plane CLI for managing PhyOS devices.
4
4
 
5
5
  ## Installation
6
6
 
7
- Download the pre-built binary for your platform. No runtime dependencies required.
8
-
9
- ### Linux (x86_64)
7
+ ### Via npm (recommended)
10
8
 
11
9
  ```bash
12
- curl -fsSL https://os.phygrid.com/phystack-npm/releases/latest/phyctl-linux-x64.tar.gz | tar xz
13
- sudo mv phyctl /usr/local/bin/
14
- hash -r
15
- phyctl --version
10
+ npm install -g @phystack/phyctl-phyos
16
11
  ```
17
12
 
18
- ### Linux (ARM64)
13
+ npm automatically downloads the correct binary for your platform.
14
+
15
+ ### Direct binary download (no npm required)
19
16
 
20
17
  ```bash
21
- curl -fsSL https://os.phygrid.com/phystack-npm/releases/latest/phyctl-linux-arm64.tar.gz | tar xz
18
+ # Linux ARM64
19
+ curl -sL "https://registry.npmjs.org/@phystack/phyctl-linux-arm64/-/phyctl-linux-arm64-VERSION.tgz" | tar xz --strip-components=2 package/bin/phyctl
22
20
  sudo mv phyctl /usr/local/bin/
23
21
  hash -r
24
- phyctl --version
25
- ```
26
-
27
- ### macOS (Apple Silicon)
28
22
 
29
- ```bash
30
- curl -fsSL https://os.phygrid.com/phystack-npm/releases/latest/phyctl-darwin-arm64.tar.gz | tar xz
23
+ # Linux x86_64
24
+ curl -sL "https://registry.npmjs.org/@phystack/phyctl-linux-x64/-/phyctl-linux-x64-VERSION.tgz" | tar xz --strip-components=2 package/bin/phyctl
31
25
  sudo mv phyctl /usr/local/bin/
32
- phyctl --version
33
- ```
34
26
 
35
- ### macOS (Intel)
27
+ # macOS Apple Silicon
28
+ curl -sL "https://registry.npmjs.org/@phystack/phyctl-darwin-arm64/-/phyctl-darwin-arm64-VERSION.tgz" | tar xz --strip-components=2 package/bin/phyctl
29
+ sudo mv phyctl /usr/local/bin/
36
30
 
37
- ```bash
38
- curl -fsSL https://os.phygrid.com/phystack-npm/releases/latest/phyctl-darwin-x64.tar.gz | tar xz
31
+ # macOS Intel
32
+ curl -sL "https://registry.npmjs.org/@phystack/phyctl-darwin-x64/-/phyctl-darwin-x64-VERSION.tgz" | tar xz --strip-components=2 package/bin/phyctl
39
33
  sudo mv phyctl /usr/local/bin/
40
- phyctl --version
41
34
  ```
42
35
 
43
- ### Install a specific version
44
-
45
- Replace `latest` with the version number:
46
-
47
- ```bash
48
- curl -fsSL https://os.phygrid.com/phystack-npm/releases/4.5.54-dev/phyctl-linux-x64.tar.gz | tar xz
49
- ```
36
+ Replace `VERSION` with the desired version (e.g., `4.4.69`).
50
37
 
51
- > **Note:** If you previously had phyctl installed via npm, remove it first or run `hash -r` after installing the binary to clear the shell's path cache.
38
+ > **Note:** Run `hash -r` after installing to clear the shell's path cache.
52
39
 
53
40
  ## Supported platforms
54
41
 
55
- | Platform | Architecture | Download |
56
- |----------|-------------|----------|
57
- | Linux | x86_64 | [phyctl-linux-x64.tar.gz](https://os.phygrid.com/phystack-npm/releases/latest/phyctl-linux-x64.tar.gz) |
58
- | Linux | ARM64 | [phyctl-linux-arm64.tar.gz](https://os.phygrid.com/phystack-npm/releases/latest/phyctl-linux-arm64.tar.gz) |
59
- | macOS | ARM64 | [phyctl-darwin-arm64.tar.gz](https://os.phygrid.com/phystack-npm/releases/latest/phyctl-darwin-arm64.tar.gz) |
60
- | macOS | x86_64 | [phyctl-darwin-x64.tar.gz](https://os.phygrid.com/phystack-npm/releases/latest/phyctl-darwin-x64.tar.gz) |
42
+ | Platform | Architecture | npm package |
43
+ |----------|-------------|-------------|
44
+ | Linux | ARM64 | `@phystack/phyctl-linux-arm64` |
45
+ | Linux | x86_64 | `@phystack/phyctl-linux-x64` |
46
+ | macOS | ARM64 | `@phystack/phyctl-darwin-arm64` |
47
+ | macOS | x86_64 | `@phystack/phyctl-darwin-x64` |
package/bin/index.js CHANGED
@@ -1,2 +1,23 @@
1
1
  #!/usr/bin/env node
2
- require('../dist/index.js');
2
+ const { spawnSync } = require('child_process');
3
+ const path = require('path');
4
+
5
+ const BINARY = 'phyctl';
6
+ const key = `${process.platform}-${process.arch}`;
7
+ const pkg = `@phystack/${BINARY}-${key}`;
8
+
9
+ let binPath;
10
+ try {
11
+ binPath = path.join(path.dirname(require.resolve(`${pkg}/package.json`)), 'bin', BINARY);
12
+ } catch {
13
+ console.error(
14
+ `Unsupported or missing platform package: ${pkg}\n` +
15
+ `Platform: ${key}\n\n` +
16
+ `Install manually: npm install ${pkg}\n` +
17
+ `Or download: npx ${pkg}`
18
+ );
19
+ process.exit(1);
20
+ }
21
+
22
+ const result = spawnSync(binPath, process.argv.slice(2), { stdio: 'inherit' });
23
+ process.exit(result.status ?? 1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phystack/phyctl-phyos",
3
- "version": "4.5.56-dev",
3
+ "version": "4.5.58-dev",
4
4
  "exports": "./index.js",
5
5
  "main": "index.js",
6
6
  "publishConfig": {
@@ -24,14 +24,13 @@
24
24
  "node": ">=20.0.0"
25
25
  },
26
26
  "files": [
27
- "bin/**/*",
28
- "dist/**/*"
27
+ "bin/**/*"
29
28
  ],
30
29
  "author": "PhyStack.com",
31
30
  "license": "MIT",
32
31
  "description": "",
33
32
  "dependencies": {
34
- "@phystack/hub-client": "4.5.56-dev",
33
+ "@phystack/hub-client": "4.5.58-dev",
35
34
  "commander": "^13.1.0",
36
35
  "inquirer": "^8.2.6",
37
36
  "lodash": "^4.17.21",
@@ -43,5 +42,11 @@
43
42
  "@types/node": "^20.14.9",
44
43
  "rimraf": "^5.0.7"
45
44
  },
46
- "gitHead": "a3353f5dbad6bbc969fb170962be5aae90db8c05"
45
+ "optionalDependencies": {
46
+ "@phystack/phyctl-darwin-arm64": "4.5.58-dev",
47
+ "@phystack/phyctl-darwin-x64": "4.5.58-dev",
48
+ "@phystack/phyctl-linux-arm64": "4.5.58-dev",
49
+ "@phystack/phyctl-linux-x64": "4.5.58-dev"
50
+ },
51
+ "gitHead": "4e51de0c4e43f46904625e89aa3286417cdc7c81"
47
52
  }
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setupLocalCommands = void 0;
4
- const commander_1 = require("commander");
5
- function setupLocalCommands(phyClient) {
6
- const local = new commander_1.Command('local');
7
- local
8
- .command('create')
9
- .description('Create a local twin')
10
- .requiredOption('-t, --twin <json>', 'JSON string of twin properties')
11
- .action(async (options) => {
12
- try {
13
- const config = JSON.parse(options.twin);
14
- await new Promise((resolve, reject) => {
15
- phyClient.emit('createLocalTwin', {
16
- data: {
17
- twin: config
18
- }
19
- }, (response) => {
20
- if (response.status === 'success' && response.twin) {
21
- console.log('Created local twin with ID:', response.twin.id);
22
- resolve();
23
- }
24
- else {
25
- console.error('Failed to create local twin:', response.message);
26
- reject(new Error(response.message));
27
- }
28
- });
29
- });
30
- }
31
- catch (error) {
32
- console.error('Error creating local twin:', error);
33
- process.exit(1);
34
- }
35
- });
36
- local
37
- .command('remove <twinId>')
38
- .description('Remove a local twin')
39
- .action(async (twinId) => {
40
- try {
41
- await new Promise((resolve, reject) => {
42
- phyClient.emit('removeLocalTwin', {
43
- data: {
44
- twinId
45
- }
46
- }, (response) => {
47
- if (response.status === 'success') {
48
- console.log(`Successfully removed local twin: ${twinId}`);
49
- resolve();
50
- }
51
- else {
52
- console.error('Failed to remove local twin:', response.message);
53
- reject(new Error(response.message));
54
- }
55
- });
56
- });
57
- }
58
- catch (error) {
59
- console.error('Error removing local twin:', error);
60
- process.exit(1);
61
- }
62
- });
63
- local
64
- .command('list')
65
- .description('List all local twins')
66
- .action(async () => {
67
- try {
68
- await new Promise((resolve, reject) => {
69
- phyClient.emit('listLocalTwins', {}, (response) => {
70
- if (response.status === 'success') {
71
- const twins = response.twins;
72
- if (typeof twins === 'object' && twins !== null) {
73
- Object.values(twins).forEach((twin) => {
74
- const image = twin.properties?.desired?.image || 'N/A';
75
- console.log(`${twin.id} (${image})`);
76
- });
77
- }
78
- else {
79
- console.log('No local twins found');
80
- }
81
- resolve();
82
- }
83
- else {
84
- console.error('Failed to list local twins:', response.message);
85
- reject(new Error(response.message));
86
- }
87
- });
88
- });
89
- }
90
- catch (error) {
91
- console.error('Error listing local twins:', error);
92
- process.exit(1);
93
- }
94
- });
95
- return local;
96
- }
97
- exports.setupLocalCommands = setupLocalCommands;
98
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/local/index.ts"],"names":[],"mappings":"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"}
@@ -1,270 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.setupEthernet = void 0;
7
- const inquirer_1 = __importDefault(require("inquirer"));
8
- const lodash_1 = require("lodash");
9
- const child_process_1 = require("child_process");
10
- async function getGatewayForInterface(iface) {
11
- return new Promise((resolve) => {
12
- (0, child_process_1.exec)(`ip route show default dev ${iface}`, (error, stdout) => {
13
- if (error || !stdout) {
14
- return resolve('N/A');
15
- }
16
- const match = stdout.match(/default via (\S+)/);
17
- if (match) {
18
- resolve(match[1]);
19
- }
20
- else {
21
- resolve('N/A');
22
- }
23
- });
24
- });
25
- }
26
- async function getDNSServersForInterface(iface) {
27
- return new Promise((resolve) => {
28
- (0, child_process_1.exec)('systemd-resolve --status', (error, stdout) => {
29
- if (error || !stdout) {
30
- return resolve([]);
31
- }
32
- const lines = stdout.split('\n');
33
- let blockStarted = false;
34
- let dnsServers = [];
35
- for (let i = 0; i < lines.length; i++) {
36
- const line = lines[i];
37
- if (line.startsWith('Link') && line.includes(`(${iface})`)) {
38
- blockStarted = true;
39
- continue;
40
- }
41
- if (blockStarted) {
42
- if (line.trim() === '' || line.startsWith('Link')) {
43
- break;
44
- }
45
- if (line.trim().startsWith('DNS Servers:')) {
46
- let serversLine = line.replace('DNS Servers:', '').trim();
47
- dnsServers = serversLine.split(/\s+/).map(entry => entry.split('#')[0]).filter(entry => entry);
48
- }
49
- else if (dnsServers.length && line.startsWith(' ')) {
50
- let additional = line.trim().split(/\s+/).map(entry => entry.split('#')[0]).filter(entry => entry);
51
- dnsServers = dnsServers.concat(additional);
52
- }
53
- }
54
- }
55
- resolve(dnsServers);
56
- });
57
- });
58
- }
59
- const setupEthernet = async (phyClientInstance) => {
60
- const prompt = inquirer_1.default.createPromptModule({
61
- input: process.stdin,
62
- output: process.stdout,
63
- });
64
- if (!phyClientInstance || !phyClientInstance.isConnected()) {
65
- console.log('PhyDevice is not running or disconnected');
66
- return;
67
- }
68
- const deviceNetworksResponse = await phyClientInstance.getDeviceNetworks();
69
- const updatedNetworks = deviceNetworksResponse.data;
70
- const ethernetInterfaces = (0, lodash_1.get)(updatedNetworks, 'networkInterfaces', [])
71
- .filter((iface) => {
72
- return iface.type === 'wired' ||
73
- (!iface.type && iface.ifaceName && (iface.ifaceName.startsWith('en') || iface.ifaceName.startsWith('eth')));
74
- });
75
- if (ethernetInterfaces.length === 0) {
76
- console.log('No wired interfaces found.');
77
- return;
78
- }
79
- const validateIP = (input) => {
80
- const ipRegex = /^(\d{1,3}\.){3}\d{1,3}$/;
81
- if (!ipRegex.test(input)) {
82
- return 'Please enter a valid IP address (e.g., 192.168.1.100)';
83
- }
84
- const parts = input.split('.');
85
- for (const part of parts) {
86
- const num = parseInt(part);
87
- if (num < 0 || num > 255) {
88
- return 'Each octet must be between 0 and 255';
89
- }
90
- }
91
- return true;
92
- };
93
- const validateSubnetMask = (input) => {
94
- const validSubnets = [
95
- '255.0.0.0',
96
- '255.128.0.0',
97
- '255.192.0.0',
98
- '255.224.0.0',
99
- '255.240.0.0',
100
- '255.248.0.0',
101
- '255.252.0.0',
102
- '255.254.0.0',
103
- '255.255.0.0',
104
- '255.255.128.0',
105
- '255.255.192.0',
106
- '255.255.224.0',
107
- '255.255.240.0',
108
- '255.255.248.0',
109
- '255.255.252.0',
110
- '255.255.254.0',
111
- '255.255.255.0',
112
- '255.255.255.128',
113
- '255.255.255.192',
114
- '255.255.255.224',
115
- '255.255.255.240',
116
- '255.255.255.248',
117
- '255.255.255.252'
118
- ];
119
- if (!validSubnets.includes(input)) {
120
- return 'Please enter a valid subnet mask (e.g., 255.255.255.0)';
121
- }
122
- return true;
123
- };
124
- const ethernetInterfaceChoices = ethernetInterfaces.map((iface) => ({
125
- name: `${iface.ifaceName} (${iface.ip4 || 'unconfigured'} ${iface.mac})`,
126
- value: iface.iface,
127
- }));
128
- const interfaceAnswer = await prompt([
129
- {
130
- type: 'list',
131
- name: 'iface',
132
- message: 'Select Ethernet interface:',
133
- choices: [
134
- ...ethernetInterfaceChoices,
135
- new inquirer_1.default.Separator(),
136
- { name: 'Go back', value: 'back' },
137
- new inquirer_1.default.Separator(),
138
- ],
139
- }
140
- ]);
141
- if (interfaceAnswer.iface === 'back') {
142
- return;
143
- }
144
- const selectedInterface = ethernetInterfaces.find((iface) => iface.iface === interfaceAnswer.iface);
145
- if (!selectedInterface) {
146
- console.log('Selected interface not found');
147
- return;
148
- }
149
- const networkInterfaces = (0, lodash_1.get)(updatedNetworks, 'networkInterfaces', []);
150
- const detailedInterface = networkInterfaces.find((ni) => ni.iface === selectedInterface.iface);
151
- const gateway = await getGatewayForInterface(selectedInterface.iface);
152
- const dnsServers = await getDNSServersForInterface(selectedInterface.iface);
153
- console.log(`Current configuration for ${selectedInterface.ifaceName}:`);
154
- console.log(`Mode: ${(detailedInterface && detailedInterface.dhcp === true) ? 'DHCP' : 'Static'}`);
155
- console.log(`IP Address: ${selectedInterface.ip4 || 'N/A'}`);
156
- console.log(`Netmask: ${selectedInterface.ip4subnet || 'N/A'}`);
157
- console.log(`Gateway: ${gateway}`);
158
- console.log(`Default Route: ${selectedInterface.default ? 'Yes' : 'No'}`);
159
- console.log(`DNS Server(s): ${dnsServers.length > 0 ? dnsServers.join(', ') : 'N/A'}`);
160
- const actionChoices = [];
161
- if (!(detailedInterface && detailedInterface.dhcp === true)) {
162
- actionChoices.push({ name: 'Use DHCP', value: 'dhcp' });
163
- }
164
- actionChoices.push({ name: 'Configure Static IP', value: 'static' });
165
- if (!(selectedInterface.ip4 && selectedInterface.ip4.startsWith("169."))) {
166
- actionChoices.push({ name: 'Disable Interface', value: 'disable' });
167
- }
168
- actionChoices.push(new inquirer_1.default.Separator());
169
- actionChoices.push({ name: 'Go back', value: 'back' });
170
- actionChoices.push(new inquirer_1.default.Separator());
171
- const actionAnswer = await prompt([
172
- {
173
- type: 'list',
174
- name: 'action',
175
- message: 'Select configuration:',
176
- choices: actionChoices,
177
- }
178
- ]);
179
- if (actionAnswer.action === 'back') {
180
- return;
181
- }
182
- let ethernetConfig;
183
- if (actionAnswer.action === 'disable') {
184
- const { confirmDisable } = await prompt({
185
- type: 'confirm',
186
- name: 'confirmDisable',
187
- message: 'Are you sure you want to disable this interface?',
188
- default: false
189
- });
190
- if (confirmDisable) {
191
- await new Promise((resolve) => {
192
- phyClientInstance.emit('setLanNetwork', {
193
- method: 'setLanNetwork',
194
- data: {
195
- iface: selectedInterface,
196
- isDisconnectCurrentNetwork: true,
197
- dhcp: false,
198
- ip: null,
199
- gw: null,
200
- dns: null
201
- }
202
- }, () => {
203
- console.log('Interface disabled');
204
- resolve(null);
205
- });
206
- });
207
- }
208
- return;
209
- }
210
- if (actionAnswer.action === 'dhcp') {
211
- ethernetConfig = {
212
- iface: selectedInterface,
213
- dhcp: true,
214
- ip: null,
215
- gw: null,
216
- dns: null
217
- };
218
- }
219
- else {
220
- const staticConfig = await prompt([
221
- {
222
- type: 'input',
223
- name: 'ip',
224
- message: 'Enter IP address (e.g., 192.168.1.100):',
225
- validate: validateIP
226
- },
227
- {
228
- type: 'input',
229
- name: 'subnet',
230
- message: 'Enter subnet mask (e.g., 255.255.255.0):',
231
- validate: validateSubnetMask
232
- },
233
- {
234
- type: 'input',
235
- name: 'gw',
236
- message: 'Enter gateway IP (optional):',
237
- validate: (input) => input.trim() === "" ? true : validateIP(input),
238
- },
239
- {
240
- type: 'input',
241
- name: 'dns',
242
- message: 'Enter DNS server IP (optional):',
243
- validate: (input) => input.trim() === "" ? true : validateIP(input),
244
- }
245
- ]);
246
- const subnetBits = staticConfig.subnet.split('.')
247
- .map((octet) => parseInt(octet).toString(2).padStart(8, '0'))
248
- .join('')
249
- .split('1').length - 1;
250
- const cidrIp = `${staticConfig.ip}/${subnetBits}`;
251
- ethernetConfig = {
252
- iface: selectedInterface,
253
- dhcp: false,
254
- ip: cidrIp,
255
- gw: staticConfig.gw.trim() === "" ? null : staticConfig.gw,
256
- dns: staticConfig.dns.trim() === "" ? null : staticConfig.dns
257
- };
258
- }
259
- console.log(`Configuring ${selectedInterface.ifaceName} with ${ethernetConfig.dhcp === true ? 'DHCP' : 'Static IP'}`);
260
- await new Promise((resolve) => {
261
- phyClientInstance.emit('setLanNetwork', { data: ethernetConfig }, () => {
262
- console.log('Network configuration updated');
263
- resolve(null);
264
- });
265
- });
266
- await new Promise((resolve) => setTimeout(resolve, 2000));
267
- return;
268
- };
269
- exports.setupEthernet = setupEthernet;
270
- //# sourceMappingURL=lan.dialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lan.dialog.js","sourceRoot":"","sources":["../../../src/dialog/network/lan.dialog.ts"],"names":[],"mappings":"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"}
@@ -1,90 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.setupProxy = void 0;
7
- const inquirer_1 = __importDefault(require("inquirer"));
8
- const setupProxy = async (phyClientInstance) => {
9
- while (true) {
10
- if (!phyClientInstance || !phyClientInstance.isConnected()) {
11
- console.log('PhyDevice is not running or disconnected');
12
- break;
13
- }
14
- const answers = await inquirer_1.default.prompt([
15
- {
16
- type: 'list',
17
- name: 'isDefaultProxySettings',
18
- message: 'Choose an option:',
19
- choices: [{
20
- name: 'Set proxy settings',
21
- value: false
22
- }, {
23
- name: 'Clear proxy settings',
24
- value: true
25
- }, new inquirer_1.default.Separator(), {
26
- name: 'Go back',
27
- value: 'back'
28
- }, new inquirer_1.default.Separator()],
29
- },
30
- ]);
31
- if (answers.isDefaultProxySettings === 'back') {
32
- break;
33
- }
34
- if (answers.isDefaultProxySettings === true) {
35
- const proxyConfig = {
36
- isDefaultProxySettings: true,
37
- hostname: undefined,
38
- port: undefined,
39
- username: undefined,
40
- password: undefined,
41
- };
42
- phyClientInstance.emit('setProxy', { data: proxyConfig }, async () => {
43
- console.log('Proxy configuration updated');
44
- });
45
- break;
46
- }
47
- if (answers.isDefaultProxySettings === false) {
48
- const proxySettings = await inquirer_1.default.prompt([
49
- {
50
- type: 'input',
51
- name: 'hostname',
52
- message: 'Enter the hostname:',
53
- validate: (input) => input.trim() !== '' || 'Hostname cannot be empty',
54
- },
55
- {
56
- type: 'input',
57
- name: 'port',
58
- message: 'Enter the port number:',
59
- validate: (input) => !isNaN(Number(input)) && input.trim() !== '' || 'Port must be a valid number and cannot be empty',
60
- },
61
- {
62
- type: 'input',
63
- name: 'username',
64
- message: 'Enter the username:',
65
- validate: (input) => input.trim() !== '' || 'Username cannot be empty',
66
- },
67
- {
68
- type: 'password',
69
- name: 'password',
70
- message: 'Enter the password:',
71
- mask: '*',
72
- validate: (input) => input.trim() !== '' || 'Password cannot be empty',
73
- },
74
- ]);
75
- const proxyConfig = {
76
- isDefaultProxySettings: false,
77
- hostname: proxySettings.hostname,
78
- port: proxySettings.port,
79
- username: proxySettings.username,
80
- password: proxySettings.password,
81
- };
82
- phyClientInstance.emit('setProxy', { data: proxyConfig }, async () => {
83
- console.log('Proxy configuration updated');
84
- });
85
- break;
86
- }
87
- }
88
- };
89
- exports.setupProxy = setupProxy;
90
- //# sourceMappingURL=proxy.dialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxy.dialog.js","sourceRoot":"","sources":["../../../src/dialog/network/proxy.dialog.ts"],"names":[],"mappings":"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"}