@codyswann/lisa 4.85.0 → 4.86.1

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 (333) hide show
  1. package/all/copy-overwrite/scripts/lib/completion-proof-content.mjs +63 -22
  2. package/all/copy-overwrite/scripts/lib/npm-update-hosted-hook.mjs +6 -1
  3. package/all/copy-overwrite/scripts/lisa-hooks/parity-safety-net.sh +19 -3
  4. package/all/copy-overwrite/scripts/npm-updater-helper-graph.json +2 -2
  5. package/dist/cli/doctor-session-manager-pending.d.ts +17 -0
  6. package/dist/cli/doctor-session-manager-pending.d.ts.map +1 -0
  7. package/dist/cli/doctor-session-manager-pending.js +130 -0
  8. package/dist/cli/doctor-session-manager-pending.js.map +1 -0
  9. package/dist/cli/doctor-session-manager-token.d.ts +69 -0
  10. package/dist/cli/doctor-session-manager-token.d.ts.map +1 -0
  11. package/dist/cli/doctor-session-manager-token.js +264 -0
  12. package/dist/cli/doctor-session-manager-token.js.map +1 -0
  13. package/dist/cli/doctor-session-manager.d.ts +3 -1
  14. package/dist/cli/doctor-session-manager.d.ts.map +1 -1
  15. package/dist/cli/doctor-session-manager.js +168 -146
  16. package/dist/cli/doctor-session-manager.js.map +1 -1
  17. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  18. package/dist/core/lisa-owned-hash-ledger.js +16 -0
  19. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  20. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  21. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  22. package/dist/core/upstream-evidence-manifest.js +168 -26
  23. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  24. package/dist/opencode/plugin-templates/parity-safety-net.sh +19 -3
  25. package/package.json +4 -4
  26. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  27. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  28. package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
  29. package/plugins/lisa/.codex-plugin/skills/lisa-secrets-access/SKILL.md +5 -3
  30. package/plugins/lisa/.codex-plugin/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
  31. package/plugins/lisa/.codex-plugin/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
  32. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/SKILL.md +197 -54
  33. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/references/runbook-template.md +23 -10
  34. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
  35. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
  36. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
  37. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
  38. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
  39. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
  40. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
  41. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
  42. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
  43. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/config.mjs +39 -11
  44. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
  45. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
  46. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
  47. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
  48. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/launch.mjs +69 -60
  49. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
  50. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
  51. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
  52. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
  53. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
  54. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
  55. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
  56. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
  57. package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/token.mjs +39 -120
  58. package/plugins/lisa/.codex-plugin/skills/lisa-setup-session-manager/SKILL.md +82 -19
  59. package/plugins/lisa/commands/session-manager.md +1 -1
  60. package/plugins/lisa/commands/setup/session-manager.md +1 -1
  61. package/plugins/lisa/hooks/parity-safety-net.sh +19 -3
  62. package/plugins/lisa/rules/reference/config-resolution.md +39 -7
  63. package/plugins/lisa/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
  64. package/plugins/lisa/skills/lisa-secrets-access/SKILL.md +5 -3
  65. package/plugins/lisa/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
  66. package/plugins/lisa/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
  67. package/plugins/lisa/skills/lisa-session-manager/SKILL.md +197 -54
  68. package/plugins/lisa/skills/lisa-session-manager/references/runbook-template.md +23 -10
  69. package/plugins/lisa/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
  70. package/plugins/lisa/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
  71. package/plugins/lisa/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
  72. package/plugins/lisa/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
  73. package/plugins/lisa/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
  74. package/plugins/lisa/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
  75. package/plugins/lisa/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
  76. package/plugins/lisa/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
  77. package/plugins/lisa/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
  78. package/plugins/lisa/skills/lisa-session-manager/scripts/config.mjs +39 -11
  79. package/plugins/lisa/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
  80. package/plugins/lisa/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
  81. package/plugins/lisa/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
  82. package/plugins/lisa/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
  83. package/plugins/lisa/skills/lisa-session-manager/scripts/launch.mjs +69 -60
  84. package/plugins/lisa/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
  85. package/plugins/lisa/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
  86. package/plugins/lisa/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
  87. package/plugins/lisa/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
  88. package/plugins/lisa/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
  89. package/plugins/lisa/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
  90. package/plugins/lisa/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
  91. package/plugins/lisa/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
  92. package/plugins/lisa/skills/lisa-session-manager/scripts/token.mjs +39 -120
  93. package/plugins/lisa/skills/lisa-setup-session-manager/SKILL.md +82 -19
  94. package/plugins/lisa-agy/commands/lisa/session-manager.md +1 -1
  95. package/plugins/lisa-agy/commands/lisa/setup/session-manager.md +1 -1
  96. package/plugins/lisa-agy/hooks/parity-safety-net.sh +19 -3
  97. package/plugins/lisa-agy/plugin.json +1 -1
  98. package/plugins/lisa-agy/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
  99. package/plugins/lisa-agy/skills/lisa-secrets-access/SKILL.md +5 -3
  100. package/plugins/lisa-agy/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
  101. package/plugins/lisa-agy/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
  102. package/plugins/lisa-agy/skills/lisa-session-manager/SKILL.md +197 -54
  103. package/plugins/lisa-agy/skills/lisa-session-manager/references/runbook-template.md +23 -10
  104. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
  105. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
  106. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
  107. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
  108. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
  109. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
  110. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
  111. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
  112. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
  113. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/config.mjs +39 -11
  114. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
  115. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
  116. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
  117. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
  118. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/launch.mjs +69 -60
  119. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
  120. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
  121. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
  122. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
  123. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
  124. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
  125. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
  126. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
  127. package/plugins/lisa-agy/skills/lisa-session-manager/scripts/token.mjs +39 -120
  128. package/plugins/lisa-agy/skills/lisa-setup-session-manager/SKILL.md +82 -19
  129. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  130. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  131. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  132. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  133. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  134. package/plugins/lisa-cdk-devin/.claude-plugin/plugin.json +1 -1
  135. package/plugins/lisa-cdk-devin/.devin-plugin/plugin.json +1 -1
  136. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  137. package/plugins/lisa-copilot/commands/lisa/session-manager.md +1 -1
  138. package/plugins/lisa-copilot/commands/lisa/setup/session-manager.md +1 -1
  139. package/plugins/lisa-copilot/hooks/parity-safety-net.sh +19 -3
  140. package/plugins/lisa-copilot/rules/reference/config-resolution.md +39 -7
  141. package/plugins/lisa-copilot/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
  142. package/plugins/lisa-copilot/skills/lisa-secrets-access/SKILL.md +5 -3
  143. package/plugins/lisa-copilot/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
  144. package/plugins/lisa-copilot/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
  145. package/plugins/lisa-copilot/skills/lisa-session-manager/SKILL.md +197 -54
  146. package/plugins/lisa-copilot/skills/lisa-session-manager/references/runbook-template.md +23 -10
  147. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
  148. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
  149. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
  150. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
  151. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
  152. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
  153. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
  154. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
  155. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
  156. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/config.mjs +39 -11
  157. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
  158. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
  159. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
  160. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
  161. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/launch.mjs +69 -60
  162. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
  163. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
  164. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
  165. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
  166. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
  167. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
  168. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
  169. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
  170. package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/token.mjs +39 -120
  171. package/plugins/lisa-copilot/skills/lisa-setup-session-manager/SKILL.md +82 -19
  172. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  173. package/plugins/lisa-cursor/commands/lisa/session-manager.md +1 -1
  174. package/plugins/lisa-cursor/commands/lisa/setup/session-manager.md +1 -1
  175. package/plugins/lisa-cursor/hooks/parity-safety-net.sh +19 -3
  176. package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +39 -7
  177. package/plugins/lisa-cursor/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
  178. package/plugins/lisa-cursor/skills/lisa-secrets-access/SKILL.md +5 -3
  179. package/plugins/lisa-cursor/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
  180. package/plugins/lisa-cursor/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
  181. package/plugins/lisa-cursor/skills/lisa-session-manager/SKILL.md +197 -54
  182. package/plugins/lisa-cursor/skills/lisa-session-manager/references/runbook-template.md +23 -10
  183. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
  184. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
  185. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
  186. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
  187. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
  188. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
  189. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
  190. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
  191. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
  192. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/config.mjs +39 -11
  193. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
  194. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
  195. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
  196. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
  197. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/launch.mjs +69 -60
  198. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
  199. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
  200. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
  201. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
  202. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
  203. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
  204. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
  205. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
  206. package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/token.mjs +39 -120
  207. package/plugins/lisa-cursor/skills/lisa-setup-session-manager/SKILL.md +82 -19
  208. package/plugins/lisa-devin/.claude-plugin/plugin.json +1 -1
  209. package/plugins/lisa-devin/.devin-plugin/plugin.json +1 -1
  210. package/plugins/lisa-devin/hooks/parity-safety-net.sh +19 -3
  211. package/plugins/lisa-devin/rules/reference/config-resolution.md +39 -7
  212. package/plugins/lisa-devin/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
  213. package/plugins/lisa-devin/skills/lisa-secrets-access/SKILL.md +5 -3
  214. package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
  215. package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
  216. package/plugins/lisa-devin/skills/lisa-session-manager/SKILL.md +197 -54
  217. package/plugins/lisa-devin/skills/lisa-session-manager/references/runbook-template.md +23 -10
  218. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
  219. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
  220. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
  221. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
  222. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
  223. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
  224. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
  225. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
  226. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
  227. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/config.mjs +39 -11
  228. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
  229. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
  230. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
  231. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
  232. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/launch.mjs +69 -60
  233. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
  234. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
  235. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
  236. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
  237. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
  238. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
  239. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
  240. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
  241. package/plugins/lisa-devin/skills/lisa-session-manager/scripts/token.mjs +39 -120
  242. package/plugins/lisa-devin/skills/lisa-setup-session-manager/SKILL.md +82 -19
  243. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  244. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  245. package/plugins/lisa-expo-agy/plugin.json +1 -1
  246. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  247. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  248. package/plugins/lisa-expo-devin/.claude-plugin/plugin.json +1 -1
  249. package/plugins/lisa-expo-devin/.devin-plugin/plugin.json +1 -1
  250. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  251. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  252. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  253. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  254. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  255. package/plugins/lisa-harper-fabric-devin/.claude-plugin/plugin.json +1 -1
  256. package/plugins/lisa-harper-fabric-devin/.devin-plugin/plugin.json +1 -1
  257. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  258. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  259. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  260. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  261. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  262. package/plugins/lisa-nestjs-devin/.claude-plugin/plugin.json +1 -1
  263. package/plugins/lisa-nestjs-devin/.devin-plugin/plugin.json +1 -1
  264. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  265. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  266. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  267. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  268. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  269. package/plugins/lisa-openclaw-devin/.claude-plugin/plugin.json +1 -1
  270. package/plugins/lisa-openclaw-devin/.devin-plugin/plugin.json +1 -1
  271. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  272. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  273. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  274. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  275. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  276. package/plugins/lisa-phaser-devin/.claude-plugin/plugin.json +1 -1
  277. package/plugins/lisa-phaser-devin/.devin-plugin/plugin.json +1 -1
  278. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  279. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  280. package/plugins/lisa-rails-agy/plugin.json +1 -1
  281. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  282. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  283. package/plugins/lisa-rails-devin/.claude-plugin/plugin.json +1 -1
  284. package/plugins/lisa-rails-devin/.devin-plugin/plugin.json +1 -1
  285. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  286. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  287. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  288. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  289. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  290. package/plugins/lisa-typescript-devin/.claude-plugin/plugin.json +1 -1
  291. package/plugins/lisa-typescript-devin/.devin-plugin/plugin.json +1 -1
  292. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  293. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  294. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  295. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  296. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  297. package/plugins/lisa-wiki-devin/.claude-plugin/plugin.json +1 -1
  298. package/plugins/lisa-wiki-devin/.devin-plugin/plugin.json +1 -1
  299. package/plugins/src/base/commands/session-manager.md +1 -1
  300. package/plugins/src/base/commands/setup/session-manager.md +1 -1
  301. package/plugins/src/base/hooks/parity-safety-net.sh +19 -3
  302. package/plugins/src/base/rules/reference/config-resolution.md +39 -7
  303. package/plugins/src/base/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
  304. package/plugins/src/base/skills/lisa-secrets-access/SKILL.md +5 -3
  305. package/plugins/src/base/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
  306. package/plugins/src/base/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
  307. package/plugins/src/base/skills/lisa-session-manager/SKILL.md +197 -54
  308. package/plugins/src/base/skills/lisa-session-manager/references/runbook-template.md +23 -10
  309. package/plugins/src/base/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
  310. package/plugins/src/base/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
  311. package/plugins/src/base/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
  312. package/plugins/src/base/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
  313. package/plugins/src/base/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
  314. package/plugins/src/base/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
  315. package/plugins/src/base/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
  316. package/plugins/src/base/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
  317. package/plugins/src/base/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
  318. package/plugins/src/base/skills/lisa-session-manager/scripts/config.mjs +39 -11
  319. package/plugins/src/base/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
  320. package/plugins/src/base/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
  321. package/plugins/src/base/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
  322. package/plugins/src/base/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
  323. package/plugins/src/base/skills/lisa-session-manager/scripts/launch.mjs +69 -60
  324. package/plugins/src/base/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
  325. package/plugins/src/base/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
  326. package/plugins/src/base/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
  327. package/plugins/src/base/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
  328. package/plugins/src/base/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
  329. package/plugins/src/base/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
  330. package/plugins/src/base/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
  331. package/plugins/src/base/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
  332. package/plugins/src/base/skills/lisa-session-manager/scripts/token.mjs +39 -120
  333. package/plugins/src/base/skills/lisa-setup-session-manager/SKILL.md +82 -19
