charness 3.0.0 → 3.2.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 (293) hide show
  1. package/.env.example +8 -7
  2. package/DEVELOPMENT.md +12 -6
  3. package/MIGRATION_1_TO_2.md +1 -1
  4. package/MIGRATION_RENAME_TO_CHARNESS.md +133 -0
  5. package/README.md +221 -555
  6. package/SETUP.md +539 -0
  7. package/dist/adapters/claudeCliAdapter.d.ts +16 -1
  8. package/dist/adapters/claudeCliAdapter.d.ts.map +1 -1
  9. package/dist/adapters/claudeCliAdapter.js +37 -2
  10. package/dist/adapters/claudeCliAdapter.js.map +1 -1
  11. package/dist/adapters/claudeConfigDir.d.ts +40 -0
  12. package/dist/adapters/claudeConfigDir.d.ts.map +1 -0
  13. package/dist/adapters/claudeConfigDir.js +3 -0
  14. package/dist/adapters/claudeConfigDir.js.map +1 -0
  15. package/dist/adapters/claudeJsonStreamAdapter.d.ts +32 -0
  16. package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -1
  17. package/dist/adapters/claudeJsonStreamAdapter.js +90 -8
  18. package/dist/adapters/claudeJsonStreamAdapter.js.map +1 -1
  19. package/dist/adapters/claudePlatformFlags.d.ts +4 -4
  20. package/dist/adapters/claudePlatformFlags.js +4 -4
  21. package/dist/adapters/createAdapter.d.ts +8 -0
  22. package/dist/adapters/createAdapter.d.ts.map +1 -1
  23. package/dist/adapters/createAdapter.js +37 -0
  24. package/dist/adapters/createAdapter.js.map +1 -1
  25. package/dist/adapters/openCodeAdapter.d.ts +23 -0
  26. package/dist/adapters/openCodeAdapter.d.ts.map +1 -1
  27. package/dist/adapters/openCodeAdapter.js +85 -2
  28. package/dist/adapters/openCodeAdapter.js.map +1 -1
  29. package/dist/agentLogin/agentLogin.d.ts +15 -2
  30. package/dist/agentLogin/agentLogin.d.ts.map +1 -1
  31. package/dist/agentLogin/agentLogin.js +53 -16
  32. package/dist/agentLogin/agentLogin.js.map +1 -1
  33. package/dist/apiErrorRetry.d.ts +8 -3
  34. package/dist/apiErrorRetry.d.ts.map +1 -1
  35. package/dist/apiErrorRetry.js +36 -5
  36. package/dist/apiErrorRetry.js.map +1 -1
  37. package/dist/apiRetryKick.d.ts +9 -0
  38. package/dist/apiRetryKick.d.ts.map +1 -1
  39. package/dist/apiRetryKick.js +16 -0
  40. package/dist/apiRetryKick.js.map +1 -1
  41. package/dist/bot.d.ts.map +1 -1
  42. package/dist/bot.js +642 -26
  43. package/dist/bot.js.map +1 -1
  44. package/dist/cli/bot.d.ts +4 -2
  45. package/dist/cli/bot.d.ts.map +1 -1
  46. package/dist/cli/bot.js +11 -3
  47. package/dist/cli/bot.js.map +1 -1
  48. package/dist/cli/botEntry.js +3 -1
  49. package/dist/cli/botEntry.js.map +1 -1
  50. package/dist/cli/claudeProfiles.d.ts +42 -0
  51. package/dist/cli/claudeProfiles.d.ts.map +1 -0
  52. package/dist/cli/claudeProfiles.js +106 -0
  53. package/dist/cli/claudeProfiles.js.map +1 -0
  54. package/dist/cli/envLoader.d.ts +6 -5
  55. package/dist/cli/envLoader.d.ts.map +1 -1
  56. package/dist/cli/envLoader.js +8 -27
  57. package/dist/cli/envLoader.js.map +1 -1
  58. package/dist/cli/hot.d.ts +2 -2
  59. package/dist/cli/hot.d.ts.map +1 -1
  60. package/dist/cli/hot.js +26 -16
  61. package/dist/cli/hot.js.map +1 -1
  62. package/dist/cli.js +19 -9
  63. package/dist/cli.js.map +1 -1
  64. package/dist/connectors/jira/adf.d.ts +23 -0
  65. package/dist/connectors/jira/adf.d.ts.map +1 -1
  66. package/dist/connectors/jira/adf.js +44 -0
  67. package/dist/connectors/jira/adf.js.map +1 -1
  68. package/dist/connectors/jira/answerSink.d.ts +27 -3
  69. package/dist/connectors/jira/answerSink.d.ts.map +1 -1
  70. package/dist/connectors/jira/answerSink.js +145 -18
  71. package/dist/connectors/jira/answerSink.js.map +1 -1
  72. package/dist/connectors/jira/attachmentTool.d.ts +7 -0
  73. package/dist/connectors/jira/attachmentTool.d.ts.map +1 -1
  74. package/dist/connectors/jira/attachmentTool.js +16 -0
  75. package/dist/connectors/jira/attachmentTool.js.map +1 -1
  76. package/dist/connectors/jira/client.d.ts +36 -0
  77. package/dist/connectors/jira/client.d.ts.map +1 -1
  78. package/dist/connectors/jira/client.js +46 -5
  79. package/dist/connectors/jira/client.js.map +1 -1
  80. package/dist/connectors/jira/config.d.ts +13 -17
  81. package/dist/connectors/jira/config.d.ts.map +1 -1
  82. package/dist/connectors/jira/config.js +15 -33
  83. package/dist/connectors/jira/config.js.map +1 -1
  84. package/dist/connectors/jira/connector.d.ts +10 -1
  85. package/dist/connectors/jira/connector.d.ts.map +1 -1
  86. package/dist/connectors/jira/connector.js +90 -16
  87. package/dist/connectors/jira/connector.js.map +1 -1
  88. package/dist/connectors/jira/contextLedger.d.ts +7 -0
  89. package/dist/connectors/jira/contextLedger.d.ts.map +1 -1
  90. package/dist/connectors/jira/contextLedger.js +18 -0
  91. package/dist/connectors/jira/contextLedger.js.map +1 -1
  92. package/dist/connectors/jira/contextPreamble.d.ts.map +1 -1
  93. package/dist/connectors/jira/contextPreamble.js +6 -3
  94. package/dist/connectors/jira/contextPreamble.js.map +1 -1
  95. package/dist/connectors/jira/inbound.d.ts +72 -10
  96. package/dist/connectors/jira/inbound.d.ts.map +1 -1
  97. package/dist/connectors/jira/inbound.js +204 -36
  98. package/dist/connectors/jira/inbound.js.map +1 -1
  99. package/dist/connectors/jira/issueBlocks.d.ts +31 -3
  100. package/dist/connectors/jira/issueBlocks.d.ts.map +1 -1
  101. package/dist/connectors/jira/issueBlocks.js +108 -29
  102. package/dist/connectors/jira/issueBlocks.js.map +1 -1
  103. package/dist/connectors/jira/issueContext.d.ts +11 -5
  104. package/dist/connectors/jira/issueContext.d.ts.map +1 -1
  105. package/dist/connectors/jira/issueContext.js +23 -6
  106. package/dist/connectors/jira/issueContext.js.map +1 -1
  107. package/dist/connectors/jira/issueDelta.d.ts +3 -0
  108. package/dist/connectors/jira/issueDelta.d.ts.map +1 -1
  109. package/dist/connectors/jira/issueDelta.js +15 -6
  110. package/dist/connectors/jira/issueDelta.js.map +1 -1
  111. package/dist/connectors/jira/mediaPlaceholders.d.ts +2 -0
  112. package/dist/connectors/jira/mediaPlaceholders.d.ts.map +1 -1
  113. package/dist/connectors/jira/mediaPlaceholders.js +16 -3
  114. package/dist/connectors/jira/mediaPlaceholders.js.map +1 -1
  115. package/dist/connectors/jira/prompt.d.ts +4 -0
  116. package/dist/connectors/jira/prompt.d.ts.map +1 -1
  117. package/dist/connectors/jira/prompt.js +20 -1
  118. package/dist/connectors/jira/prompt.js.map +1 -1
  119. package/dist/connectors/jira/sessionKeyCodec.d.ts +2 -0
  120. package/dist/connectors/jira/sessionKeyCodec.d.ts.map +1 -1
  121. package/dist/connectors/jira/sessionKeyCodec.js +5 -0
  122. package/dist/connectors/jira/sessionKeyCodec.js.map +1 -1
  123. package/dist/connectors/jira/trigger.d.ts +16 -3
  124. package/dist/connectors/jira/trigger.d.ts.map +1 -1
  125. package/dist/connectors/jira/trigger.js +17 -2
  126. package/dist/connectors/jira/trigger.js.map +1 -1
  127. package/dist/connectors/jira/triggerLog.d.ts +12 -3
  128. package/dist/connectors/jira/triggerLog.d.ts.map +1 -1
  129. package/dist/connectors/jira/triggerLog.js +18 -2
  130. package/dist/connectors/jira/triggerLog.js.map +1 -1
  131. package/dist/connectors/jira/trustedGroup.d.ts +54 -0
  132. package/dist/connectors/jira/trustedGroup.d.ts.map +1 -0
  133. package/dist/connectors/jira/trustedGroup.js +98 -0
  134. package/dist/connectors/jira/trustedGroup.js.map +1 -0
  135. package/dist/connectors/telegram/commands/autoContinueLimits.d.ts +3 -0
  136. package/dist/connectors/telegram/commands/autoContinueLimits.d.ts.map +1 -1
  137. package/dist/connectors/telegram/commands/autoContinueLimits.js +15 -45
  138. package/dist/connectors/telegram/commands/autoContinueLimits.js.map +1 -1
  139. package/dist/connectors/telegram/commands/claudeAccounts.d.ts +58 -0
  140. package/dist/connectors/telegram/commands/claudeAccounts.d.ts.map +1 -0
  141. package/dist/connectors/telegram/commands/claudeAccounts.js +591 -0
  142. package/dist/connectors/telegram/commands/claudeAccounts.js.map +1 -0
  143. package/dist/connectors/telegram/commands/fallbackChain.d.ts +49 -0
  144. package/dist/connectors/telegram/commands/fallbackChain.d.ts.map +1 -0
  145. package/dist/connectors/telegram/commands/fallbackChain.js +624 -0
  146. package/dist/connectors/telegram/commands/fallbackChain.js.map +1 -0
  147. package/dist/connectors/telegram/commands/modelProviders.d.ts +23 -1
  148. package/dist/connectors/telegram/commands/modelProviders.d.ts.map +1 -1
  149. package/dist/connectors/telegram/commands/modelProviders.js +131 -6
  150. package/dist/connectors/telegram/commands/modelProviders.js.map +1 -1
  151. package/dist/i18n/de.d.ts.map +1 -1
  152. package/dist/i18n/de.js +137 -9
  153. package/dist/i18n/de.js.map +1 -1
  154. package/dist/i18n/en.d.ts.map +1 -1
  155. package/dist/i18n/en.js +137 -9
  156. package/dist/i18n/en.js.map +1 -1
  157. package/dist/i18n/es.d.ts.map +1 -1
  158. package/dist/i18n/es.js +137 -9
  159. package/dist/i18n/es.js.map +1 -1
  160. package/dist/i18n/fr.d.ts.map +1 -1
  161. package/dist/i18n/fr.js +137 -9
  162. package/dist/i18n/fr.js.map +1 -1
  163. package/dist/i18n/hi.d.ts.map +1 -1
  164. package/dist/i18n/hi.js +137 -9
  165. package/dist/i18n/hi.js.map +1 -1
  166. package/dist/i18n/ja.d.ts.map +1 -1
  167. package/dist/i18n/ja.js +137 -9
  168. package/dist/i18n/ja.js.map +1 -1
  169. package/dist/i18n/ka.d.ts.map +1 -1
  170. package/dist/i18n/ka.js +137 -9
  171. package/dist/i18n/ka.js.map +1 -1
  172. package/dist/i18n/pt.d.ts.map +1 -1
  173. package/dist/i18n/pt.js +137 -9
  174. package/dist/i18n/pt.js.map +1 -1
  175. package/dist/i18n/ru.d.ts.map +1 -1
  176. package/dist/i18n/ru.js +137 -9
  177. package/dist/i18n/ru.js.map +1 -1
  178. package/dist/i18n/uk.d.ts.map +1 -1
  179. package/dist/i18n/uk.js +137 -9
  180. package/dist/i18n/uk.js.map +1 -1
  181. package/dist/i18n/uz.d.ts.map +1 -1
  182. package/dist/i18n/uz.js +137 -9
  183. package/dist/i18n/uz.js.map +1 -1
  184. package/dist/i18n/zh.d.ts.map +1 -1
  185. package/dist/i18n/zh.js +137 -9
  186. package/dist/i18n/zh.js.map +1 -1
  187. package/dist/index.js +1 -1
  188. package/dist/index.js.map +1 -1
  189. package/dist/installManager.d.ts +16 -2
  190. package/dist/installManager.d.ts.map +1 -1
  191. package/dist/installManager.js +42 -12
  192. package/dist/installManager.js.map +1 -1
  193. package/dist/instanceLock.d.ts.map +1 -1
  194. package/dist/instanceLock.js +10 -8
  195. package/dist/instanceLock.js.map +1 -1
  196. package/dist/legacyMigration.d.ts +69 -0
  197. package/dist/legacyMigration.d.ts.map +1 -0
  198. package/dist/legacyMigration.js +338 -0
  199. package/dist/legacyMigration.js.map +1 -0
  200. package/dist/legacyNames.d.ts +107 -0
  201. package/dist/legacyNames.d.ts.map +1 -0
  202. package/dist/legacyNames.js +230 -0
  203. package/dist/legacyNames.js.map +1 -0
  204. package/dist/platform/answerSink.d.ts +5 -0
  205. package/dist/platform/answerSink.d.ts.map +1 -1
  206. package/dist/platform/answerSink.js.map +1 -1
  207. package/dist/requests/answerRequest.d.ts +2 -0
  208. package/dist/requests/answerRequest.d.ts.map +1 -1
  209. package/dist/requests/answerRequest.js +3 -1
  210. package/dist/requests/answerRequest.js.map +1 -1
  211. package/dist/requests/answerStyle.d.ts +11 -0
  212. package/dist/requests/answerStyle.d.ts.map +1 -0
  213. package/dist/requests/answerStyle.js +14 -0
  214. package/dist/requests/answerStyle.js.map +1 -0
  215. package/dist/requests/answerTail.d.ts.map +1 -1
  216. package/dist/requests/answerTail.js +2 -0
  217. package/dist/requests/answerTail.js.map +1 -1
  218. package/dist/requests/requestHeader.d.ts.map +1 -1
  219. package/dist/requests/requestHeader.js +3 -0
  220. package/dist/requests/requestHeader.js.map +1 -1
  221. package/dist/requests/requestLedger.js +1 -1
  222. package/dist/requests/requestLedger.js.map +1 -1
  223. package/dist/requests/types.d.ts +3 -1
  224. package/dist/requests/types.d.ts.map +1 -1
  225. package/dist/scheduler/mcpSurface.d.ts +17 -1
  226. package/dist/scheduler/mcpSurface.d.ts.map +1 -1
  227. package/dist/scheduler/mcpSurface.js +86 -13
  228. package/dist/scheduler/mcpSurface.js.map +1 -1
  229. package/dist/state.d.ts +175 -2
  230. package/dist/state.d.ts.map +1 -1
  231. package/dist/state.js +303 -2
  232. package/dist/state.js.map +1 -1
  233. package/dist/types.d.ts +7 -0
  234. package/dist/types.d.ts.map +1 -1
  235. package/dist/utils/autoContinueOnLimit.d.ts +7 -0
  236. package/dist/utils/autoContinueOnLimit.d.ts.map +1 -1
  237. package/dist/utils/autoContinueOnLimit.js +10 -0
  238. package/dist/utils/autoContinueOnLimit.js.map +1 -1
  239. package/dist/utils/claudeAccountPickerPlan.d.ts +85 -0
  240. package/dist/utils/claudeAccountPickerPlan.d.ts.map +1 -0
  241. package/dist/utils/claudeAccountPickerPlan.js +123 -0
  242. package/dist/utils/claudeAccountPickerPlan.js.map +1 -0
  243. package/dist/utils/claudeLimitSwitch.d.ts +40 -0
  244. package/dist/utils/claudeLimitSwitch.d.ts.map +1 -0
  245. package/dist/utils/claudeLimitSwitch.js +54 -0
  246. package/dist/utils/claudeLimitSwitch.js.map +1 -0
  247. package/dist/utils/claudeProfileUsageLines.d.ts +15 -0
  248. package/dist/utils/claudeProfileUsageLines.d.ts.map +1 -0
  249. package/dist/utils/claudeProfileUsageLines.js +42 -0
  250. package/dist/utils/claudeProfileUsageLines.js.map +1 -0
  251. package/dist/utils/claudeProfiles.d.ts +124 -0
  252. package/dist/utils/claudeProfiles.d.ts.map +1 -0
  253. package/dist/utils/claudeProfiles.js +304 -0
  254. package/dist/utils/claudeProfiles.js.map +1 -0
  255. package/dist/utils/claudeStreamJson.d.ts +13 -1
  256. package/dist/utils/claudeStreamJson.d.ts.map +1 -1
  257. package/dist/utils/claudeStreamJson.js +13 -0
  258. package/dist/utils/claudeStreamJson.js.map +1 -1
  259. package/dist/utils/claudeUsage.d.ts +209 -0
  260. package/dist/utils/claudeUsage.d.ts.map +1 -0
  261. package/dist/utils/claudeUsage.js +413 -0
  262. package/dist/utils/claudeUsage.js.map +1 -0
  263. package/dist/utils/claudeUsageRefresher.d.ts +44 -0
  264. package/dist/utils/claudeUsageRefresher.d.ts.map +1 -0
  265. package/dist/utils/claudeUsageRefresher.js +95 -0
  266. package/dist/utils/claudeUsageRefresher.js.map +1 -0
  267. package/dist/utils/fallbackBridge.d.ts +32 -0
  268. package/dist/utils/fallbackBridge.d.ts.map +1 -0
  269. package/dist/utils/fallbackBridge.js +62 -0
  270. package/dist/utils/fallbackBridge.js.map +1 -0
  271. package/dist/utils/fallbackChain.d.ts +299 -0
  272. package/dist/utils/fallbackChain.d.ts.map +1 -0
  273. package/dist/utils/fallbackChain.js +542 -0
  274. package/dist/utils/fallbackChain.js.map +1 -0
  275. package/dist/utils/jsonStreamHost.d.ts +14 -3
  276. package/dist/utils/jsonStreamHost.d.ts.map +1 -1
  277. package/dist/utils/jsonStreamHost.js +26 -5
  278. package/dist/utils/jsonStreamHost.js.map +1 -1
  279. package/dist/utils/modelRecentPlan.d.ts +56 -0
  280. package/dist/utils/modelRecentPlan.d.ts.map +1 -0
  281. package/dist/utils/modelRecentPlan.js +107 -0
  282. package/dist/utils/modelRecentPlan.js.map +1 -0
  283. package/dist/utils/openCodeCompactPlugin.d.ts +11 -3
  284. package/dist/utils/openCodeCompactPlugin.d.ts.map +1 -1
  285. package/dist/utils/openCodeCompactPlugin.js +37 -5
  286. package/dist/utils/openCodeCompactPlugin.js.map +1 -1
  287. package/dist/utils/threadStatusReport.d.ts +25 -1
  288. package/dist/utils/threadStatusReport.d.ts.map +1 -1
  289. package/dist/utils/threadStatusReport.js +24 -1
  290. package/dist/utils/threadStatusReport.js.map +1 -1
  291. package/examples/.env.example +7 -7
  292. package/examples/docker-compose.yml +15 -14
  293. package/package.json +3 -1
