@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 CHANGED
@@ -78,7 +78,14 @@ Run update request:
78
78
  curl -X POST http://127.0.0.1:8080/v0/update \
79
79
  -H 'content-type: application/json' \
80
80
  -d '{
81
- "operations": []
81
+ "operations": [
82
+ {
83
+ "createInstance": {
84
+ "descriptionIri": "https://example.com/demo#",
85
+ "instanceName": "alice"
86
+ }
87
+ }
88
+ ]
82
89
  }'
83
90
  ```
84
91
 
@@ -1,20 +1,35 @@
1
1
  import { type OmlFeatureGateLike } from './feature-policy.js';
2
+ export interface OmlFeatureGateOptions {
3
+ apiBaseUrl?: string;
4
+ initialAccessToken?: string;
5
+ tool?: string;
6
+ deviceId?: string;
7
+ /** Cached entitlement grace expiry from a previous session (ms since epoch). */
8
+ initialCachedExpiry?: number;
9
+ /** Feature IDs from the last successful entitlement sync. */
10
+ initialCachedFeatureIds?: string[];
11
+ /** Called after a successful network sync so the caller can persist the new cache. */
12
+ onEntitlementsCached?: (expiry: number, featureIds: string[], entitlementsToken?: string) => void;
13
+ }
2
14
  export declare class OmlFeatureGate implements OmlFeatureGateLike {
3
15
  private currentAccessToken?;
4
16
  private readonly apiBaseUrl;
5
17
  private readonly tool;
18
+ private readonly deviceId?;
6
19
  private runtimeToken?;
7
20
  private client;
8
21
  private readonly storage;
9
22
  private reinitializePromise?;
10
23
  private entitlementSyncPromise?;
11
24
  private entitlementState;
25
+ /** When the next online refresh is due (last sync + 2h). Commands served from cache until then. */
12
26
  private entitlementsExpireAtMs;
13
- constructor(options?: {
14
- apiBaseUrl?: string;
15
- initialAccessToken?: string;
16
- tool?: string;
17
- });
27
+ /** Offline deadline (last sync + 24h). Commands blocked after this even if offline. */
28
+ private graceExpireAtMs;
29
+ /** Feature IDs from the last successful online sync, used when the OmlClient is uninitialized. */
30
+ private cachedFeatureIds;
31
+ private readonly onEntitlementsCached?;
32
+ constructor(options?: OmlFeatureGateOptions);
18
33
  setAccessToken(token: string | undefined): void;
19
34
  primeEntitlements(tokenOverride?: string): Promise<void>;
20
35
  runWithFeature<T>(featureId: string, action: () => Promise<T>, metadata?: Record<string, unknown>): Promise<T>;
@@ -2,17 +2,33 @@
2
2
  import { ApiError, OmlClient } from '@oml/platform';
3
3
  import { OmlAccessError } from './feature-policy.js';
4
4
  const DEFAULT_API_BASE_URL = 'https://oml-platform-worker.melaasar.workers.dev';
5
- const ENTITLEMENT_TTL_MS = 8 * 60 * 60 * 1000;
5
+ const ENTITLEMENT_REFRESH_MS = 2 * 60 * 60 * 1000; // re-sync with platform while online
6
+ const ENTITLEMENT_GRACE_MS = 24 * 60 * 60 * 1000; // offline window after last successful sync
6
7
  export class OmlFeatureGate {
7
8
  constructor(options) {
8
9
  this.client = null;
9
10
  this.storage = new InMemoryTokenStorage();
10
11
  this.entitlementState = 'idle';
12
+ /** When the next online refresh is due (last sync + 2h). Commands served from cache until then. */
11
13
  this.entitlementsExpireAtMs = 0;
14
+ /** Offline deadline (last sync + 24h). Commands blocked after this even if offline. */
15
+ this.graceExpireAtMs = 0;
16
+ /** Feature IDs from the last successful online sync, used when the OmlClient is uninitialized. */
17
+ this.cachedFeatureIds = null;
12
18
  this.apiBaseUrl = normalizeApiBaseUrl(options?.apiBaseUrl);
13
19
  this.currentAccessToken = normalizeToken(options?.initialAccessToken);
14
20
  this.tool = normalizeTool(options?.tool);
15
- if (this.currentAccessToken) {
21
+ this.deviceId = options?.deviceId;
22
+ this.onEntitlementsCached = options?.onEntitlementsCached;
23
+ const cachedGraceExpiry = options?.initialCachedExpiry ?? 0;
24
+ const cachedFeatureIds = options?.initialCachedFeatureIds;
25
+ if (cachedGraceExpiry > Date.now() && cachedFeatureIds && cachedFeatureIds.length > 0) {
26
+ this.graceExpireAtMs = cachedGraceExpiry;
27
+ this.entitlementsExpireAtMs = cachedGraceExpiry - ENTITLEMENT_GRACE_MS + ENTITLEMENT_REFRESH_MS;
28
+ this.cachedFeatureIds = new Set(cachedFeatureIds);
29
+ this.entitlementState = this.currentAccessToken ? 'ready' : 'idle';
30
+ }
31
+ else if (this.currentAccessToken) {
16
32
  this.entitlementState = 'pending';
17
33
  }
18
34
  }
@@ -24,8 +40,18 @@ export class OmlFeatureGate {
24
40
  return;
25
41
  }
26
42
  this.runtimeToken = undefined;
27
- this.entitlementsExpireAtMs = 0;
28
- this.entitlementState = normalized ? 'pending' : 'idle';
43
+ if (!normalized) {
44
+ this.entitlementsExpireAtMs = 0;
45
+ this.graceExpireAtMs = 0;
46
+ this.cachedFeatureIds = null;
47
+ }
48
+ else if (!(this.graceExpireAtMs > 0 && Date.now() < this.graceExpireAtMs)) {
49
+ this.entitlementsExpireAtMs = 0;
50
+ this.graceExpireAtMs = 0;
51
+ }
52
+ this.entitlementState = normalized
53
+ ? (this.graceExpireAtMs > 0 ? 'ready' : 'pending')
54
+ : 'idle';
29
55
  }
30
56
  async primeEntitlements(tokenOverride) {
31
57
  const accessToken = normalizeToken(tokenOverride) ?? this.currentAccessToken;
@@ -42,7 +68,10 @@ export class OmlFeatureGate {
42
68
  }
43
69
  const client = await this.ensureClient(accessToken);
44
70
  await this.ensureEntitlementsAvailable(accessToken);
45
- if (!client.hasFeature(featureId)) {
71
+ // Use the live client check first; fall back to the persisted cache when the
72
+ // OmlClient hasn't completed initialize() (e.g. offline within grace period).
73
+ const featureGranted = client.hasFeature(featureId) || (this.cachedFeatureIds?.has(featureId) ?? false);
74
+ if (!featureGranted) {
46
75
  throw notEntitledError(featureId);
47
76
  }
48
77
  const done = client.trackInvocation(featureId, metadata);
@@ -63,6 +92,8 @@ export class OmlFeatureGate {
63
92
  this.client = null;
64
93
  this.runtimeToken = undefined;
65
94
  this.entitlementsExpireAtMs = 0;
95
+ this.graceExpireAtMs = 0;
96
+ this.cachedFeatureIds = null;
66
97
  this.entitlementState = this.currentAccessToken ? 'pending' : 'idle';
67
98
  if (activeClient) {
68
99
  await activeClient.dispose();
@@ -92,14 +123,19 @@ export class OmlFeatureGate {
92
123
  const previous = this.client;
93
124
  this.client = null;
94
125
  this.runtimeToken = undefined;
95
- this.entitlementsExpireAtMs = 0;
96
- this.entitlementState = 'pending';
126
+ const inGrace = this.graceExpireAtMs > 0 && Date.now() < this.graceExpireAtMs;
127
+ if (!inGrace) {
128
+ this.entitlementsExpireAtMs = 0;
129
+ this.graceExpireAtMs = 0;
130
+ }
131
+ this.entitlementState = inGrace ? 'ready' : 'pending';
97
132
  if (previous) {
98
133
  await previous.dispose();
99
134
  }
100
135
  const config = {
101
136
  apiBaseUrl: this.apiBaseUrl,
102
137
  tool: this.tool,
138
+ deviceId: this.deviceId,
103
139
  storage: this.storage,
104
140
  auth: {
105
141
  method: 'oauth',
@@ -117,29 +153,28 @@ export class OmlFeatureGate {
117
153
  if (this.entitlementState === 'credential_revoked') {
118
154
  throw entitlementsUnavailableError();
119
155
  }
156
+ // Fast path: cache is fresh within the 2h refresh interval.
120
157
  if (this.entitlementState === 'ready' && Date.now() < this.entitlementsExpireAtMs) {
121
158
  return;
122
159
  }
123
- if (this.entitlementState === 'pending' && this.entitlementsExpireAtMs === 0) {
124
- void this.startEntitlementSync(accessToken, true);
125
- throw entitlementsPendingError();
126
- }
127
- if (this.entitlementsExpireAtMs > 0 && Date.now() >= this.entitlementsExpireAtMs) {
128
- await this.startEntitlementSync(accessToken, false);
129
- if (this.isCredentialRevoked()) {
130
- throw entitlementsUnavailableError();
131
- }
132
- if (this.entitlementState !== 'ready' || Date.now() >= this.entitlementsExpireAtMs) {
133
- throw entitlementsPendingError('OML entitlements are unavailable. Retry once connectivity is restored.');
134
- }
160
+ // Background path: past the 2h refresh interval but within the 24h grace window.
161
+ // Serve from cache immediately and refresh in the background — commands are not blocked.
162
+ if (this.entitlementState === 'ready' && Date.now() < this.graceExpireAtMs) {
163
+ void this.startEntitlementSync(accessToken, false).catch(() => undefined);
135
164
  return;
136
165
  }
137
- await this.startEntitlementSync(accessToken, this.entitlementsExpireAtMs === 0);
166
+ // No cache yet (first use after login) — kick off sync and tell the caller to retry.
167
+ if (this.graceExpireAtMs === 0) {
168
+ void this.startEntitlementSync(accessToken, true).catch(() => undefined);
169
+ throw entitlementsPendingError();
170
+ }
171
+ // Grace window expired — must successfully sync before proceeding.
172
+ await this.startEntitlementSync(accessToken, false);
138
173
  if (this.isCredentialRevoked()) {
139
174
  throw entitlementsUnavailableError();
140
175
  }
141
176
  if (this.entitlementState !== 'ready') {
142
- throw entitlementsPendingError();
177
+ throw entitlementsPendingError('OML entitlements are unavailable. Retry once connectivity is restored.');
143
178
  }
144
179
  }
145
180
  async startEntitlementSync(accessToken, initial) {
@@ -150,7 +185,12 @@ export class OmlFeatureGate {
150
185
  await this.entitlementSyncPromise;
151
186
  return;
152
187
  }
153
- this.entitlementState = 'pending';
188
+ // Only drop to 'pending' when outside the grace window — requests within the
189
+ // grace window continue to pass through even during a background refresh.
190
+ const inGrace = this.graceExpireAtMs > 0 && Date.now() < this.graceExpireAtMs;
191
+ if (!inGrace) {
192
+ this.entitlementState = 'pending';
193
+ }
154
194
  const client = await this.ensureClient(accessToken);
155
195
  this.entitlementSyncPromise = (async () => {
156
196
  try {
@@ -164,7 +204,14 @@ export class OmlFeatureGate {
164
204
  return;
165
205
  }
166
206
  this.entitlementState = 'ready';
167
- this.entitlementsExpireAtMs = Date.now() + ENTITLEMENT_TTL_MS;
207
+ this.entitlementsExpireAtMs = Date.now() + ENTITLEMENT_REFRESH_MS;
208
+ this.graceExpireAtMs = Date.now() + ENTITLEMENT_GRACE_MS;
209
+ // Persist grace expiry so the offline window survives process restarts.
210
+ const entitlements = client.getEntitlements();
211
+ const featureIds = entitlements?.features.map((f) => f.id) ?? [];
212
+ const entitlementsToken = entitlements?.token;
213
+ this.cachedFeatureIds = new Set(featureIds);
214
+ this.onEntitlementsCached?.(this.graceExpireAtMs, featureIds, entitlementsToken);
168
215
  }
169
216
  catch (error) {
170
217
  if (this.currentAccessToken !== accessToken) {
@@ -173,11 +220,20 @@ export class OmlFeatureGate {
173
220
  if (isUnauthorizedError(error)) {
174
221
  this.entitlementState = 'credential_revoked';
175
222
  this.entitlementsExpireAtMs = 0;
223
+ this.graceExpireAtMs = 0;
224
+ this.cachedFeatureIds = null;
176
225
  throw entitlementsUnavailableError();
177
226
  }
178
- // Fail closed: clear cached entitlements on refresh failure.
227
+ // Network / transient error serve from cache if still within the grace window.
228
+ const stillInGrace = this.graceExpireAtMs > 0 && Date.now() < this.graceExpireAtMs;
229
+ if (stillInGrace) {
230
+ this.entitlementState = 'ready';
231
+ return;
232
+ }
233
+ // Grace window expired — fail closed.
179
234
  this.entitlementState = 'pending';
180
235
  this.entitlementsExpireAtMs = 0;
236
+ this.graceExpireAtMs = 0;
181
237
  throw error;
182
238
  }
183
239
  })().finally(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"feature-gate.js","sourceRoot":"","sources":["../../src/auth/feature-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-gate.js","sourceRoot":"","sources":["../../src/auth/feature-gate.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const REST_FEATURES_BY_OPERATION = {
10
10
  validate: 'oml-validate',
11
11
  render: 'oml-render',
12
12
  export: 'oml-export',
13
+ shapes: 'oml-read',
13
14
  };
14
15
  const LSP_FEATURES_BY_METHOD = {
15
16
  'oml/query': 'oml-query',
@@ -1 +1 @@
1
- {"version":3,"file":"feature-policy.js","sourceRoot":"","sources":["../../src/auth/feature-policy.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,MAAM,0BAA0B,GAA2B;IACvD,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,UAAU;IACvB,MAAM,EAAE,UAAU;IAClB,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;CACvB,CAAC;AAEF,MAAM,sBAAsB,GAA2B;IACnD,WAAW,EAAE,WAAW;IACxB,iBAAiB,EAAE,UAAU;IAC7B,qBAAqB,EAAE,cAAc;IACrC,gBAAgB,EAAE,UAAU;IAC5B,YAAY,EAAE,YAAY;IAC1B,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;IAC9B,mBAAmB,EAAE,aAAa;IAClC,gBAAgB,EAAE,UAAU;IAC5B,YAAY,EAAE,UAAU;IACxB,yBAAyB,EAAE,UAAU;IACrC,oBAAoB,EAAE,UAAU;IAChC,yBAAyB,EAAE,UAAU;IACrC,yBAAyB,EAAE,UAAU;IACrC,6BAA6B,EAAE,UAAU;IACzC,yBAAyB,EAAE,UAAU;IACrC,qBAAqB,EAAE,YAAY;CACtC,CAAC;AAEF,MAAM,OAAO,cAAe,SAAQ,KAAK;IAKrC,YACI,OAAe,EACf,UAAkB,EAClB,IAA4F,EAC5F,SAAS,GAAG,KAAK;QAEjB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAaD,MAAM,UAAU,+BAA+B,CAAC,WAAmB;IAC/D,OAAO,0BAA0B,CAAC,WAAW,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAc;IACtD,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"feature-policy.js","sourceRoot":"","sources":["../../src/auth/feature-policy.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,MAAM,0BAA0B,GAA2B;IACvD,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,UAAU;IACvB,MAAM,EAAE,UAAU;IAClB,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,sBAAsB,GAA2B;IACnD,WAAW,EAAE,WAAW;IACxB,iBAAiB,EAAE,UAAU;IAC7B,qBAAqB,EAAE,cAAc;IACrC,gBAAgB,EAAE,UAAU;IAC5B,YAAY,EAAE,YAAY;IAC1B,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;IAC9B,mBAAmB,EAAE,aAAa;IAClC,gBAAgB,EAAE,UAAU;IAC5B,YAAY,EAAE,UAAU;IACxB,yBAAyB,EAAE,UAAU;IACrC,oBAAoB,EAAE,UAAU;IAChC,yBAAyB,EAAE,UAAU;IACrC,yBAAyB,EAAE,UAAU;IACrC,6BAA6B,EAAE,UAAU;IACzC,yBAAyB,EAAE,UAAU;IACrC,qBAAqB,EAAE,YAAY;CACtC,CAAC;AAEF,MAAM,OAAO,cAAe,SAAQ,KAAK;IAKrC,YACI,OAAe,EACf,UAAkB,EAClB,IAA4F,EAC5F,SAAS,GAAG,KAAK;QAEjB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAaD,MAAM,UAAU,+BAA+B,CAAC,WAAmB;IAC/D,OAAO,0BAA0B,CAAC,WAAW,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAc;IACtD,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC"}
@@ -2,14 +2,13 @@
2
2
  import { DocumentState, URI } from 'langium';
3
3
  import { startLanguageServer } from 'langium/lsp';
4
4
  import { LSPErrorCodes, ResponseError } from 'vscode-languageserver';
5
- import { collectOntologyMembers, getIriForNode, getOntologyModelIndex, iriFragment, isDescription, isOntology, isVocabulary, registerOmlCandidatesRequests, registerOmlEditRequests, tokenizeForFuzzy, } from '@oml/language';
5
+ import { collectOntologyMembers, getIriForNode, getOntologyModelIndex, iriFragment, isIgnoredByOmlLsDocumentUri, isDescription, isOntology, isVocabulary, registerOmlCandidatesRequests, registerOmlUpdateRequests, tokenizeForFuzzy, } from '@oml/language';
6
6
  import { createOwlServices, detectSparqlKind, registerShaclValidationRequests } from '@oml/owl';
7
7
  import uFuzzy from '@leeoniya/ufuzzy';
8
8
  import { MarkdownExecutionRequest, MarkdownExecutor } from '@oml/markdown';
9
9
  import { registerDiagramRequests } from './diagram-server.js';
10
10
  import { ReasoningNotifications, ReasoningRequests, } from './protocol/reasoner-protocol.js';
11
11
  import { OmlAccessError, requiredFeatureForLspMethod } from '../auth/feature-policy.js';
12
- const workspacePreloadState = new WeakMap();
13
12
  function formatError(error, depth = 0) {
14
13
  if (!(error instanceof Error)) {
15
14
  return String(error);
@@ -115,7 +114,7 @@ export function startOmlLanguageServer(connection, options) {
115
114
  registerDiagramRequests(connection, shared, Oml);
116
115
  }
117
116
  registerOmlCandidatesRequests(connection, shared);
118
- registerOmlEditRequests(connection, shared);
117
+ registerOmlUpdateRequests(connection, shared);
119
118
  registerShaclValidationRequests(connection, Oml);
120
119
  {
121
120
  const reasoningService = Oml.reasoning.ReasoningService;
@@ -357,7 +356,6 @@ export function startOmlLanguageServer(connection, options) {
357
356
  }
358
357
  });
359
358
  connection.onRequest(ReasoningRequests.resolveModelUri, async (params) => {
360
- await ensureWorkspaceIndexed(shared);
361
359
  const ontologyIri = typeof params?.ontologyIri === 'string' ? params.ontologyIri.trim() : '';
362
360
  if (!ontologyIri) {
363
361
  return {};
@@ -384,54 +382,12 @@ function normalizeOntologyIri(value) {
384
382
  function isTransientDiagnosticsUri(uri) {
385
383
  try {
386
384
  const scheme = URI.parse(uri).scheme;
387
- return scheme === 'git'
388
- || scheme === 'chat-editing-text-model'
389
- || scheme === 'chat-editing-snapshot-text-model'
390
- || scheme === 'vscode-chat-code-block';
385
+ return scheme === 'git' || isIgnoredByOmlLsDocumentUri(uri);
391
386
  }
392
387
  catch {
393
388
  return false;
394
389
  }
395
390
  }
396
- async function ensureWorkspaceIndexed(sharedServices) {
397
- const key = sharedServices;
398
- const existing = workspacePreloadState.get(key);
399
- if (existing?.completed) {
400
- return;
401
- }
402
- if (existing?.promise) {
403
- await existing.promise;
404
- return;
405
- }
406
- const state = existing ?? { completed: false };
407
- const promise = (async () => {
408
- const workspace = sharedServices.workspace.WorkspaceManager;
409
- const documents = sharedServices.workspace.LangiumDocuments;
410
- const builder = sharedServices.workspace.DocumentBuilder;
411
- await workspace.ready;
412
- const folderUris = workspace.workspaceFolders ?? [];
413
- const omlUris = new Set();
414
- for (const folder of folderUris) {
415
- const entries = await workspace.searchFolder(URI.parse(folder.uri));
416
- for (const entry of entries) {
417
- const entryUri = entry.toString();
418
- if (entryUri.toLowerCase().endsWith('.oml')) {
419
- omlUris.add(entryUri);
420
- }
421
- }
422
- }
423
- if (omlUris.size > 0) {
424
- const docs = await Promise.all([...omlUris].map((uri) => documents.getOrCreateDocument(URI.parse(uri))));
425
- await builder.build(docs, { validation: { categories: ['built-in', 'fast'] } });
426
- }
427
- state.completed = true;
428
- })().finally(() => {
429
- state.promise = undefined;
430
- });
431
- state.promise = promise;
432
- workspacePreloadState.set(key, state);
433
- await promise;
434
- }
435
391
  async function ensureResolvedModelDocumentLoaded(sharedServices, modelUri) {
436
392
  try {
437
393
  const documents = sharedServices.workspace.LangiumDocuments;
@@ -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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"}
@@ -9,6 +9,14 @@ export declare const ReasoningRequests: {
9
9
  readonly resolveModelUri: "oml/resolveModelUri";
10
10
  readonly tokenRefreshed: "$/tokenRefreshed";
11
11
  };
12
+ export declare const ReasoningServerNotifications: {
13
+ readonly entitlementsCached: "$/entitlementsCached";
14
+ };
15
+ export interface EntitlementsCachedParams {
16
+ expiry: number;
17
+ featureIds: string[];
18
+ entitlementsToken?: string;
19
+ }
12
20
  export interface ActiveDocumentParams {
13
21
  modelUri: string;
14
22
  }
@@ -10,4 +10,7 @@ export const ReasoningRequests = {
10
10
  resolveModelUri: 'oml/resolveModelUri',
11
11
  tokenRefreshed: '$/tokenRefreshed',
12
12
  };
13
+ export const ReasoningServerNotifications = {
14
+ entitlementsCached: '$/entitlementsCached',
15
+ };
13
16
  //# 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;IACtC,cAAc,EAAE,kBAAkB;CAC5B,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;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IACxC,kBAAkB,EAAE,sBAAsB;CACpC,CAAC"}
@@ -21,9 +21,7 @@ export async function exportAssertedWorkspace(client, params) {
21
21
  const outputDir = path.resolve(workspaceRoot, outputFromOptions);
22
22
  const format = normalizeRdfFormat(typeof params.format === 'string' ? params.format : undefined);
23
23
  const pretty = params.pretty === true;
24
- if (params.clean === true) {
25
- await fs.rm(outputDir, { recursive: true, force: true });
26
- }
24
+ await fs.rm(outputDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 });
27
25
  await fs.mkdir(outputDir, { recursive: true });
28
26
  const filesWritten = (await client.writeWorkspaceAssertedOwl(outputDir, format, pretty)).length;
29
27
  return { success: true, filesWritten, outputDir, format, pretty };
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/rest/export.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAkBlC,SAAS,kBAAkB,CAAC,KAAyB;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC7F,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAyB,EAAE,MAA+B;IACpG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;IACjC,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACpF,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;QACnB,CAAC,CAAC,WAAW,CAAC;IAClB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAC1B,aAAa,EACb,iBAAiB,CACpB,CAAC;IACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;IACtC,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAChG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAyB,EAAE,MAA+B;IAC5F,OAAO,MAAM,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/rest/export.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAkBlC,SAAS,kBAAkB,CAAC,KAAyB;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC7F,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAyB,EAAE,MAA+B;IACpG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;IACjC,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACpF,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;QACnB,CAAC,CAAC,WAAW,CAAC;IAClB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAC1B,aAAa,EACb,iBAAiB,CACpB,CAAC;IACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IACzF,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAChG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAyB,EAAE,MAA+B;IAC5F,OAAO,MAAM,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC"}
@@ -26,6 +26,10 @@ export declare const REST_ROUTES: readonly [{
26
26
  readonly method: "POST";
27
27
  readonly path: "/v0/export";
28
28
  readonly operationId: "export";
29
+ }, {
30
+ readonly method: "POST";
31
+ readonly path: "/v0/shapes";
32
+ readonly operationId: "shapes";
29
33
  }];
30
34
  export type RestRoute = (typeof REST_ROUTES)[number];
31
35
  export type RestRouteClient = {
@@ -36,6 +40,7 @@ export type RestRouteClient = {
36
40
  validateWorkspace: (body: Record<string, unknown>) => Promise<Record<string, unknown>>;
37
41
  exportWorkspace: (body: Record<string, unknown>) => Promise<Record<string, unknown>>;
38
42
  renderWorkspace: (body: Record<string, unknown>) => Promise<Record<string, unknown>>;
43
+ shapesWorkspace: (body: Record<string, unknown>) => Promise<Record<string, unknown>>;
39
44
  };
40
45
  export declare function resolveRestOperationId(method: string, pathname: string): string | undefined;
41
46
  export declare function dispatchRestOperation(operationId: string, body: Record<string, unknown>, client: RestRouteClient): Promise<unknown>;