token-pilot 0.29.0 → 0.30.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.
Files changed (65) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +2 -4
  3. package/CHANGELOG.md +35 -0
  4. package/README.md +57 -384
  5. package/agents/tp-api-surface-tracker.md +1 -1
  6. package/agents/tp-audit-scanner.md +1 -1
  7. package/agents/tp-commit-writer.md +1 -1
  8. package/agents/tp-context-engineer.md +1 -1
  9. package/agents/tp-dead-code-finder.md +1 -1
  10. package/agents/tp-debugger.md +1 -1
  11. package/agents/tp-dep-health.md +1 -1
  12. package/agents/tp-doc-writer.md +1 -1
  13. package/agents/tp-history-explorer.md +1 -1
  14. package/agents/tp-impact-analyzer.md +1 -1
  15. package/agents/tp-incident-timeline.md +1 -1
  16. package/agents/tp-incremental-builder.md +1 -1
  17. package/agents/tp-migration-scout.md +1 -1
  18. package/agents/tp-onboard.md +1 -1
  19. package/agents/tp-performance-profiler.md +1 -1
  20. package/agents/tp-pr-reviewer.md +1 -1
  21. package/agents/tp-refactor-planner.md +1 -1
  22. package/agents/tp-review-impact.md +1 -1
  23. package/agents/tp-run.md +1 -1
  24. package/agents/tp-session-restorer.md +1 -1
  25. package/agents/tp-ship-coordinator.md +1 -1
  26. package/agents/tp-spec-writer.md +1 -1
  27. package/agents/tp-test-coverage-gapper.md +1 -1
  28. package/agents/tp-test-triage.md +1 -1
  29. package/agents/tp-test-writer.md +1 -1
  30. package/dist/ast-index/client.d.ts +17 -2
  31. package/dist/ast-index/client.js +233 -107
  32. package/dist/cli/tool-audit.d.ts +5 -0
  33. package/dist/cli/tool-audit.js +9 -1
  34. package/dist/core/edit-prep-state.d.ts +42 -0
  35. package/dist/core/edit-prep-state.js +108 -0
  36. package/dist/core/policy-engine.d.ts +1 -5
  37. package/dist/core/policy-engine.js +9 -24
  38. package/dist/handlers/explore-area.js +6 -1
  39. package/dist/handlers/read-for-edit.d.ts +5 -5
  40. package/dist/handlers/read-for-edit.js +188 -110
  41. package/dist/hooks/installer.js +18 -0
  42. package/dist/hooks/pre-bash.d.ts +11 -1
  43. package/dist/hooks/pre-bash.js +51 -1
  44. package/dist/hooks/pre-edit.d.ts +69 -0
  45. package/dist/hooks/pre-edit.js +104 -0
  46. package/dist/hooks/pre-grep.d.ts +12 -1
  47. package/dist/hooks/pre-grep.js +39 -1
  48. package/dist/index.d.ts +30 -0
  49. package/dist/index.js +87 -22
  50. package/dist/server/enforcement-mode.d.ts +47 -0
  51. package/dist/server/enforcement-mode.js +59 -0
  52. package/dist/server/tool-definitions.d.ts +20 -0
  53. package/dist/server/tool-definitions.js +127 -12
  54. package/dist/server/tool-profiles.d.ts +19 -1
  55. package/dist/server/tool-profiles.js +38 -4
  56. package/dist/server.d.ts +2 -0
  57. package/dist/server.js +89 -21
  58. package/docs/agents.md +82 -0
  59. package/docs/configuration.md +117 -0
  60. package/docs/hooks.md +99 -0
  61. package/docs/installation.md +169 -0
  62. package/docs/tools.md +61 -0
  63. package/hooks/hooks.json +18 -0
  64. package/package.json +2 -2
  65. package/start.sh +19 -9
@@ -13,7 +13,7 @@ tools:
13
13
  - Edit
14
14
  - Glob
15
15
  model: haiku
16
- token_pilot_version: "0.29.0"
16
+ token_pilot_version: "0.30.1"
17
17
  token_pilot_body_hash: 8e29d07dd8f58adeb9530ec477a59a6e42de6c624f322d2c6cfa8da66456b46a
18
18
  ---
19
19
 
@@ -10,7 +10,7 @@ tools:
10
10
  - Bash
11
11
  - Read
12
12
  model: haiku
13
- token_pilot_version: "0.29.0"
13
+ token_pilot_version: "0.30.1"
14
14
  token_pilot_body_hash: 260197bc31531352f5eda3b70cf114c7c57bb7e9373f68ca76161dd68a804b0d
15
15
  ---
16
16
 
@@ -12,7 +12,7 @@ tools:
12
12
  - mcp__token-pilot__read_symbols
13
13
  - Read
14
14
  model: sonnet
15
- token_pilot_version: "0.29.0"
15
+ token_pilot_version: "0.30.1"
16
16
  token_pilot_body_hash: 1da6936cc117a7627640fae3cc85bf13a17f0b0b0d0d533423dfb4b7c0b4b1c2
