@cyberismo/data-handler 0.0.14 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/card-metadata-updater.js +8 -4
- package/dist/card-metadata-updater.js.map +1 -1
- package/dist/command-handler.d.ts +4 -0
- package/dist/command-handler.js +29 -19
- package/dist/command-handler.js.map +1 -1
- package/dist/command-manager.d.ts +25 -2
- package/dist/command-manager.js +30 -5
- package/dist/command-manager.js.map +1 -1
- package/dist/commands/create.d.ts +1 -1
- package/dist/commands/create.js +45 -93
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/edit.d.ts +1 -15
- package/dist/commands/edit.js +15 -89
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/export.d.ts +11 -2
- package/dist/commands/export.js +58 -58
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts +9 -1
- package/dist/commands/import.js +17 -11
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/move.d.ts +1 -2
- package/dist/commands/move.js +107 -146
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/remove.d.ts +8 -1
- package/dist/commands/remove.js +17 -48
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/rename.d.ts +4 -9
- package/dist/commands/rename.js +34 -108
- package/dist/commands/rename.js.map +1 -1
- package/dist/commands/show.d.ts +22 -34
- package/dist/commands/show.js +103 -151
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/transition.d.ts +9 -2
- package/dist/commands/transition.js +49 -44
- package/dist/commands/transition.js.map +1 -1
- package/dist/commands/update.d.ts +18 -12
- package/dist/commands/update.js +34 -18
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +18 -10
- package/dist/commands/validate.js +101 -47
- package/dist/commands/validate.js.map +1 -1
- package/dist/containers/card-container.d.ts +87 -24
- package/dist/containers/card-container.js +183 -279
- package/dist/containers/card-container.js.map +1 -1
- package/dist/containers/project/calculation-engine.d.ts +13 -4
- package/dist/containers/project/calculation-engine.js +79 -77
- package/dist/containers/project/calculation-engine.js.map +1 -1
- package/dist/containers/project/card-cache.d.ts +146 -0
- package/dist/containers/project/card-cache.js +411 -0
- package/dist/containers/project/card-cache.js.map +1 -0
- package/dist/containers/project/project-paths.d.ts +5 -4
- package/dist/containers/project/project-paths.js +16 -12
- package/dist/containers/project/project-paths.js.map +1 -1
- package/dist/containers/project/resource-cache.d.ts +169 -0
- package/dist/containers/project/resource-cache.js +507 -0
- package/dist/containers/project/resource-cache.js.map +1 -0
- package/dist/containers/project/resource-handler.d.ts +129 -0
- package/dist/containers/project/resource-handler.js +206 -0
- package/dist/containers/project/resource-handler.js.map +1 -0
- package/dist/containers/project.d.ts +114 -195
- package/dist/containers/project.js +425 -535
- package/dist/containers/project.js.map +1 -1
- package/dist/containers/template.d.ts +22 -32
- package/dist/containers/template.js +113 -115
- package/dist/containers/template.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/folder-content-interfaces.d.ts +7 -4
- package/dist/interfaces/folder-content-interfaces.js +3 -3
- package/dist/interfaces/folder-content-interfaces.js.map +1 -1
- package/dist/interfaces/macros.d.ts +1 -0
- package/dist/interfaces/macros.js +1 -1
- package/dist/interfaces/macros.js.map +1 -1
- package/dist/interfaces/project-interfaces.d.ts +7 -5
- package/dist/interfaces/project-interfaces.js.map +1 -1
- package/dist/interfaces/resource-interfaces.d.ts +25 -22
- package/dist/interfaces/resource-interfaces.js +3 -0
- package/dist/interfaces/resource-interfaces.js.map +1 -1
- package/dist/macros/common.d.ts +10 -10
- package/dist/macros/createCards/index.d.ts +0 -13
- package/dist/macros/createCards/index.js.map +1 -1
- package/dist/macros/createCards/types.d.ts +44 -0
- package/dist/macros/createCards/types.js +15 -0
- package/dist/macros/createCards/types.js.map +1 -0
- package/dist/macros/graph/index.d.ts +2 -6
- package/dist/macros/graph/index.js +14 -28
- package/dist/macros/graph/index.js.map +1 -1
- package/dist/macros/graph/types.d.ts +23 -0
- package/dist/macros/graph/types.js +15 -0
- package/dist/macros/graph/types.js.map +1 -0
- package/dist/macros/image/index.d.ts +8 -16
- package/dist/macros/image/index.js +36 -33
- package/dist/macros/image/index.js.map +1 -1
- package/dist/macros/image/types.d.ts +38 -0
- package/dist/macros/image/types.js +15 -0
- package/dist/macros/image/types.js.map +1 -0
- package/dist/macros/include/index.d.ts +1 -6
- package/dist/macros/include/index.js +4 -7
- package/dist/macros/include/index.js.map +1 -1
- package/dist/macros/include/types.d.ts +31 -0
- package/dist/macros/include/types.js +15 -0
- package/dist/macros/include/types.js.map +1 -0
- package/dist/macros/index.d.ts +1 -1
- package/dist/macros/index.js +2 -2
- package/dist/macros/index.js.map +1 -1
- package/dist/macros/percentage/index.d.ts +0 -6
- package/dist/macros/percentage/index.js.map +1 -1
- package/dist/macros/percentage/types.d.ts +31 -0
- package/dist/macros/percentage/types.js +15 -0
- package/dist/macros/percentage/types.js.map +1 -0
- package/dist/macros/report/index.d.ts +0 -3
- package/dist/macros/report/index.js +3 -6
- package/dist/macros/report/index.js.map +1 -1
- package/dist/macros/report/types.d.ts +19 -0
- package/dist/macros/report/types.js +15 -0
- package/dist/macros/report/types.js.map +1 -0
- package/dist/macros/scoreCard/index.d.ts +0 -6
- package/dist/macros/scoreCard/index.js.map +1 -1
- package/dist/macros/scoreCard/types.d.ts +31 -0
- package/dist/macros/scoreCard/types.js +15 -0
- package/dist/macros/scoreCard/types.js.map +1 -0
- package/dist/macros/types.d.ts +25 -0
- package/dist/macros/types.js +2 -0
- package/dist/macros/types.js.map +1 -0
- package/dist/macros/vega/index.d.ts +0 -4
- package/dist/macros/vega/index.js.map +1 -1
- package/dist/macros/vega/types.d.ts +20 -0
- package/dist/macros/vega/types.js +2 -0
- package/dist/macros/vega/types.js.map +1 -0
- package/dist/macros/vegalite/index.d.ts +0 -4
- package/dist/macros/vegalite/index.js.map +1 -1
- package/dist/macros/vegalite/types.d.ts +20 -0
- package/dist/macros/vegalite/types.js +15 -0
- package/dist/macros/vegalite/types.js.map +1 -0
- package/dist/macros/xref/index.d.ts +0 -3
- package/dist/macros/xref/index.js +5 -14
- package/dist/macros/xref/index.js.map +1 -1
- package/dist/macros/xref/types.d.ts +19 -0
- package/dist/macros/xref/types.js +15 -0
- package/dist/macros/xref/types.js.map +1 -0
- package/dist/module-manager.d.ts +16 -3
- package/dist/module-manager.js +55 -23
- package/dist/module-manager.js.map +1 -1
- package/dist/project-settings.d.ts +16 -3
- package/dist/project-settings.js +79 -14
- package/dist/project-settings.js.map +1 -1
- package/dist/resources/calculation-resource.d.ts +6 -33
- package/dist/resources/calculation-resource.js +11 -60
- package/dist/resources/calculation-resource.js.map +1 -1
- package/dist/resources/card-type-resource.d.ts +10 -22
- package/dist/resources/card-type-resource.js +46 -66
- package/dist/resources/card-type-resource.js.map +1 -1
- package/dist/resources/create-defaults.d.ts +3 -2
- package/dist/resources/create-defaults.js +3 -2
- package/dist/resources/create-defaults.js.map +1 -1
- package/dist/resources/field-type-resource.d.ts +8 -22
- package/dist/resources/field-type-resource.js +35 -60
- package/dist/resources/field-type-resource.js.map +1 -1
- package/dist/resources/file-resource.d.ts +14 -35
- package/dist/resources/file-resource.js +22 -301
- package/dist/resources/file-resource.js.map +1 -1
- package/dist/resources/folder-resource.d.ts +44 -66
- package/dist/resources/folder-resource.js +102 -149
- package/dist/resources/folder-resource.js.map +1 -1
- package/dist/resources/graph-model-resource.d.ts +9 -34
- package/dist/resources/graph-model-resource.js +18 -64
- package/dist/resources/graph-model-resource.js.map +1 -1
- package/dist/resources/graph-view-resource.d.ts +9 -29
- package/dist/resources/graph-view-resource.js +13 -48
- package/dist/resources/graph-view-resource.js.map +1 -1
- package/dist/resources/link-type-resource.d.ts +9 -23
- package/dist/resources/link-type-resource.js +11 -33
- package/dist/resources/link-type-resource.js.map +1 -1
- package/dist/resources/report-resource.d.ts +10 -23
- package/dist/resources/report-resource.js +20 -67
- package/dist/resources/report-resource.js.map +1 -1
- package/dist/resources/resource-object.d.ts +143 -23
- package/dist/resources/resource-object.js +369 -48
- package/dist/resources/resource-object.js.map +1 -1
- package/dist/resources/template-resource.d.ts +10 -17
- package/dist/resources/template-resource.js +19 -27
- package/dist/resources/template-resource.js.map +1 -1
- package/dist/resources/workflow-resource.d.ts +9 -25
- package/dist/resources/workflow-resource.js +25 -55
- package/dist/resources/workflow-resource.js.map +1 -1
- package/dist/utils/card-utils.d.ts +69 -19
- package/dist/utils/card-utils.js +179 -30
- package/dist/utils/card-utils.js.map +1 -1
- package/dist/utils/clingo-fact-builder.d.ts +25 -14
- package/dist/utils/clingo-fact-builder.js +27 -5
- package/dist/utils/clingo-fact-builder.js.map +1 -1
- package/dist/utils/clingo-facts.js +14 -7
- package/dist/utils/clingo-facts.js.map +1 -1
- package/dist/utils/clingo-parser.js +1 -1
- package/dist/utils/clingo-parser.js.map +1 -1
- package/dist/utils/constants.d.ts +2 -0
- package/dist/utils/constants.js +4 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/csv.js +1 -1
- package/dist/utils/csv.js.map +1 -1
- package/dist/utils/resource-utils.d.ts +1 -0
- package/dist/utils/resource-utils.js +2 -1
- package/dist/utils/resource-utils.js.map +1 -1
- package/package.json +11 -11
- package/src/card-metadata-updater.ts +9 -7
- package/src/command-handler.ts +35 -23
- package/src/command-manager.ts +32 -19
- package/src/commands/create.ts +59 -160
- package/src/commands/edit.ts +16 -132
- package/src/commands/export.ts +71 -81
- package/src/commands/import.ts +26 -18
- package/src/commands/move.ts +143 -179
- package/src/commands/remove.ts +20 -59
- package/src/commands/rename.ts +45 -156
- package/src/commands/show.ts +153 -211
- package/src/commands/transition.ts +53 -58
- package/src/commands/update.ts +44 -23
- package/src/commands/validate.ts +108 -82
- package/src/containers/card-container.ts +200 -360
- package/src/containers/project/calculation-engine.ts +81 -105
- package/src/containers/project/card-cache.ts +497 -0
- package/src/containers/project/project-paths.ts +21 -13
- package/src/containers/project/resource-cache.ts +648 -0
- package/src/containers/project/resource-handler.ts +265 -0
- package/src/containers/project.ts +551 -693
- package/src/containers/template.ts +129 -142
- package/src/index.ts +1 -0
- package/src/interfaces/folder-content-interfaces.ts +14 -7
- package/src/interfaces/macros.ts +2 -0
- package/src/interfaces/project-interfaces.ts +14 -7
- package/src/interfaces/resource-interfaces.ts +30 -27
- package/src/macros/createCards/index.ts +1 -12
- package/src/macros/createCards/types.ts +46 -0
- package/src/macros/graph/index.ts +27 -52
- package/src/macros/graph/types.ts +24 -0
- package/src/macros/image/index.ts +50 -61
- package/src/macros/image/types.ts +39 -0
- package/src/macros/include/index.ts +6 -15
- package/src/macros/include/types.ts +32 -0
- package/src/macros/index.ts +2 -2
- package/src/macros/percentage/index.ts +1 -7
- package/src/macros/percentage/types.ts +32 -0
- package/src/macros/report/index.ts +4 -13
- package/src/macros/report/types.ts +20 -0
- package/src/macros/scoreCard/index.ts +1 -7
- package/src/macros/scoreCard/types.ts +32 -0
- package/src/macros/types.ts +48 -0
- package/src/macros/vega/index.ts +1 -4
- package/src/macros/vega/types.ts +21 -0
- package/src/macros/vegalite/index.ts +1 -4
- package/src/macros/vegalite/types.ts +22 -0
- package/src/macros/xref/index.ts +6 -20
- package/src/macros/xref/types.ts +20 -0
- package/src/module-manager.ts +79 -22
- package/src/project-settings.ts +84 -15
- package/src/resources/calculation-resource.ts +21 -91
- package/src/resources/card-type-resource.ts +74 -109
- package/src/resources/create-defaults.ts +3 -2
- package/src/resources/field-type-resource.ts +61 -104
- package/src/resources/file-resource.ts +33 -441
- package/src/resources/folder-resource.ts +130 -207
- package/src/resources/graph-model-resource.ts +36 -95
- package/src/resources/graph-view-resource.ts +28 -70
- package/src/resources/link-type-resource.ts +23 -53
- package/src/resources/report-resource.ts +34 -96
- package/src/resources/resource-object.ts +511 -66
- package/src/resources/template-resource.ts +32 -44
- package/src/resources/workflow-resource.ts +42 -85
- package/src/utils/card-utils.ts +217 -31
- package/src/utils/clingo-fact-builder.ts +28 -16
- package/src/utils/clingo-facts.ts +16 -7
- package/src/utils/clingo-parser.ts +1 -1
- package/src/utils/constants.ts +6 -0
- package/src/utils/csv.ts +1 -1
- package/src/utils/resource-utils.ts +2 -1
- package/dist/containers/project/resource-collector.d.ts +0 -87
- package/dist/containers/project/resource-collector.js +0 -337
- package/dist/containers/project/resource-collector.js.map +0 -1
- package/src/containers/project/resource-collector.ts +0 -396
|
@@ -17,15 +17,13 @@ import { instance } from '@viz-js/viz';
|
|
|
17
17
|
import ClingoParser from '../../utils/clingo-parser.js';
|
|
18
18
|
import { Mutex } from 'async-mutex';
|
|
19
19
|
import Handlebars from 'handlebars';
|
|
20
|
-
import { ResourcesFrom } from '../../containers/project.js';
|
|
21
20
|
import { getChildLogger } from '../../utils/log-utils.js';
|
|
22
21
|
import { createCardFacts, createCardTypeFacts, createContextFacts, createFieldTypeFacts, createLinkTypeFacts, createModuleFacts, createProjectFacts, createReportFacts, createTemplateFacts, createWorkflowFacts, } from '../../utils/clingo-facts.js';
|
|
23
22
|
import { CardMetadataUpdater } from '../../card-metadata-updater.js';
|
|
24
|
-
import { CalculationResource } from '../../resources/calculation-resource.js';
|
|
25
23
|
import { removeAllPrograms, solve, setProgram, removeProgram, buildProgram, } from '@cyberismo/node-clingo';
|
|
26
24
|
import { generateReportContent } from '../../utils/report.js';
|
|
27
25
|
import { lpFiles, graphvizReport } from '@cyberismo/assets';
|
|
28
|
-
import {
|
|
26
|
+
import { resourceNameToString, } from '../../utils/resource-utils.js';
|
|
29
27
|
// Define the all category that will be used for all programs
|
|
30
28
|
const ALL_CATEGORY = 'all';
|
|
31
29
|
export class CalculationEngine {
|
|
@@ -59,12 +57,7 @@ export class CalculationEngine {
|
|
|
59
57
|
* @returns The logic program content for the card
|
|
60
58
|
*/
|
|
61
59
|
async cardLogicProgram(cardKey) {
|
|
62
|
-
const card =
|
|
63
|
-
metadata: true,
|
|
64
|
-
});
|
|
65
|
-
if (!card) {
|
|
66
|
-
throw new Error(`Card '${cardKey}' does not exist in the project`);
|
|
67
|
-
}
|
|
60
|
+
const card = this.project.findCard(cardKey);
|
|
68
61
|
return createCardFacts(card, this.project);
|
|
69
62
|
}
|
|
70
63
|
/**
|
|
@@ -78,7 +71,7 @@ export class CalculationEngine {
|
|
|
78
71
|
logicProgram += buildProgram('', programs);
|
|
79
72
|
await writeFile(destination, logicProgram);
|
|
80
73
|
}
|
|
81
|
-
//
|
|
74
|
+
// Wrapper to run onCreation query.
|
|
82
75
|
async creationQuery(cardKeys, context) {
|
|
83
76
|
if (!cardKeys)
|
|
84
77
|
return undefined;
|
|
@@ -88,7 +81,7 @@ export class CalculationEngine {
|
|
|
88
81
|
}
|
|
89
82
|
// Generate card tree content
|
|
90
83
|
async setCardTreeContent() {
|
|
91
|
-
const cards =
|
|
84
|
+
const cards = this.getCards(undefined);
|
|
92
85
|
for (const card of cards) {
|
|
93
86
|
await this.setCardContent(card);
|
|
94
87
|
}
|
|
@@ -99,9 +92,9 @@ export class CalculationEngine {
|
|
|
99
92
|
}
|
|
100
93
|
// Generates logic programs related to modules (and project itself).
|
|
101
94
|
async generateModules() {
|
|
102
|
-
const modules =
|
|
95
|
+
const modules = this.project.resources.moduleNames();
|
|
103
96
|
let content = '';
|
|
104
|
-
for (const module of await Promise.all(modules.map((mod) => this.project.module(mod
|
|
97
|
+
for (const module of await Promise.all(modules.map((mod) => this.project.module(mod)))) {
|
|
105
98
|
if (!module)
|
|
106
99
|
continue;
|
|
107
100
|
const moduleContent = createModuleFacts(module);
|
|
@@ -113,102 +106,97 @@ export class CalculationEngine {
|
|
|
113
106
|
}
|
|
114
107
|
// Sets individual CardType programs
|
|
115
108
|
async setCardTypesPrograms() {
|
|
116
|
-
const cardTypes =
|
|
117
|
-
for (const cardType of
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
setProgram(cardType.name, cardTypeContent, [ALL_CATEGORY]);
|
|
109
|
+
const cardTypes = this.project.resources.cardTypes();
|
|
110
|
+
for (const cardType of cardTypes) {
|
|
111
|
+
const ct = cardType.show();
|
|
112
|
+
const cardTypeContent = createCardTypeFacts(ct);
|
|
113
|
+
setProgram(ct.name, cardTypeContent, [ALL_CATEGORY]);
|
|
122
114
|
}
|
|
123
115
|
}
|
|
124
116
|
// Sets individual FieldType programs
|
|
125
117
|
async setFieldTypesPrograms() {
|
|
126
|
-
const fieldTypes =
|
|
127
|
-
for (const fieldType of
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
setProgram(fieldType.name, fieldTypeContent, [ALL_CATEGORY]);
|
|
118
|
+
const fieldTypes = this.project.resources.fieldTypes();
|
|
119
|
+
for (const fieldType of fieldTypes) {
|
|
120
|
+
const ft = fieldType.show();
|
|
121
|
+
const fieldTypeContent = createFieldTypeFacts(ft);
|
|
122
|
+
setProgram(ft.name, fieldTypeContent, [ALL_CATEGORY]);
|
|
132
123
|
}
|
|
133
124
|
}
|
|
134
125
|
// Sets individual LinkType programs
|
|
135
126
|
async setLinkTypesPrograms() {
|
|
136
|
-
const linkTypes =
|
|
137
|
-
for (const linkType of
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
setProgram(linkType.name, linkTypeContent, [ALL_CATEGORY]);
|
|
127
|
+
const linkTypes = this.project.resources.linkTypes();
|
|
128
|
+
for (const linkType of linkTypes) {
|
|
129
|
+
const lt = linkType.show();
|
|
130
|
+
const linkTypeContent = createLinkTypeFacts(lt);
|
|
131
|
+
setProgram(lt.name, linkTypeContent, [ALL_CATEGORY]);
|
|
142
132
|
}
|
|
143
133
|
}
|
|
144
134
|
// Sets individual Workflow programs
|
|
145
135
|
async setWorkflowsPrograms() {
|
|
146
|
-
const workflows =
|
|
147
|
-
for (const workflow of
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
setProgram(workflow.name, workflowContent, [ALL_CATEGORY]);
|
|
136
|
+
const workflows = this.project.resources.workflows();
|
|
137
|
+
for (const workflow of workflows) {
|
|
138
|
+
const wf = workflow.show();
|
|
139
|
+
const workflowContent = createWorkflowFacts(wf);
|
|
140
|
+
setProgram(wf.name, workflowContent, [ALL_CATEGORY]);
|
|
152
141
|
}
|
|
153
142
|
}
|
|
154
143
|
// Sets individual Report programs
|
|
155
144
|
async setReportsPrograms() {
|
|
156
|
-
const reports =
|
|
157
|
-
for (const report of
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
setProgram(report.name, reportContent, [ALL_CATEGORY]);
|
|
145
|
+
const reports = this.project.resources.reports();
|
|
146
|
+
for (const report of reports) {
|
|
147
|
+
const rep = report.show();
|
|
148
|
+
const reportContent = createReportFacts(rep);
|
|
149
|
+
setProgram(rep.name, reportContent, [ALL_CATEGORY]);
|
|
162
150
|
}
|
|
163
151
|
}
|
|
164
152
|
// Sets individual Template programs
|
|
165
153
|
async setTemplatesPrograms() {
|
|
166
|
-
const templates =
|
|
167
|
-
for (const template of
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
const
|
|
171
|
-
const cards = await this.getCards(template.name);
|
|
154
|
+
const templates = this.project.resources.templates();
|
|
155
|
+
for (const template of templates) {
|
|
156
|
+
const tem = template.show();
|
|
157
|
+
const templateContent = createTemplateFacts(tem);
|
|
158
|
+
const cards = this.getCards(tem.name);
|
|
172
159
|
for (const card of cards) {
|
|
173
160
|
const cardContent = await createCardFacts(card, this.project);
|
|
174
161
|
setProgram(card.key, cardContent, [ALL_CATEGORY]);
|
|
175
162
|
}
|
|
176
|
-
setProgram(
|
|
163
|
+
setProgram(tem.name, templateContent, [ALL_CATEGORY]);
|
|
177
164
|
}
|
|
178
165
|
}
|
|
179
166
|
// Sets individual Calculation programs
|
|
180
167
|
async setCalculationsPrograms() {
|
|
181
|
-
const calculations =
|
|
182
|
-
for (const
|
|
168
|
+
const calculations = this.project.resources.calculations();
|
|
169
|
+
for (const calculation of calculations) {
|
|
183
170
|
try {
|
|
184
|
-
const
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
if (!resource?.content.calculation) {
|
|
188
|
-
this.logger.info(`Calculation resource '${resource.name}' does not have calculation file`);
|
|
189
|
-
continue;
|
|
190
|
-
}
|
|
191
|
-
setProgram(calculationFile.name, resource.content.calculation, [
|
|
192
|
-
ALL_CATEGORY,
|
|
193
|
-
]);
|
|
194
|
-
}
|
|
171
|
+
const content = calculation.contentData();
|
|
172
|
+
const calc = calculation.show();
|
|
173
|
+
setProgram(calc.name, content.calculation, [ALL_CATEGORY]);
|
|
195
174
|
}
|
|
196
175
|
catch (error) {
|
|
197
|
-
this.logger.warn(error, `Failed to read calculation ${
|
|
176
|
+
this.logger.warn(error, `Failed to read calculation ${calculation.data.name}`);
|
|
198
177
|
}
|
|
199
178
|
}
|
|
200
179
|
}
|
|
201
180
|
// Gets either all the cards (no parent), or a subtree.
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
181
|
+
getCards(templateName) {
|
|
182
|
+
if (templateName) {
|
|
183
|
+
return this.project.templateCards(templateName);
|
|
184
|
+
}
|
|
185
|
+
return this.project.cards();
|
|
206
186
|
}
|
|
207
187
|
// Checks that Clingo successfully returned result.
|
|
208
188
|
async parseClingoResult(data) {
|
|
209
189
|
const parser = new ClingoParser();
|
|
210
190
|
return parser.parseInput(data.join('\n'));
|
|
211
191
|
}
|
|
192
|
+
//
|
|
193
|
+
queryContent(queryName, options) {
|
|
194
|
+
const content = lpFiles.queries[queryName];
|
|
195
|
+
const handlebars = Handlebars.create();
|
|
196
|
+
const compiled = handlebars.compile(content);
|
|
197
|
+
return compiled(options || {});
|
|
198
|
+
}
|
|
199
|
+
//
|
|
212
200
|
async run(query, context) {
|
|
213
201
|
try {
|
|
214
202
|
const res = await CalculationEngine.mutex.runExclusive(async () => {
|
|
@@ -275,6 +263,17 @@ export class CalculationEngine {
|
|
|
275
263
|
await this.setCardContent(changedCard);
|
|
276
264
|
});
|
|
277
265
|
}
|
|
266
|
+
/**
|
|
267
|
+
* When card is moved, rebuild the entire card tree structure.
|
|
268
|
+
* Moving cards changes parent-child relationships, so we need to rebuild
|
|
269
|
+
* the complete card tree facts to ensure consistency.
|
|
270
|
+
*/
|
|
271
|
+
async handleCardMoved() {
|
|
272
|
+
await CalculationEngine.mutex.runExclusive(async () => {
|
|
273
|
+
// Rebuild entire tree structure from scratch to ensure all relationships are correct
|
|
274
|
+
await this.setCardTreeContent();
|
|
275
|
+
});
|
|
276
|
+
}
|
|
278
277
|
/**
|
|
279
278
|
* When cards are removed, automatically remove card-specific calculations.
|
|
280
279
|
* @param deletedCard Card that is to be removed.
|
|
@@ -325,7 +324,13 @@ export class CalculationEngine {
|
|
|
325
324
|
* @returns The logic program content for the resource
|
|
326
325
|
*/
|
|
327
326
|
async resourceLogicProgram(resourceName) {
|
|
328
|
-
|
|
327
|
+
let resource;
|
|
328
|
+
try {
|
|
329
|
+
resource = this.project.resources.byType(resourceName).data;
|
|
330
|
+
}
|
|
331
|
+
catch {
|
|
332
|
+
resource = undefined;
|
|
333
|
+
}
|
|
329
334
|
if (!resource) {
|
|
330
335
|
throw new Error(`Resource '${resourceNameToString(resourceName)}' does not exist in the project`);
|
|
331
336
|
}
|
|
@@ -348,8 +353,9 @@ export class CalculationEngine {
|
|
|
348
353
|
}
|
|
349
354
|
/**
|
|
350
355
|
* Runs given logic program and creates a graph using clingraph
|
|
351
|
-
* @param
|
|
352
|
-
* @param
|
|
356
|
+
* @param model Graph model to use.
|
|
357
|
+
* @param view Graph view to use.
|
|
358
|
+
* @param context In which type of context the query is run.
|
|
353
359
|
* @returns a base64 encoded image as a string
|
|
354
360
|
*/
|
|
355
361
|
async runGraph(model, view, context) {
|
|
@@ -381,21 +387,17 @@ export class CalculationEngine {
|
|
|
381
387
|
/**
|
|
382
388
|
* Runs a logic program using clingo.
|
|
383
389
|
* @param query Logic program to be run
|
|
390
|
+
* @param context In which type of context the query is run.
|
|
384
391
|
* @returns parsed program output
|
|
385
392
|
*/
|
|
386
393
|
async runLogicProgram(query, context = 'localApp') {
|
|
387
394
|
const clingoOutput = await this.run(query, context);
|
|
388
395
|
return this.parseClingoResult(clingoOutput);
|
|
389
396
|
}
|
|
390
|
-
queryContent(queryName, options) {
|
|
391
|
-
const content = lpFiles.queries[queryName];
|
|
392
|
-
const handlebars = Handlebars.create();
|
|
393
|
-
const compiled = handlebars.compile(content);
|
|
394
|
-
return compiled(options || {});
|
|
395
|
-
}
|
|
396
397
|
/**
|
|
397
398
|
* Runs a pre-defined query.
|
|
398
399
|
* @param queryName Name of the query file without extension
|
|
400
|
+
* @param context In which type of context the query is run.
|
|
399
401
|
* @param options Any object that contains state for handlebars
|
|
400
402
|
* @returns parsed program output
|
|
401
403
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculation-engine.js","sourceRoot":"","sources":["../../../src/containers/project/calculation-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calculation-engine.js","sourceRoot":"","sources":["../../../src/containers/project/calculation-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2025
|
|
4
|
+
This program is free software: you can redistribute it and/or modify it under
|
|
5
|
+
the terms of the GNU Affero General Public License version 3 as published by
|
|
6
|
+
the Free Software Foundation. This program is distributed in the hope that it
|
|
7
|
+
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
8
|
+
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
9
|
+
See the GNU Affero General Public License for more details.
|
|
10
|
+
You should have received a copy of the GNU Affero General Public
|
|
11
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
12
|
+
*/
|
|
13
|
+
import type { Card, CardAttachment, CardMetadata } from '../../interfaces/project-interfaces.js';
|
|
14
|
+
/**
|
|
15
|
+
* Extended card interface that includes location metadata.
|
|
16
|
+
* For project cards: location = 'project'
|
|
17
|
+
* For template cards: location = template name (e.g., 'decision/templates/decision')
|
|
18
|
+
*/
|
|
19
|
+
interface CachedCard extends Card {
|
|
20
|
+
location: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
export declare class CardCache {
|
|
26
|
+
private prefix;
|
|
27
|
+
private cardCache;
|
|
28
|
+
private cachePopulated;
|
|
29
|
+
constructor(prefix: string);
|
|
30
|
+
private buildChildrenRelationshipsRecursively;
|
|
31
|
+
private determineLocationFromPath;
|
|
32
|
+
private entries;
|
|
33
|
+
private fetchAttachments;
|
|
34
|
+
private fetchContent;
|
|
35
|
+
private fetchMetadata;
|
|
36
|
+
private fetchFileEntries;
|
|
37
|
+
private populateFromCards;
|
|
38
|
+
private static get logger();
|
|
39
|
+
/**
|
|
40
|
+
* Adds attachment to a card in the cache.
|
|
41
|
+
* @param cardKey card key for which to add new attachment
|
|
42
|
+
* @param fileName attachment fileName
|
|
43
|
+
* @returns true, if attachment was added to the cache; false otherwise.
|
|
44
|
+
*/
|
|
45
|
+
addAttachment(cardKey: string, fileName: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Empties the cache.
|
|
48
|
+
*/
|
|
49
|
+
clear(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Removes a card from the cache.
|
|
52
|
+
* @param cardKey card key to remove
|
|
53
|
+
* @returns true, if card was removed from the cache; false otherwise
|
|
54
|
+
*/
|
|
55
|
+
deleteCard(cardKey: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Removes attachment from a card in the cache.
|
|
58
|
+
* @param cardKey card key of card from which attachment is to be removed
|
|
59
|
+
* @param filename attachment filename to remove
|
|
60
|
+
* @returns true, if attachment was removed from the cache; false otherwise
|
|
61
|
+
*/
|
|
62
|
+
deleteAttachment(cardKey: string, filename: string): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Removes template's cards from the cache.
|
|
65
|
+
* @param templateName Name of the template
|
|
66
|
+
*/
|
|
67
|
+
deleteCardsFromTemplate(templateName: string): void;
|
|
68
|
+
/**
|
|
69
|
+
* Returns all the template cards in the cache.
|
|
70
|
+
* @returns all the template cards in the cache.
|
|
71
|
+
*/
|
|
72
|
+
getAllTemplateCards(): CachedCard[];
|
|
73
|
+
/**
|
|
74
|
+
* Returns a card from the cache.
|
|
75
|
+
* @param cardKey card key to find
|
|
76
|
+
* @returns card from the cache; if not found then returns undefined.
|
|
77
|
+
*/
|
|
78
|
+
getCard(cardKey: string): CachedCard | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Returns all the cards in the cache.
|
|
81
|
+
* @returns all the cards in the cache
|
|
82
|
+
*/
|
|
83
|
+
getCards(): CachedCard[];
|
|
84
|
+
/**
|
|
85
|
+
* Returns all the attachments in the cache for a given card key.
|
|
86
|
+
* @param cardKey Card key for which to fetch all the attachments for.
|
|
87
|
+
* @returns all the attachments in the cache for a given card key.
|
|
88
|
+
*/
|
|
89
|
+
getCardAttachments(cardKey: string): CardAttachment[] | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Checks if card is in the cache; false otherwise.
|
|
92
|
+
* @param cardKey card key to check
|
|
93
|
+
* @returns true if card is in the cache; false otherwise
|
|
94
|
+
*/
|
|
95
|
+
hasCard(cardKey: string): boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Checks if card in cache has attachment.
|
|
98
|
+
* @param cardKey card key to check
|
|
99
|
+
* @param filename attachment file name to find
|
|
100
|
+
* @returns true, if card in cache has attachment; false otherwise.
|
|
101
|
+
*/
|
|
102
|
+
hasCardAttachment(cardKey: string, filename: string): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Checks if cache has been already populated.
|
|
105
|
+
* @returns true if cache has already been populated; otherwise false
|
|
106
|
+
*/
|
|
107
|
+
get isPopulated(): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Re-builds the existing cache's parent-child relationships info.
|
|
110
|
+
*/
|
|
111
|
+
populateChildrenRelationships(): void;
|
|
112
|
+
/**
|
|
113
|
+
* Populates the cache from a given path
|
|
114
|
+
* @param path File system path where the cache should be built from.
|
|
115
|
+
* @param buildRelationships Whether to build parent-child relationships immediately
|
|
116
|
+
*/
|
|
117
|
+
populateFromPath(path: string, buildRelationships?: boolean): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Updates, or adds a card to cache.
|
|
120
|
+
* @param cardKey Card key
|
|
121
|
+
* @param cardData Updated data.
|
|
122
|
+
*/
|
|
123
|
+
updateCard(cardKey: string, cardData: Card): void;
|
|
124
|
+
/**
|
|
125
|
+
* Updates card's attachments.
|
|
126
|
+
* @param cardKey card key of a card to update
|
|
127
|
+
* @param attachments Attachments to use in the card.
|
|
128
|
+
* @returns true, if update succeeded; false otherwise.
|
|
129
|
+
*/
|
|
130
|
+
updateCardAttachments(cardKey: string, attachments: CardAttachment[]): boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Updates card's content in the cache.
|
|
133
|
+
* @param cardKey card key of a card to update.
|
|
134
|
+
* @param content New content for the card.
|
|
135
|
+
* @returns true, if update succeeded; false otherwise.
|
|
136
|
+
*/
|
|
137
|
+
updateCardContent(cardKey: string, content: string): boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Updates card's metadata in the cache.
|
|
140
|
+
* @param cardKey card key of a card to update.
|
|
141
|
+
* @param metadata New metadata for the card.
|
|
142
|
+
* @returns true, if update succeeded; false otherwise.
|
|
143
|
+
*/
|
|
144
|
+
updateCardMetadata(cardKey: string, metadata: CardMetadata): boolean;
|
|
145
|
+
}
|
|
146
|
+
export {};
|