@sudosandwich/limps 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/README.md +114 -23
  2. package/dist/agent-parser.d.ts +1 -1
  3. package/dist/agent-parser.d.ts.map +1 -1
  4. package/dist/agent-parser.js +8 -4
  5. package/dist/agent-parser.js.map +1 -1
  6. package/dist/cli/docs-create.d.ts +34 -0
  7. package/dist/cli/docs-create.d.ts.map +1 -0
  8. package/dist/cli/docs-create.js +70 -0
  9. package/dist/cli/docs-create.js.map +1 -0
  10. package/dist/cli/docs-delete.d.ts +34 -0
  11. package/dist/cli/docs-delete.d.ts.map +1 -0
  12. package/dist/cli/docs-delete.js +84 -0
  13. package/dist/cli/docs-delete.js.map +1 -0
  14. package/dist/cli/docs-list.d.ts +35 -0
  15. package/dist/cli/docs-list.d.ts.map +1 -0
  16. package/dist/cli/docs-list.js +91 -0
  17. package/dist/cli/docs-list.js.map +1 -0
  18. package/dist/cli/docs-search.d.ts +35 -0
  19. package/dist/cli/docs-search.d.ts.map +1 -0
  20. package/dist/cli/docs-search.js +99 -0
  21. package/dist/cli/docs-search.js.map +1 -0
  22. package/dist/cli/docs-update.d.ts +40 -0
  23. package/dist/cli/docs-update.d.ts.map +1 -0
  24. package/dist/cli/docs-update.js +75 -0
  25. package/dist/cli/docs-update.js.map +1 -0
  26. package/dist/cli/init-project.js +1 -1
  27. package/dist/cli/status.d.ts +13 -0
  28. package/dist/cli/status.d.ts.map +1 -1
  29. package/dist/cli/status.js +64 -1
  30. package/dist/cli/status.js.map +1 -1
  31. package/dist/cli.js +9 -2
  32. package/dist/cli.js.map +1 -1
  33. package/dist/commands/config/index.d.ts.map +1 -1
  34. package/dist/commands/config/index.js +1 -0
  35. package/dist/commands/config/index.js.map +1 -1
  36. package/dist/commands/config/show-resolution.d.ts +11 -0
  37. package/dist/commands/config/show-resolution.d.ts.map +1 -0
  38. package/dist/commands/config/show-resolution.js +114 -0
  39. package/dist/commands/config/show-resolution.js.map +1 -0
  40. package/dist/commands/create-doc.d.ts +21 -0
  41. package/dist/commands/create-doc.d.ts.map +1 -0
  42. package/dist/commands/create-doc.js +99 -0
  43. package/dist/commands/create-doc.js.map +1 -0
  44. package/dist/commands/create-plan.d.ts +15 -0
  45. package/dist/commands/create-plan.d.ts.map +1 -0
  46. package/dist/commands/create-plan.js +73 -0
  47. package/dist/commands/create-plan.js.map +1 -0
  48. package/dist/commands/delete-doc.d.ts +16 -0
  49. package/dist/commands/delete-doc.d.ts.map +1 -0
  50. package/dist/commands/delete-doc.js +97 -0
  51. package/dist/commands/delete-doc.js.map +1 -0
  52. package/dist/commands/index.js +1 -1
  53. package/dist/commands/index.js.map +1 -1
  54. package/dist/commands/list-docs.d.ts +18 -0
  55. package/dist/commands/list-docs.d.ts.map +1 -0
  56. package/dist/commands/list-docs.js +83 -0
  57. package/dist/commands/list-docs.js.map +1 -0
  58. package/dist/commands/process.d.ts +20 -0
  59. package/dist/commands/process.d.ts.map +1 -0
  60. package/dist/commands/process.js +257 -0
  61. package/dist/commands/process.js.map +1 -0
  62. package/dist/commands/search-docs.d.ts +17 -0
  63. package/dist/commands/search-docs.d.ts.map +1 -0
  64. package/dist/commands/search-docs.js +109 -0
  65. package/dist/commands/search-docs.js.map +1 -0
  66. package/dist/commands/{status-server.d.ts → server-status.d.ts} +1 -1
  67. package/dist/commands/server-status.d.ts.map +1 -0
  68. package/dist/commands/{status-server.js → server-status.js} +33 -14
  69. package/dist/commands/server-status.js.map +1 -0
  70. package/dist/commands/start.d.ts.map +1 -1
  71. package/dist/commands/start.js +26 -9
  72. package/dist/commands/start.js.map +1 -1
  73. package/dist/commands/status.d.ts +7 -0
  74. package/dist/commands/status.d.ts.map +1 -1
  75. package/dist/commands/status.js +74 -2
  76. package/dist/commands/status.js.map +1 -1
  77. package/dist/commands/tags/add.d.ts +16 -0
  78. package/dist/commands/tags/add.d.ts.map +1 -0
  79. package/dist/commands/tags/add.js +120 -0
  80. package/dist/commands/tags/add.js.map +1 -0
  81. package/dist/commands/tags/index.d.ts +3 -0
  82. package/dist/commands/tags/index.d.ts.map +1 -0
  83. package/dist/commands/tags/index.js +33 -0
  84. package/dist/commands/tags/index.js.map +1 -0
  85. package/dist/commands/tags/list.d.ts +15 -0
  86. package/dist/commands/tags/list.d.ts.map +1 -0
  87. package/dist/commands/tags/list.js +111 -0
  88. package/dist/commands/tags/list.js.map +1 -0
  89. package/dist/commands/tags/remove.d.ts +16 -0
  90. package/dist/commands/tags/remove.d.ts.map +1 -0
  91. package/dist/commands/tags/remove.js +120 -0
  92. package/dist/commands/tags/remove.js.map +1 -0
  93. package/dist/commands/update-doc.d.ts +23 -0
  94. package/dist/commands/update-doc.d.ts.map +1 -0
  95. package/dist/commands/update-doc.js +144 -0
  96. package/dist/commands/update-doc.js.map +1 -0
  97. package/dist/extensions/context.d.ts.map +1 -1
  98. package/dist/extensions/context.js +10 -8
  99. package/dist/extensions/context.js.map +1 -1
  100. package/dist/extensions/loader.d.ts.map +1 -1
  101. package/dist/extensions/loader.js +3 -2
  102. package/dist/extensions/loader.js.map +1 -1
  103. package/dist/index.js +2 -1
  104. package/dist/index.js.map +1 -1
  105. package/dist/pidfile.d.ts +1 -0
  106. package/dist/pidfile.d.ts.map +1 -1
  107. package/dist/pidfile.js +4 -1
  108. package/dist/pidfile.js.map +1 -1
  109. package/dist/server-http-entry.js +39 -6
  110. package/dist/server-http-entry.js.map +1 -1
  111. package/dist/server-http.d.ts +11 -1
  112. package/dist/server-http.d.ts.map +1 -1
  113. package/dist/server-http.js +31 -9
  114. package/dist/server-http.js.map +1 -1
  115. package/dist/server-main.d.ts.map +1 -1
  116. package/dist/server-main.js +2 -1
  117. package/dist/server-main.js.map +1 -1
  118. package/dist/server.d.ts.map +1 -1
  119. package/dist/server.js +8 -7
  120. package/dist/server.js.map +1 -1
  121. package/dist/tools/create-plan.d.ts +1 -0
  122. package/dist/tools/create-plan.d.ts.map +1 -1
  123. package/dist/tools/create-plan.js +20 -6
  124. package/dist/tools/create-plan.js.map +1 -1
  125. package/dist/tools/index.js +1 -1
  126. package/dist/tools/index.js.map +1 -1
  127. package/dist/tools/update-task-status.d.ts +1 -1
  128. package/dist/tools/update-task-status.d.ts.map +1 -1
  129. package/dist/tools/update-task-status.js +17 -187
  130. package/dist/tools/update-task-status.js.map +1 -1
  131. package/dist/utils/config-resolver.d.ts +1 -1
  132. package/dist/utils/config-resolver.d.ts.map +1 -1
  133. package/dist/utils/config-resolver.js +6 -4
  134. package/dist/utils/config-resolver.js.map +1 -1
  135. package/dist/utils/daemon-log.d.ts +13 -0
  136. package/dist/utils/daemon-log.d.ts.map +1 -0
  137. package/dist/utils/daemon-log.js +27 -0
  138. package/dist/utils/daemon-log.js.map +1 -0
  139. package/dist/utils/safe-logging.d.ts +24 -0
  140. package/dist/utils/safe-logging.d.ts.map +1 -0
  141. package/dist/utils/safe-logging.js +88 -0
  142. package/dist/utils/safe-logging.js.map +1 -0
  143. package/package.json +1 -1
  144. package/dist/commands/status-server.d.ts.map +0 -1
  145. package/dist/commands/status-server.js.map +0 -1