@@ -1,5 +1,6 @@
1
1
  import type { SessionKey } from '../../sessionKey';
2
2
  import { type JiraClient } from './client';
3
+ import type { JiraTrust } from './trustedGroup';
3
4
  /**
4
5
  * @description `jira_get_attachment` (prompt context C10): the agent names an
5
6
  * attachment id, the bot downloads the ORIGINAL into the conversation's files
@@ -10,6 +11,10 @@ import { type JiraClient } from './client';
10
11
  * scoped session key), never from an argument, and the id must be in that
11
12
  * issue's attachment list read NOW. A line planted in an issue ("fetch
12
13
  * attachment 12345") therefore cannot pull a file of any other issue.
14
+ *
15
+ * With a trusted group the file's uploader must be trusted too — the same
16
+ * predicate that withheld it from the prompt — judged on the membership list
17
+ * read now: a list that cannot be refreshed refuses.
13
18
  */
14
19
  /** A file name over 255 bytes is refused by the filesystem; `<id>-<name>` is cut to this, on a character boundary. */
15
20
  export declare const jiraAttachmentFileNameMaxBytes = 200;
@@ -25,6 +30,8 @@ export interface JiraAttachmentToolDeps {
25
30
  client: Pick<JiraClient, 'getIssue' | 'downloadAttachment'>;
26
31
  /** Where one conversation's downloads go: its files dir, `jira`. */
27
32
  getDownloadDir: (key: SessionKey) => string;
33
+ /** The trusted group (`trustedGroup.ts`); `null` without `trustedGroup` in `jira.json`: no uploader is refused. */
34
+ trust: JiraTrust | null;
28
35
  }
