crewly 1.20.292 → 1.20.294

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 (122) hide show
  1. package/config/hooks/agent-status/report.sh +11 -7
  2. package/config/roles/orchestrator/fragments/recovery.md +3 -0
  3. package/config/roles/orchestrator/prompt.md +3 -3
  4. package/config/roles/team-leader/tl-addon.md +6 -0
  5. package/config/skills/orchestrator/find-owner-for/SKILL.md +43 -0
  6. package/config/skills/orchestrator/find-owner-for/execute.sh +37 -0
  7. package/config/skills/orchestrator/team-roster/SKILL.md +44 -0
  8. package/config/skills/orchestrator/team-roster/execute.sh +27 -0
  9. package/config/skills/team-leader/update-charter/SKILL.md +48 -0
  10. package/config/skills/team-leader/update-charter/execute.sh +21 -0
  11. package/dist/backend/backend/src/constants.d.ts +75 -0
  12. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  13. package/dist/backend/backend/src/constants.js +60 -0
  14. package/dist/backend/backend/src/constants.js.map +1 -1
  15. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts +2 -0
  16. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js +18 -1
  18. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js.map +1 -1
  19. package/dist/backend/backend/src/controllers/team/team-charter.controller.d.ts +20 -0
  20. package/dist/backend/backend/src/controllers/team/team-charter.controller.d.ts.map +1 -0
  21. package/dist/backend/backend/src/controllers/team/team-charter.controller.js +81 -0
  22. package/dist/backend/backend/src/controllers/team/team-charter.controller.js.map +1 -0
  23. package/dist/backend/backend/src/controllers/team/team.routes.d.ts.map +1 -1
  24. package/dist/backend/backend/src/controllers/team/team.routes.js +3 -0
  25. package/dist/backend/backend/src/controllers/team/team.routes.js.map +1 -1
  26. package/dist/backend/backend/src/controllers/team-roster/team-roster.controller.d.ts +31 -0
  27. package/dist/backend/backend/src/controllers/team-roster/team-roster.controller.d.ts.map +1 -0
  28. package/dist/backend/backend/src/controllers/team-roster/team-roster.controller.js +68 -0
  29. package/dist/backend/backend/src/controllers/team-roster/team-roster.controller.js.map +1 -0
  30. package/dist/backend/backend/src/index.d.ts.map +1 -1
  31. package/dist/backend/backend/src/index.js +35 -0
  32. package/dist/backend/backend/src/index.js.map +1 -1
  33. package/dist/backend/backend/src/models/Team.d.ts +3 -0
  34. package/dist/backend/backend/src/models/Team.d.ts.map +1 -1
  35. package/dist/backend/backend/src/models/Team.js +3 -0
  36. package/dist/backend/backend/src/models/Team.js.map +1 -1
  37. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  38. package/dist/backend/backend/src/routes/api.routes.js +3 -0
  39. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  40. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +1 -0
  41. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/ai/prompt-modules/index.js +1 -0
  43. package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
  44. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +4 -0
  46. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  47. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  48. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -2
  49. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  50. package/dist/backend/backend/src/services/ai/prompt-modules/team-roster.module.d.ts +44 -0
  51. package/dist/backend/backend/src/services/ai/prompt-modules/team-roster.module.d.ts.map +1 -0
  52. package/dist/backend/backend/src/services/ai/prompt-modules/team-roster.module.js +61 -0
  53. package/dist/backend/backend/src/services/ai/prompt-modules/team-roster.module.js.map +1 -0
  54. package/dist/backend/backend/src/services/briefing/briefing-review.d.ts +98 -0
  55. package/dist/backend/backend/src/services/briefing/briefing-review.d.ts.map +1 -0
  56. package/dist/backend/backend/src/services/briefing/briefing-review.js +138 -0
  57. package/dist/backend/backend/src/services/briefing/briefing-review.js.map +1 -0
  58. package/dist/backend/backend/src/services/briefing/briefing.service.d.ts +21 -0
  59. package/dist/backend/backend/src/services/briefing/briefing.service.d.ts.map +1 -1
  60. package/dist/backend/backend/src/services/briefing/briefing.service.js +37 -5
  61. package/dist/backend/backend/src/services/briefing/briefing.service.js.map +1 -1
  62. package/dist/backend/backend/src/services/briefing/briefing.types.d.ts +5 -0
  63. package/dist/backend/backend/src/services/briefing/briefing.types.d.ts.map +1 -1
  64. package/dist/backend/backend/src/services/briefing/briefing.types.js.map +1 -1
  65. package/dist/backend/backend/src/services/drive/drive-agent.service.d.ts +10 -0
  66. package/dist/backend/backend/src/services/drive/drive-agent.service.d.ts.map +1 -1
  67. package/dist/backend/backend/src/services/drive/drive-agent.service.js +6 -0
  68. package/dist/backend/backend/src/services/drive/drive-agent.service.js.map +1 -1
  69. package/dist/backend/backend/src/services/drive/drive-briefing-snapshot.d.ts +2 -0
  70. package/dist/backend/backend/src/services/drive/drive-briefing-snapshot.d.ts.map +1 -1
  71. package/dist/backend/backend/src/services/drive/drive-briefing-snapshot.js +3 -1
  72. package/dist/backend/backend/src/services/drive/drive-briefing-snapshot.js.map +1 -1
  73. package/dist/backend/backend/src/services/drive/drive-cloud.contract.d.ts +1 -1
  74. package/dist/backend/backend/src/services/drive/drive-cloud.contract.d.ts.map +1 -1
  75. package/dist/backend/backend/src/services/drive/drive-cloud.contract.js +2 -2
  76. package/dist/backend/backend/src/services/drive/drive-cloud.contract.js.map +1 -1
  77. package/dist/backend/backend/src/services/drive/drive-status-check.d.ts +77 -0
  78. package/dist/backend/backend/src/services/drive/drive-status-check.d.ts.map +1 -0
  79. package/dist/backend/backend/src/services/drive/drive-status-check.js +96 -0
  80. package/dist/backend/backend/src/services/drive/drive-status-check.js.map +1 -0
  81. package/dist/backend/backend/src/services/team-roster/team-roster.builder.d.ts +147 -0
  82. package/dist/backend/backend/src/services/team-roster/team-roster.builder.d.ts.map +1 -0
  83. package/dist/backend/backend/src/services/team-roster/team-roster.builder.js +492 -0
  84. package/dist/backend/backend/src/services/team-roster/team-roster.builder.js.map +1 -0
  85. package/dist/backend/backend/src/services/team-roster/team-roster.service.d.ts +79 -0
  86. package/dist/backend/backend/src/services/team-roster/team-roster.service.d.ts.map +1 -0
  87. package/dist/backend/backend/src/services/team-roster/team-roster.service.js +145 -0
  88. package/dist/backend/backend/src/services/team-roster/team-roster.service.js.map +1 -0
  89. package/dist/backend/backend/src/types/index.d.ts +12 -0
  90. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  91. package/dist/backend/backend/src/types/index.js.map +1 -1
  92. package/dist/backend/build-info.json +2 -2
  93. package/dist/cli/backend/src/constants.d.ts +75 -0
  94. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  95. package/dist/cli/backend/src/constants.js +60 -0
  96. package/dist/cli/backend/src/constants.js.map +1 -1
  97. package/dist/cli/backend/src/models/Team.d.ts +3 -0
  98. package/dist/cli/backend/src/models/Team.d.ts.map +1 -1
  99. package/dist/cli/backend/src/models/Team.js +3 -0
  100. package/dist/cli/backend/src/models/Team.js.map +1 -1
  101. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  102. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +4 -0
  103. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  104. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  105. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -2
  106. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  107. package/dist/cli/backend/src/services/ai/prompt-modules/team-roster.module.d.ts +44 -0
  108. package/dist/cli/backend/src/services/ai/prompt-modules/team-roster.module.d.ts.map +1 -0
  109. package/dist/cli/backend/src/services/ai/prompt-modules/team-roster.module.js +61 -0
  110. package/dist/cli/backend/src/services/ai/prompt-modules/team-roster.module.js.map +1 -0
  111. package/dist/cli/backend/src/services/team-roster/team-roster.builder.d.ts +147 -0
  112. package/dist/cli/backend/src/services/team-roster/team-roster.builder.d.ts.map +1 -0
  113. package/dist/cli/backend/src/services/team-roster/team-roster.builder.js +492 -0
  114. package/dist/cli/backend/src/services/team-roster/team-roster.builder.js.map +1 -0
  115. package/dist/cli/backend/src/services/team-roster/team-roster.service.d.ts +79 -0
  116. package/dist/cli/backend/src/services/team-roster/team-roster.service.d.ts.map +1 -0
  117. package/dist/cli/backend/src/services/team-roster/team-roster.service.js +145 -0
  118. package/dist/cli/backend/src/services/team-roster/team-roster.service.js.map +1 -0
  119. package/dist/cli/backend/src/types/index.d.ts +12 -0
  120. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  121. package/dist/cli/backend/src/types/index.js.map +1 -1
  122. package/package.json +1 -1