package/README.md CHANGED
@@ -62,7 +62,7 @@ limps config print --client claude-code
62
62
 
63
63
  That's it. Your AI assistant now has access to your documents via HTTP transport. The folder can be anywhere—local, synced, or in a repo; limps does not require a git repository or a `plans/` directory.
64
64
 
65
- **Tip:** `limps status-server` shows the status of the current project if a config is found in the working directory (or passed via `--config`). Run it from a directory where no limps config can be resolved to list all running limps daemons on your system.
65
+ **Tip:** `limps server-status` always includes system-wide daemon discovery. If a project config is found (or passed via `--config`), it also reconciles the configured project target against that global list.
66
66
 
67
67
  ## Features
68
68
 
@@ -81,7 +81,7 @@ That's it. Your AI assistant now has access to your documents via HTTP transport
81
81
 
82
82
  - **Local only** — Your data stays on disk (SQLite index + your files). No cloud, no subscription.
83
83
  - **Restart after changes** — If you change the indexed folder or config, restart the MCP server (or rely on the file watcher) so the index and tools reflect the current state.
84
- - **Daemon management** — The HTTP server runs as a background process. Use `limps start`, `limps stop`, and `limps status-server` to manage the daemon lifecycle. PID files are stored in OS-standard directories for system-wide awareness.
84
+ - **Daemon management** — The HTTP server runs as a background process. Use `limps start`, `limps stop`, and `limps server-status` to manage the daemon lifecycle. PID files are stored in OS-standard directories for system-wide awareness.
85
85
  - **Sandboxed user code** — `process_doc` and `process_docs` run your JavaScript in a QuickJS sandbox with time and memory limits; no network or Node APIs.