@@ -1,153 +1,186 @@
1
1
  /**
2
- * Doctor check for the session manager's Telegram isolation (#4448).
2
+ * Doctor check for the session manager's notification channel (#4448,
3
+ * #4555).
3
4
  *
4
- * The manager is the only Claude session that may poll the project's Telegram
5
- * bot. Two sessions polling one bot steal each other's messages, and a worker
6
- * that inherits the token can impersonate the manager. Setup and `start`
7
- * enforce isolation when they run; this check catches drift afterwards: a
8
- * plugin later enabled at user scope, a token copied into the shared default
9
- * dir, a token exported from a shell profile, a loosened file mode, or managed
10
- * settings that override the manager's `crossSessionInbound: accept`. Trust
11
- * findings (a public repo without `trustedAuthorIds`, the plugin enabled in
12
- * project-scope settings) live in `doctor-session-manager-trust`.
5
+ * Telegram is optional. With no channel (`notify.provider` `"none"`, or no
6
+ * `notify` block) there is no bot, token, state dir or plugin to require, so
7
+ * the check reports "notifications: none" and runs only the findings that
8
+ * matter either way: a plaintext bot token still lying around (an exported
9
+ * `TELEGRAM_BOT_TOKEN*` variable, or a token file in the shared Telegram
10
+ * dir), managed settings that override the manager's
11
+ * `crossSessionInbound: accept`, and the trust findings (a public repo
12
+ * without `trustedAuthorIds`). With Telegram it also runs the isolation
13
+ * findings in `doctor-session-manager-token` (state dir, where the bot token
14
+ * lives: a leftover plaintext file with a secrets provider configured, or a
15
+ * plaintext file because none is, and its mode; user-scope plugin, shared
16
+ * default dir, exported variables) and the
17
+ * project-scope plugin finding. An unsupported provider, or a `stateDir`
18
+ * without the telegram provider, fails the way the runtime validator refuses
19
+ * it.
20
+ *
21
+ * Either way it lists the items the manager has waiting on a human and warns
22
+ * about one recorded but never marked on the tracker
23
+ * (`doctor-session-manager-pending`, #4555).
13
24
  *
14
25
  * Gated on a `sessionManager` block in the merged config (the Kane model): a
15
26
  * project that never opted in gets `ok` / "not configured" and nothing is read
16
- * under HOME. Token files are only ever `stat`-ed, never read, so the token
17
- * value cannot reach the detail text; environment values are reported by name
18
- * only. HOME, env, file reads and managed-settings paths are injectable so
19
- * tests never touch the operator's real `~/.claude`.
27
+ * under HOME. HOME, env, file reads and managed-settings paths are injectable
28
+ * so tests never touch the operator's real `~/.claude`.
20
29
  */
