@skrr-ai/cli 0.1.110 → 0.1.113

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/bin/run.js +15 -1
  2. package/dist/base-command.d.ts +31 -3
  3. package/dist/base-command.js +136 -22
  4. package/dist/commands/actions/list.js +2 -1
  5. package/dist/commands/agenda/trigger/create.js +1 -1
  6. package/dist/commands/agenda/trigger/list.js +2 -1
  7. package/dist/commands/agent-groups/list.js +2 -1
  8. package/dist/commands/agents/actions/list.js +2 -1
  9. package/dist/commands/agents/always-on/status.js +5 -0
  10. package/dist/commands/agents/chat.js +4 -1
  11. package/dist/commands/agents/create.d.ts +3 -1
  12. package/dist/commands/agents/create.js +36 -3
  13. package/dist/commands/agents/duplicate.js +4 -0
  14. package/dist/commands/agents/eval/list.js +2 -1
  15. package/dist/commands/agents/files/list.js +2 -1
  16. package/dist/commands/agents/folders/list.js +2 -1
  17. package/dist/commands/agents/goals/list.js +2 -1
  18. package/dist/commands/agents/intuitions/list.js +8 -5
  19. package/dist/commands/agents/list.d.ts +12 -0
  20. package/dist/commands/agents/list.js +45 -8
  21. package/dist/commands/agents/releases/known-issues/list.js +2 -1
  22. package/dist/commands/agents/releases/list.js +5 -1
  23. package/dist/commands/agents/releases/trusted-publishers/list.js +2 -1
  24. package/dist/commands/agents/roles/list.js +2 -1
  25. package/dist/commands/agents/skills/list.js +2 -1
  26. package/dist/commands/agents/todos/list.js +2 -1
  27. package/dist/commands/agents/triggers/list.js +2 -1
  28. package/dist/commands/api-keys/list.js +2 -1
  29. package/dist/commands/apps/channel.d.ts +20 -0
  30. package/dist/commands/apps/channel.js +64 -0
  31. package/dist/commands/apps/check-draft.d.ts +12 -0
  32. package/dist/commands/apps/check-draft.js +41 -0
  33. package/dist/commands/apps/check.d.ts +42 -0
  34. package/dist/commands/apps/check.js +91 -0
  35. package/dist/commands/apps/create.d.ts +15 -0
  36. package/dist/commands/apps/create.js +59 -0
  37. package/dist/commands/apps/data/put.d.ts +18 -0
  38. package/dist/commands/apps/data/put.js +72 -0
  39. package/dist/commands/apps/data/query.d.ts +20 -0
  40. package/dist/commands/apps/data/query.js +88 -0
  41. package/dist/commands/apps/disclosure.d.ts +16 -0
  42. package/dist/commands/apps/disclosure.js +71 -0
  43. package/dist/commands/apps/file/cat.d.ts +15 -0
  44. package/dist/commands/apps/file/cat.js +50 -0
  45. package/dist/commands/apps/file/ls.d.ts +13 -0
  46. package/dist/commands/apps/file/ls.js +47 -0
  47. package/dist/commands/apps/file/mv.d.ts +15 -0
  48. package/dist/commands/apps/file/mv.js +49 -0
  49. package/dist/commands/apps/file/rm.d.ts +15 -0
  50. package/dist/commands/apps/file/rm.js +53 -0
  51. package/dist/commands/apps/file/write.d.ts +17 -0
  52. package/dist/commands/apps/file/write.js +81 -0
  53. package/dist/commands/apps/install.d.ts +19 -0
  54. package/dist/commands/apps/install.js +136 -0
  55. package/dist/commands/apps/installations/list.d.ts +11 -0
  56. package/dist/commands/apps/installations/list.js +49 -0
  57. package/dist/commands/apps/installations/show.d.ts +12 -0
  58. package/dist/commands/apps/installations/show.js +61 -0
  59. package/dist/commands/apps/layout/set.d.ts +11 -0
  60. package/dist/commands/apps/layout/set.js +125 -0
  61. package/dist/commands/apps/layout/show.d.ts +9 -0
  62. package/dist/commands/apps/layout/show.js +33 -0
  63. package/dist/commands/apps/list.d.ts +10 -0
  64. package/dist/commands/apps/list.js +45 -0
  65. package/dist/commands/apps/logs.d.ts +13 -0
  66. package/dist/commands/apps/logs.js +55 -0
  67. package/dist/commands/apps/preview.d.ts +12 -0
  68. package/dist/commands/apps/preview.js +39 -0
  69. package/dist/commands/apps/publish/propose.d.ts +14 -0
  70. package/dist/commands/apps/publish/propose.js +45 -0
  71. package/dist/commands/apps/pull.d.ts +14 -0
  72. package/dist/commands/apps/pull.js +56 -0
  73. package/dist/commands/apps/push.d.ts +15 -0
  74. package/dist/commands/apps/push.js +75 -0
  75. package/dist/commands/apps/reconsent.d.ts +13 -0
  76. package/dist/commands/apps/reconsent.js +67 -0
  77. package/dist/commands/apps/report.d.ts +20 -0
  78. package/dist/commands/apps/report.js +63 -0
  79. package/dist/commands/apps/resume.d.ts +12 -0
  80. package/dist/commands/apps/resume.js +36 -0
  81. package/dist/commands/apps/settings/set.d.ts +13 -0
  82. package/dist/commands/apps/settings/set.js +54 -0
  83. package/dist/commands/apps/settings/show.d.ts +11 -0
  84. package/dist/commands/apps/settings/show.js +31 -0
  85. package/dist/commands/apps/show.d.ts +12 -0
  86. package/dist/commands/apps/show.js +49 -0
  87. package/dist/commands/apps/suspend.d.ts +12 -0
  88. package/dist/commands/apps/suspend.js +35 -0
  89. package/dist/commands/apps/uninstall.d.ts +13 -0
  90. package/dist/commands/apps/uninstall.js +43 -0
  91. package/dist/commands/apps/upgrade.d.ts +14 -0
  92. package/dist/commands/apps/upgrade.js +49 -0
  93. package/dist/commands/apps/version/create.d.ts +14 -0
  94. package/dist/commands/apps/version/create.js +53 -0
  95. package/dist/commands/apps/version/show.d.ts +12 -0
  96. package/dist/commands/apps/version/show.js +39 -0
  97. package/dist/commands/apps/versions.d.ts +12 -0
  98. package/dist/commands/apps/versions.js +40 -0
  99. package/dist/commands/apps/webhooks/list.d.ts +12 -0
  100. package/dist/commands/apps/webhooks/list.js +47 -0
  101. package/dist/commands/characters/list.js +2 -1
  102. package/dist/commands/chats/files/list.js +2 -1
  103. package/dist/commands/chats/folders/list.js +2 -1
  104. package/dist/commands/chats/list.js +2 -1
  105. package/dist/commands/chats/spaces/list.js +2 -1
  106. package/dist/commands/chats/widgets/list.js +2 -1
  107. package/dist/commands/code/jobs/list.js +4 -1
  108. package/dist/commands/commerce/incidents/list.js +2 -1
  109. package/dist/commands/commitments/accounting.js +3 -0
  110. package/dist/commands/commitments/action-proposals.d.ts +8 -0
  111. package/dist/commands/commitments/action-proposals.js +17 -2
  112. package/dist/commands/commitments/cost.d.ts +11 -0
  113. package/dist/commands/commitments/cost.js +25 -0
  114. package/dist/commands/commitments/create.js +6 -1
  115. package/dist/commands/commitments/endpoints/list.js +2 -1
  116. package/dist/commands/commitments/links/list.js +2 -1
  117. package/dist/commands/commitments/list.js +2 -1
  118. package/dist/commands/commitments/liveness.d.ts +30 -0
  119. package/dist/commands/commitments/liveness.js +22 -5
  120. package/dist/commands/commitments/pack/list.js +2 -1
  121. package/dist/commands/commitments/preflight.js +6 -2
  122. package/dist/commands/commitments/update.js +10 -1
  123. package/dist/commands/compass/list.js +2 -1
  124. package/dist/commands/context.js +7 -1
  125. package/dist/commands/convos/list.js +3 -2
  126. package/dist/commands/dm/list.js +2 -1
  127. package/dist/commands/dm/work.d.ts +19 -0
  128. package/dist/commands/dm/work.js +54 -0
  129. package/dist/commands/feeds/list.js +2 -1
  130. package/dist/commands/followups/list.js +2 -1
  131. package/dist/commands/followups/plans/cancel.d.ts +13 -0
  132. package/dist/commands/followups/plans/cancel.js +26 -0
  133. package/dist/commands/followups/plans/create.d.ts +11 -0
  134. package/dist/commands/followups/plans/create.js +37 -0
  135. package/dist/commands/followups/plans/example.d.ts +6 -0
  136. package/dist/commands/followups/plans/example.js +12 -0
  137. package/dist/commands/followups/plans/list.d.ts +13 -0
  138. package/dist/commands/followups/plans/list.js +50 -0
  139. package/dist/commands/followups/plans/observability.d.ts +11 -0
  140. package/dist/commands/followups/plans/observability.js +46 -0
  141. package/dist/commands/followups/plans/revise.d.ts +14 -0
  142. package/dist/commands/followups/plans/revise.js +38 -0
  143. package/dist/commands/followups/plans/show.d.ts +11 -0
  144. package/dist/commands/followups/plans/show.js +32 -0
  145. package/dist/commands/goals/key-results/list.js +2 -1
  146. package/dist/commands/goals/labels/list.js +3 -2
  147. package/dist/commands/goals/list.js +3 -2
  148. package/dist/commands/grants/list.js +2 -1
  149. package/dist/commands/harnesses/grants/list.js +2 -1
  150. package/dist/commands/harnesses/leases/list.js +2 -1
  151. package/dist/commands/harnesses/list.js +10 -1
  152. package/dist/commands/ingress/list.js +2 -1
  153. package/dist/commands/initiatives/list.js +2 -1
  154. package/dist/commands/instruction-blocks/list.js +2 -1
  155. package/dist/commands/instructions/list.js +2 -1
  156. package/dist/commands/integrations/connections/list.js +2 -1
  157. package/dist/commands/integrations/tools/list.js +2 -1
  158. package/dist/commands/labels/list.js +3 -2
  159. package/dist/commands/learning/adapters.d.ts +16 -0
  160. package/dist/commands/learning/adapters.js +44 -0
  161. package/dist/commands/machines/dedicated/list.js +2 -1
  162. package/dist/commands/machines/hosted/list.js +2 -1
  163. package/dist/commands/machines/list.js +2 -1
  164. package/dist/commands/machines/show.js +5 -2
  165. package/dist/commands/measures/list.js +2 -1
  166. package/dist/commands/memory/list.js +2 -1
  167. package/dist/commands/memory/proposals/list.js +2 -1
  168. package/dist/commands/memory/stores/list.js +2 -1
  169. package/dist/commands/memory/topics/list.js +2 -1
  170. package/dist/commands/memory/versions/list.js +2 -1
  171. package/dist/commands/messages/list.js +2 -1
  172. package/dist/commands/northstars/intents/list.js +2 -1
  173. package/dist/commands/northstars/list.js +2 -1
  174. package/dist/commands/northstars/recommendations/list.js +2 -1
  175. package/dist/commands/outbox/list.js +2 -1
  176. package/dist/commands/profiles/list.js +2 -1
  177. package/dist/commands/projects/docs/list.js +8 -1
  178. package/dist/commands/projects/updates/list.js +2 -1
  179. package/dist/commands/proposals/list.js +2 -1
  180. package/dist/commands/requests/comments/list.js +2 -1
  181. package/dist/commands/requests/list.js +2 -1
  182. package/dist/commands/shares/list.js +2 -1
  183. package/dist/commands/shortcuts/list.js +2 -1
  184. package/dist/commands/signals/monitors/list.js +2 -1
  185. package/dist/commands/signals/schemas/list.js +2 -1
  186. package/dist/commands/signals/sources/list.js +2 -1
  187. package/dist/commands/space-directory-views/list.js +2 -1
  188. package/dist/commands/spaces/actions/list.js +4 -3
  189. package/dist/commands/spaces/briefs/list.js +2 -1
  190. package/dist/commands/spaces/cycles/list.js +2 -1
  191. package/dist/commands/spaces/files/folders/list.js +2 -1
  192. package/dist/commands/spaces/files/list.js +3 -2
  193. package/dist/commands/spaces/heartbeats/list.js +3 -2
  194. package/dist/commands/spaces/labels/list.js +3 -2
  195. package/dist/commands/spaces/list.d.ts +3 -18
  196. package/dist/commands/spaces/list.js +28 -35
  197. package/dist/commands/spaces/live/cards/list.js +2 -1
  198. package/dist/commands/spaces/members/list.d.ts +1 -0
  199. package/dist/commands/spaces/members/list.js +4 -1
  200. package/dist/commands/spaces/show.js +2 -2
  201. package/dist/commands/spaces/skills/list.js +6 -2
  202. package/dist/commands/spaces/states/list.js +2 -1
  203. package/dist/commands/spaces/views/list.js +2 -1
  204. package/dist/commands/spaces/widgets/list.js +3 -2
  205. package/dist/commands/spaces/workflow-templates/list.js +2 -1
  206. package/dist/commands/spaces/workflows/fixtures/list.js +2 -1
  207. package/dist/commands/spaces/workflows/list.js +3 -2
  208. package/dist/commands/spaces/workflows/proposals/list.js +2 -1
  209. package/dist/commands/spaces/workflows/triggers/list.js +2 -1
  210. package/dist/commands/store/acquisitions/list.js +2 -1
  211. package/dist/commands/store/admissions/list.js +17 -1
  212. package/dist/commands/store/advisories/list.js +2 -1
  213. package/dist/commands/store/follows/list.js +2 -1
  214. package/dist/commands/store/publishers/domains/list.js +2 -1
  215. package/dist/commands/store/reports/list.js +2 -1
  216. package/dist/commands/subscriptions/list.js +2 -1
  217. package/dist/commands/tasks/actionability.js +7 -30
  218. package/dist/commands/tasks/activity.js +3 -7
  219. package/dist/commands/tasks/approvals/list.js +2 -1
  220. package/dist/commands/tasks/assign.d.ts +1 -0
  221. package/dist/commands/tasks/assign.js +43 -7
  222. package/dist/commands/tasks/attachments/list.js +2 -1
  223. package/dist/commands/tasks/chat/send.js +34 -0
  224. package/dist/commands/tasks/comments/add.js +6 -1
  225. package/dist/commands/tasks/comments/list.js +2 -1
  226. package/dist/commands/tasks/complete.js +26 -2
  227. package/dist/commands/tasks/continue.d.ts +18 -0
  228. package/dist/commands/tasks/continue.js +54 -0
  229. package/dist/commands/tasks/create-tree.d.ts +5 -0
  230. package/dist/commands/tasks/create-tree.js +399 -219
  231. package/dist/commands/tasks/create.d.ts +1 -0
  232. package/dist/commands/tasks/create.js +63 -11
  233. package/dist/commands/tasks/deliverable/add.js +10 -3
  234. package/dist/commands/tasks/deliverable/list.js +2 -1
  235. package/dist/commands/tasks/events/list.js +2 -1
  236. package/dist/commands/tasks/execution-state.d.ts +12 -0
  237. package/dist/commands/tasks/execution-state.js +28 -0
  238. package/dist/commands/tasks/expectations/assess.js +40 -5
  239. package/dist/commands/tasks/guide.d.ts +10 -0
  240. package/dist/commands/tasks/guide.js +20 -0
  241. package/dist/commands/tasks/labels/list.js +2 -1
  242. package/dist/commands/tasks/list.d.ts +19 -0
  243. package/dist/commands/tasks/list.js +97 -4
  244. package/dist/commands/tasks/move.js +10 -2
  245. package/dist/commands/tasks/preflight.d.ts +14 -0
  246. package/dist/commands/tasks/preflight.js +77 -0
  247. package/dist/commands/tasks/resource/list.js +2 -1
  248. package/dist/commands/tasks/result/submit.js +10 -1
  249. package/dist/commands/tasks/review.js +6 -1
  250. package/dist/commands/tasks/revisions.d.ts +2 -0
  251. package/dist/commands/tasks/revisions.js +8 -1
  252. package/dist/commands/tasks/show.js +17 -11
  253. package/dist/commands/tasks/start.d.ts +1 -0
  254. package/dist/commands/tasks/start.js +35 -0
  255. package/dist/commands/tasks/templates/list.js +2 -1
  256. package/dist/commands/tasks/timeline.d.ts +5 -0
  257. package/dist/commands/tasks/timeline.js +9 -1
  258. package/dist/commands/tasks/update.d.ts +1 -0
  259. package/dist/commands/tasks/update.js +25 -2
  260. package/dist/commands/tasks/updates/add.js +6 -1
  261. package/dist/commands/tasks/updates/list.js +2 -1
  262. package/dist/commands/tasks/upsert.d.ts +1 -0
  263. package/dist/commands/tasks/upsert.js +8 -1
  264. package/dist/commands/token/list.js +2 -1
  265. package/dist/commands/tokens/list.js +2 -1
  266. package/dist/commands/tones/list.js +4 -2
  267. package/dist/commands/triggers/list.js +2 -1
  268. package/dist/commands/views/list.js +2 -1
  269. package/dist/commands/webhooks/list.js +2 -1
  270. package/dist/commands/whoami.js +1 -1
  271. package/dist/commands/widgets/list.js +2 -1
  272. package/dist/commands/widgets/save-as-app.d.ts +13 -0
  273. package/dist/commands/widgets/save-as-app.js +65 -0
  274. package/dist/commands/work-views/list.js +2 -1
  275. package/dist/commands/worklog/list.js +2 -1
  276. package/dist/commands/workspaces/list.js +3 -2
  277. package/dist/commands/workspaces/members.d.ts +1 -0
  278. package/dist/commands/workspaces/members.js +5 -2
  279. package/dist/generated/managed-instruction-guides.json +2 -2
  280. package/dist/help.js +7 -0
  281. package/dist/lib/agent-proactive-baseline.d.ts +9 -0
  282. package/dist/lib/agent-proactive-baseline.js +44 -0
  283. package/dist/lib/agentic-stream.d.ts +4 -1
  284. package/dist/lib/agentic-stream.js +29 -4
  285. package/dist/lib/appData.d.ts +75 -0
  286. package/dist/lib/appData.js +274 -0
  287. package/dist/lib/appInstallations.d.ts +117 -0
  288. package/dist/lib/appInstallations.js +960 -0
  289. package/dist/lib/appSettings.d.ts +3 -0
  290. package/dist/lib/appSettings.js +71 -0
  291. package/dist/lib/appWebhooks.d.ts +7 -0
  292. package/dist/lib/appWebhooks.js +59 -0
  293. package/dist/lib/apps-command.d.ts +44 -0
  294. package/dist/lib/apps-command.js +164 -0
  295. package/dist/lib/apps.d.ts +45 -0
  296. package/dist/lib/apps.js +148 -0
  297. package/dist/lib/appsCheck.d.ts +12 -0
  298. package/dist/lib/appsCheck.js +173 -0
  299. package/dist/lib/appsFs.d.ts +58 -0
  300. package/dist/lib/appsFs.js +384 -0
  301. package/dist/lib/auth-failure.d.ts +20 -0
  302. package/dist/lib/auth-failure.js +40 -3
  303. package/dist/lib/cli-installers.d.ts +9 -2
  304. package/dist/lib/command-miss.js +107 -0
  305. package/dist/lib/commitment-loop-status.js +25 -3
  306. package/dist/lib/commitments.d.ts +44 -3
  307. package/dist/lib/commitments.js +107 -9
  308. package/dist/lib/compasses.d.ts +4 -0
  309. package/dist/lib/compasses.js +11 -0
  310. package/dist/lib/daemon-setup.js +7 -7
  311. package/dist/lib/daemonHandoff.js +3 -2
  312. package/dist/lib/dedicated-ssh.d.ts +2 -0
  313. package/dist/lib/dedicated-ssh.js +98 -28
  314. package/dist/lib/json-output.d.ts +33 -0
  315. package/dist/lib/json-output.js +37 -0
  316. package/dist/lib/list-output.d.ts +9 -4
  317. package/dist/lib/list-output.js +36 -9
  318. package/dist/lib/lookbackPlanHelp.d.ts +19 -0
  319. package/dist/lib/lookbackPlanHelp.js +27 -0
  320. package/dist/lib/lookbackPlans.d.ts +22 -0
  321. package/dist/lib/lookbackPlans.js +88 -0
  322. package/dist/lib/machines.d.ts +27 -6
  323. package/dist/lib/machines.js +25 -14
  324. package/dist/lib/member-output.d.ts +20 -0
  325. package/dist/lib/member-output.js +57 -0
  326. package/dist/lib/preflight-copy.d.ts +7 -0
  327. package/dist/lib/preflight-copy.js +31 -0
  328. package/dist/lib/roles.d.ts +2 -2
  329. package/dist/lib/task-admission.d.ts +9 -0
  330. package/dist/lib/task-admission.js +35 -0
  331. package/dist/lib/task-batch.d.ts +4 -0
  332. package/dist/lib/task-batch.js +2 -0
  333. package/dist/lib/task-operations.d.ts +25 -0
  334. package/dist/lib/task-operations.js +123 -0
  335. package/dist/lib/task-preflight.d.ts +35 -0
  336. package/dist/lib/task-preflight.js +121 -0
  337. package/dist/lib/task-resource-references.d.ts +23 -0
  338. package/dist/lib/task-resource-references.js +119 -0
  339. package/dist/lib/task-spec-verification.d.ts +42 -0
  340. package/dist/lib/task-spec-verification.js +101 -0
  341. package/dist/lib/task-work.d.ts +11 -0
  342. package/dist/lib/task-work.js +41 -0
  343. package/dist/lib/task-write-attribution.d.ts +26 -0
  344. package/dist/lib/task-write-attribution.js +47 -0
  345. package/dist/lib/tasks.d.ts +13 -0
  346. package/dist/lib/tasks.js +61 -8
  347. package/dist/lib/triggers.d.ts +7 -0
  348. package/dist/lib/triggers.js +54 -4
  349. package/dist/lib/usage-discovery.d.ts +4 -0
  350. package/dist/lib/usage-discovery.js +14 -4
  351. package/dist/lib/widgetApps.d.ts +10 -0
  352. package/dist/lib/widgetApps.js +47 -0
  353. package/dist/lib/widgetStaticScan.js +25 -1
  354. package/dist/lib/workspaces.d.ts +11 -4
  355. package/dist/lib/workspaces.js +7 -3
  356. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/computerWire.d.ts +14 -1
  357. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/computerWire.js +47 -2
  358. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonToolApproval.d.ts +49 -1
  359. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonToolApproval.js +26 -0
  360. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonWire.d.ts +118 -0
  361. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonWire.js +614 -0
  362. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refresh.d.ts +2 -0
  363. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refresh.js +15 -2
  364. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refreshClassification.d.ts +5 -0
  365. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refreshClassification.js +3 -1
  366. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/sessionRevocation.d.ts +177 -0
  367. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/sessionRevocation.js +484 -0
  368. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/telemetryRedaction.d.ts +11 -0
  369. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/telemetryRedaction.js +46 -7
  370. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/toolApprovalSignature.d.ts +232 -0
  371. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/toolApprovalSignature.js +372 -0
  372. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/types.d.ts +17 -1
  373. package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/types.js +12 -1
  374. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/computerWire.d.ts +14 -1
  375. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/computerWire.js +45 -2
  376. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonToolApproval.d.ts +49 -1
  377. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonToolApproval.js +24 -0
  378. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonWire.d.ts +118 -0
  379. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonWire.js +608 -0
  380. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refresh.d.ts +2 -0
  381. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refresh.js +15 -2
  382. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refreshClassification.d.ts +5 -0
  383. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refreshClassification.js +3 -1
  384. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/sessionRevocation.d.ts +177 -0
  385. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/sessionRevocation.js +472 -0
  386. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/telemetryRedaction.d.ts +11 -0
  387. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/telemetryRedaction.js +44 -6
  388. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/toolApprovalSignature.d.ts +232 -0
  389. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/toolApprovalSignature.js +360 -0
  390. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/types.d.ts +17 -1
  391. package/dist/node_modules/@skrr-ai/auth-core/dist/esm/types.js +12 -1
  392. package/dist/node_modules/@skrr-ai/auth-core/package.json +30 -0
  393. package/dist/node_modules/@skrr-ai/data-provider/index.js +25245 -18730
  394. package/docs/v1/README.md +1 -0
  395. package/docs/v1/lookback-plans.md +88 -0
  396. package/docs/v1/operations.md +52 -0
  397. package/docs/v1/space-search.md +19 -0
  398. package/oclif.manifest.json +4792 -477
  399. package/package.json +27 -3
