hoomanjs 1.55.3 → 1.57.0

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.
Files changed (85) hide show
  1. package/dist/acp/acp-agent.js +25 -2
  2. package/dist/acp/acp-agent.js.map +1 -1
  3. package/dist/acp/approvals.js +10 -3
  4. package/dist/acp/approvals.js.map +1 -1
  5. package/dist/acp/utils/tool-kind.js +1 -1
  6. package/dist/acp/utils/tool-kind.js.map +1 -1
  7. package/dist/acp/utils/tool-locations.js +12 -2
  8. package/dist/acp/utils/tool-locations.js.map +1 -1
  9. package/dist/chat/app.js +15 -0
  10. package/dist/chat/app.js.map +1 -1
  11. package/dist/chat/approvals.js +3 -0
  12. package/dist/chat/approvals.js.map +1 -1
  13. package/dist/chat/components/ApprovalPrompt.js +15 -4
  14. package/dist/chat/components/ApprovalPrompt.js.map +1 -1
  15. package/dist/chat/types.d.ts +1 -0
  16. package/dist/core/agent/gitignore-guard-plugin.js +12 -2
  17. package/dist/core/agent/gitignore-guard-plugin.js.map +1 -1
  18. package/dist/core/agent/index.js +11 -5
  19. package/dist/core/agent/index.js.map +1 -1
  20. package/dist/core/{prompts/session-mode.js → agent/session-mode-plugin.js} +2 -2
  21. package/dist/core/agent/session-mode-plugin.js.map +1 -0
  22. package/dist/core/approvals/allowlist.js +1 -1
  23. package/dist/core/approvals/allowlist.js.map +1 -1
  24. package/dist/core/approvals/intervention.d.ts +3 -0
  25. package/dist/core/approvals/intervention.js +16 -0
  26. package/dist/core/approvals/intervention.js.map +1 -1
  27. package/dist/core/filesystem/backend.d.ts +13 -0
  28. package/dist/core/filesystem/backend.js +2 -0
  29. package/dist/core/filesystem/backend.js.map +1 -0
  30. package/dist/core/filesystem/backends/index.d.ts +2 -0
  31. package/dist/core/filesystem/backends/index.js +3 -0
  32. package/dist/core/filesystem/backends/index.js.map +1 -0
  33. package/dist/core/filesystem/backends/local-fs-backend.d.ts +6 -0
  34. package/dist/core/filesystem/backends/local-fs-backend.js +17 -0
  35. package/dist/core/filesystem/backends/local-fs-backend.js.map +1 -0
  36. package/dist/core/filesystem/backends/remote-fs-backend.d.ts +12 -0
  37. package/dist/core/filesystem/backends/remote-fs-backend.js +20 -0
  38. package/dist/core/filesystem/backends/remote-fs-backend.js.map +1 -0
  39. package/dist/core/filesystem/edits/apply.d.ts +4 -0
  40. package/dist/core/filesystem/edits/apply.js +131 -0
  41. package/dist/core/filesystem/edits/apply.js.map +1 -0
  42. package/dist/core/filesystem/edits/types.d.ts +36 -0
  43. package/dist/core/filesystem/edits/types.js +2 -0
  44. package/dist/core/filesystem/edits/types.js.map +1 -0
  45. package/dist/core/filesystem/index.d.ts +12 -0
  46. package/dist/core/filesystem/index.js +12 -0
  47. package/dist/core/filesystem/index.js.map +1 -0
  48. package/dist/core/filesystem/registry.d.ts +4 -0
  49. package/dist/core/filesystem/registry.js +13 -0
  50. package/dist/core/filesystem/registry.js.map +1 -0
  51. package/dist/core/{tools/filesystem.d.ts → filesystem/tools.d.ts} +0 -19
  52. package/dist/core/{tools/filesystem.js → filesystem/tools.js} +90 -273
  53. package/dist/core/filesystem/tools.js.map +1 -0
  54. package/dist/core/modes/definitions.js +4 -4
  55. package/dist/core/modes/definitions.js.map +1 -1
  56. package/dist/core/prompts/modes/agent.md +1 -1
  57. package/dist/core/prompts/modes/ask.md +1 -1
  58. package/dist/core/prompts/modes/design.md +1 -1
  59. package/dist/core/prompts/modes/plan.md +1 -1
  60. package/dist/core/prompts/static/filesystem.md +2 -2
  61. package/dist/core/prompts/static/switch-mode.md +4 -2
  62. package/dist/core/state/tool-approvals.d.ts +1 -1
  63. package/dist/core/state/tool-approvals.js +31 -21
  64. package/dist/core/state/tool-approvals.js.map +1 -1
  65. package/dist/core/subagents/index.d.ts +1 -0
  66. package/dist/core/subagents/index.js +1 -0
  67. package/dist/core/subagents/index.js.map +1 -1
  68. package/dist/core/subagents/tool.d.ts +3 -0
  69. package/dist/core/subagents/tool.js +11 -0
  70. package/dist/core/subagents/tool.js.map +1 -1
  71. package/dist/core/subagents/usage.d.ts +12 -0
  72. package/dist/core/subagents/usage.js +23 -0
  73. package/dist/core/subagents/usage.js.map +1 -0
  74. package/dist/core/tools/index.d.ts +0 -1
  75. package/dist/core/tools/index.js +0 -1
  76. package/dist/core/tools/index.js.map +1 -1
  77. package/dist/core/tools/switch-mode.js +11 -5
  78. package/dist/core/tools/switch-mode.js.map +1 -1
  79. package/dist/index.d.ts +3 -2
  80. package/dist/index.js +3 -2
  81. package/dist/index.js.map +1 -1
  82. package/package.json +1 -1
  83. package/dist/core/prompts/session-mode.js.map +0 -1
  84. package/dist/core/tools/filesystem.js.map +0 -1
  85. /package/dist/core/{prompts/session-mode.d.ts → agent/session-mode-plugin.d.ts} +0 -0
