@skrr-ai/cli 0.1.110 → 0.1.111

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 (391) 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/duplicate.js +4 -0
  12. package/dist/commands/agents/eval/list.js +2 -1
  13. package/dist/commands/agents/files/list.js +2 -1
  14. package/dist/commands/agents/folders/list.js +2 -1
  15. package/dist/commands/agents/goals/list.js +2 -1
  16. package/dist/commands/agents/intuitions/list.js +8 -5
  17. package/dist/commands/agents/list.d.ts +12 -0
  18. package/dist/commands/agents/list.js +45 -8
  19. package/dist/commands/agents/releases/known-issues/list.js +2 -1
  20. package/dist/commands/agents/releases/list.js +5 -1
  21. package/dist/commands/agents/releases/trusted-publishers/list.js +2 -1
  22. package/dist/commands/agents/roles/list.js +2 -1
  23. package/dist/commands/agents/skills/list.js +2 -1
  24. package/dist/commands/agents/todos/list.js +2 -1
  25. package/dist/commands/agents/triggers/list.js +2 -1
  26. package/dist/commands/api-keys/list.js +2 -1
  27. package/dist/commands/apps/channel.d.ts +20 -0
  28. package/dist/commands/apps/channel.js +64 -0
  29. package/dist/commands/apps/check-draft.d.ts +12 -0
  30. package/dist/commands/apps/check-draft.js +41 -0
  31. package/dist/commands/apps/check.d.ts +42 -0
  32. package/dist/commands/apps/check.js +91 -0
  33. package/dist/commands/apps/create.d.ts +15 -0
  34. package/dist/commands/apps/create.js +59 -0
  35. package/dist/commands/apps/data/put.d.ts +18 -0
  36. package/dist/commands/apps/data/put.js +72 -0
  37. package/dist/commands/apps/data/query.d.ts +20 -0
  38. package/dist/commands/apps/data/query.js +88 -0
  39. package/dist/commands/apps/disclosure.d.ts +16 -0
  40. package/dist/commands/apps/disclosure.js +71 -0
  41. package/dist/commands/apps/file/cat.d.ts +15 -0
  42. package/dist/commands/apps/file/cat.js +50 -0
  43. package/dist/commands/apps/file/ls.d.ts +13 -0
  44. package/dist/commands/apps/file/ls.js +47 -0
  45. package/dist/commands/apps/file/mv.d.ts +15 -0
  46. package/dist/commands/apps/file/mv.js +49 -0
  47. package/dist/commands/apps/file/rm.d.ts +15 -0
  48. package/dist/commands/apps/file/rm.js +53 -0
  49. package/dist/commands/apps/file/write.d.ts +17 -0
  50. package/dist/commands/apps/file/write.js +81 -0
  51. package/dist/commands/apps/install.d.ts +19 -0
  52. package/dist/commands/apps/install.js +136 -0
  53. package/dist/commands/apps/installations/list.d.ts +11 -0
  54. package/dist/commands/apps/installations/list.js +49 -0
  55. package/dist/commands/apps/installations/show.d.ts +12 -0
  56. package/dist/commands/apps/installations/show.js +61 -0
  57. package/dist/commands/apps/layout/set.d.ts +11 -0
  58. package/dist/commands/apps/layout/set.js +125 -0
  59. package/dist/commands/apps/layout/show.d.ts +9 -0
  60. package/dist/commands/apps/layout/show.js +33 -0
  61. package/dist/commands/apps/list.d.ts +10 -0
  62. package/dist/commands/apps/list.js +45 -0
  63. package/dist/commands/apps/logs.d.ts +13 -0
  64. package/dist/commands/apps/logs.js +55 -0
  65. package/dist/commands/apps/preview.d.ts +12 -0
  66. package/dist/commands/apps/preview.js +39 -0
  67. package/dist/commands/apps/publish/propose.d.ts +14 -0
  68. package/dist/commands/apps/publish/propose.js +45 -0
  69. package/dist/commands/apps/pull.d.ts +14 -0
  70. package/dist/commands/apps/pull.js +56 -0
  71. package/dist/commands/apps/push.d.ts +15 -0
  72. package/dist/commands/apps/push.js +75 -0
  73. package/dist/commands/apps/reconsent.d.ts +13 -0
  74. package/dist/commands/apps/reconsent.js +67 -0
  75. package/dist/commands/apps/report.d.ts +20 -0
  76. package/dist/commands/apps/report.js +63 -0
  77. package/dist/commands/apps/resume.d.ts +12 -0
  78. package/dist/commands/apps/resume.js +36 -0
  79. package/dist/commands/apps/settings/set.d.ts +13 -0
  80. package/dist/commands/apps/settings/set.js +54 -0
  81. package/dist/commands/apps/settings/show.d.ts +11 -0
  82. package/dist/commands/apps/settings/show.js +31 -0
  83. package/dist/commands/apps/show.d.ts +12 -0
  84. package/dist/commands/apps/show.js +49 -0
  85. package/dist/commands/apps/suspend.d.ts +12 -0
  86. package/dist/commands/apps/suspend.js +35 -0
  87. package/dist/commands/apps/uninstall.d.ts +13 -0
  88. package/dist/commands/apps/uninstall.js +43 -0
  89. package/dist/commands/apps/upgrade.d.ts +14 -0
  90. package/dist/commands/apps/upgrade.js +49 -0
  91. package/dist/commands/apps/version/create.d.ts +14 -0
  92. package/dist/commands/apps/version/create.js +53 -0
  93. package/dist/commands/apps/version/show.d.ts +12 -0
  94. package/dist/commands/apps/version/show.js +39 -0
  95. package/dist/commands/apps/versions.d.ts +12 -0
  96. package/dist/commands/apps/versions.js +40 -0
  97. package/dist/commands/apps/webhooks/list.d.ts +12 -0
  98. package/dist/commands/apps/webhooks/list.js +47 -0
  99. package/dist/commands/characters/list.js +2 -1
  100. package/dist/commands/chats/files/list.js +2 -1
  101. package/dist/commands/chats/folders/list.js +2 -1
  102. package/dist/commands/chats/list.js +2 -1
  103. package/dist/commands/chats/spaces/list.js +2 -1
  104. package/dist/commands/chats/widgets/list.js +2 -1
  105. package/dist/commands/code/jobs/list.js +4 -1
  106. package/dist/commands/commerce/incidents/list.js +2 -1
  107. package/dist/commands/commitments/accounting.js +3 -0
  108. package/dist/commands/commitments/action-proposals.d.ts +8 -0
  109. package/dist/commands/commitments/action-proposals.js +17 -2
  110. package/dist/commands/commitments/cost.d.ts +11 -0
  111. package/dist/commands/commitments/cost.js +25 -0
  112. package/dist/commands/commitments/create.js +6 -1
  113. package/dist/commands/commitments/endpoints/list.js +2 -1
  114. package/dist/commands/commitments/links/list.js +2 -1
  115. package/dist/commands/commitments/list.js +2 -1
  116. package/dist/commands/commitments/liveness.d.ts +30 -0
  117. package/dist/commands/commitments/liveness.js +22 -5
  118. package/dist/commands/commitments/pack/list.js +2 -1
  119. package/dist/commands/commitments/preflight.js +6 -2
  120. package/dist/commands/commitments/update.js +10 -1
  121. package/dist/commands/compass/list.js +2 -1
  122. package/dist/commands/context.js +7 -1
  123. package/dist/commands/convos/list.js +3 -2
  124. package/dist/commands/dm/list.js +2 -1
  125. package/dist/commands/dm/work.d.ts +19 -0
  126. package/dist/commands/dm/work.js +54 -0
  127. package/dist/commands/feeds/list.js +2 -1
  128. package/dist/commands/followups/list.js +2 -1
  129. package/dist/commands/followups/plans/cancel.d.ts +13 -0
  130. package/dist/commands/followups/plans/cancel.js +26 -0
  131. package/dist/commands/followups/plans/create.d.ts +11 -0
  132. package/dist/commands/followups/plans/create.js +35 -0
  133. package/dist/commands/followups/plans/list.d.ts +13 -0
  134. package/dist/commands/followups/plans/list.js +50 -0
  135. package/dist/commands/followups/plans/observability.d.ts +11 -0
  136. package/dist/commands/followups/plans/observability.js +46 -0
  137. package/dist/commands/followups/plans/revise.d.ts +13 -0
  138. package/dist/commands/followups/plans/revise.js +35 -0
  139. package/dist/commands/followups/plans/show.d.ts +11 -0
  140. package/dist/commands/followups/plans/show.js +32 -0
  141. package/dist/commands/goals/key-results/list.js +2 -1
  142. package/dist/commands/goals/labels/list.js +3 -2
  143. package/dist/commands/goals/list.js +3 -2
  144. package/dist/commands/grants/list.js +2 -1
  145. package/dist/commands/harnesses/grants/list.js +2 -1
  146. package/dist/commands/harnesses/leases/list.js +2 -1
  147. package/dist/commands/harnesses/list.js +10 -1
  148. package/dist/commands/ingress/list.js +2 -1
  149. package/dist/commands/initiatives/list.js +2 -1
  150. package/dist/commands/instruction-blocks/list.js +2 -1
  151. package/dist/commands/instructions/list.js +2 -1
  152. package/dist/commands/integrations/connections/list.js +2 -1
  153. package/dist/commands/integrations/tools/list.js +2 -1
  154. package/dist/commands/labels/list.js +3 -2
  155. package/dist/commands/learning/adapters.d.ts +16 -0
  156. package/dist/commands/learning/adapters.js +44 -0
  157. package/dist/commands/machines/dedicated/list.js +2 -1
  158. package/dist/commands/machines/hosted/list.js +2 -1
  159. package/dist/commands/machines/list.js +2 -1
  160. package/dist/commands/machines/show.js +5 -2
  161. package/dist/commands/measures/list.js +2 -1
  162. package/dist/commands/memory/list.js +2 -1
  163. package/dist/commands/memory/proposals/list.js +2 -1
  164. package/dist/commands/memory/stores/list.js +2 -1
  165. package/dist/commands/memory/topics/list.js +2 -1
  166. package/dist/commands/memory/versions/list.js +2 -1
  167. package/dist/commands/messages/list.js +2 -1
  168. package/dist/commands/northstars/intents/list.js +2 -1
  169. package/dist/commands/northstars/list.js +2 -1
  170. package/dist/commands/northstars/recommendations/list.js +2 -1
  171. package/dist/commands/outbox/list.js +2 -1
  172. package/dist/commands/profiles/list.js +2 -1
  173. package/dist/commands/projects/docs/list.js +8 -1
  174. package/dist/commands/projects/updates/list.js +2 -1
  175. package/dist/commands/proposals/list.js +2 -1
  176. package/dist/commands/requests/comments/list.js +2 -1
  177. package/dist/commands/requests/list.js +2 -1
  178. package/dist/commands/shares/list.js +2 -1
  179. package/dist/commands/shortcuts/list.js +2 -1
  180. package/dist/commands/signals/monitors/list.js +2 -1
  181. package/dist/commands/signals/schemas/list.js +2 -1
  182. package/dist/commands/signals/sources/list.js +2 -1
  183. package/dist/commands/space-directory-views/list.js +2 -1
  184. package/dist/commands/spaces/actions/list.js +4 -3
  185. package/dist/commands/spaces/briefs/list.js +2 -1
  186. package/dist/commands/spaces/cycles/list.js +2 -1
  187. package/dist/commands/spaces/files/folders/list.js +2 -1
  188. package/dist/commands/spaces/files/list.js +3 -2
  189. package/dist/commands/spaces/heartbeats/list.js +3 -2
  190. package/dist/commands/spaces/labels/list.js +3 -2
  191. package/dist/commands/spaces/list.d.ts +3 -18
  192. package/dist/commands/spaces/list.js +28 -35
  193. package/dist/commands/spaces/live/cards/list.js +2 -1
  194. package/dist/commands/spaces/members/list.d.ts +1 -0
  195. package/dist/commands/spaces/members/list.js +4 -1
  196. package/dist/commands/spaces/show.js +2 -2
  197. package/dist/commands/spaces/skills/list.js +6 -2
  198. package/dist/commands/spaces/states/list.js +2 -1
  199. package/dist/commands/spaces/views/list.js +2 -1
  200. package/dist/commands/spaces/widgets/list.js +3 -2
  201. package/dist/commands/spaces/workflow-templates/list.js +2 -1
  202. package/dist/commands/spaces/workflows/fixtures/list.js +2 -1
  203. package/dist/commands/spaces/workflows/list.js +3 -2
  204. package/dist/commands/spaces/workflows/proposals/list.js +2 -1
  205. package/dist/commands/spaces/workflows/triggers/list.js +2 -1
  206. package/dist/commands/store/acquisitions/list.js +2 -1
  207. package/dist/commands/store/admissions/list.js +17 -1
  208. package/dist/commands/store/advisories/list.js +2 -1
  209. package/dist/commands/store/follows/list.js +2 -1
  210. package/dist/commands/store/publishers/domains/list.js +2 -1
  211. package/dist/commands/store/reports/list.js +2 -1
  212. package/dist/commands/subscriptions/list.js +2 -1
  213. package/dist/commands/tasks/actionability.js +7 -30
  214. package/dist/commands/tasks/activity.js +3 -7
  215. package/dist/commands/tasks/approvals/list.js +2 -1
  216. package/dist/commands/tasks/assign.d.ts +1 -0
  217. package/dist/commands/tasks/assign.js +43 -7
  218. package/dist/commands/tasks/attachments/list.js +2 -1
  219. package/dist/commands/tasks/chat/send.js +34 -0
  220. package/dist/commands/tasks/comments/add.js +6 -1
  221. package/dist/commands/tasks/comments/list.js +2 -1
  222. package/dist/commands/tasks/complete.js +26 -2
  223. package/dist/commands/tasks/continue.d.ts +18 -0
  224. package/dist/commands/tasks/continue.js +54 -0
  225. package/dist/commands/tasks/create-tree.d.ts +5 -0
  226. package/dist/commands/tasks/create-tree.js +399 -219
  227. package/dist/commands/tasks/create.d.ts +1 -0
  228. package/dist/commands/tasks/create.js +63 -11
  229. package/dist/commands/tasks/deliverable/add.js +10 -3
  230. package/dist/commands/tasks/deliverable/list.js +2 -1
  231. package/dist/commands/tasks/events/list.js +2 -1
  232. package/dist/commands/tasks/execution-state.d.ts +12 -0
  233. package/dist/commands/tasks/execution-state.js +28 -0
  234. package/dist/commands/tasks/expectations/assess.js +40 -5
  235. package/dist/commands/tasks/guide.d.ts +10 -0
  236. package/dist/commands/tasks/guide.js +20 -0
  237. package/dist/commands/tasks/labels/list.js +2 -1
  238. package/dist/commands/tasks/list.d.ts +19 -0
  239. package/dist/commands/tasks/list.js +97 -4
  240. package/dist/commands/tasks/move.js +10 -2
  241. package/dist/commands/tasks/preflight.d.ts +14 -0
  242. package/dist/commands/tasks/preflight.js +77 -0
  243. package/dist/commands/tasks/resource/list.js +2 -1
  244. package/dist/commands/tasks/result/submit.js +10 -1
  245. package/dist/commands/tasks/review.js +6 -1
  246. package/dist/commands/tasks/revisions.d.ts +2 -0
  247. package/dist/commands/tasks/revisions.js +8 -1
  248. package/dist/commands/tasks/show.js +17 -11
  249. package/dist/commands/tasks/start.d.ts +1 -0
  250. package/dist/commands/tasks/start.js +35 -0
  251. package/dist/commands/tasks/templates/list.js +2 -1
  252. package/dist/commands/tasks/timeline.d.ts +5 -0
  253. package/dist/commands/tasks/timeline.js +9 -1
  254. package/dist/commands/tasks/update.d.ts +1 -0
  255. package/dist/commands/tasks/update.js +25 -2
  256. package/dist/commands/tasks/updates/add.js +6 -1
  257. package/dist/commands/tasks/updates/list.js +2 -1
  258. package/dist/commands/tasks/upsert.d.ts +1 -0
  259. package/dist/commands/tasks/upsert.js +8 -1
  260. package/dist/commands/token/list.js +2 -1
  261. package/dist/commands/tokens/list.js +2 -1
  262. package/dist/commands/tones/list.js +4 -2
  263. package/dist/commands/triggers/list.js +2 -1
  264. package/dist/commands/views/list.js +2 -1
  265. package/dist/commands/webhooks/list.js +2 -1
  266. package/dist/commands/whoami.js +1 -1
  267. package/dist/commands/widgets/list.js +2 -1
  268. package/dist/commands/widgets/save-as-app.d.ts +13 -0
  269. package/dist/commands/widgets/save-as-app.js +65 -0
  270. package/dist/commands/work-views/list.js +2 -1
  271. package/dist/commands/worklog/list.js +2 -1
  272. package/dist/commands/workspaces/list.js +3 -2
  273. package/dist/commands/workspaces/members.d.ts +1 -0
  274. package/dist/commands/workspaces/members.js +5 -2
  275. package/dist/generated/managed-instruction-guides.json +2 -2
  276. package/dist/help.js +7 -0
  277. package/dist/lib/agent-proactive-baseline.d.ts +9 -0
  278. package/dist/lib/agent-proactive-baseline.js +44 -0
  279. package/dist/lib/agentic-stream.d.ts +4 -1
  280. package/dist/lib/agentic-stream.js +29 -4
  281. package/dist/lib/appData.d.ts +75 -0
  282. package/dist/lib/appData.js +274 -0
  283. package/dist/lib/appInstallations.d.ts +117 -0
  284. package/dist/lib/appInstallations.js +960 -0
  285. package/dist/lib/appSettings.d.ts +3 -0
  286. package/dist/lib/appSettings.js +71 -0
  287. package/dist/lib/appWebhooks.d.ts +7 -0
  288. package/dist/lib/appWebhooks.js +59 -0
  289. package/dist/lib/apps-command.d.ts +44 -0
  290. package/dist/lib/apps-command.js +164 -0
  291. package/dist/lib/apps.d.ts +45 -0
  292. package/dist/lib/apps.js +148 -0
  293. package/dist/lib/appsCheck.d.ts +12 -0
  294. package/dist/lib/appsCheck.js +173 -0
  295. package/dist/lib/appsFs.d.ts +58 -0
  296. package/dist/lib/appsFs.js +384 -0
  297. package/dist/lib/auth-failure.d.ts +20 -0
  298. package/dist/lib/auth-failure.js +40 -3
  299. package/dist/lib/cli-installers.d.ts +9 -2
  300. package/dist/lib/command-miss.js +107 -0
  301. package/dist/lib/commitment-loop-status.js +25 -3
  302. package/dist/lib/commitments.d.ts +44 -3
  303. package/dist/lib/commitments.js +107 -9
  304. package/dist/lib/compasses.d.ts +4 -0
  305. package/dist/lib/compasses.js +11 -0
  306. package/dist/lib/daemon-setup.js +7 -7
  307. package/dist/lib/daemonHandoff.js +3 -2
  308. package/dist/lib/dedicated-ssh.d.ts +2 -0
  309. package/dist/lib/dedicated-ssh.js +98 -28
  310. package/dist/lib/json-output.d.ts +33 -0
  311. package/dist/lib/json-output.js +37 -0
  312. package/dist/lib/list-output.d.ts +9 -4
  313. package/dist/lib/list-output.js +36 -9
  314. package/dist/lib/lookbackPlans.d.ts +13 -0
  315. package/dist/lib/lookbackPlans.js +68 -0
  316. package/dist/lib/machines.d.ts +27 -6
  317. package/dist/lib/machines.js +25 -14
  318. package/dist/lib/member-output.d.ts +20 -0
  319. package/dist/lib/member-output.js +57 -0
  320. package/dist/lib/preflight-copy.d.ts +7 -0
  321. package/dist/lib/preflight-copy.js +31 -0
  322. package/dist/lib/roles.d.ts +2 -2
  323. package/dist/lib/task-admission.d.ts +9 -0
  324. package/dist/lib/task-admission.js +35 -0
  325. package/dist/lib/task-batch.d.ts +4 -0
  326. package/dist/lib/task-batch.js +2 -0
  327. package/dist/lib/task-operations.d.ts +25 -0
  328. package/dist/lib/task-operations.js +123 -0
  329. package/dist/lib/task-preflight.d.ts +35 -0
  330. package/dist/lib/task-preflight.js +121 -0
  331. package/dist/lib/task-resource-references.d.ts +23 -0
  332. package/dist/lib/task-resource-references.js +119 -0
  333. package/dist/lib/task-spec-verification.d.ts +42 -0
  334. package/dist/lib/task-spec-verification.js +101 -0
  335. package/dist/lib/task-work.d.ts +11 -0
  336. package/dist/lib/task-work.js +41 -0
  337. package/dist/lib/task-write-attribution.d.ts +26 -0
  338. package/dist/lib/task-write-attribution.js +47 -0
  339. package/dist/lib/tasks.d.ts +13 -0
  340. package/dist/lib/tasks.js +61 -8
  341. package/dist/lib/triggers.d.ts +7 -0
  342. package/dist/lib/triggers.js +54 -4
  343. package/dist/lib/usage-discovery.d.ts +4 -0
  344. package/dist/lib/usage-discovery.js +14 -4
  345. package/dist/lib/widgetApps.d.ts +10 -0
  346. package/dist/lib/widgetApps.js +47 -0
  347. package/dist/lib/widgetStaticScan.js +25 -1
  348. package/dist/lib/workspaces.d.ts +11 -4
  349. package/dist/lib/workspaces.js +7 -3
  350. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/computerWire.d.ts +14 -1
  351. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/computerWire.js +47 -2
  352. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonToolApproval.d.ts +49 -1
  353. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonToolApproval.js +26 -0
  354. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonWire.d.ts +118 -0
  355. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonWire.js +614 -0
  356. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refresh.d.ts +2 -0
  357. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refresh.js +15 -2
  358. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refreshClassification.d.ts +5 -0
  359. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refreshClassification.js +3 -1
  360. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/sessionRevocation.d.ts +177 -0
  361. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/sessionRevocation.js +484 -0
  362. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/telemetryRedaction.d.ts +11 -0
  363. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/telemetryRedaction.js +46 -7
  364. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/toolApprovalSignature.d.ts +232 -0
  365. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/toolApprovalSignature.js +372 -0
  366. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/types.d.ts +17 -1
  367. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/types.js +12 -1
  368. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/computerWire.d.ts +14 -1
  369. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/computerWire.js +45 -2
  370. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonToolApproval.d.ts +49 -1
  371. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonToolApproval.js +24 -0
  372. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonWire.d.ts +118 -0
  373. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonWire.js +608 -0
  374. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refresh.d.ts +2 -0
  375. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refresh.js +15 -2
  376. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refreshClassification.d.ts +5 -0
  377. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refreshClassification.js +3 -1
  378. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/sessionRevocation.d.ts +177 -0
  379. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/sessionRevocation.js +472 -0
  380. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/telemetryRedaction.d.ts +11 -0
  381. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/telemetryRedaction.js +44 -6
  382. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/toolApprovalSignature.d.ts +232 -0
  383. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/toolApprovalSignature.js +360 -0
  384. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/types.d.ts +17 -1
  385. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/types.js +12 -1
  386. package/dist/node_modules/@skrr-ai/auth-core/package.json +30 -0
  387. package/dist/node_modules/@skrr-ai/data-provider/index.js +25239 -18730
  388. package/docs/v1/operations.md +52 -0
  389. package/docs/v1/space-search.md +19 -0
  390. package/oclif.manifest.json +4719 -479
  391. package/package.json +23 -2
