@syncbridge/common 1.1.4 → 2.0.1

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 (163) hide show
  1. package/README.md +192 -1
  2. package/app-factory.d.ts +29 -0
  3. package/{processor-factory.js → app-factory.js} +63 -44
  4. package/classes/{processor-base.d.ts → app-base.d.ts} +3 -3
  5. package/classes/app-base.js +10 -0
  6. package/classes/base-element.d.ts +3 -0
  7. package/classes/base-element.js +2 -1
  8. package/classes/component-base.d.ts +6 -6
  9. package/classes/component-base.js +2 -3
  10. package/classes/console-logger.js +0 -1
  11. package/classes/frame-stream.js +0 -1
  12. package/classes/log-channel-writer.d.ts +32 -0
  13. package/classes/log-channel-writer.js +96 -0
  14. package/classes/runnable.d.ts +6 -0
  15. package/classes/runnable.js +22 -1
  16. package/classes/sb-error.js +0 -1
  17. package/classes/stack-executor.js +0 -1
  18. package/constants.d.ts +1 -1
  19. package/constants.js +1 -2
  20. package/decorators/app-events.decorator.d.ts +5 -0
  21. package/decorators/{processor-events.decorator.js → app-events.decorator.js} +0 -1
  22. package/decorators/app.decorator.d.ts +29 -0
  23. package/decorators/{processor.decorator.js → app.decorator.js} +24 -19
  24. package/decorators/component.decorator.js +13 -6
  25. package/decorators/decorator-helpers.js +0 -1
  26. package/decorators/define-variable.decorator.d.ts +6 -1
  27. package/decorators/define-variable.decorator.js +5 -2
  28. package/decorators/log-channel.decorator.d.ts +97 -0
  29. package/decorators/log-channel.decorator.js +33 -0
  30. package/decorators/use-component.decorator.d.ts +2 -2
  31. package/decorators/use-component.decorator.js +1 -2
  32. package/decorators/use-variables.decorator.d.ts +2 -2
  33. package/decorators/use-variables.decorator.js +0 -1
  34. package/host-link/host-identity.d.ts +53 -0
  35. package/host-link/host-identity.js +139 -0
  36. package/host-link/host-link.d.ts +43 -0
  37. package/host-link/host-link.js +53 -0
  38. package/host-link/host-packages.d.ts +25 -0
  39. package/host-link/host-packages.js +9 -0
  40. package/host-link/host-workers.d.ts +75 -0
  41. package/host-link/host-workers.js +28 -0
  42. package/host-link/multiplexer.d.ts +115 -0
  43. package/host-link/multiplexer.js +288 -0
  44. package/host-link/sealed-box.d.ts +21 -0
  45. package/host-link/sealed-box.js +103 -0
  46. package/index.d.ts +16 -3
  47. package/index.js +16 -4
  48. package/interfaces/index.js +0 -1
  49. package/interfaces/logger.interface.js +0 -1
  50. package/models/enums/enum-source.enum.d.ts +11 -0
  51. package/models/enums/enum-source.enum.js +21 -0
  52. package/models/enums/log-channel-kind.d.ts +7 -0
  53. package/models/enums/log-channel-kind.js +13 -0
  54. package/models/enums/log-level.js +0 -1
  55. package/models/enums/service-status.d.ts +5 -1
  56. package/models/enums/service-status.js +4 -1
  57. package/models/enums/variable-format.enum.js +0 -1
  58. package/models/enums/variable-type.enum.js +0 -1
  59. package/models/enums/worker-permission.enum.d.ts +16 -0
  60. package/models/enums/worker-permission.enum.js +27 -0
  61. package/models/index.d.ts +6 -1
  62. package/models/index.js +6 -2
  63. package/models/metadata/app-metadata.d.ts +6 -0
  64. package/models/metadata/{processor-metadata.js → app-metadata.js} +6 -7
  65. package/models/metadata/component-metadata.js +0 -1
  66. package/models/metadata/element-component-metadata.d.ts +2 -0
  67. package/models/metadata/element-component-metadata.js +10 -3
  68. package/models/metadata/element-metadata.d.ts +8 -0
  69. package/models/metadata/element-metadata.js +40 -1
  70. package/models/metadata/log-channel-metadata.d.ts +23 -0
  71. package/models/metadata/log-channel-metadata.js +72 -0
  72. package/models/metadata/package-metadata.js +0 -1
  73. package/models/metadata/plugin-metadata.d.ts +15 -0
  74. package/models/metadata/plugin-metadata.js +65 -0
  75. package/models/metadata/variable-metadata.d.ts +3 -0
  76. package/models/metadata/variable-metadata.js +15 -2
  77. package/models/profile/log-options.d.ts +17 -0
  78. package/models/profile/log-options.js +58 -2
  79. package/models/profile/profile-component.js +0 -1
  80. package/models/profile/profile.d.ts +2 -2
  81. package/models/profile/profile.js +9 -10
  82. package/models-document.js +0 -1
  83. package/package.json +6 -2
  84. package/registry/docs-sidebar.d.ts +59 -0
  85. package/registry/docs-sidebar.js +169 -0
  86. package/registry/extension-package.d.ts +40 -13
  87. package/registry/extension-package.js +59 -19
  88. package/registry/extension-registry.d.ts +16 -16
  89. package/registry/extension-registry.js +59 -45
  90. package/registry/module-catalog.d.ts +31 -0
  91. package/registry/module-catalog.js +88 -0
  92. package/registry/package-docs.d.ts +98 -0
  93. package/registry/package-docs.js +159 -0
  94. package/registry/package-manifest.d.ts +54 -3
  95. package/registry/package-manifest.js +59 -2
  96. package/utils/decode-profile.d.ts +18 -2
  97. package/utils/decode-profile.js +65 -10
  98. package/utils/encrypt-helpers.d.ts +7 -0
  99. package/utils/encrypt-helpers.js +12 -6
  100. package/utils/locate-package-json.js +0 -1
  101. package/utils/materialize-metadata.d.ts +3 -3
  102. package/utils/materialize-metadata.js +16 -13
  103. package/utils/normalize-metadata.d.ts +23 -4
  104. package/utils/normalize-metadata.js +52 -7
  105. package/utils/registry-names.js +0 -1
  106. package/utils/resolve-promises.js +0 -1
  107. package/utils/type-guards.d.ts +2 -2
  108. package/utils/type-guards.js +4 -5
  109. package/utils/uri-to-id.js +0 -1
  110. package/utils/worker-permissions.d.ts +25 -0
  111. package/utils/worker-permissions.js +59 -0
  112. package/classes/base-element.js.map +0 -1
  113. package/classes/component-base.js.map +0 -1
  114. package/classes/console-logger.js.map +0 -1
  115. package/classes/frame-stream.js.map +0 -1
  116. package/classes/processor-base.js +0 -11
  117. package/classes/processor-base.js.map +0 -1
  118. package/classes/runnable.js.map +0 -1
  119. package/classes/sb-error.js.map +0 -1
  120. package/classes/stack-executor.js.map +0 -1
  121. package/constants.js.map +0 -1
  122. package/decorators/component.decorator.js.map +0 -1
  123. package/decorators/decorator-helpers.js.map +0 -1
  124. package/decorators/define-variable.decorator.js.map +0 -1
  125. package/decorators/processor-events.decorator.d.ts +0 -5
  126. package/decorators/processor-events.decorator.js.map +0 -1
  127. package/decorators/processor.decorator.d.ts +0 -29
  128. package/decorators/processor.decorator.js.map +0 -1
  129. package/decorators/use-component.decorator.js.map +0 -1
  130. package/decorators/use-variables.decorator.js.map +0 -1
  131. package/index.js.map +0 -1
  132. package/interfaces/index.js.map +0 -1
  133. package/interfaces/logger.interface.js.map +0 -1
  134. package/models/enums/log-level.js.map +0 -1
  135. package/models/enums/service-status.js.map +0 -1
  136. package/models/enums/variable-format.enum.js.map +0 -1
  137. package/models/enums/variable-type.enum.js.map +0 -1
  138. package/models/index.js.map +0 -1
  139. package/models/metadata/component-metadata.js.map +0 -1
  140. package/models/metadata/element-component-metadata.js.map +0 -1
  141. package/models/metadata/element-metadata.js.map +0 -1
  142. package/models/metadata/package-metadata.js.map +0 -1
  143. package/models/metadata/processor-metadata.d.ts +0 -6
  144. package/models/metadata/processor-metadata.js.map +0 -1
  145. package/models/metadata/variable-metadata.js.map +0 -1
  146. package/models/profile/log-options.js.map +0 -1
  147. package/models/profile/profile-component.js.map +0 -1
  148. package/models/profile/profile.js.map +0 -1
  149. package/models-document.js.map +0 -1
  150. package/processor-factory.d.ts +0 -26
  151. package/processor-factory.js.map +0 -1
  152. package/registry/extension-package.js.map +0 -1
  153. package/registry/extension-registry.js.map +0 -1
  154. package/registry/package-manifest.js.map +0 -1
  155. package/utils/decode-profile.js.map +0 -1
  156. package/utils/encrypt-helpers.js.map +0 -1
  157. package/utils/locate-package-json.js.map +0 -1
  158. package/utils/materialize-metadata.js.map +0 -1
  159. package/utils/normalize-metadata.js.map +0 -1
  160. package/utils/registry-names.js.map +0 -1
  161. package/utils/resolve-promises.js.map +0 -1
  162. package/utils/type-guards.js.map +0 -1
  163. package/utils/uri-to-id.js.map +0 -1
