@privateaim/core-kit 0.8.7 → 0.8.9
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/CHANGELOG.md +34 -0
- package/dist/domains/master-image-event-log/entity.d.ts +1 -1
- package/dist/domains/master-image-event-log/entity.d.ts.map +1 -1
- package/dist/domains/types.d.ts +1 -11
- package/dist/domains/types.d.ts.map +1 -1
- package/dist/domains/utils.d.ts +1 -5
- package/dist/domains/utils.d.ts.map +1 -1
- package/dist/index.cjs +8 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +9 -12
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
- package/src/domains/master-image-event-log/entity.ts +1 -1
- package/src/domains/types.ts +1 -24
- package/src/domains/utils.ts +8 -29
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.8.9](https://github.com/PrivateAIM/hub/compare/v0.8.8...v0.8.9) (2025-04-17)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* master-image-log-cleaner component ([bd5ec72](https://github.com/PrivateAIM/hub/commit/bd5ec722f5c35a3168c5ad01a12066651c1f901f))
|
|
9
|
+
* restructure domain event handling ([2ad7318](https://github.com/PrivateAIM/hub/commit/2ad7318930bd342d571105982fc92996443326fa))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Dependencies
|
|
13
|
+
|
|
14
|
+
* The following workspace dependencies were updated
|
|
15
|
+
* devDependencies
|
|
16
|
+
* @privateaim/kit bumped from ^0.8.8 to ^0.8.9
|
|
17
|
+
* peerDependencies
|
|
18
|
+
* @privateaim/kit bumped from ^0.8.8 to ^0.8.9
|
|
19
|
+
|
|
20
|
+
## [0.8.8](https://github.com/PrivateAIM/hub/compare/v0.8.7...v0.8.8) (2025-04-15)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Features
|
|
24
|
+
|
|
25
|
+
* migrated to authup v1.0.0-beta.25 ([a5f6b65](https://github.com/PrivateAIM/hub/commit/a5f6b65499ee3a8c4b4bbdcda47979fa73ee5c48))
|
|
26
|
+
* reusable client authentication hook ([0a608cd](https://github.com/PrivateAIM/hub/commit/0a608cd94984314166c15fa11684e022b5ceb53e))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Dependencies
|
|
30
|
+
|
|
31
|
+
* The following workspace dependencies were updated
|
|
32
|
+
* devDependencies
|
|
33
|
+
* @privateaim/kit bumped from ^0.8.7 to ^0.8.8
|
|
34
|
+
* peerDependencies
|
|
35
|
+
* @privateaim/kit bumped from ^0.8.7 to ^0.8.8
|
|
36
|
+
|
|
3
37
|
## [0.8.7](https://github.com/PrivateAIM/hub/compare/v0.8.6...v0.8.7) (2025-03-12)
|
|
4
38
|
|
|
5
39
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/domains/master-image-event-log/entity.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAIrB,QAAQ,EAAE,OAAO,CAAC;IAElB,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/domains/master-image-event-log/entity.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAIrB,QAAQ,EAAE,OAAO,CAAC;IAElB,UAAU,EAAE,MAAM,CAAC;IAInB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IAIjC,UAAU,EAAE,IAAI,CAAC;IAEjB,UAAU,EAAE,IAAI,CAAC;CACpB"}
|
package/dist/domains/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AnalysisBucket } from './analysis-bucket';
|
|
2
2
|
import type { AnalysisNodeLog } from './analysis-node-log';
|
|
3
|
-
import type {
|
|
3
|
+
import type { DomainSubType, DomainType } from './constants';
|
|
4
4
|
import type { MasterImage } from './master-image';
|
|
5
5
|
import type { MasterImageEventLog } from './master-image-event-log';
|
|
6
6
|
import type { MasterImageGroup } from './master-image-group';
|
|
@@ -36,15 +36,5 @@ type DomainTypeMapRaw = {
|
|
|
36
36
|
export type DomainTypeMap = {
|
|
37
37
|
[K in keyof DomainTypeMapRaw as `${K}`]: DomainTypeMapRaw[K];
|
|
38
38
|
};
|
|
39
|
-
export type EventRecord<T extends string, D extends Record<string, any>> = {
|
|
40
|
-
type: T;
|
|
41
|
-
data: D;
|
|
42
|
-
event: `${DomainEventName}`;
|
|
43
|
-
};
|
|
44
|
-
export type DomainsEvents = {
|
|
45
|
-
[T in keyof DomainTypeMap]: EventRecord<T, DomainTypeMap[T]>;
|
|
46
|
-
}[keyof DomainTypeMap];
|
|
47
|
-
export type DomainEventFullName<T extends string> = `${T}${Capitalize<`${DomainEventName}`>}`;
|
|
48
|
-
export type DomainEventSubscriptionFullName<T extends string> = `${T}${Capitalize<`${DomainEventSubscriptionName}`>}`;
|
|
49
39
|
export {};
|
|
50
40
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domains/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domains/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,KAAK,gBAAgB,GAAG;IACpB,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;IACvC,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,mBAAmB,CAAC;IACzD,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IAClD,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC9B,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;IACvC,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC;IAC7C,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC9C,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAChC,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAA;IAC9C,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACxB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAChC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,cAAc,CAAC;IAC7C,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,kBAAkB,CAAC;IACtD,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;IACvC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IACzC,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,eAAe,CAAC;IAChD,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAC/C,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;KACvB,CAAC,IAAI,MAAM,gBAAgB,IAAI,GAAG,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;CAC/D,CAAC"}
|
package/dist/domains/utils.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import type { DomainEventFullName, DomainEventSubscriptionFullName } from './types';
|
|
3
|
-
export declare function buildDomainEventFullName<T extends string>(type: T, event: `${DomainEventName}`): DomainEventFullName<T>;
|
|
4
|
-
export declare function buildDomainEventSubscriptionFullName<T extends string>(type: T, event: `${DomainEventSubscriptionName}`): DomainEventSubscriptionFullName<T>;
|
|
5
|
-
export declare function buildDomainChannelName(type: string, id?: string | number): string;
|
|
1
|
+
export declare function buildDomainChannelName(domain: string, id?: string | number): string;
|
|
6
2
|
export declare function buildDomainNamespaceName(id?: string): string;
|
|
7
3
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/domains/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/domains/utils.ts"],"names":[],"mappings":"AAQA,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,UAM1E;AAGD,wBAAgB,wBAAwB,CAAC,EAAE,CAAC,EAAE,MAAM,UAInD"}
|
package/dist/index.cjs
CHANGED
|
@@ -488,19 +488,16 @@ var DomainEventSubscriptionName = /*#__PURE__*/ function(DomainEventSubscription
|
|
|
488
488
|
* Author Peter Placzek (tada5hi)
|
|
489
489
|
* For the full copyright and license information,
|
|
490
490
|
* view the LICENSE file that was distributed with this source code.
|
|
491
|
-
*/
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
return type + eventCapitalized;
|
|
498
|
-
}
|
|
499
|
-
function buildDomainChannelName(type, id) {
|
|
500
|
-
return `${type}${id ? `:${id}` : ''}`;
|
|
491
|
+
*/ // todo: rename to buildEntityChannelName
|
|
492
|
+
function buildDomainChannelName(domain, id) {
|
|
493
|
+
if (typeof id === 'string' || typeof id === 'number') {
|
|
494
|
+
return `${domain}:${id}`;
|
|
495
|
+
}
|
|
496
|
+
return domain;
|
|
501
497
|
}
|
|
498
|
+
// todo: rename to buildEntityNamespaceName
|
|
502
499
|
function buildDomainNamespaceName(id) {
|
|
503
|
-
return id ? `/resources
|
|
500
|
+
return id ? `/resources:${id}` : '/resources';
|
|
504
501
|
}
|
|
505
502
|
|
|
506
503
|
/*
|
|
@@ -551,8 +548,6 @@ exports.ServiceID = ServiceID;
|
|
|
551
548
|
exports.StationRegistryAPICommand = StationRegistryAPICommand;
|
|
552
549
|
exports.buildAnalysisBucketName = buildAnalysisBucketName;
|
|
553
550
|
exports.buildDomainChannelName = buildDomainChannelName;
|
|
554
|
-
exports.buildDomainEventFullName = buildDomainEventFullName;
|
|
555
|
-
exports.buildDomainEventSubscriptionFullName = buildDomainEventSubscriptionFullName;
|
|
556
551
|
exports.buildDomainNamespaceName = buildDomainNamespaceName;
|
|
557
552
|
exports.buildRegistryClientConnectionStringFromRegistry = buildRegistryClientConnectionStringFromRegistry;
|
|
558
553
|
exports.buildSocketRealmNamespaceName = buildSocketRealmNamespaceName;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/error/constants.ts","../src/error/entities/connection-string.ts","../src/domains/analysis/constants.ts","../src/domains/analysis/helpers.ts","../src/domains/analysis-bucket/constants.ts","../src/domains/analysis-bucket/utils.ts","../src/domains/analysis-node/constants.ts","../src/domains/realm/socket.ts","../src/domains/master-image/constants.ts","../src/domains/project-node/constants.ts","../src/domains/registry/constants.ts","../src/domains/registry/utils.ts","../src/domains/registry-project/constants.ts","../src/domains/registry-project/socket.ts","../src/domains/registry-project/utils.ts","../src/domains/node/constants.ts","../src/domains/service/registry/constants.ts","../src/domains/service/secret-engine/constants.ts","../src/domains/service/constants.ts","../src/domains/service/station-registry/constants.ts","../src/domains/constants.ts","../src/domains/utils.ts","../src/constants.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ErrorCode {\n LICENSE_AGREEMENT = 'license_agreement',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport class APIConnectionStringError extends Error {\n static connectionStringMissing(serviceName?: string) {\n const parts : string[] = ['The'];\n if (typeof serviceName === 'string') {\n parts.push(serviceName);\n }\n parts.push('connection string is not specified.');\n return new this(parts.join(' '));\n }\n\n static connectionStringInvalid(serviceName?: string) {\n const parts : string[] = ['The'];\n if (typeof serviceName === 'string') {\n parts.push(serviceName);\n }\n parts.push('connection string is not valid.');\n return new this(parts.join(' '));\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AnalysisBuildStatus {\n STARTING = 'starting', // ui trigger\n STARTED = 'started', // tb trigger\n\n STOPPING = 'stopping', // ui trigger\n STOPPED = 'stopped', // tb trigger\n\n FINISHED = 'finished', // tb trigger\n FAILED = 'failed', // tb trigger\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisConfigurationStatus {\n NODES = 'nodes',\n MASTER_IMAGE = 'masterImage',\n FILES = 'files',\n FINISHED = 'finished',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisRunStatus {\n STARTING = 'starting',\n STARTED = 'started',\n\n RUNNING = 'running',\n\n STOPPING = 'stopping',\n STOPPED = 'stopped',\n\n FINISHED = 'finished',\n FAILED = 'failed',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisResultStatus {\n STARTED = 'started',\n\n DOWNLOADING = 'downloading',\n DOWNLOADED = 'downloaded',\n\n PROCESSING = 'extracting',\n PROCESSED = 'extracted',\n\n FINISHED = 'finished',\n FAILED = 'failed',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisAPICommand {\n SPIN_UP = 'spinUp',\n TEAR_DOWN = 'tearDown',\n\n BUILD_START = 'buildStart',\n BUILD_STOP = 'buildStop',\n BUILD_STATUS = 'buildStatus',\n\n CONFIGURATION_LOCK = 'configurationLock',\n CONFIGURATION_UNLOCK = 'configurationUnlock',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisContainerPath {\n CODE = '/opt/code/',\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AnalysisAPICommand, AnalysisBuildStatus } from './constants';\nimport type { Analysis } from './entity';\n\ntype CanResult = {\n success: boolean,\n message: string,\n};\n\n/**\n * Check if an analysis can be build based on analysis attributes (build_status, configuration_locked, ...)\n *\n * @param entity\n * @param command\n */\nexport function isAnalysisAPICommandExecutable(\n entity: Analysis,\n command: `${AnalysisAPICommand}`,\n) : CanResult {\n const output : CanResult = {\n success: false,\n message: `The analysis command ${command} cannot be executed.`,\n };\n\n switch (command) {\n case AnalysisAPICommand.BUILD_START: {\n if (!entity.configuration_locked) {\n output.success = false;\n output.message = 'The analysis configuration must be locked before starting the build.';\n return output;\n }\n\n if (!entity.build_status) {\n output.success = true;\n return output;\n }\n\n if (\n entity.build_status === AnalysisBuildStatus.FAILED ||\n entity.build_status === AnalysisBuildStatus.STOPPED\n ) {\n output.success = true;\n return output;\n }\n\n output.message = `The current analysis build status \"${entity.build_status}\" does not allow a build start.`;\n return output;\n }\n case AnalysisAPICommand.BUILD_STOP: {\n if (!entity.configuration_locked) {\n output.message = 'The analysis configuration must be locked before stopping the build.';\n return output;\n }\n\n if (!entity.build_status) {\n output.message = 'The analysis build process has not been initialized.';\n return output;\n }\n\n if (entity.build_status === AnalysisBuildStatus.STOPPING ||\n entity.build_status === AnalysisBuildStatus.STARTED ||\n entity.build_status === AnalysisBuildStatus.STARTING\n ) {\n output.success = true;\n return output;\n }\n\n output.message = `The current analysis build status \"${entity.build_status}\" does not allow a build stop.`;\n return output;\n }\n case AnalysisAPICommand.BUILD_STATUS: {\n if (!entity.configuration_locked) {\n output.message = 'The analysis configuration must be locked before checking the build status.';\n return output;\n }\n\n if (!entity.build_status) {\n output.message = 'The analysis build process has not been initialized.';\n return output;\n }\n\n if (entity.build_status === AnalysisBuildStatus.FINISHED) {\n output.message = 'The analysis build process has already been successfully completed.';\n return output;\n }\n\n output.success = true;\n return output;\n }\n case AnalysisAPICommand.CONFIGURATION_LOCK: {\n if (entity.configuration_locked) {\n output.message = 'The analysis configuration is already locked.';\n return output;\n }\n\n if (entity.build_status) {\n output.message = 'The analysis build process has already been initialized.';\n return output;\n }\n\n // todo: unknown if one of them is an aggregator.\n if (entity.nodes < 2) {\n output.message = 'The analysis requires at least two nodes.';\n return output;\n }\n\n if (!entity.master_image_id) {\n output.message = 'A master image must be assigned to the analysis.';\n return output;\n }\n\n output.success = true;\n return output;\n }\n case AnalysisAPICommand.CONFIGURATION_UNLOCK: {\n if (!entity.configuration_locked) {\n output.message = 'The analysis configuration is already unlocked.';\n return output;\n }\n\n if (!entity.build_status) {\n output.success = true;\n return output;\n }\n\n if (\n entity.build_status === AnalysisBuildStatus.FAILED ||\n entity.build_status === AnalysisBuildStatus.STOPPED ||\n entity.build_status === AnalysisBuildStatus.STOPPING\n ) {\n output.success = true;\n return output;\n }\n\n output.message = `The current analysis build status \"${entity.build_status}\" does not allow unlocking the configuration.`;\n return output;\n }\n }\n\n return output;\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AnalysisBucketType {\n CODE = 'CODE',\n RESULT = 'RESULT',\n TEMP = 'TEMP',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Analysis } from '../analysis';\nimport { AnalysisBucketType } from './constants';\n\nexport function buildAnalysisBucketName(\n type: `${AnalysisBucketType}`,\n id: Analysis['id'],\n) {\n switch (type) {\n case AnalysisBucketType.CODE: {\n return `analysis-code-files.${id}`;\n }\n case AnalysisBucketType.TEMP: {\n return `analysis-temp-files.${id}`;\n }\n case AnalysisBucketType.RESULT: {\n return `analysis-result-files.${id}`;\n }\n }\n\n throw new SyntaxError('The argument can only have any bucket type value.');\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AnalysisNodeApprovalCommand {\n APPROVE = 'approve',\n REJECT = 'reject',\n}\n\nexport enum AnalysisNodeApprovalStatus {\n REJECTED = 'rejected',\n APPROVED = 'approved',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisNodeRunStatus {\n STARTING = 'starting',\n STARTED = 'started',\n\n STOPPING = 'stopping',\n STOPPED = 'stopped',\n\n RUNNING = 'running',\n FINISHED = 'finished',\n\n FAILED = 'failed',\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Realm } from '@authup/core-kit';\n\nexport function buildSocketRealmNamespaceName(realmId: Realm['id']) {\n return `/resources#${realmId}`;\n}\n\nexport function parseSocketRealmNamespaceName(name: string) : string | undefined {\n return name.startsWith('/resources#') ?\n name.substring('/resources#'.length) :\n name;\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum MasterImageCommand {\n SYNC = 'sync',\n}\n\nexport enum MasterImageGroupType {\n LANGUAGE = 'language',\n DEFAULT = 'default',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ProjectNodeApprovalCommand {\n APPROVE = 'approve',\n REJECT = 'reject',\n}\n\nexport enum ProjectNodeApprovalStatus {\n REJECTED = 'rejected',\n APPROVED = 'approved',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d).{8,}$/;\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Registry } from './entity';\n\nexport function buildRegistryClientConnectionStringFromRegistry(entity: Registry) {\n // todo: support other registries beside harbor and v2.0\n\n const url = `https://${entity.host}/api/v2.0/`;\n return `${entity.account_name}:${entity.account_secret}@${url}`;\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum RegistryProjectType {\n DEFAULT = 'default',\n AGGREGATOR = 'aggregator',\n INCOMING = 'incoming',\n OUTGOING = 'outgoing',\n MASTER_IMAGES = 'masterImages',\n NODE = 'node',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RegistryProject } from './entity';\n\nexport function buildSocketRegistryProjectRoomName(id?: RegistryProject['id']) {\n return `registry-projects${id ? `#${id}` : ''}`;\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createNanoID } from '@privateaim/kit';\n\nexport function generateRegistryProjectId() {\n return createNanoID('0123456789abcdefghijklmnopqrstuvwxyz');\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum NodeType {\n AGGREGATOR = 'aggregator',\n DEFAULT = 'default',\n}\n\nexport enum NodeSocketClientEventName {\n CONNECT = 'nodeConnect',\n DISCONNECT = 'nodeDisconnect',\n MESSAGE = 'nodeMessage',\n}\n\nexport enum NodeSocketServerEventName {\n CONNECTED = 'nodeConnected',\n DISCONNECTED = 'nodeDisconnected',\n MESSAGE = 'nodeMessage',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum RegistryAPICommand {\n SETUP = 'setup',\n CLEANUP = 'cleanup',\n DELETE = 'delete',\n\n PROJECT_LINK = 'projectLink',\n PROJECT_UNLINK = 'projectUnlink',\n}\n\n/**\n * Incoming train project name\n */\nexport const REGISTRY_INCOMING_PROJECT_NAME = 'incoming';\n\n/**\n * Outgoing train project name\n */\nexport const REGISTRY_OUTGOING_PROJECT_NAME = 'outgoing';\n\n/**\n * Master Image project name\n */\nexport const REGISTRY_MASTER_IMAGE_PROJECT_NAME = 'master';\n\n/**\n * Latest image tag\n */\nexport const REGISTRY_ARTIFACT_TAG_LATEST = 'latest';\n\n/**\n * base image tag\n */\nexport const REGISTRY_ARTIFACT_TAG_BASE = 'base';\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum SecretStorageAPICommand {\n ENGINE_CREATE = 'engineCreate',\n\n ENGINE_KEY_SAVE = 'engineKeySave',\n ENGINE_KEY_PULL = 'engineKeyPull',\n ENGINE_KEY_DROP = 'engineKeyDrop',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ServiceID {\n // Core Service(s)\n SYSTEM = 'system',\n\n // Third Party Service(s)\n REGISTRY = 'registry',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum StationRegistryAPICommand {\n SYNC = 'sync',\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum DomainType {\n MASTER_IMAGE = 'masterImage',\n MASTER_IMAGE_EVENT_LOG = 'masterImageEventLog',\n MASTER_IMAGE_GROUP = 'masterImageGroup',\n PROJECT = 'project',\n PROJECT_NODE = 'projectNode',\n REGISTRY = 'registry',\n REGISTRY_PROJECT = 'registryProject',\n NODE = 'node',\n ANALYSIS = 'analysis',\n ANALYSIS_BUCKET = 'analysisBucket',\n ANALYSIS_BUCKET_FILE = 'analysisBucketFile',\n ANALYSIS_LOG = 'analysisLog',\n ANALYSIS_NODE = 'analysisNode',\n ANALYSIS_NODE_LOG = 'analysisNodeLog',\n ANALYSIS_PERMISSION = 'analysisPermission',\n}\n\nexport enum DomainSubType {\n PROJECT_NODE_IN = 'projectNodeIn',\n PROJECT_NODE_OUT = 'projectNodeOut',\n ANALYSIS_NODE_IN = 'analysisNodeIn',\n ANALYSIS_NODE_OUT = 'analysisNodeOut',\n}\n\nexport enum DomainEventName {\n CREATED = 'created',\n DELETED = 'deleted',\n UPDATED = 'updated',\n}\n\nexport enum DomainEventSubscriptionName {\n SUBSCRIBE = 'subscribe',\n UNSUBSCRIBE = 'unsubscribe',\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type {\n DomainEventName, DomainEventSubscriptionName,\n} from './constants';\nimport type {\n DomainEventFullName, DomainEventSubscriptionFullName,\n} from './types';\n\nexport function buildDomainEventFullName<T extends string>(\n type: T,\n event: `${DomainEventName}`,\n) : DomainEventFullName<T> {\n const eventCapitalized = event.substring(0, 1).toUpperCase() + event.substring(1);\n\n return type + eventCapitalized as DomainEventFullName<T>;\n}\n\nexport function buildDomainEventSubscriptionFullName<\n T extends string,\n>(\n type: T,\n event: `${DomainEventSubscriptionName}`,\n) : DomainEventSubscriptionFullName<T> {\n const eventCapitalized = event.substring(0, 1).toUpperCase() + event.substring(1);\n\n return type + eventCapitalized as DomainEventSubscriptionFullName<T>;\n}\n\nexport function buildDomainChannelName(type: string, id?: string | number) {\n return `${type}${id ? `:${id}` : ''}`;\n}\n\nexport function buildDomainNamespaceName(id?: string) {\n return id ?\n `/resources#${id}` :\n '/resources';\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum EnvironmentName {\n TEST = 'test',\n DEVELOPMENT = 'development',\n PRODUCTION = 'production',\n}\n"],"names":["ErrorCode","APIConnectionStringError","Error","connectionStringMissing","serviceName","parts","push","join","connectionStringInvalid","AnalysisBuildStatus","AnalysisConfigurationStatus","AnalysisRunStatus","AnalysisResultStatus","AnalysisAPICommand","AnalysisContainerPath","isAnalysisAPICommandExecutable","entity","command","output","success","message","BUILD_START","configuration_locked","build_status","FAILED","STOPPED","BUILD_STOP","STOPPING","STARTED","STARTING","BUILD_STATUS","FINISHED","CONFIGURATION_LOCK","nodes","master_image_id","CONFIGURATION_UNLOCK","AnalysisBucketType","buildAnalysisBucketName","type","id","CODE","TEMP","RESULT","SyntaxError","AnalysisNodeApprovalCommand","AnalysisNodeApprovalStatus","AnalysisNodeRunStatus","buildSocketRealmNamespaceName","realmId","parseSocketRealmNamespaceName","name","startsWith","substring","length","MasterImageCommand","MasterImageGroupType","ProjectNodeApprovalCommand","ProjectNodeApprovalStatus","registryRobotSecretRegex","buildRegistryClientConnectionStringFromRegistry","url","host","account_name","account_secret","RegistryProjectType","buildSocketRegistryProjectRoomName","generateRegistryProjectId","createNanoID","NodeType","NodeSocketClientEventName","NodeSocketServerEventName","RegistryAPICommand","REGISTRY_INCOMING_PROJECT_NAME","REGISTRY_OUTGOING_PROJECT_NAME","REGISTRY_MASTER_IMAGE_PROJECT_NAME","REGISTRY_ARTIFACT_TAG_LATEST","REGISTRY_ARTIFACT_TAG_BASE","SecretStorageAPICommand","ServiceID","StationRegistryAPICommand","DomainType","DomainSubType","DomainEventName","DomainEventSubscriptionName","buildDomainEventFullName","event","eventCapitalized","toUpperCase","buildDomainEventSubscriptionFullName","buildDomainChannelName","buildDomainNamespaceName","EnvironmentName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/error/constants.ts","../src/error/entities/connection-string.ts","../src/domains/analysis/constants.ts","../src/domains/analysis/helpers.ts","../src/domains/analysis-bucket/constants.ts","../src/domains/analysis-bucket/utils.ts","../src/domains/analysis-node/constants.ts","../src/domains/realm/socket.ts","../src/domains/master-image/constants.ts","../src/domains/project-node/constants.ts","../src/domains/registry/constants.ts","../src/domains/registry/utils.ts","../src/domains/registry-project/constants.ts","../src/domains/registry-project/socket.ts","../src/domains/registry-project/utils.ts","../src/domains/node/constants.ts","../src/domains/service/registry/constants.ts","../src/domains/service/secret-engine/constants.ts","../src/domains/service/constants.ts","../src/domains/service/station-registry/constants.ts","../src/domains/constants.ts","../src/domains/utils.ts","../src/constants.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ErrorCode {\n LICENSE_AGREEMENT = 'license_agreement',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport class APIConnectionStringError extends Error {\n static connectionStringMissing(serviceName?: string) {\n const parts : string[] = ['The'];\n if (typeof serviceName === 'string') {\n parts.push(serviceName);\n }\n parts.push('connection string is not specified.');\n return new this(parts.join(' '));\n }\n\n static connectionStringInvalid(serviceName?: string) {\n const parts : string[] = ['The'];\n if (typeof serviceName === 'string') {\n parts.push(serviceName);\n }\n parts.push('connection string is not valid.');\n return new this(parts.join(' '));\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AnalysisBuildStatus {\n STARTING = 'starting', // ui trigger\n STARTED = 'started', // tb trigger\n\n STOPPING = 'stopping', // ui trigger\n STOPPED = 'stopped', // tb trigger\n\n FINISHED = 'finished', // tb trigger\n FAILED = 'failed', // tb trigger\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisConfigurationStatus {\n NODES = 'nodes',\n MASTER_IMAGE = 'masterImage',\n FILES = 'files',\n FINISHED = 'finished',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisRunStatus {\n STARTING = 'starting',\n STARTED = 'started',\n\n RUNNING = 'running',\n\n STOPPING = 'stopping',\n STOPPED = 'stopped',\n\n FINISHED = 'finished',\n FAILED = 'failed',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisResultStatus {\n STARTED = 'started',\n\n DOWNLOADING = 'downloading',\n DOWNLOADED = 'downloaded',\n\n PROCESSING = 'extracting',\n PROCESSED = 'extracted',\n\n FINISHED = 'finished',\n FAILED = 'failed',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisAPICommand {\n SPIN_UP = 'spinUp',\n TEAR_DOWN = 'tearDown',\n\n BUILD_START = 'buildStart',\n BUILD_STOP = 'buildStop',\n BUILD_STATUS = 'buildStatus',\n\n CONFIGURATION_LOCK = 'configurationLock',\n CONFIGURATION_UNLOCK = 'configurationUnlock',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisContainerPath {\n CODE = '/opt/code/',\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AnalysisAPICommand, AnalysisBuildStatus } from './constants';\nimport type { Analysis } from './entity';\n\ntype CanResult = {\n success: boolean,\n message: string,\n};\n\n/**\n * Check if an analysis can be build based on analysis attributes (build_status, configuration_locked, ...)\n *\n * @param entity\n * @param command\n */\nexport function isAnalysisAPICommandExecutable(\n entity: Analysis,\n command: `${AnalysisAPICommand}`,\n) : CanResult {\n const output : CanResult = {\n success: false,\n message: `The analysis command ${command} cannot be executed.`,\n };\n\n switch (command) {\n case AnalysisAPICommand.BUILD_START: {\n if (!entity.configuration_locked) {\n output.success = false;\n output.message = 'The analysis configuration must be locked before starting the build.';\n return output;\n }\n\n if (!entity.build_status) {\n output.success = true;\n return output;\n }\n\n if (\n entity.build_status === AnalysisBuildStatus.FAILED ||\n entity.build_status === AnalysisBuildStatus.STOPPED\n ) {\n output.success = true;\n return output;\n }\n\n output.message = `The current analysis build status \"${entity.build_status}\" does not allow a build start.`;\n return output;\n }\n case AnalysisAPICommand.BUILD_STOP: {\n if (!entity.configuration_locked) {\n output.message = 'The analysis configuration must be locked before stopping the build.';\n return output;\n }\n\n if (!entity.build_status) {\n output.message = 'The analysis build process has not been initialized.';\n return output;\n }\n\n if (entity.build_status === AnalysisBuildStatus.STOPPING ||\n entity.build_status === AnalysisBuildStatus.STARTED ||\n entity.build_status === AnalysisBuildStatus.STARTING\n ) {\n output.success = true;\n return output;\n }\n\n output.message = `The current analysis build status \"${entity.build_status}\" does not allow a build stop.`;\n return output;\n }\n case AnalysisAPICommand.BUILD_STATUS: {\n if (!entity.configuration_locked) {\n output.message = 'The analysis configuration must be locked before checking the build status.';\n return output;\n }\n\n if (!entity.build_status) {\n output.message = 'The analysis build process has not been initialized.';\n return output;\n }\n\n if (entity.build_status === AnalysisBuildStatus.FINISHED) {\n output.message = 'The analysis build process has already been successfully completed.';\n return output;\n }\n\n output.success = true;\n return output;\n }\n case AnalysisAPICommand.CONFIGURATION_LOCK: {\n if (entity.configuration_locked) {\n output.message = 'The analysis configuration is already locked.';\n return output;\n }\n\n if (entity.build_status) {\n output.message = 'The analysis build process has already been initialized.';\n return output;\n }\n\n // todo: unknown if one of them is an aggregator.\n if (entity.nodes < 2) {\n output.message = 'The analysis requires at least two nodes.';\n return output;\n }\n\n if (!entity.master_image_id) {\n output.message = 'A master image must be assigned to the analysis.';\n return output;\n }\n\n output.success = true;\n return output;\n }\n case AnalysisAPICommand.CONFIGURATION_UNLOCK: {\n if (!entity.configuration_locked) {\n output.message = 'The analysis configuration is already unlocked.';\n return output;\n }\n\n if (!entity.build_status) {\n output.success = true;\n return output;\n }\n\n if (\n entity.build_status === AnalysisBuildStatus.FAILED ||\n entity.build_status === AnalysisBuildStatus.STOPPED ||\n entity.build_status === AnalysisBuildStatus.STOPPING\n ) {\n output.success = true;\n return output;\n }\n\n output.message = `The current analysis build status \"${entity.build_status}\" does not allow unlocking the configuration.`;\n return output;\n }\n }\n\n return output;\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AnalysisBucketType {\n CODE = 'CODE',\n RESULT = 'RESULT',\n TEMP = 'TEMP',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Analysis } from '../analysis';\nimport { AnalysisBucketType } from './constants';\n\nexport function buildAnalysisBucketName(\n type: `${AnalysisBucketType}`,\n id: Analysis['id'],\n) {\n switch (type) {\n case AnalysisBucketType.CODE: {\n return `analysis-code-files.${id}`;\n }\n case AnalysisBucketType.TEMP: {\n return `analysis-temp-files.${id}`;\n }\n case AnalysisBucketType.RESULT: {\n return `analysis-result-files.${id}`;\n }\n }\n\n throw new SyntaxError('The argument can only have any bucket type value.');\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AnalysisNodeApprovalCommand {\n APPROVE = 'approve',\n REJECT = 'reject',\n}\n\nexport enum AnalysisNodeApprovalStatus {\n REJECTED = 'rejected',\n APPROVED = 'approved',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisNodeRunStatus {\n STARTING = 'starting',\n STARTED = 'started',\n\n STOPPING = 'stopping',\n STOPPED = 'stopped',\n\n RUNNING = 'running',\n FINISHED = 'finished',\n\n FAILED = 'failed',\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Realm } from '@authup/core-kit';\n\nexport function buildSocketRealmNamespaceName(realmId: Realm['id']) {\n return `/resources#${realmId}`;\n}\n\nexport function parseSocketRealmNamespaceName(name: string) : string | undefined {\n return name.startsWith('/resources#') ?\n name.substring('/resources#'.length) :\n name;\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum MasterImageCommand {\n SYNC = 'sync',\n}\n\nexport enum MasterImageGroupType {\n LANGUAGE = 'language',\n DEFAULT = 'default',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ProjectNodeApprovalCommand {\n APPROVE = 'approve',\n REJECT = 'reject',\n}\n\nexport enum ProjectNodeApprovalStatus {\n REJECTED = 'rejected',\n APPROVED = 'approved',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d).{8,}$/;\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Registry } from './entity';\n\nexport function buildRegistryClientConnectionStringFromRegistry(entity: Registry) {\n // todo: support other registries beside harbor and v2.0\n\n const url = `https://${entity.host}/api/v2.0/`;\n return `${entity.account_name}:${entity.account_secret}@${url}`;\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum RegistryProjectType {\n DEFAULT = 'default',\n AGGREGATOR = 'aggregator',\n INCOMING = 'incoming',\n OUTGOING = 'outgoing',\n MASTER_IMAGES = 'masterImages',\n NODE = 'node',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RegistryProject } from './entity';\n\nexport function buildSocketRegistryProjectRoomName(id?: RegistryProject['id']) {\n return `registry-projects${id ? `#${id}` : ''}`;\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createNanoID } from '@privateaim/kit';\n\nexport function generateRegistryProjectId() {\n return createNanoID('0123456789abcdefghijklmnopqrstuvwxyz');\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum NodeType {\n AGGREGATOR = 'aggregator',\n DEFAULT = 'default',\n}\n\nexport enum NodeSocketClientEventName {\n CONNECT = 'nodeConnect',\n DISCONNECT = 'nodeDisconnect',\n MESSAGE = 'nodeMessage',\n}\n\nexport enum NodeSocketServerEventName {\n CONNECTED = 'nodeConnected',\n DISCONNECTED = 'nodeDisconnected',\n MESSAGE = 'nodeMessage',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum RegistryAPICommand {\n SETUP = 'setup',\n CLEANUP = 'cleanup',\n DELETE = 'delete',\n\n PROJECT_LINK = 'projectLink',\n PROJECT_UNLINK = 'projectUnlink',\n}\n\n/**\n * Incoming train project name\n */\nexport const REGISTRY_INCOMING_PROJECT_NAME = 'incoming';\n\n/**\n * Outgoing train project name\n */\nexport const REGISTRY_OUTGOING_PROJECT_NAME = 'outgoing';\n\n/**\n * Master Image project name\n */\nexport const REGISTRY_MASTER_IMAGE_PROJECT_NAME = 'master';\n\n/**\n * Latest image tag\n */\nexport const REGISTRY_ARTIFACT_TAG_LATEST = 'latest';\n\n/**\n * base image tag\n */\nexport const REGISTRY_ARTIFACT_TAG_BASE = 'base';\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum SecretStorageAPICommand {\n ENGINE_CREATE = 'engineCreate',\n\n ENGINE_KEY_SAVE = 'engineKeySave',\n ENGINE_KEY_PULL = 'engineKeyPull',\n ENGINE_KEY_DROP = 'engineKeyDrop',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ServiceID {\n // Core Service(s)\n SYSTEM = 'system',\n\n // Third Party Service(s)\n REGISTRY = 'registry',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum StationRegistryAPICommand {\n SYNC = 'sync',\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum DomainType {\n MASTER_IMAGE = 'masterImage',\n MASTER_IMAGE_EVENT_LOG = 'masterImageEventLog',\n MASTER_IMAGE_GROUP = 'masterImageGroup',\n PROJECT = 'project',\n PROJECT_NODE = 'projectNode',\n REGISTRY = 'registry',\n REGISTRY_PROJECT = 'registryProject',\n NODE = 'node',\n ANALYSIS = 'analysis',\n ANALYSIS_BUCKET = 'analysisBucket',\n ANALYSIS_BUCKET_FILE = 'analysisBucketFile',\n ANALYSIS_LOG = 'analysisLog',\n ANALYSIS_NODE = 'analysisNode',\n ANALYSIS_NODE_LOG = 'analysisNodeLog',\n ANALYSIS_PERMISSION = 'analysisPermission',\n}\n\nexport enum DomainSubType {\n PROJECT_NODE_IN = 'projectNodeIn',\n PROJECT_NODE_OUT = 'projectNodeOut',\n ANALYSIS_NODE_IN = 'analysisNodeIn',\n ANALYSIS_NODE_OUT = 'analysisNodeOut',\n}\n\nexport enum DomainEventName {\n CREATED = 'created',\n DELETED = 'deleted',\n UPDATED = 'updated',\n}\n\nexport enum DomainEventSubscriptionName {\n SUBSCRIBE = 'subscribe',\n UNSUBSCRIBE = 'unsubscribe',\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\n// todo: rename to buildEntityChannelName\nexport function buildDomainChannelName(domain: string, id?: string | number) {\n if (typeof id === 'string' || typeof id === 'number') {\n return `${domain}:${id}`;\n }\n\n return domain;\n}\n\n// todo: rename to buildEntityNamespaceName\nexport function buildDomainNamespaceName(id?: string) {\n return id ?\n `/resources:${id}` :\n '/resources';\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum EnvironmentName {\n TEST = 'test',\n DEVELOPMENT = 'development',\n PRODUCTION = 'production',\n}\n"],"names":["ErrorCode","APIConnectionStringError","Error","connectionStringMissing","serviceName","parts","push","join","connectionStringInvalid","AnalysisBuildStatus","AnalysisConfigurationStatus","AnalysisRunStatus","AnalysisResultStatus","AnalysisAPICommand","AnalysisContainerPath","isAnalysisAPICommandExecutable","entity","command","output","success","message","BUILD_START","configuration_locked","build_status","FAILED","STOPPED","BUILD_STOP","STOPPING","STARTED","STARTING","BUILD_STATUS","FINISHED","CONFIGURATION_LOCK","nodes","master_image_id","CONFIGURATION_UNLOCK","AnalysisBucketType","buildAnalysisBucketName","type","id","CODE","TEMP","RESULT","SyntaxError","AnalysisNodeApprovalCommand","AnalysisNodeApprovalStatus","AnalysisNodeRunStatus","buildSocketRealmNamespaceName","realmId","parseSocketRealmNamespaceName","name","startsWith","substring","length","MasterImageCommand","MasterImageGroupType","ProjectNodeApprovalCommand","ProjectNodeApprovalStatus","registryRobotSecretRegex","buildRegistryClientConnectionStringFromRegistry","url","host","account_name","account_secret","RegistryProjectType","buildSocketRegistryProjectRoomName","generateRegistryProjectId","createNanoID","NodeType","NodeSocketClientEventName","NodeSocketServerEventName","RegistryAPICommand","REGISTRY_INCOMING_PROJECT_NAME","REGISTRY_OUTGOING_PROJECT_NAME","REGISTRY_MASTER_IMAGE_PROJECT_NAME","REGISTRY_ARTIFACT_TAG_LATEST","REGISTRY_ARTIFACT_TAG_BASE","SecretStorageAPICommand","ServiceID","StationRegistryAPICommand","DomainType","DomainSubType","DomainEventName","DomainEventSubscriptionName","buildDomainChannelName","domain","buildDomainNamespaceName","EnvironmentName"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -486,19 +486,16 @@ var DomainEventSubscriptionName = /*#__PURE__*/ function(DomainEventSubscription
|
|
|
486
486
|
* Author Peter Placzek (tada5hi)
|
|
487
487
|
* For the full copyright and license information,
|
|
488
488
|
* view the LICENSE file that was distributed with this source code.
|
|
489
|
-
*/
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
return type + eventCapitalized;
|
|
496
|
-
}
|
|
497
|
-
function buildDomainChannelName(type, id) {
|
|
498
|
-
return `${type}${id ? `:${id}` : ''}`;
|
|
489
|
+
*/ // todo: rename to buildEntityChannelName
|
|
490
|
+
function buildDomainChannelName(domain, id) {
|
|
491
|
+
if (typeof id === 'string' || typeof id === 'number') {
|
|
492
|
+
return `${domain}:${id}`;
|
|
493
|
+
}
|
|
494
|
+
return domain;
|
|
499
495
|
}
|
|
496
|
+
// todo: rename to buildEntityNamespaceName
|
|
500
497
|
function buildDomainNamespaceName(id) {
|
|
501
|
-
return id ? `/resources
|
|
498
|
+
return id ? `/resources:${id}` : '/resources';
|
|
502
499
|
}
|
|
503
500
|
|
|
504
501
|
/*
|
|
@@ -513,5 +510,5 @@ function buildDomainNamespaceName(id) {
|
|
|
513
510
|
return EnvironmentName;
|
|
514
511
|
}({});
|
|
515
512
|
|
|
516
|
-
export { APIConnectionStringError, AnalysisAPICommand, AnalysisBucketType, AnalysisBuildStatus, AnalysisConfigurationStatus, AnalysisContainerPath, AnalysisNodeApprovalCommand, AnalysisNodeApprovalStatus, AnalysisNodeRunStatus, AnalysisResultStatus, AnalysisRunStatus, DomainEventName, DomainEventSubscriptionName, DomainSubType, DomainType, EnvironmentName, ErrorCode, MasterImageCommand, MasterImageGroupType, NodeSocketClientEventName, NodeSocketServerEventName, NodeType, ProjectNodeApprovalCommand, ProjectNodeApprovalStatus, REGISTRY_ARTIFACT_TAG_BASE, REGISTRY_ARTIFACT_TAG_LATEST, REGISTRY_INCOMING_PROJECT_NAME, REGISTRY_MASTER_IMAGE_PROJECT_NAME, REGISTRY_OUTGOING_PROJECT_NAME, RegistryAPICommand, RegistryProjectType, SecretStorageAPICommand, ServiceID, StationRegistryAPICommand, buildAnalysisBucketName, buildDomainChannelName,
|
|
513
|
+
export { APIConnectionStringError, AnalysisAPICommand, AnalysisBucketType, AnalysisBuildStatus, AnalysisConfigurationStatus, AnalysisContainerPath, AnalysisNodeApprovalCommand, AnalysisNodeApprovalStatus, AnalysisNodeRunStatus, AnalysisResultStatus, AnalysisRunStatus, DomainEventName, DomainEventSubscriptionName, DomainSubType, DomainType, EnvironmentName, ErrorCode, MasterImageCommand, MasterImageGroupType, NodeSocketClientEventName, NodeSocketServerEventName, NodeType, ProjectNodeApprovalCommand, ProjectNodeApprovalStatus, REGISTRY_ARTIFACT_TAG_BASE, REGISTRY_ARTIFACT_TAG_LATEST, REGISTRY_INCOMING_PROJECT_NAME, REGISTRY_MASTER_IMAGE_PROJECT_NAME, REGISTRY_OUTGOING_PROJECT_NAME, RegistryAPICommand, RegistryProjectType, SecretStorageAPICommand, ServiceID, StationRegistryAPICommand, buildAnalysisBucketName, buildDomainChannelName, buildDomainNamespaceName, buildRegistryClientConnectionStringFromRegistry, buildSocketRealmNamespaceName, buildSocketRegistryProjectRoomName, generateRegistryProjectId, isAnalysisAPICommandExecutable, parseSocketRealmNamespaceName, registryRobotSecretRegex };
|
|
517
514
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/error/constants.ts","../src/error/entities/connection-string.ts","../src/domains/analysis/constants.ts","../src/domains/analysis/helpers.ts","../src/domains/analysis-bucket/constants.ts","../src/domains/analysis-bucket/utils.ts","../src/domains/analysis-node/constants.ts","../src/domains/realm/socket.ts","../src/domains/master-image/constants.ts","../src/domains/project-node/constants.ts","../src/domains/registry/constants.ts","../src/domains/registry/utils.ts","../src/domains/registry-project/constants.ts","../src/domains/registry-project/socket.ts","../src/domains/registry-project/utils.ts","../src/domains/node/constants.ts","../src/domains/service/registry/constants.ts","../src/domains/service/secret-engine/constants.ts","../src/domains/service/constants.ts","../src/domains/service/station-registry/constants.ts","../src/domains/constants.ts","../src/domains/utils.ts","../src/constants.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ErrorCode {\n LICENSE_AGREEMENT = 'license_agreement',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport class APIConnectionStringError extends Error {\n static connectionStringMissing(serviceName?: string) {\n const parts : string[] = ['The'];\n if (typeof serviceName === 'string') {\n parts.push(serviceName);\n }\n parts.push('connection string is not specified.');\n return new this(parts.join(' '));\n }\n\n static connectionStringInvalid(serviceName?: string) {\n const parts : string[] = ['The'];\n if (typeof serviceName === 'string') {\n parts.push(serviceName);\n }\n parts.push('connection string is not valid.');\n return new this(parts.join(' '));\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AnalysisBuildStatus {\n STARTING = 'starting', // ui trigger\n STARTED = 'started', // tb trigger\n\n STOPPING = 'stopping', // ui trigger\n STOPPED = 'stopped', // tb trigger\n\n FINISHED = 'finished', // tb trigger\n FAILED = 'failed', // tb trigger\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisConfigurationStatus {\n NODES = 'nodes',\n MASTER_IMAGE = 'masterImage',\n FILES = 'files',\n FINISHED = 'finished',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisRunStatus {\n STARTING = 'starting',\n STARTED = 'started',\n\n RUNNING = 'running',\n\n STOPPING = 'stopping',\n STOPPED = 'stopped',\n\n FINISHED = 'finished',\n FAILED = 'failed',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisResultStatus {\n STARTED = 'started',\n\n DOWNLOADING = 'downloading',\n DOWNLOADED = 'downloaded',\n\n PROCESSING = 'extracting',\n PROCESSED = 'extracted',\n\n FINISHED = 'finished',\n FAILED = 'failed',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisAPICommand {\n SPIN_UP = 'spinUp',\n TEAR_DOWN = 'tearDown',\n\n BUILD_START = 'buildStart',\n BUILD_STOP = 'buildStop',\n BUILD_STATUS = 'buildStatus',\n\n CONFIGURATION_LOCK = 'configurationLock',\n CONFIGURATION_UNLOCK = 'configurationUnlock',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisContainerPath {\n CODE = '/opt/code/',\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AnalysisAPICommand, AnalysisBuildStatus } from './constants';\nimport type { Analysis } from './entity';\n\ntype CanResult = {\n success: boolean,\n message: string,\n};\n\n/**\n * Check if an analysis can be build based on analysis attributes (build_status, configuration_locked, ...)\n *\n * @param entity\n * @param command\n */\nexport function isAnalysisAPICommandExecutable(\n entity: Analysis,\n command: `${AnalysisAPICommand}`,\n) : CanResult {\n const output : CanResult = {\n success: false,\n message: `The analysis command ${command} cannot be executed.`,\n };\n\n switch (command) {\n case AnalysisAPICommand.BUILD_START: {\n if (!entity.configuration_locked) {\n output.success = false;\n output.message = 'The analysis configuration must be locked before starting the build.';\n return output;\n }\n\n if (!entity.build_status) {\n output.success = true;\n return output;\n }\n\n if (\n entity.build_status === AnalysisBuildStatus.FAILED ||\n entity.build_status === AnalysisBuildStatus.STOPPED\n ) {\n output.success = true;\n return output;\n }\n\n output.message = `The current analysis build status \"${entity.build_status}\" does not allow a build start.`;\n return output;\n }\n case AnalysisAPICommand.BUILD_STOP: {\n if (!entity.configuration_locked) {\n output.message = 'The analysis configuration must be locked before stopping the build.';\n return output;\n }\n\n if (!entity.build_status) {\n output.message = 'The analysis build process has not been initialized.';\n return output;\n }\n\n if (entity.build_status === AnalysisBuildStatus.STOPPING ||\n entity.build_status === AnalysisBuildStatus.STARTED ||\n entity.build_status === AnalysisBuildStatus.STARTING\n ) {\n output.success = true;\n return output;\n }\n\n output.message = `The current analysis build status \"${entity.build_status}\" does not allow a build stop.`;\n return output;\n }\n case AnalysisAPICommand.BUILD_STATUS: {\n if (!entity.configuration_locked) {\n output.message = 'The analysis configuration must be locked before checking the build status.';\n return output;\n }\n\n if (!entity.build_status) {\n output.message = 'The analysis build process has not been initialized.';\n return output;\n }\n\n if (entity.build_status === AnalysisBuildStatus.FINISHED) {\n output.message = 'The analysis build process has already been successfully completed.';\n return output;\n }\n\n output.success = true;\n return output;\n }\n case AnalysisAPICommand.CONFIGURATION_LOCK: {\n if (entity.configuration_locked) {\n output.message = 'The analysis configuration is already locked.';\n return output;\n }\n\n if (entity.build_status) {\n output.message = 'The analysis build process has already been initialized.';\n return output;\n }\n\n // todo: unknown if one of them is an aggregator.\n if (entity.nodes < 2) {\n output.message = 'The analysis requires at least two nodes.';\n return output;\n }\n\n if (!entity.master_image_id) {\n output.message = 'A master image must be assigned to the analysis.';\n return output;\n }\n\n output.success = true;\n return output;\n }\n case AnalysisAPICommand.CONFIGURATION_UNLOCK: {\n if (!entity.configuration_locked) {\n output.message = 'The analysis configuration is already unlocked.';\n return output;\n }\n\n if (!entity.build_status) {\n output.success = true;\n return output;\n }\n\n if (\n entity.build_status === AnalysisBuildStatus.FAILED ||\n entity.build_status === AnalysisBuildStatus.STOPPED ||\n entity.build_status === AnalysisBuildStatus.STOPPING\n ) {\n output.success = true;\n return output;\n }\n\n output.message = `The current analysis build status \"${entity.build_status}\" does not allow unlocking the configuration.`;\n return output;\n }\n }\n\n return output;\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AnalysisBucketType {\n CODE = 'CODE',\n RESULT = 'RESULT',\n TEMP = 'TEMP',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Analysis } from '../analysis';\nimport { AnalysisBucketType } from './constants';\n\nexport function buildAnalysisBucketName(\n type: `${AnalysisBucketType}`,\n id: Analysis['id'],\n) {\n switch (type) {\n case AnalysisBucketType.CODE: {\n return `analysis-code-files.${id}`;\n }\n case AnalysisBucketType.TEMP: {\n return `analysis-temp-files.${id}`;\n }\n case AnalysisBucketType.RESULT: {\n return `analysis-result-files.${id}`;\n }\n }\n\n throw new SyntaxError('The argument can only have any bucket type value.');\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AnalysisNodeApprovalCommand {\n APPROVE = 'approve',\n REJECT = 'reject',\n}\n\nexport enum AnalysisNodeApprovalStatus {\n REJECTED = 'rejected',\n APPROVED = 'approved',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisNodeRunStatus {\n STARTING = 'starting',\n STARTED = 'started',\n\n STOPPING = 'stopping',\n STOPPED = 'stopped',\n\n RUNNING = 'running',\n FINISHED = 'finished',\n\n FAILED = 'failed',\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Realm } from '@authup/core-kit';\n\nexport function buildSocketRealmNamespaceName(realmId: Realm['id']) {\n return `/resources#${realmId}`;\n}\n\nexport function parseSocketRealmNamespaceName(name: string) : string | undefined {\n return name.startsWith('/resources#') ?\n name.substring('/resources#'.length) :\n name;\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum MasterImageCommand {\n SYNC = 'sync',\n}\n\nexport enum MasterImageGroupType {\n LANGUAGE = 'language',\n DEFAULT = 'default',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ProjectNodeApprovalCommand {\n APPROVE = 'approve',\n REJECT = 'reject',\n}\n\nexport enum ProjectNodeApprovalStatus {\n REJECTED = 'rejected',\n APPROVED = 'approved',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d).{8,}$/;\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Registry } from './entity';\n\nexport function buildRegistryClientConnectionStringFromRegistry(entity: Registry) {\n // todo: support other registries beside harbor and v2.0\n\n const url = `https://${entity.host}/api/v2.0/`;\n return `${entity.account_name}:${entity.account_secret}@${url}`;\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum RegistryProjectType {\n DEFAULT = 'default',\n AGGREGATOR = 'aggregator',\n INCOMING = 'incoming',\n OUTGOING = 'outgoing',\n MASTER_IMAGES = 'masterImages',\n NODE = 'node',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RegistryProject } from './entity';\n\nexport function buildSocketRegistryProjectRoomName(id?: RegistryProject['id']) {\n return `registry-projects${id ? `#${id}` : ''}`;\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createNanoID } from '@privateaim/kit';\n\nexport function generateRegistryProjectId() {\n return createNanoID('0123456789abcdefghijklmnopqrstuvwxyz');\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum NodeType {\n AGGREGATOR = 'aggregator',\n DEFAULT = 'default',\n}\n\nexport enum NodeSocketClientEventName {\n CONNECT = 'nodeConnect',\n DISCONNECT = 'nodeDisconnect',\n MESSAGE = 'nodeMessage',\n}\n\nexport enum NodeSocketServerEventName {\n CONNECTED = 'nodeConnected',\n DISCONNECTED = 'nodeDisconnected',\n MESSAGE = 'nodeMessage',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum RegistryAPICommand {\n SETUP = 'setup',\n CLEANUP = 'cleanup',\n DELETE = 'delete',\n\n PROJECT_LINK = 'projectLink',\n PROJECT_UNLINK = 'projectUnlink',\n}\n\n/**\n * Incoming train project name\n */\nexport const REGISTRY_INCOMING_PROJECT_NAME = 'incoming';\n\n/**\n * Outgoing train project name\n */\nexport const REGISTRY_OUTGOING_PROJECT_NAME = 'outgoing';\n\n/**\n * Master Image project name\n */\nexport const REGISTRY_MASTER_IMAGE_PROJECT_NAME = 'master';\n\n/**\n * Latest image tag\n */\nexport const REGISTRY_ARTIFACT_TAG_LATEST = 'latest';\n\n/**\n * base image tag\n */\nexport const REGISTRY_ARTIFACT_TAG_BASE = 'base';\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum SecretStorageAPICommand {\n ENGINE_CREATE = 'engineCreate',\n\n ENGINE_KEY_SAVE = 'engineKeySave',\n ENGINE_KEY_PULL = 'engineKeyPull',\n ENGINE_KEY_DROP = 'engineKeyDrop',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ServiceID {\n // Core Service(s)\n SYSTEM = 'system',\n\n // Third Party Service(s)\n REGISTRY = 'registry',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum StationRegistryAPICommand {\n SYNC = 'sync',\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum DomainType {\n MASTER_IMAGE = 'masterImage',\n MASTER_IMAGE_EVENT_LOG = 'masterImageEventLog',\n MASTER_IMAGE_GROUP = 'masterImageGroup',\n PROJECT = 'project',\n PROJECT_NODE = 'projectNode',\n REGISTRY = 'registry',\n REGISTRY_PROJECT = 'registryProject',\n NODE = 'node',\n ANALYSIS = 'analysis',\n ANALYSIS_BUCKET = 'analysisBucket',\n ANALYSIS_BUCKET_FILE = 'analysisBucketFile',\n ANALYSIS_LOG = 'analysisLog',\n ANALYSIS_NODE = 'analysisNode',\n ANALYSIS_NODE_LOG = 'analysisNodeLog',\n ANALYSIS_PERMISSION = 'analysisPermission',\n}\n\nexport enum DomainSubType {\n PROJECT_NODE_IN = 'projectNodeIn',\n PROJECT_NODE_OUT = 'projectNodeOut',\n ANALYSIS_NODE_IN = 'analysisNodeIn',\n ANALYSIS_NODE_OUT = 'analysisNodeOut',\n}\n\nexport enum DomainEventName {\n CREATED = 'created',\n DELETED = 'deleted',\n UPDATED = 'updated',\n}\n\nexport enum DomainEventSubscriptionName {\n SUBSCRIBE = 'subscribe',\n UNSUBSCRIBE = 'unsubscribe',\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type {\n DomainEventName, DomainEventSubscriptionName,\n} from './constants';\nimport type {\n DomainEventFullName, DomainEventSubscriptionFullName,\n} from './types';\n\nexport function buildDomainEventFullName<T extends string>(\n type: T,\n event: `${DomainEventName}`,\n) : DomainEventFullName<T> {\n const eventCapitalized = event.substring(0, 1).toUpperCase() + event.substring(1);\n\n return type + eventCapitalized as DomainEventFullName<T>;\n}\n\nexport function buildDomainEventSubscriptionFullName<\n T extends string,\n>(\n type: T,\n event: `${DomainEventSubscriptionName}`,\n) : DomainEventSubscriptionFullName<T> {\n const eventCapitalized = event.substring(0, 1).toUpperCase() + event.substring(1);\n\n return type + eventCapitalized as DomainEventSubscriptionFullName<T>;\n}\n\nexport function buildDomainChannelName(type: string, id?: string | number) {\n return `${type}${id ? `:${id}` : ''}`;\n}\n\nexport function buildDomainNamespaceName(id?: string) {\n return id ?\n `/resources#${id}` :\n '/resources';\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum EnvironmentName {\n TEST = 'test',\n DEVELOPMENT = 'development',\n PRODUCTION = 'production',\n}\n"],"names":["ErrorCode","APIConnectionStringError","Error","connectionStringMissing","serviceName","parts","push","join","connectionStringInvalid","AnalysisBuildStatus","AnalysisConfigurationStatus","AnalysisRunStatus","AnalysisResultStatus","AnalysisAPICommand","AnalysisContainerPath","isAnalysisAPICommandExecutable","entity","command","output","success","message","BUILD_START","configuration_locked","build_status","FAILED","STOPPED","BUILD_STOP","STOPPING","STARTED","STARTING","BUILD_STATUS","FINISHED","CONFIGURATION_LOCK","nodes","master_image_id","CONFIGURATION_UNLOCK","AnalysisBucketType","buildAnalysisBucketName","type","id","CODE","TEMP","RESULT","SyntaxError","AnalysisNodeApprovalCommand","AnalysisNodeApprovalStatus","AnalysisNodeRunStatus","buildSocketRealmNamespaceName","realmId","parseSocketRealmNamespaceName","name","startsWith","substring","length","MasterImageCommand","MasterImageGroupType","ProjectNodeApprovalCommand","ProjectNodeApprovalStatus","registryRobotSecretRegex","buildRegistryClientConnectionStringFromRegistry","url","host","account_name","account_secret","RegistryProjectType","buildSocketRegistryProjectRoomName","generateRegistryProjectId","createNanoID","NodeType","NodeSocketClientEventName","NodeSocketServerEventName","RegistryAPICommand","REGISTRY_INCOMING_PROJECT_NAME","REGISTRY_OUTGOING_PROJECT_NAME","REGISTRY_MASTER_IMAGE_PROJECT_NAME","REGISTRY_ARTIFACT_TAG_LATEST","REGISTRY_ARTIFACT_TAG_BASE","SecretStorageAPICommand","ServiceID","StationRegistryAPICommand","DomainType","DomainSubType","DomainEventName","DomainEventSubscriptionName","buildDomainEventFullName","event","eventCapitalized","toUpperCase","buildDomainEventSubscriptionFullName","buildDomainChannelName","buildDomainNamespaceName","EnvironmentName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/error/constants.ts","../src/error/entities/connection-string.ts","../src/domains/analysis/constants.ts","../src/domains/analysis/helpers.ts","../src/domains/analysis-bucket/constants.ts","../src/domains/analysis-bucket/utils.ts","../src/domains/analysis-node/constants.ts","../src/domains/realm/socket.ts","../src/domains/master-image/constants.ts","../src/domains/project-node/constants.ts","../src/domains/registry/constants.ts","../src/domains/registry/utils.ts","../src/domains/registry-project/constants.ts","../src/domains/registry-project/socket.ts","../src/domains/registry-project/utils.ts","../src/domains/node/constants.ts","../src/domains/service/registry/constants.ts","../src/domains/service/secret-engine/constants.ts","../src/domains/service/constants.ts","../src/domains/service/station-registry/constants.ts","../src/domains/constants.ts","../src/domains/utils.ts","../src/constants.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ErrorCode {\n LICENSE_AGREEMENT = 'license_agreement',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport class APIConnectionStringError extends Error {\n static connectionStringMissing(serviceName?: string) {\n const parts : string[] = ['The'];\n if (typeof serviceName === 'string') {\n parts.push(serviceName);\n }\n parts.push('connection string is not specified.');\n return new this(parts.join(' '));\n }\n\n static connectionStringInvalid(serviceName?: string) {\n const parts : string[] = ['The'];\n if (typeof serviceName === 'string') {\n parts.push(serviceName);\n }\n parts.push('connection string is not valid.');\n return new this(parts.join(' '));\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AnalysisBuildStatus {\n STARTING = 'starting', // ui trigger\n STARTED = 'started', // tb trigger\n\n STOPPING = 'stopping', // ui trigger\n STOPPED = 'stopped', // tb trigger\n\n FINISHED = 'finished', // tb trigger\n FAILED = 'failed', // tb trigger\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisConfigurationStatus {\n NODES = 'nodes',\n MASTER_IMAGE = 'masterImage',\n FILES = 'files',\n FINISHED = 'finished',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisRunStatus {\n STARTING = 'starting',\n STARTED = 'started',\n\n RUNNING = 'running',\n\n STOPPING = 'stopping',\n STOPPED = 'stopped',\n\n FINISHED = 'finished',\n FAILED = 'failed',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisResultStatus {\n STARTED = 'started',\n\n DOWNLOADING = 'downloading',\n DOWNLOADED = 'downloaded',\n\n PROCESSING = 'extracting',\n PROCESSED = 'extracted',\n\n FINISHED = 'finished',\n FAILED = 'failed',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisAPICommand {\n SPIN_UP = 'spinUp',\n TEAR_DOWN = 'tearDown',\n\n BUILD_START = 'buildStart',\n BUILD_STOP = 'buildStop',\n BUILD_STATUS = 'buildStatus',\n\n CONFIGURATION_LOCK = 'configurationLock',\n CONFIGURATION_UNLOCK = 'configurationUnlock',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisContainerPath {\n CODE = '/opt/code/',\n}\n","/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AnalysisAPICommand, AnalysisBuildStatus } from './constants';\nimport type { Analysis } from './entity';\n\ntype CanResult = {\n success: boolean,\n message: string,\n};\n\n/**\n * Check if an analysis can be build based on analysis attributes (build_status, configuration_locked, ...)\n *\n * @param entity\n * @param command\n */\nexport function isAnalysisAPICommandExecutable(\n entity: Analysis,\n command: `${AnalysisAPICommand}`,\n) : CanResult {\n const output : CanResult = {\n success: false,\n message: `The analysis command ${command} cannot be executed.`,\n };\n\n switch (command) {\n case AnalysisAPICommand.BUILD_START: {\n if (!entity.configuration_locked) {\n output.success = false;\n output.message = 'The analysis configuration must be locked before starting the build.';\n return output;\n }\n\n if (!entity.build_status) {\n output.success = true;\n return output;\n }\n\n if (\n entity.build_status === AnalysisBuildStatus.FAILED ||\n entity.build_status === AnalysisBuildStatus.STOPPED\n ) {\n output.success = true;\n return output;\n }\n\n output.message = `The current analysis build status \"${entity.build_status}\" does not allow a build start.`;\n return output;\n }\n case AnalysisAPICommand.BUILD_STOP: {\n if (!entity.configuration_locked) {\n output.message = 'The analysis configuration must be locked before stopping the build.';\n return output;\n }\n\n if (!entity.build_status) {\n output.message = 'The analysis build process has not been initialized.';\n return output;\n }\n\n if (entity.build_status === AnalysisBuildStatus.STOPPING ||\n entity.build_status === AnalysisBuildStatus.STARTED ||\n entity.build_status === AnalysisBuildStatus.STARTING\n ) {\n output.success = true;\n return output;\n }\n\n output.message = `The current analysis build status \"${entity.build_status}\" does not allow a build stop.`;\n return output;\n }\n case AnalysisAPICommand.BUILD_STATUS: {\n if (!entity.configuration_locked) {\n output.message = 'The analysis configuration must be locked before checking the build status.';\n return output;\n }\n\n if (!entity.build_status) {\n output.message = 'The analysis build process has not been initialized.';\n return output;\n }\n\n if (entity.build_status === AnalysisBuildStatus.FINISHED) {\n output.message = 'The analysis build process has already been successfully completed.';\n return output;\n }\n\n output.success = true;\n return output;\n }\n case AnalysisAPICommand.CONFIGURATION_LOCK: {\n if (entity.configuration_locked) {\n output.message = 'The analysis configuration is already locked.';\n return output;\n }\n\n if (entity.build_status) {\n output.message = 'The analysis build process has already been initialized.';\n return output;\n }\n\n // todo: unknown if one of them is an aggregator.\n if (entity.nodes < 2) {\n output.message = 'The analysis requires at least two nodes.';\n return output;\n }\n\n if (!entity.master_image_id) {\n output.message = 'A master image must be assigned to the analysis.';\n return output;\n }\n\n output.success = true;\n return output;\n }\n case AnalysisAPICommand.CONFIGURATION_UNLOCK: {\n if (!entity.configuration_locked) {\n output.message = 'The analysis configuration is already unlocked.';\n return output;\n }\n\n if (!entity.build_status) {\n output.success = true;\n return output;\n }\n\n if (\n entity.build_status === AnalysisBuildStatus.FAILED ||\n entity.build_status === AnalysisBuildStatus.STOPPED ||\n entity.build_status === AnalysisBuildStatus.STOPPING\n ) {\n output.success = true;\n return output;\n }\n\n output.message = `The current analysis build status \"${entity.build_status}\" does not allow unlocking the configuration.`;\n return output;\n }\n }\n\n return output;\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AnalysisBucketType {\n CODE = 'CODE',\n RESULT = 'RESULT',\n TEMP = 'TEMP',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Analysis } from '../analysis';\nimport { AnalysisBucketType } from './constants';\n\nexport function buildAnalysisBucketName(\n type: `${AnalysisBucketType}`,\n id: Analysis['id'],\n) {\n switch (type) {\n case AnalysisBucketType.CODE: {\n return `analysis-code-files.${id}`;\n }\n case AnalysisBucketType.TEMP: {\n return `analysis-temp-files.${id}`;\n }\n case AnalysisBucketType.RESULT: {\n return `analysis-result-files.${id}`;\n }\n }\n\n throw new SyntaxError('The argument can only have any bucket type value.');\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum AnalysisNodeApprovalCommand {\n APPROVE = 'approve',\n REJECT = 'reject',\n}\n\nexport enum AnalysisNodeApprovalStatus {\n REJECTED = 'rejected',\n APPROVED = 'approved',\n}\n\n// -------------------------------------------------------------------------\n\nexport enum AnalysisNodeRunStatus {\n STARTING = 'starting',\n STARTED = 'started',\n\n STOPPING = 'stopping',\n STOPPED = 'stopped',\n\n RUNNING = 'running',\n FINISHED = 'finished',\n\n FAILED = 'failed',\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Realm } from '@authup/core-kit';\n\nexport function buildSocketRealmNamespaceName(realmId: Realm['id']) {\n return `/resources#${realmId}`;\n}\n\nexport function parseSocketRealmNamespaceName(name: string) : string | undefined {\n return name.startsWith('/resources#') ?\n name.substring('/resources#'.length) :\n name;\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum MasterImageCommand {\n SYNC = 'sync',\n}\n\nexport enum MasterImageGroupType {\n LANGUAGE = 'language',\n DEFAULT = 'default',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ProjectNodeApprovalCommand {\n APPROVE = 'approve',\n REJECT = 'reject',\n}\n\nexport enum ProjectNodeApprovalStatus {\n REJECTED = 'rejected',\n APPROVED = 'approved',\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport const registryRobotSecretRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d).{8,}$/;\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Registry } from './entity';\n\nexport function buildRegistryClientConnectionStringFromRegistry(entity: Registry) {\n // todo: support other registries beside harbor and v2.0\n\n const url = `https://${entity.host}/api/v2.0/`;\n return `${entity.account_name}:${entity.account_secret}@${url}`;\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum RegistryProjectType {\n DEFAULT = 'default',\n AGGREGATOR = 'aggregator',\n INCOMING = 'incoming',\n OUTGOING = 'outgoing',\n MASTER_IMAGES = 'masterImages',\n NODE = 'node',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RegistryProject } from './entity';\n\nexport function buildSocketRegistryProjectRoomName(id?: RegistryProject['id']) {\n return `registry-projects${id ? `#${id}` : ''}`;\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createNanoID } from '@privateaim/kit';\n\nexport function generateRegistryProjectId() {\n return createNanoID('0123456789abcdefghijklmnopqrstuvwxyz');\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum NodeType {\n AGGREGATOR = 'aggregator',\n DEFAULT = 'default',\n}\n\nexport enum NodeSocketClientEventName {\n CONNECT = 'nodeConnect',\n DISCONNECT = 'nodeDisconnect',\n MESSAGE = 'nodeMessage',\n}\n\nexport enum NodeSocketServerEventName {\n CONNECTED = 'nodeConnected',\n DISCONNECTED = 'nodeDisconnected',\n MESSAGE = 'nodeMessage',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum RegistryAPICommand {\n SETUP = 'setup',\n CLEANUP = 'cleanup',\n DELETE = 'delete',\n\n PROJECT_LINK = 'projectLink',\n PROJECT_UNLINK = 'projectUnlink',\n}\n\n/**\n * Incoming train project name\n */\nexport const REGISTRY_INCOMING_PROJECT_NAME = 'incoming';\n\n/**\n * Outgoing train project name\n */\nexport const REGISTRY_OUTGOING_PROJECT_NAME = 'outgoing';\n\n/**\n * Master Image project name\n */\nexport const REGISTRY_MASTER_IMAGE_PROJECT_NAME = 'master';\n\n/**\n * Latest image tag\n */\nexport const REGISTRY_ARTIFACT_TAG_LATEST = 'latest';\n\n/**\n * base image tag\n */\nexport const REGISTRY_ARTIFACT_TAG_BASE = 'base';\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum SecretStorageAPICommand {\n ENGINE_CREATE = 'engineCreate',\n\n ENGINE_KEY_SAVE = 'engineKeySave',\n ENGINE_KEY_PULL = 'engineKeyPull',\n ENGINE_KEY_DROP = 'engineKeyDrop',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum ServiceID {\n // Core Service(s)\n SYSTEM = 'system',\n\n // Third Party Service(s)\n REGISTRY = 'registry',\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum StationRegistryAPICommand {\n SYNC = 'sync',\n}\n","/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum DomainType {\n MASTER_IMAGE = 'masterImage',\n MASTER_IMAGE_EVENT_LOG = 'masterImageEventLog',\n MASTER_IMAGE_GROUP = 'masterImageGroup',\n PROJECT = 'project',\n PROJECT_NODE = 'projectNode',\n REGISTRY = 'registry',\n REGISTRY_PROJECT = 'registryProject',\n NODE = 'node',\n ANALYSIS = 'analysis',\n ANALYSIS_BUCKET = 'analysisBucket',\n ANALYSIS_BUCKET_FILE = 'analysisBucketFile',\n ANALYSIS_LOG = 'analysisLog',\n ANALYSIS_NODE = 'analysisNode',\n ANALYSIS_NODE_LOG = 'analysisNodeLog',\n ANALYSIS_PERMISSION = 'analysisPermission',\n}\n\nexport enum DomainSubType {\n PROJECT_NODE_IN = 'projectNodeIn',\n PROJECT_NODE_OUT = 'projectNodeOut',\n ANALYSIS_NODE_IN = 'analysisNodeIn',\n ANALYSIS_NODE_OUT = 'analysisNodeOut',\n}\n\nexport enum DomainEventName {\n CREATED = 'created',\n DELETED = 'deleted',\n UPDATED = 'updated',\n}\n\nexport enum DomainEventSubscriptionName {\n SUBSCRIBE = 'subscribe',\n UNSUBSCRIBE = 'unsubscribe',\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\n// todo: rename to buildEntityChannelName\nexport function buildDomainChannelName(domain: string, id?: string | number) {\n if (typeof id === 'string' || typeof id === 'number') {\n return `${domain}:${id}`;\n }\n\n return domain;\n}\n\n// todo: rename to buildEntityNamespaceName\nexport function buildDomainNamespaceName(id?: string) {\n return id ?\n `/resources:${id}` :\n '/resources';\n}\n","/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nexport enum EnvironmentName {\n TEST = 'test',\n DEVELOPMENT = 'development',\n PRODUCTION = 'production',\n}\n"],"names":["ErrorCode","APIConnectionStringError","Error","connectionStringMissing","serviceName","parts","push","join","connectionStringInvalid","AnalysisBuildStatus","AnalysisConfigurationStatus","AnalysisRunStatus","AnalysisResultStatus","AnalysisAPICommand","AnalysisContainerPath","isAnalysisAPICommandExecutable","entity","command","output","success","message","BUILD_START","configuration_locked","build_status","FAILED","STOPPED","BUILD_STOP","STOPPING","STARTED","STARTING","BUILD_STATUS","FINISHED","CONFIGURATION_LOCK","nodes","master_image_id","CONFIGURATION_UNLOCK","AnalysisBucketType","buildAnalysisBucketName","type","id","CODE","TEMP","RESULT","SyntaxError","AnalysisNodeApprovalCommand","AnalysisNodeApprovalStatus","AnalysisNodeRunStatus","buildSocketRealmNamespaceName","realmId","parseSocketRealmNamespaceName","name","startsWith","substring","length","MasterImageCommand","MasterImageGroupType","ProjectNodeApprovalCommand","ProjectNodeApprovalStatus","registryRobotSecretRegex","buildRegistryClientConnectionStringFromRegistry","url","host","account_name","account_secret","RegistryProjectType","buildSocketRegistryProjectRoomName","generateRegistryProjectId","createNanoID","NodeType","NodeSocketClientEventName","NodeSocketServerEventName","RegistryAPICommand","REGISTRY_INCOMING_PROJECT_NAME","REGISTRY_OUTGOING_PROJECT_NAME","REGISTRY_MASTER_IMAGE_PROJECT_NAME","REGISTRY_ARTIFACT_TAG_LATEST","REGISTRY_ARTIFACT_TAG_BASE","SecretStorageAPICommand","ServiceID","StationRegistryAPICommand","DomainType","DomainSubType","DomainEventName","DomainEventSubscriptionName","buildDomainChannelName","domain","buildDomainNamespaceName","EnvironmentName"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@privateaim/core-kit",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.9",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "",
|
|
6
6
|
"exports": {
|
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
"build-watch": "rimraf ./dist && tsc -p tsconfig.build.json --watch"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@authup/core-kit": "^1.0.0-beta.
|
|
30
|
-
"@privateaim/kit": "^0.8.
|
|
29
|
+
"@authup/core-kit": "^1.0.0-beta.26",
|
|
30
|
+
"@privateaim/kit": "^0.8.9"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@authup/core-kit": "^1.0.0-beta.
|
|
34
|
-
"@privateaim/kit": "^0.8.
|
|
33
|
+
"@authup/core-kit": "^1.0.0-beta.26",
|
|
34
|
+
"@privateaim/kit": "^0.8.9"
|
|
35
35
|
},
|
|
36
36
|
"gitHead": "5d3b6f4ce1edf2383bdfbf66e913a08c8a3a2e40",
|
|
37
37
|
"publishConfig": {
|
package/src/domains/types.ts
CHANGED
|
@@ -7,9 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import type { AnalysisBucket } from './analysis-bucket';
|
|
9
9
|
import type { AnalysisNodeLog } from './analysis-node-log';
|
|
10
|
-
import type {
|
|
11
|
-
DomainEventName, DomainEventSubscriptionName, DomainSubType, DomainType,
|
|
12
|
-
} from './constants';
|
|
10
|
+
import type { DomainSubType, DomainType } from './constants';
|
|
13
11
|
import type { MasterImage } from './master-image';
|
|
14
12
|
import type { MasterImageEventLog } from './master-image-event-log';
|
|
15
13
|
import type { MasterImageGroup } from './master-image-group';
|
|
@@ -47,24 +45,3 @@ type DomainTypeMapRaw = {
|
|
|
47
45
|
export type DomainTypeMap = {
|
|
48
46
|
[K in keyof DomainTypeMapRaw as `${K}`]: DomainTypeMapRaw[K]
|
|
49
47
|
};
|
|
50
|
-
|
|
51
|
-
export type EventRecord<
|
|
52
|
-
T extends string,
|
|
53
|
-
D extends Record<string, any>,
|
|
54
|
-
> = {
|
|
55
|
-
type: T,
|
|
56
|
-
data: D,
|
|
57
|
-
event: `${DomainEventName}`,
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
export type DomainsEvents = {
|
|
61
|
-
[T in keyof DomainTypeMap]: EventRecord<T, DomainTypeMap[T]>
|
|
62
|
-
}[keyof DomainTypeMap];
|
|
63
|
-
|
|
64
|
-
export type DomainEventFullName<
|
|
65
|
-
T extends string,
|
|
66
|
-
> = `${T}${Capitalize<`${DomainEventName}`>}`;
|
|
67
|
-
|
|
68
|
-
export type DomainEventSubscriptionFullName<
|
|
69
|
-
T extends string,
|
|
70
|
-
> = `${T}${Capitalize<`${DomainEventSubscriptionName}`>}`;
|
package/src/domains/utils.ts
CHANGED
|
@@ -5,39 +5,18 @@
|
|
|
5
5
|
* view the LICENSE file that was distributed with this source code.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} from './types';
|
|
8
|
+
// todo: rename to buildEntityChannelName
|
|
9
|
+
export function buildDomainChannelName(domain: string, id?: string | number) {
|
|
10
|
+
if (typeof id === 'string' || typeof id === 'number') {
|
|
11
|
+
return `${domain}:${id}`;
|
|
12
|
+
}
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
type: T,
|
|
17
|
-
event: `${DomainEventName}`,
|
|
18
|
-
) : DomainEventFullName<T> {
|
|
19
|
-
const eventCapitalized = event.substring(0, 1).toUpperCase() + event.substring(1);
|
|
20
|
-
|
|
21
|
-
return type + eventCapitalized as DomainEventFullName<T>;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export function buildDomainEventSubscriptionFullName<
|
|
25
|
-
T extends string,
|
|
26
|
-
>(
|
|
27
|
-
type: T,
|
|
28
|
-
event: `${DomainEventSubscriptionName}`,
|
|
29
|
-
) : DomainEventSubscriptionFullName<T> {
|
|
30
|
-
const eventCapitalized = event.substring(0, 1).toUpperCase() + event.substring(1);
|
|
31
|
-
|
|
32
|
-
return type + eventCapitalized as DomainEventSubscriptionFullName<T>;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function buildDomainChannelName(type: string, id?: string | number) {
|
|
36
|
-
return `${type}${id ? `:${id}` : ''}`;
|
|
14
|
+
return domain;
|
|
37
15
|
}
|
|
38
16
|
|
|
17
|
+
// todo: rename to buildEntityNamespaceName
|
|
39
18
|
export function buildDomainNamespaceName(id?: string) {
|
|
40
19
|
return id ?
|
|
41
|
-
`/resources
|
|
20
|
+
`/resources:${id}` :
|
|
42
21
|
'/resources';
|
|
43
22
|
}
|