@lionweb/delta-protocol-test-cli 0.7.0-beta.14 → 0.7.0-beta.16
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/dist/cli-client.js +20 -12
- package/dist/cli-client.js.map +1 -1
- package/dist/tasks.d.ts +1 -1
- package/dist/tasks.d.ts.map +1 -1
- package/dist/tasks.js +1 -0
- package/dist/tasks.js.map +1 -1
- package/package.json +6 -6
- package/src/cli-client.ts +21 -12
- package/src/tasks.ts +2 -1
package/dist/cli-client.js
CHANGED
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
// SPDX-License-Identifier: Apache-2.0
|
|
18
18
|
import { argv, exit } from "process";
|
|
19
19
|
import { createWebSocketClient, LionWebClient, wsLocalhostUrl } from "@lionweb/delta-protocol-impl";
|
|
20
|
+
import { semanticConsoleLogger, semanticLogItemStorer } from "@lionweb/delta-protocol-impl/dist/semantic-logging.js";
|
|
21
|
+
import { clientInfo, genericError } from "@lionweb/delta-protocol-impl/dist/utils/ansi.js";
|
|
22
|
+
import { combine } from "@lionweb/delta-protocol-impl/dist/utils/procedure.js";
|
|
20
23
|
import { writeJsonAsFile } from "@lionweb/utilities";
|
|
21
24
|
import { runAsApp, tryParseInteger } from "./common.js";
|
|
22
25
|
import { recognizedTasks, taskExecutor } from "./tasks.js";
|
|
23
|
-
import { clientInfo, genericError } from "@lionweb/delta-protocol-impl/dist/utils/ansi.js";
|
|
24
|
-
import { combine } from "@lionweb/delta-protocol-impl/dist/utils/procedure.js";
|
|
25
26
|
import { TestLanguageBase } from "./gen/TestLanguage.g.js";
|
|
26
|
-
import { semanticConsoleLogger, semanticLogItemStorer } from "@lionweb/delta-protocol-impl/dist/semantic-logging.js";
|
|
27
27
|
const testLanguageBase = TestLanguageBase.INSTANCE;
|
|
28
28
|
const languageBases = [testLanguageBase];
|
|
29
29
|
const boldRedIf = (apply, text) => apply ? genericError(text) : text;
|
|
@@ -37,7 +37,7 @@ const trueArguments = argv.filter((_, index) => !(index === 0 || index === 1 ||
|
|
|
37
37
|
if (trueArguments.length < 3) {
|
|
38
38
|
console.log(`A Node.js-based app that implements a LionWeb delta protocol client.
|
|
39
39
|
|
|
40
|
-
Parameters (${
|
|
40
|
+
Parameters (${genericError("bold red")} are missing):
|
|
41
41
|
- ${boldRedIf(trueArguments.length < 1, `<port>: the port of the WebSocket where the LionWeb delta protocol repository is running on localhost`)}
|
|
42
42
|
- ${boldRedIf(trueArguments.length < 2, `<clientID>: the ID that the client identifies itself with at the repository`)}
|
|
43
43
|
- ${boldRedIf(trueArguments.length < 3, `<partitionConcept>: the name of a partition concept that gets instantiated as the model's primary partition — one of: ${Object.keys(partitionConcepts).join(", ")}`)}
|
|
@@ -52,24 +52,32 @@ const port = tryParseInteger(argv[2]);
|
|
|
52
52
|
const clientId = argv[3];
|
|
53
53
|
const partitionConcept = argv[4];
|
|
54
54
|
if (!(partitionConcept in partitionConcepts)) {
|
|
55
|
-
console.
|
|
55
|
+
console.error(genericError(`unknown partition concept specified: ${partitionConcept} — must be one of: ${Object.keys(partitionConcepts).join(", ")}`));
|
|
56
56
|
exit(2);
|
|
57
57
|
}
|
|
58
|
-
const tasks = argv[5]?.split(",") ?? [];
|
|
58
|
+
const tasks = argv[5]?.split(",") ?? [];
|
|
59
59
|
console.log(clientInfo(`tasks provided: ${tasks.length === 0 ? "none" : tasks.join(", ")}`));
|
|
60
|
+
const infoUnrecognizedTasks = tasks
|
|
61
|
+
.map((task, index) => task in recognizedTasks ? undefined : [task, index])
|
|
62
|
+
.filter((taskInfoOrUndefined) => taskInfoOrUndefined !== undefined);
|
|
63
|
+
if (infoUnrecognizedTasks.length > 0) {
|
|
64
|
+
console.error(genericError(`unrecognized tasks encountered:`));
|
|
65
|
+
infoUnrecognizedTasks.forEach(([task, index]) => {
|
|
66
|
+
console.error(genericError(`\t${task} (#${index + 1})`));
|
|
67
|
+
});
|
|
68
|
+
exit(2);
|
|
69
|
+
}
|
|
60
70
|
await runAsApp(async () => {
|
|
61
71
|
const url = wsLocalhostUrl(port);
|
|
62
72
|
const [storingLogger, semanticLogItems] = semanticLogItemStorer();
|
|
63
|
-
const
|
|
73
|
+
const logItems = [];
|
|
64
74
|
const lionWebClient = await LionWebClient.create({
|
|
65
75
|
clientId,
|
|
66
76
|
url,
|
|
67
77
|
languageBases,
|
|
68
78
|
semanticLogger: combine(semanticConsoleLogger, storingLogger),
|
|
69
|
-
lowLevelClientInstantiator: async (lowLevelClientParameters) => await createWebSocketClient(lowLevelClientParameters, {
|
|
70
|
-
|
|
71
|
-
protocolMessages.push(message);
|
|
72
|
-
}
|
|
79
|
+
lowLevelClientInstantiator: async (lowLevelClientParameters) => await createWebSocketClient(lowLevelClientParameters, (logItem) => {
|
|
80
|
+
logItems.push(logItem);
|
|
73
81
|
})
|
|
74
82
|
});
|
|
75
83
|
console.log(clientInfo(`LionWeb delta protocol client (with ID=${clientId}) connecting to repository on ${url} - press Ctrl+C to terminate`));
|
|
@@ -82,7 +90,7 @@ await runAsApp(async () => {
|
|
|
82
90
|
await executeTask(task, queryId());
|
|
83
91
|
}
|
|
84
92
|
if (protocolLogPathIndex > -1) {
|
|
85
|
-
writeJsonAsFile(argv[protocolLogPathIndex].substring(protocolLogOptionPrefix.length),
|
|
93
|
+
writeJsonAsFile(argv[protocolLogPathIndex].substring(protocolLogOptionPrefix.length), logItems);
|
|
86
94
|
}
|
|
87
95
|
return () => {
|
|
88
96
|
return lionWebClient.disconnect();
|
package/dist/cli-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-client.js","sourceRoot":"","sources":["../src/cli-client.ts"],"names":[],"mappings":";AAEA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EAEH,qBAAqB,EAErB,aAAa,EAEb,cAAc,EACjB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli-client.js","sourceRoot":"","sources":["../src/cli-client.ts"],"names":[],"mappings":";AAEA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EAEH,qBAAqB,EAErB,aAAa,EAEb,cAAc,EACjB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAA;AACpH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAA;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,sDAAsD,CAAA;AAE9E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,QAAQ,CAAA;AAClD,MAAM,aAAa,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAExC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,IAAY,EAAE,EAAE,CAC/C,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAErC,MAAM,iBAAiB,GAA4B,MAAM,CAAC,WAAW,CACjE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,eAAe,CAAC;KACnE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CACjD,CAAA;AAED,+GAA+G;AAE/G,MAAM,uBAAuB,GAAG,iBAAiB,CAAA;AACjD,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAA;AACvG,yHAAyH;AACzH,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,oBAAoB,CAAC,CAAC,CAAA;AAEhH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;IAC3B,OAAO,CAAC,GAAG,CACf;;cAEc,YAAY,CAAC,UAAU,CAAC;MAChC,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,uGAAuG,CAAC;MAC5I,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,6EAA6E,CAAC;MAClH,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,yHAAyH,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;MACzM,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,qDAAqD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;MAC1I,SAAS,CAAC,oBAAoB,KAAK,CAAC,CAAC,EAAE,GAAG,uBAAuB,4HAA4H,CAAC;;;CAGnM,CAAC,CAAA;IACE,IAAI,CAAC,CAAC,CAAC,CAAA;AACX,CAAC;AAED,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAChC,IAAI,CAAC,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,EAAE,CAAC;IAC3C,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,wCAAwC,gBAAgB,sBAAsB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IACtJ,IAAI,CAAC,CAAC,CAAC,CAAA;AACX,CAAC;AACD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;AACvC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,mBAAmB,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;AAC5F,MAAM,qBAAqB,GAAG,KAAK;KAC9B,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAqB,CAAC;KAC7F,MAAM,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAA;AACvE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC,CAAA;IAC9D,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QACxC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IACN,IAAI,CAAC,CAAC,CAAC,CAAA;AACX,CAAC;AAED,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE;IACtB,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IAEhC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,qBAAqB,EAAE,CAAA;IACjE,MAAM,QAAQ,GAA8C,EAAE,CAAA;IAE9D,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC;QAC7C,QAAQ;QACR,GAAG;QACH,aAAa;QACb,cAAc,EAAE,OAAO,CAAC,qBAAqB,EAAE,aAAa,CAAC;QAC7D,0BAA0B,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,CAC3D,MAAM,qBAAqB,CACvB,wBAAwB,EACxB,CAAC,OAAO,EAAE,EAAE;YACR,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1B,CAAC,CACJ;KACR,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,0CAA0C,QAAQ,iCAAiC,GAAG,8BAA8B,CAAC,CAAC,CAAA;IAE7I,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAA;IACpF,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAEnC,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAA;IAE5E,IAAI,mBAAmB,GAAG,CAAC,CAAA;IAC3B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,CAAA;IAEtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,oBAAoB,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5B,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;IACnG,CAAC;IAED,OAAO,GAAG,EAAE;QACR,OAAO,aAAa,CAAC,UAAU,EAAE,CAAA;IACrC,CAAC,CAAA;AACL,CAAC,CAAC,CAAA"}
|
package/dist/tasks.d.ts
CHANGED
|
@@ -9,5 +9,5 @@ import { ISemanticLogItem } from "@lionweb/delta-protocol-impl/dist/semantic-log
|
|
|
9
9
|
* inside the build package to generate the contents of the following object.
|
|
10
10
|
*/
|
|
11
11
|
export declare const recognizedTasks: Record<string, boolean>;
|
|
12
|
-
export declare const taskExecutor: (lionWebClient: LionWebClient, partition: INodeBase, semanticLogItems: ISemanticLogItem[]) => (task:
|
|
12
|
+
export declare const taskExecutor: (lionWebClient: LionWebClient, partition: INodeBase, semanticLogItems: ISemanticLogItem[]) => (task: keyof typeof recognizedTasks, queryId: string) => Promise<void>;
|
|
13
13
|
//# sourceMappingURL=tasks.d.ts.map
|
package/dist/tasks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAG5D,OAAO,EAAyB,gBAAgB,EAAE,MAAM,uDAAuD,CAAA;AAM/G;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAmCnD,CAAA;AAMD,eAAO,MAAM,YAAY,GAAI,eAAe,aAAa,EAAE,WAAW,SAAS,EAAE,kBAAkB,gBAAgB,EAAE,MAqBnG,MAAM,MAAM,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAG5D,OAAO,EAAyB,gBAAgB,EAAE,MAAM,uDAAuD,CAAA;AAM/G;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAmCnD,CAAA;AAMD,eAAO,MAAM,YAAY,GAAI,eAAe,aAAa,EAAE,WAAW,SAAS,EAAE,kBAAkB,gBAAgB,EAAE,MAqBnG,MAAM,MAAM,OAAO,eAAe,EAAE,SAAS,MAAM,kBA4HpE,CAAA"}
|
package/dist/tasks.js
CHANGED
|
@@ -190,6 +190,7 @@ export const taskExecutor = (lionWebClient, partition, semanticLogItems) => {
|
|
|
190
190
|
lionWebClient.addPartition(linkTestConcept("partition"));
|
|
191
191
|
return waitForReceivedMessages(1);
|
|
192
192
|
default: {
|
|
193
|
+
// (shouldn't happen because of upfront validation of tasks)
|
|
193
194
|
console.log(genericWarning(`task "${task}" is unknown => ignored`));
|
|
194
195
|
return Promise.resolve();
|
|
195
196
|
}
|
package/dist/tasks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionweb/delta-protocol-test-cli",
|
|
3
|
-
"version": "0.7.0-beta.
|
|
3
|
+
"version": "0.7.0-beta.16",
|
|
4
4
|
"description": "CLI programs for testing the delta protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
"release": "npm publish"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@lionweb/class-core": "0.7.0-beta.
|
|
34
|
-
"@lionweb/core": "0.7.0-beta.
|
|
35
|
-
"@lionweb/delta-protocol-impl": "0.7.0-beta.
|
|
36
|
-
"@lionweb/json": "0.7.0-beta.
|
|
37
|
-
"@lionweb/utilities": "0.7.0-beta.
|
|
33
|
+
"@lionweb/class-core": "0.7.0-beta.16",
|
|
34
|
+
"@lionweb/core": "0.7.0-beta.16",
|
|
35
|
+
"@lionweb/delta-protocol-impl": "0.7.0-beta.16",
|
|
36
|
+
"@lionweb/json": "0.7.0-beta.16",
|
|
37
|
+
"@lionweb/utilities": "0.7.0-beta.16"
|
|
38
38
|
}
|
|
39
39
|
}
|
package/src/cli-client.ts
CHANGED
|
@@ -27,13 +27,14 @@ import {
|
|
|
27
27
|
QueryMessage,
|
|
28
28
|
wsLocalhostUrl
|
|
29
29
|
} from "@lionweb/delta-protocol-impl"
|
|
30
|
+
import { semanticConsoleLogger, semanticLogItemStorer } from "@lionweb/delta-protocol-impl/dist/semantic-logging.js"
|
|
31
|
+
import { clientInfo, genericError } from "@lionweb/delta-protocol-impl/dist/utils/ansi.js"
|
|
32
|
+
import { combine } from "@lionweb/delta-protocol-impl/dist/utils/procedure.js"
|
|
33
|
+
import { LowLevelClientLogItem } from "@lionweb/delta-protocol-impl/dist/web-socket/client-log-types.js"
|
|
30
34
|
import { writeJsonAsFile } from "@lionweb/utilities"
|
|
31
35
|
import { runAsApp, tryParseInteger } from "./common.js"
|
|
32
36
|
import { recognizedTasks, taskExecutor } from "./tasks.js"
|
|
33
|
-
import { clientInfo, genericError } from "@lionweb/delta-protocol-impl/dist/utils/ansi.js"
|
|
34
|
-
import { combine } from "@lionweb/delta-protocol-impl/dist/utils/procedure.js"
|
|
35
37
|
import { TestLanguageBase } from "./gen/TestLanguage.g.js"
|
|
36
|
-
import { semanticConsoleLogger, semanticLogItemStorer } from "@lionweb/delta-protocol-impl/dist/semantic-logging.js"
|
|
37
38
|
|
|
38
39
|
const testLanguageBase = TestLanguageBase.INSTANCE
|
|
39
40
|
const languageBases = [testLanguageBase]
|
|
@@ -57,7 +58,7 @@ if (trueArguments.length < 3) {
|
|
|
57
58
|
console.log(
|
|
58
59
|
`A Node.js-based app that implements a LionWeb delta protocol client.
|
|
59
60
|
|
|
60
|
-
Parameters (${
|
|
61
|
+
Parameters (${genericError("bold red")} are missing):
|
|
61
62
|
- ${boldRedIf(trueArguments.length < 1, `<port>: the port of the WebSocket where the LionWeb delta protocol repository is running on localhost`)}
|
|
62
63
|
- ${boldRedIf(trueArguments.length < 2, `<clientID>: the ID that the client identifies itself with at the repository`)}
|
|
63
64
|
- ${boldRedIf(trueArguments.length < 3, `<partitionConcept>: the name of a partition concept that gets instantiated as the model's primary partition — one of: ${Object.keys(partitionConcepts).join(", ")}`)}
|
|
@@ -73,17 +74,27 @@ const port = tryParseInteger(argv[2])
|
|
|
73
74
|
const clientId = argv[3]
|
|
74
75
|
const partitionConcept = argv[4]
|
|
75
76
|
if (!(partitionConcept in partitionConcepts)) {
|
|
76
|
-
console.
|
|
77
|
+
console.error(genericError(`unknown partition concept specified: ${partitionConcept} — must be one of: ${Object.keys(partitionConcepts).join(", ")}`))
|
|
77
78
|
exit(2)
|
|
78
79
|
}
|
|
79
|
-
const tasks = argv[5]?.split(",") ?? []
|
|
80
|
+
const tasks = argv[5]?.split(",") ?? []
|
|
80
81
|
console.log(clientInfo(`tasks provided: ${tasks.length === 0 ? "none" : tasks.join(", ")}`))
|
|
82
|
+
const infoUnrecognizedTasks = tasks
|
|
83
|
+
.map((task, index) => task in recognizedTasks ? undefined : [task, index] as [string, number])
|
|
84
|
+
.filter((taskInfoOrUndefined) => taskInfoOrUndefined !== undefined)
|
|
85
|
+
if (infoUnrecognizedTasks.length > 0) {
|
|
86
|
+
console.error(genericError(`unrecognized tasks encountered:`))
|
|
87
|
+
infoUnrecognizedTasks.forEach(([task, index]) => {
|
|
88
|
+
console.error(genericError(`\t${task} (#${index + 1})`))
|
|
89
|
+
})
|
|
90
|
+
exit(2)
|
|
91
|
+
}
|
|
81
92
|
|
|
82
93
|
await runAsApp(async () => {
|
|
83
94
|
const url = wsLocalhostUrl(port)
|
|
84
95
|
|
|
85
96
|
const [storingLogger, semanticLogItems] = semanticLogItemStorer()
|
|
86
|
-
const
|
|
97
|
+
const logItems: LowLevelClientLogItem<unknown, unknown>[] = []
|
|
87
98
|
|
|
88
99
|
const lionWebClient = await LionWebClient.create({
|
|
89
100
|
clientId,
|
|
@@ -93,10 +104,8 @@ await runAsApp(async () => {
|
|
|
93
104
|
lowLevelClientInstantiator: async (lowLevelClientParameters) =>
|
|
94
105
|
await createWebSocketClient<(Event | QueryMessage), (Command | QueryMessage)>(
|
|
95
106
|
lowLevelClientParameters,
|
|
96
|
-
{
|
|
97
|
-
|
|
98
|
-
protocolMessages.push(message)
|
|
99
|
-
}
|
|
107
|
+
(logItem) => {
|
|
108
|
+
logItems.push(logItem)
|
|
100
109
|
}
|
|
101
110
|
)
|
|
102
111
|
})
|
|
@@ -116,7 +125,7 @@ await runAsApp(async () => {
|
|
|
116
125
|
}
|
|
117
126
|
|
|
118
127
|
if (protocolLogPathIndex > -1) {
|
|
119
|
-
writeJsonAsFile(argv[protocolLogPathIndex].substring(protocolLogOptionPrefix.length),
|
|
128
|
+
writeJsonAsFile(argv[protocolLogPathIndex].substring(protocolLogOptionPrefix.length), logItems)
|
|
120
129
|
}
|
|
121
130
|
|
|
122
131
|
return () => {
|
package/src/tasks.ts
CHANGED
|
@@ -94,7 +94,7 @@ export const taskExecutor = (lionWebClient: LionWebClient, partition: INodeBase,
|
|
|
94
94
|
? partition as LinkTestConcept
|
|
95
95
|
: lionWebClient.createNode(testLanguageBase.LinkTestConcept, id) as LinkTestConcept
|
|
96
96
|
|
|
97
|
-
return async (task:
|
|
97
|
+
return async (task: keyof typeof recognizedTasks, queryId: string) => {
|
|
98
98
|
console.log(clientInfo(`client "${lionWebClient.clientId}" is executing task "${task}"`))
|
|
99
99
|
switch (task) {
|
|
100
100
|
case "SignOn":
|
|
@@ -212,6 +212,7 @@ export const taskExecutor = (lionWebClient: LionWebClient, partition: INodeBase,
|
|
|
212
212
|
return waitForReceivedMessages(1)
|
|
213
213
|
|
|
214
214
|
default: {
|
|
215
|
+
// (shouldn't happen because of upfront validation of tasks)
|
|
215
216
|
console.log(genericWarning(`task "${task}" is unknown => ignored`))
|
|
216
217
|
return Promise.resolve()
|
|
217
218
|
}
|