@@ -7579,6 +7579,16 @@ export const BRIEFING_CONSTANTS = {
7579
7579
  CARD_STALE_AFTER_DEADLINE_MS: 24 * 60 * 60 * 1000,
7580
7580
  /** A card (or reply question) asked longer ago than this is stale, not read out (ms) */
7581
7581
  CARD_MAX_AGE_MS: 7 * 24 * 60 * 60 * 1000,
7582
+ /** A finished ticket in review longer than this is stale, not asked about (ms) */
7583
+ REVIEW_MAX_AGE_MS: 3 * 24 * 60 * 60 * 1000,
7584
+ /** A message this long (CJK counts double) with no request verb is a reflective voice note, not an ask */
7585
+ REVIEW_DISCUSSION_MIN_WEIGHTED: 220,
7586
+ /** Review line: longest quote of what the owner asked (characters) */
7587
+ REVIEW_ASK_MAX_CHARS: 70,
7588
+ /** Review item label (what the owner asked, for lists): longest length (characters) */
7589
+ REVIEW_LABEL_MAX_CHARS: 40,
7590
+ /** Review line: longest quote of what the agent reports (characters) */
7591
+ REVIEW_RESULT_MAX_CHARS: 110,
7582
7592
  /** Two cards from one asker whose questions are at least this similar (0–1, character bigrams) are duplicates */
7583
7593
  CARD_DUPLICATE_SIMILARITY: 0.6,
7584
7594
  /** Words in a title / question that make an item sensitive (spoken confirmation required) */
@@ -7632,6 +7642,12 @@ export const DRIVE_CONSTANTS = {
7632
7642
  VIA: 'drive-mode',
7633
7643
  /** Keep-warm (v3): agents one session keeps warm, at most */
7634
7644
  MAX_WARM: 20,
7645
+ /** Status check (`op:'refresh'`): how long the agents get to update their items before the snapshot is rebuilt (ms) */
7646
+ STATUS_CHECK_WAIT_MS: 12_000,
7647
+ /** Status check: agents asked at most (the ones holding the most open items first) */
7648
+ STATUS_CHECK_MAX_AGENTS: 6,
7649
+ /** Status check: items listed to one agent at most */
7650
+ STATUS_CHECK_MAX_ITEMS: 5,
7635
7651
  };
7636
7652
  /**
7637
7653
  * Ticket hygiene: keeps the project tickets honest so status views (Drive
@@ -7788,4 +7804,48 @@ export const TALK_LIVE_CONSTANTS = {
7788
7804
  FAILED: 'failed',
7789
7805
  },
7790
7806
  };
7807
+ /**
7808
+ * Team roster (specs/2026-10-10-team-roster.md): the harness-generated map of
7809
+ * who owns what, injected into the orchestrator's prompt and served by the
7810
+ * `team-roster` / `find-owner-for` skills.
7811
+ */
7812
+ export const TEAM_ROSTER_CONSTANTS = {
7813
+ /** Token budget of the roster section in the orchestrator prompt */
7814
+ PROMPT_MAX_TOKENS: 2500,
7815
+ /** How long a built roster is reused before it is rebuilt (ms) */
7816
+ CACHE_TTL_MS: 60_000,
7817
+ /** Window of "recently finished" work (days) */
7818
+ RECENT_DAYS: 7,
7819
+ /** Window of ticket titles that feed matching, beyond open and recent work (days) */
7820
+ MATCH_HISTORY_DAYS: 30,
7821
+ /** Longest charter a lead may store (chars) */
7822
+ CHARTER_MAX_CHARS: 400,
7823
+ /** A description with fewer words (CJK: characters) than this is not a charter; one is derived instead */
7824
+ MIN_DESCRIPTION_TOKENS: 5,
7825
+ /** Work titles are cut to this many chars in the roster */
7826
+ TITLE_MAX_CHARS: 70,
7827
+ /** Member specialties shown per member */
7828
+ MAX_SPECIALTIES: 3,
7829
+ /** Default number of candidates `find-owner-for` returns */
7830
+ FIND_DEFAULT_LIMIT: 3,
7831
+ /** Hard cap on candidates */
7832
+ FIND_MAX_LIMIT: 8,
7833
+ /** A runner-up scoring at least this share of the best one makes the match ambiguous */
7834
+ AMBIGUOUS_SCORE_RATIO: 0.85,
7835
+ /** Longest request text matched (chars) */
7836
+ QUERY_MAX_CHARS: 600,
7837
+ /** Heading of the roster section */
7838
+ HEADING: '## Team Roster',
7839
+ /** SessionStart sources after which the orchestrator's context lost the prompt: the hook hands the roster back */
7840
+ REINJECT_SOURCES: ['compact', 'clear'],
7841
+ /** Boost for a request that names a member or team outright */
7842
+ NAME_MATCH_BOOST: 6,
7843
+ /** Detail tiers, richest first: open items, finished items, charter chars */
7844
+ TIERS: [
7845
+ { open: 4, done: 3, charter: 260, specialties: true },
7846
+ { open: 2, done: 1, charter: 160, specialties: true },
7847
+ { open: 0, done: 0, charter: 120, specialties: true },
7848
+ { open: 0, done: 0, charter: 80, specialties: false },
7849
+ ],
7850
+ };
7791
7851
  //# sourceMappingURL=constants.js.map