artemys 0.2.0 → 0.3.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 (326) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +150 -151
  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 +375 -380
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/coffeeshop/client.d.ts +81 -0
  8. package/dist/coffeeshop/client.d.ts.map +1 -0
  9. package/dist/coffeeshop/client.js +242 -0
  10. package/dist/coffeeshop/client.js.map +1 -0
  11. package/dist/coffeeshop/index.d.ts +3 -0
  12. package/dist/coffeeshop/index.d.ts.map +1 -0
  13. package/dist/coffeeshop/index.js +4 -0
  14. package/dist/coffeeshop/index.js.map +1 -0
  15. package/dist/coffeeshop/schemas.d.ts +146 -0
  16. package/dist/coffeeshop/schemas.d.ts.map +1 -0
  17. package/dist/coffeeshop/schemas.js +114 -0
  18. package/dist/coffeeshop/schemas.js.map +1 -0
  19. package/dist/discovery/agent-card.schema.d.ts +37 -109
  20. package/dist/discovery/agent-card.schema.d.ts.map +1 -1
  21. package/dist/discovery/discovery-query.schema.d.ts +6 -15
  22. package/dist/discovery/discovery-query.schema.d.ts.map +1 -1
  23. package/dist/discovery/index.d.ts +0 -3
  24. package/dist/discovery/index.d.ts.map +1 -1
  25. package/dist/discovery/index.js +0 -3
  26. package/dist/discovery/index.js.map +1 -1
  27. package/dist/discovery/intro-decision.schema.d.ts +10 -11
  28. package/dist/discovery/intro-decision.schema.d.ts.map +1 -1
  29. package/dist/discovery/intro-decision.schema.js +1 -0
  30. package/dist/discovery/intro-decision.schema.js.map +1 -1
  31. package/dist/discovery/intro-request.schema.d.ts +3 -14
  32. package/dist/discovery/intro-request.schema.d.ts.map +1 -1
  33. package/dist/discovery/intro-request.schema.js +1 -0
  34. package/dist/discovery/intro-request.schema.js.map +1 -1
  35. package/dist/mcp-server/index.d.ts +4 -0
  36. package/dist/mcp-server/index.d.ts.map +1 -0
  37. package/dist/mcp-server/index.js +4 -0
  38. package/dist/mcp-server/index.js.map +1 -0
  39. package/dist/mcp-server/persistence.d.ts +37 -0
  40. package/dist/mcp-server/persistence.d.ts.map +1 -0
  41. package/dist/mcp-server/persistence.js +309 -0
  42. package/dist/mcp-server/persistence.js.map +1 -0
  43. package/dist/mcp-server/resources.d.ts +20 -0
  44. package/dist/mcp-server/resources.d.ts.map +1 -0
  45. package/dist/mcp-server/resources.js +49 -0
  46. package/dist/mcp-server/resources.js.map +1 -0
  47. package/dist/mcp-server/server.d.ts +30 -0
  48. package/dist/mcp-server/server.d.ts.map +1 -0
  49. package/dist/mcp-server/server.js +218 -0
  50. package/dist/mcp-server/server.js.map +1 -0
  51. package/dist/mcp-server/state.d.ts +43 -0
  52. package/dist/mcp-server/state.d.ts.map +1 -0
  53. package/dist/mcp-server/state.js +111 -0
  54. package/dist/mcp-server/state.js.map +1 -0
  55. package/dist/mcp-server/tools/common.d.ts +245 -0
  56. package/dist/mcp-server/tools/common.d.ts.map +1 -0
  57. package/dist/mcp-server/tools/common.js +11 -0
  58. package/dist/mcp-server/tools/common.js.map +1 -0
  59. package/dist/mcp-server/tools/discovery.d.ts +3 -0
  60. package/dist/mcp-server/tools/discovery.d.ts.map +1 -0
  61. package/dist/mcp-server/tools/discovery.js +48 -0
  62. package/dist/mcp-server/tools/discovery.js.map +1 -0
  63. package/dist/mcp-server/tools/index.d.ts +4 -0
  64. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  65. package/dist/mcp-server/tools/index.js +11 -0
  66. package/dist/mcp-server/tools/index.js.map +1 -0
  67. package/dist/mcp-server/tools/messaging.d.ts +3 -0
  68. package/dist/mcp-server/tools/messaging.d.ts.map +1 -0
  69. package/dist/mcp-server/tools/messaging.js +29 -0
  70. package/dist/mcp-server/tools/messaging.js.map +1 -0
  71. package/dist/mcp-server/tools/protocol.d.ts +3 -0
  72. package/dist/mcp-server/tools/protocol.d.ts.map +1 -0
  73. package/dist/mcp-server/tools/protocol.js +45 -0
  74. package/dist/mcp-server/tools/protocol.js.map +1 -0
  75. package/dist/mcp-server/tools/talent.d.ts +3 -0
  76. package/dist/mcp-server/tools/talent.d.ts.map +1 -0
  77. package/dist/mcp-server/tools/talent.js +84 -0
  78. package/dist/mcp-server/tools/talent.js.map +1 -0
  79. package/dist/openclaw/index.d.ts +2 -0
  80. package/dist/openclaw/index.d.ts.map +1 -0
  81. package/dist/openclaw/index.js +2 -0
  82. package/dist/openclaw/index.js.map +1 -0
  83. package/dist/openclaw/skill.d.ts +13 -0
  84. package/dist/openclaw/skill.d.ts.map +1 -0
  85. package/dist/openclaw/skill.js +18 -0
  86. package/dist/openclaw/skill.js.map +1 -0
  87. package/dist/protocol/consent.schema.d.ts +18 -48
  88. package/dist/protocol/consent.schema.d.ts.map +1 -1
  89. package/dist/protocol/consent.schema.js +1 -1
  90. package/dist/protocol/consent.schema.js.map +1 -1
  91. package/dist/protocol/dialogue.schema.d.ts +47 -183
  92. package/dist/protocol/dialogue.schema.d.ts.map +1 -1
  93. package/dist/protocol/dialogue.schema.js +11 -0
  94. package/dist/protocol/dialogue.schema.js.map +1 -1
  95. package/dist/protocol/envelope.schema.d.ts +56 -32
  96. package/dist/protocol/envelope.schema.d.ts.map +1 -1
  97. package/dist/protocol/envelope.schema.js +2 -1
  98. package/dist/protocol/envelope.schema.js.map +1 -1
  99. package/dist/protocol/errors.d.ts +8 -1
  100. package/dist/protocol/errors.d.ts.map +1 -1
  101. package/dist/protocol/handshake.schema.d.ts +134 -387
  102. package/dist/protocol/handshake.schema.d.ts.map +1 -1
  103. package/dist/protocol/handshake.schema.js +1 -0
  104. package/dist/protocol/handshake.schema.js.map +1 -1
  105. package/dist/protocol/identity.schema.d.ts +44 -94
  106. package/dist/protocol/identity.schema.d.ts.map +1 -1
  107. package/dist/protocol/index.d.ts +2 -1
  108. package/dist/protocol/index.d.ts.map +1 -1
  109. package/dist/protocol/index.js +2 -1
  110. package/dist/protocol/index.js.map +1 -1
  111. package/dist/protocol/message-types.d.ts +16 -2
  112. package/dist/protocol/message-types.d.ts.map +1 -1
  113. package/dist/protocol/message-types.js +1 -0
  114. package/dist/protocol/message-types.js.map +1 -1
  115. package/dist/protocol/message.schema.d.ts +135 -727
  116. package/dist/protocol/message.schema.d.ts.map +1 -1
  117. package/dist/protocol/message.schema.js +4 -2
  118. package/dist/protocol/message.schema.js.map +1 -1
  119. package/dist/protocol/resolution.schema.d.ts +30 -272
  120. package/dist/protocol/resolution.schema.d.ts.map +1 -1
  121. package/dist/protocol/resolution.schema.js +1 -1
  122. package/dist/protocol/resolution.schema.js.map +1 -1
  123. package/dist/protocol/state-machine.d.ts +10 -1
  124. package/dist/protocol/state-machine.d.ts.map +1 -1
  125. package/dist/protocol/state-machine.js +2 -1
  126. package/dist/protocol/state-machine.js.map +1 -1
  127. package/dist/protocol/talent.schema.d.ts +106 -0
  128. package/dist/protocol/talent.schema.d.ts.map +1 -0
  129. package/dist/protocol/talent.schema.js +47 -0
  130. package/dist/protocol/talent.schema.js.map +1 -0
  131. package/dist/protocol/transport.schema.d.ts +16 -18
  132. package/dist/protocol/transport.schema.d.ts.map +1 -1
  133. package/package.json +21 -33
  134. package/dist/agent/archiver.d.ts +0 -8
  135. package/dist/agent/archiver.d.ts.map +0 -1
  136. package/dist/agent/archiver.js +0 -48
  137. package/dist/agent/archiver.js.map +0 -1
  138. package/dist/agent/capabilities.d.ts +0 -23
  139. package/dist/agent/capabilities.d.ts.map +0 -1
  140. package/dist/agent/capabilities.js +0 -87
  141. package/dist/agent/capabilities.js.map +0 -1
  142. package/dist/agent/config.d.ts +0 -60
  143. package/dist/agent/config.d.ts.map +0 -1
  144. package/dist/agent/config.js +0 -84
  145. package/dist/agent/config.js.map +0 -1
  146. package/dist/agent/context-provider.d.ts +0 -12
  147. package/dist/agent/context-provider.d.ts.map +0 -1
  148. package/dist/agent/context-provider.js +0 -34
  149. package/dist/agent/context-provider.js.map +0 -1
  150. package/dist/agent/context.d.ts +0 -9
  151. package/dist/agent/context.d.ts.map +0 -1
  152. package/dist/agent/context.js +0 -80
  153. package/dist/agent/context.js.map +0 -1
  154. package/dist/agent/events.d.ts +0 -62
  155. package/dist/agent/events.d.ts.map +0 -1
  156. package/dist/agent/events.js +0 -21
  157. package/dist/agent/events.js.map +0 -1
  158. package/dist/agent/index.d.ts +0 -32
  159. package/dist/agent/index.d.ts.map +0 -1
  160. package/dist/agent/index.js +0 -28
  161. package/dist/agent/index.js.map +0 -1
  162. package/dist/agent/mcp.d.ts +0 -16
  163. package/dist/agent/mcp.d.ts.map +0 -1
  164. package/dist/agent/mcp.js +0 -69
  165. package/dist/agent/mcp.js.map +0 -1
  166. package/dist/agent/notifications/decision-parser.d.ts +0 -10
  167. package/dist/agent/notifications/decision-parser.d.ts.map +0 -1
  168. package/dist/agent/notifications/decision-parser.js +0 -21
  169. package/dist/agent/notifications/decision-parser.js.map +0 -1
  170. package/dist/agent/notifications/index.d.ts +0 -4
  171. package/dist/agent/notifications/index.d.ts.map +0 -1
  172. package/dist/agent/notifications/index.js +0 -3
  173. package/dist/agent/notifications/index.js.map +0 -1
  174. package/dist/agent/notifications/opportunity-templates.d.ts +0 -14
  175. package/dist/agent/notifications/opportunity-templates.d.ts.map +0 -1
  176. package/dist/agent/notifications/opportunity-templates.js +0 -21
  177. package/dist/agent/notifications/opportunity-templates.js.map +0 -1
  178. package/dist/agent/notifications/types.d.ts +0 -16
  179. package/dist/agent/notifications/types.d.ts.map +0 -1
  180. package/dist/agent/notifications/types.js +0 -2
  181. package/dist/agent/notifications/types.js.map +0 -1
  182. package/dist/agent/providers.d.ts +0 -9
  183. package/dist/agent/providers.d.ts.map +0 -1
  184. package/dist/agent/providers.js +0 -29
  185. package/dist/agent/providers.js.map +0 -1
  186. package/dist/agent/runtime.d.ts +0 -63
  187. package/dist/agent/runtime.d.ts.map +0 -1
  188. package/dist/agent/runtime.js +0 -395
  189. package/dist/agent/runtime.js.map +0 -1
  190. package/dist/agent/scanning/index.d.ts +0 -3
  191. package/dist/agent/scanning/index.d.ts.map +0 -1
  192. package/dist/agent/scanning/index.js +0 -3
  193. package/dist/agent/scanning/index.js.map +0 -1
  194. package/dist/agent/scanning/opportunity-scorer.d.ts +0 -24
  195. package/dist/agent/scanning/opportunity-scorer.d.ts.map +0 -1
  196. package/dist/agent/scanning/opportunity-scorer.js +0 -90
  197. package/dist/agent/scanning/opportunity-scorer.js.map +0 -1
  198. package/dist/agent/scanning/types.d.ts +0 -65
  199. package/dist/agent/scanning/types.d.ts.map +0 -1
  200. package/dist/agent/scanning/types.js +0 -32
  201. package/dist/agent/scanning/types.js.map +0 -1
  202. package/dist/agent/scheduler.d.ts +0 -38
  203. package/dist/agent/scheduler.d.ts.map +0 -1
  204. package/dist/agent/scheduler.js +0 -125
  205. package/dist/agent/scheduler.js.map +0 -1
  206. package/dist/agent/session.d.ts +0 -20
  207. package/dist/agent/session.d.ts.map +0 -1
  208. package/dist/agent/session.js +0 -88
  209. package/dist/agent/session.js.map +0 -1
  210. package/dist/agent/stores.d.ts +0 -48
  211. package/dist/agent/stores.d.ts.map +0 -1
  212. package/dist/agent/stores.js +0 -2
  213. package/dist/agent/stores.js.map +0 -1
  214. package/dist/agent/tools/browser/ats-patterns.d.ts +0 -20
  215. package/dist/agent/tools/browser/ats-patterns.d.ts.map +0 -1
  216. package/dist/agent/tools/browser/ats-patterns.js +0 -226
  217. package/dist/agent/tools/browser/ats-patterns.js.map +0 -1
  218. package/dist/agent/tools/browser/index.d.ts +0 -14
  219. package/dist/agent/tools/browser/index.d.ts.map +0 -1
  220. package/dist/agent/tools/browser/index.js +0 -126
  221. package/dist/agent/tools/browser/index.js.map +0 -1
  222. package/dist/agent/tools/browser/operator-runtime.d.ts +0 -35
  223. package/dist/agent/tools/browser/operator-runtime.d.ts.map +0 -1
  224. package/dist/agent/tools/browser/operator-runtime.js +0 -93
  225. package/dist/agent/tools/browser/operator-runtime.js.map +0 -1
  226. package/dist/agent/tools/browser/providers/chrome-mcp.d.ts +0 -3
  227. package/dist/agent/tools/browser/providers/chrome-mcp.d.ts.map +0 -1
  228. package/dist/agent/tools/browser/providers/chrome-mcp.js +0 -164
  229. package/dist/agent/tools/browser/providers/chrome-mcp.js.map +0 -1
  230. package/dist/agent/tools/browser/providers/playwright.d.ts +0 -7
  231. package/dist/agent/tools/browser/providers/playwright.d.ts.map +0 -1
  232. package/dist/agent/tools/browser/providers/playwright.js +0 -619
  233. package/dist/agent/tools/browser/providers/playwright.js.map +0 -1
  234. package/dist/agent/tools/browser/types.d.ts +0 -22
  235. package/dist/agent/tools/browser/types.d.ts.map +0 -1
  236. package/dist/agent/tools/browser/types.js +0 -15
  237. package/dist/agent/tools/browser/types.js.map +0 -1
  238. package/dist/agent/tools/cancel-task.d.ts +0 -4
  239. package/dist/agent/tools/cancel-task.d.ts.map +0 -1
  240. package/dist/agent/tools/cancel-task.js +0 -29
  241. package/dist/agent/tools/cancel-task.js.map +0 -1
  242. package/dist/agent/tools/career-advice.d.ts +0 -3
  243. package/dist/agent/tools/career-advice.d.ts.map +0 -1
  244. package/dist/agent/tools/career-advice.js +0 -49
  245. package/dist/agent/tools/career-advice.js.map +0 -1
  246. package/dist/agent/tools/index.d.ts +0 -15
  247. package/dist/agent/tools/index.d.ts.map +0 -1
  248. package/dist/agent/tools/index.js +0 -94
  249. package/dist/agent/tools/index.js.map +0 -1
  250. package/dist/agent/tools/job-search.d.ts +0 -3
  251. package/dist/agent/tools/job-search.d.ts.map +0 -1
  252. package/dist/agent/tools/job-search.js +0 -77
  253. package/dist/agent/tools/job-search.js.map +0 -1
  254. package/dist/agent/tools/list-tasks.d.ts +0 -4
  255. package/dist/agent/tools/list-tasks.d.ts.map +0 -1
  256. package/dist/agent/tools/list-tasks.js +0 -24
  257. package/dist/agent/tools/list-tasks.js.map +0 -1
  258. package/dist/agent/tools/market-data.d.ts +0 -8
  259. package/dist/agent/tools/market-data.d.ts.map +0 -1
  260. package/dist/agent/tools/market-data.js +0 -133
  261. package/dist/agent/tools/market-data.js.map +0 -1
  262. package/dist/agent/tools/memory-write.d.ts +0 -3
  263. package/dist/agent/tools/memory-write.d.ts.map +0 -1
  264. package/dist/agent/tools/memory-write.js +0 -48
  265. package/dist/agent/tools/memory-write.js.map +0 -1
  266. package/dist/agent/tools/resume.d.ts +0 -3
  267. package/dist/agent/tools/resume.d.ts.map +0 -1
  268. package/dist/agent/tools/resume.js +0 -70
  269. package/dist/agent/tools/resume.js.map +0 -1
  270. package/dist/agent/tools/schedule-task.d.ts +0 -4
  271. package/dist/agent/tools/schedule-task.d.ts.map +0 -1
  272. package/dist/agent/tools/schedule-task.js +0 -39
  273. package/dist/agent/tools/schedule-task.js.map +0 -1
  274. package/dist/agent/tools/shell.d.ts +0 -6
  275. package/dist/agent/tools/shell.d.ts.map +0 -1
  276. package/dist/agent/tools/shell.js +0 -66
  277. package/dist/agent/tools/shell.js.map +0 -1
  278. package/dist/agent/tools/web-search.d.ts +0 -6
  279. package/dist/agent/tools/web-search.d.ts.map +0 -1
  280. package/dist/agent/tools/web-search.js +0 -73
  281. package/dist/agent/tools/web-search.js.map +0 -1
  282. package/dist/agent/types.d.ts +0 -103
  283. package/dist/agent/types.d.ts.map +0 -1
  284. package/dist/agent/types.js +0 -11
  285. package/dist/agent/types.js.map +0 -1
  286. package/dist/channels/index.d.ts +0 -10
  287. package/dist/channels/index.d.ts.map +0 -1
  288. package/dist/channels/index.js +0 -15
  289. package/dist/channels/index.js.map +0 -1
  290. package/dist/channels/telegram.d.ts +0 -21
  291. package/dist/channels/telegram.d.ts.map +0 -1
  292. package/dist/channels/telegram.js +0 -255
  293. package/dist/channels/telegram.js.map +0 -1
  294. package/dist/channels/types.d.ts +0 -24
  295. package/dist/channels/types.d.ts.map +0 -1
  296. package/dist/channels/types.js +0 -2
  297. package/dist/channels/types.js.map +0 -1
  298. package/dist/cli/templates/HEARTBEAT.md +0 -6
  299. package/dist/cli/templates/MEMORY.md +0 -6
  300. package/dist/cli/templates/PREFERENCES.md +0 -40
  301. package/dist/cli/templates/PROFILE.md +0 -26
  302. package/dist/cli/templates/SOUL.md +0 -23
  303. package/dist/connectors/google-calendar.d.ts +0 -8
  304. package/dist/connectors/google-calendar.d.ts.map +0 -1
  305. package/dist/connectors/google-calendar.js +0 -23
  306. package/dist/connectors/google-calendar.js.map +0 -1
  307. package/dist/connectors/google-gmail.d.ts +0 -8
  308. package/dist/connectors/google-gmail.d.ts.map +0 -1
  309. package/dist/connectors/google-gmail.js +0 -30
  310. package/dist/connectors/google-gmail.js.map +0 -1
  311. package/dist/connectors/google-oauth.d.ts +0 -17
  312. package/dist/connectors/google-oauth.d.ts.map +0 -1
  313. package/dist/connectors/google-oauth.js +0 -52
  314. package/dist/connectors/google-oauth.js.map +0 -1
  315. package/dist/connectors/index.d.ts +0 -5
  316. package/dist/connectors/index.d.ts.map +0 -1
  317. package/dist/connectors/index.js +0 -5
  318. package/dist/connectors/index.js.map +0 -1
  319. package/dist/connectors/types.d.ts +0 -20
  320. package/dist/connectors/types.d.ts.map +0 -1
  321. package/dist/connectors/types.js +0 -5
  322. package/dist/connectors/types.js.map +0 -1
  323. package/dist/discovery/session-bootstrap.schema.d.ts +0 -77
  324. package/dist/discovery/session-bootstrap.schema.d.ts.map +0 -1
  325. package/dist/discovery/session-bootstrap.schema.js +0 -24
  326. package/dist/discovery/session-bootstrap.schema.js.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,23 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented in this file.
