@richhardry/codor 0.10.0

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 (388) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +293 -0
  3. package/bin/codor.mjs +7 -0
  4. package/node_modules/@codor/adapter-antigravity/dist/adapter.d.ts +41 -0
  5. package/node_modules/@codor/adapter-antigravity/dist/adapter.d.ts.map +1 -0
  6. package/node_modules/@codor/adapter-antigravity/dist/adapter.js +275 -0
  7. package/node_modules/@codor/adapter-antigravity/dist/adapter.js.map +1 -0
  8. package/node_modules/@codor/adapter-antigravity/dist/index.d.ts +2 -0
  9. package/node_modules/@codor/adapter-antigravity/dist/index.d.ts.map +1 -0
  10. package/node_modules/@codor/adapter-antigravity/dist/index.js +2 -0
  11. package/node_modules/@codor/adapter-antigravity/dist/index.js.map +1 -0
  12. package/node_modules/@codor/adapter-antigravity/package.json +18 -0
  13. package/node_modules/@codor/adapter-claude-code/dist/adapter.d.ts +94 -0
  14. package/node_modules/@codor/adapter-claude-code/dist/adapter.d.ts.map +1 -0
  15. package/node_modules/@codor/adapter-claude-code/dist/adapter.js +785 -0
  16. package/node_modules/@codor/adapter-claude-code/dist/adapter.js.map +1 -0
  17. package/node_modules/@codor/adapter-claude-code/dist/index.d.ts +8 -0
  18. package/node_modules/@codor/adapter-claude-code/dist/index.d.ts.map +1 -0
  19. package/node_modules/@codor/adapter-claude-code/dist/index.js +5 -0
  20. package/node_modules/@codor/adapter-claude-code/dist/index.js.map +1 -0
  21. package/node_modules/@codor/adapter-claude-code/dist/limits-probe.d.ts +18 -0
  22. package/node_modules/@codor/adapter-claude-code/dist/limits-probe.d.ts.map +1 -0
  23. package/node_modules/@codor/adapter-claude-code/dist/limits-probe.js +67 -0
  24. package/node_modules/@codor/adapter-claude-code/dist/limits-probe.js.map +1 -0
  25. package/node_modules/@codor/adapter-claude-code/dist/peek.d.ts +3 -0
  26. package/node_modules/@codor/adapter-claude-code/dist/peek.d.ts.map +1 -0
  27. package/node_modules/@codor/adapter-claude-code/dist/peek.js +128 -0
  28. package/node_modules/@codor/adapter-claude-code/dist/peek.js.map +1 -0
  29. package/node_modules/@codor/adapter-claude-code/dist/query.d.ts +9 -0
  30. package/node_modules/@codor/adapter-claude-code/dist/query.d.ts.map +1 -0
  31. package/node_modules/@codor/adapter-claude-code/dist/query.js +7 -0
  32. package/node_modules/@codor/adapter-claude-code/dist/query.js.map +1 -0
  33. package/node_modules/@codor/adapter-claude-code/dist/translate.d.ts +40 -0
  34. package/node_modules/@codor/adapter-claude-code/dist/translate.d.ts.map +1 -0
  35. package/node_modules/@codor/adapter-claude-code/dist/translate.js +505 -0
  36. package/node_modules/@codor/adapter-claude-code/dist/translate.js.map +1 -0
  37. package/node_modules/@codor/adapter-claude-code/package.json +18 -0
  38. package/node_modules/@codor/adapter-codex/dist/adapter.d.ts +105 -0
  39. package/node_modules/@codor/adapter-codex/dist/adapter.d.ts.map +1 -0
  40. package/node_modules/@codor/adapter-codex/dist/adapter.js +625 -0
  41. package/node_modules/@codor/adapter-codex/dist/adapter.js.map +1 -0
  42. package/node_modules/@codor/adapter-codex/dist/app-server-transport.d.ts +39 -0
  43. package/node_modules/@codor/adapter-codex/dist/app-server-transport.d.ts.map +1 -0
  44. package/node_modules/@codor/adapter-codex/dist/app-server-transport.js +186 -0
  45. package/node_modules/@codor/adapter-codex/dist/app-server-transport.js.map +1 -0
  46. package/node_modules/@codor/adapter-codex/dist/index.d.ts +8 -0
  47. package/node_modules/@codor/adapter-codex/dist/index.d.ts.map +1 -0
  48. package/node_modules/@codor/adapter-codex/dist/index.js +5 -0
  49. package/node_modules/@codor/adapter-codex/dist/index.js.map +1 -0
  50. package/node_modules/@codor/adapter-codex/dist/limits-probe.d.ts +18 -0
  51. package/node_modules/@codor/adapter-codex/dist/limits-probe.d.ts.map +1 -0
  52. package/node_modules/@codor/adapter-codex/dist/limits-probe.js +87 -0
  53. package/node_modules/@codor/adapter-codex/dist/limits-probe.js.map +1 -0
  54. package/node_modules/@codor/adapter-codex/dist/peek.d.ts +3 -0
  55. package/node_modules/@codor/adapter-codex/dist/peek.d.ts.map +1 -0
  56. package/node_modules/@codor/adapter-codex/dist/peek.js +98 -0
  57. package/node_modules/@codor/adapter-codex/dist/peek.js.map +1 -0
  58. package/node_modules/@codor/adapter-codex/dist/translate.d.ts +17 -0
  59. package/node_modules/@codor/adapter-codex/dist/translate.d.ts.map +1 -0
  60. package/node_modules/@codor/adapter-codex/dist/translate.js +286 -0
  61. package/node_modules/@codor/adapter-codex/dist/translate.js.map +1 -0
  62. package/node_modules/@codor/adapter-codex/package.json +17 -0
  63. package/node_modules/@codor/adapter-copilot/dist/adapter.d.ts +40 -0
  64. package/node_modules/@codor/adapter-copilot/dist/adapter.d.ts.map +1 -0
  65. package/node_modules/@codor/adapter-copilot/dist/adapter.js +190 -0
  66. package/node_modules/@codor/adapter-copilot/dist/adapter.js.map +1 -0
  67. package/node_modules/@codor/adapter-copilot/dist/index.d.ts +4 -0
  68. package/node_modules/@codor/adapter-copilot/dist/index.d.ts.map +1 -0
  69. package/node_modules/@codor/adapter-copilot/dist/index.js +3 -0
  70. package/node_modules/@codor/adapter-copilot/dist/index.js.map +1 -0
  71. package/node_modules/@codor/adapter-copilot/dist/translate.d.ts +11 -0
  72. package/node_modules/@codor/adapter-copilot/dist/translate.d.ts.map +1 -0
  73. package/node_modules/@codor/adapter-copilot/dist/translate.js +184 -0
  74. package/node_modules/@codor/adapter-copilot/dist/translate.js.map +1 -0
  75. package/node_modules/@codor/adapter-copilot/package.json +18 -0
  76. package/node_modules/@codor/adapter-cursor/dist/adapter.d.ts +32 -0
  77. package/node_modules/@codor/adapter-cursor/dist/adapter.d.ts.map +1 -0
  78. package/node_modules/@codor/adapter-cursor/dist/adapter.js +179 -0
  79. package/node_modules/@codor/adapter-cursor/dist/adapter.js.map +1 -0
  80. package/node_modules/@codor/adapter-cursor/dist/index.d.ts +9 -0
  81. package/node_modules/@codor/adapter-cursor/dist/index.d.ts.map +1 -0
  82. package/node_modules/@codor/adapter-cursor/dist/index.js +8 -0
  83. package/node_modules/@codor/adapter-cursor/dist/index.js.map +1 -0
  84. package/node_modules/@codor/adapter-cursor/dist/translate.d.ts +15 -0
  85. package/node_modules/@codor/adapter-cursor/dist/translate.d.ts.map +1 -0
  86. package/node_modules/@codor/adapter-cursor/dist/translate.js +164 -0
  87. package/node_modules/@codor/adapter-cursor/dist/translate.js.map +1 -0
  88. package/node_modules/@codor/adapter-cursor/package.json +17 -0
  89. package/node_modules/@codor/adapter-gemini/dist/adapter.d.ts +36 -0
  90. package/node_modules/@codor/adapter-gemini/dist/adapter.d.ts.map +1 -0
  91. package/node_modules/@codor/adapter-gemini/dist/adapter.js +245 -0
  92. package/node_modules/@codor/adapter-gemini/dist/adapter.js.map +1 -0
  93. package/node_modules/@codor/adapter-gemini/dist/index.d.ts +4 -0
  94. package/node_modules/@codor/adapter-gemini/dist/index.d.ts.map +1 -0
  95. package/node_modules/@codor/adapter-gemini/dist/index.js +3 -0
  96. package/node_modules/@codor/adapter-gemini/dist/index.js.map +1 -0
  97. package/node_modules/@codor/adapter-gemini/dist/translate.d.ts +12 -0
  98. package/node_modules/@codor/adapter-gemini/dist/translate.d.ts.map +1 -0
  99. package/node_modules/@codor/adapter-gemini/dist/translate.js +123 -0
  100. package/node_modules/@codor/adapter-gemini/dist/translate.js.map +1 -0
  101. package/node_modules/@codor/adapter-gemini/package.json +18 -0
  102. package/node_modules/@codor/adapter-opencode/dist/adapter.d.ts +42 -0
  103. package/node_modules/@codor/adapter-opencode/dist/adapter.d.ts.map +1 -0
  104. package/node_modules/@codor/adapter-opencode/dist/adapter.js +240 -0
  105. package/node_modules/@codor/adapter-opencode/dist/adapter.js.map +1 -0
  106. package/node_modules/@codor/adapter-opencode/dist/index.d.ts +4 -0
  107. package/node_modules/@codor/adapter-opencode/dist/index.d.ts.map +1 -0
  108. package/node_modules/@codor/adapter-opencode/dist/index.js +3 -0
  109. package/node_modules/@codor/adapter-opencode/dist/index.js.map +1 -0
  110. package/node_modules/@codor/adapter-opencode/dist/translate.d.ts +12 -0
  111. package/node_modules/@codor/adapter-opencode/dist/translate.d.ts.map +1 -0
  112. package/node_modules/@codor/adapter-opencode/dist/translate.js +144 -0
  113. package/node_modules/@codor/adapter-opencode/dist/translate.js.map +1 -0
  114. package/node_modules/@codor/adapter-opencode/package.json +18 -0
  115. package/node_modules/@codor/cli/dist/artifact.d.ts +33 -0
  116. package/node_modules/@codor/cli/dist/artifact.d.ts.map +1 -0
  117. package/node_modules/@codor/cli/dist/artifact.js +183 -0
  118. package/node_modules/@codor/cli/dist/artifact.js.map +1 -0
  119. package/node_modules/@codor/cli/dist/attach.d.ts +25 -0
  120. package/node_modules/@codor/cli/dist/attach.d.ts.map +1 -0
  121. package/node_modules/@codor/cli/dist/attach.js +133 -0
  122. package/node_modules/@codor/cli/dist/attach.js.map +1 -0
  123. package/node_modules/@codor/cli/dist/connection.d.ts +21 -0
  124. package/node_modules/@codor/cli/dist/connection.d.ts.map +1 -0
  125. package/node_modules/@codor/cli/dist/connection.js +130 -0
  126. package/node_modules/@codor/cli/dist/connection.js.map +1 -0
  127. package/node_modules/@codor/cli/dist/detect.d.ts +14 -0
  128. package/node_modules/@codor/cli/dist/detect.d.ts.map +1 -0
  129. package/node_modules/@codor/cli/dist/detect.js +99 -0
  130. package/node_modules/@codor/cli/dist/detect.js.map +1 -0
  131. package/node_modules/@codor/cli/dist/index.d.ts +17 -0
  132. package/node_modules/@codor/cli/dist/index.d.ts.map +1 -0
  133. package/node_modules/@codor/cli/dist/index.js +24 -0
  134. package/node_modules/@codor/cli/dist/index.js.map +1 -0
  135. package/node_modules/@codor/cli/dist/mirror.d.ts +4 -0
  136. package/node_modules/@codor/cli/dist/mirror.d.ts.map +1 -0
  137. package/node_modules/@codor/cli/dist/mirror.js +93 -0
  138. package/node_modules/@codor/cli/dist/mirror.js.map +1 -0
  139. package/node_modules/@codor/cli/dist/program.d.ts +17 -0
  140. package/node_modules/@codor/cli/dist/program.d.ts.map +1 -0
  141. package/node_modules/@codor/cli/dist/program.js +1068 -0
  142. package/node_modules/@codor/cli/dist/program.js.map +1 -0
  143. package/node_modules/@codor/cli/dist/runtime-install.d.ts +61 -0
  144. package/node_modules/@codor/cli/dist/runtime-install.d.ts.map +1 -0
  145. package/node_modules/@codor/cli/dist/runtime-install.js +122 -0
  146. package/node_modules/@codor/cli/dist/runtime-install.js.map +1 -0
  147. package/node_modules/@codor/cli/dist/runtime-paths.d.ts +24 -0
  148. package/node_modules/@codor/cli/dist/runtime-paths.d.ts.map +1 -0
  149. package/node_modules/@codor/cli/dist/runtime-paths.js +69 -0
  150. package/node_modules/@codor/cli/dist/runtime-paths.js.map +1 -0
  151. package/node_modules/@codor/cli/dist/setup-flow.d.ts +69 -0
  152. package/node_modules/@codor/cli/dist/setup-flow.d.ts.map +1 -0
  153. package/node_modules/@codor/cli/dist/setup-flow.js +110 -0
  154. package/node_modules/@codor/cli/dist/setup-flow.js.map +1 -0
  155. package/node_modules/@codor/cli/dist/setup-session.d.ts +105 -0
  156. package/node_modules/@codor/cli/dist/setup-session.d.ts.map +1 -0
  157. package/node_modules/@codor/cli/dist/setup-session.js +346 -0
  158. package/node_modules/@codor/cli/dist/setup-session.js.map +1 -0
  159. package/node_modules/@codor/cli/dist/setup-ui.d.ts +93 -0
  160. package/node_modules/@codor/cli/dist/setup-ui.d.ts.map +1 -0
  161. package/node_modules/@codor/cli/dist/setup-ui.js +249 -0
  162. package/node_modules/@codor/cli/dist/setup-ui.js.map +1 -0
  163. package/node_modules/@codor/cli/dist/setup.d.ts +108 -0
  164. package/node_modules/@codor/cli/dist/setup.d.ts.map +1 -0
  165. package/node_modules/@codor/cli/dist/setup.js +878 -0
  166. package/node_modules/@codor/cli/dist/setup.js.map +1 -0
  167. package/node_modules/@codor/cli/dist/terminal-keys.d.ts +26 -0
  168. package/node_modules/@codor/cli/dist/terminal-keys.d.ts.map +1 -0
  169. package/node_modules/@codor/cli/dist/terminal-keys.js +70 -0
  170. package/node_modules/@codor/cli/dist/terminal-keys.js.map +1 -0
  171. package/node_modules/@codor/cli/dist/terminal-qr.d.ts +2 -0
  172. package/node_modules/@codor/cli/dist/terminal-qr.d.ts.map +1 -0
  173. package/node_modules/@codor/cli/dist/terminal-qr.js +30 -0
  174. package/node_modules/@codor/cli/dist/terminal-qr.js.map +1 -0
  175. package/node_modules/@codor/cli/dist/up.d.ts +52 -0
  176. package/node_modules/@codor/cli/dist/up.d.ts.map +1 -0
  177. package/node_modules/@codor/cli/dist/up.js +178 -0
  178. package/node_modules/@codor/cli/dist/up.js.map +1 -0
  179. package/node_modules/@codor/cli/package.json +24 -0
  180. package/node_modules/@codor/cli/packaging/systemd/codor.service +21 -0
  181. package/node_modules/@codor/cli/runtime/web/assets/LandingPage-BOmG5kSw.js +31 -0
  182. package/node_modules/@codor/cli/runtime/web/assets/LedgerPage-CecuTS8-.js +1 -0
  183. package/node_modules/@codor/cli/runtime/web/assets/NoChannels-CYiBXGQd.js +11 -0
  184. package/node_modules/@codor/cli/runtime/web/assets/PairingCodeInput-Cr6XDWx-.js +1 -0
  185. package/node_modules/@codor/cli/runtime/web/assets/PairingPage-CQBWNA2L.js +6 -0
  186. package/node_modules/@codor/cli/runtime/web/assets/SettingsPage-DGLbSXE7.js +16 -0
  187. package/node_modules/@codor/cli/runtime/web/assets/StartupUnavailable-DdQBHip_.js +1 -0
  188. package/node_modules/@codor/cli/runtime/web/assets/arrow-left-BOpjMuRi.js +6 -0
  189. package/node_modules/@codor/cli/runtime/web/assets/browser-BWQYNOsD.js +6 -0
  190. package/node_modules/@codor/cli/runtime/web/assets/graph-toBZHlC0.js +1 -0
  191. package/node_modules/@codor/cli/runtime/web/assets/index-Cxi54Xim.js +408 -0
  192. package/node_modules/@codor/cli/runtime/web/assets/index-DjwJakJC.css +1 -0
  193. package/node_modules/@codor/cli/runtime/web/assets/qr-DpynCwP9.js +8 -0
  194. package/node_modules/@codor/cli/runtime/web/assets/react-C8w-UNLI.js +32 -0
  195. package/node_modules/@codor/cli/runtime/web/assets/sodium-DtsvMzX9.js +1 -0
  196. package/node_modules/@codor/cli/runtime/web/codor-192.png +0 -0
  197. package/node_modules/@codor/cli/runtime/web/codor-512.png +0 -0
  198. package/node_modules/@codor/cli/runtime/web/codor-apple-touch-180.png +0 -0
  199. package/node_modules/@codor/cli/runtime/web/codor-favicon.svg +86 -0
  200. package/node_modules/@codor/cli/runtime/web/codor-mark.svg +86 -0
  201. package/node_modules/@codor/cli/runtime/web/codor-maskable-512.png +0 -0
  202. package/node_modules/@codor/cli/runtime/web/codor-og.png +0 -0
  203. package/node_modules/@codor/cli/runtime/web/fonts/BitcountPropSingle-latin.woff2 +0 -0
  204. package/node_modules/@codor/cli/runtime/web/fonts/Geist-Variable.woff2 +0 -0
  205. package/node_modules/@codor/cli/runtime/web/fonts/GeistMono-Variable.woff2 +0 -0
  206. package/node_modules/@codor/cli/runtime/web/fonts/OFL.txt +93 -0
  207. package/node_modules/@codor/cli/runtime/web/index.html +53 -0
  208. package/node_modules/@codor/cli/runtime/web/manifest.webmanifest +1 -0
  209. package/node_modules/@codor/cli/runtime/web/sw.js +2 -0
  210. package/node_modules/@codor/protocol/dist/adapter.d.ts +118 -0
  211. package/node_modules/@codor/protocol/dist/adapter.d.ts.map +1 -0
  212. package/node_modules/@codor/protocol/dist/adapter.js +15 -0
  213. package/node_modules/@codor/protocol/dist/adapter.js.map +1 -0
  214. package/node_modules/@codor/protocol/dist/body.d.ts +14 -0
  215. package/node_modules/@codor/protocol/dist/body.d.ts.map +1 -0
  216. package/node_modules/@codor/protocol/dist/body.js +50 -0
  217. package/node_modules/@codor/protocol/dist/body.js.map +1 -0
  218. package/node_modules/@codor/protocol/dist/changelog.d.ts +30 -0
  219. package/node_modules/@codor/protocol/dist/changelog.d.ts.map +1 -0
  220. package/node_modules/@codor/protocol/dist/changelog.js +19 -0
  221. package/node_modules/@codor/protocol/dist/changelog.js.map +1 -0
  222. package/node_modules/@codor/protocol/dist/default-recipient.d.ts +8 -0
  223. package/node_modules/@codor/protocol/dist/default-recipient.d.ts.map +1 -0
  224. package/node_modules/@codor/protocol/dist/default-recipient.js +19 -0
  225. package/node_modules/@codor/protocol/dist/default-recipient.js.map +1 -0
  226. package/node_modules/@codor/protocol/dist/delivery.d.ts +42 -0
  227. package/node_modules/@codor/protocol/dist/delivery.d.ts.map +1 -0
  228. package/node_modules/@codor/protocol/dist/delivery.js +44 -0
  229. package/node_modules/@codor/protocol/dist/delivery.js.map +1 -0
  230. package/node_modules/@codor/protocol/dist/events.d.ts +284 -0
  231. package/node_modules/@codor/protocol/dist/events.d.ts.map +1 -0
  232. package/node_modules/@codor/protocol/dist/events.js +150 -0
  233. package/node_modules/@codor/protocol/dist/events.js.map +1 -0
  234. package/node_modules/@codor/protocol/dist/ids.d.ts +19 -0
  235. package/node_modules/@codor/protocol/dist/ids.d.ts.map +1 -0
  236. package/node_modules/@codor/protocol/dist/ids.js +27 -0
  237. package/node_modules/@codor/protocol/dist/ids.js.map +1 -0
  238. package/node_modules/@codor/protocol/dist/index.d.ts +14 -0
  239. package/node_modules/@codor/protocol/dist/index.d.ts.map +1 -0
  240. package/node_modules/@codor/protocol/dist/index.js +14 -0
  241. package/node_modules/@codor/protocol/dist/index.js.map +1 -0
  242. package/node_modules/@codor/protocol/dist/interaction.d.ts +45 -0
  243. package/node_modules/@codor/protocol/dist/interaction.d.ts.map +1 -0
  244. package/node_modules/@codor/protocol/dist/interaction.js +33 -0
  245. package/node_modules/@codor/protocol/dist/interaction.js.map +1 -0
  246. package/node_modules/@codor/protocol/dist/member.d.ts +146 -0
  247. package/node_modules/@codor/protocol/dist/member.d.ts.map +1 -0
  248. package/node_modules/@codor/protocol/dist/member.js +169 -0
  249. package/node_modules/@codor/protocol/dist/member.js.map +1 -0
  250. package/node_modules/@codor/protocol/dist/message.d.ts +166 -0
  251. package/node_modules/@codor/protocol/dist/message.d.ts.map +1 -0
  252. package/node_modules/@codor/protocol/dist/message.js +95 -0
  253. package/node_modules/@codor/protocol/dist/message.js.map +1 -0
  254. package/node_modules/@codor/protocol/dist/observability.d.ts +80 -0
  255. package/node_modules/@codor/protocol/dist/observability.d.ts.map +1 -0
  256. package/node_modules/@codor/protocol/dist/observability.js +41 -0
  257. package/node_modules/@codor/protocol/dist/observability.js.map +1 -0
  258. package/node_modules/@codor/protocol/dist/room.d.ts +430 -0
  259. package/node_modules/@codor/protocol/dist/room.d.ts.map +1 -0
  260. package/node_modules/@codor/protocol/dist/room.js +142 -0
  261. package/node_modules/@codor/protocol/dist/room.js.map +1 -0
  262. package/node_modules/@codor/protocol/dist/ws.d.ts +1348 -0
  263. package/node_modules/@codor/protocol/dist/ws.d.ts.map +1 -0
  264. package/node_modules/@codor/protocol/dist/ws.js +282 -0
  265. package/node_modules/@codor/protocol/dist/ws.js.map +1 -0
  266. package/node_modules/@codor/protocol/package.json +17 -0
  267. package/node_modules/@codor/switchboard/dist/adapter-registry.d.ts +14 -0
  268. package/node_modules/@codor/switchboard/dist/adapter-registry.d.ts.map +1 -0
  269. package/node_modules/@codor/switchboard/dist/adapter-registry.js +175 -0
  270. package/node_modules/@codor/switchboard/dist/adapter-registry.js.map +1 -0
  271. package/node_modules/@codor/switchboard/dist/authorization.d.ts +13 -0
  272. package/node_modules/@codor/switchboard/dist/authorization.d.ts.map +1 -0
  273. package/node_modules/@codor/switchboard/dist/authorization.js +96 -0
  274. package/node_modules/@codor/switchboard/dist/authorization.js.map +1 -0
  275. package/node_modules/@codor/switchboard/dist/blobs.d.ts +17 -0
  276. package/node_modules/@codor/switchboard/dist/blobs.d.ts.map +1 -0
  277. package/node_modules/@codor/switchboard/dist/blobs.js +54 -0
  278. package/node_modules/@codor/switchboard/dist/blobs.js.map +1 -0
  279. package/node_modules/@codor/switchboard/dist/collaboration.d.ts +115 -0
  280. package/node_modules/@codor/switchboard/dist/collaboration.d.ts.map +1 -0
  281. package/node_modules/@codor/switchboard/dist/collaboration.js +123 -0
  282. package/node_modules/@codor/switchboard/dist/collaboration.js.map +1 -0
  283. package/node_modules/@codor/switchboard/dist/continuation.d.ts +33 -0
  284. package/node_modules/@codor/switchboard/dist/continuation.d.ts.map +1 -0
  285. package/node_modules/@codor/switchboard/dist/continuation.js +177 -0
  286. package/node_modules/@codor/switchboard/dist/continuation.js.map +1 -0
  287. package/node_modules/@codor/switchboard/dist/crypto/browser-sessions.d.ts +22 -0
  288. package/node_modules/@codor/switchboard/dist/crypto/browser-sessions.d.ts.map +1 -0
  289. package/node_modules/@codor/switchboard/dist/crypto/browser-sessions.js +92 -0
  290. package/node_modules/@codor/switchboard/dist/crypto/browser-sessions.js.map +1 -0
  291. package/node_modules/@codor/switchboard/dist/crypto/challenge.d.ts +37 -0
  292. package/node_modules/@codor/switchboard/dist/crypto/challenge.d.ts.map +1 -0
  293. package/node_modules/@codor/switchboard/dist/crypto/challenge.js +132 -0
  294. package/node_modules/@codor/switchboard/dist/crypto/challenge.js.map +1 -0
  295. package/node_modules/@codor/switchboard/dist/crypto/keys.d.ts +41 -0
  296. package/node_modules/@codor/switchboard/dist/crypto/keys.d.ts.map +1 -0
  297. package/node_modules/@codor/switchboard/dist/crypto/keys.js +145 -0
  298. package/node_modules/@codor/switchboard/dist/crypto/keys.js.map +1 -0
  299. package/node_modules/@codor/switchboard/dist/crypto/pairing.d.ts +53 -0
  300. package/node_modules/@codor/switchboard/dist/crypto/pairing.d.ts.map +1 -0
  301. package/node_modules/@codor/switchboard/dist/crypto/pairing.js +182 -0
  302. package/node_modules/@codor/switchboard/dist/crypto/pairing.js.map +1 -0
  303. package/node_modules/@codor/switchboard/dist/crypto/roomkeys.d.ts +30 -0
  304. package/node_modules/@codor/switchboard/dist/crypto/roomkeys.d.ts.map +1 -0
  305. package/node_modules/@codor/switchboard/dist/crypto/roomkeys.js +101 -0
  306. package/node_modules/@codor/switchboard/dist/crypto/roomkeys.js.map +1 -0
  307. package/node_modules/@codor/switchboard/dist/daemon.d.ts +545 -0
  308. package/node_modules/@codor/switchboard/dist/daemon.d.ts.map +1 -0
  309. package/node_modules/@codor/switchboard/dist/daemon.js +3907 -0
  310. package/node_modules/@codor/switchboard/dist/daemon.js.map +1 -0
  311. package/node_modules/@codor/switchboard/dist/fake-adapter.d.ts +103 -0
  312. package/node_modules/@codor/switchboard/dist/fake-adapter.d.ts.map +1 -0
  313. package/node_modules/@codor/switchboard/dist/fake-adapter.js +228 -0
  314. package/node_modules/@codor/switchboard/dist/fake-adapter.js.map +1 -0
  315. package/node_modules/@codor/switchboard/dist/index.d.ts +44 -0
  316. package/node_modules/@codor/switchboard/dist/index.d.ts.map +1 -0
  317. package/node_modules/@codor/switchboard/dist/index.js +24 -0
  318. package/node_modules/@codor/switchboard/dist/index.js.map +1 -0
  319. package/node_modules/@codor/switchboard/dist/ledger/resolve.d.ts +12 -0
  320. package/node_modules/@codor/switchboard/dist/ledger/resolve.d.ts.map +1 -0
  321. package/node_modules/@codor/switchboard/dist/ledger/resolve.js +17 -0
  322. package/node_modules/@codor/switchboard/dist/ledger/resolve.js.map +1 -0
  323. package/node_modules/@codor/switchboard/dist/ledger/vault.d.ts +47 -0
  324. package/node_modules/@codor/switchboard/dist/ledger/vault.d.ts.map +1 -0
  325. package/node_modules/@codor/switchboard/dist/ledger/vault.js +175 -0
  326. package/node_modules/@codor/switchboard/dist/ledger/vault.js.map +1 -0
  327. package/node_modules/@codor/switchboard/dist/ledger/watch.d.ts +73 -0
  328. package/node_modules/@codor/switchboard/dist/ledger/watch.d.ts.map +1 -0
  329. package/node_modules/@codor/switchboard/dist/ledger/watch.js +232 -0
  330. package/node_modules/@codor/switchboard/dist/ledger/watch.js.map +1 -0
  331. package/node_modules/@codor/switchboard/dist/local-dirs.d.ts +14 -0
  332. package/node_modules/@codor/switchboard/dist/local-dirs.d.ts.map +1 -0
  333. package/node_modules/@codor/switchboard/dist/local-dirs.js +40 -0
  334. package/node_modules/@codor/switchboard/dist/local-dirs.js.map +1 -0
  335. package/node_modules/@codor/switchboard/dist/local-socket.d.ts +3 -0
  336. package/node_modules/@codor/switchboard/dist/local-socket.d.ts.map +1 -0
  337. package/node_modules/@codor/switchboard/dist/local-socket.js +16 -0
  338. package/node_modules/@codor/switchboard/dist/local-socket.js.map +1 -0
  339. package/node_modules/@codor/switchboard/dist/pricing.d.ts +32 -0
  340. package/node_modules/@codor/switchboard/dist/pricing.d.ts.map +1 -0
  341. package/node_modules/@codor/switchboard/dist/pricing.js +64 -0
  342. package/node_modules/@codor/switchboard/dist/pricing.js.map +1 -0
  343. package/node_modules/@codor/switchboard/dist/process-liveness.d.ts +2 -0
  344. package/node_modules/@codor/switchboard/dist/process-liveness.d.ts.map +1 -0
  345. package/node_modules/@codor/switchboard/dist/process-liveness.js +9 -0
  346. package/node_modules/@codor/switchboard/dist/process-liveness.js.map +1 -0
  347. package/node_modules/@codor/switchboard/dist/push/producer.d.ts +54 -0
  348. package/node_modules/@codor/switchboard/dist/push/producer.d.ts.map +1 -0
  349. package/node_modules/@codor/switchboard/dist/push/producer.js +168 -0
  350. package/node_modules/@codor/switchboard/dist/push/producer.js.map +1 -0
  351. package/node_modules/@codor/switchboard/dist/push/subscriptions.d.ts +29 -0
  352. package/node_modules/@codor/switchboard/dist/push/subscriptions.d.ts.map +1 -0
  353. package/node_modules/@codor/switchboard/dist/push/subscriptions.js +83 -0
  354. package/node_modules/@codor/switchboard/dist/push/subscriptions.js.map +1 -0
  355. package/node_modules/@codor/switchboard/dist/redact.d.ts +11 -0
  356. package/node_modules/@codor/switchboard/dist/redact.d.ts.map +1 -0
  357. package/node_modules/@codor/switchboard/dist/redact.js +65 -0
  358. package/node_modules/@codor/switchboard/dist/redact.js.map +1 -0
  359. package/node_modules/@codor/switchboard/dist/residency.d.ts +110 -0
  360. package/node_modules/@codor/switchboard/dist/residency.d.ts.map +1 -0
  361. package/node_modules/@codor/switchboard/dist/residency.js +587 -0
  362. package/node_modules/@codor/switchboard/dist/residency.js.map +1 -0
  363. package/node_modules/@codor/switchboard/dist/router.d.ts +120 -0
  364. package/node_modules/@codor/switchboard/dist/router.d.ts.map +1 -0
  365. package/node_modules/@codor/switchboard/dist/router.js +198 -0
  366. package/node_modules/@codor/switchboard/dist/router.js.map +1 -0
  367. package/node_modules/@codor/switchboard/dist/server.d.ts +50 -0
  368. package/node_modules/@codor/switchboard/dist/server.d.ts.map +1 -0
  369. package/node_modules/@codor/switchboard/dist/server.js +1425 -0
  370. package/node_modules/@codor/switchboard/dist/server.js.map +1 -0
  371. package/node_modules/@codor/switchboard/dist/store.d.ts +534 -0
  372. package/node_modules/@codor/switchboard/dist/store.d.ts.map +1 -0
  373. package/node_modules/@codor/switchboard/dist/store.js +2625 -0
  374. package/node_modules/@codor/switchboard/dist/store.js.map +1 -0
  375. package/node_modules/@codor/switchboard/dist/transport/hyperswarm.d.ts +59 -0
  376. package/node_modules/@codor/switchboard/dist/transport/hyperswarm.d.ts.map +1 -0
  377. package/node_modules/@codor/switchboard/dist/transport/hyperswarm.js +183 -0
  378. package/node_modules/@codor/switchboard/dist/transport/hyperswarm.js.map +1 -0
  379. package/node_modules/@codor/switchboard/dist/transport/peer.d.ts +87 -0
  380. package/node_modules/@codor/switchboard/dist/transport/peer.d.ts.map +1 -0
  381. package/node_modules/@codor/switchboard/dist/transport/peer.js +316 -0
  382. package/node_modules/@codor/switchboard/dist/transport/peer.js.map +1 -0
  383. package/node_modules/@codor/switchboard/dist/working-directory.d.ts +2 -0
  384. package/node_modules/@codor/switchboard/dist/working-directory.d.ts.map +1 -0
  385. package/node_modules/@codor/switchboard/dist/working-directory.js +26 -0
  386. package/node_modules/@codor/switchboard/dist/working-directory.js.map +1 -0
  387. package/node_modules/@codor/switchboard/package.json +33 -0
  388. package/package.json +58 -0