package/models/index.d.ts CHANGED
@@ -1,11 +1,16 @@
1
+ export * from './enums/enum-source.enum.js';
2
+ export * from './enums/log-channel-kind.js';
1
3
  export * from './enums/log-level.js';
2
4
  export * from './enums/service-status.js';
3
5
  export * from './enums/variable-format.enum.js';
4
6
  export * from './enums/variable-type.enum.js';
7
+ export * from './enums/worker-permission.enum.js';
8
+ export * from './metadata/app-metadata.js';
5
9
  export * from './metadata/component-metadata.js';
6
10
  export * from './metadata/element-component-metadata.js';
7
11
  export * from './metadata/element-metadata.js';
8
- export * from './metadata/processor-metadata.js';
12
+ export * from './metadata/log-channel-metadata.js';
13
+ export * from './metadata/plugin-metadata.js';
9
14
  export * from './metadata/variable-metadata.js';
10
15
  export * from './profile/log-options.js';
11
16
  export * from './profile/profile.js';
package/models/index.js CHANGED
@@ -1,13 +1,17 @@
1
+ export * from './enums/enum-source.enum.js';
2
+ export * from './enums/log-channel-kind.js';
1
3
  export * from './enums/log-level.js';
2
4
  export * from './enums/service-status.js';
3
5
  export * from './enums/variable-format.enum.js';