4
+
5
+ ## Unreleased
6
+
7
+ ## 0.2.1 - 2026-03-02
8
+
9
+ - Added SQLite-backed MCP persistence for profile + conversation state and exposed persistence APIs from `artemys/mcp-server`.
10
+ - Added `artemys talent` CLI subcommands and `--persist` support for `artemys mcp-server`.
11
+ - Added OpenClaw/MCP/talent quickstart docs and protocol flow diagrams.
12
+ - Hardened Coffee Shop service with API rate limiting, attestation expiry enforcement in discovery paths, and richer health/monitoring output.
13
+
14
+ - Added secure intro handoff contract in Coffee Shop bootstrap responses with explicit relay/direct handoff fields.
15
+ - Added bootstrap-issued shared secret lifecycle metadata and intro session secret rotation endpoint.
16
+ - Added Coffee Shop client and CLI fallback support for resolving transport shared secrets from accepted intros.
17
+ - Added runnable reference runtime loop (`examples/reference-runtime-loop.ts`) with happy path and timeout/deferred behavior.
18
+ - Updated docs for fundamentals, getting started, versioning, and current SDK/product boundary.
19
+
20
+ ## 0.1.2 - 2026-02-24
21
+
22
+ - Scope cleanup to keep Artemys focused on interoperability primitives.
23
+ - Removed stale references to previously extracted product workflows from package exports and docs.
package/README.md CHANGED
@@ -1,234 +1,233 @@
1
1
  <div align="center">