@@ -8,27 +8,15 @@ const base_command_1 = require("../../base-command");
8
8
  const web_url_1 = require("../../lib/web-url");
9
9
  const format_1 = require("../../lib/format");
10
10
  const list_output_1 = require("../../lib/list-output");
11
- /**
12
- * What an empty `--q` result is allowed to claim.
13
- *
14
- * `No spaces matching "space scratch".` is a confident assertion that nothing
15
- * matched, and for the sense a person means it is FALSE: both words are in the
16
- * title of a space they own and created a minute earlier. The server ORs one
17
- * escaped regex built from the whole query across title/description/identifier,
18
- * so the query is a substring and word order is load-bearing — a fact the
19
- * message hid, leaving "it does not exist" as the only available reading.
20
- *
21
- * So the message reports what was actually run and hands back the two moves
22
- * that recover: shorten to one distinctive word, or list everything. It says
23
- * "matched" (what this query did) rather than "matching" (what exists).
24
- *
25
- * Pure and exported so the wording is testable without an oclif runtime — the
26
- * convention `describeResourceNotFound` follows in `base-command`.
27
- */
28
- function noSpacesMatchedMessage(q, bin = 'skrr') {
11
+ /** Empty search results describe the predicate, without asserting absence. */
12
+ function noSpacesMatchedMessage(q, bin = 'skrr', mode = 'fuzzy') {
13
+ const explanation = mode === 'exact'
14
+ ? 'Exact matches require whole-field equality (case-insensitive).'
15
+ : mode === 'phrase'
16
+ ? 'Phrase matches use a literal case-insensitive substring; word order matters.'
17
+ : 'Fuzzy discovery can use tokenized, typo-tolerant search or a substring fallback.';
29
18
  return (`No spaces matched ${JSON.stringify(q)}.\n` +
30
- ' → `--q` is a case-insensitive SUBSTRING match over title, description and identifier, ' +
31
- 'not a tokenized search, so word order matters.\n' +
19
+ ` → ${explanation} Fields: title, description and identifier.\n` +
32
20
  ` → retry with one distinctive word, or list them all with \`${bin} spaces list\`.`);
33
21
  }
34
22
  /**
@@ -54,7 +42,8 @@ class SpacesList extends base_command_1.BaseCommand {
54
42
  '<%= config.bin %> spaces list --status in_progress',
55
43
  '<%= config.bin %> spaces list --label <label-id>',
56
44
  '<%= config.bin %> spaces list --label <label-a> --label <label-b>',
57
- '<%= config.bin %> spaces list --q "always on"',
45
+ '<%= config.bin %> spaces list --q "always on" --match phrase',
46
+ '<%= config.bin %> spaces list --q "My workspace" --match exact --json',
58
47
  '<%= config.bin %> spaces list --include-archived --json',
59
48
  '<%= config.bin %> spaces list --compact --json',
60
49
  '<%= config.bin %> spaces list --fields id,identifier,title --ndjson',
@@ -75,18 +64,13 @@ class SpacesList extends base_command_1.BaseCommand {
75
64
  }),
76
65
  'include-archived': core_1.Flags.boolean({ description: 'Include archived spaces' }),
77
66
  q: core_1.Flags.string({
78
- // NOT "free-text search". The server ORs ONE escaped regex built from the
79
- // whole string across title/description/identifier
80
- // (`api/models/Space.js` → `listSpaces`), so `--q` is a `LIKE %q%`.
81
- // "Free-text search" made a promise the floor does not keep: it reads as
82
- // "type the words you remember, in any order", and `--q "space scratch"`
83
- // then answers "no spaces" for a space titled "… scratch space".
84
- //
85
- // A Meilisearch-backed deployment narrows through the index instead and
86
- // IS tokenized and typo-tolerant — but the CLI cannot tell which path ran,
87
- // so the help describes the guaranteed floor rather than the better case.
88
- description: 'Match title, description, or identifier (case-insensitive). Substring, not tokenized — ' +
89
- 'word order matters, so prefer one distinctive word.',
67
+ description: 'Search title, description, or identifier. Default fuzzy discovery may tokenize and tolerate typos; ' +
68
+ 'use --match phrase for a literal substring or --match exact for whole-field equality. Maximum 200 characters.',
69
+ }),
70
+ match: core_1.Flags.string({
71
+ description: 'Matching policy: fuzzy discovery, literal phrase substring, or exact whole-field equality (case-insensitive).',
72
+ options: ['fuzzy', 'phrase', 'exact'],
73
+ dependsOn: ['q'],
90
74
  }),
91
75
  limit: core_1.Flags.integer({ description: 'Max results', default: 50 }),
92
76
  cursor: core_1.Flags.string({ description: 'Pagination cursor from a previous page' }),
@@ -100,7 +84,7 @@ class SpacesList extends base_command_1.BaseCommand {
100
84
  response = await data_provider_1.dataService.listSpaces({
101
85
  ...(flags.status ? { status: flags.status } : {}),
102
86
  ...(flags.label?.length ? { labelIds: flags.label } : {}),
103
- ...(flags.q ? { q: flags.q } : {}),
87
+ ...(flags.q ? { q: flags.q, ...(flags.match ? { match: flags.match } : {}) } : {}),
104
88
  includeArchived: flags['include-archived'],
105
89
  limit: flags.limit,
106
90
  cursor: flags.cursor,
@@ -109,6 +93,9 @@ class SpacesList extends base_command_1.BaseCommand {
109
93
  catch (err) {
110
94
  this.handleApiError(err);
111
95
  }
96
+ if (flags.match && response?.search?.mode !== flags.match) {
97
+ this.error('The server did not confirm the requested matching policy. Upgrade the server before relying on this result.');
98
+ }
112
99
  if (flags.json || flags.ndjson) {
113
100
  this.printList((0, list_output_1.shapeListResponse)((0, web_url_1.withDataUrls)(this.cliConfig.baseURL, response, web_url_1.spaceUrlFrom), {
114
101
  resource: 'space',
@@ -120,9 +107,15 @@ class SpacesList extends base_command_1.BaseCommand {
120
107
  }
121
108
  const r = response;
122
109
  const items = r?.data ?? [];
110
+ if (r?.search) {
111
+ this.log(`Search: ${r.search.mode}; ${r.search.semantics}; backend=${r.search.backend}.`);
112
+ if (r.search.candidates_may_be_truncated) {
113
+ this.log('Fuzzy index candidates may be truncated. Use --match phrase or --match exact for reliable absence checks.');
114
+ }
115
+ }
123
116
  if (items.length === 0) {
124
117
  this.log(flags.q
125
- ? noSpacesMatchedMessage(flags.q, this.config.bin)
118
+ ? noSpacesMatchedMessage(flags.q, this.config.bin, r?.search?.mode ?? 'fuzzy')
126
119
  : noSpacesEmptyMessage(this.config.bin));
127
120
  return;
128
121
  }
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../../base-command");
@@ -23,7 +24,7 @@ class SpacesLiveCardsList extends base_command_1.BaseCommand {
23
24
  this.handleApiError(err);
24
25
  }
25
26
  if (flags.json)
26
- return void this.log(JSON.stringify((0, space_output_1.withSpaceResourceUrls)(this.cliConfig.baseURL, spaceRef, 'live', response, ['id']), null, 2));
27
+ return void this.printJsonResult((0, list_output_1.listResult)((0, space_output_1.withSpaceResourceUrls)(this.cliConfig.baseURL, spaceRef, 'live', response, ['id'])));
27
28
  (0, format_1.renderTable)(response.data.map((c) => ({
28
29
  id: c.id,
29
30
  title: c.title,
@@ -6,6 +6,7 @@ export default class SpacesMembersList extends BaseCommand {
6
6
  id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
7
  };
8
8
  static flags: {
9
+ 'include-images': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
10
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
11
  };
11
12
  run(): Promise<void>;
@@ -1,10 +1,12 @@
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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../base-command");
6
7
  const format_1 = require("../../../lib/format");
7
8
  const space_members_1 = require("../../../lib/space-members");
9
+ const member_output_1 = require("../../../lib/member-output");
8
10
  const space_output_1 = require("../../../lib/space-output");
9
11
  class SpacesMembersList extends base_command_1.BaseCommand {
10
12
  static description = 'List members of a space';
@@ -17,6 +19,7 @@ class SpacesMembersList extends base_command_1.BaseCommand {
17
19
  };
18
20
  static flags = {
19
21
  json: core_1.Flags.boolean({ description: 'Output as JSON' }),
22
+ ...member_output_1.memberImageFlags,
20
23
  };
21
24
  async run() {
22
25
  this.requireAuth();
@@ -32,7 +35,7 @@ class SpacesMembersList extends base_command_1.BaseCommand {
32
35
  this.handleApiError(err);
33
36
  }
34
37
  if (flags.json) {
35
- this.log(JSON.stringify((0, space_output_1.withSpacePerspectiveUrl)(this.cliConfig.baseURL, spaceRef, 'members', response), null, 2));
38
+ this.printJsonResult((0, list_output_1.listResult)((0, space_output_1.withSpacePerspectiveUrl)(this.cliConfig.baseURL, spaceRef, 'members', (0, member_output_1.projectSpaceMembership)(response, flags['include-images'])), 'principals'));
36
39
  return;
37
40
  }
38
41
  const principals = (response.principals ?? []);
@@ -53,7 +53,7 @@ class SpacesShow extends base_command_1.BaseCommand {
53
53
  }
54
54
  }
55
55
  if (flags.json) {
56
- this.log(JSON.stringify({
56
+ this.printJsonResult({
57
57
  ...s,
58
58
  url,
59
59
  ...(templateSource?.templateId
@@ -62,7 +62,7 @@ class SpacesShow extends base_command_1.BaseCommand {
62
62
  ...(templateCheckError ? { templateUpdateError: templateCheckError } : {}),
63
63
  }
64
64
  : {}),
65
- }, null, 2));
65
+ });
66
66
  return;
67
67
  }
68
68
  const ancestors = Array.isArray(s.ancestorSpaceIds) ? s.ancestorSpaceIds : [];
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../base-command");
@@ -29,10 +30,13 @@ class SpacesSkillsList extends base_command_1.BaseCommand {
29
30
  this.handleApiError(err);
30
31
  }
31
32
  if (flags.json) {
32
- this.log(JSON.stringify({
33
+ this.printJsonResult((0, list_output_1.listResult)({
33
34
  ...response,
35
+ data: response.skills ??
36
+ response.skillIds?.map((id) => ({ id })) ??
37
+ [],
34
38
  url: (0, space_output_1.spacePerspectiveUrl)(this.cliConfig.baseURL, spaceRef, 'skills'),
35
- }, null, 2));
39
+ }));
36
40
  return;
37
41
  }
38
42
  // SpaceSkillsResponse: { spaceId, skillIds, pinnedSkillIds, skills? }
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../base-command");
@@ -24,7 +25,7 @@ class SpacesStatesList extends base_command_1.BaseCommand {
24
25
  return;
25
26
  }
26
27
  if (flags.json) {
27
- this.log(JSON.stringify((0, web_url_1.withSpaceUrl)(this.cliConfig.baseURL, { id: spaceRef, ...result }), null, 2));
28
+ this.printJsonResult((0, list_output_1.listResult)((0, web_url_1.withSpaceUrl)(this.cliConfig.baseURL, { id: spaceRef, ...result })));
28
29
  return;
29
30
  }
30
31
  this.log(result.inherited ? `Inherited from Space ${result.sourceSpaceId}` : 'Local workflow states');
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../base-command");
@@ -23,7 +24,7 @@ class SpacesViewsList extends base_command_1.BaseCommand {
23
24
  this.handleApiError(err);
24
25
  }
25
26
  if (flags.json)
26
- return void this.log(JSON.stringify((0, space_output_1.withSpaceResourceUrls)(this.cliConfig.baseURL, spaceRef, 'tasks', response, ['id'], (id) => `${(0, space_output_1.spacePerspectiveUrl)(this.cliConfig.baseURL, spaceRef, 'tasks')}?view=${encodeURIComponent(id)}`), null, 2));
27
+ return void this.printJsonResult((0, list_output_1.listResult)((0, space_output_1.withSpaceResourceUrls)(this.cliConfig.baseURL, spaceRef, 'tasks', response, ['id'], (id) => `${(0, space_output_1.spacePerspectiveUrl)(this.cliConfig.baseURL, spaceRef, 'tasks')}?view=${encodeURIComponent(id)}`)));
27
28
  if (!response.data.length)
28
29
  return void this.log('No saved views.');
29
30
  (0, format_1.renderTable)(response.data.map((v) => ({
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../base-command");
@@ -29,11 +30,11 @@ class SpacesWidgetsList extends base_command_1.BaseCommand {
29
30
  this.handleApiError(err);
30
31
  }
31
32
  if (flags.json) {
32
- this.log(JSON.stringify((0, space_output_1.withSpaceResourceUrls)(this.cliConfig.baseURL, spaceRef, 'widgets', response, [
33
+ this.printJsonResult((0, list_output_1.listResult)((0, space_output_1.withSpaceResourceUrls)(this.cliConfig.baseURL, spaceRef, 'widgets', response, [
33
34
  'widgetId',
34
35
  'id',
35
36
  '_id',
36
- ]), null, 2));
37
+ ]), 'widgets'));
37
38
  return;
38
39
  }
39
40
  // Handle response defensively — could be { widgets, total } or an array
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../base-command");
@@ -52,7 +53,7 @@ class SpacesWorkflowTemplatesList extends base_command_1.BaseCommand {
52
53
  this.handleApiError(error, { subject: `space ${args.spaceId}` });
53
54
  }
54
55
  if (flags.json)
55
- return this.log(JSON.stringify(result, null, 2));
56
+ return this.printJsonResult((0, list_output_1.listResult)(result, 'templates'));
56
57
  if (!result.templates.length)
57
58
  return this.log('No workflow templates.');
58
59
  (0, format_1.renderTable)(result.templates.map(workflow_templates_1.toTemplateListRow), [
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../../base-command");
@@ -28,7 +29,7 @@ class SpacesWorkflowsFixturesList extends base_command_1.BaseCommand {
28
29
  return;
29
30
  }
30
31
  if (flags.json) {
31
- this.log(JSON.stringify((0, space_output_1.withSpacePerspectiveUrl)(this.cliConfig.baseURL, args.spaceId, 'workflows', result), null, 2));
32
+ this.printJsonResult((0, list_output_1.listResult)((0, space_output_1.withSpacePerspectiveUrl)(this.cliConfig.baseURL, args.spaceId, 'workflows', result), 'fixtures'));
32
33
  return;
33
34
  }
34
35
  if (!result.fixtures.length) {
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../base-command");
@@ -22,7 +23,7 @@ class SpacesWorkflowsList extends base_command_1.BaseCommand {
22
23
  return;
23
24
  }
24
25
  if (flags.json)
25
- return this.log(JSON.stringify({
26
+ return this.printJsonResult((0, list_output_1.listResult)({
26
27
  ...result,
27
28
  workflows: result.workflows.map((workflow) => ({
28
29
  ...workflow,
@@ -30,7 +31,7 @@ class SpacesWorkflowsList extends base_command_1.BaseCommand {
30
31
  workflowId: workflow.id,
31
32
  }).url,
32
33
  })),
33
- }, null, 2));
34
+ }, 'workflows'));
34
35
  if (!result.workflows.length)
35
36
  return this.log('No workflows.');
36
37
  (0, format_1.renderTable)(result.workflows.map((workflow) => ({
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../../base-command");
@@ -18,7 +19,7 @@ class SpacesWorkflowsProposalsList extends base_command_1.BaseCommand {
18
19
  try {
19
20
  const result = await data_provider_1.dataService.listSpaceWorkflowProposals(args.spaceId, args.workflowId);
20
21
  if (flags.json)
21
- return this.log(JSON.stringify(result, null, 2));
22
+ return this.printJsonResult((0, list_output_1.listResult)(result, 'proposals'));
22
23
  if (!result.proposals.length)
23
24
  return this.log('No workflow proposals.');
24
25
  (0, format_1.renderTable)(result.proposals.map((proposal) => ({
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../../base-command");
@@ -25,7 +26,7 @@ class SpacesWorkflowsTriggersList extends base_command_1.BaseCommand {
25
26
  return;
26
27
  }
27
28
  if (flags.json) {
28
- this.log(JSON.stringify((0, space_output_1.withSpacePerspectiveUrl)(this.cliConfig.baseURL, args.spaceId, 'workflows', result), null, 2));
29
+ this.printJsonResult((0, list_output_1.listResult)((0, space_output_1.withSpacePerspectiveUrl)(this.cliConfig.baseURL, args.spaceId, 'workflows', result), 'triggers'));
29
30
  return;
30
31
  }
31
32
  if (!result.triggers.length) {
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../base-command");
@@ -41,7 +42,7 @@ class StoreAcquisitionsList extends base_command_1.BaseCommand {
41
42
  }
42
43
  const requests = result?.requests ?? [];
43
44
  if (flags.json) {
44
- this.log(JSON.stringify(requests, null, 2));
45
+ this.printJsonResult((0, list_output_1.listResult)(result, 'requests'));
45
46
  return;
46
47
  }
47
48
  if (requests.length === 0) {
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../base-command");
@@ -43,7 +44,22 @@ class StoreAdmissionsList extends base_command_1.BaseCommand {
43
44
  after = page.artifactNextCursor;
44
45
  }
45
46
  if (flags.json) {
46
- this.log(JSON.stringify({ ...result, artifacts, artifactNextCursor: null }, null, 2));
47
+ this.printJsonResult((0, list_output_1.listResult)({
48
+ ...result,
49
+ artifacts,
50
+ artifactNextCursor: null,
51
+ data: [
52
+ ...(result.releases || []).map((release) => ({
53
+ ...release,
54
+ admissionKind: 'agent_release',
55
+ })),
56
+ ...(result.listings || []).map((listing) => ({
57
+ ...listing,
58
+ admissionKind: 'listing',
59
+ })),
60
+ ...artifacts.map((artifact) => ({ ...artifact, admissionKind: 'artifact_release' })),
61
+ ],
62
+ }));
47
63
  return;
48
64
  }
49
65
  const rows = [
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../base-command");
@@ -34,7 +35,7 @@ class StoreAdvisoriesList extends base_command_1.BaseCommand {
34
35
  return;
35
36
  }
36
37
  if (flags.json) {
37
- this.log(JSON.stringify(result, null, 2));
38
+ this.printJsonResult((0, list_output_1.listResult)(result, 'advisories'));
38
39
  return;
39
40
  }
40
41
  if (!result.advisories.length) {
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../base-command");
@@ -19,7 +20,7 @@ class StoreFollowsList extends base_command_1.BaseCommand {
19
20
  const { flags } = await this.parse(StoreFollowsList);
20
21
  try {
21
22
  const result = await data_provider_1.dataService.getStorePublisherFollows(flags.cursor);
22
- this.log(JSON.stringify(result, null, 2));
23
+ this.printJsonResult((0, list_output_1.listResult)(result, 'items'));
23
24
  }
24
25
  catch (err) {
25
26
  this.handleApiError(err);
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../../base-command");
@@ -13,7 +14,7 @@ class StorePublisherDomainsList extends base_command_1.BaseCommand {
13
14
  this.requireAuth();
14
15
  const { flags } = await this.parse(StorePublisherDomainsList);
15
16
  const result = await data_provider_1.dataService.getStorePublisherDomains(flags.workspaceId);
16
- this.log(JSON.stringify(result, null, 2));
17
+ this.printJsonResult((0, list_output_1.listResult)(result, 'domains'));
17
18
  }
18
19
  }
19
20
  exports.default = StorePublisherDomainsList;
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../../base-command");
@@ -38,7 +39,7 @@ class StoreReportsList extends base_command_1.BaseCommand {
38
39
  return;
39
40
  }
40
41
  if (flags.json) {
41
- this.log(JSON.stringify(queue, null, 2));
42
+ this.printJsonResult((0, list_output_1.listResult)(queue, 'reports'));
42
43
  return;
43
44
  }
44
45
  const reports = queue?.reports ?? [];
@@ -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 data_provider_1 = require("@skrr-ai/data-provider");
5
6
  const base_command_1 = require("../../base-command");
@@ -24,7 +25,7 @@ class SubscriptionsList extends base_command_1.BaseCommand {
24
25
  this.handleApiError(err);
25
26
  }
26
27
  if (flags.json) {
27
- this.log(JSON.stringify(response, null, 2));
28
+ this.printJsonResult((0, list_output_1.listResult)(response));
28
29
  return;
29
30
  }
30
31
  const items = response?.data ?? [];
@@ -4,6 +4,7 @@ const core_1 = require("@oclif/core");
4
4
  const data_provider_1 = require("@skrr-ai/data-provider");
5
5
  const base_command_1 = require("../../base-command");
6
6
  const task_resolver_1 = require("../../lib/task-resolver");
7
+ const task_operations_1 = require("../../lib/task-operations");
7
8
  class TasksActionability extends base_command_1.BaseCommand {
8
9
  static description = 'Show the canonical next actor and why this task can or cannot move';
9
10
  static args = {
@@ -62,41 +63,17 @@ class TasksActionability extends base_command_1.BaseCommand {
62
63
  // That gap is what OSK-3815 fixed for one of them by adding `tasks
63
64
  // retry`; naming the verb beside each is the rest of it.
64
65
  //
65
- // Unmapped actions print bare on purpose. Inventing a plausible verb for
66
- // an action whose resolution is genuinely a review conversation is worse
67
- // than saying nothing — the reader would chase a command that does not
68
- // do what the name suggests.
66
+ // Unmapped actions remain native action names. The shared display helper
67
+ // also carries exact dependency, input-request, and approval coordinates.
69
68
  const width = Math.max(...a.allowedActions.map((action) => action.action.length));
70
69
  this.log('Actions:');
71
- for (const { action } of a.allowedActions) {
72
- const verb = ACTION_VERBS[action];
70
+ for (const { action, targetId } of a.allowedActions) {
71
+ const verb = (0, task_operations_1.taskActionCommand)(action, response.taskId, targetId, this.config.bin, {
72
+ allowedActions: a.allowedActions,
73
+ });
73
74
  this.log(` ${action.padEnd(width)}${verb ? ` → ${verb}` : ''}`);
74
75
  }
75
76
  }
76
77
  }
77
78
  }
78
79
  exports.default = TasksActionability;
79
- /**
80
- * Server action name → the `skrr` command that performs it.
81
- *
82
- * Only mappings verified against the command surface are listed. Four actions
83
- * are deliberately absent: `request_changes` and `inspect_workflow` resolve
84
- * through a review conversation rather than one verb, and `inspect_dependency`
85
- * / `inspect_workflow` are readings rather than actions — the blocker they
86
- * point at is already printed above as the reason.
87
- */
88
- const ACTION_VERBS = {
89
- answer_human_input: 'skrr tasks input answer <id>',
90
- assign_task: 'skrr tasks assign <id> --agent <agent-id>',
91
- complete_task: 'skrr tasks complete <id>',
92
- dismiss_human_input: 'skrr tasks input dismiss <id>',
93
- interrupt_task: 'skrr tasks interrupt <id>',
94
- request_approval: 'skrr tasks approvals create <id>',
95
- resolve_approval: 'skrr tasks approvals resolve <id>',
96
- resolve_task_hold: 'skrr tasks move <id> --status <status>',
97
- retry_task: 'skrr tasks retry <id>',
98
- set_execution_mode: 'skrr tasks update <id> --execution-mode <agent|human>',
99
- start_task: 'skrr tasks start <id>',
100
- triage_task: 'skrr tasks triage <id>',
101
- unschedule_task: 'skrr tasks unschedule <id>',
102
- };
@@ -20,14 +20,10 @@ function systemEntryActor(details) {
20
20
  }
21
21
  function activityRow(entry) {
22
22
  const actor = entry.actor;
23
+ // A human row names its credential channel when it records one (OSK-16621):
24
+ // `human:<id> (via CLI credential)`. Older rows render as they always did.
23
25
  const actorText = actor
24
- ? actor.kind === 'agent'
25
- ? `agent:${actor.agentId}`
26
- : actor.kind === 'human'
27
- ? `human:${actor.userId}`
28
- : actor.kind === 'integration'
29
- ? `integration:${actor.provider}`
30
- : `system:${actor.service}`
26
+ ? (0, data_provider_1.formatTaskPrincipal)(actor)
31
27
  : (entry.userId ?? entry.actorId ?? systemEntryActor(entry.details));
32
28
  const type = entry.action ?? entry.event ?? entry.type;
33
29
  return {
@@ -4,6 +4,7 @@ exports.approvalRow = approvalRow;
4
4
  exports.permissionBlockedRun = permissionBlockedRun;
5
5
  exports.blockedRunSummary = blockedRunSummary;
6
6
  exports.permissionBlockLines = permissionBlockLines;
7
+ const list_output_1 = require("../../../lib/list-output");
7
8
  const core_1 = require("@oclif/core");
8
9
  const data_provider_1 = require("@skrr-ai/data-provider");
9
10
  const base_command_1 = require("../../../base-command");
@@ -206,7 +207,7 @@ class TasksApprovalsList extends base_command_1.BaseCommand {
206
207
  blockedRun: blockedRun ? blockedRunSummary(blockedRun, this.config.bin, taskRef) : null,
207
208
  }
208
209
  : payload;
209
- this.log(JSON.stringify(out, null, 2));
210
+ this.printJsonResult((0, list_output_1.listResult)(out));
210
211
  return;
211
212
  }
212
213
  const blockLines = blockedRun ? permissionBlockLines(blockedRun, this.config.bin, taskRef) : [];
@@ -29,6 +29,7 @@ export default class TasksAssign extends BaseCommand {
29
29
  task: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
30
30
  person: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
31
31
  agent: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
32
+ unassigned: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
32
33
  replace: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
33
34
  remove: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
34
35
  'repair-release-pins': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;