4
6
  export * from './enums/variable-type.enum.js';
7
+ export * from './enums/worker-permission.enum.js';
8
+ export * from './metadata/app-metadata.js';
5
9
  export * from './metadata/component-metadata.js';
6
10
  export * from './metadata/element-component-metadata.js';
7
11
  export * from './metadata/element-metadata.js';
8
- export * from './metadata/processor-metadata.js';
12
+ export * from './metadata/log-channel-metadata.js';
13
+ export * from './metadata/plugin-metadata.js';
9
14
  export * from './metadata/variable-metadata.js';
10
15
  export * from './profile/log-options.js';
11
16
  export * from './profile/profile.js';
12
17
  export * from './profile/profile-component.js';
13
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ import { ElementMetadata } from './element-metadata.js';
2
+ export declare class AppMetadata extends ElementMetadata {
3
+ constructor(init?: Partial<AppMetadata>);
4
+ classType: 'app';
5
+ staticEvents?: Record<string, string>;
6
+ }
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { ApiField, ComplexType } from '@opra/common';
3
3
  import { ElementMetadata } from './element-metadata.js';
4
- let ProcessorMetadata = class ProcessorMetadata extends ElementMetadata {
4
+ let AppMetadata = class AppMetadata extends ElementMetadata {
5
5
  constructor(init) {
6
6
  super(init);
7
7
  }
@@ -11,13 +11,12 @@ __decorate([
11
11
  ApiField({
12
12
  label: 'Class Type',
13
13
  description: 'Determines the type of the class',
14
- fixed: 'processor',
14
+ fixed: 'app',
15
15
  }),
16
16
  __metadata("design:type", String)
17
- ], ProcessorMetadata.prototype, "classType", void 0);
18
- ProcessorMetadata = __decorate([
17
+ ], AppMetadata.prototype, "classType", void 0);
18
+ AppMetadata = __decorate([
19
19
  ComplexType(),
20
20
  __metadata("design:paramtypes", [Object])
21
- ], ProcessorMetadata);
22
- export { ProcessorMetadata };
23
- //# sourceMappingURL=processor-metadata.js.map
21
+ ], AppMetadata);
22
+ export { AppMetadata };
@@ -30,4 +30,3 @@ ComponentMetadata = __decorate([
30
30
  __metadata("design:paramtypes", [Object])
31
31
  ], ComponentMetadata);
32
32
  export { ComponentMetadata };
33
- //# sourceMappingURL=component-metadata.js.map
@@ -1,3 +1,4 @@
1
+ import { LogChannelMetadataRecord } from './log-channel-metadata.js';
1
2
  import { VariableMetadataRecord } from './variable-metadata.js';
