@streamr/cli-tools 5.0.0 → 6.0.0-alpha.2

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 (134) hide show
  1. package/.eslintignore +2 -0
  2. package/.eslintrc +6 -0
  3. package/CHANGELOG.md +20 -0
  4. package/README.md +42 -17
  5. package/bin/streamr-mock-data-generate.ts +38 -8
  6. package/bin/streamr-mock-data.ts +1 -1
  7. package/bin/streamr-storage-node-add-stream.ts +8 -22
  8. package/bin/streamr-storage-node-list-stream-parts.ts +18 -30
  9. package/bin/streamr-storage-node-list.ts +17 -36
  10. package/bin/streamr-storage-node-remove-stream.ts +8 -22
  11. package/bin/streamr-storage-node.ts +1 -1
  12. package/bin/streamr-stream-create.ts +17 -29
  13. package/bin/streamr-stream-grant-permission.ts +10 -0
  14. package/bin/streamr-stream-publish.ts +54 -21
  15. package/bin/streamr-stream-resend-from.ts +26 -0
  16. package/bin/streamr-stream-resend-last.ts +25 -0
  17. package/bin/streamr-stream-resend-range.ts +32 -0
  18. package/bin/streamr-stream-resend.ts +7 -102
  19. package/bin/streamr-stream-revoke-permission.ts +10 -0
  20. package/bin/streamr-stream-search.ts +17 -0
  21. package/bin/streamr-stream-show.ts +16 -16
  22. package/bin/streamr-stream-subscribe.ts +16 -16
  23. package/bin/streamr-stream.ts +3 -1
  24. package/bin/streamr.ts +1 -1
  25. package/dist/bin/streamr-mock-data-generate.d.ts +2 -0
  26. package/dist/bin/streamr-mock-data-generate.js +36 -9
  27. package/dist/bin/streamr-mock-data-generate.js.map +1 -0
  28. package/dist/bin/streamr-mock-data.d.ts +2 -0
  29. package/dist/bin/streamr-mock-data.js +2 -1
  30. package/dist/bin/streamr-mock-data.js.map +1 -0
  31. package/dist/bin/streamr-storage-node-add-stream.d.ts +2 -0
  32. package/dist/bin/streamr-storage-node-add-stream.js +9 -20
  33. package/dist/bin/streamr-storage-node-add-stream.js.map +1 -0
  34. package/dist/bin/streamr-storage-node-list-stream-parts.d.ts +2 -0
  35. package/dist/bin/streamr-storage-node-list-stream-parts.js +18 -24
  36. package/dist/bin/streamr-storage-node-list-stream-parts.js.map +1 -0
  37. package/dist/bin/streamr-storage-node-list.d.ts +2 -0
  38. package/dist/bin/streamr-storage-node-list.js +17 -30
  39. package/dist/bin/streamr-storage-node-list.js.map +1 -0
  40. package/dist/bin/streamr-storage-node-remove-stream.d.ts +2 -0
  41. package/dist/bin/streamr-storage-node-remove-stream.js +9 -20
  42. package/dist/bin/streamr-storage-node-remove-stream.js.map +1 -0
  43. package/dist/bin/streamr-storage-node.d.ts +2 -0
  44. package/dist/bin/streamr-storage-node.js +2 -1
  45. package/dist/bin/streamr-storage-node.js.map +1 -0
  46. package/dist/bin/streamr-stream-create.d.ts +2 -0
  47. package/dist/bin/streamr-stream-create.js +15 -23
  48. package/dist/bin/streamr-stream-create.js.map +1 -0
  49. package/dist/bin/streamr-stream-grant-permission.d.ts +2 -0
  50. package/dist/bin/streamr-stream-grant-permission.js +7 -0
  51. package/dist/bin/streamr-stream-grant-permission.js.map +1 -0
  52. package/dist/bin/streamr-stream-list.d.ts +2 -0
  53. package/dist/bin/streamr-stream-list.js +20 -18
  54. package/dist/bin/streamr-stream-list.js.map +1 -0
  55. package/dist/bin/streamr-stream-publish.d.ts +2 -0
  56. package/dist/bin/streamr-stream-publish.js +50 -23
  57. package/dist/bin/streamr-stream-publish.js.map +1 -0
  58. package/dist/bin/streamr-stream-resend-from.d.ts +2 -0
  59. package/dist/bin/streamr-stream-resend-from.js +27 -0
  60. package/dist/bin/streamr-stream-resend-from.js.map +1 -0
  61. package/dist/bin/streamr-stream-resend-last.d.ts +2 -0
  62. package/dist/bin/streamr-stream-resend-last.js +26 -0
  63. package/dist/bin/streamr-stream-resend-last.js.map +1 -0
  64. package/dist/bin/streamr-stream-resend-range.d.ts +2 -0
  65. package/dist/bin/streamr-stream-resend-range.js +33 -0
  66. package/dist/bin/streamr-stream-resend-range.js.map +1 -0
  67. package/dist/bin/streamr-stream-resend.d.ts +2 -0
  68. package/dist/bin/streamr-stream-resend.js +9 -97
  69. package/dist/bin/streamr-stream-resend.js.map +1 -0
  70. package/dist/bin/streamr-stream-revoke-permission.d.ts +2 -0
  71. package/dist/bin/streamr-stream-revoke-permission.js +7 -0
  72. package/dist/bin/streamr-stream-revoke-permission.js.map +1 -0
  73. package/dist/bin/streamr-stream-search.d.ts +2 -0
  74. package/dist/bin/streamr-stream-search.js +21 -0
  75. package/dist/bin/streamr-stream-search.js.map +1 -0
  76. package/dist/bin/streamr-stream-show.d.ts +2 -0
  77. package/dist/bin/streamr-stream-show.js +16 -15
  78. package/dist/bin/streamr-stream-show.js.map +1 -0
  79. package/dist/bin/streamr-stream-subscribe.d.ts +2 -0
  80. package/dist/bin/streamr-stream-subscribe.js +18 -20
  81. package/dist/bin/streamr-stream-subscribe.js.map +1 -0
  82. package/dist/bin/streamr-stream.d.ts +2 -0
  83. package/dist/bin/streamr-stream.js +4 -1
  84. package/dist/bin/streamr-stream.js.map +1 -0
  85. package/dist/bin/streamr.d.ts +2 -0
  86. package/dist/bin/streamr.js +2 -1
  87. package/dist/bin/streamr.js.map +1 -0
  88. package/dist/package.json +20 -9
  89. package/dist/src/client.d.ts +3 -0
  90. package/dist/src/client.js +33 -0
  91. package/dist/src/client.js.map +1 -0
  92. package/dist/src/command.d.ts +8 -0
  93. package/dist/src/command.js +45 -0
  94. package/dist/src/command.js.map +1 -0
  95. package/dist/src/common.d.ts +6 -0
  96. package/dist/src/common.js +15 -0
  97. package/dist/src/common.js.map +1 -0
  98. package/dist/src/config.d.ts +6 -0
  99. package/dist/src/config.js +58 -0
  100. package/dist/src/config.js.map +1 -0
  101. package/dist/src/logLevel.d.ts +0 -0
  102. package/dist/src/logLevel.js +11 -0
  103. package/dist/src/logLevel.js.map +1 -0
  104. package/dist/src/permission.d.ts +4 -0
  105. package/dist/src/permission.js +48 -0
  106. package/dist/src/permission.js.map +1 -0
  107. package/dist/src/resend.d.ts +3 -0
  108. package/dist/src/resend.js +13 -23
  109. package/dist/src/resend.js.map +1 -0
  110. package/dist/tsconfig.tsbuildinfo +1 -0
  111. package/package.json +20 -9
  112. package/src/client.ts +32 -0
  113. package/src/command.ts +45 -0
  114. package/src/common.ts +16 -0
  115. package/src/config.ts +56 -0
  116. package/src/logLevel.ts +9 -0
  117. package/src/permission.ts +49 -0
  118. package/src/resend.ts +22 -27
  119. package/tsconfig.json +13 -12
  120. package/bin/common.ts +0 -91
  121. package/bin/streamr-stream-list.ts +0 -29
  122. package/dist/bin/common.js +0 -76
  123. package/dist/src/create.js +0 -17
  124. package/dist/src/generate.js +0 -31
  125. package/dist/src/list.js +0 -27
  126. package/dist/src/publish.js +0 -35
  127. package/dist/src/show.js +0 -21
  128. package/dist/src/subscribe.js +0 -12
  129. package/src/create.ts +0 -15
  130. package/src/generate.ts +0 -30
  131. package/src/list.ts +0 -21
  132. package/src/publish.ts +0 -38
  133. package/src/show.ts +0 -18
  134. package/src/subscribe.ts +0 -9
