lexic-mcp 0.1.0 → 0.1.2

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.
Files changed (64) hide show
  1. package/README.md +10 -1
  2. package/dist/bundle.cjs +49 -0
  3. package/dist/index.js +5 -8
  4. package/package.json +6 -5
  5. package/dist/client/lexic-api.d.ts +0 -65
  6. package/dist/client/lexic-api.d.ts.map +0 -1
  7. package/dist/client/lexic-api.js +0 -253
  8. package/dist/client/lexic-api.js.map +0 -1
  9. package/dist/config.d.ts +0 -14
  10. package/dist/config.d.ts.map +0 -1
  11. package/dist/config.js +0 -30
  12. package/dist/config.js.map +0 -1
  13. package/dist/core/admin.d.ts +0 -74
  14. package/dist/core/admin.d.ts.map +0 -1
  15. package/dist/core/admin.js +0 -103
  16. package/dist/core/admin.js.map +0 -1
  17. package/dist/core/context.d.ts +0 -28
  18. package/dist/core/context.d.ts.map +0 -1
  19. package/dist/core/context.js +0 -76
  20. package/dist/core/context.js.map +0 -1
  21. package/dist/core/index.d.ts +0 -17
  22. package/dist/core/index.d.ts.map +0 -1
  23. package/dist/core/index.js +0 -50
  24. package/dist/core/index.js.map +0 -1
  25. package/dist/core/query.d.ts +0 -47
  26. package/dist/core/query.d.ts.map +0 -1
  27. package/dist/core/query.js +0 -55
  28. package/dist/core/query.js.map +0 -1
  29. package/dist/core/store.d.ts +0 -35
  30. package/dist/core/store.d.ts.map +0 -1
  31. package/dist/core/store.js +0 -55
  32. package/dist/core/store.js.map +0 -1
  33. package/dist/core/types.d.ts +0 -57
  34. package/dist/core/types.d.ts.map +0 -1
  35. package/dist/core/types.js +0 -7
  36. package/dist/core/types.js.map +0 -1
  37. package/dist/domains/development/index.d.ts +0 -8
  38. package/dist/domains/development/index.d.ts.map +0 -1
  39. package/dist/domains/development/index.js +0 -18
  40. package/dist/domains/development/index.js.map +0 -1
  41. package/dist/domains/development/tools.d.ts +0 -97
  42. package/dist/domains/development/tools.d.ts.map +0 -1
  43. package/dist/domains/development/tools.js +0 -140
  44. package/dist/domains/development/tools.js.map +0 -1
  45. package/dist/domains/index.d.ts +0 -9
  46. package/dist/domains/index.d.ts.map +0 -1
  47. package/dist/domains/index.js +0 -8
  48. package/dist/domains/index.js.map +0 -1
  49. package/dist/domains/loader.d.ts +0 -34
  50. package/dist/domains/loader.d.ts.map +0 -1
  51. package/dist/domains/loader.js +0 -74
  52. package/dist/domains/loader.js.map +0 -1
  53. package/dist/index.d.ts +0 -8
  54. package/dist/index.d.ts.map +0 -1
  55. package/dist/index.js.map +0 -1
  56. package/dist/utils/errors.d.ts +0 -27
  57. package/dist/utils/errors.d.ts.map +0 -1
  58. package/dist/utils/errors.js +0 -48
  59. package/dist/utils/errors.js.map +0 -1
  60. package/dist/utils/logger.d.ts +0 -20
  61. package/dist/utils/logger.d.ts.map +0 -1
  62. package/dist/utils/logger.js +0 -63
  63. package/dist/utils/logger.js.map +0 -1
  64. package/templates/README.md +0 -12
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Lexic MCP Server Entry Point
4
4
  *
5
- * See .claude/specs/IMPLEMENTATION.md for full specification
5
+ * Thin client - forwards tool calls to Lexic API
6
6
  */
7
7
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
8
8
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
@@ -15,7 +15,7 @@ import { createQueryTool } from './core/query.js';
15
15
  import { createStoreTool } from './core/store.js';
16
16
  import { createContextTool } from './core/context.js';
17
17
  import { createCreateProjectTool, createListProjectsTool, createGetProjectInfoTool } from './core/admin.js';