2
3
  /**
3
4
  *
@@ -17,4 +18,5 @@ export declare class ElementComponentMetadata {
17
18
  required?: boolean;
18
19
  variables?: VariableMetadataRecord;
19
20
  components?: ElementComponentMetadataRecord;
21
+ logChannels?: LogChannelMetadataRecord;
20
22
  }
@@ -1,5 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { ApiField, ComplexType } from '@opra/common';
3
+ import { LogChannelMetadataRecord } from './log-channel-metadata.js';
3
4
  import { VariableMetadataRecord } from './variable-metadata.js';
4
5
  /**
5
6
  *
@@ -8,7 +9,7 @@ let ElementComponentMetadataRecord = class ElementComponentMetadataRecord {
8
9
  };
9
10
  ElementComponentMetadataRecord = __decorate([
10
11
  ComplexType({
11
- description: 'Container for processor components',
12
+ description: 'Container for app components',
12
13
  additionalFields: () => ElementComponentMetadata,
13
14
  })
14
15
  ], ElementComponentMetadataRecord);
@@ -68,14 +69,20 @@ __decorate([
68
69
  __decorate([
69
70
  ApiField({
70
71
  label: 'Components',
71
- description: 'Components settings of the processor',
72
+ description: 'Components settings of the app',
72
73
  }),
73
74
  __metadata("design:type", ElementComponentMetadataRecord)
74
75
  ], ElementComponentMetadata.prototype, "components", void 0);
76
+ __decorate([
77
+ ApiField({
78
+ label: 'Log channels',
79
+ description: 'Log channels of the assigned class, besides its console',
80
+ }),
81
+ __metadata("design:type", LogChannelMetadataRecord)
82
+ ], ElementComponentMetadata.prototype, "logChannels", void 0);
75
83
  ElementComponentMetadata = __decorate([
76
84
  ComplexType({
77
85
  description: 'User defined variable definition',
78
86
  })
79
87
  ], ElementComponentMetadata);
80
88
  export { ElementComponentMetadata };
81
- //# sourceMappingURL=element-component-metadata.js.map
@@ -1,4 +1,7 @@
1
+ import type { ModuleSummary } from '../../registry/module-catalog.js';
2
+ import { WorkerPermission } from '../enums/worker-permission.enum.js';
1
3
  import type { ElementComponentMetadataRecord } from './element-component-metadata.js';
4
+ import { LogChannelMetadataRecord } from './log-channel-metadata.js';
2
5
  import { VariableMetadataRecord } from './variable-metadata.js';
3
6
  /**
4
7
  *
@@ -12,7 +15,12 @@ export declare class ElementMetadata {
12
15
  displayName: string;
13
16
  iconUrl?: string;
14
17
  description?: string;
18
+ readme?: string;
15
19
  variables?: VariableMetadataRecord;
16
20
  components?: ElementComponentMetadataRecord;
21
+ logChannels?: LogChannelMetadataRecord;
22
+ summary?: ModuleSummary;
23
+ screenshots?: string[];
17
24
  tags: string[];
25
+ permissions?: WorkerPermission[];
18
26
  }
@@ -1,5 +1,7 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { ApiField, ArrayType, ComplexType } from '@opra/common';
3
+ import { WorkerPermission } from '../enums/worker-permission.enum.js';
4
+ import { LogChannelMetadataRecord } from './log-channel-metadata.js';
3
5
  import { VariableMetadataRecord } from './variable-metadata.js';
4
6
  /**
5
7
  *
@@ -57,6 +59,13 @@ __decorate([
57
59
  }),
58
60
  __metadata("design:type", String)
59
61
  ], ElementMetadata.prototype, "description", void 0);
62
+ __decorate([
63
+ ApiField({
64
+ label: 'README',
65
+ description: 'Its README among the package\'s documents: "docs/<ClassName>/README.md", told by spm; read from the registry, not in what is installed',
66
+ }),
67
+ __metadata("design:type", String)
68
+ ], ElementMetadata.prototype, "readme", void 0);
60
69
  __decorate([
61
70
  ApiField({
62
71
  label: 'Variables',
@@ -73,6 +82,29 @@ __decorate([
73
82
  }),
74
83
  __metadata("design:type", Function)
75
84
  ], ElementMetadata.prototype, "components", void 0);
85
+ __decorate([
86
+ ApiField({
87
+ label: 'Log channels',
88
+ description: 'Log channels the element writes to, besides its console',
89
+ }),
90
+ __metadata("design:type", LogChannelMetadataRecord)
91
+ ], ElementMetadata.prototype, "logChannels", void 0);
92
+ __decorate([
93
+ ApiField({
94
+ label: 'Summary',
95
+ description: "What it is for, in a sentence: the Marketplace's card and search. One in the package's docs language, or one per language ({ en: '...', tr: '...' }); spm keeps it by language",
96
+ type: 'any',
97
+ }),
98
+ __metadata("design:type", Object)
99
+ ], ElementMetadata.prototype, "summary", void 0);
100
+ __decorate([
101
+ ApiField({
102
+ label: 'Screenshots',
103
+ description: 'How it looks: images among its documents (docs/<ClassName>/...), shown on its page in the Marketplace - not installed. 8 at most',
104
+ type: ArrayType('string'),
105
+ }),
106
+ __metadata("design:type", Array)
107
+ ], ElementMetadata.prototype, "screenshots", void 0);
76
108
  __decorate([
77
109
  ApiField({
78
110
  label: 'Tags',
@@ -81,9 +113,16 @@ __decorate([
81
113
  }),
82
114
  __metadata("design:type", Array)
83
115
  ], ElementMetadata.prototype, "tags", void 0);
116
+ __decorate([
117
+ ApiField({
118
+ label: 'Permissions',
119
+ description: "What of the server it reaches beyond its worker's own directory: its worker is given it. A subclass has its base's too",
120
+ type: ArrayType(WorkerPermission),
121
+ }),
122
+ __metadata("design:type", Array)
123
+ ], ElementMetadata.prototype, "permissions", void 0);
84
124
  ElementMetadata = __decorate([
85
125
  ComplexType(),
86
126
  __metadata("design:paramtypes", [Object])
87
127
  ], ElementMetadata);
88
128
  export { ElementMetadata };
89
- //# sourceMappingURL=element-metadata.js.map
@@ -0,0 +1,23 @@
1
+ import { LogChannelKind } from '../enums/log-channel-kind.js';
2
+ import { LogLevel } from '../enums/log-level.js';
3
+ /**
4
+ * Log channels of an element: channel name -> definition
5
+ */
6
+ export declare class LogChannelMetadataRecord {
7
+ [key: string]: LogChannelMetadata;
8
+ }
9
+ /**
10
+ * A log channel an element writes to, defined with `@LogChannel`
11
+ */
12
+ export declare class LogChannelMetadata {
13
+ constructor(init?: Partial<LogChannelMetadata>);
14
+ name: string;
15
+ propertyKey?: string;
16
+ title?: string;
17
+ description?: string;
18
+ kind?: LogChannelKind;
19
+ level?: LogLevel;
20
+ retentionDays?: number;
21
+ enabled?: boolean;
22
+ events?: string[];
23
+ }
@@ -0,0 +1,72 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ApiField, ArrayType, ComplexType } from '@opra/common';
3
+ import { LogChannelKind } from '../enums/log-channel-kind.js';
4
+ import { LogLevel } from '../enums/log-level.js';
5
+ /**
6
+ * Log channels of an element: channel name -> definition
7
+ */
8
+ let LogChannelMetadataRecord = class LogChannelMetadataRecord {
9
+ };
10
+ LogChannelMetadataRecord = __decorate([
11
+ ComplexType({
12
+ description: 'Log channels of an element',
13
+ additionalFields: () => LogChannelMetadata,
14
+ })
15
+ ], LogChannelMetadataRecord);
16
+ export { LogChannelMetadataRecord };
17
+ /**
18
+ * A log channel an element writes to, defined with `@LogChannel`
19
+ */
20
+ let LogChannelMetadata = class LogChannelMetadata {
21
+ constructor(init) {
22
+ if (init)
23
+ Object.assign(this, init);
24
+ }
25
+ };
26
+ __decorate([
27
+ ApiField({
28
+ description: 'Name of the channel within its element; its records and settings are keyed by it',
29
+ required: true,
30
+ }),
31
+ __metadata("design:type", String)
32
+ ], LogChannelMetadata.prototype, "name", void 0);
33
+ __decorate([
34
+ ApiField({ description: 'The property the channel is assigned to' }),
35
+ __metadata("design:type", String)
36
+ ], LogChannelMetadata.prototype, "propertyKey", void 0);
37
+ __decorate([
38
+ ApiField({ label: 'Title', description: 'Human friendly name' }),
39
+ __metadata("design:type", String)
40
+ ], LogChannelMetadata.prototype, "title", void 0);
41
+ __decorate([
42
+ ApiField({ label: 'Description' }),
43
+ __metadata("design:type", String)
44
+ ], LogChannelMetadata.prototype, "description", void 0);
45
+ __decorate([
46
+ ApiField({ description: "How the channel's records are shown" }),
47
+ __metadata("design:type", String)
48
+ ], LogChannelMetadata.prototype, "kind", void 0);
49
+ __decorate([
50
+ ApiField({ description: 'Default level threshold of a text channel' }),
51
+ __metadata("design:type", String)
52
+ ], LogChannelMetadata.prototype, "level", void 0);
53
+ __decorate([
54
+ ApiField({ description: 'Default days the records are kept' }),
55
+ __metadata("design:type", Number)
56
+ ], LogChannelMetadata.prototype, "retentionDays", void 0);
57
+ __decorate([
58
+ ApiField({ description: 'Whether the channel writes by default' }),
59
+ __metadata("design:type", Boolean)
60
+ ], LogChannelMetadata.prototype, "enabled", void 0);
61
+ __decorate([
62
+ ApiField({
63
+ type: ArrayType(String),
64
+ description: "The events its records are of, which a profile may pick some of: read and write (the data received and sent), connect, disconnect, or the element's own",
65
+ }),
66
+ __metadata("design:type", Array)
67
+ ], LogChannelMetadata.prototype, "events", void 0);
68
+ LogChannelMetadata = __decorate([
69
+ ComplexType({ description: 'A log channel an element writes to' }),
70
+ __metadata("design:paramtypes", [Object])
71
+ ], LogChannelMetadata);
72
+ export { LogChannelMetadata };
@@ -25,4 +25,3 @@ PackageMetadata = __decorate([
25
25
  __metadata("design:paramtypes", [Object])
26
26
  ], PackageMetadata);
