@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
@@ -0,0 +1,50 @@
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 base_command_1 = require("../../../base-command");
6
+ const lookbackPlans_1 = require("../../../lib/lookbackPlans");
7
+ const followups_1 = require("../../../lib/followups");
8
+ const list_output_1 = require("../../../lib/list-output");
9
+ class LookbackPlansList extends base_command_1.BaseCommand {
10
+ static description = 'List lookback plans, active first, with bounded history pagination';
11
+ static flags = {
12
+ agent: core_1.Flags.string({ description: 'Agent ID (default: bound session agent)', exclusive: ['all-agents'] }),
13
+ 'all-agents': core_1.Flags.boolean({ description: 'List all agents owned by you', exclusive: ['agent'] }),
14
+ state: core_1.Flags.string({ description: 'Filter plan state', options: [...data_provider_1.LOOKBACK_PLAN_STATES] }),
15
+ limit: core_1.Flags.integer({ description: 'Maximum plans (1..100)', min: 1, max: 100 }),
16
+ cursor: core_1.Flags.string({ description: 'Opaque nextCursor from a previous page; keep the same scope and filters' }),
17
+ json: core_1.Flags.boolean({ description: 'Output as JSON' }),
18
+ };
19
+ async run() {
20
+ this.requireAuth();
21
+ const { flags } = await this.parse(LookbackPlansList);
22
+ let agentId;
23
+ try {
24
+ agentId = flags['all-agents'] ? undefined : (0, followups_1.resolveFollowUpAgent)(flags.agent).id;
25
+ }
26
+ catch (err) {
27
+ this.failWithCliError({ message: err instanceof Error ? err.message : String(err), code: 'AGENT_CONTEXT_AMBIGUOUS', exit: 2, retryable: false });
28
+ return;
29
+ }
30
+ try {
31
+ const result = await lookbackPlans_1.lookbackPlansApi.list({ agentId, state: flags.state, limit: flags.limit, cursor: flags.cursor });
32
+ if (flags.json) {
33
+ this.printJsonResult((0, list_output_1.listResult)(result, 'plans'));
34
+ return;
35
+ }
36
+ if (!result.plans.length) {
37
+ this.log('No lookback plans.');
38
+ return;
39
+ }
40
+ for (const plan of result.plans)
41
+ this.log((0, lookbackPlans_1.lookbackPlanSummary)(plan));
42
+ if (result.hasMore)
43
+ this.log(`More plans: repeat this command with --cursor ${result.nextCursor}`);
44
+ }
45
+ catch (err) {
46
+ this.handleApiError(err);
47
+ }
48
+ }
49
+ }
50
+ exports.default = LookbackPlansList;
@@ -0,0 +1,11 @@
1
+ import { BaseCommand } from '../../../base-command';
2
+ export default class LookbackPlansObservability extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ agent: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ 'all-agents': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ };
10
+ run(): Promise<void>;
11
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_1 = require("../../../base-command");
5
+ const lookbackPlans_1 = require("../../../lib/lookbackPlans");
6
+ const followups_1 = require("../../../lib/followups");
7
+ class LookbackPlansObservability extends base_command_1.BaseCommand {
8
+ static description = 'Inspect bounded lookback scheduling health and evaluation outcomes';
9
+ static flags = {
10
+ agent: core_1.Flags.string({ description: 'Agent ID (default: bound session agent)', exclusive: ['all-agents'] }),
11
+ 'all-agents': core_1.Flags.boolean({ description: 'Inspect all owned agents', exclusive: ['agent'] }),
12
+ limit: core_1.Flags.integer({ description: 'Maximum sampled plans (1..100)', min: 1, max: 100 }),
13
+ json: core_1.Flags.boolean({ description: 'Output as JSON' }),
14
+ };
15
+ async run() {
16
+ this.requireAuth();
17
+ const { flags } = await this.parse(LookbackPlansObservability);
18
+ let agentId;
19
+ try {
20
+ agentId = flags['all-agents'] ? undefined : (0, followups_1.resolveFollowUpAgent)(flags.agent).id;
21
+ }
22
+ catch (err) {
23
+ this.failWithCliError({ message: err instanceof Error ? err.message : String(err), code: 'AGENT_CONTEXT_AMBIGUOUS', exit: 2, retryable: false });
24
+ return;
25
+ }
26
+ try {
27
+ const result = await lookbackPlans_1.lookbackPlansApi.observability({ agentId, limit: flags.limit });
28
+ if (flags.json) {
29
+ this.log(JSON.stringify(result, null, 2));
30
+ return;
31
+ }
32
+ this.log(`${result.sample.plans} plans sampled${result.sample.truncated ? ' (more exist)' : ''}.`);
33
+ for (const group of result.groups) {
34
+ this.log(`${group.agentId}: ${group.evaluations.used}/${group.evaluations.ceiling} evaluations used`);
35
+ for (const [name, count] of Object.entries(group.health)) {
36
+ if (count > 0)
37
+ this.log(` ${name}: ${count}`);
38
+ }
39
+ }
40
+ }
41
+ catch (err) {
42
+ this.handleApiError(err);
43
+ }
44
+ }
45
+ }
46
+ exports.default = LookbackPlansObservability;
@@ -0,0 +1,13 @@
1
+ import { BaseCommand } from '../../../base-command';
2
+ export default class LookbackPlansRevise extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ revision: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ 'from-json': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_1 = require("../../../base-command");
5
+ const prompt_1 = require("../../../lib/prompt");
6
+ const lookbackPlans_1 = require("../../../lib/lookbackPlans");
7
+ class LookbackPlansRevise extends base_command_1.BaseCommand {
8
+ static description = 'Revise pending lookbacks using the original source and step IDs';
9
+ static args = { id: lookbackPlans_1.lookbackPlanIdArg };
10
+ static flags = {
11
+ revision: core_1.Flags.integer({ description: 'Expected current revision; stale edits are refused', min: 1, required: true }),
12
+ 'from-json': core_1.Flags.string({ description: 'Full PlanInput JSON file; - reads stdin', required: true }),
13
+ json: core_1.Flags.boolean({ description: 'Output as JSON' }),
14
+ };
15
+ async run() {
16
+ this.requireAuth();
17
+ const { args, flags } = await this.parse(LookbackPlansRevise);
18
+ let plan;
19
+ try {
20
+ plan = (0, lookbackPlans_1.lookbackInput)(await (0, prompt_1.readJsonBody)(flags['from-json']), true);
21
+ }
22
+ catch (err) {
23
+ this.failWithCliError({ message: err instanceof Error ? err.message : String(err), code: 'LOOKBACK_INVALID_FIELD', exit: 2, retryable: false });
24
+ return;
25
+ }
26
+ try {
27
+ const result = await lookbackPlans_1.lookbackPlansApi.revise(args.id, { expectedRevision: flags.revision, plan });
28
+ this.log(flags.json ? JSON.stringify(result, null, 2) : (0, lookbackPlans_1.lookbackArmingLine)(result));
29
+ }
30
+ catch (err) {
31
+ this.handleApiError(err);
32
+ }
33
+ }
34
+ }
35
+ exports.default = LookbackPlansRevise;
@@ -0,0 +1,11 @@
1
+ import { BaseCommand } from '../../../base-command';
2
+ export default class LookbackPlansShow extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: 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,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_1 = require("../../../base-command");
5
+ const lookbackPlans_1 = require("../../../lib/lookbackPlans");
6
+ class LookbackPlansShow extends base_command_1.BaseCommand {
7
+ static description = 'Show a lookback plan, step outcomes and its current revision';
8
+ static args = { id: lookbackPlans_1.lookbackPlanIdArg };
9
+ static flags = { json: core_1.Flags.boolean({ description: 'Output as JSON' }) };
10
+ async run() {
11
+ this.requireAuth();
12
+ const { args, flags } = await this.parse(LookbackPlansShow);
13
+ try {
14
+ const result = await lookbackPlans_1.lookbackPlansApi.show(args.id);
15
+ if (flags.json) {
16
+ this.log(JSON.stringify(result, null, 2));
17
+ return;
18
+ }
19
+ this.log((0, lookbackPlans_1.lookbackPlanSummary)(result.plan));
20
+ this.log(`Objective: ${result.plan.objective}\nStop when: ${result.plan.stopCondition}`);
21
+ for (const step of result.plan.steps) {
22
+ this.log(` ${step.id} [${step.state}${step.outcome ? `/${step.outcome}` : ''}] ${step.runAt} ${step.label || step.instruction}`);
23
+ if (step.summary)
24
+ this.log(` ${step.summary}`);
25
+ }
26
+ }
27
+ catch (err) {
28
+ this.handleApiError(err);
29
+ }
30
+ }
31
+ }
32
+ exports.default = LookbackPlansShow;
@@ -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");
@@ -36,7 +37,7 @@ class GoalsKeyResultsList extends base_command_1.BaseCommand {
36
37
  this.handleApiError(err);
37
38
  }
