charness 3.4.0 → 3.5.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 (146) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +73 -5
  3. package/dist/adapters/claudeCliAdapter.js +2 -2
  4. package/dist/adapters/claudeCliAdapter.js.map +1 -1
  5. package/dist/adapters/claudeConfigDir.d.ts +18 -0
  6. package/dist/adapters/claudeConfigDir.d.ts.map +1 -1
  7. package/dist/adapters/claudeJsonStreamAdapter.d.ts +8 -1
  8. package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -1
  9. package/dist/adapters/claudeJsonStreamAdapter.js +24 -6
  10. package/dist/adapters/claudeJsonStreamAdapter.js.map +1 -1
  11. package/dist/adapters/createAdapter.d.ts +2 -1
  12. package/dist/adapters/createAdapter.d.ts.map +1 -1
  13. package/dist/adapters/createAdapter.js +16 -0
  14. package/dist/adapters/createAdapter.js.map +1 -1
  15. package/dist/agentLogin/agentLogin.d.ts +18 -1
  16. package/dist/agentLogin/agentLogin.d.ts.map +1 -1
  17. package/dist/agentLogin/agentLogin.js +59 -18
  18. package/dist/agentLogin/agentLogin.js.map +1 -1
  19. package/dist/apiErrorRetry.d.ts +3 -1
  20. package/dist/apiErrorRetry.d.ts.map +1 -1
  21. package/dist/apiErrorRetry.js +11 -1
  22. package/dist/apiErrorRetry.js.map +1 -1
  23. package/dist/bot.d.ts.map +1 -1
  24. package/dist/bot.js +176 -23
  25. package/dist/bot.js.map +1 -1
  26. package/dist/cli/claudeProfiles.d.ts +1 -1
  27. package/dist/cli/claudeProfiles.d.ts.map +1 -1
  28. package/dist/cli/claudeProfiles.js +11 -6
  29. package/dist/cli/claudeProfiles.js.map +1 -1
  30. package/dist/connectors/telegram/commands/claudeAccounts.d.ts +6 -2
  31. package/dist/connectors/telegram/commands/claudeAccounts.d.ts.map +1 -1
  32. package/dist/connectors/telegram/commands/claudeAccounts.js +127 -28
  33. package/dist/connectors/telegram/commands/claudeAccounts.js.map +1 -1
  34. package/dist/connectors/telegram/commands/fallbackChain.d.ts.map +1 -1
  35. package/dist/connectors/telegram/commands/fallbackChain.js +6 -2
  36. package/dist/connectors/telegram/commands/fallbackChain.js.map +1 -1
  37. package/dist/i18n/de.d.ts.map +1 -1
  38. package/dist/i18n/de.js +28 -1
  39. package/dist/i18n/de.js.map +1 -1
  40. package/dist/i18n/en.d.ts.map +1 -1
  41. package/dist/i18n/en.js +28 -1
  42. package/dist/i18n/en.js.map +1 -1
  43. package/dist/i18n/es.d.ts.map +1 -1
  44. package/dist/i18n/es.js +28 -1
  45. package/dist/i18n/es.js.map +1 -1
  46. package/dist/i18n/fr.d.ts.map +1 -1
  47. package/dist/i18n/fr.js +28 -1
  48. package/dist/i18n/fr.js.map +1 -1
  49. package/dist/i18n/hi.d.ts.map +1 -1
  50. package/dist/i18n/hi.js +28 -1
  51. package/dist/i18n/hi.js.map +1 -1
  52. package/dist/i18n/ja.d.ts.map +1 -1
  53. package/dist/i18n/ja.js +28 -1
  54. package/dist/i18n/ja.js.map +1 -1
  55. package/dist/i18n/ka.d.ts.map +1 -1
  56. package/dist/i18n/ka.js +28 -1
  57. package/dist/i18n/ka.js.map +1 -1
  58. package/dist/i18n/pt.d.ts.map +1 -1
  59. package/dist/i18n/pt.js +28 -1
  60. package/dist/i18n/pt.js.map +1 -1
  61. package/dist/i18n/ru.d.ts.map +1 -1
  62. package/dist/i18n/ru.js +28 -1
  63. package/dist/i18n/ru.js.map +1 -1
  64. package/dist/i18n/uk.d.ts.map +1 -1
  65. package/dist/i18n/uk.js +28 -1
  66. package/dist/i18n/uk.js.map +1 -1
  67. package/dist/i18n/uz.d.ts.map +1 -1
  68. package/dist/i18n/uz.js +28 -1
  69. package/dist/i18n/uz.js.map +1 -1
  70. package/dist/i18n/zh.d.ts.map +1 -1
  71. package/dist/i18n/zh.js +28 -1
  72. package/dist/i18n/zh.js.map +1 -1
  73. package/dist/scheduler/mcpSurface.d.ts.map +1 -1
  74. package/dist/scheduler/mcpSurface.js +4 -2
  75. package/dist/scheduler/mcpSurface.js.map +1 -1
  76. package/dist/state.d.ts +31 -0
  77. package/dist/state.d.ts.map +1 -1
  78. package/dist/state.js +36 -0
  79. package/dist/state.js.map +1 -1
  80. package/dist/types.d.ts +6 -0
  81. package/dist/types.d.ts.map +1 -1
  82. package/dist/utils/anthropicApiKeyCheck.d.ts +19 -0
  83. package/dist/utils/anthropicApiKeyCheck.d.ts.map +1 -0
  84. package/dist/utils/anthropicApiKeyCheck.js +41 -0
  85. package/dist/utils/anthropicApiKeyCheck.js.map +1 -0
  86. package/dist/utils/claudeAccountPickerPlan.d.ts +6 -1
  87. package/dist/utils/claudeAccountPickerPlan.d.ts.map +1 -1
  88. package/dist/utils/claudeAccountPickerPlan.js +5 -1
  89. package/dist/utils/claudeAccountPickerPlan.js.map +1 -1
  90. package/dist/utils/claudeApiKeyHelper.d.ts +19 -0
  91. package/dist/utils/claudeApiKeyHelper.d.ts.map +1 -0
  92. package/dist/utils/claudeApiKeyHelper.js +32 -0
  93. package/dist/utils/claudeApiKeyHelper.js.map +1 -0
  94. package/dist/utils/claudeApiSpend.d.ts +73 -0
  95. package/dist/utils/claudeApiSpend.d.ts.map +1 -0
  96. package/dist/utils/claudeApiSpend.js +82 -0
  97. package/dist/utils/claudeApiSpend.js.map +1 -0
  98. package/dist/utils/claudeCompactHook.d.ts +11 -6
  99. package/dist/utils/claudeCompactHook.d.ts.map +1 -1
  100. package/dist/utils/claudeCompactHook.js +28 -11
  101. package/dist/utils/claudeCompactHook.js.map +1 -1
  102. package/dist/utils/claudeLimitSwitch.d.ts +2 -1
  103. package/dist/utils/claudeLimitSwitch.d.ts.map +1 -1
  104. package/dist/utils/claudeLimitSwitch.js +3 -2
  105. package/dist/utils/claudeLimitSwitch.js.map +1 -1
  106. package/dist/utils/claudeProfileUsageLines.d.ts +18 -3
  107. package/dist/utils/claudeProfileUsageLines.d.ts.map +1 -1
  108. package/dist/utils/claudeProfileUsageLines.js +23 -2
  109. package/dist/utils/claudeProfileUsageLines.js.map +1 -1
  110. package/dist/utils/claudeProfiles.d.ts +57 -2
  111. package/dist/utils/claudeProfiles.d.ts.map +1 -1
  112. package/dist/utils/claudeProfiles.js +96 -3
  113. package/dist/utils/claudeProfiles.js.map +1 -1
  114. package/dist/utils/claudeStreamJson.d.ts +4 -1
  115. package/dist/utils/claudeStreamJson.d.ts.map +1 -1
  116. package/dist/utils/claudeStreamJson.js +6 -0
  117. package/dist/utils/claudeStreamJson.js.map +1 -1
  118. package/dist/utils/claudeTranscriptContent.d.ts +8 -0
  119. package/dist/utils/claudeTranscriptContent.d.ts.map +1 -1
  120. package/dist/utils/claudeTranscriptContent.js +44 -0
  121. package/dist/utils/claudeTranscriptContent.js.map +1 -1
  122. package/dist/utils/claudeUsage.d.ts +22 -6
  123. package/dist/utils/claudeUsage.d.ts.map +1 -1
  124. package/dist/utils/claudeUsage.js +12 -5
  125. package/dist/utils/claudeUsage.js.map +1 -1
  126. package/dist/utils/claudeUsageRefresher.d.ts +6 -0
  127. package/dist/utils/claudeUsageRefresher.d.ts.map +1 -1
  128. package/dist/utils/claudeUsageRefresher.js +2 -2
  129. package/dist/utils/claudeUsageRefresher.js.map +1 -1
  130. package/dist/utils/fallbackChain.d.ts +15 -8
  131. package/dist/utils/fallbackChain.d.ts.map +1 -1
  132. package/dist/utils/fallbackChain.js +30 -13
  133. package/dist/utils/fallbackChain.js.map +1 -1
  134. package/dist/utils/limitsBoardPlan.d.ts +4 -2
  135. package/dist/utils/limitsBoardPlan.d.ts.map +1 -1
  136. package/dist/utils/limitsBoardPlan.js +12 -5
  137. package/dist/utils/limitsBoardPlan.js.map +1 -1
  138. package/dist/utils/recvPreviewRedaction.d.ts +7 -2
  139. package/dist/utils/recvPreviewRedaction.d.ts.map +1 -1
  140. package/dist/utils/recvPreviewRedaction.js +10 -4
  141. package/dist/utils/recvPreviewRedaction.js.map +1 -1
  142. package/dist/utils/threadStatusReport.d.ts +12 -1
  143. package/dist/utils/threadStatusReport.d.ts.map +1 -1
  144. package/dist/utils/threadStatusReport.js +13 -4
  145. package/dist/utils/threadStatusReport.js.map +1 -1
  146. package/package.json +1 -1
