funolio-agent 0.17.8 → 1.0.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.
Files changed (223) hide show
  1. package/dist/approval.d.ts +7 -6
  2. package/dist/approval.d.ts.map +1 -1
  3. package/dist/approval.js +40 -10
  4. package/dist/approval.js.map +1 -1
  5. package/dist/auth/anthropic-subscription.d.ts +9 -29
  6. package/dist/auth/anthropic-subscription.d.ts.map +1 -1
  7. package/dist/auth/anthropic-subscription.js +12 -133
  8. package/dist/auth/anthropic-subscription.js.map +1 -1
  9. package/dist/auth/auto-detect.d.ts +28 -6
  10. package/dist/auth/auto-detect.d.ts.map +1 -1
  11. package/dist/auth/auto-detect.js +52 -205
  12. package/dist/auth/auto-detect.js.map +1 -1
  13. package/dist/auth/credential-reader.d.ts +24 -4
  14. package/dist/auth/credential-reader.d.ts.map +1 -1
  15. package/dist/auth/credential-reader.js +31 -256
  16. package/dist/auth/credential-reader.js.map +1 -1
  17. package/dist/auth/credential-status.d.ts +7 -27
  18. package/dist/auth/credential-status.d.ts.map +1 -1
  19. package/dist/auth/credential-status.js +7 -95
  20. package/dist/auth/credential-status.js.map +1 -1
  21. package/dist/auth/index.d.ts +9 -2
  22. package/dist/auth/index.d.ts.map +1 -1
  23. package/dist/auth/index.js +10 -10
  24. package/dist/auth/index.js.map +1 -1
  25. package/dist/auth/subscription-runtime.d.ts +19 -23
  26. package/dist/auth/subscription-runtime.d.ts.map +1 -1
  27. package/dist/auth/subscription-runtime.js +24 -292
  28. package/dist/auth/subscription-runtime.js.map +1 -1
  29. package/dist/auth/token-refresh.d.ts +19 -28
  30. package/dist/auth/token-refresh.d.ts.map +1 -1
  31. package/dist/auth/token-refresh.js +26 -464
  32. package/dist/auth/token-refresh.js.map +1 -1
  33. package/dist/backfill.js +2 -2
  34. package/dist/backfill.js.map +1 -1
  35. package/dist/bot-manager.d.ts +5 -6
  36. package/dist/bot-manager.d.ts.map +1 -1
  37. package/dist/bot-manager.js +20 -62
  38. package/dist/bot-manager.js.map +1 -1
  39. package/dist/clerk-model.d.ts +0 -1
  40. package/dist/clerk-model.d.ts.map +1 -1
  41. package/dist/clerk-model.js +24 -50
  42. package/dist/clerk-model.js.map +1 -1
  43. package/dist/commands/configure-provider.js +2 -2
  44. package/dist/commands/configure-provider.js.map +1 -1
  45. package/dist/commands/configure.d.ts.map +1 -1
  46. package/dist/commands/configure.js +10 -14
  47. package/dist/commands/configure.js.map +1 -1
  48. package/dist/commands/start.d.ts.map +1 -1
  49. package/dist/commands/start.js +51 -229
  50. package/dist/commands/start.js.map +1 -1
  51. package/dist/config.d.ts +1 -1
  52. package/dist/config.d.ts.map +1 -1
  53. package/dist/config.js +2 -2
  54. package/dist/config.js.map +1 -1
  55. package/dist/context-compressor.d.ts +6 -1
  56. package/dist/context-compressor.d.ts.map +1 -1
  57. package/dist/context-compressor.js +87 -18
  58. package/dist/context-compressor.js.map +1 -1
  59. package/dist/context-window.d.ts +2 -8
  60. package/dist/context-window.d.ts.map +1 -1
  61. package/dist/context-window.js +4 -4
  62. package/dist/context-window.js.map +1 -1
  63. package/dist/eval/orchestrator-front-door-replay.js +43 -2
  64. package/dist/eval/orchestrator-front-door-replay.js.map +1 -1
  65. package/dist/eval/orchestrator-todo-dispatch-replay.d.ts +2 -0
  66. package/dist/eval/orchestrator-todo-dispatch-replay.d.ts.map +1 -0
  67. package/dist/eval/orchestrator-todo-dispatch-replay.js +253 -0
  68. package/dist/eval/orchestrator-todo-dispatch-replay.js.map +1 -0
  69. package/dist/eval/orchestrator-todo-planning-replay.d.ts +2 -0
  70. package/dist/eval/orchestrator-todo-planning-replay.d.ts.map +1 -0
  71. package/dist/eval/orchestrator-todo-planning-replay.js +247 -0
  72. package/dist/eval/orchestrator-todo-planning-replay.js.map +1 -0
  73. package/dist/eval/policy-detection-replay.d.ts +2 -0
  74. package/dist/eval/policy-detection-replay.d.ts.map +1 -0
  75. package/dist/eval/policy-detection-replay.js +122 -0
  76. package/dist/eval/policy-detection-replay.js.map +1 -0
  77. package/dist/eval/todo-worker-runtime-replay.d.ts +2 -0
  78. package/dist/eval/todo-worker-runtime-replay.d.ts.map +1 -0
  79. package/dist/eval/todo-worker-runtime-replay.js +520 -0
  80. package/dist/eval/todo-worker-runtime-replay.js.map +1 -0
  81. package/dist/integration-tokens.d.ts +6 -0
  82. package/dist/integration-tokens.d.ts.map +1 -1
  83. package/dist/integration-tokens.js +43 -0
  84. package/dist/integration-tokens.js.map +1 -1
  85. package/dist/local-data.d.ts +134 -1
  86. package/dist/local-data.d.ts.map +1 -1
  87. package/dist/local-data.js +711 -18
  88. package/dist/local-data.js.map +1 -1
  89. package/dist/local-db.d.ts.map +1 -1
  90. package/dist/local-db.js +216 -12
  91. package/dist/local-db.js.map +1 -1
  92. package/dist/local-funnel.d.ts.map +1 -1
  93. package/dist/local-funnel.js +7 -0
  94. package/dist/local-funnel.js.map +1 -1
  95. package/dist/local-server.d.ts.map +1 -1
  96. package/dist/local-server.js +119 -96
  97. package/dist/local-server.js.map +1 -1
  98. package/dist/mcp/bridge-server.d.ts.map +1 -1
  99. package/dist/mcp/bridge-server.js +8 -2
  100. package/dist/mcp/bridge-server.js.map +1 -1
  101. package/dist/mcp/manager.d.ts +5 -0
  102. package/dist/mcp/manager.d.ts.map +1 -1
  103. package/dist/mcp/manager.js +131 -2
  104. package/dist/mcp/manager.js.map +1 -1
  105. package/dist/mcp/sync-cli-config.d.ts +5 -0
  106. package/dist/mcp/sync-cli-config.d.ts.map +1 -1
  107. package/dist/mcp/sync-cli-config.js +10 -2
  108. package/dist/mcp/sync-cli-config.js.map +1 -1
  109. package/dist/message-loop.d.ts +1 -10
  110. package/dist/message-loop.d.ts.map +1 -1
  111. package/dist/message-loop.js +179 -250
  112. package/dist/message-loop.js.map +1 -1
  113. package/dist/mqtt-client.d.ts +44 -0
  114. package/dist/mqtt-client.d.ts.map +1 -1
  115. package/dist/mqtt-client.js +2 -2
  116. package/dist/mqtt-client.js.map +1 -1
  117. package/dist/orchestration/front-door-policy.d.ts +26 -9
  118. package/dist/orchestration/front-door-policy.d.ts.map +1 -1
  119. package/dist/orchestration/front-door-policy.js +242 -69
  120. package/dist/orchestration/front-door-policy.js.map +1 -1
  121. package/dist/orchestration/orchestrator-blocked-prompt.d.ts +18 -0
  122. package/dist/orchestration/orchestrator-blocked-prompt.d.ts.map +1 -0
  123. package/dist/orchestration/orchestrator-blocked-prompt.js +46 -0
  124. package/dist/orchestration/orchestrator-blocked-prompt.js.map +1 -0
  125. package/dist/orchestration/orchestrator-final-response-prompt.d.ts +10 -0
  126. package/dist/orchestration/orchestrator-final-response-prompt.d.ts.map +1 -0
  127. package/dist/orchestration/orchestrator-final-response-prompt.js +39 -0
  128. package/dist/orchestration/orchestrator-final-response-prompt.js.map +1 -0
  129. package/dist/orchestration/orchestrator-operating-prompt.d.ts +11 -0
  130. package/dist/orchestration/orchestrator-operating-prompt.d.ts.map +1 -1
  131. package/dist/orchestration/orchestrator-operating-prompt.js +106 -36
  132. package/dist/orchestration/orchestrator-operating-prompt.js.map +1 -1
  133. package/dist/orchestration/policy-prompt.d.ts +6 -0
  134. package/dist/orchestration/policy-prompt.d.ts.map +1 -0
  135. package/dist/orchestration/policy-prompt.js +40 -0
  136. package/dist/orchestration/policy-prompt.js.map +1 -0
  137. package/dist/orchestration/worker-operating-prompt.d.ts +16 -0
  138. package/dist/orchestration/worker-operating-prompt.d.ts.map +1 -0
  139. package/dist/orchestration/worker-operating-prompt.js +75 -0
  140. package/dist/orchestration/worker-operating-prompt.js.map +1 -0
  141. package/dist/orchestrator.d.ts +19 -0
  142. package/dist/orchestrator.d.ts.map +1 -1
  143. package/dist/orchestrator.js +614 -54
  144. package/dist/orchestrator.js.map +1 -1
  145. package/dist/policy-detection.d.ts +40 -0
  146. package/dist/policy-detection.d.ts.map +1 -0
  147. package/dist/policy-detection.js +298 -0
  148. package/dist/policy-detection.js.map +1 -0
  149. package/dist/providers/anthropic.d.ts +0 -5
  150. package/dist/providers/anthropic.d.ts.map +1 -1
  151. package/dist/providers/anthropic.js +34 -51
  152. package/dist/providers/anthropic.js.map +1 -1
  153. package/dist/providers/claude-cli.d.ts.map +1 -1
  154. package/dist/providers/claude-cli.js +11 -2
  155. package/dist/providers/claude-cli.js.map +1 -1
  156. package/dist/providers/codex-cli.d.ts.map +1 -1
  157. package/dist/providers/codex-cli.js +121 -2
  158. package/dist/providers/codex-cli.js.map +1 -1
  159. package/dist/providers/index.d.ts +6 -2
  160. package/dist/providers/index.d.ts.map +1 -1
  161. package/dist/providers/index.js.map +1 -1
  162. package/dist/summarization-pipeline.d.ts +1 -4
  163. package/dist/summarization-pipeline.d.ts.map +1 -1
  164. package/dist/summarization-pipeline.js +43 -56
  165. package/dist/summarization-pipeline.js.map +1 -1
  166. package/dist/tools/analyze-image.js +2 -2
  167. package/dist/tools/analyze-image.js.map +1 -1
  168. package/dist/tools/edit-file.d.ts.map +1 -1
  169. package/dist/tools/edit-file.js +16 -1
  170. package/dist/tools/edit-file.js.map +1 -1
  171. package/dist/tools/git-tools.d.ts.map +1 -1
  172. package/dist/tools/git-tools.js +32 -1
  173. package/dist/tools/git-tools.js.map +1 -1
  174. package/dist/tools/index.d.ts.map +1 -1
  175. package/dist/tools/index.js +2 -0
  176. package/dist/tools/index.js.map +1 -1
  177. package/dist/tools/list-directory.d.ts.map +1 -1
  178. package/dist/tools/list-directory.js +23 -0
  179. package/dist/tools/list-directory.js.map +1 -1
  180. package/dist/tools/notify-user.d.ts.map +1 -1
  181. package/dist/tools/notify-user.js +15 -1
  182. package/dist/tools/notify-user.js.map +1 -1
  183. package/dist/tools/read-file.d.ts.map +1 -1
  184. package/dist/tools/read-file.js +3 -1
  185. package/dist/tools/read-file.js.map +1 -1
  186. package/dist/tools/request-mcp-install.js +5 -5
  187. package/dist/tools/request-mcp-install.js.map +1 -1
  188. package/dist/tools/run-command.d.ts.map +1 -1
  189. package/dist/tools/run-command.js +16 -4
  190. package/dist/tools/run-command.js.map +1 -1
  191. package/dist/tools/sandbox.d.ts.map +1 -1
  192. package/dist/tools/sandbox.js +6 -0
  193. package/dist/tools/sandbox.js.map +1 -1
  194. package/dist/tools/schedule-task.d.ts.map +1 -1
  195. package/dist/tools/schedule-task.js +37 -0
  196. package/dist/tools/schedule-task.js.map +1 -1
  197. package/dist/tools/search-codebase.d.ts.map +1 -1
  198. package/dist/tools/search-codebase.js +251 -32
  199. package/dist/tools/search-codebase.js.map +1 -1
  200. package/dist/tools/todo-tasks.d.ts +2 -0
  201. package/dist/tools/todo-tasks.d.ts.map +1 -1
  202. package/dist/tools/todo-tasks.js +203 -6
  203. package/dist/tools/todo-tasks.js.map +1 -1
  204. package/dist/tools/web-fetch.d.ts.map +1 -1
  205. package/dist/tools/web-fetch.js +21 -2
  206. package/dist/tools/web-fetch.js.map +1 -1
  207. package/dist/tools/web-search.d.ts.map +1 -1
  208. package/dist/tools/web-search.js +38 -34
  209. package/dist/tools/web-search.js.map +1 -1
  210. package/dist/types.d.ts +2 -0
  211. package/dist/types.d.ts.map +1 -1
  212. package/dist/wizard-state.d.ts.map +1 -1
  213. package/dist/wizard-state.js +30 -8
  214. package/dist/wizard-state.js.map +1 -1
  215. package/dist/wizard-support.d.ts +2 -2
  216. package/dist/wizard-support.d.ts.map +1 -1
  217. package/dist/wizard-support.js +80 -93
  218. package/dist/wizard-support.js.map +1 -1
  219. package/dist/workflow-engine.d.ts +3 -0
  220. package/dist/workflow-engine.d.ts.map +1 -1
  221. package/dist/workflow-engine.js +111 -82
  222. package/dist/workflow-engine.js.map +1 -1
  223. package/package.json +6 -1
@@ -0,0 +1,40 @@
1
+ import type { ClerkModel } from './clerk-model';
2
+ import * as data from './local-data';
3
+ export type PolicyDetectionSource = 'turn' | 'summary' | 'orchestrator';
4
+ export interface PolicySignalDetection {
5
+ hasSignals: boolean;
6
+ matchedSignals: string[];
7
+ }
8
+ export interface StagePolicyDetectionResult {
9
+ source: PolicyDetectionSource;
10
+ messageId?: string;
11
+ detectedByCode: boolean;
12
+ policyDetected: boolean;
13
+ scope?: 'user' | 'project';
14
+ patch: Partial<data.OrchestrationPolicy>;
15
+ summaryLines: string[];
16
+ matchedSignals: string[];
17
+ status: 'stored' | 'ignored' | 'skipped';
18
+ }
19
+ export declare function detectPolicySignals(prompt: string, opts?: {
20
+ agentNames?: string[];
21
+ }): PolicySignalDetection;
22
+ export declare function determinePolicyScope(prompt: string, projectName?: string): 'user' | 'project';
23
+ export declare function extractPolicyPatchFromPrompt(prompt: string, currentPolicy: data.OrchestrationPolicy, opts?: {
24
+ agentNames?: string[];
25
+ }): Partial<data.OrchestrationPolicy>;
26
+ export declare function sanitizePolicyPatch(prompt: string, patch: Partial<data.OrchestrationPolicy>, currentPolicy: data.OrchestrationPolicy): Partial<data.OrchestrationPolicy>;
27
+ export declare function summarizePolicyPatch(patch: Partial<data.OrchestrationPolicy>): string[];
28
+ export declare function stagePolicyDetectionForMessage(opts: {
29
+ prompt: string;
30
+ conversationId: string;
31
+ messageId?: string;
32
+ projectId?: string;
33
+ projectName?: string;
34
+ currentPolicy: data.OrchestrationPolicy;
35
+ clerk: Pick<ClerkModel, 'interpretPolicyUpdate'>;
36
+ source: PolicyDetectionSource;
37
+ requireCodeSignal?: boolean;
38
+ agentNames?: string[];
39
+ }): Promise<StagePolicyDetectionResult>;
40
+ //# sourceMappingURL=policy-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-detection.d.ts","sourceRoot":"","sources":["../src/policy-detection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkC,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAErC,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,SAAS,GAAG,cAAc,CAAC;AAExE,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;CAC1C;AAgBD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,qBAAqB,CAyB3G;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO7F;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,IAAI,CAAC,mBAAmB,EACvC,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/B,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CA8CnC;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,EACxC,aAAa,EAAE,IAAI,CAAC,mBAAmB,GACtC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CA+BnC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,MAAM,EAAE,CAevF;AAqBD,wBAAsB,8BAA8B,CAAC,IAAI,EAAE;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC;IACxC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IACjD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAmFtC"}
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.detectPolicySignals = detectPolicySignals;
37
+ exports.determinePolicyScope = determinePolicyScope;
38
+ exports.extractPolicyPatchFromPrompt = extractPolicyPatchFromPrompt;
39
+ exports.sanitizePolicyPatch = sanitizePolicyPatch;
40
+ exports.summarizePolicyPatch = summarizePolicyPatch;
41
+ exports.stagePolicyDetectionForMessage = stagePolicyDetectionForMessage;
42
+ const data = __importStar(require("./local-data"));
43
+ const POLICY_SIGNAL_PATTERNS = [
44
+ { label: 'project_scope', pattern: /\b(for|in)\s+this\s+project\b/i },
45
+ { label: 'default_assignment', pattern: /\b(by default|default (?:coder|qa|reviewer|planner))\b/i },
46
+ { label: 'permission_gate', pattern: /\b(without my permission|ask me first|always ask before|only if i approve|until i approve|need my approval|my approval first|green light first|my green light)\b/i },
47
+ { label: 'negative_rule', pattern: /\b(?:do not|don't|never|must not)\b/i },
48
+ { label: 'durable_rule', pattern: /\b(from now on|always|every time)\b/i },
49
+ ];
50
+ const POLICY_ACTION_PATTERN = /\b(deploy(?:ment|ments|s|ing)?|push(?:es|ing)?|publish(?:es|ed|ing)?|releas(?:e|es|ed|ing)|commit(?:s|ted|ting)?|code|coder|coding|qa|review|verify|research|brainstorm|plan|planning|orchestrator|project manager)\b/i;
51
+ function escapeRegex(value) {
52
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
53
+ }
54
+ function detectPolicySignals(prompt, opts) {
55
+ const normalized = String(prompt || '').trim();
56
+ if (!normalized)
57
+ return { hasSignals: false, matchedSignals: [] };
58
+ const matchedSignals = new Set();
59
+ for (const candidate of POLICY_SIGNAL_PATTERNS) {
60
+ if (candidate.pattern.test(normalized))
61
+ matchedSignals.add(candidate.label);
62
+ }
63
+ if (POLICY_ACTION_PATTERN.test(normalized))
64
+ matchedSignals.add('policy_action');
65
+ for (const name of opts?.agentNames || []) {
66
+ const trimmed = String(name || '').trim();
67
+ if (!trimmed)
68
+ continue;
69
+ const pattern = new RegExp(`(^|[^a-z0-9])${escapeRegex(trimmed)}([^a-z0-9]|$)`, 'i');
70
+ if (pattern.test(normalized))
71
+ matchedSignals.add(`agent:${trimmed}`);
72
+ }
73
+ const hasSignals = matchedSignals.has('default_assignment') ||
74
+ matchedSignals.has('permission_gate') ||
75
+ (matchedSignals.has('negative_rule') && matchedSignals.has('policy_action')) ||
76
+ (matchedSignals.has('durable_rule') && matchedSignals.has('policy_action')) ||
77
+ (matchedSignals.has('project_scope') && matchedSignals.has('policy_action'));
78
+ return { hasSignals, matchedSignals: Array.from(matchedSignals) };
79
+ }
80
+ function determinePolicyScope(prompt, projectName) {
81
+ if (/\b(for|in)\s+this\s+project\b/i.test(prompt))
82
+ return 'project';
83
+ if (projectName) {
84
+ const escaped = escapeRegex(projectName);
85
+ if (new RegExp(`\\b${escaped}\\b`, 'i').test(prompt))
86
+ return 'project';
87
+ }
88
+ return 'user';
89
+ }
90
+ function extractPolicyPatchFromPrompt(prompt, currentPolicy, opts) {
91
+ const patch = {};
92
+ const normalized = String(prompt || '');
93
+ const agentNames = (opts?.agentNames || []).map((name) => String(name || '').trim()).filter(Boolean);
94
+ const approvalGate = /\b(without my permission|ask me first|always ask before|only if i approve|until i approve|need my approval|my approval first|green light first|my green light)\b/i.test(normalized);
95
+ if (/\b(?:you|o|orchestrator|project manager)?[\s\S]{0,24}\b(?:never|do not|don't|must not)\b[\s\S]{0,24}\bcode(?:s|r|ing)?\b/i.test(normalized)) {
96
+ patch.allowOrchestratorCode = false;
97
+ }
98
+ if (/\b(?:you|o|orchestrator|project manager)?[\s\S]{0,24}\b(?:never|do not|don't|must not)\b[\s\S]{0,24}\b(?:qa|review|test|verify)\b/i.test(normalized)) {
99
+ patch.allowOrchestratorQa = false;
100
+ }
101
+ if (/\b(?:you|o|orchestrator|project manager)?[\s\S]{0,24}\b(?:never|do not|don't|must not)\b[\s\S]{0,24}\b(?:deploy(?:ment|ments|s|ing)?|push(?:es|ing)?|publish(?:es|ed|ing)?|releas(?:e|es|ed|ing)|commit(?:s|ted|ting)?)\b/i.test(normalized)) {
102
+ patch.allowOrchestratorDeploy = false;
103
+ }
104
+ if (approvalGate && /\b(deploy(?:ment|ments|s|ing)?|push(?:es|ing)?|publish(?:es|ed|ing)?|releas(?:e|es|ed|ing)|commit(?:s|ted|ting)?)\b/i.test(normalized)) {
105
+ patch.allowOrchestratorDeploy = false;
106
+ }
107
+ if (/\b(?:you|o|orchestrator|project manager)?[\s\S]{0,24}\b(?:never|do not|don't|must not)\b[\s\S]{0,24}\bsimulat(?:e|es|ing|ion)\b/i.test(normalized)) {
108
+ patch.allowOrchestratorSimulation = false;
109
+ }
110
+ if (/\b30\s*seconds\b/i.test(normalized))
111
+ patch.statusReportingMode = 'event_plus_heartbeat';
112
+ if (/\bstrict\b/i.test(normalized))
113
+ patch.policyEnforcementLevel = 'strict';
114
+ if (/\bcasual\b/i.test(normalized) && /\bdirect\b/i.test(normalized))
115
+ patch.tone = 'casual_direct';
116
+ else if (/\bcasual\b/i.test(normalized))
117
+ patch.tone = 'casual';
118
+ else if (/\bdirect\b/i.test(normalized))
119
+ patch.tone = 'direct';
120
+ const retryMatch = normalized.match(/\bno more than (\d+)\s+times\b/i);
121
+ if (retryMatch)
122
+ patch.coderRetryLimit = Number(retryMatch[1] || currentPolicy.coderRetryLimit || 2);
123
+ for (const name of agentNames) {
124
+ const escaped = escapeRegex(name);
125
+ if (new RegExp(`\\b${escaped}\\b[\\s\\S]{0,24}\\b(?:code|coder|coding)\\b[\\s\\S]{0,16}\\b(?:by default|default)\\b`, 'i').test(normalized)
126
+ || new RegExp(`\\b(?:default coder|coder by default)\\b[\\s\\S]{0,24}\\b${escaped}\\b`, 'i').test(normalized)) {
127
+ patch.defaultCoder = name;
128
+ }
129
+ if (new RegExp(`\\b${escaped}\\b[\\s\\S]{0,24}\\b(?:qa|review|test|verify)\\b[\\s\\S]{0,16}\\b(?:by default|default)\\b`, 'i').test(normalized)
130
+ || new RegExp(`\\b(?:default qa|qa by default|default reviewer)\\b[\\s\\S]{0,24}\\b${escaped}\\b`, 'i').test(normalized)) {
131
+ patch.defaultQa = name;
132
+ }
133
+ if (new RegExp(`\\b${escaped}\\b[\\s\\S]{0,24}\\b(?:research|brainstorm|plan|planning|review ideas)\\b[\\s\\S]{0,16}\\b(?:by default|default)\\b`, 'i').test(normalized)
134
+ || new RegExp(`\\b(?:default planner|default researcher|default reviewer for ideas)\\b[\\s\\S]{0,24}\\b${escaped}\\b`, 'i').test(normalized)) {
135
+ patch.defaultIdeaReviewer = name;
136
+ }
137
+ }
138
+ return patch;
139
+ }
140
+ function sanitizePolicyPatch(prompt, patch, currentPolicy) {
141
+ const sanitized = {};
142
+ const normalized = prompt.toLowerCase();
143
+ const mentionsCodePolicy = /\b(?:you|o|orchestrator|project manager)?\b[\s\S]{0,40}\b(code|coder|coding)\b/.test(normalized);
144
+ const mentionsQaPolicy = /\b(?:you|o|orchestrator|project manager)?\b[\s\S]{0,40}\b(qa|review|test|verify)\b/.test(normalized);
145
+ const mentionsDeployPolicy = /\b(?:you|o|orchestrator|project manager)?\b[\s\S]{0,40}\b(deploy(?:ment|ments|s|ing)?|push(?:es|ing)?|publish(?:es|ed|ing)?|releas(?:e|es|ed|ing)|commit(?:s|ted|ting)?)\b/.test(normalized);
146
+ const mentionsSimulationPolicy = /\b(?:you|o|orchestrator|project manager)?\b[\s\S]{0,40}\bsimulat(?:e|es|ing|ion)\b/.test(normalized);
147
+ if (patch.allowOrchestratorCode !== undefined && mentionsCodePolicy && patch.allowOrchestratorCode !== currentPolicy.allowOrchestratorCode) {
148
+ sanitized.allowOrchestratorCode = patch.allowOrchestratorCode;
149
+ }
150
+ if (patch.allowOrchestratorQa !== undefined && mentionsQaPolicy && patch.allowOrchestratorQa !== currentPolicy.allowOrchestratorQa) {
151
+ sanitized.allowOrchestratorQa = patch.allowOrchestratorQa;
152
+ }
153
+ if (patch.allowOrchestratorDeploy !== undefined && mentionsDeployPolicy && patch.allowOrchestratorDeploy !== currentPolicy.allowOrchestratorDeploy) {
154
+ sanitized.allowOrchestratorDeploy = patch.allowOrchestratorDeploy;
155
+ }
156
+ if (patch.allowOrchestratorSimulation !== undefined && mentionsSimulationPolicy && patch.allowOrchestratorSimulation !== currentPolicy.allowOrchestratorSimulation) {
157
+ sanitized.allowOrchestratorSimulation = patch.allowOrchestratorSimulation;
158
+ }
159
+ if (patch.defaultIdeaReviewer && patch.defaultIdeaReviewer !== currentPolicy.defaultIdeaReviewer)
160
+ sanitized.defaultIdeaReviewer = patch.defaultIdeaReviewer;
161
+ if (patch.defaultCoder && patch.defaultCoder !== currentPolicy.defaultCoder)
162
+ sanitized.defaultCoder = patch.defaultCoder;
163
+ if (patch.defaultBackendCoder && patch.defaultBackendCoder !== currentPolicy.defaultBackendCoder)
164
+ sanitized.defaultBackendCoder = patch.defaultBackendCoder;
165
+ if (patch.defaultQa && patch.defaultQa !== currentPolicy.defaultQa)
166
+ sanitized.defaultQa = patch.defaultQa;
167
+ if (patch.coderRetryLimit !== undefined && patch.coderRetryLimit !== currentPolicy.coderRetryLimit)
168
+ sanitized.coderRetryLimit = patch.coderRetryLimit;
169
+ if (patch.statusReportingMode && patch.statusReportingMode !== currentPolicy.statusReportingMode)
170
+ sanitized.statusReportingMode = patch.statusReportingMode;
171
+ if (patch.tone && patch.tone !== currentPolicy.tone)
172
+ sanitized.tone = patch.tone;
173
+ if (patch.policyEnforcementLevel && patch.policyEnforcementLevel !== currentPolicy.policyEnforcementLevel) {
174
+ sanitized.policyEnforcementLevel = patch.policyEnforcementLevel;
175
+ }
176
+ return sanitized;
177
+ }
178
+ function summarizePolicyPatch(patch) {
179
+ const lines = [];
180
+ if (patch.allowOrchestratorCode === false)
181
+ lines.push('O should not code');
182
+ if (patch.allowOrchestratorQa === false)
183
+ lines.push('O should not QA');
184
+ if (patch.allowOrchestratorDeploy === false)
185
+ lines.push('O should not deploy');
186
+ if (patch.allowOrchestratorSimulation === false)
187
+ lines.push('O should not simulate work');
188
+ if (patch.defaultIdeaReviewer)
189
+ lines.push(`${patch.defaultIdeaReviewer} should review ideas by default`);
190
+ if (patch.defaultCoder)
191
+ lines.push(`${patch.defaultCoder} should code by default`);
192
+ if (patch.defaultBackendCoder)
193
+ lines.push(`${patch.defaultBackendCoder} should handle backend coding by default`);
194
+ if (patch.defaultQa)
195
+ lines.push(`${patch.defaultQa} should QA by default`);
196
+ if (patch.coderRetryLimit !== undefined)
197
+ lines.push(`Coder retry limit should be ${patch.coderRetryLimit}`);
198
+ if (patch.statusReportingMode)
199
+ lines.push(`Status reporting mode should be ${patch.statusReportingMode}`);
200
+ if (patch.tone)
201
+ lines.push(`Tone should be ${patch.tone.replace(/_/g, ' ')}`);
202
+ if (patch.policyEnforcementLevel)
203
+ lines.push(`Enforcement should be ${patch.policyEnforcementLevel}`);
204
+ return lines;
205
+ }
206
+ function mergePolicyInterpretation(prompt, currentPolicy, interpreted, opts) {
207
+ const fallbackPatch = extractPolicyPatchFromPrompt(prompt, currentPolicy, opts);
208
+ const interpretedPatch = sanitizePolicyPatch(prompt, interpreted?.patch || {}, currentPolicy);
209
+ const patch = {
210
+ ...fallbackPatch,
211
+ ...interpretedPatch,
212
+ };
213
+ const sanitizedPatch = sanitizePolicyPatch(prompt, patch, currentPolicy);
214
+ const summaryLines = interpreted?.summaryLines?.length
215
+ ? interpreted.summaryLines
216
+ : summarizePolicyPatch(sanitizedPatch);
217
+ return { patch: sanitizedPatch, summaryLines, scope: interpreted?.scope };
218
+ }
219
+ async function stagePolicyDetectionForMessage(opts) {
220
+ const messageId = opts.messageId?.trim();
221
+ if (messageId) {
222
+ const prior = data.getPolicyDetectionEventForMessage(messageId);
223
+ if (prior) {
224
+ return {
225
+ source: opts.source,
226
+ messageId,
227
+ detectedByCode: prior.detected_by_code === 1,
228
+ policyDetected: prior.status === 'stored',
229
+ scope: prior.scope || undefined,
230
+ patch: prior.policy_json ? JSON.parse(prior.policy_json) : {},
231
+ summaryLines: prior.summary_text ? prior.summary_text.split(/\s*;\s*/).filter(Boolean) : [],
232
+ matchedSignals: prior.signal_json ? JSON.parse(prior.signal_json) : [],
233
+ status: prior.status,
234
+ };
235
+ }
236
+ }
237
+ const signalDetection = detectPolicySignals(opts.prompt, { agentNames: opts.agentNames });
238
+ if (opts.requireCodeSignal !== false && !signalDetection.hasSignals) {
239
+ return {
240
+ source: opts.source,
241
+ messageId,
242
+ detectedByCode: false,
243
+ policyDetected: false,
244
+ patch: {},
245
+ summaryLines: [],
246
+ matchedSignals: signalDetection.matchedSignals,
247
+ status: 'skipped',
248
+ };
249
+ }
250
+ let interpreted = null;
251
+ try {
252
+ interpreted = await opts.clerk.interpretPolicyUpdate({
253
+ prompt: opts.prompt,
254
+ currentPolicy: opts.currentPolicy,
255
+ projectName: opts.projectName,
256
+ });
257
+ }
258
+ catch {
259
+ interpreted = null;
260
+ }
261
+ const merged = mergePolicyInterpretation(opts.prompt, opts.currentPolicy, interpreted, { agentNames: opts.agentNames });
262
+ const scope = merged.scope || determinePolicyScope(opts.prompt, opts.projectName);
263
+ const policyDetected = merged.summaryLines.length > 0 && Object.keys(merged.patch).length > 0;
264
+ if (policyDetected) {
265
+ data.setPendingOrchestrationPolicy({
266
+ conversationId: opts.conversationId,
267
+ projectId: scope === 'project' ? opts.projectId || null : null,
268
+ scope,
269
+ summaryText: merged.summaryLines.join('; '),
270
+ policy: merged.patch,
271
+ });
272
+ }
273
+ if (messageId) {
274
+ data.recordPolicyDetectionEvent({
275
+ conversationId: opts.conversationId,
276
+ messageId,
277
+ source: opts.source,
278
+ detectedByCode: signalDetection.hasSignals,
279
+ matchedSignals: signalDetection.matchedSignals,
280
+ status: policyDetected ? 'stored' : 'ignored',
281
+ scope: policyDetected ? scope : null,
282
+ summaryText: policyDetected ? merged.summaryLines.join('; ') : null,
283
+ policy: policyDetected ? merged.patch : null,
284
+ });
285
+ }
286
+ return {
287
+ source: opts.source,
288
+ messageId,
289
+ detectedByCode: signalDetection.hasSignals,
290
+ policyDetected,
291
+ scope: policyDetected ? scope : undefined,
292
+ patch: policyDetected ? merged.patch : {},
293
+ summaryLines: policyDetected ? merged.summaryLines : [],
294
+ matchedSignals: signalDetection.matchedSignals,
295
+ status: policyDetected ? 'stored' : 'ignored',
296
+ };
297
+ }
298
+ //# sourceMappingURL=policy-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-detection.js","sourceRoot":"","sources":["../src/policy-detection.ts"],"names":[],"mappings":"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"}
@@ -8,16 +8,11 @@ export declare class AnthropicProvider implements LLMProvider {
8
8
  private supportsThinking;
9
9
  chat(options: LLMChatOptions): Promise<LLMResponse>;
10
10
  private buildMessages;
11
- private buildEffectiveSystemPrompt;
12
11
  private chatStream;
13
12
  private buildHeaders;
14
13
  private buildApiError;
15
14
  private messagesUrl;
16
- private usesOauthBlocks;
17
- private textBlock;
18
- private messageContent;
19
15
  private buildSystemPrompt;
20
- private buildFlattenedSystemPrompt;
21
16
  private parseResponse;
22
17
  }
23
18
  //# sourceMappingURL=anthropic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAWnG,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,iBAAiB;IAKrC,OAAO,CAAC,iBAAiB;YAOX,yBAAyB;IAiBvC,OAAO,CAAC,gBAAgB;IAKlB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAqDzD,OAAO,CAAC,aAAa;IAsDrB,OAAO,CAAC,0BAA0B;YASpB,UAAU;IA+HxB,OAAO,CAAC,YAAY;YAqBN,aAAa;IAiB3B,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,aAAa;CAkCtB"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AA+BnG,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,iBAAiB;IAKrC,OAAO,CAAC,iBAAiB;YAOX,yBAAyB;IAiBvC,OAAO,CAAC,gBAAgB;IAKlB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAqDzD,OAAO,CAAC,aAAa;YAsDP,UAAU;IA+HxB,OAAO,CAAC,YAAY;YAeN,aAAa;IAiB3B,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;CAkCtB"}
@@ -3,12 +3,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AnthropicProvider = void 0;
4
4
  const retry_1 = require("./retry");
5
5
  const claude_cli_prompt_1 = require("./claude-cli-prompt");
6
- // Claude OAuth requests use structured message blocks, but still require
7
- // Anthropic's Claude-agent system block on bearer-auth flows.
8
- const CLAUDE_OAUTH_SYSTEM_BLOCK = "You are a Claude agent, built on Anthropic's Claude Agent SDK.";
9
- // 10 minutes — matches Anthropic SDK / OpenClaw defaults.
6
+ // 10 minutes matches Anthropic SDK defaults.
10
7
  // Tool-use chains (MCP calls, searches) can take minutes before first token.
11
- const CLAUDE_OAUTH_HANDSHAKE_TIMEOUT_MS = 600_000;
8
+ const CLAUDE_API_HANDSHAKE_TIMEOUT_MS = 600_000;
9
+ /**
10
+ * Strip unpaired Unicode surrogates that cause Anthropic API 400 errors
11
+ * ("no low surrogate in string"). These can appear in web_fetch tool output.
12
+ */
13
+ const UNPAIRED_SURROGATE_RE = /[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g;
14
+ function sanitizeSurrogates(text) {
15
+ return text.replace(UNPAIRED_SURROGATE_RE, '\uFFFD');
16
+ }
17
+ /** Recursively sanitize all string values in a message content structure. */
18
+ function sanitizeContent(content) {
19
+ if (typeof content === 'string')
20
+ return sanitizeSurrogates(content);
21
+ if (Array.isArray(content))
22
+ return content.map(sanitizeContent);
23
+ if (content && typeof content === 'object') {
24
+ const out = {};
25
+ for (const [k, v] of Object.entries(content)) {
26
+ out[k] = sanitizeContent(v);
27
+ }
28
+ return out;
29
+ }
30
+ return content;
31
+ }
12
32
  class AnthropicProvider {
13
33
  config;
14
34
  baseUrl;
@@ -25,7 +45,7 @@ class AnthropicProvider {
25
45
  return 16384; // sonnet and other models
26
46
  }
27
47
  async fetchWithHandshakeTimeout(url, init) {
28
- const timeoutMs = CLAUDE_OAUTH_HANDSHAKE_TIMEOUT_MS;
48
+ const timeoutMs = CLAUDE_API_HANDSHAKE_TIMEOUT_MS;
29
49
  const controller = new AbortController();
30
50
  const timer = setTimeout(() => controller.abort(new Error('Anthropic request timed out waiting for response headers')), timeoutMs);
31
51
  try {
@@ -60,7 +80,7 @@ class AnthropicProvider {
60
80
  delete body.top_p;
61
81
  delete body.top_k;
62
82
  }
63
- const system = this.buildEffectiveSystemPrompt(options);
83
+ const system = this.buildSystemPrompt(options.system);
64
84
  if (system !== undefined) {
65
85
  body.system = system;
66
86
  }
@@ -93,7 +113,7 @@ class AnthropicProvider {
93
113
  if (this.config.requestShape === 'claude-cli-flat') {
94
114
  return [{
95
115
  role: 'user',
96
- content: this.messageContent((0, claude_cli_prompt_1.buildClaudeCliStylePrompt)(options)),
116
+ content: (0, claude_cli_prompt_1.buildClaudeCliStylePrompt)(options),
97
117
  }];
98
118
  }
99
119
  const messages = [];
@@ -109,7 +129,7 @@ class AnthropicProvider {
109
129
  pendingToolResults.push({
110
130
  type: 'tool_result',
111
131
  tool_use_id: m.toolCallId,
112
- content: m.content,
132
+ content: sanitizeContent(m.content),
113
133
  });
114
134
  }
115
135
  else {
@@ -118,7 +138,7 @@ class AnthropicProvider {
118
138
  messages.push({
119
139
  role: 'assistant',
120
140
  content: [
121
- ...(m.content ? [this.textBlock(m.content)] : []),
141
+ ...(m.content ? [{ type: 'text', text: sanitizeSurrogates(typeof m.content === 'string' ? m.content : '') }] : []),
122
142
  ...m.toolCalls.map((tc) => ({
123
143
  type: 'tool_use',
124
144
  id: tc.id,
@@ -131,10 +151,10 @@ class AnthropicProvider {
131
151
  else if (m.role !== 'system') {
132
152
  // If content is already a multimodal array (e.g. image + text), pass through directly
133
153
  if (Array.isArray(m.content)) {
134
- messages.push({ role: m.role, content: m.content });
154
+ messages.push({ role: m.role, content: sanitizeContent(m.content) });
135
155
  }
136
156
  else {
137
- messages.push({ role: m.role, content: this.messageContent(m.content) });
157
+ messages.push({ role: m.role, content: sanitizeContent(m.content) });
138
158
  }
139
159
  }
140
160
  }
@@ -142,12 +162,6 @@ class AnthropicProvider {
142
162
  flushToolResults();
143
163
  return messages;
144
164
  }
145
- buildEffectiveSystemPrompt(options) {
146
- if (this.config.requestShape === 'claude-cli-flat') {
147
- return this.buildFlattenedSystemPrompt();
148
- }
149
- return this.buildSystemPrompt(options.system);
150
- }
151
165
  async chatStream(body, onChunk, onThinkingChunk) {
152
166
  body.stream = true;
153
167
  const response = await this.fetchWithHandshakeTimeout(this.messagesUrl(), {
@@ -273,14 +287,8 @@ class AnthropicProvider {
273
287
  Accept: 'application/json',
274
288
  'Content-Type': 'application/json',
275
289
  'anthropic-version': '2023-06-01',
290
+ 'x-api-key': this.config.apiKey,
276
291
  };
277
- if (this.config.authMode === 'oauth-bearer') {
278
- headers.Authorization = `Bearer ${this.config.apiKey}`;
279
- headers['anthropic-beta'] = 'claude-code-20250219,oauth-2025-04-20';
280
- }
281
- else {
282
- headers['x-api-key'] = this.config.apiKey;
283
- }
284
292
  if (this.config.extraHeaders) {
285
293
  Object.assign(headers, this.config.extraHeaders);
286
294
  }
@@ -307,33 +315,8 @@ class AnthropicProvider {
307
315
  const url = `${base}/messages`;
308
316
  return this.config.apiQuery ? `${url}?${this.config.apiQuery}` : url;
309
317
  }
310
- usesOauthBlocks() {
311
- return this.config.authMode === 'oauth-bearer';
312
- }
313
- textBlock(text) {
314
- return { type: 'text', text };
315
- }
316
- messageContent(text) {
317
- if (!this.usesOauthBlocks()) {
318
- return text;
319
- }
320
- return [this.textBlock(text)];
321
- }
322
318
  buildSystemPrompt(system) {
323
- if (!this.usesOauthBlocks()) {
324
- return system;
325
- }
326
- const blocks = [this.textBlock(CLAUDE_OAUTH_SYSTEM_BLOCK)];
327
- if (system) {
328
- blocks.push(this.textBlock(system));
329
- }
330
- return blocks;
331
- }
332
- buildFlattenedSystemPrompt() {
333
- if (!this.usesOauthBlocks()) {
334
- return undefined;
335
- }
336
- return [this.textBlock(CLAUDE_OAUTH_SYSTEM_BLOCK)];
319
+ return system ? sanitizeSurrogates(system) : system;
337
320
  }
338
321
  parseResponse(data) {
339
322
  let content = '';
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":";;;AACA,mCAAoC;AACpC,2DAAgE;AAEhE,yEAAyE;AACzE,8DAA8D;AAC9D,MAAM,yBAAyB,GAAG,gEAAgE,CAAC;AACnG,0DAA0D;AAC1D,6EAA6E;AAC7E,MAAM,iCAAiC,GAAG,OAAO,CAAC;AAElD,MAAa,iBAAiB;IACpB,MAAM,CAAoB;IAC1B,OAAO,CAAS;IAExB,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,8BAA8B,CAAC;IAClE,CAAC;IAEO,iBAAiB;QACvB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,KAAK,CAAC,CAAC,0BAA0B;IAC1C,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,GAAW,EAAE,IAAiB;QACpE,MAAM,SAAS,GAAG,iCAAiC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACnI,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,GAAG,IAAI;gBACP,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAuB;QAChC,OAAO,IAAA,iBAAS,EAAC,KAAK,IAAI,EAAE;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAEzE,MAAM,IAAI,GAAwB;gBAChC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBACpC,QAAQ;aACT,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC,WAAW,CAAC;gBACxB,OAAO,IAAI,CAAC,KAAK,CAAC;gBAClB,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACvB,CAAC;YAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,YAAY,EAAE,CAAC,CAAC,UAAU;iBAC3B,CAAC,CAAC,CAAC;gBACJ,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,KAAK,UAAU;oBAClD,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;oBACjB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACvB,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;gBACxE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;gBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;YAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAEO,aAAa,CAAC,OAAuB;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,iBAAiB,EAAE,CAAC;YACnD,OAAO,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAA,6CAAyB,EAAC,OAAO,CAAC,CAAC;iBACjE,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAU,EAAE,CAAC;QAC3B,IAAI,kBAAkB,GAAU,EAAE,CAAC;QAEnC,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC7D,kBAAkB,GAAG,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACtB,kBAAkB,CAAC,IAAI,CAAC;oBACtB,IAAI,EAAE,aAAsB;oBAC5B,WAAW,EAAE,CAAC,CAAC,UAAU;oBACzB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,gBAAgB,EAAE,CAAC;gBACnB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;oBAClD,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,WAAoB;wBAC1B,OAAO,EAAE;4BACP,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACjD,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gCAC1B,IAAI,EAAE,UAAmB;gCACzB,EAAE,EAAE,EAAE,CAAC,EAAE;gCACT,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,KAAK,EAAE,EAAE,CAAC,SAAS;6BACpB,CAAC,CAAC;yBACJ;qBACF,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC/B,sFAAsF;oBACtF,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBACtD,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,gBAAgB,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,0BAA0B,CAChC,OAAuB;QAEvB,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,iBAAiB,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,IAAyB,EACzB,OAAyC,EACzC,eAAkD;QAElD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,IAAI,eAAe,GAAgC,IAAI,CAAC;QACxD,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAE5B,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,IAAI,KAAK,QAAQ;oBAAE,SAAS;gBAEhC,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAE/B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;wBACnB,KAAK,qBAAqB;4BACxB,IAAI,KAAK,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gCAC7C,eAAe,GAAG;oCAChB,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE;oCAC1B,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI;iCAC/B,CAAC;gCACF,YAAY,GAAG,EAAE,CAAC;4BACpB,CAAC;iCAAM,IAAI,KAAK,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gCACpD,eAAe,GAAG,IAAI,CAAC;4BACzB,CAAC;iCAAM,IAAI,KAAK,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gCACpD,MAAM,YAAY,GAAG,kCAAkC,CAAC;gCACxD,YAAY,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC;gCAC/D,IAAI,eAAe;oCAAE,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;4BAC3D,CAAC;4BACD,MAAM;wBAER,KAAK,qBAAqB;4BACxB,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;gCAC3C,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;gCACrC,IAAI,eAAe;oCAAE,MAAM,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;4BACnE,CAAC;iCAAM,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;gCAC9C,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gCAChC,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAClC,CAAC;iCAAM,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;gCACpD,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;4BAC3C,CAAC;4BACD,MAAM;wBAER,KAAK,oBAAoB;4BACvB,IAAI,eAAe,EAAE,CAAC;gCACpB,eAAe,GAAG,KAAK,CAAC;4BAC1B,CAAC;iCAAM,IAAI,eAAe,EAAE,CAAC;gCAC3B,IAAI,CAAC;oCACH,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;gCAC/D,CAAC;gCAAC,MAAM,CAAC;oCACP,eAAe,CAAC,SAAS,GAAG,EAAE,CAAC;gCACjC,CAAC;gCACD,SAAS,CAAC,IAAI,CAAC,eAA8B,CAAC,CAAC;gCAC/C,eAAe,GAAG,IAAI,CAAC;gCACvB,YAAY,GAAG,EAAE,CAAC;4BACpB,CAAC;4BACD,MAAM;wBAER,KAAK,eAAe;4BAClB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gCAChB,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;4BAChD,CAAC;4BACD,MAAM;wBAER,KAAK,eAAe;4BAClB,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gCACzB,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;gCACpD,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC;gCACnE,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC;4BAC7E,CAAC;4BACD,MAAM;oBACV,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,YAAY,IAAI,SAAS;YACnC,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACvD,KAAK,EAAE;gBACL,WAAW;gBACX,YAAY;gBACZ,GAAG,CAAC,eAAe,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC;gBAC/C,GAAG,CAAC,mBAAmB,GAAG,CAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC;aACxD;SACF,CAAC;IACJ,CAAC;IAEO,YAAY;QAClB,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,kBAAkB;YAClC,mBAAmB,EAAE,YAAY;SAClC,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YAC5C,OAAO,CAAC,aAAa,GAAG,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvD,OAAO,CAAC,gBAAgB,CAAC,GAAG,uCAAuC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAAkB;QAC5C,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAQ,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;QACjF,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,WAAW;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACnF,MAAM,GAAG,GAAG,GAAG,IAAI,WAAW,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACvE,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,cAAc,CAAC;IACjD,CAAC;IAEO,SAAS,CAAC,IAAY;QAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC,CAAC;IAEO,iBAAiB,CAAC,MAAe;QACvC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC3D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,0BAA0B;QAChC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,aAAa,CAAC,IAAS;QAC7B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,MAAM,SAAS,GAAkB,EAAE,CAAC;QAEpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC;YACxB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,kCAAkC,CAAC;YAC/E,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,KAAK,CAAC,KAAK;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,QAAQ,IAAI,SAAS;YAC/B,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACvD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;gBACpC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;gBACtC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;gBACtG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC;aACnH,CAAC,CAAC,CAAC,SAAS;YACb,YAAY,EAAE,IAAI,CAAC,WAAW;SAC/B,CAAC;IACJ,CAAC;CACF;AAzYD,8CAyYC"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-cli.d.ts","sourceRoot":"","sources":["../../src/providers/claude-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAwEnG;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IAI/B,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAiCzD,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAmWnB,qEAAqE;IACrE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGlC"}
1
+ {"version":3,"file":"claude-cli.d.ts","sourceRoot":"","sources":["../../src/providers/claude-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AA2EnG;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IAI/B,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAiCzD,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAsWnB,qEAAqE;IACrE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGlC"}
@@ -50,7 +50,10 @@ let claudeConfigPatchOriginal = null;
50
50
  function getClaudeUserConfigPath() {
51
51
  return path.join(os.homedir(), '.claude.json');
52
52
  }
53
- function beginClaudeCliConfigPatch() {
53
+ function beginClaudeCliConfigPatch(preserveMcpBridge = false) {
54
+ if (preserveMcpBridge) {
55
+ return () => { };
56
+ }
54
57
  const configPath = getClaudeUserConfigPath();
55
58
  if (claudeConfigPatchDepth > 0) {
56
59
  claudeConfigPatchDepth += 1;
@@ -148,7 +151,7 @@ class ClaudeCliProvider {
148
151
  const useShell = process.platform === 'win32';
149
152
  const claudeBin = 'claude';
150
153
  const spawnCwd = options.cwd || process.cwd();
151
- const restoreClaudeConfig = beginClaudeCliConfigPatch();
154
+ const restoreClaudeConfig = beginClaudeCliConfigPatch(this.config.preserveMcpBridge === true);
152
155
  console.log(`[claude-cli] spawning (stream-json): ${claudeBin} ${args.slice(0, 8).join(' ')}... (${prompt.length} char prompt, cwd=${spawnCwd})`);
153
156
  const cleanEnv = { ...process.env };
154
157
  // Strip ALL Claude Code env vars so `claude --print` doesn't think
@@ -156,6 +159,12 @@ class ClaudeCliProvider {
156
159
  delete cleanEnv.CLAUDECODE;
157
160
  delete cleanEnv.CLAUDE_CODE_ENTRYPOINT;
158
161
  delete cleanEnv.CLAUDE_CODE_SESSION_ID;
162
+ if (this.config.toolActorId?.trim())
163
+ cleanEnv.FUNOLIO_TOOL_ACTOR_ID = this.config.toolActorId.trim();
164
+ if (this.config.toolProjectId !== undefined)
165
+ cleanEnv.FUNOLIO_TOOL_PROJECT_ID = String(this.config.toolProjectId || '');
166
+ if (this.config.currentTodoTaskId !== undefined)
167
+ cleanEnv.FUNOLIO_TOOL_TODO_ID = String(this.config.currentTodoTaskId);
159
168
  const proc = (0, child_process_1.spawn)(claudeBin, args, {
160
169
  stdio: ['pipe', 'pipe', 'pipe'],
161
170
  shell: useShell,