@cdoing/core 0.1.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/dist/agents/coordinator.d.ts +114 -0
- package/dist/agents/coordinator.d.ts.map +1 -0
- package/dist/agents/coordinator.js +158 -0
- package/dist/agents/coordinator.js.map +1 -0
- package/dist/context-providers/clipboard.d.ts +13 -0
- package/dist/context-providers/clipboard.d.ts.map +1 -0
- package/dist/context-providers/clipboard.js +53 -0
- package/dist/context-providers/clipboard.js.map +1 -0
- package/dist/context-providers/codebase.d.ts +46 -0
- package/dist/context-providers/codebase.d.ts.map +1 -0
- package/dist/context-providers/codebase.js +273 -0
- package/dist/context-providers/codebase.js.map +1 -0
- package/dist/context-providers/diff.d.ts +18 -0
- package/dist/context-providers/diff.d.ts.map +1 -0
- package/dist/context-providers/diff.js +63 -0
- package/dist/context-providers/diff.js.map +1 -0
- package/dist/context-providers/docs.d.ts +21 -0
- package/dist/context-providers/docs.d.ts.map +1 -0
- package/dist/context-providers/docs.js +180 -0
- package/dist/context-providers/docs.js.map +1 -0
- package/dist/context-providers/file-include.d.ts +13 -0
- package/dist/context-providers/file-include.d.ts.map +1 -0
- package/dist/context-providers/file-include.js +82 -0
- package/dist/context-providers/file-include.js.map +1 -0
- package/dist/context-providers/folder.d.ts +19 -0
- package/dist/context-providers/folder.d.ts.map +1 -0
- package/dist/context-providers/folder.js +130 -0
- package/dist/context-providers/folder.js.map +1 -0
- package/dist/context-providers/git.d.ts +19 -0
- package/dist/context-providers/git.d.ts.map +1 -0
- package/dist/context-providers/git.js +74 -0
- package/dist/context-providers/git.js.map +1 -0
- package/dist/context-providers/index.d.ts +26 -0
- package/dist/context-providers/index.d.ts.map +1 -0
- package/dist/context-providers/index.js +37 -0
- package/dist/context-providers/index.js.map +1 -0
- package/dist/context-providers/open-files.d.ts +25 -0
- package/dist/context-providers/open-files.d.ts.map +1 -0
- package/dist/context-providers/open-files.js +134 -0
- package/dist/context-providers/open-files.js.map +1 -0
- package/dist/context-providers/problems.d.ts +24 -0
- package/dist/context-providers/problems.d.ts.map +1 -0
- package/dist/context-providers/problems.js +97 -0
- package/dist/context-providers/problems.js.map +1 -0
- package/dist/context-providers/registry.d.ts +61 -0
- package/dist/context-providers/registry.d.ts.map +1 -0
- package/dist/context-providers/registry.js +92 -0
- package/dist/context-providers/registry.js.map +1 -0
- package/dist/context-providers/terminal.d.ts +25 -0
- package/dist/context-providers/terminal.d.ts.map +1 -0
- package/dist/context-providers/terminal.js +55 -0
- package/dist/context-providers/terminal.js.map +1 -0
- package/dist/context-providers/tree.d.ts +29 -0
- package/dist/context-providers/tree.d.ts.map +1 -0
- package/dist/context-providers/tree.js +172 -0
- package/dist/context-providers/tree.js.map +1 -0
- package/dist/context-providers/types.d.ts +72 -0
- package/dist/context-providers/types.d.ts.map +1 -0
- package/dist/context-providers/types.js +10 -0
- package/dist/context-providers/types.js.map +1 -0
- package/dist/context-providers/url.d.ts +27 -0
- package/dist/context-providers/url.d.ts.map +1 -0
- package/dist/context-providers/url.js +131 -0
- package/dist/context-providers/url.js.map +1 -0
- package/dist/effort/index.d.ts +78 -0
- package/dist/effort/index.d.ts.map +1 -0
- package/dist/effort/index.js +146 -0
- package/dist/effort/index.js.map +1 -0
- package/dist/hooks/index.d.ts +47 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +151 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +152 -0
- package/dist/index.js.map +1 -0
- package/dist/indexing/chunker.d.ts +25 -0
- package/dist/indexing/chunker.d.ts.map +1 -0
- package/dist/indexing/chunker.js +217 -0
- package/dist/indexing/chunker.js.map +1 -0
- package/dist/indexing/database.d.ts +49 -0
- package/dist/indexing/database.d.ts.map +1 -0
- package/dist/indexing/database.js +287 -0
- package/dist/indexing/database.js.map +1 -0
- package/dist/indexing/index.d.ts +9 -0
- package/dist/indexing/index.d.ts.map +1 -0
- package/dist/indexing/index.js +13 -0
- package/dist/indexing/index.js.map +1 -0
- package/dist/indexing/indexer.d.ts +63 -0
- package/dist/indexing/indexer.d.ts.map +1 -0
- package/dist/indexing/indexer.js +352 -0
- package/dist/indexing/indexer.js.map +1 -0
- package/dist/indexing/recent-edits-cache.d.ts +77 -0
- package/dist/indexing/recent-edits-cache.d.ts.map +1 -0
- package/dist/indexing/recent-edits-cache.js +123 -0
- package/dist/indexing/recent-edits-cache.js.map +1 -0
- package/dist/indexing/types.d.ts +39 -0
- package/dist/indexing/types.d.ts.map +1 -0
- package/dist/indexing/types.js +6 -0
- package/dist/indexing/types.js.map +1 -0
- package/dist/mcp/index.d.ts +33 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +37 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/manager.d.ts +123 -0
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +331 -0
- package/dist/mcp/manager.js.map +1 -0
- package/dist/oauth.d.ts +33 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +312 -0
- package/dist/oauth.js.map +1 -0
- package/dist/permissions/index.d.ts +216 -0
- package/dist/permissions/index.d.ts.map +1 -0
- package/dist/permissions/index.js +938 -0
- package/dist/permissions/index.js.map +1 -0
- package/dist/plan/index.d.ts +20 -0
- package/dist/plan/index.d.ts.map +1 -0
- package/dist/plan/index.js +24 -0
- package/dist/plan/index.js.map +1 -0
- package/dist/plan/manager.d.ts +101 -0
- package/dist/plan/manager.d.ts.map +1 -0
- package/dist/plan/manager.js +170 -0
- package/dist/plan/manager.js.map +1 -0
- package/dist/rules/index.d.ts +28 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +31 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/manager.d.ts +77 -0
- package/dist/rules/manager.d.ts.map +1 -0
- package/dist/rules/manager.js +279 -0
- package/dist/rules/manager.js.map +1 -0
- package/dist/rules/types.d.ts +34 -0
- package/dist/rules/types.d.ts.map +1 -0
- package/dist/rules/types.js +9 -0
- package/dist/rules/types.js.map +1 -0
- package/dist/sandbox/filesystem.d.ts +20 -0
- package/dist/sandbox/filesystem.d.ts.map +1 -0
- package/dist/sandbox/filesystem.js +141 -0
- package/dist/sandbox/filesystem.js.map +1 -0
- package/dist/sandbox/index.d.ts +4 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/index.js +8 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/sandbox/manager.d.ts +47 -0
- package/dist/sandbox/manager.d.ts.map +1 -0
- package/dist/sandbox/manager.js +220 -0
- package/dist/sandbox/manager.js.map +1 -0
- package/dist/sandbox/network.d.ts +14 -0
- package/dist/sandbox/network.d.ts.map +1 -0
- package/dist/sandbox/network.js +87 -0
- package/dist/sandbox/network.js.map +1 -0
- package/dist/sandbox/types.d.ts +42 -0
- package/dist/sandbox/types.d.ts.map +1 -0
- package/dist/sandbox/types.js +25 -0
- package/dist/sandbox/types.js.map +1 -0
- package/dist/tools/ast-edit.d.ts +57 -0
- package/dist/tools/ast-edit.d.ts.map +1 -0
- package/dist/tools/ast-edit.js +443 -0
- package/dist/tools/ast-edit.js.map +1 -0
- package/dist/tools/code-verify.d.ts +8 -0
- package/dist/tools/code-verify.d.ts.map +1 -0
- package/dist/tools/code-verify.js +159 -0
- package/dist/tools/code-verify.js.map +1 -0
- package/dist/tools/codebase-search.d.ts +17 -0
- package/dist/tools/codebase-search.d.ts.map +1 -0
- package/dist/tools/codebase-search.js +104 -0
- package/dist/tools/codebase-search.js.map +1 -0
- package/dist/tools/file-delete.d.ts +26 -0
- package/dist/tools/file-delete.d.ts.map +1 -0
- package/dist/tools/file-delete.js +179 -0
- package/dist/tools/file-delete.js.map +1 -0
- package/dist/tools/file-edit.d.ts +10 -0
- package/dist/tools/file-edit.d.ts.map +1 -0
- package/dist/tools/file-edit.js +138 -0
- package/dist/tools/file-edit.js.map +1 -0
- package/dist/tools/file-read.d.ts +12 -0
- package/dist/tools/file-read.d.ts.map +1 -0
- package/dist/tools/file-read.js +211 -0
- package/dist/tools/file-read.js.map +1 -0
- package/dist/tools/file-run.d.ts +10 -0
- package/dist/tools/file-run.d.ts.map +1 -0
- package/dist/tools/file-run.js +179 -0
- package/dist/tools/file-run.js.map +1 -0
- package/dist/tools/file-write.d.ts +10 -0
- package/dist/tools/file-write.d.ts.map +1 -0
- package/dist/tools/file-write.js +134 -0
- package/dist/tools/file-write.js.map +1 -0
- package/dist/tools/glob-search.d.ts +8 -0
- package/dist/tools/glob-search.d.ts.map +1 -0
- package/dist/tools/glob-search.js +108 -0
- package/dist/tools/glob-search.js.map +1 -0
- package/dist/tools/grep-search.d.ts +8 -0
- package/dist/tools/grep-search.d.ts.map +1 -0
- package/dist/tools/grep-search.js +139 -0
- package/dist/tools/grep-search.js.map +1 -0
- package/dist/tools/list-dir.d.ts +16 -0
- package/dist/tools/list-dir.d.ts.map +1 -0
- package/dist/tools/list-dir.js +183 -0
- package/dist/tools/list-dir.js.map +1 -0
- package/dist/tools/multi-edit.d.ts +16 -0
- package/dist/tools/multi-edit.d.ts.map +1 -0
- package/dist/tools/multi-edit.js +163 -0
- package/dist/tools/multi-edit.js.map +1 -0
- package/dist/tools/notebook-edit.d.ts +31 -0
- package/dist/tools/notebook-edit.d.ts.map +1 -0
- package/dist/tools/notebook-edit.js +321 -0
- package/dist/tools/notebook-edit.js.map +1 -0
- package/dist/tools/registry.d.ts +16 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +41 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/shell-exec.d.ts +12 -0
- package/dist/tools/shell-exec.d.ts.map +1 -0
- package/dist/tools/shell-exec.js +261 -0
- package/dist/tools/shell-exec.js.map +1 -0
- package/dist/tools/sub-agent-manager.d.ts +57 -0
- package/dist/tools/sub-agent-manager.d.ts.map +1 -0
- package/dist/tools/sub-agent-manager.js +153 -0
- package/dist/tools/sub-agent-manager.js.map +1 -0
- package/dist/tools/sub-agent-status.d.ts +12 -0
- package/dist/tools/sub-agent-status.d.ts.map +1 -0
- package/dist/tools/sub-agent-status.js +59 -0
- package/dist/tools/sub-agent-status.js.map +1 -0
- package/dist/tools/sub-agent-terminate.d.ts +12 -0
- package/dist/tools/sub-agent-terminate.d.ts.map +1 -0
- package/dist/tools/sub-agent-terminate.js +55 -0
- package/dist/tools/sub-agent-terminate.js.map +1 -0
- package/dist/tools/sub-agent.d.ts +34 -0
- package/dist/tools/sub-agent.d.ts.map +1 -0
- package/dist/tools/sub-agent.js +140 -0
- package/dist/tools/sub-agent.js.map +1 -0
- package/dist/tools/system-info.d.ts +24 -0
- package/dist/tools/system-info.d.ts.map +1 -0
- package/dist/tools/system-info.js +220 -0
- package/dist/tools/system-info.js.map +1 -0
- package/dist/tools/todo.d.ts +16 -0
- package/dist/tools/todo.d.ts.map +1 -0
- package/dist/tools/todo.js +144 -0
- package/dist/tools/todo.js.map +1 -0
- package/dist/tools/types.d.ts +20 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +3 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/view-diff.d.ts +11 -0
- package/dist/tools/view-diff.d.ts.map +1 -0
- package/dist/tools/view-diff.js +88 -0
- package/dist/tools/view-diff.js.map +1 -0
- package/dist/tools/view-repo-map.d.ts +18 -0
- package/dist/tools/view-repo-map.d.ts.map +1 -0
- package/dist/tools/view-repo-map.js +245 -0
- package/dist/tools/view-repo-map.js.map +1 -0
- package/dist/tools/web-fetch.d.ts +13 -0
- package/dist/tools/web-fetch.d.ts.map +1 -0
- package/dist/tools/web-fetch.js +106 -0
- package/dist/tools/web-fetch.js.map +1 -0
- package/dist/tools/web-search.d.ts +10 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js +106 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/utils/gitignore.d.ts +10 -0
- package/dist/utils/gitignore.d.ts.map +1 -0
- package/dist/utils/gitignore.js +104 -0
- package/dist/utils/gitignore.js.map +1 -0
- package/dist/utils/lazy-apply.d.ts +45 -0
- package/dist/utils/lazy-apply.d.ts.map +1 -0
- package/dist/utils/lazy-apply.js +164 -0
- package/dist/utils/lazy-apply.js.map +1 -0
- package/dist/utils/memory.d.ts +36 -0
- package/dist/utils/memory.d.ts.map +1 -0
- package/dist/utils/memory.js +136 -0
- package/dist/utils/memory.js.map +1 -0
- package/dist/utils/path-matching.d.ts +24 -0
- package/dist/utils/path-matching.d.ts.map +1 -0
- package/dist/utils/path-matching.js +116 -0
- package/dist/utils/path-matching.js.map +1 -0
- package/dist/utils/path-safety.d.ts +13 -0
- package/dist/utils/path-safety.d.ts.map +1 -0
- package/dist/utils/path-safety.js +54 -0
- package/dist/utils/path-safety.js.map +1 -0
- package/dist/utils/project-config.d.ts +18 -0
- package/dist/utils/project-config.d.ts.map +1 -0
- package/dist/utils/project-config.js +76 -0
- package/dist/utils/project-config.js.map +1 -0
- package/dist/utils/search-match.d.ts +63 -0
- package/dist/utils/search-match.d.ts.map +1 -0
- package/dist/utils/search-match.js +426 -0
- package/dist/utils/search-match.js.map +1 -0
- package/dist/utils/shell-paths.d.ts +17 -0
- package/dist/utils/shell-paths.d.ts.map +1 -0
- package/dist/utils/shell-paths.js +107 -0
- package/dist/utils/shell-paths.js.map +1 -0
- package/dist/utils/streaming-diff.d.ts +45 -0
- package/dist/utils/streaming-diff.d.ts.map +1 -0
- package/dist/utils/streaming-diff.js +230 -0
- package/dist/utils/streaming-diff.js.map +1 -0
- package/dist/utils/todo.d.ts +47 -0
- package/dist/utils/todo.d.ts.map +1 -0
- package/dist/utils/todo.js +102 -0
- package/dist/utils/todo.js.map +1 -0
- package/package.json +23 -0
- package/src/agents/coordinator.ts +240 -0
- package/src/context-providers/clipboard.ts +48 -0
- package/src/context-providers/codebase.ts +274 -0
- package/src/context-providers/diff.ts +66 -0
- package/src/context-providers/docs.ts +160 -0
- package/src/context-providers/file-include.ts +54 -0
- package/src/context-providers/folder.ts +106 -0
- package/src/context-providers/git.ts +72 -0
- package/src/context-providers/index.ts +26 -0
- package/src/context-providers/open-files.ts +113 -0
- package/src/context-providers/problems.ts +100 -0
- package/src/context-providers/registry.ts +99 -0
- package/src/context-providers/terminal.ts +58 -0
- package/src/context-providers/tree.ts +161 -0
- package/src/context-providers/types.ts +84 -0
- package/src/context-providers/url.ts +138 -0
- package/src/effort/index.ts +177 -0
- package/src/hooks/index.ts +148 -0
- package/src/index.ts +114 -0
- package/src/indexing/README.md +267 -0
- package/src/indexing/chunker.ts +206 -0
- package/src/indexing/database.ts +299 -0
- package/src/indexing/index.ts +15 -0
- package/src/indexing/indexer.ts +383 -0
- package/src/indexing/recent-edits-cache.ts +150 -0
- package/src/indexing/types.ts +44 -0
- package/src/mcp/index.ts +33 -0
- package/src/mcp/manager.ts +385 -0
- package/src/oauth.ts +330 -0
- package/src/permissions/index.ts +1011 -0
- package/src/plan/index.ts +20 -0
- package/src/plan/manager.ts +233 -0
- package/src/rules/index.ts +28 -0
- package/src/rules/manager.ts +276 -0
- package/src/rules/types.ts +40 -0
- package/src/sandbox/filesystem.ts +135 -0
- package/src/sandbox/index.ts +9 -0
- package/src/sandbox/manager.ts +213 -0
- package/src/sandbox/network.ts +101 -0
- package/src/sandbox/types.ts +63 -0
- package/src/tools/ast-edit.ts +493 -0
- package/src/tools/code-verify.ts +143 -0
- package/src/tools/codebase-search.ts +117 -0
- package/src/tools/file-delete.ts +155 -0
- package/src/tools/file-edit.ts +115 -0
- package/src/tools/file-read.ts +195 -0
- package/src/tools/file-run.ts +158 -0
- package/src/tools/file-write.ts +104 -0
- package/src/tools/glob-search.ts +80 -0
- package/src/tools/grep-search.ts +120 -0
- package/src/tools/list-dir.ts +172 -0
- package/src/tools/multi-edit.ts +138 -0
- package/src/tools/notebook-edit.ts +342 -0
- package/src/tools/registry.ts +43 -0
- package/src/tools/shell-exec.ts +251 -0
- package/src/tools/sub-agent-manager.ts +183 -0
- package/src/tools/sub-agent-status.ts +67 -0
- package/src/tools/sub-agent-terminate.ts +62 -0
- package/src/tools/sub-agent.ts +162 -0
- package/src/tools/system-info.ts +248 -0
- package/src/tools/todo.ts +149 -0
- package/src/tools/types.ts +21 -0
- package/src/tools/view-diff.ts +99 -0
- package/src/tools/view-repo-map.ts +249 -0
- package/src/tools/web-fetch.ts +118 -0
- package/src/tools/web-search.ts +129 -0
- package/src/utils/gitignore.ts +73 -0
- package/src/utils/lazy-apply.ts +189 -0
- package/src/utils/memory.ts +124 -0
- package/src/utils/path-matching.ts +84 -0
- package/src/utils/path-safety.ts +19 -0
- package/src/utils/project-config.ts +41 -0
- package/src/utils/search-match.ts +495 -0
- package/src/utils/shell-paths.ts +79 -0
- package/src/utils/streaming-diff.ts +260 -0
- package/src/utils/todo.ts +115 -0
- package/tsconfig.json +18 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan Mode — Read-only planning before execution.
|
|
3
|
+
*
|
|
4
|
+
* When activated (/plan command), the agent:
|
|
5
|
+
* 1. Analyzes the request using read-only tools (file_read, grep, glob)
|
|
6
|
+
* 2. Generates a step-by-step implementation plan as markdown
|
|
7
|
+
* 3. Presents the plan for user review
|
|
8
|
+
* 4. User can approve, edit, or reject before execution
|
|
9
|
+
*
|
|
10
|
+
* The plan is stored as a structured object so it can be:
|
|
11
|
+
* - Displayed as an interactive checklist in VS Code
|
|
12
|
+
* - Edited by the user before approval
|
|
13
|
+
* - Executed step-by-step with progress tracking
|
|
14
|
+
*
|
|
15
|
+
* Learning note: Plan mode is a form of "chain of thought" for the AI.
|
|
16
|
+
* By forcing the agent to plan before acting, it produces better results
|
|
17
|
+
* and gives the user a chance to course-correct before any files change.
|
|
18
|
+
*/
|
|
19
|
+
export { PlanManager, type Plan, type PlanStep, type PlanStatus } from "./manager";
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plan/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Plan Mode — Read-only planning before execution.
|
|
4
|
+
*
|
|
5
|
+
* When activated (/plan command), the agent:
|
|
6
|
+
* 1. Analyzes the request using read-only tools (file_read, grep, glob)
|
|
7
|
+
* 2. Generates a step-by-step implementation plan as markdown
|
|
8
|
+
* 3. Presents the plan for user review
|
|
9
|
+
* 4. User can approve, edit, or reject before execution
|
|
10
|
+
*
|
|
11
|
+
* The plan is stored as a structured object so it can be:
|
|
12
|
+
* - Displayed as an interactive checklist in VS Code
|
|
13
|
+
* - Edited by the user before approval
|
|
14
|
+
* - Executed step-by-step with progress tracking
|
|
15
|
+
*
|
|
16
|
+
* Learning note: Plan mode is a form of "chain of thought" for the AI.
|
|
17
|
+
* By forcing the agent to plan before acting, it produces better results
|
|
18
|
+
* and gives the user a chance to course-correct before any files change.
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.PlanManager = void 0;
|
|
22
|
+
var manager_1 = require("./manager");
|
|
23
|
+
Object.defineProperty(exports, "PlanManager", { enumerable: true, get: function () { return manager_1.PlanManager; } });
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plan/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAEH,qCAAmF;AAA1E,sGAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan Manager — Creates, stores, and executes implementation plans.
|
|
3
|
+
*
|
|
4
|
+
* A plan is a structured breakdown of what the agent intends to do.
|
|
5
|
+
* Each step has a description, status, and optional tool call info.
|
|
6
|
+
*
|
|
7
|
+
* Learning note: This follows the Command Pattern — each plan step
|
|
8
|
+
* is a serializable command that can be reviewed before execution.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Status of the overall plan.
|
|
12
|
+
*/
|
|
13
|
+
export type PlanStatus = "drafting" | "pending_approval" | "approved" | "executing" | "completed" | "rejected";
|
|
14
|
+
/**
|
|
15
|
+
* A single step in the plan.
|
|
16
|
+
*/
|
|
17
|
+
export interface PlanStep {
|
|
18
|
+
/** Step number (1-based) */
|
|
19
|
+
number: number;
|
|
20
|
+
/** What this step will do (human-readable) */
|
|
21
|
+
description: string;
|
|
22
|
+
/** Which tool to use (e.g., "file_edit", "shell_exec") */
|
|
23
|
+
tool?: string;
|
|
24
|
+
/** Target file or resource */
|
|
25
|
+
target?: string;
|
|
26
|
+
/** Current status of this step */
|
|
27
|
+
status: "pending" | "in_progress" | "completed" | "skipped";
|
|
28
|
+
/** Optional details or notes */
|
|
29
|
+
details?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A complete implementation plan.
|
|
33
|
+
*/
|
|
34
|
+
export interface Plan {
|
|
35
|
+
/** Unique plan ID */
|
|
36
|
+
id: string;
|
|
37
|
+
/** One-line summary of what the plan achieves */
|
|
38
|
+
summary: string;
|
|
39
|
+
/** Ordered list of steps */
|
|
40
|
+
steps: PlanStep[];
|
|
41
|
+
/** Current plan status */
|
|
42
|
+
status: PlanStatus;
|
|
43
|
+
/** When the plan was created */
|
|
44
|
+
createdAt: number;
|
|
45
|
+
/** The original user request that generated this plan */
|
|
46
|
+
originalRequest: string;
|
|
47
|
+
}
|
|
48
|
+
export declare class PlanManager {
|
|
49
|
+
/** The current active plan (only one at a time) */
|
|
50
|
+
private currentPlan;
|
|
51
|
+
/**
|
|
52
|
+
* Create a new plan from the agent's analysis.
|
|
53
|
+
*
|
|
54
|
+
* @param request - The original user request
|
|
55
|
+
* @param summary - One-line summary
|
|
56
|
+
* @param steps - Ordered list of step descriptions
|
|
57
|
+
* @returns The created plan
|
|
58
|
+
*/
|
|
59
|
+
createPlan(request: string, summary: string, steps: string[]): Plan;
|
|
60
|
+
/**
|
|
61
|
+
* Get the current active plan.
|
|
62
|
+
*/
|
|
63
|
+
getCurrentPlan(): Plan | null;
|
|
64
|
+
/**
|
|
65
|
+
* Approve the plan for execution.
|
|
66
|
+
*/
|
|
67
|
+
approvePlan(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Reject the plan.
|
|
70
|
+
*/
|
|
71
|
+
rejectPlan(): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Mark the plan as executing.
|
|
74
|
+
*/
|
|
75
|
+
startExecution(): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Update a step's status.
|
|
78
|
+
*/
|
|
79
|
+
updateStep(stepNumber: number, status: PlanStep["status"], details?: string): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Format the plan as markdown for display.
|
|
82
|
+
*
|
|
83
|
+
* Learning note: We use checkbox syntax (- [ ] / - [x]) so the
|
|
84
|
+
* plan looks like an interactive checklist in the chat.
|
|
85
|
+
*/
|
|
86
|
+
formatPlan(): string;
|
|
87
|
+
/**
|
|
88
|
+
* Get the plan as a system prompt addition.
|
|
89
|
+
* Used to guide the agent during execution.
|
|
90
|
+
*/
|
|
91
|
+
getPlanPrompt(): string;
|
|
92
|
+
/**
|
|
93
|
+
* Clear the current plan.
|
|
94
|
+
*/
|
|
95
|
+
clearPlan(): void;
|
|
96
|
+
/**
|
|
97
|
+
* Format a plan status as a human-readable string.
|
|
98
|
+
*/
|
|
99
|
+
private formatStatus;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/plan/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,kBAAkB,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAE/G;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IAEpB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kCAAkC;IAClC,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;IAE5D,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IAEX,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAElB,0BAA0B;IAC1B,MAAM,EAAE,UAAU,CAAC;IAEnB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAElB,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,WAAW;IACtB,mDAAmD;IACnD,OAAO,CAAC,WAAW,CAAqB;IAExC;;;;;;;OAOG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAiBnE;;OAEG;IACH,cAAc,IAAI,IAAI,GAAG,IAAI;IAI7B;;OAEG;IACH,WAAW,IAAI,OAAO;IAQtB;;OAEG;IACH,UAAU,IAAI,OAAO;IAMrB;;OAEG;IACH,cAAc,IAAI,OAAO;IAQzB;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO;IAoBrF;;;;;OAKG;IACH,UAAU,IAAI,MAAM;IA8BpB;;;OAGG;IACH,aAAa,IAAI,MAAM;IAqBvB;;OAEG;IACH,SAAS,IAAI,IAAI;IAIjB;;OAEG;IACH,OAAO,CAAC,YAAY;CAUrB"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Plan Manager — Creates, stores, and executes implementation plans.
|
|
4
|
+
*
|
|
5
|
+
* A plan is a structured breakdown of what the agent intends to do.
|
|
6
|
+
* Each step has a description, status, and optional tool call info.
|
|
7
|
+
*
|
|
8
|
+
* Learning note: This follows the Command Pattern — each plan step
|
|
9
|
+
* is a serializable command that can be reviewed before execution.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PlanManager = void 0;
|
|
13
|
+
class PlanManager {
|
|
14
|
+
/** The current active plan (only one at a time) */
|
|
15
|
+
currentPlan = null;
|
|
16
|
+
/**
|
|
17
|
+
* Create a new plan from the agent's analysis.
|
|
18
|
+
*
|
|
19
|
+
* @param request - The original user request
|
|
20
|
+
* @param summary - One-line summary
|
|
21
|
+
* @param steps - Ordered list of step descriptions
|
|
22
|
+
* @returns The created plan
|
|
23
|
+
*/
|
|
24
|
+
createPlan(request, summary, steps) {
|
|
25
|
+
this.currentPlan = {
|
|
26
|
+
id: `plan_${Date.now()}_${Math.random().toString(36).slice(2, 6)}`,
|
|
27
|
+
summary,
|
|
28
|
+
steps: steps.map((desc, i) => ({
|
|
29
|
+
number: i + 1,
|
|
30
|
+
description: desc,
|
|
31
|
+
status: "pending",
|
|
32
|
+
})),
|
|
33
|
+
status: "pending_approval",
|
|
34
|
+
createdAt: Date.now(),
|
|
35
|
+
originalRequest: request,
|
|
36
|
+
};
|
|
37
|
+
return this.currentPlan;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get the current active plan.
|
|
41
|
+
*/
|
|
42
|
+
getCurrentPlan() {
|
|
43
|
+
return this.currentPlan;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Approve the plan for execution.
|
|
47
|
+
*/
|
|
48
|
+
approvePlan() {
|
|
49
|
+
if (!this.currentPlan || this.currentPlan.status !== "pending_approval") {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
this.currentPlan.status = "approved";
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Reject the plan.
|
|
57
|
+
*/
|
|
58
|
+
rejectPlan() {
|
|
59
|
+
if (!this.currentPlan)
|
|
60
|
+
return false;
|
|
61
|
+
this.currentPlan.status = "rejected";
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Mark the plan as executing.
|
|
66
|
+
*/
|
|
67
|
+
startExecution() {
|
|
68
|
+
if (!this.currentPlan || this.currentPlan.status !== "approved") {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
this.currentPlan.status = "executing";
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Update a step's status.
|
|
76
|
+
*/
|
|
77
|
+
updateStep(stepNumber, status, details) {
|
|
78
|
+
if (!this.currentPlan)
|
|
79
|
+
return false;
|
|
80
|
+
const step = this.currentPlan.steps.find((s) => s.number === stepNumber);
|
|
81
|
+
if (!step)
|
|
82
|
+
return false;
|
|
83
|
+
step.status = status;
|
|
84
|
+
if (details)
|
|
85
|
+
step.details = details;
|
|
86
|
+
// Check if all steps are completed
|
|
87
|
+
const allDone = this.currentPlan.steps.every((s) => s.status === "completed" || s.status === "skipped");
|
|
88
|
+
if (allDone) {
|
|
89
|
+
this.currentPlan.status = "completed";
|
|
90
|
+
}
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Format the plan as markdown for display.
|
|
95
|
+
*
|
|
96
|
+
* Learning note: We use checkbox syntax (- [ ] / - [x]) so the
|
|
97
|
+
* plan looks like an interactive checklist in the chat.
|
|
98
|
+
*/
|
|
99
|
+
formatPlan() {
|
|
100
|
+
if (!this.currentPlan)
|
|
101
|
+
return "No active plan.";
|
|
102
|
+
const plan = this.currentPlan;
|
|
103
|
+
const lines = [
|
|
104
|
+
`## Plan: ${plan.summary}`,
|
|
105
|
+
"",
|
|
106
|
+
`**Status:** ${this.formatStatus(plan.status)}`,
|
|
107
|
+
"",
|
|
108
|
+
];
|
|
109
|
+
for (const step of plan.steps) {
|
|
110
|
+
const checkbox = step.status === "completed" ? "[x]"
|
|
111
|
+
: step.status === "skipped" ? "[-]"
|
|
112
|
+
: step.status === "in_progress" ? "[~]"
|
|
113
|
+
: "[ ]";
|
|
114
|
+
let line = `${step.number}. ${checkbox} ${step.description}`;
|
|
115
|
+
if (step.tool)
|
|
116
|
+
line += ` _(${step.tool})_`;
|
|
117
|
+
if (step.target)
|
|
118
|
+
line += ` → \`${step.target}\``;
|
|
119
|
+
lines.push(line);
|
|
120
|
+
if (step.details) {
|
|
121
|
+
lines.push(` _${step.details}_`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return lines.join("\n");
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get the plan as a system prompt addition.
|
|
128
|
+
* Used to guide the agent during execution.
|
|
129
|
+
*/
|
|
130
|
+
getPlanPrompt() {
|
|
131
|
+
if (!this.currentPlan)
|
|
132
|
+
return "";
|
|
133
|
+
const plan = this.currentPlan;
|
|
134
|
+
const stepList = plan.steps
|
|
135
|
+
.map((s) => `${s.number}. [${s.status}] ${s.description}`)
|
|
136
|
+
.join("\n");
|
|
137
|
+
return [
|
|
138
|
+
"# Active Plan",
|
|
139
|
+
"",
|
|
140
|
+
`Goal: ${plan.summary}`,
|
|
141
|
+
"",
|
|
142
|
+
"Steps:",
|
|
143
|
+
stepList,
|
|
144
|
+
"",
|
|
145
|
+
"Execute the next pending step. After completing each step, update its status.",
|
|
146
|
+
"If a step fails, explain why and suggest alternatives.",
|
|
147
|
+
].join("\n");
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Clear the current plan.
|
|
151
|
+
*/
|
|
152
|
+
clearPlan() {
|
|
153
|
+
this.currentPlan = null;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Format a plan status as a human-readable string.
|
|
157
|
+
*/
|
|
158
|
+
formatStatus(status) {
|
|
159
|
+
switch (status) {
|
|
160
|
+
case "drafting": return "Drafting...";
|
|
161
|
+
case "pending_approval": return "Waiting for approval";
|
|
162
|
+
case "approved": return "Approved";
|
|
163
|
+
case "executing": return "Executing...";
|
|
164
|
+
case "completed": return "Completed";
|
|
165
|
+
case "rejected": return "Rejected";
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.PlanManager = PlanManager;
|
|
170
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/plan/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project Rules — Hierarchical rule system for project-specific AI behavior.
|
|
3
|
+
*
|
|
4
|
+
* Similar to Cursor's .cursor/rules/ and Claude Code's CLAUDE.md,
|
|
5
|
+
* but with glob-based path scoping.
|
|
6
|
+
*
|
|
7
|
+
* Rule hierarchy (highest priority first):
|
|
8
|
+
* 1. Path-specific rules (.cdoing/rules/*.md with glob patterns)
|
|
9
|
+
* 2. Project rules (.cdoing/config.md or CDOING.md)
|
|
10
|
+
* 3. Global rules (~/.cdoing/rules/*.md)
|
|
11
|
+
*
|
|
12
|
+
* Each rule file is a markdown file with optional frontmatter:
|
|
13
|
+
*
|
|
14
|
+
* ---
|
|
15
|
+
* globs: ["*.ts", "src/api/**"]
|
|
16
|
+
* description: Rules for TypeScript API files
|
|
17
|
+
* ---
|
|
18
|
+
*
|
|
19
|
+
* Always use async/await instead of callbacks.
|
|
20
|
+
* Prefer named exports over default exports.
|
|
21
|
+
*
|
|
22
|
+
* Learning note: Glob-based scoping lets you have different coding
|
|
23
|
+
* standards for different parts of your project. For example, strict
|
|
24
|
+
* type rules for API code but relaxed rules for scripts.
|
|
25
|
+
*/
|
|
26
|
+
export { RulesManager } from "./manager";
|
|
27
|
+
export type { Rule, RuleSource } from "./types";
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Project Rules — Hierarchical rule system for project-specific AI behavior.
|
|
4
|
+
*
|
|
5
|
+
* Similar to Cursor's .cursor/rules/ and Claude Code's CLAUDE.md,
|
|
6
|
+
* but with glob-based path scoping.
|
|
7
|
+
*
|
|
8
|
+
* Rule hierarchy (highest priority first):
|
|
9
|
+
* 1. Path-specific rules (.cdoing/rules/*.md with glob patterns)
|
|
10
|
+
* 2. Project rules (.cdoing/config.md or CDOING.md)
|
|
11
|
+
* 3. Global rules (~/.cdoing/rules/*.md)
|
|
12
|
+
*
|
|
13
|
+
* Each rule file is a markdown file with optional frontmatter:
|
|
14
|
+
*
|
|
15
|
+
* ---
|
|
16
|
+
* globs: ["*.ts", "src/api/**"]
|
|
17
|
+
* description: Rules for TypeScript API files
|
|
18
|
+
* ---
|
|
19
|
+
*
|
|
20
|
+
* Always use async/await instead of callbacks.
|
|
21
|
+
* Prefer named exports over default exports.
|
|
22
|
+
*
|
|
23
|
+
* Learning note: Glob-based scoping lets you have different coding
|
|
24
|
+
* standards for different parts of your project. For example, strict
|
|
25
|
+
* type rules for API code but relaxed rules for scripts.
|
|
26
|
+
*/
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.RulesManager = void 0;
|
|
29
|
+
var manager_1 = require("./manager");
|
|
30
|
+
Object.defineProperty(exports, "RulesManager", { enumerable: true, get: function () { return manager_1.RulesManager; } });
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;;AAEH,qCAAyC;AAAhC,uGAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rules Manager — Loads, caches, and resolves project rules.
|
|
3
|
+
*
|
|
4
|
+
* Scans rule directories in priority order and returns rules
|
|
5
|
+
* that match the current file context.
|
|
6
|
+
*
|
|
7
|
+
* Learning note: The manager uses lazy loading — rules are only
|
|
8
|
+
* read from disk when first needed, then cached until the file
|
|
9
|
+
* system changes. This prevents slow startup on large projects.
|
|
10
|
+
*/
|
|
11
|
+
import type { Rule } from "./types";
|
|
12
|
+
export declare class RulesManager {
|
|
13
|
+
/** Cached rules, indexed by source directory */
|
|
14
|
+
private cache;
|
|
15
|
+
/** Working directory (project root) */
|
|
16
|
+
private workingDir;
|
|
17
|
+
constructor(workingDir: string);
|
|
18
|
+
/**
|
|
19
|
+
* Get all rules that apply to a given file path.
|
|
20
|
+
* Rules are returned in priority order (most specific first).
|
|
21
|
+
*
|
|
22
|
+
* @param filePath - The file being edited/created (for glob matching)
|
|
23
|
+
* @returns Array of matching rules
|
|
24
|
+
*/
|
|
25
|
+
getRulesForFile(filePath?: string): Rule[];
|
|
26
|
+
/**
|
|
27
|
+
* Get all rules formatted as a single string for the system prompt.
|
|
28
|
+
*
|
|
29
|
+
* @param filePath - Optional file context for filtering
|
|
30
|
+
* @returns Formatted rules text, or empty string if no rules
|
|
31
|
+
*/
|
|
32
|
+
formatForPrompt(filePath?: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* Load all rules from all sources.
|
|
35
|
+
* Results are cached — call invalidateCache() to refresh.
|
|
36
|
+
*/
|
|
37
|
+
private loadAllRules;
|
|
38
|
+
/**
|
|
39
|
+
* Load rules from a directory of markdown files.
|
|
40
|
+
*
|
|
41
|
+
* Learning note: Each .md file in the rules directory becomes a rule.
|
|
42
|
+
* YAML frontmatter is parsed for glob patterns and descriptions.
|
|
43
|
+
*/
|
|
44
|
+
private loadRulesFromDir;
|
|
45
|
+
/**
|
|
46
|
+
* Parse a rule markdown file, extracting frontmatter and content.
|
|
47
|
+
*
|
|
48
|
+
* Frontmatter format:
|
|
49
|
+
* ---
|
|
50
|
+
* globs: ["*.ts", "src/**"]
|
|
51
|
+
* description: TypeScript coding rules
|
|
52
|
+
* ---
|
|
53
|
+
*
|
|
54
|
+
* Learning note: We use a simple regex-based parser instead of
|
|
55
|
+
* a YAML library to avoid adding dependencies. This handles
|
|
56
|
+
* the common cases well enough.
|
|
57
|
+
*/
|
|
58
|
+
private parseRuleFile;
|
|
59
|
+
/**
|
|
60
|
+
* Check if a file path matches a glob pattern.
|
|
61
|
+
* Uses minimatch for proper glob matching.
|
|
62
|
+
*/
|
|
63
|
+
private matchGlob;
|
|
64
|
+
/**
|
|
65
|
+
* Format rules for CLI display, showing file paths and sources.
|
|
66
|
+
*/
|
|
67
|
+
formatForDisplay(): string;
|
|
68
|
+
/**
|
|
69
|
+
* Clear the rule cache (call after file changes).
|
|
70
|
+
*/
|
|
71
|
+
invalidateCache(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Update the working directory.
|
|
74
|
+
*/
|
|
75
|
+
setWorkingDir(dir: string): void;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/rules/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,IAAI,EAA+B,MAAM,SAAS,CAAC;AAEjE,qBAAa,YAAY;IACvB,gDAAgD;IAChD,OAAO,CAAC,KAAK,CAA6B;IAE1C,uCAAuC;IACvC,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,EAAE,MAAM;IAI9B;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE;IAsB1C;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAmB1C;;;OAGG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IA0CxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa;IAsCrB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAajB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IA0C1B;;OAEG;IACH,eAAe,IAAI,IAAI;IAIvB;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAIjC"}
|