38
39
  if (flags.json) {
39
- this.log(JSON.stringify(response, null, 2));
40
+ this.printJsonResult((0, list_output_1.listResult)(response));
40
41
  return;
41
42
  }
42
43
  const items = response?.data ?? [];
@@ -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,7 +30,7 @@ class GoalsLabelsList extends base_command_1.BaseCommand {
29
30
  const labelIds = goal.labelIds ?? [];
30
31
  if (labelIds.length === 0) {
31
32
  if (flags.json) {
32
- this.log(JSON.stringify({ data: [] }, null, 2));
33
+ this.printJsonResult((0, list_output_1.listResult)({ data: [] }));
33
34
  return;
34
35
  }
35
36
  this.log('No labels on this goal.');
@@ -47,7 +48,7 @@ class GoalsLabelsList extends base_command_1.BaseCommand {
47
48
  }
48
49
  }));
49
50
  if (flags.json) {
50
- this.log(JSON.stringify({ data: hydrated }, null, 2));
51
+ this.printJsonResult((0, list_output_1.listResult)({ data: hydrated }));
51
52
  return;
52
53
  }
53
54
  const rows = hydrated.map((l) => {
@@ -1,11 +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 web_url_1 = require("../../lib/web-url");
7
8
  const format_1 = require("../../lib/format");
8
- const list_output_1 = require("../../lib/list-output");
9
+ const list_output_2 = require("../../lib/list-output");
9
10
  class GoalsList extends base_command_1.BaseCommand {
10
11
  static description = 'List goals';
11
12
  static examples = [
@@ -77,7 +78,7 @@ class GoalsList extends base_command_1.BaseCommand {
77
78
  // a script reads `.data` here exactly as it does for tasks and projects. The
78
79
  // space-scoped endpoint is not paginated and answers a bare `{data}`; filling
79
80
  // the missing fields is additive, so nothing that read `.data` changes.
80
- this.log(JSON.stringify((0, web_url_1.withDataUrls)(this.cliConfig.baseURL, (0, list_output_1.toListEnvelope)(response) ?? response, web_url_1.goalUrlFrom), null, 2));
81
+ this.printJsonResult((0, list_output_1.listResult)((0, web_url_1.withDataUrls)(this.cliConfig.baseURL, (0, list_output_2.toListEnvelope)(response) ?? response, web_url_1.goalUrlFrom)));
81
82
  return;
82
83
  }
83
84
  // Both listGoals and listSpaceGoals return { data: Goal[] }. The general
@@ -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 grants_1 = require("../../lib/grants");
@@ -32,7 +33,7 @@ class GrantsList extends base_command_1.BaseCommand {
32
33
  provider: flags.provider,
33
34
  }));
34
35
  if (flags.json) {
35
- this.log(JSON.stringify(response.grants, null, 2));
36
+ this.printJsonResult((0, list_output_1.listResult)(response.grants));
36
37
  return;
37
38
  }
38
39
  (0, grants_1.renderGrantList)(response.grants, (line) => this.log(line));
@@ -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");
@@ -33,7 +34,7 @@ class HarnessesGrantsList extends base_command_1.BaseCommand {
33
34
  return;
34
35
  }
35
36
  if (flags.json) {
36
- this.log(JSON.stringify(grants, null, 2));
37
+ this.printJsonResult((0, list_output_1.listResult)(grants));
37
38
  return;
38
39
  }
39
40
  if (grants.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
  /**
4
5
  * Harness leases — the hosted billing plane.
5
6
  *
@@ -53,7 +54,7 @@ class HarnessesLeasesList extends base_command_1.BaseCommand {
53
54
  }
54
55
  const leases = response?.leases ?? [];
55
56
  if (flags.json) {
56
- this.log(JSON.stringify(leases, null, 2));
57
+ this.printJsonResult((0, list_output_1.listResult)(leases));
57
58
  return;
58
59
  }
59
60
  if (leases.length === 0) {
@@ -11,6 +11,7 @@ exports.selectHarnessRows = selectHarnessRows;
11
11
  exports.buildHarnessesJson = buildHarnessesJson;
12
12
  exports.readinessFootnotes = readinessFootnotes;
13
13
  exports.canonicalHarnessRows = canonicalHarnessRows;
14
+ const list_output_1 = require("../../lib/list-output");
14
15
  const core_1 = require("@oclif/core");
15
16
  const auth_core_1 = require("@skrr-ai/auth-core");
16
17
  const base_command_1 = require("../../base-command");
@@ -288,12 +289,15 @@ function readinessFootnotes(rows, readiness) {
288
289
  let unmanaged = 0;
289
290
  let noAnswer = 0;
290
291
  let unknown = 0;
292
+ let unverified = 0;
291
293
  let notReady = 0;
292
294
  for (const row of rows) {
293
295
  const verdict = readiness.lookup(row);
294
296
  if (verdict) {
295
297
  if (verdict.label === 'unknown')
296
298
  unknown += 1;
299
+ else if (verdict.label === 'unverified')
300
+ unverified += 1;
297
301
  else if (!verdict.ok)
298
302
  notReady += 1;
299
303
  }
@@ -316,6 +320,11 @@ function readinessFootnotes(rows, readiness) {
316
320
  if (unknown > 0) {
317
321
  lines.push(`(READINESS unknown: ${unknown} installed, but the daemon cannot read that provider's sign-in state.)`);
318
322
  }
323
+ if (unverified > 0) {
324
+ // A sign-in is there and nothing the daemon has seen says a model is behind it
325
+ // (OSK-16927). Not counted as not ready: the next step is a check, not a fix.
326
+ lines.push(`(READINESS unverified: ${unverified} with a local sign-in that no session on that machine has confirmed reaches a model — \`skrr harnesses models <id>\` checks, without sending a prompt.)`);
327
+ }
319
328
  if (notReady > 0) {
320
329
  lines.push(`(${notReady} not ready — \`skrr harnesses show <id>\` says what each needs.)`);
321
330
  }
@@ -473,7 +482,7 @@ class HarnessesList extends base_command_1.BaseCommand {
473
482
  daemon: flags.daemon ?? null,
474
483
  limit: flags.limit ?? null,
475
484
  }, res, readiness ? readiness.lookup : () => undefined);
476
- this.log(JSON.stringify(payload, null, 2));
485
+ this.printJsonResult((0, list_output_1.listResult)(payload, 'harnesses'));
477
486
  return;
478
487
  }
479
488
  if (selection.visible.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 base_command_1 = require("../../base-command");
5
6
  const ingress_1 = require("../../lib/ingress");
@@ -23,7 +24,7 @@ class IngressList extends base_command_1.BaseCommand {
23
24
  const { flags } = await this.parse(IngressList);
24
25
  const response = await ingress_1.ingressApi.list();
25
26
  if (flags.json) {
26
- this.log(JSON.stringify(response.ingresses, null, 2));
27
+ this.printJsonResult((0, list_output_1.listResult)(response.ingresses));
27
28
  return;
28
29
  }
29
30
  (0, ingress_1.renderIngressList)(response.ingresses, (line) => this.log(line));
@@ -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 initiatives_1 = require("../../lib/initiatives");
@@ -48,7 +49,7 @@ class InitiativesList extends base_command_1.BaseCommand {
48
49
  this.handleApiError(err);
49
50
  }
50
51
  if (flags.json) {
51
- this.log(JSON.stringify(response, null, 2));
52
+ this.printJsonResult((0, list_output_1.listResult)(response, 'initiatives'));
52
53
  return;
53
54
  }
54
55
  const rows = response.initiatives ?? [];
@@ -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");
@@ -44,7 +45,7 @@ class InstructionBlocksList extends base_command_1.BaseCommand {
44
45
  ...(flags.official ? [] : catalog.library),
45
46
  ].filter((block) => !flags.category || block.category === flags.category);
46
47
  if (flags.json) {
47
- this.log(JSON.stringify({ blocks: all }, null, 2));
48
+ this.printJsonResult((0, list_output_1.listResult)({ blocks: all }, 'blocks'));
48
49
  return;
49
50
  }
50
51
  if (!all.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");
@@ -26,7 +27,7 @@ class InstructionsList extends base_command_1.BaseCommand {
26
27
  this.handleApiError(error);
27
28
  }
28
29
  if (flags.json)
29
- return this.log(JSON.stringify(response, null, 2));
30
+ return this.printJsonResult((0, list_output_1.listResult)(response, 'bundles'));
30
31
  if (!response.bundles.length)
31
32
  return this.log('No managed instruction prompts.');
32
33
  (0, format_1.renderTable)(response.bundles.map((bundle) => ({
@@ -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 IntegrationsConnectionsList extends base_command_1.BaseCommand {
41
42
  this.handleApiError(err);
42
43
  }
43
44
  if (flags.json) {
44
- this.log(JSON.stringify(resp, null, 2));
45
+ this.printJsonResult((0, list_output_1.listResult)(resp, 'connections'));
45
46
  return;
46
47
  }
47
48
  const connections = resp.connections;
@@ -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");
@@ -46,7 +47,7 @@ class IntegrationsToolsList extends base_command_1.BaseCommand {
46
47
  this.handleApiError(err);
47
48
  }
48
49
  if (flags.json) {
49
- this.log(JSON.stringify(resp, null, 2));
50
+ this.printJsonResult((0, list_output_1.listResult)(resp, 'tools'));
50
51
  return;
51
52
  }
52
53
  const tools = resp.tools;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.labelListRows = labelListRows;
4
+ const list_output_1 = require("../../lib/list-output");
4
5
  const core_1 = require("@oclif/core");
5
6
  const data_provider_1 = require("@skrr-ai/data-provider");
6
7
  const base_command_1 = require("../../base-command");
@@ -106,12 +107,12 @@ class LabelsList extends base_command_1.BaseCommand {
106
107
  }
107
108
  if (flags.json) {
108
109
  const ordered = (0, data_provider_1.orderLabelsBySpaceUsage)(items, spaceUsage);
109
- this.log(JSON.stringify({
110
+ this.printJsonResult((0, list_output_1.listResult)({
110
111
  data: spaceUsage
111
112
  ? ordered.map((l) => ({ ...l, spaceUsageCount: spaceUsage?.get(String(l.id)) ?? 0 }))
112
113
  : ordered,
113
114
  ...(flags.space ? { spaceId: flags.space } : {}),
114
- }, null, 2));
115
+ }));
115
116
  return;
116
117
  }
117
118
  if (items.length === 0) {
@@ -0,0 +1,16 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class LearningAdapters extends Command {
3
+ static baseFlags: {
4
+ bare: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
5
+ token: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ raw: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ };
10
+ static description: string;
11
+ static examples: string[];
12
+ static flags: {
13
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_1 = require("../../base-command");
5
+ const guide = {
6
+ scope: 'Learning evidence adapters',
7
+ installation: 'Reviewed server module passed to createAdapterRegistry; not an uploaded or remote plugin',
8
+ guideUrl: 'https://github.com/dush1023/OverSky/blob/main/api/server/services/LearningCapabilities/ADAPTERS.md',
9
+ repositoryGuide: 'api/server/services/LearningCapabilities/ADAPTERS.md',
10
+ example: 'api/server/services/LearningCapabilities/examples/qualityInspection.js',
11
+ conformance: {
12
+ module: 'api/server/services/LearningCapabilities/conformance.js',
13
+ requiredFixtures: ['validInput', 'changedInput (different normalized content)'],
14
+ command: 'cd api && npx jest --runInBand server/services/LearningCapabilities/__tests__/adapters.conformance.spec.js',
15
+ },
16
+ boundaries: [
17
+ 'Adapters normalize already-authorized native source evidence. They do not grant source access or execute a learned capability.',
18
+ 'Only local normalization is supported here: destination oversky, evidence:read, zero provider calls. Model processing uses the governed media service.',
19
+ 'A conformance pass covers its fixtures. It does not certify native source authenticity, perception accuracy or provider deletion.',
20
+ ],
21
+ };
22
+ // Authoring documentation is available without a credential/daemon handoff.
23
+ class LearningAdapters extends core_1.Command {
24
+ static baseFlags = base_command_1.BaseCommand.baseFlags;
25
+ static description = 'Find the Learning evidence-adapter authoring and conformance guide';
26
+ static examples = [
27
+ '<%= config.bin %> learning adapters',
28
+ '<%= config.bin %> learning adapters --json',
29
+ ];
30
+ static flags = {
31
+ json: core_1.Flags.boolean({
32
+ description: 'Output the guide coordinates and supported boundary as JSON',
33
+ }),
34
+ };
35
+ async run() {
36
+ const { flags } = await this.parse(LearningAdapters);
37
+ if (flags.json) {
38
+ this.log(JSON.stringify({ ok: true, ...guide }, null, 2));
39
+ return;
40
+ }
41
+ this.log(`Learning evidence adapters\n${guide.installation}\n\nGuide: ${guide.guideUrl}\nIn the repository: ${guide.repositoryGuide}\nExample: ${guide.example}\n\nConformance: ${guide.conformance.command}\nRequired fixtures: ${guide.conformance.requiredFixtures.join(', ')}\n\n${guide.boundaries.join('\n')}`);
42
+ }
43
+ }
44
+ exports.default = LearningAdapters;
@@ -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 dedicated_lease_command_1 = require("../../../lib/dedicated-lease-command");
5
6
  const format_1 = require("../../../lib/format");
@@ -25,7 +26,7 @@ class DedicatedMachinesList extends dedicated_lease_command_1.DedicatedLeaseComm
25
26
  ...this.scopeFrom(flags),
26
27
  }));
27
28
  if (flags.json) {
28
- this.log(JSON.stringify(response, null, 2));
29
+ this.printJsonResult((0, list_output_1.listResult)(response, 'leases'));
29
30
  return;
30
31
  }
31
32
  const leases = response?.leases ?? [];
@@ -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 api_fetch_1 = require("../../../lib/api-fetch");
@@ -34,7 +35,7 @@ class HostedMachinesList extends base_command_1.BaseCommand {
34
35
  this.handleApiError(err);
35
36
  }
36
37
  if (flags.json) {
37
- this.log(JSON.stringify(flags.details ? response : (0, hosted_machines_1.curateHostedMachineList)(response), null, 2));
38
+ this.printJsonResult((0, list_output_1.listResult)(flags.details ? response : (0, hosted_machines_1.curateHostedMachineList)(response)));
38
39
  return;
39
40
  }
40
41
  const sessions = response.data ?? [];
@@ -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 machine_uuid_1 = require("@skrr-ai/auth-core/machine-uuid");
5
6
  const base_command_1 = require("../../base-command");
@@ -53,7 +54,7 @@ class MachinesList extends base_command_1.BaseCommand {
53
54
  }));
54
55
  const shown = reachable;
55
56
  if (flags.json) {
56
- this.log(JSON.stringify(views, null, 2));
57
+ this.printJsonResult((0, list_output_1.listResult)(views));
57
58
  return;
58
59
  }
59
60
  if (all.length === 0) {
@@ -139,8 +139,11 @@ class MachinesShow extends base_command_1.BaseCommand {
139
139
  provider: (0, harness_labels_1.harnessProviderLabel)(h.provider),
140
140
  // Liveness only. Whether a newer registration replaced the row is a
141
141
  // different fact — a superseded row can have been online — so it
142
- // gets its own column rather than overwriting this one.
143
- status: (0, format_1.formatCell)(h.status),
142
+ // gets its own column rather than overwriting this one. It is the
143
+ // server's statement about the row (`stale`, `reconnecting`), not the
144
+ // bare recorded status: the line above says `stale` for a machine whose
145
+ // table then read `online` for every row in it (OSK-16442).
146
+ status: (0, format_1.formatCell)((0, machines_1.harnessStateLabel)(h)),
144
147
  registration: h.superseded ? 'superseded' : 'current',
145
148
  readiness: readinessFor(h)?.label ?? '-',
146
149
  seen: (0, format_1.localStamp)(h.lastSeenAt),
@@ -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 measures_1 = require("../../lib/measures");
@@ -29,7 +30,7 @@ class MeasuresList extends base_command_1.BaseCommand {
29
30
  status: flags.status,
30
31
  }));
31
32
  if (flags.json) {
32
- this.log(JSON.stringify(response.measures, null, 2));
33
+ this.printJsonResult((0, list_output_1.listResult)(response.measures));
33
34
  return;
34
35
  }
35
36
  (0, measures_1.renderMeasureList)(response.measures, (line) => this.log(line));