18
- import { loadDomains, buildSeederMap } from './domains/index.js';
18
+ import { loadDomains } from './domains/index.js';
19
19
  import { logger } from './utils/logger.js';
20
20
  // ============================================================================
21
21
  // MAIN
@@ -41,26 +41,25 @@ async function main() {
41
41
  const server = new Server({ name: 'lexic-mcp', version: '0.1.0' }, { capabilities: { tools: {} } });
42
42
  // Build tool registry
43
43
  const tools = new Map();
44
- // Register core KOA tools
44
+ // Register core tools
45
45
  const queryTool = createQueryTool(lexicClient);
46
46
  const storeTool = createStoreTool(lexicClient);
47
47
  const contextTool = createContextTool(lexicClient);
48
48
  tools.set(queryTool.name, queryTool);
49
49
  tools.set(storeTool.name, storeTool);
50
50
  tools.set(contextTool.name, contextTool);
51
- logger.debug('Registered core KOA tools', {
51
+ logger.debug('Registered core tools', {
52
52
  tools: [queryTool.name, storeTool.name, contextTool.name]
53
53
  });
54
54
  // Load domains
55
55
  const domains = await loadDomains(config.domainsPath, config.domains);
56
- const seeders = buildSeederMap(domains);
57
56
  logger.info('Loaded domains', {
58
57
  count: domains.length,
59
58
  names: domains.map(d => d.name)
60
59
  });
61
60
  // Register admin tools (only if PAT is user-scoped)
62
61
  if (lexicClient.isUserScoped()) {
63
- const createProjectTool = createCreateProjectTool(lexicClient, seeders);
62
+ const createProjectTool = createCreateProjectTool(lexicClient);
64
63
  const listProjectsTool = createListProjectsTool(lexicClient);
65
64
  const getProjectInfoTool = createGetProjectInfoTool(lexicClient);
66
65
  tools.set(createProjectTool.name, createProjectTool);
@@ -79,8 +78,6 @@ async function main() {
79
78
  const domainTools = [];
80
79
  // Directly import and register domain tools
81
80
  if (typeof module.registerTools === 'function') {
82
- // The domain registerTools expects to wire into the server
83
- // We need to extract tools differently - let's directly import them
84
81
  const toolsPath = path.resolve(config.domainsPath, name, 'tools.js');
85
82
  const toolsUrl = pathToFileURL(toolsPath).href;
86
83
  const domainToolCreators = await import(toolsUrl);
package/package.json CHANGED
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "name": "lexic-mcp",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "MCP server connecting Claude Code to Lexic knowledge management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
- "lexic-mcp": "dist/index.js"
8
+ "lexic-mcp": "./dist/bundle.cjs"
9
9
  },
10
10
  "scripts": {
11
11
  "build": "tsc && npm run build:domains",
12
12
  "build:domains": "tsc -p domains/tsconfig.json",
13
+ "bundle": "npm run build && esbuild dist/index.js --bundle --platform=node --target=node18 --outfile=dist/bundle.cjs --format=cjs --minify",
13
14
  "dev": "tsc --watch",
14
15
  "start": "node dist/index.js",
15
16
  "test": "vitest",
@@ -19,7 +20,7 @@
19
20
  "lint:fix": "eslint src --ext .ts --fix",
20
21
  "format": "prettier --write \"src/**/*.ts\"",
21
22
  "clean": "rimraf dist",
22
- "prepublishOnly": "npm run build"
23
+ "prepublishOnly": "npm run bundle"
23
24
  },
24
25
  "keywords": [
25
26
  "mcp",
@@ -37,6 +38,7 @@
37
38
  "@types/node": "^20.10.0",
38
39
  "@typescript-eslint/eslint-plugin": "^6.13.0",
39
40
  "@typescript-eslint/parser": "^6.13.0",
41
+ "esbuild": "^0.20.0",
40
42
  "eslint": "^8.55.0",
41
43
  "prettier": "^3.1.0",
42
44
  "rimraf": "^5.0.0",
@@ -47,7 +49,6 @@
47
49
  "node": ">=18.0.0"
48
50
  },
49
51
  "files": [
50
- "dist",
51
- "templates"
52
+ "dist/bundle.cjs"
52
53
  ]
53
54
  }
@@ -1,65 +0,0 @@
1
- /**
2
- * Lexic API Client
3
- *
4
- * See .claude/specs/IMPLEMENTATION.md Section 3
5
- */
6
- import type { Config } from '../config.js';
7
- export interface LexicClient {
8
- createNote(content: string, title?: string): Promise<CreateNoteResult>;
9
- searchNotes(query: string, limit?: number): Promise<SearchResult[]>;
10
- getNote(id: string): Promise<Note>;
11
- updateNote(id: string, content: string): Promise<Note>;
12
- semanticSearch(query: string, limit?: number): Promise<SearchResult[]>;
13
- createLexicon(name: string, description?: string): Promise<CreateLexiconResult>;
14
- listLexicons(): Promise<ListLexiconsResult>;
15
- getCurrentLexiconInfo(): Promise<LexiconInfo>;
16
- createNoteInLexicon(lexiconId: string, content: string, title?: string): Promise<CreateNoteResult>;
17
- validateConnection(): Promise<ConnectionValidation>;
18
- isUserScoped(): boolean;
19
- getCurrentLexiconId(): string | undefined;
20
- }
21
- export interface CreateNoteResult {
22
- success: boolean;
23
- noteId?: string;
24
- error?: string;
25
- }
26
- export interface SearchResult {
27
- noteId: string;
28
- title?: string;
29
- content: string;
30
- score: number;
31
- createdAt: string;
32
- updatedAt: string;
33
- }
34
- export interface Note {
35
- id: string;
36
- title?: string;
37
- content: string;
38
- createdAt: string;
39
- updatedAt: string;
40
- }
41
- export interface CreateLexiconResult {
42
- success: boolean;
43
- lexiconId?: string;
44
- error?: string;
45
- }
46
- export interface LexiconInfo {
47
- id: string;
48
- name: string;
49
- description?: string;
50
- noteCount: number;
51
- createdAt: string;
52
- updatedAt: string;
53
- }
54
- export interface ListLexiconsResult {
55
- lexicons: LexiconInfo[];
56
- }
57
- export interface ConnectionValidation {
58
- valid: boolean;
59
- lexiconId?: string;
60
- userId?: string;
61
- isUserScoped: boolean;
62
- error?: string;
63
- }
64
- export declare function createLexicClient(config: Config): LexicClient;
65
- //# sourceMappingURL=lexic-api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lexic-api.d.ts","sourceRoot":"","sources":["../../src/client/lexic-api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAe3C,MAAM,WAAW,WAAW;IAE1B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACpE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGvD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAGvE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChF,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5C,qBAAqB,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAG9C,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAGnG,kBAAkB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAGpD,YAAY,IAAI,OAAO,CAAC;IACxB,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAcD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CA8R7D"}
@@ -1,253 +0,0 @@
1
- /**
2
- * Lexic API Client
3
- *
4
- * See .claude/specs/IMPLEMENTATION.md Section 3
5
- */
6
- import { logger } from '../utils/logger.js';
7
- import { LexicApiError, AuthenticationError, AuthorizationError, NotFoundError, RateLimitError, ServerError } from '../utils/errors.js';
8
- // ============================================================================
9
- // CONSTANTS
10
- // ============================================================================
11
- const REQUEST_TIMEOUT_MS = 30000;
12
- const MAX_RETRIES = 1;
13
- const INITIAL_RETRY_DELAY_MS = 1000;
14
- // ============================================================================
15
- // IMPLEMENTATION
16
- // ============================================================================
17
- export function createLexicClient(config) {
18
- const { apiUrl, pat } = config;
19
- // Track connection state
20
- let connectionState = null;
21
- // Helper to build headers
22
- function getHeaders() {
23
- return {
24
- 'Authorization': `Bearer ${pat}`,
25
- 'Content-Type': 'application/json'
26
- };
27
- }
28
- // Helper to handle errors
29
- function handleError(status, errorMessage, correlationId) {
30
- switch (status) {
31
- case 401:
32
- throw new AuthenticationError(errorMessage, correlationId);
33
- case 403:
34
- throw new AuthorizationError(errorMessage, correlationId);
35
- case 404:
36
- throw new NotFoundError(errorMessage, correlationId);
37
- case 429:
38
- throw new RateLimitError(errorMessage, correlationId);
39
- default:
40
- if (status >= 500) {
41
- throw new ServerError(errorMessage, status, correlationId);
42
- }
43
- throw new LexicApiError(errorMessage, status, correlationId);
44
- }
45
- }
46
- // Core fetch with timeout, retry, and error handling
47
- async function fetchWithRetry(url, options, retries = MAX_RETRIES) {
48
- const controller = new AbortController();
49
- const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS);
50
- try {
51
- const response = await fetch(url, {
52
- ...options,
53
- signal: controller.signal,
54
- headers: {
55
- ...getHeaders(),
56
- ...options.headers
57
- }
58
- });
59
- clearTimeout(timeoutId);
60
- // Retry on 5xx errors
61
- if (response.status >= 500 && retries > 0) {
62
- const delay = INITIAL_RETRY_DELAY_MS * Math.pow(2, MAX_RETRIES - retries);
63
- logger.debug('Retrying request after server error', {
64
- url,
65
- status: response.status,
66
- delay,
67
- retriesLeft: retries - 1
68
- });
69
- await sleep(delay);
70
- return fetchWithRetry(url, options, retries - 1);
71
- }
72
- return response;
73
- }
74
- catch (error) {
75
- clearTimeout(timeoutId);
76
- if (error instanceof Error && error.name === 'AbortError') {
77
- throw new LexicApiError('Request timeout', 408);
78
- }
79
- throw error;
80
- }
81
- }
82
- // Parse response and handle errors
83
- async function parseResponse(response) {
84
- const correlationId = response.headers.get('x-correlation-id') || undefined;
85
- const body = await response.json();
86
- if (!response.ok) {
87
- const errorMessage = body.error || `Request failed with status ${response.status}`;
88
- handleError(response.status, errorMessage, correlationId);
89
- }
90
- return body;
91
- }
92
- return {
93
- // ========================================================================
94
- // CONNECTION VALIDATION
95
- // ========================================================================
96
- async validateConnection() {
97
- try {
98
- const response = await fetch(`${apiUrl}/auth/validate`, {
99
- method: 'GET',
100
- headers: getHeaders()
101
- });
102
- const body = await response.json();
103
- if (!response.ok) {
104
- connectionState = {
105
- valid: false,
106
- isUserScoped: false,
107
- error: body.error || 'Authentication failed'
108
- };
109
- return connectionState;
110
- }
111
- connectionState = {
112
- valid: body.valid ?? true,
113
- lexiconId: body.lexiconId,
114
- userId: body.userId,
115
- isUserScoped: body.isUserScoped ?? !body.lexiconId
116
- };
117
- return connectionState;
118
- }
119
- catch (error) {
120
- connectionState = {
121
- valid: false,
122
- isUserScoped: false,
123
- error: `Network error: ${error instanceof Error ? error.message : String(error)}`
124
- };
125
- return connectionState;
126
- }
127
- },
128
- // ========================================================================
129
- // NOTES API
130
- // ========================================================================
131
- async createNote(content, title) {
132
- try {
133
- const response = await fetchWithRetry(`${apiUrl}/notes`, {
134
- method: 'POST',
135
- body: JSON.stringify({ content, title })
136
- });
137
- const body = await response.json();
138
- if (!response.ok) {
139
- return { success: false, error: body.error || 'Failed to create note' };
140
- }
141
- logger.debug('Note created', { noteId: body.id });
142
- return { success: true, noteId: body.id };
143
- }
144
- catch (error) {
145
- logger.error('Failed to create note', { error: error instanceof Error ? error.message : String(error) });
146
- return { success: false, error: error instanceof Error ? error.message : 'Unknown error' };
147
- }
148
- },
149
- async searchNotes(query, limit = 10) {
150
- const url = `${apiUrl}/notes/search?q=${encodeURIComponent(query)}&limit=${limit}`;
151
- const response = await fetchWithRetry(url, { method: 'GET' });
152
- const body = await parseResponse(response);
153
- return body.results.map(r => ({
154
- noteId: r.id,
155
- title: r.title,
156
- content: r.content,
157
- score: r.score,
158
- createdAt: r.createdAt,
159
- updatedAt: r.updatedAt
160
- }));
161
- },
162
- async getNote(id) {
163
- const url = `${apiUrl}/notes/${encodeURIComponent(id)}`;
164
- const response = await fetchWithRetry(url, { method: 'GET' });
165
- return parseResponse(response);
166
- },
167
- async updateNote(id, content) {
168
- const url = `${apiUrl}/notes/${encodeURIComponent(id)}`;
169
- const response = await fetchWithRetry(url, {
170
- method: 'PATCH',
171
- body: JSON.stringify({ content })
172
- });
173
- return parseResponse(response);
174
- },
175
- // ========================================================================
176
- // SEMANTIC SEARCH
177
- // ========================================================================
178
- async semanticSearch(query, limit = 10) {
179
- const url = `${apiUrl}/search?q=${encodeURIComponent(query)}&limit=${limit}&type=semantic`;
180
- const response = await fetchWithRetry(url, { method: 'GET' });
181
- const body = await parseResponse(response);
182
- return body.results.map(r => ({
183
- noteId: r.id,
184
- title: r.title,
185
- content: r.content,
186
- score: r.score,
187
- createdAt: r.createdAt,
188
- updatedAt: r.updatedAt
189
- }));
190
- },
191
- // ========================================================================
192
- // LEXICON MANAGEMENT (user-scoped PAT only)
193
- // ========================================================================
194
- async createLexicon(name, description) {
195
- try {
196
- const response = await fetchWithRetry(`${apiUrl}/lexicons`, {
197
- method: 'POST',
198
- body: JSON.stringify({ name, description })
199
- });
200
- const body = await response.json();
201
- if (!response.ok) {
202
- return { success: false, error: body.error || 'Failed to create lexicon' };
203
- }
204
- logger.debug('Lexicon created', { lexiconId: body.id });
205
- return { success: true, lexiconId: body.id };
206
- }
207
- catch (error) {
208
- return { success: false, error: error instanceof Error ? error.message : 'Unknown error' };
209
- }
210
- },
211
- async listLexicons() {
212
- const response = await fetchWithRetry(`${apiUrl}/lexicons`, { method: 'GET' });
213
- const body = await parseResponse(response);
214
- return body;
215
- },
216
- async getCurrentLexiconInfo() {
217
- const response = await fetchWithRetry(`${apiUrl}/lexicons/current`, { method: 'GET' });
218
- return parseResponse(response);
219
- },
220
- async createNoteInLexicon(lexiconId, content, title) {
221
- try {
222
- const response = await fetchWithRetry(`${apiUrl}/lexicons/${encodeURIComponent(lexiconId)}/notes`, {
223
- method: 'POST',
224
- body: JSON.stringify({ content, title })
225
- });
226
- const body = await response.json();
227
- if (!response.ok) {
228
- return { success: false, error: body.error || 'Failed to create note' };
229
- }
230
- return { success: true, noteId: body.id };
231
- }
232
- catch (error) {
233
- return { success: false, error: error instanceof Error ? error.message : 'Unknown error' };
234
- }
235
- },
236
- // ========================================================================
237
- // CONTEXT HELPERS
238
- // ========================================================================
239
- isUserScoped() {
240
- return connectionState?.isUserScoped ?? false;
241
- },
242
- getCurrentLexiconId() {
243
- return connectionState?.lexiconId;
244
- }
245
- };
246
- }
247
- // ============================================================================
248
- // HELPERS
249
- // ============================================================================
250
- function sleep(ms) {
251
- return new Promise(resolve => setTimeout(resolve, ms));
252
- }
253
- //# sourceMappingURL=lexic-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lexic-api.js","sourceRoot":"","sources":["../../src/client/lexic-api.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts DELETED
@@ -1,14 +0,0 @@
1
- /**
2
- * Configuration Loading
3
- *
4
- * See .claude/specs/IMPLEMENTATION.md Section 2
5
- */
6
- export interface Config {
7
- apiUrl: string;
8
- pat: string;
9
- domainsPath: string;
10
- domains: string[];
11
- logLevel: 'debug' | 'info' | 'warn' | 'error';
12
- }
13
- export declare function loadConfig(): Config;
14
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC/C;AAED,wBAAgB,UAAU,IAAI,MAAM,CAuBnC"}
package/dist/config.js DELETED
@@ -1,30 +0,0 @@
1
- /**
2
- * Configuration Loading
3
- *
4
- * See .claude/specs/IMPLEMENTATION.md Section 2
5
- */
6
- import path from 'path';
7
- export function loadConfig() {
8
- const apiUrl = process.env.LEXIC_API_URL;
9
- const pat = process.env.LEXIC_PAT;
10
- if (!apiUrl)
11
- throw new Error('LEXIC_API_URL is required');
12
- if (!pat)
13
- throw new Error('LEXIC_PAT is required');
14
- if (!pat.startsWith('pat_'))
15
- throw new Error('LEXIC_PAT must start with pat_');
16
- // Parse domains list
17
- const domainsEnv = process.env.LEXIC_DOMAINS || 'development';
18
- const domains = domainsEnv.split(',').map(d => d.trim()).filter(Boolean);
19
- // Resolve domains path (default: ./domains relative to package root)
20
- const domainsPath = process.env.LEXIC_DOMAINS_PATH ||
21
- path.resolve(process.cwd(), 'domains');
22
- return {
23
- apiUrl,
24
- pat,
25
- domainsPath,
26
- domains,
27
- logLevel: process.env.LOG_LEVEL || 'info'
28
- };
29
- }
30
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAUxB,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAElC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC1D,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACnD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAE/E,qBAAqB;IACrB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,aAAa,CAAC;IAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzE,qEAAqE;IACrE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAChD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IAEzC,OAAO;QACL,MAAM;QACN,GAAG;QACH,WAAW;QACX,OAAO;QACP,QAAQ,EAAG,OAAO,CAAC,GAAG,CAAC,SAAgC,IAAI,MAAM;KAClE,CAAC;AACJ,CAAC"}
@@ -1,74 +0,0 @@
1
- /**
2
- * Lexic Admin Tools
3
- *
4
- * Manage lexicons (projects). Only available with user-scoped PATs.
5
- */
6
- import type { LexicClient } from '../client/lexic-api.js';
7
- export interface CreateProjectParams {
8
- name: string;
9
- description?: string;
10
- domain?: string;
11
- }
12
- export interface CreateProjectResult {
13
- success: boolean;
14
- projectId: string;
15
- name: string;
16
- seededNotes?: number;
17
- message: string;
18
- }
19
- export interface ProjectInfo {
20
- id: string;
21
- name: string;
22
- description?: string;
23
- noteCount: number;
24
- createdAt: string;
25
- updatedAt: string;
26
- }
27
- export interface ListProjectsResult {
28
- projects: ProjectInfo[];
29
- total: number;
30
- }
31
- export declare function createCreateProjectTool(client: LexicClient, seeders: Map<string, (client: LexicClient, lexiconId: string) => Promise<number>>): {
32
- name: string;
33
- description: string;
34
- inputSchema: {
35
- type: "object";
36
- properties: {
37
- name: {
38
- type: string;
39
- description: string;
40
- };
41
- description: {
42
- type: string;
43
- description: string;
44
- };
45
- domain: {
46
- type: string;
47
- description: string;
48
- };
49
- };
50
- required: string[];
51
- };
52
- handler: (params: CreateProjectParams) => Promise<CreateProjectResult>;
53
- };
54
- export declare function createListProjectsTool(client: LexicClient): {
55
- name: string;
56
- description: string;
57
- inputSchema: {
58
- type: "object";
59
- properties: {};
60
- required: never[];
61
- };
62
- handler: () => Promise<ListProjectsResult>;
63
- };
64
- export declare function createGetProjectInfoTool(client: LexicClient): {
65
- name: string;
66
- description: string;
67
- inputSchema: {
68
- type: "object";
69
- properties: {};
70
- required: never[];
71
- };
72
- handler: () => Promise<ProjectInfo>;
73
- };
74
- //# sourceMappingURL=admin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/core/admin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAM1D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;sBAuBvD,mBAAmB,KAAG,OAAO,CAAC,mBAAmB,CAAC;EA6B7E;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW;;;;;;;;mBASnC,OAAO,CAAC,kBAAkB,CAAC;EAgBjD;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW;;;;;;;;mBASrC,OAAO,CAAC,WAAW,CAAC;EAa1C"}