beercan 0.6.12 → 0.6.14

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 (91) hide show
  1. package/README.md +60 -10
  2. package/dist/chat/index.d.ts +3 -3
  3. package/dist/chat/index.d.ts.map +1 -1
  4. package/dist/chat/index.js +4 -4
  5. package/dist/chat/index.js.map +1 -1
  6. package/dist/chat/intent.d.ts +2 -2
  7. package/dist/chat/intent.d.ts.map +1 -1
  8. package/dist/chat/intent.js +7 -7
  9. package/dist/chat/intent.js.map +1 -1
  10. package/dist/cli.js +269 -23
  11. package/dist/cli.js.map +1 -1
  12. package/dist/config.d.ts +12 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +9 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/core/gatekeeper.d.ts +3 -3
  17. package/dist/core/gatekeeper.d.ts.map +1 -1
  18. package/dist/core/gatekeeper.js +12 -12
  19. package/dist/core/gatekeeper.js.map +1 -1
  20. package/dist/core/reflection.d.ts +3 -3
  21. package/dist/core/reflection.d.ts.map +1 -1
  22. package/dist/core/reflection.js +10 -10
  23. package/dist/core/reflection.js.map +1 -1
  24. package/dist/core/roles.js +1 -1
  25. package/dist/core/roles.js.map +1 -1
  26. package/dist/core/runner.d.ts +3 -3
  27. package/dist/core/runner.d.ts.map +1 -1
  28. package/dist/core/runner.js +12 -14
  29. package/dist/core/runner.js.map +1 -1
  30. package/dist/events/daemon.js +3 -3
  31. package/dist/events/daemon.js.map +1 -1
  32. package/dist/index.d.ts +30 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +50 -5
  35. package/dist/index.js.map +1 -1
  36. package/dist/providers/anthropic.d.ts +8 -0
  37. package/dist/providers/anthropic.d.ts.map +1 -0
  38. package/dist/providers/anthropic.js +70 -0
  39. package/dist/providers/anthropic.js.map +1 -0
  40. package/dist/providers/factory.d.ts +3 -0
  41. package/dist/providers/factory.d.ts.map +1 -0
  42. package/dist/providers/factory.js +58 -0
  43. package/dist/providers/factory.js.map +1 -0
  44. package/dist/providers/index.d.ts +5 -0
  45. package/dist/providers/index.d.ts.map +1 -0
  46. package/dist/providers/index.js +4 -0
  47. package/dist/providers/index.js.map +1 -0
  48. package/dist/providers/openai.d.ts +16 -0
  49. package/dist/providers/openai.d.ts.map +1 -0
  50. package/dist/providers/openai.js +176 -0
  51. package/dist/providers/openai.js.map +1 -0
  52. package/dist/providers/types.d.ts +54 -0
  53. package/dist/providers/types.d.ts.map +1 -0
  54. package/dist/providers/types.js +4 -0
  55. package/dist/providers/types.js.map +1 -0
  56. package/dist/skills/index.d.ts.map +1 -1
  57. package/dist/skills/index.js +44 -0
  58. package/dist/skills/index.js.map +1 -1
  59. package/dist/tools/builtin/email.d.ts +5 -0
  60. package/dist/tools/builtin/email.d.ts.map +1 -0
  61. package/dist/tools/builtin/email.js +171 -0
  62. package/dist/tools/builtin/email.js.map +1 -0
  63. package/dist/tools/registry.d.ts +3 -12
  64. package/dist/tools/registry.d.ts.map +1 -1
  65. package/dist/tools/registry.js +3 -3
  66. package/dist/tools/registry.js.map +1 -1
  67. package/dist/training/curriculum.d.ts +4 -0
  68. package/dist/training/curriculum.d.ts.map +1 -0
  69. package/dist/training/curriculum.js +512 -0
  70. package/dist/training/curriculum.js.map +1 -0
  71. package/dist/training/evaluator.d.ts +21 -0
  72. package/dist/training/evaluator.d.ts.map +1 -0
  73. package/dist/training/evaluator.js +163 -0
  74. package/dist/training/evaluator.js.map +1 -0
  75. package/dist/training/exporter.d.ts +35 -0
  76. package/dist/training/exporter.d.ts.map +1 -0
  77. package/dist/training/exporter.js +377 -0
  78. package/dist/training/exporter.js.map +1 -0
  79. package/dist/training/index.d.ts +5 -0
  80. package/dist/training/index.d.ts.map +1 -0
  81. package/dist/training/index.js +5 -0
  82. package/dist/training/index.js.map +1 -0
  83. package/dist/training/sandbox-manager.d.ts +58 -0
  84. package/dist/training/sandbox-manager.d.ts.map +1 -0
  85. package/dist/training/sandbox-manager.js +416 -0
  86. package/dist/training/sandbox-manager.js.map +1 -0
  87. package/dist/training/types.d.ts +790 -0
  88. package/dist/training/types.d.ts.map +1 -0
  89. package/dist/training/types.js +154 -0
  90. package/dist/training/types.js.map +1 -0
  91. package/package.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { LLMProvider, LLMRequest, LLMRequestOptions, LLMResponse } from "./types.js";
2
+ export declare class AnthropicProvider implements LLMProvider {
3
+ readonly providerName = "anthropic";
4
+ private client;
5
+ constructor(client: any);
6
+ createMessage(request: LLMRequest, options?: LLMRequestOptions): Promise<LLMResponse>;
7
+ }
8
+ //# sourceMappingURL=anthropic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAExD,MAAM,YAAY,CAAC;AAEpB,qBAAa,iBAAkB,YAAW,WAAW;IACnD,QAAQ,CAAC,YAAY,eAAe;IACpC,OAAO,CAAC,MAAM,CAAM;gBAER,MAAM,EAAE,GAAG;IAIjB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;CAsB5F"}
@@ -0,0 +1,70 @@
1
+ // ── Anthropic Provider ───────────────────────────────────────
2
+ // Wraps the @anthropic-ai/sdk for the LLMProvider interface.
3
+ export class AnthropicProvider {
4
+ providerName = "anthropic";
5
+ client; // Anthropic SDK instance
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ async createMessage(request, options) {
10
+ const response = await this.client.messages.create({
11
+ model: request.model,
12
+ max_tokens: request.maxTokens,
13
+ system: request.system,
14
+ messages: request.messages.map(toAnthropicMessage),
15
+ tools: request.tools?.map(toAnthropicTool),
16
+ tool_choice: request.toolChoice ? toAnthropicToolChoice(request.toolChoice) : undefined,
17
+ }, options?.signal ? { signal: options.signal } : undefined);
18
+ return {
19
+ content: response.content.map(fromAnthropicBlock),
20
+ usage: {
21
+ inputTokens: response.usage?.input_tokens ?? 0,
22
+ outputTokens: response.usage?.output_tokens ?? 0,
23
+ },
24
+ stopReason: response.stop_reason === "end_turn" ? "end_turn"
25
+ : response.stop_reason === "tool_use" ? "tool_use"
26
+ : response.stop_reason === "max_tokens" ? "max_tokens"
27
+ : response.stop_reason ?? "end_turn",
28
+ };
29
+ }
30
+ }
31
+ // ── Format Converters ───────────────────────────────────────
32
+ function toAnthropicMessage(msg) {
33
+ if (typeof msg.content === "string") {
34
+ return { role: msg.role, content: msg.content };
35
+ }
36
+ const blocks = msg.content.map((block) => {
37
+ if (block.type === "tool_result") {
38
+ return { type: "tool_result", tool_use_id: block.toolUseId, content: block.content };
39
+ }
40
+ if (block.type === "tool_use") {
41
+ return { type: "tool_use", id: block.id, name: block.name, input: block.input };
42
+ }
43
+ return block; // text blocks pass through
44
+ });
45
+ return { role: msg.role, content: blocks };
46
+ }
47
+ function toAnthropicTool(tool) {
48
+ return {
49
+ name: tool.name,
50
+ description: tool.description,
51
+ input_schema: tool.inputSchema,
52
+ };
53
+ }
54
+ function toAnthropicToolChoice(choice) {
55
+ if (choice === "auto")
56
+ return { type: "auto" };
57
+ if (choice === "none")
58
+ return { type: "none" };
59
+ return { type: "tool", name: choice.name };
60
+ }
61
+ function fromAnthropicBlock(block) {
62
+ if (block.type === "text") {
63
+ return { type: "text", text: block.text };
64
+ }
65
+ if (block.type === "tool_use") {
66
+ return { type: "tool_use", id: block.id, name: block.name, input: block.input };
67
+ }
68
+ return { type: "text", text: "" };
69
+ }
70
+ //# sourceMappingURL=anthropic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { LLMProvider } from "./types.js";
2
+ export declare function createLLMProvider(): Promise<LLMProvider>;
3
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CAsC9D"}
@@ -0,0 +1,58 @@
1
+ // ── LLM Provider Factory ─────────────────────────────────────
2
+ // Creates the appropriate LLMProvider based on config.
3
+ import { getConfig } from "../config.js";
4
+ import { AnthropicProvider } from "./anthropic.js";
5
+ export async function createLLMProvider() {
6
+ const config = getConfig();
7
+ const provider = config.llmProvider;
8
+ switch (provider) {
9
+ case "anthropic": {
10
+ if (!config.anthropicApiKey) {
11
+ throw new Error("ANTHROPIC_API_KEY is not set. Run `beercan setup` to configure.");
12
+ }
13
+ const client = await createAnthropicClient(config.anthropicApiKey);
14
+ return new AnthropicProvider(client);
15
+ }
16
+ case "openai": {
17
+ const apiKey = config.openaiApiKey;
18
+ if (!apiKey) {
19
+ throw new Error("OPENAI_API_KEY is not set. Set the env var or use a different provider.");
20
+ }
21
+ const { OpenAIProvider } = await import("./openai.js");
22
+ return new OpenAIProvider({ apiKey });
23
+ }
24
+ case "openai-compatible": {
25
+ const apiKey = config.llmApiKey || config.openaiApiKey || "not-needed";
26
+ const baseURL = config.llmBaseUrl;
27
+ if (!baseURL) {
28
+ throw new Error("BEERCAN_LLM_BASE_URL is required for openai-compatible provider. " +
29
+ "Set it to your LM Studio/Ollama/OpenRouter endpoint (e.g., http://localhost:1234/v1).");
30
+ }
31
+ const { OpenAIProvider } = await import("./openai.js");
32
+ return new OpenAIProvider({ apiKey, baseURL, name: "openai-compatible" });
33
+ }
34
+ default:
35
+ throw new Error(`Unknown LLM provider: ${provider}. Use: anthropic, openai, openai-compatible`);
36
+ }
37
+ }
38
+ /** Create Anthropic SDK client with proxy support */
39
+ async function createAnthropicClient(apiKey) {
40
+ const Anthropic = (await import("@anthropic-ai/sdk")).default;
41
+ const proxyUrl = process.env.HTTPS_PROXY || process.env.HTTP_PROXY || process.env.https_proxy || process.env.http_proxy;
42
+ if (proxyUrl) {
43
+ try {
44
+ const { HttpsProxyAgent } = await import("https-proxy-agent");
45
+ const nodeFetch = await import("node-fetch");
46
+ const agent = new HttpsProxyAgent(proxyUrl);
47
+ return new Anthropic({
48
+ apiKey,
49
+ fetch: ((url, init) => nodeFetch.default(url, { ...init, agent })),
50
+ });
51
+ }
52
+ catch {
53
+ console.warn("[beercan] Proxy detected but proxy deps not installed. Trying direct connection.");
54
+ }
55
+ }
56
+ return new Anthropic({ apiKey });
57
+ }
58
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export type { LLMProvider, LLMRequest, LLMRequestOptions, LLMResponse, LLMMessage, LLMContentBlock, LLMResponseBlock, LLMTextBlock, LLMToolUseBlock, LLMToolResultBlock, LLMTool, LLMToolChoice, } from "./types.js";
2
+ export { AnthropicProvider } from "./anthropic.js";
3
+ export { OpenAIProvider } from "./openai.js";
4
+ export { createLLMProvider } from "./factory.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EACvD,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAC7C,YAAY,EAAE,eAAe,EAAE,kBAAkB,EACjD,OAAO,EAAE,aAAa,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { AnthropicProvider } from "./anthropic.js";
2
+ export { OpenAIProvider } from "./openai.js";
3
+ export { createLLMProvider } from "./factory.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { LLMProvider, LLMRequest, LLMRequestOptions, LLMResponse } from "./types.js";
2
+ export interface OpenAIProviderOptions {
3
+ apiKey: string;
4
+ baseURL?: string;
5
+ /** Name shown in logs */
6
+ name?: string;
7
+ }
8
+ export declare class OpenAIProvider implements LLMProvider {
9
+ private options;
10
+ readonly providerName: string;
11
+ private clientPromise;
12
+ constructor(options: OpenAIProviderOptions);
13
+ private initClient;
14
+ createMessage(request: LLMRequest, options?: LLMRequestOptions): Promise<LLMResponse>;
15
+ }
16
+ //# sourceMappingURL=openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAExD,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAe,YAAW,WAAW;IAIpC,OAAO,CAAC,OAAO;IAH3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,aAAa,CAAe;gBAEhB,OAAO,EAAE,qBAAqB;YAMpC,UAAU;IAgBlB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;CAsF5F"}
@@ -0,0 +1,176 @@
1
+ // ── OpenAI Provider ──────────────────────────────────────────
2
+ // Wraps the OpenAI SDK (or compatible APIs) for the LLMProvider interface.
3
+ // Supports: OpenAI, LM Studio, Ollama, OpenRouter, and other OpenAI-compatible endpoints.
4
+ export class OpenAIProvider {
5
+ options;
6
+ providerName;
7
+ clientPromise;
8
+ constructor(options) {
9
+ this.options = options;
10
+ this.providerName = options.name ?? (options.baseURL ? "openai-compatible" : "openai");
11
+ // Lazy-load the OpenAI SDK
12
+ this.clientPromise = this.initClient();
13
+ }
14
+ async initClient() {
15
+ try {
16
+ // Dynamic import — openai is an optional dependency
17
+ const mod = await Function('return import("openai")')();
18
+ const OpenAI = mod.default ?? mod.OpenAI;
19
+ return new OpenAI({
20
+ apiKey: this.options.apiKey,
21
+ ...(this.options.baseURL ? { baseURL: this.options.baseURL } : {}),
22
+ });
23
+ }
24
+ catch {
25
+ throw new Error(`OpenAI SDK not installed. Run: npm install openai`);
26
+ }
27
+ }
28
+ async createMessage(request, options) {
29
+ const client = await this.clientPromise;
30
+ // Build OpenAI messages: system prompt becomes first message
31
+ const messages = [
32
+ { role: "system", content: request.system },
33
+ ...request.messages.flatMap(toOpenAIMessages),
34
+ ];
35
+ // Build tools
36
+ const tools = request.tools?.map(toOpenAITool);
37
+ const toolChoice = request.toolChoice ? toOpenAIToolChoice(request.toolChoice) : undefined;
38
+ const params = {
39
+ model: request.model,
40
+ max_tokens: request.maxTokens,
41
+ messages,
42
+ };
43
+ if (tools && tools.length > 0) {
44
+ params.tools = tools;
45
+ if (toolChoice)
46
+ params.tool_choice = toolChoice;
47
+ }
48
+ const response = await client.chat.completions.create(params, options?.signal ? { signal: options.signal } : undefined);
49
+ const choice = response.choices?.[0];
50
+ if (!choice) {
51
+ return {
52
+ content: [{ type: "text", text: "" }],
53
+ usage: { inputTokens: 0, outputTokens: 0 },
54
+ stopReason: "end_turn",
55
+ };
56
+ }
57
+ // Convert response
58
+ const content = [];
59
+ // Text content
60
+ if (choice.message?.content) {
61
+ content.push({ type: "text", text: choice.message.content });
62
+ }
63
+ // Tool calls
64
+ if (choice.message?.tool_calls) {
65
+ for (const tc of choice.message.tool_calls) {
66
+ let input;
67
+ try {
68
+ input = JSON.parse(tc.function.arguments);
69
+ }
70
+ catch {
71
+ // Some local models produce malformed JSON — wrap as text
72
+ content.push({ type: "text", text: `Tool call parse error: ${tc.function.arguments}` });
73
+ continue;
74
+ }
75
+ content.push({
76
+ type: "tool_use",
77
+ id: tc.id,
78
+ name: tc.function.name,
79
+ input,
80
+ });
81
+ }
82
+ }
83
+ // Ensure at least one content block
84
+ if (content.length === 0) {
85
+ content.push({ type: "text", text: "" });
86
+ }
87
+ // Map finish_reason
88
+ const finishReason = choice.finish_reason;
89
+ const stopReason = finishReason === "stop" ? "end_turn"
90
+ : finishReason === "tool_calls" ? "tool_use"
91
+ : finishReason === "length" ? "max_tokens"
92
+ : finishReason ?? "end_turn";
93
+ return {
94
+ content,
95
+ usage: {
96
+ inputTokens: response.usage?.prompt_tokens ?? 0,
97
+ outputTokens: response.usage?.completion_tokens ?? 0,
98
+ },
99
+ stopReason,
100
+ };
101
+ }
102
+ }
103
+ // ── Format Converters ───────────────────────────────────────
104
+ /**
105
+ * Convert a single LLMMessage to one or more OpenAI messages.
106
+ * Key difference: Anthropic puts tool_results as user content blocks,
107
+ * OpenAI uses separate { role: "tool" } messages.
108
+ */
109
+ function toOpenAIMessages(msg) {
110
+ if (typeof msg.content === "string") {
111
+ return [{ role: msg.role, content: msg.content }];
112
+ }
113
+ const blocks = msg.content;
114
+ // Assistant messages: split text + tool_use into OpenAI format
115
+ if (msg.role === "assistant") {
116
+ const textParts = blocks.filter(b => b.type === "text").map(b => b.text).join("");
117
+ const toolCalls = blocks.filter(b => b.type === "tool_use").map(b => ({
118
+ id: b.id,
119
+ type: "function",
120
+ function: {
121
+ name: b.name,
122
+ arguments: JSON.stringify(b.input),
123
+ },
124
+ }));
125
+ const result = { role: "assistant" };
126
+ if (textParts)
127
+ result.content = textParts;
128
+ else
129
+ result.content = null;
130
+ if (toolCalls.length > 0)
131
+ result.tool_calls = toolCalls;
132
+ return [result];
133
+ }
134
+ // User messages: tool_result blocks become separate {role: "tool"} messages
135
+ const results = [];
136
+ const textParts = [];
137
+ for (const block of blocks) {
138
+ if (block.type === "tool_result") {
139
+ // Flush accumulated text first
140
+ if (textParts.length > 0) {
141
+ results.push({ role: "user", content: textParts.join("\n") });
142
+ textParts.length = 0;
143
+ }
144
+ results.push({
145
+ role: "tool",
146
+ tool_call_id: block.toolUseId,
147
+ content: block.content,
148
+ });
149
+ }
150
+ else if (block.type === "text") {
151
+ textParts.push(block.text);
152
+ }
153
+ }
154
+ if (textParts.length > 0) {
155
+ results.push({ role: "user", content: textParts.join("\n") });
156
+ }
157
+ return results.length > 0 ? results : [{ role: "user", content: "" }];
158
+ }
159
+ function toOpenAITool(tool) {
160
+ return {
161
+ type: "function",
162
+ function: {
163
+ name: tool.name,
164
+ description: tool.description,
165
+ parameters: tool.inputSchema,
166
+ },
167
+ };
168
+ }
169
+ function toOpenAIToolChoice(choice) {
170
+ if (choice === "auto")
171
+ return "auto";
172
+ if (choice === "none")
173
+ return "none";
174
+ return { type: "function", function: { name: choice.name } };
175
+ }
176
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ export interface LLMTextBlock {
2
+ type: "text";
3
+ text: string;
4
+ }
5
+ export interface LLMToolUseBlock {
6
+ type: "tool_use";
7
+ id: string;
8
+ name: string;
9
+ input: unknown;
10
+ }
11
+ export interface LLMToolResultBlock {
12
+ type: "tool_result";
13
+ toolUseId: string;
14
+ content: string;
15
+ }
16
+ export type LLMContentBlock = LLMTextBlock | LLMToolUseBlock | LLMToolResultBlock;
17
+ export type LLMResponseBlock = LLMTextBlock | LLMToolUseBlock;
18
+ export interface LLMMessage {
19
+ role: "user" | "assistant";
20
+ content: string | LLMContentBlock[];
21
+ }
22
+ export interface LLMTool {
23
+ name: string;
24
+ description: string;
25
+ inputSchema: Record<string, unknown>;
26
+ }
27
+ export type LLMToolChoice = "auto" | "none" | {
28
+ type: "tool";
29
+ name: string;
30
+ };
31
+ export interface LLMRequest {
32
+ model: string;
33
+ maxTokens: number;
34
+ system: string;
35
+ messages: LLMMessage[];
36
+ tools?: LLMTool[];
37
+ toolChoice?: LLMToolChoice;
38
+ }
39
+ export interface LLMRequestOptions {
40
+ signal?: AbortSignal;
41
+ }
42
+ export interface LLMResponse {
43
+ content: LLMResponseBlock[];
44
+ usage: {
45
+ inputTokens: number;
46
+ outputTokens: number;
47
+ };
48
+ stopReason: "end_turn" | "tool_use" | "max_tokens" | string;
49
+ }
50
+ export interface LLMProvider {
51
+ readonly providerName: string;
52
+ createMessage(request: LLMRequest, options?: LLMRequestOptions): Promise<LLMResponse>;
53
+ }
54
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAClF,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,eAAe,CAAC;AAI9D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CAAC;CACrC;AAID,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAI7E,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,UAAU,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;CAC7D;AAID,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACvF"}
@@ -0,0 +1,4 @@
1
+ // ── LLM Provider Abstraction Types ──────────────────────────
2
+ // Provider-agnostic types for multi-backend LLM support.
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,yDAAyD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,YAAY;IAGX,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,MAAM,CAA4B;gBAEtB,OAAO,EAAE,MAAM;IAEnC,kCAAkC;IAClC,IAAI,IAAI,IAAI;IA+BZ,yDAAyD;IACzD,OAAO,CAAC,iBAAiB;IAqJzB,4BAA4B;IAC5B,UAAU,IAAI,KAAK,EAAE;IAIrB,yBAAyB;IACzB,gBAAgB,IAAI,KAAK,EAAE;IAI3B,wDAAwD;IACxD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE;IAOlC,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAIzC,gEAAgE;IAChE,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIjC,iCAAiC;IACjC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC,4EAA4E;IAC5E,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAuB9C,mCAAmC;IACnC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAkBrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,YAAY;IAGX,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,MAAM,CAA4B;gBAEtB,OAAO,EAAE,MAAM;IAEnC,kCAAkC;IAClC,IAAI,IAAI,IAAI;IA+BZ,yDAAyD;IACzD,OAAO,CAAC,iBAAiB;IAkMzB,4BAA4B;IAC5B,UAAU,IAAI,KAAK,EAAE;IAIrB,yBAAyB;IACzB,gBAAgB,IAAI,KAAK,EAAE;IAI3B,wDAAwD;IACxD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE;IAOlC,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAIzC,gEAAgE;IAChE,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIjC,iCAAiC;IACjC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC,4EAA4E;IAC5E,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAuB9C,mCAAmC;IACnC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAkBrC"}
@@ -149,6 +149,50 @@ export class SkillManager {
149
149
  config: {},
150
150
  enabled: true,
151
151
  });
