@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
@@ -31,6 +31,11 @@
31
31
  * and the daemon spends each approval once: a second delivery of the same
32
32
  * attestation inside its window is refused as `replayed`. That ledger lives
33
33
  * in daemon memory, so a daemon restart inside the (≤60s) window forgets it.
34
+ *
35
+ * v2 (OSK-16614, `toolApprovalSignature.ts`) carries the same claims signed by
36
+ * a platform Ed25519 key and bound to the daemon and session; a daemon that has
37
+ * pinned the platform's keyset accepts only v2. This module stays the v1
38
+ * format and the checks both versions share.
34
39
  */
35
40
  /** Announced by a daemon that honours `attestedApproval` on daemon:tool:request. */
36
41
  export declare const DAEMON_TOOL_ATTESTED_APPROVAL_CAPABILITY = "daemon_tool_attested_approval_v1";
@@ -84,6 +89,14 @@ export interface AttestedToolApproval {
84
89
  issuedAt: number;
85
90
  expiresAt: number;
86
91
  }
92
+ /**
93
+ * Deterministic serialization for the input digest: objects sort keys
94
+ * recursively, arrays keep order, non-JSON values normalize the way
95
+ * `JSON.stringify` would emit them (undefined/functions in objects drop, in
96
+ * arrays become null). Both runtimes must digest the SAME bytes — the server
97
+ * mints and the daemon verifies — so this lives here, once.
98
+ */
99
+ export declare function canonicalApprovalJson(value: unknown): string;
87
100
  /** The digest both sides compute over `toolInput`. */
88
101
  export declare function canonicalToolInputDigest(toolInput: unknown): string;
89
102
  /** Server side: mint the attestation after a person approved THIS call. */