@@ -8,8 +8,8 @@ import { EXPORT_DESIGN_TOOL_NAME } from "../tools/export.js";
8
8
  import { PREVIEW_DESIGN_TOOL_NAME, STOP_DESIGN_PREVIEW_TOOL_NAME, } from "../tools/preview.js";
9
9
  const READ_FILE_TOOL = "read_file";
10
10
  const READ_MULTIPLE_FILES_TOOL = "read_multiple_files";
11
- const WRITE_FILE_TOOL = "write_file";
12
11
  const EDIT_FILE_TOOL = "edit_file";
12
+ const EDIT_MULTIPLE_FILES_TOOL = "edit_multiple_files";
13
13
  const FETCH_TOOL = "fetch";
14
14
  /** Session mode switch; always requires explicit approval (never yolo / always-allow). */
15
15
  export const SWITCH_MODE_TOOL = "switch_mode";
@@ -47,7 +47,10 @@ export const INTERNAL_ALWAYS_ALLOWED = new Set([
47
47
  "grep",
48
48
  // switch_mode is intentionally NOT always-allowed — see intervention.ts.
49
49
  ]);
50
- const PLAN_MODE_WRITE_EDIT_TOOLS = [WRITE_FILE_TOOL, EDIT_FILE_TOOL];
50
+ const PLAN_MODE_WRITE_EDIT_TOOLS = [
51
+ EDIT_FILE_TOOL,
52
+ EDIT_MULTIPLE_FILES_TOOL,
53
+ ];
51
54
  function toolInputPath(toolInput) {
52
55
  if (!toolInput || typeof toolInput !== "object") {
53
56
  return "";
@@ -63,7 +66,7 @@ function toolInputSaveAs(toolInput) {
63
66
  return typeof saveAs === "string" ? saveAs.trim() : "";
64
67
  }
65
68
  /**
66
- * In plan mode, reject `write_file` / `edit_file` unless the destination path
69
+ * In plan mode, reject file edits unless their destination paths
67
70
  * is under the plans directory, and reject `fetch` with `save_as` entirely.
68
71
  * Runs before any “always allow” grant.
69
72
  */
@@ -73,11 +76,17 @@ export function planModeWriteEditRejectionMessage(agent, toolName, toolInput) {
73
76
  }
74
77
  if (PLAN_MODE_WRITE_EDIT_TOOLS.includes(toolName)) {
75
78
  const plansRoot = plansPath();
76
- const raw = toolInputPath(toolInput);
77
- if (raw && isResolvedPathInsideDir(normalizeUserPath(raw), plansRoot)) {
79
+ const paths = toolName === EDIT_MULTIPLE_FILES_TOOL &&
80
+ toolInput &&
81
+ typeof toolInput === "object"
82
+ ? (toolInput.edits
83
+ ?.flatMap((edit) => [edit.path, edit.new_path])
84
+ .filter((value) => typeof value === "string" && value.length > 0) ?? [])
85
+ : [toolInputPath(toolInput)];
86
+ if (paths.length > 0 &&
87
+ paths.every((raw) => isResolvedPathInsideDir(normalizeUserPath(raw), plansRoot)))
78
88
  return null;
79
- }
80
- return `In plan mode, "${toolName}" was rejected automatically: path must be under the plans directory (${plansRoot}).`;
89
+ return `In plan mode, "${toolName}" was rejected automatically: every path must be under the plans directory (${plansRoot}).`;
81
90
  }
82
91
  if (toolName === FETCH_TOOL && toolInputSaveAs(toolInput)) {
83
92
  return `In plan mode, "${toolName}" with save_as was rejected automatically: downloading files is not allowed.`;
@@ -139,21 +148,22 @@ function isImplicitPathAllowed(toolName, toolInput, mode) {
139
148
  }
140
149
  return true;
141
150
  }
142
- if (toolName === WRITE_FILE_TOOL || toolName === EDIT_FILE_TOOL) {
143
- const raw = toolInputPath(toolInput);
144
- if (!raw) {
151
+ if (toolName === EDIT_FILE_TOOL || toolName === EDIT_MULTIPLE_FILES_TOOL) {
152
+ const paths = toolName === EDIT_MULTIPLE_FILES_TOOL &&
153
+ toolInput &&
154
+ typeof toolInput === "object"
155
+ ? (toolInput.edits
156
+ ?.flatMap((edit) => [edit.path, edit.new_path])
157
+ .filter((value) => typeof value === "string" && value.length > 0) ?? [])
158
+ : [toolInputPath(toolInput)];
159
+ if (paths.length === 0)
145
160
  return false;
146
- }
147
- const resolved = normalizeUserPath(raw);
148
- if (isResolvedPathInsideDir(resolved, plans)) {
149
- return true;
150
- }
151
- // Design mode: artifact writes under `.hooman/design/` are the whole point.
152
- if (mode === "design" &&
153
- isResolvedPathInsideDir(resolved, designArtifactsPath())) {
154
- return true;
155
- }
156
- return false;
161
+ return paths.every((raw) => {
162
+ const resolved = normalizeUserPath(raw);
163
+ return (isResolvedPathInsideDir(resolved, plans) ||
164
+ (mode === "design" &&
165
+ isResolvedPathInsideDir(resolved, designArtifactsPath())));
166
+ });
157
167
  }
158
168
  return false;
159
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-approvals.js","sourceRoot":"","sources":["../../../src/core/state/tool-approvals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-approvals.js","sourceRoot":"","sources":["../../../src/core/state/tool-approvals.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export { createSubagentRegistry, type SubagentKindConfig, type SubagentKindDefinition, type SubagentRegistry, } from "./registry.js";
2
2
  export { LAUNCH_SUBAGENT_TOOL_NAME, createSubagentTools } from "./tool.js";
3
+ export { emitSubagentUsage, subscribeSubagentUsage, type SubagentUsageReport, } from "./usage.js";
@@ -1,3 +1,4 @@
1
1
  export { createSubagentRegistry, } from "./registry.js";
2
2
  export { LAUNCH_SUBAGENT_TOOL_NAME, createSubagentTools } from "./tool.js";
3
+ export { emitSubagentUsage, subscribeSubagentUsage, } from "./usage.js";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/subagents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAIvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/subagents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAIvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,YAAY,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { type Tool } from "@strands-agents/sdk";
2
2
  import type { BaseModelConfig, Model } from "@strands-agents/sdk";
3
3
  import type { ResolvedLlmInputModality } from "../utils/model-metadata.js";
4
+ import type { ResolvedLlmMetadata } from "../utils/metadata.js";
4
5
  import { type SubagentRegistry } from "./registry.js";
5
6
  export declare const LAUNCH_SUBAGENT_TOOL_NAME = "launch_subagent";
6
7
  type CreateSubagentToolsOptions = {
@@ -13,6 +14,8 @@ type CreateSubagentToolsOptions = {
13
14
  createModel: (name?: string) => Model<BaseModelConfig>;
14
15
  /** Resolve input modality for a named (or current) model. */
15
16
  resolveModality: (name?: string) => Promise<ResolvedLlmInputModality | null | undefined>;
17
+ /** Resolve billing metadata for a named (or current) model. */
18
+ resolveMetadata: (name?: string) => Promise<ResolvedLlmMetadata | null>;
16
19
  };
17
20
  export declare function createSubagentTools(options: CreateSubagentToolsOptions): Tool[];
18
21
  export {};
@@ -1,5 +1,7 @@
1
1
  import { Agent, tool } from "@strands-agents/sdk";
2
2
  import { z } from "zod";
3
+ import { toAdditiveUsage } from "../utils/usage.js";
4
+ import { emitSubagentUsage } from "./usage.js";
3
5
  import { getLlmModality, LLM_MODALITY_STATE_KEY, setLlmModality, } from "../state/llm-modality.js";
4
6
  export const LAUNCH_SUBAGENT_TOOL_NAME = "launch_subagent";
5
7
  const LaunchSubagentBaseSchema = z.object({
@@ -120,6 +122,15 @@ export function createSubagentTools(options) {
120
122
  cancelSignal: context.agent.cancelSignal,
121
123
  })
122
124
  : await child.invoke(input.query);
125
+ const usage = response.metrics?.accumulatedUsage;
126
+ if (usage && usage.totalTokens > 0) {
127
+ await emitSubagentUsage(context.agent, {
128
+ kind: kind.id,
129
+ ...(modelName ? { modelName } : {}),
130
+ usage: toAdditiveUsage(usage, child.model),
131
+ metadata: await options.resolveMetadata(modelName),
132
+ });
133
+ }
123
134
  return extractText(response);
124
135
  }
125
136
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/core/subagents/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/core/subagents/tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Usage } from "@strands-agents/sdk";
2
+ import type { ResolvedLlmMetadata } from "../utils/metadata.js";
3
+ export type SubagentUsageReport = {
4
+ kind: string;
5
+ modelName?: string;
6
+ usage: Usage;
7
+ metadata: ResolvedLlmMetadata | null;
8
+ };
9
+ type SubagentUsageListener = (report: SubagentUsageReport) => void | Promise<void>;
10
+ export declare function subscribeSubagentUsage(parent: object, listener: SubagentUsageListener): () => void;
11
+ export declare function emitSubagentUsage(parent: object, report: SubagentUsageReport): Promise<void>;
12
+ export {};
@@ -0,0 +1,23 @@
1
+ const listenersByParent = new WeakMap();
2
+ export function subscribeSubagentUsage(parent, listener) {
3
+ let listeners = listenersByParent.get(parent);
4
+ if (!listeners) {
5
+ listeners = new Set();
6
+ listenersByParent.set(parent, listeners);
7
+ }
8
+ listeners.add(listener);
9
+ return () => {
10
+ listeners?.delete(listener);
11
+ if (listeners?.size === 0) {
12
+ listenersByParent.delete(parent);
13
+ }
14
+ };
15
+ }
16
+ export async function emitSubagentUsage(parent, report) {
17
+ const listeners = listenersByParent.get(parent);
18
+ if (!listeners) {
19
+ return;
20
+ }
21
+ await Promise.all([...listeners].map((listener) => listener(report)));
22
+ }
23
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/core/subagents/usage.ts"],"names":[],"mappings":"AAcA,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAsC,CAAC;AAE5E,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,QAA+B;IAE/B,IAAI,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO,GAAG,EAAE;QACV,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,SAAS,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1B,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,MAA2B;IAE3B,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC"}
@@ -2,7 +2,6 @@ export { createAskUserTools } from "./ask-user.js";
2
2
  export { createDesignPreviewTools } from "./preview.js";
3
3
  export { createExportTools } from "./export.js";
4
4
  export { createSwitchModeTool } from "./switch-mode.js";
5
- export { createFilesystemTools, clearReadTimeAgentInstructionState, } from "./filesystem.js";
6
5
  export { createGrepTools } from "./grep.js";
7
6
  export { createFetchTools } from "./fetch.js";
8
7
  export { createSleepTools } from "./sleep.js";
@@ -2,7 +2,6 @@ export { createAskUserTools } from "./ask-user.js";
2
2
  export { createDesignPreviewTools } from "./preview.js";
3
3
  export { createExportTools } from "./export.js";
4
4
  export { createSwitchModeTool } from "./switch-mode.js";
5
- export { createFilesystemTools, clearReadTimeAgentInstructionState, } from "./filesystem.js";
6
5
  export { createGrepTools } from "./grep.js";
7
6
  export { createFetchTools } from "./fetch.js";
8
7
  export { createSleepTools } from "./sleep.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,kCAAkC,GACnC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -49,7 +49,7 @@ function toJsonValue(value) {
49
49
  async function ensurePlanDocument(agent, options) {
50
50
  const plan = getPlanState(agent);
51
51
  const { mode } = getModeState(agent);
52
- if (mode === "plan" && plan.planFile) {
52
+ if (mode === "plan" && plan.planFile && !options.fresh) {
53
53
  return {
54
54
  planFile: plan.planFile,
55
55
  alreadyActive: true,
@@ -120,11 +120,12 @@ export function createSwitchModeTool() {
120
120
  return tool({
121
121
  name: SWITCH_MODE_TOOL,
122
122
  description: `Propose switching the session mode to one of: ${formatModeNames()}.
123
- This always requires explicit user approval via the permission UI (never auto-approved, never "always allow").
123
+ Real mode changes and fresh-plan requests require explicit user approval via the permission UI (never "always allow"); redundant same-mode no-ops continue without prompting.
124
124
  Do not ask the user in chat to approve — the permission card is the approval. When this tool returns successfully, continue immediately in the new mode.
125
125
  Switching to plan opens or reopens a markdown plan document for findings, trade-offs, and intended steps.
126
126
  Leaving plan is a proposal to start implementing — if declined, you stay in plan mode with the same plan file.
127
- Pass fresh: true when entering plan to start a new document instead of reopening the session's last plan.`,
127
+ Before calling, use the injected session-mode prompt as the authoritative current mode. Do not call switch_mode when the requested mode is already active, except plan → plan with fresh: true.
128
+ Pass fresh: true when entering plan, or while already in plan, to start a brand-new plan document instead of reopening or keeping the current plan.`,
128
129
  inputSchema: SwitchModeInputSchema,
129
130
  callback: async (input, context) => {
130
131
  if (!context) {
@@ -136,7 +137,10 @@ Pass fresh: true when entering plan to start a new document instead of reopening
136
137
  const agent = context.agent;
137
138
  const previousMode = getModeState(agent).mode;
138
139
  const nextMode = input.mode;
139
- if (previousMode === nextMode && nextMode !== "plan") {
140
+ const activePlanFile = getPlanState(agent).planFile;
141
+ if (previousMode === nextMode &&
142
+ !(nextMode === "plan" && input.fresh === true) &&
143
+ !(nextMode === "plan" && !activePlanFile)) {
140
144
  return toJsonValue({
141
145
  status: "ok",
142
146
  mode: nextMode,
@@ -164,7 +168,9 @@ Pass fresh: true when entering plan to start a new document instead of reopening
164
168
  previous_mode: previousMode,
165
169
  already_active: plan?.alreadyActive === true,
166
170
  reason: input.reason?.trim() || null,
167
- hint: `Mode switch approved and applied (${previousMode} → ${nextMode}). Continue with the task.`,
171
+ hint: previousMode === "plan" && nextMode === "plan" && input.fresh
172
+ ? "Fresh plan approved and created. Continue planning in the new plan document."
173
+ : `Mode switch approved and applied (${previousMode} → ${nextMode}). Continue with the task.`,
168
174
  ...(plan
169
175
  ? {
170
176
  plan_file: plan.planFile,
@@ -1 +1 @@
1
- {"version":3,"file":"switch-mode.js","sourceRoot":"","sources":["../../../src/core/tools/switch-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"switch-mode.js","sourceRoot":"","sources":["../../../src/core/tools/switch-mode.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -23,11 +23,12 @@ export type { BeginAuthorizationResult as McpBeginAuthorizationResult, McpOAuthC
23
23
  export { McpTransportSchema, SseSchema, StdioSchema, StreamableHttpSchema, } from "./core/mcp/types.js";
24
24
  export type { McpTransport, Sse, Stdio, StreamableHttp, } from "./core/mcp/types.js";
25
25
  export { PrefixedMcpTool } from "./core/mcp/prefixed-mcp-tool.js";
26
- export { createAskUserTools, createFetchTools, createFilesystemTools, createGrepTools, createSleepTools, createThinkingTools, createTimeTools, createTodoTools, createWebSearchTools, } from "./core/tools/index.js";
26
+ export { createAskUserTools, createFetchTools, createGrepTools, createSleepTools, createThinkingTools, createTimeTools, createTodoTools, createWebSearchTools, } from "./core/tools/index.js";
27
27
  export { UPDATE_TODOS_TOOL_NAME } from "./core/tools/todo.js";
28
28
  export { ASK_USER_TOOL_NAME, getAskUserBackend, setAskUserBackend, type AskUserBackend, type AskUserRequest, type AskUserResponse, } from "./core/tools/ask-user.js";
29
29
  export { clearShellJobManager, createShellTools, getShellJobManager, getTerminalBackend, peekShellJobManager, setTerminalBackend, ShellJobManager, SHELL_OUTPUT_TOOL_NAME, SHELL_STOP_TOOL_NAME, SHELL_TOOL_NAME, type ShellJobEvent, type ShellJobInfo, type ShellJobOutputSnapshot, type ShellJobStatus, type TerminalBackend, type TerminalOutputSnapshot, type TerminalRunRequest, type TerminalRunResult, type TerminalSpawnResult, } from "./core/shell/index.js";
30
- export { getTextFsBackend, setTextFsBackend, type TextFsBackend, type TextFsReadOptions, } from "./core/tools/filesystem.js";
30
+ export { getTextFsBackend, setTextFsBackend, type TextFsBackend, type TextFsReadOptions, } from "./core/filesystem/index.js";
31
+ export { createFilesystemTools, clearReadTimeAgentInstructionState, } from "./core/filesystem/tools.js";
31
32
  export { AGENT_SKILLS_STATE_KEY, Registry as SkillsRegistry, builtInSkillsPath, clearAgentSkillsPromptInjectionState, createAgentSkillsPlugin, createAgentSkillSources, createSkillsRegistry, } from "./core/skills/index.js";
32
33
  export type { SkillListEntry, SkillSearchResult, } from "./core/skills/registry.js";
33
34
  export { System as SystemPrompt, system as createSystemPrompt, } from "./core/prompts/index.js";
package/dist/index.js CHANGED
@@ -18,11 +18,12 @@ export { Config as McpConfig } from "./core/mcp/config.js";
18
18
  export { HoomanMcpOAuthProvider, McpOAuthConfigSchema, McpOAuthService, McpOAuthStore, StoredMcpOAuthClientSchema, StoredMcpOAuthDiscoverySchema, StoredMcpOAuthEntrySchema, StoredMcpOAuthFileSchema, StoredMcpOAuthTokensSchema, canonicalizeRemoteServerUrl, createRemoteTransportFingerprint, createRemoteTransportIdentity, startCallbackServer, } from "./core/mcp/oauth/index.js";
19
19
  export { McpTransportSchema, SseSchema, StdioSchema, StreamableHttpSchema, } from "./core/mcp/types.js";
20
20
  export { PrefixedMcpTool } from "./core/mcp/prefixed-mcp-tool.js";
21
- export { createAskUserTools, createFetchTools, createFilesystemTools, createGrepTools, createSleepTools, createThinkingTools, createTimeTools, createTodoTools, createWebSearchTools, } from "./core/tools/index.js";
21
+ export { createAskUserTools, createFetchTools, createGrepTools, createSleepTools, createThinkingTools, createTimeTools, createTodoTools, createWebSearchTools, } from "./core/tools/index.js";
22
22
  export { UPDATE_TODOS_TOOL_NAME } from "./core/tools/todo.js";
23
23
  export { ASK_USER_TOOL_NAME, getAskUserBackend, setAskUserBackend, } from "./core/tools/ask-user.js";
24
24
  export { clearShellJobManager, createShellTools, getShellJobManager, getTerminalBackend, peekShellJobManager, setTerminalBackend, ShellJobManager, SHELL_OUTPUT_TOOL_NAME, SHELL_STOP_TOOL_NAME, SHELL_TOOL_NAME, } from "./core/shell/index.js";
25
- export { getTextFsBackend, setTextFsBackend, } from "./core/tools/filesystem.js";
25
+ export { getTextFsBackend, setTextFsBackend, } from "./core/filesystem/index.js";
26
+ export { createFilesystemTools, clearReadTimeAgentInstructionState, } from "./core/filesystem/tools.js";
26
27
  export { AGENT_SKILLS_STATE_KEY, Registry as SkillsRegistry, builtInSkillsPath, clearAgentSkillsPromptInjectionState, createAgentSkillsPlugin, createAgentSkillSources, createSkillsRegistry, } from "./core/skills/index.js";
27
28
  export { System as SystemPrompt, system as createSystemPrompt, } from "./core/prompts/index.js";
28
29
  export { modelProviders } from "./core/models/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hoomanjs",
3
- "version": "1.55.3",
3
+ "version": "1.57.0",
4
4
  "description": "Full-stack open-source agentic ecosystem — local-first CLI, VS Code, ACP, daemon channels, and Design mode. BYOK, custom inference endpoints, llama.cpp & MLX.",
5
5
  "author": {
6
6
  "name": "Vaibhav Pandey",
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-mode.js","sourceRoot":"","sources":["../../../src/core/prompts/session-mode.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EACL,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,cAAc,GAEf,MAAM,0BAA0B,CAAC;AAElC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;AAE/B,mFAAmF;AACnF,MAAM,gCAAgC,GAAG;IACvC,cAAc;IACd,mBAAmB;IACnB,wBAAwB;IACxB,2BAA2B;IAC3B,yBAAyB;CACjB,CAAC;AAEX,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAsC,CAAC;AAE1E,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,iBAAiB,CAAC,GAAG,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,oCAAoC,CAAC,KAEpD;IACC,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACnD,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAsB,EACtB,KAA8B;IAE9B,IAAI,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,IAAiB,EACjB,mBAA4C,EAAE;IAE9C,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO,IAAI,eAAe,CAAC;QACzB,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,UAAU;QACnB,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YACtC,MAAM,gBAAgB,GAAG,oCAAoC,CAAC,KAAK,CAAC,CAAC;YACrE,OAAO,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACzD,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/core/tools/filesystem.ts"],"names":[],"mappings":"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"}