@matter/cli-tool 0.17.0-alpha.0-20260507-059f7763b → 0.17.0-alpha.0-20260508-29ff5ae9e

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.
Files changed (50) hide show
  1. package/package.json +9 -9
  2. package/dist/esm/cli.js +0 -79
  3. package/dist/esm/cli.js.map +0 -6
  4. package/dist/esm/commands/cat.js +0 -18
  5. package/dist/esm/commands/cat.js.map +0 -6
  6. package/dist/esm/commands/cd.js +0 -27
  7. package/dist/esm/commands/cd.js.map +0 -6
  8. package/dist/esm/commands/clear.js +0 -13
  9. package/dist/esm/commands/clear.js.map +0 -6
  10. package/dist/esm/commands/command.js +0 -185
  11. package/dist/esm/commands/command.js.map +0 -6
  12. package/dist/esm/commands/diff-spec.js +0 -87
  13. package/dist/esm/commands/diff-spec.js.map +0 -6
  14. package/dist/esm/commands/exit.js +0 -17
  15. package/dist/esm/commands/exit.js.map +0 -6
  16. package/dist/esm/commands/help.js +0 -88
  17. package/dist/esm/commands/help.js.map +0 -6
  18. package/dist/esm/commands/index.js +0 -16
  19. package/dist/esm/commands/index.js.map +0 -6
  20. package/dist/esm/commands/ls.js +0 -205
  21. package/dist/esm/commands/ls.js.map +0 -6
  22. package/dist/esm/commands/pwd.js +0 -14
  23. package/dist/esm/commands/pwd.js.map +0 -6
  24. package/dist/esm/commands/rm.js +0 -26
  25. package/dist/esm/commands/rm.js.map +0 -6
  26. package/dist/esm/commands/set.js +0 -30
  27. package/dist/esm/commands/set.js.map +0 -6
  28. package/dist/esm/domain.js +0 -354
  29. package/dist/esm/domain.js.map +0 -6
  30. package/dist/esm/errors.js +0 -51
  31. package/dist/esm/errors.js.map +0 -6
  32. package/dist/esm/globals.js +0 -16
  33. package/dist/esm/globals.js.map +0 -6
  34. package/dist/esm/location.js +0 -164
  35. package/dist/esm/location.js.map +0 -6
  36. package/dist/esm/package.json +0 -7
  37. package/dist/esm/parser.js +0 -176
  38. package/dist/esm/parser.js.map +0 -6
  39. package/dist/esm/providers/endpoint.js +0 -97
  40. package/dist/esm/providers/endpoint.js.map +0 -6
  41. package/dist/esm/providers/index.js +0 -9
  42. package/dist/esm/providers/index.js.map +0 -6
  43. package/dist/esm/providers/model.js +0 -40
  44. package/dist/esm/providers/model.js.map +0 -6
  45. package/dist/esm/providers/module.js +0 -26
  46. package/dist/esm/providers/module.js.map +0 -6
  47. package/dist/esm/repl.js +0 -378
  48. package/dist/esm/repl.js.map +0 -6
  49. package/dist/esm/stat.js +0 -69
  50. package/dist/esm/stat.js.map +0 -6
