@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.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # @oml/server
4
4
 
5
- Standalone OML REST server runtime package.
5
+ Standalone OML server runtime package.
6
6
 
7
7
  The only user-facing CLI is `oml` from `@oml/cli`. Use `oml server start`, `oml server stop`, and `oml server status` to manage the server.
8
8
 
@@ -6,18 +6,22 @@ export declare class OmlFeatureGate implements OmlFeatureGateLike {
6
6
  private runtimeToken?;
7
7
  private client;
8
8
  private readonly storage;
9
- private initPromise?;
9
+ private reinitializePromise?;
10
+ private entitlementSyncPromise?;
11
+ private entitlementState;
12
+ private entitlementsExpireAtMs;
10
13
  constructor(options?: {
11
14
  apiBaseUrl?: string;
12
15
  initialAccessToken?: string;
13
16
  tool?: string;
14
17
  });
15
18
  setAccessToken(token: string | undefined): void;
16
- getAccessToken(): string | undefined;
17
19
  primeEntitlements(tokenOverride?: string): Promise<void>;
18
- requireFeature(featureId: string): Promise<void>;
19
20
  runWithFeature<T>(featureId: string, action: () => Promise<T>, metadata?: Record<string, unknown>): Promise<T>;
20
21
  dispose(): Promise<void>;
21
- private ensureRuntime;
22
+ private ensureClient;
22
23
  private reinitializeClient;
24
+ private ensureEntitlementsAvailable;
25
+ private startEntitlementSync;
26
+ private isCredentialRevoked;
23
27
  }
@@ -1,42 +1,49 @@
1
1
  // Copyright (c) 2026 Modelware. All rights reserved.
