toolroll 0.5.0

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 (626) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1113 -0
  3. package/THIRD_PARTY_NOTICES.md +449 -0
  4. package/dist/accent-colors.d.ts +48 -0
  5. package/dist/accent-colors.js +122 -0
  6. package/dist/action-ledger.d.ts +26 -0
  7. package/dist/action-ledger.js +75 -0
  8. package/dist/agent-fence.d.ts +42 -0
  9. package/dist/agent-fence.js +183 -0
  10. package/dist/agentconfig.d.ts +216 -0
  11. package/dist/agentconfig.js +454 -0
  12. package/dist/api-tokens.d.ts +16 -0
  13. package/dist/api-tokens.js +27 -0
  14. package/dist/approval-policy.d.ts +69 -0
  15. package/dist/approval-policy.js +137 -0
  16. package/dist/approval-rules-ui.d.ts +25 -0
  17. package/dist/approval-rules-ui.js +39 -0
  18. package/dist/assignment-adapters.d.ts +180 -0
  19. package/dist/assignment-adapters.js +239 -0
  20. package/dist/assignment-brief.d.ts +71 -0
  21. package/dist/assignment-brief.js +129 -0
  22. package/dist/assignment-delivery.d.ts +56 -0
  23. package/dist/assignment-delivery.js +160 -0
  24. package/dist/assignment-presentation.d.ts +26 -0
  25. package/dist/assignment-presentation.js +80 -0
  26. package/dist/assignment-status.d.ts +62 -0
  27. package/dist/assignment-status.js +152 -0
  28. package/dist/assignment-ui.d.ts +71 -0
  29. package/dist/assignment-ui.js +103 -0
  30. package/dist/assignment.d.ts +222 -0
  31. package/dist/assignment.js +399 -0
  32. package/dist/attest.d.ts +56 -0
  33. package/dist/attest.js +153 -0
  34. package/dist/backend.d.ts +97 -0
  35. package/dist/backend.js +166 -0
  36. package/dist/backup-ui.d.ts +22 -0
  37. package/dist/backup-ui.js +59 -0
  38. package/dist/backup.d.ts +84 -0
  39. package/dist/backup.js +421 -0
  40. package/dist/beads.d.ts +34 -0
  41. package/dist/beads.js +135 -0
  42. package/dist/bin.d.ts +2 -0
  43. package/dist/bin.js +22 -0
  44. package/dist/board.d.ts +150 -0
  45. package/dist/board.js +210 -0
  46. package/dist/boot-identity.d.ts +63 -0
  47. package/dist/boot-identity.js +99 -0
  48. package/dist/browser/THIRD_PARTY_NOTICES.txt +2295 -0
  49. package/dist/browser/workspace.css +4 -0
  50. package/dist/browser/workspace.js +225 -0
  51. package/dist/browser-crew.d.ts +11 -0
  52. package/dist/browser-crew.js +50 -0
  53. package/dist/browser-shell.d.ts +8 -0
  54. package/dist/browser-shell.js +60 -0
  55. package/dist/browser-workspace.d.ts +780 -0
  56. package/dist/browser-workspace.js +47 -0
  57. package/dist/budget-alerts.d.ts +19 -0
  58. package/dist/budget-alerts.js +46 -0
  59. package/dist/builder.d.ts +370 -0
  60. package/dist/builder.js +3262 -0
  61. package/dist/capscan.d.ts +35 -0
  62. package/dist/capscan.js +113 -0
  63. package/dist/chat-acceptance.d.ts +71 -0
  64. package/dist/chat-acceptance.js +120 -0
  65. package/dist/chat-actions.d.ts +265 -0
  66. package/dist/chat-actions.js +1273 -0
  67. package/dist/chat-channel.d.ts +109 -0
  68. package/dist/chat-channel.js +652 -0
  69. package/dist/chat-continuity.d.ts +32 -0
  70. package/dist/chat-continuity.js +317 -0
  71. package/dist/chat-controls.d.ts +113 -0
  72. package/dist/chat-controls.js +53 -0
  73. package/dist/chat-delivery-state.d.ts +159 -0
  74. package/dist/chat-delivery-state.js +309 -0
  75. package/dist/chat-delivery.d.ts +38 -0
  76. package/dist/chat-delivery.js +693 -0
  77. package/dist/chat-display.d.ts +1 -0
  78. package/dist/chat-display.js +18 -0
  79. package/dist/chat-evidence.d.ts +123 -0
  80. package/dist/chat-evidence.js +207 -0
  81. package/dist/chat-flow.d.ts +44 -0
  82. package/dist/chat-flow.js +215 -0
  83. package/dist/chat-inbox.d.ts +57 -0
  84. package/dist/chat-inbox.js +123 -0
  85. package/dist/chat-polish.d.ts +16 -0
  86. package/dist/chat-polish.js +135 -0
  87. package/dist/chat-review.d.ts +46 -0
  88. package/dist/chat-review.js +98 -0
  89. package/dist/chat-rooms.d.ts +123 -0
  90. package/dist/chat-rooms.js +216 -0
  91. package/dist/chat-task-actions.d.ts +44 -0
  92. package/dist/chat-task-actions.js +79 -0
  93. package/dist/check-progress.d.ts +51 -0
  94. package/dist/check-progress.js +290 -0
  95. package/dist/child-database.d.ts +12 -0
  96. package/dist/child-database.js +30 -0
  97. package/dist/claim.d.ts +688 -0
  98. package/dist/claim.js +1740 -0
  99. package/dist/cli.d.ts +137 -0
  100. package/dist/cli.js +1461 -0
  101. package/dist/codex-limits.d.ts +15 -0
  102. package/dist/codex-limits.js +145 -0
  103. package/dist/coding-context.d.ts +55 -0
  104. package/dist/coding-context.js +92 -0
  105. package/dist/coding-handoff.d.ts +57 -0
  106. package/dist/coding-handoff.js +277 -0
  107. package/dist/coding-provider.d.ts +72 -0
  108. package/dist/coding-provider.js +424 -0
  109. package/dist/coding-shipping-ui.d.ts +4 -0
  110. package/dist/coding-shipping-ui.js +12 -0
  111. package/dist/coding-types.d.ts +62 -0
  112. package/dist/coding-types.js +1 -0
  113. package/dist/coding-ui.d.ts +17 -0
  114. package/dist/coding-ui.js +364 -0
  115. package/dist/coding-update.d.ts +15 -0
  116. package/dist/coding-update.js +149 -0
  117. package/dist/coding-workspace.d.ts +124 -0
  118. package/dist/coding-workspace.js +768 -0
  119. package/dist/container-state.d.ts +5 -0
  120. package/dist/container-state.js +62 -0
  121. package/dist/containment.d.ts +197 -0
  122. package/dist/containment.js +559 -0
  123. package/dist/contest.d.ts +318 -0
  124. package/dist/contest.js +753 -0
  125. package/dist/control-setup.d.ts +35 -0
  126. package/dist/control-setup.js +40 -0
  127. package/dist/control-ui.d.ts +29 -0
  128. package/dist/control-ui.js +53 -0
  129. package/dist/controller-service.d.ts +1 -0
  130. package/dist/controller-service.js +19 -0
  131. package/dist/controller-supervisor.d.ts +30 -0
  132. package/dist/controller-supervisor.js +104 -0
  133. package/dist/converse.d.ts +304 -0
  134. package/dist/converse.js +849 -0
  135. package/dist/coordinator-proposals.d.ts +29 -0
  136. package/dist/coordinator-proposals.js +137 -0
  137. package/dist/coordinator.d.ts +186 -0
  138. package/dist/coordinator.js +447 -0
  139. package/dist/credentials-ui.d.ts +25 -0
  140. package/dist/credentials-ui.js +48 -0
  141. package/dist/daemon.d.ts +209 -0
  142. package/dist/daemon.js +604 -0
  143. package/dist/decision.d.ts +120 -0
  144. package/dist/decision.js +388 -0
  145. package/dist/demo.d.ts +55 -0
  146. package/dist/demo.js +992 -0
  147. package/dist/desktop-access.d.ts +28 -0
  148. package/dist/desktop-access.js +88 -0
  149. package/dist/desktop-bundle.d.ts +16 -0
  150. package/dist/desktop-bundle.js +74 -0
  151. package/dist/desktop-host.d.ts +54 -0
  152. package/dist/desktop-host.js +508 -0
  153. package/dist/desktop-update-gate.d.ts +12 -0
  154. package/dist/desktop-update-gate.js +91 -0
  155. package/dist/desktop-update-recovery.d.ts +14 -0
  156. package/dist/desktop-update-recovery.js +243 -0
  157. package/dist/desktop-update.d.ts +110 -0
  158. package/dist/desktop-update.js +740 -0
  159. package/dist/discord-api.d.ts +20 -0
  160. package/dist/discord-api.js +138 -0
  161. package/dist/discord-chat.d.ts +16 -0
  162. package/dist/discord-chat.js +381 -0
  163. package/dist/discord-settings.d.ts +7 -0
  164. package/dist/discord-settings.js +75 -0
  165. package/dist/discord.d.ts +10 -0
  166. package/dist/discord.js +169 -0
  167. package/dist/discover.d.ts +75 -0
  168. package/dist/discover.js +150 -0
  169. package/dist/dispatch.d.ts +100 -0
  170. package/dist/dispatch.js +311 -0
  171. package/dist/dispose.d.ts +161 -0
  172. package/dist/dispose.js +803 -0
  173. package/dist/email-settings.d.ts +34 -0
  174. package/dist/email-settings.js +50 -0
  175. package/dist/envelope.d.ts +47 -0
  176. package/dist/envelope.js +105 -0
  177. package/dist/evidence-pack.d.ts +185 -0
  178. package/dist/evidence-pack.js +258 -0
  179. package/dist/evidence.d.ts +345 -0
  180. package/dist/evidence.js +782 -0
  181. package/dist/exec.d.ts +285 -0
  182. package/dist/exec.js +1841 -0
  183. package/dist/exhaustion.d.ts +85 -0
  184. package/dist/exhaustion.js +141 -0
  185. package/dist/export-ui.d.ts +4 -0
  186. package/dist/export-ui.js +17 -0
  187. package/dist/export.d.ts +48 -0
  188. package/dist/export.js +305 -0
  189. package/dist/flow-actions.d.ts +77 -0
  190. package/dist/flow-actions.js +203 -0
  191. package/dist/flow-code.d.ts +50 -0
  192. package/dist/flow-code.js +159 -0
  193. package/dist/flow-draft.d.ts +38 -0
  194. package/dist/flow-draft.js +80 -0
  195. package/dist/flow-engine.d.ts +66 -0
  196. package/dist/flow-engine.js +416 -0
  197. package/dist/flow-insights.d.ts +95 -0
  198. package/dist/flow-insights.js +149 -0
  199. package/dist/flow-live.d.ts +24 -0
  200. package/dist/flow-live.js +150 -0
  201. package/dist/flow-people.d.ts +24 -0
  202. package/dist/flow-people.js +91 -0
  203. package/dist/flow-replies.d.ts +48 -0
  204. package/dist/flow-replies.js +113 -0
  205. package/dist/flow-scripts.d.ts +38 -0
  206. package/dist/flow-scripts.js +73 -0
  207. package/dist/flow-secrets.d.ts +13 -0
  208. package/dist/flow-secrets.js +45 -0
  209. package/dist/flow-sort.d.ts +82 -0
  210. package/dist/flow-sort.js +153 -0
  211. package/dist/flow-steps.d.ts +40 -0
  212. package/dist/flow-steps.js +408 -0
  213. package/dist/flow-triggers.d.ts +244 -0
  214. package/dist/flow-triggers.js +959 -0
  215. package/dist/flows-ui.d.ts +20 -0
  216. package/dist/flows-ui.js +175 -0
  217. package/dist/flows.d.ts +229 -0
  218. package/dist/flows.js +968 -0
  219. package/dist/fonts.d.ts +19 -0
  220. package/dist/fonts.js +19 -0
  221. package/dist/gaps.d.ts +35 -0
  222. package/dist/gaps.js +101 -0
  223. package/dist/gate-failure.d.ts +40 -0
  224. package/dist/gate-failure.js +66 -0
  225. package/dist/git.d.ts +54 -0
  226. package/dist/git.js +94 -0
  227. package/dist/google-mail.d.ts +58 -0
  228. package/dist/google-mail.js +151 -0
  229. package/dist/grant.d.ts +136 -0
  230. package/dist/grant.js +238 -0
  231. package/dist/graph.d.ts +164 -0
  232. package/dist/graph.js +383 -0
  233. package/dist/guides.d.ts +22 -0
  234. package/dist/guides.js +363 -0
  235. package/dist/held.d.ts +150 -0
  236. package/dist/held.js +799 -0
  237. package/dist/invoke.d.ts +112 -0
  238. package/dist/invoke.js +780 -0
  239. package/dist/issues.d.ts +41 -0
  240. package/dist/issues.js +131 -0
  241. package/dist/job-object-helper.ps1 +252 -0
  242. package/dist/jsonl-discriminants.d.ts +11 -0
  243. package/dist/jsonl-discriminants.js +93 -0
  244. package/dist/keys.d.ts +104 -0
  245. package/dist/keys.js +229 -0
  246. package/dist/kits-ui.d.ts +17 -0
  247. package/dist/kits-ui.js +46 -0
  248. package/dist/kits.d.ts +86 -0
  249. package/dist/kits.js +215 -0
  250. package/dist/knowledge-cli.d.ts +101 -0
  251. package/dist/knowledge-cli.js +92 -0
  252. package/dist/knowledge-ui.d.ts +24 -0
  253. package/dist/knowledge-ui.js +40 -0
  254. package/dist/lead-context.d.ts +8 -0
  255. package/dist/lead-context.js +56 -0
  256. package/dist/lead-follow.d.ts +22 -0
  257. package/dist/lead-follow.js +167 -0
  258. package/dist/lead-status.d.ts +75 -0
  259. package/dist/lead-status.js +285 -0
  260. package/dist/ledger-chain.d.ts +46 -0
  261. package/dist/ledger-chain.js +187 -0
  262. package/dist/ledger-csv.d.ts +4 -0
  263. package/dist/ledger-csv.js +11 -0
  264. package/dist/ledger-view.d.ts +24 -0
  265. package/dist/ledger-view.js +58 -0
  266. package/dist/limits-ui.d.ts +26 -0
  267. package/dist/limits-ui.js +67 -0
  268. package/dist/link.d.ts +72 -0
  269. package/dist/link.js +217 -0
  270. package/dist/live.d.ts +96 -0
  271. package/dist/live.js +366 -0
  272. package/dist/liveness.d.ts +30 -0
  273. package/dist/liveness.js +42 -0
  274. package/dist/log.d.ts +7 -0
  275. package/dist/log.js +25 -0
  276. package/dist/mailbox.d.ts +57 -0
  277. package/dist/mailbox.js +150 -0
  278. package/dist/maintenance.d.ts +11 -0
  279. package/dist/maintenance.js +35 -0
  280. package/dist/mate-cli.d.ts +52 -0
  281. package/dist/mate-cli.js +345 -0
  282. package/dist/mate-contract.d.ts +10 -0
  283. package/dist/mate-contract.js +30 -0
  284. package/dist/mate-doors.d.ts +69 -0
  285. package/dist/mate-doors.js +548 -0
  286. package/dist/mate-progress.d.ts +29 -0
  287. package/dist/mate-progress.js +121 -0
  288. package/dist/mate-tools.d.ts +94 -0
  289. package/dist/mate-tools.js +1878 -0
  290. package/dist/mate.d.ts +92 -0
  291. package/dist/mate.js +435 -0
  292. package/dist/mcp-connect.d.ts +103 -0
  293. package/dist/mcp-connect.js +252 -0
  294. package/dist/mcp.d.ts +27 -0
  295. package/dist/mcp.js +651 -0
  296. package/dist/memory-cli.d.ts +466 -0
  297. package/dist/memory-cli.js +111 -0
  298. package/dist/memory-pass.d.ts +160 -0
  299. package/dist/memory-pass.js +409 -0
  300. package/dist/metrics.d.ts +3 -0
  301. package/dist/metrics.js +56 -0
  302. package/dist/mobile-viewport.d.ts +3 -0
  303. package/dist/mobile-viewport.js +37 -0
  304. package/dist/model-catalog.d.ts +118 -0
  305. package/dist/model-catalog.js +376 -0
  306. package/dist/models-cli.d.ts +102 -0
  307. package/dist/models-cli.js +66 -0
  308. package/dist/models-ui.d.ts +34 -0
  309. package/dist/models-ui.js +68 -0
  310. package/dist/modes.d.ts +80 -0
  311. package/dist/modes.js +182 -0
  312. package/dist/monitoring-settings.d.ts +44 -0
  313. package/dist/monitoring-settings.js +173 -0
  314. package/dist/monitoring-ui.d.ts +20 -0
  315. package/dist/monitoring-ui.js +51 -0
  316. package/dist/monitoring.d.ts +34 -0
  317. package/dist/monitoring.js +221 -0
  318. package/dist/names.d.ts +67 -0
  319. package/dist/names.js +102 -0
  320. package/dist/observations.d.ts +40 -0
  321. package/dist/observations.js +211 -0
  322. package/dist/oidc.d.ts +71 -0
  323. package/dist/oidc.js +182 -0
  324. package/dist/onboard.d.ts +108 -0
  325. package/dist/onboard.js +325 -0
  326. package/dist/openrouter-models.d.ts +30 -0
  327. package/dist/openrouter-models.js +120 -0
  328. package/dist/operate.d.ts +118 -0
  329. package/dist/operate.js +11321 -0
  330. package/dist/peek-cli.d.ts +97 -0
  331. package/dist/peek-cli.js +215 -0
  332. package/dist/peek.d.ts +134 -0
  333. package/dist/peek.js +578 -0
  334. package/dist/phase-routing.d.ts +307 -0
  335. package/dist/phase-routing.js +658 -0
  336. package/dist/plan-auto.d.ts +14 -0
  337. package/dist/plan-auto.js +92 -0
  338. package/dist/plan.d.ts +186 -0
  339. package/dist/plan.js +401 -0
  340. package/dist/planner-source.d.ts +251 -0
  341. package/dist/planner-source.js +460 -0
  342. package/dist/planner.d.ts +75 -0
  343. package/dist/planner.js +992 -0
  344. package/dist/policy-ui.d.ts +20 -0
  345. package/dist/policy-ui.js +41 -0
  346. package/dist/policy.d.ts +111 -0
  347. package/dist/policy.js +231 -0
  348. package/dist/prepared-evidence.d.ts +16 -0
  349. package/dist/prepared-evidence.js +96 -0
  350. package/dist/pricing.d.ts +45 -0
  351. package/dist/pricing.js +77 -0
  352. package/dist/principal.d.ts +42 -0
  353. package/dist/principal.js +82 -0
  354. package/dist/probe.d.ts +46 -0
  355. package/dist/probe.js +79 -0
  356. package/dist/process-custody.d.ts +17 -0
  357. package/dist/process-custody.js +91 -0
  358. package/dist/process-liveness.d.ts +10 -0
  359. package/dist/process-liveness.js +81 -0
  360. package/dist/process-recovery-anchor.d.ts +75 -0
  361. package/dist/process-recovery-anchor.js +188 -0
  362. package/dist/process-recovery-coalition.d.ts +25 -0
  363. package/dist/process-recovery-coalition.js +105 -0
  364. package/dist/process-recovery-eligibility.d.ts +178 -0
  365. package/dist/process-recovery-eligibility.js +170 -0
  366. package/dist/process-recovery-native.d.ts +172 -0
  367. package/dist/process-recovery-native.js +592 -0
  368. package/dist/process-recovery-provenance.d.ts +163 -0
  369. package/dist/process-recovery-provenance.js +292 -0
  370. package/dist/process-recovery-services.d.ts +56 -0
  371. package/dist/process-recovery-services.js +191 -0
  372. package/dist/process-recovery-settlement.d.ts +32 -0
  373. package/dist/process-recovery-settlement.js +132 -0
  374. package/dist/process-recovery.d.ts +41 -0
  375. package/dist/process-recovery.js +91 -0
  376. package/dist/process-tree.d.ts +41 -0
  377. package/dist/process-tree.js +264 -0
  378. package/dist/project-access.d.ts +14 -0
  379. package/dist/project-access.js +34 -0
  380. package/dist/project-cli.d.ts +18 -0
  381. package/dist/project-cli.js +104 -0
  382. package/dist/project-delete-ui.d.ts +22 -0
  383. package/dist/project-delete-ui.js +48 -0
  384. package/dist/project-delete.d.ts +55 -0
  385. package/dist/project-delete.js +413 -0
  386. package/dist/project-knowledge.d.ts +111 -0
  387. package/dist/project-knowledge.js +241 -0
  388. package/dist/project-learning.d.ts +100 -0
  389. package/dist/project-learning.js +438 -0
  390. package/dist/project-memory.d.ts +81 -0
  391. package/dist/project-memory.js +264 -0
  392. package/dist/project-skills.d.ts +152 -0
  393. package/dist/project-skills.js +660 -0
  394. package/dist/project-tools.d.ts +219 -0
  395. package/dist/project-tools.js +796 -0
  396. package/dist/project.d.ts +61 -0
  397. package/dist/project.js +125 -0
  398. package/dist/prompt.d.ts +22 -0
  399. package/dist/prompt.js +72 -0
  400. package/dist/proof.d.ts +513 -0
  401. package/dist/proof.js +1140 -0
  402. package/dist/proposal.d.ts +82 -0
  403. package/dist/proposal.js +210 -0
  404. package/dist/provider-connection.d.ts +22 -0
  405. package/dist/provider-connection.js +98 -0
  406. package/dist/provider-limits.d.ts +35 -0
  407. package/dist/provider-limits.js +95 -0
  408. package/dist/provider.d.ts +279 -0
  409. package/dist/provider.js +935 -0
  410. package/dist/publish.d.ts +107 -0
  411. package/dist/publish.js +650 -0
  412. package/dist/pulls.d.ts +118 -0
  413. package/dist/pulls.js +240 -0
  414. package/dist/push.d.ts +95 -0
  415. package/dist/push.js +353 -0
  416. package/dist/quality.d.ts +8 -0
  417. package/dist/quality.js +6 -0
  418. package/dist/recipe-ui.d.ts +18 -0
  419. package/dist/recipe-ui.js +152 -0
  420. package/dist/recipes.d.ts +81 -0
  421. package/dist/recipes.js +332 -0
  422. package/dist/remote.d.ts +67 -0
  423. package/dist/remote.js +122 -0
  424. package/dist/render.d.ts +64 -0
  425. package/dist/render.js +587 -0
  426. package/dist/report-summary.d.ts +13 -0
  427. package/dist/report-summary.js +15 -0
  428. package/dist/repos.d.ts +65 -0
  429. package/dist/repos.js +277 -0
  430. package/dist/repository-context-ui.d.ts +2 -0
  431. package/dist/repository-context-ui.js +10 -0
  432. package/dist/repository-context.d.ts +67 -0
  433. package/dist/repository-context.js +376 -0
  434. package/dist/restart-certification.d.ts +134 -0
  435. package/dist/restart-certification.js +226 -0
  436. package/dist/result-actions.d.ts +28 -0
  437. package/dist/result-actions.js +270 -0
  438. package/dist/result-completion.d.ts +18 -0
  439. package/dist/result-completion.js +66 -0
  440. package/dist/result-review.d.ts +213 -0
  441. package/dist/result-review.js +430 -0
  442. package/dist/retention-ui.d.ts +12 -0
  443. package/dist/retention-ui.js +39 -0
  444. package/dist/retention.d.ts +72 -0
  445. package/dist/retention.js +288 -0
  446. package/dist/review-context.d.ts +243 -0
  447. package/dist/review-context.js +1043 -0
  448. package/dist/review-evidence.d.ts +33 -0
  449. package/dist/review-evidence.js +56 -0
  450. package/dist/reviewer.d.ts +97 -0
  451. package/dist/reviewer.js +202 -0
  452. package/dist/routine.d.ts +228 -0
  453. package/dist/routine.js +764 -0
  454. package/dist/runner.d.ts +266 -0
  455. package/dist/runner.js +399 -0
  456. package/dist/scan.d.ts +32 -0
  457. package/dist/scan.js +92 -0
  458. package/dist/scope.d.ts +695 -0
  459. package/dist/scope.js +1176 -0
  460. package/dist/scout-report.d.ts +42 -0
  461. package/dist/scout-report.js +108 -0
  462. package/dist/scout.d.ts +69 -0
  463. package/dist/scout.js +351 -0
  464. package/dist/serve.d.ts +313 -0
  465. package/dist/serve.js +21776 -0
  466. package/dist/session-brief.d.ts +8 -0
  467. package/dist/session-brief.js +24 -0
  468. package/dist/session-cli.d.ts +13 -0
  469. package/dist/session-cli.js +284 -0
  470. package/dist/session-contract.d.ts +183 -0
  471. package/dist/session-contract.js +122 -0
  472. package/dist/session-http.d.ts +19 -0
  473. package/dist/session-http.js +154 -0
  474. package/dist/session-server.d.ts +12 -0
  475. package/dist/session-server.js +37 -0
  476. package/dist/session-service.d.ts +22 -0
  477. package/dist/session-service.js +157 -0
  478. package/dist/setup-guide.d.ts +39 -0
  479. package/dist/setup-guide.js +93 -0
  480. package/dist/sign-in-guard.d.ts +45 -0
  481. package/dist/sign-in-guard.js +74 -0
  482. package/dist/skills-ui.d.ts +11 -0
  483. package/dist/skills-ui.js +58 -0
  484. package/dist/skills.d.ts +97 -0
  485. package/dist/skills.js +276 -0
  486. package/dist/slack-api.d.ts +55 -0
  487. package/dist/slack-api.js +229 -0
  488. package/dist/slack-chat.d.ts +28 -0
  489. package/dist/slack-chat.js +413 -0
  490. package/dist/slack-settings.d.ts +7 -0
  491. package/dist/slack-settings.js +75 -0
  492. package/dist/slack-state.d.ts +13 -0
  493. package/dist/slack-state.js +9 -0
  494. package/dist/slack.d.ts +13 -0
  495. package/dist/slack.js +167 -0
  496. package/dist/spend-ui.d.ts +28 -0
  497. package/dist/spend-ui.js +95 -0
  498. package/dist/spend.d.ts +142 -0
  499. package/dist/spend.js +313 -0
  500. package/dist/sqlite-runtime.d.ts +3 -0
  501. package/dist/sqlite-runtime.js +6 -0
  502. package/dist/sso-settings.d.ts +33 -0
  503. package/dist/sso-settings.js +103 -0
  504. package/dist/sso-ui.d.ts +22 -0
  505. package/dist/sso-ui.js +39 -0
  506. package/dist/storage.d.ts +15 -0
  507. package/dist/storage.js +84 -0
  508. package/dist/store.d.ts +7754 -0
  509. package/dist/store.js +23279 -0
  510. package/dist/structured-output.d.ts +58 -0
  511. package/dist/structured-output.js +103 -0
  512. package/dist/style-asset.d.ts +7 -0
  513. package/dist/style-asset.js +41 -0
  514. package/dist/subscription-chat.d.ts +46 -0
  515. package/dist/subscription-chat.js +275 -0
  516. package/dist/summary.d.ts +33 -0
  517. package/dist/summary.js +71 -0
  518. package/dist/supervisor.mjs +297 -0
  519. package/dist/surface.d.ts +63 -0
  520. package/dist/surface.js +352 -0
  521. package/dist/sync.d.ts +94 -0
  522. package/dist/sync.js +279 -0
  523. package/dist/task-composer.d.ts +13 -0
  524. package/dist/task-composer.js +52 -0
  525. package/dist/task-control.d.ts +165 -0
  526. package/dist/task-control.js +214 -0
  527. package/dist/task-outcome-cli.d.ts +10 -0
  528. package/dist/task-outcome-cli.js +92 -0
  529. package/dist/task-text.d.ts +30 -0
  530. package/dist/task-text.js +41 -0
  531. package/dist/team-cli.d.ts +15 -0
  532. package/dist/team-cli.js +618 -0
  533. package/dist/team-contract.d.ts +92 -0
  534. package/dist/team-contract.js +1 -0
  535. package/dist/team-http.d.ts +17 -0
  536. package/dist/team-http.js +144 -0
  537. package/dist/team-leads.d.ts +81 -0
  538. package/dist/team-leads.js +565 -0
  539. package/dist/team-runtime.d.ts +27 -0
  540. package/dist/team-runtime.js +264 -0
  541. package/dist/team-ui.d.ts +3 -0
  542. package/dist/team-ui.js +9 -0
  543. package/dist/team-updates.d.ts +8 -0
  544. package/dist/team-updates.js +57 -0
  545. package/dist/teammate-admin.d.ts +53 -0
  546. package/dist/teammate-admin.js +111 -0
  547. package/dist/teammate-desk.d.ts +60 -0
  548. package/dist/teammate-desk.js +154 -0
  549. package/dist/teammate-memory.d.ts +64 -0
  550. package/dist/teammate-memory.js +196 -0
  551. package/dist/teammate-question.d.ts +59 -0
  552. package/dist/teammate-question.js +175 -0
  553. package/dist/teammate-tools.d.ts +108 -0
  554. package/dist/teammate-tools.js +271 -0
  555. package/dist/teammate-week.d.ts +68 -0
  556. package/dist/teammate-week.js +132 -0
  557. package/dist/teammate-work.d.ts +76 -0
  558. package/dist/teammate-work.js +280 -0
  559. package/dist/teammates-ui.d.ts +20 -0
  560. package/dist/teammates-ui.js +166 -0
  561. package/dist/teammates.d.ts +180 -0
  562. package/dist/teammates.js +253 -0
  563. package/dist/teams-api.d.ts +33 -0
  564. package/dist/teams-api.js +204 -0
  565. package/dist/teams-chat.d.ts +26 -0
  566. package/dist/teams-chat.js +215 -0
  567. package/dist/teams-settings.d.ts +12 -0
  568. package/dist/teams-settings.js +57 -0
  569. package/dist/teams.d.ts +21 -0
  570. package/dist/teams.js +124 -0
  571. package/dist/telegram-flow.d.ts +49 -0
  572. package/dist/telegram-flow.js +110 -0
  573. package/dist/telegram-mate.d.ts +137 -0
  574. package/dist/telegram-mate.js +707 -0
  575. package/dist/telegram-progress.d.ts +14 -0
  576. package/dist/telegram-progress.js +129 -0
  577. package/dist/telegram-settings.d.ts +9 -0
  578. package/dist/telegram-settings.js +36 -0
  579. package/dist/telegram-status.d.ts +75 -0
  580. package/dist/telegram-status.js +265 -0
  581. package/dist/telegram-team.d.ts +85 -0
  582. package/dist/telegram-team.js +359 -0
  583. package/dist/telegram.d.ts +230 -0
  584. package/dist/telegram.js +1931 -0
  585. package/dist/templates.d.ts +65 -0
  586. package/dist/templates.js +118 -0
  587. package/dist/tool-launcher.d.ts +1 -0
  588. package/dist/tool-launcher.js +101 -0
  589. package/dist/tools-ui.d.ts +30 -0
  590. package/dist/tools-ui.js +40 -0
  591. package/dist/transitions-recipes.d.ts +1 -0
  592. package/dist/transitions-recipes.js +203 -0
  593. package/dist/tree-proof.d.ts +34 -0
  594. package/dist/tree-proof.js +58 -0
  595. package/dist/verification-evidence.d.ts +44 -0
  596. package/dist/verification-evidence.js +238 -0
  597. package/dist/version.d.ts +2 -0
  598. package/dist/version.js +10 -0
  599. package/dist/webhooks.d.ts +91 -0
  600. package/dist/webhooks.js +283 -0
  601. package/dist/work-index.d.ts +68 -0
  602. package/dist/work-index.js +384 -0
  603. package/dist/work-summary.d.ts +57 -0
  604. package/dist/work-summary.js +116 -0
  605. package/dist/workspace-motion.d.ts +4 -0
  606. package/dist/workspace-motion.js +133 -0
  607. package/dist/workspace-revision.d.ts +19 -0
  608. package/dist/workspace-revision.js +92 -0
  609. package/dist/workspace-ui.d.ts +204 -0
  610. package/dist/workspace-ui.js +411 -0
  611. package/dist/worktree-notices.d.ts +13 -0
  612. package/dist/worktree-notices.js +17 -0
  613. package/dist/worktree.d.ts +249 -0
  614. package/dist/worktree.js +720 -0
  615. package/package.json +122 -0
  616. package/scripts/canary-assertions.mjs +42 -0
  617. package/scripts/crash-canary.mjs +253 -0
  618. package/scripts/fixtures/crash-process.mjs +74 -0
  619. package/scripts/fixtures/pilot-scenarios.mjs +85 -0
  620. package/scripts/fixtures/restart-service.mjs +27 -0
  621. package/scripts/launchd-certification.mjs +143 -0
  622. package/scripts/pilot.mjs +121 -0
  623. package/scripts/proof-preflight.mjs +140 -0
  624. package/scripts/provider-canary.mjs +379 -0
  625. package/scripts/recovery-canary.mjs +135 -0
  626. package/scripts/restart-certification.mjs +98 -0