@@ -0,0 +1,3 @@
1
+ import { BrubeckClientConfig, StreamrClient } from 'streamr-client';
2
+ import { GlobalCommandLineArgs } from './common';
3
+ export declare const createClient: (commandLineArgs: GlobalCommandLineArgs, overridenOptions?: BrubeckClientConfig) => StreamrClient;
@@ -0,0 +1,33 @@
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.createClient = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const streamr_client_1 = require("streamr-client");
9
+ const config_1 = require("./config");
10
+ const getClientConfig = (commandLineArgs, overridenOptions) => {
11
+ var _a;
12
+ const environmentOptions = (commandLineArgs.dev !== undefined) ? lodash_1.default.omit(streamr_client_1.ConfigTest, 'auth') : undefined;
13
+ const configFileJson = (_a = (0, config_1.getConfig)(commandLineArgs.config)) === null || _a === void 0 ? void 0 : _a.client;
14
+ const authenticationOptions = (commandLineArgs.privateKey !== undefined) ? { auth: { privateKey: commandLineArgs.privateKey } } : undefined;
15
+ return lodash_1.default.merge(environmentOptions, configFileJson, authenticationOptions, overridenOptions);
16
+ };
17
+ const addInterruptHandler = (client) => {
18
+ process.on('SIGINT', async () => {
19
+ try {
20
+ await client.destroy();
21
+ }
22
+ catch { }
23
+ process.exit();
24
+ });
25
+ };
26
+ const createClient = (commandLineArgs, overridenOptions = {}) => {
27
+ const config = getClientConfig(commandLineArgs, overridenOptions);
28
+ const client = new streamr_client_1.StreamrClient(config);
29
+ addInterruptHandler(client);
30
+ return client;
31
+ };
32
+ exports.createClient = createClient;
33
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AACtB,mDAA+E;AAE/E,qCAAoC;AAEpC,MAAM,eAAe,GAAG,CAAC,eAAsC,EAAE,gBAAqC,EAAE,EAAE;;IACtG,MAAM,kBAAkB,GAAG,CAAC,eAAe,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAC,CAAC,IAAI,CAAC,2BAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACvG,MAAM,cAAc,GAAG,MAAA,IAAA,kBAAS,EAAC,eAAe,CAAC,MAAM,CAAC,0CAAE,MAAM,CAAA;IAChE,MAAM,qBAAqB,GAAG,CAAC,eAAe,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3I,OAAO,gBAAC,CAAC,KAAK,CACV,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,CACnB,CAAA;AACL,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,MAAqB,EAAE,EAAE;IAClD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC5B,IAAI;YACA,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;SACzB;QAAC,MAAM,GAAE;QACV,OAAO,CAAC,IAAI,EAAE,CAAA;IAClB,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAM,YAAY,GAAG,CAAC,eAAsC,EAAE,mBAAwC,EAAE,EAAiB,EAAE;IAC9H,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;IACjE,MAAM,MAAM,GAAG,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAA;IACxC,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC3B,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB"}
@@ -0,0 +1,8 @@
1
+ import commander, { Command } from 'commander';
2
+ import { BrubeckClientConfig } from 'streamr-client';
3
+ export declare const createCommand: () => commander.Command;
4
+ export interface CommandOpts {
5
+ autoDestroyClient?: boolean;
6
+ clientOptionsFactory?: (options: any) => BrubeckClientConfig;
7
+ }
8
+ export declare const createClientCommand: (action: (...handleArgs: any[]) => Promise<void>, opts?: CommandOpts) => commander.Command;
@@ -0,0 +1,45 @@
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.createClientCommand = exports.createCommand = void 0;
7
+ const commander_1 = require("commander");
8
+ const package_json_1 = __importDefault(require("../package.json"));
9
+ const client_1 = require("./client");
10
+ const createCommand = () => {
11
+ return new commander_1.Command()
12
+ .version(package_json_1.default.version)
13
+ .showHelpAfterError()
14
+ .allowExcessArguments(false);
15
+ };
16
+ exports.createCommand = createCommand;
17
+ const createClientCommand = (action, opts = {
18
+ autoDestroyClient: true,
19
+ clientOptionsFactory: () => ({})
20
+ }) => {
21
+ return (0, exports.createCommand)()
22
+ .option('--private-key <key>', 'use an Ethereum private key to authenticate')
23
+ .option('--config <file>', 'read connection and authentication settings from a config file')
24
+ .option('--dev', 'use pre-defined development environment')
25
+ .action(async (...args) => {
26
+ const commandLineOptions = args[args.length - 1].opts();
27
+ try {
28
+ const client = (0, client_1.createClient)(commandLineOptions, opts.clientOptionsFactory(commandLineOptions));
29
+ try {
30
+ await action(...[client].concat(args));
31
+ }
32
+ finally {
33
+ if (opts.autoDestroyClient) {
34
+ await client.destroy();
35
+ }
36
+ }
37
+ }
38
+ catch (e) {
39
+ console.error(e);
40
+ process.exit(1);
41
+ }
42
+ });
43
+ };
44
+ exports.createClientCommand = createClientCommand;
45
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/command.ts"],"names":[],"mappings":";;;;;;AAAA,yCAA8C;AAE9C,mEAAiC;AACjC,qCAAuC;AAEhC,MAAM,aAAa,GAAG,GAAsB,EAAE;IACjD,OAAO,IAAI,mBAAO,EAAE;SACf,OAAO,CAAC,sBAAG,CAAC,OAAO,CAAC;SACpB,kBAAkB,EAAE;SACpB,oBAAoB,CAAC,KAAK,CAAC,CAAA;AACpC,CAAC,CAAA;AALY,QAAA,aAAa,iBAKzB;AAOM,MAAM,mBAAmB,GAAG,CAC/B,MAA+C,EAC/C,OAAoB;IAChB,iBAAiB,EAAE,IAAI;IACvB,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;CACnC,EACgB,EAAE;IACnB,OAAO,IAAA,qBAAa,GAAE;SACjB,MAAM,CAAC,qBAAqB,EAAE,6CAA6C,CAAC;SAC5E,MAAM,CAAC,iBAAiB,EAAE,gEAAgE,CAAC;SAC3F,MAAM,CAAC,OAAO,EAAE,yCAAyC,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;QAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACvD,IAAI;YACA,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,kBAAkB,EAAE,IAAI,CAAC,oBAAqB,CAAC,kBAAkB,CAAC,CAAC,CAAA;YAC/F,IAAI;gBACA,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;aACzC;oBAAS;gBACN,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBACxB,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;iBACzB;aACJ;SACJ;QAAC,OAAO,CAAM,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAClB;IACL,CAAC,CAAC,CAAA;AACV,CAAC,CAAA;AA3BY,QAAA,mBAAmB,uBA2B/B"}
@@ -0,0 +1,6 @@
1
+ export interface GlobalCommandLineArgs {
2
+ dev?: boolean;
3
+ config?: string;
4
+ privateKey?: string;
5
+ }
6
+ export declare function createFnParseInt(name: string): (s: string) => number;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFnParseInt = void 0;
4
+ function createFnParseInt(name) {
5
+ return (str) => {
6
+ const n = parseInt(str, 10);
7
+ if (isNaN(n)) {
8
+ console.error(`${name} must be an integer (was "${str}")`);
9
+ process.exit(1);
10
+ }
11
+ return n;
12
+ };
13
+ }
14
+ exports.createFnParseInt = createFnParseInt;
15
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":";;;AAMA,SAAgB,gBAAgB,CAAC,IAAY;IACzC,OAAO,CAAC,GAAW,EAAE,EAAE;QACnB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC3B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,6BAA6B,GAAG,IAAI,CAAC,CAAA;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAClB;QACD,OAAO,CAAC,CAAA;IACZ,CAAC,CAAA;AACL,CAAC;AATD,4CASC"}
@@ -0,0 +1,6 @@
1
+ import { BrubeckClientConfig } from 'streamr-client';
2
+ interface Config {
3
+ client: BrubeckClientConfig;
4
+ }
5
+ export declare const getConfig: (id?: string | undefined) => Config | undefined;
6
+ export {};
@@ -0,0 +1,58 @@
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.getConfig = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const os_1 = __importDefault(require("os"));
9
+ const fs_1 = require("fs");
10
+ /*
11
+ * Validate that the config contains at least one root level element: the "client" block.
12
+ * The values of the "client" blocks are validated by StreamrClient when the configuration
13
+ * is used.
14
+ *
15
+ * We don't check other root level elements. It is ok to use a Broker config file as
16
+ * a cli-tools config file. In that case the file contains e.g. "plugins" block,
17
+ * but cli-tools can just ignore that block.
18
+ */
19
+ const validateConfig = (config, fileName) => {
20
+ const CLIENT_CONFIG_BLOCK = 'client';
21
+ if (config[CLIENT_CONFIG_BLOCK] === undefined) {
22
+ throw new Error(`Missing root element "${CLIENT_CONFIG_BLOCK}" in ${fileName}`);
23
+ }
24
+ };
25
+ const tryReadConfigFile = (fileName) => {
26
+ let content;
27
+ try {
28
+ content = (0, fs_1.readFileSync)(fileName, 'utf8');
29
+ }
30
+ catch (e) {
31
+ return undefined;
32
+ }
33
+ const json = JSON.parse(content);
34
+ validateConfig(json, fileName);
35
+ return json;
36
+ };
37
+ const getConfig = (id) => {
38
+ const CONFIG_DIRECTORY = path_1.default.join(os_1.default.homedir(), '.streamr', 'config');
39
+ if (id !== undefined) {
40
+ const fileNames = [
41
+ id,
42
+ path_1.default.join(CONFIG_DIRECTORY, `${id}.json`),
43
+ ];
44
+ for (const fileName of fileNames) {
45
+ const content = tryReadConfigFile(fileName);
46
+ if (content !== undefined) {
47
+ return content;
48
+ }
49
+ }
50
+ throw new Error('Config file not found');
51
+ }
52
+ else {
53
+ const fileName = path_1.default.join(CONFIG_DIRECTORY, `default.json`);
54
+ return tryReadConfigFile(fileName);
55
+ }
56
+ };
57
+ exports.getConfig = getConfig;
58
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,4CAAmB;AACnB,2BAAiC;AAOjC;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,CAAC,MAAW,EAAE,QAAgB,EAAgB,EAAE;IACnE,MAAM,mBAAmB,GAAG,QAAQ,CAAA;IACpC,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,SAAS,EAAE;QAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,mBAAmB,QAAQ,QAAQ,EAAE,CAAC,CAAA;KAClF;AACL,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAA0B,EAAE;IACnE,IAAI,OAAO,CAAA;IACX,IAAI;QACA,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;KAC3C;IAAC,OAAO,CAAM,EAAE;QACb,OAAO,SAAS,CAAA;KACnB;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC9B,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAEM,MAAM,SAAS,GAAG,CAAC,EAAW,EAAoB,EAAE;IACvD,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;IACtE,IAAI,EAAE,KAAK,SAAS,EAAE;QAClB,MAAM,SAAS,GAAG;YACd,EAAE;YACF,cAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,OAAO,CAAC;SAC5C,CAAA;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YAC3C,IAAI,OAAO,KAAK,SAAS,EAAE;gBACvB,OAAO,OAAO,CAAA;aACjB;SACJ;QACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;KAC3C;SAAM;QACH,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;QAC5D,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAA;KACrC;AACL,CAAC,CAAA;AAlBY,QAAA,SAAS,aAkBrB"}
File without changes
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /*
3
+ * Minimal logging for NetworkNode and other users of Logger.ts in the network package.
4
+ * This file needs to be imported before any of the network package classes
5
+ * so that the environment variable is updated before any Logger instances are created.
6
+ * The import is needed for the files where network packages are used (typically
7
+ * the files which call createClientCommand()).
8
+ */
9
+ var _a;
10
+ process.env.LOG_LEVEL = (_a = process.env.LOG_LEVEL) !== null && _a !== void 0 ? _a : 'error';
11
+ //# sourceMappingURL=logLevel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logLevel.js","sourceRoot":"","sources":["../../src/logLevel.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,SAAS,mCAAI,OAAO,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Stream, StreamPermission } from 'streamr-client';
2
+ export declare const PERMISSIONS: Map<string, StreamPermission>;
3
+ export declare const getPermissionId: (permission: StreamPermission) => string;
4
+ export declare const runModifyPermissionsCommand: (modifyUserPermission: (stream: Stream, permission: StreamPermission, target: string) => Promise<void>, modifyPublicPermission: (stream: Stream, permission: StreamPermission) => Promise<void>, modification: string) => void;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runModifyPermissionsCommand = exports.getPermissionId = exports.PERMISSIONS = void 0;
4
+ const commander_1 = require("commander");
5
+ const streamr_client_1 = require("streamr-client");
6
+ const command_1 = require("./command");
7
+ const PUBLIC_USER_ID = 'public';
8
+ const getTarget = (user) => {
9
+ if (user === PUBLIC_USER_ID) {
10
+ return undefined;
11
+ }
12
+ else {
13
+ return user;
14
+ }
15
+ };
16
+ exports.PERMISSIONS = new Map([
17
+ ['subscribe', streamr_client_1.StreamPermission.SUBSCRIBE],
18
+ ['publish', streamr_client_1.StreamPermission.PUBLISH],
19
+ ['edit', streamr_client_1.StreamPermission.EDIT],
20
+ ['delete', streamr_client_1.StreamPermission.DELETE],
21
+ ['grant', streamr_client_1.StreamPermission.GRANT]
22
+ ]);
23
+ const getPermissionId = (permission) => {
24
+ return Array.from(exports.PERMISSIONS.entries()).find(([_id, p]) => p === permission)[0];
25
+ };
26
+ exports.getPermissionId = getPermissionId;
27
+ const runModifyPermissionsCommand = (modifyUserPermission, modifyPublicPermission, modification) => {
28
+ (0, command_1.createClientCommand)(async (client, streamId, user, permissionIds) => {
29
+ const target = getTarget(user);
30
+ const stream = await client.getStream(streamId);
31
+ for await (const permissionId of permissionIds) {
32
+ const permission = exports.PERMISSIONS.get(permissionId);
33
+ if (target !== undefined) {
34
+ await modifyUserPermission(stream, permission, target);
35
+ }
36
+ else {
37
+ await modifyPublicPermission(stream, permission);
38
+ }
39
+ }
40
+ })
41
+ .addArgument(new commander_1.Argument('<streamId>'))
42
+ .addArgument(new commander_1.Argument('<user>'))
43
+ .addArgument(new commander_1.Argument('<permissions...>').choices(Array.from(exports.PERMISSIONS.keys())))
44
+ .description(`${modification} permission: use keyword "public" as a user to ${modification} a public permission`)
45
+ .parseAsync(process.argv);
46
+ };
47
+ exports.runModifyPermissionsCommand = runModifyPermissionsCommand;
48
+ //# sourceMappingURL=permission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission.js","sourceRoot":"","sources":["../../src/permission.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,mDAAwE;AACxE,uCAA+C;AAE/C,MAAM,cAAc,GAAG,QAAQ,CAAA;AAE/B,MAAM,SAAS,GAAG,CAAC,IAAY,EAAoB,EAAE;IACjD,IAAI,IAAI,KAAK,cAAc,EAAE;QACzB,OAAO,SAAS,CAAA;KACnB;SAAM;QACH,OAAO,IAAI,CAAA;KACd;AACL,CAAC,CAAA;AAEY,QAAA,WAAW,GAAG,IAAI,GAAG,CAA0B;IACxD,CAAC,WAAW,EAAE,iCAAgB,CAAC,SAAS,CAAC;IACzC,CAAC,SAAS,EAAE,iCAAgB,CAAC,OAAO,CAAC;IACrC,CAAC,MAAM,EAAE,iCAAgB,CAAC,IAAI,CAAC;IAC/B,CAAC,QAAQ,EAAE,iCAAgB,CAAC,MAAM,CAAC;IACnC,CAAC,OAAO,EAAE,iCAAgB,CAAC,KAAK,CAAC;CACpC,CAAC,CAAA;AAEK,MAAM,eAAe,GAAG,CAAC,UAA4B,EAAU,EAAE;IACpE,OAAO,KAAK,CAAC,IAAI,CAAC,mBAAW,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAE,CAAC,CAAC,CAAC,CAAA;AACrF,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAEM,MAAM,2BAA2B,GAAG,CACvC,oBAAqG,EACrG,sBAAuF,EACvF,YAAoB,EAChB,EAAE;IACN,IAAA,6BAAmB,EAAC,KAAK,EAAE,MAAqB,EAAE,QAAgB,EAAE,IAAY,EAAE,aAAuB,EAAE,EAAE;QACzG,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC/C,IAAI,KAAK,EAAE,MAAM,YAAY,IAAI,aAAa,EAAE;YAC5C,MAAM,UAAU,GAAG,mBAAW,CAAC,GAAG,CAAC,YAAY,CAAE,CAAA;YACjD,IAAI,MAAM,KAAK,SAAS,EAAE;gBACtB,MAAM,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;aACzD;iBAAM;gBACH,MAAM,sBAAsB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;aACnD;SACJ;IACL,CAAC,CAAC;SACG,WAAW,CAAC,IAAI,oBAAQ,CAAC,YAAY,CAAC,CAAC;SACvC,WAAW,CAAC,IAAI,oBAAQ,CAAC,QAAQ,CAAC,CAAC;SACnC,WAAW,CAAC,IAAI,oBAAQ,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SACrF,WAAW,CAAC,GAAG,YAAY,kDAAkD,YAAY,sBAAsB,CAAC;SAChH,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC,CAAA;AAtBY,QAAA,2BAA2B,+BAsBvC"}
@@ -0,0 +1,3 @@
1
+ import { StreamrClient, ResendOptions } from 'streamr-client';
2
+ export declare const assertBothOrNoneDefined: (option1: string, option2: string, errorMessage: string, commandOptions: Record<string, unknown>) => void | never;
3
+ export declare const resend: (streamId: string, resendOpts: ResendOptions, client: StreamrClient, subscribe: boolean) => Promise<void>;
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resend = void 0;
4
- const streamr_client_1 = require("streamr-client");
5
- const resend = async (streamId, resendOpts, streamrOptions) => {
6
- const options = { ...streamrOptions };
7
- const client = new streamr_client_1.StreamrClient(options);
8
- let sub;
3
+ exports.resend = exports.assertBothOrNoneDefined = void 0;
4
+ const assertBothOrNoneDefined = (option1, option2, errorMessage, commandOptions) => {
5
+ if ((option1 in commandOptions && !(option2 in commandOptions)) || (option2 in commandOptions && !(option1 in commandOptions))) {
6
+ console.error(`option ${errorMessage}`);
7
+ process.exit(1);
8
+ }
9
+ };
10
+ exports.assertBothOrNoneDefined = assertBothOrNoneDefined;
11
+ const resend = async (streamId, resendOpts, client, subscribe) => {
9
12
  try {
10
13
  const subscribeOpts = {
11
14
  stream: streamId,
@@ -14,30 +17,17 @@ const resend = async (streamId, resendOpts, streamrOptions) => {
14
17
  const handler = (message) => {
15
18
  console.info(JSON.stringify(message));
16
19
  };
17
- if (options.subscribe) {
18
- sub = await client.subscribe(subscribeOpts, handler);
20
+ if (subscribe) {
21
+ await client.subscribe(subscribeOpts, handler);
19
22
  }
20
23
  else {
21
- sub = await client.resend(subscribeOpts, handler);
24
+ await client.resend(subscribeOpts, handler);
22
25
  }
23
26
  }
24
27
  catch (err) {
25
28
  console.error(err.message ? err.message : err);
26
29
  process.exit(1);
27
30
  }
28
- sub.on('error', (err) => {
29
- console.error(err);
30
- process.exit(1);
31
- });
32
- sub.on('resent', () => {
33
- if (!options.subscribe) {
34
- process.exit(0);
35
- }
36
- });
37
- sub.on('no_resend', () => {
38
- if (!options.subscribe) {
39
- process.exit(0);
40
- }
41
- });
42
31
  };
43
32
  exports.resend = resend;
33
+ //# sourceMappingURL=resend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resend.js","sourceRoot":"","sources":["../../src/resend.ts"],"names":[],"mappings":";;;AAEO,MAAM,uBAAuB,GAAG,CACnC,OAAe,EACf,OAAe,EACf,YAAoB,EACpB,cAAuC,EAC3B,EAAE;IACd,IAAI,CAAC,OAAO,IAAI,cAAc,IAAI,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,cAAc,IAAI,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,EAAE;QAC5H,OAAO,CAAC,KAAK,CAAC,UAAU,YAAY,EAAE,CAAC,CAAA;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAClB;AACL,CAAC,CAAA;AAVY,QAAA,uBAAuB,2BAUnC;AAEM,MAAM,MAAM,GAAG,KAAK,EACvB,QAAgB,EAChB,UAAyB,EACzB,MAAqB,EACrB,SAAkB,EACL,EAAE;IACf,IAAI;QACA,MAAM,aAAa,GAAG;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU;SACrB,CAAA;QACD,MAAM,OAAO,GAAG,CAAC,OAAY,EAAE,EAAE;YAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QACzC,CAAC,CAAA;QACD,IAAI,SAAS,EAAE;YACX,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;SACjD;aAAM;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;SAC9C;KACJ;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAClB;AACL,CAAC,CAAA;AAvBY,QAAA,MAAM,UAuBlB"}