toolroll 0.9.84 → 0.9.85

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 (81) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +94 -1193
  3. package/dist/agent-fence.d.ts +3 -3
  4. package/dist/agent-fence.js +3 -3
  5. package/dist/agent-onboard.d.ts +2 -0
  6. package/dist/agent-onboard.js +3 -0
  7. package/dist/browser/workspace.css +1 -1
  8. package/dist/browser/workspace.js +31 -31
  9. package/dist/browser-workspace.d.ts +5 -0
  10. package/dist/chat-channel.d.ts +10 -1
  11. package/dist/chat-channel.js +35 -5
  12. package/dist/chat-decide.d.ts +16 -4
  13. package/dist/chat-decide.js +239 -31
  14. package/dist/chat-messages.d.ts +5 -0
  15. package/dist/chat-messages.js +1 -1
  16. package/dist/chat-quiet.js +3 -2
  17. package/dist/chat-review.d.ts +4 -0
  18. package/dist/chat-review.js +13 -4
  19. package/dist/chat-terms.d.ts +9 -0
  20. package/dist/chat-terms.js +46 -0
  21. package/dist/contracts/console-api.d.ts +2 -1
  22. package/dist/contracts/console-api.js +2 -1
  23. package/dist/contracts/lead-tools.d.ts +30 -0
  24. package/dist/contracts/lead-tools.js +3 -0
  25. package/dist/contracts/youiyoux-request.d.ts +248 -0
  26. package/dist/contracts/youiyoux-request.js +152 -0
  27. package/dist/flow-cadence.d.ts +8 -2
  28. package/dist/flow-cadence.js +16 -3
  29. package/dist/flow-card-task.d.ts +9 -0
  30. package/dist/flow-card-task.js +15 -6
  31. package/dist/integrations-ui.js +9 -4
  32. package/dist/integrations.d.ts +9 -1
  33. package/dist/integrations.js +43 -2
  34. package/dist/landed-cleanup.d.ts +4 -0
  35. package/dist/landed-cleanup.js +3 -2
  36. package/dist/lead-capabilities.js +2 -1
  37. package/dist/lead-cli.js +3 -1
  38. package/dist/lead-tools.d.ts +2 -0
  39. package/dist/lead-tools.js +30 -4
  40. package/dist/lead.d.ts +2 -0
  41. package/dist/lead.js +3 -3
  42. package/dist/operate.d.ts +1 -2
  43. package/dist/operate.js +11 -15
  44. package/dist/project-activity.d.ts +20 -0
  45. package/dist/project-activity.js +23 -0
  46. package/dist/project-cli.d.ts +1 -0
  47. package/dist/project-cli.js +36 -19
  48. package/dist/project-knowledge.d.ts +3 -3
  49. package/dist/project-outcomes.d.ts +119 -0
  50. package/dist/project-outcomes.js +79 -0
  51. package/dist/result-actions.d.ts +4 -0
  52. package/dist/result-actions.js +41 -9
  53. package/dist/result-review.d.ts +9 -0
  54. package/dist/result-review.js +45 -5
  55. package/dist/server/console.css +12 -0
  56. package/dist/server/pages.js +11 -1
  57. package/dist/server/render-chat.js +3 -2
  58. package/dist/server/render-pages.d.ts +2 -2
  59. package/dist/server/render-pages.js +7 -2
  60. package/dist/server/render-results.d.ts +2 -0
  61. package/dist/server/render-results.js +20 -7
  62. package/dist/server/render-tasks.d.ts +1 -0
  63. package/dist/server/render-tasks.js +15 -5
  64. package/dist/server/route-table.js +1 -0
  65. package/dist/server/settings.js +18 -1
  66. package/dist/server/task-views.js +6 -0
  67. package/dist/server/tasks.js +42 -6
  68. package/dist/store.d.ts +46 -3
  69. package/dist/store.js +165 -6
  70. package/dist/task-source.d.ts +13 -1
  71. package/dist/task-source.js +17 -1
  72. package/dist/telegram-lead.js +7 -5
  73. package/dist/telegram.js +1 -1
  74. package/dist/toolroll-update.js +2 -2
  75. package/dist/webhooks.d.ts +6 -0
  76. package/dist/webhooks.js +25 -0
  77. package/dist/work-index.d.ts +4 -0
  78. package/dist/work-index.js +32 -0
  79. package/dist/youiyoux-intake.d.ts +234 -0
  80. package/dist/youiyoux-intake.js +908 -0
  81. package/package.json +11 -8
@@ -309,15 +309,15 @@ export declare function sandboxedSpawn(file: string, args: readonly string[], fe
309
309
  env: Record<string, string>;
310
310
  };
