@sudosandwich/limps 3.1.1 → 3.3.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.
Files changed (164) hide show
  1. package/README.md +114 -23
  2. package/dist/agent-parser.d.ts +1 -1
  3. package/dist/agent-parser.d.ts.map +1 -1
  4. package/dist/agent-parser.js +8 -4
  5. package/dist/agent-parser.js.map +1 -1
  6. package/dist/cli/config-cmd.d.ts +2 -2
  7. package/dist/cli/config-cmd.js +5 -5
  8. package/dist/cli/config-cmd.js.map +1 -1
  9. package/dist/cli/docs-create.d.ts +34 -0
  10. package/dist/cli/docs-create.d.ts.map +1 -0
  11. package/dist/cli/docs-create.js +70 -0
  12. package/dist/cli/docs-create.js.map +1 -0
  13. package/dist/cli/docs-delete.d.ts +34 -0
  14. package/dist/cli/docs-delete.d.ts.map +1 -0
  15. package/dist/cli/docs-delete.js +84 -0
  16. package/dist/cli/docs-delete.js.map +1 -0
  17. package/dist/cli/docs-list.d.ts +35 -0
  18. package/dist/cli/docs-list.d.ts.map +1 -0
  19. package/dist/cli/docs-list.js +91 -0
  20. package/dist/cli/docs-list.js.map +1 -0
  21. package/dist/cli/docs-search.d.ts +35 -0
  22. package/dist/cli/docs-search.d.ts.map +1 -0
  23. package/dist/cli/docs-search.js +99 -0
  24. package/dist/cli/docs-search.js.map +1 -0
  25. package/dist/cli/docs-update.d.ts +40 -0
  26. package/dist/cli/docs-update.d.ts.map +1 -0
  27. package/dist/cli/docs-update.js +75 -0
  28. package/dist/cli/docs-update.js.map +1 -0
  29. package/dist/cli/init-project.js +1 -1
  30. package/dist/cli/mcp-client-adapter.d.ts +26 -17
  31. package/dist/cli/mcp-client-adapter.d.ts.map +1 -1
  32. package/dist/cli/mcp-client-adapter.js +23 -28
  33. package/dist/cli/mcp-client-adapter.js.map +1 -1
  34. package/dist/cli/status.d.ts +13 -0
  35. package/dist/cli/status.d.ts.map +1 -1
  36. package/dist/cli/status.js +64 -1
  37. package/dist/cli/status.js.map +1 -1
  38. package/dist/cli.js +9 -2
  39. package/dist/cli.js.map +1 -1
  40. package/dist/commands/config/index.d.ts.map +1 -1
  41. package/dist/commands/config/index.js +1 -0
  42. package/dist/commands/config/index.js.map +1 -1
  43. package/dist/commands/config/show-resolution.d.ts +11 -0
  44. package/dist/commands/config/show-resolution.d.ts.map +1 -0
  45. package/dist/commands/config/show-resolution.js +114 -0
  46. package/dist/commands/config/show-resolution.js.map +1 -0
  47. package/dist/commands/create-doc.d.ts +21 -0
  48. package/dist/commands/create-doc.d.ts.map +1 -0
  49. package/dist/commands/create-doc.js +99 -0
  50. package/dist/commands/create-doc.js.map +1 -0
  51. package/dist/commands/create-plan.d.ts +15 -0
  52. package/dist/commands/create-plan.d.ts.map +1 -0
  53. package/dist/commands/create-plan.js +73 -0
  54. package/dist/commands/create-plan.js.map +1 -0
  55. package/dist/commands/delete-doc.d.ts +16 -0
  56. package/dist/commands/delete-doc.d.ts.map +1 -0
  57. package/dist/commands/delete-doc.js +97 -0
  58. package/dist/commands/delete-doc.js.map +1 -0
  59. package/dist/commands/index.js +1 -1
  60. package/dist/commands/index.js.map +1 -1
  61. package/dist/commands/list-docs.d.ts +18 -0
  62. package/dist/commands/list-docs.d.ts.map +1 -0
  63. package/dist/commands/list-docs.js +83 -0
  64. package/dist/commands/list-docs.js.map +1 -0
  65. package/dist/commands/process.d.ts +20 -0
  66. package/dist/commands/process.d.ts.map +1 -0
  67. package/dist/commands/process.js +257 -0
  68. package/dist/commands/process.js.map +1 -0
  69. package/dist/commands/search-docs.d.ts +17 -0
  70. package/dist/commands/search-docs.d.ts.map +1 -0
  71. package/dist/commands/search-docs.js +109 -0
  72. package/dist/commands/search-docs.js.map +1 -0
  73. package/dist/commands/serve.d.ts +17 -0
  74. package/dist/commands/serve.d.ts.map +1 -0
  75. package/dist/commands/serve.js +125 -0
  76. package/dist/commands/serve.js.map +1 -0
  77. package/dist/commands/{status-server.d.ts → server-status.d.ts} +1 -1
  78. package/dist/commands/server-status.d.ts.map +1 -0
  79. package/dist/commands/{status-server.js → server-status.js} +33 -14
  80. package/dist/commands/server-status.js.map +1 -0
  81. package/dist/commands/start.d.ts.map +1 -1
  82. package/dist/commands/start.js +26 -9
  83. package/dist/commands/start.js.map +1 -1
  84. package/dist/commands/status.d.ts +7 -0
  85. package/dist/commands/status.d.ts.map +1 -1
  86. package/dist/commands/status.js +74 -2
  87. package/dist/commands/status.js.map +1 -1
  88. package/dist/commands/tags/add.d.ts +16 -0
  89. package/dist/commands/tags/add.d.ts.map +1 -0
  90. package/dist/commands/tags/add.js +120 -0
  91. package/dist/commands/tags/add.js.map +1 -0
  92. package/dist/commands/tags/index.d.ts +3 -0
  93. package/dist/commands/tags/index.d.ts.map +1 -0
  94. package/dist/commands/tags/index.js +33 -0
  95. package/dist/commands/tags/index.js.map +1 -0
  96. package/dist/commands/tags/list.d.ts +15 -0
  97. package/dist/commands/tags/list.d.ts.map +1 -0
  98. package/dist/commands/tags/list.js +111 -0
  99. package/dist/commands/tags/list.js.map +1 -0
  100. package/dist/commands/tags/remove.d.ts +16 -0
  101. package/dist/commands/tags/remove.d.ts.map +1 -0
  102. package/dist/commands/tags/remove.js +120 -0
  103. package/dist/commands/tags/remove.js.map +1 -0
  104. package/dist/commands/update-doc.d.ts +23 -0
  105. package/dist/commands/update-doc.d.ts.map +1 -0
  106. package/dist/commands/update-doc.js +144 -0
  107. package/dist/commands/update-doc.js.map +1 -0
  108. package/dist/extensions/context.d.ts.map +1 -1
  109. package/dist/extensions/context.js +10 -8
  110. package/dist/extensions/context.js.map +1 -1
  111. package/dist/extensions/loader.d.ts.map +1 -1
  112. package/dist/extensions/loader.js +3 -2
  113. package/dist/extensions/loader.js.map +1 -1
  114. package/dist/index.js +2 -1
  115. package/dist/index.js.map +1 -1
  116. package/dist/pidfile.d.ts +1 -0
  117. package/dist/pidfile.d.ts.map +1 -1
  118. package/dist/pidfile.js +4 -1
  119. package/dist/pidfile.js.map +1 -1
  120. package/dist/server-http-entry.js +39 -6
  121. package/dist/server-http-entry.js.map +1 -1
  122. package/dist/server-http.d.ts +11 -1
  123. package/dist/server-http.d.ts.map +1 -1
  124. package/dist/server-http.js +44 -9
  125. package/dist/server-http.js.map +1 -1
  126. package/dist/server-main.d.ts.map +1 -1
  127. package/dist/server-main.js +2 -1
  128. package/dist/server-main.js.map +1 -1
  129. package/dist/server.d.ts.map +1 -1
  130. package/dist/server.js +10 -8
  131. package/dist/server.js.map +1 -1
  132. package/dist/tools/create-plan.d.ts +1 -0
  133. package/dist/tools/create-plan.d.ts.map +1 -1
  134. package/dist/tools/create-plan.js +20 -6
  135. package/dist/tools/create-plan.js.map +1 -1
  136. package/dist/tools/index.js +1 -1
  137. package/dist/tools/index.js.map +1 -1
  138. package/dist/tools/update-task-status.d.ts +1 -1
  139. package/dist/tools/update-task-status.d.ts.map +1 -1
  140. package/dist/tools/update-task-status.js +17 -187
  141. package/dist/tools/update-task-status.js.map +1 -1
  142. package/dist/utils/config-resolver.d.ts +1 -1
  143. package/dist/utils/config-resolver.d.ts.map +1 -1
  144. package/dist/utils/config-resolver.js +6 -4
  145. package/dist/utils/config-resolver.js.map +1 -1
  146. package/dist/utils/daemon-log.d.ts +13 -0
  147. package/dist/utils/daemon-log.d.ts.map +1 -0
  148. package/dist/utils/daemon-log.js +27 -0
  149. package/dist/utils/daemon-log.js.map +1 -0
  150. package/dist/utils/daemon-manager.d.ts +23 -0
  151. package/dist/utils/daemon-manager.d.ts.map +1 -0
  152. package/dist/utils/daemon-manager.js +89 -0
  153. package/dist/utils/daemon-manager.js.map +1 -0
  154. package/dist/utils/http-client.d.ts +2 -0
  155. package/dist/utils/http-client.d.ts.map +1 -1
  156. package/dist/utils/http-client.js.map +1 -1
  157. package/dist/utils/safe-logging.d.ts +24 -0
  158. package/dist/utils/safe-logging.d.ts.map +1 -0
  159. package/dist/utils/safe-logging.js +88 -0
  160. package/dist/utils/safe-logging.js.map +1 -0
  161. package/package.json +3 -1
  162. package/postinstall/postinstall.cjs +354 -0
  163. package/dist/commands/status-server.d.ts.map +0 -1
  164. package/dist/commands/status-server.js.map +0 -1