package/dist/graph.js ADDED
@@ -0,0 +1,383 @@
1
+ /**
2
+ * Which work graph is already here.
3
+ *
4
+ * Chosen by looking, not by asking — an operator who already keeps their work
5
+ * in beads should not be made to declare that to a tool standing in the same
6
+ * directory. But **detection is not authorization.** Finding a populated
7
+ * tracker says it exists; it says nothing about whether its owner wants Night
8
+ * Orders scheduling, closing, or restructuring what is in it. Nothing here
9
+ * writes, enrolls, or grants anything.
10
+ *
11
+ * **Nothing is ever installed.** No package manager, no package runner, no
12
+ * initializer — `bd init` stages files, edits agent integrations, and can make
13
+ * a commit, so it is the operator's to run. This module runs read commands
14
+ * against binaries that are already on PATH, and prints what it cannot do.
15
+ *
16
+ * Data and runtime are detected independently, and that separation is the
17
+ * point. A populated tracker with no working runtime is real work that this
18
+ * machine cannot currently dispatch, and saying so at 9am is the whole job —
19
+ * the alternative is finding out inside a dead loop at 3am.
20
+ *
21
+ * Where a fact is not established it is `unverified`, and unverified fails
22
+ * closed. A backend whose dependency edges we cannot confirm is shown and may
23
+ * even be recommended, but it is not dispatchable, because §4's rule is that
24
+ * scheduling edges are never emulated: a private graph other tools cannot see
25
+ * is shadow data.
26
+ */
27
+ import { existsSync } from "node:fs";
28
+ import { join } from "node:path";
29
+ import { run } from "./exec.js";
30
+ export function setupOptions() {
31
+ return [
32
+ {
33
+ kind: "beads",
34
+ label: LABELS.beads,
35
+ install: "brew install beads # or: npm install -g @beads/bd",
36
+ init: "bd init",
37
+ sideEffects: "creates .beads/, and creates or updates AGENTS.md and installs Claude/Codex integrations unless you pass --skip-agents or --stealth",
38
+ note: "native dependency edges and a ready query",
39
+ },
40
+ {
41
+ kind: "github-issues",
42
+ label: LABELS["github-issues"],
43
+ install: null,
44
+ init: null,
45
+ sideEffects: null,
46
+ note: `already there if the repo is on GitHub; needs gh ${GH_DEPS_MIN_VERSION}+ for dependency fields`,
47
+ },
48
+ {
49
+ kind: "built-in",
50
+ label: "built-in",
51
+ install: null,
52
+ init: null,
53
+ sideEffects: null,
54
+ note: "a deliberately small local store, not built yet",
55
+ },
56
+ ];
57
+ }
58
+ const BD = "bd";
59
+ const GH = "gh";
60
+ const BACKLOG = "backlog";
61
+ /** Reading a tracker is local work; only the GitHub one crosses the network. */
62
+ export const LOCAL_TIMEOUT_MS = 10_000;
63
+ export const NETWORK_TIMEOUT_MS = 20_000;
64
+ /**
65
+ * Dependency fields on GitHub Issues need a newer `gh` than the REST route
66
+ * does. The version gate is therefore about *native edges*, not about whether
67
+ * issues can be read at all — an older gh still counts them, it just cannot be
68
+ * trusted to schedule from them.
69
+ */
70
+ export const GH_DEPS_MIN_VERSION = "2.94.0";
71
+ export const LABELS = {
72
+ beads: "beads",
73
+ "backlog-md": "Backlog.md",
74
+ "github-issues": "GitHub Issues",
75
+ };
76
+ /** Where each repo-local tracker keeps its data, relative to the repo root. */
77
+ const DATA_PATHS = {
78
+ beads: ".beads",
79
+ "backlog-md": "backlog.md",
80
+ };
81
+ export async function detectGraphs(repos, options = {}) {
82
+ const { runner = run, exists = existsSync } = options;
83
+ const beadsRepos = repos.filter(repo => exists(join(repo, DATA_PATHS.beads)));
84
+ const backlogRepos = repos.filter(repo => exists(join(repo, DATA_PATHS["backlog-md"])));
85
+ const [beads, backlog, issues] = await Promise.all([
86
+ beadsRepos.length === 0 ? null : detectBeads(beadsRepos, runner),
87
+ backlogRepos.length === 0 ? null : detectBacklog(backlogRepos, runner),
88
+ repos.length === 0 ? null : detectIssues(repos, runner),
89
+ ]);
90
+ return [beads, backlog, issues].filter((one) => one !== null);
91
+ }
92
+ /**
93
+ * beads keeps its data in `.beads/`, and `bd ready --json` is the read that
94
+ * matters: it is the ready set, which is the same question the scheduler asks.
95
+ * There is no `bd list`, so an open count is not available without exporting
96
+ * the whole graph — and counting ready work is the more honest number anyway.
97
+ */
98
+ async function detectBeads(repos, runner) {
99
+ const runtime = await probeVersion(runner, BD, ["version"], repos[0]);
100
+ const problems = [];
101
+ let count = null;
102
+ if (runtime.state === "ok") {
103
+ const counted = await countReady(runner, repos);
104
+ count = counted.count;
105
+ problems.push(...counted.problems);
106
+ }
107
+ else if (runtime.state === "missing") {
108
+ problems.push("bd is not on PATH — beads data is here but cannot be read or scheduled");
109
+ }
110
+ return {
111
+ kind: "beads",
112
+ label: LABELS.beads,
113
+ repos: [...repos],
114
+ count,
115
+ deps: "native",
116
+ runtime,
117
+ // A binary that answers `version` has proved it exists, not that the ready
118
+ // set can be read: a locked database or a schema this build does not
119
+ // understand fails every read while `bd version` keeps saying yes. Reading
120
+ // it once is the only evidence that dispatch would work, so nothing is
121
+ // dispatchable until a read has actually succeeded.
122
+ dispatchable: runtime.state === "ok" && count !== null,
123
+ problems,
124
+ };
125
+ }
126
+ async function countReady(runner, repos) {
127
+ const problems = [];
128
+ let total = 0;
129
+ let counted = false;
130
+ for (const repo of repos) {
131
+ const result = await runner(BD, ["ready", "--json"], {
132
+ cwd: repo,
133
+ timeoutMs: LOCAL_TIMEOUT_MS,
134
+ });
135
+ if (result.code !== 0) {
136
+ problems.push(`${repo}: could not read beads: ${describeFailure(result)}`);
137
+ continue;
138
+ }
139
+ const items = countArray(result.stdout);
140
+ if (items === null) {
141
+ problems.push(`${repo}: beads returned something unreadable`);
142
+ continue;
143
+ }
144
+ total += items;
145
+ counted = true;
146
+ }
147
+ return { count: counted ? { of: "ready", value: total } : null, problems };
148
+ }
149
+ /**
150
+ * Backlog.md is detected from its file and probed for a runtime, but its
151
+ * dependency model is not something this program has confirmed. Unverified
152
+ * fails closed, so it is reported and never dispatched — §4 would rather show
153
+ * a visible gap than emulate edges nobody else can see.
154
+ */
155
+ async function detectBacklog(repos, runner) {
156
+ const runtime = await probeVersion(runner, BACKLOG, ["--version"], repos[0]);
157
+ return {
158
+ kind: "backlog-md",
159
+ label: LABELS["backlog-md"],
160
+ repos: [...repos],
161
+ count: null,
162
+ deps: "unverified",
163
+ runtime,
164
+ dispatchable: false,
165
+ problems: [
166
+ runtime.state === "missing"
167
+ ? "backlog is not on PATH — the file is here but nothing can read it"
168
+ : "dependency edges are unverified — readable, but not scheduled from",
169
+ ],
170
+ };
171
+ }
172
+ /**
173
+ * GitHub Issues are counted through `gh`, which is already how pull requests
174
+ * are read, so no new credential is involved. The version gate is separate
175
+ * from the count on purpose: an older `gh` still answers how many issues are
176
+ * open, it just cannot be trusted for the dependency fields that scheduling
177
+ * would need.
178
+ */
179
+ async function detectIssues(repos, runner) {
180
+ const version = await probeVersion(runner, GH, ["--version"], repos[0]);
181
+ const runtime = gateGhVersion(version);
182
+ const problems = [];
183
+ const withIssues = [];
184
+ let total = 0;
185
+ let counted = false;
186
+ if (runtime.state === "missing") {
187
+ problems.push("gh is not installed — GitHub Issues were not read");
188
+ }
189
+ else {
190
+ for (const repo of repos) {
191
+ const result = await runner(GH, ["issue", "list", "--state", "open", "--limit", "100", "--json", "number"], { cwd: repo, timeoutMs: NETWORK_TIMEOUT_MS });
192
+ if (result.code !== 0) {
193
+ // Only one failure is ordinary: a repository that is not on GitHub, on
194
+ // a machine full of local-only work. Everything else — expired auth, a
195
+ // rate limit, a transport error — is a repository we failed to read,
196
+ // and reporting that as "no issues here" would be a false negative of
197
+ // exactly the kind this tool exists to prevent.
198
+ if (!isMissingRemote(result.stderr)) {
199
+ problems.push(`${repo}: could not read issues: ${describeFailure(result)}`);
200
+ }
201
+ continue;
202
+ }
203
+ const items = countArray(result.stdout);
204
+ if (items === null) {
205
+ problems.push(`${repo}: gh returned something unreadable for issues`);
206
+ continue;
207
+ }
208
+ counted = true;
209
+ if (items > 0) {
210
+ total += items;
211
+ withIssues.push(repo);
212
+ }
213
+ }
214
+ }
215
+ return {
216
+ kind: "github-issues",
217
+ label: LABELS["github-issues"],
218
+ repos: withIssues,
219
+ count: counted ? { of: "open", value: total } : null,
220
+ // Issues have native `blocked_by` and sub-issues, but the dependency
221
+ // fields need a newer gh than reading them does — so an old gh means the
222
+ // edges are unconfirmed, not merely inconvenient. Cross-repository
223
+ // semantics stay unverified regardless, and unverified fails closed.
224
+ deps: runtime.state === "ok" ? "native" : "unverified",
225
+ runtime,
226
+ // Never a default, per the ladder's last rung; see chooseBackend.
227
+ dispatchable: false,
228
+ problems,
229
+ };
230
+ }
231
+ /**
232
+ * The one `gh` failure that means "this is not a GitHub repository" rather
233
+ * than "we could not read it". Matched on the message because gh returns 1 for
234
+ * everything, so the exit code cannot tell these apart.
235
+ */
236
+ function isMissingRemote(stderr) {
237
+ const text = stderr.toLowerCase();
238
+ return (text.includes("no git remotes") ||
239
+ text.includes("not a git repository") ||
240
+ text.includes("could not determine base repository") ||
241
+ text.includes("none of the git remotes"));
242
+ }
243
+ /** `gh --version` prints `gh version 2.67.0 (...)`; take the first number triple. */
244
+ function gateGhVersion(runtime) {
245
+ if (runtime.state !== "ok" || runtime.version === null)
246
+ return runtime;
247
+ if (compareVersions(runtime.version, GH_DEPS_MIN_VERSION) >= 0)
248
+ return runtime;
249
+ return { state: "outdated", version: runtime.version, needs: GH_DEPS_MIN_VERSION };
250
+ }
251
+ async function probeVersion(runner, binary, args, cwd) {
252
+ const result = await runner(binary, args, { cwd, timeoutMs: LOCAL_TIMEOUT_MS });
253
+ if (result.notFound)
254
+ return { state: "missing", binary };
255
+ if (result.code !== 0)
256
+ return { state: "unreadable", reason: describeFailure(result) };
257
+ return { state: "ok", version: parseVersion(result.stdout) };
258
+ }
259
+ /** null when no version-shaped token is present — unknown, not zero. */
260
+ export function parseVersion(text) {
261
+ const found = /(\d+)\.(\d+)(?:\.(\d+))?/.exec(text);
262
+ return found === null ? null : `${found[1]}.${found[2]}.${found[3] ?? "0"}`;
263
+ }
264
+ /** Negative, zero, or positive, like every other comparator. */
265
+ export function compareVersions(left, right) {
266
+ const mine = numbersIn(left);
267
+ const theirs = numbersIn(right);
268
+ for (let index = 0; index < Math.max(mine.length, theirs.length); index++) {
269
+ const difference = (mine[index] ?? 0) - (theirs[index] ?? 0);
270
+ if (difference !== 0)
271
+ return difference;
272
+ }
273
+ return 0;
274
+ }
275
+ function numbersIn(version) {
276
+ return version.split(".").map(part => Number.parseInt(part, 10) || 0);
277
+ }
278
+ /** null when the payload is not the array another program promised us. */
279
+ function countArray(json) {
280
+ let parsed;
281
+ try {
282
+ parsed = JSON.parse(json);
283
+ }
284
+ catch {
285
+ return null;
286
+ }
287
+ return Array.isArray(parsed) ? parsed.length : null;
288
+ }
289
+ function describeFailure(result) {
290
+ if (result.timedOut)
291
+ return "timed out";
292
+ const [line = ""] = result.stderr.trim().split("\n");
293
+ return line === "" ? `exit ${result.code}` : line;
294
+ }
295
+ /**
296
+ * The ladder from §3, as a pure function so the policy can be read and tested
297
+ * without a filesystem.
298
+ *
299
+ * The rung that does the most work is the third: several populated repo-local
300
+ * trackers mean Toolroll stays in discovery until a person says which one.
301
+ * Picking the largest would be inventing authority out of a row count.
302
+ *
303
+ * GitHub Issues is never chosen automatically. It has native edges, but a
304
+ * populated issue tracker is evidence people file issues, not evidence anyone
305
+ * wants an unattended agent closing them — the design requires existing
306
+ * dependency use *and* a confirmed write scope, and neither is established by
307
+ * looking.
308
+ */
309
+ export function chooseBackend(detections, options = {}) {
310
+ const local = detections.filter(one => one.kind !== "github-issues");
311
+ const populated = local.filter(isPopulated);
312
+ // Rung 1. Nothing persists a grant yet — `BackendGrant` is still ahead of us
313
+ // in M0 — so this is reachable only when a caller supplies one. It is here
314
+ // rather than later because an enrolled backend must outrank detection the
315
+ // moment enrollment exists: an operator who already said which one should
316
+ // never be re-asked because a second tracker appeared in some other repo.
317
+ const enrolled = detections.find(one => one.kind === options.enrolled);
318
+ if (enrolled !== undefined) {
319
+ return {
320
+ action: "recommend",
321
+ kind: enrolled.kind,
322
+ dispatchable: enrolled.dispatchable,
323
+ why: "already enrolled",
324
+ };
325
+ }
326
+ if (populated.length === 1) {
327
+ const only = populated[0];
328
+ return {
329
+ action: "recommend",
330
+ kind: only.kind,
331
+ dispatchable: only.dispatchable,
332
+ why: only.dispatchable
333
+ ? `the only work graph in your repos, and ${runtimeWord(only)}`
334
+ : `the only work graph in your repos, but ${blockedWord(only)}`,
335
+ };
336
+ }
337
+ if (populated.length > 1) {
338
+ return {
339
+ action: "ambiguous",
340
+ kinds: populated.map(one => one.kind),
341
+ why: "task count is not authority, so nothing is chosen for you",
342
+ };
343
+ }
344
+ // Rungs 3 and 5. GitHub Issues is deliberately not offered here even when it
345
+ // is the only thing found and full of work. The spec wants existing native
346
+ // dependency use *and* a confirmed write scope, and neither is established
347
+ // by counting issues — people file issues without wanting an agent closing
348
+ // them. Saying so beats falling through in silence, which would read as
349
+ // "nothing found" to someone looking at 112 open issues.
350
+ const issues = detections.find(one => one.kind === "github-issues");
351
+ if (issues !== undefined && isPopulated(issues)) {
352
+ return {
353
+ action: "built-in",
354
+ why: "GitHub Issues is the only tracker here, and is never scheduled from without you saying so; the built-in store is the fallback and is not built yet",
355
+ };
356
+ }
357
+ return {
358
+ action: "built-in",
359
+ why: "no repo-local tracker found; the built-in store is the fallback and is not built yet",
360
+ };
361
+ }
362
+ /**
363
+ * Populated means its data is present, not that we managed to count it. A
364
+ * tracker whose runtime is missing still holds the operator's work, and
365
+ * hiding it because we could not read it would be the silence this tool
366
+ * exists to break.
367
+ */
368
+ function isPopulated(detection) {
369
+ return detection.repos.length > 0 && (detection.count === null || detection.count.value > 0);
370
+ }
371
+ function runtimeWord(detection) {
372
+ const { runtime } = detection;
373
+ return runtime.state === "ok" && runtime.version !== null
374
+ ? `its runtime answers (${runtime.version})`
375
+ : "its runtime answers";
376
+ }
377
+ function blockedWord(detection) {
378
+ if (detection.runtime.state === "missing")
379
+ return `${detection.runtime.binary} is not on PATH`;
380
+ if (detection.deps !== "native")
381
+ return "its dependency edges are unverified";
382
+ return "it is not dispatchable";
383
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Binary-served agent guides (arc 5): the binary is the distribution
3
+ * channel. An agent asks the exact version it is driving — `skills list`
4
+ * names these, `skills get <name>` prints one — and the answer is right
5
+ * by construction, because the content ships compiled into the package.
6
+ * No file reads, no network: string constants survive npx, pruning, and
7
+ * every install layout.
8
+ *
9
+ * The `operating` guide is THE shared source for the installed SKILL.md
10
+ * body (skills.ts composes from it), so the installed snapshot and the
11
+ * served guide cannot drift apart within one version.
12
+ */
13
+ /** Every guide opens with this: the manual defers to the machine. */
14
+ export declare const AUTHORITY_LINE: string;
15
+ export type Guide = {
16
+ readonly name: string;
17
+ readonly title: string;
18
+ readonly oneLiner: string;
19
+ readonly content: string;
20
+ };
21
+ export declare const GUIDES: readonly Guide[];
22
+ export declare function guideNamed(name: string): Guide | null;