@sudosandwich/limps 3.2.0 → 3.3.1
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 +165 -70
- package/dist/agent-parser.d.ts +1 -1
- package/dist/agent-parser.d.ts.map +1 -1
- package/dist/agent-parser.js +8 -4
- package/dist/agent-parser.js.map +1 -1
- package/dist/cli/config-cmd.js +1 -1
- package/dist/cli/config-cmd.js.map +1 -1
- package/dist/cli/docs-create.d.ts +34 -0
- package/dist/cli/docs-create.d.ts.map +1 -0
- package/dist/cli/docs-create.js +70 -0
- package/dist/cli/docs-create.js.map +1 -0
- package/dist/cli/docs-delete.d.ts +34 -0
- package/dist/cli/docs-delete.d.ts.map +1 -0
- package/dist/cli/docs-delete.js +84 -0
- package/dist/cli/docs-delete.js.map +1 -0
- package/dist/cli/docs-list.d.ts +35 -0
- package/dist/cli/docs-list.d.ts.map +1 -0
- package/dist/cli/docs-list.js +91 -0
- package/dist/cli/docs-list.js.map +1 -0
- package/dist/cli/docs-search.d.ts +35 -0
- package/dist/cli/docs-search.d.ts.map +1 -0
- package/dist/cli/docs-search.js +99 -0
- package/dist/cli/docs-search.js.map +1 -0
- package/dist/cli/docs-update.d.ts +40 -0
- package/dist/cli/docs-update.d.ts.map +1 -0
- package/dist/cli/docs-update.js +75 -0
- package/dist/cli/docs-update.js.map +1 -0
- package/dist/cli/init-project.js +4 -4
- package/dist/cli/init-project.js.map +1 -1
- package/dist/cli/next-task.js +1 -1
- package/dist/cli/next-task.js.map +1 -1
- package/dist/cli/status.d.ts +13 -0
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +64 -1
- package/dist/cli/status.js.map +1 -1
- package/dist/cli.js +22 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/completion.d.ts +13 -0
- package/dist/commands/completion.d.ts.map +1 -0
- package/dist/commands/completion.js +27 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +1 -0
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/config/show-resolution.d.ts +11 -0
- package/dist/commands/config/show-resolution.d.ts.map +1 -0
- package/dist/commands/config/show-resolution.js +114 -0
- package/dist/commands/config/show-resolution.js.map +1 -0
- package/dist/commands/docs/create.d.ts +21 -0
- package/dist/commands/docs/create.d.ts.map +1 -0
- package/dist/commands/docs/create.js +96 -0
- package/dist/commands/docs/create.js.map +1 -0
- package/dist/commands/docs/delete.d.ts +16 -0
- package/dist/commands/docs/delete.d.ts.map +1 -0
- package/dist/commands/docs/delete.js +94 -0
- package/dist/commands/docs/delete.js.map +1 -0
- package/dist/commands/docs/index.d.ts +3 -0
- package/dist/commands/docs/index.d.ts.map +1 -0
- package/dist/commands/docs/index.js +39 -0
- package/dist/commands/docs/index.js.map +1 -0
- package/dist/commands/docs/list.d.ts +18 -0
- package/dist/commands/docs/list.d.ts.map +1 -0
- package/dist/commands/docs/list.js +80 -0
- package/dist/commands/docs/list.js.map +1 -0
- package/dist/commands/docs/process.d.ts +20 -0
- package/dist/commands/docs/process.d.ts.map +1 -0
- package/dist/commands/docs/process.js +254 -0
- package/dist/commands/docs/process.js.map +1 -0
- package/dist/commands/docs/reindex.d.ts.map +1 -0
- package/dist/commands/{reindex.js → docs/reindex.js} +4 -5
- package/dist/commands/docs/reindex.js.map +1 -0
- package/dist/commands/docs/search.d.ts +17 -0
- package/dist/commands/docs/search.d.ts.map +1 -0
- package/dist/commands/docs/search.js +106 -0
- package/dist/commands/docs/search.js.map +1 -0
- package/dist/commands/docs/tags/add.d.ts +16 -0
- package/dist/commands/docs/tags/add.d.ts.map +1 -0
- package/dist/commands/docs/tags/add.js +117 -0
- package/dist/commands/docs/tags/add.js.map +1 -0
- package/dist/commands/docs/tags/index.d.ts +3 -0
- package/dist/commands/docs/tags/index.d.ts.map +1 -0
- package/dist/commands/docs/tags/index.js +33 -0
- package/dist/commands/docs/tags/index.js.map +1 -0
- package/dist/commands/docs/tags/list.d.ts +15 -0
- package/dist/commands/docs/tags/list.d.ts.map +1 -0
- package/dist/commands/docs/tags/list.js +108 -0
- package/dist/commands/docs/tags/list.js.map +1 -0
- package/dist/commands/docs/tags/remove.d.ts +16 -0
- package/dist/commands/docs/tags/remove.d.ts.map +1 -0
- package/dist/commands/docs/tags/remove.js +117 -0
- package/dist/commands/docs/tags/remove.js.map +1 -0
- package/dist/commands/docs/update.d.ts +23 -0
- package/dist/commands/docs/update.d.ts.map +1 -0
- package/dist/commands/docs/update.js +141 -0
- package/dist/commands/docs/update.js.map +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/{list-agents.d.ts → plan/agents.d.ts} +1 -1
- package/dist/commands/plan/agents.d.ts.map +1 -0
- package/dist/commands/{list-agents.js → plan/agents.js} +12 -15
- package/dist/commands/plan/agents.js.map +1 -0
- package/dist/commands/plan/create.d.ts +15 -0
- package/dist/commands/plan/create.d.ts.map +1 -0
- package/dist/commands/plan/create.js +71 -0
- package/dist/commands/plan/create.js.map +1 -0
- package/dist/commands/plan/index.d.ts +3 -0
- package/dist/commands/plan/index.d.ts.map +1 -0
- package/dist/commands/plan/index.js +39 -0
- package/dist/commands/plan/index.js.map +1 -0
- package/dist/commands/{list-plans.d.ts → plan/list.d.ts} +1 -1
- package/dist/commands/plan/list.d.ts.map +1 -0
- package/dist/commands/{list-plans.js → plan/list.js} +7 -10
- package/dist/commands/plan/list.js.map +1 -0
- package/dist/commands/{next-task.d.ts → plan/next.d.ts} +1 -1
- package/dist/commands/plan/next.d.ts.map +1 -0
- package/dist/commands/{next-task.js → plan/next.js} +10 -13
- package/dist/commands/plan/next.js.map +1 -0
- package/dist/commands/{repair-plans.d.ts → plan/repair.d.ts} +1 -1
- package/dist/commands/plan/repair.d.ts.map +1 -0
- package/dist/commands/{repair-plans.js → plan/repair.js} +6 -8
- package/dist/commands/plan/repair.js.map +1 -0
- package/dist/commands/{score-task.d.ts → plan/score.d.ts} +5 -3
- package/dist/commands/plan/score.d.ts.map +1 -0
- package/dist/commands/{score-task.js → plan/score.js} +44 -22
- package/dist/commands/plan/score.js.map +1 -0
- package/dist/commands/{score-all.d.ts → plan/scores.d.ts} +3 -2
- package/dist/commands/plan/scores.d.ts.map +1 -0
- package/dist/commands/{score-all.js → plan/scores.js} +27 -20
- package/dist/commands/plan/scores.js.map +1 -0
- package/dist/commands/{status.d.ts → plan/status.d.ts} +7 -0
- package/dist/commands/plan/status.d.ts.map +1 -0
- package/dist/commands/plan/status.js +205 -0
- package/dist/commands/plan/status.js.map +1 -0
- package/dist/commands/{serve.d.ts → server/bridge.d.ts} +1 -1
- package/dist/commands/server/bridge.d.ts.map +1 -0
- package/dist/commands/{serve.js → server/bridge.js} +9 -9
- package/dist/commands/server/bridge.js.map +1 -0
- package/dist/commands/server/index.d.ts +3 -0
- package/dist/commands/server/index.d.ts.map +1 -0
- package/dist/commands/server/index.js +35 -0
- package/dist/commands/server/index.js.map +1 -0
- package/dist/commands/server/start.d.ts.map +1 -0
- package/dist/commands/{start.js → server/start.js} +35 -19
- package/dist/commands/server/start.js.map +1 -0
- package/dist/commands/{status-server.d.ts → server/status.d.ts} +1 -1
- package/dist/commands/server/status.d.ts.map +1 -0
- package/dist/commands/{status-server.js → server/status.js} +40 -22
- package/dist/commands/server/status.js.map +1 -0
- package/dist/commands/server/stop.d.ts.map +1 -0
- package/dist/commands/{stop.js → server/stop.js} +4 -5
- package/dist/commands/server/stop.js.map +1 -0
- package/dist/core/command-context.d.ts +7 -0
- package/dist/core/command-context.d.ts.map +1 -0
- package/dist/core/command-context.js +8 -0
- package/dist/core/command-context.js.map +1 -0
- package/dist/core/completion.d.ts +7 -0
- package/dist/core/completion.d.ts.map +1 -0
- package/dist/core/completion.js +273 -0
- package/dist/core/completion.js.map +1 -0
- package/dist/core/task-target.d.ts +3 -0
- package/dist/core/task-target.d.ts.map +1 -0
- package/dist/core/task-target.js +9 -0
- package/dist/core/task-target.js.map +1 -0
- package/dist/extensions/context.d.ts.map +1 -1
- package/dist/extensions/context.js +10 -8
- package/dist/extensions/context.js.map +1 -1
- package/dist/extensions/loader.d.ts.map +1 -1
- package/dist/extensions/loader.js +3 -2
- package/dist/extensions/loader.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/pidfile.d.ts +1 -0
- package/dist/pidfile.d.ts.map +1 -1
- package/dist/pidfile.js +4 -1
- package/dist/pidfile.js.map +1 -1
- package/dist/server-http-entry.d.ts +1 -1
- package/dist/server-http-entry.js +40 -7
- package/dist/server-http-entry.js.map +1 -1
- package/dist/server-http.d.ts +11 -1
- package/dist/server-http.d.ts.map +1 -1
- package/dist/server-http.js +34 -12
- package/dist/server-http.js.map +1 -1
- package/dist/server-main.d.ts.map +1 -1
- package/dist/server-main.js +2 -1
- package/dist/server-main.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +8 -7
- package/dist/server.js.map +1 -1
- package/dist/tools/create-plan.d.ts +1 -0
- package/dist/tools/create-plan.d.ts.map +1 -1
- package/dist/tools/create-plan.js +20 -6
- package/dist/tools/create-plan.js.map +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/update-task-status.d.ts +1 -1
- package/dist/tools/update-task-status.d.ts.map +1 -1
- package/dist/tools/update-task-status.js +17 -187
- package/dist/tools/update-task-status.js.map +1 -1
- package/dist/utils/config-resolver.d.ts +1 -1
- package/dist/utils/config-resolver.d.ts.map +1 -1
- package/dist/utils/config-resolver.js +6 -4
- package/dist/utils/config-resolver.js.map +1 -1
- package/dist/utils/daemon-log.d.ts +13 -0
- package/dist/utils/daemon-log.d.ts.map +1 -0
- package/dist/utils/daemon-log.js +27 -0
- package/dist/utils/daemon-log.js.map +1 -0
- package/dist/utils/daemon-manager.js +1 -1
- package/dist/utils/daemon-manager.js.map +1 -1
- package/dist/utils/safe-logging.d.ts +24 -0
- package/dist/utils/safe-logging.d.ts.map +1 -0
- package/dist/utils/safe-logging.js +88 -0
- package/dist/utils/safe-logging.js.map +1 -0
- package/package.json +2 -2
- package/dist/commands/list-agents.d.ts.map +0 -1
- package/dist/commands/list-agents.js.map +0 -1
- package/dist/commands/list-plans.d.ts.map +0 -1
- package/dist/commands/list-plans.js.map +0 -1
- package/dist/commands/next-task.d.ts.map +0 -1
- package/dist/commands/next-task.js.map +0 -1
- package/dist/commands/reindex.d.ts.map +0 -1
- package/dist/commands/reindex.js.map +0 -1
- package/dist/commands/repair-plans.d.ts.map +0 -1
- package/dist/commands/repair-plans.js.map +0 -1
- package/dist/commands/score-all.d.ts.map +0 -1
- package/dist/commands/score-all.js.map +0 -1
- package/dist/commands/score-task.d.ts.map +0 -1
- package/dist/commands/score-task.js.map +0 -1
- package/dist/commands/serve.d.ts.map +0 -1
- package/dist/commands/serve.js.map +0 -1
- package/dist/commands/start.d.ts.map +0 -1
- package/dist/commands/start.js.map +0 -1
- package/dist/commands/status-server.d.ts.map +0 -1
- package/dist/commands/status-server.js.map +0 -1
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -131
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/stop.d.ts.map +0 -1
- package/dist/commands/stop.js.map +0 -1
- /package/dist/commands/{reindex.d.ts → docs/reindex.d.ts} +0 -0
- /package/dist/commands/{start.d.ts → server/start.d.ts} +0 -0
- /package/dist/commands/{stop.d.ts → server/stop.d.ts} +0 -0
|
@@ -0,0 +1,254 @@
|
|
|
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 { loadCommandContext } from '../../core/command-context.js';
|
|
6
|
+
import { buildHelpOutput } from '../../utils/cli-help.js';
|
|
7
|
+
import { handleJsonOutput, isJsonMode, outputJson, wrapError } from '../../cli/json-output.js';
|
|
8
|
+
import { handleProcessDoc, ProcessDocInputSchema, } from '../../tools/process-doc.js';
|
|
9
|
+
import { handleProcessDocs, ProcessDocsInputSchema, } from '../../tools/process-docs.js';
|
|
10
|
+
import { initializeDatabase, createSchema } from '../../indexer.js';
|
|
11
|
+
import { join } from 'path';
|
|
12
|
+
import { mkdirSync } from 'fs';
|
|
13
|
+
export const description = 'Process document(s) with JavaScript code';
|
|
14
|
+
export const args = z.tuple([z.string().describe('Document path').optional()]);
|
|
15
|
+
export const options = z.object({
|
|
16
|
+
config: z.string().optional().describe('Path to config file'),
|
|
17
|
+
pattern: z
|
|
18
|
+
.string()
|
|
19
|
+
.optional()
|
|
20
|
+
.describe('Glob pattern for multiple documents (e.g., "plans/*/*-plan.md")'),
|
|
21
|
+
code: z.string().describe('JavaScript code to execute'),
|
|
22
|
+
json: z.boolean().optional().describe('Output as JSON'),
|
|
23
|
+
timeout: z.number().optional().describe('Execution timeout in milliseconds (default: 5000)'),
|
|
24
|
+
'max-docs': z.number().optional().describe('Maximum documents to load (default: 20)'),
|
|
25
|
+
pretty: z.boolean().optional().describe('Pretty-print JSON output'),
|
|
26
|
+
});
|
|
27
|
+
export default function ProcessCommand({ args, options }) {
|
|
28
|
+
const [path] = args;
|
|
29
|
+
const [result, setResult] = useState(null);
|
|
30
|
+
const [error, setError] = useState(null);
|
|
31
|
+
const help = buildHelpOutput({
|
|
32
|
+
usage: 'limps docs process <path> | limps docs process --pattern <glob> --code <code> [options]',
|
|
33
|
+
arguments: ['path Optional document path (mutually exclusive with --pattern)'],
|
|
34
|
+
options: [
|
|
35
|
+
'--config Path to config file',
|
|
36
|
+
'--pattern Glob pattern for multiple documents',
|
|
37
|
+
'--code JavaScript code to execute (required)',
|
|
38
|
+
'--json Output as JSON',
|
|
39
|
+
'--timeout Execution timeout in milliseconds (default: 5000)',
|
|
40
|
+
'--max-docs Maximum documents to load (default: 20)',
|
|
41
|
+
'--pretty Pretty-print JSON output',
|
|
42
|
+
],
|
|
43
|
+
sections: [
|
|
44
|
+
{
|
|
45
|
+
title: 'Single Document Examples',
|
|
46
|
+
lines: [
|
|
47
|
+
'limps docs process plans/0001-feature/plan.md --code "doc.content.length"',
|
|
48
|
+
'limps docs process plan.md --code "extractFrontmatter(doc.content).meta.name"',
|
|
49
|
+
],
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
title: 'Multiple Documents Examples',
|
|
53
|
+
lines: [
|
|
54
|
+
'limps docs process --pattern "plans/*/*-plan.md" --code "docs.length"',
|
|
55
|
+
'limps docs process --pattern "**/*.md" --code "docs.map(d => d.path)"',
|
|
56
|
+
],
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
});
|
|
60
|
+
const jsonMode = isJsonMode(options);
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
if (!jsonMode) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
const timer = setTimeout(async () => {
|
|
66
|
+
try {
|
|
67
|
+
// Validation: must provide either path or pattern
|
|
68
|
+
if (!path && !options.pattern) {
|
|
69
|
+
outputJson(wrapError('Either path argument or --pattern option is required', {
|
|
70
|
+
code: 'MISSING_INPUT',
|
|
71
|
+
help: help.meta,
|
|
72
|
+
}), 1);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
// Validation: cannot provide both
|
|
76
|
+
if (path && options.pattern) {
|
|
77
|
+
outputJson(wrapError('Cannot provide both path argument and --pattern option', {
|
|
78
|
+
code: 'CONFLICTING_INPUT',
|
|
79
|
+
help: help.meta,
|
|
80
|
+
}), 1);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
// Validation: code is required
|
|
84
|
+
if (!options.code) {
|
|
85
|
+
outputJson(wrapError('--code option is required', {
|
|
86
|
+
code: 'MISSING_CODE',
|
|
87
|
+
help: help.meta,
|
|
88
|
+
}), 1);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const { config } = loadCommandContext(options.config);
|
|
92
|
+
// Initialize database
|
|
93
|
+
mkdirSync(config.dataPath, { recursive: true });
|
|
94
|
+
const dbPath = join(config.dataPath, 'documents.sqlite');
|
|
95
|
+
const db = initializeDatabase(dbPath);
|
|
96
|
+
createSchema(db);
|
|
97
|
+
const context = { db, config };
|
|
98
|
+
if (path) {
|
|
99
|
+
// Single document processing
|
|
100
|
+
try {
|
|
101
|
+
const input = ProcessDocInputSchema.parse({
|
|
102
|
+
path,
|
|
103
|
+
code: options.code,
|
|
104
|
+
...(options.timeout !== undefined && { timeout: options.timeout }),
|
|
105
|
+
prettyPrint: options.pretty ?? false,
|
|
106
|
+
});
|
|
107
|
+
const toolResult = await handleProcessDoc(input, context);
|
|
108
|
+
if (toolResult.isError) {
|
|
109
|
+
db.close();
|
|
110
|
+
outputJson(wrapError(toolResult.content[0].text, { code: 'PROCESS_DOC_ERROR' }), 1);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const output = JSON.parse(toolResult.content[0].text);
|
|
114
|
+
db.close();
|
|
115
|
+
handleJsonOutput(() => output, 'PROCESS_DOC_ERROR');
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
db.close();
|
|
119
|
+
throw error;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else if (options.pattern) {
|
|
123
|
+
// Multiple documents processing
|
|
124
|
+
try {
|
|
125
|
+
const input = ProcessDocsInputSchema.parse({
|
|
126
|
+
pattern: options.pattern,
|
|
127
|
+
code: options.code,
|
|
128
|
+
...(options.timeout !== undefined && { timeout: options.timeout }),
|
|
129
|
+
...(options['max-docs'] !== undefined && { max_docs: options['max-docs'] }),
|
|
130
|
+
});
|
|
131
|
+
const toolResult = await handleProcessDocs(input, context);
|
|
132
|
+
if (toolResult.isError) {
|
|
133
|
+
db.close();
|
|
134
|
+
outputJson(wrapError(toolResult.content[0].text, { code: 'PROCESS_DOCS_ERROR' }), 1);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
const output = JSON.parse(toolResult.content[0].text);
|
|
138
|
+
db.close();
|
|
139
|
+
handleJsonOutput(() => output, 'PROCESS_DOCS_ERROR');
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
db.close();
|
|
143
|
+
throw error;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
catch (err) {
|
|
148
|
+
outputJson(wrapError(err instanceof Error ? err.message : String(err), {
|
|
149
|
+
code: 'PROCESS_ERROR',
|
|
150
|
+
}), 1);
|
|
151
|
+
}
|
|
152
|
+
}, 0);
|
|
153
|
+
return () => clearTimeout(timer);
|
|
154
|
+
}, [jsonMode, path, options, help.meta]);
|
|
155
|
+
useEffect(() => {
|
|
156
|
+
if (jsonMode) {
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
const run = async () => {
|
|
160
|
+
let db = null;
|
|
161
|
+
try {
|
|
162
|
+
// Validation: must provide either path or pattern
|
|
163
|
+
if (!path && !options.pattern) {
|
|
164
|
+
setError('Either path argument or --pattern option is required');
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
// Validation: cannot provide both
|
|
168
|
+
if (path && options.pattern) {
|
|
169
|
+
setError('Cannot provide both path argument and --pattern option');
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
// Validation: code is required
|
|
173
|
+
if (!options.code) {
|
|
174
|
+
setError('--code option is required');
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const { config } = loadCommandContext(options.config);
|
|
178
|
+
// Initialize database
|
|
179
|
+
mkdirSync(config.dataPath, { recursive: true });
|
|
180
|
+
const dbPath = join(config.dataPath, 'documents.sqlite');
|
|
181
|
+
db = initializeDatabase(dbPath);
|
|
182
|
+
createSchema(db);
|
|
183
|
+
const context = { db, config };
|
|
184
|
+
if (path) {
|
|
185
|
+
// Single document processing
|
|
186
|
+
const input = ProcessDocInputSchema.parse({
|
|
187
|
+
path,
|
|
188
|
+
code: options.code,
|
|
189
|
+
...(options.timeout !== undefined && { timeout: options.timeout }),
|
|
190
|
+
prettyPrint: options.pretty ?? false,
|
|
191
|
+
});
|
|
192
|
+
const toolResult = await handleProcessDoc(input, context);
|
|
193
|
+
if (toolResult.isError) {
|
|
194
|
+
setError(toolResult.content[0].text);
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
const output = JSON.parse(toolResult.content[0].text);
|
|
198
|
+
setResult(output);
|
|
199
|
+
}
|
|
200
|
+
else if (options.pattern) {
|
|
201
|
+
// Multiple documents processing
|
|
202
|
+
const input = ProcessDocsInputSchema.parse({
|
|
203
|
+
pattern: options.pattern,
|
|
204
|
+
code: options.code,
|
|
205
|
+
...(options.timeout !== undefined && { timeout: options.timeout }),
|
|
206
|
+
...(options['max-docs'] !== undefined && { max_docs: options['max-docs'] }),
|
|
207
|
+
});
|
|
208
|
+
const toolResult = await handleProcessDocs(input, context);
|
|
209
|
+
if (toolResult.isError) {
|
|
210
|
+
setError(toolResult.content[0].text);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
const output = JSON.parse(toolResult.content[0].text);
|
|
214
|
+
setResult(output);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch (err) {
|
|
218
|
+
setError(err.message);
|
|
219
|
+
}
|
|
220
|
+
finally {
|
|
221
|
+
if (db) {
|
|
222
|
+
db.close();
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
void run();
|
|
227
|
+
return undefined;
|
|
228
|
+
}, [path, options, jsonMode]);
|
|
229
|
+
if (jsonMode) {
|
|
230
|
+
return null;
|
|
231
|
+
}
|
|
232
|
+
if (!options.code) {
|
|
233
|
+
return _jsx(Text, { children: help.text });
|
|
234
|
+
}
|
|
235
|
+
if (!path && !options.pattern) {
|
|
236
|
+
return _jsx(Text, { children: help.text });
|
|
237
|
+
}
|
|
238
|
+
if (error) {
|
|
239
|
+
return _jsx(Text, { color: "red", children: error });
|
|
240
|
+
}
|
|
241
|
+
if (!result) {
|
|
242
|
+
return _jsx(Text, { children: "Processing..." });
|
|
243
|
+
}
|
|
244
|
+
// Display result based on type
|
|
245
|
+
if ('docs_loaded' in result) {
|
|
246
|
+
// ProcessDocsOutput
|
|
247
|
+
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) })] }));
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
// ProcessDocOutput
|
|
251
|
+
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) })] }));
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/commands/docs/process.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reindex.d.ts","sourceRoot":"","sources":["../../../src/commands/docs/reindex.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,WAAW,gDAAgD,CAAC;AAEzE,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,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAkE1E"}
|
|
@@ -4,9 +4,9 @@ import { useEffect, useState } from 'react';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { resolve } from 'path';
|
|
6
6
|
import { mkdirSync } from 'fs';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { initializeDatabase, createSchema, clearIndex, indexAllPaths } from '
|
|
7
|
+
import { getAllDocsPaths, getFileExtensions } from '../../config.js';
|
|
8
|
+
import { loadCommandContext } from '../../core/command-context.js';
|
|
9
|
+
import { initializeDatabase, createSchema, clearIndex, indexAllPaths } from '../../indexer.js';
|
|
10
10
|
export const description = 'Clear and rebuild the document search index';
|
|
11
11
|
export const options = z.object({
|
|
12
12
|
config: z.string().optional().describe('Path to config file'),
|
|
@@ -18,8 +18,7 @@ export default function ReindexCommand({ options }) {
|
|
|
18
18
|
const run = async () => {
|
|
19
19
|
let db = null;
|
|
20
20
|
try {
|
|
21
|
-
const
|
|
22
|
-
const config = loadConfig(configPath);
|
|
21
|
+
const { config } = loadCommandContext(options.config);
|
|
23
22
|
mkdirSync(config.dataPath, { recursive: true });
|
|
24
23
|
const dbPath = resolve(config.dataPath, 'documents.sqlite');
|
|
25
24
|
db = initializeDatabase(dbPath);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reindex.js","sourceRoot":"","sources":["../../../src/commands/docs/reindex.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.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/docs/search.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,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,CAqGnF"}
|
|
@@ -0,0 +1,106 @@
|
|
|
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 { loadCommandContext } from '../../core/command-context.js';
|
|
7
|
+
import { buildHelpOutput } from '../../utils/cli-help.js';
|
|
8
|
+
import { handleJsonOutput, isJsonMode, outputJson, wrapError } from '../../cli/json-output.js';
|
|
9
|
+
export const description = 'Search documents using full-text search';
|
|
10
|
+
export const args = z.tuple([z.string().describe('search query')]);
|
|
11
|
+
export const options = z.object({
|
|
12
|
+
config: z.string().optional().describe('Path to config file'),
|
|
13
|
+
limit: z.number().int().positive().max(100).optional().describe('Max results (default: 20)'),
|
|
14
|
+
frontmatter: z.boolean().optional().describe('Search in frontmatter'),
|
|
15
|
+
caseSensitive: z.boolean().optional().describe('Case-sensitive search'),
|
|
16
|
+
json: z.boolean().optional().describe('Output as JSON'),
|
|
17
|
+
});
|
|
18
|
+
export default function SearchDocsCommand({ args, options }) {
|
|
19
|
+
const [query] = args;
|
|
20
|
+
const help = buildHelpOutput({
|
|
21
|
+
usage: 'limps docs search <query> [options]',
|
|
22
|
+
arguments: ['query Search query text'],
|
|
23
|
+
options: [
|
|
24
|
+
'--config Path to config file',
|
|
25
|
+
'--limit Max results (default: 20)',
|
|
26
|
+
'--frontmatter Search in frontmatter',
|
|
27
|
+
'--case-sensitive Case-sensitive search',
|
|
28
|
+
'--json Output as JSON',
|
|
29
|
+
],
|
|
30
|
+
examples: [
|
|
31
|
+
'limps docs search "authentication"',
|
|
32
|
+
'limps docs search "API" --limit 10',
|
|
33
|
+
'limps docs search "status" --frontmatter',
|
|
34
|
+
],
|
|
35
|
+
});
|
|
36
|
+
const jsonMode = isJsonMode(options);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (!jsonMode) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const timer = setTimeout(() => {
|
|
42
|
+
(async () => {
|
|
43
|
+
try {
|
|
44
|
+
if (!query) {
|
|
45
|
+
outputJson(wrapError('Search query is required', { code: 'MISSING_QUERY', help: help.meta }), 1);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const { config } = loadCommandContext(options.config);
|
|
49
|
+
const result = await getSearchDocsData(config, {
|
|
50
|
+
query,
|
|
51
|
+
limit: options.limit,
|
|
52
|
+
searchFrontmatter: options.frontmatter,
|
|
53
|
+
caseSensitive: options.caseSensitive,
|
|
54
|
+
});
|
|
55
|
+
handleJsonOutput(() => {
|
|
56
|
+
if ('error' in result) {
|
|
57
|
+
throw new Error(result.error);
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
}, 'SEARCH_DOCS_ERROR');
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
outputJson(wrapError(error instanceof Error ? error.message : String(error), {
|
|
64
|
+
code: 'SEARCH_DOCS_ERROR',
|
|
65
|
+
}), 1);
|
|
66
|
+
}
|
|
67
|
+
})();
|
|
68
|
+
}, 0);
|
|
69
|
+
return () => clearTimeout(timer);
|
|
70
|
+
}, [
|
|
71
|
+
help.meta,
|
|
72
|
+
jsonMode,
|
|
73
|
+
options.config,
|
|
74
|
+
query,
|
|
75
|
+
options.limit,
|
|
76
|
+
options.frontmatter,
|
|
77
|
+
options.caseSensitive,
|
|
78
|
+
]);
|
|
79
|
+
if (jsonMode) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
if (!query) {
|
|
83
|
+
return _jsx(Text, { children: help.text });
|
|
84
|
+
}
|
|
85
|
+
// Normal Ink rendering
|
|
86
|
+
const [output, setOutput] = useState('Searching...');
|
|
87
|
+
useEffect(() => {
|
|
88
|
+
(async () => {
|
|
89
|
+
try {
|
|
90
|
+
const { config } = loadCommandContext(options.config);
|
|
91
|
+
const result = await searchDocs(config, {
|
|
92
|
+
query,
|
|
93
|
+
limit: options.limit,
|
|
94
|
+
searchFrontmatter: options.frontmatter,
|
|
95
|
+
caseSensitive: options.caseSensitive,
|
|
96
|
+
});
|
|
97
|
+
setOutput(result);
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
setOutput(`Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
101
|
+
}
|
|
102
|
+
})();
|
|
103
|
+
}, [options.config, query, options.limit, options.frontmatter, options.caseSensitive]);
|
|
104
|
+
return _jsx(Text, { children: output });
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/docs/search.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE/F,MAAM,CAAC,MAAM,WAAW,GAAG,yCAAyC,CAAC;AAErE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC5F,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACrE,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;CACxD,CAAC,CAAC;AAOH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAS;IAChE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACrB,MAAM,IAAI,GAAG,eAAe,CAAC;QAC3B,KAAK,EAAE,qCAAqC;QAC5C,SAAS,EAAE,CAAC,yBAAyB,CAAC;QACtC,OAAO,EAAE;YACP,8BAA8B;YAC9B,mCAAmC;YACnC,qCAAqC;YACrC,wCAAwC;YACxC,uBAAuB;SACxB;QACD,QAAQ,EAAE;YACR,oCAAoC;YACpC,oCAAoC;YACpC,0CAA0C;SAC3C;KACF,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAErC,SAAS,CAAC,GAA6B,EAAE;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAS,EAAE;YAClC,CAAC,KAAK,IAAmB,EAAE;gBACzB,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,UAAU,CACR,SAAS,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EACjF,CAAC,CACF,CAAC;wBACF,OAAO;oBACT,CAAC;oBAED,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAEtD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE;wBAC7C,KAAK;wBACL,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,iBAAiB,EAAE,OAAO,CAAC,WAAW;wBACtC,aAAa,EAAE,OAAO,CAAC,aAAa;qBACrC,CAAC,CAAC;oBAEH,gBAAgB,CAAC,GAAG,EAAE;wBACpB,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;4BACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAChC,CAAC;wBACD,OAAO,MAAM,CAAC;oBAChB,CAAC,EAAE,mBAAmB,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CACR,SAAS,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;wBAChE,IAAI,EAAE,mBAAmB;qBAC1B,CAAC,EACF,CAAC,CACF,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE;QACD,IAAI,CAAC,IAAI;QACT,QAAQ;QACR,OAAO,CAAC,MAAM;QACd,KAAK;QACL,OAAO,CAAC,KAAK;QACb,OAAO,CAAC,WAAW;QACnB,OAAO,CAAC,aAAa;KACtB,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAC,IAAI,cAAE,IAAI,CAAC,IAAI,GAAQ,CAAC;IAClC,CAAC;IAED,uBAAuB;IACvB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,cAAc,CAAC,CAAC;IAE7D,SAAS,CAAC,GAAG,EAAE;QACb,CAAC,KAAK,IAAmB,EAAE;YACzB,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE;oBACtC,KAAK;oBACL,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,iBAAiB,EAAE,OAAO,CAAC,WAAW;oBACtC,aAAa,EAAE,OAAO,CAAC,aAAa;iBACrC,CAAC,CAAC;gBACH,SAAS,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAEvF,OAAO,KAAC,IAAI,cAAE,MAAM,GAAQ,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare const description = "Add tags to a document";
|
|
4
|
+
export declare const args: z.ZodTuple<[z.ZodString], null>;
|
|
5
|
+
export declare const options: z.ZodObject<{
|
|
6
|
+
config: z.ZodOptional<z.ZodString>;
|
|
7
|
+
json: z.ZodOptional<z.ZodBoolean>;
|
|
8
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
interface Props {
|
|
11
|
+
args: z.infer<typeof args>;
|
|
12
|
+
options: z.infer<typeof options>;
|
|
13
|
+
}
|
|
14
|
+
export default function TagsAddCommand({ args, options }: Props): React.ReactNode;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=add.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/commands/docs/tags/add.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,WAAW,2BAA2B,CAAC;AAEpD,eAAO,MAAM,IAAI,iCAA4D,CAAC;AAE9E,eAAO,MAAM,OAAO;;;;iBAIlB,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,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAyIhF"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Text } from 'ink';
|
|
3
|
+
import React, { useEffect } from 'react';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { handleManageTags } from '../../../tools/manage-tags.js';
|
|
7
|
+
import { loadCommandContext } from '../../../core/command-context.js';
|
|
8
|
+
import { initializeDatabase, createSchema } from '../../../indexer.js';
|
|
9
|
+
import { buildHelpOutput } from '../../../utils/cli-help.js';
|
|
10
|
+
import { isJsonMode, outputJson, wrapError, wrapSuccess } from '../../../cli/json-output.js';
|
|
11
|
+
export const description = 'Add tags to a document';
|
|
12
|
+
export const args = z.tuple([z.string().describe('path to document').min(1)]);
|
|
13
|
+
export const options = z.object({
|
|
14
|
+
config: z.string().optional().describe('Path to config file'),
|
|
15
|
+
json: z.boolean().optional().describe('Output as JSON'),
|
|
16
|
+
tags: z.array(z.string()).optional().describe('Tags to add (space-separated)'),
|
|
17
|
+
});
|
|
18
|
+
export default function TagsAddCommand({ args, options }) {
|
|
19
|
+
const path = args[0];
|
|
20
|
+
// Get tags from options or from remaining args
|
|
21
|
+
const tags = options.tags || args.slice(1);
|
|
22
|
+
const help = buildHelpOutput({
|
|
23
|
+
usage: 'limps docs tags add <path> [options]',
|
|
24
|
+
arguments: ['path Path to the document'],
|
|
25
|
+
options: [
|
|
26
|
+
'--config Path to config file',
|
|
27
|
+
'--json Output as JSON',
|
|
28
|
+
'--tags Tags to add (space-separated)',
|
|
29
|
+
],
|
|
30
|
+
examples: [
|
|
31
|
+
'limps docs tags add plans/0001-feature/000-agent.md --tags reviewed',
|
|
32
|
+
'limps docs tags add plans/0001-feature/000-agent.md --tags urgent high-priority',
|
|
33
|
+
'limps docs tags add plans/0001-feature/000-agent.md --tags reviewed --json',
|
|
34
|
+
],
|
|
35
|
+
});
|
|
36
|
+
const jsonMode = isJsonMode(options);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (!jsonMode) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const timer = setTimeout(() => {
|
|
42
|
+
(async () => {
|
|
43
|
+
try {
|
|
44
|
+
if (!path) {
|
|
45
|
+
outputJson(wrapError('Path is required', { code: 'MISSING_PATH', help: help.meta }), 1);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (!tags || tags.length === 0) {
|
|
49
|
+
outputJson(wrapError('At least one tag is required', { code: 'MISSING_TAGS', help: help.meta }), 1);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const { config } = loadCommandContext(options.config);
|
|
53
|
+
const dbPath = join(config.dataPath, 'documents.sqlite');
|
|
54
|
+
const db = initializeDatabase(dbPath);
|
|
55
|
+
createSchema(db);
|
|
56
|
+
const result = await handleManageTags({ path, operation: 'add', tags, prettyPrint: false }, { db, config });
|
|
57
|
+
db.close();
|
|
58
|
+
if (result.isError) {
|
|
59
|
+
outputJson(wrapError(result.content[0].text, { code: 'TAGS_ADD_ERROR' }), 1);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const output = JSON.parse(result.content[0].text);
|
|
63
|
+
outputJson(wrapSuccess(output));
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
outputJson(wrapError(error instanceof Error ? error.message : String(error), {
|
|
67
|
+
code: 'TAGS_ADD_ERROR',
|
|
68
|
+
}), 1);
|
|
69
|
+
}
|
|
70
|
+
})();
|
|
71
|
+
}, 0);
|
|
72
|
+
return () => clearTimeout(timer);
|
|
73
|
+
}, [help.meta, jsonMode, options.config, path, tags]);
|
|
74
|
+
if (jsonMode) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
if (!path || !tags || tags.length === 0) {
|
|
78
|
+
return _jsx(Text, { children: help.text });
|
|
79
|
+
}
|
|
80
|
+
const { config } = loadCommandContext(options.config);
|
|
81
|
+
const [result, setResult] = React.useState(null);
|
|
82
|
+
const [error, setError] = React.useState(null);
|
|
83
|
+
React.useEffect(() => {
|
|
84
|
+
const run = async () => {
|
|
85
|
+
let db;
|
|
86
|
+
try {
|
|
87
|
+
const dbPath = join(config.dataPath, 'documents.sqlite');
|
|
88
|
+
db = initializeDatabase(dbPath);
|
|
89
|
+
createSchema(db);
|
|
90
|
+
const toolResult = await handleManageTags({ path, operation: 'add', tags, prettyPrint: false }, { db, config });
|
|
91
|
+
if (toolResult.isError) {
|
|
92
|
+
setError(toolResult.content[0].text);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
setResult(JSON.parse(toolResult.content[0].text));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
setError(err.message);
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
if (db) {
|
|
103
|
+
db.close();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
void run();
|
|
108
|
+
}, [config, path, tags]);
|
|
109
|
+
if (error) {
|
|
110
|
+
return _jsxs(Text, { color: "red", children: ["Error: ", error] });
|
|
111
|
+
}
|
|
112
|
+
if (!result) {
|
|
113
|
+
return _jsx(Text, { children: "Loading..." });
|
|
114
|
+
}
|
|
115
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Text, { color: "green", children: ["\u2713 Successfully added tags to ", result.path] }), _jsx(Text, { color: "cyan", bold: true, children: "Current tags:" }), result.tags.map((tag) => (_jsxs(Text, { children: [" \u2022 ", tag] }, tag)))] }));
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/docs/tags/add.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/docs/tags/index.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,yBAAyB,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,WAAW,IAAI,KAAK,CAAC,SAAS,CA4BrD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Text } from 'ink';
|
|
3
|
+
import { buildHelpOutput } from '../../../utils/cli-help.js';
|
|
4
|
+
export const description = 'Manage document tags';
|
|
5
|
+
export default function TagsCommand() {
|
|
6
|
+
const help = buildHelpOutput({
|
|
7
|
+
usage: 'limps docs tags <command>',
|
|
8
|
+
sections: [
|
|
9
|
+
{
|
|
10
|
+
title: 'Commands',
|
|
11
|
+
lines: [
|
|
12
|
+
'list <path> List tags in a document',
|
|
13
|
+
'add <path> Add tags to a document (use --tags)',
|
|
14
|
+
'remove <path> Remove tags from a document (use --tags)',
|
|
15
|
+
],
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
title: 'Examples',
|
|
19
|
+
lines: [
|
|
20
|
+
'limps docs tags list plans/0001-feature/000-agent.md',
|
|
21
|
+
'limps docs tags add plans/0001-feature/000-agent.md --tags reviewed urgent',
|
|
22
|
+
'limps docs tags remove plans/0001-feature/000-agent.md --tags urgent',
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
title: 'Help',
|
|
27
|
+
lines: ['Run `limps docs tags <command> --help` for more information.'],
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
});
|
|
31
|
+
return _jsx(Text, { children: help.text });
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/docs/tags/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,CAAC,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,WAAW;IACjC,MAAM,IAAI,GAAG,eAAe,CAAC;QAC3B,KAAK,EAAE,2BAA2B;QAClC,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE;oBACL,6CAA6C;oBAC7C,yDAAyD;oBACzD,8DAA8D;iBAC/D;aACF;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE;oBACL,sDAAsD;oBACtD,4EAA4E;oBAC5E,sEAAsE;iBACvE;aACF;YACD;gBACE,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,CAAC,8DAA8D,CAAC;aACxE;SACF;KACF,CAAC,CAAC;IAEH,OAAO,KAAC,IAAI,cAAE,IAAI,CAAC,IAAI,GAAQ,CAAC;AAClC,CAAC"}
|