@sudosandwich/limps 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -3
- package/dist/cli/config-cmd.d.ts +75 -0
- package/dist/cli/config-cmd.d.ts.map +1 -1
- package/dist/cli/config-cmd.js +329 -1
- package/dist/cli/config-cmd.js.map +1 -1
- package/dist/cli/init-project.d.ts.map +1 -1
- package/dist/cli/init-project.js +9 -0
- package/dist/cli/init-project.js.map +1 -1
- package/dist/cli/mcp-client-adapter.d.ts +77 -0
- package/dist/cli/mcp-client-adapter.d.ts.map +1 -0
- package/dist/cli/mcp-client-adapter.js +208 -0
- package/dist/cli/mcp-client-adapter.js.map +1 -0
- package/dist/cli/next-task.d.ts +36 -9
- package/dist/cli/next-task.d.ts.map +1 -1
- package/dist/cli/next-task.js +95 -26
- package/dist/cli/next-task.js.map +1 -1
- package/dist/cli.js +33 -17
- package/dist/cli.js.map +1 -1
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +1 -1
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/config/sync-mcp.d.ts +19 -0
- package/dist/commands/config/sync-mcp.d.ts.map +1 -0
- package/dist/commands/config/sync-mcp.js +149 -0
- package/dist/commands/config/sync-mcp.js.map +1 -0
- package/dist/commands/config/update.d.ts +14 -0
- package/dist/commands/config/update.d.ts.map +1 -0
- package/dist/commands/config/update.js +24 -0
- package/dist/commands/config/update.js.map +1 -0
- package/dist/commands/serve.d.ts +6 -0
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +14 -19
- package/dist/commands/serve.js.map +1 -1
- package/dist/components/Confirm.d.ts +13 -0
- package/dist/components/Confirm.d.ts.map +1 -0
- package/dist/components/Confirm.js +44 -0
- package/dist/components/Confirm.js.map +1 -0
- package/dist/config.d.ts +58 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +74 -0
- package/dist/config.js.map +1 -1
- package/dist/server-main.d.ts.map +1 -1
- package/dist/server-main.js +2 -2
- package/dist/server-main.js.map +1 -1
- package/dist/tools/process-doc.d.ts +7 -0
- package/dist/tools/process-doc.d.ts.map +1 -1
- package/dist/tools/process-doc.js +45 -26
- package/dist/tools/process-doc.js.map +1 -1
- package/dist/tools/process-docs.d.ts +12 -0
- package/dist/tools/process-docs.d.ts.map +1 -1
- package/dist/tools/process-docs.js +44 -25
- package/dist/tools/process-docs.js.map +1 -1
- package/dist/utils/llm-policy.d.ts +16 -0
- package/dist/utils/llm-policy.d.ts.map +1 -0
- package/dist/utils/llm-policy.js +25 -0
- package/dist/utils/llm-policy.js.map +1 -0
- package/dist/watcher.d.ts +9 -1
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +30 -1
- package/dist/watcher.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-task.js","sourceRoot":"","sources":["../../src/cli/next-task.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"next-task.js","sourceRoot":"","sources":["../../src/cli/next-task.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -2,21 +2,37 @@
|
|
|
2
2
|
import Pastel from 'pastel';
|
|
3
3
|
import updateNotifier from 'update-notifier';
|
|
4
4
|
import { getPackageVersion, getPackageName } from './utils/version.js';
|
|
5
|
-
|
|
6
|
-
//
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
5
|
+
import { startMcpServer } from './server-main.js';
|
|
6
|
+
// Check if running serve command - needs clean stdio, bypass Pastel/Ink
|
|
7
|
+
const args = process.argv.slice(2);
|
|
8
|
+
if (args[0] === 'serve') {
|
|
9
|
+
// Parse --config option
|
|
10
|
+
const configIndex = args.indexOf('--config');
|
|
11
|
+
const configPath = configIndex !== -1 ? args[configIndex + 1] : undefined;
|
|
12
|
+
// Run server directly without Ink's terminal management
|
|
13
|
+
console.error('MCP Planning Server running on stdio');
|
|
14
|
+
startMcpServer(configPath).catch((err) => {
|
|
15
|
+
console.error(`Server error: ${err.message}`);
|
|
16
|
+
process.exit(1);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
// Initialize update notifier for automatic update checks
|
|
21
|
+
// This runs asynchronously in the background and won't block CLI startup
|
|
22
|
+
const pkg = {
|
|
23
|
+
name: getPackageName(),
|
|
24
|
+
version: getPackageVersion(),
|
|
25
|
+
};
|
|
26
|
+
updateNotifier({
|
|
27
|
+
pkg,
|
|
28
|
+
updateCheckInterval: 1000 * 60 * 60 * 24 * 7, // Check once per week
|
|
29
|
+
}).notify();
|
|
30
|
+
const app = new Pastel({
|
|
31
|
+
importMeta: import.meta,
|
|
32
|
+
name: 'limps',
|
|
33
|
+
version: getPackageVersion(),
|
|
34
|
+
description: 'Local Intelligent MCP Planning Server',
|
|
35
|
+
});
|
|
36
|
+
await app.run();
|
|
37
|
+
}
|
|
22
38
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,wEAAwE;AACxE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IACxB,wBAAwB;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1E,wDAAwD;IACxD,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACtD,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;QAC9C,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,yDAAyD;IACzD,yEAAyE;IACzE,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,cAAc,EAAE;QACtB,OAAO,EAAE,iBAAiB,EAAE;KAC7B,CAAC;IAEF,cAAc,CAAC;QACb,GAAG;QACH,mBAAmB,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,sBAAsB;KACrE,CAAC,CAAC,MAAM,EAAE,CAAC;IAEZ,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,iBAAiB,EAAE;QAC5B,WAAW,EAAE,uCAAuC;KACrD,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,aAAa,IAAI,KAAK,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,aAAa,IAAI,KAAK,CAAC,SAAS,CAuBvD"}
|
|
@@ -2,6 +2,6 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Text } from 'ink';
|
|
3
3
|
export const description = 'Manage project configuration';
|
|
4
4
|
export default function ConfigCommand() {
|
|
5
|
-
return (_jsxs(Text, { children: ["Usage: limps config ", '<command>', '\n', '\n', "Commands:", '\n', ' ', "list Show all registered projects", '\n', ' ', "use ", '<name>', " Set the current/default project", '\n', ' ', "show Display resolved configuration values", '\n', ' ', "path Print the resolved config file path", '\n', ' ', "add ", '<name>', " ", '<path>', " Register an existing config file", '\n', ' ', "remove ", '<name>', " Unregister a project (keeps files)", '\n', ' ', "set ", '<path>', " Set current from config path (auto-registers)", '\n', ' ', "discover Find and register configs in default locations", '\n', '\n', "Run `limps config ", '<command>', " --help` for more information."] }));
|
|
5
|
+
return (_jsxs(Text, { children: ["Usage: limps config ", '<command>', '\n', '\n', "Commands:", '\n', ' ', "list Show all registered projects", '\n', ' ', "use ", '<name>', " Set the current/default project", '\n', ' ', "show Display resolved configuration values", '\n', ' ', "path Print the resolved config file path", '\n', ' ', "add ", '<name>', " ", '<path>', " Register an existing config file", '\n', ' ', "sync-mcp [--projects ", '<names>', "] [--client ", '<claude|cursor|claude-code|all>', "] [--print] [-f] Add/update limps projects in MCP client configs (default: all clients)", '\n', ' ', "update ", '<name>', " [--plans-path ", '<path>', "] [--docs-path ", '<path>', "] Update project paths", '\n', ' ', "remove ", '<name>', " Unregister a project (keeps files)", '\n', ' ', "set ", '<path>', " Set current from config path (auto-registers)", '\n', ' ', "discover Find and register configs in default locations", '\n', '\n', "Run `limps config ", '<command>', " --help` for more information."] }));
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/config/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,MAAM,CAAC,MAAM,WAAW,GAAG,8BAA8B,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,aAAa;IACnC,OAAO,CACL,MAAC,IAAI,uCACkB,WAAW,EAC/B,IAAI,EACJ,IAAI,eACK,IAAI,EACb,IAAI,uCAAmC,IAAI,EAC3C,IAAI,UAAM,QAAQ,sCAAkC,IAAI,EACxD,IAAI,gDAA4C,IAAI,EACpD,IAAI,8CAA0C,IAAI,EAClD,IAAI,UAAM,QAAQ,OAAG,QAAQ,uCAAmC,IAAI,EACpE,IAAI,aAAS,QAAQ,yCAAqC,IAAI,EAC9D,IAAI,UAAM,QAAQ,oDAAgD,IAAI,EACtE,IAAI,6DAAyD,IAAI,EACjE,IAAI,wBACc,WAAW,sCACzB,CACR,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/config/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,MAAM,CAAC,MAAM,WAAW,GAAG,8BAA8B,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,aAAa;IACnC,OAAO,CACL,MAAC,IAAI,uCACkB,WAAW,EAC/B,IAAI,EACJ,IAAI,eACK,IAAI,EACb,IAAI,uCAAmC,IAAI,EAC3C,IAAI,UAAM,QAAQ,sCAAkC,IAAI,EACxD,IAAI,gDAA4C,IAAI,EACpD,IAAI,8CAA0C,IAAI,EAClD,IAAI,UAAM,QAAQ,OAAG,QAAQ,uCAAmC,IAAI,EACpE,IAAI,2BAAuB,SAAS,kBAAc,iCAAiC,6FACE,IAAI,EACzF,IAAI,aAAS,QAAQ,qBAAiB,QAAQ,qBAAiB,QAAQ,4BAClE,IAAI,EACT,IAAI,aAAS,QAAQ,yCAAqC,IAAI,EAC9D,IAAI,UAAM,QAAQ,oDAAgD,IAAI,EACtE,IAAI,6DAAyD,IAAI,EACjE,IAAI,wBACc,WAAW,sCACzB,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const description = "Add or update all registered limps projects in MCP client configs (default: all projects, all clients)";
|
|
3
|
+
export declare const options: z.ZodObject<{
|
|
4
|
+
projects: z.ZodOptional<z.ZodString>;
|
|
5
|
+
client: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
6
|
+
cursor: "cursor";
|
|
7
|
+
all: "all";
|
|
8
|
+
claude: "claude";
|
|
9
|
+
"claude-code": "claude-code";
|
|
10
|
+
}>>>;
|
|
11
|
+
print: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
+
force: z.ZodOptional<z.ZodBoolean>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
interface Props {
|
|
15
|
+
options: z.infer<typeof options>;
|
|
16
|
+
}
|
|
17
|
+
export default function ConfigSyncMcpCommand({ options }: Props): React.ReactNode;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=sync-mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-mcp.d.ts","sourceRoot":"","sources":["../../../src/commands/config/sync-mcp.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,WAAW,2GACkF,CAAC;AAE3G,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,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAmJhF"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Text, Box } from 'ink';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { useState, useEffect } from 'react';
|
|
5
|
+
import { configAddClaude, configAddCursor, configAddClaudeCode, generateConfigForPrint, } from '../../cli/config-cmd.js';
|
|
6
|
+
import { resolveConfigPath } from '../../utils/config-resolver.js';
|
|
7
|
+
import { getAdapter } from '../../cli/mcp-client-adapter.js';
|
|
8
|
+
import { Confirm } from '../../components/Confirm.js';
|
|
9
|
+
import { listProjects } from '../../cli/registry.js';
|
|
10
|
+
export const description = 'Add or update all registered limps projects in MCP client configs (default: all projects, all clients)';
|
|
11
|
+
export const options = z.object({
|
|
12
|
+
projects: z
|
|
13
|
+
.string()
|
|
14
|
+
.optional()
|
|
15
|
+
.describe('Comma-separated list of project names to add (default: all registered projects)'),
|
|
16
|
+
client: z
|
|
17
|
+
.enum(['claude', 'cursor', 'claude-code', 'all'])
|
|
18
|
+
.optional()
|
|
19
|
+
.default('all')
|
|
20
|
+
.describe('MCP client to configure (claude, cursor, claude-code, or all). Default: all'),
|
|
21
|
+
print: z
|
|
22
|
+
.boolean()
|
|
23
|
+
.optional()
|
|
24
|
+
.describe('Print config JSON instead of writing to files (for unsupported clients)'),
|
|
25
|
+
force: z.boolean().optional().describe('Skip confirmation prompt (-f)'),
|
|
26
|
+
});
|
|
27
|
+
export default function ConfigSyncMcpCommand({ options }) {
|
|
28
|
+
// If force is set, skip confirmation
|
|
29
|
+
const [confirmed, setConfirmed] = useState(options.force ? true : null);
|
|
30
|
+
const [results, setResults] = useState([]);
|
|
31
|
+
const [error, setError] = useState(null);
|
|
32
|
+
const projectFilter = options.projects
|
|
33
|
+
? options.projects
|
|
34
|
+
.split(',')
|
|
35
|
+
.map((p) => p.trim())
|
|
36
|
+
.filter((p) => p.length > 0)
|
|
37
|
+
: undefined;
|
|
38
|
+
// Build warning message
|
|
39
|
+
const allProjects = listProjects();
|
|
40
|
+
const projectsToShow = projectFilter
|
|
41
|
+
? allProjects.filter((p) => projectFilter.includes(p.name))
|
|
42
|
+
: allProjects;
|
|
43
|
+
const clientsToShow = [];
|
|
44
|
+
if (options.client === 'claude' || options.client === 'all') {
|
|
45
|
+
clientsToShow.push('Claude Desktop');
|
|
46
|
+
}
|
|
47
|
+
if (options.client === 'cursor' || options.client === 'all') {
|
|
48
|
+
clientsToShow.push('Cursor');
|
|
49
|
+
}
|
|
50
|
+
if (options.client === 'claude-code' || options.client === 'all') {
|
|
51
|
+
clientsToShow.push('Claude Code');
|
|
52
|
+
}
|
|
53
|
+
const warningMessage = `This will add/update ${projectsToShow.length} project(s) (${projectsToShow.map((p) => p.name).join(', ')}) in ${clientsToShow.join(', ')} config files.`;
|
|
54
|
+
// If --print, just output the JSON format (no confirmation needed)
|
|
55
|
+
if (options.print) {
|
|
56
|
+
try {
|
|
57
|
+
const printResults = [];
|
|
58
|
+
if (options.client === 'claude' || options.client === 'all') {
|
|
59
|
+
try {
|
|
60
|
+
const adapter = getAdapter('claude');
|
|
61
|
+
const output = generateConfigForPrint(adapter, () => resolveConfigPath(), projectFilter);
|
|
62
|
+
printResults.push(output);
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
printResults.push(`Claude Desktop: Error - ${err.message}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (options.client === 'cursor' || options.client === 'all') {
|
|
69
|
+
try {
|
|
70
|
+
const adapter = getAdapter('cursor');
|
|
71
|
+
const output = generateConfigForPrint(adapter, () => resolveConfigPath(), projectFilter);
|
|
72
|
+
printResults.push(output);
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
printResults.push(`Cursor: Error - ${err.message}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (options.client === 'claude-code' || options.client === 'all') {
|
|
79
|
+
try {
|
|
80
|
+
const adapter = getAdapter('claude-code');
|
|
81
|
+
const output = generateConfigForPrint(adapter, () => resolveConfigPath(), projectFilter);
|
|
82
|
+
printResults.push(output);
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
printResults.push(`Claude Code: Error - ${err.message}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return _jsx(Text, { children: printResults.join('\n\n') });
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
return _jsxs(Text, { color: "red", children: ["Error: ", err.message] });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// Execute the operation when confirmed or forced
|
|
95
|
+
useEffect(() => {
|
|
96
|
+
if ((confirmed === true || options.force) && results.length === 0 && error === null) {
|
|
97
|
+
try {
|
|
98
|
+
const outputResults = [];
|
|
99
|
+
if (options.client === 'claude' || options.client === 'all') {
|
|
100
|
+
try {
|
|
101
|
+
const output = configAddClaude(() => resolveConfigPath(), projectFilter);
|
|
102
|
+
outputResults.push(output);
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
outputResults.push(`Claude Desktop: Error - ${err.message}`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (options.client === 'cursor' || options.client === 'all') {
|
|
109
|
+
try {
|
|
110
|
+
const output = configAddCursor(() => resolveConfigPath(), projectFilter);
|
|
111
|
+
outputResults.push(output);
|
|
112
|
+
}
|
|
113
|
+
catch (err) {
|
|
114
|
+
outputResults.push(`Cursor: Error - ${err.message}`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (options.client === 'claude-code' || options.client === 'all') {
|
|
118
|
+
try {
|
|
119
|
+
const output = configAddClaudeCode(() => resolveConfigPath(), projectFilter);
|
|
120
|
+
outputResults.push(output);
|
|
121
|
+
}
|
|
122
|
+
catch (err) {
|
|
123
|
+
outputResults.push(`Claude Code: Error - ${err.message}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
setResults(outputResults);
|
|
127
|
+
}
|
|
128
|
+
catch (err) {
|
|
129
|
+
setError(err.message);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}, [confirmed, options.force, options.client, projectFilter]);
|
|
133
|
+
if (error) {
|
|
134
|
+
return _jsxs(Text, { color: "red", children: ["Error: ", error] });
|
|
135
|
+
}
|
|
136
|
+
if (results.length > 0) {
|
|
137
|
+
return _jsx(Text, { children: results.join('\n\n') });
|
|
138
|
+
}
|
|
139
|
+
if (confirmed === false) {
|
|
140
|
+
return (_jsx(Box, { children: _jsx(Text, { color: "yellow", children: "Operation cancelled." }) }));
|
|
141
|
+
}
|
|
142
|
+
// Show confirmation prompt (unless force flag is set)
|
|
143
|
+
if (!options.force) {
|
|
144
|
+
return (_jsx(Confirm, { message: warningMessage, onConfirm: () => setConfirmed(true), onCancel: () => setConfirmed(false), defaultYes: false }));
|
|
145
|
+
}
|
|
146
|
+
// Force mode - show loading or execute
|
|
147
|
+
return (_jsx(Box, { children: _jsx(Text, { children: "Updating configs..." }) }));
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=sync-mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-mcp.js","sourceRoot":"","sources":["../../../src/commands/config/sync-mcp.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const description = "Update a project configuration (plansPath, docsPaths)";
|
|
3
|
+
export declare const args: z.ZodTuple<[z.ZodString], null>;
|
|
4
|
+
export declare const options: z.ZodObject<{
|
|
5
|
+
plansPath: z.ZodOptional<z.ZodString>;
|
|
6
|
+
docsPath: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
interface Props {
|
|
9
|
+
args: z.infer<typeof args>;
|
|
10
|
+
options: z.infer<typeof options>;
|
|
11
|
+
}
|
|
12
|
+
export default function ConfigUpdateCommand({ args, options }: Props): React.ReactNode;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/config/update.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,WAAW,0DAA0D,CAAC;AAEnF,eAAO,MAAM,IAAI,iCAA2D,CAAC;AAE7E,eAAO,MAAM,OAAO;;;iBAGlB,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,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAYrF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Text } from 'ink';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { configUpdate } from '../../cli/config-cmd.js';
|
|
5
|
+
export const description = 'Update a project configuration (plansPath, docsPaths)';
|
|
6
|
+
export const args = z.tuple([z.string().describe('Project name to update')]);
|
|
7
|
+
export const options = z.object({
|
|
8
|
+
plansPath: z.string().optional().describe('New plans directory path'),
|
|
9
|
+
docsPath: z.string().optional().describe('New docs directory path (replaces docsPaths array)'),
|
|
10
|
+
});
|
|
11
|
+
export default function ConfigUpdateCommand({ args, options }) {
|
|
12
|
+
const [projectName] = args;
|
|
13
|
+
try {
|
|
14
|
+
const output = configUpdate(projectName, {
|
|
15
|
+
plansPath: options.plansPath,
|
|
16
|
+
docsPath: options.docsPath,
|
|
17
|
+
});
|
|
18
|
+
return _jsx(Text, { color: "green", children: output });
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
return _jsxs(Text, { color: "red", children: ["Error: ", error.message] });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/config/update.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,uDAAuD,CAAC;AAEnF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;CAC/F,CAAC,CAAC;AAOH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAS;IAClE,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE;YACvC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QACH,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,MAAM,GAAQ,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAU,KAAe,CAAC,OAAO,IAAQ,CAAC;IACpE,CAAC;AACH,CAAC"}
|
package/dist/commands/serve.d.ts
CHANGED
|
@@ -6,6 +6,12 @@ export declare const options: z.ZodObject<{
|
|
|
6
6
|
interface Props {
|
|
7
7
|
options: z.infer<typeof options>;
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* MCP Server command.
|
|
11
|
+
* IMPORTANT: This command must NOT render anything to stdout.
|
|
12
|
+
* MCP servers use stdio transport and stdout must only contain JSON-RPC messages.
|
|
13
|
+
* All status/error messages go to stderr via console.error().
|
|
14
|
+
*/
|
|
9
15
|
export default function ServeCommand({ options }: Props): React.ReactNode;
|
|
10
16
|
export {};
|
|
11
17
|
//# sourceMappingURL=serve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW,yBAAyB,CAAC;AAElD,eAAO,MAAM,OAAO;;iBAElB,CAAC;AAEH,UAAU,KAAK;IACb,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAaxE"}
|
package/dist/commands/serve.js
CHANGED
|
@@ -1,31 +1,26 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from 'ink';
|
|
3
1
|
import { z } from 'zod';
|
|
4
|
-
import { useEffect
|
|
2
|
+
import { useEffect } from 'react';
|
|
5
3
|
import { startMcpServer } from '../server-main.js';
|
|
6
4
|
export const description = 'Start the MCP server';
|
|
7
5
|
export const options = z.object({
|
|
8
6
|
config: z.string().optional().describe('Path to config file'),
|
|
9
7
|
});
|
|
8
|
+
/**
|
|
9
|
+
* MCP Server command.
|
|
10
|
+
* IMPORTANT: This command must NOT render anything to stdout.
|
|
11
|
+
* MCP servers use stdio transport and stdout must only contain JSON-RPC messages.
|
|
12
|
+
* All status/error messages go to stderr via console.error().
|
|
13
|
+
*/
|
|
10
14
|
export default function ServeCommand({ options }) {
|
|
11
|
-
const [status, setStatus] = useState('starting');
|
|
12
|
-
const [error, setError] = useState(null);
|
|
13
15
|
useEffect(() => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
.
|
|
19
|
-
setStatus('error');
|
|
20
|
-
setError(err.message);
|
|
16
|
+
// All output goes to stderr, not stdout
|
|
17
|
+
console.error('MCP Planning Server running on stdio');
|
|
18
|
+
startMcpServer(options.config).catch((err) => {
|
|
19
|
+
console.error(`Server error: ${err.message}`);
|
|
20
|
+
process.exit(1);
|
|
21
21
|
});
|
|
22
22
|
}, [options.config]);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
if (status === 'starting') {
|
|
27
|
-
return _jsx(Text, { children: "Starting MCP server..." });
|
|
28
|
-
}
|
|
29
|
-
return _jsx(Text, { color: "green", children: "MCP server running" });
|
|
23
|
+
// Return null - no stdout output allowed for MCP servers
|
|
24
|
+
return null;
|
|
30
25
|
}
|
|
31
26
|
//# sourceMappingURL=serve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,CAAC,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CAC9D,CAAC,CAAC;AAMH;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,OAAO,EAAS;IACrD,SAAS,CAAC,GAAG,EAAE;QACb,wCAAwC;QACxC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAEtD,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YAClD,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAErB,yDAAyD;IACzD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive confirmation component using Ink.
|
|
3
|
+
* Displays a prompt and waits for user input (y/n).
|
|
4
|
+
*/
|
|
5
|
+
interface ConfirmProps {
|
|
6
|
+
message: string;
|
|
7
|
+
onConfirm: () => void;
|
|
8
|
+
onCancel: () => void;
|
|
9
|
+
defaultYes?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function Confirm({ message, onConfirm, onCancel, defaultYes, }: ConfirmProps): React.ReactNode;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=Confirm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Confirm.d.ts","sourceRoot":"","sources":["../../src/components/Confirm.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,UAAkB,GACnB,EAAE,YAAY,GAAG,KAAK,CAAC,SAAS,CA2DhC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Interactive confirmation component using Ink.
|
|
4
|
+
* Displays a prompt and waits for user input (y/n).
|
|
5
|
+
*/
|
|
6
|
+
import { Box, Text } from 'ink';
|
|
7
|
+
import { useInput } from 'ink';
|
|
8
|
+
import { useState } from 'react';
|
|
9
|
+
export function Confirm({ message, onConfirm, onCancel, defaultYes = false, }) {
|
|
10
|
+
const [confirmed, setConfirmed] = useState(null);
|
|
11
|
+
useInput((input, key) => {
|
|
12
|
+
// Don't process input if already confirmed/cancelled
|
|
13
|
+
if (confirmed !== null) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (key.return) {
|
|
17
|
+
// Enter key - use default
|
|
18
|
+
const result = defaultYes;
|
|
19
|
+
setConfirmed(result);
|
|
20
|
+
if (result) {
|
|
21
|
+
onConfirm();
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
onCancel();
|
|
25
|
+
}
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
// Handle y/Y for yes
|
|
29
|
+
if (input.toLowerCase() === 'y') {
|
|
30
|
+
setConfirmed(true);
|
|
31
|
+
onConfirm();
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
// Handle n/N or Escape for no
|
|
35
|
+
if (input.toLowerCase() === 'n' || key.escape) {
|
|
36
|
+
setConfirmed(false);
|
|
37
|
+
onCancel();
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const defaultText = defaultYes ? 'Y/n' : 'y/N';
|
|
42
|
+
return (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: "yellow", bold: true, children: ["\u26A0\uFE0F ", message] }) }), _jsx(Box, { children: _jsxs(Text, { children: ["Continue? (", _jsx(Text, { color: "cyan", children: defaultText }), ")"] }) }), confirmed !== null && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: confirmed ? 'green' : 'red', children: confirmed ? '✓ Confirmed' : '✗ Cancelled' }) }))] }));
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=Confirm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Confirm.js","sourceRoot":"","sources":["../../src/components/Confirm.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AASjC,MAAM,UAAU,OAAO,CAAC,EACtB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,UAAU,GAAG,KAAK,GACL;IACb,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IAEjE,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,qDAAqD;QACrD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,0BAA0B;YAC1B,MAAM,MAAM,GAAG,UAAU,CAAC;YAC1B,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,MAAM,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YAChC,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,SAAS,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC9C,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,QAAQ,EAAE,CAAC;YACX,OAAO;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAE/C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,aACpC,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,oCACnB,OAAO,IACN,GACH,EACN,KAAC,GAAG,cACF,MAAC,IAAI,8BACQ,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,WAAW,GAAQ,SAC7C,GACH,EACL,SAAS,KAAK,IAAI,IAAI,CACrB,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,YACrC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,GACrC,GACH,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,12 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scoring weights for task prioritization.
|
|
3
|
+
*/
|
|
4
|
+
export interface ScoringWeights {
|
|
5
|
+
dependency: number;
|
|
6
|
+
priority: number;
|
|
7
|
+
workload: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Scoring biases for task prioritization.
|
|
11
|
+
* Biases add/subtract from the weighted score (-50 to +50 range recommended).
|
|
12
|
+
*/
|
|
13
|
+
export interface ScoringBiases {
|
|
14
|
+
plans?: Record<string, number>;
|
|
15
|
+
personas?: {
|
|
16
|
+
coder?: number;
|
|
17
|
+
reviewer?: number;
|
|
18
|
+
pm?: number;
|
|
19
|
+
customer?: number;
|
|
20
|
+
};
|
|
21
|
+
statuses?: {
|
|
22
|
+
GAP?: number;
|
|
23
|
+
WIP?: number;
|
|
24
|
+
BLOCKED?: number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
1
27
|
/**
|
|
2
28
|
* Server configuration interface.
|
|
3
29
|
*/
|
|
4
30
|
export interface ServerConfig {
|
|
31
|
+
configVersion?: number;
|
|
5
32
|
plansPath: string;
|
|
6
33
|
docsPaths?: string[];
|
|
7
34
|
fileExtensions?: string[];
|
|
8
35
|
dataPath: string;
|
|
36
|
+
scoring: {
|
|
37
|
+
weights: ScoringWeights;
|
|
38
|
+
biases: ScoringBiases;
|
|
39
|
+
};
|
|
9
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Current config schema version.
|
|
43
|
+
* Increment when making breaking changes that require migration.
|
|
44
|
+
*/
|
|
45
|
+
export declare const CURRENT_CONFIG_VERSION = 1;
|
|
46
|
+
/**
|
|
47
|
+
* Default scoring weights for task prioritization (initial config values).
|
|
48
|
+
*/
|
|
49
|
+
export declare const DEFAULT_SCORING_WEIGHTS: ScoringWeights;
|
|
50
|
+
/**
|
|
51
|
+
* Get scoring weights from config.
|
|
52
|
+
*
|
|
53
|
+
* @param config - Server configuration
|
|
54
|
+
* @returns Scoring weights
|
|
55
|
+
*/
|
|
56
|
+
export declare function getScoringWeights(config: ServerConfig): ScoringWeights;
|
|
57
|
+
/**
|
|
58
|
+
* Default scoring biases (initial config values).
|
|
59
|
+
*/
|
|
60
|
+
export declare const DEFAULT_SCORING_BIASES: ScoringBiases;
|
|
61
|
+
/**
|
|
62
|
+
* Get scoring biases from config.
|
|
63
|
+
*
|
|
64
|
+
* @param config - Server configuration
|
|
65
|
+
* @returns Scoring biases
|
|
66
|
+
*/
|
|
67
|
+
export declare function getScoringBiases(config: ServerConfig): ScoringBiases;
|
|
10
68
|
/**
|
|
11
69
|
* Default debounce delay for file watching (ms).
|
|
12
70
|
* Hardcoded - not user-configurable.
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACP,OAAO,EAAE,cAAc,CAAC;QACxB,MAAM,EAAE,aAAa,CAAC;KACvB,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAOxC;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAIrC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAEtE;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAAkB,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAEpE;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAiB1C;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAiE3D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,YAAY,CA2CtE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAS9D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAEhE"}
|