17
17
  ---
18
18
 
@@ -8,7 +8,7 @@ tools:
8
8
  - mcp__token-pilot__read_symbol
9
9
  - Bash
10
10
  model: inherit
11
- token_pilot_version: "0.29.0"
11
+ token_pilot_version: "0.30.1"
12
12
  token_pilot_body_hash: 213746bab7acb6730a6edb16e1ff7b2c56572c3adf4f94990799f1c168cfa2ad
13
13
  ---
14
14
 
@@ -13,7 +13,7 @@ tools:
13
13
  - Edit
14
14
  - Bash
15
15
  model: sonnet
16
- token_pilot_version: "0.29.0"
16
+ token_pilot_version: "0.30.1"
17
17
  token_pilot_body_hash: 14c9adcabfb772c77a467a5fbfa682abbd5adc87e22d7fbe5d1329ffd790dde5
18
18
  ---
19
19
 
@@ -11,7 +11,7 @@ tools:
11
11
  - Grep
12
12
  - Glob
13
13
  model: sonnet
14
- token_pilot_version: "0.29.0"
14
+ token_pilot_version: "0.30.1"
15
15
  token_pilot_body_hash: 62893e448e943d0e1b928a670823ec3e152de395e487564862f145bd82161fcb
16
16
  ---
17
17
 
@@ -10,7 +10,7 @@ tools:
10
10
  - mcp__token-pilot__smart_read
11
11
  - mcp__token-pilot__smart_read_many
12
12
  - mcp__token-pilot__read_section
13
- token_pilot_version: "0.29.0"
13
+ token_pilot_version: "0.30.1"
14
14
  token_pilot_body_hash: 4e82f7b3c6446663e958fb6bf5eb5348bbdf33389269c888ce0dab766e50561f
15
15
  ---
16
16
 
@@ -11,7 +11,7 @@ tools:
11
11
  - Bash
12
12
  - Read
13
13
  model: sonnet
14
- token_pilot_version: "0.29.0"
14
+ token_pilot_version: "0.30.1"
15
15
  token_pilot_body_hash: 8b9f454a47e57e3761668de788850ef97d5d6f127b059cf8e0cef03deaca3f98
16
16
  ---
17
17
 
@@ -11,7 +11,7 @@ tools:
11
11
  - mcp__token-pilot__read_for_edit
12
12
  - Read
13
13
  model: sonnet
14
- token_pilot_version: "0.29.0"
14
+ token_pilot_version: "0.30.1"
15
15
  token_pilot_body_hash: 91003b244472c4e65d840b55474a86ce04fba379859d588cc0fa54850b0e1e4f
16
16
  ---
17
17
 
@@ -8,7 +8,7 @@ tools:
8
8
  - mcp__token-pilot__outline
9
9
  - mcp__token-pilot__read_symbol
10
10
  model: sonnet
11
- token_pilot_version: "0.29.0"
11
+ token_pilot_version: "0.30.1"
12
12
  token_pilot_body_hash: 45f972c6b36929491a529322bac3c34fd44872f7be4a974d25c7e27cb12e9dc3
13
13
  ---
14
14
 
@@ -9,7 +9,7 @@ tools:
9
9
  - mcp__token-pilot__module_info
10
10
  - Bash
11
11
  model: sonnet
12
- token_pilot_version: "0.29.0"
12
+ token_pilot_version: "0.30.1"
13
13
  token_pilot_body_hash: 3c1c66f952ac63a5936bec86fefda8c842fb9713bca81e48ca5bb568ccb5f367
14
14
  ---
15
15
 
package/agents/tp-run.md CHANGED
@@ -16,7 +16,7 @@ tools:
16
16
  - Glob
17
17
  - Bash
18
18
  model: haiku
19
- token_pilot_version: "0.29.0"
19
+ token_pilot_version: "0.30.1"
20
20
  token_pilot_body_hash: de342efe1e3ee265df1773ebde1241555750ab17de249190a5c1c200f1f8f51a
21
21
  ---
22
22
 
@@ -9,7 +9,7 @@ tools:
9
9
  - mcp__token-pilot__session_budget
10
10
  - Bash
11
11
  - Read
12
- token_pilot_version: "0.29.0"
12
+ token_pilot_version: "0.30.1"
13
13
  token_pilot_body_hash: d031f30e9cc4ea454aa256427659ed27249d820b75dc8b9b99c81ba7635230a7
14
14
  ---
15
15
 
@@ -11,7 +11,7 @@ tools:
11
11
  - Read
12
12
  - Grep
13
13
  model: sonnet
14
- token_pilot_version: "0.29.0"
14
+ token_pilot_version: "0.30.1"
15
15
  token_pilot_body_hash: 6b1c27b3dc4fad622cebff7c49e079fc764ca0ae57ef5bc4e61b563d8321092d
16
16
  ---
17
17
 
@@ -9,7 +9,7 @@ tools:
9
9
  - Read
10
10
  - Write
11
11
  model: sonnet
