crewly 1.20.293 → 1.20.295

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 (137) 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 +63 -2
  12. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  13. package/dist/backend/backend/src/constants.js +48 -2
  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.controller.d.ts +1 -0
  24. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  25. package/dist/backend/backend/src/controllers/team/team.controller.js +5 -1
  26. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  27. package/dist/backend/backend/src/controllers/team/team.routes.d.ts.map +1 -1
  28. package/dist/backend/backend/src/controllers/team/team.routes.js +3 -0
  29. package/dist/backend/backend/src/controllers/team/team.routes.js.map +1 -1
  30. package/dist/backend/backend/src/controllers/team-roster/team-roster.controller.d.ts +31 -0
  31. package/dist/backend/backend/src/controllers/team-roster/team-roster.controller.d.ts.map +1 -0
  32. package/dist/backend/backend/src/controllers/team-roster/team-roster.controller.js +68 -0
  33. package/dist/backend/backend/src/controllers/team-roster/team-roster.controller.js.map +1 -0
  34. package/dist/backend/backend/src/index.d.ts.map +1 -1
  35. package/dist/backend/backend/src/index.js +14 -1
  36. package/dist/backend/backend/src/index.js.map +1 -1
  37. package/dist/backend/backend/src/models/Team.d.ts +3 -0
  38. package/dist/backend/backend/src/models/Team.d.ts.map +1 -1
  39. package/dist/backend/backend/src/models/Team.js +3 -0
  40. package/dist/backend/backend/src/models/Team.js.map +1 -1
  41. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  42. package/dist/backend/backend/src/routes/api.routes.js +3 -0
  43. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  44. package/dist/backend/backend/src/services/agent/resource-mode.service.d.ts +1 -0
  45. package/dist/backend/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
  46. package/dist/backend/backend/src/services/agent/resource-mode.service.js +4 -3
  47. package/dist/backend/backend/src/services/agent/resource-mode.service.js.map +1 -1
  48. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +1 -0
  49. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
  50. package/dist/backend/backend/src/services/ai/prompt-modules/index.js +1 -0
  51. package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
  52. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +4 -0
  54. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  55. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  56. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -2
  57. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  58. package/dist/backend/backend/src/services/ai/prompt-modules/team-roster.module.d.ts +44 -0
  59. package/dist/backend/backend/src/services/ai/prompt-modules/team-roster.module.d.ts.map +1 -0
  60. package/dist/backend/backend/src/services/ai/prompt-modules/team-roster.module.js +61 -0
  61. package/dist/backend/backend/src/services/ai/prompt-modules/team-roster.module.js.map +1 -0
  62. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +52 -1
  63. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  64. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +101 -29
  65. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  66. package/dist/backend/backend/src/services/messaging/deferred-start-retry.d.ts +45 -0
  67. package/dist/backend/backend/src/services/messaging/deferred-start-retry.d.ts.map +1 -0
  68. package/dist/backend/backend/src/services/messaging/deferred-start-retry.js +70 -0
  69. package/dist/backend/backend/src/services/messaging/deferred-start-retry.js.map +1 -0
  70. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +1 -1
  71. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  72. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  73. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +13 -1
  74. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  75. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +3 -2
  76. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  77. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +8 -2
  78. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  79. package/dist/backend/backend/src/services/team-roster/team-roster.builder.d.ts +147 -0
  80. package/dist/backend/backend/src/services/team-roster/team-roster.builder.d.ts.map +1 -0
  81. package/dist/backend/backend/src/services/team-roster/team-roster.builder.js +492 -0
  82. package/dist/backend/backend/src/services/team-roster/team-roster.builder.js.map +1 -0
  83. package/dist/backend/backend/src/services/team-roster/team-roster.service.d.ts +79 -0
  84. package/dist/backend/backend/src/services/team-roster/team-roster.service.d.ts.map +1 -0
  85. package/dist/backend/backend/src/services/team-roster/team-roster.service.js +145 -0
  86. package/dist/backend/backend/src/services/team-roster/team-roster.service.js.map +1 -0
  87. package/dist/backend/backend/src/types/index.d.ts +12 -0
  88. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  89. package/dist/backend/backend/src/types/index.js.map +1 -1
  90. package/dist/backend/build-info.json +2 -2
  91. package/dist/cli/backend/src/constants.d.ts +63 -2
  92. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  93. package/dist/cli/backend/src/constants.js +48 -2
  94. package/dist/cli/backend/src/constants.js.map +1 -1
  95. package/dist/cli/backend/src/models/Team.d.ts +3 -0
  96. package/dist/cli/backend/src/models/Team.d.ts.map +1 -1
  97. package/dist/cli/backend/src/models/Team.js +3 -0
  98. package/dist/cli/backend/src/models/Team.js.map +1 -1
  99. package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts +1 -0
  100. package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
  101. package/dist/cli/backend/src/services/agent/resource-mode.service.js +4 -3
  102. package/dist/cli/backend/src/services/agent/resource-mode.service.js.map +1 -1
  103. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  104. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +4 -0
  105. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  106. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  107. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -2
  108. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  109. package/dist/cli/backend/src/services/ai/prompt-modules/team-roster.module.d.ts +44 -0
  110. package/dist/cli/backend/src/services/ai/prompt-modules/team-roster.module.d.ts.map +1 -0
  111. package/dist/cli/backend/src/services/ai/prompt-modules/team-roster.module.js +61 -0
  112. package/dist/cli/backend/src/services/ai/prompt-modules/team-roster.module.js.map +1 -0
  113. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +52 -1
  114. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  115. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +101 -29
  116. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  117. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +1 -1
  118. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  119. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  120. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +13 -1
  121. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  122. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +3 -2
  123. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  124. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +8 -2
  125. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  126. package/dist/cli/backend/src/services/team-roster/team-roster.builder.d.ts +147 -0
  127. package/dist/cli/backend/src/services/team-roster/team-roster.builder.d.ts.map +1 -0
  128. package/dist/cli/backend/src/services/team-roster/team-roster.builder.js +492 -0
  129. package/dist/cli/backend/src/services/team-roster/team-roster.builder.js.map +1 -0
  130. package/dist/cli/backend/src/services/team-roster/team-roster.service.d.ts +79 -0
  131. package/dist/cli/backend/src/services/team-roster/team-roster.service.d.ts.map +1 -0
  132. package/dist/cli/backend/src/services/team-roster/team-roster.service.js +145 -0
  133. package/dist/cli/backend/src/services/team-roster/team-roster.service.js.map +1 -0
  134. package/dist/cli/backend/src/types/index.d.ts +12 -0
  135. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  136. package/dist/cli/backend/src/types/index.js.map +1 -1
  137. package/package.json +1 -1