21
30
  import { readFile as fsReadFile, stat as fsStat } from "node:fs/promises";
22
31
  import * as os from "node:os";
23
32
  import * as path from "node:path";
24
- import { ghRepoVisibility, isRecord, modeOf, projectPluginFindings, readJson, trustFindings, } from "./doctor-session-manager-trust.js";
33
+ import { ghRepoVisibility, isRecord, projectPluginFindings, readJson, trustFindings, } from "./doctor-session-manager-trust.js";
34
+ import { resolveStateDir, plaintextTokenFindings, secretsProviderAt, telegramFindings, telegramSecretNameFor, } from "./doctor-session-manager-token.js";
35
+ import { pendingHumanReport } from "./doctor-session-manager-pending.js";
25
36
  import { mergeSessionManagerBlocks } from "./session-manager-config-merge.js";
26
- const CHECK_NAME = "Session manager Telegram isolation?";
27
- const PLUGIN_ID = "telegram@claude-plugins-official";
28
- const TOKEN_FILE = ".env";
29
- const ENV_NAMES = ["TELEGRAM_BOT_TOKEN", "TELEGRAM_STATE_DIR"];
30
- /** Group + other permission bits are the low six bits of a file mode. */
31
- const GROUP_OTHER_SPAN = 0o100;
32
- /** All permission bits (owner, group, other) are the low nine. */
33
- const PERMISSION_SPAN = 0o1000;
37
+ const CHECK_NAME = "Session manager notifications?";
38
+ /** Detail for a valid setup with no notification channel. */
39
+ const NO_CHANNEL = "notifications: none";
40
+ const PROVIDERS = ["none", "telegram"];
34
41
  /** Managed settings outrank `--settings`, so they can undo the manager's. */
