@stigmer/cli 3.0.8

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 (1049) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +42 -0
  3. package/auth/auth0.d.ts +19 -0
  4. package/auth/auth0.d.ts.map +1 -0
  5. package/auth/auth0.js +39 -0
  6. package/auth/auth0.js.map +1 -0
  7. package/auth/callback-server.d.ts +18 -0
  8. package/auth/callback-server.d.ts.map +1 -0
  9. package/auth/callback-server.js +77 -0
  10. package/auth/callback-server.js.map +1 -0
  11. package/auth/index.d.ts +5 -0
  12. package/auth/index.d.ts.map +1 -0
  13. package/auth/index.js +6 -0
  14. package/auth/index.js.map +1 -0
  15. package/auth/login.d.ts +2 -0
  16. package/auth/login.d.ts.map +1 -0
  17. package/auth/login.js +56 -0
  18. package/auth/login.js.map +1 -0
  19. package/auth/pages.d.ts +7 -0
  20. package/auth/pages.d.ts.map +1 -0
  21. package/auth/pages.js +21 -0
  22. package/auth/pages.js.map +1 -0
  23. package/auth/pkce.d.ts +7 -0
  24. package/auth/pkce.d.ts.map +1 -0
  25. package/auth/pkce.js +22 -0
  26. package/auth/pkce.js.map +1 -0
  27. package/auth/token.d.ts +33 -0
  28. package/auth/token.d.ts.map +1 -0
  29. package/auth/token.js +111 -0
  30. package/auth/token.js.map +1 -0
  31. package/backend.d.ts +5 -0
  32. package/backend.d.ts.map +1 -0
  33. package/backend.js +14 -0
  34. package/backend.js.map +1 -0
  35. package/cli/stigmer.d.ts +3 -0
  36. package/cli/stigmer.d.ts.map +1 -0
  37. package/cli/stigmer.js +14 -0
  38. package/cli/stigmer.js.map +1 -0
  39. package/client/client.d.ts +25 -0
  40. package/client/client.d.ts.map +1 -0
  41. package/client/client.js +55 -0
  42. package/client/client.js.map +1 -0
  43. package/client/index.d.ts +2 -0
  44. package/client/index.d.ts.map +1 -0
  45. package/client/index.js +3 -0
  46. package/client/index.js.map +1 -0
  47. package/commands/agent-exec-flags.d.ts +30 -0
  48. package/commands/agent-exec-flags.d.ts.map +1 -0
  49. package/commands/agent-exec-flags.js +52 -0
  50. package/commands/agent-exec-flags.js.map +1 -0
  51. package/commands/apikey/duration.d.ts +2 -0
  52. package/commands/apikey/duration.d.ts.map +1 -0
  53. package/commands/apikey/duration.js +30 -0
  54. package/commands/apikey/duration.js.map +1 -0
  55. package/commands/apikey/index.d.ts +3 -0
  56. package/commands/apikey/index.d.ts.map +1 -0
  57. package/commands/apikey/index.js +118 -0
  58. package/commands/apikey/index.js.map +1 -0
  59. package/commands/apply.d.ts +3 -0
  60. package/commands/apply.d.ts.map +1 -0
  61. package/commands/apply.js +155 -0
  62. package/commands/apply.js.map +1 -0
  63. package/commands/auth/index.d.ts +3 -0
  64. package/commands/auth/index.d.ts.map +1 -0
  65. package/commands/auth/index.js +76 -0
  66. package/commands/auth/index.js.map +1 -0
  67. package/commands/completion.d.ts +3 -0
  68. package/commands/completion.d.ts.map +1 -0
  69. package/commands/completion.js +82 -0
  70. package/commands/completion.js.map +1 -0
  71. package/commands/config/backend.d.ts +3 -0
  72. package/commands/config/backend.d.ts.map +1 -0
  73. package/commands/config/backend.js +49 -0
  74. package/commands/config/backend.js.map +1 -0
  75. package/commands/config/context.d.ts +3 -0
  76. package/commands/config/context.d.ts.map +1 -0
  77. package/commands/config/context.js +23 -0
  78. package/commands/config/context.js.map +1 -0
  79. package/commands/config/index.d.ts +3 -0
  80. package/commands/config/index.d.ts.map +1 -0
  81. package/commands/config/index.js +13 -0
  82. package/commands/config/index.js.map +1 -0
  83. package/commands/config/kv.d.ts +3 -0
  84. package/commands/config/kv.d.ts.map +1 -0
  85. package/commands/config/kv.js +39 -0
  86. package/commands/config/kv.js.map +1 -0
  87. package/commands/connect.d.ts +3 -0
  88. package/commands/connect.d.ts.map +1 -0
  89. package/commands/connect.js +56 -0
  90. package/commands/connect.js.map +1 -0
  91. package/commands/delete.d.ts +3 -0
  92. package/commands/delete.d.ts.map +1 -0
  93. package/commands/delete.js +41 -0
  94. package/commands/delete.js.map +1 -0
  95. package/commands/diff.d.ts +3 -0
  96. package/commands/diff.d.ts.map +1 -0
  97. package/commands/diff.js +87 -0
  98. package/commands/diff.js.map +1 -0
  99. package/commands/down.d.ts +3 -0
  100. package/commands/down.d.ts.map +1 -0
  101. package/commands/down.js +23 -0
  102. package/commands/down.js.map +1 -0
  103. package/commands/download.d.ts +3 -0
  104. package/commands/download.d.ts.map +1 -0
  105. package/commands/download.js +46 -0
  106. package/commands/download.js.map +1 -0
  107. package/commands/draft.d.ts +3 -0
  108. package/commands/draft.d.ts.map +1 -0
  109. package/commands/draft.js +97 -0
  110. package/commands/draft.js.map +1 -0
  111. package/commands/execution/approve.d.ts +3 -0
  112. package/commands/execution/approve.d.ts.map +1 -0
  113. package/commands/execution/approve.js +60 -0
  114. package/commands/execution/approve.js.map +1 -0
  115. package/commands/execution/control.d.ts +3 -0
  116. package/commands/execution/control.d.ts.map +1 -0
  117. package/commands/execution/control.js +57 -0
  118. package/commands/execution/control.js.map +1 -0
  119. package/commands/execution/index.d.ts +3 -0
  120. package/commands/execution/index.d.ts.map +1 -0
  121. package/commands/execution/index.js +21 -0
  122. package/commands/execution/index.js.map +1 -0
  123. package/commands/execution/logs.d.ts +3 -0
  124. package/commands/execution/logs.d.ts.map +1 -0
  125. package/commands/execution/logs.js +34 -0
  126. package/commands/execution/logs.js.map +1 -0
  127. package/commands/execution/trace.d.ts +3 -0
  128. package/commands/execution/trace.d.ts.map +1 -0
  129. package/commands/execution/trace.js +24 -0
  130. package/commands/execution/trace.js.map +1 -0
  131. package/commands/get.d.ts +3 -0
  132. package/commands/get.d.ts.map +1 -0
  133. package/commands/get.js +81 -0
  134. package/commands/get.js.map +1 -0
  135. package/commands/internal-daemon.d.ts +3 -0
  136. package/commands/internal-daemon.d.ts.map +1 -0
  137. package/commands/internal-daemon.js +22 -0
  138. package/commands/internal-daemon.js.map +1 -0
  139. package/commands/list.d.ts +3 -0
  140. package/commands/list.d.ts.map +1 -0
  141. package/commands/list.js +117 -0
  142. package/commands/list.js.map +1 -0
  143. package/commands/logs.d.ts +3 -0
  144. package/commands/logs.d.ts.map +1 -0
  145. package/commands/logs.js +59 -0
  146. package/commands/logs.js.map +1 -0
  147. package/commands/mcp-server.d.ts +22 -0
  148. package/commands/mcp-server.d.ts.map +1 -0
  149. package/commands/mcp-server.js +104 -0
  150. package/commands/mcp-server.js.map +1 -0
  151. package/commands/push.d.ts +3 -0
  152. package/commands/push.d.ts.map +1 -0
  153. package/commands/push.js +150 -0
  154. package/commands/push.js.map +1 -0
  155. package/commands/reset.d.ts +3 -0
  156. package/commands/reset.d.ts.map +1 -0
  157. package/commands/reset.js +45 -0
  158. package/commands/reset.js.map +1 -0
  159. package/commands/resume.d.ts +3 -0
  160. package/commands/resume.d.ts.map +1 -0
  161. package/commands/resume.js +87 -0
  162. package/commands/resume.js.map +1 -0
  163. package/commands/run.d.ts +3 -0
  164. package/commands/run.d.ts.map +1 -0
  165. package/commands/run.js +193 -0
  166. package/commands/run.js.map +1 -0
  167. package/commands/search.d.ts +3 -0
  168. package/commands/search.d.ts.map +1 -0
  169. package/commands/search.js +73 -0
  170. package/commands/search.js.map +1 -0
  171. package/commands/seedpack.d.ts +3 -0
  172. package/commands/seedpack.d.ts.map +1 -0
  173. package/commands/seedpack.js +76 -0
  174. package/commands/seedpack.js.map +1 -0
  175. package/commands/setup.d.ts +3 -0
  176. package/commands/setup.d.ts.map +1 -0
  177. package/commands/setup.js +57 -0
  178. package/commands/setup.js.map +1 -0
  179. package/commands/shared.d.ts +15 -0
  180. package/commands/shared.d.ts.map +1 -0
  181. package/commands/shared.js +34 -0
  182. package/commands/shared.js.map +1 -0
  183. package/commands/status.d.ts +3 -0
  184. package/commands/status.d.ts.map +1 -0
  185. package/commands/status.js +18 -0
  186. package/commands/status.js.map +1 -0
  187. package/commands/tag.d.ts +3 -0
  188. package/commands/tag.d.ts.map +1 -0
  189. package/commands/tag.js +24 -0
  190. package/commands/tag.js.map +1 -0
  191. package/commands/up.d.ts +3 -0
  192. package/commands/up.d.ts.map +1 -0
  193. package/commands/up.js +39 -0
  194. package/commands/up.js.map +1 -0
  195. package/commands/usage.d.ts +3 -0
  196. package/commands/usage.d.ts.map +1 -0
  197. package/commands/usage.js +56 -0
  198. package/commands/usage.js.map +1 -0
  199. package/commands/validate.d.ts +3 -0
  200. package/commands/validate.d.ts.map +1 -0
  201. package/commands/validate.js +64 -0
  202. package/commands/validate.js.map +1 -0
  203. package/commands/version.d.ts +3 -0
  204. package/commands/version.d.ts.map +1 -0
  205. package/commands/version.js +11 -0
  206. package/commands/version.js.map +1 -0
  207. package/config/config.d.ts +39 -0
  208. package/config/config.d.ts.map +1 -0
  209. package/config/config.js +85 -0
  210. package/config/config.js.map +1 -0
  211. package/config/index.d.ts +5 -0
  212. package/config/index.d.ts.map +1 -0
  213. package/config/index.js +6 -0
  214. package/config/index.js.map +1 -0
  215. package/config/keys.d.ts +6 -0
  216. package/config/keys.d.ts.map +1 -0
  217. package/config/keys.js +53 -0
  218. package/config/keys.js.map +1 -0
  219. package/config/paths.d.ts +10 -0
  220. package/config/paths.d.ts.map +1 -0
  221. package/config/paths.js +21 -0
  222. package/config/paths.js.map +1 -0
  223. package/config/resolve.d.ts +33 -0
  224. package/config/resolve.d.ts.map +1 -0
  225. package/config/resolve.js +77 -0
  226. package/config/resolve.js.map +1 -0
  227. package/errors/classify.d.ts +17 -0
  228. package/errors/classify.d.ts.map +1 -0
  229. package/errors/classify.js +158 -0
  230. package/errors/classify.js.map +1 -0
  231. package/errors/cli-exit-error.d.ts +6 -0
  232. package/errors/cli-exit-error.d.ts.map +1 -0
  233. package/errors/cli-exit-error.js +15 -0
  234. package/errors/cli-exit-error.js.map +1 -0
  235. package/errors/exit-codes.d.ts +10 -0
  236. package/errors/exit-codes.d.ts.map +1 -0
  237. package/errors/exit-codes.js +12 -0
  238. package/errors/exit-codes.js.map +1 -0
  239. package/errors/handle.d.ts +14 -0
  240. package/errors/handle.d.ts.map +1 -0
  241. package/errors/handle.js +46 -0
  242. package/errors/handle.js.map +1 -0
  243. package/errors/index.d.ts +6 -0
  244. package/errors/index.d.ts.map +1 -0
  245. package/errors/index.js +7 -0
  246. package/errors/index.js.map +1 -0
  247. package/errors/usage-error.d.ts +5 -0
  248. package/errors/usage-error.d.ts.map +1 -0
  249. package/errors/usage-error.js +13 -0
  250. package/errors/usage-error.js.map +1 -0
  251. package/index.d.ts +3 -0
  252. package/index.d.ts.map +1 -0
  253. package/index.js +8 -0
  254. package/index.js.map +1 -0
  255. package/local/artifact.d.ts +38 -0
  256. package/local/artifact.d.ts.map +1 -0
  257. package/local/artifact.js +133 -0
  258. package/local/artifact.js.map +1 -0
  259. package/local/constants.d.ts +36 -0
  260. package/local/constants.d.ts.map +1 -0
  261. package/local/constants.js +44 -0
  262. package/local/constants.js.map +1 -0
  263. package/local/daemon/components.d.ts +20 -0
  264. package/local/daemon/components.d.ts.map +1 -0
  265. package/local/daemon/components.js +105 -0
  266. package/local/daemon/components.js.map +1 -0
  267. package/local/daemon/env.d.ts +55 -0
  268. package/local/daemon/env.d.ts.map +1 -0
  269. package/local/daemon/env.js +82 -0
  270. package/local/daemon/env.js.map +1 -0
  271. package/local/daemon/host.d.ts +7 -0
  272. package/local/daemon/host.d.ts.map +1 -0
  273. package/local/daemon/host.js +74 -0
  274. package/local/daemon/host.js.map +1 -0
  275. package/local/daemon/index.d.ts +8 -0
  276. package/local/daemon/index.d.ts.map +1 -0
  277. package/local/daemon/index.js +8 -0
  278. package/local/daemon/index.js.map +1 -0
  279. package/local/daemon/launch.d.ts +11 -0
  280. package/local/daemon/launch.d.ts.map +1 -0
  281. package/local/daemon/launch.js +219 -0
  282. package/local/daemon/launch.js.map +1 -0
  283. package/local/daemon/process.d.ts +28 -0
  284. package/local/daemon/process.d.ts.map +1 -0
  285. package/local/daemon/process.js +149 -0
  286. package/local/daemon/process.js.map +1 -0
  287. package/local/daemon/supervisor.d.ts +56 -0
  288. package/local/daemon/supervisor.d.ts.map +1 -0
  289. package/local/daemon/supervisor.js +211 -0
  290. package/local/daemon/supervisor.js.map +1 -0
  291. package/local/daemon/types.d.ts +63 -0
  292. package/local/daemon/types.d.ts.map +1 -0
  293. package/local/daemon/types.js +9 -0
  294. package/local/daemon/types.js.map +1 -0
  295. package/local/llm-config.d.ts +30 -0
  296. package/local/llm-config.d.ts.map +1 -0
  297. package/local/llm-config.js +93 -0
  298. package/local/llm-config.js.map +1 -0
  299. package/local/logs/tail.d.ts +19 -0
  300. package/local/logs/tail.d.ts.map +1 -0
  301. package/local/logs/tail.js +86 -0
  302. package/local/logs/tail.js.map +1 -0
  303. package/local/logs/view.d.ts +20 -0
  304. package/local/logs/view.d.ts.map +1 -0
  305. package/local/logs/view.js +50 -0
  306. package/local/logs/view.js.map +1 -0
  307. package/local/net/tcp.d.ts +23 -0
  308. package/local/net/tcp.d.ts.map +1 -0
  309. package/local/net/tcp.js +47 -0
  310. package/local/net/tcp.js.map +1 -0
  311. package/local/paths.d.ts +26 -0
  312. package/local/paths.d.ts.map +1 -0
  313. package/local/paths.js +57 -0
  314. package/local/paths.js.map +1 -0
  315. package/local/reset.d.ts +14 -0
  316. package/local/reset.d.ts.map +1 -0
  317. package/local/reset.js +57 -0
  318. package/local/reset.js.map +1 -0
  319. package/local/runtime/index.d.ts +5 -0
  320. package/local/runtime/index.d.ts.map +1 -0
  321. package/local/runtime/index.js +6 -0
  322. package/local/runtime/index.js.map +1 -0
  323. package/local/runtime/node.d.ts +8 -0
  324. package/local/runtime/node.d.ts.map +1 -0
  325. package/local/runtime/node.js +59 -0
  326. package/local/runtime/node.js.map +1 -0
  327. package/local/runtime/runner.d.ts +40 -0
  328. package/local/runtime/runner.d.ts.map +1 -0
  329. package/local/runtime/runner.js +154 -0
  330. package/local/runtime/runner.js.map +1 -0
  331. package/local/runtime/server.d.ts +39 -0
  332. package/local/runtime/server.d.ts.map +1 -0
  333. package/local/runtime/server.js +141 -0
  334. package/local/runtime/server.js.map +1 -0
  335. package/local/runtime/which.d.ts +3 -0
  336. package/local/runtime/which.d.ts.map +1 -0
  337. package/local/runtime/which.js +30 -0
  338. package/local/runtime/which.js.map +1 -0
  339. package/local/seedpack/apply.d.ts +43 -0
  340. package/local/seedpack/apply.d.ts.map +1 -0
  341. package/local/seedpack/apply.js +94 -0
  342. package/local/seedpack/apply.js.map +1 -0
  343. package/local/seedpack/content.d.ts +56 -0
  344. package/local/seedpack/content.d.ts.map +1 -0
  345. package/local/seedpack/content.js +201 -0
  346. package/local/seedpack/content.js.map +1 -0
  347. package/local/setup/prompt.d.ts +8 -0
  348. package/local/setup/prompt.d.ts.map +1 -0
  349. package/local/setup/prompt.js +63 -0
  350. package/local/setup/prompt.js.map +1 -0
  351. package/local/setup/wizard.d.ts +22 -0
  352. package/local/setup/wizard.d.ts.map +1 -0
  353. package/local/setup/wizard.js +65 -0
  354. package/local/setup/wizard.js.map +1 -0
  355. package/local/state/health-state.d.ts +26 -0
  356. package/local/state/health-state.d.ts.map +1 -0
  357. package/local/state/health-state.js +34 -0
  358. package/local/state/health-state.js.map +1 -0
  359. package/local/state/index.d.ts +7 -0
  360. package/local/state/index.d.ts.map +1 -0
  361. package/local/state/index.js +8 -0
  362. package/local/state/index.js.map +1 -0
  363. package/local/state/lock.d.ts +12 -0
  364. package/local/state/lock.d.ts.map +1 -0
  365. package/local/state/lock.js +70 -0
  366. package/local/state/lock.js.map +1 -0
  367. package/local/state/log-rotation.d.ts +17 -0
  368. package/local/state/log-rotation.d.ts.map +1 -0
  369. package/local/state/log-rotation.js +101 -0
  370. package/local/state/log-rotation.js.map +1 -0
  371. package/local/state/pidfile.d.ts +11 -0
  372. package/local/state/pidfile.d.ts.map +1 -0
  373. package/local/state/pidfile.js +35 -0
  374. package/local/state/pidfile.js.map +1 -0
  375. package/local/state/proc.d.ts +16 -0
  376. package/local/state/proc.d.ts.map +1 -0
  377. package/local/state/proc.js +69 -0
  378. package/local/state/proc.js.map +1 -0
  379. package/local/state/startup-config.d.ts +23 -0
  380. package/local/state/startup-config.d.ts.map +1 -0
  381. package/local/state/startup-config.js +33 -0
  382. package/local/state/startup-config.js.map +1 -0
  383. package/local/status.d.ts +9 -0
  384. package/local/status.d.ts.map +1 -0
  385. package/local/status.js +168 -0
  386. package/local/status.js.map +1 -0
  387. package/local/temporal/download.d.ts +20 -0
  388. package/local/temporal/download.d.ts.map +1 -0
  389. package/local/temporal/download.js +36 -0
  390. package/local/temporal/download.js.map +1 -0
  391. package/local/temporal/index.d.ts +5 -0
  392. package/local/temporal/index.d.ts.map +1 -0
  393. package/local/temporal/index.js +6 -0
  394. package/local/temporal/index.js.map +1 -0
  395. package/local/temporal/inspect.d.ts +8 -0
  396. package/local/temporal/inspect.d.ts.map +1 -0
  397. package/local/temporal/inspect.js +33 -0
  398. package/local/temporal/inspect.js.map +1 -0
  399. package/local/temporal/manager.d.ts +50 -0
  400. package/local/temporal/manager.d.ts.map +1 -0
  401. package/local/temporal/manager.js +208 -0
  402. package/local/temporal/manager.js.map +1 -0
  403. package/local/temporal/supervisor.d.ts +34 -0
  404. package/local/temporal/supervisor.d.ts.map +1 -0
  405. package/local/temporal/supervisor.js +83 -0
  406. package/local/temporal/supervisor.js.map +1 -0
  407. package/local/webconsole/index.d.ts +4 -0
  408. package/local/webconsole/index.d.ts.map +1 -0
  409. package/local/webconsole/index.js +13 -0
  410. package/local/webconsole/index.js.map +1 -0
  411. package/logger.d.ts +13 -0
  412. package/logger.d.ts.map +1 -0
  413. package/logger.js +35 -0
  414. package/logger.js.map +1 -0
  415. package/output/command-result.d.ts +47 -0
  416. package/output/command-result.d.ts.map +1 -0
  417. package/output/command-result.js +134 -0
  418. package/output/command-result.js.map +1 -0
  419. package/output/confirm.d.ts +22 -0
  420. package/output/confirm.d.ts.map +1 -0
  421. package/output/confirm.js +42 -0
  422. package/output/confirm.js.map +1 -0
  423. package/output/format.d.ts +22 -0
  424. package/output/format.d.ts.map +1 -0
  425. package/output/format.js +72 -0
  426. package/output/format.js.map +1 -0
  427. package/output/index.d.ts +7 -0
  428. package/output/index.d.ts.map +1 -0
  429. package/output/index.js +8 -0
  430. package/output/index.js.map +1 -0
  431. package/output/ndjson.d.ts +24 -0
  432. package/output/ndjson.d.ts.map +1 -0
  433. package/output/ndjson.js +38 -0
  434. package/output/ndjson.js.map +1 -0
  435. package/output/proto.d.ts +12 -0
  436. package/output/proto.d.ts.map +1 -0
  437. package/output/proto.js +34 -0
  438. package/output/proto.js.map +1 -0
  439. package/output/style.d.ts +19 -0
  440. package/output/style.d.ts.map +1 -0
  441. package/output/style.js +44 -0
  442. package/output/style.js.map +1 -0
  443. package/output/table.d.ts +5 -0
  444. package/output/table.d.ts.map +1 -0
  445. package/output/table.js +43 -0
  446. package/output/table.js.map +1 -0
  447. package/package.json +49 -0
  448. package/program.d.ts +3 -0
  449. package/program.d.ts.map +1 -0
  450. package/program.js +95 -0
  451. package/program.js.map +1 -0
  452. package/registry/aliases.d.ts +18 -0
  453. package/registry/aliases.d.ts.map +1 -0
  454. package/registry/aliases.js +85 -0
  455. package/registry/aliases.js.map +1 -0
  456. package/registry/index.d.ts +6 -0
  457. package/registry/index.d.ts.map +1 -0
  458. package/registry/index.js +7 -0
  459. package/registry/index.js.map +1 -0
  460. package/registry/metadata.d.ts +12 -0
  461. package/registry/metadata.d.ts.map +1 -0
  462. package/registry/metadata.js +49 -0
  463. package/registry/metadata.js.map +1 -0
  464. package/registry/registry.d.ts +39 -0
  465. package/registry/registry.d.ts.map +1 -0
  466. package/registry/registry.js +59 -0
  467. package/registry/registry.js.map +1 -0
  468. package/registry/verb-support.d.ts +5 -0
  469. package/registry/verb-support.d.ts.map +1 -0
  470. package/registry/verb-support.js +48 -0
  471. package/registry/verb-support.js.map +1 -0
  472. package/registry/verbs.d.ts +16 -0
  473. package/registry/verbs.d.ts.map +1 -0
  474. package/registry/verbs.js +36 -0
  475. package/registry/verbs.js.map +1 -0
  476. package/resources/apply/apply.d.ts +55 -0
  477. package/resources/apply/apply.d.ts.map +1 -0
  478. package/resources/apply/apply.js +163 -0
  479. package/resources/apply/apply.js.map +1 -0
  480. package/resources/apply/declarative.d.ts +106 -0
  481. package/resources/apply/declarative.d.ts.map +1 -0
  482. package/resources/apply/declarative.js +378 -0
  483. package/resources/apply/declarative.js.map +1 -0
  484. package/resources/apply/discovery.d.ts +7 -0
  485. package/resources/apply/discovery.d.ts.map +1 -0
  486. package/resources/apply/discovery.js +47 -0
  487. package/resources/apply/discovery.js.map +1 -0
  488. package/resources/apply/handlers.d.ts +15 -0
  489. package/resources/apply/handlers.d.ts.map +1 -0
  490. package/resources/apply/handlers.js +126 -0
  491. package/resources/apply/handlers.js.map +1 -0
  492. package/resources/apply/synth/project-track.d.ts +21 -0
  493. package/resources/apply/synth/project-track.d.ts.map +1 -0
  494. package/resources/apply/synth/project-track.js +102 -0
  495. package/resources/apply/synth/project-track.js.map +1 -0
  496. package/resources/apply/synth/reader.d.ts +18 -0
  497. package/resources/apply/synth/reader.d.ts.map +1 -0
  498. package/resources/apply/synth/reader.js +55 -0
  499. package/resources/apply/synth/reader.js.map +1 -0
  500. package/resources/apply/synth/runtime.d.ts +8 -0
  501. package/resources/apply/synth/runtime.d.ts.map +1 -0
  502. package/resources/apply/synth/runtime.js +32 -0
  503. package/resources/apply/synth/runtime.js.map +1 -0
  504. package/resources/apply/synth/synthesize.d.ts +43 -0
  505. package/resources/apply/synth/synthesize.d.ts.map +1 -0
  506. package/resources/apply/synth/synthesize.js +115 -0
  507. package/resources/apply/synth/synthesize.js.map +1 -0
  508. package/resources/connect/connect.d.ts +24 -0
  509. package/resources/connect/connect.d.ts.map +1 -0
  510. package/resources/connect/connect.js +71 -0
  511. package/resources/connect/connect.js.map +1 -0
  512. package/resources/connect/discover.d.ts +5 -0
  513. package/resources/connect/discover.d.ts.map +1 -0
  514. package/resources/connect/discover.js +100 -0
  515. package/resources/connect/discover.js.map +1 -0
  516. package/resources/connect/display.d.ts +5 -0
  517. package/resources/connect/display.d.ts.map +1 -0
  518. package/resources/connect/display.js +58 -0
  519. package/resources/connect/display.js.map +1 -0
  520. package/resources/connect/oauth.d.ts +45 -0
  521. package/resources/connect/oauth.d.ts.map +1 -0
  522. package/resources/connect/oauth.js +152 -0
  523. package/resources/connect/oauth.js.map +1 -0
  524. package/resources/delete.d.ts +18 -0
  525. package/resources/delete.d.ts.map +1 -0
  526. package/resources/delete.js +180 -0
  527. package/resources/delete.js.map +1 -0
  528. package/resources/diff.d.ts +16 -0
  529. package/resources/diff.d.ts.map +1 -0
  530. package/resources/diff.js +158 -0
  531. package/resources/diff.js.map +1 -0
  532. package/resources/documents.d.ts +16 -0
  533. package/resources/documents.d.ts.map +1 -0
  534. package/resources/documents.js +89 -0
  535. package/resources/documents.js.map +1 -0
  536. package/resources/download.d.ts +16 -0
  537. package/resources/download.d.ts.map +1 -0
  538. package/resources/download.js +107 -0
  539. package/resources/download.js.map +1 -0
  540. package/resources/execution-approve.d.ts +26 -0
  541. package/resources/execution-approve.d.ts.map +1 -0
  542. package/resources/execution-approve.js +69 -0
  543. package/resources/execution-approve.js.map +1 -0
  544. package/resources/execution-control.d.ts +16 -0
  545. package/resources/execution-control.d.ts.map +1 -0
  546. package/resources/execution-control.js +57 -0
  547. package/resources/execution-control.js.map +1 -0
  548. package/resources/execution-format.d.ts +12 -0
  549. package/resources/execution-format.d.ts.map +1 -0
  550. package/resources/execution-format.js +56 -0
  551. package/resources/execution-format.js.map +1 -0
  552. package/resources/execution-logs.d.ts +16 -0
  553. package/resources/execution-logs.d.ts.map +1 -0
  554. package/resources/execution-logs.js +132 -0
  555. package/resources/execution-logs.js.map +1 -0
  556. package/resources/execution-trace.d.ts +10 -0
  557. package/resources/execution-trace.d.ts.map +1 -0
  558. package/resources/execution-trace.js +125 -0
  559. package/resources/execution-trace.js.map +1 -0
  560. package/resources/execution.d.ts +59 -0
  561. package/resources/execution.d.ts.map +1 -0
  562. package/resources/execution.js +192 -0
  563. package/resources/execution.js.map +1 -0
  564. package/resources/get-bindings.d.ts +12 -0
  565. package/resources/get-bindings.d.ts.map +1 -0
  566. package/resources/get-bindings.js +40 -0
  567. package/resources/get-bindings.js.map +1 -0
  568. package/resources/get.d.ts +6 -0
  569. package/resources/get.d.ts.map +1 -0
  570. package/resources/get.js +31 -0
  571. package/resources/get.js.map +1 -0
  572. package/resources/git.d.ts +15 -0
  573. package/resources/git.d.ts.map +1 -0
  574. package/resources/git.js +69 -0
  575. package/resources/git.js.map +1 -0
  576. package/resources/ignore/defaults.d.ts +2 -0
  577. package/resources/ignore/defaults.d.ts.map +1 -0
  578. package/resources/ignore/defaults.js +140 -0
  579. package/resources/ignore/defaults.js.map +1 -0
  580. package/resources/ignore/index.d.ts +5 -0
  581. package/resources/ignore/index.d.ts.map +1 -0
  582. package/resources/ignore/index.js +6 -0
  583. package/resources/ignore/index.js.map +1 -0
  584. package/resources/ignore/match.d.ts +3 -0
  585. package/resources/ignore/match.d.ts.map +1 -0
  586. package/resources/ignore/match.js +166 -0
  587. package/resources/ignore/match.js.map +1 -0
  588. package/resources/ignore/matcher.d.ts +44 -0
  589. package/resources/ignore/matcher.d.ts.map +1 -0
  590. package/resources/ignore/matcher.js +125 -0
  591. package/resources/ignore/matcher.js.map +1 -0
  592. package/resources/ignore/pattern.d.ts +13 -0
  593. package/resources/ignore/pattern.d.ts.map +1 -0
  594. package/resources/ignore/pattern.js +118 -0
  595. package/resources/ignore/pattern.js.map +1 -0
  596. package/resources/list.d.ts +7 -0
  597. package/resources/list.d.ts.map +1 -0
  598. package/resources/list.js +82 -0
  599. package/resources/list.js.map +1 -0
  600. package/resources/mcp/runtime-env.d.ts +23 -0
  601. package/resources/mcp/runtime-env.d.ts.map +1 -0
  602. package/resources/mcp/runtime-env.js +68 -0
  603. package/resources/mcp/runtime-env.js.map +1 -0
  604. package/resources/picker/ink.d.ts +35 -0
  605. package/resources/picker/ink.d.ts.map +1 -0
  606. package/resources/picker/ink.js +45 -0
  607. package/resources/picker/ink.js.map +1 -0
  608. package/resources/picker/tty.d.ts +19 -0
  609. package/resources/picker/tty.d.ts.map +1 -0
  610. package/resources/picker/tty.js +21 -0
  611. package/resources/picker/tty.js.map +1 -0
  612. package/resources/reference.d.ts +32 -0
  613. package/resources/reference.d.ts.map +1 -0
  614. package/resources/reference.js +128 -0
  615. package/resources/reference.js.map +1 -0
  616. package/resources/render.d.ts +28 -0
  617. package/resources/render.d.ts.map +1 -0
  618. package/resources/render.js +87 -0
  619. package/resources/render.js.map +1 -0
  620. package/resources/run/agent-exec.d.ts +15 -0
  621. package/resources/run/agent-exec.d.ts.map +1 -0
  622. package/resources/run/agent-exec.js +81 -0
  623. package/resources/run/agent-exec.js.map +1 -0
  624. package/resources/run/attachments.d.ts +24 -0
  625. package/resources/run/attachments.d.ts.map +1 -0
  626. package/resources/run/attachments.js +209 -0
  627. package/resources/run/attachments.js.map +1 -0
  628. package/resources/run/create.d.ts +56 -0
  629. package/resources/run/create.d.ts.map +1 -0
  630. package/resources/run/create.js +105 -0
  631. package/resources/run/create.js.map +1 -0
  632. package/resources/run/env.d.ts +18 -0
  633. package/resources/run/env.d.ts.map +1 -0
  634. package/resources/run/env.js +147 -0
  635. package/resources/run/env.js.map +1 -0
  636. package/resources/run/epilogue.d.ts +9 -0
  637. package/resources/run/epilogue.d.ts.map +1 -0
  638. package/resources/run/epilogue.js +144 -0
  639. package/resources/run/epilogue.js.map +1 -0
  640. package/resources/run/header.d.ts +23 -0
  641. package/resources/run/header.d.ts.map +1 -0
  642. package/resources/run/header.js +51 -0
  643. package/resources/run/header.js.map +1 -0
  644. package/resources/run/prepare.d.ts +60 -0
  645. package/resources/run/prepare.d.ts.map +1 -0
  646. package/resources/run/prepare.js +78 -0
  647. package/resources/run/prepare.js.map +1 -0
  648. package/resources/run/resolve.d.ts +8 -0
  649. package/resources/run/resolve.d.ts.map +1 -0
  650. package/resources/run/resolve.js +28 -0
  651. package/resources/run/resolve.js.map +1 -0
  652. package/resources/run/resume.d.ts +13 -0
  653. package/resources/run/resume.d.ts.map +1 -0
  654. package/resources/run/resume.js +94 -0
  655. package/resources/run/resume.js.map +1 -0
  656. package/resources/run/stream.d.ts +24 -0
  657. package/resources/run/stream.d.ts.map +1 -0
  658. package/resources/run/stream.js +80 -0
  659. package/resources/run/stream.js.map +1 -0
  660. package/resources/run/workflow-stream.d.ts +25 -0
  661. package/resources/run/workflow-stream.d.ts.map +1 -0
  662. package/resources/run/workflow-stream.js +152 -0
  663. package/resources/run/workflow-stream.js.map +1 -0
  664. package/resources/run/workspace.d.ts +17 -0
  665. package/resources/run/workspace.d.ts.map +1 -0
  666. package/resources/run/workspace.js +147 -0
  667. package/resources/run/workspace.js.map +1 -0
  668. package/resources/search.d.ts +22 -0
  669. package/resources/search.d.ts.map +1 -0
  670. package/resources/search.js +23 -0
  671. package/resources/search.js.map +1 -0
  672. package/resources/session.d.ts +19 -0
  673. package/resources/session.d.ts.map +1 -0
  674. package/resources/session.js +51 -0
  675. package/resources/session.js.map +1 -0
  676. package/resources/skill.d.ts +84 -0
  677. package/resources/skill.d.ts.map +1 -0
  678. package/resources/skill.js +342 -0
  679. package/resources/skill.js.map +1 -0
  680. package/resources/stream/approval-detect.d.ts +38 -0
  681. package/resources/stream/approval-detect.d.ts.map +1 -0
  682. package/resources/stream/approval-detect.js +93 -0
  683. package/resources/stream/approval-detect.js.map +1 -0
  684. package/resources/stream/convert.d.ts +38 -0
  685. package/resources/stream/convert.d.ts.map +1 -0
  686. package/resources/stream/convert.js +178 -0
  687. package/resources/stream/convert.js.map +1 -0
  688. package/resources/stream/diff.d.ts +29 -0
  689. package/resources/stream/diff.d.ts.map +1 -0
  690. package/resources/stream/diff.js +214 -0
  691. package/resources/stream/diff.js.map +1 -0
  692. package/resources/stream/events.d.ts +137 -0
  693. package/resources/stream/events.d.ts.map +1 -0
  694. package/resources/stream/events.js +15 -0
  695. package/resources/stream/events.js.map +1 -0
  696. package/resources/stream/headless.d.ts +38 -0
  697. package/resources/stream/headless.d.ts.map +1 -0
  698. package/resources/stream/headless.js +75 -0
  699. package/resources/stream/headless.js.map +1 -0
  700. package/resources/stream/ink.d.ts +22 -0
  701. package/resources/stream/ink.d.ts.map +1 -0
  702. package/resources/stream/ink.js +24 -0
  703. package/resources/stream/ink.js.map +1 -0
  704. package/resources/stream/render-ndjson.d.ts +25 -0
  705. package/resources/stream/render-ndjson.d.ts.map +1 -0
  706. package/resources/stream/render-ndjson.js +156 -0
  707. package/resources/stream/render-ndjson.js.map +1 -0
  708. package/resources/stream/render-plaintext.d.ts +18 -0
  709. package/resources/stream/render-plaintext.d.ts.map +1 -0
  710. package/resources/stream/render-plaintext.js +71 -0
  711. package/resources/stream/render-plaintext.js.map +1 -0
  712. package/resources/stream/snapshot.d.ts +8 -0
  713. package/resources/stream/snapshot.d.ts.map +1 -0
  714. package/resources/stream/snapshot.js +163 -0
  715. package/resources/stream/snapshot.js.map +1 -0
  716. package/resources/stream/subagent.d.ts +12 -0
  717. package/resources/stream/subagent.d.ts.map +1 -0
  718. package/resources/stream/subagent.js +76 -0
  719. package/resources/stream/subagent.js.map +1 -0
  720. package/resources/stream/submit.d.ts +20 -0
  721. package/resources/stream/submit.d.ts.map +1 -0
  722. package/resources/stream/submit.js +125 -0
  723. package/resources/stream/submit.js.map +1 -0
  724. package/resources/stream/todo.d.ts +11 -0
  725. package/resources/stream/todo.d.ts.map +1 -0
  726. package/resources/stream/todo.js +44 -0
  727. package/resources/stream/todo.js.map +1 -0
  728. package/resources/stream/tool-state.d.ts +31 -0
  729. package/resources/stream/tool-state.d.ts.map +1 -0
  730. package/resources/stream/tool-state.js +126 -0
  731. package/resources/stream/tool-state.js.map +1 -0
  732. package/resources/stream/tty.d.ts +8 -0
  733. package/resources/stream/tty.d.ts.map +1 -0
  734. package/resources/stream/tty.js +15 -0
  735. package/resources/stream/tty.js.map +1 -0
  736. package/resources/stream/workflow-event-view.d.ts +21 -0
  737. package/resources/stream/workflow-event-view.d.ts.map +1 -0
  738. package/resources/stream/workflow-event-view.js +88 -0
  739. package/resources/stream/workflow-event-view.js.map +1 -0
  740. package/resources/stream/workflow-render-ndjson.d.ts +5 -0
  741. package/resources/stream/workflow-render-ndjson.d.ts.map +1 -0
  742. package/resources/stream/workflow-render-ndjson.js +54 -0
  743. package/resources/stream/workflow-render-ndjson.js.map +1 -0
  744. package/resources/stream/workflow-render-plaintext.d.ts +8 -0
  745. package/resources/stream/workflow-render-plaintext.d.ts.map +1 -0
  746. package/resources/stream/workflow-render-plaintext.js +34 -0
  747. package/resources/stream/workflow-render-plaintext.js.map +1 -0
  748. package/resources/tag.d.ts +4 -0
  749. package/resources/tag.d.ts.map +1 -0
  750. package/resources/tag.js +36 -0
  751. package/resources/tag.js.map +1 -0
  752. package/resources/usage.d.ts +14 -0
  753. package/resources/usage.d.ts.map +1 -0
  754. package/resources/usage.js +251 -0
  755. package/resources/usage.js.map +1 -0
  756. package/resources/validate.d.ts +6 -0
  757. package/resources/validate.d.ts.map +1 -0
  758. package/resources/validate.js +28 -0
  759. package/resources/validate.js.map +1 -0
  760. package/resources/version.d.ts +6 -0
  761. package/resources/version.d.ts.map +1 -0
  762. package/resources/version.js +75 -0
  763. package/resources/version.js.map +1 -0
  764. package/runtime.d.ts +5 -0
  765. package/runtime.d.ts.map +1 -0
  766. package/runtime.js +19 -0
  767. package/runtime.js.map +1 -0
  768. package/src/auth/auth0.ts +43 -0
  769. package/src/auth/callback-server.ts +104 -0
  770. package/src/auth/index.ts +6 -0
  771. package/src/auth/login.ts +61 -0
  772. package/src/auth/pages.ts +31 -0
  773. package/src/auth/pkce.test.ts +37 -0
  774. package/src/auth/pkce.ts +26 -0
  775. package/src/auth/token.test.ts +95 -0
  776. package/src/auth/token.ts +135 -0
  777. package/src/backend.ts +15 -0
  778. package/src/cli/stigmer.ts +16 -0
  779. package/src/client/client.test.ts +46 -0
  780. package/src/client/client.ts +84 -0
  781. package/src/client/index.ts +3 -0
  782. package/src/commands/agent-exec-flags.ts +75 -0
  783. package/src/commands/apikey/duration.test.ts +23 -0
  784. package/src/commands/apikey/duration.ts +35 -0
  785. package/src/commands/apikey/index.ts +133 -0
  786. package/src/commands/apply.ts +213 -0
  787. package/src/commands/auth/index.ts +87 -0
  788. package/src/commands/completion.ts +96 -0
  789. package/src/commands/config/backend.ts +58 -0
  790. package/src/commands/config/context.ts +26 -0
  791. package/src/commands/config/index.ts +18 -0
  792. package/src/commands/config/kv.ts +44 -0
  793. package/src/commands/connect.ts +75 -0
  794. package/src/commands/delete.ts +56 -0
  795. package/src/commands/diff.ts +97 -0
  796. package/src/commands/down.ts +27 -0
  797. package/src/commands/download.ts +68 -0
  798. package/src/commands/draft.ts +128 -0
  799. package/src/commands/execution/approve.ts +76 -0
  800. package/src/commands/execution/control.ts +79 -0
  801. package/src/commands/execution/index.ts +24 -0
  802. package/src/commands/execution/logs.ts +47 -0
  803. package/src/commands/execution/trace.ts +32 -0
  804. package/src/commands/get.ts +99 -0
  805. package/src/commands/internal-daemon.ts +25 -0
  806. package/src/commands/list.ts +138 -0
  807. package/src/commands/logs.ts +73 -0
  808. package/src/commands/mcp-server.test.ts +65 -0
  809. package/src/commands/mcp-server.ts +124 -0
  810. package/src/commands/push.ts +205 -0
  811. package/src/commands/reset.ts +57 -0
  812. package/src/commands/resume.ts +121 -0
  813. package/src/commands/run.ts +276 -0
  814. package/src/commands/search.ts +90 -0
  815. package/src/commands/seedpack.ts +94 -0
  816. package/src/commands/setup.ts +71 -0
  817. package/src/commands/shared.ts +41 -0
  818. package/src/commands/status.ts +20 -0
  819. package/src/commands/tag.ts +31 -0
  820. package/src/commands/up.ts +51 -0
  821. package/src/commands/usage.ts +74 -0
  822. package/src/commands/validate.test.ts +79 -0
  823. package/src/commands/validate.ts +73 -0
  824. package/src/commands/version.ts +13 -0
  825. package/src/config/config.test.ts +76 -0
  826. package/src/config/config.ts +127 -0
  827. package/src/config/index.ts +22 -0
  828. package/src/config/keys.test.ts +38 -0
  829. package/src/config/keys.ts +64 -0
  830. package/src/config/paths.ts +25 -0
  831. package/src/config/resolve.test.ts +103 -0
  832. package/src/config/resolve.ts +80 -0
  833. package/src/errors/classify.ts +199 -0
  834. package/src/errors/cli-exit-error.ts +16 -0
  835. package/src/errors/clierr.test.ts +172 -0
  836. package/src/errors/exit-codes.ts +14 -0
  837. package/src/errors/handle.ts +53 -0
  838. package/src/errors/index.ts +7 -0
  839. package/src/errors/usage-error.ts +14 -0
  840. package/src/index.ts +8 -0
  841. package/src/local/artifact.test.ts +28 -0
  842. package/src/local/artifact.ts +166 -0
  843. package/src/local/constants.ts +52 -0
  844. package/src/local/daemon/components.test.ts +80 -0
  845. package/src/local/daemon/components.ts +113 -0
  846. package/src/local/daemon/daemon.integration.test.ts +183 -0
  847. package/src/local/daemon/env.test.ts +51 -0
  848. package/src/local/daemon/env.ts +118 -0
  849. package/src/local/daemon/host.ts +79 -0
  850. package/src/local/daemon/index.ts +18 -0
  851. package/src/local/daemon/launch.ts +260 -0
  852. package/src/local/daemon/process.ts +183 -0
  853. package/src/local/daemon/supervisor.test.ts +260 -0
  854. package/src/local/daemon/supervisor.ts +249 -0
  855. package/src/local/daemon/types.ts +76 -0
  856. package/src/local/llm-config.test.ts +80 -0
  857. package/src/local/llm-config.ts +107 -0
  858. package/src/local/logs/tail.test.ts +70 -0
  859. package/src/local/logs/tail.ts +100 -0
  860. package/src/local/logs/view.test.ts +46 -0
  861. package/src/local/logs/view.ts +65 -0
  862. package/src/local/net/tcp.ts +65 -0
  863. package/src/local/paths.ts +67 -0
  864. package/src/local/reset.test.ts +53 -0
  865. package/src/local/reset.ts +90 -0
  866. package/src/local/runtime/index.ts +18 -0
  867. package/src/local/runtime/node.ts +67 -0
  868. package/src/local/runtime/runner.ts +186 -0
  869. package/src/local/runtime/runtime.test.ts +155 -0
  870. package/src/local/runtime/server.test.ts +152 -0
  871. package/src/local/runtime/server.ts +172 -0
  872. package/src/local/runtime/which.ts +30 -0
  873. package/src/local/seedpack/apply.test.ts +166 -0
  874. package/src/local/seedpack/apply.ts +139 -0
  875. package/src/local/seedpack/content.test.ts +148 -0
  876. package/src/local/seedpack/content.ts +223 -0
  877. package/src/local/setup/prompt.ts +70 -0
  878. package/src/local/setup/wizard.test.ts +42 -0
  879. package/src/local/setup/wizard.ts +78 -0
  880. package/src/local/state/health-state.ts +55 -0
  881. package/src/local/state/index.ts +8 -0
  882. package/src/local/state/lock.ts +77 -0
  883. package/src/local/state/log-rotation.ts +112 -0
  884. package/src/local/state/pidfile.ts +37 -0
  885. package/src/local/state/proc.ts +66 -0
  886. package/src/local/state/startup-config.ts +51 -0
  887. package/src/local/state/state.test.ts +166 -0
  888. package/src/local/status.test.ts +88 -0
  889. package/src/local/status.ts +186 -0
  890. package/src/local/temporal/download.test.ts +64 -0
  891. package/src/local/temporal/download.ts +54 -0
  892. package/src/local/temporal/index.ts +6 -0
  893. package/src/local/temporal/inspect.ts +32 -0
  894. package/src/local/temporal/manager.test.ts +31 -0
  895. package/src/local/temporal/manager.ts +247 -0
  896. package/src/local/temporal/supervisor.test.ts +77 -0
  897. package/src/local/temporal/supervisor.ts +97 -0
  898. package/src/local/webconsole/index.ts +13 -0
  899. package/src/logger.ts +39 -0
  900. package/src/output/command-result.test.ts +64 -0
  901. package/src/output/command-result.ts +185 -0
  902. package/src/output/confirm.test.ts +43 -0
  903. package/src/output/confirm.ts +53 -0
  904. package/src/output/format.test.ts +65 -0
  905. package/src/output/format.ts +101 -0
  906. package/src/output/index.ts +30 -0
  907. package/src/output/ndjson.ts +55 -0
  908. package/src/output/proto.test.ts +72 -0
  909. package/src/output/proto.ts +55 -0
  910. package/src/output/style.ts +57 -0
  911. package/src/output/table.test.ts +37 -0
  912. package/src/output/table.ts +52 -0
  913. package/src/program.test.ts +64 -0
  914. package/src/program.ts +100 -0
  915. package/src/registry/aliases.test.ts +99 -0
  916. package/src/registry/aliases.ts +93 -0
  917. package/src/registry/index.ts +7 -0
  918. package/src/registry/metadata.ts +60 -0
  919. package/src/registry/registry.test.ts +80 -0
  920. package/src/registry/registry.ts +101 -0
  921. package/src/registry/verb-support.ts +50 -0
  922. package/src/registry/verbs.ts +43 -0
  923. package/src/resources/apply/apply.integration.test.ts +207 -0
  924. package/src/resources/apply/apply.ts +202 -0
  925. package/src/resources/apply/declarative.integration.test.ts +126 -0
  926. package/src/resources/apply/declarative.test.ts +132 -0
  927. package/src/resources/apply/declarative.ts +474 -0
  928. package/src/resources/apply/discovery.ts +60 -0
  929. package/src/resources/apply/handlers.ts +145 -0
  930. package/src/resources/apply/synth/capstone.integration.test.ts +134 -0
  931. package/src/resources/apply/synth/project-track.integration.test.ts +194 -0
  932. package/src/resources/apply/synth/project-track.ts +126 -0
  933. package/src/resources/apply/synth/reader.test.ts +90 -0
  934. package/src/resources/apply/synth/reader.ts +68 -0
  935. package/src/resources/apply/synth/runtime.test.ts +29 -0
  936. package/src/resources/apply/synth/runtime.ts +39 -0
  937. package/src/resources/apply/synth/synthesize.test.ts +109 -0
  938. package/src/resources/apply/synth/synthesize.ts +161 -0
  939. package/src/resources/connect/__fixtures__/stdio-crash.mjs +6 -0
  940. package/src/resources/connect/__fixtures__/stdio-server.mjs +43 -0
  941. package/src/resources/connect/connect.integration.test.ts +185 -0
  942. package/src/resources/connect/connect.ts +107 -0
  943. package/src/resources/connect/discover.test.ts +45 -0
  944. package/src/resources/connect/discover.ts +125 -0
  945. package/src/resources/connect/display.ts +68 -0
  946. package/src/resources/connect/oauth.test.ts +155 -0
  947. package/src/resources/connect/oauth.ts +191 -0
  948. package/src/resources/delete.ts +239 -0
  949. package/src/resources/diff.integration.test.ts +103 -0
  950. package/src/resources/diff.test.ts +34 -0
  951. package/src/resources/diff.ts +187 -0
  952. package/src/resources/documents.test.ts +67 -0
  953. package/src/resources/documents.ts +102 -0
  954. package/src/resources/download.ts +151 -0
  955. package/src/resources/execution-approve.test.ts +50 -0
  956. package/src/resources/execution-approve.ts +94 -0
  957. package/src/resources/execution-control.ts +78 -0
  958. package/src/resources/execution-format.test.ts +48 -0
  959. package/src/resources/execution-format.ts +54 -0
  960. package/src/resources/execution-logs.ts +176 -0
  961. package/src/resources/execution-trace.ts +159 -0
  962. package/src/resources/execution.integration.test.ts +285 -0
  963. package/src/resources/execution.test.ts +138 -0
  964. package/src/resources/execution.ts +229 -0
  965. package/src/resources/get-bindings.ts +61 -0
  966. package/src/resources/get.ts +41 -0
  967. package/src/resources/git.ts +71 -0
  968. package/src/resources/ignore/defaults.ts +155 -0
  969. package/src/resources/ignore/ignore.test.ts +139 -0
  970. package/src/resources/ignore/index.ts +17 -0
  971. package/src/resources/ignore/match.ts +158 -0
  972. package/src/resources/ignore/matcher.ts +158 -0
  973. package/src/resources/ignore/pattern.ts +131 -0
  974. package/src/resources/list.ts +97 -0
  975. package/src/resources/mcp/runtime-env.test.ts +68 -0
  976. package/src/resources/mcp/runtime-env.ts +79 -0
  977. package/src/resources/mutate-verbs.integration.test.ts +233 -0
  978. package/src/resources/picker/ink.tsx +114 -0
  979. package/src/resources/picker/tty.test.ts +37 -0
  980. package/src/resources/picker/tty.ts +30 -0
  981. package/src/resources/push-download.integration.test.ts +175 -0
  982. package/src/resources/read-completion.integration.test.ts +156 -0
  983. package/src/resources/read-verbs.integration.test.ts +164 -0
  984. package/src/resources/reference.test.ts +107 -0
  985. package/src/resources/reference.ts +140 -0
  986. package/src/resources/render.ts +118 -0
  987. package/src/resources/run/agent-exec.ts +107 -0
  988. package/src/resources/run/attachments.test.ts +113 -0
  989. package/src/resources/run/attachments.ts +261 -0
  990. package/src/resources/run/create.test.ts +119 -0
  991. package/src/resources/run/create.ts +165 -0
  992. package/src/resources/run/env.test.ts +131 -0
  993. package/src/resources/run/env.ts +167 -0
  994. package/src/resources/run/epilogue.ts +166 -0
  995. package/src/resources/run/header.test.ts +61 -0
  996. package/src/resources/run/header.ts +62 -0
  997. package/src/resources/run/prepare.test.ts +92 -0
  998. package/src/resources/run/prepare.ts +139 -0
  999. package/src/resources/run/resolve.ts +32 -0
  1000. package/src/resources/run/resume.ts +119 -0
  1001. package/src/resources/run/stream.ts +108 -0
  1002. package/src/resources/run/workflow-stream.integration.test.ts +157 -0
  1003. package/src/resources/run/workflow-stream.ts +203 -0
  1004. package/src/resources/run/workspace.test.ts +93 -0
  1005. package/src/resources/run/workspace.ts +171 -0
  1006. package/src/resources/search.ts +53 -0
  1007. package/src/resources/session.test.ts +48 -0
  1008. package/src/resources/session.ts +66 -0
  1009. package/src/resources/skill.test.ts +227 -0
  1010. package/src/resources/skill.ts +451 -0
  1011. package/src/resources/stream/approval-detect.ts +118 -0
  1012. package/src/resources/stream/convert.ts +210 -0
  1013. package/src/resources/stream/diff.test.ts +316 -0
  1014. package/src/resources/stream/diff.ts +254 -0
  1015. package/src/resources/stream/events.ts +193 -0
  1016. package/src/resources/stream/headless.test.ts +119 -0
  1017. package/src/resources/stream/headless.ts +112 -0
  1018. package/src/resources/stream/ink.tsx +56 -0
  1019. package/src/resources/stream/lazy-import.test.ts +63 -0
  1020. package/src/resources/stream/render-ndjson.test.ts +116 -0
  1021. package/src/resources/stream/render-ndjson.ts +176 -0
  1022. package/src/resources/stream/render-plaintext.test.ts +68 -0
  1023. package/src/resources/stream/render-plaintext.ts +86 -0
  1024. package/src/resources/stream/snapshot.test.ts +97 -0
  1025. package/src/resources/stream/snapshot.ts +191 -0
  1026. package/src/resources/stream/subagent.ts +104 -0
  1027. package/src/resources/stream/submit.test.ts +77 -0
  1028. package/src/resources/stream/submit.ts +137 -0
  1029. package/src/resources/stream/todo.ts +53 -0
  1030. package/src/resources/stream/tool-state.ts +142 -0
  1031. package/src/resources/stream/tty.ts +14 -0
  1032. package/src/resources/stream/workflow-event-view.test.ts +116 -0
  1033. package/src/resources/stream/workflow-event-view.ts +111 -0
  1034. package/src/resources/stream/workflow-render-ndjson.ts +61 -0
  1035. package/src/resources/stream/workflow-render-plaintext.ts +43 -0
  1036. package/src/resources/stream/workflow-render.test.ts +81 -0
  1037. package/src/resources/tag.ts +50 -0
  1038. package/src/resources/usage.test.ts +94 -0
  1039. package/src/resources/usage.ts +301 -0
  1040. package/src/resources/validate.test.ts +54 -0
  1041. package/src/resources/validate.ts +31 -0
  1042. package/src/resources/version.ts +105 -0
  1043. package/src/runtime.ts +23 -0
  1044. package/src/types/marked-terminal.d.ts +31 -0
  1045. package/src/version.ts +46 -0
  1046. package/version.d.ts +2 -0
  1047. package/version.d.ts.map +1 -0
  1048. package/version.js +45 -0
  1049. package/version.js.map +1 -0
