Commit Graph

57 Commits

Author SHA1 Message Date
Joe Danziger
100e53a3ee ensure subdirectory exists 2025-06-04 14:18:06 -04:00
Joe Danziger
35022088b7 use taskmaster subfolder for the 2 TM rules 2025-06-04 14:11:01 -04:00
Joe Danziger
6ee304795c Merge branch 'next' of https://github.com/eyaltoledano/claude-task-master into joedanz/flexible-brand-rules
# Conflicts:
#	scripts/init.js
#	scripts/modules/commands.js
#	tests/integration/roo-files-inclusion.test.js
#	tests/integration/roo-init-functionality.test.js
2025-06-04 13:39:50 -04:00
Ralph Khreish
edaa5fe0d5 fix: projectRoot duplicate .taskmaster directory (#655) 2025-06-03 15:12:50 +02:00
Ralph Khreish
9b4168bb4e Fix: MCP log errors (#648) 2025-06-03 01:09:29 +02:00
Ralph Khreish
ad612763ff fix: bedrock set model and other fixes (#641) 2025-06-02 14:44:35 +02:00
Ralph Khreish
3f64202c9f feat: Add .taskmaster directory (#619) 2025-05-31 16:21:03 +02:00
Joe Danziger
216cfc0293 Merge branch 'next' of https://github.com/eyaltoledano/claude-task-master into joedanz/flexible-brand-rules 2025-05-29 00:04:05 -04:00
Ralph Khreish
6a8a68e1a3 Feat/add.azure.and.other.providers (#607)
* fix: claude-4 not having the right max_tokens

* feat: add bedrock support

* chore: fix package-lock.json

* fix: rename baseUrl to baseURL

* feat: add azure support

* fix: final touches of azure integration

* feat: add google vertex provider

* chore: fix tests and refactor task-manager.test.js

* chore: move task 92 to 94
2025-05-28 00:42:31 +02:00
Joe Danziger
86963c48ac update formatting 2025-05-27 17:33:55 -04:00
Joe Danziger
7769315f7b update function name 2025-05-27 17:32:58 -04:00
Joe Danziger
03f2c13f1e update UI 2025-05-27 17:22:45 -04:00
Joe Danziger
5c128ed59a rename function and add boxen 2025-05-27 16:12:10 -04:00
Joe Danziger
08ad455463 combine to /src/utils/profiles.js; add codex and claude code profiles 2025-05-27 15:45:08 -04:00
Joe Danziger
5149aaa56f update to 'rule profile' 2025-05-27 14:50:39 -04:00
Joe Danziger
6e848744fe update wording 2025-05-27 13:34:11 -04:00
Joe Danziger
93bd8f0f30 add Trae support 2025-05-27 13:26:48 -04:00
Joe Danziger
8d0fea2d99 use "rule profiles" instead of "rules profiles" 2025-05-27 13:09:24 -04:00
Joe Danziger
9d25178d12 fix for filepath at bottom of rule 2025-05-27 10:05:26 -04:00
Joe Danziger
817a051229 update confirmation for rules remove 2025-05-27 00:06:56 -04:00
Joe Danziger
3b9191c8bb add checks for other rules and other profile folder items before removing 2025-05-26 23:59:59 -04:00
Joe Danziger
43686a533d add proper formatting for mcp.json 2025-05-26 22:48:34 -04:00
Joe Danziger
a3a8793259 add newline at end of mcp config 2025-05-26 22:35:13 -04:00
Joe Danziger
c02a324641 Use profile-detection instead of rules-detection 2025-05-26 22:16:14 -04:00
Joe Danziger
36e8257d08 add confirmation if removing ALL rules profiles, and add --force flag on rules remove 2025-05-26 22:09:45 -04:00
Joe Danziger
bd81d00169 use displayName and don't select any defaults in setup 2025-05-26 21:36:31 -04:00
Joe Danziger
0ebd746232 use simpler path 2025-05-26 21:00:04 -04:00
Joe Danziger
4a48e77ca8 add missing log message 2025-05-26 20:38:26 -04:00
Joe Danziger
0523652270 use enums for rules actions 2025-05-26 20:24:20 -04:00
Joe Danziger
e412d2240e rename to mcp-config-setup.js 2025-05-26 19:47:16 -04:00
Joe Danziger
d20d146ec0 fix formatting 2025-05-26 19:07:27 -04:00
Joe Danziger
9db5f78da3 update semantics and terminology from 'brand rules' to 'rules profiles' 2025-05-26 19:07:10 -04:00
Joe Danziger
e04d00a109 update instructions 2025-05-23 20:09:32 -04:00
Joe Danziger
77f54dcf3d enumerate brands for brand rules 2025-05-23 19:50:00 -04:00
Joe Danziger
ead4aa4a2d move confirmation to /src/ui/confirm.js 2025-05-22 15:47:52 -04:00
Joe Danziger
1b92d5803a move rule-transformer.js to /src/utils 2025-05-22 15:32:15 -04:00
Joe Danziger
243a9400c7 move rules-setup.js to /src/utils 2025-05-22 15:25:23 -04:00
Joe Danziger
72faba846d move to /src/utils 2025-05-22 15:10:51 -04:00
Ralph Khreish
c8c0fc2a57 fix: improve ollama object to telemetry structure (#546) 2025-05-19 23:05:45 +02:00
Ralph Khreish
f4a83ec047 feat: add ollama support (#536) 2025-05-18 10:07:31 +02:00
Eyal Toledano
026815353f fix(ai): Correctly imports generateText in openai.js, adds specific cause and reason for OpenRouter failures in the openrouter.js catch, performs complexity analysis on all tm tasks, adds new tasks to further improve the maxTokens to take input and output maximum into account. Adjusts default fallback max tokens so 3.5 does not fail. 2025-05-17 18:42:57 -04:00
Ralph Khreish
bc19bc7927 Merge remote-tracking branch 'origin/next' into telemetry 2025-05-16 18:16:58 +02:00
Ralph Khreish
da317f2607 fix: error handling of task status settings (#523)
* fix: error handling of task status settings

* fix: update import path

---------

Co-authored-by: shenysun <shenysun@163.com>
2025-05-16 15:47:01 +02:00
Ralph Khreish
ed17cb0e0a feat: implement baseUrls on all ai providers(#521) 2025-05-16 15:34:29 +02:00
Ralph Khreish
17294ff259 Fix: Correct version resolution for banner and update check (#511)
* Fix: Correct version resolution for banner and update check

Resolves issues where the tool's version was displayed as 'unknown'.

- Modified 'displayBanner' in 'ui.js' and 'checkForUpdate' in 'commands.js' to read package.json relative to their own script locations using import.meta.url.
- This ensures the correct local version is identified for both the main banner display and the update notification mechanism.
- Restored a missing closing brace in 'ui.js' to fix a SyntaxError.

* fix: refactor and cleanup

* fix: chores and cleanup and testing

* chore: cleanup

* fix: add changeset

---------

Co-authored-by: Christer Soederlund <christer.soderlund@gmail.com>
2025-05-15 22:41:16 +02:00
Eyal Toledano
ca5ec03cd8 fix(ai,tasks): Enhance AI provider robustness and task processing
This commit introduces several improvements to AI interactions and
task management functionalities:

- AI Provider Enhancements (for Telemetry & Robustness):
    - :
        - Added a check in  to ensure
          is a string, throwing an error if not. This prevents downstream
           errors (e.g., in ).
    - , , :
        - Standardized return structures for their respective
          and  functions to consistently include /
          and  fields. This aligns them with other providers (like
          Anthropic, Google, Perplexity) for consistent telemetry data
          collection, as part of implementing subtask 77.14 and similar work.

- Task Expansion ():
    - Updated  to be more explicit
      about using an empty array  for empty  to
      better guide AI output.
    - Implemented a pre-emptive cleanup step in
      to replace malformed  with
      before JSON parsing. This improves resilience to AI output quirks,
      particularly observed with Perplexity.

- Adjusts issue in commands.js where successfulRemovals would be undefined. It's properly invoked from the result variable now.

- Updates supported models for Gemini
These changes address issues observed during E2E tests, enhance the
reliability of AI-driven task analysis and expansion, and promote
consistent telemetry data across multiple AI providers.
2025-05-14 19:04:03 -04:00
Eyal Toledano
79a41543d5 fix(ai): Align Perplexity provider with standard telemetry response structure
This commit updates the Perplexity AI provider () to ensure its functions return data in a structure consistent with other providers and the expectations of the unified AI service layer ().

Specifically:
-  now returns an object  instead of only the text string.
-  now returns an object  instead of only the result object.

These changes ensure that  can correctly extract both the primary AI-generated content and the token usage data for telemetry purposes when Perplexity models are used. This resolves issues encountered during E2E testing where complexity analysis (which can use Perplexity for its research role) failed due to unexpected response formats.

The  function was already compliant.
2025-05-14 11:46:35 -04:00
Eyal Toledano
e53d5e1577 feat(ai): Enhance Google provider telemetry and AI object response handling
This commit introduces two key improvements:

1.  **Google Provider Telemetry:**
    - Updated  to include token usage data (, ) in the responses from  and .
    - This aligns the Google provider with others for consistent AI usage telemetry.

2.  **Robust AI Object Response Handling:**
    - Modified  to more flexibly handle responses from .
    - The add-task module now check for the AI-generated object in both  and , improving compatibility with different AI provider response structures (e.g., Gemini).

These changes enhance the reliability of AI interactions, particularly with the Google provider, and ensure accurate telemetry collection.
2025-05-13 12:13:35 -04:00
Eyal Toledano
245c3cb398 feat(telemetry): Implement AI usage telemetry pattern and apply to add-task
This commit introduces a standardized pattern for capturing and propagating AI usage telemetry (cost, tokens, model used) across the Task Master stack and applies it to the 'add-task' functionality.

Key changes include:

- **Telemetry Pattern Definition:**
  - Added  defining the integration pattern for core logic, direct functions, MCP tools, and CLI commands.
  - Updated related rules (, ,
 Usage: mcp [OPTIONS] COMMAND [ARGS]...

 MCP development tools

╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --help          Show this message and exit.                                                                                                │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ version   Show the MCP version.                                                                                                            │
│ dev       Run a MCP server with the MCP Inspector.                                                                                         │
│ run       Run a MCP server.                                                                                                                │
│ install   Install a MCP server in the Claude desktop app.                                                                                  │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯, , ) to reference the new telemetry rule.

- **Core Telemetry Implementation ():**
  - Refactored the unified AI service to generate and return a  object alongside the main AI result.
  - Fixed an MCP server startup crash by removing redundant local loading of  and instead using the  imported from  for cost calculations.
  - Added  to the  object.

- ** Integration:**
  - Modified  (core) to receive  from the AI service, return it, and call the new UI display function for CLI output.
  - Updated  to receive  from the core function and include it in the  payload of its response.
  - Ensured  (MCP tool) correctly passes the  through via .
  - Updated  to correctly pass context (, ) to the core  function and rely on it for CLI telemetry display.

- **UI Enhancement:**
  - Added  function to  to show telemetry details in the CLI.

- **Project Management:**
  - Added subtasks 77.6 through 77.12 to track the rollout of this telemetry pattern to other AI-powered commands (, , , , , , ).

This establishes the foundation for tracking AI usage across the application.
2025-05-07 13:41:25 -04:00
Eyal Toledano
4cf7e8a74a Refactor: Improve MCP logging, update E2E & tests
Refactors MCP server logging and updates testing infrastructure.

- MCP Server:

  - Replaced manual logger wrappers with centralized `createLogWrapper` utility.

  - Updated direct function calls to use `{ session, mcpLog }` context.

  - Removed deprecated `model` parameter from analyze, expand-all, expand-task tools.

  - Adjusted MCP tool import paths and parameter descriptions.

- Documentation:

  - Modified `docs/configuration.md`.

  - Modified `docs/tutorial.md`.

- Testing:

  - E2E Script (`run_e2e.sh`):

    - Removed `set -e`.

    - Added LLM analysis function (`analyze_log_with_llm`) & integration.

    - Adjusted test run directory creation timing.

    - Added debug echo statements.

  - Deleted Unit Tests: Removed `ai-client-factory.test.js`, `ai-client-utils.test.js`, `ai-services.test.js`.

  - Modified Fixtures: Updated `scripts/task-complexity-report.json`.

- Dev Scripts:

  - Modified `scripts/dev.js`.
2025-04-28 14:38:01 -04:00