35
42
  export const DEFAULT_MANAGED_SETTINGS_PATHS = [
36
43
  "/Library/Application Support/ClaudeCode/managed-settings.json",
37
44
  "/etc/claude-code/managed-settings.json",
38
45
  ];
39
46
  /**
40
- * Resolve the configured state dir to an absolute path, expanding `~`.
41
- * @param raw - Configured `notify.stateDir`
42
- * @param home - Home directory
43
- * @param projectRoot - Base for a relative path
44
- * @returns Absolute path, or undefined when unset
45
- */
46
- function resolveStateDir(raw, home, projectRoot) {
47
- if (typeof raw !== "string" || raw.trim() === "")
48
- return undefined;
49
- const dir = raw.trim();
50
- if (dir === "~")
51
- return home;
52
- if (dir.startsWith("~/"))
53
- return path.resolve(home, dir.slice(2));
54
- return path.resolve(projectRoot, dir);
55
- }
56
- /**
57
- * Findings about the configured per-project state dir and its token file.
58
- * @param ctx - Resolved inputs
59
- * @param stateDir - Absolute state dir, or undefined when unset
60
- * @returns Findings
61
- */
62
- async function stateDirFindings(ctx, stateDir) {
63
- if (stateDir === undefined) {
64
- return [
65
- {
66
- status: "fail",
67
- text: "sessionManager.notify.stateDir is not set; run /lisa:setup:session-manager to give this project its own Telegram state dir",
68
- },
69
- ];
70
- }
71
- if (stateDir === ctx.sharedDir) {
72
- return [
73
- {
74
- status: "fail",
75
- text: `notify.stateDir is the shared default ${ctx.sharedDir}, so every Telegram session on this machine would poll one bot; point it at a per-project dir such as ${ctx.sharedDir}-<project>`,
76
- },
77
- ];
78
- }
79
- const tokenFile = path.join(stateDir, TOKEN_FILE);
80
- const mode = await modeOf(ctx.statFile, tokenFile);
81
- if (mode === undefined) {
82
- return [
83
- {
84
- status: "warn",
85
- text: `token file ${tokenFile} is missing, so the manager cannot start; store the bot token with /lisa:setup:session-manager`,
86
- },
87
- ];
88
- }
89
- if (mode % GROUP_OTHER_SPAN === 0)
90
- return [];
91
- const octal = (mode % PERMISSION_SPAN).toString(8).padStart(3, "0");
92
- return [
93
- {
94
- status: "warn",
95
- text: `token file ${tokenFile} has mode 0${octal}, open to other users; run chmod 600 ${tokenFile}`,
96
- },
97
- ];
98
- }
99
- /**
100
- * Findings about the user-scope plugin and the shared default token file.
101
- * @param ctx - Resolved inputs
102
- * @returns Findings
47
+ * Read the notification provider the way the runtime validator does: absent
48
+ * or `"none"` is no channel, `"telegram"` is the bot, anything else fails, and
49
+ * a `stateDir` without telegram fails because no bot would use it.
50
+ * @param notify - The merged `notify` block, or `{}`
51
+ * @returns The provider (undefined when the block cannot run) and problems
103
52
  */
