@sentropic/h2a-cli 0.75.0 → 0.78.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 (350) hide show
  1. package/dist/index.d.ts +1 -37
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -41
  4. package/dist/index.js.map +1 -1
  5. package/package.json +4 -15
  6. package/dist/bin.d.ts +0 -3
  7. package/dist/bin.d.ts.map +0 -1
  8. package/dist/bin.js +0 -83
  9. package/dist/bin.js.map +0 -1
  10. package/dist/cli-contract.d.ts +0 -62
  11. package/dist/cli-contract.d.ts.map +0 -1
  12. package/dist/cli-contract.js +0 -794
  13. package/dist/cli-contract.js.map +0 -1
  14. package/dist/cli.d.ts +0 -254
  15. package/dist/cli.d.ts.map +0 -1
  16. package/dist/cli.js +0 -4672
  17. package/dist/cli.js.map +0 -1
  18. package/dist/hosts/agy.d.ts +0 -14
  19. package/dist/hosts/agy.d.ts.map +0 -1
  20. package/dist/hosts/agy.js +0 -47
  21. package/dist/hosts/agy.js.map +0 -1
  22. package/dist/hosts/claude.d.ts +0 -12
  23. package/dist/hosts/claude.d.ts.map +0 -1
  24. package/dist/hosts/claude.js +0 -46
  25. package/dist/hosts/claude.js.map +0 -1
  26. package/dist/hosts/codex.d.ts +0 -65
  27. package/dist/hosts/codex.d.ts.map +0 -1
  28. package/dist/hosts/codex.js +0 -45
  29. package/dist/hosts/codex.js.map +0 -1
  30. package/dist/hosts/gemini.d.ts +0 -12
  31. package/dist/hosts/gemini.d.ts.map +0 -1
  32. package/dist/hosts/gemini.js +0 -46
  33. package/dist/hosts/gemini.js.map +0 -1
  34. package/dist/hosts/plugin.d.ts +0 -151
  35. package/dist/hosts/plugin.d.ts.map +0 -1
  36. package/dist/hosts/plugin.js +0 -188
  37. package/dist/hosts/plugin.js.map +0 -1
  38. package/dist/mcp.d.ts +0 -2
  39. package/dist/mcp.d.ts.map +0 -1
  40. package/dist/mcp.js +0 -32
  41. package/dist/mcp.js.map +0 -1
  42. package/dist/runtime/blockage/index.d.ts +0 -3
  43. package/dist/runtime/blockage/index.d.ts.map +0 -1
  44. package/dist/runtime/blockage/index.js +0 -3
  45. package/dist/runtime/blockage/index.js.map +0 -1
  46. package/dist/runtime/blockage/notifiers.d.ts +0 -52
  47. package/dist/runtime/blockage/notifiers.d.ts.map +0 -1
  48. package/dist/runtime/blockage/notifiers.js +0 -74
  49. package/dist/runtime/blockage/notifiers.js.map +0 -1
  50. package/dist/runtime/blockage/registry.d.ts +0 -30
  51. package/dist/runtime/blockage/registry.d.ts.map +0 -1
  52. package/dist/runtime/blockage/registry.js +0 -86
  53. package/dist/runtime/blockage/registry.js.map +0 -1
  54. package/dist/runtime/deploy/k8s-sidecar.d.ts +0 -92
  55. package/dist/runtime/deploy/k8s-sidecar.d.ts.map +0 -1
  56. package/dist/runtime/deploy/k8s-sidecar.js +0 -166
  57. package/dist/runtime/deploy/k8s-sidecar.js.map +0 -1
  58. package/dist/runtime/deploy/k8s-tenant.d.ts +0 -86
  59. package/dist/runtime/deploy/k8s-tenant.d.ts.map +0 -1
  60. package/dist/runtime/deploy/k8s-tenant.js +0 -255
  61. package/dist/runtime/deploy/k8s-tenant.js.map +0 -1
  62. package/dist/runtime/drive/inbox-wake.d.ts +0 -36
  63. package/dist/runtime/drive/inbox-wake.d.ts.map +0 -1
  64. package/dist/runtime/drive/inbox-wake.js +0 -50
  65. package/dist/runtime/drive/inbox-wake.js.map +0 -1
  66. package/dist/runtime/drive/index.d.ts +0 -173
  67. package/dist/runtime/drive/index.d.ts.map +0 -1
  68. package/dist/runtime/drive/index.js +0 -503
  69. package/dist/runtime/drive/index.js.map +0 -1
  70. package/dist/runtime/drumbeat/deciders.d.ts +0 -32
  71. package/dist/runtime/drumbeat/deciders.d.ts.map +0 -1
  72. package/dist/runtime/drumbeat/deciders.js +0 -65
  73. package/dist/runtime/drumbeat/deciders.js.map +0 -1
  74. package/dist/runtime/drumbeat/decisions.d.ts +0 -19
  75. package/dist/runtime/drumbeat/decisions.d.ts.map +0 -1
  76. package/dist/runtime/drumbeat/decisions.js +0 -34
  77. package/dist/runtime/drumbeat/decisions.js.map +0 -1
  78. package/dist/runtime/drumbeat/inbox-relance.d.ts +0 -29
  79. package/dist/runtime/drumbeat/inbox-relance.d.ts.map +0 -1
  80. package/dist/runtime/drumbeat/inbox-relance.js +0 -101
  81. package/dist/runtime/drumbeat/inbox-relance.js.map +0 -1
  82. package/dist/runtime/drumbeat/index.d.ts +0 -8
  83. package/dist/runtime/drumbeat/index.d.ts.map +0 -1
  84. package/dist/runtime/drumbeat/index.js +0 -8
  85. package/dist/runtime/drumbeat/index.js.map +0 -1
  86. package/dist/runtime/drumbeat/registry.d.ts +0 -60
  87. package/dist/runtime/drumbeat/registry.d.ts.map +0 -1
  88. package/dist/runtime/drumbeat/registry.js +0 -115
  89. package/dist/runtime/drumbeat/registry.js.map +0 -1
  90. package/dist/runtime/drumbeat/relaunchers.d.ts +0 -111
  91. package/dist/runtime/drumbeat/relaunchers.d.ts.map +0 -1
  92. package/dist/runtime/drumbeat/relaunchers.js +0 -260
  93. package/dist/runtime/drumbeat/relaunchers.js.map +0 -1
  94. package/dist/runtime/drumbeat/scan.d.ts +0 -36
  95. package/dist/runtime/drumbeat/scan.d.ts.map +0 -1
  96. package/dist/runtime/drumbeat/scan.js +0 -41
  97. package/dist/runtime/drumbeat/scan.js.map +0 -1
  98. package/dist/runtime/drumbeat/watch.d.ts +0 -74
  99. package/dist/runtime/drumbeat/watch.d.ts.map +0 -1
  100. package/dist/runtime/drumbeat/watch.js +0 -216
  101. package/dist/runtime/drumbeat/watch.js.map +0 -1
  102. package/dist/runtime/escalation/index.d.ts +0 -2
  103. package/dist/runtime/escalation/index.d.ts.map +0 -1
  104. package/dist/runtime/escalation/index.js +0 -2
  105. package/dist/runtime/escalation/index.js.map +0 -1
  106. package/dist/runtime/escalation/registry.d.ts +0 -44
  107. package/dist/runtime/escalation/registry.d.ts.map +0 -1
  108. package/dist/runtime/escalation/registry.js +0 -79
  109. package/dist/runtime/escalation/registry.js.map +0 -1
  110. package/dist/runtime/governance/claims.d.ts +0 -43
  111. package/dist/runtime/governance/claims.d.ts.map +0 -1
  112. package/dist/runtime/governance/claims.js +0 -93
  113. package/dist/runtime/governance/claims.js.map +0 -1
  114. package/dist/runtime/governance/conductor.d.ts +0 -79
  115. package/dist/runtime/governance/conductor.d.ts.map +0 -1
  116. package/dist/runtime/governance/conductor.js +0 -106
  117. package/dist/runtime/governance/conductor.js.map +0 -1
  118. package/dist/runtime/governance/index.d.ts +0 -5
  119. package/dist/runtime/governance/index.d.ts.map +0 -1
  120. package/dist/runtime/governance/index.js +0 -5
  121. package/dist/runtime/governance/index.js.map +0 -1
  122. package/dist/runtime/governance/launch-check.d.ts +0 -93
  123. package/dist/runtime/governance/launch-check.d.ts.map +0 -1
  124. package/dist/runtime/governance/launch-check.js +0 -113
  125. package/dist/runtime/governance/launch-check.js.map +0 -1
  126. package/dist/runtime/governance/spawns.d.ts +0 -50
  127. package/dist/runtime/governance/spawns.d.ts.map +0 -1
  128. package/dist/runtime/governance/spawns.js +0 -91
  129. package/dist/runtime/governance/spawns.js.map +0 -1
  130. package/dist/runtime/identity/bindings.d.ts +0 -84
  131. package/dist/runtime/identity/bindings.d.ts.map +0 -1
  132. package/dist/runtime/identity/bindings.js +0 -112
  133. package/dist/runtime/identity/bindings.js.map +0 -1
  134. package/dist/runtime/identity/index.d.ts +0 -11
  135. package/dist/runtime/identity/index.d.ts.map +0 -1
  136. package/dist/runtime/identity/index.js +0 -6
  137. package/dist/runtime/identity/index.js.map +0 -1
  138. package/dist/runtime/identity/live.d.ts +0 -26
  139. package/dist/runtime/identity/live.d.ts.map +0 -1
  140. package/dist/runtime/identity/live.js +0 -232
  141. package/dist/runtime/identity/live.js.map +0 -1
  142. package/dist/runtime/identity/migration.d.ts +0 -55
  143. package/dist/runtime/identity/migration.d.ts.map +0 -1
  144. package/dist/runtime/identity/migration.js +0 -100
  145. package/dist/runtime/identity/migration.js.map +0 -1
  146. package/dist/runtime/identity/readers.d.ts +0 -42
  147. package/dist/runtime/identity/readers.d.ts.map +0 -1
  148. package/dist/runtime/identity/readers.js +0 -248
  149. package/dist/runtime/identity/readers.js.map +0 -1
  150. package/dist/runtime/identity/resolver.d.ts +0 -50
  151. package/dist/runtime/identity/resolver.d.ts.map +0 -1
  152. package/dist/runtime/identity/resolver.js +0 -61
  153. package/dist/runtime/identity/resolver.js.map +0 -1
  154. package/dist/runtime/identity/workspace-id.d.ts +0 -43
  155. package/dist/runtime/identity/workspace-id.d.ts.map +0 -1
  156. package/dist/runtime/identity/workspace-id.js +0 -138
  157. package/dist/runtime/identity/workspace-id.js.map +0 -1
  158. package/dist/runtime/local-files/index.d.ts +0 -8
  159. package/dist/runtime/local-files/index.d.ts.map +0 -1
  160. package/dist/runtime/local-files/index.js +0 -8
  161. package/dist/runtime/local-files/index.js.map +0 -1
  162. package/dist/runtime/local-files/lease.d.ts +0 -62
  163. package/dist/runtime/local-files/lease.d.ts.map +0 -1
  164. package/dist/runtime/local-files/lease.js +0 -249
  165. package/dist/runtime/local-files/lease.js.map +0 -1
  166. package/dist/runtime/local-files/locks.d.ts +0 -43
  167. package/dist/runtime/local-files/locks.d.ts.map +0 -1
  168. package/dist/runtime/local-files/locks.js +0 -197
  169. package/dist/runtime/local-files/locks.js.map +0 -1
  170. package/dist/runtime/local-files/migrate.d.ts +0 -31
  171. package/dist/runtime/local-files/migrate.d.ts.map +0 -1
  172. package/dist/runtime/local-files/migrate.js +0 -104
  173. package/dist/runtime/local-files/migrate.js.map +0 -1
  174. package/dist/runtime/local-files/paths.d.ts +0 -146
  175. package/dist/runtime/local-files/paths.d.ts.map +0 -1
  176. package/dist/runtime/local-files/paths.js +0 -233
  177. package/dist/runtime/local-files/paths.js.map +0 -1
  178. package/dist/runtime/local-files/presence.d.ts +0 -80
  179. package/dist/runtime/local-files/presence.d.ts.map +0 -1
  180. package/dist/runtime/local-files/presence.js +0 -250
  181. package/dist/runtime/local-files/presence.js.map +0 -1
  182. package/dist/runtime/local-files/schema.d.ts +0 -47
  183. package/dist/runtime/local-files/schema.d.ts.map +0 -1
  184. package/dist/runtime/local-files/schema.js +0 -77
  185. package/dist/runtime/local-files/schema.js.map +0 -1
  186. package/dist/runtime/local-files/store.d.ts +0 -132
  187. package/dist/runtime/local-files/store.d.ts.map +0 -1
  188. package/dist/runtime/local-files/store.js +0 -997
  189. package/dist/runtime/local-files/store.js.map +0 -1
  190. package/dist/runtime/loop/index.d.ts +0 -73
  191. package/dist/runtime/loop/index.d.ts.map +0 -1
  192. package/dist/runtime/loop/index.js +0 -107
  193. package/dist/runtime/loop/index.js.map +0 -1
  194. package/dist/runtime/mcp/handlers.d.ts +0 -196
  195. package/dist/runtime/mcp/handlers.d.ts.map +0 -1
  196. package/dist/runtime/mcp/handlers.js +0 -1025
  197. package/dist/runtime/mcp/handlers.js.map +0 -1
  198. package/dist/runtime/mcp/index.d.ts +0 -7
  199. package/dist/runtime/mcp/index.d.ts.map +0 -1
  200. package/dist/runtime/mcp/index.js +0 -7
  201. package/dist/runtime/mcp/index.js.map +0 -1
  202. package/dist/runtime/mcp/notifications.d.ts +0 -47
  203. package/dist/runtime/mcp/notifications.d.ts.map +0 -1
  204. package/dist/runtime/mcp/notifications.js +0 -204
  205. package/dist/runtime/mcp/notifications.js.map +0 -1
  206. package/dist/runtime/mcp/server.d.ts +0 -45
  207. package/dist/runtime/mcp/server.d.ts.map +0 -1
  208. package/dist/runtime/mcp/server.js +0 -94
  209. package/dist/runtime/mcp/server.js.map +0 -1
  210. package/dist/runtime/mcp/sessions.d.ts +0 -68
  211. package/dist/runtime/mcp/sessions.d.ts.map +0 -1
  212. package/dist/runtime/mcp/sessions.js +0 -152
  213. package/dist/runtime/mcp/sessions.js.map +0 -1
  214. package/dist/runtime/mcp/stdio.d.ts +0 -72
  215. package/dist/runtime/mcp/stdio.d.ts.map +0 -1
  216. package/dist/runtime/mcp/stdio.js +0 -274
  217. package/dist/runtime/mcp/stdio.js.map +0 -1
  218. package/dist/runtime/mcp/tools.d.ts +0 -19
  219. package/dist/runtime/mcp/tools.d.ts.map +0 -1
  220. package/dist/runtime/mcp/tools.js +0 -525
  221. package/dist/runtime/mcp/tools.js.map +0 -1
  222. package/dist/runtime/mcp-http/app.d.ts +0 -33
  223. package/dist/runtime/mcp-http/app.d.ts.map +0 -1
  224. package/dist/runtime/mcp-http/app.js +0 -162
  225. package/dist/runtime/mcp-http/app.js.map +0 -1
  226. package/dist/runtime/mcp-http/hosted-mcp-server.d.ts +0 -14
  227. package/dist/runtime/mcp-http/hosted-mcp-server.d.ts.map +0 -1
  228. package/dist/runtime/mcp-http/hosted-mcp-server.js +0 -38
  229. package/dist/runtime/mcp-http/hosted-mcp-server.js.map +0 -1
  230. package/dist/runtime/mcp-http/index.d.ts +0 -18
  231. package/dist/runtime/mcp-http/index.d.ts.map +0 -1
  232. package/dist/runtime/mcp-http/index.js +0 -18
  233. package/dist/runtime/mcp-http/index.js.map +0 -1
  234. package/dist/runtime/mcp-http/main.d.ts +0 -2
  235. package/dist/runtime/mcp-http/main.d.ts.map +0 -1
  236. package/dist/runtime/mcp-http/main.js +0 -14
  237. package/dist/runtime/mcp-http/main.js.map +0 -1
  238. package/dist/runtime/mcp-http/oauth/broker-login.d.ts +0 -50
  239. package/dist/runtime/mcp-http/oauth/broker-login.d.ts.map +0 -1
  240. package/dist/runtime/mcp-http/oauth/broker-login.js +0 -41
  241. package/dist/runtime/mcp-http/oauth/broker-login.js.map +0 -1
  242. package/dist/runtime/mcp-http/oauth/broker-routes.d.ts +0 -45
  243. package/dist/runtime/mcp-http/oauth/broker-routes.d.ts.map +0 -1
  244. package/dist/runtime/mcp-http/oauth/broker-routes.js +0 -54
  245. package/dist/runtime/mcp-http/oauth/broker-routes.js.map +0 -1
  246. package/dist/runtime/mcp-http/oauth/config.d.ts +0 -49
  247. package/dist/runtime/mcp-http/oauth/config.d.ts.map +0 -1
  248. package/dist/runtime/mcp-http/oauth/config.js +0 -69
  249. package/dist/runtime/mcp-http/oauth/config.js.map +0 -1
  250. package/dist/runtime/mcp-http/oauth/crypto.d.ts +0 -14
  251. package/dist/runtime/mcp-http/oauth/crypto.d.ts.map +0 -1
  252. package/dist/runtime/mcp-http/oauth/crypto.js +0 -29
  253. package/dist/runtime/mcp-http/oauth/crypto.js.map +0 -1
  254. package/dist/runtime/mcp-http/oauth/file-store.d.ts +0 -48
  255. package/dist/runtime/mcp-http/oauth/file-store.d.ts.map +0 -1
  256. package/dist/runtime/mcp-http/oauth/file-store.js +0 -101
  257. package/dist/runtime/mcp-http/oauth/file-store.js.map +0 -1
  258. package/dist/runtime/mcp-http/oauth/hono-oauth-router.d.ts +0 -5
  259. package/dist/runtime/mcp-http/oauth/hono-oauth-router.d.ts.map +0 -1
  260. package/dist/runtime/mcp-http/oauth/hono-oauth-router.js +0 -92
  261. package/dist/runtime/mcp-http/oauth/hono-oauth-router.js.map +0 -1
  262. package/dist/runtime/mcp-http/oauth/oidc-rp.d.ts +0 -56
  263. package/dist/runtime/mcp-http/oauth/oidc-rp.d.ts.map +0 -1
  264. package/dist/runtime/mcp-http/oauth/oidc-rp.js +0 -63
  265. package/dist/runtime/mcp-http/oauth/oidc-rp.js.map +0 -1
  266. package/dist/runtime/mcp-http/oauth/redirect-uri.d.ts +0 -11
  267. package/dist/runtime/mcp-http/oauth/redirect-uri.d.ts.map +0 -1
  268. package/dist/runtime/mcp-http/oauth/redirect-uri.js +0 -29
  269. package/dist/runtime/mcp-http/oauth/redirect-uri.js.map +0 -1
  270. package/dist/runtime/mcp-http/oauth/single-tenant-provider.d.ts +0 -70
  271. package/dist/runtime/mcp-http/oauth/single-tenant-provider.d.ts.map +0 -1
  272. package/dist/runtime/mcp-http/oauth/single-tenant-provider.js +0 -247
  273. package/dist/runtime/mcp-http/oauth/single-tenant-provider.js.map +0 -1
  274. package/dist/runtime/mcp-http/oauth/tenancy.d.ts +0 -3
  275. package/dist/runtime/mcp-http/oauth/tenancy.d.ts.map +0 -1
  276. package/dist/runtime/mcp-http/oauth/tenancy.js +0 -18
  277. package/dist/runtime/mcp-http/oauth/tenancy.js.map +0 -1
  278. package/dist/runtime/mcp-http/readonly-allowlist.d.ts +0 -24
  279. package/dist/runtime/mcp-http/readonly-allowlist.d.ts.map +0 -1
  280. package/dist/runtime/mcp-http/readonly-allowlist.js +0 -43
  281. package/dist/runtime/mcp-http/readonly-allowlist.js.map +0 -1
  282. package/dist/runtime/mcp-http/serve.d.ts +0 -39
  283. package/dist/runtime/mcp-http/serve.d.ts.map +0 -1
  284. package/dist/runtime/mcp-http/serve.js +0 -100
  285. package/dist/runtime/mcp-http/serve.js.map +0 -1
  286. package/dist/runtime/mirror/accept.d.ts +0 -57
  287. package/dist/runtime/mirror/accept.d.ts.map +0 -1
  288. package/dist/runtime/mirror/accept.js +0 -70
  289. package/dist/runtime/mirror/accept.js.map +0 -1
  290. package/dist/runtime/mirror/build.d.ts +0 -44
  291. package/dist/runtime/mirror/build.d.ts.map +0 -1
  292. package/dist/runtime/mirror/build.js +0 -37
  293. package/dist/runtime/mirror/build.js.map +0 -1
  294. package/dist/runtime/mirror/index.d.ts +0 -9
  295. package/dist/runtime/mirror/index.d.ts.map +0 -1
  296. package/dist/runtime/mirror/index.js +0 -9
  297. package/dist/runtime/mirror/index.js.map +0 -1
  298. package/dist/runtime/mirror/serve.d.ts +0 -21
  299. package/dist/runtime/mirror/serve.d.ts.map +0 -1
  300. package/dist/runtime/mirror/serve.js +0 -141
  301. package/dist/runtime/mirror/serve.js.map +0 -1
  302. package/dist/runtime/nhi.d.ts +0 -15
  303. package/dist/runtime/nhi.d.ts.map +0 -1
  304. package/dist/runtime/nhi.js +0 -26
  305. package/dist/runtime/nhi.js.map +0 -1
  306. package/dist/runtime/remote/accept.d.ts +0 -50
  307. package/dist/runtime/remote/accept.d.ts.map +0 -1
  308. package/dist/runtime/remote/accept.js +0 -54
  309. package/dist/runtime/remote/accept.js.map +0 -1
  310. package/dist/runtime/remote/client.d.ts +0 -27
  311. package/dist/runtime/remote/client.d.ts.map +0 -1
  312. package/dist/runtime/remote/client.js +0 -34
  313. package/dist/runtime/remote/client.js.map +0 -1
  314. package/dist/runtime/remote/index.d.ts +0 -5
  315. package/dist/runtime/remote/index.d.ts.map +0 -1
  316. package/dist/runtime/remote/index.js +0 -5
  317. package/dist/runtime/remote/index.js.map +0 -1
  318. package/dist/runtime/remote/serve.d.ts +0 -27
  319. package/dist/runtime/remote/serve.d.ts.map +0 -1
  320. package/dist/runtime/remote/serve.js +0 -26
  321. package/dist/runtime/remote/serve.js.map +0 -1
  322. package/dist/runtime/remote/server.d.ts +0 -36
  323. package/dist/runtime/remote/server.d.ts.map +0 -1
  324. package/dist/runtime/remote/server.js +0 -100
  325. package/dist/runtime/remote/server.js.map +0 -1
  326. package/dist/runtime/sysml/client.d.ts +0 -44
  327. package/dist/runtime/sysml/client.d.ts.map +0 -1
  328. package/dist/runtime/sysml/client.js +0 -52
  329. package/dist/runtime/sysml/client.js.map +0 -1
  330. package/dist/runtime/sysml/disclosure.d.ts +0 -23
  331. package/dist/runtime/sysml/disclosure.d.ts.map +0 -1
  332. package/dist/runtime/sysml/disclosure.js +0 -53
  333. package/dist/runtime/sysml/disclosure.js.map +0 -1
  334. package/dist/runtime/sysml/index.d.ts +0 -4
  335. package/dist/runtime/sysml/index.d.ts.map +0 -1
  336. package/dist/runtime/sysml/index.js +0 -4
  337. package/dist/runtime/sysml/index.js.map +0 -1
  338. package/dist/runtime/sysml/verify.d.ts +0 -32
  339. package/dist/runtime/sysml/verify.d.ts.map +0 -1
  340. package/dist/runtime/sysml/verify.js +0 -67
  341. package/dist/runtime/sysml/verify.js.map +0 -1
  342. package/dist/runtime/upgrade/index.d.ts +0 -96
  343. package/dist/runtime/upgrade/index.d.ts.map +0 -1
  344. package/dist/runtime/upgrade/index.js +0 -185
  345. package/dist/runtime/upgrade/index.js.map +0 -1
  346. package/dist/runtime/version/agent-version.d.ts +0 -15
  347. package/dist/runtime/version/agent-version.d.ts.map +0 -1
  348. package/dist/runtime/version/agent-version.js +0 -53
  349. package/dist/runtime/version/agent-version.js.map +0 -1
  350. package/skills/h2a/SKILL.md +0 -345