@@ -1,4 +1,6 @@
1
1
  import type { AgentRuntimeInfo } from '../types';
2
+ import type { ClaudeProfileBilling } from './claudeProfiles';
3
+ import type { ClaudeApiSpend } from './claudeApiSpend';
2
4
  /** One Claude account profile as `/status` names it. */
3
5
  export interface ThreadStatusAccountSource {
4
6
  name: string;
@@ -8,6 +10,12 @@ export interface ThreadStatusAccountSource {
8
10
  loggedIn: boolean | undefined;
9
11
  /** Raw ISO limit mark of the profile record; a mark in the past reads as no limit. */
10
12
  limitedUntil: string | null;
13
+ /** How the account pays; `api` is marked on the row (every request costs money). Absent / `null`: a subscription. */
14
+ billing?: ClaudeProfileBilling | null;
15
+ /** When its API credits were found used up (marked on the row while it holds); absent / `null`: not marked. */
16
+ creditExhaustedAt?: string | null;
17
+ /** What an account billed to API credits spent through the bot (a line of its own under the row). */
18
+ apiSpend?: ClaudeApiSpend;
11
19
  }
12
20
  export interface ThreadStatusAccount {
13
21
  /** The account the live process runs on — or, with no live process, the one its next start uses. */
@@ -52,7 +60,10 @@ export interface ThreadStatusReportInput {
52
60
  * header, the bound working directory, the topic's view and the timezone.
53
61
  */
54
62
  export declare function getThreadStatusReport({ agentLine, subdir, isActive, isSleeping, workDir, model, effort, effortNextStart, startedAt, runtime, account, view, timezone, timezoneNow, }: ThreadStatusReportInput): string;
55
- /** @description The `Account:` row (plus a pending-switch row) of the `/status` report. */
63
+ /**
64
+ * @description The `Account:` row of the `/status` report, the spend line of an account billed to API credits, and a
65
+ * pending-switch row.
66
+ */
56
67
  export declare function formatThreadStatusAccountLines({ current, pending, nowMs }: ThreadStatusAccount, timezone: string): string[];
57
68
  export interface ThreadStatusModelSources {
58
69
  /** Live model the adapter itself can name right now (`getCurrentModel`). */
@@ -1 +1 @@
1
- {"version":3,"file":"threadStatusReport.d.ts","sourceRoot":"","sources":["../../src/utils/threadStatusReport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,wDAAwD;AACxD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,6GAA6G;IAC7G,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,sFAAsF;IACtF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,oGAAoG;IACpG,OAAO,EAAE,yBAAyB,CAAC;IACnC,4GAA4G;IAC5G,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,iGAAiG;IACjG,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,uHAAuH;IACvH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,eAAe,EACf,SAAS,EACT,OAAO,EACP,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,WAAW,GACZ,EAAE,uBAAuB,GAAG,MAAM,CA+BlC;AAcD,2FAA2F;AAC3F,wBAAgB,8BAA8B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAI3H;AAED,MAAM,WAAW,wBAAwB;IACvC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,uFAAuF;IACvF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qEAAqE;IACrE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,EAAE,wBAAwB,GAAG,MAAM,GAAG,IAAI,CAE1C"}
1
+ {"version":3,"file":"threadStatusReport.d.ts","sourceRoot":"","sources":["../../src/utils/threadStatusReport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,wDAAwD;AACxD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,6GAA6G;IAC7G,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,sFAAsF;IACtF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qHAAqH;IACrH,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtC,+GAA+G;IAC/G,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,qGAAqG;IACrG,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,oGAAoG;IACpG,OAAO,EAAE,yBAAyB,CAAC;IACnC,4GAA4G;IAC5G,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,iGAAiG;IACjG,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,uHAAuH;IACvH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,eAAe,EACf,SAAS,EACT,OAAO,EACP,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,WAAW,GACZ,EAAE,uBAAuB,GAAG,MAAM,CA+BlC;AAgBD;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAO3H;AAED,MAAM,WAAW,wBAAwB;IACvC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,uFAAuF;IACvF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qEAAqE;IACrE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,EAAE,wBAAwB,GAAG,MAAM,GAAG,IAAI,CAE1C"}
@@ -5,6 +5,7 @@ exports.formatThreadStatusAccountLines = formatThreadStatusAccountLines;
5
5
  exports.getThreadStatusModel = getThreadStatusModel;
6
6
  const i18n_1 = require("../i18n");
7
7
  const claudeUsage_1 = require("./claudeUsage");
8
+ const claudeProfileUsageLines_1 = require("./claudeProfileUsageLines");
8
9
  /**
9
10
  * @description Render the per-topic `/status` report. Pure (locale comes from
10
11
  * the caller's async i18n context) and kept OUT of `bot.ts` so it is unit-testable
@@ -52,18 +53,26 @@ function getThreadStatusReport({ agentLine, subdir, isActive, isSleeping, workDi
52
53
  }
53
54
  /**
54
55
  * @description `name · email` like an `/accounts` row (`name · not signed in` once a probe said so, the name
55
- * alone when never probed), plus the `/accounts` limit mark while it lies in the future, reset in the instance zone.
56
+ * alone when never probed), `· 💳 API` for an account billed to the API, `· 💸 credits used up` while that mark holds,
57
+ * plus the `/accounts` limit mark while it lies in the future, reset in the instance zone.
56
58
  */
57
- function formatAccount({ name, email, loggedIn, limitedUntil }, timezone, nowMs) {
59
+ function formatAccount({ name, email, loggedIn, limitedUntil, billing, creditExhaustedAt }, timezone, nowMs) {
58
60
  const detail = loggedIn === false ? (0, i18n_1.t)('account.row.loggedOut') : email;
61
+ const metered = `${billing === 'api' ? (0, i18n_1.t)('status.thread_account_api') : ''}${creditExhaustedAt ? (0, i18n_1.t)('status.thread_account_exhausted') : ''}`;
59
62
  const limited = limitedUntil !== null && Date.parse(limitedUntil) > nowMs
60
63
  ? (0, i18n_1.t)('status.thread_account_limited', { until: (0, claudeUsage_1.formatClaudeUsageResetAt)(limitedUntil, timezone, nowMs) })
61
64
  : '';
62
- return `${detail ? `${name} · ${detail}` : name}${limited}`;
65
+ return `${detail ? `${name} · ${detail}` : name}${metered}${limited}`;
63
66
  }
64
- /** @description The `Account:` row (plus a pending-switch row) of the `/status` report. */
67
+ /**
68
+ * @description The `Account:` row of the `/status` report, the spend line of an account billed to API credits, and a
69
+ * pending-switch row.
70
+ */
65
71
  function formatThreadStatusAccountLines({ current, pending, nowMs }, timezone) {
66
72
  const lines = [(0, i18n_1.t)('status.thread_account', { account: formatAccount(current, timezone, nowMs) })];
73
+ if (current.billing === 'api' && current.apiSpend) {
74
+ lines.push((0, i18n_1.t)('status.thread_api_spend', { name: current.name, ...(0, claudeProfileUsageLines_1.formatClaudeApiSpendWords)(current.apiSpend, timezone, nowMs) }));
75
+ }
67
76
  if (pending !== null)
68
77
  lines.push((0, i18n_1.t)('status.thread_account_pending', { account: formatAccount(pending, timezone, nowMs) }));
69
78
  return lines;
@@ -1 +1 @@
1
- {"version":3,"file":"threadStatusReport.js","sourceRoot":"","sources":["../../src/utils/threadStatusReport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threadStatusReport.js","sourceRoot":"","sources":["../../src/utils/threadStatusReport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "charness",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "license": "MIT",
5
5
  "author": "Sergei Solo",
6
6
  "description": "Charness (formerly TelegramCode): Telegram forum-supergroup bot for Claude Code / OpenCode — one topic per task, isolated sessions, per-thread MCP",