@accordproject/template-engine 3.1.0 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/README.md +41 -0
  2. package/lib/JavaScriptEvaluator.d.ts +71 -0
  3. package/lib/JavaScriptEvaluator.js +245 -0
  4. package/lib/JavaScriptEvaluator.js.map +1 -0
  5. package/lib/TemplateArchiveProcessor.d.ts +151 -0
  6. package/lib/TemplateArchiveProcessor.js +447 -0
  7. package/lib/TemplateArchiveProcessor.js.map +1 -0
  8. package/lib/TemplateMarkInterpreter.d.ts +34 -0
  9. package/lib/TemplateMarkInterpreter.js +689 -0
  10. package/lib/TemplateMarkInterpreter.js.map +1 -0
  11. package/lib/TemplateMarkNodes.d.ts +19 -0
  12. package/lib/TemplateMarkNodes.js +45 -0
  13. package/lib/TemplateMarkNodes.js.map +1 -0
  14. package/lib/TemplateMarkToJavaScriptCompiler.d.ts +20 -0
  15. package/lib/TemplateMarkToJavaScriptCompiler.js +99 -0
  16. package/lib/TemplateMarkToJavaScriptCompiler.js.map +1 -0
  17. package/lib/TypeScriptCompilationContext.d.ts +42 -0
  18. package/lib/TypeScriptCompilationContext.js +170 -0
  19. package/lib/TypeScriptCompilationContext.js.map +1 -0
  20. package/lib/TypeScriptRuntime.d.ts +17 -0
  21. package/lib/TypeScriptRuntime.js +84 -0
  22. package/lib/TypeScriptRuntime.js.map +1 -0
  23. package/lib/TypeScriptToJavaScriptCompiler.d.ts +11 -0
  24. package/lib/TypeScriptToJavaScriptCompiler.js +169 -0
  25. package/lib/TypeScriptToJavaScriptCompiler.js.map +1 -0
  26. package/lib/drafting/Boolean/index.d.ts +6 -0
  27. package/lib/drafting/Boolean/index.js +30 -0
  28. package/lib/drafting/Boolean/index.js.map +1 -0
  29. package/lib/drafting/DateTime/index.d.ts +8 -0
  30. package/lib/drafting/DateTime/index.js +33 -0
  31. package/lib/drafting/DateTime/index.js.map +1 -0
  32. package/lib/drafting/Double/format.d.ts +14 -0
  33. package/lib/drafting/Double/format.js +62 -0
  34. package/lib/drafting/Double/format.js.map +1 -0
  35. package/lib/drafting/Double/index.d.ts +8 -0
  36. package/lib/drafting/Double/index.js +33 -0
  37. package/lib/drafting/Double/index.js.map +1 -0
  38. package/lib/drafting/DraftFormat.d.ts +5 -0
  39. package/lib/drafting/DraftFormat.js +18 -0
  40. package/lib/drafting/DraftFormat.js.map +1 -0
  41. package/lib/drafting/Duration/index.d.ts +6 -0
  42. package/lib/drafting/Duration/index.js +39 -0
  43. package/lib/drafting/Duration/index.js.map +1 -0
  44. package/lib/drafting/Integer/format.d.ts +14 -0
  45. package/lib/drafting/Integer/format.js +52 -0
  46. package/lib/drafting/Integer/format.js.map +1 -0
  47. package/lib/drafting/Integer/index.d.ts +8 -0
  48. package/lib/drafting/Integer/index.js +33 -0
  49. package/lib/drafting/Integer/index.js.map +1 -0
  50. package/lib/drafting/Long/index.d.ts +8 -0
  51. package/lib/drafting/Long/index.js +33 -0
  52. package/lib/drafting/Long/index.js.map +1 -0
  53. package/lib/drafting/MonetaryAmount/currencycode.d.ts +35 -0
  54. package/lib/drafting/MonetaryAmount/currencycode.js +53 -0
  55. package/lib/drafting/MonetaryAmount/currencycode.js.map +1 -0
  56. package/lib/drafting/MonetaryAmount/formatTokens.d.ts +13 -0
  57. package/lib/drafting/MonetaryAmount/formatTokens.js +44 -0
  58. package/lib/drafting/MonetaryAmount/formatTokens.js.map +1 -0
  59. package/lib/drafting/MonetaryAmount/index.d.ts +13 -0
  60. package/lib/drafting/MonetaryAmount/index.js +51 -0
  61. package/lib/drafting/MonetaryAmount/index.js.map +1 -0
  62. package/lib/drafting/PreciseAmount/index.d.ts +17 -0
  63. package/lib/drafting/PreciseAmount/index.js +113 -0
  64. package/lib/drafting/PreciseAmount/index.js.map +1 -0
  65. package/lib/drafting/String/index.d.ts +6 -0
  66. package/lib/drafting/String/index.js +25 -0
  67. package/lib/drafting/String/index.js.map +1 -0
  68. package/lib/drafting/index.d.ts +2 -0
  69. package/lib/drafting/index.js +63 -0
  70. package/lib/drafting/index.js.map +1 -0
  71. package/lib/index.d.ts +7 -0
  72. package/lib/index.js +42 -0
  73. package/lib/index.js.map +1 -0
  74. package/lib/llm/LLMConfig.d.ts +121 -0
  75. package/lib/llm/LLMConfig.js +30 -0
  76. package/lib/llm/LLMConfig.js.map +1 -0
  77. package/lib/llm/LLMExecutor.d.ts +77 -0
  78. package/lib/llm/LLMExecutor.js +603 -0
  79. package/lib/llm/LLMExecutor.js.map +1 -0
  80. package/lib/llm/ModelManagerSchema.d.ts +14 -0
  81. package/lib/llm/ModelManagerSchema.js +67 -0
  82. package/lib/llm/ModelManagerSchema.js.map +1 -0
  83. package/lib/llm/Reasoners.d.ts +190 -0
  84. package/lib/llm/Reasoners.js +643 -0
  85. package/lib/llm/Reasoners.js.map +1 -0
  86. package/lib/model-gen/concerto.d.ts +13 -0
  87. package/lib/model-gen/concerto.js +4 -0
  88. package/lib/model-gen/concerto.js.map +1 -0
  89. package/lib/model-gen/concerto.metamodel@1.0.0.d.ts +196 -0
  90. package/lib/model-gen/concerto.metamodel@1.0.0.js +4 -0
  91. package/lib/model-gen/concerto.metamodel@1.0.0.js.map +1 -0
  92. package/lib/model-gen/concerto@1.0.0.d.ts +19 -0
  93. package/lib/model-gen/concerto@1.0.0.js +4 -0
  94. package/lib/model-gen/concerto@1.0.0.js.map +1 -0
  95. package/lib/model-gen/org.accordproject.ciceromark@0.6.0.d.ts +49 -0
  96. package/lib/model-gen/org.accordproject.ciceromark@0.6.0.js +4 -0
  97. package/lib/model-gen/org.accordproject.ciceromark@0.6.0.js.map +1 -0
  98. package/lib/model-gen/org.accordproject.commonmark@0.5.0.d.ts +89 -0
  99. package/lib/model-gen/org.accordproject.commonmark@0.5.0.js +4 -0
  100. package/lib/model-gen/org.accordproject.commonmark@0.5.0.js.map +1 -0
  101. package/lib/model-gen/org.accordproject.templatemark@0.5.0.d.ts +76 -0
  102. package/lib/model-gen/org.accordproject.templatemark@0.5.0.js +11 -0
  103. package/lib/model-gen/org.accordproject.templatemark@0.5.0.js.map +1 -0
  104. package/lib/runtime/declarations.d.ts +2 -0
  105. package/lib/runtime/declarations.js +21 -0
  106. package/lib/runtime/declarations.js.map +1 -0
  107. package/lib/slc/model-gen/concerto.d.ts +13 -0
  108. package/lib/slc/model-gen/concerto.decorator@1.0.0.d.ts +6 -0
  109. package/lib/slc/model-gen/concerto.decorator@1.0.0.js +5 -0
  110. package/lib/slc/model-gen/concerto.decorator@1.0.0.js.map +1 -0
  111. package/lib/slc/model-gen/concerto.js +5 -0
  112. package/lib/slc/model-gen/concerto.js.map +1 -0
  113. package/lib/slc/model-gen/concerto@1.0.0.d.ts +24 -0
  114. package/lib/slc/model-gen/concerto@1.0.0.js +6 -0
  115. package/lib/slc/model-gen/concerto@1.0.0.js.map +1 -0
  116. package/lib/slc/model-gen/org.accordproject.contract@0.2.0.d.ts +7 -0
  117. package/lib/slc/model-gen/org.accordproject.contract@0.2.0.js +5 -0
  118. package/lib/slc/model-gen/org.accordproject.contract@0.2.0.js.map +1 -0
  119. package/lib/slc/model-gen/org.accordproject.runtime@0.2.0.d.ts +15 -0
  120. package/lib/slc/model-gen/org.accordproject.runtime@0.2.0.js +4 -0
  121. package/lib/slc/model-gen/org.accordproject.runtime@0.2.0.js.map +1 -0
  122. package/lib/slc/model-gen/org.accordproject.time@0.3.0.d.ts +46 -0
  123. package/lib/slc/model-gen/org.accordproject.time@0.3.0.js +48 -0
  124. package/lib/slc/model-gen/org.accordproject.time@0.3.0.js.map +1 -0
  125. package/lib/utils.d.ts +35 -0
  126. package/lib/utils.js +122 -0
  127. package/lib/utils.js.map +1 -0
  128. package/lib/worker.d.ts +1 -0
  129. package/{dist → lib}/worker.js +12 -10
  130. package/lib/worker.js.map +1 -0
  131. package/package.json +46 -25
  132. package/umd/template-engine.js +13 -0
  133. package/umd/template-engine.js.LICENSE.txt +21 -0
  134. package/dist/index.d.ts +0 -186
  135. package/dist/index.js +0 -1275
  136. package/dist/index.js.map +0 -1
  137. package/dist/index.mjs +0 -1248
  138. package/dist/index.mjs.map +0 -1
  139. package/dist/worker.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateMarkInterpreter.js","sourceRoot":"","sources":["../src/TemplateMarkInterpreter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare const TEMPLATEMARK_RE: RegExp;
