@oml/cli 0.9.0 → 0.11.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 +1 -1
- package/out/backend/backend-types.d.ts +2 -0
- package/out/backend/direct-backend.d.ts +3 -0
- package/out/backend/direct-backend.js +32 -0
- package/out/backend/direct-backend.js.map +1 -1
- package/out/cli-error.d.ts +5 -0
- package/out/cli-error.js +12 -0
- package/out/cli-error.js.map +1 -0
- package/out/cli.d.ts +1 -0
- package/out/cli.js +10 -1
- package/out/cli.js.map +1 -1
- package/out/commands/compile.js +2 -2
- package/out/commands/compile.js.map +1 -1
- package/out/commands/lint.js +2 -2
- package/out/commands/lint.js.map +1 -1
- package/out/commands/reason.js +4 -6
- package/out/commands/reason.js.map +1 -1
- package/out/commands/render.js +29 -30
- package/out/commands/render.js.map +1 -1
- package/out/commands/validate.js +3 -3
- package/out/commands/validate.js.map +1 -1
- package/out/main.js +4 -2
- package/out/main.js.map +1 -1
- package/out/platform.js +8 -1
- package/out/platform.js.map +1 -1
- package/out/util.js +6 -7
- package/out/util.js.map +1 -1
- package/package.json +6 -6
- package/src/backend/backend-types.ts +2 -0
- package/src/backend/direct-backend.ts +34 -0
- package/src/cli-error.ts +15 -0
- package/src/cli.ts +11 -1
- package/src/commands/compile.ts +2 -2
- package/src/commands/lint.ts +2 -2
- package/src/commands/reason.ts +4 -6
- package/src/commands/render.ts +33 -26
- package/src/commands/validate.ts +3 -3
- package/src/main.ts +4 -2
- package/src/platform.ts +10 -1
- package/src/util.ts +7 -8
package/README.md
CHANGED
|
@@ -75,7 +75,7 @@ node ./packages/cli/bin/cli.js render -w . -md src/md -web build/web -owl build/
|
|
|
75
75
|
- OAuth login refresh uses built-in Supabase defaults. Set `OML_SUPABASE_URL` or `OML_SUPABASE_ANON_KEY` to override them.
|
|
76
76
|
- GitHub device-flow login requires `OML_AUTH_GITHUB_CLIENT_ID`, unless you embed `DEFAULT_GITHUB_CLIENT_ID` in [`src/auth.ts`](./src/auth.ts).
|
|
77
77
|
- `oml login` exchanges the GitHub token with the platform at `OML_PLATFORM_API_URL` or the built-in default endpoint, then stores the platform session locally.
|
|
78
|
-
- The CLI
|
|
78
|
+
- The CLI depends on `@oml/reasoner`.
|
|
79
79
|
- `reason` runs ontology consistency checks in dependency order.
|
|
80
80
|
- `render` runs the compile/reason pipeline unless `--only` is provided, then renders markdown, resolves `workspace:/` links, executes markdown blocks, and copies referenced non-markdown assets.
|
|
81
81
|
- If the reasoner reports an inconsistent ontology, the CLI exits with code `1` and prints the raw JSON result returned by the reasoner.
|
|
@@ -15,5 +15,7 @@ export interface CliBackend {
|
|
|
15
15
|
validate(fileName: string | undefined, workspaceRoot: string): Promise<ValidateSummary>;
|
|
16
16
|
renderMarkdown(markdown: string): Promise<MarkdownRenderResult>;
|
|
17
17
|
executeMarkdownBlocks(params: MdExecuteBlocksParams, workspaceRoot: string): Promise<MdExecuteBlocksResult>;
|
|
18
|
+
getContextMemberLabelSnapshot(modelUri: string, workspaceRoot: string): Promise<Record<string, string>>;
|
|
19
|
+
getWorkspaceMemberLabelSnapshot(workspaceRoot: string): Promise<Record<string, string>>;
|
|
18
20
|
dispose(): Promise<void>;
|
|
19
21
|
}
|
|
@@ -4,6 +4,7 @@ export declare class DirectBackend implements CliBackend {
|
|
|
4
4
|
private readonly markdownRuntime;
|
|
5
5
|
private readonly owlOutputRoot?;
|
|
6
6
|
private readonly rdfFormat;
|
|
7
|
+
private readonly contextLabelSnapshots;
|
|
7
8
|
private servicesBundle?;
|
|
8
9
|
private initializedWorkspaceRoot?;
|
|
9
10
|
private loadedDatasetKey?;
|
|
@@ -11,6 +12,8 @@ export declare class DirectBackend implements CliBackend {
|
|
|
11
12
|
validate(fileName: string | undefined, workspaceRoot: string): Promise<ValidateSummary>;
|
|
12
13
|
renderMarkdown(markdown: string): Promise<MarkdownRenderResult>;
|
|
13
14
|
executeMarkdownBlocks(params: MdExecuteBlocksParams, workspaceRoot: string): Promise<MdExecuteBlocksResult>;
|
|
15
|
+
getContextMemberLabelSnapshot(modelUri: string, workspaceRoot: string): Promise<Record<string, string>>;
|
|
16
|
+
getWorkspaceMemberLabelSnapshot(workspaceRoot: string): Promise<Record<string, string>>;
|
|
14
17
|
dispose(): Promise<void>;
|
|
15
18
|
private ensureServices;
|
|
16
19
|
private ensurePreparedDataset;
|
|
@@ -11,6 +11,7 @@ import { loadPreparedDatasetFromOutput, normalizeFormatExtension } from './reaso
|
|
|
11
11
|
export class DirectBackend {
|
|
12
12
|
constructor(options = {}) {
|
|
13
13
|
this.markdownRuntime = new MarkdownPreviewRuntime(new MarkdownHandlerRegistry());
|
|
14
|
+
this.contextLabelSnapshots = new Map();
|
|
14
15
|
this.owlOutputRoot = options.owlOutputRoot ? path.resolve(options.owlOutputRoot) : undefined;
|
|
15
16
|
this.rdfFormat = normalizeFormatExtension(options.rdfFormat);
|
|
16
17
|
}
|
|
@@ -48,16 +49,47 @@ export class DirectBackend {
|
|
|
48
49
|
});
|
|
49
50
|
return executor.executeBlocks(params);
|
|
50
51
|
}
|
|
52
|
+
async getContextMemberLabelSnapshot(modelUri, workspaceRoot) {
|
|
53
|
+
const resolvedModelUri = modelUri.trim();
|
|
54
|
+
if (!resolvedModelUri) {
|
|
55
|
+
return {};
|
|
56
|
+
}
|
|
57
|
+
const cached = this.contextLabelSnapshots.get(resolvedModelUri);
|
|
58
|
+
if (cached) {
|
|
59
|
+
return cached;
|
|
60
|
+
}
|
|
61
|
+
const services = await this.ensureServices(workspaceRoot);
|
|
62
|
+
await this.ensurePreparedDataset(workspaceRoot, services);
|
|
63
|
+
const reasoningService = services.reasoning.ReasoningService;
|
|
64
|
+
const snapshot = await reasoningService.getContextMemberLabelSnapshot(resolvedModelUri);
|
|
65
|
+
this.contextLabelSnapshots.set(resolvedModelUri, snapshot);
|
|
66
|
+
return snapshot;
|
|
67
|
+
}
|
|
68
|
+
async getWorkspaceMemberLabelSnapshot(workspaceRoot) {
|
|
69
|
+
const cacheKey = `workspace:${path.resolve(workspaceRoot)}`;
|
|
70
|
+
const cached = this.contextLabelSnapshots.get(cacheKey);
|
|
71
|
+
if (cached) {
|
|
72
|
+
return cached;
|
|
73
|
+
}
|
|
74
|
+
const services = await this.ensureServices(workspaceRoot);
|
|
75
|
+
await this.ensurePreparedDataset(workspaceRoot, services);
|
|
76
|
+
const reasoningService = services.reasoning.ReasoningService;
|
|
77
|
+
const snapshot = await reasoningService.getWorkspaceMemberLabelSnapshot();
|
|
78
|
+
this.contextLabelSnapshots.set(cacheKey, snapshot);
|
|
79
|
+
return snapshot;
|
|
80
|
+
}
|
|
51
81
|
async dispose() {
|
|
52
82
|
this.servicesBundle = undefined;
|
|
53
83
|
this.initializedWorkspaceRoot = undefined;
|
|
54
84
|
this.loadedDatasetKey = undefined;
|
|
85
|
+
this.contextLabelSnapshots.clear();
|
|
55
86
|
}
|
|
56
87
|
async ensureServices(workspaceRoot) {
|
|
57
88
|
const resolvedRoot = path.resolve(workspaceRoot);
|
|
58
89
|
if (!this.servicesBundle || this.initializedWorkspaceRoot !== resolvedRoot) {
|
|
59
90
|
this.servicesBundle = createOwlServices(NodeFileSystem);
|
|
60
91
|
this.initializedWorkspaceRoot = resolvedRoot;
|
|
92
|
+
this.contextLabelSnapshots.clear();
|
|
61
93
|
await this.servicesBundle.Oml.shared.workspace.WorkspaceManager.initializeWorkspace([
|
|
62
94
|
{ uri: URI.file(resolvedRoot).toString(), name: path.basename(resolvedRoot) }
|
|
63
95
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct-backend.js","sourceRoot":"","sources":["../../src/backend/direct-backend.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAA0D,MAAM,eAAe,CAAC;AACzG,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE/F,MAAM,OAAO,aAAa;
|
|
1
|
+
{"version":3,"file":"direct-backend.js","sourceRoot":"","sources":["../../src/backend/direct-backend.ts"],"names":[],"mappings":"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"}
|
package/out/cli-error.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Copyright Modelware 2026
|
|
2
|
+
export class CliExitError extends Error {
|
|
3
|
+
constructor(message, exitCode = 1) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.name = 'CliExitError';
|
|
6
|
+
this.exitCode = exitCode;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export function failCli(message, exitCode = 1) {
|
|
10
|
+
throw new CliExitError(message, exitCode);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=cli-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-error.js","sourceRoot":"","sources":["../src/cli-error.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,MAAM,OAAO,YAAa,SAAQ,KAAK;IAGnC,YAAY,OAAe,EAAE,QAAQ,GAAG,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAED,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,QAAQ,GAAG,CAAC;IACjD,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC"}
|
package/out/cli.d.ts
CHANGED
package/out/cli.js
CHANGED
|
@@ -10,6 +10,7 @@ import { lintAction } from './commands/lint.js';
|
|
|
10
10
|
import { renderAction } from './commands/render.js';
|
|
11
11
|
import { notifyIfCliUpdateAvailable } from './update.js';
|
|
12
12
|
import { validateAction } from './commands/validate.js';
|
|
13
|
+
import { CliExitError } from './cli-error.js';
|
|
13
14
|
import { initializePlatform, disposePlatform, trackCommand } from './platform.js';
|
|
14
15
|
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
|
15
16
|
export async function runCli(argv = process.argv) {
|
|
@@ -166,6 +167,14 @@ export async function runCli(argv = process.argv) {
|
|
|
166
167
|
}
|
|
167
168
|
await updateCheck;
|
|
168
169
|
}
|
|
170
|
+
export function reportCliError(error) {
|
|
171
|
+
const exitCode = error instanceof CliExitError ? error.exitCode : 1;
|
|
172
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
173
|
+
if (message) {
|
|
174
|
+
console.error(message);
|
|
175
|
+
}
|
|
176
|
+
return exitCode;
|
|
177
|
+
}
|
|
169
178
|
function parseBooleanOption(value) {
|
|
170
179
|
if (typeof value === 'boolean') {
|
|
171
180
|
return value;
|
|
@@ -182,6 +191,6 @@ function parseBooleanOption(value) {
|
|
|
182
191
|
process.on('unhandledRejection', (error) => {
|
|
183
192
|
const message = error instanceof Error ? error.message : String(error);
|
|
184
193
|
console.error(chalk.red(message));
|
|
185
|
-
process.
|
|
194
|
+
process.exitCode = 1;
|
|
186
195
|
});
|
|
187
196
|
//# sourceMappingURL=cli.js.map
|
package/out/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/out/commands/compile.js
CHANGED
|
@@ -6,6 +6,7 @@ import { URI } from 'langium';
|
|
|
6
6
|
import * as fs from 'node:fs/promises';
|
|
7
7
|
import * as path from 'node:path';
|
|
8
8
|
import { normalizeFormatExtension, writeCompiledWorkspace } from '../backend/reasoned-output.js';
|
|
9
|
+
import { failCli } from '../cli-error.js';
|
|
9
10
|
import { formatDuration } from '../util.js';
|
|
10
11
|
import { lintAction } from './lint.js';
|
|
11
12
|
export const compileAction = async (opts) => {
|
|
@@ -17,8 +18,7 @@ export const compileAction = async (opts) => {
|
|
|
17
18
|
}
|
|
18
19
|
const workspaceStat = await fs.stat(workspaceRoot).catch(() => undefined);
|
|
19
20
|
if (!workspaceStat || !workspaceStat.isDirectory()) {
|
|
20
|
-
|
|
21
|
-
process.exit(1);
|
|
21
|
+
failCli(chalk.red(`Workspace folder does not exist: ${workspaceRoot}`));
|
|
22
22
|
}
|
|
23
23
|
const sourceFiles = await findOmlFiles(workspaceRoot);
|
|
24
24
|
if (sourceFiles.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAWvC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,IAAoB,EAAiB,EAAE;IACvE,MAAM,aAAa,GAAG,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,wBAAwB,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAErD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,UAAU,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1E,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"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"}
|
package/out/commands/lint.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Copyright (c) 2026 Modelware. All rights reserved.
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import { createBackend } from '../backend/create-backend.js';
|
|
4
|
+
import { failCli } from '../cli-error.js';
|
|
4
5
|
import { formatDuration } from '../util.js';
|
|
5
6
|
export const lintAction = async (opts) => {
|
|
6
7
|
const startedAt = Date.now();
|
|
@@ -13,8 +14,7 @@ export const lintAction = async (opts) => {
|
|
|
13
14
|
return;
|
|
14
15
|
}
|
|
15
16
|
if (result.warnings > 0) {
|
|
16
|
-
|
|
17
|
-
process.exit(1);
|
|
17
|
+
failCli(chalk.yellow(`lint: ${result.filesChecked} OML file(s) checked with ${result.warnings} warning(s). [${formatDuration(Date.now() - startedAt)}]`));
|
|
18
18
|
}
|
|
19
19
|
else {
|
|
20
20
|
console.log(chalk.green(`lint: ${result.filesChecked} OML file(s) checked. [${formatDuration(Date.now() - startedAt)}]`));
|
package/out/commands/lint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO5C,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,IAAiB,EAAiB,EAAE;IACjE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC;IAClE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,aAAa,GAAG,CAAC,CAAC,CAAC;YACzE,OAAO;QACX,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO5C,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,IAAiB,EAAiB,EAAE;IACjE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC;IAClE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,aAAa,GAAG,CAAC,CAAC,CAAC;YACzE,OAAO;QACX,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,YAAY,6BAA6B,MAAM,CAAC,QAAQ,iBAAiB,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9J,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,YAAY,0BAA0B,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9H,CAAC;IACL,CAAC;YAAS,CAAC;QACP,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;AACL,CAAC,CAAC"}
|
package/out/commands/reason.js
CHANGED
|
@@ -6,6 +6,7 @@ import { URI } from 'langium';
|
|
|
6
6
|
import * as fs from 'node:fs/promises';
|
|
7
7
|
import * as path from 'node:path';
|
|
8
8
|
import { buildWorkspaceDocuments, collectWorkspaceOntologyEntries, normalizeFormatExtension, OntologyInconsistencyError, reasonWorkspaceOntologies } from '../backend/reasoned-output.js';
|
|
9
|
+
import { failCli } from '../cli-error.js';
|
|
9
10
|
import { formatDuration } from '../util.js';
|
|
10
11
|
import { compileAction, resolveCompileOutputRoot, resolveCompileWorkspaceRoot } from './compile.js';
|
|
11
12
|
export const reasonAction = async (opts) => {
|
|
@@ -13,8 +14,7 @@ export const reasonAction = async (opts) => {
|
|
|
13
14
|
const outputRoot = resolveCompileOutputRoot(workspaceRoot, opts.owl);
|
|
14
15
|
const format = normalizeFormatExtension(opts.format);
|
|
15
16
|
if (opts.only && opts.clean) {
|
|
16
|
-
|
|
17
|
-
process.exit(1);
|
|
17
|
+
failCli(chalk.red('Cannot combine --only with --clean for reason.'));
|
|
18
18
|
}
|
|
19
19
|
if (!opts.only) {
|
|
20
20
|
await compileAction({
|
|
@@ -27,8 +27,7 @@ export const reasonAction = async (opts) => {
|
|
|
27
27
|
}
|
|
28
28
|
const outputStat = await fs.stat(outputRoot).catch(() => undefined);
|
|
29
29
|
if (!outputStat || !outputStat.isDirectory()) {
|
|
30
|
-
|
|
31
|
-
process.exit(1);
|
|
30
|
+
failCli(chalk.red(`OWL output folder does not exist: ${outputRoot}`));
|
|
32
31
|
}
|
|
33
32
|
const startedAt = Date.now();
|
|
34
33
|
const servicesBundle = createOmlServices(NodeFileSystem);
|
|
@@ -51,8 +50,7 @@ export const reasonAction = async (opts) => {
|
|
|
51
50
|
}
|
|
52
51
|
catch (error) {
|
|
53
52
|
if (error instanceof OntologyInconsistencyError) {
|
|
54
|
-
|
|
55
|
-
process.exit(1);
|
|
53
|
+
failCli(chalk.red(error.message));
|
|
56
54
|
}
|
|
57
55
|
throw error;
|
|
58
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reason.js","sourceRoot":"","sources":["../../src/commands/reason.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1L,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAepG,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,IAAmB,EAAiB,EAAE;IACrE,MAAM,aAAa,GAAG,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,wBAAwB,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"reason.js","sourceRoot":"","sources":["../../src/commands/reason.ts"],"names":[],"mappings":"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"}
|
package/out/commands/render.js
CHANGED
|
@@ -6,13 +6,14 @@ import * as path from 'node:path';
|
|
|
6
6
|
import { createRequire } from 'node:module';
|
|
7
7
|
import { createHash } from 'node:crypto';
|
|
8
8
|
import { MarkdownHandlerRegistry, MarkdownPreviewRuntime, extractLeadingFrontMatter, stripLeadingFrontMatter } from '@oml/markdown';
|
|
9
|
+
import { runWithIriLabelSnapshot } from '@oml/markdown/renderers';
|
|
9
10
|
import { STATIC_MARKDOWN_RUNTIME_BUNDLE_FILE, STATIC_MARKDOWN_RUNTIME_CSS } from '@oml/markdown/static';
|
|
10
11
|
import { normalizeFormatExtension } from '../backend/reasoned-output.js';
|
|
11
12
|
import { createBackend } from '../backend/create-backend.js';
|
|
13
|
+
import { failCli } from '../cli-error.js';
|
|
12
14
|
import { formatDuration } from '../util.js';
|
|
13
15
|
import { reasonAction } from './reason.js';
|
|
14
16
|
import { resolveCompileOutputRoot, resolveCompileWorkspaceRoot } from './compile.js';
|
|
15
|
-
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
|
16
17
|
const markdownRuntime = new MarkdownPreviewRuntime(new MarkdownHandlerRegistry());
|
|
17
18
|
const SUPPORTED_MD_BLOCK_KINDS = new Set([
|
|
18
19
|
'table',
|
|
@@ -55,17 +56,14 @@ export const renderAction = async (opts) => {
|
|
|
55
56
|
const output = path.resolve(opts.web);
|
|
56
57
|
const workspaceStat = await fs.stat(workspaceRoot).catch(() => undefined);
|
|
57
58
|
if (!workspaceStat || !workspaceStat.isDirectory()) {
|
|
58
|
-
|
|
59
|
-
process.exit(1);
|
|
59
|
+
failCli(chalk.red(`Workspace folder does not exist: ${workspaceRoot}`));
|
|
60
60
|
}
|
|
61
61
|
const markdownStat = await fs.stat(markdownRoot).catch(() => undefined);
|
|
62
62
|
if (!markdownStat || !markdownStat.isDirectory()) {
|
|
63
|
-
|
|
64
|
-
process.exit(1);
|
|
63
|
+
failCli(chalk.red(`Markdown folder does not exist: ${markdownRoot}`));
|
|
65
64
|
}
|
|
66
65
|
if (isSameOrDescendant(markdownRoot, output)) {
|
|
67
|
-
|
|
68
|
-
process.exit(1);
|
|
66
|
+
failCli(chalk.red('Web output folder cannot be inside the markdown folder.'));
|
|
69
67
|
}
|
|
70
68
|
if (opts.clean) {
|
|
71
69
|
await fs.rm(output, { recursive: true, force: true });
|
|
@@ -76,6 +74,7 @@ export const renderAction = async (opts) => {
|
|
|
76
74
|
const templateCatalog = buildTemplateCatalog(templateFiles);
|
|
77
75
|
const explicitContextModelUri = resolveModelUriOption(opts.context, workspaceRoot);
|
|
78
76
|
const templateGenerationEnabled = explicitContextModelUri !== undefined;
|
|
77
|
+
const memberLabelSnapshot = await backend.getWorkspaceMemberLabelSnapshot(workspaceRoot);
|
|
79
78
|
const wikiPageIndex = buildWikiPageIndex(renderableMarkdownFiles, markdownRoot, output);
|
|
80
79
|
const generatedInstancePages = new Set();
|
|
81
80
|
const instancePageByIri = new Map();
|
|
@@ -86,7 +85,7 @@ export const renderAction = async (opts) => {
|
|
|
86
85
|
for (const file of renderableMarkdownFiles) {
|
|
87
86
|
const relative = path.relative(markdownRoot, file);
|
|
88
87
|
const outputFile = path.join(output, relative.replace(/\.md$/i, '.html'));
|
|
89
|
-
const rendered = await renderMarkdownFile(backend, workspaceRoot, markdownRoot, output, file, outputFile, staticAssets.runtimeScriptFile, staticAssets.stylesheetFile, templateGenerationEnabled, explicitContextModelUri, wikiPageIndex, templateCatalog, generatedInstancePages, instancePageByIri, attemptedInstanceIris);
|
|
88
|
+
const rendered = await renderMarkdownFile(backend, workspaceRoot, markdownRoot, output, file, outputFile, staticAssets.runtimeScriptFile, staticAssets.stylesheetFile, templateGenerationEnabled, explicitContextModelUri, memberLabelSnapshot, wikiPageIndex, templateCatalog, generatedInstancePages, instancePageByIri, attemptedInstanceIris);
|
|
90
89
|
const referencedWorkspaceAssets = rendered.workspaceAssets;
|
|
91
90
|
for (const asset of referencedWorkspaceAssets) {
|
|
92
91
|
workspaceAssetFiles.add(asset);
|
|
@@ -214,9 +213,11 @@ async function discoverMarkdownFiles(root, outputRoot) {
|
|
|
214
213
|
}
|
|
215
214
|
return markdownFiles;
|
|
216
215
|
}
|
|
217
|
-
async function renderMarkdownFile(backend, workspaceRoot, inputRoot, outputRoot, inputFile, outputFile, runtimeScriptFile, stylesheetFile, templateGenerationEnabled, defaultContextModelUri, wikiPageIndex, templateCatalog, generatedInstancePages, instancePageByIri, attemptedInstanceIris, currentPageStack = new Set(), explicitMarkdown, forcedModelUri) {
|
|
216
|
+
async function renderMarkdownFile(backend, workspaceRoot, inputRoot, outputRoot, inputFile, outputFile, runtimeScriptFile, stylesheetFile, templateGenerationEnabled, defaultContextModelUri, memberLabelSnapshot, wikiPageIndex, templateCatalog, generatedInstancePages, instancePageByIri, attemptedInstanceIris, currentPageStack = new Set(), explicitMarkdown, forcedModelUri) {
|
|
218
217
|
const markdown = explicitMarkdown ?? await fs.readFile(inputFile, 'utf-8');
|
|
219
|
-
const
|
|
218
|
+
const inlineContextUri = extractLeadingFrontMatter(markdown)?.contextUri;
|
|
219
|
+
const modelUri = forcedModelUri ?? resolveContextModelUri(inputFile, inlineContextUri, workspaceRoot) ?? defaultContextModelUri;
|
|
220
|
+
const prepared = runWithIriLabelSnapshot(memberLabelSnapshot, () => markdownRuntime.prepare(markdown));
|
|
220
221
|
const rewriteResult = rewriteRenderedLinks(prepared.renderedHtml, {
|
|
221
222
|
workspaceRoot,
|
|
222
223
|
inputRoot,
|
|
@@ -226,7 +227,6 @@ async function renderMarkdownFile(backend, workspaceRoot, inputRoot, outputRoot,
|
|
|
226
227
|
});
|
|
227
228
|
const executableBlocks = toExecutableBlocks(prepared.codeBlocks);
|
|
228
229
|
const optionsByBlockId = new Map(prepared.codeBlocks.map((block) => [block.id, block.options]));
|
|
229
|
-
const modelUri = forcedModelUri ?? resolveContextModelUri(inputFile, prepared.contextUri, workspaceRoot) ?? defaultContextModelUri;
|
|
230
230
|
const blockResults = executableBlocks.length === 0
|
|
231
231
|
? []
|
|
232
232
|
: (await backend.executeMarkdownBlocks({
|
|
@@ -248,13 +248,13 @@ async function renderMarkdownFile(backend, workspaceRoot, inputRoot, outputRoot,
|
|
|
248
248
|
const blockArtifacts = await writeBlockArtifacts(outputFile, blockRewriteResult.results);
|
|
249
249
|
const pageWikilinkIris = collectWikilinkIrisFromHtml(rewriteResult.html);
|
|
250
250
|
const iriAliasHrefByIri = templateGenerationEnabled && modelUri
|
|
251
|
-
? await generateInstanceTemplatePages(backend, workspaceRoot, inputRoot, outputRoot, outputFile, runtimeScriptFile, stylesheetFile, templateGenerationEnabled, modelUri, pageWikilinkIris, renderedBlockResults, wikiPageIndex, templateCatalog, generatedInstancePages, instancePageByIri, attemptedInstanceIris, currentPageStack)
|
|
251
|
+
? await generateInstanceTemplatePages(backend, workspaceRoot, inputRoot, outputRoot, outputFile, runtimeScriptFile, stylesheetFile, templateGenerationEnabled, modelUri, memberLabelSnapshot, pageWikilinkIris, renderedBlockResults, wikiPageIndex, templateCatalog, generatedInstancePages, instancePageByIri, attemptedInstanceIris, currentPageStack)
|
|
252
252
|
: {};
|
|
253
253
|
const runtimeScriptRelative = toRelativeWebPath(path.dirname(outputFile), runtimeScriptFile);
|
|
254
254
|
const stylesheetRelative = toRelativeWebPath(path.dirname(outputFile), stylesheetFile);
|
|
255
255
|
const wikiLinkHrefByKey = buildWikiLinkHrefMapForPage(wikiPageIndex, outputFile);
|
|
256
256
|
const resolvedInstanceLinks = Object.fromEntries([...instancePageByIri.entries()].map(([iri, absolute]) => [iri, toRelativeWebPath(path.dirname(outputFile), absolute)]));
|
|
257
|
-
const html = wrapHtml(rewriteResult.html, runtimeScriptRelative, stylesheetRelative, blockArtifacts.manifest, blockRewriteResult.results, wikiLinkHrefByKey, { ...resolvedInstanceLinks, ...iriAliasHrefByIri }, templateGenerationEnabled && Boolean(modelUri));
|
|
257
|
+
const html = wrapHtml(rewriteResult.html, runtimeScriptRelative, stylesheetRelative, blockArtifacts.manifest, blockRewriteResult.results, wikiLinkHrefByKey, { ...resolvedInstanceLinks, ...iriAliasHrefByIri }, templateGenerationEnabled && Boolean(modelUri), memberLabelSnapshot);
|
|
258
258
|
await fs.mkdir(path.dirname(outputFile), { recursive: true });
|
|
259
259
|
await fs.writeFile(outputFile, html, 'utf-8');
|
|
260
260
|
const workspaceAssets = new Set(rewriteResult.workspaceAssets);
|
|
@@ -311,8 +311,8 @@ async function writeStaticAssets(outputRoot) {
|
|
|
311
311
|
const mergedStylesheet = `${sourceStylesheet}\n\n${STATIC_MARKDOWN_RUNTIME_CSS}\n`;
|
|
312
312
|
const runtimeVersion = createHash('sha1').update(runtimeBundle).digest('hex').slice(0, 12);
|
|
313
313
|
const stylesheetVersion = createHash('sha1').update(mergedStylesheet).digest('hex').slice(0, 12);
|
|
314
|
-
const runtimeFile = path.join(outputRoot, '
|
|
315
|
-
const stylesheetFile = path.join(outputRoot, '
|
|
314
|
+
const runtimeFile = path.join(outputRoot, 'assets', `markdown-static-${runtimeVersion}.js`);
|
|
315
|
+
const stylesheetFile = path.join(outputRoot, 'assets', `markdown-webview-${stylesheetVersion}.css`);
|
|
316
316
|
await fs.mkdir(path.dirname(runtimeFile), { recursive: true });
|
|
317
317
|
await fs.writeFile(runtimeFile, runtimeBundle, 'utf-8');
|
|
318
318
|
await fs.writeFile(stylesheetFile, mergedStylesheet, 'utf-8');
|
|
@@ -331,19 +331,16 @@ async function loadStaticRuntimeBundle() {
|
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
333
|
async function loadCodeBlockStylesheet() {
|
|
334
|
-
const
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
// Try next candidate.
|
|
344
|
-
}
|
|
334
|
+
const require = createRequire(import.meta.url);
|
|
335
|
+
const staticEntry = require.resolve('@oml/markdown/static');
|
|
336
|
+
const stylesheetPath = path.resolve(path.dirname(staticEntry), '..', '..', 'src', 'static', 'markdown-webview.css');
|
|
337
|
+
try {
|
|
338
|
+
return await fs.readFile(stylesheetPath, 'utf-8');
|
|
339
|
+
}
|
|
340
|
+
catch {
|
|
341
|
+
throw new Error(`Unable to load markdown webview stylesheet at '${stylesheetPath}'. `
|
|
342
|
+
+ 'The installed @oml/markdown package is missing a required static asset.');
|
|
345
343
|
}
|
|
346
|
-
return '';
|
|
347
344
|
}
|
|
348
345
|
async function writeBlockArtifacts(outputFile, results) {
|
|
349
346
|
if (results.length === 0) {
|
|
@@ -651,7 +648,7 @@ contextUri: ${escapedContext}
|
|
|
651
648
|
---
|
|
652
649
|
${body}`;
|
|
653
650
|
}
|
|
654
|
-
async function generateInstanceTemplatePages(backend, workspaceRoot, inputRoot, outputRoot, pageOutputFile, runtimeScriptFile, stylesheetFile, templateGenerationEnabled, queryContextModelUri, pageWikilinkIris, results, wikiPageIndex, templateCatalog, generatedInstancePages, instancePageByIri, attemptedInstanceIris, currentPageStack) {
|
|
651
|
+
async function generateInstanceTemplatePages(backend, workspaceRoot, inputRoot, outputRoot, pageOutputFile, runtimeScriptFile, stylesheetFile, templateGenerationEnabled, queryContextModelUri, memberLabelSnapshot, pageWikilinkIris, results, wikiPageIndex, templateCatalog, generatedInstancePages, instancePageByIri, attemptedInstanceIris, currentPageStack) {
|
|
655
652
|
const iriToHref = {};
|
|
656
653
|
if (!templateGenerationEnabled) {
|
|
657
654
|
return iriToHref;
|
|
@@ -684,7 +681,7 @@ async function generateInstanceTemplatePages(backend, workspaceRoot, inputRoot,
|
|
|
684
681
|
const instantiatedMarkdown = buildTemplatePageMarkdown(templateMarkdown, iri, queryContextModelUri);
|
|
685
682
|
const nextStack = new Set(currentPageStack);
|
|
686
683
|
nextStack.add(instanceOutputFile);
|
|
687
|
-
await renderMarkdownFile(backend, workspaceRoot, inputRoot, outputRoot, template.filePath, instanceOutputFile, runtimeScriptFile, stylesheetFile, templateGenerationEnabled, queryContextModelUri, wikiPageIndex, templateCatalog, generatedInstancePages, instancePageByIri, attemptedInstanceIris, nextStack, instantiatedMarkdown, queryContextModelUri);
|
|
684
|
+
await renderMarkdownFile(backend, workspaceRoot, inputRoot, outputRoot, template.filePath, instanceOutputFile, runtimeScriptFile, stylesheetFile, templateGenerationEnabled, queryContextModelUri, memberLabelSnapshot, wikiPageIndex, templateCatalog, generatedInstancePages, instancePageByIri, attemptedInstanceIris, nextStack, instantiatedMarkdown, queryContextModelUri);
|
|
688
685
|
}
|
|
689
686
|
for (const iri of wikilinkIris) {
|
|
690
687
|
const absolute = instancePageByIri.get(iri);
|
|
@@ -695,13 +692,14 @@ async function generateInstanceTemplatePages(backend, workspaceRoot, inputRoot,
|
|
|
695
692
|
}
|
|
696
693
|
return iriToHref;
|
|
697
694
|
}
|
|
698
|
-
function wrapHtml(content, runtimeScriptPath, stylesheetPath, blockManifest, blockResults, wikiLinkHrefByKey, iriAliasHrefByIri, linkingEnabled) {
|
|
695
|
+
function wrapHtml(content, runtimeScriptPath, stylesheetPath, blockManifest, blockResults, wikiLinkHrefByKey, iriAliasHrefByIri, linkingEnabled, memberLabelSnapshot) {
|
|
699
696
|
const escapedManifest = escapeJsonForScript(JSON.stringify(blockManifest));
|
|
700
697
|
const inlineResults = Object.fromEntries(blockResults.map((result) => [result.blockId, result]));
|
|
701
698
|
const escapedInlineResults = escapeJsonForScript(JSON.stringify(inlineResults));
|
|
702
699
|
const escapedWikiIndex = escapeJsonForScript(JSON.stringify(wikiLinkHrefByKey));
|
|
703
700
|
const escapedIriAliasIndex = escapeJsonForScript(JSON.stringify(iriAliasHrefByIri));
|
|
704
701
|
const escapedLinkingConfig = escapeJsonForScript(JSON.stringify({ linkingEnabled }));
|
|
702
|
+
const escapedMemberLabels = escapeJsonForScript(JSON.stringify(memberLabelSnapshot ?? {}));
|
|
705
703
|
return `<!doctype html>
|
|
706
704
|
<html lang="en">
|
|
707
705
|
<head>
|
|
@@ -717,6 +715,7 @@ ${content}
|
|
|
717
715
|
<script id="oml-md-wikilink-index" type="application/json">${escapedWikiIndex}</script>
|
|
718
716
|
<script id="oml-md-wikilink-iri-aliases" type="application/json">${escapedIriAliasIndex}</script>
|
|
719
717
|
<script id="oml-md-wikilink-config" type="application/json">${escapedLinkingConfig}</script>
|
|
718
|
+
<script id="oml-md-member-labels" type="application/json">${escapedMemberLabels}</script>
|
|
720
719
|
<script src="${escapeAttribute(runtimeScriptPath)}"></script>
|
|
721
720
|
</body>
|
|
722
721
|
</html>
|