2
- import { OmlClient } from '@oml/platform';
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
6
  export class OmlFeatureGate {
6
7
  constructor(options) {
7
8
  this.client = null;
8
9
  this.storage = new InMemoryTokenStorage();
10
+ this.entitlementState = 'idle';
11
+ this.entitlementsExpireAtMs = 0;
9
12
  this.apiBaseUrl = normalizeApiBaseUrl(options?.apiBaseUrl);
10
13
  this.currentAccessToken = normalizeToken(options?.initialAccessToken);
11
14
  this.tool = normalizeTool(options?.tool);
15
+ if (this.currentAccessToken) {
16
+ this.entitlementState = 'pending';
17
+ }
12
18
  }
13
19
  setAccessToken(token) {
14
20
  const normalized = normalizeToken(token);
15
21
  const changed = normalized !== this.currentAccessToken;
16
22
  this.currentAccessToken = normalized;
17
- if (changed) {
18
- this.runtimeToken = undefined;
23
+ if (!changed) {
24
+ return;
19
25
  }
20
- }
21
- getAccessToken() {
22
- return this.currentAccessToken;
26
+ this.runtimeToken = undefined;
27
+ this.entitlementsExpireAtMs = 0;
28
+ this.entitlementState = normalized ? 'pending' : 'idle';
23
29
  }
24
30
  async primeEntitlements(tokenOverride) {
25
31
  const accessToken = normalizeToken(tokenOverride) ?? this.currentAccessToken;
26
- await this.ensureRuntime(accessToken);
27
- }
28
- async requireFeature(featureId) {
29
- const accessToken = this.currentAccessToken;
30
- const client = await this.ensureRuntime(accessToken);
31
- if (!client.hasFeature(featureId)) {
32
- throw new OmlAccessError(`Feature '${featureId}' is not enabled for this account.`, 403, 'FORBIDDEN');
32
+ if (!accessToken) {
33
+ throw authRequiredError();
33
34
  }
35
+ await this.ensureClient(accessToken);
36
+ await this.startEntitlementSync(accessToken, true);
34
37
  }
35
38
  async runWithFeature(featureId, action, metadata) {
36
- const accessToken = this.currentAccessToken;
37
- const client = await this.ensureRuntime(accessToken);
39
+ const accessToken = normalizeToken(this.currentAccessToken);
40
+ if (!accessToken) {
41
+ throw authRequiredError();
42
+ }
43
+ const client = await this.ensureClient(accessToken);
44
+ await this.ensureEntitlementsAvailable(accessToken);
38
45
  if (!client.hasFeature(featureId)) {
39
- throw new OmlAccessError(`Feature '${featureId}' is not enabled for this account.`, 403, 'FORBIDDEN');
46
+ throw notEntitledError(featureId);
40
47
  }
41
48
  const done = client.trackInvocation(featureId, metadata);
42
49
  try {
@@ -50,40 +57,32 @@ export class OmlFeatureGate {
50
57
  }
51
58
  }
52
59
  async dispose() {
53
- if (this.initPromise) {
54
- try {
55
- await this.initPromise;
56
- }
57
- catch {
58
- // ignore init failure during disposal
59
- }
60
- }
60
+ await this.reinitializePromise?.catch(() => undefined);
61
+ await this.entitlementSyncPromise?.catch(() => undefined);
61
62
  const activeClient = this.client;
62
63
  this.client = null;
63
64
  this.runtimeToken = undefined;
65
+ this.entitlementsExpireAtMs = 0;
66
+ this.entitlementState = this.currentAccessToken ? 'pending' : 'idle';
64
67
  if (activeClient) {
65
68
  await activeClient.dispose();
66
69
  }
67
70
  }
68
- async ensureRuntime(accessToken) {
69
- const token = normalizeToken(accessToken);
70
- if (!token) {
71
- throw new OmlAccessError('OML server access requires authentication. Log in to continue.', 401, 'UNAUTHORIZED');
72
- }
73
- if (this.client && this.runtimeToken === token) {
71
+ async ensureClient(accessToken) {
72
+ if (this.client && this.runtimeToken === accessToken) {
74
73
  return this.client;
75
74
  }
76
- if (this.initPromise) {
77
- await this.initPromise;
78
- if (this.client && this.runtimeToken === token) {
75
+ if (this.reinitializePromise) {
76
+ await this.reinitializePromise;
77
+ if (this.client && this.runtimeToken === accessToken) {
79
78
  return this.client;
80
79
  }
81
80
  }
82
- this.initPromise = this.reinitializeClient(token).finally(() => {
83
- this.initPromise = undefined;
81
+ this.reinitializePromise = this.reinitializeClient(accessToken).finally(() => {
82
+ this.reinitializePromise = undefined;
84
83
  });
85
- await this.initPromise;
86
- if (!this.client || this.runtimeToken !== token) {
84
+ await this.reinitializePromise;
85
+ if (!this.client || this.runtimeToken !== accessToken) {
87
86
  throw new Error('Failed to initialize OML platform runtime.');
88
87
  }
89
88
  return this.client;
@@ -93,6 +92,8 @@ export class OmlFeatureGate {
93
92
  const previous = this.client;
94
93
  this.client = null;
95
94
  this.runtimeToken = undefined;
95
+ this.entitlementsExpireAtMs = 0;
96
+ this.entitlementState = 'pending';
96
97
  if (previous) {
97
98
  await previous.dispose();
98
99
  }
@@ -104,36 +105,110 @@ export class OmlFeatureGate {
104
105
  method: 'oauth',
105
106
  getToken: async () => this.storage.getToken(),
106
107
  refreshToken: async () => {
107
- throw new OmlAccessError('OML server session expired. Refresh authentication and try again.', 401, 'UNAUTHORIZED');
108
+ throw authRequiredError('Authentication expired. Run login again and retry.');
108
109
  },
109
110
  },
110
111
  debug: false,
111
112
  };
112
- const client = new OmlClient(config);
113
- try {
114
- await client.initialize();
115
- if (this.currentAccessToken !== token) {
116
- await client.dispose();
117
- return;
118
- }
119
- this.client = client;
120
- this.runtimeToken = token;
113
+ this.client = new OmlClient(config);
114
+ this.runtimeToken = token;
115
+ }
116
+ async ensureEntitlementsAvailable(accessToken) {
117
+ if (this.entitlementState === 'credential_revoked') {
118
+ throw entitlementsUnavailableError();
121
119
  }
122
- catch (error) {
123
- await client.dispose().catch(() => undefined);
124
- if (error instanceof OmlAccessError) {
125
- throw error;
120
+ if (this.entitlementState === 'ready' && Date.now() < this.entitlementsExpireAtMs) {
121
+ return;
122
+ }
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();
126
131
  }
127
- const message = error instanceof Error ? error.message : String(error);
128
- if (message.includes('401')) {
129
- throw new OmlAccessError('OML server access requires authentication. Log in to continue.', 401, 'UNAUTHORIZED');
132
+ if (this.entitlementState !== 'ready' || Date.now() >= this.entitlementsExpireAtMs) {
133
+ throw entitlementsPendingError('OML entitlements are unavailable. Retry once connectivity is restored.');
130
134
  }
131
- if (message.includes('403')) {
132
- throw new OmlAccessError('Authenticated, but permission was denied by OML Platform.', 403, 'FORBIDDEN');
135
+ return;
136
+ }
137
+ await this.startEntitlementSync(accessToken, this.entitlementsExpireAtMs === 0);
138
+ if (this.isCredentialRevoked()) {
139
+ throw entitlementsUnavailableError();
140
+ }
141
+ if (this.entitlementState !== 'ready') {
142
+ throw entitlementsPendingError();
143
+ }
144
+ }
145
+ async startEntitlementSync(accessToken, initial) {
146
+ if (this.entitlementSyncPromise) {
147
+ if (initial && this.entitlementsExpireAtMs === 0) {
148
+ return;
133
149
  }
134
- throw error;
150
+ await this.entitlementSyncPromise;
151
+ return;
135
152
  }
153
+ this.entitlementState = 'pending';
154
+ const client = await this.ensureClient(accessToken);
155
+ this.entitlementSyncPromise = (async () => {
156
+ try {
157
+ if (initial) {
158
+ await client.initialize();
159
+ }
160
+ else {
161
+ await client.refreshEntitlements();
162
+ }
163
+ if (this.currentAccessToken !== accessToken) {
164
+ return;
165
+ }
166
+ this.entitlementState = 'ready';
167
+ this.entitlementsExpireAtMs = Date.now() + ENTITLEMENT_TTL_MS;
168
+ }
169
+ catch (error) {
170
+ if (this.currentAccessToken !== accessToken) {
171
+ return;
172
+ }
173
+ if (isUnauthorizedError(error)) {
174
+ this.entitlementState = 'credential_revoked';
175
+ this.entitlementsExpireAtMs = 0;
176
+ throw entitlementsUnavailableError();
177
+ }
178
+ // Fail closed: clear cached entitlements on refresh failure.
179
+ this.entitlementState = 'pending';
180
+ this.entitlementsExpireAtMs = 0;
181
+ throw error;
182
+ }
183
+ })().finally(() => {
184
+ this.entitlementSyncPromise = undefined;
185
+ });
186
+ await this.entitlementSyncPromise;
187
+ }
188
+ isCredentialRevoked() {
189
+ return this.entitlementState === 'credential_revoked';
190
+ }
191
+ }
192
+ function authRequiredError(message = 'OML authentication is required. Run login and retry.') {
193
+ return new OmlAccessError(message, 401, 'AUTH_REQUIRED');
194
+ }
195
+ function entitlementsPendingError(message = 'OML entitlements are still loading. Retry in a moment.') {
196
+ return new OmlAccessError(message, 503, 'ENTITLEMENTS_PENDING', true);
197
+ }
198
+ function entitlementsUnavailableError() {
199
+ return new OmlAccessError('OML entitlements are unavailable because the stored credential was revoked. Sign in again and retry.', 403, 'ENTITLEMENTS_UNAVAILABLE');
200
+ }
201
+ function notEntitledError(featureId) {
202
+ return new OmlAccessError(`Feature '${featureId}' is not enabled for this account.`, 403, 'NOT_ENTITLED');
203
+ }
204
+ function isUnauthorizedError(error) {
205
+ if (error instanceof OmlAccessError) {
206
+ return error.code === 'AUTH_REQUIRED' || error.code === 'ENTITLEMENTS_UNAVAILABLE';
207
+ }
208
+ if (error instanceof ApiError) {
209
+ return error.status === 401;
136
210
  }
211
+ return false;
137
212
  }
138
213
  function normalizeToken(value) {
139
214
  const trimmed = typeof value === 'string' ? value.trim() : '';
@@ -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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"}
@@ -1,7 +1,8 @@
1
1
  export declare class OmlAccessError extends Error {
2
2
  readonly statusCode: number;
3
- readonly code: 'UNAUTHORIZED' | 'FORBIDDEN';
4
- constructor(message: string, statusCode: number, code: 'UNAUTHORIZED' | 'FORBIDDEN');
3
+ readonly code: 'AUTH_REQUIRED' | 'ENTITLEMENTS_PENDING' | 'ENTITLEMENTS_UNAVAILABLE' | 'NOT_ENTITLED';
4
+ readonly retryable: boolean;
5
+ constructor(message: string, statusCode: number, code: 'AUTH_REQUIRED' | 'ENTITLEMENTS_PENDING' | 'ENTITLEMENTS_UNAVAILABLE' | 'NOT_ENTITLED', retryable?: boolean);
5
6
  }
6
7
  export interface OmlFeatureGateLike {
7
8
  setAccessToken(token: string | undefined): void;
@@ -1,8 +1,9 @@
1
1
  // Copyright (c) 2026 Modelware. All rights reserved.
2
2
  const REST_FEATURES_BY_OPERATION = {
3
- query: 'oml-text',
3
+ query: 'oml-query',
4
4
  update: 'oml-update',
5
- fuzzysearch: 'oml-text',
5
+ fuzzysearch: 'oml-read',
6
+ models: 'oml-read',
6
7
  lint: 'oml-lint',
7
8
  reason: 'oml-reason',
8
9
  validate: 'oml-validate',
@@ -10,9 +11,9 @@ const REST_FEATURES_BY_OPERATION = {
10
11
  export: 'oml-export',
11
12
  };
12
13
  const LSP_FEATURES_BY_METHOD = {
13
- 'oml/query': 'oml-text',
14
+ 'oml/query': 'oml-query',
14
15
  'oml/fuzzysearch': 'oml-text',
15
- 'oml/resolveModelUri': 'oml-text',
16
+ 'oml/resolveModelUri': 'oml-markdown',
16
17
  'oml/completion': 'oml-text',
17
18
  'oml/update': 'oml-update',
18
19
  'oml/validate': 'oml-validate',
@@ -20,13 +21,21 @@ const LSP_FEATURES_BY_METHOD = {
20
21
  'oml/diagram/model': 'oml-diagram',
21
22
  'oml/definition': 'oml-text',
22
23
  'oml/labels': 'oml-text',
24
+ 'textDocument/completion': 'oml-text',
25
+ 'textDocument/hover': 'oml-text',
26
+ 'textDocument/definition': 'oml-text',
27
+ 'textDocument/references': 'oml-text',
28
+ 'textDocument/documentSymbol': 'oml-text',
29
+ 'textDocument/codeAction': 'oml-text',
30
+ 'textDocument/rename': 'oml-update',
23
31
  };
24
32
  export class OmlAccessError extends Error {
25
- constructor(message, statusCode, code) {
33
+ constructor(message, statusCode, code, retryable = false) {
26
34
  super(message);
27
35
  this.name = 'OmlAccessError';
28
36
  this.statusCode = statusCode;
29
37
  this.code = code;
38
+ this.retryable = retryable;
30
39
  }
31
40
  }
32
41
  export function requiredFeatureForRestOperation(operationId) {
@@ -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,UAAU;IACjB,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,UAAU;IACvB,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,UAAU;IACvB,iBAAiB,EAAE,UAAU;IAC7B,qBAAqB,EAAE,UAAU;IACjC,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;CAC3B,CAAC;AAEF,MAAM,OAAO,cAAe,SAAQ,KAAK;IAIrC,YAAY,OAAe,EAAE,UAAkB,EAAE,IAAkC;QAC/E,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;IACrB,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,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"}
package/out/cli.js CHANGED
@@ -8,6 +8,17 @@ import { createConnection } from 'vscode-languageserver/node.js';
8
8
  import { startOmlLanguageServer } from './lsp/language-server.js';
9
9
  import { startOmlRestServer } from './rest/server.js';
10
10
  import { OmlFeatureGate } from './auth/feature-gate.js';
11
+ const SERVER_DEBUG_ENABLED = process.env.OML_SERVER_DEBUG_STARTUP === '1';
12
+ function debugServerStartup(event, details = {}) {
13
+ if (!SERVER_DEBUG_ENABLED) {
14
+ return;
15
+ }
16
+ const fields = Object.entries(details)
17
+ .map(([key, value]) => `${key}=${String(value)}`)
18
+ .join(' ');
19
+ const suffix = fields.length > 0 ? ` ${fields}` : '';
20
+ process.stderr.write(`[oml-server][debug] ${new Date().toISOString()} pid=${process.pid} event=${event}${suffix}\n`);
21
+ }
11
22
  function formatStartupError(error, host, port) {
12
23
  if (error && typeof error === 'object' && 'code' in error) {
13
24
  const code = error.code;
@@ -96,11 +107,21 @@ function lockFilePathForWorkspace(workspaceRoot) {
96
107
  async function writeServerLock(workspaceRoot, port, owner) {
97
108
  const lockFile = lockFilePathForWorkspace(workspaceRoot);
98
109
  await fs.mkdir(path.dirname(lockFile), { recursive: true });
99
- await fs.writeFile(lockFile, JSON.stringify({ port, pid: process.pid, owner }) + '\n', 'utf-8');
110
+ await fs.writeFile(lockFile, JSON.stringify({ port, pid: process.pid, owner, workspaceRoot }) + '\n', 'utf-8');
111
+ debugServerStartup('lock.write', { lockFile, owner, port, workspaceRoot });
100
112
  return lockFile;
101
113
  }
102
114
  async function removeServerLock(lockFile) {
103
- await fs.rm(lockFile, { force: true });
115
+ debugServerStartup('lock.remove.begin', { lockFile });
116
+ try {
117
+ await fs.rm(lockFile, { force: true });
118
+ debugServerStartup('lock.remove.success', { lockFile });
119
+ }
120
+ catch (error) {
121
+ const message = error instanceof Error ? error.message : String(error);
122
+ debugServerStartup('lock.remove.error', { lockFile, error: message });
123
+ throw error;
124
+ }
104
125
  }
105
126
  function resolveListeningPort(server) {
106
127
  const address = server.address();
@@ -110,12 +131,21 @@ function resolveListeningPort(server) {
110
131
  return address.port;
111
132
  }
112
133
  export function runServerCli(argv = process.argv.slice(2)) {
134
+ debugServerStartup('bootstrap.begin', { argv: argv.join(' ') });
113
135
  let options;
114
136
  try {
115
137
  options = parseRemoteOptions(argv);
138
+ debugServerStartup('options.parsed', {
139
+ host: options.host,
140
+ requestedPort: options.port,
141
+ workspaceRoot: path.resolve(options.workspaceRoot),
142
+ tokenProvided: options.token ? 'yes' : 'no',
143
+ mode: typeof process.send === 'function' ? 'extension' : 'daemon',
144
+ });
116
145
  }
117
146
  catch (error) {
118
147
  const message = error instanceof Error ? error.message : String(error);
148
+ debugServerStartup('bootstrap.options.error', { error: message });
119
149
  process.stderr.write(`[oml-server] REST startup failed: ${message}\n`);
120
150
  process.exitCode = 1;
121
151
  process.exit();
@@ -123,12 +153,23 @@ export function runServerCli(argv = process.argv.slice(2)) {
123
153
  }
124
154
  void (async () => {
125
155
  const runtimeTool = typeof process.send === 'function' ? 'oml-code' : 'oml-cli';
156
+ debugServerStartup('featureGate.create', { tool: runtimeTool });
126
157
  const featureGate = new OmlFeatureGate({ initialAccessToken: options.token, tool: runtimeTool });
127
158
  if (options.token) {
128
- await featureGate.primeEntitlements();
159
+ try {
160
+ debugServerStartup('entitlements.prime.begin');
161
+ await featureGate.primeEntitlements();
162
+ debugServerStartup('entitlements.prime.success');
163
+ }
164
+ catch (error) {
165
+ const message = error instanceof Error ? error.message : String(error);
166
+ debugServerStartup('entitlements.prime.error', { error: message });
167
+ process.stderr.write(`[oml-server] initial entitlement sync failed: ${message}\n`);
168
+ }
129
169
  }
130
170
  const ipcServer = startIpcLanguageServerIfAvailable(featureGate);
131
171
  const owner = ipcServer ? 'extension' : 'daemon';
172
+ debugServerStartup('rest.start.begin', { owner });
132
173
  const { server, updateToken } = await startOmlRestServer({
133
174
  host: options.host,
134
175
  port: options.port,
@@ -141,35 +182,43 @@ export function runServerCli(argv = process.argv.slice(2)) {
141
182
  if (ipcServer) {
142
183
  ipcServer.connection.onNotification('$/tokenRefreshed', (params) => {
143
184
  if (params?.accessToken) {
144
- void updateToken(params.accessToken).catch((error) => {
185
+ debugServerStartup('token.refresh.notification', { received: 'yes' });
186
+ void updateToken(params.accessToken).then(() => debugServerStartup('token.refresh.sync.success'), (error) => {
145
187
  const message = error instanceof Error ? error.message : String(error);
188
+ debugServerStartup('token.refresh.sync.error', { error: message });
146
189
  process.stderr.write(`[oml-server] token refresh entitlement sync failed: ${message}\n`);
147
190
  });
148
191
  }
149
192
  });
150
193
  }
151
194
  const listeningPort = resolveListeningPort(server);
195
+ debugServerStartup('rest.start.success', { host: options.host, requestedPort: options.port, listeningPort });
152
196
  const lockFile = await writeServerLock(options.workspaceRoot, listeningPort, owner);
153
197
  let shuttingDown = false;
154
- const shutdown = (exitCode) => {
198
+ const shutdown = (exitCode, reason) => {
155
199
  if (shuttingDown) {
200
+ debugServerStartup('shutdown.ignored', { reason, exitCode });
156
201
  return;
157
202
  }
158
203
  shuttingDown = true;
204
+ debugServerStartup('shutdown.begin', { reason, exitCode, lockFile });
159
205
  server.close(() => {
160
206
  void removeServerLock(lockFile).finally(() => {
207
+ debugServerStartup('shutdown.exit', { reason, exitCode });
161
208
  process.exit(exitCode);
162
209
  });
163
210
  });
164
211
  };
165
- process.once('SIGINT', () => shutdown(0));
166
- process.once('SIGTERM', () => shutdown(0));
212
+ process.once('SIGINT', () => shutdown(0, 'sigint'));
213
+ process.once('SIGTERM', () => shutdown(0, 'sigterm'));
167
214
  server.once('close', () => {
215
+ debugServerStartup('server.close.event', { lockFile });
168
216
  void removeServerLock(lockFile);
169
217
  });
170
218
  process.stdout.write(`[oml-server] REST listening on http://${options.host}:${listeningPort}\n`);
171
219
  })().catch((error) => {
172
220
  const message = formatStartupError(error, options.host, options.port);
221
+ debugServerStartup('rest.start.error', { error: message, host: options.host, requestedPort: options.port });
173
222
  process.stderr.write(`[oml-server] REST startup failed: ${message}\n`);
174
223
  process.exitCode = 1;
175
224
  process.exit();
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":"AAAA,qDAAqD;AAErD,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAiC,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC;AAW1E,SAAS,kBAAkB,CAAC,KAAa,EAAE,UAAmC,EAAE;IAC5E,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxB,OAAO;IACX,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;SAChD,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,OAAO,CAAC,GAAG,UAAU,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC;AACzH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,IAAY,EAAE,IAAY;IAClE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;QACnD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YACxB,OAAO,QAAQ,IAAI,yBAAyB,IAAI,GAAG,CAAC;QACxD,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpB,OAAO,QAAQ,IAAI,OAAO,IAAI,kDAAkD,CAAC;QACrF,CAAC;IACL,CAAC;IACD,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,eAAe,CAAC,IAAc,EAAE,KAAa,EAAE,OAAiB;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACtC,IAAI,SAA6B,CAAC;IAClC,IAAI,cAAkC,CAAC;IACvC,IAAI,UAA8B,CAAC;IACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC/D,SAAS;QACb,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAChE,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,IAAI,CAAC,CAAC;YACf,CAAC;YACD,SAAS;QACb,CAAC;QACD,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1E,cAAc,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5E,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,IAAI,CAAC,CAAC;YACf,CAAC;YACD,SAAS;QACb,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,IAAI,CAAC,CAAC;YACf,CAAC;YACD,SAAS;QACb,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjG,MAAM,aAAa,GAAG,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACnG,MAAM,KAAK,GAAG,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,iCAAiC,CAAC,WAA2B;IAClE,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,EAAE;QAC/C,UAAU,EAAE,cAAc;QAC1B,uBAAuB,EAAE,IAAI;QAC7B,4BAA4B,EAAE,IAAI;QAClC,0BAA0B,EAAE,IAAI;QAChC,WAAW;KACd,CAAC,CAAC;IACH,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,aAAqB;IACxC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,wBAAwB,CAAC,aAAqB;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;AACtG,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,aAAqB,EAAE,IAAY,EAAE,KAAsB;IACtF,MAAM,QAAQ,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/G,kBAAkB,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3E,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC5C,kBAAkB,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC;QACD,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,kBAAkB,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,kBAAkB,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACtE,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAkC;IAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,kBAAkB,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,IAAI,OAAsB,CAAC;IAC3B,IAAI,CAAC;QACD,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACnC,kBAAkB,CAAC,gBAAgB,EAAE;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,aAAa,EAAE,OAAO,CAAC,IAAI;YAC3B,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;YAClD,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAC3C,IAAI,EAAE,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;SACpE,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,kBAAkB,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,OAAO,IAAI,CAAC,CAAC;QACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO;IACX,CAAC;IACD,KAAK,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,kBAAkB,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACjG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC;gBACD,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;gBAC/C,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;gBACtC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,kBAAkB,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,OAAO,IAAI,CAAC,CAAC;YACvF,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,iCAAiC,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,KAAK,GAAoB,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClE,kBAAkB,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAkB,CAAC;YACrD,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,OAAO,CAAC,KAAK;YACxB,OAAO,EAAE,SAAS,EAAE,OAAO;YAC3B,WAAW;SACd,CAAC,CAAC;QACH,IAAI,SAAS,EAAE,CAAC;YACZ,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,MAA+B,EAAE,EAAE;gBACxF,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;oBACtB,kBAAkB,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;oBACtE,KAAK,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CACrC,GAAG,EAAE,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,EACtD,CAAC,KAAK,EAAE,EAAE;wBACN,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACvE,kBAAkB,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;wBACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,OAAO,IAAI,CAAC,CAAC;oBAC7F,CAAC,CACJ,CAAC;gBACN,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACnD,kBAAkB,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QAC7G,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QACpF,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAQ,EAAE;YACxD,IAAI,YAAY,EAAE,CAAC;gBACf,kBAAkB,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC7D,OAAO;YACX,CAAC;YACD,YAAY,GAAG,IAAI,CAAC;YACpB,kBAAkB,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBACd,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;oBACzC,kBAAkB,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC1D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,kBAAkB,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvD,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,OAAO,CAAC,IAAI,IAAI,aAAa,IAAI,CAAC,CAAC;IACrG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACtE,kBAAkB,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,OAAO,IAAI,CAAC,CAAC;QACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,YAAY,EAAE,CAAC"}
package/out/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './lsp/language-server.js';
2
2
  export * from './lsp/diagram-server.js';
3
3
  export * from './rest/server.js';
4
+ export * from './auth/feature-gate.js';
4
5
  export * from './lsp/providers/browser-fs-provider.js';
5
6
  export * from './lsp/providers/hybrid-fs-provider.js';
6
7
  export * from './lsp/protocol/reasoner-protocol.js';
package/out/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  export * from './lsp/language-server.js';
3
3
  export * from './lsp/diagram-server.js';
4
4
  export * from './rest/server.js';
5
+ export * from './auth/feature-gate.js';
5
6
  export * from './lsp/providers/browser-fs-provider.js';
6
7
  export * from './lsp/providers/hybrid-fs-provider.js';
7
8
  export * from './lsp/protocol/reasoner-protocol.js';
package/out/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { DefaultSharedModuleContext } from 'langium/lsp';
2
- import type { Connection } from 'vscode-languageserver';
2
+ import { type Connection } from 'vscode-languageserver';
3
3
  import { type OmlFeatureGateLike } from '../auth/feature-policy.js';
4
4
  export interface OmlLanguageServerStartOptions {
5
5
  fileSystem: Omit<DefaultSharedModuleContext, 'connection'>;