@skrr-ai/cli 0.1.110 → 0.1.113

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 (399) hide show
  1. package/bin/run.js +15 -1
  2. package/dist/base-command.d.ts +31 -3
  3. package/dist/base-command.js +136 -22
  4. package/dist/commands/actions/list.js +2 -1
  5. package/dist/commands/agenda/trigger/create.js +1 -1
  6. package/dist/commands/agenda/trigger/list.js +2 -1
  7. package/dist/commands/agent-groups/list.js +2 -1
  8. package/dist/commands/agents/actions/list.js +2 -1
  9. package/dist/commands/agents/always-on/status.js +5 -0
  10. package/dist/commands/agents/chat.js +4 -1
  11. package/dist/commands/agents/create.d.ts +3 -1
  12. package/dist/commands/agents/create.js +36 -3
  13. package/dist/commands/agents/duplicate.js +4 -0
  14. package/dist/commands/agents/eval/list.js +2 -1
  15. package/dist/commands/agents/files/list.js +2 -1
  16. package/dist/commands/agents/folders/list.js +2 -1
  17. package/dist/commands/agents/goals/list.js +2 -1
  18. package/dist/commands/agents/intuitions/list.js +8 -5
  19. package/dist/commands/agents/list.d.ts +12 -0
  20. package/dist/commands/agents/list.js +45 -8
  21. package/dist/commands/agents/releases/known-issues/list.js +2 -1
  22. package/dist/commands/agents/releases/list.js +5 -1
  23. package/dist/commands/agents/releases/trusted-publishers/list.js +2 -1
  24. package/dist/commands/agents/roles/list.js +2 -1
  25. package/dist/commands/agents/skills/list.js +2 -1
  26. package/dist/commands/agents/todos/list.js +2 -1
  27. package/dist/commands/agents/triggers/list.js +2 -1
  28. package/dist/commands/api-keys/list.js +2 -1
  29. package/dist/commands/apps/channel.d.ts +20 -0
  30. package/dist/commands/apps/channel.js +64 -0
  31. package/dist/commands/apps/check-draft.d.ts +12 -0
  32. package/dist/commands/apps/check-draft.js +41 -0
  33. package/dist/commands/apps/check.d.ts +42 -0
  34. package/dist/commands/apps/check.js +91 -0
  35. package/dist/commands/apps/create.d.ts +15 -0
  36. package/dist/commands/apps/create.js +59 -0
  37. package/dist/commands/apps/data/put.d.ts +18 -0
  38. package/dist/commands/apps/data/put.js +72 -0
  39. package/dist/commands/apps/data/query.d.ts +20 -0
  40. package/dist/commands/apps/data/query.js +88 -0
  41. package/dist/commands/apps/disclosure.d.ts +16 -0
  42. package/dist/commands/apps/disclosure.js +71 -0
  43. package/dist/commands/apps/file/cat.d.ts +15 -0
  44. package/dist/commands/apps/file/cat.js +50 -0
  45. package/dist/commands/apps/file/ls.d.ts +13 -0
  46. package/dist/commands/apps/file/ls.js +47 -0
  47. package/dist/commands/apps/file/mv.d.ts +15 -0
  48. package/dist/commands/apps/file/mv.js +49 -0
  49. package/dist/commands/apps/file/rm.d.ts +15 -0
  50. package/dist/commands/apps/file/rm.js +53 -0
  51. package/dist/commands/apps/file/write.d.ts +17 -0
  52. package/dist/commands/apps/file/write.js +81 -0
  53. package/dist/commands/apps/install.d.ts +19 -0
  54. package/dist/commands/apps/install.js +136 -0
  55. package/dist/commands/apps/installations/list.d.ts +11 -0
  56. package/dist/commands/apps/installations/list.js +49 -0
  57. package/dist/commands/apps/installations/show.d.ts +12 -0
  58. package/dist/commands/apps/installations/show.js +61 -0
  59. package/dist/commands/apps/layout/set.d.ts +11 -0
  60. package/dist/commands/apps/layout/set.js +125 -0
  61. package/dist/commands/apps/layout/show.d.ts +9 -0
  62. package/dist/commands/apps/layout/show.js +33 -0
  63. package/dist/commands/apps/list.d.ts +10 -0
  64. package/dist/commands/apps/list.js +45 -0
  65. package/dist/commands/apps/logs.d.ts +13 -0
  66. package/dist/commands/apps/logs.js +55 -0
  67. package/dist/commands/apps/preview.d.ts +12 -0
  68. package/dist/commands/apps/preview.js +39 -0
  69. package/dist/commands/apps/publish/propose.d.ts +14 -0
  70. package/dist/commands/apps/publish/propose.js +45 -0
  71. package/dist/commands/apps/pull.d.ts +14 -0
  72. package/dist/commands/apps/pull.js +56 -0
  73. package/dist/commands/apps/push.d.ts +15 -0
  74. package/dist/commands/apps/push.js +75 -0
  75. package/dist/commands/apps/reconsent.d.ts +13 -0
  76. package/dist/commands/apps/reconsent.js +67 -0
  77. package/dist/commands/apps/report.d.ts +20 -0
  78. package/dist/commands/apps/report.js +63 -0
  79. package/dist/commands/apps/resume.d.ts +12 -0
  80. package/dist/commands/apps/resume.js +36 -0
  81. package/dist/commands/apps/settings/set.d.ts +13 -0
  82. package/dist/commands/apps/settings/set.js +54 -0
  83. package/dist/commands/apps/settings/show.d.ts +11 -0
  84. package/dist/commands/apps/settings/show.js +31 -0
  85. package/dist/commands/apps/show.d.ts +12 -0
  86. package/dist/commands/apps/show.js +49 -0
  87. package/dist/commands/apps/suspend.d.ts +12 -0
  88. package/dist/commands/apps/suspend.js +35 -0
  89. package/dist/commands/apps/uninstall.d.ts +13 -0
  90. package/dist/commands/apps/uninstall.js +43 -0
  91. package/dist/commands/apps/upgrade.d.ts +14 -0
  92. package/dist/commands/apps/upgrade.js +49 -0
  93. package/dist/commands/apps/version/create.d.ts +14 -0
  94. package/dist/commands/apps/version/create.js +53 -0
  95. package/dist/commands/apps/version/show.d.ts +12 -0
  96. package/dist/commands/apps/version/show.js +39 -0
  97. package/dist/commands/apps/versions.d.ts +12 -0
  98. package/dist/commands/apps/versions.js +40 -0
  99. package/dist/commands/apps/webhooks/list.d.ts +12 -0
  100. package/dist/commands/apps/webhooks/list.js +47 -0
  101. package/dist/commands/characters/list.js +2 -1
  102. package/dist/commands/chats/files/list.js +2 -1
  103. package/dist/commands/chats/folders/list.js +2 -1
  104. package/dist/commands/chats/list.js +2 -1
  105. package/dist/commands/chats/spaces/list.js +2 -1
  106. package/dist/commands/chats/widgets/list.js +2 -1
  107. package/dist/commands/code/jobs/list.js +4 -1
  108. package/dist/commands/commerce/incidents/list.js +2 -1
  109. package/dist/commands/commitments/accounting.js +3 -0
  110. package/dist/commands/commitments/action-proposals.d.ts +8 -0
  111. package/dist/commands/commitments/action-proposals.js +17 -2
  112. package/dist/commands/commitments/cost.d.ts +11 -0
  113. package/dist/commands/commitments/cost.js +25 -0
  114. package/dist/commands/commitments/create.js +6 -1
  115. package/dist/commands/commitments/endpoints/list.js +2 -1
  116. package/dist/commands/commitments/links/list.js +2 -1
  117. package/dist/commands/commitments/list.js +2 -1
  118. package/dist/commands/commitments/liveness.d.ts +30 -0
  119. package/dist/commands/commitments/liveness.js +22 -5
  120. package/dist/commands/commitments/pack/list.js +2 -1
  121. package/dist/commands/commitments/preflight.js +6 -2
  122. package/dist/commands/commitments/update.js +10 -1
  123. package/dist/commands/compass/list.js +2 -1
  124. package/dist/commands/context.js +7 -1
  125. package/dist/commands/convos/list.js +3 -2
  126. package/dist/commands/dm/list.js +2 -1
  127. package/dist/commands/dm/work.d.ts +19 -0
  128. package/dist/commands/dm/work.js +54 -0
  129. package/dist/commands/feeds/list.js +2 -1
  130. package/dist/commands/followups/list.js +2 -1
  131. package/dist/commands/followups/plans/cancel.d.ts +13 -0
  132. package/dist/commands/followups/plans/cancel.js +26 -0
  133. package/dist/commands/followups/plans/create.d.ts +11 -0
  134. package/dist/commands/followups/plans/create.js +37 -0
  135. package/dist/commands/followups/plans/example.d.ts +6 -0
  136. package/dist/commands/followups/plans/example.js +12 -0
  137. package/dist/commands/followups/plans/list.d.ts +13 -0
  138. package/dist/commands/followups/plans/list.js +50 -0
  139. package/dist/commands/followups/plans/observability.d.ts +11 -0
  140. package/dist/commands/followups/plans/observability.js +46 -0
  141. package/dist/commands/followups/plans/revise.d.ts +14 -0
  142. package/dist/commands/followups/plans/revise.js +38 -0
  143. package/dist/commands/followups/plans/show.d.ts +11 -0
  144. package/dist/commands/followups/plans/show.js +32 -0
  145. package/dist/commands/goals/key-results/list.js +2 -1
  146. package/dist/commands/goals/labels/list.js +3 -2
  147. package/dist/commands/goals/list.js +3 -2
  148. package/dist/commands/grants/list.js +2 -1
  149. package/dist/commands/harnesses/grants/list.js +2 -1
  150. package/dist/commands/harnesses/leases/list.js +2 -1
  151. package/dist/commands/harnesses/list.js +10 -1
  152. package/dist/commands/ingress/list.js +2 -1
  153. package/dist/commands/initiatives/list.js +2 -1
  154. package/dist/commands/instruction-blocks/list.js +2 -1
  155. package/dist/commands/instructions/list.js +2 -1
  156. package/dist/commands/integrations/connections/list.js +2 -1
  157. package/dist/commands/integrations/tools/list.js +2 -1
  158. package/dist/commands/labels/list.js +3 -2
  159. package/dist/commands/learning/adapters.d.ts +16 -0
  160. package/dist/commands/learning/adapters.js +44 -0
  161. package/dist/commands/machines/dedicated/list.js +2 -1
  162. package/dist/commands/machines/hosted/list.js +2 -1
  163. package/dist/commands/machines/list.js +2 -1
  164. package/dist/commands/machines/show.js +5 -2
  165. package/dist/commands/measures/list.js +2 -1
  166. package/dist/commands/memory/list.js +2 -1
  167. package/dist/commands/memory/proposals/list.js +2 -1
  168. package/dist/commands/memory/stores/list.js +2 -1
  169. package/dist/commands/memory/topics/list.js +2 -1
  170. package/dist/commands/memory/versions/list.js +2 -1
  171. package/dist/commands/messages/list.js +2 -1
  172. package/dist/commands/northstars/intents/list.js +2 -1
  173. package/dist/commands/northstars/list.js +2 -1
  174. package/dist/commands/northstars/recommendations/list.js +2 -1
  175. package/dist/commands/outbox/list.js +2 -1
  176. package/dist/commands/profiles/list.js +2 -1
  177. package/dist/commands/projects/docs/list.js +8 -1
  178. package/dist/commands/projects/updates/list.js +2 -1
  179. package/dist/commands/proposals/list.js +2 -1
  180. package/dist/commands/requests/comments/list.js +2 -1
  181. package/dist/commands/requests/list.js +2 -1
  182. package/dist/commands/shares/list.js +2 -1
  183. package/dist/commands/shortcuts/list.js +2 -1
  184. package/dist/commands/signals/monitors/list.js +2 -1
  185. package/dist/commands/signals/schemas/list.js +2 -1
  186. package/dist/commands/signals/sources/list.js +2 -1
  187. package/dist/commands/space-directory-views/list.js +2 -1
  188. package/dist/commands/spaces/actions/list.js +4 -3
  189. package/dist/commands/spaces/briefs/list.js +2 -1
  190. package/dist/commands/spaces/cycles/list.js +2 -1
  191. package/dist/commands/spaces/files/folders/list.js +2 -1
  192. package/dist/commands/spaces/files/list.js +3 -2
  193. package/dist/commands/spaces/heartbeats/list.js +3 -2
  194. package/dist/commands/spaces/labels/list.js +3 -2
  195. package/dist/commands/spaces/list.d.ts +3 -18
  196. package/dist/commands/spaces/list.js +28 -35
  197. package/dist/commands/spaces/live/cards/list.js +2 -1
  198. package/dist/commands/spaces/members/list.d.ts +1 -0
  199. package/dist/commands/spaces/members/list.js +4 -1
  200. package/dist/commands/spaces/show.js +2 -2
  201. package/dist/commands/spaces/skills/list.js +6 -2
  202. package/dist/commands/spaces/states/list.js +2 -1
  203. package/dist/commands/spaces/views/list.js +2 -1
  204. package/dist/commands/spaces/widgets/list.js +3 -2
  205. package/dist/commands/spaces/workflow-templates/list.js +2 -1
  206. package/dist/commands/spaces/workflows/fixtures/list.js +2 -1
  207. package/dist/commands/spaces/workflows/list.js +3 -2
  208. package/dist/commands/spaces/workflows/proposals/list.js +2 -1
  209. package/dist/commands/spaces/workflows/triggers/list.js +2 -1
  210. package/dist/commands/store/acquisitions/list.js +2 -1
  211. package/dist/commands/store/admissions/list.js +17 -1
  212. package/dist/commands/store/advisories/list.js +2 -1
  213. package/dist/commands/store/follows/list.js +2 -1
  214. package/dist/commands/store/publishers/domains/list.js +2 -1
  215. package/dist/commands/store/reports/list.js +2 -1
  216. package/dist/commands/subscriptions/list.js +2 -1
  217. package/dist/commands/tasks/actionability.js +7 -30
  218. package/dist/commands/tasks/activity.js +3 -7
  219. package/dist/commands/tasks/approvals/list.js +2 -1
  220. package/dist/commands/tasks/assign.d.ts +1 -0
  221. package/dist/commands/tasks/assign.js +43 -7
  222. package/dist/commands/tasks/attachments/list.js +2 -1
  223. package/dist/commands/tasks/chat/send.js +34 -0
  224. package/dist/commands/tasks/comments/add.js +6 -1
  225. package/dist/commands/tasks/comments/list.js +2 -1
  226. package/dist/commands/tasks/complete.js +26 -2
  227. package/dist/commands/tasks/continue.d.ts +18 -0
  228. package/dist/commands/tasks/continue.js +54 -0
  229. package/dist/commands/tasks/create-tree.d.ts +5 -0
  230. package/dist/commands/tasks/create-tree.js +399 -219
  231. package/dist/commands/tasks/create.d.ts +1 -0
  232. package/dist/commands/tasks/create.js +63 -11
  233. package/dist/commands/tasks/deliverable/add.js +10 -3
  234. package/dist/commands/tasks/deliverable/list.js +2 -1
  235. package/dist/commands/tasks/events/list.js +2 -1
  236. package/dist/commands/tasks/execution-state.d.ts +12 -0
  237. package/dist/commands/tasks/execution-state.js +28 -0
  238. package/dist/commands/tasks/expectations/assess.js +40 -5
  239. package/dist/commands/tasks/guide.d.ts +10 -0
  240. package/dist/commands/tasks/guide.js +20 -0
  241. package/dist/commands/tasks/labels/list.js +2 -1
  242. package/dist/commands/tasks/list.d.ts +19 -0
  243. package/dist/commands/tasks/list.js +97 -4
  244. package/dist/commands/tasks/move.js +10 -2
  245. package/dist/commands/tasks/preflight.d.ts +14 -0
  246. package/dist/commands/tasks/preflight.js +77 -0
  247. package/dist/commands/tasks/resource/list.js +2 -1
  248. package/dist/commands/tasks/result/submit.js +10 -1
  249. package/dist/commands/tasks/review.js +6 -1
  250. package/dist/commands/tasks/revisions.d.ts +2 -0
  251. package/dist/commands/tasks/revisions.js +8 -1
  252. package/dist/commands/tasks/show.js +17 -11
  253. package/dist/commands/tasks/start.d.ts +1 -0
  254. package/dist/commands/tasks/start.js +35 -0
  255. package/dist/commands/tasks/templates/list.js +2 -1
  256. package/dist/commands/tasks/timeline.d.ts +5 -0
  257. package/dist/commands/tasks/timeline.js +9 -1
  258. package/dist/commands/tasks/update.d.ts +1 -0
  259. package/dist/commands/tasks/update.js +25 -2
  260. package/dist/commands/tasks/updates/add.js +6 -1
  261. package/dist/commands/tasks/updates/list.js +2 -1
  262. package/dist/commands/tasks/upsert.d.ts +1 -0
  263. package/dist/commands/tasks/upsert.js +8 -1
  264. package/dist/commands/token/list.js +2 -1
  265. package/dist/commands/tokens/list.js +2 -1
  266. package/dist/commands/tones/list.js +4 -2
  267. package/dist/commands/triggers/list.js +2 -1
  268. package/dist/commands/views/list.js +2 -1
  269. package/dist/commands/webhooks/list.js +2 -1
  270. package/dist/commands/whoami.js +1 -1
  271. package/dist/commands/widgets/list.js +2 -1
  272. package/dist/commands/widgets/save-as-app.d.ts +13 -0
  273. package/dist/commands/widgets/save-as-app.js +65 -0
  274. package/dist/commands/work-views/list.js +2 -1
  275. package/dist/commands/worklog/list.js +2 -1
  276. package/dist/commands/workspaces/list.js +3 -2
  277. package/dist/commands/workspaces/members.d.ts +1 -0
  278. package/dist/commands/workspaces/members.js +5 -2
  279. package/dist/generated/managed-instruction-guides.json +2 -2
  280. package/dist/help.js +7 -0
  281. package/dist/lib/agent-proactive-baseline.d.ts +9 -0
  282. package/dist/lib/agent-proactive-baseline.js +44 -0
  283. package/dist/lib/agentic-stream.d.ts +4 -1
  284. package/dist/lib/agentic-stream.js +29 -4
  285. package/dist/lib/appData.d.ts +75 -0
  286. package/dist/lib/appData.js +274 -0
  287. package/dist/lib/appInstallations.d.ts +117 -0
  288. package/dist/lib/appInstallations.js +960 -0
  289. package/dist/lib/appSettings.d.ts +3 -0
  290. package/dist/lib/appSettings.js +71 -0
  291. package/dist/lib/appWebhooks.d.ts +7 -0
  292. package/dist/lib/appWebhooks.js +59 -0
  293. package/dist/lib/apps-command.d.ts +44 -0
  294. package/dist/lib/apps-command.js +164 -0
  295. package/dist/lib/apps.d.ts +45 -0
  296. package/dist/lib/apps.js +148 -0
  297. package/dist/lib/appsCheck.d.ts +12 -0
  298. package/dist/lib/appsCheck.js +173 -0
  299. package/dist/lib/appsFs.d.ts +58 -0
  300. package/dist/lib/appsFs.js +384 -0
  301. package/dist/lib/auth-failure.d.ts +20 -0
  302. package/dist/lib/auth-failure.js +40 -3
  303. package/dist/lib/cli-installers.d.ts +9 -2
  304. package/dist/lib/command-miss.js +107 -0
  305. package/dist/lib/commitment-loop-status.js +25 -3
  306. package/dist/lib/commitments.d.ts +44 -3
  307. package/dist/lib/commitments.js +107 -9
  308. package/dist/lib/compasses.d.ts +4 -0
  309. package/dist/lib/compasses.js +11 -0
  310. package/dist/lib/daemon-setup.js +7 -7
  311. package/dist/lib/daemonHandoff.js +3 -2
  312. package/dist/lib/dedicated-ssh.d.ts +2 -0
  313. package/dist/lib/dedicated-ssh.js +98 -28
  314. package/dist/lib/json-output.d.ts +33 -0
  315. package/dist/lib/json-output.js +37 -0
  316. package/dist/lib/list-output.d.ts +9 -4
  317. package/dist/lib/list-output.js +36 -9
  318. package/dist/lib/lookbackPlanHelp.d.ts +19 -0
  319. package/dist/lib/lookbackPlanHelp.js +27 -0
  320. package/dist/lib/lookbackPlans.d.ts +22 -0
  321. package/dist/lib/lookbackPlans.js +88 -0
  322. package/dist/lib/machines.d.ts +27 -6
  323. package/dist/lib/machines.js +25 -14
  324. package/dist/lib/member-output.d.ts +20 -0
  325. package/dist/lib/member-output.js +57 -0
  326. package/dist/lib/preflight-copy.d.ts +7 -0
  327. package/dist/lib/preflight-copy.js +31 -0
  328. package/dist/lib/roles.d.ts +2 -2
  329. package/dist/lib/task-admission.d.ts +9 -0
  330. package/dist/lib/task-admission.js +35 -0
  331. package/dist/lib/task-batch.d.ts +4 -0
  332. package/dist/lib/task-batch.js +2 -0
  333. package/dist/lib/task-operations.d.ts +25 -0
  334. package/dist/lib/task-operations.js +123 -0
  335. package/dist/lib/task-preflight.d.ts +35 -0
  336. package/dist/lib/task-preflight.js +121 -0
  337. package/dist/lib/task-resource-references.d.ts +23 -0
  338. package/dist/lib/task-resource-references.js +119 -0
  339. package/dist/lib/task-spec-verification.d.ts +42 -0
  340. package/dist/lib/task-spec-verification.js +101 -0
  341. package/dist/lib/task-work.d.ts +11 -0
  342. package/dist/lib/task-work.js +41 -0
  343. package/dist/lib/task-write-attribution.d.ts +26 -0
  344. package/dist/lib/task-write-attribution.js +47 -0
  345. package/dist/lib/tasks.d.ts +13 -0
  346. package/dist/lib/tasks.js +61 -8
  347. package/dist/lib/triggers.d.ts +7 -0
  348. package/dist/lib/triggers.js +54 -4
  349. package/dist/lib/usage-discovery.d.ts +4 -0
  350. package/dist/lib/usage-discovery.js +14 -4
  351. package/dist/lib/widgetApps.d.ts +10 -0
  352. package/dist/lib/widgetApps.js +47 -0
  353. package/dist/lib/widgetStaticScan.js +25 -1
  354. package/dist/lib/workspaces.d.ts +11 -4
  355. package/dist/lib/workspaces.js +7 -3
  356. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/computerWire.d.ts +14 -1
  357. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/computerWire.js +47 -2
  358. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonToolApproval.d.ts +49 -1
  359. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonToolApproval.js +26 -0
  360. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonWire.d.ts +118 -0
  361. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonWire.js +614 -0
  362. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refresh.d.ts +2 -0
  363. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refresh.js +15 -2
  364. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refreshClassification.d.ts +5 -0
  365. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refreshClassification.js +3 -1
  366. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/sessionRevocation.d.ts +177 -0
  367. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/sessionRevocation.js +484 -0
  368. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/telemetryRedaction.d.ts +11 -0
  369. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/telemetryRedaction.js +46 -7
  370. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/toolApprovalSignature.d.ts +232 -0
  371. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/toolApprovalSignature.js +372 -0
  372. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/types.d.ts +17 -1
  373. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/types.js +12 -1
  374. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/computerWire.d.ts +14 -1
  375. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/computerWire.js +45 -2
  376. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonToolApproval.d.ts +49 -1
  377. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonToolApproval.js +24 -0
  378. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonWire.d.ts +118 -0
  379. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonWire.js +608 -0
  380. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refresh.d.ts +2 -0
  381. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refresh.js +15 -2
  382. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refreshClassification.d.ts +5 -0
  383. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refreshClassification.js +3 -1
  384. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/sessionRevocation.d.ts +177 -0
  385. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/sessionRevocation.js +472 -0
  386. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/telemetryRedaction.d.ts +11 -0
  387. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/telemetryRedaction.js +44 -6
  388. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/toolApprovalSignature.d.ts +232 -0
  389. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/toolApprovalSignature.js +360 -0
  390. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/types.d.ts +17 -1
  391. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/types.js +12 -1
  392. package/dist/node_modules/@skrr-ai/auth-core/package.json +30 -0
  393. package/dist/node_modules/@skrr-ai/data-provider/index.js +25245 -18730
  394. package/docs/v1/README.md +1 -0
  395. package/docs/v1/lookback-plans.md +88 -0
  396. package/docs/v1/operations.md +52 -0
  397. package/docs/v1/space-search.md +19 -0
  398. package/oclif.manifest.json +4792 -477
  399. package/package.json +27 -3
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const data_provider_1 = require("@skrr-ai/data-provider");
5
+ const apps_command_1 = require("../../lib/apps-command");
6
+ const appInstallations_1 = require("../../lib/appInstallations");
7
+ class AppsResume extends apps_command_1.AppsCommand {
8
+ static description = 'Lift a pause. What it is afterwards is what its approval says about the version it runs: ready, or still needing your approval again if the version moved while it was paused.';
9
+ static examples = ['<%= config.bin %> apps resume appi_abc'];
10
+ static args = {
11
+ installation: core_1.Args.string({
12
+ description: 'The installation id (appi_...)',
13
+ required: true,
14
+ ignoreStdin: true,
15
+ }),
16
+ };
17
+ static flags = {
18
+ json: core_1.Flags.boolean({ description: 'Output the installation as JSON' }),
19
+ };
20
+ async run() {
21
+ this.requireAuth();
22
+ const { args, flags } = await this.parse(AppsResume);
23
+ try {
24
+ const result = await data_provider_1.dataService.resumeAppInstallation(args.installation);
25
+ if (flags.json) {
26
+ this.printJsonResult(result);
27
+ return;
28
+ }
29
+ this.log(`${result.installation.id} is ${(0, appInstallations_1.describeAvailability)(result.installation.availability)}`);
30
+ }
31
+ catch (error) {
32
+ this.failInstallation(error);
33
+ }
34
+ }
35
+ }
36
+ exports.default = AppsResume;
@@ -0,0 +1,13 @@
1
+ import { AppsCommand } from '../../../lib/apps-command';
2
+ export default class AppsSettingsSet extends AppsCommand {
3
+ static description: string;
4
+ static args: {
5
+ installation: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ file: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ yes: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const data_provider_1 = require("@skrr-ai/data-provider");
5
+ const apps_command_1 = require("../../../lib/apps-command");
6
+ const appSettings_1 = require("../../../lib/appSettings");
7
+ class AppsSettingsSet extends apps_command_1.AppsCommand {
8
+ static description = 'Replace installation settings from a JSON file. Without --yes, show resulting schedules and change nothing. Every write requires explicit human consent to the bundle and exact settings, and names the current version/settings/consent so concurrent edits are refused. Existing suspended or manually edited jobs keep their state.';
9
+ static args = { installation: core_1.Args.string({ required: true, ignoreStdin: true }) };
10
+ static flags = {
11
+ json: core_1.Flags.boolean(),
12
+ file: core_1.Flags.string({
13
+ required: true,
14
+ description: 'JSON settings record; omitted keys use manifest defaults. Never include secrets',
15
+ }),
16
+ yes: core_1.Flags.boolean({
17
+ description: 'Explicitly approve these settings and resulting schedules under your installer authority',
18
+ }),
19
+ };
20
+ async run() {
21
+ this.requireAuth();
22
+ const { args, flags } = await this.parse(AppsSettingsSet);
23
+ try {
24
+ const current = await data_provider_1.dataService.getAppInstallationSettings(args.installation);
25
+ const settings = (0, appSettings_1.readAppSettingsFile)(flags.file, current.configuration);
26
+ const lines = (0, appSettings_1.formatAppSettings)(current.configuration, settings, current.timezone);
27
+ if (!flags.yes)
28
+ return this.failWithCliError({
29
+ message: `${lines.join('\n')}\nNothing changed. Run again with --yes to approve exactly these settings.`,
30
+ code: 'APP_CONSENT_REQUIRED',
31
+ exit: 2,
32
+ retryable: false,
33
+ details: { settings, current },
34
+ });
35
+ if (!flags.json)
36
+ for (const line of lines)
37
+ this.logToStderr(line);
38
+ const result = await data_provider_1.dataService.putAppInstallationSettings(args.installation, {
39
+ settings,
40
+ expectedSettings: current.settings,
41
+ expectedVersionId: current.expectedVersionId,
42
+ expectedGrantedAt: current.expectedGrantedAt,
43
+ consent: { versionId: current.expectedVersionId, bundleHash: current.bundleHash, settings },
44
+ });
45
+ if (flags.json)
46
+ return this.printJsonResult(result);
47
+ this.log(`Saved settings for ${args.installation}. Schedule reconciliation was requested; use apps installations show to inspect job state.`);
48
+ }
49
+ catch (error) {
50
+ this.failInstallation(error);
51
+ }
52
+ }
53
+ }
54
+ exports.default = AppsSettingsSet;
@@ -0,0 +1,11 @@
1
+ import { AppsCommand } from '../../../lib/apps-command';
2
+ export default class AppsSettingsShow extends AppsCommand {
3
+ static description: string;
4
+ static args: {
5
+ installation: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ };
10
+ run(): Promise<void>;
11
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const data_provider_1 = require("@skrr-ai/data-provider");
5
+ const apps_command_1 = require("../../../lib/apps-command");
6
+ class AppsSettingsShow extends apps_command_1.AppsCommand {
7
+ static description = 'Show installation settings, declared fields and the resulting job schedules. Includes the exact version, settings and consent timestamp required for a safe update.';
8
+ static args = { installation: core_1.Args.string({ required: true, ignoreStdin: true }) };
9
+ static flags = {
10
+ json: core_1.Flags.boolean({ description: 'Output settings and update preconditions as JSON' }),
11
+ };
12
+ async run() {
13
+ this.requireAuth();
14
+ const { args, flags } = await this.parse(AppsSettingsShow);
15
+ try {
16
+ const current = await data_provider_1.dataService.getAppInstallationSettings(args.installation);
17
+ if (flags.json)
18
+ return this.printJsonResult(current);
19
+ this.log(JSON.stringify(current.settings, null, 2));
20
+ this.log(`Version ${current.expectedVersionId}; consent ${current.expectedGrantedAt}; timezone ${current.timezone}`);
21
+ for (const job of (0, data_provider_1.appSettingsSchedulePreview)(current.configuration, current.settings))
22
+ this.log(`${(0, data_provider_1.plainAppLabel)(job.title)}: ${job.problem ?? job.schedule}`);
23
+ if (!current.canEdit)
24
+ this.log('Settings cannot be changed with this grant. The installer must approve the current version first.');
25
+ }
26
+ catch (error) {
27
+ this.failInstallation(error);
28
+ }
29
+ }
30
+ }
31
+ exports.default = AppsSettingsShow;
@@ -0,0 +1,12 @@
1
+ import { AppsCommand } from '../../lib/apps-command';
2
+ export default class AppsShow extends AppsCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ app: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const data_provider_1 = require("@skrr-ai/data-provider");
5
+ const apps_command_1 = require("../../lib/apps-command");
6
+ class AppsShow extends apps_command_1.AppsCommand {
7
+ static description = 'Show an app: its draft (revision, size) and its versions.';
8
+ static examples = ['<%= config.bin %> apps show habit-tracker'];
9
+ static args = {
10
+ app: core_1.Args.string({
11
+ description: 'The app id (app_...) or its slug',
12
+ required: true,
13
+ ignoreStdin: true,
14
+ }),
15
+ };
16
+ static flags = {
17
+ json: core_1.Flags.boolean({
18
+ description: 'Output the app, its draft summary and its versions as JSON',
19
+ }),
20
+ };
21
+ async run() {
22
+ this.requireAuth();
23
+ const { args, flags } = await this.parse(AppsShow);
24
+ const appId = await this.appId(args.app);
25
+ try {
26
+ const result = await data_provider_1.dataService.getMyApp(appId);
27
+ if (flags.json) {
28
+ this.printJsonResult(result);
29
+ return;
30
+ }
31
+ this.log(`${result.app.id} ${result.app.slug}`);
32
+ if (result.draft) {
33
+ this.log(`draft: rev ${result.draft.rev}, ${result.draft.files.count}/${result.draft.files.maxFiles} files, ${result.draft.files.chars}/${result.draft.files.maxChars} characters`);
34
+ }
35
+ else {
36
+ this.log('draft: none');
37
+ }
38
+ if (result.versions.length === 0)
39
+ this.log('versions: none');
40
+ for (const version of result.versions) {
41
+ this.log(`v${version.version} ${version.id} ${version.bundleHash.slice(0, 12)} ${version.distribution.visibility}/${version.distribution.status}`);
42
+ }
43
+ }
44
+ catch (error) {
45
+ this.failApps(error);
46
+ }
47
+ }
48
+ }
49
+ exports.default = AppsShow;
@@ -0,0 +1,12 @@
1
+ import { AppsCommand } from '../../lib/apps-command';
2
+ export default class AppsSuspend extends AppsCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ installation: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const data_provider_1 = require("@skrr-ai/data-provider");
5
+ const apps_command_1 = require("../../lib/apps-command");
6
+ class AppsSuspend extends apps_command_1.AppsCommand {
7
+ static description = 'Pause an installation: nothing it declares works (its window shows it is paused, its jobs do not fire) until you resume it. Nothing is deleted.';
8
+ static examples = ['<%= config.bin %> apps suspend appi_abc'];
9
+ static args = {
10
+ installation: core_1.Args.string({
11
+ description: 'The installation id (appi_...)',
12
+ required: true,
13
+ ignoreStdin: true,
14
+ }),
15
+ };
16
+ static flags = {
17
+ json: core_1.Flags.boolean({ description: 'Output the installation as JSON' }),
18
+ };
19
+ async run() {
20
+ this.requireAuth();
21
+ const { args, flags } = await this.parse(AppsSuspend);
22
+ try {
23
+ const result = await data_provider_1.dataService.suspendAppInstallation(args.installation);
24
+ if (flags.json) {
25
+ this.printJsonResult(result);
26
+ return;
27
+ }
28
+ this.log(`${result.installation.id} is paused`);
29
+ }
30
+ catch (error) {
31
+ this.failInstallation(error);
32
+ }
33
+ }
34
+ }
35
+ exports.default = AppsSuspend;
@@ -0,0 +1,13 @@
1
+ import { AppsCommand } from '../../lib/apps-command';
2
+ export default class AppsUninstall extends AppsCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ installation: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ 'delete-data': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const data_provider_1 = require("@skrr-ai/data-provider");
5
+ const apps_command_1 = require("../../lib/apps-command");
6
+ class AppsUninstall extends apps_command_1.AppsCommand {
7
+ static description = "Remove an installation. An app that holds data cannot be removed without saying the data may go (--delete-data): deleting data is a person's to confirm, and nothing is removed until you do.";
8
+ static examples = [
9
+ '<%= config.bin %> apps uninstall appi_abc',
10
+ '<%= config.bin %> apps uninstall appi_abc --delete-data',
11
+ ];
12
+ static args = {
13
+ installation: core_1.Args.string({
14
+ description: 'The installation id (appi_...)',
15
+ required: true,
16
+ ignoreStdin: true,
17
+ }),
18
+ };
19
+ static flags = {
20
+ json: core_1.Flags.boolean({ description: 'Output { deleted, deletedDocs } as JSON' }),
21
+ 'delete-data': core_1.Flags.boolean({
22
+ description: 'Say that the data this app holds may be deleted with it',
23
+ }),
24
+ };
25
+ async run() {
26
+ this.requireAuth();
27
+ const { args, flags } = await this.parse(AppsUninstall);
28
+ try {
29
+ const result = await data_provider_1.dataService.uninstallAppInstallation(args.installation, {
30
+ confirmDataDeletion: flags['delete-data'] === true,
31
+ });
32
+ if (flags.json) {
33
+ this.printJsonResult(result);
34
+ return;
35
+ }
36
+ this.log(`removed ${args.installation}${result.deletedDocs > 0 ? `; ${result.deletedDocs} document${result.deletedDocs === 1 ? '' : 's'} of its data deleted` : ''}`);
37
+ }
38
+ catch (error) {
39
+ this.failInstallation(error);
40
+ }
41
+ }
42
+ }
43
+ exports.default = AppsUninstall;
@@ -0,0 +1,14 @@
1
+ import { AppsCommand } from '../../lib/apps-command';
2
+ export default class AppsUpgrade extends AppsCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ installation: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ version: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ 'expected-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const data_provider_1 = require("@skrr-ai/data-provider");
5
+ const apps_command_1 = require("../../lib/apps-command");
6
+ const appInstallations_1 = require("../../lib/appInstallations");
7
+ class AppsUpgrade extends apps_command_1.AppsCommand {
8
+ static description = 'Move an installation to another version of its app (a newer one, or an older one to roll back). It never widens what was approved: a version that asks for more lands as needing your approval again, and does not run until you give it (`apps reconsent`).';
9
+ static examples = [
10
+ '<%= config.bin %> apps upgrade appi_abc --version appv_xyz',
11
+ '<%= config.bin %> apps upgrade appi_abc --version appv_xyz --expected-version appv_old',
12
+ ];
13
+ static args = {
14
+ installation: core_1.Args.string({
15
+ description: 'The installation id (appi_...)',
16
+ required: true,
17
+ ignoreStdin: true,
18
+ }),
19
+ };
20
+ static flags = {
21
+ json: core_1.Flags.boolean({ description: 'Output the installation as JSON' }),
22
+ version: core_1.Flags.string({ description: 'The version to move to (appv_...)', required: true }),
23
+ 'expected-version': core_1.Flags.string({
24
+ description: 'Move only if it still runs this version (appv_...); otherwise nothing changes',
25
+ }),
26
+ };
27
+ async run() {
28
+ this.requireAuth();
29
+ const { args, flags } = await this.parse(AppsUpgrade);
30
+ try {
31
+ const result = await data_provider_1.dataService.activateAppInstallationVersion(args.installation, {
32
+ versionId: flags.version,
33
+ ...(flags['expected-version'] ? { expectedVersionId: flags['expected-version'] } : {}),
34
+ });
35
+ if (flags.json) {
36
+ this.printJsonResult(result);
37
+ return;
38
+ }
39
+ this.log(`${result.installation.id} runs v${result.version.version} (${result.version.id}); it ${(0, appInstallations_1.describeAvailability)(result.installation.availability)}`);
40
+ if (result.installation.availability === 'needs_reconsent') {
41
+ this.log(`This version needs your approval. Review it with \`${this.config.bin} apps disclosure ${result.version.id} --installation ${result.installation.id}\`, then \`${this.config.bin} apps reconsent ${result.installation.id} --yes\`.`);
42
+ }
43
+ }
44
+ catch (error) {
45
+ this.failInstallation(error);
46
+ }
47
+ }
48
+ }
49
+ exports.default = AppsUpgrade;
@@ -0,0 +1,14 @@
1
+ import { AppsCommand } from '../../../lib/apps-command';
2
+ export default class AppsVersionCreate extends AppsCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ app: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ changelog: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ 'expected-rev': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const data_provider_1 = require("@skrr-ai/data-provider");
5
+ const apps_command_1 = require("../../../lib/apps-command");
6
+ const appsCheck_1 = require("../../../lib/appsCheck");
7
+ class AppsVersionCreate extends apps_command_1.AppsCommand {
8
+ static description = 'Cut an immutable version from the draft as it is now. Refused (with the check) if the draft has errors that are not guesses. A version is private and a draft: it is not published.';
9
+ static examples = [
10
+ '<%= config.bin %> apps version create habit-tracker --changelog "habits persist" --expected-rev 8',
11
+ ];
12
+ static args = {
13
+ app: core_1.Args.string({
14
+ description: 'The app id (app_...) or its slug',
15
+ required: true,
16
+ ignoreStdin: true,
17
+ }),
18
+ };
19
+ static flags = {
20
+ json: core_1.Flags.boolean({ description: 'Output { version, check, draftRev } as JSON' }),
21
+ changelog: core_1.Flags.string({ description: 'What changed' }),
22
+ 'expected-rev': core_1.Flags.integer({
23
+ description: 'Cut only if the draft is still at this revision',
24
+ min: 0,
25
+ }),
26
+ };
27
+ async run() {
28
+ this.requireAuth();
29
+ const { args, flags } = await this.parse(AppsVersionCreate);
30
+ const appId = await this.appId(args.app);
31
+ try {
32
+ const result = await data_provider_1.dataService.createAppVersion({
33
+ appId,
34
+ ...(flags.changelog === undefined ? {} : { changelog: flags.changelog }),
35
+ ...(flags['expected-rev'] === undefined ? {} : { expectedRev: flags['expected-rev'] }),
36
+ });
37
+ if (flags.json) {
38
+ this.printJsonResult(result);
39
+ return;
40
+ }
41
+ this.log(`version ${result.version.version} ${result.version.id}`);
42
+ this.log(`bundle ${result.version.bundleHash}`);
43
+ this.log(`cut from draft rev ${result.draftRev}; ${result.version.distribution.visibility}/${result.version.distribution.status}`);
44
+ if (result.check.issues.length > 0)
45
+ for (const line of (0, appsCheck_1.formatAppCheckReport)(result.check))
46
+ this.log(line);
47
+ }
48
+ catch (error) {
49
+ this.failApps(error);
50
+ }
51
+ }
52
+ }
53
+ exports.default = AppsVersionCreate;
@@ -0,0 +1,12 @@
1
+ import { AppsCommand } from '../../../lib/apps-command';
2
+ export default class AppsVersionShow extends AppsCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ version: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const data_provider_1 = require("@skrr-ai/data-provider");
5
+ const apps_command_1 = require("../../../lib/apps-command");
6
+ class AppsVersionShow extends apps_command_1.AppsCommand {
7
+ static description = 'Show one version: its bundle hash, its files, what it declares and where it stands.';
8
+ static examples = ['<%= config.bin %> apps version show appv_...'];
9
+ static args = {
10
+ version: core_1.Args.string({
11
+ description: 'The version id (appv_...)',
12
+ required: true,
13
+ ignoreStdin: true,
14
+ }),
15
+ };
16
+ static flags = {
17
+ json: core_1.Flags.boolean({ description: 'Output the version, with its manifest, as JSON' }),
18
+ };
19
+ async run() {
20
+ this.requireAuth();
21
+ const { args, flags } = await this.parse(AppsVersionShow);
22
+ try {
23
+ const result = await data_provider_1.dataService.getAppVersion(args.version);
24
+ const { version } = result;
25
+ if (flags.json) {
26
+ this.printJsonResult(result);
27
+ return;
28
+ }
29
+ this.log(`v${version.version} ${version.id} (${version.distribution.visibility}/${version.distribution.status})`);
30
+ this.log(`bundle ${version.bundleHash}`);
31
+ for (const file of version.files)
32
+ this.log(`${file.path} ${file.size} bytes ${file.sha256.slice(0, 12)}`);
33
+ }
34
+ catch (error) {
35
+ this.failApps(error);
36
+ }
37
+ }
38
+ }
39
+ exports.default = AppsVersionShow;
@@ -0,0 +1,12 @@
1
+ import { AppsCommand } from '../../lib/apps-command';
2
+ export default class AppsVersions extends AppsCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ app: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const data_provider_1 = require("@skrr-ai/data-provider");
5
+ const apps_command_1 = require("../../lib/apps-command");
6
+ class AppsVersions extends apps_command_1.AppsCommand {
7
+ static description = 'List the versions of an app, newest first.';
8
+ static examples = ['<%= config.bin %> apps versions habit-tracker'];
9
+ static args = {
10
+ app: core_1.Args.string({
11
+ description: 'The app id (app_...) or its slug',
12
+ required: true,
13
+ ignoreStdin: true,
14
+ }),
15
+ };
16
+ static flags = {
17
+ json: core_1.Flags.boolean({ description: 'Output { versions } as JSON' }),
18
+ };
19
+ async run() {
20
+ this.requireAuth();
21
+ const { args, flags } = await this.parse(AppsVersions);
22
+ const appId = await this.appId(args.app);
23
+ try {
24
+ const result = await data_provider_1.dataService.listAppVersions({ appId });
25
+ if (flags.json) {
26
+ this.printJsonResult(result);
27
+ return;
28
+ }
29
+ if (result.versions.length === 0)
30
+ this.log('No versions yet. Cut one with `apps version create`.');
31
+ for (const version of result.versions) {
32
+ this.log(`v${version.version} ${version.id} ${version.bundleHash.slice(0, 12)} ${version.distribution.visibility}/${version.distribution.status} ${version.createdAt}`);
33
+ }
34
+ }
35
+ catch (error) {
36
+ this.failApps(error);
37
+ }
38
+ }
39
+ }
40
+ exports.default = AppsVersions;
@@ -0,0 +1,12 @@
1
+ import { AppsCommand } from '../../../lib/apps-command';
2
+ export default class AppsWebhooksList extends AppsCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ installation: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const data_provider_1 = require("@skrr-ai/data-provider");
5
+ const apps_command_1 = require("../../../lib/apps-command");
6
+ const appWebhooks_1 = require("../../../lib/appWebhooks");
7
+ const list_output_1 = require("../../../lib/list-output");
8
+ class AppsWebhooksList extends apps_command_1.AppsCommand {
9
+ static description = 'List the inbound webhooks of one installation: each hook the running version declares, the collection its events land in, and whether an endpoint exists, its state and when it changed. Never a token or a signing secret: those are shown once, by the person who makes them on the web screen.';
10
+ static examples = [
11
+ '<%= config.bin %> apps webhooks list appi_abc',
12
+ '<%= config.bin %> apps webhooks list appi_abc --json',
13
+ ];
14
+ static args = {
15
+ installation: core_1.Args.string({
16
+ description: 'The installation id (appi_...)',
17
+ required: true,
18
+ ignoreStdin: true,
19
+ }),
20
+ };
21
+ static flags = {
22
+ json: core_1.Flags.boolean({ description: 'Output { webhooks: [...] } as JSON' }),
23
+ };
24
+ async run() {
25
+ this.requireAuth();
26
+ const { args, flags } = await this.parse(AppsWebhooksList);
27
+ try {
28
+ const raw = await data_provider_1.dataService.listAppInstallationWebhooks(args.installation);
29
+ if (flags.json) {
30
+ this.printJsonResult((0, list_output_1.listResult)(raw, 'webhooks'));
31
+ return;
32
+ }
33
+ const list = (0, appWebhooks_1.readWebhookList)(raw);
34
+ if (!list) {
35
+ this.log('This list is not in a form this version of the CLI understands, so it cannot say which webhooks exist. Update the CLI (`skrr update`) and try again.');
36
+ return;
37
+ }
38
+ for (const line of (0, appWebhooks_1.formatWebhookList)(list)) {
39
+ this.log(line);
40
+ }
41
+ }
42
+ catch (error) {
43
+ this.failInstallation(error);
44
+ }
45
+ }
46
+ }
47
+ exports.default = AppsWebhooksList;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const list_output_1 = require("../../lib/list-output");
3
4
  const core_1 = require("@oclif/core");
4
5
  const base_command_1 = require("../../base-command");
5
6
  const format_1 = require("../../lib/format");
@@ -28,7 +29,7 @@ class CharactersList extends base_command_1.BaseCommand {
28
29
  this.handleApiError(err);
29
30
  }
30
31
  if (flags.json) {
31
- this.log(JSON.stringify(flags.details ? { characters } : (0, characters_1.curateCharacterList)(characters), null, 2));
32
+ this.printJsonResult((0, list_output_1.listResult)(flags.details ? { characters } : (0, characters_1.curateCharacterList)(characters), 'characters'));
32
33
  return;
33
34
  }
34
35
  if (!characters || characters.length === 0) {