152
+ this.skills.set("send-email", {
153
+ name: "send-email",
154
+ description: "Send emails via Resend API with HTML content and file attachments",
155
+ triggers: [
156
+ "send email", "email", "send mail", "notify via email", "email report",
157
+ "send notification email", "email attachment", "send attachment",
158
+ "mail to", "send to email",
159
+ ],
160
+ instructions: [
161
+ `When asked to send an email:`,
162
+ ``,
163
+ `1. Use the send_email tool. Configuration is automatic via RESEND_API_KEY and RESEND_FROM_EMAIL env vars.`,
164
+ ``,
165
+ `2. Required parameters:`,
166
+ ` - to: recipient email(s) — string or array`,
167
+ ` - subject: email subject line`,
168
+ ` - html or text: email body (prefer html for rich formatting)`,
169
+ ``,
170
+ `3. Optional parameters:`,
171
+ ` - from: override sender (default: RESEND_FROM_EMAIL)`,
172
+ ` - cc: CC recipients`,
173
+ ` - bcc: BCC recipients`,
174
+ ` - reply_to: reply-to address(es)`,
175
+ ` - attachments: array of { path: '/absolute/path/to/file', filename: 'optional-name.pdf' }`,
176
+ ``,
177
+ `4. For HTML emails, write clean, inline-styled HTML. Email clients have limited CSS support`,
178
+ ` — use inline styles, tables for layout, and avoid external stylesheets.`,
179
+ ``,
180
+ `5. For attachments: use absolute file paths. The tool reads and base64-encodes files automatically.`,
181
+ ``,
182
+ `6. Example:`,
183
+ ` send_email({`,
184
+ ` to: 'user@example.com',`,
185
+ ` subject: 'Report',`,
186
+ ` html: '<h1>Monthly Report</h1><p>See attached.</p>',`,
187
+ ` attachments: [{ path: '/tmp/report.pdf' }]`,
188
+ ` })`,
189
+ ``,
190
+ `7. If not configured, tell the user to set RESEND_API_KEY and RESEND_FROM_EMAIL in ~/.beercan/.env`,
191
+ ].join("\n"),
192
+ requiredTools: ["send_email"],
193
+ config: {},
194
+ enabled: true,
195
+ });
152
196
  this.skills.set("calendar-assistant", {
153
197
  name: "calendar-assistant",
154
198
  description: "macOS calendar assistant — reads events, creates events, analyzes schedules, tracks recurring patterns",