hoomanjs 1.17.1 → 1.17.3

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 CHANGED
@@ -28,10 +28,13 @@ It gives you a practical toolkit to build and run agent workflows:
28
28
 
29
29
  - Multiple LLM providers: `ollama`, `openai`, `anthropic`, `google`, `bedrock`, `groq`, `moonshot`, `xai`
30
30
  - Local configuration under `./.hooman` when that folder exists in the current working directory, otherwise `~/.hooman`
31
+ - Optional web search tool with provider selection (`brave` or `tavily`)
31
32
  - MCP server support via `stdio`, `streamable-http`, and `sse`
32
33
  - MCP server `instructions` support: server-provided instructions are appended to the agent system prompt
33
34
  - MCP channel notification support through `hooman daemon --channels`
34
35
  - Skill discovery / install / removal through the integrated configure flow
36
+ - Bundled prompt harness toggles (`behaviour`, `communication`, `execution`, `engineering`, `guardrails`)
37
+ - Built-in subagent runner tools (`research`, `plan`) with configurable concurrency
35
38
  - Toolkit-oriented architecture with configurable tools, prompts, memory, and transports
36
39
  - Interactive terminal UI for chat and configuration
37
40
 
@@ -46,15 +49,21 @@ It gives you a practical toolkit to build and run agent workflows:
46
49
  Fastest way to get started without cloning the repo:
47
50
 
48
51
  ```bash
49
- npx hoomanjs configure
50
- npx hoomanjs chat
52
+ bunx hoomanjs configure
53
+ bunx hoomanjs chat
54
+
55
+ # or install globally
56
+ bun i -g hoomanjs
51
57
  ```
52
58
 
53
- Or with Bun:
59
+ Or with npm:
54
60
 
55
61
  ```bash
56
- bunx hoomanjs configure
57
- bunx hoomanjs chat
62
+ npx hoomanjs configure
63
+ npx hoomanjs chat
64
+
65
+ # or install globally
66
+ npm i -g hoomanjs
58
67
  ```
59
68
 
60
69
  Recommended first run:
@@ -63,6 +72,23 @@ Recommended first run:
63
72
  2. Start chatting with `hooman chat`.
64
73
  3. Use `hooman exec "your prompt"` for one-off tasks.
65
74
 