@@ -1,255 +0,0 @@
1
- /**
2
- * Kubernetes cluster-tenant manifest renderer (DEC-067 / Scenario B of DEC-056).
3
- *
4
- * Where the sidecar renderer (DEC-058, Scenario A) injects an `h2a mcp-serve`
5
- * container into someone else's session Pod, the tenant renderer stands h2a up
6
- * as its own namespaced tenant with a shared **ReadWriteMany** store that
7
- * multiple Pods — potentially on different nodes — coordinate through. That
8
- * cross-Pod concurrency is only safe because the Deployment runs the store in
9
- * lease-lock mode (DEC-065/066) via `H2A_LOCK_MODE=lease`.
10
- *
11
- * The output is a complete multi-document manifest (Namespace + ResourceQuota
12
- * + PVC + Deployment) ready for `kubectl apply -f -`, not a fragment to merge.
13
- *
14
- * The renderer is pure: no I/O, no filesystem access. The caller decides
15
- * whether to print the YAML or write it to disk.
16
- */
17
- function defaultResources() {
18
- return {
19
- requests: { cpu: "50m", memory: "64Mi" },
20
- limits: { cpu: "200m", memory: "256Mi" }
21
- };
22
- }
23
- function buildArgs(imageStrategy, cliVersion, root) {
24
- const install = imageStrategy === "npm-runtime"
25
- ? [`npm i -g @sentropic/h2a-cli@${cliVersion}`]
26
- : [];
27
- return [
28
- "set -euo pipefail",
29
- ...install,
30
- `mkdir -p ${root}`,
31
- `h2a init --root ${root} || true`,
32
- `exec h2a mcp-serve --root ${root}`
33
- ].join(" && ");
34
- }
35
- function renderYaml(options) {
36
- const { namespace, root, replicas, storage, image, leaseMs, resources } = options;
37
- const args = buildArgs(options.imageStrategy, options.cliVersion, root);
38
- const res = resources;
39
- const lines = [];
40
- lines.push("# h2a cluster tenant — Scenario B of DEC-056 (DEC-067)");
41
- lines.push("# Shared ReadWriteMany store coordinated by the lease lock");
42
- lines.push("# (DEC-065/066). Apply with: kubectl apply -f -");
43
- lines.push("---");
44
- lines.push("apiVersion: v1");
45
- lines.push("kind: Namespace");
46
- lines.push("metadata:");
47
- lines.push(` name: ${namespace}`);
48
- lines.push(" labels:");
49
- lines.push(" app.kubernetes.io/part-of: h2a");
50
- lines.push("---");
51
- lines.push("apiVersion: v1");
52
- lines.push("kind: ResourceQuota");
53
- lines.push("metadata:");
54
- lines.push(" name: h2a-quota");
55
- lines.push(` namespace: ${namespace}`);
56
- lines.push("spec:");
57
- lines.push(" hard:");
58
- lines.push(` requests.cpu: ${quotaCpu(res.requests?.cpu, replicas)}`);
59
- lines.push(` requests.memory: ${quotaMemory(res.requests?.memory, replicas)}`);
60
- lines.push(` persistentvolumeclaims: "1"`);
61
- lines.push("---");
62
- lines.push("apiVersion: v1");
63
- lines.push("kind: PersistentVolumeClaim");
64
- lines.push("metadata:");
65
- lines.push(" name: h2a-store");
66
- lines.push(` namespace: ${namespace}`);
67
- lines.push("spec:");
68
- lines.push(" accessModes:");
69
- lines.push(" - ReadWriteMany");
70
- if (options.storageClass) {
71
- lines.push(` storageClassName: ${options.storageClass}`);
72
- }
73
- lines.push(" resources:");
74
- lines.push(" requests:");
75
- lines.push(` storage: ${storage}`);
76
- lines.push("---");
77
- lines.push("apiVersion: apps/v1");
78
- lines.push("kind: Deployment");
79
- lines.push("metadata:");
80
- lines.push(" name: h2a");
81
- lines.push(` namespace: ${namespace}`);
82
- lines.push("spec:");
83
- lines.push(` replicas: ${replicas}`);
84
- lines.push(" selector:");
85
- lines.push(" matchLabels:");
86
- lines.push(" app: h2a");
87
- lines.push(" template:");
88
- lines.push(" metadata:");
89
- lines.push(" labels:");
90
- lines.push(" app: h2a");
91
- lines.push(" spec:");
92
- lines.push(" containers:");
93
- lines.push(" - name: h2a");
94
- lines.push(` image: ${image}`);
95
- lines.push(` command: ["sh", "-c"]`);
96
- lines.push(" args:");
97
- lines.push(` - ${JSON.stringify(args)}`);
98
- lines.push(" env:");
99
- lines.push(" - name: H2A_LOCK_MODE");
100
- lines.push(' value: "lease"');
101
- lines.push(" - name: H2A_LEASE_MS");
102
- lines.push(` value: ${JSON.stringify(String(leaseMs))}`);
103
- lines.push(" - name: H2A_ROOT");
104
- lines.push(` value: ${JSON.stringify(root)}`);
105
- lines.push(" - name: H2A_INSTANCE");
106
- lines.push(` value: "h2a:$(POD_NAME)"`);
107
- lines.push(" - name: POD_NAME");
108
- lines.push(" valueFrom:");
109
- lines.push(" fieldRef:");
110
- lines.push(" fieldPath: metadata.name");
111
- lines.push(" volumeMounts:");
112
- lines.push(" - name: h2a-store");
113
- lines.push(` mountPath: ${root}`);
114
- lines.push(" resources:");
115
- lines.push(" requests:");
116
- if (res.requests?.cpu)
117
- lines.push(` cpu: ${res.requests.cpu}`);
118
- if (res.requests?.memory)
119
- lines.push(` memory: ${res.requests.memory}`);
120
- lines.push(" limits:");
121
- if (res.limits?.cpu)
122
- lines.push(` cpu: ${res.limits.cpu}`);
123
- if (res.limits?.memory)
124
- lines.push(` memory: ${res.limits.memory}`);
125
- lines.push(" volumes:");
126
- lines.push(" - name: h2a-store");
127
- lines.push(" persistentVolumeClaim:");
128
- lines.push(" claimName: h2a-store");
129
- lines.push("");
130
- return lines.join("\n");
131
- }
132
- function quotaCpu(perPod, replicas) {
133
- // Crude but deterministic: replicas × per-pod millicpu. Defaults keep the
134
- // quota a hair above aggregate requests so the Deployment schedules.
135
- const milli = parseMilli(perPod ?? "50m");
136
- return `${milli * replicas}m`;
137
- }
138
- function quotaMemory(perPod, replicas) {
139
- const mi = parseMebi(perPod ?? "64Mi");
140
- return `${mi * replicas}Mi`;
141
- }
142
- function parseMilli(v) {
143
- if (v.endsWith("m"))
144
- return Number.parseInt(v.slice(0, -1), 10);
145
- return Math.round(Number.parseFloat(v) * 1000);
146
- }
147
- function parseMebi(v) {
148
- if (v.endsWith("Mi"))
149
- return Number.parseInt(v.slice(0, -2), 10);
150
- if (v.endsWith("Gi"))
151
- return Number.parseInt(v.slice(0, -2), 10) * 1024;
152
- return Number.parseInt(v, 10);
153
- }
154
- /**
155
- * Render a complete cluster-tenant manifest for Scenario B of DEC-056: a
156
- * namespaced h2a Deployment backed by a shared ReadWriteMany store whose
157
- * cross-Pod concurrency is made safe by the lease lock (DEC-065/066), turned
158
- * on through the `H2A_LOCK_MODE=lease` env the Deployment injects.
159
- */
160
- export function renderK8sTenant(options = {}) {
161
- const namespace = options.namespace ?? "h2a";
162
- const root = options.root ?? "/workspace/.h2a";
163
- const replicas = options.replicas ?? 2;
164
- const storage = options.storage ?? "1Gi";
165
- const imageStrategy = options.image ?? "npm-runtime";
166
- const image = options.image && options.image !== "npm-runtime"
167
- ? options.image
168
- : "node:22-alpine";
169
- const cliVersion = options.cliVersion ?? "latest";
170
- const leaseMs = options.leaseMs ?? 30000;
171
- const resources = options.resources ?? defaultResources();
172
- const yaml = renderYaml({
173
- namespace,
174
- root,
175
- replicas,
176
- storage,
177
- image,
178
- imageStrategy,
179
- cliVersion,
180
- leaseMs,
181
- storageClass: options.storageClass,
182
- resources
183
- });
184
- const documents = [
185
- {
186
- apiVersion: "v1",
187
- kind: "Namespace",
188
- metadata: { name: namespace, labels: { "app.kubernetes.io/part-of": "h2a" } }
189
- },
190
- {
191
- apiVersion: "v1",
192
- kind: "ResourceQuota",
193
- metadata: { name: "h2a-quota", namespace },
194
- spec: {
195
- hard: {
196
- "requests.cpu": quotaCpu(resources.requests?.cpu, replicas),
197
- "requests.memory": quotaMemory(resources.requests?.memory, replicas),
198
- persistentvolumeclaims: "1"
199
- }
200
- }
201
- },
202
- {
203
- apiVersion: "v1",
204
- kind: "PersistentVolumeClaim",
205
- metadata: { name: "h2a-store", namespace },
206
- spec: {
207
- accessModes: ["ReadWriteMany"],
208
- ...(options.storageClass ? { storageClassName: options.storageClass } : {}),
209
- resources: { requests: { storage } }
210
- }
211
- },
212
- {
213
- apiVersion: "apps/v1",
214
- kind: "Deployment",
215
- metadata: { name: "h2a", namespace },
216
- spec: {
217
- replicas,
218
- selector: { matchLabels: { app: "h2a" } },
219
- template: {
220
- metadata: { labels: { app: "h2a" } },
221
- spec: {
222
- containers: [
223
- {
224
- name: "h2a",
225
- image,
226
- command: ["sh", "-c"],
227
- args: [buildArgs(imageStrategy, cliVersion, root)],
228
- env: [
229
- { name: "H2A_LOCK_MODE", value: "lease" },
230
- { name: "H2A_LEASE_MS", value: String(leaseMs) },
231
- { name: "H2A_ROOT", value: root },
232
- { name: "H2A_INSTANCE", value: "h2a:$(POD_NAME)" },
233
- {
234
- name: "POD_NAME",
235
- valueFrom: { fieldRef: { fieldPath: "metadata.name" } }
236
- }
237
- ],
238
- volumeMounts: [{ name: "h2a-store", mountPath: root }],
239
- resources
240
- }
241
- ],
242
- volumes: [
243
- {
244
- name: "h2a-store",
245
- persistentVolumeClaim: { claimName: "h2a-store" }
246
- }
247
- ]
248
- }
249
- }
250
- }
251
- }
252
- ];
253
- return { documents, yaml };
254
- }
255
- //# sourceMappingURL=k8s-tenant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"k8s-tenant.js","sourceRoot":"","sources":["../../../src/runtime/deploy/k8s-tenant.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- /**
2
- * EVO-1 inbox-wake handler (durable bug #3) — the glue between the pure
3
- * `decideInboxWake` (core) and a `H2ADriver`. On each call it reads the inbox,
4
- * decides whether anything is new, and if so injects a **signed** drive line
5
- * carrying the h2a-tagged wake prompt via the injected driver.
6
- *
7
- * Driver-injected → unit-testable with `loggingDriver`/a fake; the real wake
8
- * (waking a live claude/codex) is the `nativeBackchannelDriver` + a live-host
9
- * smoke. Seeds `seen` from the inbox at construction so it does NOT wake on the
10
- * boot backlog — only on arrivals after the handler is wired.
11
- */
12
- import { type H2AEnvelope, type H2ALaunchContext } from "@sentropic/h2a";
13
- import { type H2ADriver } from "./index.js";
14
- export interface InboxWakeHandlerDeps {
15
- /** This agent's instance id (signer + drive target — it wakes itself). */
16
- readonly instance: string;
17
- /** Read the current inbox for `instance` (e.g. `() => store.readInbox(instance)`). */
18
- readonly readInbox: () => H2AEnvelope[];
19
- /** Private key PEM for signing the drive line (from the local keyring). */
20
- readonly privateKeyPem: string;
21
- /** Injected driver (logging / native / command / …). */
22
- readonly driver: H2ADriver;
23
- /** Optional host hint passed to the driver. */
24
- readonly host?: string;
25
- /**
26
- * Resolve the host's own launch context (its tmux pane) so the
27
- * local-tmux/native driver can target it.
28
- */
29
- readonly resolveLaunchContext?: () => H2ALaunchContext | undefined;
30
- /** Clock (drive nonce/at + wake tag). Defaults to `Date.now`. */
31
- readonly now?: () => number;
32
- readonly log?: (line: string) => void;
33
- }
34
- /** Returns a handler; calling it injects a wake iff new inbox envelopes exist. */
35
- export declare function createInboxWakeHandler(deps: InboxWakeHandlerDeps): () => Promise<boolean>;
36
- //# sourceMappingURL=inbox-wake.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inbox-wake.d.ts","sourceRoot":"","sources":["../../../src/runtime/drive/inbox-wake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAmB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE1F,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,SAAS,EAAE,MAAM,WAAW,EAAE,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAC;IACnE,iEAAiE;IACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAgCzF"}
@@ -1,50 +0,0 @@
1
- /**
2
- * EVO-1 inbox-wake handler (durable bug #3) — the glue between the pure
3
- * `decideInboxWake` (core) and a `H2ADriver`. On each call it reads the inbox,
4
- * decides whether anything is new, and if so injects a **signed** drive line
5
- * carrying the h2a-tagged wake prompt via the injected driver.
6
- *
7
- * Driver-injected → unit-testable with `loggingDriver`/a fake; the real wake
8
- * (waking a live claude/codex) is the `nativeBackchannelDriver` + a live-host
9
- * smoke. Seeds `seen` from the inbox at construction so it does NOT wake on the
10
- * boot backlog — only on arrivals after the handler is wired.
11
- */
12
- import { decideInboxWake } from "@sentropic/h2a";
13
- import { formatSignedDriveInstruction } from "./index.js";
14
- /** Returns a handler; calling it injects a wake iff new inbox envelopes exist. */
15
- export function createInboxWakeHandler(deps) {
16
- const now = deps.now ?? Date.now;
17
- // Seed from the current inbox: boot backlog must not trigger a wake.
18
- let seen = deps.readInbox().map((e) => e.id);
19
- return async () => {
20
- const decision = decideInboxWake({
21
- seen,
22
- inbox: deps.readInbox(),
23
- nowIso: new Date(now()).toISOString()
24
- });
25
- if (!decision)
26
- return false;
27
- const instructionLine = formatSignedDriveInstruction({
28
- from: deps.instance,
29
- to: deps.instance,
30
- instruction: decision.wake,
31
- privateKeyPem: deps.privateKeyPem,
32
- now
33
- });
34
- const launchContext = deps.resolveLaunchContext?.();
35
- const ok = await deps.driver.drive({
36
- to: deps.instance,
37
- instructionLine,
38
- ...(deps.host ? { host: deps.host } : {}),
39
- ...(launchContext ? { launchContext } : {})
40
- });
41
- // Advance `seen` ONLY on a successful drive: a transient failure (no pane,
42
- // tmux hiccup) must leave the envelope fresh so the next tick retries it,
43
- // instead of marking it seen and never waking on it again.
44
- if (ok)
45
- seen = decision.seen;
46
- deps.log?.(`inbox-wake: ${decision.fresh.length} new envelope(s) → drive ${ok ? "ok" : "failed"}`);
47
- return ok;
48
- };
49
- }
50
- //# sourceMappingURL=inbox-wake.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inbox-wake.js","sourceRoot":"","sources":["../../../src/runtime/drive/inbox-wake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,eAAe,EAA2C,MAAM,gBAAgB,CAAC;AAE1F,OAAO,EAAE,4BAA4B,EAAkB,MAAM,YAAY,CAAC;AAuB1E,kFAAkF;AAClF,MAAM,UAAU,sBAAsB,CAAC,IAA0B;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACjC,qEAAqE;IACrE,IAAI,IAAI,GAAa,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,QAAQ,GAAG,eAAe,CAAC;YAC/B,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;YACvB,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,eAAe,GAAG,4BAA4B,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,EAAE,EAAE,IAAI,CAAC,QAAQ;YACjB,WAAW,EAAE,QAAQ,CAAC,IAAI;YAC1B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,GAAG;SACJ,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QACpD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,EAAE,EAAE,IAAI,CAAC,QAAQ;YACjB,eAAe;YACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,2EAA2E;QAC3E,0EAA0E;QAC1E,2DAA2D;QAC3D,IAAI,EAAE;YAAE,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,QAAQ,CAAC,KAAK,CAAC,MAAM,4BAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnG,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,173 +0,0 @@
1
- import { type Server } from "node:http";
2
- import { type H2ALaunchContext, type H2AReplayGuard, type H2ASignature } from "@sentropic/h2a";
3
- import type { LocalStore } from "../local-files/store.js";
4
- import { type RelauncherRuntime } from "../drumbeat/relaunchers.js";
5
- export interface H2ADriveInstructionPayload {
6
- readonly from: string;
7
- readonly to: string;
8
- readonly instruction: string;
9
- readonly nonce: string;
10
- readonly at: string;
11
- }
12
- export interface FormatSignedDriveInstructionOptions {
13
- readonly from: string;
14
- readonly to: string;
15
- readonly instruction: string;
16
- readonly privateKeyPem: string;
17
- readonly nonce?: string;
18
- readonly at?: string;
19
- readonly now?: () => number;
20
- }
21
- export interface ParsedSignedDriveInstruction {
22
- readonly payload: H2ADriveInstructionPayload;
23
- readonly signature: H2ASignature;
24
- }
25
- export type H2ADriveVerifyReason = "malformed" | "no-public-key" | "bad-signature" | "invalid-timestamp" | "expired" | "future" | "replayed";
26
- export type H2ADriveVerifyResult = {
27
- readonly ok: true;
28
- readonly payload: H2ADriveInstructionPayload;
29
- } | {
30
- readonly ok: false;
31
- readonly reason: H2ADriveVerifyReason;
32
- };
33
- export interface VerifySignedDriveInstructionOptions {
34
- readonly resolvePublicKeys: (instance: string) => readonly string[];
35
- readonly guard: H2AReplayGuard;
36
- readonly now?: number;
37
- }
38
- export type H2ADriveAuthorizeReason = "missing-registration" | "unauthorized";
39
- export type H2ADriveAuthorizeResult = {
40
- readonly ok: true;
41
- } | {
42
- readonly ok: false;
43
- readonly reason: H2ADriveAuthorizeReason;
44
- };
45
- export type H2ADriveAcceptReason = H2ADriveVerifyReason | H2ADriveAuthorizeReason | "target-mismatch" | "inject-failed";
46
- export type H2ADriveAcceptResult = {
47
- readonly ok: true;
48
- readonly payload: H2ADriveInstructionPayload;
49
- } | {
50
- readonly ok: false;
51
- readonly reason: H2ADriveAcceptReason;
52
- };
53
- export interface AcceptDriveInstructionOptions {
54
- readonly store: Pick<LocalStore, "findInstance" | "listInstanceKeys">;
55
- readonly guard: H2AReplayGuard;
56
- readonly expectedTo?: string;
57
- readonly now?: number;
58
- readonly inject: (payload: H2ADriveInstructionPayload) => boolean | Promise<boolean>;
59
- }
60
- export interface H2ADriveRequest {
61
- readonly to: string;
62
- readonly host?: string;
63
- readonly instructionLine: string;
64
- readonly launchContext?: H2ALaunchContext;
65
- }
66
- export interface H2ADriver {
67
- drive(request: H2ADriveRequest): boolean | Promise<boolean>;
68
- }
69
- export type H2ADriverKind = "logging" | "native" | "local-tmux" | "headless" | "auto";
70
- export interface NativeBackchannelDriverOptions {
71
- readonly send?: (request: H2ADriveRequest) => boolean | Promise<boolean>;
72
- readonly runtime?: RelauncherRuntime;
73
- readonly log?: (line: string) => void;
74
- }
75
- export interface DriverRuntimeOptions {
76
- readonly runtime?: RelauncherRuntime;
77
- readonly log?: (line: string) => void;
78
- }
79
- export interface DriveCommand {
80
- readonly file: string;
81
- readonly args: readonly string[];
82
- readonly cwd?: string;
83
- }
84
- export interface BuildHeadlessDriveCommandInput {
85
- readonly host?: string;
86
- readonly instructionLine: string;
87
- readonly cwd?: string;
88
- }
89
- export interface NativeDriveCommandInput {
90
- readonly to: string;
91
- readonly instructionLine: string;
92
- readonly host?: string;
93
- readonly launchContext?: H2ALaunchContext;
94
- }
95
- export type H2ADriveRemoteReason = H2ADriveAcceptReason | "missing-line" | "payload-too-large";
96
- export type H2ADriveRemoteResult = {
97
- readonly ok: true;
98
- readonly from: string;
99
- readonly to: string;
100
- readonly instruction: string;
101
- } | {
102
- readonly ok: false;
103
- readonly reason: H2ADriveRemoteReason;
104
- };
105
- export interface RemoteDriveServerOptions {
106
- /** Local remote/sidecar instance that this injector is allowed to drive. */
107
- readonly to: string;
108
- /** Registry/key lookup used by the verify-before-inject gate. */
109
- readonly store: Pick<LocalStore, "findInstance" | "listInstanceKeys">;
110
- /** Called only after signature, freshness, target, and authority pass. */
111
- readonly inject: (payload: H2ADriveInstructionPayload, line: string) => boolean | Promise<boolean>;
112
- /** Shared replay guard. Defaults to an in-memory guard for the service lifetime. */
113
- readonly guard?: H2AReplayGuard;
114
- /** POST endpoint path. Default `/h2a/drive`. */
115
- readonly path?: string;
116
- /** Reject bodies larger than this many bytes. Default 64 KiB. */
117
- readonly maxBodyBytes?: number;
118
- /** Clock source handed to the replay guard. Defaults to `Date.now`. */
119
- readonly now?: () => number;
120
- }
121
- export type RemoteDriveServerForStoreOptions = Omit<RemoteDriveServerOptions, "store">;
122
- export declare function formatSignedDriveInstruction(options: FormatSignedDriveInstructionOptions): string;
123
- export declare function parseSignedDriveInstruction(line: string): ParsedSignedDriveInstruction | undefined;
124
- export declare function verifySignedDriveInstruction(line: string, options: VerifySignedDriveInstructionOptions): H2ADriveVerifyResult;
125
- export type H2ADriveReceiveReason = H2ADriveVerifyReason | H2ADriveAuthorizeReason | "target-mismatch";
126
- export type H2ADriveReceiveResult = {
127
- readonly ok: true;
128
- readonly from: string;
129
- readonly to: string;
130
- readonly instruction: string;
131
- } | {
132
- readonly ok: false;
133
- readonly reason: H2ADriveReceiveReason;
134
- };
135
- export interface VerifyDriveOnReceiveOptions {
136
- readonly to: string;
137
- readonly guard: H2AReplayGuard;
138
- readonly now?: number;
139
- }
140
- export declare function authorizeDrive(store: Pick<LocalStore, "findInstance">, request: {
141
- readonly from: string;
142
- readonly to: string;
143
- }): H2ADriveAuthorizeResult;
144
- export declare function verifyDriveOnReceive(store: Pick<LocalStore, "findInstance" | "listInstanceKeys">, line: string, options: VerifyDriveOnReceiveOptions): H2ADriveReceiveResult;
145
- export declare function acceptDriveInstruction(line: string, options: AcceptDriveInstructionOptions): Promise<H2ADriveAcceptResult>;
146
- export declare function loggingDriver(log?: (line: string) => void): H2ADriver;
147
- export declare function nativeBackchannelDriver(options?: NativeBackchannelDriverOptions): H2ADriver;
148
- export declare function nativeDriveCommand(input: NativeDriveCommandInput): readonly string[] | undefined;
149
- export declare function localTmuxDriver(options?: DriverRuntimeOptions): H2ADriver;
150
- export declare function buildHeadlessDriveCommand(input: BuildHeadlessDriveCommandInput): DriveCommand | undefined;
151
- export declare function headlessDriver(options?: DriverRuntimeOptions): H2ADriver;
152
- export declare function remoteDriveRejectionStatus(reason: H2ADriveRemoteReason): number;
153
- export declare function createRemoteDriveServer(options: RemoteDriveServerOptions): Server;
154
- export declare function remoteDriveServerForStore(store: Pick<LocalStore, "findInstance" | "listInstanceKeys">, options: RemoteDriveServerForStoreOptions): Server;
155
- export declare function chainDriver(...drivers: readonly H2ADriver[]): H2ADriver;
156
- /**
157
- * Return the most-recently-heartbeated launch context recorded for `instance`
158
- * in the local presence store under `root`. Used to supply `launchContext` to
159
- * drivers (e.g. local-tmux) that need to know the agent's tmux pane.
160
- */
161
- export declare function latestLaunchContext(root: string, instance: string): H2ALaunchContext | undefined;
162
- /**
163
- * Auto-detect the tmux pane this process runs in, as a launch context, so an
164
- * agent launched inside a tmux pane becomes wakeable WITHOUT any launcher
165
- * config: `mcp-serve` is spawned as the agent's MCP server and inherits the
166
- * agent's `$TMUX_PANE`, so it can record its own pane in presence at auto-open.
167
- * The local-tmux driver then targets that pane (`tmux send-keys -t %id`, a valid
168
- * pane-id target — the session field is unused when no window is set). Returns
169
- * undefined when not under tmux (e.g. a plain terminal), so wake gracefully
170
- * no-ops there.
171
- */
172
- export declare function detectTmuxLaunchContext(env?: NodeJS.ProcessEnv, cwd?: string, command?: string): H2ALaunchContext | undefined;
173
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/drive/index.ts"],"names":[],"mappings":"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"}