@oml/server 0.14.17 → 0.16.0
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/README.md +8 -1
- package/out/auth/feature-gate.d.ts +20 -5
- package/out/auth/feature-gate.js +80 -24
- package/out/auth/feature-gate.js.map +1 -1
- package/out/auth/feature-policy.js +1 -0
- package/out/auth/feature-policy.js.map +1 -1
- package/out/lsp/language-server.js +3 -47
- package/out/lsp/language-server.js.map +1 -1
- package/out/lsp/protocol/reasoner-protocol.d.ts +8 -0
- package/out/lsp/protocol/reasoner-protocol.js +3 -0
- package/out/lsp/protocol/reasoner-protocol.js.map +1 -1
- package/out/rest/export.js +1 -3
- package/out/rest/export.js.map +1 -1
- package/out/rest/routes.d.ts +5 -0
- package/out/rest/routes.js +165 -91
- package/out/rest/routes.js.map +1 -1
- package/out/rest/server.d.ts +0 -2
- package/out/rest/server.js +760 -474
- package/out/rest/server.js.map +1 -1
- package/out/rest/shacl-index.d.ts +19 -0
- package/out/rest/shacl-index.js +166 -0
- package/out/rest/shacl-index.js.map +1 -0
- package/out/rest/template.js +54 -38
- package/out/rest/template.js.map +1 -1
- package/out/rest/validation.d.ts +2 -1
- package/out/rest/validation.js +198 -136
- package/out/rest/validation.js.map +1 -1
- package/out/server.js +99 -8
- package/out/server.js.map +1 -1
- package/out/workspace-settings.d.ts +19 -0
- package/out/workspace-settings.js +27 -0
- package/out/workspace-settings.js.map +1 -0
- package/package.json +9 -6
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
// Copyright (c) 2026 Modelware. All rights reserved.
|
|
2
|
+
import * as fs from 'node:fs/promises';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
import { createHash } from 'node:crypto';
|
|
5
|
+
import { pathToFileURL } from 'node:url';
|
|
6
|
+
import { DataFactory, Parser } from 'n3';
|
|
7
|
+
import { extractLeadingFrontMatter, MarkdownHandlerRegistry, MarkdownPreviewRuntime } from '@oml/markdown';
|
|
8
|
+
import { getOntologyModelIndex } from '@oml/language';
|
|
9
|
+
import { buildTemplateCatalog, expandTemplateComposeBlocks, findFilesByExtension, frontMatterString, isTemplateMarkdownFile, normalizeContextOntologyIri, } from './template.js';
|
|
10
|
+
const { namedNode, quad } = DataFactory;
|
|
11
|
+
const OML_CONTEXT_ONTOLOGY = 'http://opencaesar.io/oml#contextOntology';
|
|
12
|
+
const shaclIndexState = {
|
|
13
|
+
byRuntime: new WeakMap(),
|
|
14
|
+
};
|
|
15
|
+
function hashText(value) {
|
|
16
|
+
return createHash('sha256').update(value, 'utf-8').digest('hex');
|
|
17
|
+
}
|
|
18
|
+
function getRuntimeState(runtimeShared) {
|
|
19
|
+
const existing = shaclIndexState.byRuntime.get(runtimeShared);
|
|
20
|
+
if (existing) {
|
|
21
|
+
return existing;
|
|
22
|
+
}
|
|
23
|
+
const created = {
|
|
24
|
+
markdownSnapshot: '',
|
|
25
|
+
fingerprintsByGraph: new Map(),
|
|
26
|
+
blocks: [],
|
|
27
|
+
};
|
|
28
|
+
shaclIndexState.byRuntime.set(runtimeShared, created);
|
|
29
|
+
return created;
|
|
30
|
+
}
|
|
31
|
+
export function getIndexedShaclBlocks(runtimeShared) {
|
|
32
|
+
return [...getRuntimeState(runtimeShared).blocks];
|
|
33
|
+
}
|
|
34
|
+
function stripFrontMatter(text) {
|
|
35
|
+
const trimmedStart = text.trimStart();
|
|
36
|
+
if (!trimmedStart.startsWith('---')) {
|
|
37
|
+
return text;
|
|
38
|
+
}
|
|
39
|
+
const startOffset = text.indexOf(trimmedStart);
|
|
40
|
+
const closeMatch = /\r?\n---(?:\r?\n|$)/.exec(trimmedStart.slice(3));
|
|
41
|
+
if (!closeMatch) {
|
|
42
|
+
return text;
|
|
43
|
+
}
|
|
44
|
+
const closeEnd = 3 + closeMatch.index + closeMatch[0].length;
|
|
45
|
+
return `${text.slice(0, startOffset)}${trimmedStart.slice(closeEnd)}`;
|
|
46
|
+
}
|
|
47
|
+
async function computeMarkdownSnapshot(workspaceRoot, markdownFiles) {
|
|
48
|
+
const entries = await Promise.all(markdownFiles.map(async (markdownPath) => {
|
|
49
|
+
const stat = await fs.stat(markdownPath);
|
|
50
|
+
return [
|
|
51
|
+
path.relative(workspaceRoot, markdownPath).split(path.sep).join('/'),
|
|
52
|
+
String(stat.size),
|
|
53
|
+
String(stat.mtimeMs),
|
|
54
|
+
].join('|');
|
|
55
|
+
}));
|
|
56
|
+
entries.sort((left, right) => left.localeCompare(right));
|
|
57
|
+
return hashText(entries.join('\n'));
|
|
58
|
+
}
|
|
59
|
+
export async function reindexWorkspaceShacl(params) {
|
|
60
|
+
const workspaceRoot = path.resolve(params.workspaceRoot);
|
|
61
|
+
const runtimeShared = params.runtime.shared;
|
|
62
|
+
const state = getRuntimeState(runtimeShared);
|
|
63
|
+
const store = params.runtime.Oml.reasoning.ReasoningService.getStore().getStore();
|
|
64
|
+
const ontologyIndex = getOntologyModelIndex(params.runtime.shared);
|
|
65
|
+
const markdownFiles = await findFilesByExtension(workspaceRoot, '.md');
|
|
66
|
+
const markdownSnapshot = await computeMarkdownSnapshot(workspaceRoot, markdownFiles);
|
|
67
|
+
// Do not short-circuit when the previous index is empty. A cold-start pass
|
|
68
|
+
// can miss resolvable model links before workspace hydration completes.
|
|
69
|
+
// Re-running allows recovery without requiring markdown edits.
|
|
70
|
+
if (state.markdownSnapshot === markdownSnapshot && state.blocks.length > 0) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const templateCatalog = await buildTemplateCatalog(workspaceRoot);
|
|
74
|
+
const runtime = new MarkdownPreviewRuntime(new MarkdownHandlerRegistry());
|
|
75
|
+
const parser = new Parser();
|
|
76
|
+
const nextFingerprintsByGraph = new Map();
|
|
77
|
+
const nextBlocks = [];
|
|
78
|
+
for (const markdownPath of markdownFiles) {
|
|
79
|
+
const markdown = await fs.readFile(markdownPath, 'utf-8');
|
|
80
|
+
if (isTemplateMarkdownFile(markdown)) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
const frontMatter = extractLeadingFrontMatter(markdown);
|
|
84
|
+
// frontMatter.ontology contains value from 'ontology' property
|
|
85
|
+
const contextOntologyIri = normalizeContextOntologyIri(frontMatter?.ontology);
|
|
86
|
+
if (!contextOntologyIri) {
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
const contextMemberIri = frontMatterString(frontMatter?.data, 'memberIri')
|
|
90
|
+
?? frontMatterString(frontMatter?.data, 'contextMemberIri');
|
|
91
|
+
const markdownUri = pathToFileURL(markdownPath).toString();
|
|
92
|
+
const modelUri = ontologyIndex.resolveModelUri(contextOntologyIri, markdownUri);
|
|
93
|
+
if (!modelUri) {
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
const expanded = await expandTemplateComposeBlocks(markdown, templateCatalog, {
|
|
97
|
+
workspaceRoot,
|
|
98
|
+
sourceMarkdownPath: markdownPath,
|
|
99
|
+
contextOntologyIri,
|
|
100
|
+
contextModelUri: modelUri,
|
|
101
|
+
contextMemberIri,
|
|
102
|
+
});
|
|
103
|
+
const prepared = runtime.prepare(expanded);
|
|
104
|
+
const blocks = prepared.codeBlocks.filter((block) => block.language === 'table-editor');
|
|
105
|
+
if (blocks.length === 0) {
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
const graphQuads = [];
|
|
109
|
+
const blockHashes = [];
|
|
110
|
+
for (const block of blocks) {
|
|
111
|
+
const source = stripFrontMatter(block.content).trim();
|
|
112
|
+
if (!source) {
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
const parsed = parser.parse(source);
|
|
116
|
+
for (const parsedQuad of parsed) {
|
|
117
|
+
graphQuads.push(quad(parsedQuad.subject, parsedQuad.predicate, parsedQuad.object, namedNode(markdownUri)));
|
|
118
|
+
}
|
|
119
|
+
const sourceHash = hashText(source);
|
|
120
|
+
blockHashes.push(`${block.id}:${sourceHash}`);
|
|
121
|
+
nextBlocks.push({
|
|
122
|
+
markdownUri,
|
|
123
|
+
markdownPath,
|
|
124
|
+
ontologyIri: contextOntologyIri,
|
|
125
|
+
blockId: block.id,
|
|
126
|
+
lineStart: Number(block.lineStart ?? 1),
|
|
127
|
+
lineEnd: Number(block.lineEnd ?? Number(block.lineStart ?? 1)),
|
|
128
|
+
source,
|
|
129
|
+
sourceHash,
|
|
130
|
+
modelUri,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
graphQuads.push(quad(namedNode(markdownUri), namedNode(OML_CONTEXT_ONTOLOGY), namedNode(contextOntologyIri), namedNode(markdownUri)));
|
|
134
|
+
const graphFingerprint = hashText([
|
|
135
|
+
contextOntologyIri,
|
|
136
|
+
modelUri,
|
|
137
|
+
...blockHashes.sort((left, right) => left.localeCompare(right)),
|
|
138
|
+
].join('\n'));
|
|
139
|
+
nextFingerprintsByGraph.set(markdownUri, graphFingerprint);
|
|
140
|
+
// Check if quads actually exist in store even if fingerprint matches
|
|
141
|
+
const existing = store.getQuads(null, null, null, namedNode(markdownUri));
|
|
142
|
+
const fingerprintMatches = state.fingerprintsByGraph.get(markdownUri) === graphFingerprint;
|
|
143
|
+
if (fingerprintMatches && existing.length === graphQuads.length) {
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
if (existing.length > 0) {
|
|
147
|
+
store.removeQuads(existing);
|
|
148
|
+
}
|
|
149
|
+
for (const graphQuad of graphQuads) {
|
|
150
|
+
store.addQuad(graphQuad);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
for (const previousGraphUri of state.fingerprintsByGraph.keys()) {
|
|
154
|
+
if (nextFingerprintsByGraph.has(previousGraphUri)) {
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
const toRemove = store.getQuads(null, null, null, namedNode(previousGraphUri));
|
|
158
|
+
if (toRemove.length > 0) {
|
|
159
|
+
store.removeQuads(toRemove);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
state.markdownSnapshot = markdownSnapshot;
|
|
163
|
+
state.fingerprintsByGraph = nextFingerprintsByGraph;
|
|
164
|
+
state.blocks = nextBlocks;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=shacl-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shacl-index.js","sourceRoot":"","sources":["../../src/rest/shacl-index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC3G,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EACH,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,GAC9B,MAAM,eAAe,CAAC;AAEvB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;AAExC,MAAM,oBAAoB,GAAG,0CAA0C,CAAC;AAsBxE,MAAM,eAAe,GAAoB;IACrC,SAAS,EAAE,IAAI,OAAO,EAAE;CAC3B,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAa;IAC3B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,eAAe,CAAC,aAAqB;IAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9D,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,MAAM,OAAO,GAAG;QACZ,gBAAgB,EAAE,EAAE;QACpB,mBAAmB,EAAE,IAAI,GAAG,EAAkB;QAC9C,MAAM,EAAE,EAAyB;KACpC,CAAC;IACF,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,aAAqB;IACvD,OAAO,CAAC,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IAClC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACtC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,aAAqB,EAAE,aAAuB;IACjF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACvE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzC,OAAO;YACH,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SACvB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAG3C;IACG,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAgB,CAAC;IACtD,MAAM,KAAK,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAwB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE3F,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAa,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACrF,2EAA2E;IAC3E,wEAAwE;IACxE,+DAA+D;IAC/D,IAAI,KAAK,CAAC,gBAAgB,KAAK,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzE,OAAO;IACX,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1D,MAAM,UAAU,GAAwB,EAAE,CAAC;IAE3C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,SAAS;QACb,CAAC;QACD,MAAM,WAAW,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACxD,+DAA+D;QAC/D,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9E,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,SAAS;QACb,CAAC;QACD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC;eACnE,iBAAiB,CAAC,WAAW,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,SAAS;QACb,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,QAAQ,EAAE,eAAe,EAAE;YAC1E,aAAa;YACb,kBAAkB,EAAE,YAAY;YAChC,kBAAkB;YAClB,eAAe,EAAE,QAAQ;YACzB,gBAAgB;SACnB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC;QACxF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,SAAS;QACb,CAAC;QAED,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,SAAS;YACb,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;gBAC9B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/G,CAAC;YACD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC;YAC9C,UAAU,CAAC,IAAI,CAAC;gBACZ,WAAW;gBACX,YAAY;gBACZ,WAAW,EAAE,kBAAkB;gBAC/B,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;gBACvC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;gBAC9D,MAAM;gBACN,UAAU;gBACV,QAAQ;aACX,CAAC,CAAC;QACP,CAAC;QACD,UAAU,CAAC,IAAI,CACX,IAAI,CACA,SAAS,CAAC,WAAW,CAAC,EACtB,SAAS,CAAC,oBAAoB,CAAC,EAC/B,SAAS,CAAC,kBAAkB,CAAC,EAC7B,SAAS,CAAC,WAAW,CAAC,CACzB,CACJ,CAAC;QACF,MAAM,gBAAgB,GAAG,QAAQ,CAAC;YAC9B,kBAAkB;YAClB,QAAQ;YACR,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAClE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACd,uBAAuB,CAAC,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAE3D,qEAAqE;QACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1E,MAAM,kBAAkB,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,gBAAgB,CAAC;QAE3F,IAAI,kBAAkB,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;YAC9D,SAAS;QACb,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,KAAK,MAAM,gBAAgB,IAAI,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9D,IAAI,uBAAuB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAChD,SAAS;QACb,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC/E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC1C,KAAK,CAAC,mBAAmB,GAAG,uBAAuB,CAAC;IACpD,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;AAC9B,CAAC"}
|
package/out/rest/template.js
CHANGED
|
@@ -83,7 +83,7 @@ export async function expandTemplateComposeBlocks(markdown, templateCatalog, con
|
|
|
83
83
|
const maxExpansionPasses = 12;
|
|
84
84
|
let current = markdown;
|
|
85
85
|
for (let pass = 0; pass < maxExpansionPasses; pass++) {
|
|
86
|
-
const composeBlockPattern = /```
|
|
86
|
+
const composeBlockPattern = /```compose[^\n]*\r?\n([\s\S]*?)\r?\n```/g;
|
|
87
87
|
let replaced = '';
|
|
88
88
|
let lastIndex = 0;
|
|
89
89
|
let expandedAny = false;
|
|
@@ -102,14 +102,8 @@ export async function expandTemplateComposeBlocks(markdown, templateCatalog, con
|
|
|
102
102
|
if (!template) {
|
|
103
103
|
throw new Error(`No markdown template found for id '${directive.id}' in ${context.sourceMarkdownPath}.`);
|
|
104
104
|
}
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
const value = resolveTemplateBindingValue(source, context);
|
|
108
|
-
if (value !== undefined) {
|
|
109
|
-
invocationArgs[parameterId] = value;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
const selection = context.contextMemberIri ? [context.contextMemberIri.trim()] : [];
|
|
105
|
+
const invocationVars = buildComposeInvocationVars(current, context.contextOntologyIri);
|
|
106
|
+
const invocationArgs = resolveComposeDirectiveArgs(directive.args, invocationVars);
|
|
113
107
|
const invocation = {
|
|
114
108
|
templateId: template.definition.id,
|
|
115
109
|
mode: 'compose',
|
|
@@ -123,12 +117,7 @@ export async function expandTemplateComposeBlocks(markdown, templateCatalog, con
|
|
|
123
117
|
ontologyIri: context.contextOntologyIri,
|
|
124
118
|
modelUri: context.contextModelUri,
|
|
125
119
|
},
|
|
126
|
-
|
|
127
|
-
memberIri: context.contextMemberIri,
|
|
128
|
-
},
|
|
129
|
-
selection: {
|
|
130
|
-
iris: selection,
|
|
131
|
-
},
|
|
120
|
+
vars: invocationVars,
|
|
132
121
|
},
|
|
133
122
|
args: invocationArgs,
|
|
134
123
|
};
|
|
@@ -155,35 +144,59 @@ function selectTemplateDefinition(templateCatalog, templateId) {
|
|
|
155
144
|
const candidates = templateCatalog.get(normalized);
|
|
156
145
|
return candidates?.[0];
|
|
157
146
|
}
|
|
158
|
-
function
|
|
159
|
-
const
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
const selection = member ? [member] : [];
|
|
163
|
-
if (source === 'context.member') {
|
|
164
|
-
return member || undefined;
|
|
147
|
+
function resolveComposeDirectiveArgs(args, variables) {
|
|
148
|
+
const resolved = {};
|
|
149
|
+
for (const [key, raw] of Object.entries(args)) {
|
|
150
|
+
resolved[key] = resolveComposeArgumentValue(raw, variables);
|
|
165
151
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
if (
|
|
170
|
-
return
|
|
152
|
+
return resolved;
|
|
153
|
+
}
|
|
154
|
+
function resolveComposeArgumentValue(value, variables) {
|
|
155
|
+
if (typeof value !== 'string') {
|
|
156
|
+
return value;
|
|
157
|
+
}
|
|
158
|
+
return value.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g, (_match, key) => {
|
|
159
|
+
const replacement = variables[key];
|
|
160
|
+
if (replacement === undefined || replacement === null) {
|
|
161
|
+
return '';
|
|
162
|
+
}
|
|
163
|
+
if (Array.isArray(replacement)) {
|
|
164
|
+
return replacement.map((entry) => String(entry)).join(', ');
|
|
165
|
+
}
|
|
166
|
+
if (typeof replacement === 'object') {
|
|
167
|
+
return JSON.stringify(replacement);
|
|
168
|
+
}
|
|
169
|
+
return String(replacement);
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
function buildComposeInvocationVars(markdown, contextOntologyIri) {
|
|
173
|
+
const vars = {};
|
|
174
|
+
const frontMatterData = extractLeadingFrontMatter(markdown)?.data;
|
|
175
|
+
if (frontMatterData) {
|
|
176
|
+
for (const [key, raw] of Object.entries(frontMatterData)) {
|
|
177
|
+
const converted = toTemplateValue(raw);
|
|
178
|
+
if (converted !== undefined) {
|
|
179
|
+
vars[key] = converted;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
171
182
|
}
|
|
172
|
-
|
|
173
|
-
|
|
183
|
+
vars.ontology = contextOntologyIri?.trim() || (typeof vars.ontology === 'string' ? vars.ontology.trim() : '');
|
|
184
|
+
return vars;
|
|
185
|
+
}
|
|
186
|
+
function toTemplateValue(value) {
|
|
187
|
+
if (value === null) {
|
|
188
|
+
return null;
|
|
174
189
|
}
|
|
175
|
-
if (
|
|
176
|
-
return
|
|
190
|
+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
191
|
+
return value;
|
|
177
192
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
return undefined;
|
|
193
|
+
if (Array.isArray(value)) {
|
|
194
|
+
return value.every((entry) => typeof entry === 'string') ? value : undefined;
|
|
181
195
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
return undefined;
|
|
196
|
+
if (isRecord(value)) {
|
|
197
|
+
return value;
|
|
185
198
|
}
|
|
186
|
-
return
|
|
199
|
+
return undefined;
|
|
187
200
|
}
|
|
188
201
|
function normalizeTemplateId(value) {
|
|
189
202
|
let normalized = value.trim();
|
|
@@ -193,6 +206,9 @@ function normalizeTemplateId(value) {
|
|
|
193
206
|
}
|
|
194
207
|
return normalized.replace(/^<|>$/g, '');
|
|
195
208
|
}
|
|
209
|
+
function isRecord(value) {
|
|
210
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
211
|
+
}
|
|
196
212
|
function absolutizeTemplateHrefValues(markdown, templateSourcePath, referenceMarkdownPath, workspaceRoot) {
|
|
197
213
|
const templateDir = path.dirname(templateSourcePath);
|
|
198
214
|
return markdown.replace(/(\bhref\s*:\s*)(["']?)([^"'\r\n]+)\2/g, (_m, prefix, quote, raw) => {
|
package/out/rest/template.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/rest/template.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACH,yBAAyB,EACzB,6BAA6B,EAC7B,uBAAuB,EACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/rest/template.ts"],"names":[],"mappings":"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"}
|
package/out/rest/validation.d.ts
CHANGED
|
@@ -24,7 +24,8 @@ export type RestValidationContext = {
|
|
|
24
24
|
};
|
|
25
25
|
ensureInitialized: () => Promise<void>;
|
|
26
26
|
ensureWorkspaceCurrent: () => Promise<void>;
|
|
27
|
+
waitForValidated: () => Promise<void>;
|
|
27
28
|
getWorkspaceOmlDocuments: () => any[];
|
|
28
29
|
};
|
|
29
|
-
export declare function lintWorkspace(client: RestValidationContext): Promise<RestLintResult>;
|
|
30
|
+
export declare function lintWorkspace(client: RestValidationContext, params?: Record<string, unknown>): Promise<RestLintResult>;
|
|
30
31
|
export declare function validateWorkspace(client: RestValidationContext, params: Record<string, unknown>): Promise<Record<string, unknown>>;
|