@oml/server 0.14.2 → 0.14.3

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.
@@ -1,6 +1,7 @@
1
1
  // Copyright (c) 2026 Modelware. All rights reserved.
2
2
  import { DocumentState, URI } from 'langium';
3
3
  import { startLanguageServer } from 'langium/lsp';
4
+ import { LSPErrorCodes, ResponseError } from 'vscode-languageserver';
4
5
  import { collectOntologyMembers, getIriForNode, getOntologyModelIndex, iriFragment, isDescription, isOntology, isVocabulary, registerOmlCandidatesRequests, registerOmlEditRequests, tokenizeForFuzzy, } from '@oml/language';
5
6
  import { createOwlServices, detectSparqlKind, registerShaclValidationRequests } from '@oml/owl';
6
7
  import uFuzzy from '@leeoniya/ufuzzy';
@@ -59,7 +60,14 @@ export function startOmlLanguageServer(connection, options) {
59
60
  }
60
61
  catch (error) {
61
62
  if (error instanceof OmlAccessError) {
62
- throw new Error(error.message);
63
+ const data = {
64
+ type: 'omlAccessError',
65
+ message: error.message,
66
+ statusCode: error.statusCode,
67
+ code: error.code,
68
+ retryable: error.retryable,
69
+ };
70
+ throw new ResponseError(LSPErrorCodes.RequestFailed, error.message, data);
63
71
  }
64
72
  throw error;
65
73
  }
@@ -88,14 +96,27 @@ export function startOmlLanguageServer(connection, options) {
88
96
  const reasoningService = Oml.reasoning.ReasoningService;
89
97
  reasoningService.markDocumentInactive(modelUri);
90
98
  });
