@pennyfarthing/core 11.1.0 → 11.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 (263) hide show
  1. package/README.md +8 -8
  2. package/package.json +16 -14
  3. package/packages/core/dist/cli/utils/constants.d.ts +1 -1
  4. package/packages/core/dist/cli/utils/constants.d.ts.map +1 -1
  5. package/packages/core/dist/cli/utils/constants.js +2 -1
  6. package/packages/core/dist/cli/utils/constants.js.map +1 -1
  7. package/packages/core/dist/consultation/dialogue-manager.d.ts +75 -0
  8. package/packages/core/dist/consultation/dialogue-manager.d.ts.map +1 -0
  9. package/packages/core/dist/consultation/dialogue-manager.js +334 -0
  10. package/packages/core/dist/consultation/dialogue-manager.js.map +1 -0
  11. package/packages/core/dist/consultation/dialogue-manager.test.d.ts +19 -0
  12. package/packages/core/dist/consultation/dialogue-manager.test.d.ts.map +1 -0
  13. package/packages/core/dist/consultation/dialogue-manager.test.js +444 -0
  14. package/packages/core/dist/consultation/dialogue-manager.test.js.map +1 -0
  15. package/packages/core/dist/server/api/git.d.ts +13 -1
  16. package/packages/core/dist/server/api/git.d.ts.map +1 -1
  17. package/packages/core/dist/server/api/git.js +53 -34
  18. package/packages/core/dist/server/api/git.js.map +1 -1
  19. package/packages/core/dist/server/otlp-receiver.d.ts +16 -11
  20. package/packages/core/dist/server/otlp-receiver.d.ts.map +1 -1
  21. package/packages/core/dist/server/otlp-receiver.js +185 -24
  22. package/packages/core/dist/server/otlp-receiver.js.map +1 -1
  23. package/packages/core/dist/server/otlp-receiver.test.d.ts +21 -0
  24. package/packages/core/dist/server/otlp-receiver.test.d.ts.map +1 -0
  25. package/packages/core/dist/server/otlp-receiver.test.js +446 -0
  26. package/packages/core/dist/server/otlp-receiver.test.js.map +1 -0
  27. package/packages/core/dist/shared/portrait-resolver.d.ts +9 -0
  28. package/packages/core/dist/shared/portrait-resolver.d.ts.map +1 -1
  29. package/packages/core/dist/shared/portrait-resolver.js +27 -0
  30. package/packages/core/dist/shared/portrait-resolver.js.map +1 -1
  31. package/packages/core/dist/shared/portrait-resolver.test.js +47 -1
  32. package/packages/core/dist/shared/portrait-resolver.test.js.map +1 -1
  33. package/packages/core/dist/shared/skill-search.test.js +2 -2
  34. package/packages/core/dist/shared/tandem-portrait-inventory.test.d.ts +13 -0
  35. package/packages/core/dist/shared/tandem-portrait-inventory.test.d.ts.map +1 -0
  36. package/packages/core/dist/shared/tandem-portrait-inventory.test.js +126 -0
  37. package/packages/core/dist/shared/tandem-portrait-inventory.test.js.map +1 -0
  38. package/pennyfarthing-dist/agents/dev.md +1 -1
  39. package/pennyfarthing-dist/agents/reviewer.md +1 -1
  40. package/pennyfarthing-dist/agents/sm-setup.md +1 -1
  41. package/pennyfarthing-dist/agents/sm.md +2 -2
  42. package/pennyfarthing-dist/agents/tea.md +1 -1
  43. package/pennyfarthing-dist/agents/testing-runner.md +2 -1
  44. package/pennyfarthing-dist/commands/pf-chore.md +2 -2
  45. package/pennyfarthing-dist/commands/pf-standalone.md +7 -2
  46. package/pennyfarthing-dist/guides/agent-behavior.md +1 -1
  47. package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +1 -1
  48. package/pennyfarthing-dist/guides/bikerack.md +3 -3
  49. package/pennyfarthing-dist/guides/hooks.md +1 -1
  50. package/pennyfarthing-dist/guides/worktree-mode.md +3 -3
  51. package/pennyfarthing-dist/guides/xml-tags.md +2 -2
  52. package/pennyfarthing-dist/scripts/README.md +1 -1
  53. package/pennyfarthing-dist/scripts/core/agent-session.sh +0 -0
  54. package/pennyfarthing-dist/scripts/core/check-context.sh +1 -1
  55. package/pennyfarthing-dist/scripts/core/dialogue-manager.sh +322 -0
  56. package/pennyfarthing-dist/scripts/core/phase-check-start.sh +0 -0
  57. package/pennyfarthing-dist/scripts/core/prime.sh +0 -0
  58. package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +0 -0
  59. package/pennyfarthing-dist/scripts/git/README.md +24 -14
  60. package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +5 -266
  61. package/pennyfarthing-dist/scripts/git/git-status-all.sh +5 -151
  62. package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +6 -144
  63. package/pennyfarthing-dist/scripts/git/release.sh +0 -0
  64. package/pennyfarthing-dist/scripts/git/worktree-manager.sh +5 -496
  65. package/pennyfarthing-dist/scripts/health/drift-detection.sh +0 -0
  66. package/pennyfarthing-dist/scripts/hooks/README.md +1 -1
  67. package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +1 -1
  68. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +0 -0
  69. package/pennyfarthing-dist/scripts/hooks/context-warning.sh +0 -0
  70. package/pennyfarthing-dist/scripts/hooks/cyclist-pretooluse-hook.sh +0 -0
  71. package/pennyfarthing-dist/scripts/hooks/dispatcher-template.sh +0 -0
  72. package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +9 -11
  73. package/pennyfarthing-dist/scripts/hooks/post-merge.sh +0 -0
  74. package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +0 -0
  75. package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -0
  76. package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -0
  77. package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +0 -0
  78. package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +0 -0
  79. package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +0 -0
  80. package/pennyfarthing-dist/scripts/hooks/session-start.sh +0 -0
  81. package/pennyfarthing-dist/scripts/hooks/session-stop.sh +0 -0
  82. package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +0 -0
  83. package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +1 -1
  84. package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +0 -0
  85. package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +0 -0
  86. package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +0 -0
  87. package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +0 -0
  88. package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +0 -0
  89. package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +0 -0
  90. package/pennyfarthing-dist/scripts/lib/background-tasks.sh +0 -0
  91. package/pennyfarthing-dist/scripts/lib/checkpoint.sh +0 -0
  92. package/pennyfarthing-dist/scripts/lib/common.sh +0 -0
  93. package/pennyfarthing-dist/scripts/lib/file-lock.sh +0 -0
  94. package/pennyfarthing-dist/scripts/lib/logging.sh +0 -0
  95. package/pennyfarthing-dist/scripts/lib/retry.sh +0 -0
  96. package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +0 -0
  97. package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +0 -0
  98. package/pennyfarthing-dist/scripts/misc/add-short-names.sh +0 -0
  99. package/pennyfarthing-dist/scripts/misc/add_short_names.py +0 -0
  100. package/pennyfarthing-dist/scripts/misc/backlog.sh +0 -0
  101. package/pennyfarthing-dist/scripts/misc/check-status.sh +0 -0
  102. package/pennyfarthing-dist/scripts/misc/find-related-work.sh +0 -0
  103. package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +0 -0
  104. package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +0 -0
  105. package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +0 -0
  106. package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +0 -0
  107. package/pennyfarthing-dist/scripts/misc/repo-scan.sh +0 -0
  108. package/pennyfarthing-dist/scripts/misc/repo-utils.sh +0 -0
  109. package/pennyfarthing-dist/scripts/misc/run-ci.sh +0 -0
  110. package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +0 -0
  111. package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +0 -0
  112. package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +0 -0
  113. package/pennyfarthing-dist/scripts/misc/statusline.sh +0 -0
  114. package/pennyfarthing-dist/scripts/misc/uninstall.sh +0 -0
  115. package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +0 -0
  116. package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +0 -0
  117. package/pennyfarthing-dist/scripts/portraits/generate-tandem-portraits.sh +76 -0
  118. package/pennyfarthing-dist/scripts/story/create-story.sh +0 -0
  119. package/pennyfarthing-dist/scripts/story/size-story.sh +0 -0
  120. package/pennyfarthing-dist/scripts/story/story-template.sh +0 -0
  121. package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -0
  122. package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +0 -0
  123. package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +0 -0
  124. package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +0 -0
  125. package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +0 -0
  126. package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +0 -0
  127. package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +0 -0
  128. package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +0 -0
  129. package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +0 -0
  130. package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +0 -0
  131. package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +0 -0
  132. package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +0 -0
  133. package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -0
  134. package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +0 -0
  135. package/pennyfarthing-dist/scripts/theme/list-themes.sh +0 -0
  136. package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +0 -0
  137. package/pennyfarthing-dist/scripts/workflow/check.py +0 -0
  138. package/pennyfarthing-dist/scripts/workflow/check.sh +0 -0
  139. package/pennyfarthing-dist/scripts/workflow/complete-step.py +0 -0
  140. package/pennyfarthing-dist/scripts/workflow/finish-story.sh +0 -0
  141. package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +4 -221
  142. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +0 -0
  143. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +5 -13
  144. package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +4 -123
  145. package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +4 -33
  146. package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +4 -156
  147. package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +4 -131
  148. package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +4 -249
  149. package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +4 -160
  150. package/pennyfarthing-dist/skills/pf-bc/usage.md +1 -1
  151. package/pennyfarthing-dist/skills/pf-jira/examples.md +5 -2
  152. package/pennyfarthing-dist/skills/pf-story/scripts/create-story.sh +0 -0
  153. package/pennyfarthing-dist/skills/pf-story/scripts/size-story.sh +0 -0
  154. package/pennyfarthing-dist/skills/pf-story/scripts/story-template.sh +0 -0
  155. package/pennyfarthing-dist/skills/pf-workflow/examples.md +27 -16
  156. package/pennyfarthing-dist/skills/pf-workflow/skill.md +9 -12
  157. package/pennyfarthing-dist/skills/pf-workflow/usage.md +33 -8
  158. package/pennyfarthing-dist/workflows/bdd-tandem.yaml +18 -6
  159. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +1 -1
  160. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +1 -1
  161. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +1 -1
  162. package/pennyfarthing-dist/workflows/review-tandem.yaml +65 -0
  163. package/pennyfarthing-dist/workflows/tdd-tandem.yaml +16 -8
  164. package/pennyfarthing_scripts/CLAUDE.md +26 -4
  165. package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
  166. package/pennyfarthing_scripts/__pycache__/hooks.cpython-314.pyc +0 -0
  167. package/pennyfarthing_scripts/__pycache__/pretooluse_hook.cpython-314.pyc +0 -0
  168. package/pennyfarthing_scripts/__pycache__/session_start_hook.cpython-314.pyc +0 -0
  169. package/pennyfarthing_scripts/bc/__pycache__/cli.cpython-314.pyc +0 -0
  170. package/pennyfarthing_scripts/bc/cli.py +3 -5
  171. package/pennyfarthing_scripts/bikerack/__pycache__/background_panel.cpython-314.pyc +0 -0
  172. package/pennyfarthing_scripts/bikerack/__pycache__/base_panel.cpython-314.pyc +0 -0
  173. package/pennyfarthing_scripts/bikerack/__pycache__/changed_panel.cpython-314.pyc +0 -0
  174. package/pennyfarthing_scripts/bikerack/__pycache__/cli.cpython-314.pyc +0 -0
  175. package/pennyfarthing_scripts/bikerack/__pycache__/debug_panel.cpython-314.pyc +0 -0
  176. package/pennyfarthing_scripts/bikerack/__pycache__/diffs_panel.cpython-314.pyc +0 -0
  177. package/pennyfarthing_scripts/bikerack/__pycache__/git_panel.cpython-314.pyc +0 -0
  178. package/pennyfarthing_scripts/bikerack/__pycache__/launcher.cpython-314.pyc +0 -0
  179. package/pennyfarthing_scripts/bikerack/__pycache__/portrait.cpython-314.pyc +0 -0
  180. package/pennyfarthing_scripts/bikerack/__pycache__/progress_panel.cpython-314.pyc +0 -0
  181. package/pennyfarthing_scripts/bikerack/__pycache__/sprint_panel.cpython-314.pyc +0 -0
  182. package/pennyfarthing_scripts/bikerack/__pycache__/tui.cpython-314.pyc +0 -0
  183. package/pennyfarthing_scripts/bikerack/__pycache__/ws_client.cpython-314.pyc +0 -0
  184. package/pennyfarthing_scripts/bikerack/background_panel.py +86 -5
  185. package/pennyfarthing_scripts/bikerack/base_panel.py +62 -0
  186. package/pennyfarthing_scripts/bikerack/changed_panel.py +32 -28
  187. package/pennyfarthing_scripts/bikerack/cli.py +10 -11
  188. package/pennyfarthing_scripts/bikerack/debug_panel.py +31 -1
  189. package/pennyfarthing_scripts/bikerack/diffs_panel.py +74 -17
  190. package/pennyfarthing_scripts/bikerack/git_panel.py +103 -33
  191. package/pennyfarthing_scripts/bikerack/launcher.py +15 -15
  192. package/pennyfarthing_scripts/bikerack/progress_panel.py +315 -0
  193. package/pennyfarthing_scripts/bikerack/sprint_panel.py +158 -26
  194. package/pennyfarthing_scripts/bikerack/tui.py +336 -30
  195. package/pennyfarthing_scripts/bikerack/ws_client.py +2 -2
  196. package/pennyfarthing_scripts/cli.py +37 -65
  197. package/pennyfarthing_scripts/consultation/__init__.py +1 -0
  198. package/pennyfarthing_scripts/consultation/__pycache__/__init__.cpython-314.pyc +0 -0
  199. package/pennyfarthing_scripts/consultation/__pycache__/cli.cpython-314.pyc +0 -0
  200. package/pennyfarthing_scripts/consultation/cli.py +149 -0
  201. package/pennyfarthing_scripts/consultation/dialogue_manager.py +417 -0
  202. package/pennyfarthing_scripts/context.py +3 -3
  203. package/pennyfarthing_scripts/epic/__pycache__/__init__.cpython-314.pyc +0 -0
  204. package/pennyfarthing_scripts/epic/__pycache__/cli.cpython-314.pyc +0 -0
  205. package/pennyfarthing_scripts/git/__init__.py +12 -1
  206. package/pennyfarthing_scripts/git/__pycache__/__init__.cpython-314.pyc +0 -0
  207. package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
  208. package/pennyfarthing_scripts/git/__pycache__/hooks_installer.cpython-314.pyc +0 -0
  209. package/pennyfarthing_scripts/git/__pycache__/repos.cpython-314.pyc +0 -0
  210. package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
  211. package/pennyfarthing_scripts/git/__pycache__/worktree.cpython-314.pyc +0 -0
  212. package/pennyfarthing_scripts/git/create_branches.py +3 -4
  213. package/pennyfarthing_scripts/git/hooks_installer.py +152 -0
  214. package/pennyfarthing_scripts/git/repos.py +196 -0
  215. package/pennyfarthing_scripts/git/status_all.py +27 -11
  216. package/pennyfarthing_scripts/git/worktree.py +302 -0
  217. package/pennyfarthing_scripts/git_group/__pycache__/__init__.cpython-314.pyc +0 -0
  218. package/pennyfarthing_scripts/git_group/__pycache__/cli.cpython-314.pyc +0 -0
  219. package/pennyfarthing_scripts/git_group/cli.py +143 -40
  220. package/pennyfarthing_scripts/handoff/__pycache__/__init__.cpython-314.pyc +0 -0
  221. package/pennyfarthing_scripts/handoff/__pycache__/cli.cpython-314.pyc +0 -0
  222. package/pennyfarthing_scripts/handoff/__pycache__/complete_phase.cpython-314.pyc +0 -0
  223. package/pennyfarthing_scripts/handoff/__pycache__/resolve_gate.cpython-314.pyc +0 -0
  224. package/pennyfarthing_scripts/handoff/complete_phase.py +12 -0
  225. package/pennyfarthing_scripts/handoff/resolve_gate.py +5 -14
  226. package/pennyfarthing_scripts/hooks/cyclist-pretooluse-hook.sh +0 -0
  227. package/pennyfarthing_scripts/hooks.py +3 -17
  228. package/pennyfarthing_scripts/pretooluse_hook.py +1 -1
  229. package/pennyfarthing_scripts/prime/__pycache__/heatmap.cpython-314.pyc +0 -0
  230. package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
  231. package/pennyfarthing_scripts/prime/heatmap.py +655 -0
  232. package/pennyfarthing_scripts/session/__pycache__/__init__.cpython-314.pyc +0 -0
  233. package/pennyfarthing_scripts/session/__pycache__/cli.cpython-314.pyc +0 -0
  234. package/pennyfarthing_scripts/session_start_hook.py +1 -1
  235. package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
  236. package/pennyfarthing_scripts/sprint/loader.py +15 -1
  237. package/pennyfarthing_scripts/sprint/story_finish.py +14 -0
  238. package/pennyfarthing_scripts/tests/__pycache__/test_handoff_cli.cpython-314-pytest-9.0.2.pyc +0 -0
  239. package/pennyfarthing_scripts/tests/__pycache__/test_handoff_e2e.cpython-314-pytest-9.0.2.pyc +0 -0
  240. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_check.cpython-314-pytest-9.0.2.pyc +0 -0
  241. package/pennyfarthing_scripts/tests/test_bikerack.py +51 -51
  242. package/pennyfarthing_scripts/tests/test_dialogue_manager.py +811 -0
  243. package/pennyfarthing_scripts/tests/test_handoff_cli.py +16 -11
  244. package/pennyfarthing_scripts/tests/test_workflow_check.py +2 -3
  245. package/pennyfarthing_scripts/validate/__pycache__/cli.cpython-314.pyc +0 -0
  246. package/pennyfarthing_scripts/validate/adapters/tandem_awareness.py +254 -0
  247. package/pennyfarthing_scripts/validate/cli.py +17 -5
  248. package/pennyfarthing_scripts/workflow/__init__.py +40 -0
  249. package/pennyfarthing_scripts/workflow/__pycache__/__init__.cpython-314.pyc +0 -0
  250. package/pennyfarthing_scripts/workflow/__pycache__/cli.cpython-314.pyc +0 -0
  251. package/pennyfarthing_scripts/workflow/__pycache__/helpers.cpython-314.pyc +0 -0
  252. package/pennyfarthing_scripts/workflow/__pycache__/scale.cpython-314.pyc +0 -0
  253. package/pennyfarthing_scripts/workflow/__pycache__/state.cpython-314.pyc +0 -0
  254. package/pennyfarthing_scripts/workflow/cli.py +1099 -0
  255. package/pennyfarthing_scripts/workflow/helpers.py +241 -0
  256. package/pennyfarthing_scripts/{workflow.py → workflow/scale.py} +0 -104
  257. package/pennyfarthing_scripts/workflow/state.py +112 -0
  258. package/scripts/README.md +41 -0
  259. package/pennyfarthing-dist/skills/pf-workflow/scripts/list-workflows.sh +0 -91
  260. package/pennyfarthing-dist/skills/pf-workflow/scripts/resume-workflow.sh +0 -163
  261. package/pennyfarthing-dist/skills/pf-workflow/scripts/show-workflow.sh +0 -138
  262. package/pennyfarthing-dist/skills/pf-workflow/scripts/start-workflow.sh +0 -273
  263. package/pennyfarthing-dist/skills/pf-workflow/scripts/workflow-status.sh +0 -167
