@cuna_labs/cli 0.1.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 (624) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +9 -0
  3. package/README.md +169 -0
  4. package/THIRD_PARTY_NOTICES.md +29 -0
  5. package/dist/api/capability-evidence.d.ts +19 -0
  6. package/dist/api/capability-evidence.d.ts.map +1 -0
  7. package/dist/api/capability-evidence.js +38 -0
  8. package/dist/api/capability-evidence.js.map +1 -0
  9. package/dist/api/client.d.ts +167 -0
  10. package/dist/api/client.d.ts.map +1 -0
  11. package/dist/api/client.js +937 -0
  12. package/dist/api/client.js.map +1 -0
  13. package/dist/api/contracts.d.ts +345 -0
  14. package/dist/api/contracts.d.ts.map +1 -0
  15. package/dist/api/contracts.js +976 -0
  16. package/dist/api/contracts.js.map +1 -0
  17. package/dist/api/execution-workspaces.d.ts +17 -0
  18. package/dist/api/execution-workspaces.d.ts.map +1 -0
  19. package/dist/api/execution-workspaces.js +46 -0
  20. package/dist/api/execution-workspaces.js.map +1 -0
  21. package/dist/api/http.d.ts +76 -0
  22. package/dist/api/http.d.ts.map +1 -0
  23. package/dist/api/http.js +838 -0
  24. package/dist/api/http.js.map +1 -0
  25. package/dist/api/managed-executions.d.ts +37 -0
  26. package/dist/api/managed-executions.d.ts.map +1 -0
  27. package/dist/api/managed-executions.js +80 -0
  28. package/dist/api/managed-executions.js.map +1 -0
  29. package/dist/api/observer-v2-schema.d.ts +206 -0
  30. package/dist/api/observer-v2-schema.d.ts.map +1 -0
  31. package/dist/api/observer-v2-schema.js +264 -0
  32. package/dist/api/observer-v2-schema.js.map +1 -0
  33. package/dist/api/observer-v2.d.ts +33 -0
  34. package/dist/api/observer-v2.d.ts.map +1 -0
  35. package/dist/api/observer-v2.js +60 -0
  36. package/dist/api/observer-v2.js.map +1 -0
  37. package/dist/api/owner-observe-grants-v2-schema.d.ts +678 -0
  38. package/dist/api/owner-observe-grants-v2-schema.d.ts.map +1 -0
  39. package/dist/api/owner-observe-grants-v2-schema.js +887 -0
  40. package/dist/api/owner-observe-grants-v2-schema.js.map +1 -0
  41. package/dist/api/owner-observe-grants-v2.d.ts +268 -0
  42. package/dist/api/owner-observe-grants-v2.d.ts.map +1 -0
  43. package/dist/api/owner-observe-grants-v2.js +604 -0
  44. package/dist/api/owner-observe-grants-v2.js.map +1 -0
  45. package/dist/api/provider-v2-schema.d.ts +293 -0
  46. package/dist/api/provider-v2-schema.d.ts.map +1 -0
  47. package/dist/api/provider-v2-schema.js +381 -0
  48. package/dist/api/provider-v2-schema.js.map +1 -0
  49. package/dist/api/provider-v2.d.ts +55 -0
  50. package/dist/api/provider-v2.d.ts.map +1 -0
  51. package/dist/api/provider-v2.js +54 -0
  52. package/dist/api/provider-v2.js.map +1 -0
  53. package/dist/api/remote-workspace.d.ts +29 -0
  54. package/dist/api/remote-workspace.d.ts.map +1 -0
  55. package/dist/api/remote-workspace.js +62 -0
  56. package/dist/api/remote-workspace.js.map +1 -0
  57. package/dist/api/supervisor-live-update.d.ts +248 -0
  58. package/dist/api/supervisor-live-update.d.ts.map +1 -0
  59. package/dist/api/supervisor-live-update.js +434 -0
  60. package/dist/api/supervisor-live-update.js.map +1 -0
  61. package/dist/api/terminal-reason.d.ts +5 -0
  62. package/dist/api/terminal-reason.d.ts.map +1 -0
  63. package/dist/api/terminal-reason.js +12 -0
  64. package/dist/api/terminal-reason.js.map +1 -0
  65. package/dist/auth/browser-handoff.d.ts +59 -0
  66. package/dist/auth/browser-handoff.d.ts.map +1 -0
  67. package/dist/auth/browser-handoff.js +33 -0
  68. package/dist/auth/browser-handoff.js.map +1 -0
  69. package/dist/auth/browser.d.ts +11 -0
  70. package/dist/auth/browser.d.ts.map +1 -0
  71. package/dist/auth/browser.js +47 -0
  72. package/dist/auth/browser.js.map +1 -0
  73. package/dist/auth/human-client.d.ts +39 -0
  74. package/dist/auth/human-client.d.ts.map +1 -0
  75. package/dist/auth/human-client.js +66 -0
  76. package/dist/auth/human-client.js.map +1 -0
  77. package/dist/auth/human-contracts.d.ts +52 -0
  78. package/dist/auth/human-contracts.d.ts.map +1 -0
  79. package/dist/auth/human-contracts.js +229 -0
  80. package/dist/auth/human-contracts.js.map +1 -0
  81. package/dist/auth/human-session.d.ts +48 -0
  82. package/dist/auth/human-session.d.ts.map +1 -0
  83. package/dist/auth/human-session.js +902 -0
  84. package/dist/auth/human-session.js.map +1 -0
  85. package/dist/auth/onboarding-state.d.ts +31 -0
  86. package/dist/auth/onboarding-state.d.ts.map +1 -0
  87. package/dist/auth/onboarding-state.js +52 -0
  88. package/dist/auth/onboarding-state.js.map +1 -0
  89. package/dist/auth/pkce.d.ts +15 -0
  90. package/dist/auth/pkce.d.ts.map +1 -0
  91. package/dist/auth/pkce.js +19 -0
  92. package/dist/auth/pkce.js.map +1 -0
  93. package/dist/bin/cuna.d.ts +3 -0
  94. package/dist/bin/cuna.d.ts.map +1 -0
  95. package/dist/bin/cuna.js +4 -0
  96. package/dist/bin/cuna.js.map +1 -0
  97. package/dist/build-identity.d.ts +20 -0
  98. package/dist/build-identity.d.ts.map +1 -0
  99. package/dist/build-identity.js +77 -0
  100. package/dist/build-identity.js.map +1 -0
  101. package/dist/cli/command-help.d.ts +9 -0
  102. package/dist/cli/command-help.d.ts.map +1 -0
  103. package/dist/cli/command-help.js +324 -0
  104. package/dist/cli/command-help.js.map +1 -0
  105. package/dist/cli/help.d.ts +40 -0
  106. package/dist/cli/help.d.ts.map +1 -0
  107. package/dist/cli/help.js +256 -0
  108. package/dist/cli/help.js.map +1 -0
  109. package/dist/cli/output.d.ts +28 -0
  110. package/dist/cli/output.d.ts.map +1 -0
  111. package/dist/cli/output.js +95 -0
  112. package/dist/cli/output.js.map +1 -0
  113. package/dist/cli/parser.d.ts +65 -0
  114. package/dist/cli/parser.d.ts.map +1 -0
  115. package/dist/cli/parser.js +294 -0
  116. package/dist/cli/parser.js.map +1 -0
  117. package/dist/cli/process-entrypoint.d.ts +18 -0
  118. package/dist/cli/process-entrypoint.d.ts.map +1 -0
  119. package/dist/cli/process-entrypoint.js +26 -0
  120. package/dist/cli/process-entrypoint.js.map +1 -0
  121. package/dist/cli/run.d.ts +114 -0
  122. package/dist/cli/run.d.ts.map +1 -0
  123. package/dist/cli/run.js +1969 -0
  124. package/dist/cli/run.js.map +1 -0
  125. package/dist/commands/commands.d.ts +74 -0
  126. package/dist/commands/commands.d.ts.map +1 -0
  127. package/dist/commands/commands.js +2814 -0
  128. package/dist/commands/commands.js.map +1 -0
  129. package/dist/config/config.d.ts +86 -0
  130. package/dist/config/config.d.ts.map +1 -0
  131. package/dist/config/config.js +323 -0
  132. package/dist/config/config.js.map +1 -0
  133. package/dist/config/infra-contract-witness.d.ts +29 -0
  134. package/dist/config/infra-contract-witness.d.ts.map +1 -0
  135. package/dist/config/infra-contract-witness.js +30 -0
  136. package/dist/config/infra-contract-witness.js.map +1 -0
  137. package/dist/core/browser-url.d.ts +2 -0
  138. package/dist/core/browser-url.d.ts.map +1 -0
  139. package/dist/core/browser-url.js +20 -0
  140. package/dist/core/browser-url.js.map +1 -0
  141. package/dist/core/deployed-wire-compatibility.d.ts +15 -0
  142. package/dist/core/deployed-wire-compatibility.d.ts.map +1 -0
  143. package/dist/core/deployed-wire-compatibility.js +15 -0
  144. package/dist/core/deployed-wire-compatibility.js.map +1 -0
  145. package/dist/core/errors.d.ts +59 -0
  146. package/dist/core/errors.d.ts.map +1 -0
  147. package/dist/core/errors.js +82 -0
  148. package/dist/core/errors.js.map +1 -0
  149. package/dist/core/exit-codes.d.ts +68 -0
  150. package/dist/core/exit-codes.d.ts.map +1 -0
  151. package/dist/core/exit-codes.js +84 -0
  152. package/dist/core/exit-codes.js.map +1 -0
  153. package/dist/core/instant.d.ts +60 -0
  154. package/dist/core/instant.d.ts.map +1 -0
  155. package/dist/core/instant.js +90 -0
  156. package/dist/core/instant.js.map +1 -0
  157. package/dist/core/namespace.d.ts +171 -0
  158. package/dist/core/namespace.d.ts.map +1 -0
  159. package/dist/core/namespace.js +227 -0
  160. package/dist/core/namespace.js.map +1 -0
  161. package/dist/core/observation-budget.d.ts +185 -0
  162. package/dist/core/observation-budget.d.ts.map +1 -0
  163. package/dist/core/observation-budget.js +209 -0
  164. package/dist/core/observation-budget.js.map +1 -0
  165. package/dist/core/product-web.d.ts +81 -0
  166. package/dist/core/product-web.d.ts.map +1 -0
  167. package/dist/core/product-web.js +87 -0
  168. package/dist/core/product-web.js.map +1 -0
  169. package/dist/core/validation.d.ts +90 -0
  170. package/dist/core/validation.d.ts.map +1 -0
  171. package/dist/core/validation.js +199 -0
  172. package/dist/core/validation.js.map +1 -0
  173. package/dist/credentials/contracts.d.ts +82 -0
  174. package/dist/credentials/contracts.d.ts.map +1 -0
  175. package/dist/credentials/contracts.js +2 -0
  176. package/dist/credentials/contracts.js.map +1 -0
  177. package/dist/credentials/errors.d.ts +19 -0
  178. package/dist/credentials/errors.d.ts.map +1 -0
  179. package/dist/credentials/errors.js +16 -0
  180. package/dist/credentials/errors.js.map +1 -0
  181. package/dist/credentials/index.d.ts +6 -0
  182. package/dist/credentials/index.d.ts.map +1 -0
  183. package/dist/credentials/index.js +6 -0
  184. package/dist/credentials/index.js.map +1 -0
  185. package/dist/credentials/local-session.d.ts +101 -0
  186. package/dist/credentials/local-session.d.ts.map +1 -0
  187. package/dist/credentials/local-session.js +839 -0
  188. package/dist/credentials/local-session.js.map +1 -0
  189. package/dist/credentials/secret-material.d.ts +17 -0
  190. package/dist/credentials/secret-material.d.ts.map +1 -0
  191. package/dist/credentials/secret-material.js +49 -0
  192. package/dist/credentials/secret-material.js.map +1 -0
  193. package/dist/credentials/vault.d.ts +41 -0
  194. package/dist/credentials/vault.d.ts.map +1 -0
  195. package/dist/credentials/vault.js +719 -0
  196. package/dist/credentials/vault.js.map +1 -0
  197. package/dist/daemon/endpoint.d.ts +29 -0
  198. package/dist/daemon/endpoint.d.ts.map +1 -0
  199. package/dist/daemon/endpoint.js +66 -0
  200. package/dist/daemon/endpoint.js.map +1 -0
  201. package/dist/daemon/journal.d.ts +62 -0
  202. package/dist/daemon/journal.d.ts.map +1 -0
  203. package/dist/daemon/journal.js +299 -0
  204. package/dist/daemon/journal.js.map +1 -0
  205. package/dist/daemon/lease.d.ts +25 -0
  206. package/dist/daemon/lease.d.ts.map +1 -0
  207. package/dist/daemon/lease.js +94 -0
  208. package/dist/daemon/lease.js.map +1 -0
  209. package/dist/daemon/lifecycle.d.ts +14 -0
  210. package/dist/daemon/lifecycle.d.ts.map +1 -0
  211. package/dist/daemon/lifecycle.js +29 -0
  212. package/dist/daemon/lifecycle.js.map +1 -0
  213. package/dist/daemon/protocol.d.ts +65 -0
  214. package/dist/daemon/protocol.d.ts.map +1 -0
  215. package/dist/daemon/protocol.js +194 -0
  216. package/dist/daemon/protocol.js.map +1 -0
  217. package/dist/daemon/supervisor.d.ts +29 -0
  218. package/dist/daemon/supervisor.d.ts.map +1 -0
  219. package/dist/daemon/supervisor.js +87 -0
  220. package/dist/daemon/supervisor.js.map +1 -0
  221. package/dist/daemon/views.d.ts +31 -0
  222. package/dist/daemon/views.d.ts.map +1 -0
  223. package/dist/daemon/views.js +86 -0
  224. package/dist/daemon/views.js.map +1 -0
  225. package/dist/index.d.ts +38 -0
  226. package/dist/index.d.ts.map +1 -0
  227. package/dist/index.js +38 -0
  228. package/dist/index.js.map +1 -0
  229. package/dist/journey/api-effects.d.ts +59 -0
  230. package/dist/journey/api-effects.d.ts.map +1 -0
  231. package/dist/journey/api-effects.js +386 -0
  232. package/dist/journey/api-effects.js.map +1 -0
  233. package/dist/journey/derived-identity.d.ts +91 -0
  234. package/dist/journey/derived-identity.d.ts.map +1 -0
  235. package/dist/journey/derived-identity.js +123 -0
  236. package/dist/journey/derived-identity.js.map +1 -0
  237. package/dist/journey/index.d.ts +6 -0
  238. package/dist/journey/index.d.ts.map +1 -0
  239. package/dist/journey/index.js +6 -0
  240. package/dist/journey/index.js.map +1 -0
  241. package/dist/journey/intent.d.ts +36 -0
  242. package/dist/journey/intent.d.ts.map +1 -0
  243. package/dist/journey/intent.js +191 -0
  244. package/dist/journey/intent.js.map +1 -0
  245. package/dist/journey/orchestrator.d.ts +140 -0
  246. package/dist/journey/orchestrator.d.ts.map +1 -0
  247. package/dist/journey/orchestrator.js +415 -0
  248. package/dist/journey/orchestrator.js.map +1 -0
  249. package/dist/journey/provider-launch-intent.d.ts +12 -0
  250. package/dist/journey/provider-launch-intent.d.ts.map +1 -0
  251. package/dist/journey/provider-launch-intent.js +40 -0
  252. package/dist/journey/provider-launch-intent.js.map +1 -0
  253. package/dist/journey/remote-workspace.d.ts +34 -0
  254. package/dist/journey/remote-workspace.d.ts.map +1 -0
  255. package/dist/journey/remote-workspace.js +91 -0
  256. package/dist/journey/remote-workspace.js.map +1 -0
  257. package/dist/journey/root-entry.d.ts +56 -0
  258. package/dist/journey/root-entry.d.ts.map +1 -0
  259. package/dist/journey/root-entry.js +19 -0
  260. package/dist/journey/root-entry.js.map +1 -0
  261. package/dist/journey/selection.d.ts +165 -0
  262. package/dist/journey/selection.d.ts.map +1 -0
  263. package/dist/journey/selection.js +565 -0
  264. package/dist/journey/selection.js.map +1 -0
  265. package/dist/journey/session-failure.d.ts +4 -0
  266. package/dist/journey/session-failure.d.ts.map +1 -0
  267. package/dist/journey/session-failure.js +28 -0
  268. package/dist/journey/session-failure.js.map +1 -0
  269. package/dist/journey/workspace-effects.d.ts +30 -0
  270. package/dist/journey/workspace-effects.d.ts.map +1 -0
  271. package/dist/journey/workspace-effects.js +348 -0
  272. package/dist/journey/workspace-effects.js.map +1 -0
  273. package/dist/local-actions/broker.d.ts +32 -0
  274. package/dist/local-actions/broker.d.ts.map +1 -0
  275. package/dist/local-actions/broker.js +400 -0
  276. package/dist/local-actions/broker.js.map +1 -0
  277. package/dist/local-actions/browser-action.d.ts +78 -0
  278. package/dist/local-actions/browser-action.d.ts.map +1 -0
  279. package/dist/local-actions/browser-action.js +307 -0
  280. package/dist/local-actions/browser-action.js.map +1 -0
  281. package/dist/local-actions/callback-relay.d.ts +45 -0
  282. package/dist/local-actions/callback-relay.d.ts.map +1 -0
  283. package/dist/local-actions/callback-relay.js +265 -0
  284. package/dist/local-actions/callback-relay.js.map +1 -0
  285. package/dist/local-actions/clipboard.d.ts +3 -0
  286. package/dist/local-actions/clipboard.d.ts.map +1 -0
  287. package/dist/local-actions/clipboard.js +18 -0
  288. package/dist/local-actions/clipboard.js.map +1 -0
  289. package/dist/local-actions/contracts.d.ts +63 -0
  290. package/dist/local-actions/contracts.d.ts.map +1 -0
  291. package/dist/local-actions/contracts.js +18 -0
  292. package/dist/local-actions/contracts.js.map +1 -0
  293. package/dist/local-actions/desktop-presentation.d.ts +141 -0
  294. package/dist/local-actions/desktop-presentation.d.ts.map +1 -0
  295. package/dist/local-actions/desktop-presentation.js +253 -0
  296. package/dist/local-actions/desktop-presentation.js.map +1 -0
  297. package/dist/local-actions/device-selection.d.ts +43 -0
  298. package/dist/local-actions/device-selection.d.ts.map +1 -0
  299. package/dist/local-actions/device-selection.js +154 -0
  300. package/dist/local-actions/device-selection.js.map +1 -0
  301. package/dist/local-actions/executor.d.ts +49 -0
  302. package/dist/local-actions/executor.d.ts.map +1 -0
  303. package/dist/local-actions/executor.js +329 -0
  304. package/dist/local-actions/executor.js.map +1 -0
  305. package/dist/local-actions/file-transfers.d.ts +141 -0
  306. package/dist/local-actions/file-transfers.d.ts.map +1 -0
  307. package/dist/local-actions/file-transfers.js +446 -0
  308. package/dist/local-actions/file-transfers.js.map +1 -0
  309. package/dist/local-actions/foreground-notifications.d.ts +45 -0
  310. package/dist/local-actions/foreground-notifications.d.ts.map +1 -0
  311. package/dist/local-actions/foreground-notifications.js +163 -0
  312. package/dist/local-actions/foreground-notifications.js.map +1 -0
  313. package/dist/local-actions/git-signing.d.ts +39 -0
  314. package/dist/local-actions/git-signing.d.ts.map +1 -0
  315. package/dist/local-actions/git-signing.js +135 -0
  316. package/dist/local-actions/git-signing.js.map +1 -0
  317. package/dist/local-actions/index.d.ts +19 -0
  318. package/dist/local-actions/index.d.ts.map +1 -0
  319. package/dist/local-actions/index.js +19 -0
  320. package/dist/local-actions/index.js.map +1 -0
  321. package/dist/local-actions/local-service-actions.d.ts +87 -0
  322. package/dist/local-actions/local-service-actions.d.ts.map +1 -0
  323. package/dist/local-actions/local-service-actions.js +347 -0
  324. package/dist/local-actions/local-service-actions.js.map +1 -0
  325. package/dist/local-actions/loopback.d.ts +5 -0
  326. package/dist/local-actions/loopback.d.ts.map +1 -0
  327. package/dist/local-actions/loopback.js +15 -0
  328. package/dist/local-actions/loopback.js.map +1 -0
  329. package/dist/local-actions/policy-store.d.ts +7 -0
  330. package/dist/local-actions/policy-store.d.ts.map +1 -0
  331. package/dist/local-actions/policy-store.js +70 -0
  332. package/dist/local-actions/policy-store.js.map +1 -0
  333. package/dist/local-actions/policy.d.ts +21 -0
  334. package/dist/local-actions/policy.d.ts.map +1 -0
  335. package/dist/local-actions/policy.js +43 -0
  336. package/dist/local-actions/policy.js.map +1 -0
  337. package/dist/local-actions/private-port-forward.d.ts +36 -0
  338. package/dist/local-actions/private-port-forward.d.ts.map +1 -0
  339. package/dist/local-actions/private-port-forward.js +154 -0
  340. package/dist/local-actions/private-port-forward.js.map +1 -0
  341. package/dist/local-actions/provider-mcp-config.d.ts +101 -0
  342. package/dist/local-actions/provider-mcp-config.d.ts.map +1 -0
  343. package/dist/local-actions/provider-mcp-config.js +166 -0
  344. package/dist/local-actions/provider-mcp-config.js.map +1 -0
  345. package/dist/local-actions/providers.d.ts +12 -0
  346. package/dist/local-actions/providers.d.ts.map +1 -0
  347. package/dist/local-actions/providers.js +42 -0
  348. package/dist/local-actions/providers.js.map +1 -0
  349. package/dist/local-actions/schemas.d.ts +4 -0
  350. package/dist/local-actions/schemas.d.ts.map +1 -0
  351. package/dist/local-actions/schemas.js +314 -0
  352. package/dist/local-actions/schemas.js.map +1 -0
  353. package/dist/local-actions/sensitive-consent.d.ts +32 -0
  354. package/dist/local-actions/sensitive-consent.d.ts.map +1 -0
  355. package/dist/local-actions/sensitive-consent.js +47 -0
  356. package/dist/local-actions/sensitive-consent.js.map +1 -0
  357. package/dist/machines/command-launch.d.ts +17 -0
  358. package/dist/machines/command-launch.d.ts.map +1 -0
  359. package/dist/machines/command-launch.js +52 -0
  360. package/dist/machines/command-launch.js.map +1 -0
  361. package/dist/machines/execution-receipt.d.ts +18 -0
  362. package/dist/machines/execution-receipt.d.ts.map +1 -0
  363. package/dist/machines/execution-receipt.js +87 -0
  364. package/dist/machines/execution-receipt.js.map +1 -0
  365. package/dist/machines/executions-screen.d.ts +6 -0
  366. package/dist/machines/executions-screen.d.ts.map +1 -0
  367. package/dist/machines/executions-screen.js +410 -0
  368. package/dist/machines/executions-screen.js.map +1 -0
  369. package/dist/machines/explorer.d.ts +75 -0
  370. package/dist/machines/explorer.d.ts.map +1 -0
  371. package/dist/machines/explorer.js +1726 -0
  372. package/dist/machines/explorer.js.map +1 -0
  373. package/dist/machines/live-supervisor-update.d.ts +325 -0
  374. package/dist/machines/live-supervisor-update.d.ts.map +1 -0
  375. package/dist/machines/live-supervisor-update.js +513 -0
  376. package/dist/machines/live-supervisor-update.js.map +1 -0
  377. package/dist/machines/machine-first.d.ts +123 -0
  378. package/dist/machines/machine-first.d.ts.map +1 -0
  379. package/dist/machines/machine-first.js +119 -0
  380. package/dist/machines/machine-first.js.map +1 -0
  381. package/dist/machines/opencode-supervisor.d.ts +51 -0
  382. package/dist/machines/opencode-supervisor.d.ts.map +1 -0
  383. package/dist/machines/opencode-supervisor.js +124 -0
  384. package/dist/machines/opencode-supervisor.js.map +1 -0
  385. package/dist/machines/pagination.d.ts +4 -0
  386. package/dist/machines/pagination.d.ts.map +1 -0
  387. package/dist/machines/pagination.js +7 -0
  388. package/dist/machines/pagination.js.map +1 -0
  389. package/dist/machines/provider-availability.d.ts +42 -0
  390. package/dist/machines/provider-availability.d.ts.map +1 -0
  391. package/dist/machines/provider-availability.js +82 -0
  392. package/dist/machines/provider-availability.js.map +1 -0
  393. package/dist/machines/provider-screen.d.ts +12 -0
  394. package/dist/machines/provider-screen.d.ts.map +1 -0
  395. package/dist/machines/provider-screen.js +129 -0
  396. package/dist/machines/provider-screen.js.map +1 -0
  397. package/dist/machines/session-actionability.d.ts +86 -0
  398. package/dist/machines/session-actionability.d.ts.map +1 -0
  399. package/dist/machines/session-actionability.js +125 -0
  400. package/dist/machines/session-actionability.js.map +1 -0
  401. package/dist/machines/session-visibility.d.ts +139 -0
  402. package/dist/machines/session-visibility.d.ts.map +1 -0
  403. package/dist/machines/session-visibility.js +109 -0
  404. package/dist/machines/session-visibility.js.map +1 -0
  405. package/dist/platform/adapter.d.ts +62 -0
  406. package/dist/platform/adapter.d.ts.map +1 -0
  407. package/dist/platform/adapter.js +240 -0
  408. package/dist/platform/adapter.js.map +1 -0
  409. package/dist/platform/support.d.ts +12 -0
  410. package/dist/platform/support.d.ts.map +1 -0
  411. package/dist/platform/support.js +25 -0
  412. package/dist/platform/support.js.map +1 -0
  413. package/dist/pty/contracts.d.ts +45 -0
  414. package/dist/pty/contracts.d.ts.map +1 -0
  415. package/dist/pty/contracts.js +2 -0
  416. package/dist/pty/contracts.js.map +1 -0
  417. package/dist/pty/evidence-gate.d.ts +14 -0
  418. package/dist/pty/evidence-gate.d.ts.map +1 -0
  419. package/dist/pty/evidence-gate.js +35 -0
  420. package/dist/pty/evidence-gate.js.map +1 -0
  421. package/dist/pty/index.d.ts +5 -0
  422. package/dist/pty/index.d.ts.map +1 -0
  423. package/dist/pty/index.js +5 -0
  424. package/dist/pty/index.js.map +1 -0
  425. package/dist/pty/node-host-terminal.d.ts +14 -0
  426. package/dist/pty/node-host-terminal.d.ts.map +1 -0
  427. package/dist/pty/node-host-terminal.js +173 -0
  428. package/dist/pty/node-host-terminal.js.map +1 -0
  429. package/dist/pty/node-process.d.ts +26 -0
  430. package/dist/pty/node-process.d.ts.map +1 -0
  431. package/dist/pty/node-process.js +102 -0
  432. package/dist/pty/node-process.js.map +1 -0
  433. package/dist/runtime/api-terminal-control-plane.d.ts +7 -0
  434. package/dist/runtime/api-terminal-control-plane.d.ts.map +1 -0
  435. package/dist/runtime/api-terminal-control-plane.js +95 -0
  436. package/dist/runtime/api-terminal-control-plane.js.map +1 -0
  437. package/dist/runtime/backoff.d.ts +17 -0
  438. package/dist/runtime/backoff.d.ts.map +1 -0
  439. package/dist/runtime/backoff.js +61 -0
  440. package/dist/runtime/backoff.js.map +1 -0
  441. package/dist/runtime/boundary.d.ts +171 -0
  442. package/dist/runtime/boundary.d.ts.map +1 -0
  443. package/dist/runtime/boundary.js +1858 -0
  444. package/dist/runtime/boundary.js.map +1 -0
  445. package/dist/runtime/capability-gate.d.ts +25 -0
  446. package/dist/runtime/capability-gate.d.ts.map +1 -0
  447. package/dist/runtime/capability-gate.js +77 -0
  448. package/dist/runtime/capability-gate.js.map +1 -0
  449. package/dist/runtime/contracts.d.ts +25 -0
  450. package/dist/runtime/contracts.d.ts.map +1 -0
  451. package/dist/runtime/contracts.js +66 -0
  452. package/dist/runtime/contracts.js.map +1 -0
  453. package/dist/runtime/errors.d.ts +20 -0
  454. package/dist/runtime/errors.d.ts.map +1 -0
  455. package/dist/runtime/errors.js +22 -0
  456. package/dist/runtime/errors.js.map +1 -0
  457. package/dist/runtime/index.d.ts +9 -0
  458. package/dist/runtime/index.d.ts.map +1 -0
  459. package/dist/runtime/index.js +9 -0
  460. package/dist/runtime/index.js.map +1 -0
  461. package/dist/runtime/node-foreground-session.d.ts +50 -0
  462. package/dist/runtime/node-foreground-session.d.ts.map +1 -0
  463. package/dist/runtime/node-foreground-session.js +431 -0
  464. package/dist/runtime/node-foreground-session.js.map +1 -0
  465. package/dist/runtime/node-websocket-connector.d.ts +6 -0
  466. package/dist/runtime/node-websocket-connector.d.ts.map +1 -0
  467. package/dist/runtime/node-websocket-connector.js +344 -0
  468. package/dist/runtime/node-websocket-connector.js.map +1 -0
  469. package/dist/runtime/observer-screen.d.ts +6 -0
  470. package/dist/runtime/observer-screen.d.ts.map +1 -0
  471. package/dist/runtime/observer-screen.js +144 -0
  472. package/dist/runtime/observer-screen.js.map +1 -0
  473. package/dist/runtime/owner-grant-operations.d.ts +136 -0
  474. package/dist/runtime/owner-grant-operations.d.ts.map +1 -0
  475. package/dist/runtime/owner-grant-operations.js +216 -0
  476. package/dist/runtime/owner-grant-operations.js.map +1 -0
  477. package/dist/runtime/owner-grants-screen.d.ts +40 -0
  478. package/dist/runtime/owner-grants-screen.d.ts.map +1 -0
  479. package/dist/runtime/owner-grants-screen.js +987 -0
  480. package/dist/runtime/owner-grants-screen.js.map +1 -0
  481. package/dist/runtime/terminal-transport.d.ts +85 -0
  482. package/dist/runtime/terminal-transport.d.ts.map +1 -0
  483. package/dist/runtime/terminal-transport.js +152 -0
  484. package/dist/runtime/terminal-transport.js.map +1 -0
  485. package/dist/sync/continuous-sync-supervisor.d.ts +107 -0
  486. package/dist/sync/continuous-sync-supervisor.d.ts.map +1 -0
  487. package/dist/sync/continuous-sync-supervisor.js +1117 -0
  488. package/dist/sync/continuous-sync-supervisor.js.map +1 -0
  489. package/dist/sync/index.d.ts +9 -0
  490. package/dist/sync/index.d.ts.map +1 -0
  491. package/dist/sync/index.js +9 -0
  492. package/dist/sync/index.js.map +1 -0
  493. package/dist/sync/journal.d.ts +57 -0
  494. package/dist/sync/journal.d.ts.map +1 -0
  495. package/dist/sync/journal.js +685 -0
  496. package/dist/sync/journal.js.map +1 -0
  497. package/dist/sync/revisions.d.ts +118 -0
  498. package/dist/sync/revisions.d.ts.map +1 -0
  499. package/dist/sync/revisions.js +364 -0
  500. package/dist/sync/revisions.js.map +1 -0
  501. package/dist/sync/supervisor.d.ts +107 -0
  502. package/dist/sync/supervisor.d.ts.map +1 -0
  503. package/dist/sync/supervisor.js +246 -0
  504. package/dist/sync/supervisor.js.map +1 -0
  505. package/dist/sync/workspace-sync-client.d.ts +18 -0
  506. package/dist/sync/workspace-sync-client.d.ts.map +1 -0
  507. package/dist/sync/workspace-sync-client.js +150 -0
  508. package/dist/sync/workspace-sync-client.js.map +1 -0
  509. package/dist/sync/workspace-sync-coordinator.d.ts +76 -0
  510. package/dist/sync/workspace-sync-coordinator.d.ts.map +1 -0
  511. package/dist/sync/workspace-sync-coordinator.js +621 -0
  512. package/dist/sync/workspace-sync-coordinator.js.map +1 -0
  513. package/dist/sync/workspace-sync-product-service.d.ts +79 -0
  514. package/dist/sync/workspace-sync-product-service.d.ts.map +1 -0
  515. package/dist/sync/workspace-sync-product-service.js +398 -0
  516. package/dist/sync/workspace-sync-product-service.js.map +1 -0
  517. package/dist/sync/workspace-sync-protocol.d.ts +145 -0
  518. package/dist/sync/workspace-sync-protocol.d.ts.map +1 -0
  519. package/dist/sync/workspace-sync-protocol.js +347 -0
  520. package/dist/sync/workspace-sync-protocol.js.map +1 -0
  521. package/dist/terminal/appbar.d.ts +40 -0
  522. package/dist/terminal/appbar.d.ts.map +1 -0
  523. package/dist/terminal/appbar.js +55 -0
  524. package/dist/terminal/appbar.js.map +1 -0
  525. package/dist/terminal/cell-width.d.ts +3 -0
  526. package/dist/terminal/cell-width.d.ts.map +1 -0
  527. package/dist/terminal/cell-width.js +53 -0
  528. package/dist/terminal/cell-width.js.map +1 -0
  529. package/dist/terminal/codec.d.ts +107 -0
  530. package/dist/terminal/codec.d.ts.map +1 -0
  531. package/dist/terminal/codec.js +538 -0
  532. package/dist/terminal/codec.js.map +1 -0
  533. package/dist/terminal/foreground.d.ts +135 -0
  534. package/dist/terminal/foreground.d.ts.map +1 -0
  535. package/dist/terminal/foreground.js +2097 -0
  536. package/dist/terminal/foreground.js.map +1 -0
  537. package/dist/terminal/generated/terminal-wire-v1.d.ts +26 -0
  538. package/dist/terminal/generated/terminal-wire-v1.d.ts.map +1 -0
  539. package/dist/terminal/generated/terminal-wire-v1.js +27 -0
  540. package/dist/terminal/generated/terminal-wire-v1.js.map +1 -0
  541. package/dist/terminal/mode.d.ts +33 -0
  542. package/dist/terminal/mode.d.ts.map +1 -0
  543. package/dist/terminal/mode.js +99 -0
  544. package/dist/terminal/mode.js.map +1 -0
  545. package/dist/terminal/passthrough.d.ts +47 -0
  546. package/dist/terminal/passthrough.d.ts.map +1 -0
  547. package/dist/terminal/passthrough.js +666 -0
  548. package/dist/terminal/passthrough.js.map +1 -0
  549. package/dist/terminal/resume.d.ts +58 -0
  550. package/dist/terminal/resume.d.ts.map +1 -0
  551. package/dist/terminal/resume.js +185 -0
  552. package/dist/terminal/resume.js.map +1 -0
  553. package/dist/terminal/viewport.d.ts +93 -0
  554. package/dist/terminal/viewport.d.ts.map +1 -0
  555. package/dist/terminal/viewport.js +266 -0
  556. package/dist/terminal/viewport.js.map +1 -0
  557. package/dist/terminal/workbench.d.ts +32 -0
  558. package/dist/terminal/workbench.d.ts.map +1 -0
  559. package/dist/terminal/workbench.js +316 -0
  560. package/dist/terminal/workbench.js.map +1 -0
  561. package/dist/terminal/xterm-vte.d.ts +49 -0
  562. package/dist/terminal/xterm-vte.d.ts.map +1 -0
  563. package/dist/terminal/xterm-vte.js +602 -0
  564. package/dist/terminal/xterm-vte.js.map +1 -0
  565. package/dist/version.d.ts +3 -0
  566. package/dist/version.d.ts.map +1 -0
  567. package/dist/version.js +3 -0
  568. package/dist/version.js.map +1 -0
  569. package/dist/workspace/binding-path.d.ts +17 -0
  570. package/dist/workspace/binding-path.d.ts.map +1 -0
  571. package/dist/workspace/binding-path.js +91 -0
  572. package/dist/workspace/binding-path.js.map +1 -0
  573. package/dist/workspace/binding-store.d.ts +107 -0
  574. package/dist/workspace/binding-store.d.ts.map +1 -0
  575. package/dist/workspace/binding-store.js +783 -0
  576. package/dist/workspace/binding-store.js.map +1 -0
  577. package/dist/workspace/binding.d.ts +35 -0
  578. package/dist/workspace/binding.d.ts.map +1 -0
  579. package/dist/workspace/binding.js +70 -0
  580. package/dist/workspace/binding.js.map +1 -0
  581. package/dist/workspace/errors.d.ts +4 -0
  582. package/dist/workspace/errors.d.ts.map +1 -0
  583. package/dist/workspace/errors.js +19 -0
  584. package/dist/workspace/errors.js.map +1 -0
  585. package/dist/workspace/exclusion.d.ts +21 -0
  586. package/dist/workspace/exclusion.d.ts.map +1 -0
  587. package/dist/workspace/exclusion.js +243 -0
  588. package/dist/workspace/exclusion.js.map +1 -0
  589. package/dist/workspace/index.d.ts +8 -0
  590. package/dist/workspace/index.d.ts.map +1 -0
  591. package/dist/workspace/index.js +8 -0
  592. package/dist/workspace/index.js.map +1 -0
  593. package/dist/workspace/lifecycle.d.ts +56 -0
  594. package/dist/workspace/lifecycle.d.ts.map +1 -0
  595. package/dist/workspace/lifecycle.js +94 -0
  596. package/dist/workspace/lifecycle.js.map +1 -0
  597. package/dist/workspace/manifest.d.ts +47 -0
  598. package/dist/workspace/manifest.d.ts.map +1 -0
  599. package/dist/workspace/manifest.js +243 -0
  600. package/dist/workspace/manifest.js.map +1 -0
  601. package/dist/workspace/paths.d.ts +14 -0
  602. package/dist/workspace/paths.d.ts.map +1 -0
  603. package/dist/workspace/paths.js +67 -0
  604. package/dist/workspace/paths.js.map +1 -0
  605. package/dist/workspace/schema.d.ts +15 -0
  606. package/dist/workspace/schema.d.ts.map +1 -0
  607. package/dist/workspace/schema.js +33 -0
  608. package/dist/workspace/schema.js.map +1 -0
  609. package/dist/workspace/selection-screen.d.ts +4 -0
  610. package/dist/workspace/selection-screen.d.ts.map +1 -0
  611. package/dist/workspace/selection-screen.js +216 -0
  612. package/dist/workspace/selection-screen.js.map +1 -0
  613. package/dist/workspace/selection-service.d.ts +16 -0
  614. package/dist/workspace/selection-service.d.ts.map +1 -0
  615. package/dist/workspace/selection-service.js +65 -0
  616. package/dist/workspace/selection-service.js.map +1 -0
  617. package/node_modules/@xterm/headless/README.md +31 -0
  618. package/node_modules/@xterm/headless/lib-headless/xterm-headless.js +2 -0
  619. package/node_modules/@xterm/headless/lib-headless/xterm-headless.js.map +1 -0
  620. package/node_modules/@xterm/headless/lib-headless/xterm-headless.mjs +46 -0
  621. package/node_modules/@xterm/headless/lib-headless/xterm-headless.mjs.map +7 -0
  622. package/node_modules/@xterm/headless/package.json +29 -0
  623. package/node_modules/@xterm/headless/typings/xterm-headless.d.ts +1385 -0
  624. package/package.json +75 -0