@@ -0,0 +1,257 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { Text, Box } from 'ink';
4
+ import { z } from 'zod';
5
+ import { loadConfig } from '../config.js';
6
+ import { resolveConfigPath } from '../utils/config-resolver.js';
7
+ import { buildHelpOutput } from '../utils/cli-help.js';
8
+ import { handleJsonOutput, isJsonMode, outputJson, wrapError } from '../cli/json-output.js';
9
+ import { handleProcessDoc, ProcessDocInputSchema, } from '../tools/process-doc.js';
10
+ import { handleProcessDocs, ProcessDocsInputSchema, } from '../tools/process-docs.js';
11
+ import { initializeDatabase, createSchema } from '../indexer.js';
12
+ import { join } from 'path';
13
+ import { mkdirSync } from 'fs';
14
+ export const description = 'Process document(s) with JavaScript code';
15
+ export const args = z.tuple([z.string().describe('Document path').optional()]);
16
+ export const options = z.object({
17
+ config: z.string().optional().describe('Path to config file'),
18
+ pattern: z
19
+ .string()
20
+ .optional()
21
+ .describe('Glob pattern for multiple documents (e.g., "plans/*/*-plan.md")'),
22
+ code: z.string().describe('JavaScript code to execute'),
23
+ json: z.boolean().optional().describe('Output as JSON'),
24
+ timeout: z.number().optional().describe('Execution timeout in milliseconds (default: 5000)'),
25
+ 'max-docs': z.number().optional().describe('Maximum documents to load (default: 20)'),
26
+ pretty: z.boolean().optional().describe('Pretty-print JSON output'),
27
+ });
28
+ export default function ProcessCommand({ args, options }) {
29
+ const [path] = args;
30
+ const [result, setResult] = useState(null);
31
+ const [error, setError] = useState(null);
32
+ const help = buildHelpOutput({
33
+ usage: 'limps process <path> | limps process --pattern <glob> --code <code> [options]',
34
+ arguments: ['path Optional document path (mutually exclusive with --pattern)'],
35
+ options: [
36
+ '--config Path to config file',
37
+ '--pattern Glob pattern for multiple documents',
38
+ '--code JavaScript code to execute (required)',
39
+ '--json Output as JSON',
40
+ '--timeout Execution timeout in milliseconds (default: 5000)',
41
+ '--max-docs Maximum documents to load (default: 20)',
42
+ '--pretty Pretty-print JSON output',
43
+ ],
44
+ sections: [
45
+ {
46
+ title: 'Single Document Examples',
47
+ lines: [
48
+ 'limps process plans/0001-feature/plan.md --code "doc.content.length"',
49
+ 'limps process plan.md --code "extractFrontmatter(doc.content).meta.name"',
50
+ ],
51
+ },
52
+ {
53
+ title: 'Multiple Documents Examples',
54
+ lines: [
55
+ 'limps process --pattern "plans/*/*-plan.md" --code "docs.length"',
56
+ 'limps process --pattern "**/*.md" --code "docs.map(d => d.path)"',
57
+ ],
58
+ },
59
+ ],
60
+ });
61
+ const jsonMode = isJsonMode(options);
62
+ useEffect(() => {
63
+ if (!jsonMode) {
64
+ return undefined;
65
+ }
66
+ const timer = setTimeout(async () => {
67
+ try {
68
+ // Validation: must provide either path or pattern
69
+ if (!path && !options.pattern) {
70
+ outputJson(wrapError('Either path argument or --pattern option is required', {
71
+ code: 'MISSING_INPUT',
72
+ help: help.meta,
73
+ }), 1);
74
+ return;
75
+ }
76
+ // Validation: cannot provide both
77
+ if (path && options.pattern) {
78
+ outputJson(wrapError('Cannot provide both path argument and --pattern option', {
79
+ code: 'CONFLICTING_INPUT',
80
+ help: help.meta,
81
+ }), 1);
82
+ return;
83
+ }
84
+ // Validation: code is required
85
+ if (!options.code) {
86
+ outputJson(wrapError('--code option is required', {
87
+ code: 'MISSING_CODE',
88
+ help: help.meta,
89
+ }), 1);
90
+ return;
91
+ }
92
+ const configPath = resolveConfigPath(options.config);
93
+ const config = loadConfig(configPath);
94
+ // Initialize database
95
+ mkdirSync(config.dataPath, { recursive: true });
96
+ const dbPath = join(config.dataPath, 'documents.sqlite');
97
+ const db = initializeDatabase(dbPath);
98
+ createSchema(db);
99
+ const context = { db, config };
100
+ if (path) {
101
+ // Single document processing
102
+ try {
103
+ const input = ProcessDocInputSchema.parse({
104
+ path,
105
+ code: options.code,
106
+ ...(options.timeout !== undefined && { timeout: options.timeout }),
107
+ prettyPrint: options.pretty ?? false,
108
+ });
109
+ const toolResult = await handleProcessDoc(input, context);
110
+ if (toolResult.isError) {
111
+ db.close();
112
+ outputJson(wrapError(toolResult.content[0].text, { code: 'PROCESS_DOC_ERROR' }), 1);
113
+ return;
114
+ }
115
+ const output = JSON.parse(toolResult.content[0].text);
116
+ db.close();
117
+ handleJsonOutput(() => output, 'PROCESS_DOC_ERROR');
118
+ }
119
+ catch (error) {
120
+ db.close();
121
+ throw error;
122
+ }
123
+ }
124
+ else if (options.pattern) {
125
+ // Multiple documents processing
126
+ try {
127
+ const input = ProcessDocsInputSchema.parse({
128
+ pattern: options.pattern,
129
+ code: options.code,
130
+ ...(options.timeout !== undefined && { timeout: options.timeout }),
131
+ ...(options['max-docs'] !== undefined && { max_docs: options['max-docs'] }),
132
+ });
133
+ const toolResult = await handleProcessDocs(input, context);
134
+ if (toolResult.isError) {
135
+ db.close();
136
+ outputJson(wrapError(toolResult.content[0].text, { code: 'PROCESS_DOCS_ERROR' }), 1);
137
+ return;
138
+ }
139
+ const output = JSON.parse(toolResult.content[0].text);
140
+ db.close();
141
+ handleJsonOutput(() => output, 'PROCESS_DOCS_ERROR');
142
+ }
143
+ catch (error) {
144
+ db.close();
145
+ throw error;
146
+ }
147
+ }
148
+ }
149
+ catch (err) {
150
+ outputJson(wrapError(err instanceof Error ? err.message : String(err), {
151
+ code: 'PROCESS_ERROR',
152
+ }), 1);
153
+ }
154
+ }, 0);
155
+ return () => clearTimeout(timer);
156
+ }, [jsonMode, path, options, help.meta]);
157
+ useEffect(() => {
158
+ if (jsonMode) {
159
+ return undefined;
160
+ }
161
+ const run = async () => {
162
+ let db = null;
163
+ try {
164
+ // Validation: must provide either path or pattern
165
+ if (!path && !options.pattern) {
166
+ setError('Either path argument or --pattern option is required');
167
+ return;
168
+ }
169
+ // Validation: cannot provide both
170
+ if (path && options.pattern) {
171
+ setError('Cannot provide both path argument and --pattern option');
172
+ return;
173
+ }
174
+ // Validation: code is required
175
+ if (!options.code) {
176
+ setError('--code option is required');
177
+ return;
178
+ }
179
+ const configPath = resolveConfigPath(options.config);
180
+ const config = loadConfig(configPath);
181
+ // Initialize database
182
+ mkdirSync(config.dataPath, { recursive: true });
183
+ const dbPath = join(config.dataPath, 'documents.sqlite');
184
+ db = initializeDatabase(dbPath);
185
+ createSchema(db);
186
+ const context = { db, config };
187
+ if (path) {
188
+ // Single document processing
189
+ const input = ProcessDocInputSchema.parse({
190
+ path,
191
+ code: options.code,
192
+ ...(options.timeout !== undefined && { timeout: options.timeout }),
193
+ prettyPrint: options.pretty ?? false,
194
+ });
195
+ const toolResult = await handleProcessDoc(input, context);
196
+ if (toolResult.isError) {
197
+ setError(toolResult.content[0].text);
198
+ return;
199
+ }
200
+ const output = JSON.parse(toolResult.content[0].text);
201
+ setResult(output);
202
+ }
203
+ else if (options.pattern) {
204
+ // Multiple documents processing
205
+ const input = ProcessDocsInputSchema.parse({
206
+ pattern: options.pattern,
207
+ code: options.code,
208
+ ...(options.timeout !== undefined && { timeout: options.timeout }),
209
+ ...(options['max-docs'] !== undefined && { max_docs: options['max-docs'] }),
210
+ });
211
+ const toolResult = await handleProcessDocs(input, context);
212
+ if (toolResult.isError) {
213
+ setError(toolResult.content[0].text);
214
+ return;
215
+ }
216
+ const output = JSON.parse(toolResult.content[0].text);
217
+ setResult(output);
218
+ }
219
+ }
220
+ catch (err) {
221
+ setError(err.message);
222
+ }
223
+ finally {
224
+ if (db) {
225
+ db.close();
226
+ }
227
+ }
228
+ };
229
+ void run();
230
+ return undefined;
231
+ }, [path, options, jsonMode]);
232
+ if (jsonMode) {
233
+ return null;
234
+ }
235
+ if (!options.code) {
236
+ return _jsx(Text, { children: help.text });
237
+ }
238
+ if (!path && !options.pattern) {
239
+ return _jsx(Text, { children: help.text });
240
+ }
241
+ if (error) {
242
+ return _jsx(Text, { color: "red", children: error });
243
+ }
244
+ if (!result) {
245
+ return _jsx(Text, { children: "Processing..." });
246
+ }
247
+ // Display result based on type
248
+ if ('docs_loaded' in result) {
249
+ // ProcessDocsOutput
250
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: "green", children: ["\u2713 Processed ", result.docs_loaded, " documents"] }), _jsxs(Text, { dimColor: true, children: ["Execution time: ", result.execution_time_ms, "ms"] }), _jsxs(Text, { children: ['\n', "Result:"] }), _jsx(Text, { children: JSON.stringify(result.result, null, options.pretty ? 2 : undefined) })] }));
251
+ }
252
+ else {
253
+ // ProcessDocOutput
254
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: "green", children: ["\u2713 Processed document: ", result.metadata.path] }), _jsxs(Text, { dimColor: true, children: ["Execution time: ", result.execution_time_ms, "ms", result.tokens_saved ? ` | Tokens saved: ~${result.tokens_saved}` : ''] }), _jsxs(Text, { children: ['\n', "Result:"] }), _jsx(Text, { children: JSON.stringify(result.result, null, options.pretty ? 2 : undefined) })] }));
255
+ }
256
+ }
257
+ //# sourceMappingURL=process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/commands/process.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ export declare const description = "Search documents using full-text search";
3
+ export declare const args: z.ZodTuple<[z.ZodString], null>;
4
+ export declare const options: z.ZodObject<{
5
+ config: z.ZodOptional<z.ZodString>;
6
+ limit: z.ZodOptional<z.ZodNumber>;
7
+ frontmatter: z.ZodOptional<z.ZodBoolean>;
8
+ caseSensitive: z.ZodOptional<z.ZodBoolean>;
9
+ json: z.ZodOptional<z.ZodBoolean>;
10
+ }, z.core.$strip>;
11
+ interface Props {
12
+ args: z.infer<typeof args>;
13
+ options: z.infer<typeof options>;
14
+ }
15
+ export default function SearchDocsCommand({ args, options }: Props): React.ReactNode;
16
+ export {};
17
+ //# sourceMappingURL=search-docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-docs.d.ts","sourceRoot":"","sources":["../../src/commands/search-docs.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,WAAW,4CAA4C,CAAC;AAErE,eAAO,MAAM,IAAI,iCAAiD,CAAC;AAEnE,eAAO,MAAM,OAAO;;;;;;iBAMlB,CAAC;AAEH,UAAU,KAAK;IACb,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAuGnF"}
@@ -0,0 +1,109 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import { useEffect, useState } from 'react';
4
+ import { z } from 'zod';
5
+ import { searchDocs, getSearchDocsData } from '../cli/docs-search.js';
6
+ import { loadConfig } from '../config.js';
7
+ import { resolveConfigPath } from '../utils/config-resolver.js';
8
+ import { buildHelpOutput } from '../utils/cli-help.js';
9
+ import { handleJsonOutput, isJsonMode, outputJson, wrapError } from '../cli/json-output.js';
10
+ export const description = 'Search documents using full-text search';
11
+ export const args = z.tuple([z.string().describe('search query')]);
12
+ export const options = z.object({
13
+ config: z.string().optional().describe('Path to config file'),
14
+ limit: z.number().int().positive().max(100).optional().describe('Max results (default: 20)'),
15
+ frontmatter: z.boolean().optional().describe('Search in frontmatter'),
16
+ caseSensitive: z.boolean().optional().describe('Case-sensitive search'),
17
+ json: z.boolean().optional().describe('Output as JSON'),
18
+ });
19
+ export default function SearchDocsCommand({ args, options }) {
20
+ const [query] = args;
21
+ const help = buildHelpOutput({
22
+ usage: 'limps search-docs <query> [options]',
23
+ arguments: ['query Search query text'],
24
+ options: [
25
+ '--config Path to config file',
26
+ '--limit Max results (default: 20)',
27
+ '--frontmatter Search in frontmatter',
28
+ '--case-sensitive Case-sensitive search',
29
+ '--json Output as JSON',
30
+ ],
31
+ examples: [
32
+ 'limps search-docs "authentication"',
33
+ 'limps search-docs "API" --limit 10',
34
+ 'limps search-docs "status" --frontmatter',
35
+ ],
36
+ });
37
+ const jsonMode = isJsonMode(options);
38
+ useEffect(() => {
39
+ if (!jsonMode) {
40
+ return;
41
+ }
42
+ const timer = setTimeout(() => {
43
+ (async () => {
44
+ try {
45
+ if (!query) {
46
+ outputJson(wrapError('Search query is required', { code: 'MISSING_QUERY', help: help.meta }), 1);
47
+ return;
48
+ }
49
+ const configPath = resolveConfigPath(options.config);
50
+ const config = loadConfig(configPath);
51
+ const result = await getSearchDocsData(config, {
52
+ query,
53
+ limit: options.limit,
54
+ searchFrontmatter: options.frontmatter,
55
+ caseSensitive: options.caseSensitive,
56
+ });
57
+ handleJsonOutput(() => {
58
+ if ('error' in result) {
59
+ throw new Error(result.error);
60
+ }
61
+ return result;
62
+ }, 'SEARCH_DOCS_ERROR');
63
+ }
64
+ catch (error) {
65
+ outputJson(wrapError(error instanceof Error ? error.message : String(error), {
66
+ code: 'SEARCH_DOCS_ERROR',
67
+ }), 1);
68
+ }
69
+ })();
70
+ }, 0);
71
+ return () => clearTimeout(timer);
72
+ }, [
73
+ help.meta,
74
+ jsonMode,
75
+ options.config,
76
+ query,
77
+ options.limit,
78
+ options.frontmatter,
79
+ options.caseSensitive,
80
+ ]);
81
+ if (jsonMode) {
82
+ return null;
83
+ }
84
+ if (!query) {
85
+ return _jsx(Text, { children: help.text });
86
+ }
87
+ // Normal Ink rendering
88
+ const [output, setOutput] = useState('Searching...');
89
+ useEffect(() => {
90
+ (async () => {
91
+ try {
92
+ const configPath = resolveConfigPath(options.config);
93
+ const config = loadConfig(configPath);
94
+ const result = await searchDocs(config, {
95
+ query,
96
+ limit: options.limit,
97
+ searchFrontmatter: options.frontmatter,
98
+ caseSensitive: options.caseSensitive,
99
+ });
100
+ setOutput(result);
101
+ }
102
+ catch (error) {
103
+ setOutput(`Error: ${error instanceof Error ? error.message : String(error)}`);
104
+ }
105
+ })();
106
+ }, [options.config, query, options.limit, options.frontmatter, options.caseSensitive]);
107
+ return _jsx(Text, { children: output });
108
+ }
109
+ //# sourceMappingURL=search-docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-docs.js","sourceRoot":"","sources":["../../src/commands/search-docs.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Serve command: stdio-to-HTTP bridge for Claude Desktop and Cursor.
3
+ * Ensures the HTTP daemon is running and proxies stdio ↔ HTTP.
4
+ */
5
+ import React from 'react';
6
+ import { z } from 'zod';
7
+ export declare const description = "Start stdio-to-HTTP bridge for Claude Desktop/Cursor";
8
+ export declare const args: z.ZodTuple<[], null>;
9
+ export declare const options: z.ZodObject<{
10
+ config: z.ZodOptional<z.ZodString>;
11
+ }, z.core.$strip>;
12
+ interface Props {
13
+ options: z.infer<typeof options>;
14
+ }
15
+ export default function Serve({ options: opts }: Props): React.ReactNode;
16
+ export {};
17
+ //# sourceMappingURL=serve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,WAAW,yDAAyD,CAAC;AAElF,eAAO,MAAM,IAAI,sBAAc,CAAC;AAEhC,eAAO,MAAM,OAAO;;iBAElB,CAAC;AAEH,UAAU,KAAK;IACb,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CA+HvE"}
@@ -0,0 +1,125 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Serve command: stdio-to-HTTP bridge for Claude Desktop and Cursor.
4
+ * Ensures the HTTP daemon is running and proxies stdio ↔ HTTP.
5
+ */
6
+ import { useEffect, useState } from 'react';
7
+ import { Text } from 'ink';
8
+ import { z } from 'zod';
9
+ import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
10
+ import { createServer } from '../server.js';
11
+ import { initServerResources, shutdownServerResources, } from '../server-shared.js';
12
+ import { resolveConfigPath } from '../utils/config-resolver.js';
13
+ import { ensureDaemonRunning } from '../utils/daemon-manager.js';
14
+ import { shutdownExtensions } from '../extensions/loader.js';
15
+ export const description = 'Start stdio-to-HTTP bridge for Claude Desktop/Cursor';
16
+ export const args = z.tuple([]);
17
+ export const options = z.object({
18
+ config: z.string().optional().describe('Path to config file'),
19
+ });
20
+ export default function Serve({ options: opts }) {
21
+ const [status, setStatus] = useState('Initializing...');
22
+ const [error, setError] = useState(null);
23
+ useEffect(() => {
24
+ let transport = null;
25
+ let server = null;
26
+ let resources = null;
27
+ let shuttingDown = false;
28
+ const shutdown = async (signal) => {
29
+ if (shuttingDown) {
30
+ console.error(`[limps:serve] Received ${signal} during shutdown, ignoring.`);
31
+ return;
32
+ }
33
+ shuttingDown = true;
34
+ console.error(`[limps:serve] Received ${signal}, shutting down...`);
35
+ try {
36
+ // Shutdown extensions
37
+ if (server) {
38
+ const serverWithExtensions = server;
39
+ if (serverWithExtensions.loadedExtensions) {
40
+ await shutdownExtensions(serverWithExtensions.loadedExtensions);
41
+ }
42
+ }
43
+ // Close transport (closes HTTP session)
44
+ if (transport?.close) {
45
+ await transport.close();
46
+ }
47
+ // Clean up resources (DO NOT shut down the daemon itself!)
48
+ // The daemon should keep running for other clients
49
+ if (resources) {
50
+ await shutdownServerResources(resources);
51
+ }
52
+ process.exit(0);
53
+ }
54
+ catch (err) {
55
+ console.error('[limps:serve] Error during shutdown:', err);
56
+ process.exit(1);
57
+ }
58
+ };
59
+ const run = async () => {
60
+ try {
61
+ const configPath = resolveConfigPath(opts.config);
62
+ // Ensure daemon is running (starts if needed)
63
+ setStatus('Checking daemon status...');
64
+ const daemon = await ensureDaemonRunning(configPath);
65
+ // Initialize resources for this bridge process
66
+ // (Needed for extension loading and other shared state)
67
+ setStatus('Initializing server resources...');
68
+ resources = await initServerResources(configPath);
69
+ // Create HTTP client transport to daemon
70
+ setStatus(`Connecting to daemon at http://${daemon.host}:${daemon.port}/mcp...`);
71
+ transport = new StreamableHTTPClientTransport(new URL(`http://${daemon.host}:${daemon.port}/mcp`));
72
+ // Create MCP server for this bridge
73
+ server = await createServer(resources.config, resources.db);
74
+ // Set up signal handlers
75
+ process.on('SIGINT', () => {
76
+ shutdown('SIGINT').catch((err) => {
77
+ console.error('[limps:serve] Error in SIGINT handler:', err);
78
+ process.exit(1);
79
+ });
80
+ });
81
+ process.on('SIGTERM', () => {
82
+ shutdown('SIGTERM').catch((err) => {
83
+ console.error('[limps:serve] Error in SIGTERM handler:', err);
84
+ process.exit(1);
85
+ });
86
+ });
87
+ // Connect server to transport (bridges stdio ↔ HTTP)
88
+ setStatus('Starting stdio-to-HTTP bridge...');
89
+ await server.connect(transport);
90
+ // Bridge is now active
91
+ setStatus(`Bridge active. Connected to daemon on http://${daemon.host}:${daemon.port}/mcp`);
92
+ console.error('[limps:serve] stdio-to-HTTP bridge running');
93
+ // Keep process alive until shutdown signal
94
+ // The MCP SDK handles all stdio ↔ HTTP bridging automatically
95
+ }
96
+ catch (err) {
97
+ const errorMessage = err instanceof Error ? err.message : String(err);
98
+ if (errorMessage.includes('ECONNREFUSED')) {
99
+ setError(`Cannot connect to daemon. The daemon may have failed to start.\n` +
100
+ `Try starting it manually: limps start --foreground`);
101
+ }
102
+ else if (errorMessage.includes('Failed to start daemon')) {
103
+ setError(errorMessage + '\n\nTry: limps start --foreground');
104
+ }
105
+ else {
106
+ setError(`Failed to start bridge: ${errorMessage}`);
107
+ }
108
+ }
109
+ };
110
+ void run();
111
+ // Cleanup on unmount
112
+ return () => {
113
+ if (!shuttingDown) {
114
+ shutdown('unmount').catch((err) => {
115
+ console.error('[limps:serve] Error during unmount cleanup:', err);
116
+ });
117
+ }
118
+ };
119
+ }, [opts.config]);
120
+ if (error) {
121
+ return _jsxs(Text, { color: "red", children: ["Error: ", error] });
122
+ }
123
+ return _jsx(Text, { color: "green", children: status });
124
+ }
125
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.tsx"],"names":[],"mappings":"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"}
@@ -10,4 +10,4 @@ interface Props {
10
10
  }
11
11
  export default function StatusServerCommand({ options: opts }: Props): React.ReactNode;
12
12
  export {};
13
- //# sourceMappingURL=status-server.d.ts.map
13
+ //# sourceMappingURL=server-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-status.d.ts","sourceRoot":"","sources":["../../src/commands/server-status.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,WAAW,kCAAkC,CAAC;AAE3D,eAAO,MAAM,OAAO;;;iBAGlB,CAAC;AAEH,UAAU,KAAK;IACb,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC;AAqHD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAwDrF"}