@epistola.app/valtimo-plugin 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/epistola.app-valtimo-plugin.mjs +143 -3
- package/fesm2022/epistola.app-valtimo-plugin.mjs.map +1 -1
- package/lib/components/epistola-admin-page/epistola-admin-page.component.d.ts +30 -5
- package/lib/models/admin.d.ts +44 -0
- package/lib/services/epistola-admin.service.d.ts +19 -1
- package/package.json +2 -2
- package/sbom.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
3
|
import { EpistolaAdminService } from '../../services/epistola-admin.service';
|
|
4
|
-
import { BpmnValidationViolation, PendingJob, PluginUsageEntry } from '../../models';
|
|
4
|
+
import { BpmnValidationViolation, ChangelogRelease, ClasspathCatalog, PendingJob, PluginUsageEntry } from '../../models';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
/**
|
|
7
7
|
* Combined view model for a single plugin configuration card.
|
|
@@ -25,10 +25,12 @@ export declare class EpistolaAdminPageComponent implements OnInit {
|
|
|
25
25
|
private readonly router;
|
|
26
26
|
cards: ConfigurationCard[];
|
|
27
27
|
selectedCard: ConfigurationCard | null;
|
|
28
|
-
activeTab: 'actions' | 'pending';
|
|
29
|
-
overviewTab: 'configurations' | 'validations';
|
|
28
|
+
activeTab: 'actions' | 'pending' | 'catalogs';
|
|
29
|
+
overviewTab: 'configurations' | 'validations' | 'changelog';
|
|
30
30
|
loading: boolean;
|
|
31
31
|
pluginVersion: string | null;
|
|
32
|
+
changelog: ChangelogRelease[] | null;
|
|
33
|
+
changelogLoading: boolean;
|
|
32
34
|
validationViolations: BpmnValidationViolation[];
|
|
33
35
|
reconcilingExecutionIds: Set<string>;
|
|
34
36
|
reconcileFeedback: {
|
|
@@ -36,6 +38,14 @@ export declare class EpistolaAdminPageComponent implements OnInit {
|
|
|
36
38
|
type: 'success' | 'pending' | 'error';
|
|
37
39
|
message: string;
|
|
38
40
|
} | null;
|
|
41
|
+
catalogs: ClasspathCatalog[];
|
|
42
|
+
catalogsLoading: boolean;
|
|
43
|
+
redeployingSlugs: Set<string>;
|
|
44
|
+
catalogFeedback: {
|
|
45
|
+
slug: string;
|
|
46
|
+
type: 'success' | 'error';
|
|
47
|
+
message: string;
|
|
48
|
+
} | null;
|
|
39
49
|
private connectionStatuses;
|
|
40
50
|
private usageEntries;
|
|
41
51
|
private pendingJobs;
|
|
@@ -47,8 +57,9 @@ export declare class EpistolaAdminPageComponent implements OnInit {
|
|
|
47
57
|
ngOnInit(): void;
|
|
48
58
|
selectConfiguration(card: ConfigurationCard): void;
|
|
49
59
|
backToOverview(): void;
|
|
50
|
-
setActiveTab(tab: 'actions' | 'pending'): void;
|
|
51
|
-
setOverviewTab(tab: 'configurations' | 'validations'): void;
|
|
60
|
+
setActiveTab(tab: 'actions' | 'pending' | 'catalogs'): void;
|
|
61
|
+
setOverviewTab(tab: 'configurations' | 'validations' | 'changelog'): void;
|
|
62
|
+
private loadChangelog;
|
|
52
63
|
refresh(): void;
|
|
53
64
|
exportProcessLink(entry: PluginUsageEntry): void;
|
|
54
65
|
/**
|
|
@@ -58,6 +69,20 @@ export declare class EpistolaAdminPageComponent implements OnInit {
|
|
|
58
69
|
*/
|
|
59
70
|
reconcilePending(job: PendingJob): void;
|
|
60
71
|
isReconciling(job: PendingJob): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Load the classpath catalogs available to (re)deploy for the given
|
|
74
|
+
* configuration. Lazy — only called when a configuration is opened, not for
|
|
75
|
+
* every card in the overview.
|
|
76
|
+
*/
|
|
77
|
+
private loadCatalogs;
|
|
78
|
+
/**
|
|
79
|
+
* Force-redeploy a single classpath catalog to the selected configuration's
|
|
80
|
+
* Epistola installation. Explicit operator action — the backend bypasses the
|
|
81
|
+
* templateSyncEnabled gate and the version-skip check. Reloads the catalog
|
|
82
|
+
* list on success so the deployed version / up-to-date hint refreshes.
|
|
83
|
+
*/
|
|
84
|
+
redeployCatalog(catalog: ClasspathCatalog): void;
|
|
85
|
+
isRedeploying(catalog: ClasspathCatalog): boolean;
|
|
61
86
|
private updateUrl;
|
|
62
87
|
private loadData;
|
|
63
88
|
private tryBuildCards;
|
package/lib/models/admin.d.ts
CHANGED
|
@@ -62,6 +62,50 @@ export interface ReconcileResult {
|
|
|
62
62
|
correlatedCount: number | null;
|
|
63
63
|
correlated: boolean;
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* A catalog discovered on the application classpath, with whether it currently
|
|
67
|
+
* exists in the connected Epistola installation. `status` is resolved live by
|
|
68
|
+
* querying Epistola at request time:
|
|
69
|
+
* - `IN_EPISTOLA` — a catalog with this slug exists in Epistola.
|
|
70
|
+
* - `NOT_IN_EPISTOLA` — Epistola was reached and has no such catalog (redeploy it).
|
|
71
|
+
* - `UNKNOWN` — Epistola could not be reached, so existence is undetermined.
|
|
72
|
+
*/
|
|
73
|
+
export interface ClasspathCatalog {
|
|
74
|
+
slug: string;
|
|
75
|
+
version: string;
|
|
76
|
+
status: 'IN_EPISTOLA' | 'NOT_IN_EPISTOLA' | 'UNKNOWN';
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Outcome of a manual single-catalog redeploy. `success=false` carries the
|
|
80
|
+
* reason in `errorMessage`; the backend returns HTTP 502 in that case.
|
|
81
|
+
*/
|
|
82
|
+
export interface CatalogRedeployResult {
|
|
83
|
+
slug: string;
|
|
84
|
+
version: string;
|
|
85
|
+
success: boolean;
|
|
86
|
+
catalogKey: string | null;
|
|
87
|
+
installed: number;
|
|
88
|
+
updated: number;
|
|
89
|
+
failed: number;
|
|
90
|
+
total: number;
|
|
91
|
+
errorMessage: string | null;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A "Keep a Changelog" section within a release (e.g. "Added") and its items.
|
|
95
|
+
*/
|
|
96
|
+
export interface ChangelogSection {
|
|
97
|
+
title: string;
|
|
98
|
+
items: string[];
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* One release block from the bundled CHANGELOG, parsed server-side (newest
|
|
102
|
+
* first). `date` is null for the Unreleased block.
|
|
103
|
+
*/
|
|
104
|
+
export interface ChangelogRelease {
|
|
105
|
+
version: string;
|
|
106
|
+
date: string | null;
|
|
107
|
+
sections: ChangelogSection[];
|
|
108
|
+
}
|
|
65
109
|
/**
|
|
66
110
|
* A BPMN race-safety violation reported by the backend's deployment validator.
|
|
67
111
|
* `code` is one of the constants in
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { ConfigService } from '@valtimo/shared';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
-
import { BpmnValidationViolation, ConnectionStatus, PendingJob, PluginUsageEntry, ReconcileResult, VersionInfo } from '../models';
|
|
4
|
+
import { BpmnValidationViolation, CatalogRedeployResult, ChangelogRelease, ClasspathCatalog, ConnectionStatus, PendingJob, PluginUsageEntry, ReconcileResult, VersionInfo } from '../models';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
/**
|
|
7
7
|
* Service for Epistola plugin administrative operations.
|
|
@@ -41,6 +41,24 @@ export declare class EpistolaAdminService {
|
|
|
41
41
|
* process definitions. Empty list = healthy.
|
|
42
42
|
*/
|
|
43
43
|
getValidationViolations(): Observable<BpmnValidationViolation[]>;
|
|
44
|
+
/**
|
|
45
|
+
* List the classpath catalogs available to manually redeploy for a plugin
|
|
46
|
+
* configuration, each annotated with the version last deployed in this
|
|
47
|
+
* backend process.
|
|
48
|
+
*/
|
|
49
|
+
getClasspathCatalogs(configurationId: string): Observable<ClasspathCatalog[]>;
|
|
50
|
+
/**
|
|
51
|
+
* Force-redeploy a single classpath catalog to the configuration's Epistola
|
|
52
|
+
* installation. Explicit operator action — bypasses the templateSyncEnabled
|
|
53
|
+
* gate and the version-skip check. Returns 200 with per-resource counts on
|
|
54
|
+
* success, or 502 (error callback, body carries `errorMessage`) on failure.
|
|
55
|
+
*/
|
|
56
|
+
redeployCatalog(configurationId: string, slug: string): Observable<CatalogRedeployResult>;
|
|
57
|
+
/**
|
|
58
|
+
* Get the plugin CHANGELOG parsed (server-side) into structured releases for
|
|
59
|
+
* the admin Changelog tab — no markdown renderer needed on the client.
|
|
60
|
+
*/
|
|
61
|
+
getChangelog(): Observable<ChangelogRelease[]>;
|
|
44
62
|
/**
|
|
45
63
|
* Export a single process link as a .process-link.json file.
|
|
46
64
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epistola.app/valtimo-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "Epistola document generation plugin for Valtimo",
|
|
5
5
|
"license": "EUPL-1.2",
|
|
6
6
|
"repository": {
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
+
"jsonata": "^2.1.0",
|
|
23
24
|
"tslib": "^2.6.0"
|
|
24
25
|
},
|
|
25
26
|
"peerDependencies": {
|
|
@@ -32,7 +33,6 @@
|
|
|
32
33
|
"@valtimo/process-link": "^13.21.0",
|
|
33
34
|
"@valtimo/security": "^13.21.0",
|
|
34
35
|
"@valtimo/shared": "^13.21.0",
|
|
35
|
-
"jsonata": "^2.1.0",
|
|
36
36
|
"monaco-editor": ">=0.40.0"
|
|
37
37
|
}
|
|
38
38
|
}
|
package/sbom.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"bomFormat":"CycloneDX","specVersion":"1.6","serialNumber":"urn:uuid:2c2aa3ae-f71d-4fce-a95b-884659127c41","version":1,"metadata":{"timestamp":"2026-05-08T19:01:24Z","tools":{"components":[{"group":"@cyclonedx","name":"cdxgen","version":"11.4.0","purl":"pkg:npm/%40cyclonedx/cdxgen@11.4.0","type":"application","bom-ref":"pkg:npm/@cyclonedx/cdxgen@11.4.0","publisher":"OWASP Foundation","authors":[{"name":"OWASP Foundation"}]}]},"authors":[{"name":"OWASP Foundation"}],"lifecycles":[{"phase":"build"}],"component":{"name":"valtimo-plugin","group":"@epistola.app","version":"1.0.0","description":"Epistola document generation plugin for Valtimo","purl":"pkg:npm/%40epistola.app/valtimo-plugin@1.0.0","bom-ref":"pkg:npm/@epistola.app/valtimo-plugin@1.0.0","type":"application","licenses":[{"license":{"id":"EUPL-1.2","url":"https://opensource.org/licenses/EUPL-1.2"}}],"externalReferences":[{"type":"vcs","url":"https://github.com/epistola-app/valtimo-epistola-plugin"}]},"properties":[{"name":"cdx:bom:componentTypes","value":"npm"},{"name":"cdx:bom:componentNamespaces","value":"@angular\\n@types\\n@valtimo"},{"name":"cdx:bom:componentSrcFiles","value":"frontend/plugin/node_modules/@angular/common/package.json\\nfrontend/plugin/node_modules/@angular/core/package.json\\nfrontend/plugin/node_modules/@angular/forms/package.json\\nfrontend/plugin/node_modules/@angular/router/package.json\\nfrontend/plugin/node_modules/@types/jest/package.json\\nfrontend/plugin/node_modules/@valtimo/components/package.json\\nfrontend/plugin/node_modules/@valtimo/plugin/package.json\\nfrontend/plugin/node_modules/@valtimo/process-link/package.json\\nfrontend/plugin/node_modules/@valtimo/security/package.json\\nfrontend/plugin/node_modules/@valtimo/shared/package.json\\nfrontend/plugin/node_modules/jest/package.json\\nfrontend/plugin/node_modules/jsonata/package.json\\nfrontend/plugin/node_modules/monaco-editor/package.json\\nfrontend/plugin/node_modules/ng-packagr/package.json\\nfrontend/plugin/node_modules/ts-jest/package.json\\nfrontend/plugin/node_modules/tslib/package.json"}]},"components":[{"authors":[{"name":"Microsoft Corp."}],"group":"","name":"tslib","version":"2.8.1","description":"Runtime library for TypeScript helper functions","scope":"optional","licenses":[{"license":{"id":"0BSD","url":"https://opensource.org/licenses/0BSD"}}],"purl":"pkg:npm/tslib@2.8.1","externalReferences":[{"type":"website","url":"https://www.typescriptlang.org/"},{"type":"vcs","url":"https://github.com/Microsoft/tslib.git"}],"type":"library","bom-ref":"pkg:npm/tslib@2.8.1","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/tslib/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/tslib/package.json"}],"concludedValue":"frontend/plugin/node_modules/tslib/package.json"}]}},{"authors":[{"name":"Kulshekhar Kabra <kulshekhar@users.noreply.github.com> (https://github.com/kulshekhar)"}],"group":"","name":"ts-jest","version":"29.4.9","description":"A Jest transformer with source map support that lets you use Jest to test projects written in TypeScript","scope":"optional","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/ts-jest@29.4.9","externalReferences":[{"type":"vcs","url":"https://kulshekhar.github.io/ts-jest"},{"type":"vcs","url":"git+https://github.com/kulshekhar/ts-jest.git"}],"type":"library","bom-ref":"pkg:npm/ts-jest@29.4.9","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/ts-jest/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/ts-jest/package.json"}],"concludedValue":"frontend/plugin/node_modules/ts-jest/package.json"}]},"tags":["test"]},{"authors":[{"name":"David Herges <david@spektrakel.de>"}],"group":"","name":"ng-packagr","version":"19.2.2","description":"Compile and package Angular libraries in Angular Package Format (APF)","scope":"optional","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/ng-packagr@19.2.2","externalReferences":[{"type":"vcs","url":"https://github.com/ng-packagr/ng-packagr"},{"type":"vcs","url":"https://github.com/ng-packagr/ng-packagr.git"}],"type":"library","bom-ref":"pkg:npm/ng-packagr@19.2.2","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/ng-packagr/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/ng-packagr/package.json"}],"concludedValue":"frontend/plugin/node_modules/ng-packagr/package.json"}]}},{"authors":[{"name":"Microsoft Corporation"}],"group":"","name":"monaco-editor","version":"0.50.0","description":"A browser based code editor","scope":"optional","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/monaco-editor@0.50.0","externalReferences":[{"type":"vcs","url":"https://github.com/microsoft/monaco-editor"},{"type":"vcs","url":"https://github.com/microsoft/monaco-editor"}],"type":"library","bom-ref":"pkg:npm/monaco-editor@0.50.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/monaco-editor/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/monaco-editor/package.json"}],"concludedValue":"frontend/plugin/node_modules/monaco-editor/package.json"}]}},{"group":"","name":"jsonata","version":"2.1.0","description":"JSON query and transformation language","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/jsonata@2.1.0","externalReferences":[{"type":"website","url":"http://jsonata.org/"},{"type":"vcs","url":"https://github.com/jsonata-js/jsonata.git"}],"type":"library","bom-ref":"pkg:npm/jsonata@2.1.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/jsonata/package.json"},{"name":"ImportedModules","value":"jsonata"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/jsonata/package.json"}],"concludedValue":"frontend/plugin/node_modules/jsonata/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#17"},{"location":"src/lib/components/jsonata-editor/jsonata-editor.component.ts#17"},{"location":"src/lib/utils/jsonata-converter.ts#1"}]}},{"group":"","name":"jest","version":"30.3.0","description":"Delightful JavaScript Testing.","scope":"optional","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/jest@30.3.0","externalReferences":[{"type":"website","url":"https://jestjs.io/"},{"type":"vcs","url":"https://github.com/jestjs/jest.git"}],"type":"library","bom-ref":"pkg:npm/jest@30.3.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/jest/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/jest/package.json"}],"concludedValue":"frontend/plugin/node_modules/jest/package.json"}]},"tags":["test"]},{"group":"@valtimo","name":"shared","version":"13.21.0","scope":"required","licenses":[{"license":{"id":"EUPL-1.2","url":"https://opensource.org/licenses/EUPL-1.2"}}],"purl":"pkg:npm/%40valtimo/shared@13.21.0","type":"library","bom-ref":"pkg:npm/@valtimo/shared@13.21.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@valtimo/shared/package.json"},{"name":"ImportedModules","value":"@valtimo/shared,ROLE_ADMIN,@valtimo/shared/ROLE_ADMIN,CaseManagementParams,@valtimo/shared/CaseManagementParams,ManagementContext,@valtimo/shared/ManagementContext,ConfigService,@valtimo/shared/ConfigService,MenuItem,@valtimo/shared/MenuItem"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@valtimo/shared/package.json"}],"concludedValue":"frontend/plugin/node_modules/@valtimo/shared/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#5"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#6"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#19"},{"location":"src/lib/services/epistola-admin.service.ts#3"},{"location":"src/lib/services/epistola-menu.service.ts#3"},{"location":"src/lib/services/epistola-plugin.service.ts#3"}]}},{"group":"@valtimo","name":"security","version":"13.21.0","scope":"required","licenses":[{"license":{"id":"EUPL-1.2","url":"https://opensource.org/licenses/EUPL-1.2"}}],"purl":"pkg:npm/%40valtimo/security@13.21.0","type":"library","bom-ref":"pkg:npm/@valtimo/security@13.21.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@valtimo/security/package.json"},{"name":"ImportedModules","value":"@valtimo/security,AuthGuardService,@valtimo/security/AuthGuardService"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@valtimo/security/package.json"}],"concludedValue":"frontend/plugin/node_modules/@valtimo/security/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#28"},{"location":"src/lib/epistola-admin-routing.module.ts#3"}]}},{"group":"@valtimo","name":"process-link","version":"13.21.0","scope":"required","licenses":[{"license":{"id":"EUPL-1.2","url":"https://opensource.org/licenses/EUPL-1.2"}}],"purl":"pkg:npm/%40valtimo/process-link@13.21.0","type":"library","bom-ref":"pkg:npm/@valtimo/process-link@13.21.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@valtimo/process-link/package.json"},{"name":"ImportedModules","value":"@valtimo/process-link,ProcessLinkStateService,@valtimo/process-link/ProcessLinkStateService"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@valtimo/process-link/package.json"}],"concludedValue":"frontend/plugin/node_modules/@valtimo/process-link/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#18"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#20"}]}},{"group":"@valtimo","name":"plugin","version":"13.21.0","scope":"required","licenses":[{"license":{"id":"EUPL-1.2","url":"https://opensource.org/licenses/EUPL-1.2"}}],"purl":"pkg:npm/%40valtimo/plugin@13.21.0","type":"library","bom-ref":"pkg:npm/@valtimo/plugin@13.21.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@valtimo/plugin/package.json"},{"name":"ImportedModules","value":"@valtimo/plugin,PluginTranslatePipeModule,@valtimo/plugin/PluginTranslatePipeModule,FunctionConfigurationComponent,@valtimo/plugin/FunctionConfigurationComponent,PluginConfigurationComponent,@valtimo/plugin/PluginConfigurationComponent,PluginConfigurationData,@valtimo/plugin/PluginConfigurationData,PluginSpecification,@valtimo/plugin/PluginSpecification"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@valtimo/plugin/package.json"}],"concludedValue":"frontend/plugin/node_modules/@valtimo/plugin/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#12"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#13"},{"location":"src/lib/components/check-job-status-configuration/check-job-status-configuration.component.ts#3"},{"location":"src/lib/components/download-document-configuration/download-document-configuration.component.ts#3"},{"location":"src/lib/components/epistola-admin-page/epistola-admin-page.component.ts#4"},{"location":"src/lib/components/epistola-configuration/epistola-configuration.component.ts#3"},{"location":"src/lib/components/expected-structure/expected-structure.component.ts#3"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#17"},{"location":"src/lib/components/jsonata-editor/jsonata-editor.component.ts#11"},{"location":"src/lib/components/mapping-builder/mapping-builder.component.ts#4"},{"location":"src/lib/components/mapping-preview/mapping-preview.component.ts#12"},{"location":"src/lib/epistola.module.ts#10"},{"location":"src/lib/epistola.specification.ts#1"}]}},{"group":"@valtimo","name":"components","version":"13.21.0","scope":"required","licenses":[{"license":{"id":"EUPL-1.2","url":"https://opensource.org/licenses/EUPL-1.2"}}],"purl":"pkg:npm/%40valtimo/components@13.21.0","type":"library","bom-ref":"pkg:npm/@valtimo/components@13.21.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@valtimo/components/package.json"},{"name":"ImportedModules","value":"@valtimo/components,FormModule,@valtimo/components/FormModule,InputModule,@valtimo/components/InputModule,EditorModule,@valtimo/components/EditorModule,SelectModule,@valtimo/components/SelectModule,registerCustomFormioComponent,@valtimo/components/registerCustomFormioComponent,FormOutput,@valtimo/components/FormOutput,FormioCustomComponent,@valtimo/components/FormioCustomComponent,FormIoStateService,@valtimo/components/FormIoStateService,FormioCustomComponentInfo,@valtimo/components/FormioCustomComponentInfo,SelectItem,@valtimo/components/SelectItem,MenuService,@valtimo/components/MenuService"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@valtimo/components/package.json"}],"concludedValue":"frontend/plugin/node_modules/@valtimo/components/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#8"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#9"},{"location":"src/lib/components/check-job-status-configuration/check-job-status-configuration.component.ts#4"},{"location":"src/lib/components/download-document-configuration/download-document-configuration.component.ts#4"},{"location":"src/lib/components/epistola-configuration/epistola-configuration.component.ts#4"},{"location":"src/lib/components/epistola-document/epistola-document.component.ts#13"},{"location":"src/lib/components/epistola-document/epistola-document.formio.ts#2"},{"location":"src/lib/components/epistola-document-preview/epistola-document-preview.component.ts#14"},{"location":"src/lib/components/epistola-document-preview/epistola-document-preview.formio.ts#2"},{"location":"src/lib/components/epistola-retry-form/epistola-retry-form.component.ts#14"},{"location":"src/lib/components/epistola-retry-form/epistola-retry-form.formio.ts#2"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#18"},{"location":"src/lib/components/jsonata-editor/jsonata-editor.component.ts#12"},{"location":"src/lib/components/override-builder/override-builder.component.ts#11"},{"location":"src/lib/components/override-builder/override-builder.formio.ts#2"},{"location":"src/lib/components/process-link-selector/process-link-selector.component.ts#14"},{"location":"src/lib/components/process-link-selector/process-link-selector.formio.ts#2"},{"location":"src/lib/epistola.module.ts#11"},{"location":"src/lib/services/epistola-menu.service.ts#2"}]}},{"group":"@types","name":"jest","version":"30.0.0","description":"TypeScript definitions for jest","scope":"optional","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40types/jest@30.0.0","externalReferences":[{"type":"vcs","url":"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest"},{"type":"vcs","url":"https://github.com/DefinitelyTyped/DefinitelyTyped.git"}],"type":"library","bom-ref":"pkg:npm/@types/jest@30.0.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@types/jest/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@types/jest/package.json"}],"concludedValue":"frontend/plugin/node_modules/@types/jest/package.json"}]},"tags":["test"]},{"authors":[{"name":"angular"}],"group":"@angular","name":"router","version":"19.2.20","description":"Angular - the routing library","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40angular/router@19.2.20","externalReferences":[{"type":"vcs","url":"https://github.com/angular/angular/tree/main/packages/router"},{"type":"vcs","url":"git+https://github.com/angular/angular.git"}],"type":"framework","bom-ref":"pkg:npm/@angular/router@19.2.20","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@angular/router/package.json"},{"name":"ImportedModules","value":"@angular/router,RouterModule,@angular/router/RouterModule,Router,@angular/router/Router,ActivatedRoute,@angular/router/ActivatedRoute,Routes,@angular/router/Routes,CanActivateFn,@angular/router/CanActivateFn"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@angular/router/package.json"}],"concludedValue":"frontend/plugin/node_modules/@angular/router/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#22"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#23"},{"location":"src/lib/components/epistola-admin-page/epistola-admin-page.component.ts#3"},{"location":"src/lib/epistola-admin-routing.module.ts#2"},{"location":"src/lib/epistola-enabled.guard.ts#2"}]},"tags":["framework"]},{"authors":[{"name":"angular"}],"group":"@angular","name":"forms","version":"19.2.20","description":"Angular - directives and services for creating forms","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40angular/forms@19.2.20","externalReferences":[{"type":"vcs","url":"https://github.com/angular/angular.git"}],"type":"framework","bom-ref":"pkg:npm/@angular/forms@19.2.20","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@angular/forms/package.json"},{"name":"ImportedModules","value":"@angular/forms,FormsModule,@angular/forms/FormsModule"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@angular/forms/package.json"}],"concludedValue":"frontend/plugin/node_modules/@angular/forms/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#15"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#16"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#12"},{"location":"src/lib/components/mapping-builder/builder-field/builder-field.component.ts#3"},{"location":"src/lib/components/mapping-builder/mapping-builder.component.ts#3"},{"location":"src/lib/components/mapping-preview/mapping-preview.component.ts#11"},{"location":"src/lib/components/override-builder/override-builder.component.ts#10"},{"location":"src/lib/components/process-link-selector/process-link-selector.component.ts#13"}]},"tags":["framework"]},{"authors":[{"name":"angular"}],"group":"@angular","name":"core","version":"19.2.20","description":"Angular - the core framework","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40angular/core@19.2.20","externalReferences":[{"type":"vcs","url":"https://github.com/angular/angular.git"}],"type":"framework","bom-ref":"pkg:npm/@angular/core@19.2.20","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@angular/core/package.json"},{"name":"ImportedModules","value":"@angular/core,Injectable,@angular/core/Injectable,EventEmitter,@angular/core/EventEmitter,Output,@angular/core/Output,Input,@angular/core/Input,Component,@angular/core/Component,ChangeDetectionStrategy,@angular/core/ChangeDetectionStrategy,inject,@angular/core/inject,NgModule,@angular/core/NgModule,ENVIRONMENT_INITIALIZER,@angular/core/ENVIRONMENT_INITIALIZER,Injector,@angular/core/Injector,OnDestroy,@angular/core/OnDestroy,OnInit,@angular/core/OnInit,ChangeDetectorRef,@angular/core/ChangeDetectorRef,OnChanges,@angular/core/OnChanges,SimpleChanges,@angular/core/SimpleChanges,ModuleWithProviders,@angular/core/ModuleWithProviders"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@angular/core/package.json"}],"concludedValue":"frontend/plugin/node_modules/@angular/core/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#1"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#2"},{"location":"src/lib/components/check-job-status-configuration/check-job-status-configuration.component.ts#1"},{"location":"src/lib/components/download-document-configuration/download-document-configuration.component.ts#1"},{"location":"src/lib/components/epistola-admin-page/epistola-admin-page.component.ts#1"},{"location":"src/lib/components/epistola-configuration/epistola-configuration.component.ts#1"},{"location":"src/lib/components/epistola-document/epistola-document.component.ts#10"},{"location":"src/lib/components/epistola-document/epistola-document.formio.ts#1"},{"location":"src/lib/components/epistola-document-preview/epistola-document-preview.component.ts#11"},{"location":"src/lib/components/epistola-document-preview/epistola-document-preview.formio.ts#1"},{"location":"src/lib/components/epistola-retry-form/epistola-retry-form.component.ts#11"},{"location":"src/lib/components/epistola-retry-form/epistola-retry-form.formio.ts#1"},{"location":"src/lib/components/expected-structure/expected-structure.component.ts#1"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#10"},{"location":"src/lib/components/jsonata-editor/jsonata-editor.component.ts#9"},{"location":"src/lib/components/mapping-builder/builder-field/builder-field.component.ts#1"},{"location":"src/lib/components/mapping-builder/mapping-builder.component.ts#1"},{"location":"src/lib/components/mapping-preview/mapping-preview.component.ts#9"},{"location":"src/lib/components/override-builder/override-builder.component.ts#8"},{"location":"src/lib/components/override-builder/override-builder.formio.ts#1"},{"location":"src/lib/components/process-link-selector/process-link-selector.component.ts#11"},{"location":"src/lib/components/process-link-selector/process-link-selector.formio.ts#1"},{"location":"src/lib/epistola-admin-routing.module.ts#1"},{"location":"src/lib/epistola-enabled.guard.ts#1"},{"location":"src/lib/epistola.module.ts#7"},{"location":"src/lib/services/epistola-admin.service.ts#1"},{"location":"src/lib/services/epistola-menu.service.ts#1"},{"location":"src/lib/services/epistola-plugin.service.ts#1"},{"location":"src/lib/services/epistola-task-context.interceptor.ts#1"},{"location":"src/lib/services/epistola-task-context.service.ts#1"}]},"tags":["framework"]},{"authors":[{"name":"angular"}],"group":"@angular","name":"common","version":"19.2.20","description":"Angular - commonly needed directives and services","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40angular/common@19.2.20","externalReferences":[{"type":"vcs","url":"https://github.com/angular/angular.git"}],"type":"framework","bom-ref":"pkg:npm/@angular/common@19.2.20","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@angular/common/package.json"},{"name":"ImportedModules","value":"@angular/common/http,HttpHeaders,@angular/common/http/HttpHeaders,HTTP_INTERCEPTORS,@angular/common/http/HTTP_INTERCEPTORS,HttpClientModule,@angular/common/http/HttpClientModule,HttpClient,@angular/common/http/HttpClient,HttpEvent,@angular/common/http/HttpEvent,HttpHandler,@angular/common/http/HttpHandler,HttpInterceptor,@angular/common/http/HttpInterceptor,HttpRequest,@angular/common/http/HttpRequest,@angular/common,CommonModule,@angular/common/CommonModule"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@angular/common/package.json"}],"concludedValue":"frontend/plugin/node_modules/@angular/common/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#3"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#4"},{"location":"src/lib/epistola.module.ts#9"},{"location":"src/lib/services/epistola-admin.service.ts#2"},{"location":"src/lib/services/epistola-plugin.service.ts#2"},{"location":"src/lib/services/epistola-task-context.interceptor.ts#2"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#10"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#11"},{"location":"src/lib/components/check-job-status-configuration/check-job-status-configuration.component.ts#2"},{"location":"src/lib/components/download-document-configuration/download-document-configuration.component.ts#2"},{"location":"src/lib/components/epistola-admin-page/epistola-admin-page.component.ts#2"},{"location":"src/lib/components/epistola-configuration/epistola-configuration.component.ts#2"},{"location":"src/lib/components/epistola-document/epistola-document.component.ts#11"},{"location":"src/lib/components/epistola-document-preview/epistola-document-preview.component.ts#12"},{"location":"src/lib/components/epistola-retry-form/epistola-retry-form.component.ts#12"},{"location":"src/lib/components/expected-structure/expected-structure.component.ts#2"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#11"},{"location":"src/lib/components/jsonata-editor/jsonata-editor.component.ts#10"},{"location":"src/lib/components/mapping-builder/builder-field/builder-field.component.ts#2"},{"location":"src/lib/components/mapping-builder/mapping-builder.component.ts#2"},{"location":"src/lib/components/mapping-preview/mapping-preview.component.ts#10"},{"location":"src/lib/components/override-builder/override-builder.component.ts#9"},{"location":"src/lib/components/process-link-selector/process-link-selector.component.ts#12"},{"location":"src/lib/epistola.module.ts#8"}]},"tags":["framework"]}],"dependencies":[],"annotations":[{"bom-ref":"metadata-annotations","subjects":["pkg:npm/@epistola.app/valtimo-plugin@1.0.0"],"annotator":{"component":{"group":"@cyclonedx","name":"cdxgen","version":"11.4.0","purl":"pkg:npm/%40cyclonedx/cdxgen@11.4.0","type":"application","bom-ref":"pkg:npm/@cyclonedx/cdxgen@11.4.0","publisher":"OWASP Foundation","authors":[{"name":"OWASP Foundation"}]}},"timestamp":"2026-05-08T19:01:24Z","text":"This Software Bill-of-Materials (SBOM) document was created on Friday, May 8, 2026 with cdxgen. The data was captured during the build lifecycle phase. The document describes an application named 'valtimo-plugin' with version '1.0.0'. There are 16 components. The package type in this SBOM is npm with 3 purl namespaces described under components. The components were identified from 16 source files."}]}
|
|
1
|
+
{"bomFormat":"CycloneDX","specVersion":"1.6","serialNumber":"urn:uuid:226a3c5c-0a81-4e9e-be45-c5c9f695430b","version":1,"metadata":{"timestamp":"2026-05-19T11:56:47Z","tools":{"components":[{"group":"@cyclonedx","name":"cdxgen","version":"11.4.0","purl":"pkg:npm/%40cyclonedx/cdxgen@11.4.0","type":"application","bom-ref":"pkg:npm/@cyclonedx/cdxgen@11.4.0","publisher":"OWASP Foundation","authors":[{"name":"OWASP Foundation"}]}]},"authors":[{"name":"OWASP Foundation"}],"lifecycles":[{"phase":"build"}],"component":{"name":"valtimo-plugin","group":"@epistola.app","version":"1.0.0","description":"Epistola document generation plugin for Valtimo","purl":"pkg:npm/%40epistola.app/valtimo-plugin@1.0.0","bom-ref":"pkg:npm/@epistola.app/valtimo-plugin@1.0.0","type":"application","licenses":[{"license":{"id":"EUPL-1.2","url":"https://opensource.org/licenses/EUPL-1.2"}}],"externalReferences":[{"type":"vcs","url":"https://github.com/epistola-app/valtimo-epistola-plugin"}]},"properties":[{"name":"cdx:bom:componentTypes","value":"npm"},{"name":"cdx:bom:componentNamespaces","value":"@angular\\n@types\\n@valtimo"},{"name":"cdx:bom:componentSrcFiles","value":"frontend/plugin/node_modules/@angular/common/package.json\\nfrontend/plugin/node_modules/@angular/core/package.json\\nfrontend/plugin/node_modules/@angular/forms/package.json\\nfrontend/plugin/node_modules/@angular/router/package.json\\nfrontend/plugin/node_modules/@types/jest/package.json\\nfrontend/plugin/node_modules/@valtimo/components/package.json\\nfrontend/plugin/node_modules/@valtimo/plugin/package.json\\nfrontend/plugin/node_modules/@valtimo/process-link/package.json\\nfrontend/plugin/node_modules/@valtimo/security/package.json\\nfrontend/plugin/node_modules/@valtimo/shared/package.json\\nfrontend/plugin/node_modules/jest/package.json\\nfrontend/plugin/node_modules/jsonata/package.json\\nfrontend/plugin/node_modules/monaco-editor/package.json\\nfrontend/plugin/node_modules/ng-packagr/package.json\\nfrontend/plugin/node_modules/ts-jest/package.json\\nfrontend/plugin/node_modules/tslib/package.json"}]},"components":[{"authors":[{"name":"Microsoft Corp."}],"group":"","name":"tslib","version":"2.8.1","description":"Runtime library for TypeScript helper functions","scope":"optional","licenses":[{"license":{"id":"0BSD","url":"https://opensource.org/licenses/0BSD"}}],"purl":"pkg:npm/tslib@2.8.1","externalReferences":[{"type":"website","url":"https://www.typescriptlang.org/"},{"type":"vcs","url":"https://github.com/Microsoft/tslib.git"}],"type":"library","bom-ref":"pkg:npm/tslib@2.8.1","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/tslib/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/tslib/package.json"}],"concludedValue":"frontend/plugin/node_modules/tslib/package.json"}]}},{"authors":[{"name":"Kulshekhar Kabra <kulshekhar@users.noreply.github.com> (https://github.com/kulshekhar)"}],"group":"","name":"ts-jest","version":"29.4.9","description":"A Jest transformer with source map support that lets you use Jest to test projects written in TypeScript","scope":"optional","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/ts-jest@29.4.9","externalReferences":[{"type":"vcs","url":"https://kulshekhar.github.io/ts-jest"},{"type":"vcs","url":"git+https://github.com/kulshekhar/ts-jest.git"}],"type":"library","bom-ref":"pkg:npm/ts-jest@29.4.9","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/ts-jest/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/ts-jest/package.json"}],"concludedValue":"frontend/plugin/node_modules/ts-jest/package.json"}]},"tags":["test"]},{"authors":[{"name":"David Herges <david@spektrakel.de>"}],"group":"","name":"ng-packagr","version":"19.2.2","description":"Compile and package Angular libraries in Angular Package Format (APF)","scope":"optional","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/ng-packagr@19.2.2","externalReferences":[{"type":"vcs","url":"https://github.com/ng-packagr/ng-packagr"},{"type":"vcs","url":"https://github.com/ng-packagr/ng-packagr.git"}],"type":"library","bom-ref":"pkg:npm/ng-packagr@19.2.2","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/ng-packagr/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/ng-packagr/package.json"}],"concludedValue":"frontend/plugin/node_modules/ng-packagr/package.json"}]}},{"authors":[{"name":"Microsoft Corporation"}],"group":"","name":"monaco-editor","version":"0.50.0","description":"A browser based code editor","scope":"optional","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/monaco-editor@0.50.0","externalReferences":[{"type":"vcs","url":"https://github.com/microsoft/monaco-editor"},{"type":"vcs","url":"https://github.com/microsoft/monaco-editor"}],"type":"library","bom-ref":"pkg:npm/monaco-editor@0.50.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/monaco-editor/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/monaco-editor/package.json"}],"concludedValue":"frontend/plugin/node_modules/monaco-editor/package.json"}]}},{"group":"","name":"jsonata","version":"2.1.0","description":"JSON query and transformation language","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/jsonata@2.1.0","externalReferences":[{"type":"website","url":"http://jsonata.org/"},{"type":"vcs","url":"https://github.com/jsonata-js/jsonata.git"}],"type":"library","bom-ref":"pkg:npm/jsonata@2.1.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/jsonata/package.json"},{"name":"ImportedModules","value":"jsonata"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/jsonata/package.json"}],"concludedValue":"frontend/plugin/node_modules/jsonata/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#17"},{"location":"src/lib/components/jsonata-editor/jsonata-editor.component.ts#17"},{"location":"src/lib/utils/jsonata-converter.ts#1"}]}},{"group":"","name":"jest","version":"30.3.0","description":"Delightful JavaScript Testing.","scope":"optional","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/jest@30.3.0","externalReferences":[{"type":"website","url":"https://jestjs.io/"},{"type":"vcs","url":"https://github.com/jestjs/jest.git"}],"type":"library","bom-ref":"pkg:npm/jest@30.3.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/jest/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/jest/package.json"}],"concludedValue":"frontend/plugin/node_modules/jest/package.json"}]},"tags":["test"]},{"group":"@valtimo","name":"shared","version":"13.21.0","scope":"required","licenses":[{"license":{"id":"EUPL-1.2","url":"https://opensource.org/licenses/EUPL-1.2"}}],"purl":"pkg:npm/%40valtimo/shared@13.21.0","type":"library","bom-ref":"pkg:npm/@valtimo/shared@13.21.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@valtimo/shared/package.json"},{"name":"ImportedModules","value":"@valtimo/shared,ROLE_ADMIN,@valtimo/shared/ROLE_ADMIN,CaseManagementParams,@valtimo/shared/CaseManagementParams,ManagementContext,@valtimo/shared/ManagementContext,ConfigService,@valtimo/shared/ConfigService,MenuItem,@valtimo/shared/MenuItem"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@valtimo/shared/package.json"}],"concludedValue":"frontend/plugin/node_modules/@valtimo/shared/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#5"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#6"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#19"},{"location":"src/lib/services/epistola-admin.service.ts#3"},{"location":"src/lib/services/epistola-menu.service.ts#3"},{"location":"src/lib/services/epistola-plugin.service.ts#3"}]}},{"group":"@valtimo","name":"security","version":"13.21.0","scope":"required","licenses":[{"license":{"id":"EUPL-1.2","url":"https://opensource.org/licenses/EUPL-1.2"}}],"purl":"pkg:npm/%40valtimo/security@13.21.0","type":"library","bom-ref":"pkg:npm/@valtimo/security@13.21.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@valtimo/security/package.json"},{"name":"ImportedModules","value":"@valtimo/security,AuthGuardService,@valtimo/security/AuthGuardService"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@valtimo/security/package.json"}],"concludedValue":"frontend/plugin/node_modules/@valtimo/security/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#28"},{"location":"src/lib/epistola-admin-routing.module.ts#3"}]}},{"group":"@valtimo","name":"process-link","version":"13.21.0","scope":"required","licenses":[{"license":{"id":"EUPL-1.2","url":"https://opensource.org/licenses/EUPL-1.2"}}],"purl":"pkg:npm/%40valtimo/process-link@13.21.0","type":"library","bom-ref":"pkg:npm/@valtimo/process-link@13.21.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@valtimo/process-link/package.json"},{"name":"ImportedModules","value":"@valtimo/process-link,ProcessLinkStateService,@valtimo/process-link/ProcessLinkStateService"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@valtimo/process-link/package.json"}],"concludedValue":"frontend/plugin/node_modules/@valtimo/process-link/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#18"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#20"}]}},{"group":"@valtimo","name":"plugin","version":"13.21.0","scope":"required","licenses":[{"license":{"id":"EUPL-1.2","url":"https://opensource.org/licenses/EUPL-1.2"}}],"purl":"pkg:npm/%40valtimo/plugin@13.21.0","type":"library","bom-ref":"pkg:npm/@valtimo/plugin@13.21.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@valtimo/plugin/package.json"},{"name":"ImportedModules","value":"@valtimo/plugin,PluginTranslatePipeModule,@valtimo/plugin/PluginTranslatePipeModule,FunctionConfigurationComponent,@valtimo/plugin/FunctionConfigurationComponent,PluginConfigurationComponent,@valtimo/plugin/PluginConfigurationComponent,PluginConfigurationData,@valtimo/plugin/PluginConfigurationData,PluginSpecification,@valtimo/plugin/PluginSpecification"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@valtimo/plugin/package.json"}],"concludedValue":"frontend/plugin/node_modules/@valtimo/plugin/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#12"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#13"},{"location":"src/lib/components/check-job-status-configuration/check-job-status-configuration.component.ts#3"},{"location":"src/lib/components/download-document-configuration/download-document-configuration.component.ts#3"},{"location":"src/lib/components/epistola-admin-page/epistola-admin-page.component.ts#4"},{"location":"src/lib/components/epistola-configuration/epistola-configuration.component.ts#3"},{"location":"src/lib/components/expected-structure/expected-structure.component.ts#3"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#17"},{"location":"src/lib/components/jsonata-editor/jsonata-editor.component.ts#11"},{"location":"src/lib/components/mapping-builder/mapping-builder.component.ts#4"},{"location":"src/lib/components/mapping-preview/mapping-preview.component.ts#12"},{"location":"src/lib/epistola.module.ts#10"},{"location":"src/lib/epistola.specification.ts#1"}]}},{"group":"@valtimo","name":"components","version":"13.21.0","scope":"required","licenses":[{"license":{"id":"EUPL-1.2","url":"https://opensource.org/licenses/EUPL-1.2"}}],"purl":"pkg:npm/%40valtimo/components@13.21.0","type":"library","bom-ref":"pkg:npm/@valtimo/components@13.21.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@valtimo/components/package.json"},{"name":"ImportedModules","value":"@valtimo/components,FormModule,@valtimo/components/FormModule,InputModule,@valtimo/components/InputModule,EditorModule,@valtimo/components/EditorModule,SelectModule,@valtimo/components/SelectModule,registerCustomFormioComponent,@valtimo/components/registerCustomFormioComponent,FormOutput,@valtimo/components/FormOutput,FormioCustomComponent,@valtimo/components/FormioCustomComponent,FormIoStateService,@valtimo/components/FormIoStateService,FormioCustomComponentInfo,@valtimo/components/FormioCustomComponentInfo,SelectItem,@valtimo/components/SelectItem,MenuService,@valtimo/components/MenuService"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@valtimo/components/package.json"}],"concludedValue":"frontend/plugin/node_modules/@valtimo/components/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#8"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#9"},{"location":"src/lib/components/check-job-status-configuration/check-job-status-configuration.component.ts#4"},{"location":"src/lib/components/download-document-configuration/download-document-configuration.component.ts#4"},{"location":"src/lib/components/epistola-configuration/epistola-configuration.component.ts#4"},{"location":"src/lib/components/epistola-document/epistola-document.component.ts#13"},{"location":"src/lib/components/epistola-document/epistola-document.formio.ts#2"},{"location":"src/lib/components/epistola-document-preview/epistola-document-preview.component.ts#14"},{"location":"src/lib/components/epistola-document-preview/epistola-document-preview.formio.ts#2"},{"location":"src/lib/components/epistola-retry-form/epistola-retry-form.component.ts#14"},{"location":"src/lib/components/epistola-retry-form/epistola-retry-form.formio.ts#2"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#18"},{"location":"src/lib/components/jsonata-editor/jsonata-editor.component.ts#12"},{"location":"src/lib/components/override-builder/override-builder.component.ts#11"},{"location":"src/lib/components/override-builder/override-builder.formio.ts#2"},{"location":"src/lib/components/process-link-selector/process-link-selector.component.ts#14"},{"location":"src/lib/components/process-link-selector/process-link-selector.formio.ts#2"},{"location":"src/lib/epistola.module.ts#11"},{"location":"src/lib/services/epistola-menu.service.ts#2"}]}},{"group":"@types","name":"jest","version":"30.0.0","description":"TypeScript definitions for jest","scope":"optional","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40types/jest@30.0.0","externalReferences":[{"type":"vcs","url":"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest"},{"type":"vcs","url":"https://github.com/DefinitelyTyped/DefinitelyTyped.git"}],"type":"library","bom-ref":"pkg:npm/@types/jest@30.0.0","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@types/jest/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@types/jest/package.json"}],"concludedValue":"frontend/plugin/node_modules/@types/jest/package.json"}]},"tags":["test"]},{"authors":[{"name":"angular"}],"group":"@angular","name":"router","version":"19.2.20","description":"Angular - the routing library","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40angular/router@19.2.20","externalReferences":[{"type":"vcs","url":"https://github.com/angular/angular/tree/main/packages/router"},{"type":"vcs","url":"git+https://github.com/angular/angular.git"}],"type":"framework","bom-ref":"pkg:npm/@angular/router@19.2.20","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@angular/router/package.json"},{"name":"ImportedModules","value":"@angular/router,RouterModule,@angular/router/RouterModule,Router,@angular/router/Router,ActivatedRoute,@angular/router/ActivatedRoute,Routes,@angular/router/Routes,CanActivateFn,@angular/router/CanActivateFn"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@angular/router/package.json"}],"concludedValue":"frontend/plugin/node_modules/@angular/router/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#22"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#23"},{"location":"src/lib/components/epistola-admin-page/epistola-admin-page.component.ts#3"},{"location":"src/lib/epistola-admin-routing.module.ts#2"},{"location":"src/lib/epistola-enabled.guard.ts#2"}]},"tags":["framework"]},{"authors":[{"name":"angular"}],"group":"@angular","name":"forms","version":"19.2.20","description":"Angular - directives and services for creating forms","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40angular/forms@19.2.20","externalReferences":[{"type":"vcs","url":"https://github.com/angular/angular.git"}],"type":"framework","bom-ref":"pkg:npm/@angular/forms@19.2.20","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@angular/forms/package.json"},{"name":"ImportedModules","value":"@angular/forms,FormsModule,@angular/forms/FormsModule"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@angular/forms/package.json"}],"concludedValue":"frontend/plugin/node_modules/@angular/forms/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#15"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#16"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#12"},{"location":"src/lib/components/mapping-builder/builder-field/builder-field.component.ts#3"},{"location":"src/lib/components/mapping-builder/mapping-builder.component.ts#3"},{"location":"src/lib/components/mapping-preview/mapping-preview.component.ts#11"},{"location":"src/lib/components/override-builder/override-builder.component.ts#10"},{"location":"src/lib/components/process-link-selector/process-link-selector.component.ts#13"}]},"tags":["framework"]},{"authors":[{"name":"angular"}],"group":"@angular","name":"core","version":"19.2.20","description":"Angular - the core framework","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40angular/core@19.2.20","externalReferences":[{"type":"vcs","url":"https://github.com/angular/angular.git"}],"type":"framework","bom-ref":"pkg:npm/@angular/core@19.2.20","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@angular/core/package.json"},{"name":"ImportedModules","value":"@angular/core,Injectable,@angular/core/Injectable,EventEmitter,@angular/core/EventEmitter,Output,@angular/core/Output,Input,@angular/core/Input,Component,@angular/core/Component,ChangeDetectionStrategy,@angular/core/ChangeDetectionStrategy,inject,@angular/core/inject,NgModule,@angular/core/NgModule,ENVIRONMENT_INITIALIZER,@angular/core/ENVIRONMENT_INITIALIZER,Injector,@angular/core/Injector,OnDestroy,@angular/core/OnDestroy,OnInit,@angular/core/OnInit,ChangeDetectorRef,@angular/core/ChangeDetectorRef,OnChanges,@angular/core/OnChanges,SimpleChanges,@angular/core/SimpleChanges,ModuleWithProviders,@angular/core/ModuleWithProviders"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@angular/core/package.json"}],"concludedValue":"frontend/plugin/node_modules/@angular/core/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#1"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#2"},{"location":"src/lib/components/check-job-status-configuration/check-job-status-configuration.component.ts#1"},{"location":"src/lib/components/download-document-configuration/download-document-configuration.component.ts#1"},{"location":"src/lib/components/epistola-admin-page/epistola-admin-page.component.ts#1"},{"location":"src/lib/components/epistola-configuration/epistola-configuration.component.ts#1"},{"location":"src/lib/components/epistola-document/epistola-document.component.ts#10"},{"location":"src/lib/components/epistola-document/epistola-document.formio.ts#1"},{"location":"src/lib/components/epistola-document-preview/epistola-document-preview.component.ts#11"},{"location":"src/lib/components/epistola-document-preview/epistola-document-preview.formio.ts#1"},{"location":"src/lib/components/epistola-retry-form/epistola-retry-form.component.ts#11"},{"location":"src/lib/components/epistola-retry-form/epistola-retry-form.formio.ts#1"},{"location":"src/lib/components/expected-structure/expected-structure.component.ts#1"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#10"},{"location":"src/lib/components/jsonata-editor/jsonata-editor.component.ts#9"},{"location":"src/lib/components/mapping-builder/builder-field/builder-field.component.ts#1"},{"location":"src/lib/components/mapping-builder/mapping-builder.component.ts#1"},{"location":"src/lib/components/mapping-preview/mapping-preview.component.ts#9"},{"location":"src/lib/components/override-builder/override-builder.component.ts#8"},{"location":"src/lib/components/override-builder/override-builder.formio.ts#1"},{"location":"src/lib/components/process-link-selector/process-link-selector.component.ts#11"},{"location":"src/lib/components/process-link-selector/process-link-selector.formio.ts#1"},{"location":"src/lib/epistola-admin-routing.module.ts#1"},{"location":"src/lib/epistola-enabled.guard.ts#1"},{"location":"src/lib/epistola.module.ts#7"},{"location":"src/lib/services/epistola-admin.service.ts#1"},{"location":"src/lib/services/epistola-menu.service.ts#1"},{"location":"src/lib/services/epistola-plugin.service.ts#1"},{"location":"src/lib/services/epistola-task-context.interceptor.ts#1"},{"location":"src/lib/services/epistola-task-context.service.ts#1"}]},"tags":["framework"]},{"authors":[{"name":"angular"}],"group":"@angular","name":"common","version":"19.2.20","description":"Angular - commonly needed directives and services","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40angular/common@19.2.20","externalReferences":[{"type":"vcs","url":"https://github.com/angular/angular.git"}],"type":"framework","bom-ref":"pkg:npm/@angular/common@19.2.20","properties":[{"name":"SrcFile","value":"frontend/plugin/node_modules/@angular/common/package.json"},{"name":"ImportedModules","value":"@angular/common/http,HttpHeaders,@angular/common/http/HttpHeaders,HTTP_INTERCEPTORS,@angular/common/http/HTTP_INTERCEPTORS,HttpClientModule,@angular/common/http/HttpClientModule,HttpClient,@angular/common/http/HttpClient,HttpEvent,@angular/common/http/HttpEvent,HttpHandler,@angular/common/http/HttpHandler,HttpInterceptor,@angular/common/http/HttpInterceptor,HttpRequest,@angular/common/http/HttpRequest,@angular/common,CommonModule,@angular/common/CommonModule"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"frontend/plugin/node_modules/@angular/common/package.json"}],"concludedValue":"frontend/plugin/node_modules/@angular/common/package.json"}],"occurrences":[{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#3"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#4"},{"location":"src/lib/epistola.module.ts#9"},{"location":"src/lib/services/epistola-admin.service.ts#2"},{"location":"src/lib/services/epistola-plugin.service.ts#2"},{"location":"src/lib/services/epistola-task-context.interceptor.ts#2"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#10"},{"location":"dist/fesm2022/epistola.app-valtimo-plugin.mjs#11"},{"location":"src/lib/components/check-job-status-configuration/check-job-status-configuration.component.ts#2"},{"location":"src/lib/components/download-document-configuration/download-document-configuration.component.ts#2"},{"location":"src/lib/components/epistola-admin-page/epistola-admin-page.component.ts#2"},{"location":"src/lib/components/epistola-configuration/epistola-configuration.component.ts#2"},{"location":"src/lib/components/epistola-document/epistola-document.component.ts#11"},{"location":"src/lib/components/epistola-document-preview/epistola-document-preview.component.ts#12"},{"location":"src/lib/components/epistola-retry-form/epistola-retry-form.component.ts#12"},{"location":"src/lib/components/expected-structure/expected-structure.component.ts#2"},{"location":"src/lib/components/generate-document-configuration/generate-document-configuration.component.ts#11"},{"location":"src/lib/components/jsonata-editor/jsonata-editor.component.ts#10"},{"location":"src/lib/components/mapping-builder/builder-field/builder-field.component.ts#2"},{"location":"src/lib/components/mapping-builder/mapping-builder.component.ts#2"},{"location":"src/lib/components/mapping-preview/mapping-preview.component.ts#10"},{"location":"src/lib/components/override-builder/override-builder.component.ts#9"},{"location":"src/lib/components/process-link-selector/process-link-selector.component.ts#12"},{"location":"src/lib/epistola.module.ts#8"}]},"tags":["framework"]}],"dependencies":[],"annotations":[{"bom-ref":"metadata-annotations","subjects":["pkg:npm/@epistola.app/valtimo-plugin@1.0.0"],"annotator":{"component":{"group":"@cyclonedx","name":"cdxgen","version":"11.4.0","purl":"pkg:npm/%40cyclonedx/cdxgen@11.4.0","type":"application","bom-ref":"pkg:npm/@cyclonedx/cdxgen@11.4.0","publisher":"OWASP Foundation","authors":[{"name":"OWASP Foundation"}]}},"timestamp":"2026-05-19T11:56:47Z","text":"This Software Bill-of-Materials (SBOM) document was created on Tuesday, May 19, 2026 with cdxgen. The data was captured during the build lifecycle phase. The document describes an application named 'valtimo-plugin' with version '1.0.0'. There are 16 components. The package type in this SBOM is npm with 3 purl namespaces described under components. The components were identified from 16 source files."}]}
|