package/src/backend.ts ADDED
@@ -0,0 +1,15 @@
1
+ // Composition root for the backend client.
2
+ //
3
+ // `createBackendClient` (the client module) is deliberately auth-agnostic; this
4
+ // is the one place that injects the refreshing token provider so every command
5
+ // gets silent token refresh without the client module depending on auth. Keep
6
+ // this as the single entry point commands use to reach the backend.
7
+
8
+ import { createRefreshingTokenProvider } from "./auth/token.js";
9
+ import { type BackendClient, createBackendClient } from "./client/index.js";
10
+ import { type Config, load } from "./config/index.js";
11
+
12
+ /** Build a backend client for the given (or on-disk) config, with auto-refresh. */
13
+ export function connectBackend(config: Config = load()): BackendClient {
14
+ return createBackendClient({ config, getAccessToken: createRefreshingTokenProvider(config) });
15
+ }
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ // Entry point for the `stigmer` CLI. Builds the commander program and runs it.
3
+ //
4
+ // Every command-action failure (and any parse-time rejection) funnels through
5
+ // clierr.handle, the single exit point that maps the error to a stable exit
6
+ // code and prints a user-facing message to stderr.
7
+
8
+ import { handle } from "../errors/index.js";
9
+ import { buildProgram } from "../program.js";
10
+
11
+ async function main(): Promise<void> {
12
+ const program = buildProgram();
13
+ await program.parseAsync(process.argv);
14
+ }
15
+
16
+ main().catch(handle);
@@ -0,0 +1,46 @@
1
+ import { PlatformQueryController } from "@stigmer/protos/ai/stigmer/platform/v1/server_info_pb";
2
+ import { afterEach, describe, expect, it } from "vitest";
3
+ import type { Config } from "../config/index.js";
4
+ import { createBackendClient } from "./client.js";
5
+
6
+ function cloud(token?: string): Config {
7
+ return { backend: { type: "cloud", cloud: { endpoint: "api.stigmer.ai:443", token } } };
8
+ }
9
+
10
+ afterEach(() => {
11
+ delete process.env.STIGMER_API_KEY;
12
+ delete process.env.STIGMER_SERVER_ADDRESS;
13
+ });
14
+
15
+ describe("createBackendClient — endpoint normalization", () => {
16
+ it("normalizes the cloud endpoint to an https base URL", () => {
17
+ const client = createBackendClient({ config: cloud("t") });
18
+ expect(client.stigmer.baseUrl).toBe("https://api.stigmer.ai:443");
19
+ });
20
+
21
+ it("normalizes the local endpoint to a plaintext base URL", () => {
22
+ const client = createBackendClient({ config: { backend: { type: "local" } } });
23
+ expect(client.stigmer.baseUrl).toBe("http://localhost:7234");
24
+ });
25
+ });
26
+
27
+ describe("createBackendClient — token precedence", () => {
28
+ it("prefers STIGMER_API_KEY over the config token", async () => {
29
+ process.env.STIGMER_API_KEY = "env-key";
30
+ const client = createBackendClient({ config: cloud("config-token") });
31
+ expect(await client.stigmer.getAuthCredential()).toBe("env-key");
32
+ });
33
+
34
+ it("falls back to the config token", async () => {
35
+ const client = createBackendClient({ config: cloud("config-token") });
36
+ expect(await client.stigmer.getAuthCredential()).toBe("config-token");
37
+ });
38
+ });
39
+
40
+ describe("createBackendClient — controller factory", () => {
41
+ it("creates a raw Connect client for a service controller", () => {
42
+ const client = createBackendClient({ config: cloud("t") });
43
+ const platform = client.controller(PlatformQueryController);
44
+ expect(typeof platform.getServerInfo).toBe("function");
45
+ });
46
+ });
@@ -0,0 +1,84 @@
1
+ // Backend client façade.
2
+ //
3
+ // Builds a single transport (via the SDK's createNodeTransport + the Go-parity
4
+ // normalizeEndpoint) and exposes:
5
+ // - `stigmer`: the high-level typed client, used by read verbs.
6
+ // - `transport` + `controller(service)`: the raw Connect layer, so write
7
+ // flows (a later wave) can drive generated controllers directly for full
8
+ // YAML->proto fidelity rather than the high-level client's lossy inputs.
9
+ //
10
+ // This module holds no business logic: backend selection, token precedence, and
11
+ // endpoint shape are delegated to the config layer; org resolution and verb
12
+ // dispatch live with the commands and the registry.
13
+
14
+ import type { DescService } from "@bufbuild/protobuf";
15
+ import { type Client, createClient, type Transport } from "@connectrpc/connect";
16
+ import { Stigmer, type TokenProvider } from "@stigmer/sdk";
17
+ import { createNodeTransport, normalizeEndpoint } from "@stigmer/sdk/node";
18
+ import { type Config, load, resolveEndpoint, resolveToken } from "../config/index.js";
19
+ import { CliExitError, ExitCode } from "../errors/index.js";
20
+
21
+ /** The composed backend client returned by {@link createBackendClient}. */
22
+ export interface BackendClient {
23
+ /** High-level typed client for reads (and high-level writes). */
24
+ readonly stigmer: Stigmer;
25
+ /** The shared underlying transport. */
26
+ readonly transport: Transport;
27
+ /** The config this client was built from (for org resolution by callers). */
28
+ readonly config: Config;
29
+ /** Create a raw Connect client for a generated service controller. */
30
+ controller<Desc extends DescService>(service: Desc): Client<Desc>;
31
+ /** Probe the server (unauthenticated) to fail fast on connectivity issues. */
32
+ connect(timeoutMs?: number): Promise<void>;
33
+ }
34
+
35
+ export interface BackendClientOptions {
36
+ /** Config to use; defaults to the on-disk config (or standalone default). */
37
+ readonly config?: Config;
38
+ /** Token-provider override (the auth module supplies a refreshing provider). */
39
+ readonly getAccessToken?: TokenProvider;
40
+ }
41
+
42
+ const DEFAULT_CONNECT_TIMEOUT_MS = 10_000;
43
+
44
+ export function createBackendClient(options: BackendClientOptions = {}): BackendClient {
45
+ const config = options.config ?? load();
46
+ const baseUrl = normalizeEndpoint(resolveEndpoint(config));
47
+
48
+ // Dynamic provider: re-reads env/config on every request so a token refreshed
49
+ // mid-session is picked up. STIGMER_API_KEY > config token precedence lives in
50
+ // resolveToken; a caller-supplied provider (refresh-aware) takes over entirely.
51
+ const tokenProvider: TokenProvider = options.getAccessToken ?? (() => resolveToken(config) || null);
52
+
53
+ const transport = createNodeTransport({ baseUrl, getAccessToken: tokenProvider });
54
+ const stigmer = new Stigmer({ baseUrl, getAccessToken: tokenProvider, customTransport: transport });
55
+
56
+ return {
57
+ stigmer,
58
+ transport,
59
+ config,
60
+ controller(service) {
61
+ return createClient(service, transport);
62
+ },
63
+ async connect(timeoutMs = DEFAULT_CONNECT_TIMEOUT_MS) {
64
+ await withTimeout(stigmer.platform.getServerInfo(), timeoutMs);
65
+ },
66
+ };
67
+ }
68
+
69
+ // Soft timeout: races the RPC against a timer. It cannot cancel the underlying
70
+ // request, but the CLI exits immediately after, so the dangling call is moot.
71
+ async function withTimeout<T>(promise: Promise<T>, timeoutMs: number): Promise<T> {
72
+ let timer: NodeJS.Timeout | undefined;
73
+ const timeout = new Promise<never>((_, reject) => {
74
+ timer = setTimeout(
75
+ () => reject(new CliExitError("Timed out connecting to the Stigmer server", ExitCode.Connection)),
76
+ timeoutMs,
77
+ );
78
+ });
79
+ try {
80
+ return await Promise.race([promise, timeout]);
81
+ } finally {
82
+ if (timer !== undefined) clearTimeout(timer);
83
+ }
84
+ }
@@ -0,0 +1,3 @@
1
+ // Public surface of the CLI backend-client module.
2
+
3
+ export { type BackendClient, type BackendClientOptions, createBackendClient } from "./client.js";
@@ -0,0 +1,75 @@
1
+ // The agent-execution flag set shared by `run` and `draft` (Go's
2
+ // registerAgentExecFlags). Centralized so both commands stay in lockstep — a new
3
+ // execution flag is added here once and both surfaces pick it up.
4
+
5
+ import type { Command } from "commander";
6
+ import type { AgentExecFlags, RunMode } from "../resources/run/prepare.js";
7
+
8
+ /** Commander collector for repeatable string options. */
9
+ export const collect = (value: string, previous: string[]): string[] => [...previous, value];
10
+
11
+ /** The parsed shape of the shared agent-exec options on a commander command. */
12
+ export interface AgentExecOptions {
13
+ message?: string;
14
+ attach: string[];
15
+ approveDefault?: string;
16
+ verbose?: boolean;
17
+ detach?: boolean;
18
+ workspace: string[];
19
+ branch?: string;
20
+ commit?: string;
21
+ env: string[];
22
+ envFile: string[];
23
+ secret: string[];
24
+ secretFile: string[];
25
+ model?: string;
26
+ autoApprove?: boolean;
27
+ mode?: string;
28
+ }
29
+
30
+ /**
31
+ * Register the shared agent-exec options on `command`. `requireMessage` marks
32
+ * `-m/--message` as required (draft requires a prompt; run does not).
33
+ */
34
+ export function addAgentExecFlags(command: Command, requireMessage = false): Command {
35
+ const messageDesc = "initial message/prompt for execution";
36
+ if (requireMessage) command.requiredOption("-m, --message <text>", messageDesc);
37
+ else command.option("-m, --message <text>", messageDesc);
38
+
39
+ return command
40
+ .option("--attach <path>", "file or directory to attach as input (repeatable)", collect, [])
41
+ .option("--approve-default <action>", "auto-resolve approvals in headless mode (approve, skip, reject, approve-all)")
42
+ .option("-v, --verbose", "show execution IDs and phase transitions")
43
+ .option("--detach", "start execution and return immediately without streaming")
44
+ .option("-w, --workspace <source>", "workspace: HTTPS git URL or local path (repeatable)", collect, [])
45
+ .option("--branch <name>", "git branch to clone (single git workspace only)")
46
+ .option("--commit <sha>", "git commit SHA to checkout (single git workspace only)")
47
+ .option("--env <kv>", "runtime env var KEY=VALUE (repeatable)", collect, [])
48
+ .option("--env-file <path>", "load env from file (repeatable, later override earlier)", collect, [])
49
+ .option("--secret <kv>", "secret env var KEY=VALUE (repeatable, encrypted)", collect, [])
50
+ .option("--secret-file <path>", "load secrets from file (repeatable, encrypted)", collect, [])
51
+ .option("--model <model>", "LLM model to use (e.g. claude-sonnet-4-6)")
52
+ .option("--auto-approve", "automatically approve all tool executions")
53
+ .option("--mode <mode>", 'interaction mode: "agent" (default) or "plan" (read-only)');
54
+ }
55
+
56
+ /** Map parsed commander options onto the shared {@link AgentExecFlags} shape. */
57
+ export function toAgentExecFlags(options: AgentExecOptions): AgentExecFlags {
58
+ return {
59
+ message: options.message ?? "",
60
+ attach: options.attach,
61
+ approveDefault: options.approveDefault ?? "",
62
+ verbose: options.verbose === true,
63
+ detach: options.detach === true,
64
+ workspace: options.workspace,
65
+ branch: options.branch ?? "",
66
+ commit: options.commit ?? "",
67
+ env: options.env,
68
+ envFile: options.envFile,
69
+ secret: options.secret,
70
+ secretFile: options.secretFile,
71
+ model: options.model ?? "",
72
+ autoApprove: options.autoApprove === true,
73
+ mode: (options.mode ?? "") as RunMode,
74
+ };
75
+ }
@@ -0,0 +1,23 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { UsageError } from "../../errors/index.js";
3
+ import { parseExpiration } from "./duration.js";
4
+
5
+ const MINUTE = 60 * 1000;
6
+ const HOUR = 60 * MINUTE;
7
+ const DAY = 24 * HOUR;
8
+ const YEAR = 365 * DAY;
9
+
10
+ describe("parseExpiration", () => {
11
+ it.each([
12
+ ["30m", 30 * MINUTE],
13
+ ["6h", 6 * HOUR],
14
+ ["30d", 30 * DAY],
15
+ ["1y", YEAR],
16
+ ])("parses %s", (input, expected) => {
17
+ expect(parseExpiration(input)).toBe(expected);
18
+ });
19
+
20
+ it.each(["", "d", "30x", "abc", "0d", "-5d", "1.5d"])("rejects %s as a usage error", (input) => {
21
+ expect(() => parseExpiration(input)).toThrow(UsageError);
22
+ });
23
+ });
@@ -0,0 +1,35 @@
1
+ // Parse human expiration durations like "30d", "6h", "1y" into milliseconds.
2
+ // Ported from the Go CLI's ParseExpirationDuration; invalid input is a usage
3
+ // error (exit 2). Units: m (minutes), h (hours), d (days), y (years).
4
+
5
+ import { UsageError } from "../../errors/index.js";
6
+
7
+ const UNIT_MS: Record<string, number> = {
8
+ m: 60 * 1000,
9
+ h: 60 * 60 * 1000,
10
+ d: 24 * 60 * 60 * 1000,
11
+ y: 365 * 24 * 60 * 60 * 1000,
12
+ };
13
+
14
+ export function parseExpiration(input: string): number {
15
+ if (input.length < 2) {
16
+ throw new UsageError(`invalid duration format: "${input}" (expected e.g. 30d, 6h, 1y)`);
17
+ }
18
+
19
+ const unit = input[input.length - 1];
20
+ const valueText = input.slice(0, -1);
21
+ const multiplier = UNIT_MS[unit];
22
+ if (multiplier === undefined) {
23
+ throw new UsageError(`invalid duration unit '${unit}' (valid: m, h, d, y)`);
24
+ }
25
+
26
+ if (!/^\d+$/.test(valueText)) {
27
+ throw new UsageError(`invalid duration value in "${input}"`);
28
+ }
29
+ const value = Number.parseInt(valueText, 10);
30
+ if (value <= 0) {
31
+ throw new UsageError(`duration must be positive, got ${value}`);
32
+ }
33
+
34
+ return value * multiplier;
35
+ }
@@ -0,0 +1,133 @@
1
+ // `stigmer apikey create|fingerprint` — manage API keys for programmatic access.
2
+ //
3
+ // API keys are the non-interactive alternative to browser OAuth, for CI/CD and
4
+ // service accounts. The unified get/list/delete verbs cover the rest.
5
+
6
+ import { createHash } from "node:crypto";
7
+ import { create } from "@bufbuild/protobuf";
8
+ import { timestampDate } from "@bufbuild/protobuf/wkt";
9
+ import { type ApiKey, ApiKeySchema } from "@stigmer/protos/ai/stigmer/iam/apikey/v1/api_pb";
10
+ import { ApiKeyHashSchema } from "@stigmer/protos/ai/stigmer/iam/apikey/v1/io_pb";
11
+ import type { Command } from "commander";
12
+ import { ensureAuthenticated, resolveContextOrganization } from "../../config/index.js";
13
+ import { type OutputFlags, type OutputFormat, renderProtoJson, renderProtoYaml } from "../../output/index.js";
14
+ import { addReadFlags, readFormat } from "../shared.js";
15
+ import { parseExpiration } from "./duration.js";
16
+
17
+ const DEFAULT_EXPIRATION_DAYS = 90;
18
+
19
+ interface ApiKeyCreateFlags extends OutputFlags {
20
+ name?: string;
21
+ neverExpires?: boolean;
22
+ expiresIn?: string;
23
+ }
24
+
25
+ export function registerApiKey(program: Command): void {
26
+ const apikey = program.command("apikey").description("manage API keys for Stigmer Cloud authentication");
27
+
28
+ const create = apikey
29
+ .command("create")
30
+ .description("create a new API key")
31
+ .option("--name <name>", "display name for the API key")
32
+ .option("--never-expires", "create a key that never expires")
33
+ .option("--expires-in <duration>", "custom expiration (e.g. 30d, 6h, 1y)")
34
+ .action(async (options: ApiKeyCreateFlags) => {
35
+ await runCreate(options);
36
+ });
37
+ addReadFlags(create);
38
+
39
+ const fingerprint = apikey
40
+ .command("fingerprint <raw-key>")
41
+ .description("look up which API key matches a raw token")
42
+ .action(async (rawKey: string, options: OutputFlags) => {
43
+ await runFingerprint(rawKey, options);
44
+ });
45
+ addReadFlags(fingerprint);
46
+ }
47
+
48
+ async function runCreate(options: ApiKeyCreateFlags): Promise<void> {
49
+ const expiresAt = resolveExpiry(options);
50
+
51
+ const { connectBackend } = await import("../../backend.js");
52
+ const client = connectBackend();
53
+ ensureAuthenticated(client.config);
54
+
55
+ const created = await client.stigmer.apiKey.create({
56
+ name: options.name ?? "",
57
+ org: resolveContextOrganization(client.config),
58
+ neverExpires: options.neverExpires,
59
+ expiresAt,
60
+ });
61
+
62
+ const format = readFormat(options);
63
+ if (format === "json") {
64
+ process.stdout.write(renderProtoJson(ApiKeySchema, created));
65
+ return;
66
+ }
67
+ if (format === "yaml") {
68
+ process.stdout.write(renderProtoYaml(ApiKeySchema, created));
69
+ return;
70
+ }
71
+ process.stdout.write(renderCreatedBanner(created));
72
+ }
73
+
74
+ async function runFingerprint(rawKey: string, options: OutputFlags): Promise<void> {
75
+ const hash = createHash("sha256").update(rawKey).digest("hex");
76
+
77
+ const { connectBackend } = await import("../../backend.js");
78
+ const client = connectBackend();
79
+ ensureAuthenticated(client.config);
80
+
81
+ const key = await client.stigmer.apiKey.getByKeyHash(create(ApiKeyHashSchema, { value: hash }));
82
+ renderApiKey(key, readFormat(options));
83
+ }
84
+
85
+ function resolveExpiry(options: ApiKeyCreateFlags): Date | undefined {
86
+ if (options.neverExpires === true) return undefined;
87
+ if (options.expiresIn !== undefined && options.expiresIn !== "") {
88
+ return new Date(Date.now() + parseExpiration(options.expiresIn));
89
+ }
90
+ return new Date(Date.now() + DEFAULT_EXPIRATION_DAYS * 24 * 60 * 60 * 1000);
91
+ }
92
+
93
+ function renderApiKey(key: ApiKey, format: OutputFormat): void {
94
+ if (format === "json") {
95
+ process.stdout.write(renderProtoJson(ApiKeySchema, key));
96
+ return;
97
+ }
98
+ if (format === "yaml") {
99
+ process.stdout.write(renderProtoYaml(ApiKeySchema, key));
100
+ return;
101
+ }
102
+ const lines = [`API Key: ${key.metadata?.id ?? ""}`, ""];
103
+ if (key.metadata?.name) lines.push(` Name: ${key.metadata.name}`);
104
+ if (key.spec?.fingerprint) lines.push(` Fingerprint: ***${key.spec.fingerprint}`);
105
+ lines.push(` Expires: ${formatExpiry(key)}`);
106
+ process.stdout.write(`${lines.join("\n")}\n`);
107
+ }
108
+
109
+ function renderCreatedBanner(key: ApiKey): string {
110
+ const divider = "═".repeat(63);
111
+ const lines = [
112
+ "",
113
+ "API key created successfully!",
114
+ "",
115
+ "IMPORTANT: Save this API key now — it will not be shown again!",
116
+ "",
117
+ divider,
118
+ ` ${key.spec?.keyHash ?? ""}`,
119
+ divider,
120
+ "",
121
+ ` ID: ${key.metadata?.id ?? ""}`,
122
+ ];
123
+ if (key.metadata?.name) lines.push(` Name: ${key.metadata.name}`);
124
+ if (key.spec?.fingerprint) lines.push(` Fingerprint: ***${key.spec.fingerprint}`);
125
+ lines.push(` Expires: ${formatExpiry(key)}`, "", "Usage:", ` export STIGMER_API_KEY='${key.spec?.keyHash ?? ""}'`, "");
126
+ return `${lines.join("\n")}\n`;
127
+ }
128
+
129
+ function formatExpiry(key: ApiKey): string {
130
+ if (key.spec?.neverExpires) return "Never";
131
+ if (key.spec?.expiresAt !== undefined) return timestampDate(key.spec.expiresAt).toISOString();
132
+ return "Never";
133
+ }
@@ -0,0 +1,213 @@
1
+ // `stigmer apply` — deploy resources to the backend.
2
+ //
3
+ // File mode (-f): apply individual YAML resource files (or a directory)
4
+ // Declarative mode: a stigmer.yaml project directory (scan + reconcile)
5
+ //
6
+ // Resources marshal strictly from YAML to full protos and apply through the raw
7
+ // command controllers (preserving metadata.id so updates aren't misrouted as
8
+ // creates). Heavy modules are lazy-imported so `--help` stays fast (DD-001).
9
+ import type { Command } from "commander";
10
+ import { ensureAuthenticated, resolveOrganization } from "../config/index.js";
11
+ import { UsageError } from "../errors/index.js";
12
+ import { CommandResult, type OutputFlags, type OutputFormat, renderResult } from "../output/index.js";
13
+ import { addResultFlags, globalOrg, resultFormat } from "./shared.js";
14
+
15
+ interface ApplyFlags extends OutputFlags {
16
+ file?: string;
17
+ config?: string;
18
+ prune?: boolean;
19
+ dryRun?: boolean;
20
+ }
21
+
22
+ export function registerApply(program: Command): void {
23
+ const apply = program
24
+ .command("apply")
25
+ .description("apply resources from files or a project directory")
26
+ .option("-f, --file <path>", "path to a YAML file or directory")
27
+ .option("--config <path>", "path to a project directory (declarative mode)")
28
+ // S1: Go plumbs --prune but never sends it — the server always reconciles
29
+ // orphans by member set-difference. We reproduce the flag (default on) for
30
+ // parity; it is intentionally a no-op client-side. Tracked as a Go follow-up.
31
+ .option("--prune", "delete orphaned resources (declarative mode)", true)
32
+ .option("--dry-run", "validate without applying")
33
+ .action((options: ApplyFlags, command: Command) => runApply(options, command));
34
+ addResultFlags(apply);
35
+ }
36
+
37
+ async function runApply(options: ApplyFlags, command: Command): Promise<void> {
38
+ const format = resultFormat(options);
39
+ const orgOverride = globalOrg(command);
40
+
41
+ if (options.file !== undefined && options.file !== "") {
42
+ await runFileApply(options.file, orgOverride, options.dryRun === true, format);
43
+ return;
44
+ }
45
+
46
+ await runDeclarativeApply(options, orgOverride, format);
47
+ }
48
+
49
+ // Declarative mode: detect stigmer.yaml (walk up). Absent → atomic guidance.
50
+ // entry_point set → SDK/project synthesis track. Otherwise scan the project and
51
+ // reconcile membership. Both project tracks converge on the shared reconciler.
52
+ async function runDeclarativeApply(
53
+ options: ApplyFlags,
54
+ orgOverride: string | undefined,
55
+ format: OutputFormat,
56
+ ): Promise<void> {
57
+ const { detectTrack, applyDeclarative, previewDeclarative } = await import("../resources/apply/declarative.js");
58
+
59
+ const startDir = options.config !== undefined && options.config !== "" ? options.config : process.cwd();
60
+ const detect = detectTrack(startDir);
61
+
62
+ if (detect.track === "atomic") {
63
+ renderResult(buildAtomicGuidance(), format);
64
+ return;
65
+ }
66
+
67
+ if (detect.track === "project") {
68
+ await runProjectApply(detect, orgOverride, format, options.dryRun === true);
69
+ return;
70
+ }
71
+
72
+ if (options.dryRun === true) {
73
+ const { results, summary } = previewDeclarative(detect, {
74
+ controller: throwingController,
75
+ warn: (line) => emitWarning(line),
76
+ });
77
+ for (const result of results) renderResult(result, format);
78
+ renderResult(summary, format);
79
+ return;
80
+ }
81
+
82
+ const { connectBackend } = await import("../backend.js");
83
+ const client = connectBackend();
84
+ ensureAuthenticated(client.config);
85
+ const org = resolveDeclarativeOrg(client.config, detect.project?.metadata?.org, orgOverride);
86
+
87
+ const result = await applyDeclarative(detect, {
88
+ controller: client.controller,
89
+ stigmer: client.stigmer,
90
+ org,
91
+ info: (line) => process.stderr.write(`${line}\n`),
92
+ warn: (line) => emitWarning(line),
93
+ });
94
+ renderResult(result, format);
95
+ }
96
+
97
+ // Project (SDK synthesis) track: run the user's entry_point, read the `.pb`
98
+ // output, and reconcile membership through the same reconciler the declarative
99
+ // track uses. Lazy-imported to preserve the DD-001 boundary (`--help` stays
100
+ // fast).
101
+ async function runProjectApply(
102
+ detect: import("../resources/apply/declarative.js").DetectResult,
103
+ orgOverride: string | undefined,
104
+ format: OutputFormat,
105
+ dryRun: boolean,
106
+ ): Promise<void> {
107
+ const { applyProjectTrack, previewProjectTrack } = await import("../resources/apply/synth/project-track.js");
108
+
109
+ if (dryRun) {
110
+ renderResult(previewProjectTrack(detect), format);
111
+ return;
112
+ }
113
+
114
+ const { connectBackend } = await import("../backend.js");
115
+ const client = connectBackend();
116
+ ensureAuthenticated(client.config);
117
+ const org = resolveDeclarativeOrg(client.config, detect.project?.metadata?.org, orgOverride);
118
+
119
+ const result = await applyProjectTrack(detect, {
120
+ controller: client.controller,
121
+ stigmer: client.stigmer,
122
+ org,
123
+ info: (line) => process.stderr.write(`${line}\n`),
124
+ warn: (line) => emitWarning(line),
125
+ });
126
+ renderResult(result, format);
127
+ }
128
+
129
+ // Org precedence mirrors Go's resolveApplyOrganization: --org flag, then
130
+ // metadata.org in stigmer.yaml, then the configured context. Empty → a clear
131
+ // "set your org" usage error.
132
+ function resolveDeclarativeOrg(
133
+ config: import("../config/index.js").Config,
134
+ projectOrg: string | undefined,
135
+ override: string | undefined,
136
+ ): string {
137
+ const resolved = resolveOrganization(config, override ?? (projectOrg !== "" ? projectOrg : undefined));
138
+ if (resolved === "") {
139
+ throw new UsageError(
140
+ "organization not set\n\n" +
141
+ "Specify organization in one of these ways:\n" +
142
+ " 1. Set metadata.org in stigmer.yaml\n" +
143
+ " 2. Use --org flag: stigmer apply --org <org>\n" +
144
+ " 3. Set context: stigmer context set --org <org>",
145
+ );
146
+ }
147
+ return resolved;
148
+ }
149
+
150
+ async function runFileApply(
151
+ path: string,
152
+ orgOverride: string | undefined,
153
+ dryRun: boolean,
154
+ format: OutputFormat,
155
+ ): Promise<void> {
156
+ const [{ connectBackend }, { resolveApplyItems, requiresOrgContext, applyItem }, { discoverAppliedMcpServers }] =
157
+ await Promise.all([
158
+ import("../backend.js"),
159
+ import("../resources/apply/apply.js"),
160
+ import("../resources/apply/discovery.js"),
161
+ ]);
162
+
163
+ const items = resolveApplyItems(path);
164
+
165
+ // Dry-run never touches the backend: marshal + preview only.
166
+ if (dryRun) {
167
+ for (const item of items) {
168
+ const outcome = await applyItem(throwingController, item, "", true);
169
+ emitWarning(outcome.warning);
170
+ renderResult(outcome.result, format);
171
+ }
172
+ return;
173
+ }
174
+
175
+ const client = connectBackend();
176
+ ensureAuthenticated(client.config);
177
+ const org = requiresOrgContext(items) ? resolveOrganization(client.config, orgOverride) : "";
178
+
179
+ const appliedMcpServers = [];
180
+ for (const item of items) {
181
+ const outcome = await applyItem(client.controller, item, org, false);
182
+ emitWarning(outcome.warning);
183
+ renderResult(outcome.result, format);
184
+ if (outcome.appliedMcpServer !== undefined) appliedMcpServers.push(outcome.appliedMcpServer);
185
+ }
186
+
187
+ await discoverAppliedMcpServers(client.stigmer, appliedMcpServers, (line) => process.stderr.write(`${line}\n`));
188
+ }
189
+
190
+ function buildAtomicGuidance(): CommandResult {
191
+ const result = CommandResult.warning("No stigmer.yaml found in current directory or parents");
192
+ result
193
+ .addSection("")
194
+ .item("The 'stigmer apply' command (without -f) requires a project with stigmer.yaml")
195
+ .item("This enables resource discovery and project-based reconciliation");
196
+ result
197
+ .addSection("For single-resource deployment, use file mode")
198
+ .item("stigmer apply -f agent.yaml")
199
+ .item("stigmer apply -f workflow.yaml")
200
+ .item("stigmer apply -f mcpserver.yaml");
201
+ result.hint("To create a project: add a stigmer.yaml with your project name, then run 'stigmer apply'");
202
+ return result;
203
+ }
204
+
205
+ function emitWarning(warning: string | undefined): void {
206
+ if (warning !== undefined) process.stderr.write(`${warning}\n`);
207
+ }
208
+
209
+ // In dry-run we still call applyItem but it never reaches the controller; this
210
+ // guard makes that contract explicit (and fails loudly if it ever regresses).
211
+ const throwingController = (() => {
212
+ throw new Error("controller must not be used during dry-run");
213
+ }) as unknown as import("../resources/apply/handlers.js").ControllerFn;