311
311
  /**
312
- * What each agent's fence gives it, by permission mode: the one table README's "What an agent can reach" shows
313
- * (fenceSummaryMarkdown; a test holds them equal).
312
+ * What each agent's fence gives it, by permission mode: the one table "What an agent can reach" in
313
+ * docs/guide/security.md shows (fenceSummaryMarkdown; a test holds them equal).
314
314
  */
315
315
  export declare const FENCE_SUMMARY: readonly {
316
316
  agent: string;
317
317
  auto: string;
318
318
  full: string;
319
319
  }[];
320
- /** FENCE_SUMMARY as README's markdown table. */
320
+ /** FENCE_SUMMARY as the security guide's markdown table. */
321
321
  export declare function fenceSummaryMarkdown(): string;
322
322
  /** What a `sign-ins` check reads and writes beyond its fence (check-access.ts): its exact sign-in files, its own Claude
323
323
  * transcript folder (macOS) and Codex's session and log folders. */
@@ -1075,8 +1075,8 @@ export function sandboxedSpawn(file, args, fence, grants = NO_GRANTS, cwd, temp)
1075
1075
  return srtSpawn(file, args, srtTermsOf(fence, grants), cwd ?? process.cwd(), temp);
1076
1076
  }
1077
1077
  /**
1078
- * What each agent's fence gives it, by permission mode: the one table README's "What an agent can reach" shows
1079
- * (fenceSummaryMarkdown; a test holds them equal).
1078
+ * What each agent's fence gives it, by permission mode: the one table "What an agent can reach" in
1079
+ * docs/guide/security.md shows (fenceSummaryMarkdown; a test holds them equal).
1080
1080
  */
1081
1081
  export const FENCE_SUMMARY = [
1082
1082
  {
@@ -1090,7 +1090,7 @@ export const FENCE_SUMMARY = [
1090
1090
  full: "the same reads and writes, with the fence; its commands reach the network only when the project's network is open",
1091
1091
  },
1092
1092
  ];
1093
- /** FENCE_SUMMARY as README's markdown table. */
1093
+ /** FENCE_SUMMARY as the security guide's markdown table. */
1094
1094
  export function fenceSummaryMarkdown() {
1095
1095
  return ["| | Auto | Full access |", "|---|---|---|", ...FENCE_SUMMARY.map(row => `| ${row.agent} | ${row.auto} | ${row.full} |`)].join("\n");
1096
1096
  }
@@ -125,6 +125,8 @@ export type OnboardIo = {
125
125
  /** Whether the project can open pull requests at Complete, in one line: on, the one command that turns it on, or
126
126
  * what to fix first. Turning it on stays a person's password step. */
127
127
  pullRequests?: (repo: string) => Promise<string>;
128
+ /** For a project that uses youiyoux, the one line that says its change requests become tasks; null otherwise. */
129
+ youiyoux?: (repo: string) => Promise<string | null>;
128
130
  /** --starter, as typed: a comma list of starter flow ids to switch on. */
129
131
  starterFlag?: string | undefined;
130
132
  /** The project's starter flows, and switching one on — its trigger and zones. */
@@ -381,6 +381,7 @@ export async function runOnboard(io) {
381
381
  const mcp = agents.map(agent => ({ agent, command: mcpLine(agent) }));
382
382
  const projectData = project.state === "added" || project.state === "already" ? { path: project.path, added: project.state === "added" } : null;
383
383
  const pullRequests = projectData === null || io.pullRequests === undefined ? null : await io.pullRequests(projectData.path);
384
+ const youiyoux = projectData === null || io.youiyoux === undefined ? null : await io.youiyoux(projectData.path);
384
385
  const offered = projectData === null ? [] : await offerStarters(io, projectData.path);
385
386
  if (!Array.isArray(offered))
386
387
  return refuse("usage", offered.usage, 2);
@@ -401,6 +402,7 @@ export async function runOnboard(io) {
401
402
  project: projectData,
402
403
  ...(projectProblem === null ? {} : { projectProblem }),
403
404
  ...(pullRequests === null ? {} : { pullRequests }),
405
+ ...(youiyoux === null ? {} : { youiyoux }),
404
406
  ...(offered.length === 0 ? {} : { starters: offered.map(one => ({ ...one, ...(one.state === "off" ? { command: `toolroll onboard --starter ${one.id}` } : {}) })) }),
405
407
  agents: reports,
406
408
  skill: skillData,
@@ -415,6 +417,7 @@ export async function runOnboard(io) {
415
417
  io.write([
416
418
  projectLine,
417
419
  ...(pullRequests === null ? [] : [`pull requests ${pullRequests}`]),
420
+ ...(youiyoux === null ? [] : [`youiyoux ${youiyoux}`]),
418
421
  ...starterLines(offered),
419
422
  `agents ${reports.map(one => `${one.name}: ${[one.words, one.plan].filter(Boolean).join(" · ")}`).join("; ")}`,
420
423
  skillLine(),