86
86
  - **One optional network call** — `limps version --check` fetches from the npm registry to compare versions. All other commands (serve, init, list, search, create/update/delete docs, process_doc, etc.) do **not** contact the internet. Omit `version --check` if you want zero external calls.
87
87
 
@@ -320,7 +320,7 @@ limps v3 uses **HTTP transport exclusively** via a persistent daemon. This allow
320
320
  limps start
321
321
 
322
322
  # Check status (shows uptime, sessions, PID)
323
- limps status-server
323
+ limps server-status
324
324
 
325
325
  # Stop the daemon
326
326
  limps stop
@@ -381,7 +381,7 @@ Example custom server config:
381
381
  - **Linux**: `$XDG_DATA_HOME/limps/pids/` or `~/.local/share/limps/pids/`
382
382
  - **Windows**: `%APPDATA%/limps/pids/`
383
383
 
384
- This enables `limps status-server` to perform system-wide daemon discovery when no project configuration can be resolved; when a limps config is found for the current directory, the CLI runs in project mode and reports status for that project instead.
384
+ This enables `limps server-status` to perform system-wide daemon discovery from any directory. When a limps config is found for the current directory (or passed via `--config`), the CLI also reports and reconciles that project's configured target.
385
385
 
386
386
  - **Remote clients**: Use an MCP-compatible HTTPS proxy for remote clients (e.g., ChatGPT).
387
387
 
@@ -418,11 +418,34 @@ Each PID file is named by port number (`limps-{port}.pid`) to enable system-wide
418
418
  "port": 4269,
419
419
  "host": "127.0.0.1",
420
420
  "startedAt": "2026-02-08T12:00:00.000Z",
421
- "configPath": "/path/to/project/.limps/config.json"
421
+ "configPath": "/path/to/project/.limps/config.json",
422
+ "logPath": "/Users/you/Library/Application Support/limps/logs/limps-4269.log"
422
423
  }