@@ -0,0 +1,294 @@
1
+ import { usageError } from "../core/errors.js";
2
+ const routed = (key, syntax, argv, summary, operandMode = "exact") => Object.freeze({
3
+ key,
4
+ command: key.split(" ")[0],
5
+ ...(key.split(" ")[1] === undefined ? {} : { action: key.split(" ")[1] }),
6
+ operandMode,
7
+ syntax,
8
+ argv: Object.freeze([...argv]),
9
+ summary,
10
+ dispatch: "routed",
11
+ });
12
+ const reserved = (key, summary) => Object.freeze({
13
+ key,
14
+ command: key.split(" ")[0],
15
+ ...(key.split(" ")[1] === undefined ? {} : { action: key.split(" ")[1] }),
16
+ operandMode: "exact",
17
+ syntax: key,
18
+ argv: Object.freeze(key.split(" ")),
19
+ summary,
20
+ dispatch: "reserved",
21
+ });
22
+ /** The closed discovery projection of the command preflight switch. */
23
+ export const CLI_ROUTE_REGISTRY = Object.freeze([
24
+ routed("signup", "signup", ["signup"], "Create an account through the browser"),
25
+ routed("login", "login", ["login"], "Sign in through the browser"),
26
+ routed("logout", "logout", ["logout"], "Revoke the current interactive login"),
27
+ routed("whoami", "whoami", ["whoami"], "Show the current account context"),
28
+ routed("access status", "access status", ["access", "status"], "Show the same account context whoami prints, recorded as access.status"),
29
+ routed("observe", "observe --project PROJECT_ID", ["observe", "--project", "00000000-0000-4000-8000-000000000001"], "Observe an authorized shared session read-only"),
30
+ routed("share", "share --project PROJECT_ID [--grant GRANT_ID]", ["share", "--project", "00000000-0000-4000-8000-000000000001"], "Grant, inspect or revoke a member's read-only observation, and share or unshare the session itself"),
31
+ routed("capabilities", "capabilities", ["capabilities"], "Inspect live server capability truth"),
32
+ routed("machines", "machines", ["machines"], "Browse machines and AgentSessions interactively"),
33
+ routed("machines list", "machines list", ["machines", "list"], "List exact machine resources"),
34
+ routed("machines create", "machines create --name NAME --yes", ["machines", "create", "--name", "fixture", "--yes"], "Create a machine"),
35
+ routed("machines start", "machines start MACHINE_ID --yes", ["machines", "start", "00000000-0000-4000-8000-000000000001", "--yes"], "Start a machine"),
36
+ routed("machines pause", "machines pause MACHINE_ID --yes", ["machines", "pause", "00000000-0000-4000-8000-000000000001", "--yes"], "Pause a machine"),
37
+ routed("machines resume", "machines resume MACHINE_ID --yes", ["machines", "resume", "00000000-0000-4000-8000-000000000001", "--yes"], "Resume a machine"),
38
+ routed("machines stop", "machines stop MACHINE_ID --yes", ["machines", "stop", "00000000-0000-4000-8000-000000000001", "--yes"], "Stop a machine"),
39
+ routed("machines update-supervisor", "machines update-supervisor MACHINE_ID --yes", ["machines", "update-supervisor", "00000000-0000-4000-8000-000000000001", "--yes"], "Update a stopped machine's terminal supervisor"),
40
+ routed("machines live-update-supervisor", "machines live-update-supervisor MACHINE_ID --yes", ["machines", "live-update-supervisor", "00000000-0000-4000-8000-000000000001", "--yes"], "Update a running machine's terminal supervisor in place and report each AgentSession's custody"),
41
+ routed("machines live-update-status", "machines live-update-status MACHINE_ID", ["machines", "live-update-status", "00000000-0000-4000-8000-000000000001"], "Read what one in-place supervisor update did, without sending anything to the machine"),
42
+ routed("machines delete", "machines delete MACHINE_ID --yes", ["machines", "delete", "00000000-0000-4000-8000-000000000001", "--yes"], "Delete a machine"),
43
+ routed("records list", "records list", ["records", "list"], "List redacted account activity"),
44
+ routed("executions list", "executions list --machine MACHINE_ID", ["executions", "list", "--machine", "00000000-0000-4000-8000-000000000001"], "List remote commands and their remaining process ownership"),
45
+ routed("executions get", "executions get EXECUTION_ID --machine MACHINE_ID", ["executions", "get", "00000000-0000-4000-8000-000000000002", "--machine", "00000000-0000-4000-8000-000000000001"], "Inspect one exact remote command"),
46
+ routed("executions cancel", "executions cancel EXECUTION_ID --machine MACHINE_ID --yes", ["executions", "cancel", "00000000-0000-4000-8000-000000000002", "--machine", "00000000-0000-4000-8000-000000000001", "--yes"], "Request cancellation of one remote command and its descendants"),
47
+ routed("authorizations list", "authorizations list --machine MACHINE_ID", ["authorizations", "list", "--machine", "00000000-0000-4000-8000-000000000001"], "List machine credential rules"),
48
+ routed("account show", "account show", ["account", "show"], "Show the account identity"),
49
+ routed("workspace show", "workspace show", ["workspace", "show"], "Show workspace assignment"),
50
+ routed("usage show", "usage show", ["usage", "show"], "Show workspace usage estimates"),
51
+ routed("api-keys list", "api-keys list", ["api-keys", "list"], "List API-key metadata"),
52
+ routed("api-keys create", "api-keys create --name NAME --yes", ["api-keys", "create", "--name", "fixture", "--yes"], "Create an API key"),
53
+ routed("api-keys revoke", "api-keys revoke KEY_ID --yes", ["api-keys", "revoke", "00000000-0000-4000-8000-000000000001", "--yes"], "Revoke an API key"),
54
+ routed("agent-sessions list", "agent-sessions list --machine MACHINE_ID", ["agent-sessions", "list", "--machine", "00000000-0000-4000-8000-000000000001"], "List a machine's AgentSessions"),
55
+ routed("agent-sessions get", "agent-sessions get SESSION_ID", ["agent-sessions", "get", "00000000-0000-4000-8000-000000000001"], "Read one AgentSession"),
56
+ routed("agent-sessions create", "agent-sessions create --machine ID --workspace-binding-id ID --workspace-generation N --agent KIND --yes", ["agent-sessions", "create", "--machine", "00000000-0000-4000-8000-000000000001", "--workspace-binding-id", "00000000-0000-4000-8000-000000000002", "--workspace-generation", "1", "--agent", "claude-code", "--yes"], "Create an exact AgentSession"),
57
+ routed("agent-sessions rename", "agent-sessions rename SESSION_ID --name NAME --yes", ["agent-sessions", "rename", "00000000-0000-4000-8000-000000000001", "--name", "fixture", "--yes"], "Rename an AgentSession"),
58
+ routed("agent-sessions terminate", "agent-sessions terminate SESSION_ID --yes", ["agent-sessions", "terminate", "00000000-0000-4000-8000-000000000001", "--yes"], "Terminate an AgentSession"),
59
+ routed("agent-sessions attach", "agent-sessions attach SESSION_ID", ["agent-sessions", "attach", "00000000-0000-4000-8000-000000000001"], "Attach an exact AgentSession once the server grants terminal_connections.create"),
60
+ routed("agent logout", "agent logout --agent-session SESSION_ID --yes", ["agent", "logout", "--agent-session", "00000000-0000-4000-8000-000000000001", "--yes"], "Sign a provider out of one AgentSession"),
61
+ routed("connect", "connect SESSION_ID [SESSION_ID...]", ["connect", "00000000-0000-4000-8000-000000000001"], "Attach one through four exact AgentSessions once the server grants terminal_connections.create", "free"),
62
+ routed("config get", "config get", ["config", "get"], "Show redacted configuration"),
63
+ routed("doctor", "doctor", ["doctor"], "Inspect local runtime health"),
64
+ routed("self-test", "self-test --offline", ["self-test", "--offline"], "Verify this installation offline"),
65
+ routed("version", "version", ["version"], "Show build identity"),
66
+ routed("help", "help [--all]", ["help"], "Show primary or complete help"),
67
+ routed("claude", "claude [PATH]", ["claude"], "Open Claude Code", "free"),
68
+ routed("codex", "codex [PATH]", ["codex"], "Open Codex", "free"),
69
+ routed("opencode", "opencode [PATH]", ["opencode"], "Open OpenCode", "free"),
70
+ reserved("config set", "Reserved; configuration mutation is not implemented"),
71
+ reserved("shell", "Reserved; no shell runtime in this build"),
72
+ reserved("sync", "Reserved; no standalone sync command in this build"),
73
+ reserved("companion", "Reserved; no local companion in this build"),
74
+ ]);
75
+ /**
76
+ * Resolve an invocation to one admitted semantic leaf.
77
+ *
78
+ * Exact command leaves accept no positional operand. Action leaves consume
79
+ * their registered first operand and leave IDs/names to the command-specific
80
+ * validator. Only provider PATH journeys and `connect` intentionally admit
81
+ * free positional operands. Consequently, adding a switch branch cannot make
82
+ * a new command or subaction executable until it is registered here.
83
+ */
84
+ export function resolveCliRoute(parsed) {
85
+ if (parsed.command === undefined)
86
+ return undefined;
87
+ const candidates = CLI_ROUTE_REGISTRY.filter((route) => route.command === parsed.command);
88
+ const action = parsed.operands[0];
89
+ if (action !== undefined) {
90
+ const actionRoute = candidates.find((route) => route.action === action);
91
+ if (actionRoute !== undefined)
92
+ return actionRoute;
93
+ }
94
+ const base = candidates.find((route) => route.action === undefined);
95
+ if (base === undefined)
96
+ return undefined;
97
+ if (base.operandMode === "free" || parsed.operands.length === 0)
98
+ return base;
99
+ return undefined;
100
+ }
101
+ /**
102
+ * The actions this registry admits for one command, in registry order. Built
103
+ * from the registry so the message cannot drift from what the CLI accepts.
104
+ */
105
+ function registeredActions(command) {
106
+ const actions = [];
107
+ for (const route of CLI_ROUTE_REGISTRY) {
108
+ if (route.command !== command || route.action === undefined)
109
+ continue;
110
+ if (!actions.includes(route.action))
111
+ actions.push(route.action);
112
+ }
113
+ return actions;
114
+ }
115
+ /**
116
+ * Echo what the person typed, bounded and on one line. Sanitizing is the
117
+ * renderer's job; this only keeps a pasted paragraph out of the message.
118
+ */
119
+ function echoOperand(value) {
120
+ const flattened = value.replaceAll(/\s+/gu, " ").trim();
121
+ return flattened.length <= 40 ? flattened : `${flattened.slice(0, 39)}…`;
122
+ }
123
+ /** Fail closed before the command preflight switch can admit an unregistered leaf. */
124
+ export function assertRegisteredCliRoute(parsed) {
125
+ const route = resolveCliRoute(parsed);
126
+ if (route !== undefined)
127
+ return route;
128
+ const knownCommand = parsed.command !== undefined &&
129
+ CLI_ROUTE_REGISTRY.some((candidate) => candidate.command === parsed.command);
130
+ if (knownCommand) {
131
+ // Missing and wrong are different mistakes and read differently. Both name
132
+ // the actions that exist rather than sending the reader to `--help`.
133
+ const command = parsed.command;
134
+ const actions = registeredActions(command);
135
+ const available = actions.length === 0
136
+ ? undefined
137
+ : actions.length === 1
138
+ ? `The only action is \`${actions[0]}\`.`
139
+ : `Available actions: ${actions.map((action) => `\`${action}\``).join(", ")}.`;
140
+ const given = parsed.operands[0];
141
+ throw usageError(given === undefined
142
+ ? `cuna ${command} requires an action.`
143
+ : `cuna ${command} has no action ${echoOperand(given)}.`, available);
144
+ }
145
+ throw usageError(`Unknown command ${parsed.command ?? "<none>"}.`, "Run `cuna --help`.");
146
+ }
147
+ const BOOLEAN_OPTIONS = new Set([
148
+ "help",
149
+ "version",
150
+ "json",
151
+ "no-color",
152
+ "yes",
153
+ "background",
154
+ "no-sync",
155
+ "new",
156
+ "new-session",
157
+ "offline",
158
+ // `doctor` is offline by default. This opt-in is the only diagnostic that
159
+ // makes the anonymous browser-login bootstrap request.
160
+ "check-browser-login",
161
+ // `cuna help --all`. Absent from this set, the parser reads it as a
162
+ // value option, swallows the next token, and answers "Option --all requires
163
+ // a value" — a usage error about a flag that takes none.
164
+ "all",
165
+ // `machines live-update-supervisor --forget-unknown`. Clears this
166
+ // installation's local record of an update. It sends no mutation and settles
167
+ // nothing on the server; it reads the operation first and clears only a
168
+ // terminal one, because that record now holds the only identity able to
169
+ // resolve an open update.
170
+ "forget-unknown",
171
+ // `machines live-update-supervisor --resume`. Re-sends the operation identity
172
+ // already recorded for this Machine. It is a repeat by design and the
173
+ // producer's own recovery: the same identity never rotates control twice.
174
+ // Deliberately NOT spelled `--yes`, which starts a different update.
175
+ "resume",
176
+ ]);
177
+ /**
178
+ * Every option that takes a value, anywhere in the CLI.
179
+ *
180
+ * The parser has to decide whether a token is a flag or a name expecting a
181
+ * value before any command sees it, and without this it assumed "not boolean,
182
+ * therefore takes a value". A mistyped flag then got two contradictory answers:
183
+ * `--verbose` was told it required a value, and `--verbose x` was told it was
184
+ * unknown. Whether a name is known and whether it takes a value are separate
185
+ * questions, and the parser can only answer the first from a list it holds.
186
+ *
187
+ * A name here that no command accepts is refused later by
188
+ * `rejectUnknownOptions`, which is per-command and stricter. This set only
189
+ * decides the shape of the parse.
190
+ */
191
+ const VALUE_OPTIONS = new Set([
192
+ "project",
193
+ "grant",
194
+ "after",
195
+ "execution-workspace-id",
196
+ "agent",
197
+ "agent-session",
198
+ "auth-mode",
199
+ "base-url",
200
+ "config-file",
201
+ "credential-binding",
202
+ "cursor",
203
+ "cwd",
204
+ "expires-at",
205
+ "idempotency-key",
206
+ "limit",
207
+ "machine",
208
+ "memory-mib",
209
+ "name",
210
+ // `machines live-update-status --operation`. Names one in-place supervisor
211
+ // update when this computer holds no record of it -- an update started from
212
+ // another computer or from the web console has an identity this CLI never
213
+ // held and cannot reconstruct.
214
+ "operation",
215
+ "profile",
216
+ "resource-id",
217
+ "scope",
218
+ "timeout-ms",
219
+ "vcpus",
220
+ "workspace-binding-id",
221
+ "workspace-generation",
222
+ ]);
223
+ function optionName(raw) {
224
+ if (!/^[a-z][a-z0-9-]*$/u.test(raw))
225
+ throw usageError(`Invalid option --${raw}.`);
226
+ return raw;
227
+ }
228
+ export function parseArgv(argv) {
229
+ const options = {};
230
+ const positionals = [];
231
+ let flags = true;
232
+ for (let index = 0; index < argv.length; index += 1) {
233
+ const token = argv[index];
234
+ if (token === undefined)
235
+ continue;
236
+ if (flags && token === "--") {
237
+ flags = false;
238
+ continue;
239
+ }
240
+ if (flags && token.startsWith("--")) {
241
+ const separator = token.indexOf("=");
242
+ const name = optionName(token.slice(2, separator === -1 ? undefined : separator));
243
+ if (Object.hasOwn(options, name))
244
+ throw usageError(`Option --${name} was provided more than once.`);
245
+ if (!BOOLEAN_OPTIONS.has(name) && !VALUE_OPTIONS.has(name)) {
246
+ throw usageError(`Unknown option --${name}.`, "Run `cuna <command> --help` to see the options it accepts.");
247
+ }
248
+ if (BOOLEAN_OPTIONS.has(name)) {
249
+ if (separator !== -1)
250
+ throw usageError(`Option --${name} does not accept a value.`);
251
+ options[name] = true;
252
+ }
253
+ else {
254
+ const value = separator === -1 ? argv[index + 1] : token.slice(separator + 1);
255
+ if (value === undefined || value === "" || (separator === -1 && value.startsWith("--"))) {
256
+ throw usageError(`Option --${name} requires a value.`);
257
+ }
258
+ options[name] = value;
259
+ if (separator === -1)
260
+ index += 1;
261
+ }
262
+ continue;
263
+ }
264
+ positionals.push(token);
265
+ }
266
+ return Object.freeze({
267
+ command: positionals[0],
268
+ operands: Object.freeze(positionals.slice(1)),
269
+ options: Object.freeze(options),
270
+ });
271
+ }
272
+ export function stringOption(parsed, name) {
273
+ const value = parsed.options[name];
274
+ if (value === undefined)
275
+ return undefined;
276
+ if (typeof value !== "string")
277
+ throw usageError(`Option --${name} requires a value.`);
278
+ return value;
279
+ }
280
+ export function booleanOption(parsed, name) {
281
+ const value = parsed.options[name];
282
+ if (value === undefined)
283
+ return false;
284
+ if (value !== true)
285
+ throw usageError(`Option --${name} does not accept a value.`);
286
+ return true;
287
+ }
288
+ export function rejectUnknownOptions(parsed, allowed) {
289
+ const allow = new Set([...allowed, "json", "no-color", "profile", "base-url", "config-file", "timeout-ms"]);
290
+ const unknown = Object.keys(parsed.options).filter((key) => !allow.has(key));
291
+ if (unknown.length > 0)
292
+ throw usageError(`Unknown option --${unknown[0]}.`);
293
+ }
294
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAmD/C,MAAM,MAAM,GAAG,CACb,GAAW,EACX,MAAc,EACd,IAAuB,EACvB,OAAe,EACf,cAAgC,OAAO,EACnB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IACrC,GAAG;IACH,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE;IAC3B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,WAAW;IACX,MAAM;IACN,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,OAAO;IACP,QAAQ,EAAE,QAAQ;CACnB,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,OAAe,EAAsB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IACnF,GAAG;IACH,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE;IAC3B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,WAAW,EAAE,OAAO;IACpB,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO;IACP,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAkC,MAAM,CAAC,MAAM,CAAC;IAC7E,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,uCAAuC,CAAC;IAC/E,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,6BAA6B,CAAC;IAClE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,sCAAsC,CAAC;IAC9E,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,kCAAkC,CAAC;IAC1E,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,wEAAwE,CAAC;IACxI,MAAM,CAAC,SAAS,EAAE,8BAA8B,EAAE,CAAC,SAAS,EAAC,WAAW,EAAC,sCAAsC,CAAC,EAAE,gDAAgD,CAAC;IACnK,MAAM,CAAC,OAAO,EAAE,+CAA+C,EAAE,CAAC,OAAO,EAAC,WAAW,EAAC,sCAAsC,CAAC,EAAE,oGAAoG,CAAC;IACpO,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE,sCAAsC,CAAC;IAChG,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,iDAAiD,CAAC;IAC/F,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,8BAA8B,CAAC;IAC9F,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACxI,MAAM,CAAC,gBAAgB,EAAE,iCAAiC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,sCAAsC,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACtJ,MAAM,CAAC,gBAAgB,EAAE,iCAAiC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,sCAAsC,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACtJ,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,sCAAsC,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC1J,MAAM,CAAC,eAAe,EAAE,gCAAgC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,sCAAsC,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAClJ,MAAM,CAAC,4BAA4B,EAAE,6CAA6C,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,sCAAsC,EAAE,OAAO,CAAC,EAAE,gDAAgD,CAAC;IACzN,MAAM,CAAC,iCAAiC,EAAE,kDAAkD,EAAE,CAAC,UAAU,EAAE,wBAAwB,EAAE,sCAAsC,EAAE,OAAO,CAAC,EAAE,gGAAgG,CAAC;IACxR,MAAM,CAAC,6BAA6B,EAAE,wCAAwC,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,sCAAsC,CAAC,EAAE,uFAAuF,CAAC;IACpP,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,sCAAsC,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC1J,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,gCAAgC,CAAC;IAC7F,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,sCAAsC,CAAC,EAAE,4DAA4D,CAAC;IAC5M,MAAM,CAAC,gBAAgB,EAAE,kDAAkD,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,sCAAsC,EAAE,WAAW,EAAE,sCAAsC,CAAC,EAAE,kCAAkC,CAAC;IACpO,MAAM,CAAC,mBAAmB,EAAE,2DAA2D,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,sCAAsC,EAAE,WAAW,EAAE,sCAAsC,EAAE,OAAO,CAAC,EAAE,gEAAgE,CAAC;IAC1R,MAAM,CAAC,qBAAqB,EAAE,0CAA0C,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,sCAAsC,CAAC,EAAE,+BAA+B,CAAC;IAC3L,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,2BAA2B,CAAC;IACxF,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,2BAA2B,CAAC;IAC9F,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,gCAAgC,CAAC;IACvF,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACvF,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACzI,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,sCAAsC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvJ,MAAM,CAAC,qBAAqB,EAAE,0CAA0C,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,sCAAsC,CAAC,EAAE,gCAAgC,CAAC;IAC5L,MAAM,CAAC,oBAAoB,EAAE,+BAA+B,EAAE,CAAC,gBAAgB,EAAE,KAAK,EAAE,sCAAsC,CAAC,EAAE,uBAAuB,CAAC;IACzJ,MAAM,CAAC,uBAAuB,EAAE,0GAA0G,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE,wBAAwB,EAAE,sCAAsC,EAAE,wBAAwB,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,8BAA8B,CAAC;IAClY,MAAM,CAAC,uBAAuB,EAAE,oDAAoD,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,sCAAsC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnN,MAAM,CAAC,0BAA0B,EAAE,2CAA2C,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,sCAAsC,EAAE,OAAO,CAAC,EAAE,2BAA2B,CAAC;IAC9L,MAAM,CAAC,uBAAuB,EAAE,kCAAkC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,sCAAsC,CAAC,EAAE,iFAAiF,CAAC;IAC5N,MAAM,CAAC,cAAc,EAAE,+CAA+C,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,sCAAsC,EAAE,OAAO,CAAC,EAAE,yCAAyC,CAAC;IAC3M,MAAM,CAAC,SAAS,EAAE,oCAAoC,EAAE,CAAC,SAAS,EAAE,sCAAsC,CAAC,EAAE,gGAAgG,EAAE,MAAM,CAAC;IACtN,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,6BAA6B,CAAC;IACpF,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAC;IACtE,MAAM,CAAC,WAAW,EAAE,qBAAqB,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,kCAAkC,CAAC;IAC1G,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAChE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,+BAA+B,CAAC;IACzE,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,QAAQ,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC;IACzE,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC;IAChE,MAAM,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC;IAC5E,QAAQ,CAAC,YAAY,EAAE,qDAAqD,CAAC;IAC7E,QAAQ,CAAC,OAAO,EAAE,0CAA0C,CAAC;IAC7D,QAAQ,CAAC,MAAM,EAAE,oDAAoD,CAAC;IACtE,QAAQ,CAAC,WAAW,EAAE,4CAA4C,CAAC;CACpE,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,MAAwB;IACtD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACnD,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACxE,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC;IACpD,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACpE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,SAAS;QACtE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,OAAO,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;AAC3E,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,wBAAwB,CAAC,MAAwB;IAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS;QAC/C,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/E,IAAI,YAAY,EAAE,CAAC;QACjB,2EAA2E;QAC3E,qEAAqE;QACrE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAiB,CAAC;QACzC,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC;YACpC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBACpB,CAAC,CAAC,wBAAwB,OAAO,CAAC,CAAC,CAAC,KAAK;gBACzC,CAAC,CAAC,sBAAsB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACnF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,UAAU,CACd,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,QAAQ,OAAO,sBAAsB;YACvC,CAAC,CAAC,QAAQ,OAAO,kBAAkB,WAAW,CAAC,KAAK,CAAC,GAAG,EAC1D,SAAS,CACV,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,CAAC,mBAAmB,MAAM,CAAC,OAAO,IAAI,QAAQ,GAAG,EAAE,oBAAoB,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,MAAM;IACN,SAAS;IACT,MAAM;IACN,UAAU;IACV,KAAK;IACL,YAAY;IACZ,SAAS;IACT,KAAK;IACL,aAAa;IACb,SAAS;IACT,0EAA0E;IAC1E,uDAAuD;IACvD,qBAAqB;IACrB,oEAAoE;IACpE,4EAA4E;IAC5E,yDAAyD;IACzD,KAAK;IACL,kEAAkE;IAClE,6EAA6E;IAC7E,wEAAwE;IACxE,wEAAwE;IACxE,0BAA0B;IAC1B,gBAAgB;IAChB,8EAA8E;IAC9E,sEAAsE;IACtE,0EAA0E;IAC1E,qEAAqE;IACrE,QAAQ;CACT,CAAC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,SAAS;IACT,OAAO;IACP,OAAO;IACP,wBAAwB;IACxB,OAAO;IACP,eAAe;IACf,WAAW;IACX,UAAU;IACV,aAAa;IACb,oBAAoB;IACpB,QAAQ;IACR,KAAK;IACL,YAAY;IACZ,iBAAiB;IACjB,OAAO;IACP,SAAS;IACT,YAAY;IACZ,MAAM;IACN,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,+BAA+B;IAC/B,WAAW;IACX,SAAS;IACT,aAAa;IACb,OAAO;IACP,YAAY;IACZ,OAAO;IACP,sBAAsB;IACtB,sBAAsB;CACvB,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,UAAU,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC;IAClF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAuB;IAC/C,MAAM,OAAO,GAAgC,EAAE,CAAC;IAChD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC5B,KAAK,GAAG,KAAK,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAClF,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;gBAAE,MAAM,UAAU,CAAC,YAAY,IAAI,+BAA+B,CAAC,CAAC;YACpG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,MAAM,UAAU,CAAC,oBAAoB,IAAI,GAAG,EAAE,4DAA4D,CAAC,CAAC;YAC9G,CAAC;YACD,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,SAAS,KAAK,CAAC,CAAC;oBAAE,MAAM,UAAU,CAAC,YAAY,IAAI,2BAA2B,CAAC,CAAC;gBACpF,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAC9E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACxF,MAAM,UAAU,CAAC,YAAY,IAAI,oBAAoB,CAAC,CAAC;gBACzD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACtB,IAAI,SAAS,KAAK,CAAC,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;YACnC,CAAC;YACD,SAAS;QACX,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAwB,EAAE,IAAY;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,UAAU,CAAC,YAAY,IAAI,oBAAoB,CAAC,CAAC;IACtF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAwB,EAAE,IAAY;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,UAAU,CAAC,YAAY,IAAI,2BAA2B,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAwB,EAAE,OAA0B;IACvF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAC5G,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,UAAU,CAAC,oBAAoB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { runCli } from "./run.js";
2
+ type SupportedProcessSignal = "SIGINT" | "SIGTERM" | "SIGHUP";
3
+ export interface ProcessSignalHost {
4
+ once(signal: SupportedProcessSignal, listener: () => void): unknown;
5
+ removeListener(signal: SupportedProcessSignal, listener: () => void): unknown;
6
+ }
7
+ export interface ProcessInputHost {
8
+ pause(): unknown;
9
+ destroy(): unknown;
10
+ }
11
+ export declare function runProcessCli(argv: readonly string[], input?: {
12
+ readonly host?: ProcessSignalHost;
13
+ /** The real process stdin, supplied only by the executable entrypoint. */
14
+ readonly stdin?: ProcessInputHost;
15
+ readonly run?: typeof runCli;
16
+ }): Promise<number>;
17
+ export {};
18
+ //# sourceMappingURL=process-entrypoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-entrypoint.d.ts","sourceRoot":"","sources":["../../src/cli/process-entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,KAAK,sBAAsB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;IACpE,cAAc,CAAC,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CAC/E;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,IAAI,OAAO,CAAC;IACjB,OAAO,IAAI,OAAO,CAAC;CACpB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,GAAE;IACL,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,MAAM,CAAC;CACzB,GACL,OAAO,CAAC,MAAM,CAAC,CAsBjB"}
@@ -0,0 +1,26 @@
1
+ import { runCli } from "./run.js";
2
+ export async function runProcessCli(argv, input = {}) {
3
+ const host = input.host ?? process;
4
+ const run = input.run ?? runCli;
5
+ const controller = new AbortController();
6
+ const interrupt = () => controller.abort(new Error("Cuna was interrupted by SIGINT."));
7
+ const terminate = () => controller.abort(new Error("Cuna was terminated by SIGTERM."));
8
+ const hangup = () => controller.abort(new Error("Cuna was interrupted by SIGHUP."));
9
+ host.once("SIGINT", interrupt);
10
+ host.once("SIGTERM", terminate);
11
+ host.once("SIGHUP", hangup);
12
+ try {
13
+ return await run(argv, { signal: controller.signal });
14
+ }
15
+ finally {
16
+ host.removeListener("SIGINT", interrupt);
17
+ host.removeListener("SIGTERM", terminate);
18
+ host.removeListener("SIGHUP", hangup);
19
+ // Raw hidden-code input must not own the lifetime of a command that has
20
+ // already returned. Closing stdin here is safe: this is the process
21
+ // boundary, after every interactive journey and terminal runner finished.
22
+ input.stdin?.pause();
23
+ input.stdin?.destroy();
24
+ }
25
+ }
26
+ //# sourceMappingURL=process-entrypoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-entrypoint.js","sourceRoot":"","sources":["../../src/cli/process-entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAclC,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAuB,EACvB,QAKI,EAAE;IAEN,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC;IACnC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;IACvF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;IACpF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtC,wEAAwE;QACxE,oEAAoE;QACpE,0EAA0E;QAC1E,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACrB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;IACzB,CAAC;AACH,CAAC"}
@@ -0,0 +1,114 @@
1
+ import { runProviderScreen } from "../machines/provider-screen.js";
2
+ import { Writable } from "node:stream";
3
+ import { type CunaApiClient } from "../api/client.js";
4
+ import { type BrowserOpener } from "../auth/browser.js";
5
+ import type { BrowserHandoffReporter } from "../auth/browser-handoff.js";
6
+ import { type HumanAuthService } from "../auth/human-session.js";
7
+ import { type EffectiveConfig } from "../config/config.js";
8
+ import { type ConvergencePoller } from "../commands/commands.js";
9
+ import { type ExitCode } from "../core/errors.js";
10
+ import type { SecureCredentialBackend } from "../credentials/contracts.js";
11
+ import { CredentialVault } from "../credentials/vault.js";
12
+ import { type AgentJourneyEffects, type ReconciledAgentJourneyIntent } from "../journey/index.js";
13
+ import { type RootJourneyRunner } from "../journey/root-entry.js";
14
+ import { type PlatformAdapter } from "../platform/adapter.js";
15
+ import { type RuntimeFeatureGate } from "../runtime/contracts.js";
16
+ import { type ForegroundSessionRunner } from "../runtime/node-foreground-session.js";
17
+ import { type MachinesExplorerRunner } from "../machines/explorer.js";
18
+ import { type CliStreams } from "./output.js";
19
+ export interface RunCliDependencies {
20
+ readonly env?: NodeJS.ProcessEnv;
21
+ readonly platform?: PlatformAdapter;
22
+ readonly streams?: CliStreams;
23
+ readonly fetch?: typeof globalThis.fetch;
24
+ readonly now?: () => number;
25
+ /**
26
+ * Test seam for every bounded read-back that waits for an accepted mutation to
27
+ * become visible. Production always uses a wall-clock deadline.
28
+ */
29
+ readonly convergencePoller?: ConvergencePoller;
30
+ readonly clientFactory?: (config: EffectiveConfig, timeoutMs: number) => CunaApiClient;
31
+ readonly humanAuth?: HumanAuthService;
32
+ readonly credentialVault?: CredentialVault;
33
+ readonly browser?: BrowserOpener;
34
+ readonly readLoginCode?: (signal?: AbortSignal) => Promise<string>;
35
+ readonly signal?: AbortSignal;
36
+ /**
37
+ * Test seam for the diagnostic-only local-store observation. Production CLI
38
+ * invocations leave this absent and construct the AES backend below. Keeping
39
+ * the remote bootstrap probe outside this seam lets tests prove the two
40
+ * independent `doctor --check-browser-login` predicates without depending on
41
+ * host ACL subprocess availability.
42
+ */
43
+ readonly doctorCredentialBackend?: Pick<SecureCredentialBackend, "backendId" | "probe">;
44
+ readonly runtimeFeatures?: readonly RuntimeFeatureGate[];
45
+ readonly foregroundTerminalRunner?: ForegroundSessionRunner;
46
+ readonly machinesExplorerRunner?: MachinesExplorerRunner;
47
+ readonly providerScreenRunner?: typeof runProviderScreen;
48
+ readonly rootJourneyRunner?: RootJourneyRunner;
49
+ /** Internal root-UI hint; never parsed from or printed to user input. */
50
+ readonly managedWorkspaceMachineId?: string;
51
+ /** Test seam for the folder a command resolves its workspace binding from. */
52
+ readonly workspaceRoot?: string;
53
+ readonly automaticJourneyEffectsFactory?: (input: {
54
+ readonly client: CunaApiClient;
55
+ readonly intent: ReconciledAgentJourneyIntent;
56
+ readonly config: EffectiveConfig;
57
+ readonly platform: PlatformAdapter;
58
+ readonly credentialMode: "automation" | "interactive";
59
+ readonly signal?: AbortSignal;
60
+ }) => AgentJourneyEffects;
61
+ readonly authorizeMachineCreate?: (agent: "claude-code" | "codex" | "openclaw" | "opencode", signal: AbortSignal) => Promise<boolean>;
62
+ /** Internal navigation context; direct command refusals retain their exit code. */
63
+ readonly returnToMachinesOnCreateDeclined?: boolean;
64
+ }
65
+ /**
66
+ * Render the browser handoff onto the interactive terminal.
67
+ *
68
+ * Everything here goes to **stderr**, deliberately and for two reasons.
69
+ *
70
+ * It is prompt text, not a command result, so `stdout` stays clean for the
71
+ * structured result the command still owes its caller. And the continuation
72
+ * fragment is a bearer proof: on stderr it stays out of `$(cuna login)`,
73
+ * pipelines and redirected logs, while `run` already refuses the whole command
74
+ * unless stdin, stdout **and** stderr are all TTYs — so this print cannot reach
75
+ * a file or a pipe without that refusal firing first.
76
+ *
77
+ * Every line is passed through the same human-output sanitizer as the rest of
78
+ * the CLI. The URL is already constrained by `decodeCliContinuationIssued` and
79
+ * by `isBoundedHttpsBrowserUrl`, so this is defence in depth rather than the
80
+ * only control, but a print sink for service-controlled bytes is held to the
81
+ * same rule everywhere else in this file.
82
+ */
83
+ export declare function createTerminalBrowserHandoffReporter(output: Writable): BrowserHandoffReporter;
84
+ /**
85
+ * Read the reusable browser login code without writing its bytes to terminal
86
+ * output. `readline.question` echoes pasted text, which is unacceptable for a
87
+ * credential retained in the encrypted local session store. Raw TTY input is
88
+ * the narrowest portable Node primitive that gives this command that boundary.
89
+ *
90
+ * This intentionally refuses pipes and terminals without `setRawMode`: a
91
+ * process that cannot suppress echo must not accept the durable code at all.
92
+ *
93
+ * Suppressing the bytes is not the same as suppressing all feedback. For a
94
+ * TYPED password an empty prompt is correct, because the person knows what they
95
+ * pressed. For a PASTED high-entropy code it is a dead end: nothing on screen
96
+ * distinguishes "the clipboard was empty", "the paste arrived", and "the paste
97
+ * arrived twice", so the only way to find out is to submit and read the error.
98
+ * So each accepted byte echoes one mask character and a backspace erases one,
99
+ * which keeps the display a truthful count of what will be submitted. That
100
+ * reveals the code's LENGTH and nothing else, and the length is already fixed
101
+ * and public in the `cuna_login_` format.
102
+ */
103
+ export declare function readHiddenLoginCode(input: NodeJS.ReadStream, output: Writable, signal?: AbortSignal): Promise<string>;
104
+ export declare function runCli(argv: readonly string[], dependencies?: RunCliDependencies): Promise<ExitCode>;
105
+ export declare function memoryStreams(input?: {
106
+ readonly stdoutIsTTY?: boolean;
107
+ readonly stdinIsTTY?: boolean;
108
+ readonly stderrIsTTY?: boolean;
109
+ }): {
110
+ readonly streams: CliStreams;
111
+ readonly stdout: () => string;
112
+ readonly stderr: () => string;
113
+ };
114
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}