2
2
 
3
- <img src="https://raw.githubusercontent.com/artemyshq/artemys/main/.github/assets/artie-icon.svg" width="52" alt="Artie">
3
+ <img src="https://gist.githubusercontent.com/jblue-ops/4f2ddf27e37b2ca8358168535c8fd8ee/raw/artemys-icon.svg" width="56" alt="Artemys">
4
4
 
5
- <h1>A R T E M Y S</h1>
5
+ # Artemys
6
6
 
7
- **The open ecosystem for agent-to-agent career communication**
8
-
9
- *Athletes have agents. Executives have agents. Actors have agents.<br>
10
- Now everyone does.*
11
-
12
- <br>
7
+ **Open protocol for agent-to-agent career communication**
13
8
 
14
9
  [![npm](https://img.shields.io/npm/v/artemys?style=flat-square&color=000&label=npm)](https://www.npmjs.com/package/artemys)
15
10
  [![license](https://img.shields.io/badge/license-MIT-000?style=flat-square)](LICENSE)
16
- [![TypeScript](https://img.shields.io/badge/TypeScript-first-000?style=flat-square&logo=typescript&logoColor=fff)](https://www.typescriptlang.org/)
17
- [![tests](https://img.shields.io/badge/tests-155%2B_passing-000?style=flat-square)](https://github.com/artemyshq/artemys)
11
+ [![TypeScript](https://img.shields.io/badge/TypeScript-000?style=flat-square&logo=typescript&logoColor=fff)](https://www.typescriptlang.org/)
18
12
 
19
- **[Vision](docs/VISION.md)** · **[Docs](docs/)** · **[Protocol Spec](protocol/)** · **[npm](https://www.npmjs.com/package/artemys)**
13
+ [Quickstart](docs/quickstart.md) &middot; [Protocol Flow](docs/protocol-flow.md) &middot; [MCP Integration](docs/mcp-integration.md) &middot; [npm](https://www.npmjs.com/package/artemys)
20
14
 
21
15
  </div>
22
16
 
23
- ---
24
-
25
- ## The Problem
26
-
27
- Every hiring system in the market was built for the old world. And every communication channel between talent and opportunity was built for a world where humans do the talking.
17
+ <br>
28
18
 
29
- **The systems are broken.** They assume stable job families, linear career paths, and credentials as efficient proxies for capability. They filter people based on keywords, titles, and yearsthe exact signals that are losing meaning. 98% of Fortune 500 companies use AI in hiring — to automate the same broken credential-matching faster.
19
+ Artemys is the open protocol and SDK for agent-to-agent professional career communication. Candidate agents and employer agents discover each other, exchange structured career data, and negotiateso humans only engage at moments of meaningful choice.
30
20
 
31
- **The communication is broken.** Candidates manually update profiles, write performative cover letters, and spray-and-pray applications. Recruiters send mass outreach that gets ignored. Both sides spend 90% of their time on overhead and 10% on signal. LinkedIn has become a spam wasteland where everyone performs and nobody communicates.
21
+ Everything routes through **Coffee Shop**, the central hub and exchange. Agents don't talk directly. Coffee Shop matches candidates with jobs, routes messages, and holds state. This is how Stripe works for payments Artemys is the payment rails for talent acquisition.
32
22
 
33
- **The result:** The recruiter who ships production software gets filtered out because they're "not an engineer on paper." Career changers, non-traditional builders, and high-agency generalists are structurally invisible. And even when the right person and the right opportunity exist in the same market, the communication infrastructure between them is so noisy and broken that they never connect.
23
+ <br>
34
24
 
35
- The industry is racing to automate the existing process faster. Nobody is asking whether the process itself is wrong.
25
+ ## How It Works
36
26
 
37
- ---
27
+ ```
28
+ Candidate Agent ──► Coffee Shop Hub ◄── Employer Agent
29
+ POST /profiles matches POST /jobs
30
+ GET /matches routes GET /candidates
31
+ POST /applications messages POST /candidates/{id}/message
32
+ GET /inbox GET /applications
33
+ ```
38
34
 
39
- ## You Deserve Representation
35
+ Both sides talk to Coffee Shop. Coffee Shop matches, routes, and holds state. No peer-to-peer communication. Authentication is API key based — register, get a key, use it as a Bearer token.
40
36
 
41
- Athletes have agents. Executives have agents. Actors have agents.
37
+ <br>
42
38
 
43
- These agents exist because **talent shouldn't have to sell itself**. An agent knows the market, understands your worth, handles the noise, and makes sure you only spend time on opportunities that matter. They represent your interests — not the buyer's.
39
+ ## Install
44
40
 
45
- Why doesn't everyone have this?
41
+ ```bash
42
+ npm install artemys
43
+ ```
46
44
 
47
- Because until now, it didn't scale. A human agent for every professional in the world isn't possible. **But an AI agent is.** One that knows your skills, understands your goals, respects your boundaries, and works on your behalf around the clock.
45
+ <br>
48
46
 
49
- **That's what Artemys makes possible.**
47
+ ## Quick Start
50
48
 
51
- Artemys is the open ecosystem for building career agents — the protocol they speak, the schemas they validate against, the runtime they run on, and the discovery layer where they find each other. Anyone can build a candidate agent or a talent agent on top of it.
49
+ ```typescript
50
+ import { CoffeeShopClient } from "artemys/coffeeshop"
52
51
 
53
- > **The candidate sets direction and boundaries. Their agent handles everything else.**
52
+ // Create a client (canonical URL baked in, or override for self-hosting)
53
+ const client = new CoffeeShopClient({
54
+ baseUrl: "https://api.artemys.io",
55
+ apiKey: "cs_live_...",
56
+ agentId: "candidate-agent-01",
57
+ })
54
58
 
55
- We're building **[Artie](https://artemys.ai)** — a candidate agent powered by Artemys. But the ecosystem is open: anyone can build agents that speak the protocol.
59
+ // Post your profile
60
+ await client.createProfile({
61
+ skills: ["TypeScript", "Node.js", "distributed-systems"],
62
+ experience_years: 8,
63
+ preferences: { remote: true, locations: ["New York"] },
64
+ availability: "active",
65
+ })
56
66
 
57
- ---
67
+ // Get matching jobs
68
+ const matches = await client.getMatches({ limit: 20 })
58
69
 
59
- ## How It Works
70
+ // Apply to a job
71
+ await client.submitApplication("job-123", {
72
+ display_name: "Taylor Jordan",
73
+ skills: ["TypeScript", "Node.js"],
74
+ experience_years: 8,
75
+ }, "Strong match on backend distributed systems")
60
76
 
77
+ // Check inbox for employer messages
78
+ const messages = await client.getInbox({ unread_only: true })
61
79
  ```
62
- You Company
63
- │ │
64
- ┌────▼──────┐ ◆ Artemys Protocol ◆ ┌──────────▼──┐
65
- │ Your Agent │◄──────────────────────────►│ Talent Agent │
66
- │(e.g. Artie)│ discover → handshake → │ (Theirs) │
67
- └────────────┘ consent → dialogue → └──────────────┘
68
- resolution
69
- ```
70
-
71
- When both sides have agents, professional career communication transforms:
72
80
 
73
- | Today (Human-to-Human) | Artemys (Agent-to-Agent) |
74
- |-------------------------|--------------------------|
75
- | Recruiter sends cold email | Talent agent queries candidate Arties matching real criteria |
76
- | Candidate ignores 95% of messages | Artie evaluates and silently declines irrelevant queries |
77
- | Candidate manually tailors resume per app | Artie shares relevant evidence contextually |
78
- | Both sides guess at fit through phone screens | Agents exchange structured information progressively |
79
- | Humans spend weeks on discovery | Agents resolve fit in hours; humans meet when it matters |
80
- | Ghosting, black holes, no feedback | Every interaction resolves: mutual interest, decline, or defer |
81
+ <br>
81
82
 
82
- **Consent is structural.** Candidates control what's shared, when, and with whom — enforced at the protocol level, not as a setting buried in a menu. The protocol ensures both sides progressively reveal information as trust builds. Neither side dumps everything upfront.
83
+ ## Modules
83
84
 
84
- ---
85
+ | Import | Description |
86
+ |--------|-------------|
87
+ | `artemys` / `artemys/protocol` | 12 message types, 47 Zod schemas, 8-state FSM |
88
+ | `artemys/discovery` | Agent card schemas |
89
+ | `artemys/coffeeshop` | **Coffee Shop hub client** — profiles, jobs, matching, messaging |
90
+ | `artemys/mcp-server` | MCP server + talent tools for AI agents |
91
+ | `artemys/integrations` | Job board connectors (cold-start bridge) |
92
+ | `artemys/openclaw` | OpenClaw skill manifest |
85
93
 
86
- ## What We're Building
94
+ <br>
87
95
 
88
- | We ARE Building | We Are NOT Building |
89
- |-----------------|---------------------|
90
- | Agent-to-agent career communication protocol | A LinkedIn replacement or job board |
91
- | Personal career agents that represent candidates 24/7 | A passive profile platform |
92
- | Autonomous talent agents that DO the job | AI tools that help humans do jobs faster |
93
- | Skills-based, agency-aware screening | Faster credential matching |
94
- | Open protocol anyone can build on | A walled garden |
95
- | Consent-native communication | Opt-out-only spam |
96
+ ## Candidate Flow
96
97
 
97
- ---
98
+ 1. Register agent with Coffee Shop (`POST /v1/agents`) — get API key
99
+ 2. Post structured profile (`POST /v1/profiles`) — skills, experience, preferences
100
+ 3. Get matching jobs (`GET /v1/matches`) — Coffee Shop returns ranked results
101
+ 4. Submit application (`POST /v1/applications`) — employer is notified
102
+ 5. Check inbox (`GET /v1/inbox`) — employer follow-up questions arrive here
103
+ 6. Respond to messages (`POST /v1/inbox/{id}/respond`) — consent-filtered by your agent
104
+ 7. Mutual interest or pass — humans take over for interviews
98
105
 
99
- ## Install
106
+ <br>
100
107
 
101
- ```bash
102
- npm install artemys
103
- # or
104
- bun add artemys
105
- ```
108
+ ## Employer Flow
106
109
 
107
- ## Quick Example
110
+ 1. Register agent with Coffee Shop (`POST /v1/agents`) — get API key
111
+ 2. Post job (`POST /v1/jobs`) — structured role, requirements, compensation range
112
+ 3. Get matching candidates (`GET /v1/candidates`) — Coffee Shop returns ranked results
113
+ 4. Message a candidate (`POST /v1/candidates/{id}/message`) — routed to their inbox
114
+ 5. Review applications (`GET /v1/applications`) — candidates who expressed interest
115
+ 6. Decide on applications (`POST /v1/applications/{id}/decide`) — move forward or pass
108
116
 
109
- ```typescript
110
- import { HandshakeInitiateSchema, PROTOCOL_VERSION } from "artemys"
111
- import { AgentCardSchema } from "artemys/discovery"
112
- import { ArtemysRuntime, loadConfig } from "artemys/agent"
113
-
114
- // Every agent starts with a card — who you are, what you can do
115
- const card = AgentCardSchema.parse({
116
- agent_id: "artie-001",
117
- display_name: "Artie",
118
- role: "candidate_agent",
119
- protocol_versions: [PROTOCOL_VERSION],
120
- capabilities: ["skills_exchange", "interview_prep"],
121
- // ... endpoints, policy, attestation
122
- })
123
-
124
- // Start the runtime — your agent goes live
125
- const runtime = new ArtemysRuntime(loadConfig())
126
- await runtime.start()
127
- ```
117
+ <br>
128
118
 
129
- ---
119
+ ## Authentication
130
120
 
131
- ## Architecture
121
+ API key based. No shared secrets between agents, no HMAC handshakes.
132
122
 
133
123
  ```
134
- artemys
135
- ├── 📋 Protocol Zod schemas · state machine · message validation
136
- ├── ☕ Discovery Agent cards · registration · intro ("Coffee Shop")
137
- ├── 🤖 Agent Runtime · tools · scheduling · MCP integration
138
- ├── 📡 Channels Telegram adapter · channel registry
139
- └── CLI onboard · doctor · start
124
+ POST /v1/agents → { agent_id, api_key } (shown once)
125
+ Authorization: Bearer cs_live_abc123...
126
+
127
+ Coffee Shop validates:
128
+ 1. API key exists and is active
129
+ 2. Agent is not suspended
130
+ 3. Rate limit not exceeded (120 req/60s)
131
+ 4. Agent has permission for the operation
140
132
  ```
141
133
 
142
- ## Modules
134
+ Rotate keys anytime: `POST /v1/agents/{id}/rotate-key`
143
135
 
144
- ### 📋 Protocol
136
+ <br>
145
137
 
146
- Typed Zod schemas for the full conversation lifecycle — handshake, consent gates, dialogue, and resolution.
138
+ ## CLI
147
139
 
148
- ```typescript
149
- import { HandshakeInitiateSchema, PROTOCOL_VERSION } from "artemys"
150
- // or explicitly:
151
- import { HandshakeInitiateSchema } from "artemys/protocol"
140
+ ```bash
141
+ artemys register # Register an agent card with Coffee Shop
142
+ artemys discover # Query for compatible agents
143
+ artemys rotate-key # Rotate Coffee Shop API key
144
+ artemys mcp-server # Start the MCP bridge server
145
+ artemys talent search # Search for matching opportunities
146
+ artemys talent apply # Submit an application
147
+ artemys talent status # Check inbox messages
148
+ artemys talent profile # Update stored candidate profile
149
+ artemys version # Print CLI version
150
+ artemys help # Show help
152
151
  ```
153
152
 
154
- Includes `Envelope`, `ConversationState`, state machine transitions, `ConsentProfile`, `ConsentGate`, `FitAssessment`, and 20+ message schemas covering every phase of agent-to-agent communication.
153
+ <br>
155
154
 
156
- ### Discovery
155
+ ## MCP Server
157
156
 
158
- The "Coffee Shop" layer where agents find each other, exchange cards, and bootstrap sessions.
157
+ The MCP server is the recommended path for personal AI users (Claude Code, Cursor, Windsurf, OpenClaw). It activates a **talent subagent** — your AI gains career capability through the Artemys protocol.
159
158
 
160
- ```typescript
161
- import { AgentCardSchema, DiscoveryQuerySchema } from "artemys/discovery"
159
+ ```bash
160
+ export ARTEMYS_COFFEESHOP_API_KEY="<api-key>"
161
+ artemys mcp-server --agent-card ./agent-card.json --persist
162
162
  ```
163
163
 
164
- Includes `AgentCard`, `DiscoveryQuery`, `IntroRequest`, `SessionBootstrap`, and relay/direct handoff flows.
164
+ ### Tool surface
165
165
 
166
- ### 🤖 Agent
166
+ | Category | Tools |
167
+ |----------|-------|
168
+ | Discovery | `discover_agents` |
169
+ | Messaging | `check_inbox`, `respond_to_message` |
170
+ | Protocol | `send_protocol_message`, `validate_message`, `list_conversations` |
171
+ | Talent | `search_opportunities`, `express_interest`, `check_conversations`, `update_profile` |
167
172
 
168
- Runtime framework for building career agents with built-in tools, task scheduling, browser automation, and MCP integration.
173
+ See [MCP Integration Guide](docs/mcp-integration.md) for setup with Claude Code, Cursor, and Windsurf.
174
+
175
+ <br>
176
+
177
+ ## OpenClaw Skill
169
178
 
170
179
  ```typescript
171
- import { ArtemysRuntime, loadConfig } from "artemys/agent"
180
+ import { ArtemysTalentSkillManifest } from "artemys/openclaw"
172
181
  ```
173
182
 
174
- **Built-in tools:** career advice · resume generation · market data · job search · web search · browser automation · memory · shell · task scheduling
183
+ Commands: `talent start`, `talent search`, `talent apply`, `talent status`, `talent profile`
175
184
 
176
- ### 📡 Channels
185
+ See [OpenClaw Skill Guide](docs/openclaw-skill.md).
177
186
 
178
- Communication adapters for reaching agents wherever they are.
187
+ <br>
179
188
 
180
- ```typescript
181
- import { TelegramAdapter } from "artemys/channels/telegram"
182
- import { ChannelRegistry } from "artemys/channels"
183
- ```
189
+ ## Coffee Shop Service
184
190
 
185
- ### CLI
191
+ Self-host the Coffee Shop server for development or testing:
186
192
 
187
193
  ```bash
188
- artemys onboard # Guided agent setup
189
- artemys doctor # Validate your configuration
190
- artemys start # Launch your agent
194
+ cd service
195
+ bun install
196
+ bun run migrate
197
+ vercel dev
191
198
  ```
192
199
 
193
- ---
194
-
195
- ## Ecosystem
196
-
197
- | | Component | Role |
198
- |---|-----------|------|
199
- | 🔷 | **[artemys](https://github.com/artemyshq/artemys)** | Open ecosystem + SDK *(you are here)* |
200
- | 🟢 | **[Artie](https://artemys.ai)** | Reference candidate agent — your personal career agent |
201
- | 🟠 | **Talent Agents** | Employer-side agents — anyone can build one using the protocol |
202
-
203
- The protocol is open. The SDK is open. Build your own agent, extend the protocol, or use Artie out of the box.
200
+ Production deployment uses Vercel serverless + Turso (LibSQL).
204
201
 
205
- ---
202
+ <br>
206
203
 
207
204
  ## Development
208
205
 
209
206
  ```bash
210
- bun install # Install dependencies
211
- bun run build # Build the SDK
212
- bun run test # Run 155+ tests
213
- bun run type-check # TypeScript validation
214
- bun run protocol:check # Protocol conformance tests
207
+ bun install # Install dependencies
208
+ bun run type-check # Type-check without emitting
209
+ bun run test # Run test suite
210
+ bun run build # Build to dist/
211
+ bun run protocol:check # Run protocol contract tests
215
212
  ```
216
213
 
217
- ## Docs
214
+ <br>
218
215
 
219
- | | Document | Covers |
220
- |---|---------|--------|
221
- | 📖 | **[Vision](docs/VISION.md)** | Why we exist · What we believe · What we're building |
222
- | 💡 | **[Why Artie](docs/WHY-ARTIE.md)** | The candidate story · What's broken · What Artie fixes |
223
- | 🔧 | **[How Artie Works](docs/HOW-ARTIE-WORKS.md)** | Product and technical reference |
224
- | 📋 | **[Protocol Spec](protocol/)** | Normative docs · Fixtures · Conformance checklist |
216
+ ## Ecosystem
225
217
 
226
- ---
218
+ - [Artie](https://artie.app) — hosted candidate agent (for users without a personal AI)
219
+ - [Orion](https://github.com/artemyshq/orion) — employer talent agent platform
227
220
 
228
- <div align="center">
221
+ <br>
222
+
223
+ ## Contributing
229
224
 
230
- **Built for a world where talent has representation.**
225
+ Artemys is open source under the [MIT License](LICENSE).
231
226
 
232
- [MIT License](LICENSE)
227
+ The protocol spec is frozen — changes require a version bump and updated contract fixtures. Contributions should stay focused on interoperability primitives; product-specific logic belongs in downstream repos.
233
228
 
229
+ <br>
230
+
231
+ <div align="center">
232
+ <sub>Built by <a href="https://artemys.ai">Artemys</a></sub>
234
233
  </div>
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ export declare function runCli(argv?: string[]): Promise<void>;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAsfA,wBAAsB,MAAM,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCxE"}