27
27
  export { PackageMetadata };
28
- //# sourceMappingURL=package-metadata.js.map
@@ -0,0 +1,15 @@
1
+ import { VariableMetadataRecord } from './variable-metadata.js';
2
+ /**
3
+ * A plugin as its class defines it (`@Plugin` of @syncbridge/plugin-api):
4
+ * what extends SyncBridge itself, in its main process
5
+ */
6
+ export declare class PluginMetadata {
7
+ constructor(init?: Partial<PluginMetadata>);
8
+ classType: 'plugin';
9
+ name: string;
10
+ className: string;
11
+ title?: string;
12
+ description?: string;
13
+ readme?: string;
14
+ settings?: VariableMetadataRecord;
15
+ }
@@ -0,0 +1,65 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ApiField, ComplexType, StringType } from '@opra/common';
3
+ import { VariableMetadataRecord } from './variable-metadata.js';
4
+ /**
5
+ * A plugin as its class defines it (`@Plugin` of @syncbridge/plugin-api):
6
+ * what extends SyncBridge itself, in its main process
7
+ */
8
+ let PluginMetadata = class PluginMetadata {
9
+ constructor(init) {
10
+ if (init)
11
+ Object.assign(this, init);
12
+ }
13
+ };
14
+ __decorate([
15
+ ApiField({
16
+ label: 'Class Type',
17
+ description: 'Determines the type of the class',
18
+ fixed: 'plugin',
19
+ }),
20
+ __metadata("design:type", String)
21
+ ], PluginMetadata.prototype, "classType", void 0);
22
+ __decorate([
23
+ ApiField({
24
+ label: 'Name',
25
+ description: 'The name the plugin is set by, `plugins.<name>`; unique among the installed packages',
26
+ required: true,
27
+ type: new StringType({ pattern: /^[a-z][a-z0-9-]*$/ }),
28
+ }),
29
+ __metadata("design:type", String)
30
+ ], PluginMetadata.prototype, "name", void 0);
31
+ __decorate([
32
+ ApiField({
33
+ label: 'Class Name',
34
+ description: 'Computer friendly class name',
35
+ required: true,
36
+ }),
37
+ __metadata("design:type", String)
38
+ ], PluginMetadata.prototype, "className", void 0);
39
+ __decorate([
40
+ ApiField({ label: 'Title', description: 'Human friendly name' }),
41
+ __metadata("design:type", String)
42
+ ], PluginMetadata.prototype, "title", void 0);
43
+ __decorate([
44
+ ApiField({ label: 'Description', description: 'Long description' }),
45
+ __metadata("design:type", String)
46
+ ], PluginMetadata.prototype, "description", void 0);
47
+ __decorate([
48
+ ApiField({
49
+ label: 'README',
50
+ description: 'Its README among the package\'s documents: "docs/<ClassName>/README.md", told by spm; read from the registry, not in what is installed',
51
+ }),
52
+ __metadata("design:type", String)
53
+ ], PluginMetadata.prototype, "readme", void 0);
54
+ __decorate([
55
+ ApiField({
56
+ label: 'Settings',
57
+ description: 'The settings it is set with, under `plugins.<name>`',
58
+ }),
59
+ __metadata("design:type", VariableMetadataRecord)
60
+ ], PluginMetadata.prototype, "settings", void 0);
61
+ PluginMetadata = __decorate([
62
+ ComplexType(),
63
+ __metadata("design:paramtypes", [Object])
64
+ ], PluginMetadata);
65
+ export { PluginMetadata };
@@ -1,3 +1,4 @@
1
+ import { EnumSource } from '../enums/enum-source.enum.js';
1
2
  import { VariableFormat } from '../enums/variable-format.enum.js';