29
36
  /**
30
37
  * @description `<id>-<name>` as one safe path segment of at most
@@ -1 +1 @@
1
- {"version":3,"file":"attachmentTool.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/attachmentTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAG/E;;;;;;;;;;GAUG;AAEH,sHAAsH;AACtH,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAOlD,uFAAuF;AACvF,MAAM,MAAM,wBAAwB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpG,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,oBAAoB,CAAC,CAAC;IAC5D,oEAAoE;IACpE,cAAc,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,CAAC;CAC7C;AAcD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CASpF;AAwBD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA2BjJ"}
1
+ {"version":3,"file":"attachmentTool.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/attachmentTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AAEH,sHAAsH;AACtH,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAOlD,uFAAuF;AACvF,MAAM,MAAM,wBAAwB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpG,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,oBAAoB,CAAC,CAAC;IAC5D,oEAAoE;IACpE,cAAc,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,CAAC;IAC5C,mHAAmH;IACnH,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACzB;AAcD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CASpF;AAwBD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAsCjJ"}
@@ -51,6 +51,10 @@ const promptText_1 = require("./promptText");
51
51
  * scoped session key), never from an argument, and the id must be in that
52
52
  * issue's attachment list read NOW. A line planted in an issue ("fetch
53
53
  * attachment 12345") therefore cannot pull a file of any other issue.
54
+ *
55
+ * With a trusted group the file's uploader must be trusted too — the same
56
+ * predicate that withheld it from the prompt — judged on the membership list
57
+ * read now: a list that cannot be refreshed refuses.
54
58
  */