2
+ export declare const FORMULA_DEFINITION_RE: RegExp;
3
+ export declare const VARIABLE_DEFINITION_RE: RegExp;
4
+ export declare const CONDITIONAL_DEFINITION_RE: RegExp;
5
+ export declare const ENUM_VARIABLE_DEFINITION_RE: RegExp;
6
+ export declare const FORMATTED_VARIABLE_DEFINITION_RE: RegExp;
7
+ export declare const WITH_DEFINITION_RE: RegExp;
8
+ export declare const LISTBLOCK_DEFINITION_RE: RegExp;
9
+ export declare const JOIN_DEFINITION_RE: RegExp;
10
+ export declare const OPTIONAL_DEFINITION_RE: RegExp;
11
+ export declare const CLAUSE_DEFINITION_RE: RegExp;
12
+ export declare const CONTRACT_DEFINITION_RE: RegExp;
13
+ export declare const FOREACH_DEFINITION_RE: RegExp;
14
+ export type TemplateData = Record<string, unknown>;
15
+ /**
16
+ * TemplateMark nodes that implicitly change the data access scope
17
+ * by specifying the name of a property on the node.
18
+ */
19
+ export declare const NAVIGATION_NODES: string[];
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /*
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.NAVIGATION_NODES = exports.FOREACH_DEFINITION_RE = exports.CONTRACT_DEFINITION_RE = exports.CLAUSE_DEFINITION_RE = exports.OPTIONAL_DEFINITION_RE = exports.JOIN_DEFINITION_RE = exports.LISTBLOCK_DEFINITION_RE = exports.WITH_DEFINITION_RE = exports.FORMATTED_VARIABLE_DEFINITION_RE = exports.ENUM_VARIABLE_DEFINITION_RE = exports.CONDITIONAL_DEFINITION_RE = exports.VARIABLE_DEFINITION_RE = exports.FORMULA_DEFINITION_RE = exports.TEMPLATEMARK_RE = void 0;
17
+ const markdown_common_1 = require("@accordproject/markdown-common");
18
+ // use to create agreementmark from templatemark
19
+ exports.TEMPLATEMARK_RE = /^(org\.accordproject\.templatemark)@(.+)\.(\w+)Definition$/;
20
+ exports.FORMULA_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.FormulaDefinition$/;
21
+ exports.VARIABLE_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.VariableDefinition$/;
22
+ exports.CONDITIONAL_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.ConditionalDefinition$/;
23
+ exports.ENUM_VARIABLE_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.EnumVariableDefinition$/;
24
+ exports.FORMATTED_VARIABLE_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.FormattedVariableDefinition$/;
25
+ exports.WITH_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.WithDefinition$/;
26
+ exports.LISTBLOCK_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.ListBlockDefinition$/;
27
+ exports.JOIN_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.JoinDefinition$/;
28
+ exports.OPTIONAL_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.OptionalDefinition$/;
29
+ exports.CLAUSE_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.ClauseDefinition$/;
30
+ exports.CONTRACT_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.ContractDefinition$/;
31
+ exports.FOREACH_DEFINITION_RE = /^(org\.accordproject\.templatemark)@(.+)\.ForeachDefinition$/;
32
+ /**
33
+ * TemplateMark nodes that implicitly change the data access scope
34
+ * by specifying the name of a property on the node.
35
+ */
36
+ exports.NAVIGATION_NODES = [
37
+ `${markdown_common_1.TemplateMarkModel.NAMESPACE}.ListBlockDefinition`,
38
+ `${markdown_common_1.TemplateMarkModel.NAMESPACE}.WithDefinition`,
39
+ `${markdown_common_1.TemplateMarkModel.NAMESPACE}.JoinDefinition`,
40
+ `${markdown_common_1.TemplateMarkModel.NAMESPACE}.OptionalDefinition`,
41
+ `${markdown_common_1.TemplateMarkModel.NAMESPACE}.ClauseDefinition`,
42
+ `${markdown_common_1.TemplateMarkModel.NAMESPACE}.ContractDefinition`,
43
+ `${markdown_common_1.TemplateMarkModel.NAMESPACE}.ForeachBlockDefinition`
44
+ ];
45
+ //# sourceMappingURL=TemplateMarkNodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateMarkNodes.js","sourceRoot":"","sources":["../src/TemplateMarkNodes.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH,oEAAmE;AAEnE,gDAAgD;AACnC,QAAA,eAAe,GAAG,4DAA4D,CAAC;AAC/E,QAAA,qBAAqB,GAAG,8DAA8D,CAAC;AACvF,QAAA,sBAAsB,GAAG,+DAA+D,CAAC;AACzF,QAAA,yBAAyB,GAAG,kEAAkE,CAAC;AAC/F,QAAA,2BAA2B,GAAG,mEAAmE,CAAC;AAClG,QAAA,gCAAgC,GAAG,wEAAwE,CAAC;AAC5G,QAAA,kBAAkB,GAAG,2DAA2D,CAAC;AACjF,QAAA,uBAAuB,GAAG,gEAAgE,CAAC;AAC3F,QAAA,kBAAkB,GAAG,2DAA2D,CAAC;AACjF,QAAA,sBAAsB,GAAG,+DAA+D,CAAC;AACzF,QAAA,oBAAoB,GAAG,6DAA6D,CAAC;AACrF,QAAA,sBAAsB,GAAG,+DAA+D,CAAC;AACzF,QAAA,qBAAqB,GAAG,8DAA8D,CAAC;AAIpG;;;GAGG;AACU,QAAA,gBAAgB,GAAG;IAC5B,GAAG,mCAAiB,CAAC,SAAS,sBAAsB;IACpD,GAAG,mCAAiB,CAAC,SAAS,iBAAiB;IAC/C,GAAG,mCAAiB,CAAC,SAAS,iBAAiB;IAC/C,GAAG,mCAAiB,CAAC,SAAS,qBAAqB;IACnD,GAAG,mCAAiB,CAAC,SAAS,mBAAmB;IACjD,GAAG,mCAAiB,CAAC,SAAS,qBAAqB;IACnD,GAAG,mCAAiB,CAAC,SAAS,yBAAyB;CAC1D,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { ClassDeclaration, ModelManager } from '@accordproject/concerto-core';
2
+ import { TypeScriptToJavaScriptCompiler } from './TypeScriptToJavaScriptCompiler';
3
+ import { TwoSlashReturn } from '@typescript/twoslash';
4
+ export type CompilerError = {
5
+ nodeId: string;
6
+ code: string;
7
+ errors: TwoSlashReturn['errors'];
8
+ };
9
+ /**
10
+ * Compiles all the Typescript nodes in a TemplateMark JSON
11
+ * to ES_2020 and returns a modified TemplateMark JSON.
12
+ */
13
+ export declare class TemplateMarkToJavaScriptCompiler {
14
+ modelManager: ModelManager;
15
+ compiler: TypeScriptToJavaScriptCompiler;
16
+ templateClass: ClassDeclaration;
17
+ constructor(modelManager: ModelManager, templateConceptFqn?: string);
18
+ initialize(): Promise<void>;
19
+ compile(templateJson: any): any;
20
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ /*
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+ var __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.TemplateMarkToJavaScriptCompiler = void 0;
20
+ /* eslint-disable @typescript-eslint/no-explicit-any */
21
+ const traverse_1 = __importDefault(require("traverse"));
22
+ const markdown_common_1 = require("@accordproject/markdown-common");
23
+ const TypeScriptToJavaScriptCompiler_1 = require("./TypeScriptToJavaScriptCompiler");
24
+ const org_accordproject_templatemark_0_5_0_1 = require("./model-gen/org.accordproject.templatemark@0.5.0");
25
+ const utils_1 = require("./utils");
26
+ const CODE_NODES = [
27
+ `${markdown_common_1.TemplateMarkModel.NAMESPACE}.FormulaDefinition`,
28
+ `${markdown_common_1.TemplateMarkModel.NAMESPACE}.ConditionalDefinition`,
29
+ `${markdown_common_1.TemplateMarkModel.NAMESPACE}.ClauseDefinition`,
30
+ ];
31
+ function checkCode(code) {
32
+ if (code.type !== org_accordproject_templatemark_0_5_0_1.CodeType.TYPESCRIPT) {
33
+ throw new Error(`Cannot compile ${code.contents} as it is not Typescript.`);
34
+ }
35
+ }
36
+ /**
37
+ * Compiles all the Typescript nodes in a TemplateMark JSON
38
+ * to ES_2020 and returns a modified TemplateMark JSON.
39
+ */
40
+ class TemplateMarkToJavaScriptCompiler {
41
+ constructor(modelManager, templateConceptFqn) {
42
+ this.modelManager = modelManager;
43
+ this.compiler = new TypeScriptToJavaScriptCompiler_1.TypeScriptToJavaScriptCompiler(modelManager, templateConceptFqn);
44
+ this.templateClass = (0, utils_1.getTemplateClassDeclaration)(modelManager, templateConceptFqn);
45
+ }
46
+ async initialize() {
47
+ await this.compiler.initialize();
48
+ }
49
+ compile(templateJson) {
50
+ const namedTemplateMark = (0, utils_1.nameUserCode)(templateJson);
51
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
52
+ const that = this;
53
+ const errors = Array();
54
+ const compiled = (0, traverse_1.default)(namedTemplateMark).map(function (x) {
55
+ if (x && CODE_NODES.includes(x.$class)) {
56
+ if (x.code) { // formula
57
+ checkCode(x.code);
58
+ const result = that.compiler.compile((0, utils_1.writeFunctionToString)(that.templateClass, x.name, 'any', x.code.contents));
59
+ if (result.errors.length === 0) {
60
+ x.code.contents = result.code;
61
+ x.code.type = org_accordproject_templatemark_0_5_0_1.CodeType.ES_2020;
62
+ this.update(x);
63
+ }
64
+ else {
65
+ errors.push({
66
+ nodeId: x.name,
67
+ code: x.code.contents,
68
+ errors: result.errors
69
+ });
70
+ }
71
+ }
72
+ else if (x.condition) { // condition or clause (boolean condition)
73
+ checkCode(x.condition);
74
+ const result = that.compiler.compile((0, utils_1.writeFunctionToString)(that.templateClass, x.functionName, 'boolean', x.condition.contents));
75
+ if (result.errors.length === 0) {
76
+ x.condition.contents = result.code;
77
+ x.condition.type = org_accordproject_templatemark_0_5_0_1.CodeType.ES_2020;
78
+ this.update(x);
79
+ }
80
+ else {
81
+ errors.push({
82
+ nodeId: x.functionName,
83
+ code: x.condition.contents,
84
+ errors: result.errors
85
+ });
86
+ }
87
+ }
88
+ }
89
+ });
90
+ if (errors.length === 0) {
91
+ return compiled;
92
+ }
93
+ else {
94
+ throw errors;
95
+ }
96
+ }
97
+ }
98
+ exports.TemplateMarkToJavaScriptCompiler = TemplateMarkToJavaScriptCompiler;
99
+ //# sourceMappingURL=TemplateMarkToJavaScriptCompiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateMarkToJavaScriptCompiler.js","sourceRoot":"","sources":["../src/TemplateMarkToJavaScriptCompiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { ClassDeclaration, ModelManager } from '@accordproject/concerto-core';
2
+ /**
3
+ * This class creates the typescript types
4
+ * required to compile Typescript expressions (used in
5
+ * formulae, conditions and clauses) to JavaScript. It uses
6
+ * these to create a compilation context for '@typescript/twoslash'
7
+ * which is used to compile the typescript code.
8
+ */
9
+ export declare class TypeScriptCompilationContext {
10
+ modelManager: ModelManager;
11
+ templateClass: ClassDeclaration;
12
+ constructor(modelManager: ModelManager, templateConceptFqn?: string);
13
+ getTypeScriptFiles(): Record<string, string>;
14
+ /**
15
+ * Builds a TypeScript union type over the concrete types assignable to a runtime
16
+ * base type (the base itself, when concrete, plus its subclasses), along with the
17
+ * imports required to reference them. Because the base is included, using the bare
18
+ * base type or any subclass type-checks. A plain concept that does not extend the
19
+ * base is still rejected structurally where the base carries a distinguishing member
20
+ * (Response/Event require `$timestamp`); State carries only `$identifier`, so a
21
+ * concept-shaped state is admitted here and instead enforced nominally at runtime
22
+ * (see TemplateArchiveProcessor.assertRuntimeHierarchy). When the base type is absent
23
+ * the union is `never`.
24
+ * @param {string} baseFqn the fully-qualified name of the runtime base type
25
+ * @param {string} aliasPrefix a unique prefix for the imported type aliases
26
+ * @returns {{imports: string, union: string}} the import statements and union type
27
+ */
28
+ private buildRuntimeUnion;
29
+ /**
30
+ * Emits the runtime SmartLegalContract declarations (IConcept, TemplateLogic, etc.)
31
+ * with the State / Request / Response / Event type positions bound to the model-derived
32
+ * Runtime* unions (the concrete base type plus its subclasses; see buildRuntimeUnion).
33
+ * Because the concrete base is included, using the bare base type or a subclass
34
+ * type-checks. Types that are structurally incompatible with the base still fail here
35
+ * (Response/Event require `$timestamp`); State carries only `$identifier`, so a
36
+ * concept-shaped state type-checks and is instead enforced nominally at runtime (see
37
+ * TemplateArchiveProcessor.assertRuntimeHierarchy).
38
+ * @returns {string} the runtime declarations, as a TypeScript source string
39
+ */
40
+ private getRuntimeDeclarations;
41
+ getCompilationContext(): string;
42
+ }
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeScriptCompilationContext = void 0;
4
+ const concerto_codegen_1 = require("@accordproject/concerto-codegen");
5
+ const concerto_util_1 = require("@accordproject/concerto-util");
6
+ const utils_1 = require("./utils");
7
+ /**
8
+ * This class creates the typescript types
9
+ * required to compile Typescript expressions (used in
10
+ * formulae, conditions and clauses) to JavaScript. It uses
11
+ * these to create a compilation context for '@typescript/twoslash'
12
+ * which is used to compile the typescript code.
13
+ */
14
+ class TypeScriptCompilationContext {
15
+ constructor(modelManager, templateConceptFqn) {
16
+ this.modelManager = modelManager;
17
+ this.templateClass = (0, utils_1.getTemplateClassDeclaration)(this.modelManager, templateConceptFqn);
18
+ }
19
+ getTypeScriptFiles() {
20
+ const result = {};
21
+ const visitor = new concerto_codegen_1.CodeGen.TypescriptVisitor();
22
+ const writer = new concerto_util_1.InMemoryWriter();
23
+ const params = {
24
+ fileWriter: writer
25
+ };
26
+ this.modelManager.accept(visitor, params);
27
+ writer.getFilesInMemory().forEach((value, key) => {
28
+ result[key] = value;
29
+ });
30
+ return result;
31
+ }
32
+ /**
33
+ * Builds a TypeScript union type over the concrete types assignable to a runtime
34
+ * base type (the base itself, when concrete, plus its subclasses), along with the
35
+ * imports required to reference them. Because the base is included, using the bare
36
+ * base type or any subclass type-checks. A plain concept that does not extend the
37
+ * base is still rejected structurally where the base carries a distinguishing member
38
+ * (Response/Event require `$timestamp`); State carries only `$identifier`, so a
39
+ * concept-shaped state is admitted here and instead enforced nominally at runtime
40
+ * (see TemplateArchiveProcessor.assertRuntimeHierarchy). When the base type is absent
41
+ * the union is `never`.
42
+ * @param {string} baseFqn the fully-qualified name of the runtime base type
43
+ * @param {string} aliasPrefix a unique prefix for the imported type aliases
44
+ * @returns {{imports: string, union: string}} the import statements and union type
45
+ */
46
+ buildRuntimeUnion(baseFqn, aliasPrefix) {
47
+ const types = (0, utils_1.getAssignableConcreteTypes)(this.modelManager, baseFqn);
48
+ if (types.length === 0) {
49
+ return { imports: '', union: 'never' };
50
+ }
51
+ const imports = [];
52
+ const members = [];
53
+ types.forEach((decl, index) => {
54
+ const alias = `${aliasPrefix}${index}`;
55
+ imports.push(`import type { I${decl.getName()} as ${alias} } from './generated/${decl.getNamespace()}';`);
56
+ members.push(alias);
57
+ });
58
+ return { imports: imports.join('\n'), union: members.join(' | ') };
59
+ }
60
+ /**
61
+ * Emits the runtime SmartLegalContract declarations (IConcept, TemplateLogic, etc.)
62
+ * with the State / Request / Response / Event type positions bound to the model-derived
63
+ * Runtime* unions (the concrete base type plus its subclasses; see buildRuntimeUnion).
64
+ * Because the concrete base is included, using the bare base type or a subclass
65
+ * type-checks. Types that are structurally incompatible with the base still fail here
66
+ * (Response/Event require `$timestamp`); State carries only `$identifier`, so a
67
+ * concept-shaped state type-checks and is instead enforced nominally at runtime (see
68
+ * TemplateArchiveProcessor.assertRuntimeHierarchy).
69
+ * @returns {string} the runtime declarations, as a TypeScript source string
70
+ */
71
+ getRuntimeDeclarations() {
72
+ const state = this.buildRuntimeUnion(utils_1.RUNTIME_STATE_FQN, '__RtState');
73
+ const request = this.buildRuntimeUnion(utils_1.RUNTIME_REQUEST_FQN, '__RtRequest');
74
+ const response = this.buildRuntimeUnion(utils_1.RUNTIME_RESPONSE_FQN, '__RtResponse');
75
+ const event = this.buildRuntimeUnion(utils_1.BASE_EVENT_FQN, '__RtEvent');
76
+ return `
77
+ ${state.imports}
78
+ ${request.imports}
79
+ ${response.imports}
80
+ ${event.imports}
81
+
82
+ /* eslint-disable @typescript-eslint/no-empty-object-type */
83
+ // Runtime declarations injected by the template engine. The Runtime* unions are
84
+ // derived from the template's Concerto model so that the type checker enforces the
85
+ // runtime State / Request / Response / Event class hierarchies.
86
+ interface IConcept {
87
+ $class: string;
88
+ }
89
+ interface ITransaction extends IConcept {
90
+ $timestamp: Date;
91
+ }
92
+ interface IEvent extends IConcept {
93
+ $timestamp: Date;
94
+ }
95
+ interface IState {
96
+ $identifier: string;
97
+ }
98
+ interface IRequest extends ITransaction {
99
+ }
100
+ interface IResponse extends ITransaction {
101
+ }
102
+ interface IAsset extends IConcept {
103
+ $identifier: string;
104
+ }
105
+ interface IContract extends IAsset {
106
+ contractId: string;
107
+ }
108
+ interface IClause extends IAsset {
109
+ clauseId: string;
110
+ }
111
+
112
+ // The concrete types assignable to each runtime base (the base itself, when concrete,
113
+ // plus its subclasses; never when the base is absent). Used as the state type-parameter
114
+ // bound, the request parameter, the result type and the emitted event type: a type that is
115
+ // structurally incompatible with the base (e.g. a plain concept lacking $timestamp used as
116
+ // a response/event) fails to compile. State is enforced nominally at runtime instead.
117
+ type RuntimeState = ${state.union};
118
+ type RuntimeRequest = ${request.union};
119
+ type RuntimeResponse = ${response.union};
120
+ type RuntimeEvent = ${event.union};
121
+
122
+ interface EngineResponse<S extends RuntimeState> {
123
+ state?: S;
124
+ events?: Array<RuntimeEvent>
125
+ }
126
+ interface TriggerResponse<S extends RuntimeState = RuntimeState> extends EngineResponse<S> {
127
+ result: RuntimeResponse;
128
+ }
129
+ interface InitResponse<S extends RuntimeState> extends EngineResponse<S> {}
130
+
131
+ type TemplateData = IContract|IClause;
132
+
133
+ abstract class TemplateLogic<T extends TemplateData, S extends RuntimeState = RuntimeState> {
134
+ abstract trigger(data: T, request: RuntimeRequest, state:S) : Promise<TriggerResponse<S>>;
135
+ // A concrete (stub) implementation so the class emits runtime JS (user logic does
136
+ // \`extends TemplateLogic\`) and does not raise TS2391 for a missing body.
137
+ init(data: T) : Promise<InitResponse<S>|undefined> { return Promise.resolve(undefined); }
138
+ }
139
+ `;
140
+ }
141
+ getCompilationContext() {
142
+ const files = this.getTypeScriptFiles();
143
+ let result = '';
144
+ // Emit the generated model files under a `generated/` folder so that the
145
+ // template logic's own `./generated/<namespace>` imports resolve inside the
146
+ // twoslash virtual filesystem. Without this the model types resolve to `any`
147
+ // and no type checking (including the State/Obligation hierarchy) can occur.
148
+ Object.keys(files).forEach(key => {
149
+ const content = files[key];
150
+ result += `
151
+ // @filename: generated/${key}
152
+ ${content}
153
+ `;
154
+ });
155
+ result += `
156
+ // @filename: code.ts
157
+ import * as TemplateModel from './generated/${this.templateClass.getNamespace()}';
158
+ import dayjs from 'dayjs';
159
+ import jp from 'jsonpath';
160
+ ${this.getRuntimeDeclarations()}
161
+ type GenerationOptions = {
162
+ now?:string,
163
+ locale?:string
164
+ }
165
+ `;
166
+ return result;
167
+ }
168
+ }
169
+ exports.TypeScriptCompilationContext = TypeScriptCompilationContext;
170
+ //# sourceMappingURL=TypeScriptCompilationContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeScriptCompilationContext.js","sourceRoot":"","sources":["../src/TypeScriptCompilationContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * BEWARE - this type is duplicated in TypeScriptCompilationContext
3
+ * for use by code generation
4
+ */
5
+ export type GenerationOptions = {
6
+ now?: string;
7
+ locale?: string;
8
+ disableJavaScriptEvaluation?: boolean;
9
+ childProcessJavaScriptEvaluation?: boolean;
10
+ timeout?: number;
11
+ };
12
+ export declare function joinList(data: Array<string>, joinDef: any, options?: GenerationOptions): string;
13
+ export declare function peek($data: any[]): any;
14
+ export declare function peekProperty($data: any[], propertyName: string, allowUndefined?: boolean): any;
15
+ export declare function push($data: any[], item: any): number;
16
+ export declare function addChild($data: any[], item: any): void;
17
+ export declare function pop($data: any[]): any;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ /*
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+ /* eslint-disable @typescript-eslint/no-explicit-any */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.joinList = joinList;
18
+ exports.peek = peek;
19
+ exports.peekProperty = peekProperty;
20
+ exports.push = push;
21
+ exports.addChild = addChild;
22
+ exports.pop = pop;
23
+ const DEBUG = false;
24
+ function joinList(data, joinDef, options) {
25
+ if (joinDef.separator) {
26
+ return data.join(joinDef.separator);
27
+ }
28
+ else {
29
+ const formatter = new Intl.ListFormat(joinDef.locale ? joinDef.locale : options?.locale, {
30
+ style: joinDef.style,
31
+ type: joinDef.type
32
+ });
33
+ return formatter.format(data);
34
+ }
35
+ }
36
+ /**
37
+ * These utility functions are used by the typescript code that
38
+ * is generated from TemplateMark. They manage a stack to improve
39
+ * debuggability.
40
+ */
41
+ function dump(op, $data) {
42
+ if (DEBUG) {
43
+ console.log(`${op}: ${JSON.stringify($data)}`);
44
+ }
45
+ }
46
+ function peek($data) {
47
+ if ($data.length <= 0) {
48
+ throw new Error('Empty array');
49
+ }
50
+ const result = $data[$data.length - 1];
51
+ dump('peek', $data);
52
+ return result;
53
+ }
54
+ function peekProperty($data, propertyName, allowUndefined = false) {
55
+ const head = peek($data);
56
+ const result = head[propertyName];
57
+ if (!allowUndefined && result === undefined) {
58
+ throw new Error(`Undefined property ${propertyName}. Current stack is ${JSON.stringify($data)}`);
59
+ }
60
+ return result;
61
+ }
62
+ function push($data, item) {
63
+ const result = $data.push(item);
64
+ dump('push', $data);
65
+ return result;
66
+ }
67
+ function addChild($data, item) {
68
+ const node = peek($data);
69
+ if (node.nodes) {
70
+ node.nodes.push(item);
71
+ }
72
+ else {
73
+ node.nodes = [item];
74
+ }
75
+ }
76
+ function pop($data) {
77
+ if ($data.length <= 0) {
78
+ throw new Error('Empty array');
79
+ }
80
+ const result = $data.pop();
81
+ dump('pop', $data);
82
+ return result;
83
+ }
84
+ //# sourceMappingURL=TypeScriptRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeScriptRuntime.js","sourceRoot":"","sources":["../src/TypeScriptRuntime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { TwoSlashReturn } from '@typescript/twoslash';
2
+ import { ModelManager } from '@accordproject/concerto-core';
3
+ export declare class TypeScriptToJavaScriptCompiler {
4
+ context: string;
5
+ fsMap: Map<string, string> | undefined;
6
+ ts: any;
7
+ typescriptUrl: string;
8
+ constructor(modelManager: ModelManager, templateConceptFqn?: string);
9
+ initialize(typescriptUrl?: string): Promise<void>;
10
+ compile(typescript: string): TwoSlashReturn;
11
+ }