2
3
  import { VariableType } from '../enums/variable-type.enum.js';
3
4
  /**
@@ -21,6 +22,7 @@ export declare class VariableMetadata {
21
22
  variables?: VariableMetadataRecord;
22
23
  format?: VariableFormat;
23
24
  enumValues?: (string | number)[];
25
+ enumSource?: EnumSource;
24
26
  enumStrict?: boolean;
25
27
  isArray?: boolean;
26
28
  nullable?: boolean;
@@ -32,4 +34,5 @@ export declare class VariableMetadata {
32
34
  minValue?: string | number;
33
35
  maxValue?: string | number;
34
36
  displayWidth?: number;
37
+ ui?: 'hidden' | 'readonly';
35
38
  }
@@ -1,5 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { ApiField, ArrayType, ComplexType } from '@opra/common';
3
+ import { EnumSource } from '../enums/enum-source.enum.js';
3
4
  import { VariableFormat } from '../enums/variable-format.enum.js';
4
5
  import { VariableType } from '../enums/variable-type.enum.js';
5
6
  /**
@@ -41,7 +42,7 @@ __decorate([
41
42
  ], VariableMetadata.prototype, "label", void 0);
42
43
  __decorate([
43
44
  ApiField({
44
- description: 'Processor description',
45
+ description: 'App description',
45
46
  }),
46
47
  __metadata("design:type", String)
47
48
  ], VariableMetadata.prototype, "description", void 0);
@@ -86,6 +87,13 @@ __decorate([
86
87
  }),
87
88
  __metadata("design:type", Array)
88
89
  ], VariableMetadata.prototype, "enumValues", void 0);
90
+ __decorate([
91
+ ApiField({
92
+ description: 'Where the values come from when they depend on the server: filled in by SyncBridge as the list is asked for, as suggestions (enumStrict false). Available if type is enum',
93
+ type: EnumSource,
94
+ }),
95
+ __metadata("design:type", String)
96
+ ], VariableMetadata.prototype, "enumSource", void 0);
89
97
  __decorate([
90
98
  ApiField({
91
99
  description: 'Whether the value must be one of enumValues (default) or may be any other value of their type, ' +
@@ -154,10 +162,15 @@ __decorate([
154
162
  }),
155
163
  __metadata("design:type", Number)
156
164
  ], VariableMetadata.prototype, "displayWidth", void 0);
165
+ __decorate([
166
+ ApiField({
167
+ description: "How SyncBridge's settings screen treats it, as a log target's or plugin's setting: hidden, not shown there; readonly, shown and not changed there. Either is set only where SyncBridge is deployed. Default: shown and changed there",
168
+ }),
169
+ __metadata("design:type", String)
170
+ ], VariableMetadata.prototype, "ui", void 0);
157
171
  VariableMetadata = __decorate([
158
172
  ComplexType({
159
173
  description: 'User defined variable definition',
160
174
  })
161
175
  ], VariableMetadata);
162
176
  export { VariableMetadata };
163
- //# sourceMappingURL=variable-metadata.js.map
@@ -1,4 +1,20 @@
1
1
  import { LogLevel } from '../enums/log-level.js';
2
+ /**
3
+ * Settings of a log channel, overriding its definition's defaults
4
+ */
5
+ export declare class LogChannelSettings {
6
+ constructor(init?: Partial<LogChannelSettings>);
7
+ enabled?: boolean;
8
+ level?: LogLevel;
9
+ retentionDays?: number;
10
+ events?: string[];
11
+ }
12
+ /**
13
+ * Settings of an element's log channels: channel name -> settings
14
+ */
15
+ export declare class LogChannelSettingsRecord {
16
+ [key: string]: LogChannelSettings;
17
+ }
2
18
  /**
3
19
  * LogOptions
4
20
  */