75
+ ## Must have
76
+
77
+ For the best experience, set up both:
78
+
79
+ 1. **MCP servers** for on-demand tools in `chat` / `exec` (task APIs, messaging, schedulers, etc.).
80
+ 2. **MCP channels** for event-driven automation with `hooman daemon --channels` (notifications become agent prompts).
81
+
82
+ Suggested MCP servers from this ecosystem:
83
+
84
+ - [`cronmcp`](https://github.com/vaibhavpandeyvpz/cronmcp) - lets Hooman schedule recurring prompts and automations, so routine checks and follow-ups run on time.
85
+ - [`jiraxmcp`](https://github.com/vaibhavpandeyvpz/jiraxmcp) - gives Hooman direct Jira Cloud access to search issues, update tickets, and help drive sprint workflows.
86
+ - [`slackxmcp`](https://github.com/vaibhavpandeyvpz/slackxmcp) - connects Hooman to Slack so it can read channel context, draft updates, and post actions where your team already works.
87
+ - [`tgfmcp`](https://github.com/vaibhavpandeyvpz/tgfmcp) - enables Telegram bot workflows, making it easy to route notifications and respond from agent-driven chats.
88
+ - [`wappmcp`](https://github.com/vaibhavpandeyvpz/wappmcp) - brings WhatsApp Web messaging into Hooman for customer or team communication automations.
89
+
90
+ For production deployments, still review permissions and use least-privilege credentials/tokens for each integration.
91
+
66
92
  ## Install
67
93
 
68
94
  ```bash
@@ -158,16 +184,28 @@ hooman daemon --channels --yolo
158
184
 
159
185
  ### Feature Flags
160
186
 
161
- Runtime tools and prompt sections are controlled from `config.json` under `tools`:
162
-
187
+ Runtime tool and prompt switches are controlled from `config.json`:
188
+
189
+ - `search.enabled`
190
+ - `search.provider` (`brave` or `tavily`)
191
+ - `search.brave.apiKey`
192
+ - `search.tavily.apiKey`
193
+ - `prompts.behaviour`
194
+ - `prompts.communication`
195
+ - `prompts.execution`
196
+ - `prompts.engineering`
197
+ - `prompts.guardrails`
163
198
  - `tools.todo.enabled`
164
199
  - `tools.fetch.enabled`
165
200
  - `tools.filesystem.enabled`
166
201
  - `tools.shell.enabled`
202
+ - `tools.sleep.enabled`
167
203
  - `tools.ltm.enabled`
168
204
  - `tools.wiki.enabled`
169
205
  - `tools.mcp.enabled` (enables MCP management tools + prefixed MCP server tools/instructions)
170
206
  - `tools.skills.enabled` (enables skills management tools + skills prompt sections)
207
+ - `tools.agents.enabled` (enables built-in `run_agents` tool)
208
+ - `tools.agents.concurrency`
171
209
 
172
210
  Both `ltm` and `wiki` include dedicated Chroma settings under:
173
211
 
@@ -185,6 +223,8 @@ hooman configure
185
223
  The configure UI currently lets you:
186
224
 
187
225
  - edit app configuration values
226
+ - choose search provider and set its API key
227
+ - toggle bundled harness prompts (`behaviour`, `communication`, `execution`, `engineering`, `guardrails`)
188
228
  - edit `instructions.md` in your `$VISUAL` / `$EDITOR` (cross-platform fallback included)
189
229
  - add, edit, and delete MCP servers with confirmation
190
230
  - search, install, refresh, and remove skills
@@ -224,7 +264,7 @@ Important files and folders:
224
264
 
225
265
  ## Example `config.json`
226
266
 
227
- This is the shape managed by `hooman configure`:
267
+ This is the config shape loaded by Hooman:
228
268
 
229
269
  ```json
230
270
  {
@@ -234,6 +274,19 @@ This is the shape managed by `hooman configure`:
234
274
  "model": "gemma4:e4b",
235
275
  "params": {}
236
276
  },
277
+ "search": {
278
+ "enabled": false,
279
+ "provider": "brave",
280
+ "brave": {},
281
+ "tavily": {}
282
+ },
283
+ "prompts": {
284
+ "behaviour": true,
285
+ "communication": true,
286
+ "execution": true,
287
+ "engineering": false,
288
+ "guardrails": true
289
+ },
237
290
  "tools": {
238
291
  "todo": {
239
292
  "enabled": true
@@ -247,6 +300,9 @@ This is the shape managed by `hooman configure`:
247
300
  "shell": {
248
301
  "enabled": true
249
302
  },
303
+ "sleep": {
304
+ "enabled": true
305
+ },
250
306
  "ltm": {
251
307
  "enabled": false,
252
308
  "chroma": {
@@ -270,6 +326,10 @@ This is the shape managed by `hooman configure`:
270
326
  },
271
327
  "skills": {
272
328
  "enabled": false
329
+ },
330
+ "agents": {
331
+ "enabled": true,
332
+ "concurrency": 3
273
333
  }
274
334
  },
275
335
  "compaction": {
@@ -292,6 +352,11 @@ Supported `llm.provider` values:
292
352
  - `moonshot`
293
353
  - `xai`
294
354
 
355
+ Supported `search.provider` values:
356
+
357
+ - `brave`
358
+ - `tavily`
359
+
295
360
  ## Provider Notes
296
361
 
297
362
  ### Ollama
@@ -357,6 +422,29 @@ Uses Strands `GoogleModel` on top of `@google/genai`. Top-level options like `ap
357
422
 
358
423
  Supports `region`, `clientConfig`, and optional `apiKey`, with all other values forwarded as Bedrock model options.
359
424
 
425
+ ```json
426
+ {
427
+ "provider": "bedrock",
428
+ "model": "anthropic.claude-sonnet-4-20250514-v1:0",
429
+ "params": {
430
+ "region": "us-east-1",
431
+ "clientConfig": {
432
+ "profile": "dev",
433
+ "maxAttempts": 3,
434
+ "credentials": {
435
+ "accessKeyId": "AKIA...",
436
+ "secretAccessKey": "...",
437
+ "sessionToken": "..."
438
+ }
439
+ },
440
+ "temperature": 0.7,
441
+ "maxTokens": 1024
442
+ }
443
+ }
444
+ ```
445
+
446
+ You can also rely on the AWS default credential chain (recommended) by setting environment variables such as `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and optionally `AWS_SESSION_TOKEN`.
447
+
360
448
  ### Groq
361
449
 
362
450
  Uses the Vercel AI SDK Groq provider (`@ai-sdk/groq`) on top of Strands `VercelModel`. Provider-specific settings `apiKey`, `baseURL`, and `headers` are picked up; other values are forwarded into the model config (`temperature`, `maxTokens`, etc.). Defaults to `GROQ_API_KEY` from the environment when no `apiKey` is supplied.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hoomanjs",
3
- "version": "1.17.1",
3
+ "version": "1.17.3",
4
4
  "description": "Hackable Bun-powered AI agent toolkit for building local CLI, ACP, MCP, and channel-driven workflows.",
5
5
  "author": {
6
6
  "name": "Vaibhav Pandey",
@@ -4,14 +4,22 @@ Use senior engineering judgment, but let the repository guide the solution. Pref
4
4
 
5
5
  ### Code Changes
6
6
 
7
+ - Treat generic or underspecified requests as software engineering tasks in the current repo context. Prefer making the real code change over replying with a superficial text transformation.
8
+ - Defer to the user's judgment on scope. Do not reject work only because it is large or ambitious.
7
9
  - Understand the surrounding module before changing it.
10
+ - Read a file before proposing edits to that file.
8
11
  - Preserve public behavior unless the user asked to change it or the existing behavior is clearly a bug.
9
12
  - Keep edits narrow, coherent, and easy to review.
10
13
  - Choose simple code that fully solves the problem over clever or over-generalized code.
11
14
  - Add abstractions only when they remove real duplication, clarify a real concept, or match an established local pattern.
12
15
  - Avoid compatibility shims for unshipped branch work. Replace in-progress code cleanly when that is the right fix.
16
+ - Avoid backwards-compatibility hacks (placeholder re-exports, "removed" comments, legacy aliases) when old code is truly no longer needed.
13
17
  - Do not add comments by default. Add a comment only when it explains a non-obvious constraint, invariant, workaround, or surprising behavior.
14
18
  - Do not add docstrings, types, formatting churn, or refactors to unrelated code.
19
+ - Do not create files unless they are necessary to complete the requested task. Prefer editing existing files.
20
+ - Do not add features, configurability, refactors, or cleanup beyond the user's request.
21
+ - Do not add speculative validation, fallbacks, feature flags, or defensive branches for scenarios that cannot happen.
22
+ - Do not introduce one-off helpers or abstractions for hypothetical future requirements.
15
23
 
16
24
  ### Safety And Correctness
17
25
 
@@ -20,6 +28,9 @@ Use senior engineering judgment, but let the repository guide the solution. Pref
20
28
  - Treat generated files, lockfiles, migrations, and configuration as shared contracts. Update them only when the task requires it.
21
29
  - Do not hide failures with broad catches, silent fallbacks, skipped hooks, or weakened checks.
22
30
  - When touching shared behavior, add or update focused tests when the repository has a test pattern for it.
31
+ - Avoid time estimates. Focus on what needs to happen and what is done.
32
+ - If an approach fails, diagnose the failure before switching tactics. Do not blindly retry the same step.
33
+ - Escalate with a focused user question only after investigation when safe progress is blocked.
23
34
 
24
35
  ### Repository Hygiene
25
36
 
@@ -7,10 +7,15 @@ Act with care around security, user data, irreversible operations, and shared sy
7
7
  - Local, reversible inspection and focused edits are usually acceptable.
8
8
  - Ask for confirmation before destructive, hard-to-reverse, externally visible, or shared-state actions unless the user has clearly authorized that exact scope.
9
9
  - Risky actions include deleting files or records, dropping data, killing unknown processes, overwriting user work, changing permissions, sending messages, posting comments, publishing artifacts, or uploading sensitive content to third-party services.
10
+ - Hard-to-reverse examples include force-push, hard reset, amending published commits, removing or downgrading dependencies, and modifying CI/CD pipelines.
10
11
  - Approval for one risky action does not authorize different future risky actions.
12
+ - Treat authorization as scope-limited: do only what was approved, not adjacent risky actions.
13
+ - If the user explicitly asks for more autonomous execution, you may proceed without per-step confirmation but still apply risk checks.
11
14
  - Treat approval prompts, permission denials, hook feedback, and automated policy checks as authoritative user or system feedback for the current action.
12
15
  - If hook or approval feedback explains a required change, incorporate that feedback into the next safe step instead of ignoring it or working around it.
13
16
  - Do not bypass checks, hooks, permissions, or approval flows just to make progress.
17
+ - If you discover unexpected state (unknown files, branches, lockfiles, process state, or config), investigate before deleting or overwriting it.
18
+ - Prefer root-cause fixes over destructive shortcuts when blocked.
14
19
 
15
20
  ### Security Requests
16
21