@@ -1715,8 +1715,10 @@ export const SLACK_TYPING_CONSTANTS = {
1715
1715
  /** Shown when a cold start is taking longer than WAKING_SLOW_MS */
1716
1716
  WAKING_SLOW_TEXT: '🌙 {name} is still starting up (a cold start takes 1–2 minutes)…',
1717
1717
  WAKING_SLOW_MS: 60 * 1000,
1718
- /** Shown when the agent could not be started or the message could not be delivered */
1719
- FAILED_TEXT: '⚠️ {name} could not be reached right now — please try again in a minute.',
1718
+ /** Shown while the agent's start waits for a free slot: the message is held and delivered when it starts (not a failure) */
1719
+ QUEUED_TEXT: '🕐 {name} will pick this up shortly — the reply will follow here.',
1720
+ /** Shown when the message could not be delivered even after Crewly retried; never asks the owner to resend */
1721
+ FAILED_TEXT: "⚠️ {name} couldn't take this message just now — Crewly will keep trying and the reply will follow here if it gets through.",
1720
1722
  /** What the placeholder becomes when the agent has not replied in time */
1721
1723
  TIMEOUT_TEXT: '⏱ {name} is still working on this — the reply will follow.',
1722
1724
  /** How long a placeholder waits for the reply before it is edited to TIMEOUT_TEXT */
@@ -7804,4 +7806,48 @@ export const TALK_LIVE_CONSTANTS = {
7804
7806
  FAILED: 'failed',
7805
7807
  },
7806
7808
  };
7809
+ /**
7810
+ * Team roster (specs/2026-10-10-team-roster.md): the harness-generated map of
7811
+ * who owns what, injected into the orchestrator's prompt and served by the
7812
+ * `team-roster` / `find-owner-for` skills.
7813
+ */
7814
+ export const TEAM_ROSTER_CONSTANTS = {
7815
+ /** Token budget of the roster section in the orchestrator prompt */
7816
+ PROMPT_MAX_TOKENS: 2500,
7817
+ /** How long a built roster is reused before it is rebuilt (ms) */
7818
+ CACHE_TTL_MS: 60_000,
7819
+ /** Window of "recently finished" work (days) */
7820
+ RECENT_DAYS: 7,
7821
+ /** Window of ticket titles that feed matching, beyond open and recent work (days) */
7822
+ MATCH_HISTORY_DAYS: 30,
7823
+ /** Longest charter a lead may store (chars) */
7824
+ CHARTER_MAX_CHARS: 400,
7825
+ /** A description with fewer words (CJK: characters) than this is not a charter; one is derived instead */
7826
+ MIN_DESCRIPTION_TOKENS: 5,
7827
+ /** Work titles are cut to this many chars in the roster */
7828
+ TITLE_MAX_CHARS: 70,
7829
+ /** Member specialties shown per member */
7830
+ MAX_SPECIALTIES: 3,
7831
+ /** Default number of candidates `find-owner-for` returns */
7832
+ FIND_DEFAULT_LIMIT: 3,
7833
+ /** Hard cap on candidates */
7834
+ FIND_MAX_LIMIT: 8,
7835
+ /** A runner-up scoring at least this share of the best one makes the match ambiguous */
7836
+ AMBIGUOUS_SCORE_RATIO: 0.85,
7837
+ /** Longest request text matched (chars) */
7838
+ QUERY_MAX_CHARS: 600,
7839
+ /** Heading of the roster section */
7840
+ HEADING: '## Team Roster',
7841
+ /** SessionStart sources after which the orchestrator's context lost the prompt: the hook hands the roster back */
7842
+ REINJECT_SOURCES: ['compact', 'clear'],
7843
+ /** Boost for a request that names a member or team outright */
7844
+ NAME_MATCH_BOOST: 6,
7845
+ /** Detail tiers, richest first: open items, finished items, charter chars */
7846
+ TIERS: [
7847
+ { open: 4, done: 3, charter: 260, specialties: true },
7848
+ { open: 2, done: 1, charter: 160, specialties: true },
7849
+ { open: 0, done: 0, charter: 120, specialties: true },
7850
+ { open: 0, done: 0, charter: 80, specialties: false },
7851
+ ],
7852
+ };
7807
7853
  //# sourceMappingURL=constants.js.map