hoomanjs 1.37.2 → 1.37.4

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.
@@ -12,6 +12,7 @@ import { createSubagentTools, loadSubagentRegistry, } from "../subagents/index.j
12
12
  import { createByeTools, createTodoTools, createFetchTools, createFilesystemTools, createGrepTools, clearReadTimeAgentInstructionState, createPlanTools, createSleepTools, createShellTools, createThinkingTools, createTimeTools, createWebSearchTools, } from "../tools/index.js";
13
13
  import { createSessionModePromptPlugin } from "../prompts/session-mode-appendix.js";
14
14
  import { clearAgentSkillsPromptInjectionState, createAgentSkillsPlugin, } from "../skills/index.js";
15
+ import { createPromptCachePlugin } from "./prompt-cache-plugin.js";
15
16
  import { ModeAwareToolRegistry } from "./mode-aware-tool-registry.js";
16
17
  import { applySessionMode } from "./sync-tool-registry-mode.js";
17
18
  import { clearTodoState } from "../state/todos.js";
@@ -56,6 +57,11 @@ export async function create(config, system, mcp, print = false, meta) {
56
57
  const prefixed = await mcp.manager.listPrefixedTools();
57
58
  const skillsPlugin = createAgentSkillsPlugin();
58
59
  const sessionModePlugin = createSessionModePromptPlugin();
60
+ // Insert prompt-cache breakpoints for providers that require them (Anthropic,
61
+ // Bedrock). `config.llm` is read per call so runtime model switches apply.
62
+ const promptCachePlugin = createPromptCachePlugin({
63
+ getProvider: () => config.llm.provider,
64
+ });
59
65
  async function buildBaseSystemPrompt() {
60
66
  await system.reload();
61
67
  const appendNext = await mcp.manager.listServerInstructions();
@@ -99,7 +105,12 @@ export async function create(config, system, mcp, print = false, meta) {
99
105
  ...(meta.yolo ? { [YOLO_STATE_KEY]: true } : {}),
100
106
  ...(meta.mode ? { [MODE_STATE_KEY]: meta.mode } : {}),
101
107
  },
102
- plugins: [skillsPlugin, sessionModePlugin, ...contextPlugins],
108
+ plugins: [
109
+ skillsPlugin,
110
+ sessionModePlugin,
111
+ promptCachePlugin,
112
+ ...contextPlugins,
113
+ ],
103
114
  interventions: meta.interventions ?? [],
104
115
  tools,
105
116
  printer: print,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/agent/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/agent/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { Plugin } from "@strands-agents/sdk";
2
+ /**
3
+ * Adds prompt-cache breakpoints to model input for providers that require them.
4
+ *
5
+ * The Anthropic and Bedrock adapters only cache when a `CachePointBlock`
6
+ * immediately follows a cacheable block. hooman otherwise sends a plain string
7
+ * system prompt with no breakpoints, so nothing is ever cached on those
8
+ * providers. This plugin runs at {@link InvokeModelStage.Input} — after skills
9
+ * / session-mode injection and after the clock context injector — and appends:
10
+ *
11
+ * - one cache point at the end of the system prompt (caches the stable
12
+ * `tools → system` prefix), and
13
+ * - one rolling cache point at the end of the last message (caches the growing
14
+ * conversation prefix across the agentic tool loop).
15
+ *
16
+ * Two breakpoints stays well under Anthropic's four-breakpoint limit. Providers
17
+ * that cache automatically (OpenAI, Azure) are left untouched.
18
+ *
19
+ * @param getProvider - Returns the current provider type; evaluated per call so
20
+ * runtime model switches (chat `/model`, ACP) are respected.
21
+ */
22
+ export declare function createPromptCachePlugin(opts: {
23
+ getProvider: () => string;
24
+ }): Plugin;
@@ -0,0 +1,96 @@
1
+ import { CachePointBlock, InvokeModelStage, Message, TextBlock, } from "@strands-agents/sdk";
2
+ import { LlmProvider } from "../models/types.js";
3
+ /**
4
+ * Providers whose Strands model adapter honors `CachePointBlock` breakpoints
5
+ * (they emit Anthropic `cache_control` / Bedrock `cachePoint`). Every other
6
+ * provider either caches automatically server-side (OpenAI, Azure/Vercel) or
7
+ * warns and ignores cache points, so we skip them to avoid noise/errors.
8
+ */
9
+ const CACHE_CAPABLE_PROVIDERS = new Set([
10
+ LlmProvider.Anthropic,
11
+ LlmProvider.Bedrock,
12
+ ]);
13
+ const CACHEABLE_BLOCK_TYPES = new Set([
14
+ "textBlock",
15
+ "imageBlock",
16
+ "toolUseBlock",
17
+ "toolResultBlock",
18
+ "documentBlock",
19
+ ]);
20
+ /**
21
+ * Adds prompt-cache breakpoints to model input for providers that require them.
22
+ *
23
+ * The Anthropic and Bedrock adapters only cache when a `CachePointBlock`
24
+ * immediately follows a cacheable block. hooman otherwise sends a plain string
25
+ * system prompt with no breakpoints, so nothing is ever cached on those
26
+ * providers. This plugin runs at {@link InvokeModelStage.Input} — after skills
27
+ * / session-mode injection and after the clock context injector — and appends:
28
+ *
29
+ * - one cache point at the end of the system prompt (caches the stable
30
+ * `tools → system` prefix), and
31
+ * - one rolling cache point at the end of the last message (caches the growing
32
+ * conversation prefix across the agentic tool loop).
33
+ *
34
+ * Two breakpoints stays well under Anthropic's four-breakpoint limit. Providers
35
+ * that cache automatically (OpenAI, Azure) are left untouched.
36
+ *
37
+ * @param getProvider - Returns the current provider type; evaluated per call so
38
+ * runtime model switches (chat `/model`, ACP) are respected.
39
+ */
40
+ export function createPromptCachePlugin(opts) {
41
+ return {
42
+ name: "hooman:prompt-cache",
43
+ initAgent(agent) {
44
+ agent.addMiddleware(InvokeModelStage.Input, (context) => {
45
+ if (!CACHE_CAPABLE_PROVIDERS.has(opts.getProvider())) {
46
+ return context;
47
+ }
48
+ return {
49
+ ...context,
50
+ systemPrompt: withSystemCachePoint(context.systemPrompt),
51
+ messages: withLastMessageCachePoint(context.messages),
52
+ };
53
+ });
54
+ },
55
+ };
56
+ }
57
+ function withSystemCachePoint(prompt) {
58
+ if (prompt === undefined) {
59
+ return prompt;
60
+ }
61
+ const blocks = typeof prompt === "string"
62
+ ? prompt.length > 0
63
+ ? [new TextBlock(prompt)]
64
+ : []
65
+ : [...prompt];
66
+ if (blocks.length === 0) {
67
+ return prompt;
68
+ }
69
+ const last = blocks[blocks.length - 1];
70
+ if (last && last.type === "cachePointBlock") {
71
+ return blocks;
72
+ }
73
+ blocks.push(new CachePointBlock({ cacheType: "default" }));
74
+ return blocks;
75
+ }
76
+ function withLastMessageCachePoint(messages) {
77
+ if (messages.length === 0) {
78
+ return messages;
79
+ }
80
+ const index = messages.length - 1;
81
+ const last = messages[index];
82
+ const content = last.content;
83
+ const tail = content[content.length - 1];
84
+ // Nothing to anchor the breakpoint to, or one is already present.
85
+ if (!tail || !CACHEABLE_BLOCK_TYPES.has(tail.type)) {
86
+ return messages;
87
+ }
88
+ const next = [...messages];
89
+ next[index] = new Message({
90
+ role: last.role,
91
+ content: [...content, new CachePointBlock({ cacheType: "default" })],
92
+ ...(last.metadata !== undefined && { metadata: last.metadata }),
93
+ });
94
+ return next;
95
+ }
96
+ //# sourceMappingURL=prompt-cache-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-cache-plugin.js","sourceRoot":"","sources":["../../../src/core/agent/prompt-cache-plugin.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,7 @@ export type AllowlistOptions = {
11
11
  * Disk-backed, pattern-based allowlist for "always allow" tool approvals.
12
12
  *
13
13
  * Rules are keyed by tool name and matched against an argument-derived
14
- * resource string using {@link matchWildcard}. The design follows the
15
- * opencode/kilocode/Claude Code permission engines: shell commands match on a
14
+ * resource string using {@link matchWildcard}: shell commands match on a
16
15
  * (broadened) command prefix, filesystem tools match on resolved paths, and
17
16
  * argument-less tools are stored tool-wide (`*`).
18
17
  */
@@ -117,8 +117,7 @@ function deriveProposals(tool, input) {
117
117
  * Disk-backed, pattern-based allowlist for "always allow" tool approvals.
118
118
  *
119
119
  * Rules are keyed by tool name and matched against an argument-derived
120
- * resource string using {@link matchWildcard}. The design follows the
121
- * opencode/kilocode/Claude Code permission engines: shell commands match on a
120
+ * resource string using {@link matchWildcard}: shell commands match on a
122
121
  * (broadened) command prefix, filesystem tools match on resolved paths, and
123
122
  * argument-less tools are stored tool-wide (`*`).
124
123
  */
@@ -1 +1 @@
1
- {"version":3,"file":"allowlist.js","sourceRoot":"","sources":["../../../src/core/approvals/allowlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,kFAAkF;AAClF,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,MAAM,UAAU,GAAG,OAAO,CAAC;AAE3B;;;GAGG;AACH,MAAM,cAAc,GAAsC;IACxD,SAAS,EAAE,CAAC,MAAM,CAAC;IACnB,mBAAmB,EAAE,CAAC,OAAO,CAAC;IAC9B,UAAU,EAAE,CAAC,MAAM,CAAC;IACpB,SAAS,EAAE,CAAC,MAAM,CAAC;IACnB,gBAAgB,EAAE,CAAC,MAAM,CAAC;IAC1B,SAAS,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;IACpC,aAAa,EAAE,CAAC,MAAM,CAAC;CACxB,CAAC;AAcF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,2EAA2E;AAC3E,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;IAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,IACL,QAAQ,CAAC,KAAK,CAAC;YACf,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YACjC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EACpB,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,wEAAwE;AACxE,SAAS,YAAY,CAAC,IAAY,EAAE,KAAc;IAChD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC5C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,KAAc;IACnD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACpE,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SACrD,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,KAAc;IACnD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEtD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACxB,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,SAAS;IACH,QAAQ,CAAS;IAClC,oDAAoD;IACnC,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAExD,YAAmB,OAA0B;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,wEAAwE;IACjE,SAAS,CAAC,IAAY,EAAE,KAAe;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC/B,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAClE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,IAAY,EAAE,KAAe;QAC5C,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,IAAY,EAAE,KAAe;QAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wEAAwE;IACjE,OAAO,CAAC,IAAY,EAAE,OAAe;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2DAA2D;IACpD,UAAU,CAAC,IAAY,EAAE,OAAe;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sCAAsC;IAC/B,KAAK;QACV,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IAClD,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,mEAAmE;IAC5D,MAAM;QACX,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,UAAU,CAAC,IAAY,EAAE,OAAe;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;gBAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,OAAO;QACb,MAAM,IAAI,GAA6B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;CACF;AAED,IAAI,eAAe,GAAqB,IAAI,CAAC;AAE7C,2EAA2E;AAC3E,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,IAAI,SAAS,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"allowlist.js","sourceRoot":"","sources":["../../../src/core/approvals/allowlist.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,7 @@
6
6
  * Example: approving `git log --oneline -5` proposes `git log *` because
7
7
  * `git` has an arity of 2 (the subcommand counts, flags never do).
8
8
  *
9
- * Dictionary ported from the opencode/kilocode permission engines. Longest
10
- * matching prefix wins; unlisted commands fall back to a single token.
9
+ * Longest matching prefix wins; unlisted commands fall back to a single token.
11
10
  */
12
11
  const ARITY = {
13
12
  cat: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"bash-arity.js","sourceRoot":"","sources":["../../../src/core/approvals/bash-arity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,KAAK,GAA2B;IACpC,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,WAAW,EAAE,CAAC;IACd,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,eAAe,EAAE,CAAC;IAClB,MAAM,EAAE,CAAC;IACT,eAAe,EAAE,CAAC;IAClB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,EAAE,EAAE,CAAC;IACL,GAAG,EAAE,CAAC;IACN,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,WAAW,EAAE,CAAC;IACd,EAAE,EAAE,CAAC;IACL,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,EAAE,EAAE,CAAC;IACL,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,CAAC;IACP,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC;IACV,mBAAmB,EAAE,CAAC;IACtB,iBAAiB,EAAE,CAAC;IACpB,SAAS,EAAE,CAAC;IACZ,IAAI,EAAE,CAAC;IACP,EAAE,EAAE,CAAC;IACL,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC;IACjB,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,cAAc,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,qBAAqB,EAAE,CAAC;IACxB,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;IACP,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;CACd,CAAC;AAEF,4EAA4E;AAC5E,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AAEvD,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,OAAO;SACX,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAAgB;IAC1C,KAAK,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"bash-arity.js","sourceRoot":"","sources":["../../../src/core/approvals/bash-arity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,KAAK,GAA2B;IACpC,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,WAAW,EAAE,CAAC;IACd,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,eAAe,EAAE,CAAC;IAClB,MAAM,EAAE,CAAC;IACT,eAAe,EAAE,CAAC;IAClB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,EAAE,EAAE,CAAC;IACL,GAAG,EAAE,CAAC;IACN,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC;IACf,WAAW,EAAE,CAAC;IACd,EAAE,EAAE,CAAC;IACL,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,EAAE,EAAE,CAAC;IACL,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,CAAC;IACP,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC;IACV,mBAAmB,EAAE,CAAC;IACtB,iBAAiB,EAAE,CAAC;IACpB,SAAS,EAAE,CAAC;IACZ,IAAI,EAAE,CAAC;IACP,EAAE,EAAE,CAAC;IACL,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC;IACjB,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,cAAc,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,CAAC;IACb,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,qBAAqB,EAAE,CAAC;IACxB,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;IACP,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;CACd,CAAC;AAEF,4EAA4E;AAC5E,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AAEvD,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,OAAO;SACX,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAAgB;IAC1C,KAAK,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC"}
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Minimal wildcard matcher used by the approval allowlist.
3
3
  *
4
- * Ported from the opencode/kilocode permission engines:
5
4
  * - `*` matches zero or more characters
6
5
  * - `?` matches exactly one character
7
6
  * - a trailing " *" is relaxed to "( .*)?" so a pattern like `git *` also
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Minimal wildcard matcher used by the approval allowlist.
3
3
  *
4
- * Ported from the opencode/kilocode permission engines:
5
4
  * - `*` matches zero or more characters
6
5
  * - `?` matches exactly one character
7
6
  * - a trailing " *" is relaxed to "( .*)?" so a pattern like `git *` also
@@ -1 +1 @@
1
- {"version":3,"file":"wildcard.js","sourceRoot":"","sources":["../../../src/core/approvals/wildcard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,OAAe;IAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,OAAO,GAAG,OAAO;SAClB,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;SAClC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEvB,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"wildcard.js","sourceRoot":"","sources":["../../../src/core/approvals/wildcard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,OAAe;IAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,OAAO,GAAG,OAAO;SAClB,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;SAClC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEvB,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC5D,CAAC"}
@@ -45,6 +45,9 @@ export function create(providerOptions, llmOptions) {
45
45
  return new BedrockModel({
46
46
  modelId: llmOptions.model,
47
47
  region: providerOptions.region ?? "us-west-2",
48
+ // Auto-inject prompt-cache points (after tools + last user message) for
49
+ // models that support it; a no-op on models that don't.
50
+ cacheConfig: { strategy: "auto" },
48
51
  ...(Object.keys(clientConfig).length > 0 ? { clientConfig } : {}),
49
52
  ...(providerOptions.apiKey !== undefined
50
53
  ? { apiKey: providerOptions.apiKey }
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/core/models/bedrock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAOlE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAIrD,uEAAuE;AACvE,MAAM,oBAAoB,GACxB;IACE,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC;AAEJ,MAAM,UAAU,MAAM,CACpB,eAAuC,EACvC,UAAsB;IAEtB,MAAM,YAAY,GAA+B,EAAE,CAAC;IACpD,IAAI,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;QACnE,YAAY,CAAC,WAAW,GAAG;YACzB,WAAW,EAAE,eAAe,CAAC,WAAW;YACxC,eAAe,EAAE,eAAe,CAAC,eAAe;YAChD,GAAG,CAAC,eAAe,CAAC,YAAY;gBAC9B,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,uBAAuB,GAAG,CAAC,GAAwC,EAAE;QACzE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,SAAS,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO;gBACL,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE;gBAC1D,aAAa,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE;aACxD,CAAC;QACJ,CAAC;QACD,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,uBAAuB,CAAC,MAAM,CAAC;aAC/C;SACF,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,IAAI,YAAY,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,MAAM,EAAE,eAAe,CAAC,MAAM,IAAI,WAAW;QAC7C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE;YACpC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzC,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/core/models/bedrock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAOlE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAIrD,uEAAuE;AACvE,MAAM,oBAAoB,GACxB;IACE,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC;AAEJ,MAAM,UAAU,MAAM,CACpB,eAAuC,EACvC,UAAsB;IAEtB,MAAM,YAAY,GAA+B,EAAE,CAAC;IACpD,IAAI,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;QACnE,YAAY,CAAC,WAAW,GAAG;YACzB,WAAW,EAAE,eAAe,CAAC,WAAW;YACxC,eAAe,EAAE,eAAe,CAAC,eAAe;YAChD,GAAG,CAAC,eAAe,CAAC,YAAY;gBAC9B,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,uBAAuB,GAAG,CAAC,GAAwC,EAAE;QACzE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,SAAS,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO;gBACL,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE;gBAC1D,aAAa,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE;aACxD,CAAC;QACJ,CAAC;QACD,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,uBAAuB,CAAC,MAAM,CAAC;aAC/C;SACF,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,IAAI,YAAY,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,MAAM,EAAE,eAAe,CAAC,MAAM,IAAI,WAAW;QAC7C,wEAAwE;QACxE,wDAAwD;QACxD,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;QACjC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE;YACpC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzC,CAAC,CAAC;AAC5B,CAAC"}
@@ -7,6 +7,7 @@ import { resolveAgentInstructionsForFile } from "../prompts/runtime.js";
7
7
  import { setFileToolDisplay, } from "../state/file-tool-display.js";
8
8
  import { readAttachmentAsBlocksOrBase64, } from "../utils/attachments.js";
9
9
  import { getTextFsBackend } from "./text-fs-backend.js";
10
+ import { findReplacementSpan } from "../utils/edit-replace.js";
10
11
  import { z } from "zod";
11
12
  const DEFAULT_READ_LIMIT = 250;
12
13
  const DEFAULT_MAX_READ_BYTES = 1024 * 1024;
@@ -359,33 +360,23 @@ function applyEdits(original, edits) {
359
360
  let current = original;
360
361
  const replacements = [];
361
362
  for (const edit of edits) {
362
- const matches = [
363
- ...current.matchAll(new RegExp(escapeRegExp(edit.oldText), "g")),
364
- ];
365
- if (matches.length === 0) {
366
- throw new Error(`Could not find edit target:\n${edit.oldText}`);
367
- }
368
- if (matches.length > 1) {
369
- throw new Error(`Edit target is ambiguous and appears ${matches.length} times:\n${edit.oldText}`);
370
- }
371
- const match = matches[0];
372
- const index = match.index ?? -1;
363
+ // Compare against the file's normalized (LF) form so line endings never
364
+ // cause a spurious mismatch. The tolerant matcher returns the exact span
365
+ // present in the file, which we splice and diff for byte-accurate output.
366
+ const oldText = normalizeLineEndings(edit.oldText);
367
+ const newText = normalizeLineEndings(edit.newText);
368
+ const { index, text: matched } = findReplacementSpan(current, oldText);
373
369
  const previous = current;
374
370
  current =
375
- current.slice(0, index) +
376
- edit.newText +
377
- current.slice(index + edit.oldText.length);
371
+ current.slice(0, index) + newText + current.slice(index + matched.length);
378
372
  replacements.push({
379
373
  index,
380
- snippet: snippetAroundChange(current, index, countLines(edit.newText)),
381
- hunk: buildPatchHunk(previous, edit.oldText, edit.newText, index),
374
+ snippet: snippetAroundChange(current, index, countLines(newText)),
375
+ hunk: buildPatchHunk(previous, matched, newText, index),
382
376
  });
383
377
  }
384
378
  return { content: current, replacements };
385
379
  }
386
- function escapeRegExp(value) {
387
- return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
388
- }
389
380
  async function walkDirectory(dirPath, options) {
390
381
  const results = [];
391
382
  const recursive = options?.recursive ?? false;
@@ -643,7 +634,7 @@ export function createFilesystemTools() {
643
634
  }),
644
635
  tool({
645
636
  name: "edit_file",
646
- description: "Apply exact text replacements to a file. Fails if any replacement target is missing or ambiguous.",
637
+ description: "Apply text replacements to a file. Prefer exact matches; whitespace, indentation, and line endings are tolerated when they don't make the target ambiguous. Fails if a target is missing or matches more than one place.",
647
638
  inputSchema: schema.editFile,
648
639
  callback: async (input, context) => {
649
640
  const filePath = normalizeUserPath(input.path);
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/core/tools/filesystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/core/tools/filesystem.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export type Replacer = (content: string, find: string) => Generator<string, void, unknown>;
2
+ export type ReplacementSpan = {
3
+ index: number;
4
+ text: string;
5
+ };
6
+ export declare class EditMatchError extends Error {
7
+ }
8
+ /**
9
+ * Locate the single span in `content` that `find` should replace.
10
+ *
11
+ * Tries each strategy in order and returns the first uniquely-locatable span.
12
+ * Throws {@link EditMatchError} when nothing matches or when a match is
13
+ * ambiguous, with a message aimed at helping the model recover.
14
+ */
15
+ export declare function findReplacementSpan(content: string, find: string): ReplacementSpan;
@@ -0,0 +1,262 @@
1
+ // Tolerant text replacement for the `edit_file` tool.
2
+ //
3
+ // The model rarely reproduces a target snippet byte-for-byte (indentation,
4
+ // trailing whitespace, and escaped characters drift). Rather than fail on the
5
+ // first mismatch, we try a small cascade of increasingly lenient strategies
6
+ // and stop at the first that yields a single unambiguous span in the file.
7
+ //
8
+ // Each strategy only ever *locates* an existing substring in `content` — it
9
+ // never rewrites text — so the caller can splice the exact matched span and
10
+ // keep byte-accurate diffs.
11
+ /** Similarity floor (0..1) for accepting a block-anchor match. */
12
+ const BLOCK_ANCHOR_SIMILARITY_THRESHOLD = 0.65;
13
+ function levenshtein(a, b) {
14
+ if (a === b)
15
+ return 0;
16
+ if (a.length === 0 || b.length === 0) {
17
+ return Math.max(a.length, b.length);
18
+ }
19
+ let previous = Array.from({ length: b.length + 1 }, (_, i) => i);
20
+ let current = new Array(b.length + 1);
21
+ for (let i = 1; i <= a.length; i += 1) {
22
+ current[0] = i;
23
+ for (let j = 1; j <= b.length; j += 1) {
24
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
25
+ current[j] = Math.min(previous[j] + 1, current[j - 1] + 1, previous[j - 1] + cost);
26
+ }
27
+ [previous, current] = [current, previous];
28
+ }
29
+ return previous[b.length];
30
+ }
31
+ /** Byte offset of the start of line `lineIndex` (0-based) in `lines`. */
32
+ function offsetOfLine(lines, lineIndex) {
33
+ let offset = 0;
34
+ for (let i = 0; i < lineIndex; i += 1) {
35
+ offset += lines[i].length + 1; // +1 for the split "\n"
36
+ }
37
+ return offset;
38
+ }
39
+ /** Substring spanning lines [startLine, endLine] inclusive. */
40
+ function joinLineRange(content, lines, startLine, endLine) {
41
+ const start = offsetOfLine(lines, startLine);
42
+ let end = start;
43
+ for (let k = startLine; k <= endLine; k += 1) {
44
+ end += lines[k].length;
45
+ if (k < endLine)
46
+ end += 1;
47
+ }
48
+ return content.substring(start, end);
49
+ }
50
+ function stripTrailingEmpty(lines) {
51
+ if (lines.length > 0 && lines[lines.length - 1] === "") {
52
+ return lines.slice(0, -1);
53
+ }
54
+ return lines;
55
+ }
56
+ /** Exact match. */
57
+ const exact = function* (_content, find) {
58
+ yield find;
59
+ };
60
+ /** Match line-by-line ignoring each line's leading/trailing whitespace. */
61
+ const lineTrimmed = function* (content, find) {
62
+ const contentLines = content.split("\n");
63
+ const searchLines = stripTrailingEmpty(find.split("\n"));
64
+ if (searchLines.length === 0)
65
+ return;
66
+ for (let i = 0; i <= contentLines.length - searchLines.length; i += 1) {
67
+ let matches = true;
68
+ for (let j = 0; j < searchLines.length; j += 1) {
69
+ if (contentLines[i + j].trim() !== searchLines[j].trim()) {
70
+ matches = false;
71
+ break;
72
+ }
73
+ }
74
+ if (matches) {
75
+ yield joinLineRange(content, contentLines, i, i + searchLines.length - 1);
76
+ }
77
+ }
78
+ };
79
+ /** Strip the common leading indentation from both sides before comparing. */
80
+ const indentationFlexible = function* (content, find) {
81
+ const dedent = (text) => {
82
+ const lines = text.split("\n");
83
+ const indents = lines
84
+ .filter((line) => line.trim().length > 0)
85
+ .map((line) => line.match(/^(\s*)/)[1].length);
86
+ if (indents.length === 0)
87
+ return text;
88
+ const min = Math.min(...indents);
89
+ return lines
90
+ .map((line) => (line.trim().length === 0 ? line : line.slice(min)))
91
+ .join("\n");
92
+ };
93
+ const normalizedFind = dedent(find);
94
+ const contentLines = content.split("\n");
95
+ const findLines = find.split("\n");
96
+ for (let i = 0; i <= contentLines.length - findLines.length; i += 1) {
97
+ const block = joinLineRange(content, contentLines, i, i + findLines.length - 1);
98
+ if (dedent(block) === normalizedFind) {
99
+ yield block;
100
+ }
101
+ }
102
+ };
103
+ /** Collapse every run of whitespace to a single space before comparing. */
104
+ const whitespaceNormalized = function* (content, find) {
105
+ const collapse = (text) => text.replace(/\s+/g, " ").trim();
106
+ const normalizedFind = collapse(find);
107
+ if (normalizedFind.length === 0)
108
+ return;
109
+ const contentLines = content.split("\n");
110
+ const findLines = find.split("\n");
111
+ for (let i = 0; i <= contentLines.length - findLines.length; i += 1) {
112
+ const block = joinLineRange(content, contentLines, i, i + findLines.length - 1);
113
+ if (collapse(block) === normalizedFind) {
114
+ yield block;
115
+ }
116
+ }
117
+ };
118
+ /**
119
+ * Anchor on the first and last (trimmed) lines of a multi-line block and
120
+ * accept it when the interior is similar enough. Handles cases where the
121
+ * model garbled a few middle lines but kept the boundaries intact.
122
+ */
123
+ const blockAnchor = function* (content, find) {
124
+ const contentLines = content.split("\n");
125
+ const searchLines = stripTrailingEmpty(find.split("\n"));
126
+ if (searchLines.length < 3)
127
+ return;
128
+ const firstAnchor = searchLines[0].trim();
129
+ const lastAnchor = searchLines[searchLines.length - 1].trim();
130
+ const searchSize = searchLines.length;
131
+ const maxDelta = Math.max(1, Math.floor(searchSize * 0.25));
132
+ const candidates = [];
133
+ for (let i = 0; i < contentLines.length; i += 1) {
134
+ if (contentLines[i].trim() !== firstAnchor)
135
+ continue;
136
+ for (let j = i + 2; j < contentLines.length; j += 1) {
137
+ if (contentLines[j].trim() === lastAnchor) {
138
+ if (Math.abs(j - i + 1 - searchSize) <= maxDelta) {
139
+ candidates.push({ start: i, end: j });
140
+ }
141
+ break; // only the nearest closing anchor
142
+ }
143
+ }
144
+ }
145
+ if (candidates.length === 0)
146
+ return;
147
+ const interiorSimilarity = (start, end) => {
148
+ const actualSize = end - start + 1;
149
+ const checks = Math.min(searchSize - 2, actualSize - 2);
150
+ if (checks <= 0)
151
+ return 1;
152
+ let total = 0;
153
+ for (let j = 1; j <= checks; j += 1) {
154
+ const original = contentLines[start + j].trim();
155
+ const search = searchLines[j].trim();
156
+ const maxLen = Math.max(original.length, search.length);
157
+ if (maxLen === 0)
158
+ continue;
159
+ total += 1 - levenshtein(original, search) / maxLen;
160
+ }
161
+ return total / checks;
162
+ };
163
+ let best = null;
164
+ let bestScore = -1;
165
+ for (const candidate of candidates) {
166
+ const score = interiorSimilarity(candidate.start, candidate.end);
167
+ if (score > bestScore) {
168
+ bestScore = score;
169
+ best = candidate;
170
+ }
171
+ }
172
+ if (best && bestScore >= BLOCK_ANCHOR_SIMILARITY_THRESHOLD) {
173
+ yield joinLineRange(content, contentLines, best.start, best.end);
174
+ }
175
+ };
176
+ /** Interpret backslash escapes (\n, \t, \", ...) the model may have emitted. */
177
+ const escapeNormalized = function* (content, find) {
178
+ const unescape = (text) => text.replace(/\\([ntr'"`$\\\n])/g, (match, char) => {
179
+ switch (char) {
180
+ case "n":
181
+ return "\n";
182
+ case "t":
183
+ return "\t";
184
+ case "r":
185
+ return "\r";
186
+ case "'":
187
+ return "'";
188
+ case '"':
189
+ return '"';
190
+ case "`":
191
+ return "`";
192
+ case "$":
193
+ return "$";
194
+ case "\\":
195
+ case "\n":
196
+ return char === "\\" ? "\\" : "\n";
197
+ default:
198
+ return match;
199
+ }
200
+ });
201
+ const unescapedFind = unescape(find);
202
+ if (unescapedFind !== find && content.includes(unescapedFind)) {
203
+ yield unescapedFind;
204
+ }
205
+ };
206
+ const REPLACERS = [
207
+ exact,
208
+ lineTrimmed,
209
+ indentationFlexible,
210
+ whitespaceNormalized,
211
+ blockAnchor,
212
+ escapeNormalized,
213
+ ];
214
+ /**
215
+ * Guard against a lenient strategy latching onto a span far larger than what
216
+ * the model intended, which would silently delete unrelated code.
217
+ */
218
+ function isDisproportionate(matched, find) {
219
+ const findLines = find.split("\n").length;
220
+ const matchedLines = matched.split("\n").length;
221
+ if (matchedLines >= Math.max(findLines + 3, findLines * 2))
222
+ return true;
223
+ if (findLines === 1)
224
+ return false;
225
+ return (matched.trim().length >
226
+ Math.max(find.trim().length + 500, find.trim().length * 4));
227
+ }
228
+ export class EditMatchError extends Error {
229
+ }
230
+ /**
231
+ * Locate the single span in `content` that `find` should replace.
232
+ *
233
+ * Tries each strategy in order and returns the first uniquely-locatable span.
234
+ * Throws {@link EditMatchError} when nothing matches or when a match is
235
+ * ambiguous, with a message aimed at helping the model recover.
236
+ */
237
+ export function findReplacementSpan(content, find) {
238
+ let sawAmbiguous = false;
239
+ for (const replacer of REPLACERS) {
240
+ for (const candidate of replacer(content, find)) {
241
+ if (candidate.length === 0)
242
+ continue;
243
+ const index = content.indexOf(candidate);
244
+ if (index === -1)
245
+ continue;
246
+ if (index !== content.lastIndexOf(candidate)) {
247
+ sawAmbiguous = true;
248
+ continue; // a later, stricter candidate may still be unique
249
+ }
250
+ if (isDisproportionate(candidate, find)) {
251
+ throw new EditMatchError("Refusing edit: the matched region is much larger than the requested text. " +
252
+ "Re-read the file and provide the exact text to replace.");
253
+ }
254
+ return { index, text: candidate };
255
+ }
256
+ }
257
+ if (sawAmbiguous) {
258
+ throw new EditMatchError(`Edit target is ambiguous (multiple matches). Add more surrounding context so it matches uniquely:\n${find}`);
259
+ }
260
+ throw new EditMatchError(`Could not find edit target. It must match the file's text (whitespace and indentation may differ, but the content must be present):\n${find}`);
261
+ }
262
+ //# sourceMappingURL=edit-replace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-replace.js","sourceRoot":"","sources":["../../../src/core/utils/edit-replace.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,4BAA4B;AAO5B,kEAAkE;AAClE,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAE/C,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,OAAO,GAAG,IAAI,KAAK,CAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CACnB,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,EAChB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,EACnB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,IAAI,CACxB,CAAC;QACJ,CAAC;QACD,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC;AAC7B,CAAC;AAED,yEAAyE;AACzE,SAAS,YAAY,CAAC,KAAe,EAAE,SAAiB;IACtD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,wBAAwB;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+DAA+D;AAC/D,SAAS,aAAa,CACpB,OAAe,EACf,KAAe,EACf,SAAiB,EACjB,OAAe;IAEf,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7C,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,GAAG,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,GAAG,OAAO;YAAE,GAAG,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAe;IACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,mBAAmB;AACnB,MAAM,KAAK,GAAa,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI;IAC/C,MAAM,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,WAAW,GAAa,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC3D,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,mBAAmB,GAAa,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI;IAC5D,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK;aAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;aACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QACjC,OAAO,KAAK;aACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aAClE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACpE,MAAM,KAAK,GAAG,aAAa,CACzB,OAAO,EACP,YAAY,EACZ,CAAC,EACD,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CACzB,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,cAAc,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,oBAAoB,GAAa,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI;IAC7D,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAExC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACpE,MAAM,KAAK,GAAG,aAAa,CACzB,OAAO,EACP,YAAY,EACZ,CAAC,EACD,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CACzB,CAAC;QACF,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,cAAc,EAAE,CAAC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,GAAa,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IAEnC,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;IAE5D,MAAM,UAAU,GAA0C,EAAE,CAAC;IAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,KAAK,WAAW;YAAE,SAAS;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,IAAI,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACjD,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBACxC,CAAC;gBACD,MAAM,CAAC,kCAAkC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEpC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,GAAW,EAAU,EAAE;QAChE,MAAM,UAAU,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;QACxD,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC3B,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,GAAG,MAAM,CAAC;IACxB,CAAC,CAAC;IAEF,IAAI,IAAI,GAA0C,IAAI,CAAC;IACvD,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,IAAI,IAAI,SAAS,IAAI,iCAAiC,EAAE,CAAC;QAC3D,MAAM,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CAAC;AAEF,gFAAgF;AAChF,MAAM,gBAAgB,GAAa,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI;IACzD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CACxC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QACzD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,OAAO,GAAG,CAAC;YACb,KAAK,GAAG;gBACN,OAAO,GAAG,CAAC;YACb,KAAK,GAAG;gBACN,OAAO,GAAG,CAAC;YACb,KAAK,GAAG;gBACN,OAAO,GAAG,CAAC;YACb,KAAK,IAAI,CAAC;YACV,KAAK,IAAI;gBACP,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACrC;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,aAAa,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9D,MAAM,aAAa,CAAC;IACtB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAe;IAC5B,KAAK;IACL,WAAW;IACX,mBAAmB;IACnB,oBAAoB;IACpB,WAAW;IACX,gBAAgB;CACjB,CAAC;AAEF;;;GAGG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,IAAY;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxE,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,CACL,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAC3D,CAAC;AACJ,CAAC;AAID,MAAM,OAAO,cAAe,SAAQ,KAAK;CAAG;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAY;IAEZ,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACrC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,SAAS;YAE3B,IAAI,KAAK,KAAK,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7C,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS,CAAC,kDAAkD;YAC9D,CAAC;YAED,IAAI,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,cAAc,CACtB,4EAA4E;oBAC1E,yDAAyD,CAC5D,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,cAAc,CACtB,sGAAsG,IAAI,EAAE,CAC7G,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,cAAc,CACtB,wIAAwI,IAAI,EAAE,CAC/I,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hoomanjs",
3
- "version": "1.37.2",
3
+ "version": "1.37.4",
4
4
  "description": "Hackable AI agent toolkit for building local CLI, ACP, MCP, and channel-driven workflows.",
5
5
  "author": {
6
6
  "name": "Vaibhav Pandey",