423
424
  ```
424
425
 
425
- This port-based naming allows `limps status-server` to find all running daemons across different projects without needing a config file.
426
+ This port-based naming allows `limps server-status` to find all running daemons across different projects without needing a config file.
427
+
428
+ Daemon logs are written to OS-standard application log directories:
429
+
430
+ **macOS:**
431
+ ```
432
+ ~/Library/Application Support/limps/logs/
433
+ ```
434
+
435
+ **Linux:**
436
+ ```
437
+ $XDG_DATA_HOME/limps/logs/
438
+ # or if XDG_DATA_HOME is not set:
439
+ ~/.local/share/limps/logs/
440
+ ```
441
+
442
+ **Windows:**
443
+ ```
444
+ %APPDATA%/limps/logs/
445
+ ```
446
+
447
+ Daemon logs are intentionally operational-only: limps redacts uncaught exception/rejection payloads and does not persist raw AI prompt/response content.
448
+ Daemon log files are append-only and are not auto-rotated; if you run long-lived daemons, rotate or truncate these files with your system tooling.
426
449
 
427
450
  ### Starting the Daemon
428
451
 
@@ -432,6 +455,7 @@ This port-based naming allows `limps status-server` to find all running daemons
432
455
  limps start
433
456
  # → Daemon starts on http://127.0.0.1:4269/mcp
434
457
  # → PID file written to OS-standard location
458
+ # → Logs written to OS-standard log file (append mode)
435
459
  # → Process detaches and runs in background
436
460
  ```
437
461
 
@@ -475,34 +499,43 @@ The `start` command performs health verification by polling the `/health` endpoi
475
499
 
476
500
  ### Checking Daemon Status
477
501
 
478
- **Project mode (when config is found):**
502
+ **With project config (reconciled with global discovery):**
479
503
 
480
504
  ```bash
481
505
  # From within a project directory with .limps/config.json
482
- limps status-server
506
+ limps server-status
507
+ # Project target:
483
508
  # limps server is running
484
509
  # PID: 12345 | 127.0.0.1:4269
485
510
  # Uptime: 2h 15m
486
511
  # Sessions: 3
512
+ # Log: /Users/you/Library/Application Support/limps/logs/limps-4269.log
513
+ # Project target is present in system-wide daemon discovery.
514
+ # System-wide daemons:
515
+ # 127.0.0.1:4269 (PID 12345) [project target]
516
+ # Uptime: 2h 15m | Sessions: 3
517
+ # Log: /Users/you/Library/Application Support/limps/logs/limps-4269.log
487
518
 
488
519
  # Or specify config explicitly
489
- limps status-server --config /path/to/.limps/config.json
520
+ limps server-status --config /path/to/.limps/config.json
490
521
  ```
491
522
 
492
- **System-wide discovery (when no config is found):**
523
+ **Without project config (global discovery only):**
493
524
 
494
525
  ```bash
495
526
  # From a directory without a limps config
496
527
  cd /tmp
497
- limps status-server
528
+ limps server-status
498
529
  # Found 2 running daemons:
499
530
  # 127.0.0.1:4269 (PID 12345)
500
531
  # Uptime: 2h 15m | Sessions: 3
532
+ # Log: /Users/you/Library/Application Support/limps/logs/limps-4269.log
501
533
  # 127.0.0.1:8080 (PID 67890)
502
534
  # Uptime: 45m 30s | Sessions: 1
535
+ # Log: /Users/you/Library/Application Support/limps/logs/limps-8080.log
503
536
  ```
504
537
 
505
- When `limps status-server` cannot resolve a config file in the current directory (and no `--config` is provided), it scans the system PID directory and reports all running limps daemons. When a config is found, it shows only that project's daemon status.
538
+ When `limps server-status` cannot resolve a config file in the current directory (and no `--config` is provided), it reports global daemon discovery only. When a config is found, it reports both the configured project target and the global daemon list.
506
539
 
507
540
  ### Stopping the Daemon
508
541
 
@@ -615,7 +648,7 @@ Discover all running daemons (run from a directory without a limps config):
615
648
 
616
649
  ```bash
617
650
  cd /tmp
618
- limps status-server
651
+ limps server-status
619
652
  # Found 2 running daemons:
620
653
  # 127.0.0.1:4269 (PID 12345)
621
654
  # Uptime: 2h 15m | Sessions: 3
@@ -643,7 +676,7 @@ limps init [path] # Initialize new project
643
676
  limps start # Start HTTP daemon (background by default)
644
677
  limps start --foreground # Start in foreground (debugging mode)
645
678
  limps stop # Stop HTTP daemon
646
- limps status-server # Show daemon status (current project or all daemons)
679
+ limps server-status # Show daemon status (current project or all daemons)
647
680
  limps config show # Display current config
648
681
  limps config print # Print MCP client config snippets
649
682
  ```
