toolroll 0.9.58 → 0.9.60

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 (86) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +8 -6
  3. package/dist/action-ledger.js +10 -1
  4. package/dist/assignment-adapters.d.ts +1 -1
  5. package/dist/assignment-adapters.js +1 -1
  6. package/dist/assignment-delivery.d.ts +16 -0
  7. package/dist/assignment-delivery.js +54 -28
  8. package/dist/assignment-status.d.ts +13 -4
  9. package/dist/assignment-status.js +70 -39
  10. package/dist/assignment.d.ts +6 -2
  11. package/dist/assignment.js +13 -8
  12. package/dist/bin.js +11 -2
  13. package/dist/brief-fence.d.ts +9 -0
  14. package/dist/brief-fence.js +22 -0
  15. package/dist/browser/workspace.css +2 -2
  16. package/dist/browser/workspace.js +19 -19
  17. package/dist/builder.js +78 -27
  18. package/dist/chat-channel.d.ts +1 -0
  19. package/dist/chat-channel.js +4 -1
  20. package/dist/chat-delivery.js +2 -0
  21. package/dist/cli-fast.d.ts +8 -0
  22. package/dist/cli-fast.js +18 -0
  23. package/dist/cli-help.d.ts +5 -0
  24. package/dist/cli-help.js +91 -0
  25. package/dist/cli.d.ts +6 -5
  26. package/dist/cli.js +17 -96
  27. package/dist/contract-changes.d.ts +52 -0
  28. package/dist/contract-changes.js +61 -0
  29. package/dist/decision.d.ts +4 -0
  30. package/dist/decision.js +8 -0
  31. package/dist/deploy-lock.d.ts +8 -0
  32. package/dist/deploy-lock.js +45 -0
  33. package/dist/design/tokens.css +234 -0
  34. package/dist/discord.js +2 -1
  35. package/dist/dispatch.js +1 -1
  36. package/dist/evidence.d.ts +22 -0
  37. package/dist/evidence.js +76 -17
  38. package/dist/flow-actions.js +2 -1
  39. package/dist/guides.js +14 -11
  40. package/dist/lead-cli.js +4 -1
  41. package/dist/lead-contract.js +1 -1
  42. package/dist/lead-doors.js +8 -2
  43. package/dist/lead-follow.d.ts +2 -0
  44. package/dist/lead-follow.js +138 -88
  45. package/dist/lead-tools.js +11 -3
  46. package/dist/mailbox.js +3 -2
  47. package/dist/mcp-core.js +1 -1
  48. package/dist/needs-you.js +3 -1
  49. package/dist/operate.js +38 -17
  50. package/dist/password-bearer.d.ts +4 -4
  51. package/dist/password-bearer.js +2 -2
  52. package/dist/planner-source.d.ts +23 -53
  53. package/dist/planner-source.js +43 -68
  54. package/dist/provider.d.ts +8 -0
  55. package/dist/provider.js +12 -1
  56. package/dist/release-gate.d.ts +2 -3
  57. package/dist/release-gate.js +44 -16
  58. package/dist/scope.js +14 -0
  59. package/dist/serve.js +3 -2
  60. package/dist/server/chrome.d.ts +6 -3
  61. package/dist/server/chrome.js +8 -4
  62. package/dist/server/console.css +9 -64
  63. package/dist/server/render-chat.js +12 -2
  64. package/dist/server/render-tasks.d.ts +2 -0
  65. package/dist/server/render-tasks.js +30 -22
  66. package/dist/server/task-views.js +1 -0
  67. package/dist/server/tasks.js +3 -1
  68. package/dist/slack-socket.d.ts +12 -0
  69. package/dist/slack-socket.js +29 -0
  70. package/dist/slack.d.ts +0 -7
  71. package/dist/slack.js +2 -24
  72. package/dist/steer-mailbox.d.ts +39 -0
  73. package/dist/steer-mailbox.js +207 -0
  74. package/dist/steer-status.d.ts +19 -0
  75. package/dist/steer-status.js +30 -0
  76. package/dist/store.d.ts +85 -8
  77. package/dist/store.js +203 -15
  78. package/dist/surface.js +2 -2
  79. package/dist/sweep-gate.d.ts +10 -0
  80. package/dist/sweep-gate.js +18 -0
  81. package/dist/task-status.js +3 -1
  82. package/dist/team-updates.js +3 -3
  83. package/dist/telegram-lead.js +6 -0
  84. package/dist/telegram.js +9 -7
  85. package/dist/toolroll-update.js +20 -1
  86. package/package.json +21 -21
@@ -0,0 +1,22 @@
1
+ /**
2
+ * One line, prefixed, with nothing that can end the block or start a new rule.
3
+ *
4
+ * Scope text is written by whoever filed the task. A goal containing a newline
5
+ * and a bullet would otherwise read to the agent as another rule in the list,
6
+ * which is how "add a guard" becomes "add a guard, and ignore the rules below".
7
+ * The same quoting wraps a steering note the agent reads from its mailbox.
8
+ */
9
+ export function fence(text) {
10
+ // Newlines and other control characters collapse to a space: they are the
11
+ // only way a value can stop being one line and start looking like a new
12
+ // rule. The visible text is otherwise left exactly as written — mangling
13
+ // somebody's scope to defend against it would be its own kind of wrong.
14
+ return `| ${text
15
+ // C0/C1 plus the Unicode line and paragraph separators: everything
16
+ // that could end this physical line (Codex free-text review, finding 5).
17
+ .replace(/[\u0000-\u001F\u007F-\u009F\u2028\u2029]+/g, " ")
18
+ // A quoted protocol-shaped name is broken VISIBLY, so untrusted text
19
+ // can never collide with the real nonce-bearing filename that follows.
20
+ .replace(/STANDING-ORDERS-/g, "NIGHTORDERS[quoted]-")
21
+ .trim()}`;
22
+ }