104
- async function userScopeFindings(ctx) {
105
- const settings = await readJson(ctx.read, path.join(ctx.claudeDir, "settings.json"));
106
- const plugins = settings?.enabledPlugins;
107
- const sharedToken = path.join(ctx.sharedDir, TOKEN_FILE);
108
- return [
109
- ...(isRecord(plugins) && plugins[PLUGIN_ID] === true
110
- ? [
53
+ function notifyMode(notify) {
54
+ const raw = notify.provider ?? "none";
55
+ const provider = PROVIDERS.find(name => name === raw);
56
+ if (provider === undefined) {
57
+ return {
58
+ provider,
59
+ problems: [
111
60
  {
112
- status: "warn",
113
- text: `${PLUGIN_ID} is enabled at user scope, so every Claude session polls the bot; run claude plugin disable ${PLUGIN_ID} -s user (the manager enables it for itself)`,
61
+ status: "fail",
62
+ text: `sessionManager.notify.provider ${JSON.stringify(raw)} is not supported; use "none" (no notification channel) or "telegram"`,
114
63
  },
115
- ]
116
- : []),
117
- ...((await modeOf(ctx.statFile, sharedToken)) === undefined
118
- ? []
119
- : [
64
+ ],
65
+ };
66
+ }
67
+ if (provider === "none" && notify.stateDir !== undefined) {
68
+ return {
69
+ provider: undefined,
70
+ problems: [
120
71
  {
121
- status: "warn",
122
- text: `a token file exists in the shared default dir (${sharedToken}); move it to the per-project state dir and delete it`,
72
+ status: "fail",
73
+ text: 'sessionManager.notify.stateDir is set, but notify.provider is not "telegram", so no bot would use it; set notify.provider to "telegram" or remove notify.stateDir',
123
74
  },
124
- ]),
125
- ];
75
+ ],
76
+ };
77
+ }
78
+ return { provider, problems: [] };
126
79
  }
127
80
  /**
128
- * Findings about the shell environment and managed settings.
129
- * @param ctx - Resolved inputs
81
+ * Findings about managed settings, which outrank the manager's `--settings`
82
+ * whether or not it has a notification channel.
83
+ * @param read - Text reader
84
+ * @param managedPaths - Managed-settings files, in precedence order
130
85
  * @returns Findings
131
86
  */
132
- async function environmentFindings(ctx) {
133
- const exported = ENV_NAMES.filter(name => (ctx.env[name] ?? "") !== "").map(name => ({
134
- status: "warn",
135
- text: `${name} is set in this shell's environment, so workers may inherit it; remove the export from your shell profile`,
136
- }));
137
- const managed = await Promise.all(ctx.managedPaths.map(async (file) => ({
87
+ async function managedFindings(read, managedPaths) {
88
+ const managed = await Promise.all(managedPaths.map(async (file) => ({
138
89
  file,
139
- inbound: (await readJson(ctx.read, file))?.crossSessionInbound,
90
+ inbound: (await readJson(read, file))?.crossSessionInbound,
140
91
  })));
141
- const held = managed
92
+ return managed
142
93
  .filter(({ inbound }) => inbound !== undefined && inbound !== "accept")
143
94
  .map(({ file, inbound }) => ({
144
95
  status: "warn",
145
96
  text: `managed settings ${file} set crossSessionInbound to ${JSON.stringify(inbound)}, which outranks the manager's "accept", so worker messages would be held`,
146
97
  }));
147
- return [...exported, ...held];
148
98
  }
149
99
  /**
150
- * Check Telegram isolation for a configured session manager.
100
+ * The home directory doctor resolves `~` against.
101
+ * @param deps - Injected environment and HOME
102
+ * @returns Home directory
103
+ */
104
+ function homeOf(deps) {
105
+ return deps.home ?? deps.env.HOME ?? os.homedir();
106
+ }
107
+ /**
108
+ * The Claude config dir doctor inspects: `CLAUDE_CONFIG_DIR`, else
109
+ * `<home>/.claude`.
110
+ * @param deps - Injected environment and HOME
111
+ * @returns Absolute dir
112
+ */
113
+ function claudeDirOf(deps) {
114
+ return deps.env.CLAUDE_CONFIG_DIR
115
+ ? path.resolve(deps.env.CLAUDE_CONFIG_DIR)
116
+ : path.join(homeOf(deps), ".claude");
117
+ }
118
+ /**
119
+ * The Telegram-only findings, run only when Telegram is the channel.
120
+ * @param targetPath - Project root
121
+ * @param block - Merged `sessionManager` block
122
+ * @param deps - Injected environment, HOME and file access
123
+ * @param read - Text reader
124
+ * @param secretsProvider - Configured secrets provider, undefined for none
125
+ * @returns Findings
126
+ */
127
+ async function channelFindings(targetPath, block, deps, read, secretsProvider) {
128
+ const home = homeOf(deps);
129
+ const claudeDir = claudeDirOf(deps);
130
+ const notify = isRecord(block.notify) ? block.notify : {};
131
+ const stateDir = resolveStateDir(notify.stateDir, home, targetPath);
132
+ return [
133
+ ...(await telegramFindings({
134
+ claudeDir,
135
+ sharedDir: path.join(claudeDir, "channels", "telegram"),
136
+ env: deps.env,
137
+ read,
138
+ statFile: deps.stat ?? fsStat,
139
+ secretsProvider,
140
+ secretName: telegramSecretNameFor(block.name),
141
+ }, stateDir)),
142
+ ...(await projectPluginFindings(targetPath, block, read)),
143
+ ];
144
+ }
145
+ /**
146
+ * The ok detail for a clean Telegram setup. With a provider, doctor can only
147
+ * say no plaintext copy is left: it never reads the vault (#4555).
148
+ * @param token - Where the token lives
149
+ * @returns Detail text
150
+ */
151
+ function telegramOkDetail(token) {
152
+ const where = token.secretsProvider === undefined
153
+ ? "token file mode 0600 or tighter"
154
+ : `bot token kept in ${token.secretsProvider} as ${token.secretName} with no plaintext copy (doctor never reads the vault, so the secret itself is not checked)`;
155
+ return `isolated: per-project state dir ${String(token.stateDir)}, ${where}, plugin not enabled at user scope`;
156
+ }
157
+ /**
158
+ * The check's verdict once every finding is in. `note` (the items waiting on
159
+ * a human) is appended to the detail without changing the status.
160
+ * @param provider - Notification provider, undefined when unsupported
161
+ * @param findings - Every finding
162
+ * @param token - Where the bot token lives, for the telegram ok detail
163
+ * @param note - Extra detail, or undefined
164
+ * @returns Doctor check result
165
+ */
166
+ function verdict(provider, findings, token, note) {
167
+ const withNote = (detail) => note === undefined ? detail : `${detail}; ${note}`;
168
+ if (findings.length === 0) {
169
+ return {
170
+ name: CHECK_NAME,
171
+ status: "ok",
172
+ detail: withNote(provider === "none" ? NO_CHANNEL : telegramOkDetail(token)),
173
+ };
174
+ }
175
+ const text = findings.map(f => f.text).join("; ");
176
+ return {
177
+ name: CHECK_NAME,
178
+ status: findings.some(f => f.status === "fail") ? "fail" : "warn",
179
+ detail: withNote(provider === "none" ? `${NO_CHANNEL}; ${text}` : text),
180
+ };
181
+ }
182
+ /**
183
+ * Check the notification channel of a configured session manager.
151
184
  * @param targetPath - Project root
152
185
  * @param deps - Injected environment, HOME and file access
153
186
  * @param options - Doctor options; `offline` skips the visibility probe
@@ -162,47 +195,36 @@ export async function checkSessionManagerIsolation(targetPath, deps, options = {
162
195
  if (block === undefined) {
163
196
  return { name: CHECK_NAME, status: "ok", detail: "not configured" };
164
197
  }
165
- const home = deps.home ?? deps.env.HOME ?? os.homedir();
166
- const claudeDir = deps.env.CLAUDE_CONFIG_DIR
167
- ? path.resolve(deps.env.CLAUDE_CONFIG_DIR)
168
- : path.join(home, ".claude");
169
- const ctx = {
170
- claudeDir,
171
- sharedDir: path.join(claudeDir, "channels", "telegram"),
172
- env: deps.env,
173
- read,
174
- statFile: deps.stat ?? fsStat,
175
- managedPaths: deps.managedSettingsPaths ?? DEFAULT_MANAGED_SETTINGS_PATHS,
176
- };
177
198
  const notify = isRecord(block.notify) ? block.notify : {};
178
- const stateDir = resolveStateDir(notify.stateDir, home, targetPath);
199
+ const mode = notifyMode(notify);
200
+ const secretsProvider = await secretsProviderAt(targetPath, read, deps.env);
201
+ const pending = await pendingHumanReport(targetPath, block, read, deps.now ?? (() => new Date()));
179
202
  const findings = [
180
- ...(await stateDirFindings(ctx, stateDir)),
181
- ...(await userScopeFindings(ctx)),
182
- ...(await environmentFindings(ctx)),
183
- ...(await projectPluginFindings(targetPath, block, read)),
203
+ ...mode.problems,
204
+ ...(mode.provider === "telegram"
205
+ ? await channelFindings(targetPath, block, deps, read, secretsProvider)
206
+ : await plaintextTokenFindings({
207
+ sharedDir: path.join(claudeDirOf(deps), "channels", "telegram"),
208
+ env: deps.env,
209
+ statFile: deps.stat ?? fsStat,
210
+ })),
211
+ ...(await managedFindings(read, deps.managedSettingsPaths ?? DEFAULT_MANAGED_SETTINGS_PATHS)),
184
212
  ...(await trustFindings({ ...committed, ...local }, block, options.offline === true
185
213
  ? undefined
186
214
  : (deps.probeRepoVisibility ?? ghRepoVisibility))),
215
+ ...pending.findings,
187
216
  ];
188
- if (findings.length === 0) {
189
- return {
190
- name: CHECK_NAME,
191
- status: "ok",
192
- detail: `isolated: per-project state dir ${String(stateDir)}, token file mode 0600 or tighter, plugin not enabled at user scope`,
193
- };
194
- }
195
- return {
196
- name: CHECK_NAME,
197
- status: findings.some(f => f.status === "fail") ? "fail" : "warn",
198
- detail: findings.map(f => f.text).join("; "),
199
- };
217
+ return verdict(mode.provider, findings, {
218
+ stateDir: resolveStateDir(notify.stateDir, homeOf(deps), targetPath),
219
+ secretsProvider,
220
+ secretName: telegramSecretNameFor(block.name),
221
+ }, pending.note);
200
222
  }
201
223
  catch (error) {
202
224
  return {
203
225
  name: CHECK_NAME,
204
226
  status: "warn",
205
- detail: `could not evaluate session-manager isolation: ${error instanceof Error ? error.message : String(error)}`,
227
+ detail: `could not evaluate the session-manager notifications: ${error instanceof Error ? error.message : String(error)}`,
206
228
  };
207
229
  }
208
230
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-session-manager.js","sourceRoot":"","sources":["../../src/cli/doctor-session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-session-manager.js","sourceRoot":"","sources":["../../src/cli/doctor-session-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lisa-owned-hash-ledger.d.ts","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"AACA,6EAA6E;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CA0rEjC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CACpD,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CA6lEjC,CAAC"}
1
+ {"version":3,"file":"lisa-owned-hash-ledger.d.ts","sourceRoot":"","sources":["../../src/core/lisa-owned-hash-ledger.ts"],"names":[],"mappings":"AACA,6EAA6E;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAksEjC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CACpD,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAqmEjC,CAAC"}
@@ -497,8 +497,11 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
497
497
  "51b2bfccc8ecca684dd80a4e2ae35896e76fa519389fe650f0890ffc0fef421d",
498
498
  ]),
499
499
  "scripts/lib/completion-proof-content.mjs": Object.freeze([
500
+ "254cf8ef8ea87a085b5866348af70a9cfcb03c664977b0c03fb61b3d19f2e66d",
501
+ "679702f6e3cce3919e01c79fe5016d3215f15b067bcab2fb9eeffb0350e7c64f",
500
502
  "78b34223d054913c2e900830070cbb1fb2dc267423ec458ae76553ceed0d38c6",
501
503
  "cf836b48230a5b7fdfc2425abda1b2328fa4873fd853100f00d1f05412c415be",
504
+ "ed1a5b1f0ba44aca5333d8ce6584db2a63c612b36ab8773d25677103d2fd27ad",
502
505
  ]),
503
506
  "scripts/lib/completion-proof-errors.mjs": Object.freeze([
504
507
  "18092420eba568270ab31cae0cbd3e57b525df99be3b79ba0ce8bd01ebadc045",
@@ -821,6 +824,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
821
824
  "scripts/lib/npm-update-hosted-hook.mjs": Object.freeze([
822
825
  "0e9cf3bf55b9b979d22553f01ad4d17c0a85058b2b87657bd3126b9034e9f8c1",
823
826
  "7930e76c5fa51817e2317826c37c448b905d8902c48efdd4f2bb72e69d6ff26d",
827
+ "801b41f0f3f455c08b4e86a64f076190a5f245492959a154d70b897dd0d60a31",
824
828
  "e3801b5908bedcc1f98d16584b4c3eb37c5529565465b2827be44aac63444577",
825
829
  "ef468e94c148b8d81125d3d374c2350b44abcb48ef9037639f0ba4a8ea9ecf03",
826
830
  ]),
@@ -1566,6 +1570,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
1566
1570
  "2b3d806137b34bfdd21be9e76ca5159f7b11fbd3ca9223d99bef298e42f49c0d",
1567
1571
  "2bdba97c9a1ccc0e70247ee02b5eff02c042aba83b8e7fed3dfbf29a8a83b394",
1568
1572
  "2da3ad6d7680b61e20b48022e57b8960e063266cb26c197c2c8daa89adf4b648",
1573
+ "307f934810a36f5889bc443d7ab3f4166eccd74820b44ff2973b6fc58fe0841d",
1569
1574
  "388cf8847581d96a1ff8ea98290a33a5f96d67cdd502ea807a0b8d88efe90e19",
1570
1575
  "3cc1b8a1730f7a35b82293824715538432bb4c410be38d64ee887eb55fea23b4",
1571
1576
  "40e12bb956baacb23846456d20b840e11c14dae539fc67806476eb674d6c38b1",
@@ -1593,6 +1598,7 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
1593
1598
  "a211f1a06aecddb841851463da302f694ab0eafff6bab75ee944b0a58aac431d",
1594
1599
  "a22fd1b7c483f1a538202353ee85c82be17a8910e03c0a930635ce8cb3595c64",
1595
1600
  "a28779ba2e6e4e999014d50734ea0b7e36af886bdb08d144bd4274acd642c902",
1601
+ "a77a6a15a74a98135d73dcf41e26ee3bbc69f1575693c7c40e3d47a946a2eb07",
1596
1602
  "afe82473fe2a08af298997cbce62417fdaefa37f4a963f720ed38b992a65b8d3",
1597
1603
  "b5505f55a5092f1d451ae5a01ada85a031e5b063d08fc0ce5527d94b67191a60",
1598
1604
  "b6fbbda29d897a7c39cf0524c91d5c66a47054df32e036f15cdabefdc34ac72a",
@@ -2138,6 +2144,8 @@ export const LISA_OWNED_HASH_LEDGER = Object.freeze({
2138
2144
  "70117ada2fe96b4697f695f860547a0e47eb7d20e864eac929047722cb3e6e2c",
2139
2145
  "702b455a3157565b910904a3acfcdbf4722befc660d60242c649ff020fe96b3b",
2140
2146
  "728bcf6bdfb82c5b312da268db0ec7b50d94ac62c64ec58c70592eb106383f09",
2147
+ "78c00bc630304d220de75d288b94d2cdb0b12a7926a2c05536505c52b138e3a1",
2148
+ "79d41ce3eb5e6a2acf35dbe7a351b93f9d48631813c422814da4b8fed4717faa",
2141
2149
  "7b1444433c16ae4b580ad71f908ae9788862b9f814d08c447c78f3dfd49226a4",
2142
2150
  "7b1d6bba391f105b9d53b91773fd207c9a5e9b5bfcd638e1e6b579d507279d7d",
2143
2151
  "7c8b9d5b8f7d77dbf520c1009497d041eeb9930103c7f52bfd8b04a4492eb023",
@@ -2726,8 +2734,11 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
2726
2734
  "51b2bfccc8ecca684dd80a4e2ae35896e76fa519389fe650f0890ffc0fef421d",
2727
2735
  ]),
2728
2736
  "scripts/lib/completion-proof-content.mjs": Object.freeze([
2737
+ "254cf8ef8ea87a085b5866348af70a9cfcb03c664977b0c03fb61b3d19f2e66d",
2738
+ "679702f6e3cce3919e01c79fe5016d3215f15b067bcab2fb9eeffb0350e7c64f",
2729
2739
  "78b34223d054913c2e900830070cbb1fb2dc267423ec458ae76553ceed0d38c6",
2730
2740
  "cf836b48230a5b7fdfc2425abda1b2328fa4873fd853100f00d1f05412c415be",
2741
+ "ed1a5b1f0ba44aca5333d8ce6584db2a63c612b36ab8773d25677103d2fd27ad",
2731
2742
  ]),
2732
2743
  "scripts/lib/completion-proof-errors.mjs": Object.freeze([
2733
2744
  "18092420eba568270ab31cae0cbd3e57b525df99be3b79ba0ce8bd01ebadc045",
@@ -3049,6 +3060,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
3049
3060
  "scripts/lib/npm-update-hosted-hook.mjs": Object.freeze([
3050
3061
  "0e9cf3bf55b9b979d22553f01ad4d17c0a85058b2b87657bd3126b9034e9f8c1",
3051
3062
  "7930e76c5fa51817e2317826c37c448b905d8902c48efdd4f2bb72e69d6ff26d",
3063
+ "801b41f0f3f455c08b4e86a64f076190a5f245492959a154d70b897dd0d60a31",
3052
3064
  "e3801b5908bedcc1f98d16584b4c3eb37c5529565465b2827be44aac63444577",
3053
3065
  "ef468e94c148b8d81125d3d374c2350b44abcb48ef9037639f0ba4a8ea9ecf03",
3054
3066
  ]),
@@ -3748,6 +3760,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
3748
3760
  "2b3d806137b34bfdd21be9e76ca5159f7b11fbd3ca9223d99bef298e42f49c0d",
3749
3761
  "2bdba97c9a1ccc0e70247ee02b5eff02c042aba83b8e7fed3dfbf29a8a83b394",
3750
3762
  "2da3ad6d7680b61e20b48022e57b8960e063266cb26c197c2c8daa89adf4b648",
3763
+ "307f934810a36f5889bc443d7ab3f4166eccd74820b44ff2973b6fc58fe0841d",
3751
3764
  "388cf8847581d96a1ff8ea98290a33a5f96d67cdd502ea807a0b8d88efe90e19",
3752
3765
  "3cc1b8a1730f7a35b82293824715538432bb4c410be38d64ee887eb55fea23b4",
3753
3766
  "40e12bb956baacb23846456d20b840e11c14dae539fc67806476eb674d6c38b1",
@@ -3775,6 +3788,7 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
3775
3788
  "a211f1a06aecddb841851463da302f694ab0eafff6bab75ee944b0a58aac431d",
3776
3789
  "a22fd1b7c483f1a538202353ee85c82be17a8910e03c0a930635ce8cb3595c64",
3777
3790
  "a28779ba2e6e4e999014d50734ea0b7e36af886bdb08d144bd4274acd642c902",
3791
+ "a77a6a15a74a98135d73dcf41e26ee3bbc69f1575693c7c40e3d47a946a2eb07",
3778
3792
  "afe82473fe2a08af298997cbce62417fdaefa37f4a963f720ed38b992a65b8d3",
3779
3793
  "b5505f55a5092f1d451ae5a01ada85a031e5b063d08fc0ce5527d94b67191a60",
3780
3794
  "b6fbbda29d897a7c39cf0524c91d5c66a47054df32e036f15cdabefdc34ac72a",
@@ -4296,6 +4310,8 @@ export const LISA_OWNED_HASH_HISTORY_DERIVED = Object.freeze({
4296
4310
  "70117ada2fe96b4697f695f860547a0e47eb7d20e864eac929047722cb3e6e2c",
4297
4311
  "702b455a3157565b910904a3acfcdbf4722befc660d60242c649ff020fe96b3b",
4298
4312
  "728bcf6bdfb82c5b312da268db0ec7b50d94ac62c64ec58c70592eb106383f09",
4313
+ "78c00bc630304d220de75d288b94d2cdb0b12a7926a2c05536505c52b138e3a1",
4314
+ "79d41ce3eb5e6a2acf35dbe7a351b93f9d48631813c422814da4b8fed4717faa",
4299
4315
  "7b1444433c16ae4b580ad71f908ae9788862b9f814d08c447c78f3dfd49226a4",
4300
4316
  "7b1d6bba391f105b9d53b91773fd207c9a5e9b5bfcd638e1e6b579d507279d7d",
4301
4317
  "7c8b9d5b8f7d77dbf520c1009497d041eeb9930103c7f52bfd8b04a4492eb023",