@@ -129,7 +129,8 @@ export async function getAllReposGitInfoAsync(projectDir) {
129
129
  export function getGitInfo(projectDir) {
130
130
  try {
131
131
  // Get current branch
132
- const branch = execSync('git rev-parse --abbrev-ref HEAD', {
132
+ // --no-optional-locks: prevent taking .git/index lock (avoids conflicts with concurrent git ops)
133
+ const branch = execSync('git --no-optional-locks rev-parse --abbrev-ref HEAD', {
133
134
  cwd: projectDir,
134
135
  encoding: 'utf-8',
135
136
  }).trim();
@@ -137,7 +138,7 @@ export function getGitInfo(projectDir) {
137
138
  let dirtyFiles = [];
138
139
  let clean = true;
139
140
  try {
140
- const statusOutput = execSync('git status --porcelain', {
141
+ const statusOutput = execSync('git --no-optional-locks status --porcelain', {
141
142
  cwd: projectDir,
142
143
  encoding: 'utf-8',
143
144
  }).trim();
@@ -153,7 +154,7 @@ export function getGitInfo(projectDir) {
153
154
  catch {
154
155
  // Fall back to diff-index check if porcelain fails
155
156
  try {
156
- execSync('git diff-index --quiet HEAD --', {
157
+ execSync('git --no-optional-locks diff-index --quiet HEAD --', {
157
158
  cwd: projectDir,
158
159
  encoding: 'utf-8',
159
160
  });
@@ -167,13 +168,13 @@ export function getGitInfo(projectDir) {
167
168
  let ahead = null;
168
169
  let behind = null;
169
170
  try {
170
- const aheadOutput = execSync('git rev-list --count @{u}..HEAD', {
171
+ const aheadOutput = execSync('git --no-optional-locks rev-list --count @{u}..HEAD', {
171
172
  cwd: projectDir,
172
173
  encoding: 'utf-8',
173
174
  stdio: ['pipe', 'pipe', 'pipe'],
174
175
  });
175
176
  ahead = parseInt(aheadOutput.trim(), 10);
176
- const behindOutput = execSync('git rev-list --count HEAD..@{u}', {
177
+ const behindOutput = execSync('git --no-optional-locks rev-list --count HEAD..@{u}', {
177
178
  cwd: projectDir,
178
179
  encoding: 'utf-8',
179
180
  stdio: ['pipe', 'pipe', 'pipe'],
@@ -186,7 +187,7 @@ export function getGitInfo(projectDir) {
186
187
  // Get commits that origin/develop has that current branch doesn't
187
188
  let developBehind = null;
188
189
  try {
189
- const developBehindOutput = execSync('git rev-list --count HEAD..origin/develop', {
190
+ const developBehindOutput = execSync('git --no-optional-locks rev-list --count HEAD..origin/develop', {
190
191
  cwd: projectDir,
191
192
  encoding: 'utf-8',
192
193
  stdio: ['pipe', 'pipe', 'pipe'],
@@ -213,31 +214,14 @@ export function getGitInfo(projectDir) {
213
214
  /**
214
215
  * Get git status for project (async - does not block event loop)
215
216
  * This should be preferred over getGitInfo for WebSocket broadcasts and polling
216
- * Uses a per-repo mutex to prevent git lock conflicts from concurrent operations
217
+ * Uses --no-optional-locks so reads never conflict with concurrent git operations.
218
+ * Does NOT fetch from remote — use fetchRepoAsync() separately for that.
217
219
  */
218
220
  export async function getGitInfoAsync(projectDir) {
219
- // Acquire lock to prevent concurrent git operations on the same repo
220
- const releaseLock = await acquireRepoLock(projectDir);
221
221
  try {
222
- // Fetch latest refs from remote (quiet, no output)
223
- // Throttled: only fetch once per GIT_FETCH_COOLDOWN_MS per repo (Story 103-21)
224
- const now = Date.now();
225
- const lastFetch = lastFetchTimes.get(projectDir) ?? 0;
226
- if (now - lastFetch >= GIT_FETCH_COOLDOWN_MS) {
227
- try {
228
- await execAsync('git fetch --quiet', {
229
- cwd: projectDir,
230
- encoding: 'utf-8',
231
- timeout: 10000, // 10s timeout for network operation
232
- });
233
- lastFetchTimes.set(projectDir, Date.now());
234
- }
235
- catch {
236
- // Fetch failed (offline, no remote, etc.) - continue with local refs
237
- }
238
- }
239
222
  // Get current branch
240
- const { stdout: branchOutput } = await execAsync('git rev-parse --abbrev-ref HEAD', {
223
+ // --no-optional-locks: prevent taking .git/index lock (avoids conflicts with concurrent git ops)
224
+ const { stdout: branchOutput } = await execAsync('git --no-optional-locks rev-parse --abbrev-ref HEAD', {
241
225
  cwd: projectDir,
242
226
  encoding: 'utf-8',
243
227
  });
@@ -246,7 +230,7 @@ export async function getGitInfoAsync(projectDir) {
246
230
  let dirtyFiles = [];
247
231
  let clean = true;
248
232
  try {
249
- const { stdout: statusOutput } = await execAsync('git status --porcelain', {
233
+ const { stdout: statusOutput } = await execAsync('git --no-optional-locks status --porcelain', {
250
234
  cwd: projectDir,
251
235
  encoding: 'utf-8',
252
236
  });
@@ -262,7 +246,7 @@ export async function getGitInfoAsync(projectDir) {
262
246
  catch {
263
247
  // Fall back to diff-index check if porcelain fails
264
248
  try {
265
- await execAsync('git diff-index --quiet HEAD --', {
249
+ await execAsync('git --no-optional-locks diff-index --quiet HEAD --', {
266
250
  cwd: projectDir,
267
251
  encoding: 'utf-8',
268
252
  });
@@ -276,12 +260,12 @@ export async function getGitInfoAsync(projectDir) {
276
260
  let ahead = null;
277
261
  let behind = null;
278
262
  try {
279
- const { stdout: aheadOutput } = await execAsync('git rev-list --count @{u}..HEAD', {
263
+ const { stdout: aheadOutput } = await execAsync('git --no-optional-locks rev-list --count @{u}..HEAD', {
280
264
  cwd: projectDir,
281
265
  encoding: 'utf-8',
282
266
  });
283
267
  ahead = parseInt(aheadOutput.trim(), 10);
284
- const { stdout: behindOutput } = await execAsync('git rev-list --count HEAD..@{u}', {
268
+ const { stdout: behindOutput } = await execAsync('git --no-optional-locks rev-list --count HEAD..@{u}', {
285
269
  cwd: projectDir,
286
270
  encoding: 'utf-8',
287
271
  });
@@ -294,17 +278,15 @@ export async function getGitInfoAsync(projectDir) {
294
278
  // This alerts when develop has moved ahead (work done in another clone)
295
279
  let developBehind = null;
296
280
  try {
297
- const { stdout: developBehindOutput } = await execAsync('git rev-list --count HEAD..origin/develop', { cwd: projectDir, encoding: 'utf-8' });
281
+ const { stdout: developBehindOutput } = await execAsync('git --no-optional-locks rev-list --count HEAD..origin/develop', { cwd: projectDir, encoding: 'utf-8' });
298
282
  developBehind = parseInt(developBehindOutput.trim(), 10);
299
283
  }
300
284
  catch {
301
285
  // origin/develop doesn't exist or other error - leave as null
302
286
  }
303
- releaseLock();
304
287
  return { branch, clean, ahead, behind, dirtyFiles, developBehind };
305
288
  }
306
289
  catch (error) {
307
- releaseLock();
308
290
  // Not a git repo or git command failed - return null gracefully
309
291
  const errorMessage = error instanceof Error ? error.message : String(error);
310
292
  const errorCode = error?.code;
@@ -315,6 +297,43 @@ export async function getGitInfoAsync(projectDir) {
315
297
  return null;
316
298
  }
317
299
  }
300
+ /**
301
+ * Fetch latest refs from remote for a single repo.
302
+ * Uses per-repo mutex to prevent concurrent fetch operations.
303
+ * Throttled: only fetches once per GIT_FETCH_COOLDOWN_MS per repo (Story 103-21).
304
+ * Returns true if fetch was performed, false if skipped (cooldown) or failed.
305
+ */
306
+ export async function fetchRepoAsync(projectDir) {
307
+ const now = Date.now();
308
+ const lastFetch = lastFetchTimes.get(projectDir) ?? 0;
309
+ if (now - lastFetch < GIT_FETCH_COOLDOWN_MS) {
310
+ return false; // Still in cooldown
311
+ }
312
+ const releaseLock = await acquireRepoLock(projectDir);
313
+ try {
314
+ await execAsync('git fetch --quiet', {
315
+ cwd: projectDir,
316
+ encoding: 'utf-8',
317
+ timeout: 10000, // 10s timeout for network operation
318
+ });
319
+ lastFetchTimes.set(projectDir, Date.now());
320
+ releaseLock();
321
+ return true;
322
+ }
323
+ catch {
324
+ // Fetch failed (offline, no remote, etc.)
325
+ releaseLock();
326
+ return false;
327
+ }
328
+ }
329
+ /**
330
+ * Fetch all configured repos. Returns true if any repo was fetched.
331
+ */
332
+ export async function fetchAllReposAsync(projectDir) {
333
+ const repos = getReposFromConfig(projectDir);
334
+ const results = await Promise.all(repos.map(repo => fetchRepoAsync(join(projectDir, repo.path))));
335
+ return results.some(r => r);
336
+ }
318
337
  /**
319
338
  * Reset the fetch cooldown for a repo, allowing the next getGitInfoAsync call
320
339
  * to perform a git fetch immediately. Used by force-refresh paths.
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/server/api/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/server/api/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;;GAGG;AACH,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEjD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE5C;;;GAGG;AACH,KAAK,UAAU,eAAe,CAAC,QAAgB;IAC7C,8CAA8C;IAC9C,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAY,CAAC;IACrB,CAAC;IAED,oBAAoB;IACpB,IAAI,WAAuB,CAAC;IAC5B,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;QAC9C,WAAW,GAAG,OAAO,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAErC,OAAO,GAAG,EAAE;QACV,WAAY,EAAE,CAAC;QACf,kEAAkE;QAClE,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;gBAC5C,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC;AACJ,CAAC;AA+BD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,uFAAuF;IACvF,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;KAC/B,CAAC;IACF,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;QACzD,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;YACzD,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,EAAE,GAAG,UAA4C,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI;gBACJ,IAAI,EAAG,EAAE,EAAE,IAAe,IAAI,IAAI;aACnC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACpG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;QACzD,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE7C,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAErC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,SAAS;YACpC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;YAC7B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;YAC7B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;YAC/B,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI;YAC7C,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;SACtC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,UAAkB;IAC9D,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEhD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,SAAS;YACpC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;YAC7B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;YAC7B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;YAC/B,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI;YAC7C,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;SACtC,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,UAAU,CAAC,UAAkB;IAC3C,IAAI,CAAC;QACH,qBAAqB;QACrB,iGAAiG;QACjG,MAAM,MAAM,GAAG,QAAQ,CAAC,qDAAqD,EAAE;YAC7E,GAAG,EAAE,UAAU;YACf,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,yDAAyD;QACzD,IAAI,UAAU,GAAgB,EAAE,CAAC;QACjC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,QAAQ,CAAC,4CAA4C,EAAE;gBAC1E,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC,IAAI,EAAE,CAAC;YAEV,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,GAAG,KAAK,CAAC;gBACd,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;oBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC/B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;YACnD,IAAI,CAAC;gBACH,QAAQ,CAAC,oDAAoD,EAAE;oBAC7D,GAAG,EAAE,UAAU;oBACf,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,QAAQ,CAAC,qDAAqD,EAAE;gBAClF,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YACH,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAEzC,MAAM,YAAY,GAAG,QAAQ,CAAC,qDAAqD,EAAE;gBACnF,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YACH,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;QAED,kEAAkE;QAClE,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,QAAQ,CAAC,+DAA+D,EAAE;gBACpG,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YACH,aAAa,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gEAAgE;QAChE,qDAAqD;QACrD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAI,KAA+B,EAAE,IAAI,CAAC;QAEzD,uDAAuD;QACvD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,sBAAsB,SAAS,IAAI,SAAS,MAAM,YAAY,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,IAAI,CAAC;QACH,qBAAqB;QACrB,iGAAiG;QACjG,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,SAAS,CAAC,qDAAqD,EAAE;YACtG,GAAG,EAAE,UAAU;YACf,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;QAEnC,yDAAyD;QACzD,IAAI,UAAU,GAAgB,EAAE,CAAC;QACjC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,SAAS,CAAC,4CAA4C,EAAE;gBAC7F,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YAEH,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxB,KAAK,GAAG,KAAK,CAAC;gBACd,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;oBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC/B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC1B,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;YACnD,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,oDAAoD,EAAE;oBACpE,GAAG,EAAE,UAAU;oBACf,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,qDAAqD,EAAE;gBACrG,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAEzC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,SAAS,CAAC,qDAAqD,EAAE;gBACtG,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;QAED,kEAAkE;QAClE,wEAAwE;QACxE,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,SAAS,CACrD,+DAA+D,EAC/D,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CACvC,CAAC;YACF,aAAa,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,8DAA8D;QAChE,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gEAAgE;QAChE,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAI,KAA+B,EAAE,IAAI,CAAC;QAEzD,uDAAuD;QACvD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,2BAA2B,SAAS,IAAI,SAAS,MAAM,YAAY,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,GAAG,GAAG,SAAS,GAAG,qBAAqB,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC,CAAC,oBAAoB;IACpC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,mBAAmB,EAAE;YACnC,GAAG,EAAE,UAAU;YACf,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,KAAK,EAAE,oCAAoC;SACrD,CAAC,CAAC;QACH,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3C,WAAW,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;QAC1C,WAAW,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACzD,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAC/D,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAmB;IACpD,IAAI,UAAU,EAAE,CAAC;QACf,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,cAAc,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,yDAAyD;AACzD,IAAI,oBAAoB,GAAmD,IAAI,CAAC;AAEhF,MAAM,UAAU,uBAAuB,CAAC,QAA+C;IACrF,oBAAoB,GAAG,QAAQ,CAAC;AAClC,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,eAAe,CAAC,aAA2B;IACzD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,6DAA6D;IAC7D,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,UAAU,CAAC,CAAC;QAEvE,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YACzD,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC/B,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAClC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,qFAAqF;IACrF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QACrC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,10 +1,11 @@
1
1
  /**
2
- * OTLP receiver stub for server module.
3
- * Provides functions/types used by API routes without cyclist OTLP dependency.
2
+ * OTLP receiver for server module.
3
+ * Provides real OTLP processing for standalone mode (BikeRack/WheelHub)
4
+ * without requiring Cyclist's provider.
4
5
  *
5
6
  * Supports a provider pattern: call setOTLPProvider() with the real implementation
6
7
  * (e.g. from cyclist's otlp-receiver) to wire live data through the API routes.
7
- * Without a provider, all functions return safe empty defaults.
8
+ * Without a provider, functions use in-memory stores for standalone operation.
8
9
  */
9
10
  export interface TokenStats {
10
11
  inputTokens: number;
@@ -73,15 +74,19 @@ export declare function getAuditLogStats(): Record<string, unknown>;
73
74
  export declare function exportAuditLogAsJSON(toolType?: string): string;
74
75
  export declare function exportAuditLogAsCSV(toolType?: string): string;
75
76
  export declare function resetEventStore(): void;
76
- export declare function getBackgroundTaskByToolId(_toolId: string): BackgroundTask | undefined;
77
- export declare function trackBackgroundTask(_task: Partial<BackgroundTask>): void;
78
- export declare function completeBackgroundTask(_taskId: string, _success: boolean, _result?: string, _error?: string): BackgroundTask | undefined;
79
- export declare function addToolEventListener(_callback: (event: ToolEvent) => void): void;
77
+ export declare function parseOTLPMetrics(body: unknown): Record<string, number>;
78
+ export declare function aggregateTokenStats(data: unknown): TokenStats;
79
+ export declare function parseOTLPLogs(body: unknown): Array<{
80
+ name: string;
81
+ timestamp: number;
82
+ attributes: Record<string, unknown>;
83
+ }>;
84
+ export declare function processLogEvents(events: unknown): void;
85
+ export declare function trackBackgroundTask(task: Partial<BackgroundTask>): void;
86
+ export declare function getBackgroundTaskByToolId(toolId: string): BackgroundTask | undefined;
87
+ export declare function completeBackgroundTask(taskId: string, success: boolean, result?: string, error?: string): BackgroundTask | undefined;
88
+ export declare function addToolEventListener(callback: (event: ToolEvent) => void): void;
80
89
  export declare function getUserEmail(): string | null;
81
90
  export declare function isOtelDebugEnabled(): boolean;
82
91
  export declare function clearAuditLog(): void;
83
- export declare function parseOTLPMetrics(_body: unknown): unknown;
84
- export declare function aggregateTokenStats(_data: unknown): TokenStats;
85
- export declare function parseOTLPLogs(_body: unknown): unknown;
86
- export declare function processLogEvents(_events: unknown): void;
87
92
  //# sourceMappingURL=otlp-receiver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"otlp-receiver.d.ts","sourceRoot":"","sources":["../../src/server/otlp-receiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"otlp-receiver.d.ts","sourceRoot":"","sources":["../../src/server/otlp-receiver.ts"],"names":[],"mappings":"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"}
@@ -1,47 +1,71 @@
1
1
  /**
2
- * OTLP receiver stub for server module.
3
- * Provides functions/types used by API routes without cyclist OTLP dependency.
2
+ * OTLP receiver for server module.
3
+ * Provides real OTLP processing for standalone mode (BikeRack/WheelHub)
4
+ * without requiring Cyclist's provider.
4
5
  *
5
6
  * Supports a provider pattern: call setOTLPProvider() with the real implementation
6
7
  * (e.g. from cyclist's otlp-receiver) to wire live data through the API routes.
7
- * Without a provider, all functions return safe empty defaults.
8
+ * Without a provider, functions use in-memory stores for standalone operation.
8
9
  */
9
10
  let _provider = null;
10
11
  export function setOTLPProvider(provider) {
11
12
  _provider = provider;
12
13
  }
13
14
  // =============================================================================
14
- // Delegating stubsroute through provider when set, empty defaults otherwise
15
+ // In-memory storesstandalone mode (used when no provider is set)
16
+ // =============================================================================
17
+ const _emptyStats = () => ({
18
+ inputTokens: 0, outputTokens: 0, cacheCreationTokens: 0, cacheReadTokens: 0, totalCost: 0,
19
+ });
20
+ let _tokenStats = _emptyStats();
21
+ let _tokenStatsListeners = [];
22
+ let _backgroundTasks = [];
23
+ let _backgroundTaskStartCb = null;
24
+ let _backgroundTaskCompleteCb = null;
25
+ let _auditLog = [];
26
+ let _toolEventListeners = [];
27
+ let _userEmail = null;
28
+ // =============================================================================
29
+ // Delegating stubs — route through provider when set, local stores otherwise
15
30
  // =============================================================================
16
31
  export function getTokenStats() {
17
32
  if (_provider)
18
33
  return _provider.getTokenStats();
19
- return { inputTokens: 0, outputTokens: 0, cacheCreationTokens: 0, cacheReadTokens: 0, totalCost: 0 };
34
+ return { ..._tokenStats };
20
35
  }
21
36
  export function addTokenStatsListener(callback) {
22
37
  if (_provider)
23
38
  return _provider.addTokenStatsListener(callback);
39
+ _tokenStatsListeners.push(callback);
24
40
  }
25
41
  export function getBackgroundTasks() {
26
42
  if (_provider)
27
43
  return _provider.getBackgroundTasks();
28
- return [];
44
+ return [..._backgroundTasks];
29
45
  }
30
46
  export function setBackgroundTaskStartCallback(callback) {
31
47
  if (_provider)
32
48
  return _provider.setBackgroundTaskStartCallback(callback);
49
+ _backgroundTaskStartCb = callback;
33
50
  }
34
51
  export function setBackgroundTaskCallback(callback) {
35
52
  if (_provider)
36
53
  return _provider.setBackgroundTaskCallback(callback);
54
+ _backgroundTaskCompleteCb = callback;
37
55
  }
38
56
  export function processOTLPLogs(body) {
39
57
  if (_provider)
40
58
  return _provider.processOTLPLogs(body);
59
+ const events = parseOTLPLogs(body);
60
+ if (Array.isArray(events))
61
+ processLogEvents(events);
41
62
  }
42
63
  export function processOTLPMetrics(body) {
43
64
  if (_provider)
44
65
  return _provider.processOTLPMetrics(body);
66
+ const parsed = parseOTLPMetrics(body);
67
+ if (parsed && typeof parsed === 'object')
68
+ aggregateTokenStats(parsed);
45
69
  }
46
70
  export function processOTLPTraces(body) {
47
71
  if (_provider)
@@ -50,7 +74,7 @@ export function processOTLPTraces(body) {
50
74
  export function getAuditLog() {
51
75
  if (_provider)
52
76
  return _provider.getAuditLog();
53
- return [];
77
+ return [..._auditLog];
54
78
  }
55
79
  export function getToolEventsFiltered(opts) {
56
80
  if (_provider)
@@ -60,47 +84,184 @@ export function getToolEventsFiltered(opts) {
60
84
  export function getToolTypes() {
61
85
  if (_provider)
62
86
  return _provider.getToolTypes();
63
- return [];
87
+ const types = new Set();
88
+ for (const entry of _auditLog) {
89
+ if (entry.tool)
90
+ types.add(entry.tool);
91
+ }
92
+ return [...types];
64
93
  }
65
94
  export function getAuditLogStats() {
66
95
  if (_provider)
67
96
  return _provider.getAuditLogStats();
68
- return {};
97
+ return { total: _auditLog.length };
69
98
  }
70
99
  export function exportAuditLogAsJSON(toolType) {
71
100
  if (_provider)
72
101
  return _provider.exportAuditLogAsJSON(toolType);
73
- return '[]';
102
+ const entries = toolType ? _auditLog.filter(e => e.tool === toolType) : _auditLog;
103
+ return JSON.stringify(entries);
74
104
  }
75
105
  export function exportAuditLogAsCSV(toolType) {
76
106
  if (_provider)
77
107
  return _provider.exportAuditLogAsCSV(toolType);
78
- return '';
108
+ const entries = toolType ? _auditLog.filter(e => e.tool === toolType) : _auditLog;
109
+ if (entries.length === 0)
110
+ return '';
111
+ const headers = ['timestamp', 'type', 'toolName', 'success'];
112
+ const rows = entries.map(e => [e.timestamp, e.type, e.tool ?? '', e.success ?? ''].join(','));
113
+ return [headers.join(','), ...rows].join('\n');
79
114
  }
80
115
  export function resetEventStore() {
81
116
  if (_provider)
82
117
  return _provider.resetEventStore();
118
+ _tokenStats = _emptyStats();
119
+ _tokenStatsListeners = [];
120
+ _backgroundTasks = [];
121
+ _backgroundTaskStartCb = null;
122
+ _backgroundTaskCompleteCb = null;
123
+ _auditLog = [];
124
+ _toolEventListeners = [];
125
+ _userEmail = null;
83
126
  }
84
127
  // =============================================================================
85
- // Plain stubsNOT used by core's API routes, only imported directly by cyclist
128
+ // Real implementationsstandalone OTLP processing
86
129
  // =============================================================================
87
- export function getBackgroundTaskByToolId(_toolId) {
88
- return undefined;
130
+ /* eslint-disable @typescript-eslint/no-explicit-any */
131
+ export function parseOTLPMetrics(body) {
132
+ const result = {};
133
+ const payload = body;
134
+ if (!payload?.resourceMetrics)
135
+ return result;
136
+ for (const rm of payload.resourceMetrics) {
137
+ for (const sm of rm.scopeMetrics ?? []) {
138
+ for (const metric of sm.metrics ?? []) {
139
+ if (metric.name !== 'claude_code.token.usage')
140
+ continue;
141
+ for (const dp of metric.sum?.dataPoints ?? []) {
142
+ const typeAttr = dp.attributes?.find((a) => a.key === 'type');
143
+ if (!typeAttr)
144
+ continue;
145
+ const type = typeAttr.value?.stringValue;
146
+ const value = dp.asInt;
147
+ if (type === 'input')
148
+ result.inputTokens = value;
149
+ else if (type === 'output')
150
+ result.outputTokens = value;
151
+ else if (type === 'cacheRead')
152
+ result.cacheReadTokens = value;
153
+ else if (type === 'cacheCreation')
154
+ result.cacheCreationTokens = value;
155
+ }
156
+ }
157
+ }
158
+ }
159
+ return result;
160
+ }
161
+ export function aggregateTokenStats(data) {
162
+ const d = data;
163
+ _tokenStats.inputTokens += d.inputTokens ?? 0;
164
+ _tokenStats.outputTokens += d.outputTokens ?? 0;
165
+ _tokenStats.cacheCreationTokens += d.cacheCreationTokens ?? 0;
166
+ _tokenStats.cacheReadTokens += d.cacheReadTokens ?? 0;
167
+ for (const listener of _tokenStatsListeners) {
168
+ listener({ ..._tokenStats });
169
+ }
170
+ return { ..._tokenStats };
89
171
  }
90
- export function trackBackgroundTask(_task) { }
91
- export function completeBackgroundTask(_taskId, _success, _result, _error) {
92
- return undefined;
172
+ export function parseOTLPLogs(body) {
173
+ const payload = body;
174
+ const events = [];
175
+ if (!payload?.resourceLogs)
176
+ return events;
177
+ for (const rl of payload.resourceLogs) {
178
+ for (const sl of rl.scopeLogs ?? []) {
179
+ for (const record of sl.logRecords ?? []) {
180
+ const name = record.body?.stringValue ?? '';
181
+ const timestampNs = Number(record.timeUnixNano);
182
+ const timestamp = Math.floor(timestampNs / 1_000_000);
183
+ const attributes = {};
184
+ for (const attr of record.attributes ?? []) {
185
+ if (attr.value?.stringValue !== undefined)
186
+ attributes[attr.key] = attr.value.stringValue;
187
+ else if (attr.value?.intValue !== undefined)
188
+ attributes[attr.key] = attr.value.intValue;
189
+ else if (attr.value?.boolValue !== undefined)
190
+ attributes[attr.key] = attr.value.boolValue;
191
+ }
192
+ events.push({ name, timestamp, attributes });
193
+ }
194
+ }
195
+ }
196
+ return events;
197
+ }
198
+ export function processLogEvents(events) {
199
+ if (!Array.isArray(events))
200
+ return;
201
+ for (const event of events) {
202
+ if (event.attributes?.['user.email']) {
203
+ _userEmail = event.attributes['user.email'];
204
+ }
205
+ if (event.name === 'claude_code.tool_result') {
206
+ const toolName = event.attributes?.tool_name ?? 'unknown';
207
+ const success = event.attributes?.success === 'true';
208
+ const entry = {
209
+ timestamp: event.timestamp,
210
+ type: 'tool_result',
211
+ tool: toolName,
212
+ toolName,
213
+ success,
214
+ };
215
+ _auditLog.push(entry);
216
+ const toolEvent = { toolName, success };
217
+ for (const listener of _toolEventListeners) {
218
+ listener(toolEvent);
219
+ }
220
+ }
221
+ }
222
+ }
223
+ /* eslint-enable @typescript-eslint/no-explicit-any */
224
+ export function trackBackgroundTask(task) {
225
+ const fullTask = {
226
+ taskId: task.taskId ?? '',
227
+ description: task.description ?? '',
228
+ subagentType: task.subagentType ?? '',
229
+ startedAt: task.startedAt ?? Date.now(),
230
+ status: 'pending',
231
+ };
232
+ _backgroundTasks.push(fullTask);
233
+ if (_backgroundTaskStartCb)
234
+ _backgroundTaskStartCb(fullTask);
235
+ }
236
+ export function getBackgroundTaskByToolId(toolId) {
237
+ return _backgroundTasks.find(t => t.taskId === toolId);
238
+ }
239
+ export function completeBackgroundTask(taskId, success, result, error) {
240
+ const task = _backgroundTasks.find(t => t.taskId === taskId);
241
+ if (!task)
242
+ return undefined;
243
+ task.status = 'completed';
244
+ task.success = success;
245
+ task.completedAt = Date.now();
246
+ task.durationMs = task.completedAt - task.startedAt;
247
+ if (result)
248
+ task.output = result;
249
+ if (error)
250
+ task.error = error;
251
+ if (_backgroundTaskCompleteCb)
252
+ _backgroundTaskCompleteCb(task);
253
+ return task;
254
+ }
255
+ export function addToolEventListener(callback) {
256
+ _toolEventListeners.push(callback);
93
257
  }
94
- export function addToolEventListener(_callback) { }
95
258
  export function getUserEmail() {
96
- return null;
259
+ return _userEmail;
97
260
  }
98
261
  export function isOtelDebugEnabled() {
99
262
  return false;
100
263
  }
101
- export function clearAuditLog() { }
102
- export function parseOTLPMetrics(_body) { return null; }
103
- export function aggregateTokenStats(_data) { return { inputTokens: 0, outputTokens: 0, cacheCreationTokens: 0, cacheReadTokens: 0, totalCost: 0 }; }
104
- export function parseOTLPLogs(_body) { return null; }
105
- export function processLogEvents(_events) { }
264
+ export function clearAuditLog() {
265
+ _auditLog = [];
266
+ }
106
267
  //# sourceMappingURL=otlp-receiver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"otlp-receiver.js","sourceRoot":"","sources":["../../src/server/otlp-receiver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAqEH,IAAI,SAAS,GAAwB,IAAI,CAAC;AAE1C,MAAM,UAAU,eAAe,CAAC,QAAsB;IACpD,SAAS,GAAG,QAAQ,CAAC;AACvB,CAAC;AAED,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAEhF,MAAM,UAAU,aAAa;IAC3B,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC;IAChD,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAqC;IACzE,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,kBAAkB,EAAE,CAAC;IACrD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,QAAwC;IACrF,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAwC;IAChF,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAa;IAC3C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAc;IAClD,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,YAAY,EAAE,CAAC;IAC/C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,gBAAgB,EAAE,CAAC;IACnD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAiB;IACpD,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAiB;IACnD,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC9D,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,eAAe,EAAE,CAAC;AACpD,CAAC;AAED,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAEhF,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAA8B,IAAS,CAAC;AAC5E,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,QAAiB,EAAE,OAAgB,EAAE,MAAe;IAC1G,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAqC,IAAS,CAAC;AAEpF,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,KAAU,CAAC;AAExC,MAAM,UAAU,gBAAgB,CAAC,KAAc,IAAa,OAAO,IAAI,CAAC,CAAC,CAAC;AAC1E,MAAM,UAAU,mBAAmB,CAAC,KAAc,IAAgB,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACzK,MAAM,UAAU,aAAa,CAAC,KAAc,IAAa,OAAO,IAAI,CAAC,CAAC,CAAC;AACvE,MAAM,UAAU,gBAAgB,CAAC,OAAgB,IAAS,CAAC"}
1
+ {"version":3,"file":"otlp-receiver.js","sourceRoot":"","sources":["../../src/server/otlp-receiver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Tests for Story 98-23: Implement real OTLP integrations for core server stubs
3
+ *
4
+ * Core's otlp-receiver module must provide real OTLP processing without
5
+ * requiring Cyclist's provider. WheelHub standalone (BikeRack mode) needs
6
+ * working telemetry ingestion.
7
+ *
8
+ * Acceptance Criteria:
9
+ * AC1: parseOTLPMetrics extracts token usage from OTLP JSON payloads
10
+ * AC2: aggregateTokenStats accumulates stats and notifies listeners
11
+ * AC3: parseOTLPLogs extracts structured events from OTLP log payloads
12
+ * AC4: processLogEvents categorizes and records tool/prompt events
13
+ * AC5: Background task lifecycle — track, complete, retrieve, callbacks
14
+ * AC6: Tool event listeners fire when events are recorded
15
+ * AC7: Session state management — reset clears stores, email extracted
16
+ * AC8: Delegating stubs work standalone (no provider required)
17
+ *
18
+ * Run with: cd packages/core && npm test
19
+ */
20
+ export {};
21
+ //# sourceMappingURL=otlp-receiver.test.d.ts.map