55
59
  /** A file name over 255 bytes is refused by the filesystem; `<id>-<name>` is cut to this, on a character boundary. */
56
60
  exports.jiraAttachmentFileNameMaxBytes = 200;
@@ -125,6 +129,18 @@ async function fetchIssueAttachment(deps, key, attachmentId) {
125
129
  const listed = (issue.fields.attachment ?? []).map((candidate) => candidate.id).join(', ') || 'none';
126
130
  return { ok: false, error: `Attachment ${attachmentId} is not an attachment of ${issueKey}. Its attachments: ${listed}.` };
127
131
  }
132
+ if (deps.trust) {
133
+ try {
134
+ await deps.trust.refreshIfStale();
135
+ }
136
+ catch (error) {
137
+ const reason = error instanceof Error ? error.message : String(error);
138
+ return { ok: false, error: `Attachment ${attachmentId} could not be fetched: the trusted group's members could not be read (${reason})` };
139
+ }
140
+ if (!deps.trust.checkIsTrusted(attachment.author)) {
141
+ return { ok: false, error: `Attachment ${attachmentId} was uploaded by someone outside the trusted group; it is not available to you.` };
142
+ }
143
+ }
128
144
  const downloadDir = deps.getDownloadDir(key);
129
145
  const filePath = path.join(downloadDir, getAttachmentFileName(attachment.id, attachment.filename));