12
- token_pilot_version: "0.29.0"
12
+ token_pilot_version: "0.30.1"
13
13
  token_pilot_body_hash: 4ae44482db80a8a3a43794c6ecb665ec0b5385a274e1e5b2e3a404956075be88
14
14
  ---
15
15
 
@@ -10,7 +10,7 @@ tools:
10
10
  - mcp__token-pilot__test_summary
11
11
  - Glob
12
12
  - Grep
13
- token_pilot_version: "0.29.0"
13
+ token_pilot_version: "0.30.1"
14
14
  token_pilot_body_hash: 6d862d1bcaeda3fb13099f51e40faaaf45d16d7d41d1b938609500192aa606f2
15
15
  ---
16
16
 
@@ -8,7 +8,7 @@ tools:
8
8
  - mcp__token-pilot__find_usages
9
9
  - mcp__token-pilot__read_symbol
10
10
  model: sonnet
11
- token_pilot_version: "0.29.0"
11
+ token_pilot_version: "0.30.1"
12
12
  token_pilot_body_hash: f4e0dcbd2b4e8648efcafc9d53101a66bf394d7c90e97df7581ac47fcfbff5cb
13
13
  ---
14
14
 
@@ -13,7 +13,7 @@ tools:
13
13
  - Edit
14
14
  - Bash
15
15
  model: sonnet
16
- token_pilot_version: "0.29.0"
16
+ token_pilot_version: "0.30.1"
17
17
  token_pilot_body_hash: 960fe9e907e9c7d13b14dcc22af99e8cc7e7335f99791fa808df76ac21e1f5e9
18
18
  ---
19
19
 
@@ -1,5 +1,5 @@
1
- import type { FileStructure } from '../types.js';
2
- import type { AstIndexSymbolDetail, AstIndexSearchResult, AstIndexUsageResult, AstIndexImplementation, AstIndexHierarchyNode, AstIndexRefsResponse, AstIndexMapResponse, AstIndexConventionsResponse, AstIndexCallerEntry, AstIndexCallTreeNode, AstIndexChangedEntry, AstIndexUnusedSymbol, AstIndexImportEntry, AstIndexAgrepMatch, AstIndexTodoEntry, AstIndexDeprecatedEntry, AstIndexAnnotationEntry, AstIndexModuleEntry, AstIndexModuleDep, AstIndexUnusedDep, AstIndexModuleApi } from './types.js';
1
+ import type { FileStructure } from "../types.js";
2
+ import type { AstIndexSymbolDetail, AstIndexSearchResult, AstIndexUsageResult, AstIndexImplementation, AstIndexHierarchyNode, AstIndexRefsResponse, AstIndexMapResponse, AstIndexConventionsResponse, AstIndexCallerEntry, AstIndexCallTreeNode, AstIndexChangedEntry, AstIndexUnusedSymbol, AstIndexImportEntry, AstIndexAgrepMatch, AstIndexTodoEntry, AstIndexDeprecatedEntry, AstIndexAnnotationEntry, AstIndexModuleEntry, AstIndexModuleDep, AstIndexUnusedDep, AstIndexModuleApi } from "./types.js";
3
3
  export declare class AstIndexClient {
4
4
  private static readonly MAX_INDEX_FILES;
5
5
  private binaryPath;
@@ -13,6 +13,8 @@ export declare class AstIndexClient {
13
13
  private autoInstall;
14
14
  private astGrepAvailable;
15
15
  private astGrepBinDir;
16
+ private periodicTimer;
17
+ private periodicUpdateInFlight;
16
18
  constructor(projectRoot: string, timeout?: number, options?: {
17
19
  binaryPath?: string | null;
18
20
  autoInstall?: boolean;
@@ -63,6 +65,19 @@ export declare class AstIndexClient {
63
65
  deprecated(): Promise<AstIndexDeprecatedEntry[]>;
64
66
  annotations(name: string): Promise<AstIndexAnnotationEntry[]>;
65
67
  incrementalUpdate(): Promise<void>;
68
+ /**
69
+ * Periodic safety-net so long sessions don't drift when FileWatcher misses
70
+ * events (Docker bind mounts, NFS, files changed by sibling tools). We
71
+ * explicitly avoid spawning `ast-index watch` as a daemon — it duplicates
72
+ * our FileWatcher, needs PID/lifecycle management, and goes zombie if the
73
+ * MCP server is killed with SIGKILL.
74
+ *
75
+ * Default cadence is 5 minutes. `unref()` lets the process exit naturally
76
+ * even if a tick is pending. An in-flight guard prevents overlapping runs
77
+ * when a single update exceeds the interval (rare — timeout is 15 s).
78
+ */
79
+ startPeriodicUpdate(intervalMs?: number): void;
80
+ stopPeriodicUpdate(): void;
66
81
  modules(pattern?: string): Promise<AstIndexModuleEntry[]>;
67
82
  moduleDeps(module: string): Promise<AstIndexModuleDep[]>;
68
83
  moduleDependents(module: string): Promise<AstIndexModuleDep[]>;