@@ -6,6 +22,7 @@ export declare class LogOptions {
6
22
  constructor(init?: Partial<LogOptions>);
7
23
  level?: LogLevel;
8
24
  errorStack?: boolean;
25
+ channels?: LogChannelSettingsRecord;
9
26
  }
10
27
  /**
11
28
  * ProfileSettings
@@ -1,6 +1,55 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { ApiField, ComplexType } from '@opra/common';
2
+ import { ApiField, ArrayType, ComplexType } from '@opra/common';
3
3
  import { LogLevel } from '../enums/log-level.js';
4
+ /**
5
+ * Settings of a log channel, overriding its definition's defaults
6
+ */
7
+ let LogChannelSettings = class LogChannelSettings {
8
+ constructor(init) {
9
+ if (init)
10
+ Object.assign(this, init);
11
+ }
12
+ enabled;
13
+ level;
14
+ retentionDays;
15
+ events;
16
+ };
17
+ __decorate([
18
+ ApiField({ description: 'Whether the channel writes' }),
19
+ __metadata("design:type", Boolean)
20
+ ], LogChannelSettings.prototype, "enabled", void 0);
21
+ __decorate([
22
+ ApiField({ description: 'Level threshold of a text channel' }),
23
+ __metadata("design:type", String)
24
+ ], LogChannelSettings.prototype, "level", void 0);
25
+ __decorate([
26
+ ApiField({ description: 'Days the records are kept' }),
27
+ __metadata("design:type", Number)
28
+ ], LogChannelSettings.prototype, "retentionDays", void 0);
29
+ __decorate([
30
+ ApiField({
31
+ type: ArrayType(String),
32
+ description: "The events written, of those the channel's definition names (read, write, connect, disconnect...); all when not given",
33
+ }),
34
+ __metadata("design:type", Array)
35
+ ], LogChannelSettings.prototype, "events", void 0);
36
+ LogChannelSettings = __decorate([
37
+ ComplexType(),
38
+ __metadata("design:paramtypes", [Object])
39
+ ], LogChannelSettings);
40
+ export { LogChannelSettings };
41
+ /**
42
+ * Settings of an element's log channels: channel name -> settings
43
+ */
44
+ let LogChannelSettingsRecord = class LogChannelSettingsRecord {
45
+ };
46
+ LogChannelSettingsRecord = __decorate([
47
+ ComplexType({
48
+ description: "Settings of an element's log channels",
49
+ additionalFields: () => LogChannelSettings,
50
+ })
51
+ ], LogChannelSettingsRecord);
52
+ export { LogChannelSettingsRecord };
4
53
  /**
5
54
  * LogOptions
6
55
  */
