Skip to content

feat: Add tool restriction flags for non-interactive mode - #29

Merged
adamdotdevin merged 8 commits into
anomalyco:devfrom
mark3labs:allow-exclude-tools
May 17, 2025
Merged

adamdotdevin merged 8 commits into
anomalyco:devfrom
mark3labs:allow-exclude-tools

Conversation

@ezynda3

@ezynda3 ezynda3 commented May 17, 2025

Copy link
Copy Markdown
Contributor

Summary

  • Add --allowedTools and --excludedTools flags to restrict which tools the AI assistant can use in non-interactive mode
  • Add --verbose flag to enable logging to stderr in non-interactive mode
  • Update README with documentation for the new flags

Test plan

  • Run OpenCode in non-interactive mode with --allowedTools=view,ls,glob to verify only those tools are available
  • Run OpenCode in non-interactive mode with --excludedTools=bash,edit to verify those tools are not available
  • Run OpenCode in non-interactive mode with --verbose to verify logs are printed to stderr

🤖 Generated with opencode

ezynda3 and others added 8 commits May 17, 2025 13:13
Add documentation for --allowedTools and --excludedTools flags that allow restricting which tools the AI assistant can use in non-interactive mode. Also document the --verbose flag for enabling logs.

🤖 Generated with opencode
Co-Authored-By: opencode <noreply@opencode.ai>
@adamdotdevin
adamdotdevin merged commit 307982a into anomalyco:dev May 17, 2025
randomm referenced this pull request in randomm/opencode Jan 9, 2026
…operations (#30)

- Replace broad text searches with filtered queries (--owner, --state, --project)
- Add 'Performance & Context Efficiency' section with clear patterns:
  - Context-efficient patterns: direct lookups, workspaces, filtered searches
  - Context-consuming anti-patterns to avoid (broad text search, unfiltered listings)
  - Complete search operator reference (-o, -s, -p, -t, -y, -l, -i)
- Emphasize workspace pattern as PRIMARY for repeated queries
- Update epic/project listing examples to use filtering
- Add visual hierarchy to query optimization (🏆 ✅ ⚠️ ❌)
- Expand from 414 to 532 lines with practical guidance

Aligns with official Shortcut CLI documentation and prevents operations
that would dump large result sets into AI context windows.
andreipromarketing-dev pushed a commit to andreipromarketing-dev/opencode that referenced this pull request Apr 7, 2026
Claude Code automatically loads hooks/hooks.json from the plugin directory.
Explicitly specifying it in plugin.json causes a duplicate hooks error:

  Duplicate hooks file detected: ./hooks/hooks.json resolves to already-loaded
  file .../hooks/hooks.json. The standard hooks/hooks.json is loaded
  automatically, so manifest.hooks should only reference additional hook files.

Fixes anomalyco#29
andreipromarketing-dev pushed a commit to andreipromarketing-dev/opencode that referenced this pull request Apr 7, 2026
- Add minimum Claude Code version requirement (v2.1.0+)
- Document hooks auto-loading behavior to prevent flip-flop cycles
- Add flip-flop history table to PLUGIN_SCHEMA_NOTES.md
- Reference issues anomalyco#29, anomalyco#52, anomalyco#103 that were caused by this confusion
- Explain that regression test now prevents reintroduction

This documentation should prevent future confusion about whether to
add/remove the hooks field from plugin.json.
bussard76 pushed a commit to bussard76/openwork that referenced this pull request May 12, 2026
danzeroum referenced this pull request in danzeroum/opencode Jun 16, 2026
PR #29: the executor that makes anthropic-messages production-ready, completing
the protocol (decode + lowering + transport + TLS + executor).

- executor::RetryPolicy + execute(): exponential backoff (base·2^(n-1), capped at
  cap) + Retry-After override + optional +50% jitter (time-seeded, no `rand`
  dep). Retries retryable provider Status (429/5xx) and network errors; stops
  fast on non-retryable (4xx) or after max_attempts. execute() is a generic
  async retry loop over an attempt closure.
- transport: parses the Retry-After header into LlmError::Status.retry_after, and
  redacts API keys from the error body. LlmError::Status gains retry_after.
- executor::redact_secrets masks Anthropic sk-ant-… key tokens (UTF-8 safe).
- Tests: policy (classification/backoff/cap/Retry-After/max), the retry loop
  (retry-then-success / fail-fast / give-up), redaction, and an E2E via axum
  (429 → retry → 200) composing execute() + transport::complete.

No new external crates (tokio already in the tree). Verified: build/clippy
-D warnings/fmt/test (llm 21) + openapi-diff + `cargo deny check` all green.

https://claude.ai/code/session_017Lo2jkGdTgRvsPG6tcwEqz
@xiivthx

xiivthx commented Jul 13, 2026

Copy link
Copy Markdown

Shipped in v0.8.0. Inspector opens only via explicit Info/ChevronRight button. Row click selects but does not open inspector.

weizuxiao911 added a commit to weizuxiao911/numas that referenced this pull request Sep 30, 2026
- anomalyco#27 chat webview 是 codeblitz 内联组件, 可用 useInjectable 拿 IMessageService
- anomalyco#28 文本可选: 父容器 user-select:none 不自动继承, 文本子元素需显式 user-select:text
- anomalyco#29 卡片 caret 靠右必须 margin-left:auto, 新子组件别漏 styles.ts (SubAgentCard 裸奔教训)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants