@memoarchitect/tools 0.6.3 → 0.6.5

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 (89) hide show
  1. package/README.md +1 -1
  2. package/package.json +2 -2
  3. package/packages/tools/lib/bin/memo.js +38 -2
  4. package/packages/tools/lib/bin/memo.js.map +1 -1
  5. package/packages/tools/lib/browser/index.d.ts +3 -0
  6. package/packages/tools/lib/browser/index.d.ts.map +1 -1
  7. package/packages/tools/lib/commands/dev.d.ts.map +1 -1
  8. package/packages/tools/lib/commands/dev.js +4 -1
  9. package/packages/tools/lib/commands/dev.js.map +1 -1
  10. package/packages/tools/lib/commands/init.d.ts +2 -0
  11. package/packages/tools/lib/commands/init.d.ts.map +1 -1
  12. package/packages/tools/lib/commands/init.js +32 -16
  13. package/packages/tools/lib/commands/init.js.map +1 -1
  14. package/packages/tools/lib/commands/mcp.d.ts +15 -0
  15. package/packages/tools/lib/commands/mcp.d.ts.map +1 -0
  16. package/packages/tools/lib/commands/mcp.js +128 -0
  17. package/packages/tools/lib/commands/mcp.js.map +1 -0
  18. package/packages/tools/lib/commands/validate.js +1 -1
  19. package/packages/tools/lib/commands/validate.js.map +1 -1
  20. package/packages/tools/lib/index.d.ts.map +1 -1
  21. package/packages/tools/lib/index.js +4 -0
  22. package/packages/tools/lib/index.js.map +1 -1
  23. package/packages/tools/lib/llm/chat-engine.d.ts +97 -0
  24. package/packages/tools/lib/llm/chat-engine.d.ts.map +1 -0
  25. package/packages/tools/lib/llm/chat-engine.js +463 -0
  26. package/packages/tools/lib/llm/chat-engine.js.map +1 -0
  27. package/packages/tools/lib/llm/index.d.ts +2 -0
  28. package/packages/tools/lib/llm/index.d.ts.map +1 -1
  29. package/packages/tools/lib/llm/index.js +2 -0
  30. package/packages/tools/lib/llm/index.js.map +1 -1
  31. package/packages/tools/lib/llm/llm-provider.d.ts +40 -4
  32. package/packages/tools/lib/llm/llm-provider.d.ts.map +1 -1
  33. package/packages/tools/lib/llm/llm-provider.js +180 -37
  34. package/packages/tools/lib/llm/llm-provider.js.map +1 -1
  35. package/packages/tools/lib/llm/llm-settings.d.ts +84 -0
  36. package/packages/tools/lib/llm/llm-settings.d.ts.map +1 -0
  37. package/packages/tools/lib/llm/llm-settings.js +249 -0
  38. package/packages/tools/lib/llm/llm-settings.js.map +1 -0
  39. package/packages/tools/lib/mcp/index.d.ts +4 -0
  40. package/packages/tools/lib/mcp/index.d.ts.map +1 -0
  41. package/packages/tools/lib/mcp/index.js +9 -0
  42. package/packages/tools/lib/mcp/index.js.map +1 -0
  43. package/packages/tools/lib/mcp/model-loader.d.ts +11 -0
  44. package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -0
  45. package/packages/tools/lib/mcp/model-loader.js +87 -0
  46. package/packages/tools/lib/mcp/model-loader.js.map +1 -0
  47. package/packages/tools/lib/mcp/server.d.ts +8 -0
  48. package/packages/tools/lib/mcp/server.d.ts.map +1 -0
  49. package/packages/tools/lib/mcp/server.js +132 -0
  50. package/packages/tools/lib/mcp/server.js.map +1 -0
  51. package/packages/tools/lib/mcp/tools.d.ts +18 -0
  52. package/packages/tools/lib/mcp/tools.d.ts.map +1 -0
  53. package/packages/tools/lib/mcp/tools.js +220 -0
  54. package/packages/tools/lib/mcp/tools.js.map +1 -0
  55. package/packages/tools/lib/model/builder.js +8 -2
  56. package/packages/tools/lib/model/builder.js.map +1 -1
  57. package/packages/tools/lib/model/config.d.ts +6 -0
  58. package/packages/tools/lib/model/config.d.ts.map +1 -1
  59. package/packages/tools/lib/model/semantic.d.ts +6 -0
  60. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  61. package/packages/tools/lib/model/semantic.js.map +1 -1
  62. package/packages/tools/lib/model/view-deriver.d.ts +3 -2
  63. package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
  64. package/packages/tools/lib/model/view-deriver.js +61 -20
  65. package/packages/tools/lib/model/view-deriver.js.map +1 -1
  66. package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
  67. package/packages/tools/lib/operations/project-snapshot.js +2 -1
  68. package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
  69. package/packages/tools/lib/protocol/messages.d.ts +106 -2
  70. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  71. package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
  72. package/packages/tools/lib/server/dev-server.js +205 -11
  73. package/packages/tools/lib/server/dev-server.js.map +1 -1
  74. package/packages/tools/lib/server/dhf-doc-store.d.ts +2 -0
  75. package/packages/tools/lib/server/dhf-doc-store.d.ts.map +1 -1
  76. package/packages/tools/lib/server/dhf-doc-store.js +31 -8
  77. package/packages/tools/lib/server/dhf-doc-store.js.map +1 -1
  78. package/packages/tools/lib/validator/constraint-eval.d.ts +3 -2
  79. package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
  80. package/packages/tools/lib/validator/constraint-eval.js +31 -5
  81. package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
  82. package/packages/tools/lib/validator/rule-engine.d.ts +2 -1
  83. package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
  84. package/packages/tools/lib/validator/rule-engine.js +2 -2
  85. package/packages/tools/lib/validator/rule-engine.js.map +1 -1
  86. package/packages/tools/lib/validator/view-validator.d.ts +1 -0
  87. package/packages/tools/lib/validator/view-validator.d.ts.map +1 -1
  88. package/packages/tools/lib/validator/view-validator.js +19 -4
  89. package/packages/tools/lib/validator/view-validator.js.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-engine.js","sourceRoot":"","sources":["../../src/llm/chat-engine.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ export * from './llm-settings.js';
1
2
  export * from './llm-provider.js';
2
3
  export * from './model-context.js';
3
4
  export * from './ask-engine.js';
5
+ export * from './chat-engine.js';
4
6
  export * from './generate-engine.js';
5
7
  export * from './draft-engine.js';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAMA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAMA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
@@ -3,9 +3,11 @@
3
3
  // Phase 15: LLM Integration — provider abstraction, model Q&A, SysML
4
4
  // generation from natural language, and DHF draft assistant.
5
5
  // ─────────────────────────────────────────────────────────────────────────────
6
+ export * from './llm-settings.js';
6
7
  export * from './llm-provider.js';
7
8
  export * from './model-context.js';
8
9
  export * from './ask-engine.js';
10
+ export * from './chat-engine.js';
9
11
  export * from './generate-engine.js';
10
12
  export * from './draft-engine.js';
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,qEAAqE;AACrE,6DAA6D;AAC7D,gFAAgF;AAEhF,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,qEAAqE;AACrE,6DAA6D;AAC7D,gFAAgF;AAEhF,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
@@ -1,17 +1,44 @@
1
+ import { DEFAULT_MODELS, type LLMProviderName } from './llm-settings.js';
2
+ /** A tool call the model asked for, in provider-neutral form. */
3
+ export interface ToolCall {
4
+ /** Provider-assigned id — must be echoed back on the matching result. */
5
+ id: string;
6
+ name: string;
7
+ input: Record<string, unknown>;
8
+ }
1
9
  /** A single message in a chat conversation */
2
10
  export interface ChatMessage {
3
- role: 'system' | 'user' | 'assistant';
11
+ role: 'system' | 'user' | 'assistant' | 'tool';
4
12
  content: string;
13
+ /** Set on assistant messages that requested tools. */
14
+ toolCalls?: ToolCall[];
15
+ /** Set on `tool` messages — the id of the call being answered. */
16
+ toolCallId?: string;
17
+ /** Set on `tool` messages when the tool failed, so the model can recover. */
18
+ isError?: boolean;
19
+ }
20
+ /** A tool the model may call. `inputSchema` is JSON Schema. */
21
+ export interface ToolDefinition {
22
+ name: string;
23
+ description: string;
24
+ inputSchema: Record<string, unknown>;
5
25
  }
26
+ /** Why the model stopped generating. */
27
+ export type StopReason = 'end_turn' | 'tool_use' | 'max_tokens' | 'refusal' | 'other';
6
28
  /** Options for an LLM completion request */
7
29
  export interface CompletionOptions {
8
30
  messages: ChatMessage[];
9
31
  temperature?: number;
10
32
  maxTokens?: number;
33
+ /** Tools the model may call this turn. */
34
+ tools?: ToolDefinition[];
11
35
  }
12
36
  /** Result of an LLM completion */
13
37
  export interface CompletionResult {
14
38
  content: string;
39
+ /** Tool calls requested by the model, if any. */
40
+ toolCalls?: ToolCall[];
41
+ stopReason?: StopReason;
15
42
  usage?: {
16
43
  promptTokens: number;
17
44
  completionTokens: number;
@@ -25,16 +52,25 @@ export interface LLMProvider {
25
52
  }
26
53
  /** Provider configuration resolved from environment */
27
54
  export interface LLMConfig {
28
- provider: 'openai' | 'anthropic';
55
+ provider: LLMProviderName;
29
56
  apiKey: string;
30
57
  model: string;
31
58
  baseUrl?: string;
32
59
  }
33
- /** Resolve LLM config from environment variables */
34
- export declare function resolveLLMConfig(): LLMConfig | undefined;
60
+ /**
61
+ * Resolve LLM config from the environment, a project `.env`, project settings,
62
+ * and stored user credentials — see `llm-settings.ts` for the precedence order.
63
+ *
64
+ * `projectRoot` is optional so existing callers that only ever used real
65
+ * environment variables keep working unchanged.
66
+ */
67
+ export declare function resolveLLMConfig(projectRoot?: string): LLMConfig | undefined;
35
68
  /**
36
69
  * Create an LLM provider from config.
37
70
  * Uses native fetch — no SDK dependencies required.
38
71
  */
39
72
  export declare function createProvider(config: LLMConfig): LLMProvider;
73
+ export declare function acceptsSamplingParams(model: string): boolean;
74
+ export { DEFAULT_MODELS };
75
+ export type { LLMProviderName };
40
76
  //# sourceMappingURL=llm-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-provider.d.ts","sourceRoot":"","sources":["../../src/llm/llm-provider.ts"],"names":[],"mappings":"AAMA,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACJ,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;CACL;AAED,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACnE;AAED,uDAAuD;AACvD,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,IAAI,SAAS,GAAG,SAAS,CAmBxD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAK7D"}
1
+ {"version":3,"file":"llm-provider.d.ts","sourceRoot":"","sources":["../../src/llm/llm-provider.ts"],"names":[],"mappings":"AAWA,OAAO,EAAsB,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE7F,iEAAiE;AACjE,MAAM,WAAW,QAAQ;IACrB,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,wCAAwC;AACxC,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtF,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE;QACJ,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;CACL;AAED,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACnE;AAED,uDAAuD;AACvD,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAS5E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAK7D;AAuHD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5D;AA6HD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -1,28 +1,31 @@
1
1
  // ─── LLM Provider Abstraction ────────────────────────────────────────────────
2
2
  //
3
3
  // Provider-agnostic interface for LLM calls. Supports OpenAI-compatible APIs
4
- // (OpenAI, Azure, local models) and Anthropic Claude. Configured via env vars.
4
+ // (OpenAI, Azure, local models) and Anthropic Claude, including tool calling.
5
+ //
6
+ // Deliberately provider-neutral and SDK-free: both providers are driven over
7
+ // native fetch so the package stays dependency-light and neither vendor's SDK
8
+ // dictates the message shape. Messages and tool calls use MEMO's own types and
9
+ // are translated to each wire format at the edge.
5
10
  // ─────────────────────────────────────────────────────────────────────────────
6
- /** Resolve LLM config from environment variables */
7
- export function resolveLLMConfig() {
8
- // Anthropic takes priority if both are set
9
- if (process.env.ANTHROPIC_API_KEY) {
10
- return {
11
- provider: 'anthropic',
12
- apiKey: process.env.ANTHROPIC_API_KEY,
13
- model: process.env.MEMO_LLM_MODEL || 'claude-sonnet-4-20250514',
14
- baseUrl: process.env.ANTHROPIC_BASE_URL,
15
- };
16
- }
17
- if (process.env.OPENAI_API_KEY) {
18
- return {
19
- provider: 'openai',
20
- apiKey: process.env.OPENAI_API_KEY,
21
- model: process.env.MEMO_LLM_MODEL || 'gpt-4o',
22
- baseUrl: process.env.OPENAI_BASE_URL,
23
- };
24
- }
25
- return undefined;
11
+ import { resolveLlmSettings, DEFAULT_MODELS } from './llm-settings.js';
12
+ /**
13
+ * Resolve LLM config from the environment, a project `.env`, project settings,
14
+ * and stored user credentials — see `llm-settings.ts` for the precedence order.
15
+ *
16
+ * `projectRoot` is optional so existing callers that only ever used real
17
+ * environment variables keep working unchanged.
18
+ */
19
+ export function resolveLLMConfig(projectRoot) {
20
+ const settings = resolveLlmSettings(projectRoot);
21
+ if (!settings.configured || !settings.apiKey || !settings.provider)
22
+ return undefined;
23
+ return {
24
+ provider: settings.provider,
25
+ apiKey: settings.apiKey,
26
+ model: settings.model,
27
+ baseUrl: settings.baseUrl,
28
+ };
26
29
  }
27
30
  /**
28
31
  * Create an LLM provider from config.
@@ -35,31 +38,79 @@ export function createProvider(config) {
35
38
  return createOpenAIProvider(config);
36
39
  }
37
40
  // ─── OpenAI-compatible provider ─────────────────────────────────────────────
41
+ function toOpenAIMessages(messages) {
42
+ return messages.map(m => {
43
+ if (m.role === 'tool') {
44
+ return { role: 'tool', tool_call_id: m.toolCallId, content: m.content };
45
+ }
46
+ if (m.role === 'assistant' && m.toolCalls?.length) {
47
+ return {
48
+ role: 'assistant',
49
+ content: m.content || null,
50
+ tool_calls: m.toolCalls.map(c => ({
51
+ id: c.id,
52
+ type: 'function',
53
+ function: { name: c.name, arguments: JSON.stringify(c.input) },
54
+ })),
55
+ };
56
+ }
57
+ return { role: m.role, content: m.content };
58
+ });
59
+ }
60
+ function openAIStopReason(finish, hasToolCalls) {
61
+ if (hasToolCalls || finish === 'tool_calls')
62
+ return 'tool_use';
63
+ if (finish === 'stop')
64
+ return 'end_turn';
65
+ if (finish === 'length')
66
+ return 'max_tokens';
67
+ if (finish === 'content_filter')
68
+ return 'refusal';
69
+ return 'other';
70
+ }
38
71
  function createOpenAIProvider(config) {
39
72
  const baseUrl = config.baseUrl || 'https://api.openai.com/v1';
40
73
  return {
41
74
  name: `openai/${config.model}`,
42
75
  async complete(options) {
76
+ const body = {
77
+ model: config.model,
78
+ messages: toOpenAIMessages(options.messages),
79
+ temperature: options.temperature ?? 0.3,
80
+ max_tokens: options.maxTokens ?? 4096,
81
+ };
82
+ if (options.tools?.length) {
83
+ body.tools = options.tools.map(t => ({
84
+ type: 'function',
85
+ function: { name: t.name, description: t.description, parameters: t.inputSchema },
86
+ }));
87
+ }
43
88
  const response = await fetch(`${baseUrl}/chat/completions`, {
44
89
  method: 'POST',
45
90
  headers: {
46
91
  'Content-Type': 'application/json',
47
92
  'Authorization': `Bearer ${config.apiKey}`,
48
93
  },
49
- body: JSON.stringify({
50
- model: config.model,
51
- messages: options.messages,
52
- temperature: options.temperature ?? 0.3,
53
- max_tokens: options.maxTokens ?? 4096,
54
- }),
94
+ body: JSON.stringify(body),
55
95
  });
56
96
  if (!response.ok) {
57
97
  const text = await response.text();
58
98
  throw new Error(`OpenAI API error ${response.status}: ${text}`);
59
99
  }
60
100
  const data = await response.json();
101
+ const choice = data.choices?.[0];
102
+ const message = choice?.message ?? {};
103
+ const toolCalls = (message.tool_calls ?? [])
104
+ .filter((c) => c?.function?.name)
105
+ .map((c) => ({
106
+ id: c.id,
107
+ name: c.function.name,
108
+ input: safeParseJson(c.function.arguments),
109
+ }));
61
110
  return {
62
- content: data.choices[0].message.content,
111
+ content: message.content ?? '',
112
+ toolCalls: toolCalls.length ? toolCalls : undefined,
113
+ stopReason: openAIStopReason(choice?.finish_reason, toolCalls.length > 0),
63
114
  usage: data.usage ? {
64
115
  promptTokens: data.usage.prompt_tokens,
65
116
  completionTokens: data.usage.completion_tokens,
@@ -69,26 +120,111 @@ function createOpenAIProvider(config) {
69
120
  },
70
121
  };
71
122
  }
123
+ /** Tool arguments arrive as a JSON string; a malformed one must not crash the loop. */
124
+ function safeParseJson(raw) {
125
+ if (typeof raw !== 'string')
126
+ return raw ?? {};
127
+ try {
128
+ const parsed = JSON.parse(raw);
129
+ return parsed && typeof parsed === 'object' ? parsed : {};
130
+ }
131
+ catch {
132
+ return {};
133
+ }
134
+ }
72
135
  // ─── Anthropic provider ─────────────────────────────────────────────────────
136
+ /**
137
+ * Current-generation Claude models reject `temperature` / `top_p` / `top_k`
138
+ * with a 400 — the sampling parameters were removed starting with Opus 4.7.
139
+ * Sending the old default of 0.3 to any of them fails the request outright,
140
+ * so the parameter is only included for models known to still accept it.
141
+ */
142
+ const MODELS_REJECTING_SAMPLING_PARAMS = [
143
+ 'claude-opus-5',
144
+ 'claude-opus-4-7',
145
+ 'claude-opus-4-8',
146
+ 'claude-sonnet-5',
147
+ 'claude-fable-5',
148
+ 'claude-mythos-5',
149
+ ];
150
+ export function acceptsSamplingParams(model) {
151
+ return !MODELS_REJECTING_SAMPLING_PARAMS.some(prefix => model.startsWith(prefix));
152
+ }
153
+ /**
154
+ * Translate MEMO messages into Anthropic's content-block format.
155
+ *
156
+ * Anthropic has no `tool` role: results are `tool_result` blocks inside a user
157
+ * message, and consecutive results must be merged into one message so parallel
158
+ * tool calls are answered in a single turn.
159
+ */
160
+ function toAnthropicMessages(messages) {
161
+ const out = [];
162
+ for (const m of messages) {
163
+ if (m.role === 'system')
164
+ continue; // hoisted to the top-level `system` field
165
+ if (m.role === 'tool') {
166
+ const block = {
167
+ type: 'tool_result',
168
+ tool_use_id: m.toolCallId,
169
+ content: m.content,
170
+ ...(m.isError ? { is_error: true } : {}),
171
+ };
172
+ const last = out[out.length - 1];
173
+ if (last?.role === 'user' && last.content.every(b => b.type === 'tool_result')) {
174
+ last.content.push(block);
175
+ }
176
+ else {
177
+ out.push({ role: 'user', content: [block] });
178
+ }
179
+ continue;
180
+ }
181
+ if (m.role === 'assistant' && m.toolCalls?.length) {
182
+ const content = [];
183
+ if (m.content)
184
+ content.push({ type: 'text', text: m.content });
185
+ for (const c of m.toolCalls) {
186
+ content.push({ type: 'tool_use', id: c.id, name: c.name, input: c.input });
187
+ }
188
+ out.push({ role: 'assistant', content });
189
+ continue;
190
+ }
191
+ out.push({ role: m.role, content: [{ type: 'text', text: m.content }] });
192
+ }
193
+ return out;
194
+ }
195
+ function anthropicStopReason(raw) {
196
+ switch (raw) {
197
+ case 'tool_use': return 'tool_use';
198
+ case 'end_turn': return 'end_turn';
199
+ case 'max_tokens': return 'max_tokens';
200
+ case 'refusal': return 'refusal';
201
+ default: return 'other';
202
+ }
203
+ }
73
204
  function createAnthropicProvider(config) {
74
205
  const baseUrl = config.baseUrl || 'https://api.anthropic.com';
75
206
  return {
76
207
  name: `anthropic/${config.model}`,
77
208
  async complete(options) {
78
- // Separate system message from user/assistant messages
79
209
  const systemMsg = options.messages.find(m => m.role === 'system');
80
- const chatMessages = options.messages
81
- .filter(m => m.role !== 'system')
82
- .map(m => ({ role: m.role, content: m.content }));
83
210
  const body = {
84
211
  model: config.model,
85
- messages: chatMessages,
86
- temperature: options.temperature ?? 0.3,
212
+ messages: toAnthropicMessages(options.messages),
87
213
  max_tokens: options.maxTokens ?? 4096,
88
214
  };
215
+ if (acceptsSamplingParams(config.model)) {
216
+ body.temperature = options.temperature ?? 0.3;
217
+ }
89
218
  if (systemMsg) {
90
219
  body.system = systemMsg.content;
91
220
  }
221
+ if (options.tools?.length) {
222
+ body.tools = options.tools.map(t => ({
223
+ name: t.name,
224
+ description: t.description,
225
+ input_schema: t.inputSchema,
226
+ }));
227
+ }
92
228
  const response = await fetch(`${baseUrl}/v1/messages`, {
93
229
  method: 'POST',
94
230
  headers: {
@@ -103,12 +239,18 @@ function createAnthropicProvider(config) {
103
239
  throw new Error(`Anthropic API error ${response.status}: ${text}`);
104
240
  }
105
241
  const data = await response.json();
106
- const content = data.content
107
- .filter((b) => b.type === 'text')
108
- .map((b) => b.text)
242
+ const blocks = Array.isArray(data.content) ? data.content : [];
243
+ const content = blocks
244
+ .filter(b => b.type === 'text')
245
+ .map(b => b.text)
109
246
  .join('');
247
+ const toolCalls = blocks
248
+ .filter(b => b.type === 'tool_use')
249
+ .map(b => ({ id: b.id, name: b.name, input: (b.input ?? {}) }));
110
250
  return {
111
251
  content,
252
+ toolCalls: toolCalls.length ? toolCalls : undefined,
253
+ stopReason: anthropicStopReason(data.stop_reason),
112
254
  usage: data.usage ? {
113
255
  promptTokens: data.usage.input_tokens,
114
256
  completionTokens: data.usage.output_tokens,
@@ -118,4 +260,5 @@ function createAnthropicProvider(config) {
118
260
  },
119
261
  };
120
262
  }
263
+ export { DEFAULT_MODELS };
121
264
  //# sourceMappingURL=llm-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-provider.js","sourceRoot":"","sources":["../../src/llm/llm-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-provider.js","sourceRoot":"","sources":["../../src/llm/llm-provider.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,kDAAkD;AAClD,gFAAgF;AAEhF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AAoE7F;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAoB;IACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IACrF,OAAO;QACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC5B,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAiB;IAC5C,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,+EAA+E;AAE/E,SAAS,gBAAgB,CAAC,QAAuB;IAC7C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YAChD,OAAO;gBACH,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;gBAC1B,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC9B,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;iBACjE,CAAC,CAAC;aACN,CAAC;QACN,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA0B,EAAE,YAAqB;IACvE,IAAI,YAAY,IAAI,MAAM,KAAK,YAAY;QAAE,OAAO,UAAU,CAAC;IAC/D,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC;IACzC,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC;IAC7C,IAAI,MAAM,KAAK,gBAAgB;QAAE,OAAO,SAAS,CAAC;IAClD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAiB;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,2BAA2B,CAAC;IAE9D,OAAO;QACH,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE;QAC9B,KAAK,CAAC,QAAQ,CAAC,OAA0B;YACrC,MAAM,IAAI,GAA4B;gBAClC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC5C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;gBACvC,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;aACxC,CAAC;YACF,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACjC,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,WAAW,EAAE;iBACpF,CAAC,CAAC,CAAC;YACR,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,mBAAmB,EAAE;gBACxD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,eAAe,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;iBAC7C;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC7B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;YAEtC,MAAM,SAAS,GAAe,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;iBACnD,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC;iBACrC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBACd,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACrB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;aAC7C,CAAC,CAAC,CAAC;YAER,OAAO;gBACH,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;gBAC9B,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACnD,UAAU,EAAE,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;oBACtC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB;oBAC9C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;iBACvC,CAAC,CAAC,CAAC,SAAS;aAChB,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC;AAED,uFAAuF;AACvF,SAAS,aAAa,CAAC,GAAY;IAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAQ,GAA+B,IAAI,EAAE,CAAC;IAC3E,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,gCAAgC,GAAG;IACrC,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;CACpB,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,KAAa;IAC/C,OAAO,CAAC,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACtF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,QAAuB;IAChD,MAAM,GAAG,GAAyD,EAAE,CAAC;IAErE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS,CAAC,0CAA0C;QAE7E,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG;gBACV,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,CAAC,CAAC,UAAU;gBACzB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3C,CAAC;YACF,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAE,CAAS,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,CAAC;gBACtF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,SAAS;QACb,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YAChD,MAAM,OAAO,GAAc,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;YACzC,SAAS;QACb,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAuB;IAChD,QAAQ,GAAG,EAAE,CAAC;QACV,KAAK,UAAU,CAAC,CAAC,OAAO,UAAU,CAAC;QACnC,KAAK,UAAU,CAAC,CAAC,OAAO,UAAU,CAAC;QACnC,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC;QACvC,KAAK,SAAS,CAAC,CAAC,OAAO,SAAS,CAAC;QACjC,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC;IAC5B,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAiB;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,2BAA2B,CAAC;IAE9D,OAAO;QACH,IAAI,EAAE,aAAa,MAAM,CAAC,KAAK,EAAE;QACjC,KAAK,CAAC,QAAQ,CAAC,OAA0B;YACrC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAElE,MAAM,IAAI,GAA4B;gBAClC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC/C,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;aACxC,CAAC;YACF,IAAI,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC;YAClD,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;YACpC,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACjC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,YAAY,EAAE,CAAC,CAAC,WAAW;iBAC9B,CAAC,CAAC,CAAC;YACR,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,EAAE;gBACnD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,WAAW,EAAE,MAAM,CAAC,MAAM;oBAC1B,mBAAmB,EAAE,YAAY;iBACpC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC7B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;YAC1C,MAAM,MAAM,GAAU,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAEtE,MAAM,OAAO,GAAG,MAAM;iBACjB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAChB,IAAI,CAAC,EAAE,CAAC,CAAC;YAEd,MAAM,SAAS,GAAe,MAAM;iBAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;iBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAA4B,EAAE,CAAC,CAAC,CAAC;YAE/F,OAAO;gBACH,OAAO;gBACP,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACnD,UAAU,EAAE,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC;gBACjD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;oBACrC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;oBAC1C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa;iBAClE,CAAC,CAAC,CAAC,SAAS;aAChB,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,84 @@
1
+ /** Which provider a set of settings selects. */
2
+ export type LLMProviderName = 'anthropic' | 'openai';
3
+ /** Non-secret settings, safe to keep in the project. */
4
+ export interface LlmProjectSettings {
5
+ provider?: LLMProviderName;
6
+ model?: string;
7
+ baseUrl?: string;
8
+ }
9
+ /** Per-provider secrets, stored outside the project. */
10
+ export interface LlmCredentials {
11
+ anthropic?: {
12
+ apiKey?: string;
13
+ };
14
+ openai?: {
15
+ apiKey?: string;
16
+ };
17
+ }
18
+ /** Where a resolved value came from — surfaced in the UI so the key's origin is never a mystery. */
19
+ export type LlmSettingsOrigin = 'env' | 'env-file' | 'project-settings' | 'user-credentials' | 'default';
20
+ /** Default model per provider. Both are the current flagship at time of writing. */
21
+ export declare const DEFAULT_MODELS: Record<LLMProviderName, string>;
22
+ /**
23
+ * Parse a `.env` file body into key/value pairs.
24
+ *
25
+ * Deliberately small: `KEY=value` per line, `#` comments, optional `export`
26
+ * prefix, and single- or double-quoted values (escapes are only expanded
27
+ * inside double quotes, matching the common dotenv behaviour). Anything more
28
+ * elaborate belongs in a real shell, not a settings file.
29
+ */
30
+ export declare function parseEnvFile(contents: string): Record<string, string>;
31
+ /** Read `<projectRoot>/.env`, or an empty map when there is none. */
32
+ export declare function loadEnvFile(projectRoot: string): Record<string, string>;
33
+ export declare function projectSettingsPath(projectRoot: string): string;
34
+ export declare function loadLlmProjectSettings(projectRoot: string): LlmProjectSettings;
35
+ export declare function saveLlmProjectSettings(projectRoot: string, settings: LlmProjectSettings): void;
36
+ /**
37
+ * Where user credentials live.
38
+ *
39
+ * `MEMO_CREDENTIALS_PATH` overrides the default so CI, containers, and tests
40
+ * can point somewhere other than the real home directory — without it, a key a
41
+ * developer saved through the workbench would leak into their test runs.
42
+ */
43
+ export declare function credentialsPath(): string;
44
+ export declare function loadLlmCredentials(): LlmCredentials;
45
+ /**
46
+ * Store an API key for one provider, merging with any key already held for the
47
+ * other. Written 0600 — this file is the one place MEMO persists a secret.
48
+ */
49
+ export declare function saveLlmCredential(provider: LLMProviderName, apiKey: string): void;
50
+ /** Forget the stored key for one provider. */
51
+ export declare function clearLlmCredential(provider: LLMProviderName): void;
52
+ /** A resolved setting plus where it was found. */
53
+ export interface ResolvedLlmSettings {
54
+ provider?: LLMProviderName;
55
+ apiKey?: string;
56
+ model: string;
57
+ baseUrl?: string;
58
+ /** Where the API key came from. `undefined` when there is no key. */
59
+ keyOrigin?: LlmSettingsOrigin;
60
+ /** True when a key is available from any source. */
61
+ configured: boolean;
62
+ }
63
+ /**
64
+ * Resolve provider settings across every layer.
65
+ *
66
+ * The chosen provider is whichever the project explicitly selects, or — absent
67
+ * that — whichever has a usable key, Anthropic first.
68
+ */
69
+ export declare function resolveLlmSettings(projectRoot?: string): ResolvedLlmSettings;
70
+ /**
71
+ * Settings safe to send to a browser client: everything except the key itself.
72
+ * The workbench needs to know a key exists and where it came from — never its value.
73
+ */
74
+ export interface LlmSettingsStatus {
75
+ configured: boolean;
76
+ provider?: LLMProviderName;
77
+ model: string;
78
+ baseUrl?: string;
79
+ keyOrigin?: LlmSettingsOrigin;
80
+ /** True when the key came from a file MEMO can overwrite. */
81
+ keyEditable: boolean;
82
+ }
83
+ export declare function llmSettingsStatus(projectRoot?: string): LlmSettingsStatus;
84
+ //# sourceMappingURL=llm-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-settings.d.ts","sourceRoot":"","sources":["../../src/llm/llm-settings.ts"],"names":[],"mappings":"AAmBA,gDAAgD;AAChD,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,QAAQ,CAAC;AAErD,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC3B,SAAS,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC;AAED,oGAAoG;AACpG,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,UAAU,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAEzG,oFAAoF;AACpF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAG1D,CAAC;AAOF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0BrE;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQvE;AAID,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAe9E;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAQ9F;AAID;;;;;;GAMG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAIxC;AAED,wBAAgB,kBAAkB,IAAI,cAAc,CASnD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAWjF;AAED,8CAA8C;AAC9C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAMlE;AAID,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,oDAAoD;IACpD,UAAU,EAAE,OAAO,CAAC;CACvB;AAoCD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAgC5E;AAaD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,6DAA6D;IAC7D,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAYzE"}