91
- connection.onNotification('$/tokenRefreshed', (params) => {
99
+ const handleTokenRefresh = async (params) => {
92
100
  if (!options.featureGate) {
93
101
  return;
94
102
  }
95
- options.featureGate.setAccessToken(params?.accessToken);
96
- void options.featureGate.primeEntitlements().catch((error) => {
103
+ try {
104
+ options.featureGate.setAccessToken(params?.accessToken);
105
+ await options.featureGate.primeEntitlements();
106
+ }
107
+ catch (error) {
97
108
  logServerError('token refresh entitlement sync failed', error);
98
- });
109
+ throw error;
110
+ }
111
+ };
112
+ connection.onRequest(ReasoningRequests.tokenRefreshed, async (params) => {
113
+ try {
114
+ await handleTokenRefresh(params);
115
+ return { success: true };
116
+ }
117
+ catch {
118
+ return { success: false };
119
+ }
99
120
  });
100
121
  connection.onRequest(MarkdownExecutionRequest, async (params) => {
101
122
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"language-server.js","sourceRoot":"","sources":["../../src/lsp/language-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-server.js","sourceRoot":"","sources":["../../src/lsp/language-server.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare const ReasoningRequests: {
7
7
  readonly sparqlQuery: "oml/query";
8
8
  readonly fuzzySearch: "oml/fuzzysearch";
9
9
  readonly resolveModelUri: "oml/resolveModelUri";
10
+ readonly tokenRefreshed: "$/tokenRefreshed";
10
11
  };
11
12
  export interface ActiveDocumentParams {
12
13
  modelUri: string;
@@ -21,6 +22,19 @@ export interface ResolveModelUriParams {
21
22
  export interface ResolveModelUriResult {
22
23
  modelUri?: string;
23
24
  }
25
+ export interface OmlAccessErrorData {
26
+ type: 'omlAccessError';
27
+ message: string;
28
+ statusCode: number;
29
+ code: 'AUTH_REQUIRED' | 'ENTITLEMENTS_PENDING' | 'ENTITLEMENTS_UNAVAILABLE' | 'NOT_ENTITLED';
30
+ retryable: boolean;
31
+ }
32
+ export interface TokenRefreshedParams {
33
+ accessToken?: string;
34
+ }
35
+ export interface TokenRefreshedResult {
36
+ success: boolean;
37
+ }
24
38
  export interface SparqlQueryParams {
25
39
  modelUri: string;
26
40
  sparql: string;
@@ -8,5 +8,6 @@ export const ReasoningRequests = {
8
8
  sparqlQuery: 'oml/query',
9
9
  fuzzySearch: 'oml/fuzzysearch',
10
10
  resolveModelUri: 'oml/resolveModelUri',
11
+ tokenRefreshed: '$/tokenRefreshed',
11
12
  };
12
13
  //# sourceMappingURL=reasoner-protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reasoner-protocol.js","sourceRoot":"","sources":["../../../src/lsp/protocol/reasoner-protocol.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,kBAAkB,EAAE,kCAAkC;IACtD,oBAAoB,EAAE,oCAAoC;IAC1D,eAAe,EAAE,+BAA+B;CAC1C,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,iBAAiB;IAC9B,eAAe,EAAE,qBAAqB;CAChC,CAAC"}
1
+ {"version":3,"file":"reasoner-protocol.js","sourceRoot":"","sources":["../../../src/lsp/protocol/reasoner-protocol.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,kBAAkB,EAAE,kCAAkC;IACtD,oBAAoB,EAAE,oCAAoC;IAC1D,eAAe,EAAE,+BAA+B;CAC1C,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,iBAAiB;IAC9B,eAAe,EAAE,qBAAqB;IACtC,cAAc,EAAE,kBAAkB;CAC5B,CAAC"}
@@ -1,8 +1,4 @@
1
1
  export declare const REST_ROUTES: readonly [{
2
- readonly method: "POST";
3
- readonly path: "/v0/query";
4
- readonly operationId: "query";
5
- }, {
6
2
  readonly method: "POST";
7
3
  readonly path: "/v0/update";
8
4
  readonly operationId: "update";
@@ -33,7 +29,6 @@ export declare const REST_ROUTES: readonly [{
33
29
  }];
34
30
  export type RestRoute = (typeof REST_ROUTES)[number];
35
31
  export type RestRouteClient = {
36
- queryWorkspace: (body: Record<string, unknown>) => Promise<Record<string, unknown>>;
37
32
  updateWorkspace: (body: Record<string, unknown>) => Promise<unknown>;
38
33
  fuzzySearchWorkspace: (body: Record<string, unknown>) => Promise<Record<string, unknown>>;
39
34
  lintWorkspace: (body: Record<string, unknown>) => Promise<unknown>;
@@ -1,6 +1,5 @@
1
1
  // Copyright (c) 2026 Modelware. All rights reserved.
2
2
  export const REST_ROUTES = [
3
- { method: 'POST', path: '/v0/query', operationId: 'query' },
4
3
  { method: 'POST', path: '/v0/update', operationId: 'update' },
5
4
  { method: 'POST', path: '/v0/fuzzysearch', operationId: 'fuzzysearch' },
6
5
  { method: 'POST', path: '/v0/lint', operationId: 'lint' },
@@ -9,13 +8,285 @@ export const REST_ROUTES = [
9
8
  { method: 'POST', path: '/v0/render', operationId: 'render' },
10
9
  { method: 'POST', path: '/v0/export', operationId: 'export' },
11
10
  ];
11
+ const SPARQL_TERM_SCHEMA = {
12
+ type: 'object',
13
+ required: ['termType', 'value'],
14
+ additionalProperties: false,
15
+ properties: {
16
+ termType: { type: 'string', enum: ['NamedNode', 'Literal', 'BlankNode'] },
17
+ value: { type: 'string' },
18
+ datatype: { type: 'string' },
19
+ language: { type: 'string' },
20
+ },
21
+ };
22
+ const SPARQL_RESULT_SCHEMA = {
23
+ type: 'object',
24
+ required: ['success', 'kind', 'warnings'],
25
+ additionalProperties: true,
26
+ properties: {
27
+ success: { type: 'boolean' },
28
+ kind: { type: 'string', enum: ['select', 'ask', 'construct', 'describe', 'unknown'] },
29
+ warnings: { type: 'array', items: { type: 'string' } },
30
+ rows: {
31
+ type: 'array',
32
+ items: {
33
+ type: 'object',
34
+ additionalProperties: SPARQL_TERM_SCHEMA,
35
+ },
36
+ },
37
+ result: { type: 'boolean' },
38
+ quads: {
39
+ type: 'array',
40
+ items: {
41
+ type: 'object',
42
+ required: ['subject', 'predicate', 'object', 'graph'],
43
+ additionalProperties: false,
44
+ properties: {
45
+ subject: { type: 'string' },
46
+ predicate: { type: 'string' },
47
+ object: { type: 'string' },
48
+ graph: { type: 'string' },
49
+ },
50
+ },
51
+ },
52
+ error: { type: 'string' },
53
+ },
54
+ };
55
+ const OPERATION_SCHEMAS = {
56
+ query: {
57
+ request: {
58
+ type: 'object',
59
+ required: ['modelUri', 'sparql'],
60
+ additionalProperties: false,
61
+ properties: {
62
+ modelUri: { type: 'string', description: 'URI of the OML model document to query.' },
63
+ sparql: { type: 'string', description: 'SPARQL SELECT/ASK/CONSTRUCT/DESCRIBE query string.' },
64
+ },
65
+ },
66
+ result: SPARQL_RESULT_SCHEMA,
67
+ },
68
+ update: {
69
+ request: {
70
+ type: 'object',
71
+ required: ['operations'],
72
+ additionalProperties: false,
73
+ properties: {
74
+ operations: {
75
+ type: 'array',
76
+ minItems: 1,
77
+ items: {
78
+ type: 'object',
79
+ required: ['kind', 'ontologyIri'],
80
+ additionalProperties: true,
81
+ properties: {
82
+ kind: {
83
+ type: 'string',
84
+ enum: [
85
+ 'createInstance',
86
+ 'createRelationInstance',
87
+ 'createInstanceRef',
88
+ 'createRelationInstanceRef',
89
+ 'addAssertion',
90
+ 'updateAssertion',
91
+ 'removeAssertion',
92
+ 'addAnnotation',
93
+ 'updateAnnotation',
94
+ 'removeAnnotation',
95
+ 'deleteMemberCascade',
96
+ 'deleteMemberRef',
97
+ ],
98
+ },
99
+ ontologyIri: { type: 'string' },
100
+ },
101
+ },
102
+ },
103
+ referencingUri: { type: 'string' },
104
+ },
105
+ },
106
+ result: {
107
+ type: 'object',
108
+ additionalProperties: true,
109
+ properties: {
110
+ edit: { type: 'object', additionalProperties: true },
111
+ errors: {
112
+ type: 'array',
113
+ items: {
114
+ type: 'object',
115
+ required: ['operationIndex', 'message'],
116
+ additionalProperties: false,
117
+ properties: {
118
+ operationIndex: { type: 'integer' },
119
+ message: { type: 'string' },
120
+ },
121
+ },
122
+ },
123
+ },
124
+ },
125
+ },
126
+ fuzzysearch: {
127
+ request: {
128
+ type: 'object',
129
+ required: ['text'],
130
+ additionalProperties: false,
131
+ properties: {
132
+ text: { type: 'string' },
133
+ limit: { type: 'integer', minimum: 1, maximum: 50, default: 12 },
134
+ },
135
+ },
136
+ result: {
137
+ type: 'object',
138
+ required: ['success', 'candidates'],
139
+ additionalProperties: true,
140
+ properties: {
141
+ success: { type: 'boolean' },
142
+ candidates: {
143
+ type: 'array',
144
+ items: {
145
+ type: 'object',
146
+ required: ['iri', 'score'],
147
+ additionalProperties: true,
148
+ properties: {
149
+ iri: { type: 'string' },
150
+ label: { type: 'string' },
151
+ score: { type: 'number' },
152
+ },
153
+ },
154
+ },
155
+ error: { type: 'string' },
156
+ },
157
+ },
158
+ },
159
+ lint: {
160
+ request: {
161
+ type: 'object',
162
+ additionalProperties: false,
163
+ properties: {
164
+ limit: { type: 'integer', minimum: 1 },
165
+ },
166
+ },
167
+ result: {
168
+ type: 'object',
169
+ required: ['success', 'filesChecked', 'errors', 'warnings', 'problems'],
170
+ additionalProperties: true,
171
+ properties: {
172
+ success: { type: 'boolean' },
173
+ filesChecked: { type: 'integer' },
174
+ errors: { type: 'integer' },
175
+ warnings: { type: 'integer' },
176
+ elapsedMs: { type: 'integer' },
177
+ problems: { type: 'array', items: { type: 'object', additionalProperties: true } },
178
+ },
179
+ },
180
+ },
181
+ reason: {
182
+ request: {
183
+ type: 'object',
184
+ additionalProperties: false,
185
+ properties: {
186
+ only: { type: 'boolean', description: 'Skip validate/lint and run reason directly.' },
187
+ lintLimit: { type: 'integer', minimum: 1 },
188
+ format: { type: 'string', enum: ['ttl', 'trig', 'nt', 'nq', 'n3'] },
189
+ explanation: { type: 'boolean' },
190
+ uniqueNamesAssumption: { type: 'boolean' },
191
+ profile: { type: 'boolean' },
192
+ timeout: { type: 'integer', minimum: 1 },
193
+ },
194
+ },
195
+ result: {
196
+ type: 'object',
197
+ required: ['success', 'ontologiesReasoned', 'inconsistent', 'failed'],
198
+ additionalProperties: true,
199
+ properties: {
200
+ success: { type: 'boolean' },
201
+ ontologiesReasoned: { type: 'integer' },
202
+ inconsistent: { type: 'array', items: { type: 'object', additionalProperties: true } },
203
+ failed: { type: 'array', items: { type: 'object', additionalProperties: true } },
204
+ },
205
+ },
206
+ },
207
+ validate: {
208
+ request: {
209
+ type: 'object',
210
+ additionalProperties: false,
211
+ properties: {
212
+ only: { type: 'boolean', description: 'Skip lint and validate directly.' },
213
+ lintLimit: { type: 'integer', minimum: 1 },
214
+ },
215
+ },
216
+ result: {
217
+ type: 'object',
218
+ required: ['success', 'filesChecked', 'errors', 'warnings'],
219
+ additionalProperties: true,
220
+ properties: {
221
+ success: { type: 'boolean' },
222
+ filesChecked: { type: 'integer' },
223
+ errors: { type: 'integer' },
224
+ warnings: { type: 'integer' },
225
+ elapsedMs: { type: 'integer' },
226
+ error: { type: 'string' },
227
+ },
228
+ },
229
+ },
230
+ render: {
231
+ request: {
232
+ type: 'object',
233
+ additionalProperties: false,
234
+ properties: {
235
+ only: { type: 'boolean', description: 'Skip lint gate before render.' },
236
+ inputDir: { type: 'string' },
237
+ outputDir: { type: 'string' },
238
+ md: { type: 'string', description: 'Alias for inputDir.' },
239
+ web: { type: 'string', description: 'Alias for outputDir.' },
240
+ contextOntologyIri: { type: 'string' },
241
+ context: { type: 'string', description: 'Alias for contextOntologyIri.' },
242
+ },
243
+ },
244
+ result: {
245
+ type: 'object',
246
+ required: ['success', 'filesRendered', 'outputDir'],
247
+ additionalProperties: true,
248
+ properties: {
249
+ success: { type: 'boolean' },
250
+ filesRendered: { type: 'integer' },
251
+ outputDir: { type: 'string' },
252
+ blockArtifactFiles: { type: 'integer' },
253
+ error: { type: 'string' },
254
+ },
255
+ },
256
+ },
257
+ export: {
258
+ request: {
259
+ type: 'object',
260
+ additionalProperties: false,
261
+ properties: {
262
+ outputDir: { type: 'string' },
263
+ owl: { type: 'string', description: 'Alias for outputDir.' },
264
+ format: { type: 'string', enum: ['ttl', 'trig', 'nt', 'nq', 'n3'] },
265
+ pretty: { type: 'boolean' },
266
+ clean: { type: 'boolean' },
267
+ explanation: { type: 'boolean' },
268
+ uniqueNamesAssumption: { type: 'boolean' },
269
+ profile: { type: 'boolean' },
270
+ timeout: { type: 'integer', minimum: 1 },
271
+ },
272
+ },
273
+ result: {
274
+ type: 'object',
275
+ required: ['success'],
276
+ additionalProperties: true,
277
+ properties: {
278
+ success: { type: 'boolean' },
279
+ assertedExport: { type: 'object', additionalProperties: true },
280
+ reason: { type: 'object', additionalProperties: true },
281
+ error: { type: 'string' },
282
+ },
283
+ },
284
+ },
285
+ };
12
286
  export function resolveRestOperationId(method, pathname) {
13
287
  if (method !== 'POST') {
14
288
  return undefined;
15
289
  }
16
- if (pathname === '/v0/query') {
17
- return 'query';
18
- }
19
290
  if (pathname === '/v0/update') {
20
291
  return 'update';
21
292
  }
@@ -40,9 +311,6 @@ export function resolveRestOperationId(method, pathname) {
40
311
  return undefined;
41
312
  }
42
313
  export async function dispatchRestOperation(operationId, body, client) {
43
- if (operationId === 'query') {
44
- return await client.queryWorkspace(body);
45
- }
46
314
  if (operationId === 'update') {
47
315
  return await client.updateWorkspace(body);
48
316
  }
@@ -78,6 +346,14 @@ export function createOpenApiSpec(httpHost, httpPort) {
78
346
  },
79
347
  },
80
348
  },
349
+ '/docs': {
350
+ get: {
351
+ summary: 'Swagger UI for OML REST API',
352
+ responses: {
353
+ '200': { description: 'Swagger UI HTML page' },
354
+ },
355
+ },
356
+ },
81
357
  '/v0/models': {
82
358
  get: {
83
359
  summary: 'List OML model files under the configured workspace root',
@@ -86,8 +362,77 @@ export function createOpenApiSpec(httpHost, httpPort) {
86
362
  },
87
363
  },
88
364
  },
365
+ '/v0/sparql/{modelId}': {
366
+ get: {
367
+ summary: 'Run a SPARQL query against one workspace model',
368
+ parameters: [
369
+ {
370
+ name: 'modelId',
371
+ in: 'path',
372
+ required: true,
373
+ schema: { type: 'string' },
374
+ description: 'Workspace-relative OML path without the .oml extension.',
375
+ },
376
+ {
377
+ name: 'query',
378
+ in: 'query',
379
+ required: true,
380
+ schema: { type: 'string' },
381
+ description: 'SPARQL query text.',
382
+ },
383
+ ],
384
+ responses: {
385
+ '200': { description: 'SPARQL response body' },
386
+ '400': { description: 'Invalid SPARQL request' },
387
+ '401': { description: 'Authentication required' },
388
+ '403': { description: 'Entitlement denied or unavailable' },
389
+ '404': { description: 'Model not found' },
390
+ '406': { description: 'Requested media type is not supported' },
391
+ '500': { description: 'Server error' },
392
+ },
393
+ },
394
+ post: {
395
+ summary: 'Run a SPARQL query against one workspace model',
396
+ parameters: [
397
+ {
398
+ name: 'modelId',
399
+ in: 'path',
400
+ required: true,
401
+ schema: { type: 'string' },
402
+ description: 'Workspace-relative OML path without the .oml extension.',
403
+ },
404
+ ],
405
+ requestBody: {
406
+ required: true,
407
+ content: {
408
+ 'application/sparql-query': {
409
+ schema: { type: 'string' },
410
+ },
411
+ 'application/x-www-form-urlencoded': {
412
+ schema: {
413
+ type: 'object',
414
+ properties: {
415
+ query: { type: 'string' },
416
+ },
417
+ required: ['query'],
418
+ },
419
+ },
420
+ },
421
+ },
422
+ responses: {
423
+ '200': { description: 'SPARQL response body' },
424
+ '400': { description: 'Invalid SPARQL request' },
425
+ '401': { description: 'Authentication required' },
426
+ '403': { description: 'Entitlement denied or unavailable' },
427
+ '404': { description: 'Model not found' },
428
+ '406': { description: 'Requested media type is not supported' },
429
+ '500': { description: 'Server error' },
430
+ },
431
+ },
432
+ },
89
433
  };
90
434
  for (const route of REST_ROUTES) {
435
+ const schema = OPERATION_SCHEMAS[route.operationId];
91
436
  paths[route.path] = {
92
437
  post: {
93
438
  summary: `Invoke ${route.operationId}`,
@@ -96,13 +441,32 @@ export function createOpenApiSpec(httpHost, httpPort) {
96
441
  required: false,
97
442
  content: {
98
443
  'application/json': {
99
- schema: { type: 'object', additionalProperties: true },
444
+ schema: schema?.request ?? { type: 'object', additionalProperties: true },
100
445
  },
101
446
  },
102
447
  },
103
448
  responses: {
104
- '200': { description: 'Successful OML response' },
449
+ '200': {
450
+ description: 'Successful OML response',
451
+ content: {
452
+ 'application/json': {
453
+ schema: {
454
+ type: 'object',
455
+ required: ['ok', 'method', 'result', 'requestId'],
456
+ additionalProperties: false,
457
+ properties: {
458
+ ok: { type: 'boolean' },
459
+ method: { type: 'string' },
460
+ result: schema?.result ?? { type: 'object', additionalProperties: true },
461
+ requestId: { type: 'string' },
462
+ },
463
+ },
464
+ },
465
+ },
466
+ },
105
467
  '400': { description: 'Invalid request' },
468
+ '401': { description: 'Authentication required' },
469
+ '403': { description: 'Entitlement denied or unavailable' },
106
470
  '500': { description: 'Server error' },
107
471
  },
108
472
  },
@@ -111,7 +475,7 @@ export function createOpenApiSpec(httpHost, httpPort) {
111
475
  return {
112
476
  openapi: '3.0.3',
113
477
  info: {
114
- title: 'OML REST Server',
478
+ title: 'OML Server',
115
479
  version: '1.0.0',
116
480
  description: 'HTTP/JSON interface for OML server operations.',
117
481
  },