@@ -1,205 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { MaybePromise } from "@matter/general";
7
- import colors from "ansi-colors";
8
- import { Command } from "./command.js";
9
- Command({
10
- usage: "[OPTION]... [PATH]...",
11
- description: "List properties of the current path or other paths you specify.",
12
- namedArgs: [
13
- { name: "a", description: "show hidden properties" },
14
- { name: "l", description: "use a long listing format" },
15
- { name: "d", description: "list directories themselves, not their contents" }
16
- ],
17
- restArgs: { name: "file", description: "filename to list", type: "string" },
18
- invoke: async function ls(args) {
19
- const locations = Array();
20
- for (const str of args._) {
21
- const input = `${str}`;
22
- locations.push(DisplayLocation(await this.location.at(input), !!args.a, input));
23
- }
24
- const files = Array();
25
- const dirs = Array();
26
- if (locations.length) {
27
- for (const location of locations) {
28
- if (location.kind === "directory" && !args.d) {
29
- dirs.push(location);
30
- } else {
31
- files.push(location);
32
- }
33
- }
34
- } else {
35
- for (const basename of await DisplayLocation(this.location, !!args.a).paths) {
36
- files.push(DisplayLocation(await this.location.at(basename), !!args.a));
37
- }
38
- }
39
- let displayedSomething = false;
40
- if (files.length) {
41
- display(this, args.l, files, "");
42
- displayedSomething = true;
43
- }
44
- for (const dir of dirs) {
45
- if (displayedSomething) {
46
- this.out("\n");
47
- }
48
- let linePrefix;
49
- if (displayedSomething || dirs.length > 1) {
50
- this.out(dir.displayName ?? dir.basename, ":\n");
51
- linePrefix = " ";
52
- } else {
53
- linePrefix = "";
54
- }
55
- display(
56
- this,
57
- args.l,
58
- (await Promise.all((await dir.paths).map((path) => dir.at(path)))).map(
59
- (location) => DisplayLocation(location, !!args.a)
60
- ),
61
- linePrefix
62
- );
63
- }
64
- }
65
- });
66
- function display(domain, long, files, linePrefix) {
67
- if (long) {
68
- displayList(domain, files, linePrefix);
69
- } else {
70
- const { grid, colWidth } = gridFor(domain, files, linePrefix);
71
- displayGrid(domain, grid, colWidth, linePrefix);
72
- }
73
- }
74
- function displayList(domain, files, linePrefix) {
75
- for (const location of files) {
76
- const { name, length } = formatName(location);
77
- let charsAvailable = domain.terminalWidth ?? 80;
78
- const { name: title, tag } = location;
79
- domain.out(linePrefix, name, " ", colors.dim(tag));
80
- charsAvailable -= length + tag.length + linePrefix.length + 1;
81
- let { id, summary } = location;
82
- if (id !== void 0) {
83
- id = `#${id}`;
84
- domain.out(colors.dim(id));
85
- charsAvailable -= id.length + 1;
86
- }
87
- if (title) {
88
- domain.out(' "', colors.cyan(title), '"');
89
- charsAvailable -= title.length + 3;
90
- }
91
- if (summary !== void 0 && charsAvailable > 10) {
92
- domain.out(" ");
93
- charsAvailable -= 1;
94
- summary = summary.split("\n")[0].trim();
95
- if (summary.length > charsAvailable) {
96
- summary = summary.slice(0, charsAvailable - 1) + "\u2026";
97
- }
98
- domain.out(summary);
99
- }
100
- domain.out("\n");
101
- }
102
- }
103
- function gridFor(domain, files, linePrefix) {
104
- const columns = (domain.terminalWidth ?? 80) - linePrefix.length;
105
- const maxWidth = maxWidthOf(files) + 3;
106
- let colCount = Math.floor(columns / maxWidth);
107
- if (colCount === 0) {
108
- colCount = 1;
109
- }
110
- const rowCount = Math.ceil(files.length / colCount);
111
- const grid = Array();
112
- for (let i = 0; i < files.length; i++) {
113
- const colNum = Math.floor(i / rowCount);
114
- const rowNum = i - colNum * rowCount;
115
- (grid[rowNum] ??= [])[colNum] = files[i];
116
- }
117
- const colWidth = Math.floor(columns / colCount);
118
- return { grid, colWidth };
119
- }
120
- function displayGrid(domain, grid, colWidth, linePrefix) {
121
- for (const row of grid) {
122
- domain.out(linePrefix);
123
- for (const location of row) {
124
- const { name, length } = formatName(location);
125
- domain.out(name, "".padStart(colWidth - length));
126
- }
127
- domain.out("\n");
128
- }
129
- }
130
- function formatName(location) {
131
- const name = location.displayName ?? location.basename;
132
- const length = name.length;
133
- if (location.kind === "directory") {
134
- return { name: `${colors.blue(name)}/`, length: length + 1 };
135
- }
136
- if (location.kind === "command") {
137
- return { name: `${colors.green(name)}*`, length: length + 1 };
138
- }
139
- if (location.tag === "constructor") {
140
- return { name: `${colors.green.bold(name)}*`, length: length + 1 };
141
- }
142
- if (location.tag === "event") {
143
- return { name: `${colors.yellow(name)}=`, length: length + 1 };
144
- }
145
- return { name, length };
146
- }
147
- function maxWidthOf(locations) {
148
- return Math.max(...locations.map((file) => (file.displayName ?? file.basename).length));
149
- }
150
- function DisplayLocation(location, all, displayName) {
151
- return {
152
- get kind() {
153
- return location.kind;
154
- },
155
- get basename() {
156
- return location.basename;
157
- },
158
- get name() {
159
- return location.name;
160
- },
161
- get id() {
162
- return location.id;
163
- },
164
- get path() {
165
- return location.path;
166
- },
167
- get paths() {
168
- const paths = location.paths;
169
- if (MaybePromise.is(paths)) {
170
- return paths.then((paths2) => listPaths(paths2, this.definition));
171
- }
172
- return listPaths(paths, this.definition);
173
- },
174
- get tag() {
175
- return location.tag;
176
- },
177
- get summary() {
178
- return location.summary;
179
- },
180
- get definition() {
181
- return location.definition;
182
- },
183
- get displayName() {
184
- return displayName ?? location.basename;
185
- },
186
- get at() {
187
- return location.at;
188
- },
189
- get maybeAt() {
190
- return location.maybeAt;
191
- }
192
- };
193
- function listPaths(paths, definition) {
194
- const result = new Set(paths);
195
- if (all && typeof definition === "object" && definition !== null) {
196
- for (let obj = definition; obj !== void 0 && obj !== null && obj !== Object.prototype; obj = Object.getPrototypeOf(obj)) {
197
- for (const key of Object.getOwnPropertyNames(obj)) {
198
- result.add(key);
199
- }
200
- }
201
- }
202
- return [...result].sort((a, b) => a.toLocaleLowerCase().localeCompare(b.toLocaleLowerCase()));
203
- }
204
- }
205
- //# sourceMappingURL=ls.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/commands/ls.ts"],
4
- "mappings": "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",
5
- "names": ["paths"]
6
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Command } from "./command.js";
7
- Command({
8
- description: "Display current working directory.",
9
- maxArgs: 0,
10
- invoke: function pwd() {
11
- this.out(this.location.path, "\n");
12
- }
13
- });
14
- //# sourceMappingURL=pwd.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/commands/pwd.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe;AAExB,QAAQ;AAAA,EACJ,aAAa;AAAA,EACb,SAAS;AAAA,EAET,QAAQ,SAAS,MAAM;AACnB,SAAK,IAAI,KAAK,SAAS,MAAM,IAAI;AAAA,EACrC;AACJ,CAAC;",
5
- "names": []
6
- }
@@ -1,26 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Command } from "./command.js";
7
- Command({
8
- usage: "[PATH]...",
9
- description: "Deletes the properties at the paths you specify.",
10
- restArgs: { name: "path", description: "path to remove", type: "string" },
11
- invoke: async function rm(args) {
12
- const toDelete = Array();
13
- for (const path of args._) {
14
- const location = await this.location.at(`${path}`);
15
- if (!location.parent) {
16
- this.err(`Invalid argument: Can't delete ${location.path}`);
17
- return;
18
- }
19
- toDelete.push(location);
20
- }
21
- for (const location of toDelete) {
22
- delete location.parent.definition[location.basename];
23
- }
24
- }
25
- });
26
- //# sourceMappingURL=rm.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/commands/rm.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,eAAe;AAExB,QAAQ;AAAA,EACJ,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU,EAAE,MAAM,QAAQ,aAAa,kBAAkB,MAAM,SAAS;AAAA,EAExE,QAAQ,eAAe,GAAG,MAAM;AAC5B,UAAM,WAAW,MAAgB;AAEjC,eAAW,QAAQ,KAAK,GAAG;AACvB,YAAM,WAAW,MAAM,KAAK,SAAS,GAAG,GAAG,IAAI,EAAE;AACjD,UAAI,CAAC,SAAS,QAAQ;AAClB,aAAK,IAAI,kCAAkC,SAAS,IAAI,EAAE;AAC1D;AAAA,MACJ;AACA,eAAS,KAAK,QAAQ;AAAA,IAC1B;AAEA,eAAW,YAAY,UAAU;AAC7B,aAAQ,SAAS,OAAQ,WAAuC,SAAS,QAAQ;AAAA,IACrF;AAAA,EACJ;AACJ,CAAC;",
5
- "names": []
6
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Command } from "./command.js";
7
- Command({
8
- usage: ["", "KEY=VALUE", "KEY VALUE"],
9
- description: 'Set or display environment variables. matter.js defines variables in a hierarchy with "." as a delimiter. Variables persist across restarts.',
10
- maxArgs: 2,
11
- restArgs: { name: "KV", description: "key and/or value", type: "string" },
12
- invoke: async function set(args) {
13
- switch (args._.length) {
14
- case 0:
15
- return this.env.vars.vars;
16
- case 1:
17
- const assignment = `${args._[0]}`;
18
- const equalPos = assignment.indexOf("=");
19
- if (equalPos === -1) {
20
- this.err("Invalid argument: parameter must be of the form key=value");
21
- }
22
- await this.env.vars.persist(assignment.slice(0, equalPos), assignment.slice(equalPos + 1));
23
- break;
24
- case 2:
25
- await this.env.vars.persist(`${args._[0]}`, args._[1]);
26
- break;
27
- }
28
- }
29
- });
30
- //# sourceMappingURL=set.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/commands/set.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,eAAe;AAExB,QAAQ;AAAA,EACJ,OAAO,CAAC,IAAI,aAAa,WAAW;AAAA,EACpC,aACI;AAAA,EACJ,SAAS;AAAA,EACT,UAAU,EAAE,MAAM,MAAM,aAAa,oBAAoB,MAAM,SAAS;AAAA,EAExE,QAAQ,eAAe,IAAI,MAAM;AAC7B,YAAQ,KAAK,EAAE,QAAQ;AAAA,MACnB,KAAK;AACD,eAAO,KAAK,IAAI,KAAK;AAAA,MAEzB,KAAK;AACD,cAAM,aAAa,GAAG,KAAK,EAAE,CAAC,CAAC;AAC/B,cAAM,WAAW,WAAW,QAAQ,GAAG;AACvC,YAAI,aAAa,IAAI;AACjB,eAAK,IAAI,2DAA2D;AAAA,QACxE;AACA,cAAM,KAAK,IAAI,KAAK,QAAQ,WAAW,MAAM,GAAG,QAAQ,GAAG,WAAW,MAAM,WAAW,CAAC,CAAC;AACzF;AAAA,MAEJ,KAAK;AACD,cAAM,KAAK,IAAI,KAAK,QAAQ,GAAG,KAAK,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAA0B;AAC9E;AAAA,IACR;AAAA,EACJ;AACJ,CAAC;",
5
- "names": []
6
- }
@@ -1,354 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { BadCommandError, IncompleteError, NotACommandError, NotADirectoryError, NotFoundError } from "#errors.js";
7
- import { bin, globals as defaultGlobals } from "#globals.js";
8
- import { Location, undefinedValue } from "#location.js";
9
- import { parseInput } from "#parser.js";
10
- import { Directory } from "#stat.js";
11
- import {
12
- CancelablePromise,
13
- Diagnostic,
14
- InternalError,
15
- LogFormat,
16
- MaybePromise,
17
- Observable,
18
- SafePromise
19
- } from "@matter/general";
20
- import { ServerNode } from "@matter/node";
21
- import colors from "ansi-colors";
22
- import { inspect } from "node:util";
23
- import { createContext, runInContext } from "node:vm";
24
- const GLOBALS = {
25
- general: "@matter/general",
26
- tools: "@nacho-iot/js-tools",
27
- protocol: "@matter/protocol",
28
- node: "@matter/node",
29
- types: "@matter/types",
30
- model: "@matter/model",
31
- clusters: "@matter/types/clusters",
32
- behaviors: "@matter/node/behaviors",
33
- endpoints: "@matter/node/endpoints",
34
- devices: "@matter/node/devices"
35
- };
36
- async function Domain(context) {
37
- const hiddenGlobals = Object.keys(globalThis);
38
- const globals = Object.defineProperties(
39
- {},
40
- {
41
- ...Object.getOwnPropertyDescriptors(globalThis),
42
- ...Object.getOwnPropertyDescriptors(defaultGlobals),
43
- bin: {
44
- value: { ...bin },
45
- enumerable: true,
46
- writable: false,
47
- configurable: false
48
- }
49
- }
50
- );
51
- let softInterrupted = false;
52
- let cancelEval;
53
- let discardEval;
54
- Object.defineProperty(globals.bin, "domain", {
55
- get() {
56
- return domain;
57
- },
58
- enumerable: false
59
- });
60
- globals.global = globals.globalThis = globals;
61
- const defaultNode = new ServerNode();
62
- await defaultNode.construction;
63
- globals[defaultNode.id] = defaultNode;
64
- const domain = {
65
- isDomain: true,
66
- location: Location(
67
- "",
68
- globals,
69
- Directory({
70
- paths() {
71
- const result = new Set(Object.keys(globals));
72
- for (const name of hiddenGlobals) {
73
- result.delete(name);
74
- }
75
- return [...result];
76
- },
77
- definitionAt(path) {
78
- if (path === "crypto") {
79
- return globalThis.crypto;
80
- }
81
- if (Object.hasOwn(globals, path)) {
82
- const result = globals[path];
83
- if (result === void 0) {
84
- return undefinedValue;
85
- }
86
- return result;
87
- }
88
- }
89
- }),
90
- void 0
91
- ),
92
- execute,
93
- async searchPathFor(name) {
94
- let location;
95
- try {
96
- location = await this.location.at(name);
97
- } catch (e) {
98
- if ((e instanceof NotFoundError || e instanceof NotADirectoryError) && name.indexOf("/") === -1) {
99
- try {
100
- location = await this.location.at(Location.join("/bin", name));
101
- } catch (e2) {
102
- if (e instanceof NotFoundError || e instanceof NotADirectoryError) {
103
- throw e;
104
- }
105
- throw e2;
106
- }
107
- } else {
108
- throw e;
109
- }
110
- }
111
- return location;
112
- },
113
- inspect(value) {
114
- if (value === undefinedValue) {
115
- return colors.dim("(undefined)");
116
- }
117
- if (typeof value === "object" && value !== null && (Diagnostic.value in value || Diagnostic.presentation in value || value instanceof Error)) {
118
- return LogFormat.formats[colors.enabled ? "ansi" : "plain"](value);
119
- }
120
- return inspect(value, false, 1, this.colorize);
121
- },
122
- displayError(cause, prefix) {
123
- const formatted = this.inspect(cause);
124
- if (prefix) {
125
- prefix = colors.dim(`${prefix}: `);
126
- } else {
127
- prefix = "";
128
- }
129
- this.err(`${prefix}${formatted}
130
- `);
131
- },
132
- displayHint(message) {
133
- this.err(`${colors.dim(colors.whiteBright(message))}
134
- `);
135
- },
136
- interrupt() {
137
- if (this.interrupted.emit() === false) {
138
- softInterrupted = false;
139
- return;
140
- }
141
- if (cancelEval) {
142
- cancelEval();
143
- cancelEval = void 0;
144
- softInterrupted = false;
145
- } else if (discardEval) {
146
- discardEval();
147
- discardEval = void 0;
148
- softInterrupted = false;
149
- this.displayHint("Ignoring your command (it may continue running)");
150
- } else if (softInterrupted) {
151
- if (this.exitHandler) {
152
- MaybePromise.catch(
153
- this.exitHandler.bind(this),
154
- (cause) => this.displayError(cause, "Error triggered in exit handler")
155
- );
156
- } else {
157
- this.err(colors.red("Cannot abort process because there is no exit handler"));
158
- }
159
- } else {
160
- this.displayHint("Press control-c again to exit");
161
- softInterrupted = true;
162
- }
163
- },
164
- get description() {
165
- return context.description;
166
- },
167
- get out() {
168
- return context.out;
169
- },
170
- get err() {
171
- return context.err;
172
- },
173
- get terminalWidth() {
174
- return context.terminalWidth;
175
- },
176
- get colorize() {
177
- return context.colorize;
178
- },
179
- get env() {
180
- return context.env;
181
- },
182
- interrupted: Observable(),
183
- globals,
184
- globalsLoaded: void 0
185
- };
186
- domain.globalsLoaded = loadGlobals(domain);
187
- if (!domain.env.vars.has("home")) {
188
- domain.env.vars.set("home", `/${defaultNode.id}`);
189
- }
190
- const vmContext = createContext(
191
- new Proxy(
192
- {},
193
- {
194
- get(_target, key, _receiver) {
195
- if (key in domain.location.definition) {
196
- let result = domain.location.definition[key];
197
- if (typeof result === "function") {
198
- result = result.bind(domain.location.definition);
199
- }
200
- return result;
201
- }
202
- return globals[key];
203
- },
204
- set(_target, key, newValue, _receiver) {
205
- const { definition } = domain.location;
206
- if (definition === void 0 || definition === null) {
207
- return false;
208
- }
209
- definition[key] = newValue;
210
- return true;
211
- },
212
- has(_target, key) {
213
- const { definition } = domain.location;
214
- if (definition === void 0 || definition === null || typeof definition !== "object") {
215
- return false;
216
- }
217
- return key in definition;
218
- },
219
- defineProperty(_target, property, attributes) {
220
- Object.defineProperty(domain.location.definition, property, attributes);
221
- return true;
222
- },
223
- deleteProperty(_target, property) {
224
- const { definition } = domain.location;
225
- if (definition === void 0 || definition === null) {
226
- return false;
227
- }
228
- Reflect.deleteProperty(definition, property);
229
- return true;
230
- },
231
- ownKeys(_target) {
232
- return Reflect.ownKeys(domain.location.definition);
233
- },
234
- getOwnPropertyDescriptor(target, p) {
235
- const result = Reflect.getOwnPropertyDescriptor(domain.location.definition, p);
236
- if (result === void 0) {
237
- Reflect.deleteProperty(target, p);
238
- } else {
239
- result.configurable = true;
240
- Object.defineProperty(target, p, result);
241
- return result;
242
- }
243
- }
244
- }
245
- )
246
- );
247
- const cwd = domain.env.vars.string("cwd") ?? `/${defaultNode.id}`;
248
- try {
249
- domain.location = await domain.location.at(cwd);
250
- } catch (e) {
251
- if (!(e instanceof NotFoundError) && !(e instanceof NotADirectoryError)) {
252
- throw e;
253
- }
254
- }
255
- domain.env.runtime.interrupt = () => {
256
- domain.interrupt();
257
- return true;
258
- };
259
- return domain;
260
- async function execute(input) {
261
- softInterrupted = false;
262
- if (typeof input === "string") {
263
- input = parseInput(input);
264
- }
265
- switch (input.kind) {
266
- case "empty":
267
- return;
268
- case "incomplete":
269
- throw new IncompleteError(input.error);
270
- case "command":
271
- break;
272
- case "statement":
273
- return await interruptablePromiseOf(evaluate(input.js));
274
- default:
275
- throw new InternalError(`Unknown internal command type ${input.kind}`);
276
- }
277
- const { name, args } = input;
278
- const location = await interruptablePromiseOf(domain.searchPathFor(name));
279
- const fn = location?.definition;
280
- if (location === void 0 || fn === void 0) {
281
- throw new NotACommandError(name);
282
- }
283
- if (typeof fn !== "function") {
284
- if (args.length) {
285
- throw new BadCommandError(name);
286
- }
287
- return fn;
288
- }
289
- const argvals = args.map((arg) => {
290
- return evaluate(arg.js, {
291
- lineOffset: arg.line - 1,
292
- columnOffset: arg.column
293
- });
294
- });
295
- const scope = location.parent?.definition ?? globals;
296
- return await interruptablePromiseOf(fn.apply(scope, argvals));
297
- async function interruptablePromiseOf(result) {
298
- if (!MaybePromise.is(result)) {
299
- return result;
300
- }
301
- if ("emit" in result || "change" in result) {
302
- return result;
303
- }
304
- try {
305
- if (CancelablePromise.is(result)) {
306
- cancelEval = result.cancel.bind(result);
307
- }
308
- let isDiscarded = false;
309
- const discarded = new Promise((resolve) => {
310
- discardEval = () => {
311
- isDiscarded = true;
312
- resolve();
313
- };
314
- });
315
- const returnValue = await SafePromise.race([discarded, result]);
316
- if (isDiscarded) {
317
- result.then(
318
- () => domain.displayHint("Ignored command has finished"),
319
- (cause) => domain.displayError(cause, "Ignored command crashed")
320
- );
321
- }
322
- return returnValue;
323
- } finally {
324
- cancelEval = discardEval = void 0;
325
- softInterrupted = false;
326
- }
327
- }
328
- }
329
- function evaluate(js, options = {}) {
330
- return runInContext(js, vmContext, {
331
- breakOnSigint: true,
332
- filename: "matter-cli-eval",
333
- displayErrors: false,
334
- ...options
335
- });
336
- }
337
- }
338
- async function loadGlobals(domain) {
339
- const loads = Array();
340
- for (const name in GLOBALS) {
341
- loads.push(
342
- import(GLOBALS[name]).then(
343
- (module) => domain.globals[name] = module,
344
- (error) => domain.displayError(`Error loading ${GLOBALS[name]}: ${error.message}`)
345
- )
346
- );
347
- }
348
- await Promise.allSettled(loads);
349
- }
350
- export {
351
- Domain,
352
- loadGlobals
353
- };
354
- //# sourceMappingURL=domain.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/domain.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }