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 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/scanning/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,sBAAsB,EACtB,kCAAkC,EAClC,WAAW,GAEZ,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,4BAA4B,GAI7B,MAAM,YAAY,CAAA"}
@@ -1,24 +0,0 @@
1
- export type ScoringPreferences = {
2
- targetRoles: string[];
3
- preferredLocations: string[];
4
- salaryMinUsd: number | null;
5
- };
6
- declare function matchesRole(preferences: ScoringPreferences, title: string): boolean;
7
- export declare function parseOpportunitySalaryFloor(salary: string | null): number | null;
8
- export declare function scoreOpportunity(input: {
9
- preferences: ScoringPreferences;
10
- title: string;
11
- location: string;
12
- postedAt: Date | null;
13
- salary: string | null;
14
- }): {
15
- score: number;
16
- metadata: Record<string, unknown>;
17
- };
18
- export declare function resolveSuggestedStatus(score: number): "discovered" | "shortlisted";
19
- export declare function shouldAttemptShortlistNotification(input: {
20
- suggestedStatus: "discovered" | "shortlisted";
21
- currentStatus: string | null | undefined;
22
- }): boolean;
23
- export { matchesRole };
24
- //# sourceMappingURL=opportunity-scorer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"opportunity-scorer.d.ts","sourceRoot":"","sources":["../../../src/agent/scanning/opportunity-scorer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAA;AAUD,iBAAS,WAAW,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAiB5E;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAShF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,WAAW,EAAE,kBAAkB,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAsDvD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAElF;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,eAAe,EAAE,YAAY,GAAG,aAAa,CAAA;IAC7C,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CACzC,GAAG,OAAO,CAUV;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -1,90 +0,0 @@
1
- function tokenizeRoleText(value) {
2
- return value
3
- .toLowerCase()
4
- .split(/[^a-z0-9]+/g)
5
- .map((token) => token.trim())
6
- .filter((token) => token.length >= 3);
7
- }
8
- function matchesRole(preferences, title) {
9
- const normalizedTitle = title.toLowerCase();
10
- const roleTokens = new Set(preferences.targetRoles.flatMap((role) => tokenizeRoleText(role)));
11
- if (roleTokens.size === 0) {
12
- return true;
13
- }
14
- for (const token of roleTokens) {
15
- if (normalizedTitle.includes(token)) {
16
- return true;
17
- }
18
- }
19
- return false;
20
- }
21
- export function parseOpportunitySalaryFloor(salary) {
22
- if (!salary)
23
- return null;
24
- const cleaned = salary.replace(/,/g, "");
25
- const matched = cleaned.match(/\$\s*(\d+(?:\.\d+)?)\s*k?/i);
26
- if (!matched)
27
- return null;
28
- const base = Number.parseFloat(matched[1] ?? "");
29
- if (!Number.isFinite(base))
30
- return null;
31
- return /k/i.test(matched[0]) ? Math.round(base * 1000) : Math.round(base);
32
- }
33
- export function scoreOpportunity(input) {
34
- let score = 0;
35
- const roleMatch = matchesRole(input.preferences, input.title);
36
- if (roleMatch) {
37
- score += 45;
38
- }
39
- const preferredLocations = input.preferences.preferredLocations.map((item) => item.toLowerCase());
40
- const normalizedLocation = input.location.toLowerCase();
41
- const locationMatch = preferredLocations.length === 0 ||
42
- preferredLocations.some((item) => normalizedLocation.includes(item.toLowerCase())) ||
43
- normalizedLocation.includes("remote") ||
44
- normalizedLocation.includes("worldwide");
45
- if (locationMatch) {
46
- score += 20;
47
- }
48
- const salaryFloor = parseOpportunitySalaryFloor(input.salary);
49
- const salaryMatch = salaryFloor !== null && input.preferences.salaryMinUsd !== null
50
- ? salaryFloor >= input.preferences.salaryMinUsd
51
- : salaryFloor !== null;
52
- if (salaryMatch) {
53
- score += 15;
54
- }
55
- const ageDays = input.postedAt
56
- ? Math.floor((Date.now() - input.postedAt.getTime()) / (24 * 60 * 60 * 1000))
57
- : null;
58
- if (ageDays !== null) {
59
- if (ageDays <= 3) {
60
- score += 20;
61
- }
62
- else if (ageDays <= 7) {
63
- score += 10;
64
- }
65
- }
66
- return {
67
- score: Math.min(100, score),
68
- metadata: {
69
- roleMatch,
70
- locationMatch,
71
- salaryFloor,
72
- salaryMatch,
73
- ageDays,
74
- },
75
- };
76
- }
77
- export function resolveSuggestedStatus(score) {
78
- return score >= 70 ? "shortlisted" : "discovered";
79
- }
80
- export function shouldAttemptShortlistNotification(input) {
81
- if (input.suggestedStatus !== "shortlisted") {
82
- return false;
83
- }
84
- if (!input.currentStatus) {
85
- return true;
86
- }
87
- return input.currentStatus === "discovered" || input.currentStatus === "shortlisted";
88
- }
89
- export { matchesRole };
90
- //# sourceMappingURL=opportunity-scorer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"opportunity-scorer.js","sourceRoot":"","sources":["../../../src/agent/scanning/opportunity-scorer.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- import { z } from "zod";
2
- export declare const OpportunityStatusSchema: z.ZodEnum<["discovered", "shortlisted", "notified", "viewed", "applied", "passed", "archived"]>;
3
- export type OpportunityStatus = z.infer<typeof OpportunityStatusSchema>;
4
- export declare const ScanCandidateOpportunitySchema: z.ZodObject<{
5
- source: z.ZodEnum<["remotive", "greenhouse", "lever", "ashby", "jsonld"]>;
6
- sourceOpportunityId: z.ZodNullable<z.ZodString>;
7
- dedupeKey: z.ZodString;
8
- title: z.ZodString;
9
- company: z.ZodString;
10
- location: z.ZodString;
11
- url: z.ZodNullable<z.ZodString>;
12
- salary: z.ZodNullable<z.ZodString>;
13
- summary: z.ZodString;
14
- postedAt: z.ZodNullable<z.ZodDate>;
15
- score: z.ZodNumber;
16
- scoreMetadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
17
- metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
18
- }, "strip", z.ZodTypeAny, {
19
- source: "ashby" | "greenhouse" | "lever" | "remotive" | "jsonld";
20
- title: string;
21
- location: string;
22
- url: string | null;
23
- summary: string;
24
- metadata: Record<string, unknown>;
25
- sourceOpportunityId: string | null;
26
- dedupeKey: string;
27
- company: string;
28
- salary: string | null;
29
- postedAt: Date | null;
30
- score: number;
31
- scoreMetadata: Record<string, unknown>;
32
- }, {
33
- source: "ashby" | "greenhouse" | "lever" | "remotive" | "jsonld";
34
- title: string;
35
- location: string;
36
- url: string | null;
37
- summary: string;
38
- metadata: Record<string, unknown>;
39
- sourceOpportunityId: string | null;
40
- dedupeKey: string;
41
- company: string;
42
- salary: string | null;
43
- postedAt: Date | null;
44
- score: number;
45
- scoreMetadata: Record<string, unknown>;
46
- }>;
47
- export type ScanCandidateOpportunity = z.infer<typeof ScanCandidateOpportunitySchema>;
48
- export declare const OpportunityScanSummarySchema: z.ZodObject<{
49
- scanned: z.ZodNumber;
50
- created: z.ZodNumber;
51
- updated: z.ZodNumber;
52
- notified: z.ZodNumber;
53
- }, "strip", z.ZodTypeAny, {
54
- notified: number;
55
- scanned: number;
56
- created: number;
57
- updated: number;
58
- }, {
59
- notified: number;
60
- scanned: number;
61
- created: number;
62
- updated: number;
63
- }>;
64
- export type OpportunityScanSummary = z.infer<typeof OpportunityScanSummarySchema>;
65
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/scanning/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,uBAAuB,iGAQlC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAEvE,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAczC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAErF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;EAKvC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA"}
@@ -1,32 +0,0 @@
1
- import { z } from "zod";
2
- export const OpportunityStatusSchema = z.enum([
3
- "discovered",
4
- "shortlisted",
5
- "notified",
6
- "viewed",
7
- "applied",
8
- "passed",
9
- "archived",
10
- ]);
11
- export const ScanCandidateOpportunitySchema = z.object({
12
- source: z.enum(["remotive", "greenhouse", "lever", "ashby", "jsonld"]),
13
- sourceOpportunityId: z.string().nullable(),
14
- dedupeKey: z.string(),
15
- title: z.string(),
16
- company: z.string(),
17
- location: z.string(),
18
- url: z.string().nullable(),
19
- salary: z.string().nullable(),
20
- summary: z.string(),
21
- postedAt: z.date().nullable(),
22
- score: z.number(),
23
- scoreMetadata: z.record(z.unknown()),
24
- metadata: z.record(z.unknown()),
25
- });
26
- export const OpportunityScanSummarySchema = z.object({
27
- scanned: z.number(),
28
- created: z.number(),
29
- updated: z.number(),
30
- notified: z.number(),
31
- });
32
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agent/scanning/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC5C,YAAY;IACZ,aAAa;IACb,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;CACX,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CAChC,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAA"}
@@ -1,38 +0,0 @@
1
- import type { ScheduledTask, ScheduleType } from "./types.js";
2
- import type { TaskStore } from "./stores.js";
3
- export declare class FileTaskStore implements TaskStore {
4
- private tasksPath;
5
- constructor(tasksPath: string);
6
- addTask(params: {
7
- chat_id: string;
8
- name: string;
9
- prompt: string;
10
- schedule_type: ScheduleType;
11
- schedule_value: string;
12
- }): Promise<ScheduledTask>;
13
- cancelTask(taskId: string): Promise<ScheduledTask | null>;
14
- listTasks(): Promise<ScheduledTask[]>;
15
- computeNextRun(cronExpression: string): string;
16
- loadTasks(): Promise<ScheduledTask[]>;
17
- saveTasks(tasks: ScheduledTask[]): Promise<void>;
18
- }
19
- export declare class TaskScheduler {
20
- private store;
21
- private interval;
22
- constructor(taskStoreOrPath: TaskStore | string);
23
- get taskStore(): TaskStore;
24
- start(intervalMs: number, callback: (task: ScheduledTask) => Promise<void>): void;
25
- stop(): void;
26
- tick(callback: (task: ScheduledTask) => Promise<void>): Promise<void>;
27
- addTask(params: {
28
- chat_id: string;
29
- name: string;
30
- prompt: string;
31
- schedule_type: ScheduleType;
32
- schedule_value: string;
33
- }): Promise<ScheduledTask>;
34
- cancelTask(taskId: string): Promise<ScheduledTask | null>;
35
- listTasks(): Promise<ScheduledTask[]>;
36
- computeNextRun(cronExpression: string): string;
37
- }
38
- //# sourceMappingURL=scheduler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/agent/scheduler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,SAAS,CAAQ;gBAEb,SAAS,EAAE,MAAM;IAIvB,OAAO,CAAC,MAAM,EAAE;QACpB,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,aAAa,EAAE,YAAY,CAAA;QAC3B,cAAc,EAAE,MAAM,CAAA;KACvB,GAAG,OAAO,CAAC,aAAa,CAAC;IAsBpB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAUzD,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAI3C,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAMxC,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IASrC,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAIvD;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,QAAQ,CAA8C;gBAElD,eAAe,EAAE,SAAS,GAAG,MAAM;IAM/C,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAQjF,IAAI,IAAI,IAAI;IAON,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BrE,OAAO,CAAC,MAAM,EAAE;QACpB,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,aAAa,EAAE,YAAY,CAAA;QAC3B,cAAc,EAAE,MAAM,CAAA;KACvB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIpB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAIzD,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAI3C,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;CAG/C"}
@@ -1,125 +0,0 @@
1
- import * as fs from "node:fs/promises";
2
- import * as path from "node:path";
3
- import { nanoid } from "nanoid";
4
- import { CronExpressionParser } from "cron-parser";
5
- export class FileTaskStore {
6
- tasksPath;
7
- constructor(tasksPath) {
8
- this.tasksPath = tasksPath;
9
- }
10
- async addTask(params) {
11
- const tasks = await this.loadTasks();
12
- const task = {
13
- id: nanoid(),
14
- chat_id: params.chat_id,
15
- name: params.name,
16
- prompt: params.prompt,
17
- schedule_type: params.schedule_type,
18
- schedule_value: params.schedule_value,
19
- status: "active",
20
- created_at: new Date().toISOString(),
21
- next_run_at: params.schedule_type === "once"
22
- ? params.schedule_value
23
- : this.computeNextRun(params.schedule_value),
24
- };
25
- tasks.push(task);
26
- await this.saveTasks(tasks);
27
- return task;
28
- }
29
- async cancelTask(taskId) {
30
- const tasks = await this.loadTasks();
31
- const task = tasks.find((t) => t.id === taskId);
32
- if (!task)
33
- return null;
34
- task.status = "cancelled";
35
- await this.saveTasks(tasks);
36
- return task;
37
- }
38
- async listTasks() {
39
- return this.loadTasks();
40
- }
41
- computeNextRun(cronExpression) {
42
- const expr = CronExpressionParser.parse(cronExpression);
43
- const next = expr.next();
44
- return next.toISOString() ?? new Date().toISOString();
45
- }
46
- async loadTasks() {
47
- try {
48
- const raw = await fs.readFile(this.tasksPath, "utf-8");
49
- return JSON.parse(raw);
50
- }
51
- catch {
52
- return [];
53
- }
54
- }
55
- async saveTasks(tasks) {
56
- await fs.mkdir(path.dirname(this.tasksPath), { recursive: true });
57
- await fs.writeFile(this.tasksPath, JSON.stringify(tasks, null, 2), "utf-8");
58
- }
59
- }
60
- export class TaskScheduler {
61
- store;
62
- interval = null;
63
- constructor(taskStoreOrPath) {
64
- this.store = typeof taskStoreOrPath === "string"
65
- ? new FileTaskStore(taskStoreOrPath)
66
- : taskStoreOrPath;
67
- }
68
- get taskStore() {
69
- return this.store;
70
- }
71
- start(intervalMs, callback) {
72
- this.stop();
73
- this.tick(callback).catch(() => { });
74
- this.interval = setInterval(() => {
75
- this.tick(callback).catch(() => { });
76
- }, intervalMs);
77
- }
78
- stop() {
79
- if (this.interval) {
80
- clearInterval(this.interval);
81
- this.interval = null;
82
- }
83
- }
84
- async tick(callback) {
85
- const tasks = await this.store.loadTasks();
86
- const now = new Date();
87
- for (const task of tasks) {
88
- if (task.status !== "active")
89
- continue;
90
- if (!task.next_run_at)
91
- continue;
92
- if (new Date(task.next_run_at) > now)
93
- continue;
94
- try {
95
- await callback(task);
96
- }
97
- catch {
98
- // callback errors don't stop the tick loop
99
- }
100
- task.last_run_at = now.toISOString();
101
- if (task.schedule_type === "once") {
102
- task.status = "completed";
103
- task.next_run_at = undefined;
104
- }
105
- else {
106
- task.next_run_at = this.store.computeNextRun(task.schedule_value);
107
- }
108
- }
109
- await this.store.saveTasks(tasks);
110
- }
111
- // Delegate storage methods to the store for backward compatibility
112
- async addTask(params) {
113
- return this.store.addTask(params);
114
- }
115
- async cancelTask(taskId) {
116
- return this.store.cancelTask(taskId);
117
- }
118
- async listTasks() {
119
- return this.store.listTasks();
120
- }
121
- computeNextRun(cronExpression) {
122
- return this.store.computeNextRun(cronExpression);
123
- }
124
- }
125
- //# sourceMappingURL=scheduler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/agent/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAIlD,MAAM,OAAO,aAAa;IAChB,SAAS,CAAQ;IAEzB,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAMb;QACC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QAEpC,MAAM,IAAI,GAAkB;YAC1B,EAAE,EAAE,MAAM,EAAE;YACZ,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,WAAW,EAAE,MAAM,CAAC,aAAa,KAAK,MAAM;gBAC1C,CAAC,CAAC,MAAM,CAAC,cAAc;gBACvB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC;SAC/C,CAAA;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;QAC/C,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAEtB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAA;QACzB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,SAAS,EAAE,CAAA;IACzB,CAAC;IAED,cAAc,CAAC,cAAsB;QACnC,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACxB,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACtD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAA;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAsB;QACpC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACjE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC7E,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IAChB,KAAK,CAAW;IAChB,QAAQ,GAA0C,IAAI,CAAA;IAE9D,YAAY,eAAmC;QAC7C,IAAI,CAAC,KAAK,GAAG,OAAO,eAAe,KAAK,QAAQ;YAC9C,CAAC,CAAC,IAAI,aAAa,CAAC,eAAe,CAAC;YACpC,CAAC,CAAC,eAAe,CAAA;IACrB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,UAAkB,EAAE,QAAgD;QACxE,IAAI,CAAC,IAAI,EAAE,CAAA;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACnC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACrC,CAAC,EAAE,UAAU,CAAC,CAAA;IAChB,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgD;QACzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAA;QAC1C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QAEtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,SAAQ;YACtC,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,SAAQ;YAC/B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG;gBAAE,SAAQ;YAE9C,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,2CAA2C;YAC7C,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;YAEpC,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAA;gBACzB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;YAC9B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,OAAO,CAAC,MAMb;QACC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAA;IAC/B,CAAC;IAED,cAAc,CAAC,cAAsB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;IAClD,CAAC;CACF"}
@@ -1,20 +0,0 @@
1
- import type { Session, SessionMessage } from "./types.js";
2
- import type { SessionStore } from "./stores.js";
3
- export declare class FileSessionStore implements SessionStore {
4
- private storagePath;
5
- constructor(storagePath?: string);
6
- private sessionFile;
7
- private metaFile;
8
- private ensureDir;
9
- create(conversationId?: string): Promise<Session>;
10
- load(sessionId: string): Promise<Session>;
11
- append(sessionId: string, message: SessionMessage): Promise<void>;
12
- list(): Promise<{
13
- id: string;
14
- created_at: string;
15
- message_count: number;
16
- }[]>;
17
- }
18
- /** @deprecated Use FileSessionStore */
19
- export declare const SessionManager: typeof FileSessionStore;
20
- //# sourceMappingURL=session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,WAAW,CAAQ;gBAEf,WAAW,CAAC,EAAE,MAAM;IAIhC,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,QAAQ;YAIF,SAAS;IAIjB,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BjD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBzC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IASjE,IAAI,IAAI,OAAO,CACnB;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,EAAE,CAC5D;CAwCF;AAED,uCAAuC;AACvC,eAAO,MAAM,cAAc,yBAAmB,CAAA"}
@@ -1,88 +0,0 @@
1
- import * as fs from "node:fs/promises";
2
- import * as path from "node:path";
3
- import { nanoid } from "nanoid";
4
- import { expandPath } from "./config.js";
5
- export class FileSessionStore {
6
- storagePath;
7
- constructor(storagePath) {
8
- this.storagePath = storagePath ?? expandPath("~/.artemys/sessions");
9
- }
10
- sessionFile(sessionId) {
11
- return path.join(this.storagePath, `${sessionId}.jsonl`);
12
- }
13
- metaFile(sessionId) {
14
- return path.join(this.storagePath, `${sessionId}.meta.json`);
15
- }
16
- async ensureDir() {
17
- await fs.mkdir(this.storagePath, { recursive: true });
18
- }
19
- async create(conversationId) {
20
- await this.ensureDir();
21
- const id = nanoid();
22
- const now = new Date().toISOString();
23
- const session = {
24
- id,
25
- conversation_id: conversationId ?? nanoid(),
26
- messages: [],
27
- created_at: now,
28
- updated_at: now,
29
- };
30
- await fs.writeFile(this.metaFile(id), JSON.stringify({
31
- id: session.id,
32
- conversation_id: session.conversation_id,
33
- created_at: session.created_at,
34
- }), "utf-8");
35
- await fs.writeFile(this.sessionFile(id), "", "utf-8");
36
- return session;
37
- }
38
- async load(sessionId) {
39
- const metaRaw = await fs.readFile(this.metaFile(sessionId), "utf-8");
40
- const meta = JSON.parse(metaRaw);
41
- const jsonlRaw = await fs.readFile(this.sessionFile(sessionId), "utf-8");
42
- const messages = jsonlRaw
43
- .split("\n")
44
- .filter((line) => line.trim().length > 0)
45
- .map((line) => JSON.parse(line));
46
- const lastMessage = messages[messages.length - 1];
47
- return {
48
- id: meta.id,
49
- conversation_id: meta.conversation_id,
50
- messages,
51
- created_at: meta.created_at,
52
- updated_at: lastMessage?.timestamp ?? meta.created_at,
53
- };
54
- }
55
- async append(sessionId, message) {
56
- await this.ensureDir();
57
- await fs.appendFile(this.sessionFile(sessionId), JSON.stringify(message) + "\n", "utf-8");
58
- }
59
- async list() {
60
- await this.ensureDir();
61
- const files = await fs.readdir(this.storagePath);
62
- const metaFiles = files.filter((f) => f.endsWith(".meta.json"));
63
- const results = [];
64
- for (const metaFile of metaFiles) {
65
- const metaRaw = await fs.readFile(path.join(this.storagePath, metaFile), "utf-8");
66
- const meta = JSON.parse(metaRaw);
67
- let messageCount = 0;
68
- try {
69
- const jsonlRaw = await fs.readFile(this.sessionFile(meta.id), "utf-8");
70
- messageCount = jsonlRaw
71
- .split("\n")
72
- .filter((line) => line.trim().length > 0).length;
73
- }
74
- catch {
75
- // JSONL file missing
76
- }
77
- results.push({
78
- id: meta.id,
79
- created_at: meta.created_at,
80
- message_count: messageCount,
81
- });
82
- }
83
- return results.sort((a, b) => new Date(b.created_at).getTime() - new Date(a.created_at).getTime());
84
- }
85
- }
86
- /** @deprecated Use FileSessionStore */
87
- export const SessionManager = FileSessionStore;
88
- //# sourceMappingURL=session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- import type { Session, SessionMessage, ScheduledTask, ScheduleType, ToolDefinition, ToolContext, ToolResult, AgentConfig } from "./types.js";
2
- export interface SessionStore {
3
- create(conversationId?: string): Promise<Session>;
4
- load(sessionId: string): Promise<Session>;
5
- append(sessionId: string, message: SessionMessage): Promise<void>;
6
- list(): Promise<{
7
- id: string;
8
- created_at: string;
9
- message_count: number;
10
- }[]>;
11
- }
12
- export interface TaskStore {
13
- addTask(params: {
14
- chat_id: string;
15
- name: string;
16
- prompt: string;
17
- schedule_type: ScheduleType;
18
- schedule_value: string;
19
- }): Promise<ScheduledTask>;
20
- cancelTask(taskId: string): Promise<ScheduledTask | null>;
21
- listTasks(): Promise<ScheduledTask[]>;
22
- loadTasks(): Promise<ScheduledTask[]>;
23
- saveTasks(tasks: ScheduledTask[]): Promise<void>;
24
- computeNextRun(cron: string): string;
25
- }
26
- export interface ContextProvider {
27
- getSoul(): Promise<string>;
28
- getProfile(): Promise<string>;
29
- getPreferences(): Promise<string>;
30
- getMemory(): Promise<string>;
31
- getHeartbeat(): Promise<string>;
32
- }
33
- export type SystemPromptBuilder = (context: {
34
- soul: string;
35
- profile: string;
36
- preferences: string;
37
- memory: string;
38
- heartbeat: string;
39
- tools: ToolDefinition[];
40
- config: AgentConfig;
41
- }) => string | Promise<string>;
42
- export type ToolExecutionHook = (event: {
43
- toolName: string;
44
- args: unknown;
45
- context?: ToolContext;
46
- result?: ToolResult;
47
- }) => void | Promise<void>;
48
- //# sourceMappingURL=stores.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../../src/agent/stores.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW,EACZ,MAAM,YAAY,CAAA;AAInB,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjE,IAAI,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAA;CAC7E;AAID,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,aAAa,EAAE,YAAY,CAAA;QAC3B,cAAc,EAAE,MAAM,CAAA;KACvB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IAC1B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IACzD,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IACrC,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IACrC,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CACrC;AAID,MAAM,WAAW,eAAe;IAC9B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IACjC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;CAChC;AAID,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,MAAM,EAAE,WAAW,CAAA;CACpB,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAI9B,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=stores.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stores.js","sourceRoot":"","sources":["../../src/agent/stores.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- export interface ATSSelectors {
2
- apply_button: string;
3
- name_field: string;
4
- email_field: string;
5
- resume_upload: string;
6
- submit_button: string;
7
- [key: string]: string;
8
- }
9
- export type ATSFieldKey = "name" | "first_name" | "last_name" | "email" | "phone" | "location" | "linkedin" | "github" | "website" | "cover_letter" | "generic";
10
- export type ATSActionPlan = {
11
- apply_button_candidates: string[];
12
- submit_button_candidates: string[];
13
- resume_upload_candidates: string[];
14
- fill_field_candidates: Record<ATSFieldKey, string[]>;
15
- };
16
- export type ATSType = "ashby" | "greenhouse" | "lever" | "workday" | "unknown";
17
- export declare function detectATS(url: string): ATSType;
18
- export declare function getSelectors(atsType: ATSType): ATSSelectors;
19
- export declare function getActionPlan(atsType: ATSType): ATSActionPlan;
20
- //# sourceMappingURL=ats-patterns.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ats-patterns.d.ts","sourceRoot":"","sources":["../../../../src/agent/tools/browser/ats-patterns.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,YAAY,GACZ,WAAW,GACX,OAAO,GACP,OAAO,GACP,UAAU,GACV,UAAU,GACV,QAAQ,GACR,SAAS,GACT,cAAc,GACd,SAAS,CAAA;AAEb,MAAM,MAAM,aAAa,GAAG;IAC1B,uBAAuB,EAAE,MAAM,EAAE,CAAA;IACjC,wBAAwB,EAAE,MAAM,EAAE,CAAA;IAClC,wBAAwB,EAAE,MAAM,EAAE,CAAA;IAClC,qBAAqB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,OAAO,GACf,OAAO,GACP,YAAY,GACZ,OAAO,GACP,SAAS,GACT,SAAS,CAAA;AAEb,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO9C;AA8ND,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAE3D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAE7D"}