@@ -11,6 +60,7 @@ let LogOptions = class LogOptions {
11
60
  }
12
61
  level;
13
62
  errorStack;
63
+ channels;
14
64
  };
15
65
  __decorate([
16
66
  ApiField({
@@ -26,6 +76,13 @@ __decorate([
26
76
  }),
27
77
  __metadata("design:type", Boolean)
28
78
  ], LogOptions.prototype, "errorStack", void 0);
79
+ __decorate([
80
+ ApiField({
81
+ label: 'Channels',
82
+ description: "Settings of the element's log channels, by channel name",
83
+ }),
84
+ __metadata("design:type", LogChannelSettingsRecord)
85
+ ], LogOptions.prototype, "channels", void 0);
29
86
  LogOptions = __decorate([
30
87
  ComplexType(),
31
88
  __metadata("design:paramtypes", [Object])
@@ -52,4 +109,3 @@ ProfileLogOptions = __decorate([
52
109
  __metadata("design:paramtypes", [Object])
53
110
  ], ProfileLogOptions);
54
111
  export { ProfileLogOptions };
55
- //# sourceMappingURL=log-options.js.map
@@ -82,4 +82,3 @@ ProfileComponent = __decorate([
82
82
  })
83
83
  ], ProfileComponent);
84
84
  export { ProfileComponent };
85
- //# sourceMappingURL=profile-component.js.map
@@ -15,8 +15,8 @@ export declare class Profile {
15
15
  constructor(init?: Partial<Profile>);
16
16
  id: string;
17
17
  displayName: string;
18
- processorUri: string;
19
- processorVersion?: string;
18
+ appUri: string;
19
+ appVersion?: string;
20
20
  group?: string;
21
21
  description?: string;
22
22
  iconUrl?: string;
@@ -16,14 +16,14 @@ let ProfileSettings = class ProfileSettings {
16
16
  __decorate([
17
17
  ApiField({
18
18
  label: 'Auto Start',
19
- description: 'Determines if the processor will be auto started or not',
19
+ description: 'Determines if the app will be auto started or not',
20
20
  }),
21
21
  __metadata("design:type", Boolean)
22
22
  ], ProfileSettings.prototype, "autostart", void 0);
23
23
  __decorate([
24
24
  ApiField({
25
25
  label: 'Logs',
26
- description: 'Log settings of the processor',
26
+ description: 'Log settings of the app',
27
27
  }),
28
28
  __metadata("design:type", ProfileLogOptions)
29
29
  ], ProfileSettings.prototype, "logs", void 0);
@@ -59,19 +59,19 @@ __decorate([
59
59
  ], Profile.prototype, "displayName", void 0);
60
60
  __decorate([
61
61
  ApiField({
62
- label: 'Processor URI',
63
- description: 'URI of the processor',
62
+ label: 'App URI',
63
+ description: 'URI of the app',
64
64
  required: true,
65
65
  }),
66
66
  __metadata("design:type", String)
67
- ], Profile.prototype, "processorUri", void 0);
67
+ ], Profile.prototype, "appUri", void 0);
68
68
  __decorate([
69
69
  ApiField({
70
- label: 'Processor Version',
70
+ label: 'App Version',
71
71
  description: 'Determines which installed version will be used. This value accepts semver format. https://semver.npmjs.com/',
72
72
  }),
73
73
  __metadata("design:type", String)
74
- ], Profile.prototype, "processorVersion", void 0);
74
+ ], Profile.prototype, "appVersion", void 0);
75
75
  __decorate([
76
76
  ApiField({
77
77
  label: 'Group',
@@ -104,14 +104,14 @@ __decorate([
104
104
  __decorate([
105
105
  ApiField({
106
106
  label: 'Components',
107
- description: 'Components of the processor',
107
+ description: 'Components of the app',
108
108
  }),
109
109
  __metadata("design:type", ProfileComponentRecord)
110
110
  ], Profile.prototype, "components", void 0);
111
111
  __decorate([
112
112
  ApiField({
113
113
  label: 'Settings',
114
- description: 'Settings of the processor',
114
+ description: 'Settings of the app',
115
115
  }),
116
116
  __metadata("design:type", ProfileSettings)
117
117
  ], Profile.prototype, "settings", void 0);
@@ -120,4 +120,3 @@ Profile = __decorate([
120
120
  __metadata("design:paramtypes", [Object])
121
121
  ], Profile);
122
122
  export { Profile };
123
- //# sourceMappingURL=profile.js.map