@@ -39,6 +39,7 @@ export default class TasksCreate extends BaseCommand {
39
39
  static examples: string[];
40
40
  static flags: {
41
41
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
42
+ unassigned: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
42
43
  'dry-run': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
43
44
  'from-json': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
44
45
  template: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
@@ -104,6 +104,7 @@ function taskMatchesCreateIdentity(task, payload) {
104
104
  'projectId',
105
105
  'parentId',
106
106
  'commitmentId',
107
+ 'executionMode',
107
108
  ]) {
108
109
  const requested = payload[field];
109
110
  if (requested === undefined || requested === null || requested === '')
@@ -111,6 +112,14 @@ function taskMatchesCreateIdentity(task, payload) {
111
112
  if (String(task[field] ?? '') !== String(requested))
112
113
  return false;
113
114
  }
115
+ for (const field of ['assigneeAgentIds', 'assigneeUserIds']) {
116
+ if (!Array.isArray(payload[field]))
117
+ continue;
118
+ const requested = [...new Set(payload[field].map(String))].sort();
119
+ const actual = [...new Set(Array.isArray(task[field]) ? task[field].map(String) : [])].sort();
120
+ if (JSON.stringify(actual) !== JSON.stringify(requested))
121
+ return false;
122
+ }
114
123
  return true;
115
124
  }
116
125
  class TasksCreate extends base_command_1.BaseCommand {
@@ -129,6 +138,9 @@ class TasksCreate extends base_command_1.BaseCommand {
129
138
  ];
130
139
  static flags = {
131
140
  json: core_1.Flags.boolean({ description: 'Output the created task as JSON' }),
141
+ unassigned: core_1.Flags.boolean({
142
+ description: 'Leave both Agent and Human assignees empty; overrides JSON assignment and suppresses session, parent and Space defaults. Does not start a Run.',
143
+ }),
132
144
  'dry-run': core_1.Flags.boolean({
133
145
  description: 'Validate and print the create payload without writing a task',
134
146
  }),
@@ -190,7 +202,7 @@ class TasksCreate extends base_command_1.BaseCommand {
190
202
  description: 'Source message ID (requires --source-conversation or daemon session context)',
191
203
  }),
192
204
  'assignee-agent': core_1.Flags.string({
193
- description: 'Assignee agent: the agent that DOES the work when the task starts (the first listed runs). ' +
205
+ description: 'Assignee Agent eligible to do the work when the Task starts. Multiple Agents require an explicit execution choice. ' +
194
206
  'Id or name, resolved within --space (repeatable)',
195
207
  multiple: true,
196
208
  }),
@@ -219,7 +231,7 @@ class TasksCreate extends base_command_1.BaseCommand {
219
231
  'executor, human or agent.',
220
232
  }),
221
233
  'execution-mode': core_1.Flags.string({
222
- description: 'Who executes the task: agent or human. Required when both Humans and Agents are ' +
234
+ description: 'Intended executor: agent or human, independent of assignment. Use --unassigned to record intent before selecting anyone. Required when both Humans and Agents are ' +
223
235
  'assigned. Passing "human" with no assignee flags files the task against you, ' +
224
236
  'never against an agent.',
225
237
  options: ['agent', 'human'],
@@ -293,6 +305,18 @@ class TasksCreate extends base_command_1.BaseCommand {
293
305
  async run() {
294
306
  this.requireAuth();
295
307
  const { flags } = await this.parse(TasksCreate);
308
+ this.setJsonOperation({
309
+ command: 'tasks:create',
310
+ mode: flags['dry-run'] ? 'dry_run' : 'execute',
311
+ });
312
+ const assignmentError = (0, tasks_1.taskUnassignmentFlagError)(flags);
313
+ if (assignmentError)
314
+ this.failWithCliError({
315
+ message: assignmentError,
316
+ code: 'TASK_ASSIGNMENT_FLAG_CONFLICT',
317
+ exit: 2,
318
+ retryable: false,
319
+ });
296
320
  // Default to {} so TS flow-analysis is satisfied — the catch calls this.error(), which throws.
297
321
  let body = {};
298
322
  try {
@@ -352,6 +376,7 @@ class TasksCreate extends base_command_1.BaseCommand {
352
376
  catch (error) {
353
377
  this.error(error instanceof Error ? error.message : 'Invalid economics', { exit: 2 });
354
378
  }
379
+ await this.resolveTaskResourceReferences(payload);
355
380
  const isTemplateInstantiation = typeof payload.templateId === 'string' && payload.templateId.length > 0;
356
381
  // Template defaults (including its assigned agents) are part of the saved
357
382
  // resource. Do not let the ordinary "who owns an empty task?" policy
@@ -360,14 +385,26 @@ class TasksCreate extends base_command_1.BaseCommand {
360
385
  if (isTemplateInstantiation) {
361
386
  const validationErrors = (0, tasks_1.validateTaskCreatePayload)(payload);
362
387
  if (flags['dry-run']) {
388
+ const explicitAssignment = Array.isArray(payload.assigneeAgentIds) && Array.isArray(payload.assigneeUserIds);
389
+ const preview = (0, tasks_1.taskAssignmentPreview)(payload);
363
390
  const result = {
364
391
  object: 'task_template_instantiate_dry_run',
365
392
  ok: validationErrors.length === 0,
366
393
  errors: validationErrors,
367
394
  payload,
395
+ assignmentPreview: {
396
+ ...preview,
397
+ executor: payload.executionMode
398
+ ? preview.executor
399
+ : { mode: null, source: 'template_defaults_not_loaded' },
400
+ assigneeAgentIds: explicitAssignment ? preview.assigneeAgentIds : null,
401
+ assigneeUserIds: explicitAssignment ? preview.assigneeUserIds : null,
402
+ assigned: explicitAssignment ? preview.assigned : null,
403
+ defaults: 'template_defaults_not_loaded',
404
+ },
368
405
  };
369
406
  if (flags.json)
370
- this.log(JSON.stringify(result, null, 2));
407
+ this.printJsonOperation(result, { mode: 'dry_run', resource: null, task: null });
371
408
  else
372
409
  this.log(JSON.stringify(result, null, 2));
373
410
  if (validationErrors.length > 0)
@@ -393,7 +430,14 @@ class TasksCreate extends base_command_1.BaseCommand {
393
430
  (instantiated.rootTasks || [])[0];
394
431
  const url = root ? (0, web_url_1.taskUrlFrom)(this.cliConfig.baseURL, root) : undefined;
395
432
  if (flags.json) {
396
- this.log(JSON.stringify({ ...instantiated, ...(url ? { url } : {}) }, null, 2));
433
+ this.printJsonOperation({
434
+ ...instantiated,
435
+ ...(url ? { url } : {}),
436
+ ...(root ? { assignmentPreview: (0, tasks_1.taskAssignmentPreview)(root) } : {}),
437
+ }, {
438
+ resource: root?.id ? { kind: 'task', id: String(root.id) } : null,
439
+ task: root?.id ? { id: String(root.id) } : null,
440
+ });
397
441
  return;
398
442
  }
399
443
  const count = Array.isArray(instantiated.createdTasks) ? instantiated.createdTasks.length : 0;
@@ -468,10 +512,11 @@ class TasksCreate extends base_command_1.BaseCommand {
468
512
  errors,
469
513
  ...(warnings.length > 0 ? { warnings } : {}),
470
514
  defaultAgent: defaultAgentResolution,
515
+ assignmentPreview: (0, tasks_1.taskAssignmentPreview)(payload),
471
516
  payload,
472
517
  };
473
518
  if (flags.json) {
474
- this.log(JSON.stringify(result, null, 2));
519
+ this.printJsonOperation(result, { mode: 'dry_run', resource: null, task: null });
475
520
  }
476
521
  else if (errors.length > 0) {
477
522
  this.log('Dry run failed:');
@@ -533,9 +578,8 @@ class TasksCreate extends base_command_1.BaseCommand {
533
578
  }
534
579
  delete payload.assigneeAgentIds;
535
580
  delete payload.assigneeUserIds;
536
- // `executionMode: 'agent'` is inferred from the same binding and the
537
- // schema rejects it without an agent assignee, so it goes too — unless
538
- // the caller stated it, which is a claim about how the work runs.
581
+ // Remove intent inferred from the discarded binding. Preserve a mode
582
+ // the caller stated: it can be recorded before anyone is assigned.
539
583
  const modeWasStated = flags['execution-mode'] !== undefined ||
540
584
  Object.prototype.hasOwnProperty.call(body ?? {}, 'executionMode');
541
585
  if (!modeWasStated)
@@ -576,12 +620,18 @@ class TasksCreate extends base_command_1.BaseCommand {
576
620
  // bound". Surface the same decision plain mode prints under `assignment`
577
621
  // — a scripted caller is exactly the audience that never sees the note.
578
622
  // (OSK-4856)
579
- this.log(JSON.stringify({
580
- ...created,
623
+ const row = created;
624
+ this.printJsonOperation({
625
+ ...row,
581
626
  url,
582
627
  assignment: defaultAgentResolution,
628
+ assignmentPreview: (0, tasks_1.taskAssignmentPreview)(row),
583
629
  ...(createRecovery ? { recovery: createRecovery } : {}),
584
- }, null, 2));
630
+ }, {
631
+ resource: row.id ? { kind: 'task', id: String(row.id) } : null,
632
+ task: row.id ? { id: String(row.id) } : null,
633
+ replayed: !!createRecovery,
634
+ });
585
635
  return;
586
636
  }
587
637
  this.log(`${createRecovery ? 'Recovered' : 'Created'} task ${(0, tasks_1.formatTaskLabel)(created)}`);
@@ -592,6 +642,8 @@ class TasksCreate extends base_command_1.BaseCommand {
592
642
  // line that stops "unassigned" from being a silent outcome.
593
643
  if (defaultAgentResolution.note)
594
644
  this.log(defaultAgentResolution.note);
645
+ if (flags.unassigned)
646
+ this.log(`Executor intent: ${(0, tasks_1.taskAssignmentPreview)(created).executor.mode || 'unspecified'}; assignment: unassigned. No Run requested.`);
595
647
  if (url)
596
648
  this.log(`View it at ${url}`);
597
649
  await (0, task_instruction_offer_1.maybeOfferTaskManagementInstructions)((message) => this.log(message));
@@ -124,6 +124,7 @@ class TasksDeliverableAdd extends base_command_1.BaseCommand {
124
124
  json: core_1.Flags.boolean({ description: 'Output as JSON' }),
125
125
  };
126
126
  async run() {
127
+ this.setJsonOperation({ command: 'tasks:deliverable:add', mode: 'execute' });
127
128
  this.requireAuth();
128
129
  const { args, flags } = await this.parse(TasksDeliverableAdd);
129
130
  const parsed = (0, tasks_1.parseDeliverableCoordinate)(args.coordinate);
@@ -208,7 +209,10 @@ class TasksDeliverableAdd extends base_command_1.BaseCommand {
208
209
  return;
209
210
  }
210
211
  if (flags.json) {
211
- this.log(JSON.stringify(result, null, 2));
212
+ this.printJsonOperation(result, {
213
+ resource: { kind: 'task_resource_link', id: result?.link?.id },
214
+ task: { id: result?.link?.taskId },
215
+ });
212
216
  return;
213
217
  }
214
218
  const where = parsed.value.location ? ` at ${parsed.value.location}` : '';
@@ -281,12 +285,15 @@ class TasksDeliverableAdd extends base_command_1.BaseCommand {
281
285
  // `--status` is overridden for an archived copy, and --json used to say nothing of it: the
282
286
  // receipt's observation read `available` and the requested status appeared nowhere (OSK-15437).
283
287
  const notes = statusNotApplied(opts.requestedStatus);
284
- this.log(JSON.stringify({
288
+ this.printJsonOperation({
285
289
  ...resourceReceipt,
286
290
  archived,
287
291
  identity: opts.identity,
288
292
  ...(notes ? { requestedStatus: opts.requestedStatus, notes: [notes] } : {}),
289
- }, null, 2));
293
+ }, {
294
+ resource: { kind: 'task_resource_link', id: resourceReceipt?.link.id },
295
+ task: { id: resourceReceipt?.link?.taskId },
296
+ });
290
297
  return true;
291
298
  }
292
299
  const recorded = resourceReceipt?.link.id
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.earlierVersions = earlierVersions;
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");
@@ -88,7 +89,7 @@ class TasksDeliverableList extends base_command_1.BaseCommand {
88
89
  this.handleApiError(error);
89
90
  }
90
91
  if (flags.json)
91
- return this.log(JSON.stringify(result, null, 2));
92
+ return this.printJsonResult((0, list_output_1.listResult)(result));
92
93
  if (!result.data.length)
93
94
  return this.log('No Deliverables recorded.');
94
95
  const earlier = earlierVersions(result.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");
@@ -56,7 +57,7 @@ class TasksEventsList extends base_command_1.BaseCommand {
56
57
  // activity`, both render tables, so the one command an agent is pointed at
57
58
  // for the durable ledger was the one that made you read storage internals.
58
59
  if (flags.json) {
59
- this.log(JSON.stringify(result, null, 2));
60
+ this.printJsonResult((0, list_output_1.listResult)(result));
60
61
  return;
61
62
  }
62
63
  const rows = (result?.data ?? []);
@@ -0,0 +1,12 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export { describeExecutionState } from '../../lib/task-work';
3
+ export default class TasksExecutionState extends BaseCommand {
4
+ static description: string;
5
+ static args: {
6
+ id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.describeExecutionState = void 0;
4
+ const core_1 = require("@oclif/core");
5
+ const data_provider_1 = require("@skrr-ai/data-provider");
6
+ const base_command_1 = require("../../base-command");
7
+ const task_work_1 = require("../../lib/task-work");
8
+ var task_work_2 = require("../../lib/task-work");
9
+ Object.defineProperty(exports, "describeExecutionState", { enumerable: true, get: function () { return task_work_2.describeExecutionState; } });
10
+ class TasksExecutionState extends base_command_1.BaseCommand {
11
+ static description = 'Inspect current Task execution, waiting, health and Result applicability';
12
+ static args = { id: core_1.Args.string({ required: true, ignoreStdin: true, description: 'Task ID or identifier' }) };
13
+ static flags = { json: core_1.Flags.boolean({ description: 'Output the versioned execution snapshot as JSON' }) };
14
+ async run() {
15
+ this.requireAuth();
16
+ const { args, flags } = await this.parse(TasksExecutionState);
17
+ const taskId = await this.resolveTaskReference(args.id);
18
+ let state;
19
+ try {
20
+ state = await data_provider_1.dataService.getTaskExecutionState(taskId);
21
+ }
22
+ catch (error) {
23
+ this.handleApiError(error);
24
+ }
25
+ this.log(flags.json ? JSON.stringify(state, null, 2) : (0, task_work_1.describeExecutionState)(state).join('\n'));
26
+ }
27
+ }
28
+ exports.default = TasksExecutionState;
@@ -7,6 +7,7 @@ const outbox_1 = require("../../../lib/outbox");
7
7
  const task_resolver_1 = require("../../../lib/task-resolver");
8
8
  const api_fetch_1 = require("../../../lib/api-fetch");
9
9
  const session_task_write_1 = require("../../../lib/session-task-write");
10
+ const task_write_attribution_1 = require("../../../lib/task-write-attribution");
10
11
  class TasksExpectationsAssess extends base_command_1.BaseCommand {
11
12
  static description = 'Assess one current Task Expectation with evidence and a reason';
12
13
  // Both positionals are declared optional because oclif REJECTS an args table
@@ -138,7 +139,11 @@ class TasksExpectationsAssess extends base_command_1.BaseCommand {
138
139
  };
139
140
  const sessionWrite = await (0, session_task_write_1.sessionTaskWrite)('assessment', task.id);
140
141
  return sessionWrite
141
- ? await (0, api_fetch_1.apiFetch)(sessionWrite.path, { method: 'POST', body: data, credential: sessionWrite.credential })
142
+ ? await (0, api_fetch_1.apiFetch)(sessionWrite.path, {
143
+ method: 'POST',
144
+ body: data,
145
+ credential: sessionWrite.credential,
146
+ })
142
147
  : await data_provider_1.dataService.assessTaskExpectation({ taskId: task.id, expectationId: id, data });
143
148
  };
144
149
  if (flags.all) {
@@ -155,6 +160,17 @@ class TasksExpectationsAssess extends base_command_1.BaseCommand {
155
160
  }
156
161
  const skippedRejections = flags['include-unmet'] ? [] : rejected;
157
162
  if (ids.length === 0) {
163
+ if (flags.json) {
164
+ this.printJsonResult({
165
+ ok: true,
166
+ decision: flags.decision,
167
+ settled: [],
168
+ failed: [],
169
+ skippedUnmet: skippedRejections,
170
+ attributions: [],
171
+ });
172
+ return;
173
+ }
158
174
  if (skippedRejections.length > 0) {
159
175
  // "Nothing is awaiting assessment" was true of what this command
160
176
  // WOULD touch and false about the Task, which is the distinction that
@@ -168,7 +184,7 @@ class TasksExpectationsAssess extends base_command_1.BaseCommand {
168
184
  this.log('Nothing is awaiting assessment on this Task.');
169
185
  return;
170
186
  }
171
- if (skippedRejections.length > 0) {
187
+ if (skippedRejections.length > 0 && !flags.json) {
172
188
  this.log(`Skipping ${skippedRejections.length} Expectation(s) judged unmet ` +
173
189
  `(${skippedRejections.join(', ')}) — pass --include-unmet to re-assess them.`);
174
190
  }
@@ -177,20 +193,36 @@ class TasksExpectationsAssess extends base_command_1.BaseCommand {
177
193
  // remedy is to re-run for the rest — a single rolled-up "failed" would
178
194
  // make that impossible to work out.
179
195
  const settled = [];
196
+ const attributions = [];
180
197
  const failed = [];
181
198
  for (const id of ids) {
182
199
  try {
183
- await submit(id);
200
+ const receipt = await submit(id);
184
201
  settled.push(id);
202
+ attributions.push({ id, attribution: (0, task_write_attribution_1.taskWriteAttribution)(receipt, 'assessedBy') });
185
203
  }
186
204
  catch (error) {
187
205
  failed.push({ id, message: error?.message || 'unknown error' });
188
206
  }
189
207
  }
190
208
  if (flags.json) {
191
- return this.log(JSON.stringify({ decision: flags.decision, settled, failed }, null, 2));
209
+ this.printJsonResult({
210
+ ok: failed.length === 0,
211
+ decision: flags.decision,
212
+ settled,
213
+ failed,
214
+ skippedUnmet: skippedRejections,
215
+ attributions,
216
+ });
217
+ if (failed.length > 0)
218
+ this.exit(1);
219
+ return;
192
220
  }
193
221
  this.log(`Recorded ${settled.length} Expectation(s) as ${flags.decision}: ${settled.join(', ')}`);
222
+ for (const { id, attribution } of attributions) {
223
+ for (const line of (0, task_write_attribution_1.attributionLines)(attribution))
224
+ this.log(`${id}: ${line}`);
225
+ }
194
226
  for (const failure of failed)
195
227
  this.log(` FAILED ${failure.id}: ${failure.message}`);
196
228
  if (failed.length > 0)
@@ -204,9 +236,12 @@ class TasksExpectationsAssess extends base_command_1.BaseCommand {
204
236
  catch (error) {
205
237
  this.handleApiError(error);
206
238
  }
239
+ const attribution = (0, task_write_attribution_1.taskWriteAttribution)(result, 'assessedBy');
207
240
  if (flags.json)
208
- return this.log(JSON.stringify(result, null, 2));
241
+ return this.printJsonResult({ ...result, attribution });
209
242
  this.log(`Recorded ${expectationId} as ${flags.decision}.`);
243
+ for (const line of (0, task_write_attribution_1.attributionLines)(attribution))
244
+ this.log(line);
210
245
  }
211
246
  }
212
247
  exports.default = TasksExpectationsAssess;
@@ -0,0 +1,10 @@
1
+ import { Command } from '@oclif/core';
2
+ /** Local documentation must remain readable without credentials or a daemon. */
3
+ export default class TasksGuide extends Command {
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ };
9
+ run(): Promise<void>;
10
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const task_operations_1 = require("../../lib/task-operations");
5
+ const json_output_1 = require("../../lib/json-output");
6
+ /** Local documentation must remain readable without credentials or a daemon. */
7
+ class TasksGuide extends core_1.Command {
8
+ static description = 'Find the commands for Task planning, dependencies, preflight, execution, and results';
9
+ static examples = ['<%= config.bin %> tasks guide', '<%= config.bin %> tasks guide --json'];
10
+ static flags = { json: core_1.Flags.boolean({ description: 'Output the local operations guide as JSON' }) };
11
+ async run() {
12
+ const { flags } = await this.parse(TasksGuide);
13
+ if (flags.json)
14
+ this.log(JSON.stringify((0, json_output_1.withOk)((0, task_operations_1.taskOperationsGuide)(this.config.bin)), null, 2));
15
+ else
16
+ for (const line of (0, task_operations_1.taskOperationsGuideLines)(this.config.bin))
17
+ this.log(line);
18
+ }
19
+ }
20
+ exports.default = TasksGuide;
@@ -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 TasksLabelsList 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 r = response;
@@ -27,6 +27,8 @@ export declare function agentSessionOpenDefault(flags: ListFlags, env?: NodeJS.P
27
27
  * Exported and pure so the wording is testable without an oclif runtime.
28
28
  */
29
29
  export declare function emptyTasksMessage(flags: ListFlags, bin?: string): string;
30
+ /** An empty filtered page is evidence about this query, not an empty Space. */
31
+ export declare function externalKeyPrefixWarnings(flags: ListFlags, rowCount: number): ListWarning[];
30
32
  /**
31
33
  * The NEXT column's text, computed once for the table and the `--json`
32
34
  * `nextAction` alias. `reason` is the sentence the server wrote for a person;
@@ -49,6 +51,23 @@ export declare function nextColumnWidth(rows: Array<{
49
51
  * is the one name an agent scanning 43 keys does not guess (OSK-10692).
50
52
  */
51
53
  export declare function taskRef(t: Record<string, unknown>): string;
54
+ /** Evidence about managed execution only; unmanaged work is outside this projection. */
55
+ export declare function taskExecution(t: Record<string, unknown>): Record<string, unknown>;
56
+ export declare function taskPageSummary(items: Array<Record<string, unknown>>, hasMore: boolean): {
57
+ scope: "fetched_page";
58
+ taskCount: number;
59
+ has_more: boolean;
60
+ workflow: Record<string, number>;
61
+ assignment: {
62
+ assigned: number;
63
+ unassigned: number;
64
+ unknown: number;
65
+ };
66
+ readiness: Record<string, number>;
67
+ execution: Record<string, number>;
68
+ measurement: string;
69
+ };
70
+ export declare function taskExecutionText(t: Record<string, unknown>): string;
52
71
  /**
53
72
  * The task-list request bag is shared with import/export so every CLI list
54
73
  * surface serializes the same server-side filters. Keep user-id resolution in