@@ -745,7 +778,7 @@ limps start
745
778
  **Resolution:**
746
779
  1. **Kill the existing process**: `kill 12345`
747
780
  2. **Or use a different port**: `limps start --port 8080`
748
- 3. **Check if it's another limps daemon**: `limps status-server` (if so, use `limps stop` first)
781
+ 3. **Check if it's another limps daemon**: `limps server-status` (if so, use `limps stop` first)
749
782
 
750
783
  **"Daemon may have failed to start" error:**
751
784
 
@@ -757,7 +790,7 @@ limps start
757
790
  ```
758
791
 
759
792
  **Resolution:**
760
- 1. **Run in foreground to see logs**: `limps start --foreground`
793
+ 1. **Check daemon log path**: `limps server-status` (or run foreground mode: `limps start --foreground`)
761
794
  2. **Check for permission issues**: Ensure you have write access to the PID directory
762
795
  3. **Verify port is accessible**: Try `curl http://127.0.0.1:4269/health`
763
796
  4. **Enable debug logging**: `DEBUG=1 limps start --foreground`
@@ -794,7 +827,7 @@ mkdir %APPDATA%\limps\pids
794
827
 
795
828
  **TIMEOUT error:**
796
829
 
797
- The daemon did not respond within the configured timeout. Each health-check request has its own timeout (for example, 1000ms during the final `limps start` check and 3000ms for `status-server`), and during startup limps will poll for up to about 5 seconds before reporting "Daemon may have failed to start".
830
+ The daemon did not respond within the configured timeout. Each health-check request has its own timeout (for example, 1000ms during the final `limps start` check and 3000ms for `server-status`), and during startup limps will poll for up to about 5 seconds before reporting "Daemon may have failed to start".
798
831
 
799
832
  **Common causes:**
800
833
  - System resource constraints (high CPU/memory usage)
@@ -803,7 +836,7 @@ The daemon did not respond within the configured timeout. Each health-check requ
803
836
 
804
837
  **Resolution:**
805
838
  1. Check system resources: `top` or Activity Monitor
806
- 2. Wait a bit longer and retry: `limps status-server`
839
+ 2. Wait a bit longer and retry: `limps server-status`
807
840
  3. Run in foreground to see progress: `limps start --foreground`
808
841
 
809
842
  **NETWORK_ERROR:**
@@ -816,15 +849,15 @@ Cannot establish connection to the daemon.
816
849
  - Incorrect host/port configuration
817
850
 
818
851
  **Resolution:**
819
- 1. Verify daemon is running: `limps status-server`
852
+ 1. Verify daemon is running: `limps server-status`
820
853
  2. Check firewall settings for port 4269
821
854
  3. Try `curl http://127.0.0.1:4269/health` manually
822
- 4. Check daemon logs: `limps start --foreground`
855
+ 4. Check daemon logs: see `Log:` path in `limps server-status` output
823
856
 
824
857
  ### Stale PID Files
825
858
 
826
859
  limps automatically cleans up stale PID files when:
827
- - Running `limps status-server` (discovers and removes stale files)
860
+ - Running `limps server-status` (discovers and removes stale files)
828
861
  - Running `limps start` (removes stale file for the target port)
829
862
  - The daemon shuts down gracefully with `limps stop`
830
863
 
@@ -858,7 +891,7 @@ limps start
858
891
  This is expected behavior — limps prevents multiple daemons on the same port using PID-based locking.
859
892
 
860
893
  **Resolution:**
861
- 1. **Check all running daemons**: `limps status-server`
894
+ 1. **Check all running daemons**: `limps server-status`
862
895
  2. **Stop the existing daemon**: `limps stop`
863
896
  3. **Or start on a different port**: `limps start --port 8080`
864
897
 
@@ -869,7 +902,7 @@ If MCP clients can't connect to the daemon, verify connectivity step by step:
869
902
  **1. Check daemon status:**
870
903
 
871
904
  ```bash
872
- limps status-server
905
+ limps server-status
873
906
  # Should show daemon running with healthy status
874
907
  ```
875
908
 
@@ -913,6 +946,64 @@ Ensure the URL in your client config matches the daemon:
913
946
  }
