zeroclaw/src
Anatolii Fesiuk cc1261ba2a
feat(tool): add myself and list_projects actions to jira tool (#4061)
* Sync jira tool description between .rs and en.toml

Replace multi-line operational guide in en.toml with the same one-liner
already in jira_tool.rs description(), matching the pattern used by all
other tools where both sources are in sync.

* Add myself action to jira tool for credential verification

* Add tests for myself action in jira tool

* Review and fix list_projects action added to jira tool

- Fix doc comment: update action count from four to five and add missing
  myself entry
- Remove redundant statuses_url variable (was identical to url)

The list_projects action fetches all projects with their issue types,
statuses, and assignable users by combining /rest/api/3/project,
per-project /statuses, and /user/assignable/multiProjectSearch endpoints.

* Remove hardcoded project-specific statuses from shape_projects

Replace fixed known_order list (which included project-specific statuses
like 'Collecting Intel', 'Design', 'Verification') with a simple
alphabetical sort. Any Jira project can use arbitrary status names so
hardcoding an order is not applicable universally.

* Fix list_projects: bounded concurrency, error surfacing, and output shape

- Use tokio::task::JoinSet with STATUS_CONCURRENCY=5 to fetch per-project
  statuses concurrently instead of sequentially, bounding API blast radius
- Surface user fetch errors: non-2xx and JSON parse failures now bail
  instead of silently falling back to empty vec
- Surface per-project status JSON parse errors instead of swallowing them
  with unwrap_or_else
- Move users to top-level output {projects, users} so they are not
  duplicated across every project entry

* fix(tool): apply rustfmt formatting to jira_tool.rs
2026-03-24 15:30:39 +03:00
..
agent fix(agent): force sequential execution when tool_search is in batch (#4054) 2026-03-24 15:30:36 +03:00
approval fix(channels): allow low-risk shell in non-interactive mode (#3771) 2026-03-24 15:17:26 +03:00
auth feat: stabilize codex oauth and add provider model connectivity workflow 2026-02-24 16:03:01 +08:00
channels feat(channel): enhance QQ channel with rich media and cron delivery (#4059) 2026-03-24 15:30:38 +03:00
commands fix(cli): align self-test and update commands with implementation plan 2026-03-24 15:17:28 +03:00
config Feat/add pinggy tunnel (#4060) 2026-03-24 15:30:39 +03:00
cost fix(agent): parse MiniMax tool call formats for execution 2026-02-21 12:36:28 +08:00
cron feat(channel): enhance QQ channel with rich media and cron delivery (#4059) 2026-03-24 15:30:38 +03:00
daemon feat(channel): add interrupt_on_new_message support for Mattermost 2026-03-24 15:30:29 +03:00
doctor feat(delegate): make sub-agent timeouts configurable via config.toml (#3909) 2026-03-24 15:17:33 +03:00
gateway fix(api): respect job_type and delivery in POST /api/cron (#4063) (#4065) 2026-03-24 15:30:37 +03:00
hands feat(hands): add autonomous knowledge-accumulating agent packages (#3603) 2026-03-24 15:16:05 +03:00
hardware Addressed clippy lint issues 2026-03-10 01:48:19 -04:00
health refactor(sync): migrate remaining std mutex usage to parking_lot 2026-02-18 00:45:26 +08:00
heartbeat feat(heartbeat): add health metrics, adaptive intervals, and task history 2026-03-24 15:17:14 +03:00
hooks feat(hooks): add webhook-audit builtin hook (#3212) 2026-03-11 23:34:17 -04:00
integrations fix: add interrupt_on_new_message support for Matrix channel (#4070) 2026-03-24 15:30:37 +03:00
memory feat(heartbeat): default interval 30→5min + prune heartbeat from auto-save (#3938) 2026-03-24 15:17:34 +03:00
nodes feat(nodes): add secure HMAC-SHA256 node transport layer (#3654) 2026-03-24 15:17:12 +03:00
observability fix(observability): handle missing OtelObserver match arms and add all-features CI check (#3981) 2026-03-24 15:29:56 +03:00
onboard fix: add interrupt_on_new_message support for Matrix channel (#4070) 2026-03-24 15:30:37 +03:00
peripherals feat(knowledge): add knowledge graph for expertise capture and reuse (#3596) 2026-03-24 15:17:23 +03:00
plugins fix(plugins): integrate WASM tools into registry, add gateway routes and tests 2026-03-24 15:17:30 +03:00
providers fix(provider): replace overall timeout with per-read timeout for Codex streams (#4081) 2026-03-24 15:30:38 +03:00
rag chore(lint): extend low-risk clippy cleanup batch 2026-02-17 16:40:58 +08:00
runtime feat(tools): add Windows support for shell tool_call execution (#3442) 2026-03-13 17:12:16 -04:00
security feat(security): inject security policy summary into LLM system prompt (#4002) 2026-03-24 15:29:56 +03:00
service fix(packaging): ensure Homebrew var directory exists on first start (#3524) 2026-03-24 15:30:33 +03:00
skillforge chore: Remove blocking read strings 2026-02-19 14:52:29 +08:00
skills fix(skills): support ClawHub registry URLs in skills install (#4069) 2026-03-24 15:30:38 +03:00
sop fix(web): call doctor endpoint with authenticated POST 2026-02-24 16:02:59 +08:00
tools feat(tool): add myself and list_projects actions to jira tool (#4061) 2026-03-24 15:30:39 +03:00
tunnel Feat/add pinggy tunnel (#4060) 2026-03-24 15:30:39 +03:00
i18n.rs feat(i18n): externalize tool descriptions for translation (#3912) 2026-03-24 15:17:33 +03:00
identity.rs test: cover deterministic HashMap ordering paths 2026-02-18 21:55:40 +08:00
lib.rs fix(cron): persist allowed_tools for agent jobs (#3993) 2026-03-24 15:26:29 +03:00
main.rs feat(i18n): externalize tool descriptions for translation (#3912) 2026-03-24 15:17:33 +03:00
migration.rs readd tests, remove markdown files 2026-02-18 14:42:39 +08:00
multimodal.rs fix(agent): strip vision markers from history for non-vision providers (#3734) 2026-03-24 15:17:17 +03:00
util.rs fix(ci): restore containerized validation on main (#1096) 2026-02-20 07:48:58 -05:00