Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: drivecore/mycoder
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: docs-release
Choose a base ref
...
head repository: drivecore/mycoder
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Able to merge. These branches can be automatically merged.

Commits on Mar 21, 2025

  1. chore(release): 1.7.0 [skip ci]

    # [mycoder-agent-v1.7.0](mycoder-agent-v1.6.0...mycoder-agent-v1.7.0) (2025-03-21)
    
    ### Bug Fixes
    
    * Fix TypeScript errors and tests for message compaction feature ([d4f1fb5](d4f1fb5))
    
    ### Features
    
    * Add automatic compaction of historical messages for agents ([a5caf46](a5caf46)), closes [#338](#338)
    * Improve message compaction with proactive suggestions ([6276bc0](6276bc0))
    semantic-release-bot committed Mar 21, 2025
    Copy the full SHA
    c0b1918 View commit details

Commits on Mar 22, 2025

  1. chore: remove test-profile.

    bhouston committed Mar 22, 2025
    Copy the full SHA
    e88a2f8 View commit details
  2. chore: format & lint

    bhouston committed Mar 22, 2025
    Copy the full SHA
    cb5434b View commit details
  3. Copy the full SHA
    468c050 View commit details
  4. Copy the full SHA
    9e32afe View commit details
  5. Copy the full SHA
    a9fc083 View commit details
  6. Copy the full SHA
    be061b5 View commit details
  7. Copy the full SHA
    d94459d View commit details
  8. Merge pull request #346 from drivecore/fix/issue-342-remove-fallbacks

    Refactor: Remove fallbacks from Anthropic context window detection
    bhouston authored Mar 22, 2025
    Copy the full SHA
    f0437be View commit details
  9. Copy the full SHA
    b9c4f27 View commit details
  10. chore: change default subAgentMode to 'disabled' and mark sync/async …

    …modes as experimental
    bhouston committed Mar 22, 2025
    Copy the full SHA
    a295455 View commit details
  11. Merge pull request #347 from drivecore/feature/sub-agent-modes-344

    feat: implement sub-agent workflow modes (disabled, sync, async)
    bhouston authored Mar 22, 2025
    Copy the full SHA
    5794367 View commit details
  12. feat: remove tokenCache parameter and remove githubMode from cli opti…

    …ons and also pageFilter and remove ollamaBaseUrl.
    bhouston committed Mar 22, 2025
    Copy the full SHA
    4fcc98e View commit details
  13. Copy the full SHA
    dc3127b View commit details
  14. Merge pull request #345 from drivecore/feature/issue-341-llm-content-…

    …extraction
    
    Use LLM provider abstraction for HTML content extraction
    bhouston authored Mar 22, 2025
    Copy the full SHA
    2564596 View commit details
  15. Copy the full SHA
    cd51c96 View commit details
  16. Copy the full SHA
    3b7a93d View commit details
  17. Copy the full SHA
    c9e7402 View commit details
  18. Copy the full SHA
    56ed16e View commit details
  19. Add issue triage guidelines

    bhouston committed Mar 22, 2025
    Copy the full SHA
    21e76d6 View commit details
  20. Merge pull request #352 from drivecore/add-think-tool

    Add think tool for complex reasoning
    bhouston authored Mar 22, 2025
    Copy the full SHA
    bbd9aaa View commit details
  21. Copy the full SHA
    bba9afc View commit details

Commits on Mar 24, 2025

  1. Copy the full SHA
    bfad30f View commit details
  2. Copy the full SHA
    9fefc54 View commit details
  3. chore: format and lint

    bhouston committed Mar 24, 2025
    Copy the full SHA
    ba97bed View commit details
  4. Merge pull request #364 from drivecore/feature/configurable-context-w…

    …indow
    
    Add configurable context window size
    bhouston authored Mar 24, 2025
    Copy the full SHA
    7a2892e View commit details
  5. Copy the full SHA
    66a509b View commit details
  6. Copy the full SHA
    b3146a3 View commit details
  7. Copy the full SHA
    0196189 View commit details
  8. chore: lint + format

    bhouston committed Mar 24, 2025
    Copy the full SHA
    85ce7b7 View commit details
  9. Copy the full SHA
    3ea8fee View commit details
  10. Copy the full SHA
    74eb7dc View commit details
  11. Merge pull request #366 from drivecore/fix/github-newline-escaping

    Fix: Convert literal \n to actual newlines in GitHub CLI interactions
    bhouston authored Mar 24, 2025
    Copy the full SHA
    f165a25 View commit details
  12. Copy the full SHA
    9f2ce3f View commit details

Commits on Mar 25, 2025

  1. Copy the full SHA
    3d3a3ac View commit details
  2. Copy the full SHA
    d1271b3 View commit details
  3. refactor: merge SessionTracker and SessionManager, convert BrowserDet…

    …ector to functional approach
    bhouston committed Mar 25, 2025
    Copy the full SHA
    dce3a8a View commit details
  4. Copy the full SHA
    e3384b3 View commit details
  5. chore: format and lint

    bhouston committed Mar 25, 2025
    Copy the full SHA
    b6c779d View commit details
  6. chore: simplify code.

    bhouston committed Mar 25, 2025
    Copy the full SHA
    aff744f View commit details
  7. Copy the full SHA
    b85d33b View commit details
  8. Copy the full SHA
    f03b4d6 View commit details
  9. refactor(agent): merge Agent and AgentState into AgentInfo type

    - Created new AgentInfo type that combines all fields from Agent and AgentState
    - Updated AgentTracker to use a single Map for agent data
    - Maintained backward compatibility with Agent and AgentState types
    - Updated tests to use the new type
    - Fixed tests that were broken by the refactoring
    
    Closes #377
    bhouston committed Mar 25, 2025
    Copy the full SHA
    e853ccd View commit details
  10. refactor(agent): further simplify AgentTracker API

    - Changed Agent and AgentState to be aliases of AgentInfo
    - Made optional fields truly optional in AgentInfo
    - Removed duplicate methods (getAgentInfo, getAgentState) in favor of getAgent
    - Updated getAgents to return AgentInfo[] instead of Agent[]
    - Improved registerAgent to handle both simple and complex cases
    - Marked deprecated methods with JSDoc comments
    - Updated all tests to use the new API
    
    Closes #377
    bhouston committed Mar 25, 2025
    Copy the full SHA
    a9b324c View commit details
  11. refactor(agent): remove legacy agentStates variable

    - Removed agentStates variable from agentStart.ts
    - Updated agentMessage.ts to no longer use the legacy variable
    - Simplified agentTools.test.ts to no longer rely on the legacy variable
    - All tests still pass with this simpler implementation
    bhouston committed Mar 25, 2025
    Copy the full SHA
    57e709e View commit details
  12. Copy the full SHA
    310f984 View commit details
  13. Merge pull request #378 from drivecore/refactor/merge-agent-types

    Refactor Agent and AgentState into unified AgentInfo type
    bhouston authored Mar 25, 2025
    Copy the full SHA
    13e1849 View commit details
  14. Copy the full SHA
    ba58abb View commit details
  15. Copy the full SHA
    e7783d6 View commit details
  16. chore: fix test errors

    bhouston committed Mar 25, 2025
    Copy the full SHA
    df7c1ed View commit details
Showing with 4,232 additions and 1,789 deletions.
  1. +1 −1 .github/workflows/deploy-docs.yml
  2. +1 −1 .github/workflows/{release.yml → deploy-npm.yml}
  3. +2 −2 .github/workflows/{issue-comment.yml → mycoder-comment.yml}
  4. +39 −0 .github/workflows/mycoder-issue-triage.yml
  5. +49 −0 .github/workflows/mycoder-pr-review.yml
  6. +93 −0 .mycoder/ISSUE_TRIAGE.md
  7. +73 −0 .mycoder/PR_REVIEW.md
  8. +1 −0 .vscode/settings.json
  9. +0 −5 README.md
  10. +9 −1 docs/features/message-compaction.md
  11. +50 −0 docs/github-cli-usage.md
  12. +102 −0 docs/tools/fetch.md
  13. +1 −1 example-status-update.md
  14. +6 −2 mycoder.config.js
  15. +12 −2 packages/agent/CHANGELOG.md
  16. +1 −1 packages/agent/package.json
  17. +76 −67 packages/agent/src/core/llm/providers/anthropic.ts
  18. +33 −23 packages/agent/src/core/llm/providers/ollama.ts
  19. +16 −6 packages/agent/src/core/llm/providers/openai.ts
  20. +3 −2 packages/agent/src/core/llm/types.ts
  21. +0 −1 packages/agent/src/core/tokens.ts
  22. +41 −27 packages/agent/src/core/toolAgent/__tests__/statusUpdates.test.ts
  23. +1 −1 packages/agent/src/core/toolAgent/config.test.ts
  24. +33 −60 packages/agent/src/core/toolAgent/statusUpdates.ts
  25. +24 −28 packages/agent/src/core/toolAgent/toolAgentCore.ts
  26. +2 −3 packages/agent/src/core/types.ts
  27. +1 −2 packages/agent/src/index.ts
  28. +148 −78 packages/agent/src/tools/agent/AgentTracker.ts
  29. +17 −17 packages/agent/src/tools/agent/__tests__/logCapture.test.ts
  30. +0 −1 packages/agent/src/tools/agent/agentExecute.test.ts
  31. +34 −36 packages/agent/src/tools/agent/agentMessage.ts
  32. +35 −46 packages/agent/src/tools/agent/agentStart.ts
  33. +15 −18 packages/agent/src/tools/agent/agentTools.test.ts
  34. +1 −1 packages/agent/src/tools/agent/listAgents.ts
  35. +9 −5 packages/agent/src/tools/agent/logCapture.test.ts
  36. +302 −0 packages/agent/src/tools/fetch/fetch.test.ts
  37. +216 −47 packages/agent/src/tools/fetch/fetch.ts
  38. +0 −1 packages/agent/src/tools/getTools.test.ts
  39. +27 −10 packages/agent/src/tools/getTools.ts
  40. +308 −53 packages/agent/src/tools/session/SessionTracker.ts
  41. +0 −36 packages/agent/src/tools/session/lib/BrowserAutomation.ts
  42. +0 −257 packages/agent/src/tools/session/lib/BrowserDetector.ts
  43. +0 −290 packages/agent/src/tools/session/lib/SessionManager.ts
  44. +36 −25 packages/agent/src/tools/session/lib/browser-manager.test.ts
  45. +256 −0 packages/agent/src/tools/session/lib/browserDetectors.ts
  46. +21 −17 packages/agent/src/tools/session/lib/element-state.test.ts
  47. +103 −0 packages/agent/src/tools/session/lib/filterPageContent.test.ts
  48. +93 −77 packages/agent/src/tools/session/lib/filterPageContent.ts
  49. +26 −22 packages/agent/src/tools/session/lib/form-interaction.test.ts
  50. +22 −21 packages/agent/src/tools/session/lib/navigation.test.ts
  51. +32 −24 packages/agent/src/tools/session/lib/wait-behavior.test.ts
  52. +2 −2 packages/agent/src/tools/session/listSessions.ts
  53. +198 −102 packages/agent/src/tools/session/sessionMessage.ts
  54. +39 −54 packages/agent/src/tools/session/sessionStart.ts
  55. +6 −6 packages/agent/src/tools/shell/ShellTracker.test.ts
  56. +16 −16 packages/agent/src/tools/shell/ShellTracker.ts
  57. +7 −7 packages/agent/src/tools/shell/listShells.test.ts
  58. +2 −2 packages/agent/src/tools/shell/listShells.ts
  59. +80 −4 packages/agent/src/tools/shell/shellExecute.test.ts
  60. +3 −0 packages/agent/src/tools/shell/shellExecute.ts
  61. +26 −26 packages/agent/src/tools/shell/shellMessage.test.ts
  62. +13 −13 packages/agent/src/tools/shell/shellMessage.ts
  63. +58 −23 packages/agent/src/tools/shell/shellStart.test.ts
  64. +18 −13 packages/agent/src/tools/shell/shellStart.ts
  65. +238 −0 packages/agent/src/tools/shell/shellStartBug.test.ts
  66. +224 −0 packages/agent/src/tools/shell/shellStartFix.test.ts
  67. +175 −0 packages/agent/src/tools/shell/shellSync.test.ts
  68. +90 −0 packages/agent/src/tools/shell/shellSyncBug.test.ts
  69. +238 −0 packages/agent/src/tools/shell/shellTrackerIntegration.test.ts
  70. +1 −0 packages/agent/src/tools/think/index.ts
  71. +37 −0 packages/agent/src/tools/think/think.test.ts
  72. +42 −0 packages/agent/src/tools/think/think.ts
  73. +26 −20 packages/agent/src/tools/utility/__tests__/compactHistory.test.ts
  74. +44 −27 packages/agent/src/tools/utility/compactHistory.ts
  75. +1 −1 packages/agent/src/tools/utility/index.ts
  76. +1 −2 packages/cli/CHANGELOG.md
  77. +6 −5 packages/cli/README.md
  78. +46 −13 packages/cli/src/commands/$default.ts
  79. +0 −15 packages/cli/src/commands/test-profile.ts
  80. +1 −1 packages/cli/src/commands/tools.ts
  81. +0 −2 packages/cli/src/index.ts
  82. +13 −25 packages/cli/src/options.ts
  83. +5 −8 packages/cli/src/settings/config.ts
  84. +1 −1 packages/cli/src/utils/performance.ts
  85. +0 −1 packages/docs/blog/mycoder-v0-5-0-release.md
  86. +1 −1 packages/docs/docs/getting-started/linux.md
  87. +1 −1 packages/docs/docs/getting-started/macos.md
  88. +1 −1 packages/docs/docs/getting-started/windows.md
  89. +0 −30 packages/docs/docs/providers/anthropic.md
  90. +27 −0 packages/docs/docs/providers/ollama.md
  91. +12 −8 packages/docs/docs/usage/browser-detection.md
  92. +27 −29 packages/docs/docs/usage/configuration.md
  93. +1 −0 packages/docs/docs/usage/github-mode.md
  94. +0 −7 packages/docs/docs/usage/index.mdx
  95. +12 −5 packages/docs/docs/usage/message-compaction.md
  96. +119 −0 packages/docs/docs/usage/sub-agent-modes.md
  97. +3 −0 test_content.txt
2 changes: 1 addition & 1 deletion .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Deploy Documentation to Cloud Run
name: Deploy Docs

on:
push:
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Release
name: Deploy NPM

on:
push:
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: MyCoder Issue Comment Action
name: MyCoder Comment Action

# This workflow is triggered on all issue comments, but only runs the job
# if the comment contains '/mycoder' and is from the authorized user.
@@ -46,4 +46,4 @@ jobs:
- run: |
echo "${{ secrets.GH_PAT }}" | gh auth login --with-token
gh auth status
- run: mycoder --upgradeCheck false --githubMode true --userPrompt false "On issue #${{ github.event.issue.number }} in comment ${{ steps.extract-prompt.outputs.comment_url }} the user invoked the mycoder CLI via /mycoder. Can you try to do what they requested or if it is unclear, respond with a comment to that affect to encourage them to be more clear."
- run: mycoder --upgradeCheck false --githubMode true --userPrompt false "On issue ${{ github.event.issue.number }} in comment ${{ steps.extract-prompt.outputs.comment_url }} the user invoked the mycoder CLI via /mycoder. Can you try to do what they requested or if it is unclear, respond with a comment to that affect to encourage them to be more clear."
39 changes: 39 additions & 0 deletions .github/workflows/mycoder-issue-triage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: MyCoder Issue Triage

# This workflow is triggered when new issues are created
on:
issues:
types: [opened]

# Top-level permissions apply to all jobs
permissions:
contents: read # Required for checkout
issues: write # Required for issue comments and labels
pull-requests: read # For context if needed
discussions: read # Added for more context if needed

env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

jobs:
triage-issue:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
- uses: pnpm/action-setup@v4
with:
version: ${{ vars.PNPM_VERSION }}
- run: pnpm install
- run: cd packages/agent && pnpm exec playwright install --with-deps chromium
- run: |
git config --global user.name "Ben Houston (via MyCoder)"
git config --global user.email "neuralsoft@gmail.com"
- run: pnpm install -g mycoder
- run: |
echo "${{ secrets.GH_PAT }}" | gh auth login --with-token
gh auth status
- run: |
mycoder --upgradeCheck false --githubMode true --userPrompt false "You are an issue triage assistant. Please analyze GitHub issue ${{ github.event.issue.number }} according to the guidelines in .mycoder/ISSUE_TRIAGE.md"
49 changes: 49 additions & 0 deletions .github/workflows/mycoder-pr-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: MyCoder PR Review

# This workflow is triggered when a PR is opened or updated with new commits
on:
pull_request:
types: [opened, synchronize]

# Top-level permissions apply to all jobs
permissions:
contents: read # Required for checkout
issues: read # Required for reading linked issues
pull-requests: write # Required for commenting on PRs
discussions: read # For reading discussions
statuses: write # For creating commit statuses
checks: write # For creating check runs
actions: read # For inspecting workflow runs

env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

jobs:
review-pr:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
- uses: pnpm/action-setup@v4
with:
version: ${{ vars.PNPM_VERSION }}
- run: pnpm install
- run: cd packages/agent && pnpm exec playwright install --with-deps chromium
- run: |
git config --global user.name "Ben Houston (via MyCoder)"
git config --global user.email "neuralsoft@gmail.com"
- run: pnpm install -g mycoder
- run: |
echo "${{ secrets.GH_PAT }}" | gh auth login --with-token
gh auth status
- name: Get previous reviews
id: get-reviews
run: |
PR_REVIEWS=$(gh pr view ${{ github.event.pull_request.number }} --json reviews --jq '.reviews')
PR_COMMENTS=$(gh pr view ${{ github.event.pull_request.number }} --json comments --jq '.comments')
echo "reviews=$PR_REVIEWS" >> $GITHUB_OUTPUT
echo "comments=$PR_COMMENTS" >> $GITHUB_OUTPUT
- run: |
mycoder --upgradeCheck false --githubMode true --userPrompt false "Please review PR ${{ github.event.pull_request.number }} according to the guidelines in .mycoder/PR_REVIEW.md. Previous reviews and comments: ${{ steps.get-reviews.outputs.reviews }} ${{ steps.get-reviews.outputs.comments }}"
93 changes: 93 additions & 0 deletions .mycoder/ISSUE_TRIAGE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Issue Triage Guidelines

## Issue Classification

When triaging a new issue, categorize it by type and apply appropriate labels:

### Issue Types

- **Bug**: An error, flaw, or unexpected behavior in the code
- **Feature**: A request for new functionality or capability
- **Request**: A general request that doesn't fit into bug or feature categories

### Issue Labels

- **bug**: For issues reporting bugs or unexpected behavior
- **documentation**: For issues related to documentation improvements
- **question**: For issues asking questions about usage or implementation
- **duplicate**: For issues that have been reported before (link to the original issue)
- **enhancement**: For feature requests or improvement suggestions
- **help wanted**: For issues that need additional community input or assistance

## Triage Process

### Step 1: Initial Assessment

1. Read the issue description thoroughly
2. Determine if the issue provides sufficient information
- If too vague, ask for more details (reproduction steps, expected vs. actual behavior)
- Check for screenshots, error messages, or logs if applicable

### Step 2: Categorization

1. Assign the appropriate issue type (Bug, Feature, Request)
2. Apply relevant labels based on the issue content

### Step 3: Duplication Check

1. Search for similar existing issues
2. If a duplicate is found:
- Apply the "duplicate" label
- Comment with a link to the original issue
- Suggest closing the duplicate issue

### Step 4: Issue Investigation

#### For Bug Reports:

1. Attempt to reproduce the issue if possible
2. Investigate the codebase to identify potential causes
3. Provide initial feedback on:
- Potential root causes
- Affected components
- Possible solutions or workarounds
- Estimation of complexity

#### For Feature Requests:

1. Evaluate if the request aligns with the project's goals
2. Investigate feasibility and implementation approaches
3. Provide feedback on:
- Implementation possibilities
- Potential challenges
- Similar existing functionality
- Estimation of work required

#### For Questions:

1. Research the code and documentation to find answers
2. Provide clear and helpful responses
3. Suggest documentation improvements if the question reveals gaps

### Step 5: Follow-up

1. Provide a constructive and helpful comment
2. Ask clarifying questions if needed
3. Suggest next steps or potential contributors
4. Set appropriate expectations for resolution timeframes

## Communication Guidelines

- Be respectful and constructive in all communications
- Acknowledge the issue reporter's contribution
- Use clear and specific language
- Provide context for technical suggestions
- Link to relevant documentation when applicable
- Encourage community participation when appropriate

## Special Considerations

- For security vulnerabilities, suggest proper disclosure channels
- For major feature requests, suggest discussion in appropriate forums first
- For issues affecting performance, request benchmark data if not provided
- For platform-specific issues, request environment details
73 changes: 73 additions & 0 deletions .mycoder/PR_REVIEW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# MyCoder PR Review Guidelines

This document outlines the criteria and guidelines that MyCoder uses when reviewing pull requests. These guidelines help ensure that contributions maintain high quality and consistency with the project's standards.

## Issue Alignment

- Does the PR directly address the requirements specified in the linked issue?
- Are all the requirements from the original issue satisfied?
- Does the PR consider points raised in the issue discussion?
- Is there any scope creep (changes not related to the original issue)?

## Code Quality

- **Clean Design**: Is the code design clear and not overly complex?
- **Terseness**: Is the code concise without sacrificing readability?
- **Duplication**: Does the code avoid duplication? Are there opportunities to reuse existing code?
- **Consistency**: Does the code follow the same patterns and organization as the rest of the project?
- **Naming**: Are variables, functions, and classes named clearly and consistently?
- **Comments**: Are complex sections adequately commented? Are there unnecessary comments?

## Function and Component Design

- **Single Responsibility**: Does each function or component have a clear, single purpose?
- **Parameter Count**: Do functions have a reasonable number of parameters?
- **Return Values**: Are return values consistent and well-documented?
- **Error Handling**: Is error handling comprehensive and consistent?
- **Side Effects**: Are side effects minimized and documented where necessary?

## Testing

- Are there appropriate tests for new functionality?
- Do the tests cover edge cases and potential failure scenarios?
- Are the tests readable and maintainable?

## Documentation

- Is new functionality properly documented?
- Are changes to existing APIs documented?
- Are README or other documentation files updated if necessary?

## Performance Considerations

- Are there any potential performance issues?
- For computationally intensive operations, have alternatives been considered?

## Security Considerations

- Does the code introduce any security vulnerabilities?
- Is user input properly validated and sanitized?
- Are credentials and sensitive data handled securely?

## Accessibility

- Do UI changes maintain or improve accessibility?
- Are there appropriate ARIA attributes where needed?

## Browser/Environment Compatibility

- Will the changes work across all supported browsers/environments?
- Are there any platform-specific considerations that need addressing?

## Follow-up Review Guidelines

When reviewing updates to a PR:

- Focus on whether previous feedback has been addressed
- Acknowledge improvements and progress
- Provide constructive guidance for any remaining issues
- Be encouraging and solution-oriented
- Avoid repeating previous feedback unless clarification is needed
- Help move the PR towards completion rather than finding new issues

Remember that the goal is to help improve the code while maintaining a positive and constructive environment for all contributors.
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -44,6 +44,7 @@
"threeify",
"transpiling",
"triggerdef",
"uuidv",
"vinxi"
],

5 changes: 0 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -44,9 +44,6 @@ mycoder --userPrompt false "Generate a basic Express.js server"

# Disable user consent warning and version upgrade check for automated environments
mycoder --upgradeCheck false "Generate a basic Express.js server"

# Enable GitHub mode via CLI option (overrides config file)
mycoder --githubMode true "Work with GitHub issues and PRs"
```

## Configuration
@@ -80,7 +77,6 @@ export default {
// Browser settings
headless: true,
userSession: false,
pageFilter: 'none', // 'simple', 'none', or 'readability'

// System browser detection settings
browser: {
@@ -110,7 +106,6 @@ export default {
// 'Custom instruction line 3',
// ],
profile: false,
tokenCache: true,

// Base URL configuration (for providers that need it)
baseUrl: 'http://localhost:11434', // Example for Ollama
10 changes: 9 additions & 1 deletion docs/features/message-compaction.md
Original file line number Diff line number Diff line change
@@ -7,6 +7,7 @@ When agents run for extended periods, they accumulate a large history of message
### 1. Token Usage Tracking

The LLM abstraction now tracks and returns:

- Total tokens used in the current completion request
- Maximum allowed tokens for the model/provider

@@ -15,17 +16,20 @@ This information is used to monitor context window usage and trigger appropriate
### 2. Status Updates

Agents receive status updates with information about:

- Current token usage and percentage of the maximum
- Cost so far
- Active sub-agents and their status
- Active shell processes and their status
- Active browser sessions and their status

Status updates are sent:

1. Every 5 agent interactions (periodic updates)
2. Whenever token usage exceeds 50% of the maximum (threshold-based updates)

Example status update:

```
--- STATUS UPDATE ---
Token Usage: 45,235/100,000 (45%)
@@ -72,6 +76,7 @@ Agents are instructed to monitor their token usage through status updates and us
## Configuration

The message compaction feature is enabled by default with reasonable defaults:

- Status updates every 5 agent interactions
- Recommendation to compact at 70% token usage
- Default preservation of 10 recent messages when compacting
@@ -81,17 +86,20 @@ The message compaction feature is enabled by default with reasonable defaults:
The system includes token limits for various models:

### Anthropic Models

- claude-3-opus-20240229: 200,000 tokens
- claude-3-sonnet-20240229: 200,000 tokens
- claude-3-haiku-20240307: 200,000 tokens
- claude-2.1: 100,000 tokens

### OpenAI Models

- gpt-4o: 128,000 tokens
- gpt-4-turbo: 128,000 tokens
- gpt-3.5-turbo: 16,385 tokens

### Ollama Models

- llama2: 4,096 tokens
- mistral: 8,192 tokens
- mixtral: 32,768 tokens
@@ -102,4 +110,4 @@ The system includes token limits for various models:
- Maintains important context for agent operation
- Enables longer-running agent sessions
- Makes the system more robust for complex tasks
- Gives agents self-awareness of resource usage
- Gives agents self-awareness of resource usage
Loading