artemys 0.2.0 → 0.2.1

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 (332) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +194 -146
  3. package/dist/cli/index.d.ts +1 -1
  4. package/dist/cli/index.d.ts.map +1 -1
  5. package/dist/cli/index.js +446 -379
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/coffeeshop/client.d.ts +158 -0
  8. package/dist/coffeeshop/client.d.ts.map +1 -0
  9. package/dist/coffeeshop/client.js +293 -0
  10. package/dist/coffeeshop/client.js.map +1 -0
  11. package/dist/coffeeshop/index.d.ts +2 -0
  12. package/dist/coffeeshop/index.d.ts.map +1 -0
  13. package/dist/coffeeshop/index.js +2 -0
  14. package/dist/coffeeshop/index.js.map +1 -0
  15. package/dist/discovery/agent-card.schema.d.ts +37 -109
  16. package/dist/discovery/agent-card.schema.d.ts.map +1 -1
  17. package/dist/discovery/discovery-query.schema.d.ts +6 -15
  18. package/dist/discovery/discovery-query.schema.d.ts.map +1 -1
  19. package/dist/discovery/index.d.ts +1 -1
  20. package/dist/discovery/index.d.ts.map +1 -1
  21. package/dist/discovery/index.js +1 -1
  22. package/dist/discovery/index.js.map +1 -1
  23. package/dist/discovery/intro-decision.schema.d.ts +9 -11
  24. package/dist/discovery/intro-decision.schema.d.ts.map +1 -1
  25. package/dist/discovery/intro-request.schema.d.ts +2 -14
  26. package/dist/discovery/intro-request.schema.d.ts.map +1 -1
  27. package/dist/discovery/session-bootstrap.schema.d.ts +86 -66
  28. package/dist/discovery/session-bootstrap.schema.d.ts.map +1 -1
  29. package/dist/discovery/session-bootstrap.schema.js +84 -8
  30. package/dist/discovery/session-bootstrap.schema.js.map +1 -1
  31. package/dist/mcp-server/index.d.ts +4 -0
  32. package/dist/mcp-server/index.d.ts.map +1 -0
  33. package/dist/mcp-server/index.js +4 -0
  34. package/dist/mcp-server/index.js.map +1 -0
  35. package/dist/mcp-server/persistence.d.ts +37 -0
  36. package/dist/mcp-server/persistence.d.ts.map +1 -0
  37. package/dist/mcp-server/persistence.js +309 -0
  38. package/dist/mcp-server/persistence.js.map +1 -0
  39. package/dist/mcp-server/resources.d.ts +20 -0
  40. package/dist/mcp-server/resources.d.ts.map +1 -0
  41. package/dist/mcp-server/resources.js +49 -0
  42. package/dist/mcp-server/resources.js.map +1 -0
  43. package/dist/mcp-server/server.d.ts +33 -0
  44. package/dist/mcp-server/server.d.ts.map +1 -0
  45. package/dist/mcp-server/server.js +220 -0
  46. package/dist/mcp-server/server.js.map +1 -0
  47. package/dist/mcp-server/state.d.ts +43 -0
  48. package/dist/mcp-server/state.d.ts.map +1 -0
  49. package/dist/mcp-server/state.js +111 -0
  50. package/dist/mcp-server/state.js.map +1 -0
  51. package/dist/mcp-server/tools/common.d.ts +225 -0
  52. package/dist/mcp-server/tools/common.d.ts.map +1 -0
  53. package/dist/mcp-server/tools/common.js +11 -0
  54. package/dist/mcp-server/tools/common.js.map +1 -0
  55. package/dist/mcp-server/tools/discovery.d.ts +3 -0
  56. package/dist/mcp-server/tools/discovery.d.ts.map +1 -0
  57. package/dist/mcp-server/tools/discovery.js +48 -0
  58. package/dist/mcp-server/tools/discovery.js.map +1 -0
  59. package/dist/mcp-server/tools/index.d.ts +4 -0
  60. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  61. package/dist/mcp-server/tools/index.js +13 -0
  62. package/dist/mcp-server/tools/index.js.map +1 -0
  63. package/dist/mcp-server/tools/intro.d.ts +3 -0
  64. package/dist/mcp-server/tools/intro.d.ts.map +1 -0
  65. package/dist/mcp-server/tools/intro.js +53 -0
  66. package/dist/mcp-server/tools/intro.js.map +1 -0
  67. package/dist/mcp-server/tools/protocol.d.ts +3 -0
  68. package/dist/mcp-server/tools/protocol.d.ts.map +1 -0
  69. package/dist/mcp-server/tools/protocol.js +73 -0
  70. package/dist/mcp-server/tools/protocol.js.map +1 -0
  71. package/dist/mcp-server/tools/talent.d.ts +3 -0
  72. package/dist/mcp-server/tools/talent.d.ts.map +1 -0
  73. package/dist/mcp-server/tools/talent.js +226 -0
  74. package/dist/mcp-server/tools/talent.js.map +1 -0
  75. package/dist/openclaw/index.d.ts +2 -0
  76. package/dist/openclaw/index.d.ts.map +1 -0
  77. package/dist/openclaw/index.js +2 -0
  78. package/dist/openclaw/index.js.map +1 -0
  79. package/dist/openclaw/skill.d.ts +13 -0
  80. package/dist/openclaw/skill.d.ts.map +1 -0
  81. package/dist/openclaw/skill.js +18 -0
  82. package/dist/openclaw/skill.js.map +1 -0
  83. package/dist/protocol/consent.schema.d.ts +18 -48
  84. package/dist/protocol/consent.schema.d.ts.map +1 -1
  85. package/dist/protocol/consent.schema.js +1 -1
  86. package/dist/protocol/consent.schema.js.map +1 -1
  87. package/dist/protocol/dialogue.schema.d.ts +21 -177
  88. package/dist/protocol/dialogue.schema.d.ts.map +1 -1
  89. package/dist/protocol/envelope.schema.d.ts +46 -28
  90. package/dist/protocol/envelope.schema.d.ts.map +1 -1
  91. package/dist/protocol/errors.d.ts +8 -1
  92. package/dist/protocol/errors.d.ts.map +1 -1
  93. package/dist/protocol/handshake.schema.d.ts +130 -385
  94. package/dist/protocol/handshake.schema.d.ts.map +1 -1
  95. package/dist/protocol/handshake.schema.js +1 -0
  96. package/dist/protocol/handshake.schema.js.map +1 -1
  97. package/dist/protocol/identity.schema.d.ts +44 -94
  98. package/dist/protocol/identity.schema.d.ts.map +1 -1
  99. package/dist/protocol/index.d.ts +1 -0
  100. package/dist/protocol/index.d.ts.map +1 -1
  101. package/dist/protocol/index.js +1 -0
  102. package/dist/protocol/index.js.map +1 -1
  103. package/dist/protocol/message-types.d.ts +14 -1
  104. package/dist/protocol/message-types.d.ts.map +1 -1
  105. package/dist/protocol/message.schema.d.ts +100 -715
  106. package/dist/protocol/message.schema.d.ts.map +1 -1
  107. package/dist/protocol/resolution.schema.d.ts +22 -268
  108. package/dist/protocol/resolution.schema.d.ts.map +1 -1
  109. package/dist/protocol/resolution.schema.js +1 -1
  110. package/dist/protocol/resolution.schema.js.map +1 -1
  111. package/dist/protocol/state-machine.d.ts +10 -1
  112. package/dist/protocol/state-machine.d.ts.map +1 -1
  113. package/dist/protocol/talent.schema.d.ts +106 -0
  114. package/dist/protocol/talent.schema.d.ts.map +1 -0
  115. package/dist/protocol/talent.schema.js +47 -0
  116. package/dist/protocol/talent.schema.js.map +1 -0
  117. package/dist/protocol/transport.schema.d.ts +16 -18
  118. package/dist/protocol/transport.schema.d.ts.map +1 -1
  119. package/dist/transport/client.d.ts +32 -0
  120. package/dist/transport/client.d.ts.map +1 -0
  121. package/dist/transport/client.js +155 -0
  122. package/dist/transport/client.js.map +1 -0
  123. package/dist/transport/dedup.d.ts +9 -0
  124. package/dist/transport/dedup.d.ts.map +1 -0
  125. package/dist/transport/dedup.js +36 -0
  126. package/dist/transport/dedup.js.map +1 -0
  127. package/dist/transport/handler.d.ts +9 -0
  128. package/dist/transport/handler.d.ts.map +1 -0
  129. package/dist/transport/handler.js +105 -0
  130. package/dist/transport/handler.js.map +1 -0
  131. package/dist/transport/hmac.d.ts +3 -0
  132. package/dist/transport/hmac.d.ts.map +1 -0
  133. package/dist/transport/hmac.js +43 -0
  134. package/dist/transport/hmac.js.map +1 -0
  135. package/dist/transport/index.d.ts +6 -0
  136. package/dist/transport/index.d.ts.map +1 -0
  137. package/dist/transport/index.js +6 -0
  138. package/dist/transport/index.js.map +1 -0
  139. package/dist/transport/reference-runner.d.ts +37 -0
  140. package/dist/transport/reference-runner.d.ts.map +1 -0
  141. package/dist/transport/reference-runner.js +372 -0
  142. package/dist/transport/reference-runner.js.map +1 -0
  143. package/package.json +19 -31
  144. package/dist/agent/archiver.d.ts +0 -8
  145. package/dist/agent/archiver.d.ts.map +0 -1
  146. package/dist/agent/archiver.js +0 -48
  147. package/dist/agent/archiver.js.map +0 -1
  148. package/dist/agent/capabilities.d.ts +0 -23
  149. package/dist/agent/capabilities.d.ts.map +0 -1
  150. package/dist/agent/capabilities.js +0 -87
  151. package/dist/agent/capabilities.js.map +0 -1
  152. package/dist/agent/config.d.ts +0 -60
  153. package/dist/agent/config.d.ts.map +0 -1
  154. package/dist/agent/config.js +0 -84
  155. package/dist/agent/config.js.map +0 -1
  156. package/dist/agent/context-provider.d.ts +0 -12
  157. package/dist/agent/context-provider.d.ts.map +0 -1
  158. package/dist/agent/context-provider.js +0 -34
  159. package/dist/agent/context-provider.js.map +0 -1
  160. package/dist/agent/context.d.ts +0 -9
  161. package/dist/agent/context.d.ts.map +0 -1
  162. package/dist/agent/context.js +0 -80
  163. package/dist/agent/context.js.map +0 -1
  164. package/dist/agent/events.d.ts +0 -62
  165. package/dist/agent/events.d.ts.map +0 -1
  166. package/dist/agent/events.js +0 -21
  167. package/dist/agent/events.js.map +0 -1
  168. package/dist/agent/index.d.ts +0 -32
  169. package/dist/agent/index.d.ts.map +0 -1
  170. package/dist/agent/index.js +0 -28
  171. package/dist/agent/index.js.map +0 -1
  172. package/dist/agent/mcp.d.ts +0 -16
  173. package/dist/agent/mcp.d.ts.map +0 -1
  174. package/dist/agent/mcp.js +0 -69
  175. package/dist/agent/mcp.js.map +0 -1
  176. package/dist/agent/notifications/decision-parser.d.ts +0 -10
  177. package/dist/agent/notifications/decision-parser.d.ts.map +0 -1
  178. package/dist/agent/notifications/decision-parser.js +0 -21
  179. package/dist/agent/notifications/decision-parser.js.map +0 -1
  180. package/dist/agent/notifications/index.d.ts +0 -4
  181. package/dist/agent/notifications/index.d.ts.map +0 -1
  182. package/dist/agent/notifications/index.js +0 -3
  183. package/dist/agent/notifications/index.js.map +0 -1
  184. package/dist/agent/notifications/opportunity-templates.d.ts +0 -14
  185. package/dist/agent/notifications/opportunity-templates.d.ts.map +0 -1
  186. package/dist/agent/notifications/opportunity-templates.js +0 -21
  187. package/dist/agent/notifications/opportunity-templates.js.map +0 -1
  188. package/dist/agent/notifications/types.d.ts +0 -16
  189. package/dist/agent/notifications/types.d.ts.map +0 -1
  190. package/dist/agent/notifications/types.js +0 -2
  191. package/dist/agent/notifications/types.js.map +0 -1
  192. package/dist/agent/providers.d.ts +0 -9
  193. package/dist/agent/providers.d.ts.map +0 -1
  194. package/dist/agent/providers.js +0 -29
  195. package/dist/agent/providers.js.map +0 -1
  196. package/dist/agent/runtime.d.ts +0 -63
  197. package/dist/agent/runtime.d.ts.map +0 -1
  198. package/dist/agent/runtime.js +0 -395
  199. package/dist/agent/runtime.js.map +0 -1
  200. package/dist/agent/scanning/index.d.ts +0 -3
  201. package/dist/agent/scanning/index.d.ts.map +0 -1
  202. package/dist/agent/scanning/index.js +0 -3
  203. package/dist/agent/scanning/index.js.map +0 -1
  204. package/dist/agent/scanning/opportunity-scorer.d.ts +0 -24
  205. package/dist/agent/scanning/opportunity-scorer.d.ts.map +0 -1
  206. package/dist/agent/scanning/opportunity-scorer.js +0 -90
  207. package/dist/agent/scanning/opportunity-scorer.js.map +0 -1
  208. package/dist/agent/scanning/types.d.ts +0 -65
  209. package/dist/agent/scanning/types.d.ts.map +0 -1
  210. package/dist/agent/scanning/types.js +0 -32
  211. package/dist/agent/scanning/types.js.map +0 -1
  212. package/dist/agent/scheduler.d.ts +0 -38
  213. package/dist/agent/scheduler.d.ts.map +0 -1
  214. package/dist/agent/scheduler.js +0 -125
  215. package/dist/agent/scheduler.js.map +0 -1
  216. package/dist/agent/session.d.ts +0 -20
  217. package/dist/agent/session.d.ts.map +0 -1
  218. package/dist/agent/session.js +0 -88
  219. package/dist/agent/session.js.map +0 -1
  220. package/dist/agent/stores.d.ts +0 -48
  221. package/dist/agent/stores.d.ts.map +0 -1
  222. package/dist/agent/stores.js +0 -2
  223. package/dist/agent/stores.js.map +0 -1
  224. package/dist/agent/tools/browser/ats-patterns.d.ts +0 -20
  225. package/dist/agent/tools/browser/ats-patterns.d.ts.map +0 -1
  226. package/dist/agent/tools/browser/ats-patterns.js +0 -226
  227. package/dist/agent/tools/browser/ats-patterns.js.map +0 -1
  228. package/dist/agent/tools/browser/index.d.ts +0 -14
  229. package/dist/agent/tools/browser/index.d.ts.map +0 -1
  230. package/dist/agent/tools/browser/index.js +0 -126
  231. package/dist/agent/tools/browser/index.js.map +0 -1
  232. package/dist/agent/tools/browser/operator-runtime.d.ts +0 -35
  233. package/dist/agent/tools/browser/operator-runtime.d.ts.map +0 -1
  234. package/dist/agent/tools/browser/operator-runtime.js +0 -93
  235. package/dist/agent/tools/browser/operator-runtime.js.map +0 -1
  236. package/dist/agent/tools/browser/providers/chrome-mcp.d.ts +0 -3
  237. package/dist/agent/tools/browser/providers/chrome-mcp.d.ts.map +0 -1
  238. package/dist/agent/tools/browser/providers/chrome-mcp.js +0 -164
  239. package/dist/agent/tools/browser/providers/chrome-mcp.js.map +0 -1
  240. package/dist/agent/tools/browser/providers/playwright.d.ts +0 -7
  241. package/dist/agent/tools/browser/providers/playwright.d.ts.map +0 -1
  242. package/dist/agent/tools/browser/providers/playwright.js +0 -619
  243. package/dist/agent/tools/browser/providers/playwright.js.map +0 -1
  244. package/dist/agent/tools/browser/types.d.ts +0 -22
  245. package/dist/agent/tools/browser/types.d.ts.map +0 -1
  246. package/dist/agent/tools/browser/types.js +0 -15
  247. package/dist/agent/tools/browser/types.js.map +0 -1
  248. package/dist/agent/tools/cancel-task.d.ts +0 -4
  249. package/dist/agent/tools/cancel-task.d.ts.map +0 -1
  250. package/dist/agent/tools/cancel-task.js +0 -29
  251. package/dist/agent/tools/cancel-task.js.map +0 -1
  252. package/dist/agent/tools/career-advice.d.ts +0 -3
  253. package/dist/agent/tools/career-advice.d.ts.map +0 -1
  254. package/dist/agent/tools/career-advice.js +0 -49
  255. package/dist/agent/tools/career-advice.js.map +0 -1
  256. package/dist/agent/tools/index.d.ts +0 -15
  257. package/dist/agent/tools/index.d.ts.map +0 -1
  258. package/dist/agent/tools/index.js +0 -94
  259. package/dist/agent/tools/index.js.map +0 -1
  260. package/dist/agent/tools/job-search.d.ts +0 -3
  261. package/dist/agent/tools/job-search.d.ts.map +0 -1
  262. package/dist/agent/tools/job-search.js +0 -77
  263. package/dist/agent/tools/job-search.js.map +0 -1
  264. package/dist/agent/tools/list-tasks.d.ts +0 -4
  265. package/dist/agent/tools/list-tasks.d.ts.map +0 -1
  266. package/dist/agent/tools/list-tasks.js +0 -24
  267. package/dist/agent/tools/list-tasks.js.map +0 -1
  268. package/dist/agent/tools/market-data.d.ts +0 -8
  269. package/dist/agent/tools/market-data.d.ts.map +0 -1
  270. package/dist/agent/tools/market-data.js +0 -133
  271. package/dist/agent/tools/market-data.js.map +0 -1
  272. package/dist/agent/tools/memory-write.d.ts +0 -3
  273. package/dist/agent/tools/memory-write.d.ts.map +0 -1
  274. package/dist/agent/tools/memory-write.js +0 -48
  275. package/dist/agent/tools/memory-write.js.map +0 -1
  276. package/dist/agent/tools/resume.d.ts +0 -3
  277. package/dist/agent/tools/resume.d.ts.map +0 -1
  278. package/dist/agent/tools/resume.js +0 -70
  279. package/dist/agent/tools/resume.js.map +0 -1
  280. package/dist/agent/tools/schedule-task.d.ts +0 -4
  281. package/dist/agent/tools/schedule-task.d.ts.map +0 -1
  282. package/dist/agent/tools/schedule-task.js +0 -39
  283. package/dist/agent/tools/schedule-task.js.map +0 -1
  284. package/dist/agent/tools/shell.d.ts +0 -6
  285. package/dist/agent/tools/shell.d.ts.map +0 -1
  286. package/dist/agent/tools/shell.js +0 -66
  287. package/dist/agent/tools/shell.js.map +0 -1
  288. package/dist/agent/tools/web-search.d.ts +0 -6
  289. package/dist/agent/tools/web-search.d.ts.map +0 -1
  290. package/dist/agent/tools/web-search.js +0 -73
  291. package/dist/agent/tools/web-search.js.map +0 -1
  292. package/dist/agent/types.d.ts +0 -103
  293. package/dist/agent/types.d.ts.map +0 -1
  294. package/dist/agent/types.js +0 -11
  295. package/dist/agent/types.js.map +0 -1
  296. package/dist/channels/index.d.ts +0 -10
  297. package/dist/channels/index.d.ts.map +0 -1
  298. package/dist/channels/index.js +0 -15
  299. package/dist/channels/index.js.map +0 -1
  300. package/dist/channels/telegram.d.ts +0 -21
  301. package/dist/channels/telegram.d.ts.map +0 -1
  302. package/dist/channels/telegram.js +0 -255
  303. package/dist/channels/telegram.js.map +0 -1
  304. package/dist/channels/types.d.ts +0 -24
  305. package/dist/channels/types.d.ts.map +0 -1
  306. package/dist/channels/types.js +0 -2
  307. package/dist/channels/types.js.map +0 -1
  308. package/dist/cli/templates/HEARTBEAT.md +0 -6
  309. package/dist/cli/templates/MEMORY.md +0 -6
  310. package/dist/cli/templates/PREFERENCES.md +0 -40
  311. package/dist/cli/templates/PROFILE.md +0 -26
  312. package/dist/cli/templates/SOUL.md +0 -23
  313. package/dist/connectors/google-calendar.d.ts +0 -8
  314. package/dist/connectors/google-calendar.d.ts.map +0 -1
  315. package/dist/connectors/google-calendar.js +0 -23
  316. package/dist/connectors/google-calendar.js.map +0 -1
  317. package/dist/connectors/google-gmail.d.ts +0 -8
  318. package/dist/connectors/google-gmail.d.ts.map +0 -1
  319. package/dist/connectors/google-gmail.js +0 -30
  320. package/dist/connectors/google-gmail.js.map +0 -1
  321. package/dist/connectors/google-oauth.d.ts +0 -17
  322. package/dist/connectors/google-oauth.d.ts.map +0 -1
  323. package/dist/connectors/google-oauth.js +0 -52
  324. package/dist/connectors/google-oauth.js.map +0 -1
  325. package/dist/connectors/index.d.ts +0 -5
  326. package/dist/connectors/index.d.ts.map +0 -1
  327. package/dist/connectors/index.js +0 -5
  328. package/dist/connectors/index.js.map +0 -1
  329. package/dist/connectors/types.d.ts +0 -20
  330. package/dist/connectors/types.d.ts.map +0 -1
  331. package/dist/connectors/types.js +0 -5
  332. package/dist/connectors/types.js.map +0 -1
@@ -1,70 +0,0 @@
1
- import { generateText } from "ai";
2
- import { z } from "zod";
3
- import { resolveModel } from "../providers.js";
4
- const SYSTEM_PROMPT = `You are a professional resume writer embedded in Artie, a personal career agent. Generate a tailored resume based on the candidate's profile and target role.
5
-
6
- Guidelines:
7
- - Lead with impact, not responsibilities
8
- - Quantify achievements where possible
9
- - Tailor language and emphasis to the target role and company
10
- - Use strong action verbs
11
- - Keep it concise — one page equivalent in markdown
12
- - Output clean markdown that can be rendered or converted to PDF
13
-
14
- Format the resume with these sections:
15
- # [Name]
16
- **[Target Title]** | [Location] | [Contact]
17
-
18
- ## Summary
19
- ## Experience
20
- ## Skills
21
- ## Education`;
22
- const FORMAT_INSTRUCTIONS = {
23
- standard: "Use a clean, professional format suitable for most industries.",
24
- technical: "Emphasize technical skills, architectures, and system scale. Include a prominent Technical Skills section with specific technologies.",
25
- executive: "Lead with strategic impact and leadership scope. Focus on business outcomes, team sizes managed, and organizational influence.",
26
- };
27
- export function createResumeTool() {
28
- return {
29
- name: "resume",
30
- description: "Generate a tailored resume for a specific target role, company, or industry.",
31
- parameters: z.object({
32
- target_role: z.string().describe("The target role to tailor the resume for"),
33
- target_company: z.string().optional().describe("Specific company to target"),
34
- format: z.enum(["standard", "technical", "executive"]).default("standard").describe("Resume format style"),
35
- }),
36
- policy: "auto",
37
- async execute(args, context) {
38
- const { target_role, target_company, format } = args;
39
- if (!context?.config) {
40
- return { tool_name: "resume", success: false, data: null, error: "Missing agent config" };
41
- }
42
- try {
43
- let prompt = `Generate a resume tailored for: ${target_role}`;
44
- if (target_company)
45
- prompt += ` at ${target_company}`;
46
- prompt += `\n\nFormat: ${format}\n${FORMAT_INSTRUCTIONS[format]}`;
47
- const result = await generateText({
48
- model: resolveModel(context.config),
49
- system: SYSTEM_PROMPT,
50
- messages: [{ role: "user", content: prompt }],
51
- maxOutputTokens: 2048,
52
- });
53
- return {
54
- tool_name: "resume",
55
- success: true,
56
- data: { resume_markdown: result.text, target_role, target_company: target_company ?? null, format },
57
- };
58
- }
59
- catch (err) {
60
- return {
61
- tool_name: "resume",
62
- success: false,
63
- data: null,
64
- error: err instanceof Error ? err.message : String(err),
65
- };
66
- }
67
- },
68
- };
69
- }
70
- //# sourceMappingURL=resume.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/agent/tools/resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;aAiBT,CAAA;AAEb,MAAM,mBAAmB,GAA2B;IAClD,QAAQ,EAAE,gEAAgE;IAC1E,SAAS,EACP,uIAAuI;IACzI,SAAS,EACP,gIAAgI;CACnI,CAAA;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,8EAA8E;QAChF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YAC5E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAC5E,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;SAC3G,CAAC;QACF,MAAM,EAAE,MAAM;QAEd,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAqB;YACvC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;YAEpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;gBACrB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAA;YAC3F,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,MAAM,GAAG,mCAAmC,WAAW,EAAE,CAAA;gBAC7D,IAAI,cAAc;oBAAE,MAAM,IAAI,OAAO,cAAc,EAAE,CAAA;gBACrD,MAAM,IAAI,eAAe,MAAM,KAAK,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAA;gBAEjE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;oBAChC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;oBACnC,MAAM,EAAE,aAAa;oBACrB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;oBAC7C,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAA;gBAEF,OAAO;oBACL,SAAS,EAAE,QAAQ;oBACnB,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,IAAI,IAAI,EAAE,MAAM,EAAE;iBACpG,CAAA;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,SAAS,EAAE,QAAQ;oBACnB,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAA;YACH,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { ToolDefinition } from "../types.js";
2
- import type { TaskScheduler } from "../scheduler.js";
3
- export declare function createScheduleTaskTool(scheduler: TaskScheduler): ToolDefinition;
4
- //# sourceMappingURL=schedule-task.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schedule-task.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/schedule-task.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,aAAa,CAAA;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc,CAsC/E"}
@@ -1,39 +0,0 @@
1
- import { z } from "zod";
2
- export function createScheduleTaskTool(scheduler) {
3
- return {
4
- name: "schedule-task",
5
- description: "Schedule a recurring or one-time task. Use cron expressions for recurring (e.g. '0 9 * * 1' for every Monday 9am) or ISO timestamps for one-time tasks.",
6
- parameters: z.object({
7
- name: z.string().describe("Short name for the task"),
8
- prompt: z.string().describe("The prompt to execute when the task runs"),
9
- schedule_type: z.enum(["cron", "once"]).describe("Whether this is a recurring cron task or a one-time task"),
10
- schedule_value: z.string().describe("Cron expression (e.g. '0 9 * * 1') or ISO timestamp (e.g. '2026-03-01T09:00:00Z')"),
11
- }),
12
- policy: "confirm",
13
- async execute(args, context) {
14
- try {
15
- const task = await scheduler.addTask({
16
- chat_id: context?.chat_id ?? "unknown",
17
- name: args.name,
18
- prompt: args.prompt,
19
- schedule_type: args.schedule_type,
20
- schedule_value: args.schedule_value,
21
- });
22
- return {
23
- tool_name: "schedule-task",
24
- success: true,
25
- data: { task_id: task.id, name: task.name, next_run_at: task.next_run_at },
26
- };
27
- }
28
- catch (err) {
29
- return {
30
- tool_name: "schedule-task",
31
- success: false,
32
- data: null,
33
- error: err instanceof Error ? err.message : String(err),
34
- };
35
- }
36
- },
37
- };
38
- }
39
- //# sourceMappingURL=schedule-task.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schedule-task.js","sourceRoot":"","sources":["../../../src/agent/tools/schedule-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,UAAU,sBAAsB,CAAC,SAAwB;IAC7D,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,yJAAyJ;QAC3J,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACvE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YAC5G,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mFAAmF,CAAC;SACzH,CAAC;QACF,MAAM,EAAE,SAAS;QAEjB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAqB;YACvC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC;oBACnC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS;oBACtC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,cAAc,EAAE,IAAI,CAAC,cAAc;iBACpC,CAAC,CAAA;gBAEF,OAAO;oBACL,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;iBAC3E,CAAA;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAA;YACH,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Sandboxed shell tool — only allowlisted commands, requires human approval.
3
- */
4
- import type { ToolDefinition } from "../types.js";
5
- export declare function createShellTool(): ToolDefinition;
6
- //# sourceMappingURL=shell.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/shell.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,aAAa,CAAA;AAQ1E,wBAAgB,eAAe,IAAI,cAAc,CA4ChD"}
@@ -1,66 +0,0 @@
1
- /**
2
- * Sandboxed shell tool — only allowlisted commands, requires human approval.
3
- */
4
- import { execFile } from "node:child_process";
5
- import { z } from "zod";
6
- const ALLOWED_COMMANDS = new Set([
7
- "gh", "git", "curl", "ls", "cat", "head", "tail", "wc", "jq", "date", "echo", "which",
8
- ]);
9
- const SHELL_TIMEOUT_MS = 10_000;
10
- export function createShellTool() {
11
- return {
12
- name: "shell",
13
- description: "Run a shell command. Only allowlisted commands are permitted: gh, git, curl, ls, cat, head, tail, wc, jq, date, echo, which. Requires human approval.",
14
- parameters: z.object({
15
- command: z.string().describe("The shell command to execute"),
16
- }),
17
- policy: "confirm",
18
- async execute(args, _context) {
19
- const { command } = args;
20
- const parts = command.trim().split(/\s+/);
21
- const binary = parts[0];
22
- if (!binary || !ALLOWED_COMMANDS.has(binary)) {
23
- return {
24
- tool_name: "shell",
25
- success: false,
26
- data: null,
27
- error: `Command "${binary}" is not in the allowlist. Allowed: ${[...ALLOWED_COMMANDS].join(", ")}`,
28
- };
29
- }
30
- try {
31
- const { stdout, stderr } = await execFilePromise(binary, parts.slice(1), {
32
- timeout: SHELL_TIMEOUT_MS,
33
- maxBuffer: 1024 * 1024,
34
- });
35
- return {
36
- tool_name: "shell",
37
- success: true,
38
- data: { command, stdout: stdout.trim(), stderr: stderr.trim() },
39
- };
40
- }
41
- catch (err) {
42
- return {
43
- tool_name: "shell",
44
- success: false,
45
- data: null,
46
- error: err.stderr || err.message || String(err),
47
- };
48
- }
49
- },
50
- };
51
- }
52
- function execFilePromise(cmd, args, opts) {
53
- return new Promise((resolve, reject) => {
54
- execFile(cmd, args, opts, (err, stdout, stderr) => {
55
- if (err) {
56
- ;
57
- err.stderr = stderr;
58
- reject(err);
59
- }
60
- else {
61
- resolve({ stdout: stdout, stderr: stderr });
62
- }
63
- });
64
- });
65
- }
66
- //# sourceMappingURL=shell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/agent/tools/shell.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Web search tool — Brave Search API primary, Tavily fallback.
3
- */
4
- import type { ToolDefinition } from "../types.js";
5
- export declare function createWebSearchTool(): ToolDefinition;
6
- //# sourceMappingURL=web-search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../../src/agent/tools/web-search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,aAAa,CAAA;AAE1E,wBAAgB,mBAAmB,IAAI,cAAc,CAmEpD"}
@@ -1,73 +0,0 @@
1
- /**
2
- * Web search tool — Brave Search API primary, Tavily fallback.
3
- */
4
- import { z } from "zod";
5
- export function createWebSearchTool() {
6
- return {
7
- name: "web-search",
8
- description: "Search the web for current information. Returns top results with titles, URLs, and snippets.",
9
- parameters: z.object({
10
- query: z.string().describe("Search query"),
11
- count: z.number().optional().default(5).describe("Number of results to return"),
12
- }),
13
- policy: "auto",
14
- async execute(args, _context) {
15
- const { query, count } = args;
16
- // Try Brave Search first
17
- const braveKey = process.env.BRAVE_SEARCH_API_KEY;
18
- if (braveKey) {
19
- try {
20
- const url = `https://api.search.brave.com/res/v1/web/search?q=${encodeURIComponent(query)}&count=${count}`;
21
- const res = await fetch(url, {
22
- headers: { "X-Subscription-Token": braveKey, Accept: "application/json" },
23
- });
24
- if (res.ok) {
25
- const data = await res.json();
26
- const results = (data.web?.results ?? []).slice(0, count).map((r) => ({
27
- title: r.title,
28
- url: r.url,
29
- snippet: r.description,
30
- }));
31
- return ok({ query, source: "brave", results });
32
- }
33
- }
34
- catch {
35
- /* fall through to tavily */
36
- }
37
- }
38
- // Try Tavily
39
- const tavilyKey = process.env.TAVILY_API_KEY;
40
- if (tavilyKey) {
41
- try {
42
- const res = await fetch("https://api.tavily.com/search", {
43
- method: "POST",
44
- headers: { "Content-Type": "application/json" },
45
- body: JSON.stringify({ api_key: tavilyKey, query, max_results: count }),
46
- });
47
- if (res.ok) {
48
- const data = await res.json();
49
- const results = (data.results ?? []).slice(0, count).map((r) => ({
50
- title: r.title,
51
- url: r.url,
52
- snippet: r.content,
53
- }));
54
- return ok({ query, source: "tavily", results });
55
- }
56
- }
57
- catch {
58
- /* fall through */
59
- }
60
- }
61
- return {
62
- tool_name: "web-search",
63
- success: false,
64
- data: null,
65
- error: "No search API key configured. Set BRAVE_SEARCH_API_KEY or TAVILY_API_KEY.",
66
- };
67
- },
68
- };
69
- }
70
- function ok(data) {
71
- return { tool_name: "web-search", success: true, data };
72
- }
73
- //# sourceMappingURL=web-search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../../src/agent/tools/web-search.ts"],"names":[],"mappings":"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"}
@@ -1,103 +0,0 @@
1
- import { z } from "zod";
2
- export interface ToolDefinition {
3
- name: string;
4
- description: string;
5
- parameters: z.ZodType<any>;
6
- policy: "auto" | "confirm";
7
- execute: (args: any, context?: ToolContext) => Promise<ToolResult>;
8
- model?: string;
9
- }
10
- export interface ToolResult {
11
- tool_name: string;
12
- success: boolean;
13
- data: unknown;
14
- error?: string;
15
- }
16
- export interface ToolContext {
17
- session_id: string;
18
- chat_id: string;
19
- config: AgentConfig;
20
- approvalCallback?: (toolName: string, args: unknown) => Promise<boolean>;
21
- }
22
- export type MessageHandler = (chatId: string, text: string) => Promise<string>;
23
- export interface MessageAction {
24
- type: "button";
25
- label: string;
26
- callback_data: string;
27
- }
28
- export type ModelChangeHandler = (chatId: string, model: string | null) => Promise<string>;
29
- export interface ChannelAdapter {
30
- name: string;
31
- start(): Promise<void>;
32
- stop(): Promise<void>;
33
- onMessage(handler: MessageHandler): void;
34
- onModelChange?(handler: ModelChangeHandler): void;
35
- sendMessage(chatId: string, content: string, actions?: MessageAction[]): Promise<void>;
36
- sendApprovalRequest(chatId: string, toolName: string, args: unknown): Promise<boolean>;
37
- }
38
- export interface ToolCall {
39
- id: string;
40
- name: string;
41
- input: unknown;
42
- }
43
- export interface ToolCallResult {
44
- tool_use_id: string;
45
- content: string;
46
- }
47
- export interface SessionMessage {
48
- role: "user" | "assistant";
49
- content: string;
50
- tool_calls?: ToolCall[];
51
- tool_results?: ToolCallResult[];
52
- timestamp: string;
53
- }
54
- export interface Session {
55
- id: string;
56
- conversation_id: string;
57
- messages: SessionMessage[];
58
- created_at: string;
59
- updated_at: string;
60
- }
61
- export declare const OpportunityStateSchema: z.ZodEnum<["RECEIVED", "EVALUATING", "INTERESTED", "SURFACED_TO_HUMAN", "PURSUING", "DECLINED"]>;
62
- export type OpportunityState = z.infer<typeof OpportunityStateSchema>;
63
- export type ScheduleType = "cron" | "once";
64
- export type TaskStatus = "active" | "paused" | "completed" | "cancelled";
65
- export interface ScheduledTask {
66
- id: string;
67
- chat_id: string;
68
- name: string;
69
- prompt: string;
70
- schedule_type: ScheduleType;
71
- schedule_value: string;
72
- status: TaskStatus;
73
- created_at: string;
74
- last_run_at?: string;
75
- next_run_at?: string;
76
- }
77
- export interface ArchiveMeta {
78
- session_id: string;
79
- chat_id: string;
80
- message_count: number;
81
- archived_at: string;
82
- filename: string;
83
- }
84
- export interface AgentConfig {
85
- anthropic_api_key?: string;
86
- anthropic_auth_token?: string;
87
- openai_api_key?: string;
88
- openai_auth_token?: string;
89
- model: string;
90
- max_steps: number;
91
- telegram_bot_token: string;
92
- storage_path: string;
93
- memory_dir: string;
94
- tasks_path: string;
95
- archives_path: string;
96
- browser_headless: boolean;
97
- browser_operator?: "auto" | "playwright" | "chrome-mcp";
98
- browser_operator_fallbacks?: Array<"playwright" | "chrome-mcp">;
99
- browser_submit_mode?: "auto" | "confirm-before-submit" | "draft-only";
100
- profile_path: string;
101
- preferences_path: string;
102
- }
103
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { z } from "zod";
2
- // Opportunity tracking
3
- export const OpportunityStateSchema = z.enum([
4
- "RECEIVED",
5
- "EVALUATING",
6
- "INTERESTED",
7
- "SURFACED_TO_HUMAN",
8
- "PURSUING",
9
- "DECLINED",
10
- ]);
11
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA8EvB,uBAAuB;AAEvB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,mBAAmB;IACnB,UAAU;IACV,UAAU;CACX,CAAC,CAAA"}
@@ -1,10 +0,0 @@
1
- export { TelegramAdapter } from "./telegram.js";
2
- export * from "./types.js";
3
- import type { ChannelAdapter } from "../agent/types.js";
4
- export declare class ChannelRegistry {
5
- private channels;
6
- register(adapter: ChannelAdapter): void;
7
- get(name: string): ChannelAdapter | undefined;
8
- list(): ChannelAdapter[];
9
- }
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/channels/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,cAAc,YAAY,CAAA;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAoC;IAEpD,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIvC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI7C,IAAI,IAAI,cAAc,EAAE;CAGzB"}
@@ -1,15 +0,0 @@
1
- export { TelegramAdapter } from "./telegram.js";
2
- export * from "./types.js";
3
- export class ChannelRegistry {
4
- channels = new Map();
5
- register(adapter) {
6
- this.channels.set(adapter.name, adapter);
7
- }
8
- get(name) {
9
- return this.channels.get(name);
10
- }
11
- list() {
12
- return Array.from(this.channels.values());
13
- }
14
- }
15
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/channels/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,cAAc,YAAY,CAAA;AAI1B,MAAM,OAAO,eAAe;IAClB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAA;IAEpD,QAAQ,CAAC,OAAuB;QAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3C,CAAC;CACF"}
@@ -1,21 +0,0 @@
1
- import type { ChannelAdapter, MessageHandler, MessageAction, ModelChangeHandler } from "../agent/types.js";
2
- export declare class TelegramAdapter implements ChannelAdapter {
3
- name: "telegram";
4
- private bot;
5
- private messageHandler?;
6
- private modelChangeHandler?;
7
- private pendingApprovals;
8
- constructor(token: string);
9
- onMessage(handler: MessageHandler): void;
10
- onModelChange(handler: ModelChangeHandler): void;
11
- start(): Promise<void>;
12
- stop(): Promise<void>;
13
- sendMessage(chatId: string, content: string, actions?: MessageAction[]): Promise<void>;
14
- sendApprovalRequest(chatId: string, toolName: string, args: unknown): Promise<boolean>;
15
- private setupCommands;
16
- private setupMessageHandler;
17
- private setupCallbackHandler;
18
- private handleWithRuntime;
19
- private buildKeyboard;
20
- }
21
- //# sourceMappingURL=telegram.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE1G,qBAAa,eAAgB,YAAW,cAAc;IACpD,IAAI,EAAG,UAAU,CAAS;IAE1B,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,kBAAkB,CAAC,CAAoB;IAC/C,OAAO,CAAC,gBAAgB,CAGrB;gBAES,KAAK,EAAE,MAAM;IAOzB,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIxC,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAI1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,aAAa,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC;IASV,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,OAAO,CAAC;IA4BnB,OAAO,CAAC,aAAa;IAoErB,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,oBAAoB;YAgCd,iBAAiB;IAyB/B,OAAO,CAAC,aAAa;CAOtB"}