@@ -106,8 +119,24 @@ export declare function mintAttestedToolApproval(args: {
106
119
  * - `replayed` — this exact approval was already spent on this daemon
107
120
  * (the ledger is the verifier's caller's, see the daemon's
108
121
  * `permissions/attestation-ledger.ts`)
122
+ *
123
+ * Signed approvals (`tool_approval_signed_v1`, `toolApprovalSignature.ts`):
124
+ * - `unsigned` — a v1 (unsigned) attestation reached a daemon that has
125
+ * pinned the platform's approval keyset: a downgrade
126
+ * - `unknown_key` — signed by a key id the pinned keyset does not hold
127
+ * - `signature` — the signature does not verify over the payload
128
+ * - `daemon_binding` — signed for a different daemon or session
129
+ * - `unpinned` — a v2 attestation reached a daemon holding no keyset,
130
+ * so nothing here can verify it
131
+ * - `pin_unreadable` — the pinned keyset file exists and cannot be read;
132
+ * nothing is accepted rather than falling back to v1
133
+ *
134
+ * All are internal-only for the person: the daemon log line
135
+ * (`describePermissionRefusalForLog`, `attestation=<reason>`) names them, and
136
+ * the refusal text a caller reads distinguishes only `absent` from "did not
137
+ * verify" so a probing caller learns nothing new.
109
138
  */
110
- export type AttestedToolApprovalRefusalReason = 'absent' | 'malformed' | 'binding' | 'expired' | 'window' | 'replayed';
139
+ export type AttestedToolApprovalRefusalReason = 'absent' | 'malformed' | 'binding' | 'expired' | 'window' | 'replayed' | 'unsigned' | 'unknown_key' | 'signature' | 'daemon_binding' | 'unpinned' | 'pin_unreadable';
111
140
  export type AttestedToolApprovalVerdict = {
112
141
  ok: true;
113
142
  } | {
@@ -131,3 +160,22 @@ export declare function verifyAttestedToolApproval(approval: unknown, call: {
131
160
  toolInput: unknown;
132
161
  now?: number;
133
162
  }): AttestedToolApprovalVerdict;
163
+ /**
164
+ * The checks every attestation version shares once its claims are trusted to
165
+ * be what the issuer wrote: freshness, the verifier-owned window, and the
166
+ * binding to this exact call. v1 reaches here after a shape check; v2
167
+ * (`toolApprovalSignature.ts`) only after its signature verified, so one
168
+ * implementation decides "expired", "window" and "binding" for both.
169
+ */
170
+ export declare function verifyAttestedToolApprovalClaims(a: {
171
+ toolUseId: string;
172
+ toolName: string;
173
+ inputSha256: string;
174
+ issuedAt: number;
175
+ expiresAt: number;
176
+ }, call: {
177
+ toolUseId: string;
178
+ toolName: string;
179
+ toolInput: unknown;
180
+ now?: number;
181
+ }): AttestedToolApprovalVerdict;
@@ -2,9 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ATTESTED_TOOL_APPROVAL_CLOCK_SKEW_MS = exports.ATTESTED_TOOL_APPROVAL_TTL_MS = exports.DAEMON_TOOL_CATEGORIES = exports.DAEMON_TOOL_READ_ONLY_CAPABILITY = exports.DAEMON_TOOL_ATTESTED_APPROVAL_CAPABILITY = void 0;
4
4
  exports.categoryForDaemonTool = categoryForDaemonTool;
5
+ exports.canonicalApprovalJson = canonicalApprovalJson;
5
6
  exports.canonicalToolInputDigest = canonicalToolInputDigest;
6
7
  exports.mintAttestedToolApproval = mintAttestedToolApproval;
7
8
  exports.verifyAttestedToolApproval = verifyAttestedToolApproval;
9
+ exports.verifyAttestedToolApprovalClaims = verifyAttestedToolApprovalClaims;
8
10
  const node_crypto_1 = require("node:crypto");
9
11
  /**
10
12
  * Server-attested tool approval (OSK-11975 follow-up to the `manual` mode
@@ -39,6 +41,11 @@ const node_crypto_1 = require("node:crypto");
39
41
  * and the daemon spends each approval once: a second delivery of the same
40
42
  * attestation inside its window is refused as `replayed`. That ledger lives
41
43
  * in daemon memory, so a daemon restart inside the (≤60s) window forgets it.
44
+ *
45
+ * v2 (OSK-16614, `toolApprovalSignature.ts`) carries the same claims signed by
46
+ * a platform Ed25519 key and bound to the daemon and session; a daemon that has
47
+ * pinned the platform's keyset accepts only v2. This module stays the v1
48
+ * format and the checks both versions share.
42
49
  */
43
50
  /** Announced by a daemon that honours `attestedApproval` on daemon:tool:request. */
44
51
  exports.DAEMON_TOOL_ATTESTED_APPROVAL_CAPABILITY = 'daemon_tool_attested_approval_v1';
@@ -112,6 +119,9 @@ exports.ATTESTED_TOOL_APPROVAL_TTL_MS = 60 * 1000;
112
119
  * arrays become null). Both runtimes must digest the SAME bytes — the server
113
120
  * mints and the daemon verifies — so this lives here, once.
114
121
  */
122
+ function canonicalApprovalJson(value) {
123
+ return canonicalJson(value);
124
+ }
115
125
  function canonicalJson(value) {
116
126
  if (value === null || typeof value !== 'object') {
117
127
  if (value === undefined || typeof value === 'function' || typeof value === 'symbol') {
@@ -175,6 +185,22 @@ function verifyAttestedToolApproval(approval, call) {
175
185
  typeof a.expiresAt !== 'number') {
176
186
  return { ok: false, reason: 'malformed' };
177
187
  }
188
+ return verifyAttestedToolApprovalClaims({
189
+ toolUseId: a.toolUseId,
190
+ toolName: a.toolName,
191
+ inputSha256: a.inputSha256,
192
+ issuedAt: a.issuedAt,
193
+ expiresAt: a.expiresAt,
194
+ }, call);
195
+ }
196
+ /**
197
+ * The checks every attestation version shares once its claims are trusted to
198
+ * be what the issuer wrote: freshness, the verifier-owned window, and the
199
+ * binding to this exact call. v1 reaches here after a shape check; v2
200
+ * (`toolApprovalSignature.ts`) only after its signature verified, so one
201
+ * implementation decides "expired", "window" and "binding" for both.
202
+ */
203
+ function verifyAttestedToolApprovalClaims(a, call) {
178
204
  const now = call.now ?? Date.now();
179
205
  if (a.expiresAt <= now || a.issuedAt > now + exports.ATTESTED_TOOL_APPROVAL_CLOCK_SKEW_MS) {
180
206
  return { ok: false, reason: 'expired' };
@@ -0,0 +1,118 @@
1
+ /**
2
+ * daemonWire.ts — the ONE declaration of every name the daemon and the API
3
+ * put on the wire between them, with what each name is for (OSK-16617).
4
+ *
5
+ * `computerWire.ts` proved the pattern for one family: the names live in the
6
+ * published package every end can import, and a boundary spec fails on a
7
+ * second spelling. This module generalises it to the whole daemon wire. Each
8
+ * entry declares:
9
+ *
10
+ * - `direction` — who sends it. `bidirectional` means both ends send AND
11
+ * handle the same name (`rpc:request`, the model-proxy relay);
12
+ * - `delivery` — `acked` when the sender learns that it arrived (a Socket.IO
13
+ * acknowledgement callback, or an answer event named in `answeredBy`),
14
+ * `fire_and_forget` otherwise;
15
+ * - `stability` — `stable`: every supported daemon and API speak it, and a
16
+ * change needs a new capability; `experimental`: newer than the fleet, or
17
+ * declared ahead of a speaker (`dormant` says which), and its shape may
18
+ * still move; `deprecated`: kept only so an older peer is heard, never
19
+ * newly sent;
20
+ * - `capability` — the capability the daemon announces before the API may
21
+ * send it (or before the daemon itself sends it). `null` means the event
22
+ * predates capability gating and every supported daemon speaks it;
23
+ * - `payload` — the zod schema that validates it, NAMED (an export of
24
+ * `@skrr-ai/data-provider`, which owns every zod schema; this module stays
25
+ * zod-free so the browser, React Native and a bun-compiled daemon all load
26
+ * it), or `unvalidated`. "This event has no schema" is a recorded fact
27
+ * here, counted by `scripts/daemon-wire/unvalidated-ratchet.mjs`, which
28
+ * lets the count fall and never rise.
29
+ *
30
+ * Who checks it:
31
+ *
32
+ * - `daemon/src/daemon-wire-registry.test.ts` parses the daemon's source and
33
+ * fails on an event the daemon handles or sends that is not declared here,
34
+ * or that it handles or sends against its declared direction;
35
+ * - `api/server/websocket/__tests__/daemonWireRegistry.spec.js` holds the
36
+ * API's SSE ingress table (`EXACT_DAEMON_INGRESS`) and its daemon-socket
37
+ * listeners to the same declarations. The API keeps its own table on
38
+ * purpose: the routing kind is server-owned, and an API booting on a stale
39
+ * package build must not lose routes;
40
+ * - `scripts/daemon-wire/generate-schema.mjs` writes
41
+ * `docs/protocol/daemon-wire.schema.json` from here (the Codex
42
+ * `generate-json-schema` analogue), and a spec fails when it is stale.
43
+ *
44
+ * Event names, never routing: a `{provider}` placeholder stands for one
45
+ * session-provider spelling (`daemon:{provider}:request`). Which spellings are
46
+ * heard is `firstPartyHarness.ts`'s and the API's `sessionProvider.js`'s
47
+ * decision, not this table's.
48
+ */
49
+ export declare const DAEMON_WIRE_DIRECTIONS: readonly ["server_to_daemon", "daemon_to_server", "bidirectional"];
50
+ export type DaemonWireDirection = (typeof DAEMON_WIRE_DIRECTIONS)[number];
51
+ export declare const DAEMON_WIRE_DELIVERIES: readonly ["fire_and_forget", "acked"];
52
+ export type DaemonWireDelivery = (typeof DAEMON_WIRE_DELIVERIES)[number];
53
+ export declare const DAEMON_WIRE_STABILITIES: readonly ["stable", "experimental", "deprecated"];
54
+ export type DaemonWireStability = (typeof DAEMON_WIRE_STABILITIES)[number];
55
+ /**
56
+ * How a name travels. `event` is its own Socket.IO / SSE event; `rpc` is a
57
+ * `method` inside `rpc:request`, answered on `rpc:response` — the shape SSE
58
+ * needs because it has no acknowledgement callback. Several older methods are
59
+ * still ALSO their own event for a Socket.IO daemon, and are declared once
60
+ * with both.
61
+ */
62
+ export declare const DAEMON_WIRE_CARRIERS: readonly ["event", "rpc"];
63
+ export type DaemonWireCarrier = (typeof DAEMON_WIRE_CARRIERS)[number];
64
+ /**
65
+ * The zod schema that validates a payload, by its export name in
66
+ * `@skrr-ai/data-provider` (a dotted path reaches into an exported table:
67
+ * `DAEMON_COMPUTER_EVENT_PAYLOAD_SCHEMAS.attach`). `unvalidated` is a recorded
68
+ * gap, not a default: both ends read the payload field by field.
69
+ */
70
+ export type DaemonWirePayload = {
71
+ readonly kind: 'zod';
72
+ readonly schema: string;
73
+ } | {
74
+ readonly kind: 'unvalidated';
75
+ };
76
+ export interface DaemonWireEntry {
77
+ readonly name: string;
78
+ readonly direction: DaemonWireDirection;
79
+ readonly delivery: DaemonWireDelivery;
80
+ /** The name carrying the answer, when `delivery` is `acked` by an answer rather than a callback. */
81
+ readonly answeredBy?: string;
82
+ readonly stability: DaemonWireStability;
83
+ readonly capability: string | null;
84
+ /**
85
+ * A capability the API announces in `daemon:registered.serverCaps` that
86
+ * changes this name's delivery (`toolResponseAck` turns a fire-and-forget
87
+ * `daemon:tool:response` into an acked one). Absent: the API's version alone decides.
88
+ */
89
+ readonly serverCapability?: string;
90
+ readonly carriers: readonly DaemonWireCarrier[];
91
+ readonly payload: DaemonWirePayload;
92
+ readonly purpose: string;
93
+ /**
94
+ * The API also accepts this name from a person's client socket and relays
95
+ * it to the daemon under the same name (`daemon:list-dirs`). Without this, a
96
+ * server-side listener of a server → daemon name would read as a direction error.
97
+ */
98
+ readonly relayedFromClient?: boolean;
99
+ /**
100
+ * Declared, and one end has no speaker for it: why. A dormant entry is exempt
101
+ * from "somebody speaks this" and is still subject to every other check.
102
+ */
103
+ readonly dormant?: string;
104
+ }
105
+ /** Every daemon ⇄ API name, in declaration order (which the generated schema keeps). */
106
+ export declare const DAEMON_WIRE: readonly DaemonWireEntry[];
107
+ export declare const DAEMON_WIRE_NAMES: readonly string[];
108
+ /**
109
+ * The declaration a concrete name belongs to, or null. An exact declaration
110
+ * wins over a templated one: `daemon:ping:response` is its own event, not a
111
+ * `daemon:{provider}:response`. A templated match says only that the SHAPE is
112
+ * declared; whether a provider spelling is heard is the API's decision.
113
+ */
114
+ export declare function daemonWireEntry(name: string): DaemonWireEntry | null;
115
+ /** Whether `direction` lets `end` send the name. */
116
+ export declare function daemonWireSends(entry: DaemonWireEntry, end: 'daemon' | 'server'): boolean;
117
+ /** Whether `direction` lets `end` handle the name. */
118
+ export declare function daemonWireHandles(entry: DaemonWireEntry, end: 'daemon' | 'server'): boolean;