mcp-task-server 0.2.1 → 0.2.2
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 +101 -25
- package/dist/agents.js +1 -1
- package/dist/index.js +24 -7
- package/dist/index.js.map +1 -1
- package/dist/prompts.d.ts +5 -1
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +76 -4
- package/dist/prompts.js.map +1 -1
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +58 -176
- package/dist/templates.js.map +1 -1
- package/dist/tools.d.ts +14 -3
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +100 -18
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/dist/templates.js
CHANGED
|
@@ -144,7 +144,7 @@ Read this file before making any changes.
|
|
|
144
144
|
- Do not implement code unless explicitly requested
|
|
145
145
|
|
|
146
146
|
**MCP Tool Permissions:**
|
|
147
|
-
- ✅ add_task, expand_task, parse_prd, set_dependencies,
|
|
147
|
+
- ✅ add_task, expand_task, parse_prd, set_dependencies, analyse_complexity
|
|
148
148
|
- ❌ claim_task, complete_task
|
|
149
149
|
|
|
150
150
|
### Worker
|
|
@@ -263,15 +263,8 @@ See the full documentation in the MCP Task Server repository.
|
|
|
263
263
|
// =============================================================================
|
|
264
264
|
const ARCHITECTURE_TEMPLATE = `---
|
|
265
265
|
title: Architecture and Operations
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
sidebar_position: 2
|
|
269
|
-
unlisted: false
|
|
270
|
-
tags:
|
|
271
|
-
- application
|
|
272
|
-
- <project>
|
|
273
|
-
- architecture
|
|
274
|
-
- operations
|
|
266
|
+
project: <project>
|
|
267
|
+
category: architecture
|
|
275
268
|
---
|
|
276
269
|
|
|
277
270
|
# Architecture and operations
|
|
@@ -304,15 +297,8 @@ tags:
|
|
|
304
297
|
`;
|
|
305
298
|
const TECH_TEMPLATE = `---
|
|
306
299
|
title: Technical Context
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
sidebar_position: 1
|
|
310
|
-
unlisted: false
|
|
311
|
-
tags:
|
|
312
|
-
- application
|
|
313
|
-
- <project>
|
|
314
|
-
- architecture
|
|
315
|
-
- technical
|
|
300
|
+
project: <project>
|
|
301
|
+
category: architecture
|
|
316
302
|
---
|
|
317
303
|
|
|
318
304
|
# Technical context
|
|
@@ -340,15 +326,8 @@ tags:
|
|
|
340
326
|
`;
|
|
341
327
|
const MODELS_TEMPLATE = `---
|
|
342
328
|
title: Data Models
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
sidebar_position: 3
|
|
346
|
-
unlisted: false
|
|
347
|
-
tags:
|
|
348
|
-
- application
|
|
349
|
-
- <project>
|
|
350
|
-
- architecture
|
|
351
|
-
- models
|
|
329
|
+
project: <project>
|
|
330
|
+
category: architecture
|
|
352
331
|
---
|
|
353
332
|
|
|
354
333
|
# Data models
|
|
@@ -375,15 +354,8 @@ tags:
|
|
|
375
354
|
`;
|
|
376
355
|
const SERVICES_TEMPLATE = `---
|
|
377
356
|
title: System Services
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
sidebar_position: 2
|
|
381
|
-
unlisted: false
|
|
382
|
-
tags:
|
|
383
|
-
- application
|
|
384
|
-
- <project>
|
|
385
|
-
- architecture
|
|
386
|
-
- services
|
|
357
|
+
project: <project>
|
|
358
|
+
category: architecture
|
|
387
359
|
---
|
|
388
360
|
|
|
389
361
|
# System services
|
|
@@ -399,7 +371,7 @@ tags:
|
|
|
399
371
|
|
|
400
372
|
### 2) Auth and tokens
|
|
401
373
|
- Responsibility:
|
|
402
|
-
-
|
|
374
|
+
- Behaviour:
|
|
403
375
|
|
|
404
376
|
### 3) Background workers
|
|
405
377
|
- Responsibility:
|
|
@@ -411,15 +383,8 @@ tags:
|
|
|
411
383
|
`;
|
|
412
384
|
const DEPLOYMENT_TEMPLATE = `---
|
|
413
385
|
title: Deployment and Setup Guide
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
sidebar_position: 5
|
|
417
|
-
unlisted: false
|
|
418
|
-
tags:
|
|
419
|
-
- application
|
|
420
|
-
- <project>
|
|
421
|
-
- architecture
|
|
422
|
-
- deployment
|
|
386
|
+
project: <project>
|
|
387
|
+
category: architecture
|
|
423
388
|
---
|
|
424
389
|
|
|
425
390
|
# Deployment and setup guide
|
|
@@ -442,15 +407,8 @@ tags:
|
|
|
442
407
|
`;
|
|
443
408
|
const KUBERNETES_TEMPLATE = `---
|
|
444
409
|
title: Kubernetes Deployment
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
sidebar_position: 6
|
|
448
|
-
unlisted: false
|
|
449
|
-
tags:
|
|
450
|
-
- application
|
|
451
|
-
- <project>
|
|
452
|
-
- architecture
|
|
453
|
-
- kubernetes
|
|
410
|
+
project: <project>
|
|
411
|
+
category: architecture
|
|
454
412
|
---
|
|
455
413
|
|
|
456
414
|
# Kubernetes deployment
|
|
@@ -484,15 +442,8 @@ tags:
|
|
|
484
442
|
`;
|
|
485
443
|
const WEBHOOKS_TEMPLATE = `---
|
|
486
444
|
title: Webhooks Implementation
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
sidebar_position: 4
|
|
490
|
-
unlisted: false
|
|
491
|
-
tags:
|
|
492
|
-
- application
|
|
493
|
-
- <project>
|
|
494
|
-
- architecture
|
|
495
|
-
- webhooks
|
|
445
|
+
project: <project>
|
|
446
|
+
category: architecture
|
|
496
447
|
---
|
|
497
448
|
|
|
498
449
|
# Webhooks implementation
|
|
@@ -523,15 +474,8 @@ tags:
|
|
|
523
474
|
// =============================================================================
|
|
524
475
|
const CONTEXT_TEMPLATE = `---
|
|
525
476
|
title: Context and Planning
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
sidebar_position: 1
|
|
529
|
-
unlisted: false
|
|
530
|
-
tags:
|
|
531
|
-
- application
|
|
532
|
-
- <project>
|
|
533
|
-
- context
|
|
534
|
-
- planning
|
|
477
|
+
project: <project>
|
|
478
|
+
category: context
|
|
535
479
|
---
|
|
536
480
|
|
|
537
481
|
# Context and planning
|
|
@@ -560,16 +504,8 @@ tags:
|
|
|
560
504
|
`;
|
|
561
505
|
const BRIEF_TEMPLATE = `---
|
|
562
506
|
title: Project Brief
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
sidebar_position: 1
|
|
566
|
-
unlisted: false
|
|
567
|
-
tags:
|
|
568
|
-
- application
|
|
569
|
-
- <project>
|
|
570
|
-
- context
|
|
571
|
-
- planning
|
|
572
|
-
- brief
|
|
507
|
+
project: <project>
|
|
508
|
+
category: context
|
|
573
509
|
---
|
|
574
510
|
|
|
575
511
|
# Project Brief
|
|
@@ -600,16 +536,8 @@ Describe the specific problem you are solving.
|
|
|
600
536
|
`;
|
|
601
537
|
const ACTIVE_TEMPLATE = `---
|
|
602
538
|
title: Active Context
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
sidebar_position: 2
|
|
606
|
-
unlisted: false
|
|
607
|
-
tags:
|
|
608
|
-
- application
|
|
609
|
-
- <project>
|
|
610
|
-
- context
|
|
611
|
-
- planning
|
|
612
|
-
- active
|
|
539
|
+
project: <project>
|
|
540
|
+
category: context
|
|
613
541
|
---
|
|
614
542
|
|
|
615
543
|
# Active Context
|
|
@@ -645,15 +573,8 @@ tags:
|
|
|
645
573
|
`;
|
|
646
574
|
const PRODUCT_TEMPLATE = `---
|
|
647
575
|
title: Product Context
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
sidebar_position: 3
|
|
651
|
-
unlisted: false
|
|
652
|
-
tags:
|
|
653
|
-
- application
|
|
654
|
-
- <project>
|
|
655
|
-
- context
|
|
656
|
-
- product
|
|
576
|
+
project: <project>
|
|
577
|
+
category: context
|
|
657
578
|
---
|
|
658
579
|
|
|
659
580
|
# Product context
|
|
@@ -683,19 +604,11 @@ tags:
|
|
|
683
604
|
`;
|
|
684
605
|
const CANVAS_TEMPLATE = `---
|
|
685
606
|
title: Lean Canvas
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
sidebar_position: 4
|
|
689
|
-
unlisted: false
|
|
690
|
-
tags:
|
|
691
|
-
- application
|
|
692
|
-
- <project>
|
|
693
|
-
- context
|
|
694
|
-
- planning
|
|
695
|
-
- canvas
|
|
607
|
+
project: <project>
|
|
608
|
+
category: context
|
|
696
609
|
---
|
|
697
610
|
|
|
698
|
-
#
|
|
611
|
+
# Lean canvas
|
|
699
612
|
|
|
700
613
|
## 1. Problem
|
|
701
614
|
- Problem 1:
|
|
@@ -733,15 +646,8 @@ tags:
|
|
|
733
646
|
`;
|
|
734
647
|
const CHANGELOG_TEMPLATE = `---
|
|
735
648
|
title: Changelog
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
sidebar_position: 5
|
|
739
|
-
unlisted: false
|
|
740
|
-
tags:
|
|
741
|
-
- application
|
|
742
|
-
- <project>
|
|
743
|
-
- context
|
|
744
|
-
- changelog
|
|
649
|
+
project: <project>
|
|
650
|
+
category: context
|
|
745
651
|
---
|
|
746
652
|
|
|
747
653
|
# Changelog
|
|
@@ -755,14 +661,8 @@ tags:
|
|
|
755
661
|
// =============================================================================
|
|
756
662
|
const EXECUTION_TEMPLATE = `---
|
|
757
663
|
title: Execution and Tracking
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
sidebar_position: 3
|
|
761
|
-
unlisted: false
|
|
762
|
-
tags:
|
|
763
|
-
- application
|
|
764
|
-
- <project>
|
|
765
|
-
- execution
|
|
664
|
+
project: <project>
|
|
665
|
+
category: execution
|
|
766
666
|
---
|
|
767
667
|
|
|
768
668
|
# Execution and tracking
|
|
@@ -785,15 +685,8 @@ tags:
|
|
|
785
685
|
`;
|
|
786
686
|
const PROGRESS_TEMPLATE = `---
|
|
787
687
|
title: Progress
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
sidebar_position: 1
|
|
791
|
-
unlisted: false
|
|
792
|
-
tags:
|
|
793
|
-
- application
|
|
794
|
-
- <project>
|
|
795
|
-
- execution
|
|
796
|
-
- progress
|
|
688
|
+
project: <project>
|
|
689
|
+
category: execution
|
|
797
690
|
---
|
|
798
691
|
|
|
799
692
|
# Implementation Progress
|
|
@@ -827,15 +720,8 @@ Last updated: ${new Date().toISOString().split("T")[0]}
|
|
|
827
720
|
`;
|
|
828
721
|
const DECISIONS_TEMPLATE = `---
|
|
829
722
|
title: Decision Log
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
sidebar_position: 3
|
|
833
|
-
unlisted: false
|
|
834
|
-
tags:
|
|
835
|
-
- application
|
|
836
|
-
- <project>
|
|
837
|
-
- execution
|
|
838
|
-
- decisions
|
|
723
|
+
project: <project>
|
|
724
|
+
category: execution
|
|
839
725
|
---
|
|
840
726
|
|
|
841
727
|
# Decision Log
|
|
@@ -859,15 +745,8 @@ tags:
|
|
|
859
745
|
`;
|
|
860
746
|
const DEBUG_TEMPLATE = `---
|
|
861
747
|
title: Debug Diary
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
sidebar_position: 2
|
|
865
|
-
unlisted: false
|
|
866
|
-
tags:
|
|
867
|
-
- application
|
|
868
|
-
- <project>
|
|
869
|
-
- execution
|
|
870
|
-
- diary
|
|
748
|
+
project: <project>
|
|
749
|
+
category: execution
|
|
871
750
|
---
|
|
872
751
|
|
|
873
752
|
# Debug diary
|
|
@@ -890,21 +769,14 @@ tags:
|
|
|
890
769
|
`;
|
|
891
770
|
const GIT_TEMPLATE = `---
|
|
892
771
|
title: Git Setup and Code Quality
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
sidebar_position: 4
|
|
896
|
-
unlisted: false
|
|
897
|
-
tags:
|
|
898
|
-
- application
|
|
899
|
-
- <project>
|
|
900
|
-
- execution
|
|
901
|
-
- git
|
|
902
|
-
- quality
|
|
772
|
+
project: <project>
|
|
773
|
+
category: execution
|
|
903
774
|
---
|
|
904
775
|
|
|
905
776
|
# Git setup and code quality
|
|
906
777
|
|
|
907
778
|
## Initial repository setup
|
|
779
|
+
|
|
908
780
|
\`\`\`bash
|
|
909
781
|
git init
|
|
910
782
|
git checkout -b main
|
|
@@ -912,22 +784,32 @@ git add .
|
|
|
912
784
|
git commit -m "Initial commit"
|
|
913
785
|
\`\`\`
|
|
914
786
|
|
|
915
|
-
##
|
|
787
|
+
## Remote setup
|
|
788
|
+
|
|
916
789
|
\`\`\`bash
|
|
917
|
-
#
|
|
918
|
-
|
|
790
|
+
# GitHub
|
|
791
|
+
gh repo create <org>/<project> --private --source=. --push
|
|
792
|
+
|
|
793
|
+
# GitLab
|
|
919
794
|
glab repo create <group>/<project> --private
|
|
795
|
+
git push -u origin main
|
|
796
|
+
|
|
797
|
+
# Manual
|
|
798
|
+
git remote add origin <url>
|
|
799
|
+
git push -u origin main
|
|
920
800
|
\`\`\`
|
|
921
801
|
|
|
922
802
|
## Code quality tools
|
|
923
|
-
- Prettier
|
|
924
|
-
- ESLint
|
|
925
|
-
- Husky
|
|
926
803
|
|
|
927
|
-
|
|
804
|
+
- Linter (ESLint, Biome, etc.)
|
|
805
|
+
- Formatter (Prettier, etc.)
|
|
806
|
+
- Pre-commit hooks (Husky, lint-staged)
|
|
807
|
+
|
|
808
|
+
## Common scripts
|
|
809
|
+
|
|
928
810
|
\`\`\`bash
|
|
929
|
-
npm run format
|
|
930
811
|
npm run lint
|
|
812
|
+
npm run format
|
|
931
813
|
npm run typecheck
|
|
932
814
|
npm test
|
|
933
815
|
\`\`\`
|
package/dist/templates.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO;QACL,kBAAkB;QAClB;YACE,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,oBAAoB;SAC9B;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,cAAc;SACxB;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,gBAAgB;SAC1B;QACD;YACE,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE,uBAAuB;SACjC;QAED,iCAAiC;QACjC;YACE,IAAI,EAAE,0CAA0C;YAChD,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAClE;QACD;YACE,IAAI,EAAE,kCAAkC;YACxC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC1D;QACD;YACE,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC5D;QACD;YACE,IAAI,EAAE,sCAAsC;YAC5C,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC9D;QACD;YACE,IAAI,EAAE,wCAAwC;YAC9C,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAChE;QACD;YACE,IAAI,EAAE,wCAAwC;YAC9C,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAChE;QACD;YACE,IAAI,EAAE,sCAAsC;YAC5C,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC9D;QAED,4BAA4B;QAC5B;YACE,IAAI,EAAE,gCAAgC;YACtC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC7D;QACD;YACE,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC3D;QACD;YACE,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC5D;QACD;YACE,IAAI,EAAE,gCAAgC;YACtC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC7D;QACD;YACE,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC5D;QACD;YACE,IAAI,EAAE,kCAAkC;YACxC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC/D;QAED,8BAA8B;QAC9B;YACE,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC/D;QACD;YACE,IAAI,EAAE,mCAAmC;YACzC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC9D;QACD;YACE,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC/D;QACD;YACE,IAAI,EAAE,gCAAgC;YACtC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SAC3D;QACD;YACE,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SACzD;QAED,oCAAoC;QACpC;YACE,IAAI,EAAE,iCAAiC;YACvC,OAAO,EAAE,yBAAyB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC;SACtE;QAED,qBAAqB;QACrB;YACE,IAAI,EAAE,kCAAkC;YACxC,OAAO,EAAE,qBAAqB;SAC/B;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2E5B,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;CAYtB,CAAC;AAEF,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;CAaxB,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC/B,CAAC;AAEF,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAEhF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC7B,CAAC;AAEF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BrB,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BvB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BzB,CAAC;AAEF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuB3B,CAAC;AAEF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC3B,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BzB,CAAC;AAEF,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAEhF,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BxB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BtB,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCvB,CAAC;AAEF,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BxB,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCvB,CAAC;AAEF,MAAM,kBAAkB,GAAG;;;;;;;;;;;CAW1B,CAAC;AAEF,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAEhF,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuB1B,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;gBAUV,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;IAkBlD,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;;;;;CAMzC,CAAC;AAEF,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;MAkBrB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;;;;;CAMzC,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBtB,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CpB,CAAC;AAEF,gFAAgF;AAChF,iCAAiC;AACjC,gFAAgF;AAEhF,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;CAgBjC,CAAC;AAEF,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiE7B,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -326,7 +326,7 @@ export declare const ResearchTaskSchema: z.ZodObject<{
|
|
|
326
326
|
agent_id?: string | undefined;
|
|
327
327
|
topic?: string | undefined;
|
|
328
328
|
}>;
|
|
329
|
-
export declare const
|
|
329
|
+
export declare const AnalyseComplexitySchema: z.ZodObject<{
|
|
330
330
|
agent_id: z.ZodOptional<z.ZodString>;
|
|
331
331
|
role: z.ZodOptional<z.ZodEnum<["planner", "worker", "judge"]>>;
|
|
332
332
|
} & {
|
|
@@ -367,6 +367,13 @@ export declare const InitProjectSchema: z.ZodObject<{
|
|
|
367
367
|
project_name?: string | undefined;
|
|
368
368
|
force?: boolean | undefined;
|
|
369
369
|
}>;
|
|
370
|
+
export declare const AnalyseProjectSchema: z.ZodObject<{
|
|
371
|
+
focus: z.ZodDefault<z.ZodEnum<["all", "brief", "tech", "architecture", "active"]>>;
|
|
372
|
+
}, "strip", z.ZodTypeAny, {
|
|
373
|
+
focus: "all" | "brief" | "tech" | "architecture" | "active";
|
|
374
|
+
}, {
|
|
375
|
+
focus?: "all" | "brief" | "tech" | "architecture" | "active" | undefined;
|
|
376
|
+
}>;
|
|
370
377
|
type ToolResult = {
|
|
371
378
|
content: Array<{
|
|
372
379
|
type: "text";
|
|
@@ -391,10 +398,14 @@ export declare function setDependencies(config: Config, params: z.infer<typeof S
|
|
|
391
398
|
export declare function removeTask(config: Config, params: z.infer<typeof RemoveTaskSchema>): Promise<ToolResult>;
|
|
392
399
|
export declare function parsePrd(config: Config, params: z.infer<typeof ParsePrdSchema>): Promise<ToolResult>;
|
|
393
400
|
export declare function researchTask(config: Config, params: z.infer<typeof ResearchTaskSchema>): Promise<ToolResult>;
|
|
394
|
-
export declare function
|
|
401
|
+
export declare function analyseComplexity(config: Config, params: z.infer<typeof AnalyseComplexitySchema>): Promise<ToolResult>;
|
|
395
402
|
export declare function checkCompliance(config: Config, params: z.infer<typeof CheckComplianceSchema>): Promise<ToolResult>;
|
|
396
403
|
/**
|
|
397
|
-
*
|
|
404
|
+
* Analyse project and generate suggestions for memory_bank files
|
|
405
|
+
*/
|
|
406
|
+
export declare function analyseProject(config: Config, params: z.infer<typeof AnalyseProjectSchema>): Promise<ToolResult>;
|
|
407
|
+
/**
|
|
408
|
+
* Initialise a project with agent-kit, memory_bank, and cursor rules
|
|
398
409
|
*/
|
|
399
410
|
export declare function initProject(config: Config, params: z.infer<typeof InitProjectSchema>): Promise<ToolResult>;
|
|
400
411
|
export {};
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,MAAM,EAAkD,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -5,9 +5,46 @@ import { existsSync, statSync, readdirSync } from "fs";
|
|
|
5
5
|
import { join } from "path";
|
|
6
6
|
import { loadTasks, saveTasks, generateId, findTask, updateTask as updateTaskInStore, addSubtaskToTask, } from "./storage.js";
|
|
7
7
|
import { hasPermission, canActOnTask, getOrCreateAgent } from "./agents.js";
|
|
8
|
-
import { expandTaskPrompt, parsePrdPrompt, researchTaskPrompt,
|
|
8
|
+
import { expandTaskPrompt, parsePrdPrompt, researchTaskPrompt, analyseComplexityPrompt, checkCompliancePrompt, analyseProjectPrompt, } from "./prompts.js";
|
|
9
9
|
import { resolvePath } from "./config.js";
|
|
10
10
|
import { getTemplateFiles, getInitialTasksJson } from "./templates.js";
|
|
11
|
+
import { getWritingPreferences, getUserIdentity, } from "./context.js";
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// Preferences Helper
|
|
14
|
+
// ============================================================================
|
|
15
|
+
/**
|
|
16
|
+
* Get a brief preferences hint to include in tool responses.
|
|
17
|
+
* Returns null if no preferences are set.
|
|
18
|
+
*/
|
|
19
|
+
function getPreferencesHint() {
|
|
20
|
+
const parts = [];
|
|
21
|
+
const writing = getWritingPreferences();
|
|
22
|
+
if (writing) {
|
|
23
|
+
// Extract first sentence or first 100 chars
|
|
24
|
+
const brief = writing.split(/[.!?]/)[0]?.trim();
|
|
25
|
+
if (brief)
|
|
26
|
+
parts.push(brief);
|
|
27
|
+
}
|
|
28
|
+
const identity = getUserIdentity();
|
|
29
|
+
if (identity) {
|
|
30
|
+
const brief = identity.split(/[.!?]/)[0]?.trim();
|
|
31
|
+
if (brief && brief.length < 80)
|
|
32
|
+
parts.push(brief);
|
|
33
|
+
}
|
|
34
|
+
if (parts.length === 0)
|
|
35
|
+
return null;
|
|
36
|
+
return `Apply preferences: ${parts.join(". ")}`;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Add preferences hint to a result object if preferences exist.
|
|
40
|
+
*/
|
|
41
|
+
function withPreferences(result) {
|
|
42
|
+
const hint = getPreferencesHint();
|
|
43
|
+
if (hint) {
|
|
44
|
+
return { ...result, preferences: hint };
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
11
48
|
// ============================================================================
|
|
12
49
|
// Schema Definitions
|
|
13
50
|
// ============================================================================
|
|
@@ -119,7 +156,7 @@ export const ResearchTaskSchema = AgentContextSchema.extend({
|
|
|
119
156
|
task_id: z.string(),
|
|
120
157
|
topic: z.string().optional(),
|
|
121
158
|
});
|
|
122
|
-
export const
|
|
159
|
+
export const AnalyseComplexitySchema = AgentContextSchema.extend({
|
|
123
160
|
task_id: z.string(),
|
|
124
161
|
});
|
|
125
162
|
export const CheckComplianceSchema = AgentContextSchema.extend({
|
|
@@ -130,6 +167,9 @@ export const InitProjectSchema = z.object({
|
|
|
130
167
|
project_name: z.string().optional(),
|
|
131
168
|
force: z.boolean().default(false),
|
|
132
169
|
});
|
|
170
|
+
export const AnalyseProjectSchema = z.object({
|
|
171
|
+
focus: z.enum(["all", "brief", "tech", "architecture", "active"]).default("all"),
|
|
172
|
+
});
|
|
133
173
|
function result(data) {
|
|
134
174
|
return {
|
|
135
175
|
content: [{ type: "text", text: JSON.stringify(data, null, 2) }],
|
|
@@ -161,7 +201,7 @@ export async function listTasks(config, params) {
|
|
|
161
201
|
if (params.assigned_to) {
|
|
162
202
|
tasks = tasks.filter((t) => t.assigned_to === params.assigned_to);
|
|
163
203
|
}
|
|
164
|
-
return result({ tasks, total: tasks.length });
|
|
204
|
+
return result(withPreferences({ tasks, total: tasks.length }));
|
|
165
205
|
}
|
|
166
206
|
export async function getTask(config, params) {
|
|
167
207
|
const permError = checkPermission(params.role, "get_task");
|
|
@@ -172,7 +212,7 @@ export async function getTask(config, params) {
|
|
|
172
212
|
if (!task) {
|
|
173
213
|
return error(`Task '${params.task_id}' not found`);
|
|
174
214
|
}
|
|
175
|
-
return result({ task });
|
|
215
|
+
return result(withPreferences({ task }));
|
|
176
216
|
}
|
|
177
217
|
export async function addTask(config, params) {
|
|
178
218
|
const permError = checkPermission(params.role, "add_task");
|
|
@@ -199,7 +239,7 @@ export async function addTask(config, params) {
|
|
|
199
239
|
};
|
|
200
240
|
store.tasks.push(task);
|
|
201
241
|
await saveTasks(config, store);
|
|
202
|
-
return result({ task, message: `Task ${id} created` });
|
|
242
|
+
return result(withPreferences({ task, message: `Task ${id} created` }));
|
|
203
243
|
}
|
|
204
244
|
export async function updateTask(config, params) {
|
|
205
245
|
const permError = checkPermission(params.role, "update_task");
|
|
@@ -233,7 +273,7 @@ export async function updateTask(config, params) {
|
|
|
233
273
|
return error(`Task '${params.task_id}' not found`);
|
|
234
274
|
}
|
|
235
275
|
await saveTasks(config, store);
|
|
236
|
-
return result({ task, message: `Task ${params.task_id} updated` });
|
|
276
|
+
return result(withPreferences({ task, message: `Task ${params.task_id} updated` }));
|
|
237
277
|
}
|
|
238
278
|
export async function completeTask(config, params) {
|
|
239
279
|
const permError = checkPermission(params.role, "complete_task");
|
|
@@ -277,10 +317,10 @@ export async function nextTask(config, params) {
|
|
|
277
317
|
return true;
|
|
278
318
|
});
|
|
279
319
|
if (pendingTasks.length === 0) {
|
|
280
|
-
return result({
|
|
320
|
+
return result(withPreferences({
|
|
281
321
|
task: null,
|
|
282
322
|
message: "No tasks available (all completed or blocked by dependencies)",
|
|
283
|
-
});
|
|
323
|
+
}));
|
|
284
324
|
}
|
|
285
325
|
// Sort by priority (critical > high > medium > low)
|
|
286
326
|
const priorityOrder = {
|
|
@@ -290,12 +330,12 @@ export async function nextTask(config, params) {
|
|
|
290
330
|
low: 3,
|
|
291
331
|
};
|
|
292
332
|
pendingTasks.sort((a, b) => priorityOrder[a.priority] - priorityOrder[b.priority]);
|
|
293
|
-
const
|
|
294
|
-
return result({
|
|
295
|
-
task:
|
|
296
|
-
message: `Recommended next task: ${
|
|
333
|
+
const recommendedTask = pendingTasks[0];
|
|
334
|
+
return result(withPreferences({
|
|
335
|
+
task: recommendedTask,
|
|
336
|
+
message: `Recommended next task: ${recommendedTask.id}`,
|
|
297
337
|
available_count: pendingTasks.length,
|
|
298
|
-
});
|
|
338
|
+
}));
|
|
299
339
|
}
|
|
300
340
|
// ============================================================================
|
|
301
341
|
// Multi-Agent Coordination Tools
|
|
@@ -552,8 +592,8 @@ export async function researchTask(config, params) {
|
|
|
552
592
|
const promptResult = researchTaskPrompt(task, params.topic);
|
|
553
593
|
return result(promptResult);
|
|
554
594
|
}
|
|
555
|
-
export async function
|
|
556
|
-
const permError = checkPermission(params.role, "
|
|
595
|
+
export async function analyseComplexity(config, params) {
|
|
596
|
+
const permError = checkPermission(params.role, "analyse_complexity");
|
|
557
597
|
if (permError)
|
|
558
598
|
return permError;
|
|
559
599
|
const store = await loadTasks(config);
|
|
@@ -561,7 +601,7 @@ export async function analyzeComplexity(config, params) {
|
|
|
561
601
|
if (!task) {
|
|
562
602
|
return error(`Task '${params.task_id}' not found`);
|
|
563
603
|
}
|
|
564
|
-
const promptResult =
|
|
604
|
+
const promptResult = analyseComplexityPrompt(task);
|
|
565
605
|
return result(promptResult);
|
|
566
606
|
}
|
|
567
607
|
/**
|
|
@@ -639,8 +679,50 @@ export async function checkCompliance(config, params) {
|
|
|
639
679
|
const promptResult = checkCompliancePrompt(pathDescription, content, params.fix);
|
|
640
680
|
return result(promptResult);
|
|
641
681
|
}
|
|
682
|
+
/**
|
|
683
|
+
* Get a tree-like structure of the project for analysis
|
|
684
|
+
*/
|
|
685
|
+
function getProjectStructure(rootPath, maxDepth = 3) {
|
|
686
|
+
const lines = [];
|
|
687
|
+
const ignoreDirs = new Set([
|
|
688
|
+
"node_modules", ".git", "dist", "build", ".next", ".nuxt",
|
|
689
|
+
"__pycache__", ".venv", "venv", "coverage", ".cache"
|
|
690
|
+
]);
|
|
691
|
+
function walk(dir, prefix, depth) {
|
|
692
|
+
if (depth > maxDepth)
|
|
693
|
+
return;
|
|
694
|
+
try {
|
|
695
|
+
const entries = readdirSync(dir, { withFileTypes: true });
|
|
696
|
+
const filtered = entries.filter(e => !e.name.startsWith(".") && !ignoreDirs.has(e.name));
|
|
697
|
+
filtered.forEach((entry, index) => {
|
|
698
|
+
const isLast = index === filtered.length - 1;
|
|
699
|
+
const connector = isLast ? "└── " : "├── ";
|
|
700
|
+
const newPrefix = prefix + (isLast ? " " : "│ ");
|
|
701
|
+
lines.push(`${prefix}${connector}${entry.name}${entry.isDirectory() ? "/" : ""}`);
|
|
702
|
+
if (entry.isDirectory()) {
|
|
703
|
+
walk(join(dir, entry.name), newPrefix, depth + 1);
|
|
704
|
+
}
|
|
705
|
+
});
|
|
706
|
+
}
|
|
707
|
+
catch {
|
|
708
|
+
// Skip directories we can't read
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
const rootName = rootPath.split("/").pop() || "project";
|
|
712
|
+
lines.push(`${rootName}/`);
|
|
713
|
+
walk(rootPath, "", 1);
|
|
714
|
+
return lines.join("\n");
|
|
715
|
+
}
|
|
716
|
+
/**
|
|
717
|
+
* Analyse project and generate suggestions for memory_bank files
|
|
718
|
+
*/
|
|
719
|
+
export async function analyseProject(config, params) {
|
|
720
|
+
const structure = getProjectStructure(config.workspaceRoot);
|
|
721
|
+
const promptResult = analyseProjectPrompt(structure, params.focus);
|
|
722
|
+
return result(promptResult);
|
|
723
|
+
}
|
|
642
724
|
// ============================================================================
|
|
643
|
-
// Project
|
|
725
|
+
// Project Initialisation
|
|
644
726
|
// ============================================================================
|
|
645
727
|
/**
|
|
646
728
|
* Ensure directory exists
|
|
@@ -652,7 +734,7 @@ async function ensureDir(filePath) {
|
|
|
652
734
|
}
|
|
653
735
|
}
|
|
654
736
|
/**
|
|
655
|
-
*
|
|
737
|
+
* Initialise a project with agent-kit, memory_bank, and cursor rules
|
|
656
738
|
*/
|
|
657
739
|
export async function initProject(config, params) {
|
|
658
740
|
// Derive project name from workspace root if not provided
|