@@ -0,0 +1,146 @@
1
+ import { z } from 'zod';
2
+ export declare const MemberKindSchema: z.ZodEnum<{
3
+ human: "human";
4
+ agent: "agent";
5
+ extension: "extension";
6
+ system: "system";
7
+ bridge: "bridge";
8
+ }>;
9
+ export type MemberKind = z.infer<typeof MemberKindSchema>;
10
+ export declare const MemberStateSchema: z.ZodEnum<{
11
+ idle: "idle";
12
+ running: "running";
13
+ queued: "queued";
14
+ awaiting_input: "awaiting_input";
15
+ paused: "paused";
16
+ dead: "dead";
17
+ unreachable: "unreachable";
18
+ custody_uncertain: "custody_uncertain";
19
+ }>;
20
+ export type MemberState = z.infer<typeof MemberStateSchema>;
21
+ export declare const CustodySchema: z.ZodEnum<{
22
+ owned: "owned";
23
+ mirrored: "mirrored";
24
+ }>;
25
+ export type Custody = z.infer<typeof CustodySchema>;
26
+ export declare const RoleSchema: z.ZodEnum<{
27
+ owner: "owner";
28
+ admin: "admin";
29
+ member: "member";
30
+ observer: "observer";
31
+ }>;
32
+ export type Role = z.infer<typeof RoleSchema>;
33
+ export declare const HANDLE_REGEX: RegExp;
34
+ export declare const RESERVED_HANDLES: readonly ["all", "switchboard"];
35
+ /** Any syntactically valid handle (includes the reserved ones). */
36
+ export declare const HandleSchema: z.ZodString;
37
+ export type Handle = z.infer<typeof HandleSchema>;
38
+ /**
39
+ * A handle a real member may take: syntactically valid AND not reserved.
40
+ * `all` is the post-MVP broadcast channel; `switchboard` is the system member.
41
+ * All assignment paths (spawn, rename, join) validate against THIS schema.
42
+ */
43
+ export declare const AssignableHandleSchema: z.ZodString;
44
+ /** Derives the strict member handle shown beneath a friendly starting-agent name. */
45
+ export declare function deriveAssignableHandle(name: string): string | undefined;
46
+ /** Provider-neutral turn and context telemetry. Percentages are deliberately
47
+ * absent: clients derive presentation from the reported used/max pair. */
48
+ export declare const AgentUsageSchema: z.ZodObject<{
49
+ inputTokens: z.ZodOptional<z.ZodNumber>;
50
+ cachedInputTokens: z.ZodOptional<z.ZodNumber>;
51
+ outputTokens: z.ZodOptional<z.ZodNumber>;
52
+ totalCostUsd: z.ZodOptional<z.ZodNumber>;
53
+ contextWindowMaxTokens: z.ZodOptional<z.ZodNumber>;
54
+ contextWindowUsedTokens: z.ZodOptional<z.ZodNumber>;
55
+ estimated: z.ZodOptional<z.ZodLiteral<true>>;
56
+ }, z.core.$strict>;
57
+ export type AgentUsage = z.infer<typeof AgentUsageSchema>;
58
+ /** One harness-reported rate-limit window (e.g. claude-code's five_hour /
59
+ * weekly). Only ever what the harness said — never derived or aged. */
60
+ export declare const AgentLimitSchema: z.ZodObject<{
61
+ window: z.ZodString;
62
+ status: z.ZodOptional<z.ZodString>;
63
+ resets_at: z.ZodOptional<z.ZodISODateTime>;
64
+ used_percent: z.ZodOptional<z.ZodNumber>;
65
+ }, z.core.$loose>;
66
+ export type AgentLimit = z.infer<typeof AgentLimitSchema>;
67
+ export declare const MemberSchema: z.ZodObject<{
68
+ id: z.ZodULID;
69
+ kind: z.ZodEnum<{
70
+ human: "human";
71
+ agent: "agent";
72
+ extension: "extension";
73
+ system: "system";
74
+ bridge: "bridge";
75
+ }>;
76
+ handle: z.ZodString;
77
+ display_name: z.ZodString;
78
+ purpose: z.ZodOptional<z.ZodString>;
79
+ harness: z.ZodOptional<z.ZodString>;
80
+ session_ref: z.ZodOptional<z.ZodString>;
81
+ cwd: z.ZodOptional<z.ZodString>;
82
+ policy: z.ZodOptional<z.ZodString>;
83
+ model: z.ZodOptional<z.ZodString>;
84
+ thinking: z.ZodOptional<z.ZodEnum<{
85
+ low: "low";
86
+ medium: "medium";
87
+ high: "high";
88
+ xhigh: "xhigh";
89
+ max: "max";
90
+ ultra: "ultra";
91
+ ultracode: "ultracode";
92
+ }>>;
93
+ host: z.ZodOptional<z.ZodString>;
94
+ limits: z.ZodOptional<z.ZodArray<z.ZodObject<{
95
+ window: z.ZodString;
96
+ status: z.ZodOptional<z.ZodString>;
97
+ resets_at: z.ZodOptional<z.ZodISODateTime>;
98
+ used_percent: z.ZodOptional<z.ZodNumber>;
99
+ }, z.core.$loose>>>;
100
+ lastUsage: z.ZodOptional<z.ZodObject<{
101
+ inputTokens: z.ZodOptional<z.ZodNumber>;
102
+ cachedInputTokens: z.ZodOptional<z.ZodNumber>;
103
+ outputTokens: z.ZodOptional<z.ZodNumber>;
104
+ totalCostUsd: z.ZodOptional<z.ZodNumber>;
105
+ contextWindowMaxTokens: z.ZodOptional<z.ZodNumber>;
106
+ contextWindowUsedTokens: z.ZodOptional<z.ZodNumber>;
107
+ estimated: z.ZodOptional<z.ZodLiteral<true>>;
108
+ }, z.core.$strict>>;
109
+ state: z.ZodOptional<z.ZodEnum<{
110
+ idle: "idle";
111
+ running: "running";
112
+ queued: "queued";
113
+ awaiting_input: "awaiting_input";
114
+ paused: "paused";
115
+ dead: "dead";
116
+ unreachable: "unreachable";
117
+ custody_uncertain: "custody_uncertain";
118
+ }>>;
119
+ custody: z.ZodOptional<z.ZodEnum<{
120
+ owned: "owned";
121
+ mirrored: "mirrored";
122
+ }>>;
123
+ parent: z.ZodOptional<z.ZodULID>;
124
+ role: z.ZodOptional<z.ZodEnum<{
125
+ owner: "owner";
126
+ admin: "admin";
127
+ member: "member";
128
+ observer: "observer";
129
+ }>>;
130
+ conventions_sent: z.ZodDefault<z.ZodBoolean>;
131
+ misaddressed: z.ZodDefault<z.ZodBoolean>;
132
+ roster_stale: z.ZodDefault<z.ZodBoolean>;
133
+ removed_ts: z.ZodOptional<z.ZodISODateTime>;
134
+ waiting: z.ZodOptional<z.ZodObject<{
135
+ peers: z.ZodArray<z.ZodULID>;
136
+ reason: z.ZodEnum<{
137
+ any: "any";
138
+ reply: "reply";
139
+ mention: "mention";
140
+ }>;
141
+ since_ts: z.ZodISODateTime;
142
+ until_ts: z.ZodISODateTime;
143
+ }, z.core.$strip>>;
144
+ }, z.core.$strip>;
145
+ export type Member = z.infer<typeof MemberSchema>;
146
+ //# sourceMappingURL=member.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../src/member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,gBAAgB;;;;;;EAA8D,CAAC;AAC5F,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,iBAAiB;;;;;;;;;EAS5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,aAAa;;;EAAgC,CAAC;AAC3D,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,UAAU;;;;;EAAmD,CAAC;AAC3E,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAG9C,eAAO,MAAM,YAAY,QAA8B,CAAC;AACxD,eAAO,MAAM,gBAAgB,iCAAkC,CAAC;AAEhE,mEAAmE;AACnE,eAAO,MAAM,YAAY,aAAiC,CAAC;AAC3D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,aAGlC,CAAC;AAGF,qFAAqF;AACrF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUvE;AAKD;0EAC0E;AAC1E,eAAO,MAAM,gBAAgB;;;;;;;;kBAwBzB,CAAC;AACL,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAI1D;wEACwE;AACxE,eAAO,MAAM,gBAAgB;;;;;iBAKnB,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyFrB,CAAC;AACL,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -0,0 +1,169 @@
1
+ import { z } from 'zod';
2
+ import { ThinkingLevelSchema } from './adapter.js';
3
+ import { MemberIdSchema, TimestampSchema } from './ids.js';
4
+ export const MemberKindSchema = z.enum(['human', 'agent', 'extension', 'system', 'bridge']);
5
+ export const MemberStateSchema = z.enum([
6
+ 'idle',
7
+ 'running',
8
+ 'queued',
9
+ 'awaiting_input',
10
+ 'paused',
11
+ 'dead',
12
+ 'unreachable', // resident switchboard offline (multi-box)
13
+ 'custody_uncertain', // attach lease lost, native process not confirmed dead — do not drive
14
+ ]);
15
+ export const CustodySchema = z.enum(['owned', 'mirrored']);
16
+ export const RoleSchema = z.enum(['owner', 'admin', 'member', 'observer']);
17
+ // harn:assume reserved-handles-rejected ref=handle-schema
18
+ export const HANDLE_REGEX = /^[a-z0-9][a-z0-9-]{1,30}$/;
19
+ export const RESERVED_HANDLES = ['all', 'switchboard'];
20
+ /** Any syntactically valid handle (includes the reserved ones). */
21
+ export const HandleSchema = z.string().regex(HANDLE_REGEX);
22
+ /**
23
+ * A handle a real member may take: syntactically valid AND not reserved.
24
+ * `all` is the post-MVP broadcast channel; `switchboard` is the system member.
25
+ * All assignment paths (spawn, rename, join) validate against THIS schema.
26
+ */
27
+ export const AssignableHandleSchema = HandleSchema.refine((handle) => !RESERVED_HANDLES.includes(handle), { message: 'handle is reserved' });
28
+ // harn:assume starting-agent-name-derives-one-valid-identity-v6 ref=starting-agent-handle-derivation
29
+ /** Derives the strict member handle shown beneath a friendly starting-agent name. */
30
+ export function deriveAssignableHandle(name) {
31
+ const ascii = name
32
+ .normalize('NFKD')
33
+ .replace(/[\u0300-\u036f]/g, '')
34
+ .toLowerCase()
35
+ .replace(/[^a-z0-9]+/g, '-')
36
+ .replace(/^-+|-+$/g, '');
37
+ const bounded = ascii.slice(0, 31).replace(/-+$/g, '');
38
+ const candidate = bounded.length >= 2 ? bounded : 'agent';
39
+ return AssignableHandleSchema.safeParse(candidate).success ? candidate : undefined;
40
+ }
41
+ // harn:end starting-agent-name-derives-one-valid-identity-v6
42
+ // harn:end reserved-handles-rejected
43
+ // harn:assume normalized-agent-usage-telemetry-with-estimates ref=agent-usage-telemetry-schema
44
+ /** Provider-neutral turn and context telemetry. Percentages are deliberately
45
+ * absent: clients derive presentation from the reported used/max pair. */
46
+ export const AgentUsageSchema = z
47
+ .object({
48
+ inputTokens: z.number().int().nonnegative().optional(),
49
+ cachedInputTokens: z.number().int().nonnegative().optional(),
50
+ outputTokens: z.number().int().nonnegative().optional(),
51
+ totalCostUsd: z.number().nonnegative().optional(),
52
+ contextWindowMaxTokens: z.number().int().positive().optional(),
53
+ contextWindowUsedTokens: z.number().int().nonnegative().optional(),
54
+ /** True when derived from session artifacts (pre-turn peek), not reported
55
+ * live by the engine. Absence means engine-reported. */
56
+ estimated: z.literal(true).optional(),
57
+ })
58
+ .strict()
59
+ .superRefine((usage, ctx) => {
60
+ if ((usage.contextWindowMaxTokens === undefined) !==
61
+ (usage.contextWindowUsedTokens === undefined)) {
62
+ ctx.addIssue({
63
+ code: 'custom',
64
+ path: ['contextWindowUsedTokens'],
65
+ message: 'context window maximum and used tokens must be reported together',
66
+ });
67
+ }
68
+ });
69
+ // harn:end normalized-agent-usage-telemetry-with-estimates
70
+ // harn:assume agent-usage-limits-reported-not-guessed ref=agent-limit-schema
71
+ /** One harness-reported rate-limit window (e.g. claude-code's five_hour /
72
+ * weekly). Only ever what the harness said — never derived or aged. */
73
+ export const AgentLimitSchema = z.object({
74
+ window: z.string().min(1), // harness-native window name, open set
75
+ status: z.string().min(1).optional(), // e.g. allowed / allowed_warning / rejected
76
+ resets_at: TimestampSchema.optional(),
77
+ used_percent: z.number().min(0).max(100).optional(),
78
+ }).loose();
79
+ // harn:end agent-usage-limits-reported-not-guessed
80
+ export const MemberSchema = z
81
+ .object({
82
+ id: MemberIdSchema,
83
+ kind: MemberKindSchema,
84
+ handle: HandleSchema,
85
+ display_name: z.string(),
86
+ // harn:assume member-purpose-protocol-metadata ref=member-purpose-field
87
+ purpose: z.string().optional(),
88
+ // harn:end member-purpose-protocol-metadata
89
+ // agent + extension only:
90
+ harness: z.string().min(1).optional(), // adapter id, open set
91
+ session_ref: z.string().min(1).optional(), // harness-native resume token
92
+ cwd: z.string().min(1).optional(), // persisted launch dir — resume/revive MUST reuse it
93
+ policy: z.string().min(1).optional(), // sandbox/permission mode chip
94
+ // harn:assume agent-model-and-thinking-are-durable ref=durable-agent-config-schema
95
+ // Member state, not spawn-time arguments. The harness holds nothing: every turn is
96
+ // a fresh subprocess whose argv is re-derived from the session, so a rebuild that
97
+ // loses these downgrades the agent to its harness default without saying so.
98
+ // Absent means exactly that — the harness default — never a guess.
99
+ model: z.string().min(1).optional(),
100
+ thinking: ThinkingLevelSchema.optional(),
101
+ // harn:end agent-model-and-thinking-are-durable
102
+ host: z.string().min(1).optional(), // which switchboard machine owns the session
103
+ // harn:assume agent-usage-limits-reported-not-guessed ref=agent-limit-schema
104
+ // Last-known harness-reported rate-limit windows; absent when the harness
105
+ // reports none. Provider status, not configuration — refreshed by reports.
106
+ limits: z.array(AgentLimitSchema).optional(),
107
+ // harn:end agent-usage-limits-reported-not-guessed
108
+ // harn:assume normalized-agent-usage-telemetry-with-estimates ref=agent-usage-telemetry-schema
109
+ // harn:assume last-agent-usage-is-transient-and-seeded ref=last-usage-member-projection
110
+ lastUsage: AgentUsageSchema.optional(),
111
+ // harn:end last-agent-usage-is-transient-and-seeded
112
+ // harn:end normalized-agent-usage-telemetry-with-estimates
113
+ state: MemberStateSchema.optional(),
114
+ custody: CustodySchema.optional(),
115
+ parent: MemberIdSchema.optional(), // extensions only: spawning member
116
+ // humans only (enforcement lands M5):
117
+ role: RoleSchema.optional(),
118
+ // conventions trailer bookkeeping (persisted so restarts don't re-spam):
119
+ conventions_sent: z.boolean().default(false),
120
+ misaddressed: z.boolean().default(false),
121
+ // harn:assume roster-briefing-refreshes-on-membership ref=roster-stale-member-field
122
+ roster_stale: z.boolean().default(true),
123
+ // harn:end roster-briefing-refreshes-on-membership
124
+ // harn:assume member-removal-timestamp-protocol ref=member-removal-field
125
+ removed_ts: TimestampSchema.optional(),
126
+ // harn:end member-removal-timestamp-protocol
127
+ // harn:assume waiting-is-visible-member-state ref=member-waiting-field
128
+ // What this member is blocked on, if anything. Transient — it lives for the duration of
129
+ // a turn and is never persisted.
130
+ //
131
+ // An agent that is merely quiet is indistinguishable from an agent that is stuck, and
132
+ // the operator is the one who has to tell them apart. `peers` is who it waits on,
133
+ // `reason` is what would release it, `until_ts` is when it gives up. Absent means it is
134
+ // not waiting — which is what every member frame has meant until now.
135
+ waiting: z
136
+ .object({
137
+ peers: z.array(MemberIdSchema).min(1),
138
+ reason: z.enum(['reply', 'mention', 'any']),
139
+ since_ts: TimestampSchema,
140
+ until_ts: TimestampSchema,
141
+ })
142
+ .optional(),
143
+ // harn:end waiting-is-visible-member-state
144
+ })
145
+ .superRefine((member, ctx) => {
146
+ if (member.kind !== 'system' &&
147
+ RESERVED_HANDLES.includes(member.handle)) {
148
+ ctx.addIssue({
149
+ code: 'custom',
150
+ path: ['handle'],
151
+ message: `handle '${member.handle}' is reserved for the system member`,
152
+ });
153
+ }
154
+ if (member.kind === 'human' && member.role === undefined) {
155
+ ctx.addIssue({
156
+ code: 'custom',
157
+ path: ['role'],
158
+ message: 'human members require a role',
159
+ });
160
+ }
161
+ else if (member.kind !== 'human' && member.role !== undefined) {
162
+ ctx.addIssue({
163
+ code: 'custom',
164
+ path: ['role'],
165
+ message: 'only human members may have a role',
166
+ });
167
+ }
168
+ });
169
+ //# sourceMappingURL=member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member.js","sourceRoot":"","sources":["../src/member.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ import { z } from 'zod';
2
+ export declare const MessageKindSchema: z.ZodEnum<{
3
+ system: "system";
4
+ chat: "chat";
5
+ run: "run";
6
+ ask: "ask";
7
+ approval: "approval";
8
+ }>;
9
+ export type MessageKind = z.infer<typeof MessageKindSchema>;
10
+ /**
11
+ * A mention resolved at post/finalize time to a STABLE member id plus the
12
+ * body span it occupies. Handles are never stored: renames change handles,
13
+ * but old messages keep resolving because spans point at `member_id`.
14
+ */
15
+ export declare const MentionSpanSchema: z.ZodObject<{
16
+ member_id: z.ZodULID;
17
+ start: z.ZodNumber;
18
+ end: z.ZodNumber;
19
+ }, z.core.$strip>;
20
+ export type MentionSpan = z.infer<typeof MentionSpanSchema>;
21
+ export declare const BridgeOriginSchema: z.ZodObject<{
22
+ platform: z.ZodString;
23
+ external_id: z.ZodString;
24
+ sender_name: z.ZodString;
25
+ }, z.core.$strip>;
26
+ export type BridgeOrigin = z.infer<typeof BridgeOriginSchema>;
27
+ export declare const AskCardSchema: z.ZodObject<{
28
+ interaction_id: z.ZodString;
29
+ kind: z.ZodEnum<{
30
+ ask: "ask";
31
+ approval: "approval";
32
+ }>;
33
+ prompt: z.ZodString;
34
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
35
+ label: z.ZodString;
36
+ description: z.ZodOptional<z.ZodString>;
37
+ }, z.core.$strip>>>;
38
+ multi: z.ZodOptional<z.ZodBoolean>;
39
+ tool: z.ZodOptional<z.ZodString>;
40
+ detail: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strip>;
42
+ export type AskCard = z.infer<typeof AskCardSchema>;
43
+ export declare const UsageSchema: z.ZodObject<{
44
+ input_tokens: z.ZodNumber;
45
+ output_tokens: z.ZodNumber;
46
+ cost_usd: z.ZodOptional<z.ZodNumber>;
47
+ }, z.core.$strip>;
48
+ export type Usage = z.infer<typeof UsageSchema>;
49
+ export declare const RunStatusSchema: z.ZodEnum<{
50
+ running: "running";
51
+ completed: "completed";
52
+ failed: "failed";
53
+ interrupted: "interrupted";
54
+ }>;
55
+ export type RunStatus = z.infer<typeof RunStatusSchema>;
56
+ export declare const RunSummarySchema: z.ZodObject<{
57
+ status: z.ZodEnum<{
58
+ running: "running";
59
+ completed: "completed";
60
+ failed: "failed";
61
+ interrupted: "interrupted";
62
+ }>;
63
+ started_ts: z.ZodISODateTime;
64
+ ended_ts: z.ZodOptional<z.ZodISODateTime>;
65
+ stalled_since: z.ZodOptional<z.ZodISODateTime>;
66
+ tool_calls: z.ZodNumber;
67
+ usage: z.ZodOptional<z.ZodObject<{
68
+ input_tokens: z.ZodNumber;
69
+ output_tokens: z.ZodNumber;
70
+ cost_usd: z.ZodOptional<z.ZodNumber>;
71
+ }, z.core.$strip>>;
72
+ events_ref: z.ZodString;
73
+ final_text: z.ZodOptional<z.ZodString>;
74
+ model: z.ZodOptional<z.ZodString>;
75
+ estimated_cost_usd: z.ZodOptional<z.ZodNumber>;
76
+ output_mode: z.ZodOptional<z.ZodLiteral<"messages">>;
77
+ result_message_id: z.ZodOptional<z.ZodNumber>;
78
+ error: z.ZodOptional<z.ZodString>;
79
+ }, z.core.$strip>;
80
+ export type RunSummary = z.infer<typeof RunSummarySchema>;
81
+ export declare const AttachmentSchema: z.ZodObject<{
82
+ id: z.ZodString;
83
+ name: z.ZodString;
84
+ mime: z.ZodString;
85
+ size: z.ZodNumber;
86
+ }, z.core.$strip>;
87
+ export type Attachment = z.infer<typeof AttachmentSchema>;
88
+ export declare const MessageSchema: z.ZodObject<{
89
+ id: z.ZodNumber;
90
+ room: z.ZodString;
91
+ author: z.ZodULID;
92
+ kind: z.ZodEnum<{
93
+ system: "system";
94
+ chat: "chat";
95
+ run: "run";
96
+ ask: "ask";
97
+ approval: "approval";
98
+ }>;
99
+ body: z.ZodString;
100
+ mentions: z.ZodArray<z.ZodObject<{
101
+ member_id: z.ZodULID;
102
+ start: z.ZodNumber;
103
+ end: z.ZodNumber;
104
+ }, z.core.$strip>>;
105
+ refs: z.ZodArray<z.ZodNumber>;
106
+ ledger_refs: z.ZodArray<z.ZodString>;
107
+ reply_to: z.ZodOptional<z.ZodNumber>;
108
+ run: z.ZodOptional<z.ZodObject<{
109
+ status: z.ZodEnum<{
110
+ running: "running";
111
+ completed: "completed";
112
+ failed: "failed";
113
+ interrupted: "interrupted";
114
+ }>;
115
+ started_ts: z.ZodISODateTime;
116
+ ended_ts: z.ZodOptional<z.ZodISODateTime>;
117
+ stalled_since: z.ZodOptional<z.ZodISODateTime>;
118
+ tool_calls: z.ZodNumber;
119
+ usage: z.ZodOptional<z.ZodObject<{
120
+ input_tokens: z.ZodNumber;
121
+ output_tokens: z.ZodNumber;
122
+ cost_usd: z.ZodOptional<z.ZodNumber>;
123
+ }, z.core.$strip>>;
124
+ events_ref: z.ZodString;
125
+ final_text: z.ZodOptional<z.ZodString>;
126
+ model: z.ZodOptional<z.ZodString>;
127
+ estimated_cost_usd: z.ZodOptional<z.ZodNumber>;
128
+ output_mode: z.ZodOptional<z.ZodLiteral<"messages">>;
129
+ result_message_id: z.ZodOptional<z.ZodNumber>;
130
+ error: z.ZodOptional<z.ZodString>;
131
+ }, z.core.$strip>>;
132
+ run_parent_id: z.ZodOptional<z.ZodNumber>;
133
+ ask: z.ZodOptional<z.ZodObject<{
134
+ interaction_id: z.ZodString;
135
+ kind: z.ZodEnum<{
136
+ ask: "ask";
137
+ approval: "approval";
138
+ }>;
139
+ prompt: z.ZodString;
140
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
141
+ label: z.ZodString;
142
+ description: z.ZodOptional<z.ZodString>;
143
+ }, z.core.$strip>>>;
144
+ multi: z.ZodOptional<z.ZodBoolean>;
145
+ tool: z.ZodOptional<z.ZodString>;
146
+ detail: z.ZodOptional<z.ZodString>;
147
+ }, z.core.$strip>>;
148
+ origin: z.ZodOptional<z.ZodObject<{
149
+ platform: z.ZodString;
150
+ external_id: z.ZodString;
151
+ sender_name: z.ZodString;
152
+ }, z.core.$strip>>;
153
+ ack: z.ZodOptional<z.ZodBoolean>;
154
+ pinned: z.ZodOptional<z.ZodBoolean>;
155
+ deleted: z.ZodOptional<z.ZodBoolean>;
156
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
157
+ id: z.ZodString;
158
+ name: z.ZodString;
159
+ mime: z.ZodString;
160
+ size: z.ZodNumber;
161
+ }, z.core.$strip>>>;
162
+ ts: z.ZodISODateTime;
163
+ seq: z.ZodNumber;
164
+ }, z.core.$strip>;
165
+ export type Message = z.infer<typeof MessageSchema>;
166
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;;;;EAAuD,CAAC;AACtF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;iBAMyD,CAAC;AACxF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;iBAQxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,WAAW;;;;iBAItB,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD,eAAO,MAAM,eAAe;;;;;EAA4D,CAAC;AACzF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;iBAwB3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,gBAAgB;;;;;iBAK3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyBxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { z } from 'zod';
2
+ import { MemberIdSchema, MessageIdSchema, RoomIdSchema, SeqSchema, TimestampSchema } from './ids.js';
3
+ export const MessageKindSchema = z.enum(['chat', 'run', 'ask', 'approval', 'system']);
4
+ // harn:assume mention-spans-survive-renames ref=mention-span-schema
5
+ /**
6
+ * A mention resolved at post/finalize time to a STABLE member id plus the
7
+ * body span it occupies. Handles are never stored: renames change handles,
8
+ * but old messages keep resolving because spans point at `member_id`.
9
+ */
10
+ export const MentionSpanSchema = z
11
+ .object({
12
+ member_id: MemberIdSchema,
13
+ start: z.number().int().nonnegative(),
14
+ end: z.number().int().positive(),
15
+ })
16
+ .refine((span) => span.start < span.end, { message: 'span end must be after start' });
17
+ // harn:end mention-spans-survive-renames
18
+ export const BridgeOriginSchema = z.object({
19
+ platform: z.string().min(1), // 'slack' | 'telegram' | open set
20
+ external_id: z.string().min(1), // unique per (bridge member, platform) — dedup key
21
+ sender_name: z.string().min(1),
22
+ });
23
+ export const AskCardSchema = z.object({
24
+ interaction_id: z.string().min(1), // correlates with the pending native request
25
+ kind: z.enum(['ask', 'approval']),
26
+ prompt: z.string(),
27
+ options: z.array(z.object({ label: z.string().min(1), description: z.string().optional() })).optional(),
28
+ multi: z.boolean().optional(),
29
+ tool: z.string().optional(), // approvals: the tool/command being requested
30
+ detail: z.string().optional(), // approvals: command text / input summary
31
+ });
32
+ export const UsageSchema = z.object({
33
+ input_tokens: z.number().int().nonnegative(),
34
+ output_tokens: z.number().int().nonnegative(),
35
+ cost_usd: z.number().nonnegative().optional(), // absent for tokens-only harnesses (codex)
36
+ });
37
+ export const RunStatusSchema = z.enum(['running', 'completed', 'failed', 'interrupted']);
38
+ export const RunSummarySchema = z.object({
39
+ status: RunStatusSchema,
40
+ started_ts: TimestampSchema,
41
+ ended_ts: TimestampSchema.optional(),
42
+ stalled_since: TimestampSchema.optional(), // watchdog flag — informational only
43
+ tool_calls: z.number().int().nonnegative(),
44
+ usage: UsageSchema.optional(),
45
+ events_ref: z.string().min(1), // pointer to the JSONL event blob
46
+ final_text: z.string().optional(), // authoritative aggregate across all output rows
47
+ // harn:assume run-cost-estimates-are-finalization-snapshots ref=run-estimate-schema
48
+ /** Explicit model selected when this lifecycle root was first admitted. */
49
+ model: z.string().min(1).optional(),
50
+ /** Immutable advisory list-price estimate, stored only when exact cost is absent. */
51
+ estimated_cost_usd: z.number().nonnegative().optional(),
52
+ // harn:end run-cost-estimates-are-finalization-snapshots
53
+ // harn:assume continuation-writer-follows-journaled-output-ownership ref=continuation-message-schema
54
+ /** New turns opt into permanent per-stretch output rows; absent is stored legacy history. */
55
+ output_mode: z.literal('messages').optional(),
56
+ /** Permanent message id containing the terminal visible stretch/result. */
57
+ result_message_id: MessageIdSchema.optional(),
58
+ // harn:end continuation-writer-follows-journaled-output-ownership
59
+ // harn:assume failed-run-details-never-route-as-replies ref=failed-run-error-schema
60
+ error: z.string().min(1).optional(), // failed-run detail — evidence, never reply text
61
+ // harn:end failed-run-details-never-route-as-replies
62
+ });
63
+ export const AttachmentSchema = z.object({
64
+ id: z.string().min(1), // server-issued handle; also the on-disk file name
65
+ name: z.string().min(1), // original filename — metadata only, never a path
66
+ mime: z.string().min(1),
67
+ size: z.number().int().nonnegative(),
68
+ });
69
+ export const MessageSchema = z.object({
70
+ id: MessageIdSchema,
71
+ room: RoomIdSchema,
72
+ author: MemberIdSchema,
73
+ kind: MessageKindSchema,
74
+ body: z.string(),
75
+ mentions: z.array(MentionSpanSchema),
76
+ refs: z.array(MessageIdSchema), // #ids referenced anywhere in body
77
+ ledger_refs: z.array(z.string()), // [[note]] names referenced
78
+ reply_to: MessageIdSchema.optional(), // threading hint; never affects routing
79
+ run: RunSummarySchema.optional(), // kind='run' only
80
+ // harn:assume continuation-writer-follows-journaled-output-ownership ref=continuation-message-schema
81
+ /** A continuation's lifecycle root. Root run messages omit this and carry `run`. */
82
+ run_parent_id: MessageIdSchema.optional(),
83
+ // harn:end continuation-writer-follows-journaled-output-ownership
84
+ ask: AskCardSchema.optional(), // kind='ask'|'approval' only
85
+ origin: BridgeOriginSchema.optional(), // bridge-authored only
86
+ // harn:assume acknowledgement-marker-protocol ref=message-ack-field
87
+ ack: z.boolean().optional(), // absent is the additive false/default state
88
+ // harn:end acknowledgement-marker-protocol
89
+ pinned: z.boolean().optional(), // durable owner/admin marker; absent is the additive default
90
+ deleted: z.boolean().optional(), // purged tombstone marker; absent is the additive live default
91
+ attachments: z.array(AttachmentSchema).optional(), // uploaded files; absent is the additive default
92
+ ts: TimestampSchema,
93
+ seq: SeqSchema, // room change-sequence at last insert/update
94
+ });
95
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"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"}