130
146
  if (await checkHasRegularFileOfSize(filePath, attachment.size)) {
@@ -1 +1 @@
1
- {"version":3,"file":"attachmentTool.js","sourceRoot":"","sources":["../../../src/connectors/jira/attachmentTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachmentTool.js","sourceRoot":"","sources":["../../../src/connectors/jira/attachmentTool.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,10 @@ export declare const jiraBackoffMs: readonly [1000, 4000];
28
28
  export declare const jiraBackoffJitterRatio = 0.5;
29
29
  /** Jira's own page size for comments; the page actually returned decides where the next one starts. */
30
30
  export declare const jiraCommentPageSize = 100;
31
+ /** Jira's largest changelog page. */
32
+ export declare const jiraChangelogPageSize = 100;
33
+ /** The most members of a group one `group/member` page holds; the page actually returned decides where the next one starts. */
34
+ export declare const jiraGroupMemberPageSize = 50;
31
35
  /** The credentials were refused (401) or lack the permission (403). Never retried. */
32
36
  export declare class JiraAuthError extends Error {
33
37
  readonly status: number;
@@ -224,6 +228,7 @@ declare const issueSchema: z.ZodObject<{
224
228
  displayName: z.ZodOptional<z.ZodString>;
225
229
  }, z.core.$strip>>>;
226
230
  created: z.ZodOptional<z.ZodString>;
231
+ updated: z.ZodOptional<z.ZodString>;
227
232
  description: z.ZodOptional<z.ZodNullable<z.ZodType<import("./adf").AdfNode, unknown, z.core.$ZodTypeInternals<import("./adf").AdfNode, unknown>>>>;
228
233
  }, z.core.$strip>;
229
234
  renderedFields: z.ZodOptional<z.ZodObject<{
@@ -344,6 +349,7 @@ declare const searchResultSchema: z.ZodObject<{
344
349
  displayName: z.ZodOptional<z.ZodString>;
345
350
  }, z.core.$strip>>>;
346
351
  created: z.ZodOptional<z.ZodString>;
352
+ updated: z.ZodOptional<z.ZodString>;
347
353
  description: z.ZodOptional<z.ZodNullable<z.ZodType<import("./adf").AdfNode, unknown, z.core.$ZodTypeInternals<import("./adf").AdfNode, unknown>>>>;
348
354
  }, z.core.$strip>;
349
355
  renderedFields: z.ZodOptional<z.ZodObject<{
@@ -408,6 +414,13 @@ declare const fieldDefinitionsSchema: z.ZodArray<z.ZodObject<{
408
414
  id: z.ZodString;
409
415
  name: z.ZodString;
410
416
  }, z.core.$strip>>;
417
+ /** `GET /group/bulk`: the groups of that name, each with the id that survives a rename. */
418
+ declare const groupPageSchema: z.ZodObject<{
419
+ values: z.ZodArray<z.ZodObject<{
420
+ name: z.ZodString;
421
+ groupId: z.ZodString;
422
+ }, z.core.$strip>>;
423
+ }, z.core.$strip>;
411
424
  export type JiraAccount = z.infer<typeof accountSchema>;
412
425
  export type JiraChangelogHistory = z.infer<typeof changelogHistorySchema>;
413
426
  /** `rawFields` (every returned field's value as Jira sent it, by id) is filled in by `getIssue` only, never by a search. */
@@ -425,6 +438,8 @@ export type JiraSearchResult = z.infer<typeof searchResultSchema>;
425
438
  export type JiraChangelogPage = z.infer<typeof changelogPageSchema>;
426
439
  /** A status as `GET /project/{key}/statuses` lists it. */
427
440
  export type JiraProjectStatus = z.infer<typeof projectStatusSchema>;
441
+ /** A group as `GET /group/bulk` lists it: its name and the id that stays when the name changes. */
442
+ export type JiraGroup = z.infer<typeof groupPageSchema>['values'][number];
428
443
  /** @name JiraSearchRequest @description `POST /rest/api/3/search/jql` (D13). */
429
444
  export interface JiraSearchRequest {
430
445
  jql: string;
@@ -482,9 +497,30 @@ export interface JiraClient {
482
497
  addComment(issueKey: string, body: AdfDocument): Promise<JiraCommentPostResult>;
483
498
  /** The issue's newest comments, newest first — R18's read-back after a post of unknown outcome. */
484
499
  getRecentComments(issueKey: string, maxResults: number): Promise<JiraComment[]>;
500
+ /** One comment of the issue by its id; a comment that is gone is a {@link JiraHttpError} with `status` 404. */
501
+ getComment(issueKey: string, commentId: string): Promise<JiraComment>;
485
502
  assignIssue(issueKey: string, accountId: string): Promise<void>;
486
503
  getProjectStatuses(projectKey: string): Promise<JiraProjectStatus[]>;
504
+ /** The group named EXACTLY `groupName`, or `null` when the site has none. Needs the Browse users and groups permission. */
505
+ getGroupByName(groupName: string): Promise<JiraGroup | null>;
506
+ /**
507
+ * EVERY active member of the group `groupId`, read page by page. A group that does not exist is a
508
+ * {@link JiraHttpError} with `status` 404; a missing permission is a {@link JiraAuthError}.
509
+ */
510
+ getGroupMembers(groupId: string): Promise<JiraAccount[]>;
511
+ }
512
+ /** One page of a read paged by `startAt`, as {@link checkIsLastOffsetPage} judges it. */
513
+ export interface JiraOffsetPage {
514
+ isLast?: boolean;
515
+ total?: number;
516
+ pageItemCount: number;
517
+ /** Everything read so far, this page included. */
518
+ readItemCount: number;
519
+ /** The `maxResults` asked for. */
520
+ pageSize: number;
487
521
  }
522
+ /** An empty page always ends a `startAt` read; else `isLast` does when Jira sends it, else `total`, else a page shorter than asked. */
523
+ export declare function checkIsLastOffsetPage(page: JiraOffsetPage): boolean;
488
524
  export declare function createJiraClient(options: JiraClientOptions): JiraClient;
489
525
  export {};
490
526
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JiraHttpError = exports.JiraAuthError = exports.jiraCommentPageSize = exports.jiraBackoffJitterRatio = exports.jiraBackoffMs = exports.jiraRetryAfterCapMs = exports.jiraMaxAttempts = exports.jiraRequestTimeoutMs = void 0;
3
+ exports.JiraHttpError = exports.JiraAuthError = exports.jiraGroupMemberPageSize = exports.jiraChangelogPageSize = exports.jiraCommentPageSize = exports.jiraBackoffJitterRatio = exports.jiraBackoffMs = exports.jiraRetryAfterCapMs = exports.jiraMaxAttempts = exports.jiraRequestTimeoutMs = void 0;
4
+ exports.checkIsLastOffsetPage = checkIsLastOffsetPage;
4
5
  exports.createJiraClient = createJiraClient;
5
6
  const zod_1 = require("zod");
6
7
  const utils_1 = require("../../utils");
@@ -35,6 +36,10 @@ exports.jiraBackoffMs = [1_000, 4_000];
35
36
  exports.jiraBackoffJitterRatio = 0.5;
36
37
  /** Jira's own page size for comments; the page actually returned decides where the next one starts. */
37
38
  exports.jiraCommentPageSize = 100;
39
+ /** Jira's largest changelog page. */
40
+ exports.jiraChangelogPageSize = 100;
41
+ /** The most members of a group one `group/member` page holds; the page actually returned decides where the next one starts. */
42
+ exports.jiraGroupMemberPageSize = 50;
38
43
  /**
39
44
  * Network error codes that mean the request never left this host — no
40
45
  * connection, no address, no TLS session — so nothing reached Jira.
@@ -171,6 +176,8 @@ const issueFieldsSchema = zod_1.z.object({
171
176
  reporter: accountSchema.nullable().optional(),
172
177
  creator: accountSchema.nullable().optional(),
173
178
  created: zod_1.z.string().optional(),
179
+ /** Moves on every change of the issue, a comment added or edited included (the mention scan reads it). */
180
+ updated: zod_1.z.string().optional(),
174
181
  description: adf_1.adfNodeSchema.nullable().optional(),
175
182
  });
176
183
  const issueSchema = zod_1.z.object({
@@ -212,6 +219,15 @@ const remoteLinksSchema = zod_1.z.array(remoteLinkSchema);
212
219
  /** What `GET /issue/{key}/remotelink` answers when issue linking is switched off on the site. */
213
220
  const remoteLinksDisabledStatus = 403;
214
221
  const fieldDefinitionsSchema = zod_1.z.array(zod_1.z.object({ id: zod_1.z.string(), name: zod_1.z.string() }));
222
+ /** `GET /group/bulk`: the groups of that name, each with the id that survives a rename. */
223
+ const groupPageSchema = zod_1.z.object({
224
+ values: zod_1.z.array(zod_1.z.object({ name: zod_1.z.string(), groupId: zod_1.z.string() })),
225
+ });
226
+ const groupMemberPageSchema = zod_1.z.object({
227
+ total: zod_1.z.number().optional(),
228
+ isLast: zod_1.z.boolean().optional(),
229
+ values: zod_1.z.array(accountSchema),
230
+ });
215
231
  const createdCommentSchema = zod_1.z.object({ id: zod_1.z.string() });
216
232
  const myselfSchema = zod_1.z.object({ accountId: zod_1.z.string() });
217
233
  /** Jira's error body (`errorMessages` + per-field `errors`), names and texts only. */
@@ -259,6 +275,14 @@ function getFailureDetail(error) {
259
275
  const reason = cause.message.includes(code) ? cause.message : [code, cause.message].filter((part) => part !== '').join(': ');
260
276
  return reason ? `${error.message} (${reason})` : error.message;
261
277
  }
278
+ /** An empty page always ends a `startAt` read; else `isLast` does when Jira sends it, else `total`, else a page shorter than asked. */
279
+ function checkIsLastOffsetPage(page) {
280
+ if (page.pageItemCount === 0)
281
+ return true;
282
+ if (page.isLast !== undefined)
283
+ return page.isLast;
284
+ return page.total === undefined ? page.pageItemCount < page.pageSize : page.readItemCount >= page.total;
285
+ }
262
286
  function getParsedResponse(text, schema) {
263
287
  let json;
264
288
  try {
@@ -387,11 +411,9 @@ function createJiraClient(options) {
387
411
  isIdempotent: true,
388
412
  }, commentPageSchema);
389
413
  comments.push(...page.comments);
390
- // `total` ends the read; without it a page shorter than asked does. An empty page always does.
391
- const isLastPage = page.comments.length === 0
392
- || (page.total === undefined ? page.comments.length < exports.jiraCommentPageSize : comments.length >= page.total);
393
- if (isLastPage)
414
+ if (checkIsLastOffsetPage({ total: page.total, pageItemCount: page.comments.length, readItemCount: comments.length, pageSize: exports.jiraCommentPageSize })) {
394
415
  return comments;
416
+ }
395
417
  }
396
418
  },
397
419
  getRemoteLinks: async (issueKey) => {
@@ -437,6 +459,7 @@ function createJiraClient(options) {
437
459
  const page = await sendForJson({ method: 'GET', path: `/rest/api/3/issue/${encode(issueKey)}/comment?orderBy=-created&maxResults=${maxResults}`, isIdempotent: true }, commentPageSchema);
438
460
  return page.comments;
439
461
  },
462
+ getComment: (issueKey, commentId) => sendForJson({ method: 'GET', path: `/rest/api/3/issue/${encode(issueKey)}/comment/${encode(commentId)}`, isIdempotent: true }, commentSchema),
440
463
  assignIssue: async (issueKey, accountId) => {
441
464
  await send({ method: 'PUT', path: `/rest/api/3/issue/${encode(issueKey)}/assignee`, isIdempotent: true, body: { accountId } });
442
465
  },
@@ -448,6 +471,24 @@ function createJiraClient(options) {
448
471
  byId.set(status.id, status);
449
472
  return [...byId.values()];
450
473
  },
474
+ getGroupByName: async (groupName) => {
475
+ const page = await sendForJson({ method: 'GET', path: `/rest/api/3/group/bulk?groupName=${encode(groupName)}`, isIdempotent: true }, groupPageSchema);
476
+ return page.values.find((group) => group.name === groupName) ?? null;
477
+ },
478
+ getGroupMembers: async (groupId) => {
479
+ const members = [];
480
+ for (;;) {
481
+ const page = await sendForJson({
482
+ method: 'GET',
483
+ path: `/rest/api/3/group/member?groupId=${encode(groupId)}&includeInactiveUsers=false&startAt=${members.length}&maxResults=${exports.jiraGroupMemberPageSize}`,
484
+ isIdempotent: true,
485
+ }, groupMemberPageSchema);
486
+ members.push(...page.values);
487
+ if (checkIsLastOffsetPage({ isLast: page.isLast, total: page.total, pageItemCount: page.values.length, readItemCount: members.length, pageSize: exports.jiraGroupMemberPageSize })) {
488
+ return members;
489
+ }
490
+ }
491
+ },
451
492
  };
452
493
  }
453
494
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/connectors/jira/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/connectors/jira/client.ts"],"names":[],"mappings":"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"}
@@ -4,27 +4,23 @@ import type { JiraFieldDefinition, JiraProjectStatus } from './client';
4
4
  import type { JiraExtraField } from './issueBlocks';
5
5
  /**
6
6
  * @description The Jira connector's configuration (Jira connector plan J4,
7
- * D10/D11/D16, R4/R9; J4b R12/R14/R15): `DATA_DIR/jira.json`, `${VAR}` placeholders expanded from
7
+ * D10/D11/D16, R4/R9; J4b R14/R15): `DATA_DIR/jira.json`, `${VAR}` placeholders expanded from
8
8
  * the environment (the secrets stay in the instance's env file, never in the
9
9
  * JSON). Validation names the field that is wrong and never echoes a value.
10
10
  */
11
11
  /** Poll interval bounds and default, seconds (D13). */
12
12
  export declare const jiraPollIntervalMinSeconds = 10;
13
13
  export declare const jiraPollIntervalMaxSeconds = 600;
14
- export declare const jiraPollIntervalDefaultSeconds = 90;
14
+ export declare const jiraPollIntervalDefaultSeconds = 30;
15
15
  /** Requests per issue per rolling 24 h (D12). */
16
16
  export declare const jiraRunBudgetDefault = 5;
17
17
  /** What a Jira session runs on when `jira.json` names neither (C14); either key still overrides its own default. */
18
18
  export declare const jiraDefaultModel = "opus";
19
19
  export declare const jiraDefaultEffort: ClaudeEffortLevel;
20
+ /** The refusal of `wakeOnMention: true` without a `trustedGroup`. */
21
+ export declare const wakeOnMentionNeedsGroupError = "jira.json wakeOnMention needs trustedGroup: without a group, anyone who can comment could start the AI";
20
22
  /** The json-stream host, under either lifecycle — no TUI trust dialog (R14). */
21
23
  export type JiraAdapterName = typeof claudeJsonStreamAdapterName | typeof claudePerTurnAdapterName;
22
- /**
23
- * What Claude Code loads as project memory from the working folder AND every
24
- * folder above it (R12): any of these above a Jira folder brings someone's
25
- * instructions into the session — under HOME that is the operator's own setup.
26
- */
27
- export declare const claudeMemoryMarkerNames: readonly ["CLAUDE.md", "CLAUDE.local.md", "AGENTS.md", ".claude"];
28
24
  /** @name JiraProjectConfig @description One allowlisted project. */
29
25
  export interface JiraProjectConfig {
30
26
  /** The working folder relative to `WORK_ROOT`, canonical (validated to exist), as a binding stores it. */
@@ -46,6 +42,15 @@ export interface JiraConfig {
46
42
  projects: ReadonlyMap<string, JiraProjectConfig>;
47
43
  pollIntervalMs: number;
48
44
  runBudgetPer24h: number;
45
+ /** The trusted group's name as `jira.json` gives it; `null` → no filter, the text of everyone who can edit or comment reaches the agents. */
46
+ trustedGroupName: string | null;
47
+ /**
48
+ * Whether an @-mention of the AI account in a comment starts a request (it answers only, nothing is handed
49
+ * over). `wakeOnMention` from `jira.json`; absent → on exactly when `trustedGroup` is set.
50
+ */
51
+ isMentionWakeOn: boolean;
52
+ /** `wakeOnMention` as `jira.json` gives it, `null` when absent: the boot line tells a deliberate "off" from "no group". */
53
+ wakeOnMentionSetting: boolean | null;
49
54
  adapter: JiraAdapterName;
50
55
  /** The sessions' model; absent from `jira.json` → {@link jiraDefaultModel}. */
51
56
  model: string;
@@ -61,15 +66,6 @@ export type JiraConfigResult = {
61
66
  ok: false;
62
67
  errors: string[];
63
68
  };
64
- /**
65
- * @description R12: the marker of Claude memory nearest a folder — in the folder
66
- * itself or any folder above it, up to the filesystem root — with how many
67
- * levels up it was found; `null` when the ancestry is clean.
68
- */
69
- export declare function getClaudeMemoryAbove(folderPath: string): {
70
- markerName: string;
71
- levelsUp: number;
72
- } | null;
73
69
  /**
74
70
  * @description R9: a Jira instance must not share the default OpenCode server —
75
71
  * every other instance on the host (another bot's included) uses it by default,
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/connectors/jira/config.ts"],"names":[],"mappings":"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"}
@@ -33,8 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.claudeMemoryMarkerNames = exports.jiraDefaultEffort = exports.jiraDefaultModel = exports.jiraRunBudgetDefault = exports.jiraPollIntervalDefaultSeconds = exports.jiraPollIntervalMaxSeconds = exports.jiraPollIntervalMinSeconds = void 0;
37
- exports.getClaudeMemoryAbove = getClaudeMemoryAbove;
36
+ exports.wakeOnMentionNeedsGroupError = exports.jiraDefaultEffort = exports.jiraDefaultModel = exports.jiraRunBudgetDefault = exports.jiraPollIntervalDefaultSeconds = exports.jiraPollIntervalMaxSeconds = exports.jiraPollIntervalMinSeconds = void 0;
38
37
  exports.getOpenCodeIsolationError = getOpenCodeIsolationError;
39
38
  exports.validateJiraConfig = validateJiraConfig;
40
39
  exports.loadJiraConfig = loadJiraConfig;
@@ -52,19 +51,21 @@ const sessionKeyCodec_1 = require("./sessionKeyCodec");
52
51
  const configFile_1 = require("./configFile");
53
52
  /**
54
53
  * @description The Jira connector's configuration (Jira connector plan J4,
55
- * D10/D11/D16, R4/R9; J4b R12/R14/R15): `DATA_DIR/jira.json`, `${VAR}` placeholders expanded from
54
+ * D10/D11/D16, R4/R9; J4b R14/R15): `DATA_DIR/jira.json`, `${VAR}` placeholders expanded from
56
55
  * the environment (the secrets stay in the instance's env file, never in the
57
56
  * JSON). Validation names the field that is wrong and never echoes a value.
58
57
  */
59
58
  /** Poll interval bounds and default, seconds (D13). */
60
59
  exports.jiraPollIntervalMinSeconds = 10;
61
60
  exports.jiraPollIntervalMaxSeconds = 600;
62
- exports.jiraPollIntervalDefaultSeconds = 90;
61
+ exports.jiraPollIntervalDefaultSeconds = 30;
63
62
  /** Requests per issue per rolling 24 h (D12). */
64
63
  exports.jiraRunBudgetDefault = 5;
65
64
  /** What a Jira session runs on when `jira.json` names neither (C14); either key still overrides its own default. */
66
65
  exports.jiraDefaultModel = 'opus';
67
66
  exports.jiraDefaultEffort = 'high';
67
+ /** The refusal of `wakeOnMention: true` without a `trustedGroup`. */
68
+ exports.wakeOnMentionNeedsGroupError = 'jira.json wakeOnMention needs trustedGroup: without a group, anyone who can comment could start the AI';
68
69
  /** The backend a Jira session runs on by default (D16, R14); `claude-per-turn` is the other allowed one (L-D12). */
69
70
  const jiraAdapterName = adapterNames_1.claudeJsonStreamAdapterName;
70
71
  /** Backends refused for a Jira project, each with its reason. */
@@ -72,12 +73,6 @@ const refusedAdapterReasons = new Map([
72
73
  ['opencode', 'OpenCode is not available for a Jira project (it cannot be isolated yet)'],
73
74
  ['claude', 'the tmux Claude backend is not available for a Jira project (its folder-trust dialog would hold the session)'],
74
75
  ]);
75
- /**
76
- * What Claude Code loads as project memory from the working folder AND every
77
- * folder above it (R12): any of these above a Jira folder brings someone's
78
- * instructions into the session — under HOME that is the operator's own setup.
79
- */
80
- exports.claudeMemoryMarkerNames = ['CLAUDE.md', 'CLAUDE.local.md', 'AGENTS.md', '.claude'];
81
76
  /** A model name as `claude --model` takes it (`opus`, `claude-opus-5-5`, `opus[1m]`). */
82
77
  const claudeModelRe = /^[A-Za-z0-9][A-Za-z0-9._:/[\]-]*$/;
83
78
  const claudeModelMaxLength = 100;
@@ -111,6 +106,11 @@ const rawConfigSchema = zod_1.z.strictObject({
111
106
  projects: zod_1.z.record(zod_1.z.string(), projectSchema),
112
107
  pollIntervalSeconds: zod_1.z.number().int().min(exports.jiraPollIntervalMinSeconds).max(exports.jiraPollIntervalMaxSeconds).optional(),
113
108
  runBudgetPer24h: zod_1.z.number().int().min(1).optional(),
109
+ // The NAME of one Jira group: only its members' text steers the agent (see `trustedGroup.ts`); absent → everyone's does.
110
+ trustedGroup: zod_1.z.string().min(1).optional(),
111
+ // An @-mention of the AI account in a comment wakes it (answer only). Absent → on with a `trustedGroup`, off without;
112
+ // `true` without a group is refused: anyone who can comment could start the agent.
113
+ wakeOnMention: zod_1.z.boolean().optional(),
114
114
  adapter: zod_1.z.string().min(1).optional(),
115
115
  // R15: user settings no longer apply in a Jira session, so its model and effort come from here.
116
116
  model: zod_1.z.string().max(claudeModelMaxLength).regex(claudeModelRe, 'must be a model name like opus or claude-opus-5-5').optional(),
@@ -133,23 +133,6 @@ function getAgentBinaryError(binaryPath) {
133
133
  }
134
134
  return null;
135
135
  }
136
- /**
137
- * @description R12: the marker of Claude memory nearest a folder — in the folder
138
- * itself or any folder above it, up to the filesystem root — with how many
139
- * levels up it was found; `null` when the ancestry is clean.
140
- */
141
- function getClaudeMemoryAbove(folderPath) {
142
- let current = path.resolve(folderPath);
143
- for (let levelsUp = 0;; levelsUp += 1) {
144
- const markerName = exports.claudeMemoryMarkerNames.find((name) => fs.existsSync(path.join(current, name)));
145
- if (markerName)
146
- return { markerName, levelsUp };
147
- const parent = path.dirname(current);
148
- if (parent === current)
149
- return null;
150
- current = parent;
151
- }
152
- }
153
136
  /** Names of the fields that still hold a `${VAR}` placeholder — a variable the env file does not set. */
154
137
  function getUnexpandedFields(node, pathPrefix) {
155
138
  const fields = [];
@@ -232,6 +215,8 @@ function validateJiraConfig(parsedJson, context) {
232
215
  const openCodeError = getOpenCodeIsolationError(context.openCodeUrl);
233
216
  if (openCodeError)
234
217
  errors.push(openCodeError);
218
+ if (raw.wakeOnMention === true && raw.trustedGroup === undefined)
219
+ errors.push(exports.wakeOnMentionNeedsGroupError);
235
220
  const agentBinaries = new Map();
236
221
  for (const [name, binaryPath] of Object.entries(raw.agentBinaries ?? {})) {
237
222
  const binaryError = getAgentBinaryError(binaryPath);
@@ -258,12 +243,6 @@ function validateJiraConfig(parsedJson, context) {
258
243
  errors.push(`jira.json projects.${projectKey}.folder: ${reason}`);
259
244
  continue;
260
245
  }
261
- const memory = getClaudeMemoryAbove(path.join(fs.realpathSync(context.workRoot), folder));
262
- if (memory) {
263
- const where = memory.levelsUp === 0 ? 'in it' : `${memory.levelsUp} folder(s) above it`;
264
- errors.push(`jira.json projects.${projectKey}.folder: Claude would load ${memory.markerName} found ${where} — pick a folder outside HOME and any repository`);
265
- continue;
266
- }
267
246
  projects.set(projectKey, { folder, triggerStatusNames: project.triggerStatuses, extraFieldIds: [...new Set(project.extraFields ?? [])] });
268
247
  }
269
248
  if (errors.length > 0)
@@ -279,6 +258,9 @@ function validateJiraConfig(parsedJson, context) {
279
258
  projects,
280
259
  pollIntervalMs: (raw.pollIntervalSeconds ?? exports.jiraPollIntervalDefaultSeconds) * 1000,
281
260
  runBudgetPer24h: raw.runBudgetPer24h ?? exports.jiraRunBudgetDefault,
261
+ trustedGroupName: raw.trustedGroup ?? null,
262
+ isMentionWakeOn: raw.trustedGroup !== undefined && (raw.wakeOnMention ?? true),
263
+ wakeOnMentionSetting: raw.wakeOnMention ?? null,
282
264
  adapter: adapterName === adapterNames_1.claudePerTurnAdapterName ? adapterNames_1.claudePerTurnAdapterName : jiraAdapterName,
283
265
  model: raw.model ?? exports.jiraDefaultModel,
284
266
  effort: raw.effort ?? exports.jiraDefaultEffort,