914
947
  ```
915
948
 
949
+ ### Config Resolution Issues
950
+
951
+ **Problem: limps is using the wrong config file**
952
+
953
+ If `limps config path` shows a different config than expected, use the diagnostic command to understand why:
954
+
955
+ ```bash
956
+ limps config show-resolution
957
+ ```
958
+
959
+ This shows all three priority levels for config resolution:
960
+
961
+ 1. **CLI `--config` argument** (highest priority)
962
+ 2. **`MCP_PLANNING_CONFIG` environment variable** (second priority)
963
+ 3. **Local `.limps/config.json`** (searches up from cwd)
964
+
965
+ **Common causes:**
966
+
967
+ - **Environment variable set**: Check if `MCP_PLANNING_CONFIG` is set in your shell or IDE. This takes priority over local config files.
968
+ ```bash
969
+ # Check if set
970
+ echo $MCP_PLANNING_CONFIG
971
+
972
+ # Unset if needed
973
+ unset MCP_PLANNING_CONFIG
974
+ ```
975
+
976
+ - **Wrong working directory**: Config search starts from your current working directory. Make sure you're in the right directory when running limps commands.
977
+ ```bash
978
+ # Check current directory
979
+ pwd
980
+
981
+ # Navigate to your project
982
+ cd /path/to/your/project
983
+ ```
984
+
985
+ - **Missing `.limps/config.json`**: The config file must be in a `.limps` subdirectory, not at the project root.
986
+ ```bash
987
+ # Correct location
988
+ /path/to/project/.limps/config.json
989
+
990
+ # Wrong - won't be found
991
+ /path/to/project/config.json
992
+ ```
993
+
994
+ **Quick fixes:**
995
+
996
+ ```bash
997
+ # Override with explicit path
998
+ limps list-plans --config /path/to/project/.limps/config.json
999
+
1000
+ # Or set environment variable
1001
+ export MCP_PLANNING_CONFIG=/path/to/project/.limps/config.json
1002
+
1003
+ # Or initialize a new config in current directory
1004
+ limps init
1005
+ ```
1006
+
916
1007
  ## MCP Tools
917
1008
 
918
1009
  limps exposes MCP tools for AI assistants:
@@ -69,7 +69,7 @@ export declare function extractAgentNumber(filename: string): string | null;
69
69
  * Extract plan folder from agent file path.
70
70
  *
71
71
  * @example
72
- * extractPlanFolder("/path/to/plans/0022-datagrid-stories/agents/000_agent.agent.md")
72
+ * extractPlanFolder("/path/to/0022-datagrid-stories/agents/000_agent.agent.md")
73
73
  * // "0022-datagrid-stories"
74
74
  *
75
75
  * @param path - Full path to agent file
@@ -1 +1 @@
1
- {"version":3,"file":"agent-parser.d.ts","sourceRoot":"","sources":["../src/agent-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-parser.d.ts","sourceRoot":"","sources":["../src/agent-parser.ts"],"names":[],"mappings":"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"}
@@ -63,16 +63,20 @@ export function extractAgentNumber(filename) {
63
63
  * Extract plan folder from agent file path.
64
64
  *
65
65
  * @example
66
- * extractPlanFolder("/path/to/plans/0022-datagrid-stories/agents/000_agent.agent.md")
66
+ * extractPlanFolder("/path/to/0022-datagrid-stories/agents/000_agent.agent.md")
67
67
  * // "0022-datagrid-stories"
68
68
  *
69
69
  * @param path - Full path to agent file
70
70
  * @returns Plan folder name or null if not found
71
71
  */
72
72
  export function extractPlanFolder(path) {
73
- // Match plans/<folder>/agents/
74
- const match = path.match(/plans[/\\]([^/\\]+)[/\\]agents[/\\]/);
75
- return match ? match[1] : null;
73
+ // Plan folder is the path segment directly before "agents"
74
+ const segments = path.split(/[/\\]+/).filter(Boolean);
75
+ const agentsIndex = segments.lastIndexOf('agents');
76
+ if (agentsIndex <= 0) {
77
+ return null;
78
+ }
79
+ return segments[agentsIndex - 1] || null;
76
80
  }
77
81
  /**
78
82
  * Build task ID from plan folder and agent number.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-parser.js","sourceRoot":"","sources":["../src/agent-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-parser.js","sourceRoot":"","sources":["../src/agent-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * CLI command: create-doc
3
+ * Create new documents with optional template.
4
+ */
5
+ import type { ServerConfig } from '../config.js';
6
+ import type { CreateDocOutput } from '../tools/create-doc.js';
7
+ /**
8
+ * Options for creating documents.
9
+ */
10
+ export interface CreateDocOptions {
11
+ path: string;
12
+ content: string;
13
+ template?: 'addendum' | 'research' | 'example' | 'none';
14
+ }
15
+ /**
16
+ * Get document creation result from the tool handler.
17
+ * Returns structured data for rendering.
18
+ *
19
+ * @param config - Server configuration
20
+ * @param options - Creation options
21
+ * @returns Creation result or error message
22
+ */
23
+ export declare function getCreateDocData(config: ServerConfig, options: CreateDocOptions): Promise<CreateDocOutput | {
24
+ error: string;
25
+ }>;
26
+ /**
27
+ * Create a new document.
28
+ *
29
+ * @param config - Server configuration
30
+ * @param options - Creation options
31
+ * @returns Formatted string output for CLI
32
+ */
33
+ export declare function createDoc(config: ServerConfig, options: CreateDocOptions): Promise<string>;
34
+ //# sourceMappingURL=docs-create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-create.d.ts","sourceRoot":"","sources":["../../src/cli/docs-create.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,wBAAwB,CAAC;AAM9E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;CACzD;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA+B9C;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBhG"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * CLI command: create-doc
3
+ * Create new documents with optional template.
4
+ */
5
+ import { handleCreateDoc } from '../tools/create-doc.js';
6
+ import { initializeDatabase, createSchema } from '../indexer.js';
7
+ import { resolve } from 'path';
8
+ import { mkdirSync } from 'fs';
9
+ /**
10
+ * Get document creation result from the tool handler.
11
+ * Returns structured data for rendering.
12
+ *
13
+ * @param config - Server configuration
14
+ * @param options - Creation options
15
+ * @returns Creation result or error message
16
+ */
17
+ export async function getCreateDocData(config, options) {
18
+ // Ensure data directory exists
19
+ mkdirSync(config.dataPath, { recursive: true });
20
+ const dbPath = resolve(config.dataPath, 'documents.sqlite');
21
+ const db = initializeDatabase(dbPath);
22
+ try {
23
+ createSchema(db);
24
+ const input = {
25
+ path: options.path,
26
+ content: options.content,
27
+ template: options.template || 'none',
28
+ prettyPrint: true,
29
+ };
30
+ const result = await handleCreateDoc(input, { config, db });
31
+ if (result.isError) {
32
+ const errorText = result.content[0]?.text || 'Unknown error';
33
+ return { error: errorText };
34
+ }
35
+ const data = JSON.parse(result.content[0].text);
36
+ return data;
37
+ }
38
+ catch (error) {
39
+ return {
40
+ error: error instanceof Error ? error.message : String(error),
41
+ };
42
+ }
43
+ finally {
44
+ db.close();
45
+ }
46
+ }
47
+ /**
48
+ * Create a new document.
49
+ *
50
+ * @param config - Server configuration
51
+ * @param options - Creation options
52
+ * @returns Formatted string output for CLI
53
+ */
54
+ export async function createDoc(config, options) {
55
+ const result = await getCreateDocData(config, options);
56
+ if ('error' in result) {
57
+ return `Error: ${result.error}`;
58
+ }
59
+ const lines = [];
60
+ lines.push('✓ Document created successfully');
61
+ lines.push('');
62
+ lines.push(`Path: ${result.path}`);
63
+ lines.push(`Size: ${(result.size / 1024).toFixed(1)} KB`);
64
+ lines.push(`Type: ${result.type}`);
65
+ if (options.template && options.template !== 'none') {
66
+ lines.push(`Template: ${options.template}`);
67
+ }
68
+ return lines.join('\n');
69
+ }
70
+ //# sourceMappingURL=docs-create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-create.js","sourceRoot":"","sources":["../../src/cli/docs-create.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAW/B;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAoB,EACpB,OAAyB;IAEzB,+BAA+B;IAC/B,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC5D,MAAM,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,YAAY,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,KAAK,GAAmB;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM;YACpC,WAAW,EAAE,IAAI;SAClB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,eAAe,CAAC;YAC7D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAoB,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAoB,EAAE,OAAyB;IAC7E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1D,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAEnC,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * CLI command: delete-doc
3
+ * Delete documents with confirmation and backup.
4
+ */
5
+ import type { ServerConfig } from '../config.js';
6
+ import type { DeleteDocOutput } from '../tools/delete-doc.js';
7
+ /**
8
+ * Options for deleting documents.
9
+ */
10
+ export interface DeleteDocOptions {
11
+ path: string;
12
+ confirm?: boolean;
13
+ permanent?: boolean;
14
+ }
15
+ /**
16
+ * Get document deletion result from the tool handler.
17
+ * Returns structured data for rendering.
18
+ *
19
+ * @param config - Server configuration
20
+ * @param options - Deletion options
21
+ * @returns Deletion result or error message
22
+ */
23
+ export declare function getDeleteDocData(config: ServerConfig, options: DeleteDocOptions): Promise<DeleteDocOutput | {
24
+ error: string;
25
+ }>;
26
+ /**
27
+ * Delete a document.
28
+ *
29
+ * @param config - Server configuration
30
+ * @param options - Deletion options
31
+ * @returns Formatted string output for CLI
32
+ */
33
+ export declare function deleteDoc(config: ServerConfig, options: DeleteDocOptions): Promise<string>;
34
+ //# sourceMappingURL=docs-delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-delete.d.ts","sourceRoot":"","sources":["../../src/cli/docs-delete.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,wBAAwB,CAAC;AAM9E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA8B9C;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmChG"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * CLI command: delete-doc
3
+ * Delete documents with confirmation and backup.
4
+ */
5
+ import { handleDeleteDoc } from '../tools/delete-doc.js';
6
+ import { initializeDatabase, createSchema } from '../indexer.js';
7
+ import { resolve } from 'path';
8
+ import { mkdirSync } from 'fs';
9
+ /**
10
+ * Get document deletion result from the tool handler.
11
+ * Returns structured data for rendering.
12
+ *
13
+ * @param config - Server configuration
14
+ * @param options - Deletion options
15
+ * @returns Deletion result or error message
16
+ */
17
+ export async function getDeleteDocData(config, options) {
18
+ // Ensure data directory exists
19
+ mkdirSync(config.dataPath, { recursive: true });
20
+ const dbPath = resolve(config.dataPath, 'documents.sqlite');
21
+ const db = initializeDatabase(dbPath);
22
+ try {
23
+ createSchema(db);
24
+ const input = {
25
+ path: options.path,
26
+ confirm: options.confirm || false,
27
+ permanent: options.permanent || false,
28
+ };
29
+ const result = await handleDeleteDoc(input, { config, db });
30
+ if (result.isError) {
31
+ const errorText = result.content[0]?.text || 'Unknown error';
32
+ return { error: errorText };
33
+ }
34
+ const data = JSON.parse(result.content[0].text);
35
+ return data;
36
+ }
37
+ catch (error) {
38
+ return {
39
+ error: error instanceof Error ? error.message : String(error),
40
+ };
41
+ }
42
+ finally {
43
+ db.close();
44
+ }
45
+ }
46
+ /**
47
+ * Delete a document.
48
+ *
49
+ * @param config - Server configuration
50
+ * @param options - Deletion options
51
+ * @returns Formatted string output for CLI
52
+ */
53
+ export async function deleteDoc(config, options) {
54
+ const result = await getDeleteDocData(config, options);
55
+ if ('error' in result) {
56
+ return `Error: ${result.error}`;
57
+ }
58
+ const lines = [];
59
+ if (result.pending) {
60
+ lines.push('⚠️ Deletion pending confirmation');
61
+ lines.push('');
62
+ lines.push(`Path: ${result.path}`);
63
+ if (result.preview) {
64
+ lines.push('');
65
+ lines.push('Preview:');
66
+ lines.push(result.preview);
67
+ }
68
+ lines.push('');
69
+ lines.push('Run with --confirm to proceed');
70
+ }
71
+ else if (result.deleted) {
72
+ lines.push('✓ Document deleted successfully');
73
+ lines.push('');
74
+ lines.push(`Path: ${result.path}`);
75
+ if (result.trash) {
76
+ lines.push(`Moved to trash: ${result.trash}`);
77
+ }
78
+ if (result.backup) {
79
+ lines.push(`Backup: ${result.backup}`);
80
+ }
81
+ }
82
+ return lines.join('\n');
83
+ }
84
+ //# sourceMappingURL=docs-delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-delete.js","sourceRoot":"","sources":["../../src/cli/docs-delete.ts"],"names":[],"mappings":"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"}